Replace unauthenticated artifact lookup with an authenticated Gitea release API call that fetches release JSON and asset metadata. Require a Gitea token (with optional fallback), use it to locate the AppImage asset in the release JSON, extract its name and download URL, and download the file with an Authorization header. Fail early when no token is present and verify the downloaded asset checksum to ensure integrity; this enables access to protected releases and improves asset selection robustness. - Enforce token presence and use Authorization header for API calls. - Parse release JSON to select .appimage asset and determine filename. - Remove dependency on unauthenticated artifact base URL lookup.
Gitty
A lightweight, modern Git client built with Tauri.
Fast, simple, and designed for developers who want a clean Git experience without unnecessary complexity.
✨ Features
- 🚀 Fast native performance
- 🌿 Branch management
- 📝 Commit history
- 🔄 Pull, Push & Fetch
- 🔀 Merge & Rebase
- 📦 Repository management
- 🎨 Modern and intuitive UI
📸 Preview
Screenshots coming soon.
🛠️ Built With
- Tauri
- Rust
- Svelte
🚧 Status
Gitty is currently under active development.
Contributions, feedback and feature requests are always welcome!
📄 License
MIT License
Arch Linux
Install Gitty from the AUR with an AUR helper:
yay -S gitty-desktop
To install the prebuilt AppImage instead of compiling from source:
yay -S gitty-desktop-bin
Or build the AUR package manually:
git clone https://aur.archlinux.org/gitty-desktop.git
cd gitty-desktop
makepkg -si
The source recipe downloads the public Gitea release archive and builds Gitty.
The -bin recipe installs the prebuilt AppImage. The release pipeline updates
both packages' versions, checksums, and .SRCINFO files.
SigNoz telemetry
After the user opts in, Gitty sends privacy-filtered product events and technical errors as OTLP/HTTP JSON logs. Every Git/Tauri command is also captured as a trace span with its command name, duration and success state, but without command arguments or results. CPU utilization and resident memory usage of the Gitty process are sampled every 30 seconds and exported as OpenTelemetry gauges. The default endpoints are https://telemetry.cbsk-tech.de/v1/logs, https://telemetry.cbsk-tech.de/v1/traces, and https://telemetry.cbsk-tech.de/v1/metrics.
The SigNoz reverse proxy must forward all three paths to the Collector's OTLP/HTTP receiver (normally port 4318). For development or a separate collector hostname, set GITTY_OTLP_LOGS_ENDPOINT, GITTY_OTLP_TRACES_ENDPOINT, and GITTY_OTLP_METRICS_ENDPOINT to the full signal URLs before starting Gitty.
Telemetry is non-blocking, bounded, disabled until consent is stored, and never includes repository paths, remote URLs, branch names, commit messages, diffs, file names, credentials, source code, URLs, or email addresses.