Repository navigation
iris brands logo + push refuses a logo that will not show (#192664); dashboard template wears the client's kit (#110009) - #494
Merged
Conversation
…ow / dt get, and dt push/set refuse a logo URL that is not a 200 image (#192664) Co-Authored-By: Claude Opus 5.5 <[email protected]>
…ur, light ground and logo through the resolver (#110009)
fetchDesignTokens read .colors off the {brand, name, design_tokens} envelope and found nothing, so
every dashboard was the default green. Colours are read as hex from any stored shape; the logo is
logoFor(kit, the dashboard's light ground).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
3 of 6 tasks
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.
Epic #192663 · B1 #192664: the CLI half. Attaches #184167 (cheapest fixes 1 and 2) and #184116. Also B5 #192668 → #110009 (dashboard template), below.
What
iris brands logo <slug>: the direct answer to "what is our logo" (#184167, item 2). It shows:primary,on_dark,on_light,icon,social);Options:
--checkfetches each URL; each must answer 200 with animage/*.--on '#fff'prints just the URL to use (scriptable). A tile note goes to stderr.--jsonprints everything above as JSON.A Logo block in
iris brands showandiris brands dt get(#184167, item 1: "where people already look"). It lists variants, the light/dark picks, and flags each missing variant with what it costs.iris brands dt push/dt setrefuse a broken logo. Everybrand.logoURL must be absolute and answer 200 with an image (HEAD first, then GET when a host refuses HEAD). A 404, an HTML page, or a site-relative path stops the push and says why.--skip-logo-checkoverrides, with a warning.brand-logo.tsis a copy of fl-iris-api's resolver (resources/js/lib/brand-logo.ts, whose PHP twin every server surface uses).brand-logo.cases.jsonis the same fixture both of those are tested against.Also: the client dashboard template wears the client's kit (B5 · #110009)
iris dashboard(platform-dashboard.ts) read.colorsoff the{brand, name, design_tokens}envelope, found nothing, and gave every client the default green. #110009 was marked done, but the template never actually received a colour.design_tokensand takes colours as hex from any shape ({DEFAULT}included). CatoDrive gets navy#1e3a5f.branding.logoUrltologoFor(kit, the dashboard's ground), so IRIS gets itson_lightmark, andfaviconUrlto the icon.platform-dashboard.test.ts(3 tests) covers it. The old envelope read, restored as a mutant, fails 2 of the 3.Verified
Run on iris-hive-001 with the pinned bun 1.3.14:
bun test brand-logo.test.ts brand-contract.test.ts brand-import.test.ts: 72 pass. At the final commit,brand-logo.test.ts platform-dashboard.test.ts brand-contract.test.ts: 54 pass, 0 fail.bun run typecheck(tsgo): clean.iris brands logo iris --check: all 5 variants ✓ 200 image. The light page getson_light, the dark pageon_dark.iris brands logo freelabel --json: no ground variants. Primary on a#0a0a0atile for light pages;on_light,on_darkandsocialflagged missing.iris brands logo iris --on '#ffffff'prints…/iris-logo-dark-transparent.png.dt pushwas not run live: when its check passes it writes production brand data. The gate is covered by the unit tests above.Heads-up for the merge
B2's agent (#192665) has work in progress in
platform-brands.ts(thebrands showheader,--json,--bloq). This PR keeps out of those lines: it adds one import, oneprintLogoSummary(dt)call after the Design Tokens summary, the push/set gate, and a new command. Expect at most an import-line conflict.Ships to users with the next CLI release (
sync-iris-v1.tscopiespackages/opencode/srcfrommain).🤖 Generated with Claude Code