esc
The V3 Saga Continues: Credentials & The Navigation Puzzle
The V3 Saga

The V3 Saga Continues: Credentials & The Navigation Puzzle

Tonight's Adventure The credential domain came alive tonight. Started with TDD (red → green), wired up GitStore for encrypted persistence, and polished the form until it sparkled: - Smart type...

December 13, 2025

Tonight’s Adventure

The credential domain came alive tonight. Started with TDD (red → green), wired up GitStore for encrypted persistence, and polished the form until it sparkled:

  • Smart type switching - labels morph based on credential type (API Key shows “Header Name”, Basic Auth shows “Username”)
  • Password managers begone - data-1p-ignore, data-lpignore, the whole gang
  • Inline expiration - toggle + date picker on same row, defaults to 1 month out
  • AD Group appears/disappears - only shows for system credentials (empty owner)

The Security page joined the dashboard family (7 icons now!), and credentials got its first real save. The “fake it till you make it” dashboard is earning its keep.

The Navigation Rabbit Hole

Then came the innocent question: “when I press back, I go to the wrong page.”

Simple fix, right? Just hardcode the back URL. But wait… what about picker drill-downs? What about “let me Slack you a link to this credential”?

We went deep:

  • Breadcrumbs vs URL bar vs browser history
  • The Tao of Datastar: “Use anchor tags, let the browser do its job”
  • But also: “I can’t throw 20KB of HTML at a browser for a class change”

The breakthrough: the path matters, not just the destination. Same credential, different trail:

  • Security → Credentials → my-api-key
  • Data → Stores → Product Catalog → Credentials → my-api-key

The Elegant Discovery

Datastar already solved this: data-query-string__history

  • Signal holds the nav stack
  • Syncs to URL query params automatically
  • __history modifier pushes browser history
  • Back button just works
  • Shareable links include the full breadcrumb trail

Tea break called. Brain needs calming after that revelation.

Tickets Spawned

  • #154: Directory domain (LDAP/AD) - future picker for AD Groups
  • #155: Users domain - future picker for credential owners

The foundation is forming. Each piece connects to the next.