# Bug List for 1.0.6 Set 2

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

- [x] Fixed

![alt text](image.png)

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.

- [x] 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.

- [x] 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.
