Commit Graph

1323 Commits

Author SHA1 Message Date
Mohamed Boudra
31d24ed216 chore(lint): no-extraneous-class in test mocks
Add dispose() stubs to xterm addon mocks to satisfy typescript-eslint/no-extraneous-class, and convert static-only Notification mocks to plain objects.
2026-04-24 07:13:13 +07:00
Mohamed Boudra
c4355a13ff chore(lint): no-map-spread replace with Object.assign
Replace { ...obj, override } inside map callbacks with Object.assign({}, obj, { override })
to satisfy oxc/no-map-spread. Preserves copy-on-write semantics.
2026-04-24 07:11:26 +07:00
Mohamed Boudra
94913bd3b5 chore(lint): no-explicit-any in components/plan-card.tsx 2026-04-24 07:08:20 +07:00
Mohamed Boudra
0f26189a08 chore(lint): no-explicit-any in components/message.tsx 2026-04-24 07:06:24 +07:00
Mohamed Boudra
aceb399505 chore(lint): prefer-array-find over filter().at/pop
Replace filter(pred).at(-1)/pop() patterns with findLast(pred) and
filter(pred)[0] with find(pred) across server and app.
2026-04-24 07:06:22 +07:00
Mohamed Boudra
39ee113691 chore(lint): no-explicit-any in components/sidebar-workspace-list.tsx 2026-04-24 07:03:17 +07:00
Mohamed Boudra
ffdee90888 chore(lint): no-explicit-any in polyfills/crypto.ts 2026-04-24 07:01:23 +07:00
Mohamed Boudra
a4755cda0e chore(lint): no-explicit-any in app (batch 4)
Covers composer, message-input, tooltip, workspace-desktop-tabs-row,
and the e2e helpers (app, node-ws-factory, terminal-probes).
2026-04-24 06:59:07 +07:00
Mohamed Boudra
13d3de2b1d chore(lint): no-explicit-any in app (batch 3)
Covers use-web-scrollbar, stream-strategy, dictation-stream-sender test,
terminal-perf helper, checkout-git-actions-store test, and
web-desktop-scrollbar.
2026-04-24 06:51:40 +07:00
Mohamed Boudra
de27e31116 chore(lint): no-explicit-any in small app files (batch 2) 2026-04-24 06:46:41 +07:00
Mohamed Boudra
056dc46e74 chore(lint): no-explicit-any in small app files (batch 1) 2026-04-24 06:35:38 +07:00
Mohamed Boudra
2e95806126 chore(lint): no-nested-ternary in app batch 2 (26 files) 2026-04-24 06:27:10 +07:00
Mohamed Boudra
c61753f143 chore(lint): no-nested-ternary in app batch 1 (18 files) 2026-04-24 06:19:52 +07:00
Mohamed Boudra
d4254f96df chore(lint): hoist jsx-as-prop in remaining screens 2026-04-24 05:55:46 +07:00
Mohamed Boudra
36a40e9729 chore(lint): hoist jsx-as-prop in workspace/new-workspace screens 2026-04-24 05:47:45 +07:00
Mohamed Boudra
67b29d10f6 chore(lint): hoist jsx-as-prop in desktop components
Memoize inline JSX passed as props across desktop-permissions-section,
desktop-updates-section, integrations-section, and pair-device-section
to satisfy react-perf/jsx-no-jsx-as-prop.
2026-04-24 05:42:26 +07:00
Mohamed Boudra
edfdf22ea0 chore(lint): hoist jsx-as-prop in app components batch 3
Memoize inline JSX passed as props across combined-model-selector,
draggable-list.native, provider-diagnostic-sheet, and
workspace-setup-dialog to satisfy react-perf/jsx-no-jsx-as-prop.
2026-04-24 05:40:04 +07:00
Mohamed Boudra
b4978a1ef7 chore(lint): hoist jsx-as-prop in app components batch 2
Memoize inline JSX passed as props across agent-list, agent-status-bar,
file-explorer-pane, git-actions-split-button, and message to satisfy
react-perf/jsx-no-jsx-as-prop.
2026-04-24 05:36:46 +07:00
Mohamed Boudra
7e84fc0924 chore(lint): hoist jsx-as-prop in app components batch 1
Memoize inline JSX icons passed as props across add-host-modal,
branch-switcher, composer, pair-link-modal, pr-pane, and
sidebar-workspace-list to satisfy react-perf/jsx-no-jsx-as-prop.
2026-04-24 05:33:20 +07:00
Mohamed Boudra
60fdfc8c26 chore(lint): no-shadow in composer.test, host-runtime.test, new-workspace-screen.test 2026-04-24 05:28:43 +07:00
Mohamed Boudra
d63f7cc2d7 chore(lint): no-shadow in sidebar-workspace-list.test, use-pr-pane-data.test 2026-04-24 05:24:31 +07:00
Mohamed Boudra
15528c8a14 chore(lint): no-shadow in app composer/message-input/e2e helpers 2026-04-24 05:21:20 +07:00
Mohamed Boudra
d1dc6259ca chore(lint): no-shadow in app test hoisted blocks 2026-04-24 05:18:07 +07:00
Mohamed Boudra
aaf0e5065e chore(lint): no-shadow in small app test/e2e files 2026-04-24 05:15:58 +07:00
Mohamed Boudra
4af2ec614c chore(lint): no-shadow in small app files
Rename inner shadowing identifiers in:
- add-host-modal, agent-status-bar, sidebar-workspace-list, terminal-pane
- workspace-setup-dialog, session-context, use-is-local-daemon
- setup-panel, new-workspace-screen, workspace-desktop-tabs-row
2026-04-24 05:13:39 +07:00
Mohamed Boudra
92261f4b56 chore(lint): no-shadow in composer callbacks 2026-04-24 05:09:57 +07:00
Mohamed Boudra
b51012689c chore(lint): no-shadow in use-dictation, hoist icons in splash screen 2026-04-24 05:03:43 +07:00
Mohamed Boudra
413ef0258b chore(lint): promise/always-return in app 2026-04-24 03:40:11 +07:00
Mohamed Boudra
2eed4a3f60 chore(lint): no-array-index-key in app 2026-04-24 03:32:57 +07:00
Mohamed Boudra
edb071cb7b chore(lint): jsx-no-useless-fragment in app 2026-04-24 03:28:22 +07:00
Mohamed Boudra
46731a51d0 chore(lint): prefer-add-event-listener in app 2026-04-24 03:24:57 +07:00
Mohamed Boudra
5ad911e00d chore(lint): no-unused-vars in app 2026-04-24 03:23:01 +07:00
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