Clear the stack update pill immediately after a manual/auto update (0.38.4)

The amber image-update indicator is fed from update_service._CACHE, which
only the background loop refreshed — after a per-stack Update/Pull the
stale digests kept the pill on until the next pass. Now the local digests
are reconciled with the cached remote digests right after a successful
pull/update (local backend, agent lifecycle, auto-update pass), and the
frontend invalidates the stack-updates queries after actions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
menzelj
2026-07-04 17:52:31 +00:00
co-authored by Claude Fable 5
parent e651029ab2
commit 9119f94536
7 changed files with 31 additions and 3 deletions
+6 -2
View File
@@ -329,12 +329,16 @@ async def restart_stack(stack_id: str, request: Request, session: Session = Depe
@router.post("/{stack_id}/pull")
async def pull_stack(stack_id: str, request: Request, session: Session = Depends(get_session), user: User = Depends(require_admin)):
return await _lifecycle(compose_service.pull, "pull", stack_id, request, session, user)
result = await _lifecycle(compose_service.pull, "pull", stack_id, request, session, user)
update_service.refresh_stack_local(stack_id)
return result
@router.post("/{stack_id}/update")
async def update_stack_images(stack_id: str, request: Request, session: Session = Depends(get_session), user: User = Depends(require_admin)):
return await _lifecycle(compose_service.update, "update", stack_id, request, session, user)
result = await _lifecycle(compose_service.update, "update", stack_id, request, session, user)
update_service.refresh_stack_local(stack_id)
return result
@router.post("/{stack_id}/down")