blitz_api/app
fusion44 5aa79acb10
fix(apps): don't release another task's app-manage lock
app_manage_task_impl released APP_MANAGE_LOCK_KEY and broadcast a
FINISHED message from its finally block unconditionally, including on
the early-return path where acquire_lock reported the lock as already
held by a running install. A duplicate install/uninstall request would
therefore delete the running task's lock (allowing concurrent
management of the same app) and send FINISHED, which stopped that
task's AppManageListener before it was done.

Track whether this task actually acquired the lock and only
release + finish when it did.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 20:01:54 +02:00
..
api fix(api): catch subprocess timeouts in exec_bash_command 2026-07-03 19:59:57 +02:00
apps fix(apps): don't release another task's app-manage lock 2026-07-03 20:01:54 +02:00
auth feat: make config loading more flexible 2025-03-23 17:43:39 +01:00
bitcoind chore: small fixes and updates 2025-05-06 09:16:46 +02:00
external feat: update Python and Devenv deps 2026-02-03 11:04:41 +01:00
lightning fix(lightning): prevent shell injection in CLN local calls 2026-07-03 19:58:41 +02:00
setup feat: replace call_script func with better func 2025-05-06 09:16:46 +02:00
system feat: update Python and Devenv deps 2026-02-03 11:04:41 +01:00
__init__.py feat: prepare for release 0.5.1beta 2023-02-05 21:24:31 +01:00
celery_app.py feat: fetch app status via a celery task 2025-05-06 09:16:46 +02:00
logging.py feat: make config loading more flexible 2025-03-23 17:43:39 +01:00
main.py fix: send bitcoin-only warmup app status as app_state_update_message 2026-07-03 15:30:17 +02:00
server.py chore(nix): migrate flake from poetry2nix to uv2nix 2026-07-03 16:00:42 +02:00