Server PR Silo-Server/silo-server#1672 adds an Advisory Age poster badge to the web client's card overlays. This client needs the same badge, and it needs to stop erasing the badge setting when it saves.
Data loss today
ui.card_overlays is shared by every client. This client's overlay parser drops ids it does not recognize, so a user who turns the badge on in the web app loses it the next time they save badge settings here. Supporting the id fixes that. If the badge cannot ship soon, keep unknown ids on save the way the web client keeps imdb_top_250 and rt_certified_fresh (PASSTHROUGH_IDS in web/src/lib/overlays/schema.ts).
What the server sends
Cards already carry advisory_age (for example 13) and advisory_source (commonsense or mdblist). They come as a pair and only on enriched titles; most titles have neither. See #416 for the item-detail badge, which uses the same fields.
Work
- Add an
advisory_age overlay to the registry: category ratings, label "Advisory Age", value <age>+, nothing when the age is absent or 0, default off, default position bottom-right, icon optional. The web client uses a "users" icon.
- Offer it only when the server's settings contract reports
manifest_revision 13 or later. An older server rejects the whole ui.card_overlays value with a 422 if it contains advisory_age, which would fail the save.
- Refresh the vendored settings manifest (revision 13) and regenerate bindings.
The badge is display only, like the item-detail badge: it must not filter, hide, or sort anything. It does not depend on the catalog.show_advisory_age profile setting; turning the badge on is its own opt-in.
Filed with Claude Code (claude-opus-5-5) as a follow-up to the server PR.
Server PR Silo-Server/silo-server#1672 adds an Advisory Age poster badge to the web client's card overlays. This client needs the same badge, and it needs to stop erasing the badge setting when it saves.
Data loss today
ui.card_overlaysis shared by every client. This client's overlay parser drops ids it does not recognize, so a user who turns the badge on in the web app loses it the next time they save badge settings here. Supporting the id fixes that. If the badge cannot ship soon, keep unknown ids on save the way the web client keepsimdb_top_250andrt_certified_fresh(PASSTHROUGH_IDSinweb/src/lib/overlays/schema.ts).What the server sends
Cards already carry
advisory_age(for example13) andadvisory_source(commonsenseormdblist). They come as a pair and only on enriched titles; most titles have neither. See #416 for the item-detail badge, which uses the same fields.Work
advisory_ageoverlay to the registry: category ratings, label "Advisory Age", value<age>+, nothing when the age is absent or 0, default off, default position bottom-right, icon optional. The web client uses a "users" icon.manifest_revision13 or later. An older server rejects the wholeui.card_overlaysvalue with a 422 if it containsadvisory_age, which would fail the save.The badge is display only, like the item-detail badge: it must not filter, hide, or sort anything. It does not depend on the
catalog.show_advisory_ageprofile setting; turning the badge on is its own opt-in.Filed with Claude Code (claude-opus-5-5) as a follow-up to the server PR.