Skip to content

oxc stack#1

Merged
t3dotgg merged 4 commits intomainfrom
juliusmarminge/barcelona
Feb 9, 2026
Merged

oxc stack#1
t3dotgg merged 4 commits intomainfrom
juliusmarminge/barcelona

Conversation

@juliusmarminge
Copy link
Copy Markdown
Member

@juliusmarminge juliusmarminge commented Feb 9, 2026

the biome binary has crashed my computer enough times that i don't want it anywhere near htis machine...

Summary by CodeRabbit

  • Chores

    • Upgraded package manager from Bun 1.1.38 to 1.3.9.
    • Replaced Biome with oxfmt and oxlint; added related workspace/editor config and formatter/linter settings.
    • Updated TypeScript compilation target to ES2023.
    • Removed redundant lint configuration and related scripts.
  • New Features

    • Added a resolveModelSlug utility to normalize and validate model identifiers.
  • Bug Fixes

    • Improved error handling by chaining original errors as causes.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 9, 2026

Caution

Review failed

The pull request is closed.

Walkthrough

Migrates formatting/linting from Biome to Oxfmt/Oxlint, adds VSCode Oxc recommendations/settings, upgrades Bun and TypeScript targets to newer versions, introduces a new exported helper resolveModelSlug, and applies widespread formatting/refactor-style changes plus one error chaining improvement.

Changes

Cohort / File(s) Summary
Tooling & Editor config
./.oxfmtrc.json, ./.oxlintrc.json, ./.vscode/extensions.json, ./.vscode/settings.json, ./biome.json
Add Oxfmt/Oxlint configs and VSCode recommendations/settings; remove biome.json. Check ignorePatterns and plugin/rule toggles in .oxlintrc.json.
Repository root config
./package.json, ./turbo.json, ./tsconfig.base.json, ./README.md
Replace Biome tooling with oxfmt/oxlint, update scripts (lintoxlint, add fmt), add Bun engine and update packageManager to bun@1.3.9, remove top-level lint turbo task, bump TS target/lib to ES2023, and minor README formatting.
Desktop app scripts & package
apps/desktop/package.json, apps/desktop/scripts/dev-electron.mjs, apps/desktop/tsconfig.json
Switch dev script from concurrently to bun run --parallel, remove lint script and concurrently devDependency, and bump TS lib to ES2023; minor script formatting changes.
Desktop app internals
apps/desktop/src/codexAppServerManager.ts, apps/desktop/src/main.ts, apps/desktop/src/preload.ts, apps/desktop/src/processManager.ts, apps/desktop/src/todoStore.ts, apps/desktop/src/*test.ts
Primarily formatting (many multi-line -> single-line refactors). Note: startSession error throw now includes original error as cause; runTerminalCommand signature formatting simplified. Tests and helpers reformatted only.
Renderer app config & styling
apps/renderer/package.json, apps/renderer/tsconfig.json, apps/renderer/src/index.css
Remove renderer lint script, bump TS lib to ES2023, minor CSS formatting adjustments.
Renderer components & logic
apps/renderer/src/components/ChatMarkdown.tsx, apps/renderer/src/components/ChatView.tsx, apps/renderer/src/components/DiffPanel.tsx, apps/renderer/src/components/Sidebar.tsx, apps/renderer/src/persistenceSchema.ts, apps/renderer/src/session-logic.ts, apps/renderer/src/*test.ts
Mostly stylistic and minor behavior-preserving refactors. Notable logic change: use of .toReversed() instead of .reverse() to avoid mutation in reversal logic. Various UI class/token updates.
Contracts package: types & API
packages/contracts/package.json, packages/contracts/src/ipc.ts, packages/contracts/src/model.ts, packages/contracts/src/provider.ts, packages/contracts/src/*test.ts
Add files: ["dist"] canonicalization in package.json and remove redundant entry; reflow type/signature formatting; add exported resolveModelSlug(model) function (normalizes and falls back to DEFAULT_MODEL).
Misc tests & small utilities
apps/desktop/src/ipcHelpers.test.ts, packages/contracts/src/model.test.ts, apps/renderer/src/model-logic.test.ts, other small files
Formatting-only updates to imports, expectations, and helper signatures; no behavioral changes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • oxc stack #1 — Repository-level tooling migration and configuration changes (adds .oxfmtrc/.oxlintrc, VSCode Oxc settings, replaces Biome with Oxfmt/Oxlint); appears to mirror this PR's migration work.
🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 7.14% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'oxc stack' refers to a core aspect of the changeset—replacing Biome with the Oxc linting/formatting toolchain—but is vague and could be unclear to someone unfamiliar with the project. Consider a more descriptive title like 'Replace Biome with Oxc toolchain' to clearly communicate the main change to reviewers scanning the history.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch juliusmarminge/barcelona

Comment @coderabbitai help to get the list of available commands and usage tips.

@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp Bot commented Feb 9, 2026

Adopt the oxc stack by replacing repository linting/formatting with oxlint and oxfmt, updating Bun to >=1.3.9, and switching apps/desktop dev to Bun’s parallel runner

Introduce oxfmt and oxlint with config files, remove Biome and concurrently, update Bun engine and lockfile, and add small ES2023/toReversed() refactors plus improved error causality in CodexAppServerManager.startSession.

📍Where to Start

Start with the root tooling changes in package.json, then review the formatter/linter configs in .oxfmtrc.json and .oxlintrc.json; for the sole logic change, see CodexAppServerManager.startSession in apps/desktop/src/codexAppServerManager.ts.


Macroscope summarized a6606e8.

@t3dotgg t3dotgg force-pushed the juliusmarminge/barcelona branch from 71948e8 to a6606e8 Compare February 9, 2026 09:11
@t3dotgg t3dotgg merged commit 70a9a04 into main Feb 9, 2026
2 checks passed
@Xenoifyteam Xenoifyteam mentioned this pull request Mar 7, 2026
@kimkhoi2202 kimkhoi2202 mentioned this pull request Mar 7, 2026
jjalangtry pushed a commit to jjalangtry/t3code that referenced this pull request Mar 16, 2026
* oxc stacak

* kewl

* unused

* unused
hameltomor added a commit to hameltomor/t3code that referenced this pull request Mar 19, 2026
…rowser (pingdotgg#1)

* feat(web): project selection v.0.1

* feat(web): project selection v.1.0

* feat(project): harden project folder picker and add server-side directory browser

Review-driven improvements to the add-project feature:
- Security: validate paths against allowed filesystem roots (home + drives on
  Windows, home + / on POSIX) with trailing-separator prefix matching
- Server: parallel stat with concurrency limit, entry cap, error message
  sanitization in WS handler
- FolderPickerModal: fix state reset on reopen (ref pattern eliminates effect
  races), cross-platform breadcrumb paths, ARIA roles, useMemo optimizations
- Sidebar: manual path input fallback for web (no native dialog),
  addProjectFromPath returns boolean so UI only clears on success
- Contracts: maxLength on DirectoryListInput.path
- Tests: 19 unit tests for listDirectory, isUnderAllowedRoot, getAllowedRoots

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Oleksandr <ace.7557@yahoo.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
MacGyver-Assistant pushed a commit to MacGyver-Assistant/t3code that referenced this pull request Mar 22, 2026
- BrowserPanel.tsx: orchestrator with isElectron detection
- BrowserPanelShell.tsx: container UI (same pattern as DiffPanelShell)
- BrowserNavBar.tsx: URL bar + back/forward/refresh/close
- BrowserWebview.tsx: Electron <webview> with isolated partition
- BrowserIframe.tsx: localhost-only iframe fallback for web mode
- browserPanelStore.ts: Zustand store for URL/nav state
- browserRouteSearch.ts: search params ?browser=1&browserUrl=xxx
- Keybinding: browser.toggle (mod+b)
- Toggle button: GlobeIcon in ChatHeader (after editor, before diff)
- Layout: RightPanel sidebar after DiffPanel (desktop + mobile sheet)
- Desktop main.ts: webviewTag: true in webPreferences
- CSS: browser-loading keyframe animation
- Tests: 20 passing (browserRouteSearch + browserPanelStore)
- Zero conflict with PR pingdotgg#1: additions-only in shared files
MacGyver-Assistant pushed a commit to MacGyver-Assistant/t3code that referenced this pull request Mar 22, 2026
…e inputUrl store duplication

- Resolve all merge conflicts with PR pingdotgg#1 (feat/monaco-editor-panel)
- Both panels coexist: editor toggle before diff, browser toggle after
- Validate URL with isValidBrowserUrl() before shell.openExternal()
- Remove dead inputUrl/setInputUrl from browserPanelStore (BrowserNavBar uses local state)
- Migrate from custom Sidebar/Sheet wrappers to shared RightPanelPrimitives
- Add BROWSER_PANEL_SEARCH_PARAMS to RightPanelPrimitives.tsx
MacGyver-Assistant pushed a commit to MacGyver-Assistant/t3code that referenced this pull request Mar 23, 2026
- BrowserPanel.tsx: orchestrator with isElectron detection
- BrowserPanelShell.tsx: container UI (same pattern as DiffPanelShell)
- BrowserNavBar.tsx: URL bar + back/forward/refresh/close
- BrowserWebview.tsx: Electron <webview> with isolated partition
- BrowserIframe.tsx: localhost-only iframe fallback for web mode
- browserPanelStore.ts: Zustand store for URL/nav state
- browserRouteSearch.ts: search params ?browser=1&browserUrl=xxx
- Keybinding: browser.toggle (mod+b)
- Toggle button: GlobeIcon in ChatHeader (after editor, before diff)
- Layout: RightPanel sidebar after DiffPanel (desktop + mobile sheet)
- Desktop main.ts: webviewTag: true in webPreferences
- CSS: browser-loading keyframe animation
- Tests: 20 passing (browserRouteSearch + browserPanelStore)
- Zero conflict with PR pingdotgg#1: additions-only in shared files
praveenperera pushed a commit to praveenperera/t3code that referenced this pull request Mar 23, 2026
Remote Agent (SSH) and Full Diff View
BarretoDiego added a commit to BarretoDiego/t3code that referenced this pull request Mar 28, 2026
- Add CODEX_INTEGRATION_ANALYSIS.md with detailed protocol flow analysis
  * Protocol flow architecture and high-level overview
  * Request-response JSON-RPC sequence diagrams
  * Event streaming and transformation pipeline
  * Session state machine and lifecycle events
  * Provider dispatch routing analysis
  * 5 critical improvements ranked by priority
  * Failure scenarios and recovery analysis
  * Testing and deployment recommendations

- Add CODEX_IMPROVEMENTS_GUIDE.md with step-by-step implementation guide
  * Improvement pingdotgg#1: Method-specific timeout configuration
  * Improvement pingdotgg#2: Partial stream recovery buffer
  * Improvement pingdotgg#3: Circuit breaker pattern implementation
  * Improvement pingdotgg#4: Graceful shutdown with timeout
  * Improvement pingdotgg#5: Structured observability logging
  * Integration checklist and testing procedures
  * 5-week rollout strategy

Architecture grade: B+ (strong foundation, operational concerns remain)
Expected impact: 10x reduction in false timeouts, 99.9% → 99.99% availability

These guides provide actionable recommendations for improving connection
robustness, timeout strategies, error recovery, and observability in the
Codex App Server integration.
cursor Bot pushed a commit to arul28/ADE that referenced this pull request Apr 18, 2026
Inspired by upstream t3code PRs:
- pingdotgg/t3code#1 (resolveModelSlug-style normalization)
- pingdotgg/t3code#2092 (code block copy for touch / position / clipboard fallback)
- pingdotgg/t3code#2057 (completion chime when agent turn settles)
- pingdotgg/t3code#2081 (surface ahead-of-base for clean pushed branches on mobile create PR)

Adds resolveModelSlug with optional provider hint, chat code copy controls and
non-secure clipboard fallback, optional Web Audio completion sound with settings,
and commitsAheadOfBase on mobile PR create eligibility with iOS subtitle.

Co-authored-by: Arul Sharma <arul28@users.noreply.github.com>
arul28 added a commit to arul28/ADE that referenced this pull request Apr 20, 2026
…gs (#163)

* feat: port t3code UX — model slug, code copy, sounds, PR ahead hint

Inspired by upstream t3code PRs:
- pingdotgg/t3code#1 (resolveModelSlug-style normalization)
- pingdotgg/t3code#2092 (code block copy for touch / position / clipboard fallback)
- pingdotgg/t3code#2057 (completion chime when agent turn settles)
- pingdotgg/t3code#2081 (surface ahead-of-base for clean pushed branches on mobile create PR)

Adds resolveModelSlug with optional provider hint, chat code copy controls and
non-secure clipboard fallback, optional Web Audio completion sound with settings,
and commitsAheadOfBase on mobile PR create eligibility with iOS subtitle.

Co-authored-by: Arul Sharma <arul28@users.noreply.github.com>

* fix: banner dismiss controls, resilient completion sound, tests

- Dismiss missing-AI and GitHub setup banners per session (inspired by
  pingdotgg/t3code#773)
- Resume suspended AudioContext, defer AudioContext.close, use global setTimeout
- Add vitest coverage for sound helper and banner dismiss; extend appStore prefs test

Co-authored-by: Arul Sharma <arul28@users.noreply.github.com>

* feat(settings): appearance tab with chat font preview (t3 #2174)

- New Appearance settings: theme swatches, chat font size 12–24px with live
  ChatMarkdown preview, copy-button position + completion sound (moved from General)
- chatFontSizePx in appStore; work chat scales via ChatSurfaceShell zoom
- resolveModelSlug: exact getModelById before provider-hint lowercasing (review)
- iOS Create PR lane subtitle when commitsAheadOfBase is 0
- A11y: label range input; fix preview sample template literal

Co-authored-by: Arul Sharma <arul28@users.noreply.github.com>

* fix: remove upstream PR link from UI; cross-browser chat scaling

- Appearance: drop user-visible t3code/GitHub link; keep neutral copy
- ChatSurfaceShell: scale header/body/footer via transform + inverse
  dimensions (Firefox-safe) instead of CSS zoom; contentScale prop
- AgentChatPane: pass contentScale from chat font preference
- agentTurnCompletionSound: module + function docstrings (CodeRabbit hint)
- Add ChatSurfaceShell scale wrapper tests with cleanup between cases

Co-authored-by: Arul Sharma <arul28@users.noreply.github.com>

* fix: address CI failures and review feedback on PR branch

Repair grepSearch JS-fallback tests by routing ripgrep exec through a test hook; relax TerminalView WebGL expectation for headless CI; play completion sound only on successful turns; preserve case-sensitive model refs with provider hints; improve Appearance preview layout, a11y, and clipboard cleanup; keep banner dismissals across project switches; make iOS commitsAheadOfBase backward compatible and show lane subtitles.

Co-authored-by: Arul Sharma <arul28@users.noreply.github.com>

* fix: safer repo-wide grep fallback, chat markdown code blocks, copy polish

Skip hidden root-only dirs (e.g. .ade) in JS grep when searching the whole repo while still entering .github; add regression test. Route ChatMarkdown fenced blocks through HighlightedCode so copy placement applies in previews. Stub WebGL canvas in TerminalView tests instead of weakening assertions. Tighten Appearance section labels and helper copy to sentence case.

Co-authored-by: Arul Sharma <arul28@users.noreply.github.com>

* Normalize config paths, runpage & chat UI

Normalize project config paths and improve run-page, chat UI, and related behavior.

Summary of changes:
- Project config: add path normalization helpers (normalizeConfigPath, projectRelativePath, normalizeProjectCwd/Command) and apply them when validating, saving, and returning snapshots so absolute project-root paths are converted to portable relative paths. Persist normalized shared/local in snapshots.
- Tests: add unit test to verify project-root absolute paths are normalized and that saved ade.yaml contains portable paths.
- RunPage refactor: introduce helpers to convert absolute paths to project-relative, build/update process config definitions, handle local vs shared placement (localOnly), and add upsert/remove helpers for processes and stack buttons. Adjust save logic and dependencies.
- Grep search: surface descriptive "Invalid regex pattern" errors from JS fallback and improve glob handling to match bare filenames for patterns like **/*.ts; add tests for invalid regex and glob edge cases.
- IPC: catch errors from resolveLaneOverlayContext during lane delete, log a warning, and continue.
- App shell & store: move per-session banner-dismiss state into app store (avoid local-state leaks) and use store dismiss actions.
- Chat & code UI: switch many inline styles to CSS variables, improve code copy button (auto/sticky mode), better diff coloring via styles, and style enhancements for code blocks, inline code, and tables. Wire code-copy position from store.
- Agent sounds & settings: add volume and quiet-when-focused preferences, pass options to playAgentTurnCompletionSound, and update AppearanceSection UI (chat font-size swatches, sound controls, terminal options import).
- Misc: make .ade/ade.yaml use project-relative script paths and update finalize.md to add a Mobile Parity agent checklist and instructions.

Why: make config files portable across machines, provide clearer errors and more ergonomic UI/UX for chat/code blocks, and ensure consistent handling of local vs shared config changes when editing processes from the Run page.

* Improve glob/path handling and small UI/accessibility fixes

Enhance grep glob matching and path normalization, add tests, and apply minor UI/accessibility tweaks.

- grepSearch: Normalize backslashes in file globs, detect when a glob includes directory components, and match against relative file paths when appropriate. Rewrote globToRegex to correctly handle **/, **, *, ?, and {a,b} patterns while preserving directory semantics. Added tests to exercise directory globs and JS fallback behavior.

- projectConfigService: Add utilities to detect absolute paths across platforms, infer project-relative paths from foreign-platform absolute paths (e.g. Windows paths on POSIX), and return portable relative paths for config saving. Added a test to ensure foreign absolute process paths are normalized to portable relative paths in saved config.

- CodeHighlighter: Adjust copy button rendering so the auto position renders consistently.

- AppearanceSection: Add aria-pressed to theme swatch button and an aria-label to the custom terminal font input to improve accessibility.

These changes improve cross-platform behavior for globs and config paths and address minor UX/accessibility issues.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Arul Sharma <arul28@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants