This updates the Windows taskbar overlay badge to show ahead and behind separately with distinct colors, and clears it when both are zero. It also adds a new authenticated fetch command wired through the Tauri backend and UI, including a silent background fetch to keep ahead/behind (and the badge) accurate without user interaction. - Add Windows dual badge rendering for ahead/behind - Implement Tauri fetch command with auth error handling - Add UI fetch action plus periodic background fetch updates
75 lines
2.6 KiB
Rust
75 lines
2.6 KiB
Rust
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
|
|
|
|
mod badge;
|
|
mod git;
|
|
|
|
use badge::set_sync_badge;
|
|
use git::{
|
|
SearchCancellationState, apply_file_patch, cancel_code_search, cancel_file_history,
|
|
checkout_branch, commit, commit_ai_generate, commit_ai_load, commit_ai_local_models,
|
|
commit_ai_status, compare_commits, compare_file_to_head, compare_file_to_parent,
|
|
create_branch, cred_delete, cred_load, cred_save, delete_branch,
|
|
diff_file_against_working_tree, get_file_patch, get_remote_url, get_status, list_branches,
|
|
list_commits, list_file_history, list_repository_files, merge_branch, open_repo_in_explorer,
|
|
fetch, open_repository, open_repository_bundle, open_repository_file, pull, push,
|
|
read_conflict, rename_branch, resolve_conflict, resolve_conflict_side,
|
|
restore_file_from_commit, restore_files, restore_to_commit, search_code_introductions,
|
|
stage_files, unstage_files,
|
|
};
|
|
|
|
fn main() {
|
|
tauri::Builder::default()
|
|
.plugin(tauri_plugin_updater::Builder::new().build())
|
|
.manage(SearchCancellationState::default())
|
|
.manage(commit_ai::CommitAiEngine::new())
|
|
.plugin(tauri_plugin_dialog::init())
|
|
.invoke_handler(tauri::generate_handler![
|
|
open_repository,
|
|
open_repo_in_explorer,
|
|
open_repository_file,
|
|
get_status,
|
|
list_branches,
|
|
checkout_branch,
|
|
create_branch,
|
|
rename_branch,
|
|
delete_branch,
|
|
stage_files,
|
|
unstage_files,
|
|
restore_files,
|
|
get_file_patch,
|
|
apply_file_patch,
|
|
commit,
|
|
commit_ai_status,
|
|
commit_ai_load,
|
|
commit_ai_local_models,
|
|
commit_ai_generate,
|
|
pull,
|
|
push,
|
|
fetch,
|
|
list_commits,
|
|
restore_to_commit,
|
|
restore_file_from_commit,
|
|
merge_branch,
|
|
list_repository_files,
|
|
open_repository_bundle,
|
|
list_file_history,
|
|
cancel_file_history,
|
|
compare_commits,
|
|
compare_file_to_head,
|
|
compare_file_to_parent,
|
|
diff_file_against_working_tree,
|
|
search_code_introductions,
|
|
cancel_code_search,
|
|
read_conflict,
|
|
resolve_conflict,
|
|
resolve_conflict_side,
|
|
get_remote_url,
|
|
cred_load,
|
|
cred_save,
|
|
cred_delete,
|
|
set_sync_badge
|
|
])
|
|
.run(tauri::generate_context!())
|
|
.expect("error while running tauri application");
|
|
}
|