Skip to content

[codex] redesign Windows Desktop client - #168

Merged
ULookup merged 51 commits into
mainfrom
codex/windows-desktop-redesign
Jun 21, 2026
Merged

[codex] redesign Windows Desktop client#168
ULookup merged 51 commits into
mainfrom
codex/windows-desktop-redesign

Conversation

@ULookup

@ULookup ULookup commented Jun 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • rebuild the Windows Desktop WebUI around the approved ten-page Merak workspace design
  • add typed API domains, robust SSE/session workflows, real-data overview and worldbuilding pages, file editing, settings, diagnostics, and responsive drawers
  • centralize the navy/cool-gray visual system and accessibility behavior across desktop, default, and compact layouts

Why

The previous client exposed only part of the Runtime API and did not match the approved Windows Desktop information architecture. This branch aligns the shell and ten workspaces with the supplied design references while keeping every visible value tied to a real API field or an explicitly unavailable state.

Validation

  • 275/275 WebUI Vitest tests passing
  • TypeScript and Vite production build passing
  • Oxlint: 0 errors (12 pre-existing unused-type warnings in api/client.ts)
  • per-task independent spec and code-quality review completed through Task 12

Draft status

Browser fidelity QA, native-size screenshots, the final desktop preflight, and whole-branch review are still in progress and will be added to this PR. Native Tauri execution currently lacks external Rust/Cargo tooling and merak.exe; source-level desktop checks will still be completed.

ULookup added 30 commits June 19, 2026 21:42
ULookup and others added 19 commits June 20, 2026 13:17
Provider layer (openai_provider.cpp, anthropic_provider.cpp) already handles
all transient failures with 3 attempts and exponential backoff. The AgentLoop
retry was redundant and introduced two bugs:

1. Duplicate stream chunks: the failed attempt already emitted partial text
   via the on_chunk callback (flushed to UI). The retry re-emitted the same
   content from the start.
2. Response.text corruption: on final failure, response.text contained debris
   from the last failed attempt.
Provider layer handles transient errors (5xx, 429, curl). AgentLoop
catches one class of error the provider cannot handle internally:
context-window errors. When the LLM returns a 400-level error about
context length, AgentLoop triggers compaction (maybe_compact()) and
retries once.

Removed: general retry loop that re-invokes chat() on all error types
Kept: context-window specific recovery with single retry
…vider

Provider layer handles all transient errors (5xx, 429, curl errors)
with 3 attempts and exponential backoff. AgentLoop now only catches
for logging before propagating the exception upstream.

Context-window retry was also removed: all callers (fork_skill_tool,
worldbuilding_tools) already catch exceptions from sub_loop.run()
and return errors as tool results. The heuristic-based compact+retry
was unreliable — if token counting underestimates, compaction won't
help either.
@ULookup
ULookup marked this pull request as ready for review June 21, 2026 17:41
ULookup added 2 commits June 21, 2026 17:42
Combine C++ build/config entries from windows-desktop-redesign with
standard dev-environment entries from main.
Keep main's retry-safe text snapshots, llm_start timing, and improved
exception logging from Agent industrial hardening batch.
@ULookup
ULookup merged commit 8fa25e7 into main Jun 21, 2026
0 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant