Skip to content

nordstern had a logo and no registry entry, so its product page had no link - #3273

Merged
Flotapponnier merged 1 commit into
devfrom
fix/nordstern-registry
Oct 24, 2026
Merged

Flotapponnier merged 1 commit into
devfrom
fix/nordstern-registry

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Found reviewing my own previous PR (#3272) against the precedent it should have followed.

#3241 fixed this same class of gap for FOMO · Mobula and had to touch four files; I touched one. Checked each:

file nordstern a sibling (kyberswap) verdict
logo-manifest.ts added in #3272 present done
brand.ts absent absent correctly empty, carries no aggregator
providers.ts absent absent correctly empty
provider-registry.ts absent present the gap

So its row had a mark while its product page had no official link and no description.

The description comes from the site's own meta tags rather than being written for it. No twitter field: none is linked anywhere on nordstern.finance, and inventing a handle would point readers at an account that may not be theirs. The registry accepts a url-only entry for exactly that case.

tsc --noEmit clean, pnpm test 719 pass.

Found reviewing my own previous PR against the precedent it should have
followed. #3241 fixed the same class of gap for FOMO Mobula and had to touch
four files; I touched one. Checked each: brand.ts and providers.ts carry no
aggregator at all, so they are correctly empty here, but provider-registry
carries kyberswap and paraswap, the same kind of provider on the same bench,
and did not carry nordstern.

So its row had a mark while its product page had no official link and no
description.

The description comes from the site's own meta tags rather than being
written for it. No twitter field: none is linked anywhere on the site, and
inventing a handle would point readers at an account that may not be theirs.
The registry accepts a url-only entry for exactly that case.
@Flotapponnier
Flotapponnier merged commit e7cbca8 into dev Oct 24, 2026
2 checks passed
Flotapponnier added a commit that referenced this pull request Oct 26, 2026
Maya Protocol as MP, Dash as DA, Zcash as ZC. Two needed a mark and one
needed nothing at all.

ZEC ALREADY HAD ONE. public/logos/zcash.svg has been in the manifest all
along and the bench calls the provider "zec", so the lookup missed by a
name. The slug cannot simply be renamed: the spec validator ties a provider
slug to the label value its queries select, and asset="ZEC.ZEC" is the
venue's own asset id, so "zcash" is rejected. The manifest gains the alias
instead, which is the right direction: the mark adapts to the measurement,
not the measurement to the mark.

MAYA had no mark anywhere, and public/logos/mayan.svg was NOT reused. Mayan
Finance and Maya Protocol are different protocols, and a wrong mark on a
board is worse than initials. The 256x256 square mark comes from their own
site. Their SVG isotype was rejected for shape rather than content: at
222x100 it is a 2.2:1 strip that would letterbox in a round slot, where
every existing mark sits between 1.00 and 1.13.

DASH had the same problem in a sharper form. The wordmark on their media
server is 1398x368.9, a 3.8:1 strip with the word in it. The square icon is
used instead at 1.19:1, which is the ratio nordstern already ships at.

Both files were scanned before being served from our origin, because an SVG
is executable content: no script, no foreignObject, no external href or
url(), no off-origin image.

All three also gain a registry entry. The lesson is this week's: nordstern
had a logo and no entry, so its product page carried no official link and no
description until #3273. A mark without an entry is a half-fix.

providers v21 to v22, because product pages change.
@Flotapponnier
Flotapponnier deleted the fix/nordstern-registry branch November 3, 2026 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant