Asger Geel Weirsøe
cc5a77f894
Merge remote-tracking branch 'origin/master'
2026-05-06 19:38:30 +02:00
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øe and Claude 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øe and Claude 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øe and Claude 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øe and Claude 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øe and Claude 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øe and Claude 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øe and Claude 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øe and Claude 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øe and Claude 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øe and Claude 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
7a1ba29e44
test
2026-01-19 19:53:44 +01: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