Skip to content

Release Notes: v1.7.0

Choose a tag to compare

@satadeep3927 satadeep3927 released this 11 Jun 07:33
· 6 commits to master since this release
354796d

Git Architecture & Backend

  • Asynchronous Git Commands: Converted network-bound Tauri git commands (git_commit, git_push, git_pull) to async. This offloads execution from the Rust main thread, resolving application freezing/blocking during heavy network operations.
  • Robust Git Error Handling: Updated Rust execute_git implementations to capture both stdout and stderr. If stderr is empty upon a non-zero exit code, the backend now intelligently falls back to parsing stdout (crucial for accurate Git error propagation to the UI).
  • Unlinked Branch Handling: Modified git_pull to execute git pull origin HEAD instead of a generic pull, implicitly mapping local branches to origin and bypassing upstream tracking requirement failures.
  • New Backend Bindings: Introduced 4 new Rust bindings (git_get_remotes, git_remove_remote, git_get_config, git_set_config) to support arbitrary .git/config reading and writing.

Git UI & Settings Integration

  • Git Settings Tab: Introduced a dedicated "git-settings" file type in the tabStore.
    • Exposes local workspace configuration via git config --local.
    • Supports adding/removing named remotes.
    • Supports credential helper configuration (manager, store, cache) directly modifying .git/config to resolve recurring HTTPS authentication failures (PAT integration).
    • Designed cleanly using the <SettingRow> layout primitives, strictly separating presentation from the newly extracted useGitSettings.ts custom hook.
  • Loading States & Flicker Prevention: Introduced a boolean isLoading flag derived from gitStore.gitState.loading. This replaces synchronous undefined checks, permanently resolving the race-condition where the UI would flash the "No Repository" fallback before the Rust backend completed its get_git_state evaluation.
  • UX: Top-aligned the fallback "Initialize Repository" view to match the structural flow of the primary Git Commit view.

Core UI Components

  • Global Toast API: Removed localized toast state from the Git view entirely. Implemented a globally accessible ui.showToast method via UIContext. The <Toast> component is now injected at the root MainLayout level using Solid's <Portal>, ensuring it renders perfectly over all EditorPane splits and sidebars.
  • Confirm Dialog Scalability: Added strict max-h-[60vh], overflow-y-auto, and whitespace-pre-wrap styling to <ConfirmDialog>. This ensures that verbose multi-line tracebacks (such as raw Git network failures) remain cleanly scrollable and do not structurally break the viewport layout.