Skip to content

Initial time tracking functions and several improvements

Pre-release
Pre-release

Choose a tag to compare

@drognisep drognisep released this 04 Jan 07:47

Lots went into this checkpoint, including some setup for future features.

NOTE: Due to the storage level changes (encoding mostly), you must take a snapshot with the current version and delete your ~/.tasklist.db before running the new version.

  • Reorganizing to make additions more maintainable.
  • Making the UI layer a lot more reactive to Go-side events.
    • This seems to be a good path forward, since the Go code has what it needs to effectively stand in as Vuex in this case.
  • Using generics to help generalize import logic.
  • Added another import strategy, allowing snapshots to be appended to an existing store without conflict or dangling ID references.
  • Adding the concept of task time tracking in the model.
  • Adding actions in the task view to start/stop tracking.
  • Adding current day and current week tracking information in the dashboard.
  • Adding other model attributes which will enable future features.
  • Adding datetime helpers for the front end, since I'm pushing some simple, view-centric logic to that layer.
  • I'm still really quite happy with what Wails is bringing to the table. I now trust it enough to forget about using browser tools.
  • Starting small with UI-side test coverage with vitest. It's very different...
  • Fixing UI-side logging finally due to the discovery of rest parameters.
  • Disabling overscroll since it looks weird with this layout.
  • Fixing an issue with startup where the application could hang indefinitely if there's already an active app window, and then seem to restart itself after the blocking instance closes.
  • Coupling the TaskController more with Wails internals.
    • This is the right place for it rather than the data package. It unfortunately means that other packages can't really log, which places greater emphasis on specific error handling and exposed error types, which is a fair trade off in my mind.