Commit Graph

902 Commits

Author SHA1 Message Date
Mohamed Boudra
e313bf5776 chore(lint): hoist test fixture arrays/objects
Clears 14 react-perf/jsx-no-new-* warnings across app test files by
hoisting constant fixtures to module scope or wrapping them in helper
factories so they no longer appear as inline JSX prop values.
2026-04-24 02:52:23 +07:00
Mohamed Boudra
2ee4955cbe chore(lint): memoize inline style objects in list/pane components
Clears 6 react-perf/jsx-no-new-object-as-prop warnings across
synced-loader, stream-strategy-web, sortable-inline-list, file-pane, and
both draggable-list platform variants by memoizing or hoisting their
inline style objects.
2026-04-24 02:48:55 +07:00
Mohamed Boudra
d50bf740ea chore(lint): memoize inline styles and objects in stream/status panes
Clears 10 react-perf/jsx-no-new warnings across welcome-screen,
file-explorer-pane, terminal-pane, agent-stream-view, and
agent-status-bar by extracting per-item subcomponents, hoisting constant
style tuples, and memoizing derived arrays/objects.
2026-04-24 02:45:53 +07:00
Mohamed Boudra
8a3129ff15 chore(lint): hoist inline arrays and objects in app (145 warnings)
- Hoist static style arrays/objects to module-level consts
- Memoize dynamic ones with useMemo and correct deps
- jsx-no-new-array-as-prop: 145 -> 43
- jsx-no-new-object-as-prop: 64 -> 21
2026-04-24 02:40:14 +07:00
Mohamed Boudra
032de17537 chore(lint): memoize inline styles in autocomplete, message-input, composer 2026-04-24 02:34:54 +07:00
Mohamed Boudra
4179b24416 chore(lint): memoize inline styles in workspace-hover-card 2026-04-24 02:31:47 +07:00
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