Skip to content

v2.12.4 β€” fix: updater used the wrong compose project name - #55

Merged
rancur merged 1 commit into
mainfrom
fix/updater-project-name
Aug 9, 2026
Merged

v2.12.4 β€” fix: updater used the wrong compose project name#55
rancur merged 1 commit into
mainfrom
fix/updater-project-name

Conversation

@rancur

@rancur rancur commented Aug 9, 2026

Copy link
Copy Markdown
Owner

The bug

The updater mounts the project at /project, and Compose derives the project name from the directory name β€” so it inferred project while the running stack was waxflow.

A mismatched project name makes Compose try to create rather than recreate, so every apply died instantly:

Conflict. The container name "/waxflow-api" is already in use

Auto-update would have failed on every single run. The feature would have looked installed and done nothing β€” the same failure mode this whole line of work set out to eliminate.

How it was found

By forcing an apply of the current version (POST /admin/update?force=true) rather than waiting for a real release to expose it.

Worth noting the failure was safe, which is itself a useful result: the stack stayed up and healthy on 2.12.3, and .update-result recorded failed. The rollback/fail-safe path is now confirmed against a genuine failure rather than only a synthetic one.

The fix

Project name is detected from the running container's own com.docker.compose.project label, so it's correct wherever the project lives on disk. WAXFLOW_PROJECT_NAME overrides it.

πŸ€– Generated with Claude Code

https://claude.ai/code/session_01HmUiLHPmKoz215WAWV5eHe

The updater mounts the project at /project, and Compose derives the project name
from the directory name, so it inferred "project" while the real stack was
"waxflow". A mismatched project name makes Compose try to CREATE rather than
RECREATE, and every apply died immediately with:

    Conflict. The container name "/waxflow-api" is already in use

Auto-update would have failed on every single run β€” the feature would have looked
installed and done nothing, which is the same failure mode this whole line of work
set out to eliminate.

Found by forcing an apply of the CURRENT version instead of waiting for a real
release to expose it. Worth noting the failure was safe: the stack stayed up and
healthy, and .update-result recorded "failed", so the fail-safe path is confirmed
working on a real failure rather than only a synthetic one.

Now detected from the running container's own com.docker.compose.project label,
so it is correct wherever the project lives on disk, with WAXFLOW_PROJECT_NAME as
an override.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HmUiLHPmKoz215WAWV5eHe
@rancur
rancur merged commit 055d6c2 into main Aug 9, 2026
2 checks passed
@rancur
rancur deleted the fix/updater-project-name branch August 9, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant