clone repo and small fixes#255
Merged
Merged
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Change DEFAULT_CONFIG.chat.askUser.enabled from false to true so the AI can pause and ask the user a question mid-task without requiring manual opt-in. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ive Claude sessions Claude Code's 'default' permission mode blocks write/create operations to additional allowed directories (like ~/.coc) in ask/interactive mode, causing mkdir calls to fail with a permission error. Switch the fallback permissionMode from undefined (which maps to 'default') to 'acceptEdits', which auto-approves file edits and directory creation within allowed working directories without requiring bypassPermissions. Permission mode mapping: - autopilot → bypassPermissions (unchanged) - plan → plan (unchanged) - all others → acceptEdits (was: undefined/'default') Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add the CloneRepoDialog to the RepoTabStrip's '+' dropdown so the 'Clone repository' option is available from the top tab bar, matching parity with the sidebar ReposGrid menu. - Import CloneRepoDialog into RepoTabStrip - Add cloneOpen state - Add 'repo-tab-clone-repo-option' menu item opening CloneRepoDialog - Mount CloneRepoDialog alongside the other add/folder dialogs - Add mock + 2 new tests covering the clone option in RepoTabStrip.test.tsx Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ayloads
For commit and branch-range types, extractPayloadFields was omitting the
prId and headSha fields. ClassificationExecutor.resolveClassificationContext
reads those fields directly from PrClassificationPayload, and its tool-
injection guard requires both to be truthy:
if (this.dataDir && wsId && ctx.repoId && ctx.prId && ctx.headSha) {
tools.push(saveClassificationTool);
}
With prId/headSha absent, the guard was never entered, saveClassification was
never injected, and the AI had no tool to persist results — leaving the
classification store empty and every poll returning status: 'none'.
Fix: populate prId and headSha using the same two-part key scheme as
splitIdentifier (prId='_commit'/'_branch-range', headSha=identifier) so
the executor, store writes, and store reads all refer to the same file key.
Regression tests added in generic-classification-handler.test.ts.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a green ✓ badge on commit rows that have a stored classification
result, so users can see at a glance which commits have been classified
without opening each one individually.
Changes:
- Server: new GET /api/repos/:repoId/classify-diff/batch-status endpoint
reads classification store for up to 200 identifiers in one round-trip,
returning { statuses: { [id]: 'none'|'ready'|'running' } }. Registered
before the single-item GET route so the more specific path wins.
- Client hook: useCommitClassificationStatus(workspaceId, repoId, hashes[])
issues a single batch-status request for all visible commit hashes,
returns { classifiedHashes: ReadonlySet<string>, refresh() }.
- CommitList: new optional classifiedHashes prop; renders a 15×15 px
green rounded-full ✓ badge (data-testid commit-classified-flag-{shortHash})
in the existing right-column badge strip.
- CommitDetail: new onClassified callback, fired via useEffect when the
classification state transitions to 'ready'.
- RepoGitTab: wires useCommitClassificationStatus to CommitList and
passes refreshClassificationStatus as onClassified to CommitDetail so
the badge updates immediately after the user classifies a commit.
Tests: 10 new tests in generic-classification-handler.test.ts covering
ready/running/none/multi/empty/validation/over-limit and non-interference
with the single-item GET endpoint.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…latform clone path CI failures on PR #255 stemmed from intentional behavior changes: - servers.enabled / pullRequests.enabled now default to true, so config, admin-handler, admin sidebar, and mobile bottom-nav (4 -> 5 tabs) tests were updated to expect the Servers entry. - generic-classification-handler now registers a batch-status GET route at index 1, shifting the single-item poll GET to routes[2]; test indices and the route-count assertion were updated. - api-git-clone-routes test now resolves the expected parent dir with path.resolve so it passes on Windows (drive-letter prefix). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.