Asger Geel Weirsøe
3323844c33
chore: remove accidental empty v file from remote merge
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 12:40:56 +02:00
Asger Geel Weirsøe
1f98f89fab
Merge remote-tracking branch 'origin/master'
2026-05-06 12:40:52 +02:00
Asger Geel Weirsøe
c3bdb09bd3
fix: xvfb for headless CI, curl -f + set -euo pipefail in release, fix PAM paths in README
2026-05-06 12:13:47 +02:00
Asger Geel Weirsøe
2ddef2ac81
docs: add macOS build-from-source and PAM configuration instructions
2026-05-06 12:11:06 +02:00
Asger Geel Weirsøe
7323e08c95
ci: add Gitea Actions workflows for test and release
2026-05-06 12:10:55 +02:00
Asger Geel Weirsøe
692cd76ceb
fix: separate cargo target-dirs to avoid parallel lock contention, add pam smoke test
2026-05-06 12:10:02 +02:00
Asger Geel Weirsøe
0f128d1c6f
build: update meson.build for workspace — add PAM module and display binary targets
2026-05-06 12:06:49 +02:00
Asger Geel Weirsøe
4b9d69ffbc
fix: pam_set_data error handling, setsid+fd sweep in grandchild, is_replace logic, null pamh guard
2026-05-06 12:05:43 +02:00
Asger Geel Weirsøe
c24bd26ba1
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 12:00:24 +02:00
Asger Geel Weirsøe
abf8aef1ef
fix: defer volume lock to after setup, fix sighandler cast comment, check pkg-config status
2026-05-06 11:58:21 +02:00
Asger Geel Weirsøe
f93ca6267c
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 11:54:22 +02:00
Asger Geel Weirsøe
e1f8c1d58f
fix: update check — handle spaced JSON, move cache touch after HTTP success, add timeouts and multi-monitor guard
2026-05-06 11:51:02 +02:00
Asger Geel Weirsøe
468699e316
feat: add rate-limited update check with desktop notification
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:55:11 +02:00
Asger Geel Weirsøe
355828d4d9
fix: remove redundant volume_state=None, improve pactl volume parser for stereo sinks
2026-05-06 09:53:27 +02:00
Asger Geel Weirsøe
74e0f544a0
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 09:50:49 +02:00
Asger Geel Weirsøe
7913ced403
chore: remove unused imports, stale deps, and unnecessary unsafe block in ahfail-gtklock
2026-05-06 09:47:39 +02:00
Asger Geel Weirsøe
097dd52998
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 09:38:35 +02:00
Asger Geel Weirsøe
f05e93b75e
fix: image.show(), private ahfail_get_resource, saturating_sub in display
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:35:02 +02:00
Asger Geel Weirsøe
3dc0733cd0
feat: add ahfail-ui crate with animation, audio, display, config
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:28:14 +02:00
Asger Geel Weirsøe
2b89653be6
refactor: remove dead utils/bench.rs
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-06 09:25:39 +02:00
Asger Geel Weirsøe
8dd06377fc
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 16:23:31 +02:00
Asger Geel Weirsøe
9c546c69ee
Add implementation plan for PAM rewrite
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 16:17:05 +02:00
Asger Geel Weirsøe
3cdbc4fec9
Add design doc for PAM module + cross-platform rewrite
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-05 16:09:25 +02:00
Asger Geel Weirsøe
9492ddb50e
test
2026-01-19 13:53:59 +01:00
4fdbe8efa5
Adds license
2025-12-01 08:57:48 +01:00
a40e6470bb
Removes incorrect stuff
2025-12-01 08:53:19 +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