⚠️ OpenSpec-managed issue — this content is automatically synced
from the openspec/ directory. Manual edits will be overwritten on next sync.
Artifacts
Specs
Tasks
Synced from openspec/changes/implement-time-tracking-mvp by OpenSpec workflow
App: planninq
Artifacts
Specs
Tasks
src/utils/durationParser.js:parseDuration(raw): number|nullformatDuration(minutes): string— human-readable round-tripsrc/store/timeEntries.jsusing the shared nextcloud-vuefetchForTask(taskId),fetchForCurrentUser(),create,src/views/TaskDetail.vue, wired tosrc/components/dialogs/TimeEntryDialog.vuesrc/components/TaskCard.vue,src/views/Timesheet.vue: current user's entries grouped byMainMenu.vue+ a/timesheetnpm run lint(eslint src) — 0 errors on all changed filesSynced from
openspec/changes/implement-time-tracking-mvpby OpenSpec workflowApp:
planninq