Conversation
|
Caution Review failedThe pull request is closed. WalkthroughMigrates 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 Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
Adopt the oxc stack by replacing repository linting/formatting with
|
71948e8 to
a6606e8
Compare
* oxc stacak * kewl * unused * unused
…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>
- 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
…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
- 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
Remote Agent (SSH) and Full Diff View
- 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.
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>
…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>
the biome binary has crashed my computer enough times that i don't want it anywhere near htis machine...
Summary by CodeRabbit
Chores
New Features
Bug Fixes