Skip to content

v0.3.0: Night Desk redesign, command palette, and perf overhaul - #2

Merged
mohnjiles merged 11 commits into
mainfrom
night-desk-0.3.0
Jul 25, 2026
Merged

v0.3.0: Night Desk redesign, command palette, and perf overhaul#2
mohnjiles merged 11 commits into
mainfrom
night-desk-0.3.0

Conversation

@mohnjiles

Copy link
Copy Markdown
Member

Summary

Rolls up the v0.3.0 release: a full UI redesign, a command palette, several workflow features, and a performance overhaul — plus the WebSocket/GraphQL/cURL/pre-request work from prior sessions and a VitePress docs site.

Night Desk redesign

  • New default theme (warm graphite + amber); green redone as Green C; new Schematic light theme (paper + cobalt) with matching Monaco and syntax-highlighter themes
  • Request config collapsed into chips — the open section is drag-resizable and auto-collapses on send so the response owns the window; rarely-used sections live in a menu
  • History sidebar: date grouping, consecutive-duplicate collapsing (×N), dimmed hosts, collapse-to-rail, capped at 300 entries
  • Titlebar consolidated: Ctrl K search pill + environment pill + one segmented icon cluster; default window 1280×840

Features

  • Ctrl+K command palette: fuzzy search over history and collections, environment switching, and actions for every panel
  • {{var}} peek badges that resolve against the active environment (URL bar, params/headers, body, auth) with unresolved-variable warnings
  • Response body filter: $.path[*] queries with longest-valid-prefix fallback and trailing key-prefix matching, plus deep text filtering
  • OIDC discovery: auto-fill OAuth endpoints from an issuer or .well-known URL through the Rust backend
  • Sample request gallery in the empty response state

Performance

  • History was unbounded (1 MB+ file, 861 rows re-rendered per keystroke) — now capped, memoized, and content-visibility-culled; panels use stable callbacks so typing no longer re-renders the app
  • Theme tokens mirrored onto <html> so portaled content (tooltips/menus/dialogs) inherits themes; readable focus/hover states on every theme

Test plan

  • 286 frontend tests pass (pnpm exec vitest run)
  • tsc --noEmit clean, cargo check clean, production build succeeds
  • Smoke-tested in browser preview: chips, palette, history collapse, theme switching, filter bar, sample gallery, editor resize
  • Manual pass in the packaged app (Windows): OAuth discovery + token flow, SSE streaming, WebSocket panel

🤖 Generated with Claude Code

mohnjiles and others added 5 commits February 20, 2026 23:29
Major release rolling up the redesign and feature work:

UI redesign ("Night Desk"):
- New warm graphite + amber default theme; green redone as "Green C";
  new "Schematic" light theme (paper + cobalt) with themed Monaco/prism
- Request config collapsed into chips; open section is drag-resizable
  and auto-collapses on send so the response owns the window
- History sidebar grouped by date with duplicate collapsing, dimmed
  hosts, and collapse-to-rail; capped at 300 entries
- Titlebar consolidated into a Ctrl+K search pill, environment pill,
  and one segmented icon cluster

Features:
- Ctrl+K command palette: history, collections, environment switching,
  and actions for every panel
- {{var}} peek badges resolving against the active environment (URL,
  params/headers, body, auth)
- Response body filter: $.path[*] queries with longest-valid-prefix
  fallback and key-prefix matching, plus deep text filtering
- OIDC discovery auto-fill for OAuth endpoints from an issuer or
  .well-known URL (via the Rust backend, no CORS)
- Sample request gallery in the empty response state
- Prior session work: WebSocket panel, GraphQL editor + schema
  explorer, cURL import, pre-request scripts, response extraction,
  collection runner, form-data editor, docs site

Performance:
- Memoized panels with stable callbacks (typing no longer re-renders
  the whole app); content-visibility on history rows
- Theme tokens mirrored onto <html> so portals inherit correctly;
  readable focus/hover states on all themes

Default window is now 1280x840 (min 900x620). 286 frontend tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

mohnjiles and others added 3 commits July 24, 2026 19:18
The response viewer only JSON-parsed bodies up to 250KB, so anything
bigger fell back to unhighlighted plain text. Parsing is cheap even at
a few MB; the real cost was rendering. Raise the parse cap to 2MB and
make the tree safe at any size: each node renders at most 100 children
with a "show more" row revealing the rest in chunks, and parsed JSON
now takes precedence over the large-body plain-text fallback.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
setup-node with `cache: pnpm` probes for the pnpm executable, so the
pnpm/action-setup step must run first. Also pin pnpm 9 to match the
v9.0 lockfile instead of pnpm 10, whose changed defaults (blocked
dependency build scripts) could break installs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lykos-reviewer

lykos-reviewer Bot commented Jul 25, 2026

Copy link
Copy Markdown

Lykos Reviewer finished — 5 comment(s). See the review below.

@lykos-reviewer lykos-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

heya, Lykos here :3 poking through this with the pack. this is a massive update — the schematic theme is super clean and the command palette feels great! I spotted a few spots in the rust backend where character encoding in streams and memory usage for large uploads might get a bit bitey, but otherwise, it's looking solid 🐺

Comment thread src-tauri/src/http_client.rs
Comment thread src-tauri/src/streaming.rs
Comment thread src/lib/utils.ts
Comment thread src-tauri/src/oauth.rs
Comment thread src-tauri/src/websocket.rs
mohnjiles and others added 3 commits July 24, 2026 19:33
- streaming: accumulate raw bytes and decode only complete UTF-8, so
  multi-byte characters split across network chunks no longer corrupt
  into replacement chars; invalid bytes still degrade gracefully
- http_client: share the request body across redirect hops via Arc
  instead of cloning the full buffer per hop (large uploads no longer
  multiply in memory; true disk-streaming left as future work)
- oauth: fall back to an ephemeral callback port when 17823 is taken
  (second instance / port squatter) and derive the redirect URI from
  the actual bound port per RFC 8252 sec. 7.3
- websocket: emit ws-closed once when the server closes first, keeping
  the real close reason instead of a duplicate generic event
- utils: restore twMerge in cn() so tailwind class overrides merge
  instead of concatenating

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds a Pages workflow (build on docs changes pushed to main, manual
dispatch supported) and sets base: /LitePost/ to match the project
path. With the org-level Pages domain, the site lands at
lykos.ai/LitePost/.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The guides described the pre-redesign UI. Bring them current:

- getting-started: chip-based request sections with resize and
  auto-collapse, history sidebar (grouping, dedupe, collapse), command
  palette, sample gallery, updated titlebar layout
- settings: all six themes with Night Desk as default, Ctrl+K and
  Enter shortcuts
- responses: new large-response behavior (2MB tree with paged
  children) and the body filter bar (paths, wildcards, prefix
  fallback, text deep-filter)
- authentication: OIDC discovery auto-fill section, callback port
  fallback, chip wording
- making-requests: chip wording, {{var}} peek badges, and correct the
  claim that tabs persist across sessions (they never did)
- misc: point section references at their real homes (⋯ menu, Extract
  tab)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mohnjiles
mohnjiles merged commit 033ad14 into main Jul 25, 2026
2 checks passed
@mohnjiles
mohnjiles deleted the night-desk-0.3.0 branch July 25, 2026 03:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants