Mohamed Boudra
6b97e49c19
chore(lint): memoize inline styles in dropdown-menu
2026-04-24 02:29:54 +07:00
Mohamed Boudra
ce51fa79ba
chore(lint): extract SplitGroupChild to memoize inline styles
2026-04-24 02:27:41 +07:00
Mohamed Boudra
b2286aa307
chore(lint): memoize inline styles in combobox
2026-04-24 02:25:52 +07:00
Mohamed Boudra
5b420dbfdb
chore(lint): fix typecheck errors from hoisting refactors
...
- pair-scan: type BARCODE_SCANNER_SETTINGS as BarcodeSettings
- explorer-sidebar: add missing desktopSidebarStyle useMemo
- sidebar-workspace-list: coerce null dotColor to transparent
- menu-header, e2e.test: formatting
2026-04-24 02:17:56 +07:00
Mohamed Boudra
edd92acb3d
chore(lint): memoize inline styles in agent-list
2026-04-24 02:13:09 +07:00
Mohamed Boudra
6f8f378732
chore(lint): memoize mobile sidebar styles in explorer-sidebar
2026-04-24 02:11:39 +07:00
Mohamed Boudra
18262a0899
chore(lint): memoize inline styles in explorer-sidebar
2026-04-24 02:10:50 +07:00
Mohamed Boudra
4dfcc426b6
chore(lint): memoize inline styles in context-menu
2026-04-24 02:08:15 +07:00
Mohamed Boudra
b0fdeea505
chore(lint): memoize inline styles in command-center
2026-04-24 02:06:30 +07:00
Mohamed Boudra
1f4f0c020c
chore(lint): hoist top-level inline arrays in diff-viewer
2026-04-24 02:04:01 +07:00
Mohamed Boudra
243c859709
chore(lint): hoist inline styles/objects in menu-header
2026-04-24 02:03:16 +07:00
Mohamed Boudra
1945c39a3b
chore(lint): hoist inline styles in screen-header
2026-04-24 02:02:16 +07:00
Mohamed Boudra
6c13bd9ab3
chore(lint): hoist SheetBackground combined style
2026-04-24 02:01:18 +07:00
Mohamed Boudra
c8474385ff
chore(lint): hoist/memoize inline styles in plan-card
...
Extracts markdown rule style arrays into dedicated MarkdownInlineText,
MarkdownListItemContent, and MarkdownParagraph subcomponents that
memoize their own style arrays. Memoizes PlanCard container/title/
description styles.
2026-04-24 01:57:23 +07:00
Mohamed Boudra
0e837fe4f3
chore(lint): hoist inline style arrays in question-form-card
2026-04-24 01:56:23 +07:00
Mohamed Boudra
6f6e1469c1
chore(lint): flatten nested ternaries in button/volume-meter/autocomplete
2026-04-24 01:50:04 +07:00
Mohamed Boudra
405b964d41
chore(lint): hoist dictation-controls inline arrays
2026-04-24 01:47:15 +07:00
Mohamed Boudra
01338d2a55
chore(lint): hoist/memoize inline arrays and objects in app JSX
2026-04-24 01:41:00 +07:00
Mohamed Boudra
fe3a9bd833
chore(lint): hoist inline callbacks in app (jsx-no-new-function-as-prop)
...
Finish eliminating jsx-no-new-function-as-prop warnings in
agent-status-bar.tsx and complete refactor of git-diff-pane.tsx
by extracting per-item components and using stable useCallback
handlers.
2026-04-24 01:34:48 +07:00
Mohamed Boudra
16a48db75b
chore(lint): hoist inline callbacks in app components (jsx-no-new-function-as-prop)
2026-04-24 01:28:12 +07:00
Mohamed Boudra
5f620a36d6
chore(lint): hoist inline callbacks in app (jsx-no-new-function-as-prop)
2026-04-24 00:25:02 +07:00
Mohamed Boudra
84571e5309
chore(lint): hoist inline callbacks in app (jsx-no-new-function-as-prop)
...
Work in progress: 30 of 369 warnings fixed across 23 files.
2026-04-24 00:10:24 +07:00
Mohamed Boudra
78f82b1e82
chore(lint): hoist inline arrays in app (jsx-no-new-array-as-prop)
2026-04-23 23:36:04 +07:00
Mohamed Boudra
d1932c9060
chore(lint): hoist inline arrays in app (jsx-no-new-array-as-prop)
2026-04-23 23:31:39 +07:00
Mohamed Boudra
e249649656
chore(lint): hoist inline arrays in app (jsx-no-new-array-as-prop)
2026-04-23 23:20:40 +07:00
Mohamed Boudra
5a78561dc8
chore(lint): hoist inline arrays in app (jsx-no-new-array-as-prop)
2026-04-23 23:15:11 +07:00
Mohamed Boudra
106249c632
chore(lint): convert type aliases to interfaces (autofix)
...
- Remove no-use-before-define rule (conflicts with unistyles ordering)
- Add typescript/consistent-type-definitions: interface
- Run oxlint --fix: 606 type->interface conversions across 268 files
Typecheck green. Warnings: 5432 -> 3787 (-1645).
2026-04-23 22:59:49 +07:00
Mohamed Boudra
2dd8c27573
chore: delete unused files flagged by knip
...
38 files removed across app and server (verified unreferenced via
grep + typecheck). Includes dead components, hooks, stores, utils,
POC scripts, an empty orchestrator stub, stale playwright configs,
and a duplicate workspace-registry test-helpers module.
knip config tightened: added babel.config.js, native platform
extensions, and test-stubs/ to app entry patterns.
2026-04-23 22:29:49 +07:00
Mohamed Boudra
cda3d1d46c
chore: apply oxlint fix-suggestions (unused imports + useless fragments)
...
Scoped to only `no-unused-vars` and `react/jsx-no-useless-fragment` —
the safe subset of --fix-suggestions. Primary changes:
- Remove unused named imports from statements
- Remove unused default/type imports entirely
- Collapse `<><Single/></>` fragments to `<Single/>`
Verified clean: typecheck + format + lint all green.
2026-04-23 21:55:25 +07:00
Mohamed Boudra
177153e5e8
chore: apply oxlint autofix (safe level)
...
Auto-fixed 102 warnings (6040 → 5938) across 57 files. Main categories:
- preserve-caught-error: add { cause: error } to re-thrown errors
- unicorn/no-array-reverse: .reverse() → .toReversed()
- unicorn/no-useless-fallback-in-spread: drop unnecessary ?? {} in spreads
- oxc/no-map-spread: rewrite object spread in .map() to Object.assign
- react-hooks/exhaustive-deps: trim module-level constants from dep arrays
Ran npm run format after to clean up whitespace from lint mutations.
2026-04-23 21:47:36 +07:00
Mohamed Boudra
ce4b0d54c7
chore: reformat codebase with oxfmt
...
Apply prettier-compatible formatting across the repo to match the
incoming oxfmt configuration. Mechanical reformat only — no logic
changes. Covers YAML quote normalization, package.json key sorting,
Markdown/TOML formatting, and minor TS whitespace tweaks.
2026-04-23 21:44:48 +07:00
Mohamed Boudra
576cc0b668
Add sidebar callout surface
2026-04-23 15:19:40 +07:00
Mohamed Boudra
ce6393a933
fix(app): avoid hashing image preview payloads
2026-04-22 23:15:28 +07:00
Mohamed Boudra
4140e640fe
feat(app): store assistant image previews as assets
2026-04-22 22:28:56 +07:00
Mohamed Boudra
4b867c2f41
Fix mobile tool call expansion while streaming
2026-04-22 20:05:41 +07:00
Mohamed Boudra
368ce0339a
Lazy-load GitHub picker queries
2026-04-22 20:00:43 +07:00
Mohamed Boudra
d80c524e0e
fix(app): restore archive and composer CI checks
2026-04-22 19:16:28 +07:00
Mohamed Boudra
9218f70df3
Remove leftover app debug logging
2026-04-22 17:53:53 +07:00
Mohamed Boudra
b6afc66131
fix(app): avoid settings header offset
2026-04-22 16:19:31 +07:00
Mohamed Boudra
7993dc02dc
Add working indicator top spacing
2026-04-22 16:06:34 +07:00
Mohamed Boudra
6601db2673
Fix stream action spacing branches
2026-04-22 15:49:00 +07:00
Mohamed Boudra
e4badd95f4
Restore stream auxiliary spacing
2026-04-22 15:44:29 +07:00
Mohamed Boudra
aef54d5180
Optimize agent stream rendering
2026-04-22 15:38:53 +07:00
Mohamed Boudra
3c5bfd6e3d
Stabilize sidebar workspace press handler
2026-04-22 14:14:34 +07:00
Mohamed Boudra
fc86ce2a5f
Tighten Escape agent interrupt shortcut
2026-04-22 12:52:47 +07:00
Mohamed Boudra
6edf19c7c6
fix(app): streamline startup loading states
2026-04-22 12:13:23 +07:00
Mohamed Boudra
247983ee87
Improve startup provider snapshots and dev harness
2026-04-22 10:52:19 +07:00
Mohamed Boudra
8dad423635
fix(app): remove pointer cursor on user message bubbles
...
The Pressable wrapping user messages is only used for hover detection,
so default to the auto cursor instead of pointer on web.
2026-04-21 21:54:45 +07:00
Mohamed Boudra
6a03873d81
fix: smooth terminal streaming
2026-04-21 20:47:17 +07:00
Mohamed Boudra
79bf5ac3c7
test: add app browser coverage
2026-04-21 20:46:49 +07:00