As long as there *is* a value in the duration field, the Else if part will never be executed.
You need to either empty the duration field in the If part, or restructure your branching logic, by eg using
If [ not isEmpty ( duration field ) and status <> "running" ) ]
If [ status = "running" and end < Get ( CurrentTimestamp ) ]
I tested your response by commencing the countdown and then deleting the value in the duration field, this did not make the timer stop when the specified time had been reached.
I then tried deleting both the duration and status fields and still no luck.
I then tried your suggestion with the branching logic, but neither of your examples worked.
What am I doing wrong?