You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| chat-text-size | "Chat text size" setting (Small / Default / Large) in Appearance | Claude Desktop "Chat font" + anthropics/claude-code #50543/#48887; ChatGPT desktop font-size requests | frontend-only | pr-open | [#64](https://github.com/modelstudioai/openwork/issues/64) | [#65](https://github.com/modelstudioai/openwork/pull/65) | loop/chat-text-size | 2026-07-07 | Renderer-only pref (localStorage `craft-chat-text-size`) reflected onto `<html>` as `data-chat-text-size` + `--chat-font-scale` CSS var (0.9/1/1.15). Transcript container gets `.chat-text-scope` with `font-size: calc(1em * var(--chat-font-scale))` — em-relative ⇒ neutral at Default, scales only conversation text (chrome untouched). New `ChatTextSizeProvider`; segmented control in Appearance→Interface; `SettingsSegmentedControl` gained optional `testId`/`data-value`; 5 new i18n keys ×7 locales. typecheck/`bun test` **zero-delta vs main** (11 pre-existing tsc errors + 56 pre-existing fail-lines byte-identical); renderer build ✅; i18n parity ✅. CDP assertion authored (drives control, asserts attr/CSS-var/localStorage + probe computed font-size ratio ~1.15/0.9); **could not execute** — Electron runtime binary download is org-egress-policy 403 (same block as #51). |
36
-
| conversation-width | "Conversation width" setting (Comfortable / Wide / Full) in Appearance | Claude/ChatGPT/Codex desktop content-width settings | frontend-only | pr-open |[#62](https://github.com/modelstudioai/openwork/issues/62)|[#63](https://github.com/modelstudioai/openwork/pull/63)| loop/conversation-width | 2026-07-07 | Opened by a prior run; reconciled from GitHub. `ConversationWidthProvider` + `data-conversation-width` + `--chat-content-max-width`. Awaiting review. |
37
-
| composer-word-count | Live word / character count indicator in the chat composer | Claude/ChatGPT/Codex desktop composer meta | frontend-only | pr-open |[#60](https://github.com/modelstudioai/openwork/issues/60)|[#61](https://github.com/modelstudioai/openwork/pull/61)| loop/composer-word-count | 2026-07-07 | Opened by a prior run; reconciled from GitHub. Awaiting review. |
38
-
| shortcuts-search | Search box on the Settings → Keyboard Shortcuts page | VS Code / Codex keyboard-shortcuts search | frontend-only | pr-open |[#58](https://github.com/modelstudioai/openwork/issues/58)|[#59](https://github.com/modelstudioai/openwork/pull/59)| loop/shortcuts-search | 2026-07-07 | Opened by a prior run; reconciled from GitHub. Awaiting review. |
39
-
| command-palette-recents | Surface recently-used commands in the Command Palette (⌘K) | Claude Code / VS Code / Linear recent commands | frontend-only | pr-open |[#56](https://github.com/modelstudioai/openwork/issues/56)|[#57](https://github.com/modelstudioai/openwork/pull/57)| loop/command-palette-recents | 2026-07-07 | Opened by a prior run; reconciled from GitHub. Awaiting review. |
40
-
| thinking-menu-shortcut | Keyboard shortcut (⌘⇧E) to open the composer's thinking-effort menu | Claude Code Desktop ⌘⇧E | frontend-only | pr-open |[#54](https://github.com/modelstudioai/openwork/issues/54)|[#55](https://github.com/modelstudioai/openwork/pull/55)| loop/thinking-menu-shortcut | 2026-07-07 | Opened by a prior run; reconciled from GitHub. Awaiting review. |
41
-
| composer-prompt-history | Recall previously-sent prompts in the composer with Up / Down | Claude Code / shell-style prompt history | frontend-only | pr-open |[#52](https://github.com/modelstudioai/openwork/issues/52)|[#53](https://github.com/modelstudioai/openwork/pull/53)| loop/composer-prompt-history | 2026-07-07 | Opened by a prior run; reconciled from GitHub. Awaiting review. |
42
-
| reduce-motion | "Reduce motion" accessibility setting in Appearance | Claude desktop / macOS / Windows reduce-motion + `prefers-reduced-motion`| frontend-only | merged |[#50](https://github.com/modelstudioai/openwork/issues/50)|[#51](https://github.com/modelstudioai/openwork/pull/51)| loop/reduce-motion | 2026-07-08 |**Merged** into `main` (2026-07-06). Renderer-only pref (localStorage) applied app-wide via `<MotionConfig reducedMotion>` + `data-reduce-motion` on `<html>` + global CSS guard. Off ⇒ `reducedMotion="user"` (still honors OS). New `ReduceMotionProvider` in `main.tsx`; toggle in Appearance→Interface; 2 new i18n keys ×7 locales. |
37
+
| scroll-to-bottom | "Jump to latest" (scroll-to-bottom) button in the chat transcript | Claude Code Desktop / ChatGPT / Codex desktop jump-to-latest affordance | frontend-only | pr-open | [#46](https://github.com/modelstudioai/openwork/issues/46) | [#47](https://github.com/modelstudioai/openwork/pull/47) | loop/scroll-to-bottom | 2026-07-02 | Reuses existing `ChatDisplay` scroll state (`distanceFromBottom`, `isStickToBottomRef`, `messagesEndRef`); floating `AnimatePresence` button shown when >200px from bottom. One new i18n key `chat.scrollToBottom` across all 6 locales. Added a reusable `seed(profileDirs)` hook to the e2e harness (`app.ts`/`runner.ts`) so assertions can pre-seed an on-disk session (backend-independent) — the scroll assertion seeds a 40-message session, opens it, scrolls up, asserts the button appears, clicks it, asserts return-to-bottom + hide. typecheck/`bun test` zero-delta vs main (11 pre-existing tsc errors, 56 pre-existing test fails, identical sets); renderer build ✅. **CDP could not run locally**: the Electron binary download is 403'd by the sandbox egress policy (github release host), so the app can't launch here — assertion transpiles and is included for CI/reviewer. |
38
+
| thinking-level-picker | Thinking-level (reasoning effort) picker in the chat composer | Claude Code Desktop effort menu (⌘⇧E) + OpenWork's own model picker | frontend-only | merged |[#44](https://github.com/modelstudioai/openwork/issues/44)|[#45](https://github.com/modelstudioai/openwork/pull/45)| loop/thinking-level-picker | 2026-07-02 | Merged into `main`. `thinkingLevel`/`onThinkingLevelChange` already plumbed to `FreeFormInput`; only the UI trigger was missing. Reuses `thinking.*` + `settings.ai.thinking` i18n keys (zero new keys). typecheck/`bun test` zero-delta vs main. |
43
39
| composer-expand | Expand / collapse (maximize) toggle for the chat composer | Claude/ChatGPT/Codex desktop composer maximize | frontend-only | pr-open |[#48](https://github.com/modelstudioai/openwork/issues/48)|[#49](https://github.com/modelstudioai/openwork/pull/49)| loop/composer-expand | 2026-07-03 | Opened by a prior run. Adds `isComposerExpanded` toggle in `FreeFormInput`; 2 new i18n keys. Awaiting review. |
44
-
| scroll-to-bottom | "Jump to latest" (scroll-to-bottom) button in the chat transcript | Claude Code / ChatGPT / Codex desktop | frontend-only | pr-open |[#46](https://github.com/modelstudioai/openwork/issues/46)|[#47](https://github.com/modelstudioai/openwork/pull/47)| loop/scroll-to-bottom | 2026-07-02 | Opened by a prior run. Floating jump button in `ChatDisplay` + `seed()` harness hook. Awaiting review. |
45
-
| thinking-level-picker | Thinking-level (reasoning effort) picker in the chat composer | Claude Code Desktop effort menu (⌘⇧E) + OpenWork's own model picker | frontend-only | merged |[#44](https://github.com/modelstudioai/openwork/issues/44)|[#45](https://github.com/modelstudioai/openwork/pull/45)| loop/thinking-level-picker | 2026-07-03 |**Merged** into `main` (2026-07-02). `thinkingLevel`/`onThinkingLevelChange` already plumbed to `FreeFormInput`; only the UI trigger was missing. Reuses `thinking.*` + `settings.ai.thinking` i18n keys (zero new keys). |
46
40
| command-palette | Global command palette (⌘K/Ctrl+K) to search & run any action | Claude Code Desktop ⌘K / VS Code & Codex ⌘⇧P / Linear ⌘K | frontend-only | merged |[#41](https://github.com/modelstudioai/openwork/issues/41)|[#42](https://github.com/modelstudioai/openwork/pull/42)| loop/command-palette | 2026-07-02 | Merged into `main`. Reuses action registry `execute()` + cmdk primitives; zero new i18n keys. CDP e2e 2/2 pass. typecheck/test +0 vs main. |
47
41
| settings-search | Searchable/filterable settings navigation | Claude Code Desktop / VS Code / Codex desktop settings search | frontend-only | merged |[#39](https://github.com/modelstudioai/openwork/issues/39)|[#40](https://github.com/modelstudioai/openwork/pull/40)| loop/settings-search | 2026-07-01 | Merged into `main`. Filters `SettingsNavigator` by title+description; reuses `common.search`/`common.noResultsFound` (no new locale keys). Also hardened `e2e/app.ts` teardown (per-launch profile dir + setsid process-group kill) so multiple CDP assertions run under headless xvfb. |
0 commit comments