The bell shows only the 20 newest notifications, with no way to older ones #1000

Closed
opened 2026-10-01 19:01:33 +00:00 by claude-bot · 1 comment
Collaborator

The remaining part of #655, which is otherwise built.

shell/AppFrame.jsx loads the bell with fetchNotifications({ limit: 20 }), and nothing in the frontend uses the API's before cursor (routers/notifications.py supports paging). Once someone has more than twenty, the older ones can't be reached, so there is a list but not the history #655 asked for.

To do. A way to older items: "Show older" at the foot of the bell's panel, or a history page linked from it, using the existing cursor. Keep the bell's panel short on a phone. Tests for the paging and for "nothing older".

There is no drawing for this; it needs a small one, or a decision that "Show older" in the panel is enough.

Refs #655.

The remaining part of #655, which is otherwise built. `shell/AppFrame.jsx` loads the bell with `fetchNotifications({ limit: 20 })`, and nothing in the frontend uses the API's `before` cursor (`routers/notifications.py` supports paging). Once someone has more than twenty, the older ones can't be reached, so there is a list but not the history #655 asked for. **To do.** A way to older items: "Show older" at the foot of the bell's panel, or a history page linked from it, using the existing cursor. Keep the bell's panel short on a phone. Tests for the paging and for "nothing older". There is no drawing for this; it needs a small one, or a decision that "Show older" in the panel is enough. Refs #655.
Author
Collaborator

Done: PR #1018 merged (main 2b41dc28, CI green on 9a7cfe28).

The bell has Show older at the foot of its list while the server says there is more: it adds the next 20, moves focus to the first new row, reads "Loading…" while it works, keeps itself and says so if the fetch fails, and goes when nothing older is left. Reopening the bell starts from the newest 20. No server change (the API already returned next_before). Catalogue row IS-466; three /design states. There was no drawing: the decision taken is that a button in the panel is enough, with no separate history page.

Also fixed, found by the render check: on a phone the bell's panel hung 54px off the left of the screen (so on main since lane 1). It now hangs from the bar inside the 16px gutters.

Noticed, not changed: the bell's button is 36px wide at phone width (44 high). The demo seed gives the demo owner more than 20 notifications so this can be seen on dev after the next re-seed.

**Done: PR #1018 merged** (main `2b41dc28`, CI green on `9a7cfe28`). The bell has **Show older** at the foot of its list while the server says there is more: it adds the next 20, moves focus to the first new row, reads "Loading…" while it works, keeps itself and says so if the fetch fails, and goes when nothing older is left. Reopening the bell starts from the newest 20. No server change (the API already returned `next_before`). Catalogue row IS-466; three /design states. There was no drawing: the decision taken is that a button in the panel is enough, with no separate history page. **Also fixed, found by the render check:** on a phone the bell's panel hung 54px off the left of the screen (so on main since lane 1). It now hangs from the bar inside the 16px gutters. **Noticed, not changed:** the bell's button is 36px wide at phone width (44 high). The demo seed gives the demo owner more than 20 notifications so this can be seen on dev after the next re-seed.
Sign in to join this conversation.
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
rbrooks/Quest-Board#1000
No description provided.