Commit Graph

1291 Commits

Author SHA1 Message Date
Mohamed Boudra
ec6a35b8cb chore(lint): mechanical cleanup in app (unused, shadow, nested-ternary)
Recovers in-flight edits from the app mechanical agent that couldn't be
pushed due to concurrent tree contention. Removes unused helpers and
locals, flattens nested ternaries, narrows a few props where unused.
2026-04-24 03:20:38 +07:00
Mohamed Boudra
4dffd079eb chore(lint): memoize inline styles in message components
Clears 5 react-perf/jsx-no-new-* warnings in message.tsx by memoizing
image source objects, extracting an AssistantMessageBlockContainer for
per-block spacing, and moving todo list item rendering into a
TodoListItemRow subcomponent so each row memoizes its own style arrays.
The remaining 8 warnings in react-native-markdown-display render rules
are inherent to that library's rule API.
2026-04-24 02:54:37 +07:00
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
1a53673535 chore(lint): memoize inline styles in _layout
Fixes 3 react-perf/jsx-no-new-object-as-prop warnings in root layout by
memoizing the stack screen options, the agent screen override, and the
GestureHandlerRootView root style.
2026-04-24 02:41:57 +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
c793e5ae52 chore(lint): hoist constant style arrays in desktop-updates-section 2026-04-24 02:24:16 +07:00
Mohamed Boudra
727df24f59 chore(lint): memoize inline styles in workspace-desktop-tabs-row 2026-04-24 02:23:06 +07:00
Mohamed Boudra
1db1689532 chore(lint): memoize inline styles in workspace-screen 2026-04-24 02:21:02 +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
eb444a2ade chore(lint): hoist pair-scan inline arrays and objects
Extracts corner style arrays and barcode scanner settings to module
scope, memoizes insets-dependent body/helper text styles.
2026-04-24 01:56:01 +07:00
Mohamed Boudra
f9a6287423 chore(lint): flatten nested ternaries in host-runtime/host-page/providers 2026-04-24 01:52:34 +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
892b9d1ae9 chore(lint): allow css imports in import/no-unassigned-import, hoist host page styles 2026-04-24 01:45:20 +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
55baa53e0b fix(types): add index signatures for Record assignability 2026-04-23 23:44:24 +07:00
Mohamed Boudra
2230a2a48e chore(lint): format keyboard-shortcuts-section 2026-04-23 23:36:34 +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
80102753e1 Make worktree archive optimistic 2026-04-23 21:16:23 +07:00
Mohamed Boudra
dfc8223bcc Make workspace git registration nonblocking (#542) 2026-04-23 18:21:59 +08:00