Commit Graph

1455 Commits

Author SHA1 Message Date
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
ba9ed8b995 chore: remove unused deps and declare missing ones
Knip-driven cleanup across all workspaces:

Removed (verified zero imports):
- root: @anthropic-ai/claude-agent-sdk, @modelcontextprotocol/sdk,
  expo, react, react-native, react-dom (duplicates of workspace deps)
- server: @ai-sdk/openai, @deepgram/sdk, express-basic-auth,
  fast-uri, mnemonic-id, tiny-invariant, playwright
- app: @expo/vector-icons, @getpaseo/server,
  @react-navigation/bottom-tabs, @react-navigation/elements,
  base64-js, react-native-css, expo-av, expo-font, expo-symbols,
  expo-web-browser, react-native-permissions,
  react-native-popover-view, react-native-securerandom
- cli: @getpaseo/relay
- desktop: @getpaseo/cli
- relay: @cloudflare/workers-types
- website: tailwindcss (provided by @tailwindcss/vite)

Declared (previously hoisted, now explicit):
- root: @types/ws, playwright, ws (used by scripts/)
- server: @mariozechner/pi-ai, @mariozechner/pi-agent-core
- app: expo-asset, qrcode, @types/qrcode, tiny-invariant,
  @xterm/headless, dotenv, jsdom
- cli: vitest
- desktop: vitest

Also removes the stray `/app.json` (obsolete, overridden by
packages/app/app.config.js).
2026-04-23 22:20:33 +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
9b25f8fc36 Auto-submit iOS builds for App Store review via fastlane
Adds a fastlane lane and an EAS Workflow custom job that runs after
submit_ios. Picks up the latest TestFlight build, waits for Apple
processing, and submits for review with auto-release on approval.

Uses ASC_KEY_ID, ASC_ISSUER_ID, ASC_KEY_P8 secrets from the EAS
production environment.
2026-04-23 21:36:35 +07:00
Mohamed Boudra
26e6d97e81 Auto-submit Android to production track
Was uploading to internal track as draft, requiring manual release in
Play Console. Now rolls out to 100% on production after Google review.
2026-04-23 21:21:58 +07:00
Mohamed Boudra
80102753e1 Make worktree archive optimistic 2026-04-23 21:16:23 +07:00
Mohamed Boudra
e521e1f79d chore(release): cut 0.1.62 2026-04-23 20:28:53 +07:00
Mohamed Boudra
dfc8223bcc Make workspace git registration nonblocking (#542) 2026-04-23 18:21:59 +08:00
Mohamed Boudra
083cd34db4 Merge branch 'scan-cleanup-opportunities' 2026-04-23 15:28:34 +07:00
Mohamed Boudra
9abc0217e9 refactor: extract types and simplify activity grouping 2026-04-23 15:28:25 +07:00
Mohamed Boudra
576cc0b668 Add sidebar callout surface 2026-04-23 15:19:40 +07:00
Mohamed Boudra
8cc7e8951c chore(release): cut 0.1.61 2026-04-23 06:33:09 +07:00
Mohamed Boudra
ce6393a933 fix(app): avoid hashing image preview payloads 2026-04-22 23:15:28 +07:00
Mohamed Boudra
1f7b4eb10f chore(release): cut 0.1.61-beta.1 2026-04-22 22:37:42 +07:00
Mohamed Boudra
4140e640fe feat(app): store assistant image previews as assets 2026-04-22 22:28:56 +07:00
Mohamed Boudra
1f8f8e4036 Reduce workspace rerenders during explorer resize 2026-04-22 22:18:11 +07:00
Mohamed Boudra
95c773ce6d chore(release): cut 0.1.60 2026-04-22 20:38:54 +07:00
Mohamed Boudra
484e453401 Fix timeline catch-up for projected overlap 2026-04-22 20:21:26 +07:00
Mohamed Boudra
4b867c2f41 Fix mobile tool call expansion while streaming 2026-04-22 20:05:41 +07:00