fix: don't lose tags typed before tapping Done #25

Merged
rssnyder merged 1 commit from fix/tag-save into main 2026-08-12 10:19:20 -05:00
Owner

Two ways an added tag appeared not to save:

TagInput only committed a tag on Add/return-key, so text still sitting in
the field was discarded when the editor closed. It now commits on blur,
which covers Done on the event screen and Start Timer on the new-timer
sheet. addTag() no-ops on an empty or duplicate draft, so submit-then-blur
can't double-add.

EventDetail also re-read the event from the API on every focus and rendered
that over the local row, so an edit still sitting in the sync queue visibly
reverted. Pending local metadata is now overlaid on the server response
while the row is dirty, and the screen flushes the queue on focus so the
server catches up.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

Two ways an added tag appeared not to save: TagInput only committed a tag on Add/return-key, so text still sitting in the field was discarded when the editor closed. It now commits on blur, which covers Done on the event screen and Start Timer on the new-timer sheet. addTag() no-ops on an empty or duplicate draft, so submit-then-blur can't double-add. EventDetail also re-read the event from the API on every focus and rendered that over the local row, so an edit still sitting in the sync queue visibly reverted. Pending local metadata is now overlaid on the server response while the row is dirty, and the screen flushes the queue on focus so the server catches up. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
fix: don't lose tags typed before tapping Done
All checks were successful
Backend CI / test (pull_request) Successful in 17s
Backend CI / build-push-api (pull_request) Successful in 30s
Backend CI / build-push-web (pull_request) Successful in 21s
4ffd5e6a12
Two ways an added tag appeared not to save:

TagInput only committed a tag on Add/return-key, so text still sitting in
the field was discarded when the editor closed. It now commits on blur,
which covers Done on the event screen and Start Timer on the new-timer
sheet. addTag() no-ops on an empty or duplicate draft, so submit-then-blur
can't double-add.

EventDetail also re-read the event from the API on every focus and rendered
that over the local row, so an edit still sitting in the sync queue visibly
reverted. Pending local metadata is now overlaid on the server response
while the row is dirty, and the screen flushes the queue on focus so the
server catches up.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
rssnyder deleted branch fix/tag-save 2026-08-12 10:19:21 -05:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rssnyder/span!25
No description provided.