Skip to content

Harden git commit flags and simplify agent/runtime plumbing#1215

Closed
juliusmarminge wants to merge 6 commits intomainfrom
t3code/pr-977/main
Closed

Harden git commit flags and simplify agent/runtime plumbing#1215
juliusmarminge wants to merge 6 commits intomainfrom
t3code/pr-977/main

Conversation

@juliusmarminge
Copy link
Member

@juliusmarminge juliusmarminge commented Mar 19, 2026

Summary

  • Add support for custom git commit flags in app-run commits, with tokenization that drops non-flag tokens before invoking git.
  • Reorder commit arguments so extra flags cannot swallow the commit message.
  • Remove model plumbing from git text generation and related orchestration paths, and simplify several web and desktop helpers.
  • Update release workflow and bug report template, plus adjust Node version compatibility checks and related tests.

Testing

  • bun fmt
  • bun lint
  • bun typecheck
  • bun run test
  • Git commit flag coverage added in apps/server/src/git/Layers/GitCore.test.ts
  • Not run: manual end-to-end UI verification

Note

Add user-configurable extra git commit flags to the stacked action pipeline

  • Adds gitCommitFlags to the app settings schema and exposes a new "Git" section in the settings UI for users to enter extra flags (e.g. --no-verify).
  • Extends the GitRunStackedActionInput contract, runCommitStep, and GitCore.commit to accept and forward sanitized commit flags; flags are appended after -m args to prevent argument-consuming flags from swallowing message values.
  • Adds tokenizeCommitFlags in GitManager.ts to strip non-flag tokens (anything not starting with -) from user input before passing to git.
  • Risk: GitActionsControl.tsx contains a duplicate const { settings } declaration in the same scope, which will cause a TypeScript compile error.
📊 Macroscope summarized 243e8a4. 6 files reviewed, 1 issue evaluated, 0 issues filtered, 1 comment posted

🗂️ Filtered Issues

0xnim and others added 5 commits March 13, 2026 12:21
- Move extra commit args after message flags to avoid swallowing `-m`
- Drop non-flag tokens when tokenizing user-supplied commit flags
- Add tests and clarify the settings helper text
@coderabbitai
Copy link

coderabbitai bot commented Mar 19, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 44868d5d-3dd1-43e1-91e0-79b64b6394fa

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
  • Commit unit tests in branch t3code/pr-977/main
📝 Coding Plan
  • Generate coding plan for human review comments

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

@github-actions github-actions bot added size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Mar 19, 2026
Comment on lines 163 to 165
);
const { settings } = useAppSettings();
const queryClient = useQueryClient();
Copy link
Contributor

Choose a reason for hiding this comment

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

🔴 Critical components/GitActionsControl.tsx:163

const { settings } = useAppSettings(); is declared twice at the top of GitActionsControl (lines 159 and 164). This causes a SyntaxError: Identifier 'settings' has already been declared at runtime, preventing the component from loading. Remove the duplicate declaration.

-  const { settings } = useAppSettings();
   const queryClient = useQueryClient();
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file apps/web/src/components/GitActionsControl.tsx around lines 163-165:

`const { settings } = useAppSettings();` is declared twice at the top of `GitActionsControl` (lines 159 and 164). This causes a `SyntaxError: Identifier 'settings' has already been declared` at runtime, preventing the component from loading. Remove the duplicate declaration.

Evidence trail:
apps/web/src/components/GitActionsControl.tsx lines 159 and 164 at REVIEWED_COMMIT - both lines contain `const { settings } = useAppSettings();` within the same `GitActionsControl` function scope, confirming the duplicate declaration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants