| 1 | [package] |
| 2 | name = "g1t-desktop" |
| 3 | version = "0.3.7" |
| 4 | edition = "2024" |
| 5 | license = "MIT" |
| 6 | repository = "https://g1t.sh/flagon-io/g1t" |
| 7 | description = "The g1t desktop app: g1t in a window of its own, with native notifications, a badge, a tray, g1t:// links and updates that install themselves." |
| 8 | |
| 9 | # Not a member of the repository's Cargo workspace (its Cargo.toml excludes |
| 10 | # this folder): Tauri needs a toolkit the services never do, so it builds |
| 11 | # on its own, with its own lockfile, and `cargo test --workspace` stays |
| 12 | # fast. Build it from apps/desktop with `npm run build`. |
| 13 | [workspace] |
| 14 | |
| 15 | [build-dependencies] |
| 16 | tauri-build = { version = "2", features = [] } |
| 17 | |
| 18 | [dependencies] |
| 19 | # `unstable`: a window holding more than one web view, so the title bar |
| 20 | # and the site sit one above the other (src/frame.rs). `devtools`: the web |
| 21 | # inspector in release builds too, which the Developer tools setting turns |
| 22 | # on (src/devtools.rs). On macOS it reaches it through WebKit's private |
| 23 | # API, which the Mac App Store refuses; g1t ships from g1t.sh, not there. |
| 24 | tauri = { version = "2", features = ["tray-icon", "image-png", "unstable", "devtools"] } |
| 25 | # Updates: a signed manifest at g1t.sh/downloads/desktop/latest.json. |
| 26 | tauri-plugin-updater = "2" |
| 27 | # Native notifications, from the site's live feed. |
| 28 | tauri-plugin-notification = "2" |
| 29 | # Links out, opened in the browser the system uses. |
| 30 | tauri-plugin-opener = "2" |
| 31 | # g1t:// links, which open the page they name; a second launch hands its |
| 32 | # link to the app already running. |
| 33 | tauri-plugin-deep-link = "2" |
| 34 | tauri-plugin-single-instance = { version = "2", features = ["deep-link"] } |
| 35 | # The window's size and place, kept between launches. |
| 36 | tauri-plugin-window-state = "2" |
| 37 | # Opening g1t when someone signs in to their computer (settings.rs). |
| 38 | tauri-plugin-autostart = "2" |
| 39 | serde = { version = "1", features = ["derive"] } |
| 40 | serde_json = "1" |
| 41 | url = "2" |
| 42 | # Whether the server answers, before the window goes there (the same client the updater brings). |
| 43 | reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] } |
| 44 | tokio = { version = "1", features = ["time"] } |
| 45 | # Checking a downloaded g1t-runner against its release's SHA-256, and the |
| 46 | # release's manifest against g1t's release key (src/runner/native.rs), as |
| 47 | # the runner checks its own updates. |
| 48 | sha2 = "0.10" |
| 49 | ed25519-dalek = "3" |
| 50 | base64 = "0.22" |
| 51 | |
| 52 | # Keeping the menu bar hidden under g1t's own title bar (src/frame.rs); the |
| 53 | # same GTK that Tauri brings. |
| 54 | [target.'cfg(target_os = "linux")'.dependencies] |
| 55 | gtk = "0.18" |
| 56 | |
| 57 | # Turning WebView2's own inspector on and off while g1t runs |
| 58 | # (src/devtools.rs); the same WebView2 bindings that Tauri brings. |
| 59 | [target.'cfg(windows)'.dependencies] |
| 60 | webview2-com = "0.39" |
| 61 | |
| 62 | [profile.release] |
| 63 | strip = "debuginfo" |
| 64 | lto = "thin" |
| 65 | opt-level = "s" |
| 66 | codegen-units = 1 |