Terminal-styled share preview + JANK everywhere#18
Merged
Conversation
When pairing via a bunker:// URI, the initial NIP-46 connect handshake now carries jank's app metadata so the remote signer shows "Jank" / "jank.army" instead of a generic app name. This mirrors the name/url/image already advertised in the nostrconnect:// URI. nostr-tools' BunkerSigner.connect() only sends [pubkey, secret] and exposes no metadata arg, so we issue the connect request via sendRequest() ourselves with a 4th param. The metadata is a JSON *string* (not a nested object) since signers decode params as string[] and drop the whole array if any element is an object; the empty permissions slot is kept so metadata lands in slot 3. Reconnects (account switch) and the nostrconnect multi-account flow are unchanged — they intentionally skip the connect handshake. https://claude.ai/code/session_01BJDLuo6tBk2VwduekkPDnU
Match the share-link preview to the app's default terminal theme, and standardize the visible brand name as JANK. Preview (public/og-image.png via scripts/og-image/og-image.svg): near-black bg + phosphor-green creature + monospace JANK wordmark, mirroring the terminal-preset dark theme. og:image cache-buster bumped v2->v3 in index.html so scrapers re-fetch. JANK as the visible name: BRAND.name/shortName (tab title, og/twitter title, PWA name); sidebar wordmark in Logo.tsx (dropped the lowercase text-transform); NIP-46 bunker connect client name (+ test); current UI prose now interpolates the brand from BRAND.name instead of hardcoding (WhatsNew, UpdatePrompt, MobileWarningBanner, AgentPairingWizard, AgentsSettingsPage); MultiAccountConfirmModals + the TopBar aria-label are plain literals. Wire/machine identifiers stay lowercase on purpose: nostrClientTag, package.json name, deck-sync d-tag/alt, agent-pairing config key, MCP serverInfo.name. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…preview-and-naming # Conflicts: # src/providers/NostrProvider/__tests__/bunker.signer.spec.ts # src/providers/NostrProvider/bunker.signer.ts
The UI prose changed in the branding commit interpolates the brand from BRAND.name; add the matching en.ts entries (WhatsNew, UpdatePrompt, MobileWarningBanner, AgentPairingWizard, AgentsSettingsPage). Appended at the end per the i18n convention; other locales fall back to English for these until translated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Prepend the 26.15.2 entry to release-notes.ts and bump package.json to match, arming the in-app What's-new dialog. Version set against main (26.15.1); rebump if main advances before merge. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Deploying jank with
|
| Latest commit: |
2e29f68
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://e7072ce1.jank-4ii.pages.dev |
| Branch Preview URL: | https://claude-jank-terminal-preview.jank-4ii.pages.dev |
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.
What
Two things, per the ask:
1. Share preview now matches the terminal default. The link-preview card (
public/og-image.png) was the modern teal look, but the app defaults to theterminalpreset, so newcomers got a bait-and-switch. Regenerated it fromscripts/og-image/og-image.svgin the terminal aesthetic: near-black background, phosphor-green creature mark, monospace JANK wordmark (Geist Mono → Menlo via fontconfig).og:imagecache-buster bumpedv2→v3so X / Discord / Telegram re-scrape instead of serving the old teal card. Rendered output: public/og-image.png.2. JANK as the visible name, everywhere it shows to a person:
BRAND.name/shortName→JANK(browser tab title, og/twitter title, PWA name, notification strings)Logo.tsx) →JANK(dropped thelowercasetext-transform so the caps actually render)JANK(+ test) — the one you flagged; Clave / Amber now show JANK on the pairing approval{{brand}}fromBRAND.nameinstead of hardcoding the name, so it tracks the single source (WhatsNew, UpdatePrompt, MobileWarningBanner, AgentPairingWizard, AgentsSettingsPage); MultiAccountConfirmModals + the TopBar aria-label are plain (non-i18n) literalsDeliberately left lowercase (wire / machine identifiers)
nostrClientTag(NIP-89clienttag stamped on every event you publish),package.jsonname(npm requires lowercase), the deck-sync d-tag /alt, the agent-pairing config key, and the MCPserverInfo.name. Flipping any of these is a wire/identity change, not a display change.Notes for merge
main@ 26.15.1. The bunker-metadata commit had independently landed on main, so the merge had one trivial conflict (JankvsJANK), resolved toJANK. Netbunker.signer.tsdiff is just the name.Verified locally
npm run build✓ · bunker signer tests ✓ (3/3, incl. the JANK metadata assertion) · eslint ✓Manual smoke for you:
jank.armylink (or just load/og-image.png?v=3) → terminal card, JANK wordmark🤖 Generated with Claude Code