Skip to content

V0.12.0 develop - #50

Merged
cst8t merged 5 commits into
mainfrom
v0.12.0-develop
Sep 22, 2026
Merged

cst8t merged 5 commits into
mainfrom
v0.12.0-develop

Conversation

@cst8t

@cst8t cst8t commented Sep 22, 2026

Copy link
Copy Markdown
Owner

feat: Expand Git hook support for remote and integration operations

Summary

This PR significantly expands the application's ability to handle Git hooks during pull, merge, and rebase operations, moving beyond basic commit/push support. It introduces detailed progress tracking for hooks and provides users with the ability to bypass specific hooks when supported.

Key Changes:

  • Git Hook Integration:
    • Implemented hook progress tracking and rejection handling for pull, merge, and rebase operations.
    • Added logic to rollback merges automatically if a hook fails to maintain repository integrity.
    • Introduced a GitHookAttemptResult wrapper to differentiate between completed operations, hook rejections, and failures.
  • UI/UX Enhancements:
    • Updated the CentrePanel and ProjectView to show a progress banner for active hooks.
    • Added a "Bypass" option in the hook failure dialog for supported operations (e.g., pre-merge-commit).
    • Improved localization for hook-related warnings and errors.
  • Avatar Support:
    • Added a new GitLabProvider to fetch user avatars from GitLab instances (including self-hosted) via REST and GraphQL APIs.
  • Refactors & Cleanup:
    • Removed the experimental showCommitGraphButton setting, making the commit graph toggle permanently visible.
    • Refactored AI commit message validation into a dedicated function.

Testing

  • Added comprehensive Rust tests in src-tauri/tests/git.rs to verify hook rejections, rollback behavior, and progress events (Unix-specific).
  • Added GitLab provider tests for remote URL parsing and avatar fetching.
  • Updated TypeScript tests for CentrePanel to verify bypass action visibility based on operation type.

Stream integration hook output, support safe bypass retries, roll back
rejected merges, and report post-operation hook failures as warnings.
Implement GitLab avatar fetching by resolving remote base URLs from Git
configuration and querying the GitLab API. Improve the avatar service to
try multiple applicable platform providers until an image is found.
Remove the setting to toggle the commit graph button and make the button
visible by default in the log view.
Replace the use of validate_commit_control for existing commit messages
with a dedicated validate_existing_commit_message function to properly
handle line breaks and tabs.
@cst8t
cst8t merged commit 0483a23 into main Sep 22, 2026
2 checks passed
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.

1 participant