Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@ jobs:
rust:
name: 'Rust: fmt / Clippy / Test'
runs-on: windows-latest
# Cap the job at 25 min so a hung test (e.g. wiremock + tokio
# paused-time interaction on Windows) fails loudly within the
# next CI cycle instead of silently consuming the GitHub default
# 6-hour budget. Healthy runs land in 4-8 min on a warm cache.
timeout-minutes: 25
defaults:
run:
working-directory: src-tauri
Expand Down
120 changes: 119 additions & 1 deletion src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,13 @@ tauri-plugin-opener = "2"
# on Linux); no extra config needed beyond declaring the plugin in `lib.rs`
# and granting `dialog:default` in `capabilities/default.json`.
tauri-plugin-dialog = "2"
# Persists the main window's *position* across launches so users that
# drag the launcher to e.g. a secondary monitor get it back in the
# same spot next time. We deliberately enable `StateFlags::POSITION`
# only — `tauri.conf.json` ships `resizable: false` and the router's
# `fitWindow` (`router/index.ts`) drives per-route height/width, so
# persisting SIZE / MAXIMIZED would fight those handlers.
tauri-plugin-window-state = "2"

# Cross-platform URL / file opener (ShellExecuteW on Windows,
# LSOpenCFURLRef on macOS, xdg-open on Linux). Already pulled in as
Expand Down Expand Up @@ -82,6 +89,11 @@ reqwest_cookie_store = "0.8"

# Async runtime
tokio = { version = "1", features = ["rt", "sync", "time", "fs", "macros"] }
# CancellationToken for the session keep-alive ping loop
# (see `commands::auth::run_ping_loop` + `commands::state::AuthContext::ping_cancel`).
# Already pulled in transitively by `tauri`; making the dependency explicit so
# the feature set doesn't silently regress if an intermediate crate drops it.
tokio-util = { version = "0.7", features = ["rt"] }

# Crypto
des = "0.8"
Expand Down Expand Up @@ -145,6 +157,15 @@ webview2-com = "0.38"
# avoids a standalone `version = "..."` line that the release workflow's
# version-bump regex previously misidentified as the package version.
wv2-windows-core = { package = "windows-core", version = "0.61" }
# Windows build number detection — used by `lib.rs::run` to disable the
# window shadow on Windows 10 only. Works around upstream tauri-apps/tauri
# #11654 / #13176 where the undecorated shadow inset calculation is wrong
# on Win10 and paints a 1px artefact border after DWM redraws. Win11
# (build >= 22000) keeps the default shadow because the upstream fix
# (tao #1052) renders correctly there and the shadow gives the rounded
# glass panel its depth. `default-features = false` opts out of the optional
# `serde` feature; we only need `os_info::get()` for the version check.
os_info = { version = "3", default-features = false }

[dev-dependencies]
wiremock = "0.6"
Expand Down
3 changes: 2 additions & 1 deletion src-tauri/capabilities/default.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"core:window:allow-start-dragging",
"core:window:allow-set-size",
"opener:default",
"dialog:default"
"dialog:default",
"window-state:default"
]
}
Loading
Loading