Commit Graph
103 Commits
Author SHA1 Message Date
Christoph Brandau 276dfbab07 feat(tauri): add Windows taskbar overlay badge for git sync status
This change introduces a Windows-only taskbar badge that displays the
ahead+behind count as a rendered overlay icon. The UI now updates
the badge whenever the repository sync status changes, and the git
diff commands are adjusted to avoid external diff/text conversion noise.

- Add badge rendering and Tauri command for setting overlay icon
- Wire badge updates into the Svelte app based on git status
- Update git diff invocations to disable ext-diff/textconv
2026-07-03 13:49:43 +02:00
Christoph 883cf3ebd1 Update version to 2026.7.8 2026-07-03 07:35:17 +02:00
Christoph 6e283ddf83 Merge pull request 'Features/ai commits' (#9) from features/ai_commits into master
publish / publish-tauri (, windows-latest) (release) Successful in 31m38s
Reviewed-on: #9
2026-07-03 05:27:15 +00:00
Christoph Brandau 979d5aed80 feat(ai): disable local provider and improve commit file display
Local AI is now treated as unavailable in the settings UI, with a
migration to ensure any previously saved "local" selection switches
back to OpenAI. The history panel also improves how commit file
names are presented, including clearer old->new path formatting.

- Migrate stored AI provider away from local to prevent dead state
- Disable local provider option with an "in development" badge
- Refine history panel filename rendering and tooltip context
2026-07-03 07:26:23 +02:00
Christoph Brandau 791d686c48 feat(commit-ai): enhance commit message generation and caching
Improve the commit message generation process by adding a caching mechanism and refining the input handling. This change aims to enhance performance and prevent redundant computations when generating commit messages based on staged changes.

- **src-tauri/crates/commit_ai/src/cloud.rs**:
  - Introduced `looks_like_diff_echo` function to detect if the model's output is a diff instead of a commit message.
  - Updated `openai_compatible_request` and `generate_anthropic` to utilize the new function for error handling.

- **src-tauri/crates/commit_ai/src/lib.rs**:
  - Added `LocalGenerationProfile` enum for managing different generation profiles.
  - Implemented caching for generated messages to avoid redundant processing.
  - Updated `generate_commit_message` to incorporate caching logic.

- **src-tauri/src/git.rs**:
  - Added `staged_diff_local` function to handle local profile generation and exclude specific lock files from the diff.
  - Modified `commit_ai_generate` to accept and process the local generation profile.

- **src/App.svelte**:
  - Added `lastLocalAiGeneratedMessage` state to track the last generated message and prevent unnecessary updates.

- **.claude/settings.local.json**:
  - Updated settings to include additional commands for better functionality.
2026-07-03 07:03:35 +02:00
Christoph 7ca6abf962 Update version to 2026.7.7 2026-07-02 22:17:49 +02:00
Christoph Brandau 70de45e1ba feat(ui): localize commit AI and git error messages to English
Translate commit AI prompts, model labels, and git/keychain errors to
English so the app and generated messages are consistent. Also add a
discard confirmation dialog and update the UI text/styles to match the
new flow.

- src-tauri/crates/commit_ai/src/cloud.rs
  - Translate HTTP and API error messages to English.
  - Keep request timeout and token sizing behavior unchanged.
- src-tauri/crates/commit_ai/src/lib.rs
  - Translate model labels, prompt text, and validation errors.
  - Keep diff truncation and message sanitization logic intact.
- src-tauri/src/git.rs
  - Translate git, credential, merge, and history errors.
  - Update AI provider validation messages to English.
- src/lib/components/*
  - Update AI settings, commit panel, credential, and loading UI text.
  - Add discard confirmation dialog for destructive actions.
- src/App.svelte, src/app.css
  - Adjust app layout and styling for the new dialog and text changes.
2026-07-02 22:12:20 +02:00
Christoph Brandau 6b7186d040 feat(ai): add cloud providers and local model selection
Add OpenAI-compatible, Anthropic, and custom endpoint support while
keeping the local model path intact. The UI now lets users choose the
provider and local model, and staged diffs are prepared more carefully
so generated commit messages stay focused and usable.

- src-tauri/crates/commit_ai/*
  - Add HTTP-based generators for OpenAI, Anthropic, and custom APIs.
  - Introduce shared request/response handling and message sanitizing.
  - Expand prompt building to require a body and trim long diffs safely.
  - Expose selectable local model metadata and loading by model ID.
- src-tauri/src/git.rs
  - Add commands for listing local models and loading them in background.
  - Route generation by provider and include staged file lists in prompts.
  - Exclude noisy lockfiles from detailed staged diffs.
- src-tauri/src/main.rs
  - Wire the new AI commands into the Tauri app setup.
- src/lib/components/*
  - Add an AI settings dialog and update the commit panel for provider
    and model selection.
- src/lib/git.ts, src/lib/types.ts, src/App.svelte, src/app.css
  - Extend frontend state, types, and styling for AI provider settings.
- src-tauri/Cargo.lock, src-tauri/crates/commit_ai/Cargo.toml
  - Add reqwest and serde_json for cloud API requests.
2026-07-02 21:19:16 +02:00
Christoph Brandau d415cbd3a1 add upstream 2026-07-02 20:24:46 +02:00
Christoph Brandau f2aa48d2ec try to use local ai to generate commit message 2026-07-02 19:59:16 +02:00
Christoph 2a96e79d27 Update version to 2026.7.6 2026-07-02 16:27:47 +02:00
Christoph Brandau e3df75cc38 add new Context Menu for file Explorer
fix blocking UI
when select the file in Status also select in the file History
2026-07-02 16:24:38 +02:00
Christoph 794680a696 Update version to 2026.7.5 2026-07-02 12:43:41 +02:00
Christoph 18476d9d92 Merge pull request 'make the Commit restore more safe' (#6) from bug/blockingUI into master
publish / publish-tauri (, windows-latest) (release) Successful in 8m34s
Reviewed-on: #6
2026-07-02 10:41:33 +00:00
Christoph Brandau 3a8c114d82 make the Commit restore more safe 2026-07-02 12:40:53 +02:00
Christoph 0edf2819dc Update version to 2026.7.4 2026-07-02 12:20:24 +02:00
Christoph Brandau e18f8f1040 add Loading Spinner when file History is loading
Make Renamed instad of Del and untracked
2026-07-02 12:17:57 +02:00
Christoph 310a0fb09a Update version to 2026.7.3 2026-07-02 08:38:23 +02:00
Christoph Brandau eef4869bbb add Repo Managment / Kontext Menu in Braches 2026-07-02 08:35:29 +02:00
Christoph Brandau 97fc4fc1e0 Implement repository management view and multi-repo tabs
Introduces a new "Repository Management" view for browsing open and recent repositories. Adds a tabbed interface for quickly switching between multiple active repositories, with persistent state. Also includes a new command to open the current repository in the native file explorer.
2026-07-02 07:53:29 +02:00
Christoph e6d22765be Update version to 2026.7.2 2026-07-01 14:51:02 +02:00
Christoph Brandau 5752243e6e Implement interactive hunk staging and discarding
Introduce a new dialog that allows users to view file changes as individual hunks and selectively stage, unstage, or discard them. This provides more granular control over modifications, similar to `git add -p`.

Enhance branch panel usability by allowing double-click to checkout a branch.
2026-07-01 14:47:36 +02:00
Christoph Brandau 0bbd5ce1e8 Limit Tauri bundle targets to NSIS
publish / publish-tauri (, windows-latest) (release) Successful in 9m11s
2026-07-01 13:03:45 +02:00
Christoph 50d9232084 Update version to 2026.7.1 2026-07-01 11:47:09 +02:00
Christoph 357a0b7c5f Update version to 2026.07.1
publish / publish-tauri (, windows-latest) (release) Failing after 7m21s
2026-07-01 11:42:53 +02:00
Christoph Brandau fe392d38bf Optimize repository loading and enhance Git UI
Consolidate multiple Git backend calls into a single bundle to reduce
overhead when opening and auto-refreshing repositories. This significantly
improves performance by fetching status, branches, commits, and files
in one optimized operation, instead of re-running 'git rev-parse' and
'git status' multiple times.

Also, streamline commit history loading by fetching file changes inline
via 'git log --name-status -z', eliminating expensive per-commit
'git diff-tree' processes.

Additionally, introduce the ability to create new branches from a
specific commit in the history and refactor the commit comparison
feature into a dedicated dialog. The status panel now displays concise
file names.
2026-07-01 11:39:22 +02:00
Christoph Brandau 628e2f7c0b Add repository opening loading overlay
Introduce a full-screen, animated overlay to provide visual feedback
when the application is opening a repository. This prevents perceived
delays and informs the user about the ongoing operation.

Also, enhance build performance and binary size by configuring
Cargo profiles:
- Development: Enable incremental compilation, use line-tables-only
  debug info, and optimize third-party dependencies to speed up
  rebuilds and improve runtime snappiness during development.
- Release: Apply aggressive optimizations (opt-level 3, thin LTO,
  single codegen unit, stripping) for smaller, faster binaries.
2026-07-01 10:40:22 +02:00
Christoph Brandau 1c7c53ddf9 Add branch creation and file history search
Implement the ability to create new local branches directly from the application's UI. This includes a new backend command to handle branch creation with validation and a frontend form in the branch panel.

Additionally, extend the global search dialog to include a "Files" tab. Users can now search for files by name or path within the repository. Selecting a file in the search results displays its full commit history, with options to diff the file at a specific commit or restore it to that version.
2026-07-01 10:07:59 +02:00
Christoph 900159a3a9 Update version to 0.1.0 2026-06-30 20:36:09 +02:00
Christoph Brandau 405f302db9 Improve global search: Add diffing from results with query highlighting
Users can now open a diff for a specific search hit directly from the global search results. The original search query will be highlighted within the diff view, making it easier to locate the relevant changes.

Additionally, add `--no-textconv` to git commands used in search and diff operations. This prevents failures when git encounters binary files that textconv drivers might otherwise attempt to process.
2026-06-30 20:32:59 +02:00
Christoph 2cc1d34fc3 Update version to 0.0.6 2026-06-30 19:19:22 +02:00
Christoph Brandau 089aae5f5b Merge remote-tracking branch 'origin/master'
publish / publish-tauri (, windows-latest) (release) Successful in 7m17s
2026-06-30 19:17:25 +02:00
Christoph Brandau 841d1a41b7 Suppress Git console window on Windows
When executing Git commands on Windows, a console window would briefly flash. This change applies the CREATE_NO_WINDOW flag to prevent this, providing a smoother user experience.
2026-06-30 19:17:17 +02:00
Christoph d57b574fe1 Update version to 0.0.5 2026-06-30 17:27:18 +02:00
Christoph ec1f10d535 Update version to 0.0.3
publish / publish-tauri (, windows-latest) (release) Successful in 6m45s
2026-06-30 16:58:36 +02:00
Christoph ea308c47f1 Update version to 0.0.2 2026-06-30 16:17:52 +02:00
Christoph Brandau 9ebddf3abe Rename project and identifiers to GitLite
publish / publish-tauri (, windows-latest) (release) Successful in 6m32s
The "Tauri" prefix was removed for conciseness, as it's implicit to the project's framework.
2026-06-30 16:15:46 +02:00
Christoph 494da418cc Update version to 0.0.1 2026-06-30 15:08:52 +02:00
Christoph Brandau 7b363fd4a6 update 2026-06-30 14:45:57 +02:00
Christoph Brandau eb50b96925 from pipline
publish / publish-tauri (, windows-latest) (release) Failing after 1m27s
2026-06-30 13:56:17 +02:00
Christoph Brandau 69b2b4c924 update ci workflow 2026-06-30 13:55:24 +02:00
Christoph 2ddb951444 Update version to 0.0.1 2026-06-30 13:47:35 +02:00
Christoph Brandau 58bd246221 add auto-updater and git workflow enhancements
publish / publish-tauri (, windows-latest) (release) Failing after 2m52s
This change introduces a comprehensive auto-update mechanism for the application and significant improvements to the integrated Git client experience.

Key features include:
- **Automated Release Workflow:** A new Gitea Actions workflow (`app_builder.yaml`) and a Python `cicd_tool` are added to automatically build, sign, and upload release artifacts to S3-compatible storage (MinIO) upon a new release. This also generates the `latest.json` file required by the updater.
- **Tauri Updater Integration:** The `tauri-plugin-updater` is integrated into the application, enabling it to check for and apply updates seamlessly.
- **Robust Git Push Handling:** The application now intelligently handles non-fast-forward push failures by prompting the user to perform a pull/merge operation before re-attempting the push.
- **Enhanced File Comparison:** A new `compare_file_to_parent` command is introduced, allowing detailed file diffs against a commit's direct parent, including the "empty tree" for initial commits.
- **Explorer Panel Improvements:** "Expand All" and "Collapse All" functionality is added to the file explorer for better navigation.
2026-06-30 13:23:30 +02:00
Christoph Brandau 4aa9a537f0 add login with oskeychain 2026-06-29 19:13:41 +02:00
Christoph Brandau 8d56c3f39f refine ui
restore in a Dialog
2026-06-29 17:53:02 +02:00
Christoph Brandau b0491d1479 add new style and global search 2026-06-29 17:24:08 +02:00
Christoph Brandau 9861fa2446 add something 2026-06-29 14:40:42 +02:00
Christoph 433085a895 add some features 2026-06-27 23:47:15 +02:00
Christoph 5b44a65e51 edit 2026-06-27 23:08:19 +02:00
Christoph Brandau 25700821d1 neu 2026-06-27 17:42:58 +02:00