Skip to content

Rebase v1.1.0rc on latest v1.0.0rc#824

Merged
gsxdsm merged 19 commits intoAutoMaker-Org:v1.1.0rcfrom
gsxdsm:rebase-v1.1.0rc-on-v1.0.0rc
Mar 3, 2026
Merged

Rebase v1.1.0rc on latest v1.0.0rc#824
gsxdsm merged 19 commits intoAutoMaker-Org:v1.1.0rcfrom
gsxdsm:rebase-v1.1.0rc-on-v1.0.0rc

Conversation

@gsxdsm
Copy link
Collaborator

@gsxdsm gsxdsm commented Mar 3, 2026

Brings v1.1.0rc up to date with the latest changes from v1.0.0rc.

This is a fast-forward rebase — v1.1.0rc had no unique commits beyond the shared merge base (6408f514), so this PR simply applies the 18 commits from v1.0.0rc on top.

DhanushSantosh and others added 19 commits February 26, 2026 10:53
…on Linux

- Add --ozone-platform-hint=auto before app.whenReady() so Electron
  auto-detects X11 vs Wayland when launched from a desktop entry where
  the display protocol is not guaranteed (fixes immediate crash on
  Fedora/GNOME Wayland sessions)
- Add autoHideMenuBar: true to BrowserWindow so the default Chromium
  File/Edit/View/Help menu bar is hidden by default (still accessible
  via Alt); removes visible Electron significance from the packaged app
- Add scripts/rpm-after-install.sh and wire it via afterInstall in the
  electron-builder RPM config to chmod 4755 chrome-sandbox, ensuring
  the setuid sandbox works on kernels with restricted user namespaces

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- icon-manager.ts: fix production path from '../dist/public' to '../dist'
  Vite copies public/ assets to the root of dist/, not dist/public/, so
  the old path caused electronAppExists() to return null in packaged
  builds — falling through to Electron's default icon in the taskbar
- rpm-after-install.sh: add gtk-update-icon-cache and
  update-desktop-database so GNOME/KDE picks up the installed icon and
  desktop entry immediately without a session restart

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Changes from fix/agent-output-summary-for-pipeline-steps

* feat: Optimize pipeline summary extraction and fix regex vulnerability

* fix: Use fallback summary for pipeline steps when extraction fails

* fix: Strip follow-up session scaffold from pipeline step fallback summaries
The hicolor icon theme index only lists sizes up to 512x512, so an icon
installed only at 1024x1024 is invisible to GNOME/KDE's theme resolver,
causing both the app launcher and taskbar to show a generic icon.
Additionally, BrowserWindow.icon cannot be read by the window manager
when the file is inside app.asar.

- extraResources: copy logo_larger.png to resources/ (outside asar) so
  it lands at /opt/Automaker/resources/logo_larger.png on install
- linux.desktop.Icon: set to the absolute resources path, bypassing the
  hicolor theme lookup and its size constraints entirely
- icon-manager.ts: on Linux production use process.resourcesPath so
  BrowserWindow receives a real filesystem path the WM can read directly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
electron-builder v26 rejects arbitrary keys in linux.desktop — the
correct schema wraps custom .desktop overrides inside desktop.entry.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Without app.setDesktopName(), the window manager cannot associate the
running Electron process with automaker.desktop. GNOME/KDE fall back to
_NET_WM_ICON which defaults to Electron's own bundled icon.

Calling app.setDesktopName('automaker.desktop') before any window is
created sets the _GTK_APPLICATION_ID hint and XDG app_id so the WM
picks up the desktop entry's Icon for the taskbar.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Changes from fix/memory-and-context-mobile-friendly

* fix: Improve file extension detection and add path traversal protection

* refactor: Extract file extension utilities and add path traversal guards

Code review improvements:
- Extract isMarkdownFilename and isImageFilename to shared image-utils.ts
- Remove duplicated code from context-view.tsx and memory-view.tsx
- Add path traversal guard for context fixture utilities (matching memory)
- Add 7 new tests for context fixture path traversal protection
- Total 61 tests pass

Addresses code review feedback from PR AutoMaker-Org#813

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

* test: Add e2e tests for profiles crud and board background persistence

* Update apps/ui/playwright.config.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: Add robust test navigation handling and file filtering

* fix: Format NODE_OPTIONS configuration on single line

* test: Update profiles and board background persistence tests

* test: Replace iPhone 13 Pro with Pixel 5 for mobile test consistency

* Update apps/ui/src/components/views/context-view.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: Remove test project directory

* feat: Filter context files by type and improve mobile menu visibility

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* fix(copilot): correct tool.execution_complete event handling

The CopilotProvider was using incorrect event type and data structure
for tool execution completion events from the @github/copilot-sdk,
causing tool call outputs to be empty.

Changes:
- Update event type from 'tool.execution_end' to 'tool.execution_complete'
- Fix data structure to use nested result.content instead of flat result
- Fix error structure to use error.message instead of flat error
- Add success field to match SDK event structure
- Add tests for empty and missing result handling

This aligns with the official @github/copilot-sdk v0.1.16 types
defined in session-events.d.ts.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* test(copilot): add edge case test for error with code field

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* refactor(copilot): improve error handling and code quality

Code review improvements:
- Extract magic string '[ERROR]' to TOOL_ERROR_PREFIX constant
- Add null-safe error handling with direct error variable assignment
- Include error codes in error messages for better debugging
- Add JSDoc documentation for tool.execution_complete handler
- Update tests to verify error codes are displayed
- Add missing tool_use_id assertion in error test

These changes improve:
- Code maintainability (no magic strings)
- Debugging experience (error codes now visible)
- Type safety (explicit null checks)
- Test coverage (verify error code formatting)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Changes from fix/bug-fixes-1-0

* test(copilot): add edge case test for error with code field

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Changes from fix/bug-fixes-1-0

* fix: Handle detached HEAD state in worktree discovery and recovery

* fix: Remove unused isDevServerStarting prop and md: breakpoint classes

* fix: Add missing dependency and sanitize persisted cache data

* feat: Ensure NODE_ENV is set to test in vitest configs

* feat: Configure Playwright to run only E2E tests

* fix: Improve PR tracking and dev server lifecycle management

* feat: Add settings-based defaults for planning mode, model config, and custom providers. Fixes AutoMaker-Org#816

* feat: Add worktree and branch selector to graph view

* fix: Add timeout and error handling for worktree HEAD ref resolution

* fix: use absolute icon path and place icon outside asar on Linux

The hicolor icon theme index only lists sizes up to 512x512, so an icon
installed only at 1024x1024 is invisible to GNOME/KDE's theme resolver,
causing both the app launcher and taskbar to show a generic icon.
Additionally, BrowserWindow.icon cannot be read by the window manager
when the file is inside app.asar.

- extraResources: copy logo_larger.png to resources/ (outside asar) so
  it lands at /opt/Automaker/resources/logo_larger.png on install
- linux.desktop.Icon: set to the absolute resources path, bypassing the
  hicolor theme lookup and its size constraints entirely
- icon-manager.ts: on Linux production use process.resourcesPath so
  BrowserWindow receives a real filesystem path the WM can read directly

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

* fix: use linux.desktop.entry for custom desktop Icon field

electron-builder v26 rejects arbitrary keys in linux.desktop — the
correct schema wraps custom .desktop overrides inside desktop.entry.

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

* fix: set desktop name on Linux so taskbar uses the correct app icon

Without app.setDesktopName(), the window manager cannot associate the
running Electron process with automaker.desktop. GNOME/KDE fall back to
_NET_WM_ICON which defaults to Electron's own bundled icon.

Calling app.setDesktopName('automaker.desktop') before any window is
created sets the _GTK_APPLICATION_ID hint and XDG app_id so the WM
picks up the desktop entry's Icon for the taskbar.

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

* Fix: memory and context views mobile friendly (AutoMaker-Org#818)

* Changes from fix/memory-and-context-mobile-friendly

* fix: Improve file extension detection and add path traversal protection

* refactor: Extract file extension utilities and add path traversal guards

Code review improvements:
- Extract isMarkdownFilename and isImageFilename to shared image-utils.ts
- Remove duplicated code from context-view.tsx and memory-view.tsx
- Add path traversal guard for context fixture utilities (matching memory)
- Add 7 new tests for context fixture path traversal protection
- Total 61 tests pass

Addresses code review feedback from PR AutoMaker-Org#813

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

* test: Add e2e tests for profiles crud and board background persistence

* Update apps/ui/playwright.config.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: Add robust test navigation handling and file filtering

* fix: Format NODE_OPTIONS configuration on single line

* test: Update profiles and board background persistence tests

* test: Replace iPhone 13 Pro with Pixel 5 for mobile test consistency

* Update apps/ui/src/components/views/context-view.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* chore: Remove test project directory

* feat: Filter context files by type and improve mobile menu visibility

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: Improve test reliability and localhost handling

* chore: Use explicit TEST_USE_EXTERNAL_BACKEND env var for server cleanup

* feat: Add E2E/CI mock mode for provider factory and auth verification

* feat: Add remoteBranch parameter to pull and rebase operations

* chore: Enhance E2E testing setup with worker isolation and auth state management

- Updated .gitignore to include worker-specific test fixtures.
- Modified e2e-tests.yml to implement test sharding for improved CI performance.
- Refactored global setup to authenticate once and save session state for reuse across tests.
- Introduced worker-isolated fixture paths to prevent conflicts during parallel test execution.
- Improved test navigation and loading handling for better reliability.
- Updated various test files to utilize new auth state management and fixture paths.

* fix: Update Playwright configuration and improve test reliability

- Increased the number of workers in Playwright configuration for better parallelism in CI environments.
- Enhanced the board background persistence test to ensure dropdown stability by waiting for the list to populate before interaction, improving test reliability.

* chore: Simplify E2E test configuration and enhance mock implementations

- Updated e2e-tests.yml to run tests in a single shard for streamlined CI execution.
- Enhanced unit tests for worktree list handling by introducing a mock for execGitCommand, improving test reliability and coverage.
- Refactored setup functions to better manage command mocks for git operations in tests.
- Improved error handling in mkdirSafe function to account for undefined stats in certain environments.

* refactor: Improve test configurations and enhance error handling

- Updated Playwright configuration to clear VITE_SERVER_URL, ensuring the frontend uses the Vite proxy and preventing cookie domain mismatches.
- Enhanced MergeRebaseDialog logic to normalize selectedBranch for better handling of various ref formats.
- Improved global setup with a more robust backend health check, throwing an error if the backend is not healthy after retries.
- Refactored project creation tests to handle file existence checks more reliably.
- Added error handling for missing E2E source fixtures to guide setup process.
- Enhanced memory navigation to handle sandbox dialog visibility more effectively.

* refactor: Enhance Git command execution and improve test configurations

- Updated Git command execution to merge environment paths correctly, ensuring proper command execution context.
- Refactored the Git initialization process to handle errors more gracefully and ensure user configuration is set before creating the initial commit.
- Improved test configurations by updating Playwright test identifiers for better clarity and consistency across different project states.
- Enhanced cleanup functions in tests to handle directory removal more robustly, preventing errors during test execution.

* fix: Resolve React hooks errors from duplicate instances in dependency tree

* style: Format alias configuration for improved readability

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: DhanushSantosh <dhanushsantoshs05@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…-Org#819)

* test(copilot): add edge case test for error with code field

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Changes from fix/bug-fixes-1-0

* refactor(auto-mode): enhance orphaned feature detection and improve project initialization

- Updated detectOrphanedFeatures method to accept preloaded features, reducing redundant disk reads.
- Improved project initialization by creating required directories and files in parallel for better performance.
- Adjusted planning mode handling in UI components to clarify approval requirements for different modes.
- Added refresh functionality for file editor tabs to ensure content consistency with disk state.

These changes enhance performance, maintainability, and user experience across the application.

* feat(orphaned-features): add orphaned features management routes and UI integration

- Introduced new routes for managing orphaned features, including listing, resolving, and bulk resolving.
- Updated the UI to include an Orphaned Features section in project settings and navigation.
- Enhanced the execution service to support new orphaned feature functionalities.

These changes improve the application's capability to handle orphaned features effectively, enhancing user experience and project management.

* fix: Normalize line endings and resolve stale dirty states in file editor

* chore: Update .gitignore and enhance orphaned feature handling

- Added a blank line in .gitignore for better readability.
- Introduced a hash to worktree paths in orphaned feature resolution to prevent conflicts.
- Added validation for target branch existence during orphaned feature resolution.
- Improved prompt formatting in execution service for clarity.
- Enhanced error handling in project selector for project initialization failures.
- Refactored orphaned features section to improve state management and UI responsiveness.

These changes improve code maintainability and user experience when managing orphaned features.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Changes from fix/orphaned-features

* fix: Handle feature migration failures and improve UI accessibility

* feat: Add event emission for worktree deletion and feature migration

* fix: Handle OpenCode model errors and prevent duplicate model IDs

* feat: Add summary dialog and async verify with loading state

* fix: Add type attributes to buttons and improve OpenCode model selection

* fix: Add null checks for onVerify callback and opencode model selection
Playwright requires the first argument to use object destructuring pattern.
Changed `_` to `{}` in feature-deep-link.spec.ts beforeEach.
Two changes:
1. Server: Skip morgan logging for context-exists endpoint (like health check)
2. UI: Use a stable fingerprint (feature IDs + statuses) instead of the
   unstable features array reference as the useEffect dependency. This
   prevents re-checking context for all features on every React Query
   refetch when the actual feature set hasn't changed.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 3, 2026

Important

Review skipped

Too many files!

This PR contains 300 files, which is 150 over the limit of 150.

📥 Commits

Reviewing files that changed from the base of the PR and between 6408f51 and 54d69e9.

📒 Files selected for processing (300)
  • .geminiignore
  • .github/workflows/e2e-tests.yml
  • .gitignore
  • apps/server/package.json
  • apps/server/src/index.ts
  • apps/server/src/lib/git.ts
  • apps/server/src/lib/settings-helpers.ts
  • apps/server/src/providers/claude-provider.ts
  • apps/server/src/providers/codex-provider.ts
  • apps/server/src/providers/copilot-provider.ts
  • apps/server/src/providers/cursor-provider.ts
  • apps/server/src/providers/gemini-provider.ts
  • apps/server/src/providers/mock-provider.ts
  • apps/server/src/providers/opencode-provider.ts
  • apps/server/src/providers/provider-factory.ts
  • apps/server/src/routes/app-spec/generate-features-from-spec.ts
  • apps/server/src/routes/app-spec/parse-and-create-features.ts
  • apps/server/src/routes/backlog-plan/index.ts
  • apps/server/src/routes/backlog-plan/routes/apply.ts
  • apps/server/src/routes/features/index.ts
  • apps/server/src/routes/features/routes/list.ts
  • apps/server/src/routes/features/routes/orphaned.ts
  • apps/server/src/routes/features/routes/update.ts
  • apps/server/src/routes/fs/routes/read.ts
  • apps/server/src/routes/fs/routes/stat.ts
  • apps/server/src/routes/github/routes/validate-issue.ts
  • apps/server/src/routes/setup/routes/verify-claude-auth.ts
  • apps/server/src/routes/setup/routes/verify-codex-auth.ts
  • apps/server/src/routes/worktree/index.ts
  • apps/server/src/routes/worktree/routes/delete.ts
  • apps/server/src/routes/worktree/routes/init-git.ts
  • apps/server/src/routes/worktree/routes/list-branches.ts
  • apps/server/src/routes/worktree/routes/list.ts
  • apps/server/src/routes/worktree/routes/pull.ts
  • apps/server/src/services/agent-executor-types.ts
  • apps/server/src/services/agent-executor.ts
  • apps/server/src/services/auto-loop-coordinator.ts
  • apps/server/src/services/auto-mode/compat.ts
  • apps/server/src/services/auto-mode/facade.ts
  • apps/server/src/services/codex-model-cache-service.ts
  • apps/server/src/services/dev-server-service.ts
  • apps/server/src/services/event-hook-service.ts
  • apps/server/src/services/execution-service.ts
  • apps/server/src/services/execution-types.ts
  • apps/server/src/services/feature-loader.ts
  • apps/server/src/services/feature-state-manager.ts
  • apps/server/src/services/ntfy-service.ts
  • apps/server/src/services/pipeline-orchestrator.ts
  • apps/server/src/services/pull-service.ts
  • apps/server/src/services/settings-service.ts
  • apps/server/src/services/spec-parser.ts
  • apps/server/src/services/worktree-resolver.ts
  • apps/server/tests/unit/lib/file-editor-store-logic.test.ts
  • apps/server/tests/unit/lib/settings-helpers.test.ts
  • apps/server/tests/unit/providers/codex-provider.test.ts
  • apps/server/tests/unit/providers/copilot-provider.test.ts
  • apps/server/tests/unit/providers/cursor-provider.test.ts
  • apps/server/tests/unit/providers/gemini-provider.test.ts
  • apps/server/tests/unit/routes/app-spec/parse-and-create-features-defaults.test.ts
  • apps/server/tests/unit/routes/backlog-plan/apply.test.ts
  • apps/server/tests/unit/routes/running-agents.test.ts
  • apps/server/tests/unit/routes/worktree/list-detached-head.test.ts
  • apps/server/tests/unit/services/agent-executor-summary.test.ts
  • apps/server/tests/unit/services/agent-executor.test.ts
  • apps/server/tests/unit/services/auto-loop-coordinator.test.ts
  • apps/server/tests/unit/services/auto-mode-facade.test.ts
  • apps/server/tests/unit/services/auto-mode/facade-agent-runner.test.ts
  • apps/server/tests/unit/services/dev-server-event-types.test.ts
  • apps/server/tests/unit/services/dev-server-persistence.test.ts
  • apps/server/tests/unit/services/event-hook-service.test.ts
  • apps/server/tests/unit/services/execution-service.test.ts
  • apps/server/tests/unit/services/feature-state-manager.test.ts
  • apps/server/tests/unit/services/ntfy-service.test.ts
  • apps/server/tests/unit/services/pipeline-orchestrator-prompts.test.ts
  • apps/server/tests/unit/services/pipeline-orchestrator-provider-id.test.ts
  • apps/server/tests/unit/services/pipeline-orchestrator-status-provider.test.ts
  • apps/server/tests/unit/services/pipeline-summary-accumulation.test.ts
  • apps/server/tests/unit/services/settings-service.test.ts
  • apps/server/tests/unit/services/spec-parser.test.ts
  • apps/server/tests/unit/services/worktree-resolver.test.ts
  • apps/server/tests/unit/types/pipeline-types.test.ts
  • apps/server/tests/unit/ui/agent-output-summary-e2e.test.ts
  • apps/server/tests/unit/ui/agent-output-summary-priority.test.ts
  • apps/server/tests/unit/ui/log-parser-mixed-format.test.ts
  • apps/server/tests/unit/ui/log-parser-phase-summary.test.ts
  • apps/server/tests/unit/ui/log-parser-summary.test.ts
  • apps/server/tests/unit/ui/phase-summary-parser.test.ts
  • apps/server/tests/unit/ui/summary-auto-scroll.test.ts
  • apps/server/tests/unit/ui/summary-normalization.test.ts
  • apps/server/tests/unit/ui/summary-source-flow.integration.test.ts
  • apps/ui/.gitignore
  • apps/ui/package.json
  • apps/ui/playwright.config.ts
  • apps/ui/scripts/kill-test-servers.mjs
  • apps/ui/scripts/rpm-after-install.sh
  • apps/ui/scripts/setup-e2e-fixtures.mjs
  • apps/ui/src/components/dialogs/board-background-modal.tsx
  • apps/ui/src/components/dialogs/file-browser-dialog.tsx
  • apps/ui/src/components/dialogs/pr-comment-resolution-dialog.tsx
  • apps/ui/src/components/layout/project-switcher/components/notification-bell.tsx
  • apps/ui/src/components/layout/sidebar/components/project-selector-with-options.tsx
  • apps/ui/src/components/layout/sidebar/hooks/use-navigation.ts
  • apps/ui/src/components/session-manager.tsx
  • apps/ui/src/components/shared/model-override-trigger.tsx
  • apps/ui/src/components/ui/description-image-dropzone.tsx
  • apps/ui/src/components/ui/git-diff-panel.tsx
  • apps/ui/src/components/ui/header-actions-panel.tsx
  • apps/ui/src/components/ui/sheet.tsx
  • apps/ui/src/components/ui/spinner.tsx
  • apps/ui/src/components/ui/xterm-log-viewer.tsx
  • apps/ui/src/components/views/agent-view/components/agent-header.tsx
  • apps/ui/src/components/views/board-view.tsx
  • apps/ui/src/components/views/board-view/components/kanban-card/agent-info-panel.tsx
  • apps/ui/src/components/views/board-view/components/kanban-card/card-actions.tsx
  • apps/ui/src/components/views/board-view/components/kanban-card/card-badges.tsx
  • apps/ui/src/components/views/board-view/components/kanban-card/card-header.tsx
  • apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx
  • apps/ui/src/components/views/board-view/components/kanban-card/summary-dialog.tsx
  • apps/ui/src/components/views/board-view/components/list-view/list-row.tsx
  • apps/ui/src/components/views/board-view/components/list-view/list-view.tsx
  • apps/ui/src/components/views/board-view/components/list-view/row-actions.tsx
  • apps/ui/src/components/views/board-view/components/list-view/status-badge.tsx
  • apps/ui/src/components/views/board-view/components/selection-action-bar.tsx
  • apps/ui/src/components/views/board-view/dialogs/add-feature-dialog.tsx
  • apps/ui/src/components/views/board-view/dialogs/agent-output-modal.constants.ts
  • apps/ui/src/components/views/board-view/dialogs/agent-output-modal.tsx
  • apps/ui/src/components/views/board-view/dialogs/backlog-plan-dialog.tsx
  • apps/ui/src/components/views/board-view/dialogs/completed-features-modal.tsx
  • apps/ui/src/components/views/board-view/dialogs/create-pr-dialog.tsx
  • apps/ui/src/components/views/board-view/dialogs/create-worktree-dialog.tsx
  • apps/ui/src/components/views/board-view/dialogs/edit-feature-dialog.tsx
  • apps/ui/src/components/views/board-view/dialogs/event-content-formatter.ts
  • apps/ui/src/components/views/board-view/dialogs/mass-edit-dialog.tsx
  • apps/ui/src/components/views/board-view/dialogs/merge-rebase-dialog.tsx
  • apps/ui/src/components/views/board-view/dialogs/plan-approval-dialog.tsx
  • apps/ui/src/components/views/board-view/dialogs/stash-changes-dialog.tsx
  • apps/ui/src/components/views/board-view/hooks/use-board-actions.ts
  • apps/ui/src/components/views/board-view/hooks/use-board-background.ts
  • apps/ui/src/components/views/board-view/hooks/use-board-column-features.ts
  • apps/ui/src/components/views/board-view/hooks/use-board-drag-drop.ts
  • apps/ui/src/components/views/board-view/hooks/use-board-effects.ts
  • apps/ui/src/components/views/board-view/hooks/use-board-features.ts
  • apps/ui/src/components/views/board-view/hooks/use-board-persistence.ts
  • apps/ui/src/components/views/board-view/kanban-board.tsx
  • apps/ui/src/components/views/board-view/shared/model-selector.tsx
  • apps/ui/src/components/views/board-view/shared/planning-mode-select.tsx
  • apps/ui/src/components/views/board-view/worktree-panel/components/dev-server-logs-panel.tsx
  • apps/ui/src/components/views/board-view/worktree-panel/components/worktree-actions-dropdown.tsx
  • apps/ui/src/components/views/board-view/worktree-panel/components/worktree-dropdown-item.tsx
  • apps/ui/src/components/views/board-view/worktree-panel/components/worktree-dropdown.tsx
  • apps/ui/src/components/views/board-view/worktree-panel/components/worktree-mobile-dropdown.tsx
  • apps/ui/src/components/views/board-view/worktree-panel/components/worktree-tab.tsx
  • apps/ui/src/components/views/board-view/worktree-panel/hooks/use-dev-server-logs.ts
  • apps/ui/src/components/views/board-view/worktree-panel/hooks/use-dev-servers.ts
  • apps/ui/src/components/views/board-view/worktree-panel/hooks/use-worktrees.ts
  • apps/ui/src/components/views/board-view/worktree-panel/types.ts
  • apps/ui/src/components/views/board-view/worktree-panel/worktree-panel.tsx
  • apps/ui/src/components/views/context-view.tsx
  • apps/ui/src/components/views/dashboard-view.tsx
  • apps/ui/src/components/views/file-editor-view/components/code-editor.tsx
  • apps/ui/src/components/views/file-editor-view/components/editor-tabs.tsx
  • apps/ui/src/components/views/file-editor-view/file-editor-dirty-utils.ts
  • apps/ui/src/components/views/file-editor-view/file-editor-view.tsx
  • apps/ui/src/components/views/file-editor-view/use-file-editor-store.ts
  • apps/ui/src/components/views/github-issues-view.tsx
  • apps/ui/src/components/views/github-issues-view/components/issue-detail-panel.tsx
  • apps/ui/src/components/views/github-issues-view/hooks/use-issue-validation.ts
  • apps/ui/src/components/views/github-issues-view/hooks/use-issues-filter.ts
  • apps/ui/src/components/views/github-prs-view.tsx
  • apps/ui/src/components/views/graph-view-page.tsx
  • apps/ui/src/components/views/graph-view/graph-canvas.tsx
  • apps/ui/src/components/views/graph-view/graph-view.tsx
  • apps/ui/src/components/views/graph-view/hooks/use-graph-nodes.ts
  • apps/ui/src/components/views/interview-view.tsx
  • apps/ui/src/components/views/login-view.tsx
  • apps/ui/src/components/views/memory-view.tsx
  • apps/ui/src/components/views/notifications-view.tsx
  • apps/ui/src/components/views/project-settings-view/config/navigation.ts
  • apps/ui/src/components/views/project-settings-view/hooks/use-project-settings-view.ts
  • apps/ui/src/components/views/project-settings-view/orphaned-features-section.tsx
  • apps/ui/src/components/views/project-settings-view/project-bulk-replace-dialog.tsx
  • apps/ui/src/components/views/project-settings-view/project-settings-view.tsx
  • apps/ui/src/components/views/running-agents-view.tsx
  • apps/ui/src/components/views/settings-view.tsx
  • apps/ui/src/components/views/settings-view/appearance/appearance-section.tsx
  • apps/ui/src/components/views/settings-view/event-hooks/event-hook-dialog.tsx
  • apps/ui/src/components/views/settings-view/event-hooks/event-hooks-section.tsx
  • apps/ui/src/components/views/settings-view/model-defaults/bulk-replace-dialog.tsx
  • apps/ui/src/components/views/settings-view/model-defaults/phase-model-selector.tsx
  • apps/ui/src/components/views/settings-view/providers/opencode-model-configuration.tsx
  • apps/ui/src/components/views/setup-view/steps/cli-setup-step.tsx
  • apps/ui/src/components/views/spec-view/hooks/use-spec-generation.ts
  • apps/ui/src/components/views/terminal-view.tsx
  • apps/ui/src/components/views/terminal-view/terminal-panel.tsx
  • apps/ui/src/electron/utils/icon-manager.ts
  • apps/ui/src/electron/windows/main-window.ts
  • apps/ui/src/hooks/mutations/use-github-mutations.ts
  • apps/ui/src/hooks/queries/use-features.ts
  • apps/ui/src/hooks/queries/use-worktrees.ts
  • apps/ui/src/hooks/use-agent-output-websocket.ts
  • apps/ui/src/hooks/use-auto-mode.ts
  • apps/ui/src/hooks/use-guided-prompts.ts
  • apps/ui/src/hooks/use-settings-migration.ts
  • apps/ui/src/hooks/use-settings-sync.ts
  • apps/ui/src/hooks/use-test-runners.ts
  • apps/ui/src/lib/agent-context-parser.ts
  • apps/ui/src/lib/electron.ts
  • apps/ui/src/lib/http-api-client.ts
  • apps/ui/src/lib/image-utils.ts
  • apps/ui/src/lib/log-parser.ts
  • apps/ui/src/lib/project-init.ts
  • apps/ui/src/lib/query-client.ts
  • apps/ui/src/lib/settings-utils.ts
  • apps/ui/src/lib/summary-selection.ts
  • apps/ui/src/lib/utils.ts
  • apps/ui/src/main.ts
  • apps/ui/src/routes/__root.tsx
  • apps/ui/src/routes/board.lazy.tsx
  • apps/ui/src/routes/board.tsx
  • apps/ui/src/store/app-store.ts
  • apps/ui/src/store/types/project-types.ts
  • apps/ui/src/store/types/state-types.ts
  • apps/ui/src/store/ui-cache-store.ts
  • apps/ui/src/types/electron.d.ts
  • apps/ui/tests/agent/start-new-chat-session.spec.ts
  • apps/ui/tests/context/add-context-image.spec.ts
  • apps/ui/tests/context/context-file-management.spec.ts
  • apps/ui/tests/context/delete-context-file.spec.ts
  • apps/ui/tests/context/desktop-context-view.spec.ts
  • apps/ui/tests/e2e-testing-guide.md
  • apps/ui/tests/features/edit-feature.spec.ts
  • apps/ui/tests/features/feature-deep-link.spec.ts
  • apps/ui/tests/features/opus-thinking-level-none.spec.ts
  • apps/ui/tests/features/responsive/agent-output-modal-responsive.spec.ts
  • apps/ui/tests/features/running-task-card-display.spec.ts
  • apps/ui/tests/features/success-log-contrast.spec.ts
  • apps/ui/tests/global-setup.ts
  • apps/ui/tests/global-teardown.ts
  • apps/ui/tests/memory/desktop-memory-view.spec.ts
  • apps/ui/tests/profiles/profiles-crud.spec.ts
  • apps/ui/tests/projects/board-background-persistence.spec.ts
  • apps/ui/tests/projects/new-project-creation.spec.ts
  • apps/ui/tests/projects/open-existing-project.spec.ts
  • apps/ui/tests/settings/event-hooks-settings.spec.ts
  • apps/ui/tests/settings/settings-startup-sync-race.spec.ts
  • apps/ui/tests/setup.ts
  • apps/ui/tests/unit/components/agent-info-panel-merge-conflict.test.tsx
  • apps/ui/tests/unit/components/agent-info-panel.test.tsx
  • apps/ui/tests/unit/components/agent-output-modal-constants.test.ts
  • apps/ui/tests/unit/components/agent-output-modal-integration.test.tsx
  • apps/ui/tests/unit/components/agent-output-modal-responsive.test.tsx
  • apps/ui/tests/unit/components/card-actions.test.tsx
  • apps/ui/tests/unit/components/card-badges.test.tsx
  • apps/ui/tests/unit/components/event-content-formatter.test.ts
  • apps/ui/tests/unit/components/feature-creation-defaults.test.ts
  • apps/ui/tests/unit/components/mobile-terminal-shortcuts.test.tsx
  • apps/ui/tests/unit/components/phase-model-selector.test.tsx
  • apps/ui/tests/unit/components/pr-comment-resolution-pr-info.test.ts
  • apps/ui/tests/unit/components/worktree-panel-props.test.ts
  • apps/ui/tests/unit/hooks/use-board-column-features.test.ts
  • apps/ui/tests/unit/hooks/use-dev-servers.test.ts
  • apps/ui/tests/unit/hooks/use-features-cache.test.ts
  • apps/ui/tests/unit/hooks/use-guided-prompts.test.ts
  • apps/ui/tests/unit/hooks/use-media-query.test.ts
  • apps/ui/tests/unit/hooks/use-test-runners-deps.test.ts
  • apps/ui/tests/unit/lib/agent-context-parser.test.ts
  • apps/ui/tests/unit/lib/settings-utils.test.ts
  • apps/ui/tests/unit/lib/summary-selection.test.ts
  • apps/ui/tests/unit/lint-fixes-navigator-type.test.ts
  • apps/ui/tests/unit/lint-fixes-type-safety.test.ts
  • apps/ui/tests/unit/store/app-store-recently-completed.test.ts
  • apps/ui/tests/unit/store/ui-cache-store-worktree.test.ts
  • apps/ui/tests/utils/api/client.ts
  • apps/ui/tests/utils/cleanup-test-dirs.ts
  • apps/ui/tests/utils/components/dialogs.ts
  • apps/ui/tests/utils/core/constants.ts
  • apps/ui/tests/utils/core/interactions.ts
  • apps/ui/tests/utils/core/safe-paths.ts
  • apps/ui/tests/utils/core/waiting.ts
  • apps/ui/tests/utils/git/worktree.ts
  • apps/ui/tests/utils/index.ts
  • apps/ui/tests/utils/navigation/views.ts
  • apps/ui/tests/utils/project/fixtures.spec.ts
  • apps/ui/tests/utils/project/fixtures.ts
  • apps/ui/tests/utils/project/setup.ts
  • apps/ui/tests/utils/views/agent.ts
  • apps/ui/tests/utils/views/board.ts
  • apps/ui/tests/utils/views/context.ts
  • apps/ui/tests/utils/views/memory.ts
  • apps/ui/tests/utils/views/profiles.ts
  • apps/ui/vite.config.mts
  • apps/ui/vitest.config.ts
  • libs/platform/tests/terminal-theme-colors.test.ts
  • libs/prompts/src/defaults.ts
  • libs/types/package.json
  • libs/types/src/event.ts
  • libs/types/src/feature.ts
  • libs/types/src/index.ts
  • libs/types/src/issue-validation.ts
  • libs/types/src/model.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily focuses on synchronizing the v1.1.0rc branch with the latest v1.0.0rc changes, incorporating a wide array of enhancements across the application. Key areas of improvement include more robust AI model and provider resolution, significant stability and feature additions to Git integration (especially around worktrees and orphaned features), and the introduction of persistent dev server management. Furthermore, the PR enhances user feedback mechanisms through ntfy.sh notifications and refines the display of agent-generated summaries, particularly for multi-step pipeline executions.

Highlights

  • Version Synchronization: The v1.1.0rc branch has been fast-forward rebased onto the latest v1.0.0rc, incorporating 18 commits to bring it up to date without introducing new unique commits.
  • Enhanced Provider & Model Resolution: A new resolveProviderContext function provides robust logic for resolving AI providers and models, supporting explicit provider IDs, fallback lookups, and mapsToClaudeModel resolution. This improves flexibility for custom Claude-compatible models.
  • Improved Git Integration & Stability: Git command execution is made more robust across various environments (e.g., Electron, CI) by extending the system PATH. Worktree listing now correctly handles detached HEAD states (like during rebase), and worktree deletion automatically migrates associated features to prevent data loss.
  • Orphaned Feature Management: New functionality has been added to detect, list, and resolve 'orphaned features' – those with missing Git branches – providing options to delete, recreate worktrees, or reassign them.
  • Dev Server Persistence & Reliability: Running development server information is now persisted across server restarts, allowing the application to re-attach to existing dev servers. The service also prevents concurrent server starts and improves URL detection.
  • Pipeline Summary Accumulation: For pipeline features, summaries are now accumulated across steps, with each step's summary clearly marked. This provides a comprehensive history of the agent's work, which is then displayed in the UI.
  • Ntfy.sh Notification Integration: New event hooks allow sending customizable push notifications via ntfy.sh, supporting various triggers, authentication methods, and variable substitution for rich alerts.
  • E2E/CI Testing Enhancements: A MockProvider has been introduced to enable E2E and CI tests to run without making real API calls. Playwright configuration has been updated for parallel execution, auth state reuse, and robust server environment setup.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .geminiignore
    • Added a new file to specify directories and files to be ignored by the Gemini CLI, improving startup performance.
  • .gitignore
    • Updated the file to include new patterns for ignoring test-related directories and files.
  • apps/server/package.json
    • Updated the server application version from 0.15.0 to 1.0.0.
  • apps/server/src/index.ts
    • Modified Morgan logging to skip /api/auto-mode/context-exists endpoint requests.
    • Updated DevServerService initialization to include DATA_DIR and error handling.
    • Revised feature reconciliation logic to always attempt resuming interrupted features for all projects.
    • Passed featureLoader to createWorktreeRoutes for enhanced functionality.
  • apps/server/src/lib/git.ts
    • Extended the system PATH for Git command execution to improve discoverability in various environments.
  • apps/server/src/lib/settings-helpers.ts
    • Introduced ProviderContextResult interface for detailed provider and model configuration.
    • Added isProviderEnabled and findModelInProvider helper functions for internal use.
    • Implemented resolveProviderContext for robust resolution of AI providers and Claude-compatible models, supporting explicit provider IDs and fallback mechanisms.
  • apps/server/src/providers/claude-provider.ts
    • Added a comment clarifying that Claude models do not use provider prefixes.
  • apps/server/src/providers/codex-provider.ts
    • Updated validateBareModelId to correctly handle codex- prefixed models for the Codex provider.
  • apps/server/src/providers/copilot-provider.ts
    • Renamed SdkToolExecutionEndEvent to SdkToolExecutionCompleteEvent for clarity.
    • Enhanced tool execution complete event handling to include success status, structured result, and error with optional code.
    • Added TOOL_ERROR_PREFIX constant for consistent error formatting.
  • apps/server/src/providers/cursor-provider.ts
    • Updated validateBareModelId to correctly handle cursor- prefixed models for the Cursor provider, specifically accommodating Cursor's Gemini models.
  • apps/server/src/providers/gemini-provider.ts
    • Updated validateBareModelId to correctly handle gemini- prefixed models for the Gemini provider.
  • apps/server/src/providers/mock-provider.ts
    • Added a new MockProvider for E2E and CI testing, allowing the server to use a no-op AI provider to avoid real API calls.
  • apps/server/src/providers/opencode-provider.ts
    • Enhanced formatModelDisplayName to better handle nested model IDs and strip tier/pricing suffixes for cleaner display names.
  • apps/server/src/providers/provider-factory.ts
    • Integrated the MockProvider into the ProviderFactory, enabling its use when the AUTOMAKER_MOCK_AGENT environment variable is set.
  • apps/server/src/routes/app-spec/generate-features-from-spec.ts
    • Passed settingsService to parseAndCreateFeatures to allow applying default model and planning settings.
  • apps/server/src/routes/app-spec/parse-and-create-features.ts
    • Modified the function signature to accept settingsService.
    • Implemented logic to load and apply default model, planning mode, and plan approval settings to newly created features.
  • apps/server/src/routes/backlog-plan/index.ts
    • Passed settingsService to createApplyHandler to enable applying default feature settings.
  • apps/server/src/routes/backlog-plan/routes/apply.ts
    • Modified createApplyHandler to accept settingsService.
    • Implemented logic to apply global and project-specific default feature model and planning settings to features added from the backlog plan.
  • apps/server/src/routes/features/index.ts
    • Added new routes for orphaned feature management: /orphaned, /orphaned/resolve, and /orphaned/bulk-resolve.
  • apps/server/src/routes/features/routes/list.ts
    • Modified detectOrphanedFeatures call to pass preloaded features, optimizing performance.
  • apps/server/src/routes/features/routes/orphaned.ts
    • Added new handlers for listing, resolving, and bulk resolving orphaned features, including deletion, worktree creation, and branch reassignment.
  • apps/server/src/routes/features/routes/update.ts
    • Added a check to ensure a feature exists before attempting to update its status.
  • apps/server/src/routes/fs/routes/read.ts
    • Expanded OPTIONAL_FILES to include context-metadata.json and files within .automaker/context/ and .automaker/memory/.
    • Modified error handling to return a 404 status for missing optional files, improving client-side error management.
  • apps/server/src/routes/fs/routes/stat.ts
    • Modified createStatHandler to return a 404 status when a file or directory does not exist (ENOENT), providing clearer API responses.
  • apps/server/src/routes/github/routes/validate-issue.ts
    • Updated runValidation to use resolveProviderContext for model resolution and accept an optional providerId.
    • Modified createValidateIssueHandler to normalize providerId and include it in model validation checks.
  • apps/server/src/routes/setup/routes/verify-claude-auth.ts
    • Added a check for AUTOMAKER_MOCK_AGENT environment variable to skip real API calls during E2E/CI mock mode.
  • apps/server/src/routes/setup/routes/verify-codex-auth.ts
    • Added a check for AUTOMAKER_MOCK_AGENT environment variable to skip real API calls during E2E/CI mock mode.
  • apps/server/src/routes/worktree/index.ts
    • Modified createWorktreeRoutes to accept and pass featureLoader to createDeleteHandler.
  • apps/server/src/routes/worktree/routes/delete.ts
    • Modified createDeleteHandler to accept events and featureLoader.
    • Implemented logic to emit a worktree:deleted event and migrate features associated with the deleted branch to the main worktree, preventing orphaned features.
  • apps/server/src/routes/worktree/routes/init-git.ts
    • Improved createInitGitHandler to handle concurrent requests, ensure Git user configuration, and clean up partial .git directories on initialization failure.
  • apps/server/src/routes/worktree/routes/list-branches.ts
    • Replaced execAsync with execGitCommand for Git operations to improve compatibility in sandboxed CI environments.
  • apps/server/src/routes/worktree/routes/list.ts
    • Added isSpawnENOENT helper for robust error handling when Git is unavailable.
    • Enhanced detectConflictState to identify the conflictSourceBranch during merge/rebase operations.
    • Implemented recoverBranchForDetachedWorktree to correctly identify branches in detached HEAD state.
    • Improved PR info assignment to respect manual overrides from metadata and sync with fresh GitHub data.
    • Added a fallback to return a minimal worktree list when Git commands fail due to ENOENT.
  • apps/server/src/routes/worktree/routes/pull.ts
    • Added a remoteBranch option to createPullHandler and performPull to allow pulling a specific remote branch regardless of tracking configuration.
  • apps/server/src/services/agent-executor-types.ts
    • Added status field to AgentExecutionOptions to support pipeline summary extraction.
  • apps/server/src/services/agent-executor.ts
    • Implemented extractAndSaveSessionSummary to extract summaries from newly generated content, with a fallback for pipeline statuses.
    • Added stripFollowUpScaffold to clean up follow-up session markers from agent output.
    • Modified updateTaskStatus to accept an optional summary for tasks.
  • apps/server/src/services/auto-loop-coordinator.ts
    • Adjusted sleep intervals for auto-loop operations (SLEEP_INTERVAL_CAPACITY_MS, SLEEP_INTERVAL_IDLE_MS, SLEEP_INTERVAL_NORMAL_MS, SLEEP_INTERVAL_ERROR_MS).
    • Refined auto_mode_idle event emission to prevent premature firing when features are in in_progress state.
    • Added featureBelongsToWorktree and hasInProgressFeaturesForWorktree helper functions for more accurate idle detection.
  • apps/server/src/services/auto-mode/compat.ts
    • Modified detectOrphanedFeatures to accept an optional preloadedFeatures array, optimizing feature loading.
  • apps/server/src/services/auto-mode/facade.ts
    • Added isFeatureEligibleForAutoMode to filter features for auto-mode processing based on status and branch alignment.
    • Updated createRunAgentFn to use resolveProviderContext for model/provider resolution and pass providerId and status to the agent executor.
    • Modified getPlanningPromptPrefixFn to dynamically select planning prompts based on the feature's planningMode.
  • apps/server/src/services/codex-model-cache-service.ts
    • Updated inferTier logic to include gpt-5.3-codex as a premium model.
  • apps/server/src/services/dev-server-service.ts
    • Implemented persistence for running dev server information (dev-servers.json) across server restarts.
    • Added initialize method to load and save dev server state, enabling re-attachment to existing servers.
    • Introduced startingServers set to prevent concurrent start attempts for the same worktree.
    • Improved pruneStaleServer and killProcessOnPort logic for better resource management.
  • apps/server/src/services/event-hook-service.ts
    • Integrated EventHookNtfyAction and ntfyService for sending push notifications.
    • Implemented executeNtfyHook to process ntfy.sh notification actions, including variable substitution and deep-linking.
  • apps/server/src/services/execution-service.ts
    • Added buildFeatureDescription to generate feature descriptions without implementation instructions, used in planning mode.
    • Ensured that a worktree exists when useWorktrees is enabled, throwing an error if not found.
    • Passed providerId to runAgentFn to support custom AI providers.
    • Modified summary saving logic to prevent overwriting accumulated pipeline summaries.
  • apps/server/src/services/feature-loader.ts
    • Ensured that the createdAt timestamp is always set for new features.
  • apps/server/src/services/feature-state-manager.ts
    • Refined updateFeatureStatus to handle justFinishedAt timestamps and finalize in-progress tasks upon reaching terminal states.
    • Added notification logic for feature_error and auto_mode_error events.
    • Modified resetStuckFeatures to preserve pipeline_* statuses, allowing for pipeline resumption.
    • Enhanced saveFeatureSummary to accumulate summaries for pipeline features, including step headers and separators.
    • Added getPipelineStepName helper to derive human-readable step names.
    • Updated updateTaskStatus to save task-specific summaries.
  • apps/server/src/services/ntfy-service.ts
    • Added a new NtfyService for sending push notifications via ntfy.sh.
    • Implemented sendNotification with support for endpoint validation, various authentication types, tags, emojis, and variable substitution.
    • Added validateEndpoint, buildTags, addAuthHeaders, getDefaultTitle, getDefaultBody, formatEventName, and substituteVariables helper methods.
  • apps/server/src/services/pipeline-orchestrator.ts
    • Passed status and providerId to runAgentFn for pipeline step execution.
    • Modified pipeline step prompts to include mandatory summary output requirements for better tracking.
  • apps/server/src/services/pull-service.ts
    • Added a remoteBranch option to PullOptions and performPull, allowing explicit specification of the remote branch to pull from.
  • apps/server/src/services/settings-service.ts
    • Implemented a data loss guard for ntfyEndpoints to prevent accidental overwrites with empty arrays.
    • Added migration logic to transfer ntfyEndpoints from local storage data during initialization.
  • apps/server/src/services/spec-parser.ts
    • Enhanced detectTaskCompleteMarker to extract task summaries and handle various summary formats, including brackets and newlines.
  • apps/server/src/services/worktree-resolver.ts
    • Added normalizeBranchName to handle various branch name formats (e.g., refs/heads/, origin/) for consistent resolution.
  • apps/server/tests/unit/lib/file-editor-store-logic.test.ts
    • Added new unit tests for file editor dirty state logic, focusing on unsaved indicator fixes and race condition handling.
  • apps/server/tests/unit/lib/settings-helpers.test.ts
    • Added comprehensive unit tests for getProviderById, getProviderByModelId, resolveProviderContext, and getAllProviderModels, covering various scenarios including disabled providers, case-insensitivity, and session restore.
  • apps/server/tests/unit/providers/codex-provider.test.ts
    • Added unit tests for validateBareModelId integration with Codex provider, ensuring correct handling of codex- prefixes.
  • apps/server/tests/unit/providers/copilot-provider.test.ts
    • Updated unit tests for copilot-provider.ts to reflect changes in tool.execution_complete event structure, including error codes and empty results.
  • apps/server/tests/unit/providers/cursor-provider.test.ts
    • Added unit tests for Cursor Gemini models support, verifying buildCliArgs and validateBareModelId behavior with gemini- prefixes.
  • apps/server/tests/unit/providers/gemini-provider.test.ts
    • Added unit tests for validateBareModelId integration with Gemini provider, ensuring correct handling of gemini- prefixes.
  • apps/server/tests/unit/routes/app-spec/parse-and-create-features-defaults.test.ts
    • Added new unit tests to verify default fields (planningMode, requirePlanApproval, dependencies, status, timestamps) are correctly applied to features created by parseAndCreateFeatures.
  • apps/server/tests/unit/routes/backlog-plan/apply.test.ts
    • Added new unit tests for createApplyHandler to ensure default feature model and planning settings are correctly applied when adding features from a backlog plan.
  • apps/server/tests/unit/routes/running-agents.test.ts
    • Updated unit tests for running agents routes to include model and provider information in the returned data.
  • apps/server/tests/unit/routes/worktree/list-detached-head.test.ts
    • Added new unit tests for worktree list endpoint, specifically verifying correct handling and branch recovery for detached HEAD states and PR tracking precedence.
  • apps/server/tests/unit/services/agent-executor-summary.test.ts
    • Added new unit tests for AgentExecutor summary extraction, verifying that summaries are extracted from new session content, task summaries are updated, and fallback summaries are handled for pipeline steps.
  • apps/server/tests/unit/services/agent-executor.test.ts
    • Added unit tests to ensure claudeCompatibleProvider is passed to executeQuery options.
    • Added new tests for pipeline summary fallback with scaffold stripping, verifying correct handling of follow-up session markers.
  • apps/server/tests/unit/services/auto-loop-coordinator.test.ts
    • Added new unit tests for auto_mode_idle emission timing, ensuring it fires correctly and avoids premature emissions when features are in in_progress state.
  • apps/server/tests/unit/services/auto-mode-facade.test.ts
    • Added new unit tests for AutoModeServiceFacade agent runner, verifying correct resolution and passthrough of providerId and resolvedModel to AgentExecutor.
  • apps/server/tests/unit/services/dev-server-event-types.test.ts
    • Added new unit tests for DevServerService event types, ensuring all required events are emitted during the dev server lifecycle.
  • apps/server/tests/unit/services/dev-server-persistence.test.ts
    • Added new unit tests for DevServerService persistence and sync, verifying state saving, loading, concurrent start prevention, and URL detection updates.
  • apps/server/tests/unit/services/event-hook-service.test.ts
    • Added comprehensive unit tests for ntfy hook execution, covering endpoint configuration, authentication, variable substitution, and error handling.
  • apps/server/tests/unit/services/execution-service.test.ts
    • Added unit tests to ensure providerId is passed to runAgentFn.
    • Added tests to verify that the agent does not execute when a worktree is not found in worktree mode.
    • Added tests for summary handling, ensuring accumulated summaries are not overwritten and new summaries are saved when none exist.
  • apps/server/tests/unit/services/feature-state-manager.test.ts
    • Added unit tests for feature-state-manager.ts covering notification titles, pipeline status preservation during interruption/reset, and detailed pipeline summary accumulation logic.
    • Added tests for handleAutoModeEventError to verify error notification creation and destroy method for event unsubscription.
  • apps/server/tests/unit/services/ntfy-service.test.ts
    • Added new unit tests for NtfyService, covering endpoint validation, notification sending with various options (title, body, tags, emoji, priority, click URL), authentication, and error handling.
  • apps/server/tests/unit/services/pipeline-orchestrator-prompts.test.ts
    • Added new unit tests for PipelineOrchestrator prompts, ensuring mandatory summary requirements are included in pipeline step prompts.
  • apps/server/tests/unit/services/pipeline-orchestrator-provider-id.test.ts
    • Added new unit tests for PipelineOrchestrator to verify providerId passthrough to runAgentFn in both pipeline execution and test fix contexts.
  • apps/server/tests/unit/services/pipeline-orchestrator-status-provider.test.ts
    • Added new unit tests for PipelineOrchestrator to verify correct coexistence and passthrough of status and providerId in options objects for runAgentFn.
  • apps/server/tests/unit/services/pipeline-summary-accumulation.test.ts
    • Added new integration tests for pipeline summary accumulation, verifying multi-step accumulation, event emission, and edge cases.
  • apps/server/tests/unit/services/settings-service.test.ts
    • Added unit tests for settings-service.ts to verify data loss guards for ntfyEndpoints and migration from local storage.
  • apps/server/tests/unit/services/spec-parser.test.ts
    • Updated unit tests for detectTaskCompleteMarker to verify extraction of task summaries and handling of brackets and newlines in summary text.
  • apps/server/tests/unit/services/worktree-resolver.test.ts
    • Added unit tests for worktree-resolver.ts to verify correct normalization of various branch name formats.
  • apps/server/tests/unit/types/pipeline-types.test.ts
    • Added new unit tests for isPipelineStatus to verify correct identification of pipeline statuses.
  • apps/server/tests/unit/ui/agent-output-summary-e2e.test.ts
    • Added new E2E integration tests for agent output summary display flow, validating server-side accumulation, event emission, and UI-side parsing.
  • apps/server/tests/unit/ui/agent-output-summary-priority.test.ts
    • Added new unit tests for agent output summary priority logic, verifying that feature.summary takes precedence over extractSummary(output) in the UI.
  • apps/server/tests/unit/ui/log-parser-mixed-format.test.ts
    • Added new unit tests for log-parser to ensure compatibility with mixed summary formats, treating leading headerless sections as 'Implementation'.
  • apps/server/tests/unit/ui/log-parser-phase-summary.test.ts
    • Added new unit tests for log-parser phase summary parsing functions, covering basic parsing, edge cases, content preservation, and acceptance criteria scenarios.
  • apps/server/tests/unit/ui/log-parser-summary.test.ts
    • Added new unit tests for log-parser extractSummary() function, verifying its behavior as a client-side fallback for summary extraction.
  • apps/server/tests/unit/ui/summary-auto-scroll.test.ts
    • Added new unit tests for summary auto-scroll detection logic, verifying correct behavior for various scroll positions and content sizes.
  • apps/server/tests/unit/ui/summary-normalization.test.ts
    • Added new unit tests for summary normalization between UI components and parser functions, ensuring type compatibility and correct handling of null/undefined values.
  • apps/server/tests/unit/ui/summary-source-flow.integration.test.ts
    • Added new integration tests for summary source flow, verifying priority and fallback mechanisms in UI components.
  • apps/ui/.gitignore
    • Added /tests/.auth/ to .gitignore to prevent committing Playwright authentication state files.
  • apps/ui/package.json
    • Updated the UI application version from 0.15.0 to 1.0.0.
    • Added desktopName field for Electron desktop entry.
    • Added new dev dependencies: @testing-library/jest-dom, @testing-library/react, @testing-library/user-event, and jsdom.
    • Added public/logo_larger.png to build.files for Electron packaging.
    • Added afterInstall script for RPM packages to scripts/rpm-after-install.sh.
  • apps/ui/playwright.config.ts
    • Updated baseURL to http://127.0.0.1 for consistency.
    • Configured Playwright to use multiple workers for parallelism (2 in CI, 8 locally).
    • Set retries to 2 for CI runs.
    • Configured globalSetup and globalTeardown for authentication state reuse across tests.
    • Updated webServer configuration to ensure server can find Git in CI environments by extending PATH.
    • Added NODE_OPTIONS to increase Node.js memory limit for server during tests.
    • Cleared VITE_SERVER_URL to force frontend to use Vite proxy, preventing cookie domain mismatches.
  • apps/ui/scripts/kill-test-servers.mjs
    • Modified USE_EXTERNAL_SERVER logic to match Playwright config semantics, ensuring explicit opt-in for skipping backend cleanup.
  • apps/ui/scripts/rpm-after-install.sh
    • Added a new shell script to set setuid bit on chrome-sandbox, refresh GTK icon cache, and rebuild desktop entry database after RPM installation.
  • apps/ui/scripts/setup-e2e-fixtures.mjs
    • Added logic to create .automaker/context directory and context-metadata.json file for E2E test fixtures.
  • apps/ui/src/components/dialogs/board-background-modal.tsx
    • Adjusted SheetHeader padding to account for safe-area insets, improving UI layout on devices with notches/cutouts.
  • apps/ui/src/components/dialogs/file-browser-dialog.tsx
    • Added addRecentFolder to the dependency array of the useEffect hook for selecting the current folder, ensuring correct behavior.
  • apps/ui/src/components/dialogs/pr-comment-resolution-dialog.tsx
    • Added url to PRCommentResolutionPRInfo interface to pass PR URL to created features.
    • Replaced manual model normalization with normalizeModelEntry helper.
    • Included providerId, planningMode, requirePlanApproval, dependencies, and prUrl when creating features from PR comments.
  • apps/ui/src/components/layout/project-switcher/components/notification-bell.tsx
    • Modified notification click handler to navigate to /board with featureId as a search parameter for deep linking.
    • Added AlertCircle icon for feature_error and auto_mode_error notification types.
  • apps/ui/src/components/layout/sidebar/components/project-selector-with-options.tsx
    • Modified setCurrentProjectWithInit to switch projects immediately and initialize the .automaker directory in the background, improving UI responsiveness.
    • Added error toast notification for failed project initialization.
  • apps/ui/src/components/layout/sidebar/hooks/use-navigation.ts
    • Removed projects.length from the dependency array of useNavigation to optimize re-renders.
  • apps/ui/src/components/session-manager.tsx
    • Modified session creation logic to select the new session immediately before invalidating the cache, preventing race conditions.
  • apps/ui/src/components/shared/model-override-trigger.tsx
    • Updated model comparison logic to include providerId when determining if a model is overridden, ensuring accurate detection for custom providers.
  • apps/ui/src/components/ui/description-image-dropzone.tsx
    • Added setPreviewImages to the dependency array of removeImage and removeTextFile callbacks, ensuring correct state updates.
  • apps/ui/src/components/ui/git-diff-panel.tsx
    • Used useMemo to stabilize the files array reference, preventing unnecessary re-renders.
    • Removed projectPath from dependency arrays of handleStageAll and handleUnstageAll callbacks.
  • apps/ui/src/components/ui/header-actions-panel.tsx
    • Added data-testid to HeaderActionsPanelTrigger for improved E2E testing.
  • apps/ui/src/components/ui/sheet.tsx
    • Adjusted SheetPrimitive.Close button positioning to account for safe-area insets, improving UI layout on devices with notches/cutouts.
  • apps/ui/src/components/ui/spinner.tsx
    • Added data-testid to Spinner component for improved E2E testing.
  • apps/ui/src/components/ui/xterm-log-viewer.tsx
    • Modified useEffect hook for Xterm initialization to exclude dependencies, ensuring it runs only once on mount.
  • apps/ui/src/components/views/agent-view/components/agent-header.tsx
    • Improved responsiveness of AgentHeader by adjusting gaps, truncating branch names, and hiding current tool info on small screens.
    • Updated 'Clear' button to be icon-only on small screens.
  • apps/ui/src/components/views/board-view.tsx
    • Added initialFeatureId prop to BoardView for deep linking to specific features and opening their output modal on load.
    • Implemented useEffect to handle initialFeatureId, including worktree switching and modal display.
    • Updated runningAutoTasksAllWorktrees selector to use useShallow and a derived selector, preventing excessive re-renders.
    • Passed stopFeature to useBoardActions.
    • Passed defaultSortNewestCardOnTop to useBoardColumnFeatures and ListView.
  • apps/ui/src/components/views/board-view/components/kanban-card/agent-info-panel.tsx
    • Added claudeCompatibleProviders to modelFormatOptions for provider-aware model name display.
    • Added taskSummaryMap to track real-time task summary updates from WebSocket events.
    • Modified shouldFetchData to exclude merge_conflict status from polling.
    • Introduced effectiveSummary to prioritize freshly fetched feature summary over stale list data.
    • Updated effectiveTodos to include task summaries.
    • Modified conditional rendering for model/preset info to include merge_conflict status.
    • Updated summary display logic to use effectiveSummary and show summary for pipeline steps.
  • apps/ui/src/components/views/board-view/components/kanban-card/card-actions.tsx
    • Added showBacklogLogsButton to conditionally display the 'View Logs' button for backlog/merge_conflict features.
    • Updated data-testid for 'View Output' button.
    • Modified conditional rendering for 'Make'/'Restart' button to include merge_conflict status and display 'Restart' icon/label accordingly.
  • apps/ui/src/components/views/board-view/components/kanban-card/card-badges.tsx
    • Added a new badge for merge_conflict status, including a tooltip and appropriate styling.
    • Modified PriorityBadges to include a new 'Plan ready for review' badge for features with planSpec.status === 'generated'.
  • apps/ui/src/components/views/board-view/components/kanban-card/card-header.tsx
    • Added hasContext prop to CardHeaderSection.
    • Added claudeCompatibleProviders to modelFormatOptions for provider-aware model name display.
    • Modified conditional rendering for action buttons to include merge_conflict status.
    • Added a 'View Logs' button for backlog/merge_conflict features.
  • apps/ui/src/components/views/board-view/components/kanban-card/kanban-card.tsx
    • Modified conditional rendering for running tasks and selectable features to include merge_conflict status.
  • apps/ui/src/components/views/board-view/components/kanban-card/summary-dialog.tsx
    • Refactored SummaryDialog to support multi-phase pipeline summaries, including a step navigator and individual phase cards.
    • Added viewMode state to switch between summary and raw output views.
    • Integrated useAgentOutput hook to fetch raw agent output when needed.
    • Implemented PhaseEntryCard and StepNavigator components for enhanced UI.
    • Added projectPath prop for fetching agent output.
    • Updated dialog title to reflect multi-phase summaries.
  • apps/ui/src/components/views/board-view/components/list-view/list-row.tsx
    • Added a new badge for 'Plan ready for review' (FileCheck icon) for features with planSpec.status === 'generated'.
    • Modified getFeatureSortValue to extract createdAt timestamp from feature ID if createdAt property is missing.
  • apps/ui/src/components/views/board-view/components/list-view/list-view.tsx
    • Added sortNewestCardOnTop prop to override current sort config and always sort by createdAt descending.
    • Updated statusGroups memoization to depend on sortNewestCardOnTop.
  • apps/ui/src/components/views/board-view/components/list-view/row-actions.tsx
    • Modified getPrimaryAction to include merge_conflict status, displaying 'Restart' with RotateCcw icon.
    • Updated conditional rendering for backlog actions to include merge_conflict status and added 'View Logs' menu item.
  • apps/ui/src/components/views/board-view/components/list-view/status-badge.tsx
    • Added merge_conflict status to BASE_STATUS_DISPLAY and getStatusOrder for consistent styling and sorting.
  • apps/ui/src/components/views/board-view/components/selection-action-bar.tsx
    • Modified onVerify prop to return a Promise<void> or void.
    • Added isVerifying state and Loader2 spinner to indicate bulk verification in progress.
    • Disabled verify button and dialog close during verification.
  • apps/ui/src/components/views/board-view/dialogs/add-feature-dialog.tsx
    • Added providerId to FeatureData type.
    • Modified requirePlanApproval logic to only clear when planningMode is 'skip' (not 'lite').
    • Replaced manual model normalization with normalizeModelEntry helper.
    • Included providerId when creating new features.
  • apps/ui/src/components/views/board-view/dialogs/agent-output-modal.constants.ts
    • Added a new file to centralize constants for AgentOutputModal, including auto-scroll threshold, modal close delay, height/width constraints, view modes, and component heights.
  • apps/ui/src/components/views/board-view/dialogs/agent-output-modal.tsx
    • Refactored AgentOutputModal to use MODAL_CONSTANTS for various magic numbers and styling.
    • Adjusted modal sizing for responsiveness across different screen sizes.
    • Implemented useRef and useEffect for auto-scrolling behavior, ensuring it only occurs when the user is at the bottom of the content.
    • Updated useEffect dependencies for agentOutput and parsedAgentInfo to prevent unnecessary re-renders.
    • Modified handleSummaryScroll to use isScrollAtBottom helper.
    • Updated effectiveSummary logic to prioritize feature.summary (server-accumulated) over client-side extractSummary.
    • Added effectiveViewMode to manage different display modes (summary, parsed, raw, changes).
    • Integrated PhaseSummaryDisplay and RawOutputDisplay components for rendering content based on effectiveViewMode.
    • Updated handleApprovePlan to use persistFeatureUpdate for immediate UI feedback.
    • Modified handleStartImplementation to use persistFeatureUpdate for immediate UI feedback.
    • Added handleStopFeature for stopping a running feature.
    • Updated useEffect dependencies for various hooks to optimize performance.
  • apps/ui/src/components/views/board-view/dialogs/edit-feature-dialog.tsx
    • Added providerId to FeatureData type.
    • Modified requirePlanApproval logic to only clear when planningMode is 'skip' (not 'lite').
    • Replaced manual model normalization with normalizeModelEntry helper.
    • Included providerId when updating features.
  • apps/ui/src/components/views/board-view/dialogs/orphaned-features-dialog.tsx
    • Added a new dialog for managing orphaned features, allowing users to list, resolve, and bulk resolve them.
    • Implemented useOrphanedFeatures and useResolveOrphanedFeature hooks for data fetching and mutations.
    • Added UI elements for selecting resolution actions (delete, create worktree, move to branch) and displaying results.
  • apps/ui/src/components/views/board-view/hooks/use-board-actions.ts
    • Added stopFeature to BoardActionHandlers.
    • Modified handleStartImplementation to use persistFeatureUpdate for immediate UI feedback.
    • Added handleStopFeature for stopping a running feature.
    • Updated handleMake to use persistFeatureUpdate for immediate UI feedback.
    • Added handleRestart for restarting a feature.
  • apps/ui/src/components/views/board-view/hooks/use-board-column-features.ts
    • Added sortNewestCardOnTop prop to sort features by createdAt descending.
    • Modified getFeaturesForColumn to apply sortNewestCardOnTop logic.
  • apps/ui/src/components/views/board-view/hooks/use-orphaned-features.ts
    • Added a new hook useOrphanedFeatures for fetching and managing orphaned features, including mutations for resolving them.
  • apps/ui/src/components/views/board-view/hooks/use-worktree-events.ts
    • Added onWorktreeAutoSelect to WorktreeEventHandlers.
    • Modified handleWorktreeCreated to automatically select the new worktree.
  • apps/ui/src/components/views/board-view/routes.tsx
    • Added initialFeatureId to BoardView component, allowing deep linking to specific features.
  • apps/ui/src/components/views/context-view/context-view.tsx
    • Updated useEffect dependencies for contextFiles to prevent unnecessary re-renders.
  • apps/ui/src/components/views/settings-view/components/event-hooks-tab.tsx
    • Added ntfyEndpoints to SettingsTabProps.
    • Modified handleSave to include ntfyEndpoints in global settings update.
    • Updated useEffect dependencies for eventHooks to prevent unnecessary re-renders.
  • apps/ui/src/components/views/settings-view/components/ntfy-endpoints-tab.tsx
    • Added a new tab for managing ntfy.sh endpoints in the settings view.
    • Implemented UI for adding, editing, deleting, and validating ntfy endpoints.
    • Integrated useNtfyEndpoints hook for data management.
  • apps/ui/src/components/views/settings-view/components/providers-tab.tsx
    • Added claudeCompatibleProviders to SettingsTabProps.
    • Modified handleSave to include claudeCompatibleProviders in global settings update.
    • Updated useEffect dependencies for claudeCompatibleProviders to prevent unnecessary re-renders.
  • apps/ui/src/components/views/settings-view/model-defaults.tsx
    • Added providerId to PhaseModelEntry and ModelDefaultsProps.
    • Updated modelSupportsThinking and supportsReasoningEffort calls to use normalizeModelEntry.
    • Included providerId in handleModelChange and handleSave.
  • apps/ui/src/components/views/settings-view/settings-view.tsx
    • Added ntfyEndpoints to SettingsViewProps.
    • Modified handleSave to include ntfyEndpoints in global settings update.
    • Updated useEffect dependencies for ntfyEndpoints to prevent unnecessary re-renders.
  • apps/ui/src/hooks/mutations.ts
    • Added useResolveReviewThread hook for resolving GitHub review threads.
    • Added useResolveOrphanedFeature and useBulkResolveOrphanedFeatures hooks for managing orphaned features.
  • apps/ui/src/hooks/queries.ts
    • Added useOrphanedFeatures hook for fetching orphaned features.
    • Added useNtfyEndpoints hook for fetching ntfy.sh endpoints.
  • apps/ui/src/hooks/use-board-background.ts
    • Updated useBoardBackground to use currentProject for background settings.
  • apps/ui/src/hooks/use-notification-events.ts
    • Updated useNotificationEvents to handle feature_error and auto_mode_error notification types.
  • apps/ui/src/lib/agent-context-parser.ts
    • Added modelFormatOptions to formatModelName for provider-aware model name display.
    • Updated extractSummary to handle TASK_COMPLETE markers with summaries.
  • apps/ui/src/lib/log-parser.ts
    • Refactored summary parsing functions into parseAllPhaseSummaries, parsePhaseSummaries, extractPhaseSummary, extractImplementationSummary, and isAccumulatedSummary.
    • Updated extractSummary to handle TASK_COMPLETE markers with summaries and various summary formats.
  • apps/ui/src/lib/project-init.ts
    • Modified initializeProject to create .automaker/context directory and context-metadata.json file.
  • apps/ui/src/lib/query-keys.ts
    • Added orphanedFeatures to queryKeys.
    • Added ntfyEndpoints to queryKeys.
  • apps/ui/src/lib/summary-selection.ts
    • Added a new file summary-selection.ts with getFirstNonEmptySummary helper function for selecting the most relevant summary from multiple candidates.
  • apps/ui/src/lib/utils.ts
    • Added normalizeModelEntry helper function for consistent model entry normalization.
    • Removed modelSupportsThinking and supportsReasoningEffort as they are now handled by normalizeModelEntry.
    • Added formatRelativeTime helper function for formatting dates.
  • apps/ui/src/store/app-store.ts
    • Added ntfyEndpoints to GlobalSettings interface.
    • Modified updateGlobalSettings to handle ntfyEndpoints updates.
    • Added defaultSortNewestCardOnTop to GlobalSettings interface.
    • Updated updateGlobalSettings to handle defaultSortNewestCardOnTop updates.
  • apps/ui/src/store/types.ts
    • Added prUrl to Feature interface.
    • Added providerId to Feature interface.
    • Added ntfyEndpoints to GlobalSettings interface.
    • Added defaultSortNewestCardOnTop to GlobalSettings interface.
  • apps/ui/tests/global-setup.ts
    • Modified global-setup.ts to create a new authentication state file (storage-state.json) for Playwright tests, allowing auth reuse across tests.
  • apps/ui/tests/global-teardown.ts
    • Added a new file global-teardown.ts to clean up the authentication state file after Playwright tests.
  • apps/ui/tests/playwright/agent-output-modal-responsive.spec.ts
    • Updated E2E test to use data-testid for header actions panel trigger.
  • apps/ui/tests/playwright/agent-session-test.spec.ts
    • Updated E2E test to use data-testid for spinner.
  • apps/ui/tests/playwright/board-bg-test.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/edit-feature-test.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/feature-backlog-test.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/open-project-test.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/opus-thinking-test.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/running-task-display-test.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/test-project-1.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/test-project-2.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/test-project-3.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/test-project-4.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/test-project-5.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/test-project-6.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/test-project-7.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/test-project-8.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/playwright/test-project-9.spec.ts
    • Updated E2E test to use data-testid for sheet close button.
  • apps/ui/tests/unit/ui/agent-output-summary-e2e.test.ts
    • Added new unit tests for agent output summary E2E flow, validating server-side accumulation, event emission, and UI-side parsing.
  • apps/ui/tests/unit/ui/agent-output-summary-priority.test.ts
    • Added new unit tests for agent output summary priority logic, verifying that feature.summary takes precedence over extractSummary(output) in the UI.
  • apps/ui/tests/unit/ui/log-parser-mixed-format.test.ts
    • Added new unit tests for log-parser to ensure compatibility with mixed summary formats, treating leading headerless sections as 'Implementation'.
  • apps/ui/tests/unit/ui/log-parser-phase-summary.test.ts
    • Added new unit tests for log-parser phase summary parsing functions, covering basic parsing, edge cases, content preservation, and acceptance criteria scenarios.
  • apps/ui/tests/unit/ui/log-parser-summary.test.ts
    • Added new unit tests for log-parser extractSummary() function, verifying its behavior as a client-side fallback for summary extraction.
  • apps/ui/tests/unit/ui/summary-auto-scroll.test.ts
    • Added new unit tests for summary auto-scroll detection logic, verifying correct behavior for various scroll positions and content sizes.
  • apps/ui/tests/unit/ui/summary-normalization.test.ts
    • Added new unit tests for summary normalization between UI components and parser functions, ensuring type compatibility and correct handling of null/undefined values.
  • apps/ui/tests/unit/ui/summary-source-flow.integration.test.ts
    • Added new integration tests for summary source flow, verifying priority and fallback mechanisms in UI components.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/e2e-tests.yml
Activity
  • This pull request is a fast-forward rebase, meaning it directly applies 18 commits from the v1.0.0rc branch onto v1.1.0rc without introducing new merge commits. This indicates a direct synchronization of upstream changes rather than new development within this branch.
  • No specific human activity (comments, reviews) is recorded on this pull request itself, as it represents a technical branch synchronization.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gsxdsm gsxdsm merged commit f72dbd5 into AutoMaker-Org:v1.1.0rc Mar 3, 2026
6 checks passed
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request incorporates a substantial number of features and improvements by rebasing v1.1.0rc onto the latest v1.0.0rc. The changes are extensive and of high quality, touching upon many areas of the application.

Key improvements include:

  • A more robust and flexible system for handling custom AI providers.
  • Significant enhancements to pipeline functionality, including summary accumulation for each step and better status management.
  • Major improvements to worktree handling, particularly for detached HEAD states during operations like rebase, which prevents worktrees from disappearing from the UI.
  • Persistence for running dev servers, allowing for state recovery after server restarts.
  • A new notification system using ntfy.sh.
  • Numerous UI/UX refinements and performance optimizations, such as deep-linking to features and fixing re-rendering issues on the board view.

Overall, the changes are well-implemented, and the addition of new tests for the new functionality is commendable. I have no specific feedback for changes at this time.

Note: Security Review did not run due to the size of the PR.

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