Files
chore/.github/specs/archive/bugs-1.0.6-02/bugs-1.0.6-set02.md
Ryan Kegel 861b3dc9d4
All checks were successful
Chore App Build, Test, and Push Docker Images / build-and-push (push) Successful in 1m48s
Refactor code structure and remove redundant sections for improved readability and maintainability
2026-04-10 17:44:37 -04:00

2.2 KiB

Bug List for 1.0.6 Set 2

On mobile, the COMPLETED (and possible other banners) overflow it's bounding box

  • Fixed

alt text

We need the banner text to be a little smaller on mobile screens so it does not go outside the dark border box.

Fix: Added @media (max-width: 480px) CSS rule for .chore-stamp in both ChildView.vue and ParentView.vue. Reduces font-size to 0.82rem, letter-spacing to 1px, and padding to 0.3rem 0 on small screens.

Extending time on a chore that is too late causes task icons to disappear.

  • Fixed

When the user extends time on a chore that is TOO LATE, I think 2 identical calls are being made to the api /child/[id]/list-tasks. This is causing a condition where images no longer appear until the user refreshes.

Could SSE calls be causing this? Could also be a childChoreListRef.value?.refresh() is called in the UI too many times too quickly.

Root Cause: Two issues combined:

  1. doExtendTime in ParentView called childChoreListRef.value?.refresh() directly AND the SSE chore_time_extended event handler also called refresh(), causing two concurrent fetches.
  2. ScrollingList.fetchItems() had no protection against concurrent calls. When two fetches raced, items.value was set before images were resolved, and the second call's loading.value = false didn't trigger a re-render (already false), leaving images from the second fetch invisible.

Fix:

  • Removed the manual refresh() call from doExtendTime in ParentView — the SSE event handler already handles it.
  • Added a fetch generation counter to ScrollingList.fetchItems() that discards stale results from superseded fetches.
  • After image resolution, items.value is re-assigned ([...itemList]) to trigger Vue reactivity for image URLs set on raw objects.

When adding a schedule to a task and submitting, icons dissappear.

  • Fixed

This is related to the previous bug. API calls to /child[id]/list-tasks are called very quickly causing a problem.

Fix: The ScrollingList generation counter fix (described above) resolves this for all callers. Any concurrent refresh() calls — whether from SSE events, manual triggers, or timer-based refreshes — are now safely handled.