Commit Graph
23 Commits
Author SHA1 Message Date
Asger Geel Weirsøe 79fe88c147 fix: xvfb for headless CI, curl -f + set -euo pipefail in release, fix PAM paths in README 2026-05-06 19:32:52 +02:00
Asger Geel Weirsøe ef090772f0 docs: add macOS build-from-source and PAM configuration instructions 2026-05-06 19:32:18 +02:00
Asger Geel Weirsøe 0e9c3fa621 ci: add Gitea Actions workflows for test and release 2026-05-06 19:32:16 +02:00
Asger Geel Weirsøe 8fc16befe1 fix: separate cargo target-dirs to avoid parallel lock contention, add pam smoke test 2026-05-06 19:32:05 +02:00
Asger Geel Weirsøe f455ed4c89 build: update meson.build for workspace — add PAM module and display binary targets 2026-05-06 19:31:25 +02:00
Asger Geel Weirsøe f901367571 fix: pam_set_data error handling, setsid+fd sweep in grandchild, is_replace logic, null pamh guard 2026-05-06 19:31:11 +02:00
Asger Geel Weirsøe 23e33cccf1 feat: add ahfail-pam PAM module with cleanup-based failure detection
Implements a C-ABI PAM shared library that registers a pam_set_data
cleanup callback to detect auth failures and spawn/kill ahfail-display
via a double-fork, without ever touching credentials.
2026-05-06 19:30:05 +02:00
Asger Geel Weirsøe 9a2b081ff1 fix: defer volume lock to after setup, fix sighandler cast comment, check pkg-config status 2026-05-06 19:29:39 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 d51b6a2727 feat: add ahfail-display standalone binary
Implements the ahfail-display binary crate: GTK popup window that spawns
the Nedry sprite and plays the audio clip, with SIGTERM handling, 15-minute
failsafe, deadzone CLI parsing, volume save/restore, and update check.
Adds a build.rs that compiles GResources via glib-compile-resources so the
binary can be built with plain `cargo build` outside of Meson.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 19:28:49 +02:00
Asger Geel Weirsøe 1fbe87ab2a fix: update check — handle spaced JSON, move cache touch after HTTP success, add timeouts and multi-monitor guard 2026-05-06 19:28:07 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 40902cdd88 feat: add rate-limited update check with desktop notification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 19:03:59 +02:00
Asger Geel Weirsøe 1df9fb1aec fix: remove redundant volume_state=None, improve pactl volume parser for stereo sinks 2026-05-06 19:03:38 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 ed2ab3d7d5 feat: add volume save/restore on failure/unload
On the first failed unlock attempt, save the current system volume and
mute state then set volume to maximum unmuted; restore on g_module_unload.
A lock file under XDG_RUNTIME_DIR prevents double-acquisition when
multiple gtklock windows are active.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 19:03:05 +02:00
Asger Geel Weirsøe 3c4f21fe5d chore: remove unused imports, stale deps, and unnecessary unsafe block in ahfail-gtklock 2026-05-06 19:02:25 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 e030f8fc26 refactor: wire ahfail-gtklock to use ahfail-ui for animation/audio/display
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 19:00:32 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 14190c7e33 fix: image.show(), private ahfail_get_resource, saturating_sub in display
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 18:59:47 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 d53c598776 feat: add ahfail-ui crate with animation, audio, display, config
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 18:58:22 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 9e74bb5144 refactor: remove dead utils/bench.rs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 18:57:50 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 01bc34e54e refactor: convert to Cargo workspace, move gtklock crate
Replaces the single-crate Cargo.toml with a workspace containing
ahfail-gtklock (migrated from root src/) and three stub crates
(ahfail-ui, ahfail-pam, ahfail-display). Updates meson.build to
build with -p ahfail-gtklock.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 20:24:53 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 d0b1ae7b40 Add implementation plan for PAM rewrite
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 20:23:33 +02:00
Asger Geel WeirsøeandClaude Sonnet 4.6 ef7af5fd26 Add design doc for PAM module + cross-platform rewrite
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 20:21:57 +02:00
Asger Geel Weirsøe 382b5a489e Code 2025-11-30 21:08:42 +01:00
Asger Geel Weirsøe 8c08e33ba0 initial commit 2025-11-30 20:52:00 +01:00