mtg: unread dot on the "What's new" menu entry
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 66/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- frontend
Research direction
Start with the Release notes module and the menu entry and page entry points that use it; inspect how Releases expose their notes and how the app currently stores device-local state. Add vitest coverage through the module’s public functions for the four listed cases, then verify the menu dot and page behavior match them. Done means unread notes show a dot, opening the page clears it, first visit stores the current Release silently, and storage failures do not break the app.
Written by the indexing model from the issue text.
Description
Parent
#175
What to build
A player sees a small dot on the "What's new" menu entry when a Release brought Release notes they have not seen yet, and the dot disappears once they open the page. There is no popup, dialog or toast; the PWA's silent autoUpdate stays unchanged.
The unread logic lives in the Release notes module: given the last-seen Release (or none) and the Releases, it decides whether the dot shows and what value to store.
- First visit (nothing stored): store the current Release silently, show no dot, so a new visitor is not nagged about history.
- Stored Release older than a Release with notes: show the dot.
- Stored Release older only than Releases without notes: no dot.
- Opening the page stores the newest Release.
The last-seen Release is kept per device in localStorage, wrapped so that blocked or throwing storage degrades to "no dot". No per-Account tracking.
Acceptance criteria
- The menu entry shows a dot exactly when the unread logic says so
- Opening the "What's new" page clears the dot; a later Release with notes brings it back
- A first visit shows no dot and stores the current Release
- Blocked localStorage shows no dot and does not break the app
- No update popup or dialog is added
- vitest tests, through the module's public functions, cover: first visit; older stored Release with newer notes; older stored Release where the newer Releases have no notes; opening the page stores the newest Release
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 1
- Avg merge
- 11h 20m
- Merged PRs (30d)
- 31
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from myOmikron/code
-
ready-for-agent
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Maintainers usually reply within 1 day
-
wayfinder:task
Difficulty 1/5 Under an hour Newbie friendliness 90/100
Maintainers usually reply within 1 day
-
wayfinder:task
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
myOmikron/code#102 · 2 comments ·
Maintainers usually reply within 1 day
-
ready-for-agent
Difficulty 4/5 3-5 days Newbie friendliness 52/100
Maintainers usually reply within 1 day
-
ready-for-agent
Difficulty 4/5 3-5 days Newbie friendliness 67/100
Maintainers usually reply within 1 day
Similar issues
-
Area/Cloud Needs Triage Type/Bug
Difficulty 1/5 1-3 hours Newbie friendliness 86/100
wso2/product-integrator#2847 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
bluesky-social/social-app#12118 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
heygen-com/hyperframes#6021 ·
Maintainers usually reply within 1 day
-
check:passed streams:edit
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day