Feature suggestion: Auto refresh prior to starting or stopping a task

I’ve started to use Tasks for hourly billing for a client.
Issue is that changes are not automatically synced between different apps.

For example: I start and stop a time period within a task on my phone’s app.
When I get back to the computer, I forget to refresh the windows app and start & stop another period on the computer’s app instead.
Issue is that phone’s task is now lost because computer’s app was not aware of it and has overridden all of the time periods with old, cashed data whenever a time period was started or ended.

Fix: Whenever a task is started or ended, no matter the app, refresh and verify that the app has the latest data before changing the record.
Alternately add an option on the app to auto refresh data every x number of minutes. This may still lead to data loss, but at least the likelihood would be reduced.


Thanks for the feedback!

Are you able to reproduce this problem? Currently the app should auto-refresh when the app is started, and then in the background every five minutes.

Issue primarily occurs on the windows app, I’ve created a test time period within the phone’s app last night and this morning the windows app is still not showing it. Should I start a new session right now via the windows app, the test session from last night would be lost.

By session I mean time period which can be created using the Resume & Stop commands.

Issue occurs with windows app having an active task open, with options to resume and invoice the task visible. I need to actively remember to click refresh prior to resuming work on the task.

I imagine in a multiuser environment the issue has a greater chance of data loss.

At a core, issue is that each time period is not created or treated independently. Seems that whenever a new time period is started or ended, contents of the entire task are written from cache to the database.

If you click start/start op the view screen the changes are sent to the server, if you click start/stop on the edit screen you need to click save to send it to the server.

Does that explain the behavior you’re seeing?

Here is an example:

In this example I’m using windows app and the website / browser interface. This also occurs if the second app is on the phone, browser was simpler to record in case.

In this case I’ve created a first 5 second segment on the windows app.
Refreshed the web interface to see the segment show up.
Created a second 7 second segment via the web, for time 12:21:44 through ::51
Went back to windows app and, without refreshing, created a third 4 second segment :22:01 through ::05
On the website, I’ve refreshed the data to see that the second segment has disappeared and a third segment has took it’s place.

I was not within edit mode.
Changes were written to server as they happened.
Windows app / webpage does not automatically refresh, I’ve previously tested it overnight.
Even though only one segment was created, cached data for all segments were written to the server without check that cache was not outdated.

Yes. I can manually remember to click refresh prior to starting a task period, in which case issue does not occur, but sometimes I forget, in which case billable period is lost without any indication.

Ideally, when ever we click Resume or Stop, the site does a quick refresh automatically and then performs the action so that cached data is up to date.

Ideally time periods would be written to database independent of each other, so that the final refresh would show all three periods no matter which app has added the data.

Thanks for the video, it’s helpful.

The app should automatically check for any changes every five minutes. I assume this would pick up changes to the task but I can test this to confirm.

Currently when the task is started/stopped the app modifies the task and sends it to the server. I think the better option would be to send a start or stop action and have the server modify the task.

cc @david