Repository navigation
Let the listing drop games that are only an address - #205
Merged
Merged
Conversation
A game that publishes no name is listed under host:port (CatalogueBinder.NameOf). Crawlers and API clients asked for a way to skip those rows. New facet `unnamed`, shared by /api/games and the /games panel through the one binding: `?unnamed=!yes` drops them, `?unnamed=yes` keeps only them, unset changes nothing. It reads the name rather than a flag (AddressName), so a rename takes a game out of the set with nothing else to update. Labelled derived: the name is ours, and a game listed by address may have a name it never published. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rqqt7UgM5rnGnNp9CTLXRK
EveryOfferedLocaleHasItsOwnWordsForTheSurfacesAddedWithTheCategoryPages requires every facet.* id in de, ja, nl and zh-Hans. The exclusion reuses each locale's existing "hidden from this listing" wording. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rqqt7UgM5rnGnNp9CTLXRK
HarryCordewener
marked this pull request as ready for review
November 4, 2026 16:53
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Grave · project thread
A game that publishes no name is listed under
host:port(CatalogueBinder.NameOf). This adds a facet so crawlers, API clients and readers can skip those rows.What changes
unnamed, read by the oneGameFilterBinding, so/api/gamesand/gamestake the same parameter:?unnamed=!yesdrops games listed by address?unnamed=yeskeeps only themAddressName.Isdecides from the name itself: a dotted host, IPv4, or IPv6 (bare or bracketed) followed by a port in 1–65535.Babylon:5andStar Wars: 1977stay names. Reading the name rather than storing a flag means a rename (probe, owner orgame_rename) takes the game out of the set with nothing else to update.derived: it describes the name we list a game under, not a claim that the game has none (rule 5)./gamespanel as a "name" group with a "listed by address" row (tick to show only them, − to hide them) and a removable chip. Like the other switches, the group is drawn only when at least one game matches, so the demo fixture, which has no address-named game, does not show it.filter.unnamed(appended with a default, so the positional shape ofFilterViewis unchanged). OpenAPI documents the parameter. A listing using it is not an indexable category page.Tests
AddressNameTests: addresses vs names, port bounds.FacetedSearchTests: exclude/include/count, and no switch when nothing matches.UnnamedFacetTests(Web): binding + echo, default unchanged, bad value refused, panel row with theunnamed=%21yeslink, exclusion chip wording.FacetSurfaceTestsand the Postgres facet test know the new key.I could not build locally (the cloud container has no .NET 11 SDK), so CI is the first build.
Generated by Claude Code