Jun 08, 9-10 AM (41)
Jun 08, 10-11 AM (24)
Jun 08, 11-12 PM (22)
Jun 08, 12-1 PM (40)
Jun 08, 1-2 PM (48)
Jun 08, 2-3 PM (33)
Jun 08, 3-4 PM (27)
Jun 08, 4-5 PM (12)
Jun 08, 5-6 PM (23)
Jun 08, 6-7 PM (14)
Jun 08, 7-8 PM (3)
Jun 08, 8-9 PM (6)
Jun 08, 9-10 PM (19)
Jun 08, 10-11 PM (29)
Jun 08, 11-12 AM (8)
Jun 09, 12-1 AM (5)
Jun 09, 1-2 AM (3)
Jun 09, 2-3 AM (1)
Jun 09, 3-4 AM (3)
Jun 09, 4-5 AM (26)
Jun 09, 5-6 AM (5)
Jun 09, 6-7 AM (23)
Jun 09, 7-8 AM (51)
Jun 09, 8-9 AM (35)
Jun 09, 9-10 AM (45)
Jun 09, 10-11 AM (51)
Jun 09, 11-12 PM (46)
Jun 09, 12-1 PM (86)
Jun 09, 1-2 PM (84)
Jun 09, 2-3 PM (36)
Jun 09, 3-4 PM (38)
Jun 09, 4-5 PM (16)
Jun 09, 5-6 PM (18)
Jun 09, 6-7 PM (18)
Jun 09, 7-8 PM (19)
Jun 09, 8-9 PM (16)
Jun 09, 9-10 PM (16)
Jun 09, 10-11 PM (28)
Jun 09, 11-12 AM (10)
Jun 10, 12-1 AM (11)
Jun 10, 1-2 AM (16)
Jun 10, 2-3 AM (11)
Jun 10, 3-4 AM (19)
Jun 10, 4-5 AM (5)
Jun 10, 5-6 AM (2)
Jun 10, 6-7 AM (46)
Jun 10, 7-8 AM (82)
Jun 10, 8-9 AM (18)
Jun 10, 9-10 AM (59)
Jun 10, 10-11 AM (46)
Jun 10, 11-12 PM (134)
Jun 10, 12-1 PM (49)
Jun 10, 1-2 PM (33)
Jun 10, 2-3 PM (32)
Jun 10, 3-4 PM (28)
Jun 10, 4-5 PM (36)
Jun 10, 5-6 PM (12)
Jun 10, 6-7 PM (12)
Jun 10, 7-8 PM (38)
Jun 10, 8-9 PM (11)
Jun 10, 9-10 PM (10)
Jun 10, 10-11 PM (20)
Jun 10, 11-12 AM (7)
Jun 11, 12-1 AM (10)
Jun 11, 1-2 AM (2)
Jun 11, 2-3 AM (0)
Jun 11, 3-4 AM (2)
Jun 11, 4-5 AM (8)
Jun 11, 5-6 AM (12)
Jun 11, 6-7 AM (34)
Jun 11, 7-8 AM (106)
Jun 11, 8-9 AM (36)
Jun 11, 9-10 AM (20)
Jun 11, 10-11 AM (105)
Jun 11, 11-12 PM (25)
Jun 11, 12-1 PM (38)
Jun 11, 1-2 PM (37)
Jun 11, 2-3 PM (14)
Jun 11, 3-4 PM (20)
Jun 11, 4-5 PM (5)
Jun 11, 5-6 PM (7)
Jun 11, 6-7 PM (26)
Jun 11, 7-8 PM (90)
Jun 11, 8-9 PM (11)
Jun 11, 9-10 PM (5)
Jun 11, 10-11 PM (25)
Jun 11, 11-12 AM (5)
Jun 12, 12-1 AM (8)
Jun 12, 1-2 AM (2)
Jun 12, 2-3 AM (2)
Jun 12, 3-4 AM (4)
Jun 12, 4-5 AM (7)
Jun 12, 5-6 AM (15)
Jun 12, 6-7 AM (46)
Jun 12, 7-8 AM (19)
Jun 12, 8-9 AM (28)
Jun 12, 9-10 AM (22)
Jun 12, 10-11 AM (29)
Jun 12, 11-12 PM (42)
Jun 12, 12-1 PM (24)
Jun 12, 1-2 PM (26)
Jun 12, 2-3 PM (22)
Jun 12, 3-4 PM (38)
Jun 12, 4-5 PM (23)
Jun 12, 5-6 PM (19)
Jun 12, 6-7 PM (26)
Jun 12, 7-8 PM (12)
Jun 12, 8-9 PM (17)
Jun 12, 9-10 PM (5)
Jun 12, 10-11 PM (30)
Jun 12, 11-12 AM (6)
Jun 13, 12-1 AM (6)
Jun 13, 1-2 AM (2)
Jun 13, 2-3 AM (0)
Jun 13, 3-4 AM (3)
Jun 13, 4-5 AM (0)
Jun 13, 5-6 AM (3)
Jun 13, 6-7 AM (7)
Jun 13, 7-8 AM (5)
Jun 13, 8-9 AM (6)
Jun 13, 9-10 AM (14)
Jun 13, 10-11 AM (12)
Jun 13, 11-12 PM (2)
Jun 13, 12-1 PM (23)
Jun 13, 1-2 PM (21)
Jun 13, 2-3 PM (8)
Jun 13, 3-4 PM (0)
Jun 13, 4-5 PM (4)
Jun 13, 5-6 PM (4)
Jun 13, 6-7 PM (3)
Jun 13, 7-8 PM (3)
Jun 13, 8-9 PM (7)
Jun 13, 9-10 PM (16)
Jun 13, 10-11 PM (19)
Jun 13, 11-12 AM (24)
Jun 14, 12-1 AM (18)
Jun 14, 1-2 AM (0)
Jun 14, 2-3 AM (0)
Jun 14, 3-4 AM (0)
Jun 14, 4-5 AM (2)
Jun 14, 5-6 AM (0)
Jun 14, 6-7 AM (2)
Jun 14, 7-8 AM (3)
Jun 14, 8-9 AM (0)
Jun 14, 9-10 AM (1)
Jun 14, 10-11 AM (2)
Jun 14, 11-12 PM (10)
Jun 14, 12-1 PM (8)
Jun 14, 1-2 PM (4)
Jun 14, 2-3 PM (8)
Jun 14, 3-4 PM (2)
Jun 14, 4-5 PM (1)
Jun 14, 5-6 PM (1)
Jun 14, 6-7 PM (0)
Jun 14, 7-8 PM (11)
Jun 14, 8-9 PM (1)
Jun 14, 9-10 PM (13)
Jun 14, 10-11 PM (29)
Jun 14, 11-12 AM (23)
Jun 15, 12-1 AM (8)
Jun 15, 1-2 AM (10)
Jun 15, 2-3 AM (4)
Jun 15, 3-4 AM (4)
Jun 15, 4-5 AM (1)
Jun 15, 5-6 AM (3)
Jun 15, 6-7 AM (2)
Jun 15, 7-8 AM (41)
Jun 15, 8-9 AM (18)
Jun 15, 9-10 AM (1)
3,276 commits this week Jun 08, 2026 - Jun 15, 2026
perf(landing): slash continuous GPU cost for butter-smooth scrolling
The rAF/ref scroll fade wasn't the real bottleneck — the landing ran two
GPU-saturating things every frame, even idle:

- MarbleField is a full-viewport WebGL shader (5-octave fbm, double domain
  warp) on an unthrottled rAF loop at up to 1.5x DPR.
- A backdrop-blur pane sat over that live canvas (re-blur every frame), and the
  aurora animated background-position on 300%-size, 40-64px-blurred layers
  (continuous repaints) plus mix-blend-soft-light.

Changes:
- Marble: render the backing store at ~0.6x scale, DPR capped at 1 (~5x fewer
  fragments); cap the loop to ~30fps; skip all shader work while the tab is
  hidden or the user is scrolling. Look is unchanged (it sits under a soft wash).
- Drop the backdrop-blur frost pane → a plain translucent wash (the low-res
  marble already reads soft).
- Aurora: make the two base gradient layers static (kills the background-position
  repaints) and drop mix-blend-soft-light. Life now comes only from the
  transform/opacity orbs, sheen and bloom, which composite cheaply.
- Remove will-change:opacity from the two full-viewport hero layers (it forced
  giant permanent compositor layers and hurt more than helped).
- Pause the aurora's compositor animations (and the marble) while actively
  scrolling via an html[data-scrolling] flag, resuming ~140ms after scroll stops.

Net: near-zero idle cost and the GPU is free during scroll.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
perf(landing): smooth scroll by driving hero fade via rAF + refs, not state
The landing recomputed aurora/marble opacity from a scrollY React state set on
every scroll event, re-rendering the whole (large) homepage tree each frame —
the main source of choppy scrolling. On top of that, a 700ms opacity transition
fought the frequent updates, smearing the fade.

Now the two fixed background layers are updated by writing opacity straight to
their DOM nodes (refs) inside a requestAnimationFrame callback. Scrolling no
longer triggers any React re-render; the transition is removed (per-frame rAF
updates are already smooth) and the layers get will-change: opacity so the
compositor handles the fade. Behavior (fade 500→1500px) is unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
style(theme): extend glass-morphism to all cards
The glass design system (.glass-nav/.glass-card/.glass-subtle) was already
applied to the header and sidebar, but the shared Card surface stayed opaque
(bg-white / dark:bg-zinc-950). Make Card a glass surface — translucent +
backdrop blur — so the (now default-on) animated background shows through and
the whole platform reads as one glass theme.

Opacity is kept high (80% light / 60% dark) to preserve text contrast on
content-dense cards; call sites can still override the bg via className. This
propagates to every CardUI/Card across the app via the one shared component.

Nested content surfaces (stat tiles, list rows) intentionally stay solid —
glass-over-glass blur is muddy and GPU-heavy; solid blocks on a glass container
is the correct pattern.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
refactor(ui): unify Overview copy affordance + signer button hierarchy
Make the wallet Overview more uniform:

- ui/RowLabelInfo now shows an explicit copy icon (with copy→check feedback)
  next to the value, instead of hiding copy behind making the whole value a
  ghost button. This matches the affordance already used in the signers list,
  so every address/hash row copies the same way. Copyable values render in
  font-mono for consistency.
- Signer rows: "Connect Discord" becomes a secondary (outline) button so each
  row has one primary action (Verify) + one secondary, instead of two solid
  buttons side by side.
- Remove an unused duplicate RowLabelInfo import in card-info.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
feat(appearance): default the animated background on + show it on the homepage
- Default backgroundEnabled to true (was opt-in off).
- Render the setting-driven app background on every route, including the
  homepage (removed the !isHomepage exclusion) — it sits behind the homepage's
  own hero background and persists as that one fades on scroll.
- The homepage hero background now follows the same toggle + selected preset
  (with a mounted guard so SSR and first client paint agree).

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
chore(deps): bump golang.org/x/crypto from 0.52.0 to 0.53.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.52.0 to 0.53.0.
- [Commits](https://github.com/golang/crypto/compare/v0.52.0...v0.53.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.53.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
chore(deps): bump github.com/blinklabs-io/ouroboros-mock
Bumps [github.com/blinklabs-io/ouroboros-mock](https://github.com/blinklabs-io/ouroboros-mock) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/blinklabs-io/ouroboros-mock/releases)
- [Commits](https://github.com/blinklabs-io/ouroboros-mock/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: github.com/blinklabs-io/ouroboros-mock
  dependency-version: 0.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
docs(agents): point to the vault as the source of specs/PRDs
Adds a "Specs & PRDs" section to .agents/README.md: features are specified
as PRDs in the maintainer's document-driven vault before they are built,
entity notes are the spec for their Prisma models, and implementing PRs
should cite the PRD id so code stays traceable to the document that produced
it. Closes the doc<->code loop from the code side.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
chore(deps): Bump actions/setup-go from 6.0.0 to 6.4.0
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 6.0.0 to 6.4.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v6...4a3601121dd01d1626a1e23e37211e3254c1c06c)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
chore(deps): Bump github.com/blinklabs-io/gouroboros
Bumps [github.com/blinklabs-io/gouroboros](https://github.com/blinklabs-io/gouroboros) from 0.180.1 to 0.183.0.
- [Release notes](https://github.com/blinklabs-io/gouroboros/releases)
- [Changelog](https://github.com/blinklabs-io/gouroboros/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/blinklabs-io/gouroboros/compare/v0.180.1...v0.183.0)

---
updated-dependencies:
- dependency-name: github.com/blinklabs-io/gouroboros
  dependency-version: 0.183.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
chore(deps): Bump github.com/blinklabs-io/cardano-models
Bumps [github.com/blinklabs-io/cardano-models](https://github.com/blinklabs-io/cardano-models) from 0.7.1 to 0.7.2.
- [Release notes](https://github.com/blinklabs-io/cardano-models/releases)
- [Commits](https://github.com/blinklabs-io/cardano-models/compare/v0.7.1...v0.7.2)

---
updated-dependencies:
- dependency-name: github.com/blinklabs-io/cardano-models
  dependency-version: 0.7.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
build(deps): bump github.com/blinklabs-io/adder from 0.39.1 to 0.41.0
Bumps [github.com/blinklabs-io/adder](https://github.com/blinklabs-io/adder) from 0.39.1 to 0.41.0.
- [Release notes](https://github.com/blinklabs-io/adder/releases)
- [Commits](https://github.com/blinklabs-io/adder/compare/v0.39.1...v0.41.0)

---
updated-dependencies:
- dependency-name: github.com/blinklabs-io/adder
  dependency-version: 0.41.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
build(deps): bump github.com/blinklabs-io/gouroboros
Bumps [github.com/blinklabs-io/gouroboros](https://github.com/blinklabs-io/gouroboros) from 0.160.2 to 0.183.0.
- [Release notes](https://github.com/blinklabs-io/gouroboros/releases)
- [Changelog](https://github.com/blinklabs-io/gouroboros/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/blinklabs-io/gouroboros/compare/v0.160.2...v0.183.0)

---
updated-dependencies:
- dependency-name: github.com/blinklabs-io/gouroboros
  dependency-version: 0.183.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
build(deps): bump golang.org/x/net from 0.50.0 to 0.56.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.50.0 to 0.56.0.
- [Commits](https://github.com/golang/net/compare/v0.50.0...v0.56.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.56.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>