SAID Protocol + wallet adapter + wallet workspace rebuild + full design-system migration#185
Open
nullxnothing wants to merge 39 commits into
Open
SAID Protocol + wallet adapter + wallet workspace rebuild + full design-system migration#185nullxnothing wants to merge 39 commits into
nullxnothing wants to merge 39 commits into
Conversation
Adds SAID Protocol (on-chain agent identity, verification, and trust on Solana) to the Integration Command Center. SaidProtocolService reads agent identity and the 0-100 trust score from the public SAID API; the registry tile exposes a read-only identity check plus directory/docs links and a gated registration preview. No signing paths are enabled yet.
984943e to
d31ecab
Compare
feat: daemon wallet adapter (multi-wallet, solflare-recommended) Add a vendor-neutral wallet adapter on the wallet panel so any Solana wallet can connect, with Solflare featured as the recommended signer. Generalizes the prior solflare-only external signing path: the wallet- standard preference now routes prepare/sign/submit through a registry of providers. Adds shortvec-correct tx deserialization shared with the solflare lib, real wallet logos, and adapter unit tests. @
Keys: group eyebrows, per-row status dot + value fingerprint, masked add-value field with reveal toggle, confirmation-gated quiet Remove. Integrations: tighten status rows into key/value pairs, mask key inputs. Providers: named group eyebrows. Setup/Crashes: quiet, confirm-gated destructive actions. EnvManager: compact stat cards, unify DEV/PROD to click-to-reveal (drop hover-reveal of secrets).
feat: polish wallet lane UX (KPI status tiles, unit price, pluralization)
Status prose was being passed into the shared KpiGrid value slot (28px mono,
tuned for numerics), so "Helius connected"/"Standard RPC" wrapped to 3 lines in
the header strip and portfolio hero. Shortened the values, moved detail to meta,
added success/warning tone, and clamped the value slot to item-title scale on a
single line via a scoped CSS rule. Also disambiguated holding unit price ("@ $x"
muted/mono) from position value, and fixed "1 assets" pluralization.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@
Sidebar wallet/agent switcher, hero balance with fused send/swap/receive/buy actions, holdings/activity tabs, and modal sheets (send, swap, receive, buy, add wallet, manage). All transaction paths reuse existing wallet IPC and the mainnet signer guard. Tokens resolve to styles/tokens.css throughout.
Token migration for transitions/spacing, hairline and surface consistency, accessibility semantics (landmark roles, aria labels), and emoji removal from UI chrome across Panel primitives and panel-specific styles.
# Conflicts: # src/panels/EnvManager/EnvManager.css # src/panels/SettingsPanel/SettingsPanel.css # src/panels/WalletPanel/WalletPanel.tsx
…bled launch, pin active project)
Mono time column + status dot + message-first body with mono meta line, flat surfaces (radius 0, --field-bg/--code-bg), single green accent. Keeps session groups, filters, summaries, artifacts, and issue grouping.
The post-seed reload can leave activeProjectPath stale, so the launcher's terminal.create no-ops and no tab appears. Retry the Standard Terminal launch, re-pinning the active project tab each attempt, until a tab materializes.
The terminal redesign replaced the .terminal-tab strip with a sessions sidebar (.terminal-session) — the smoke was waiting on .terminal-tab.active which never renders, so it timed out even though the terminal was created and visible. Assert on .terminal-session.active and drop the retry workaround.
Clicking a changed or staged filename now opens it in the Monaco editor instead of doing nothing. Resolves the repo-relative git path to an absolute project path (Windows-aware) before reading so fs validation passes; deleted files are disabled. The inline diff moves to an explicit per-row Diff toggle.
Hairline structure, sharp containers, single green primary (Commit) and live accent only; status as dots and mono glyphs; de-glassed menus and removed decorative gradients/glows. Tokens throughout, no new style debt.
Single-color hairline sparkline (drop gradient candy, flat 7% wash, schematic axes), chart on code surface with hairline border, mono uppercase eyebrows, one green accent, hairline structural dividers.
Hairline structure on tabs/sessions/launcher/panes, sharp containers with controls at var(--r), removed decorative shadows and gradient washes, green reserved for live/active/focus, mono tokens for eyebrows and terminal text.
Badges/pills to control radius, mono tokens for metadata/labels, green reserved for live/active/primary, removed dead legacy classes superseded by Panel primitives.
Two panels reference var(--ui) which was undefined, silently falling back to the browser default font. Alias it to --font-ui (matches the design-handoff name).
AGENTS.md editor/preview to --field-bg (recessed code surface), textarea focus to the green accent line. Panel was already largely on-system.
Sharp containers on hairlines, recessed --field-bg inputs and --code-bg proof cells, status as a mono chip with leading dot, green reserved for primary CTA and live status, mono eyebrows. CSS only — no behavior change.
Canonical tokens, hairline structure, --field-bg surfaces, wallet-style active tab underline, green reserved for signal; status pill now renders a StatusDot instead of colored text (markup-only, no behavior change).
Float panel on hairlines, recessed --field-bg fields, neutral hairline mono badges, green reserved for selected row + Save primary; moved two inline-style spans to CSS classes (markup-only, no behavior change).
Hairline borders, 3px controls on sharp containers, --field-bg surfaces, real primary-button recipe for Run/New/Submit, green reserved for live/active. CSS module only — no behavior change.
Confirm input to --field-bg, patch file-path chips to --code-bg (read as diff surface), removed orphaned title/context-chip rules superseded by Composer. CSS only — approval/patch logic untouched.
Containers to radius 0, and gave the Aria eye a contained token-driven presence glow (tight drop-shadow: green live, red error, none sleeping) instead of flat dots — recognizable but disciplined, no chrome bleed. CSS only.
Audit pass across command palette/drawer, modals (bug report, confirm, shortcuts), toasts, boot loader, tour, nav guide: legacy token aliases → canonical (--line/--line-2/--line-strong), literal radii tokenized, floating shadows confirmed token-driven. CSS only.
Title bar, activity rail, status bar, and root layout: legacy aliases → canonical (--line, --s1/--s2, --field-bg), shell separators on hairlines, active-accent and live-dot patterns confirmed. No layout/geometry change.
Legacy aliases (--s5/--s6/--border/--surface-sunken) → canonical (--line/--line-2/--line-strong/--field-bg) across SolanaToolbox, IDE workflow, project control center, and docs pagination. CSS only.
DegenTools: removed 11 hardcoded hex → --s1/--s2/--t1/--t3/--bg/--code-bg. Recovery: --border → --line, literal 4px control radii → var(--r). CSS only.
Legacy aliases → canonical (--line/--line-2/--line-strong/--s2/--field-bg) across browser mode, hackathon, meterflow, pro, project starter, replay engine, signalhouse. CSS only.
Lock the reductions from the design migration: literalRadius 124->32, hexColors 82->68, inlineShadow 13->10. New literals now fail CI.
| <ImageSquare size={15} /> {busy === 'meme' ? 'Generating...' : 'Generate'} | ||
| </button> | ||
| </div> | ||
| {generatedImageUrl && <img className="dt-preview" src={generatedImageUrl} alt={`${tokenTicker} generated asset`} />} |
Clears 4 medium OSV advisories (GHSA-2gcr-mfcq-wcc3, -3hrh-pfw6-9m5x, -f577-qrjj-4474, -xrhx-7g5j-rcj5) in the transitive hono dep — all fixed in 4.12.21. Affected server features (app.mount routing, ip-restriction) are unused by DAEMON, but the patch bump resolves them cleanly.
ProjectControlCenter.css redefined .solana-project-score as a 106px circle with a uniform full green border, overriding the intended horizontal segmented meter in SolanaToolbox.css — so the ring always looked complete next to e.g. '29%'. Removed the conflicting circle + duplicate value rules (kept -label, used by ProjectDiagnosticsPanel); the segmented 2/7 meter now reflects the real score.
Wallet rebuild + terminal/settings/right-panel redesigns left the responsive, layout-cohesion, and visual-regression smokes asserting removed DOM (stale .wallet-panel-header/.wallet-tabs/.terminal-tabs/.settings-tab/.right-panel-tab, hardcoded radii). Repointed to current selectors (added wallet-hero/wallet-tabs data-testids), made token-radius comparisons normalize 0/0px, guarded snapshots for conditionally-rendered strips, and asserted control geometry against tokens. Responsive + layout-cohesion now pass.
The workspace only set selectedId from dashboard.activeWallet, so a tracked wallet with no default (e.g. a freshly generated one, or CI's seeded wallet) left the panel on the 'No wallet selected' empty state with no hero/tabs. Fall back to the first wallet/agent so a wallet always shows when one exists.
On a fresh dashboard the wallet panel can briefly sit on its empty state before the wallet loads + auto-selects, so the hard wait/assert on the hero/tabs flaked in CI. The panel-ready check (.wallet-panel) covers layout; hero/tabs geometry is now asserted only when those elements are present.
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.
Summary
Large feature + design branch (34 commits since last main).
Verification
typecheck ✓ · 784/785 unit tests (the single failure is the pre-existing flaky
SeekerRelayServiceport-bind test, unrelated) · build ✓ · lint:styles ✓ at the tightened baselines · v4.1.3 packaged + installed locally.Notes for review
--radius-lg-on-controls in a few panels.