From b1ecc2ea0f41b9f1275a649966b8b1a0f7a64086 Mon Sep 17 00:00:00 2001 From: IonesioJunior Date: Tue, 28 Apr 2026 12:43:36 -0300 Subject: [PATCH] fix: add alembic merge migration to resolve multiple heads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 009_wallet_fields and 009_add_archived both descend from 008_encrypt_accounting_pw, causing 'alembic upgrade head' to fail in deploy.sh with "Multiple head revisions are present". Adds merge migration 010_merge_heads to unify the two branches into a single head. Also fixes a mypy error in get_owner_endpoint: Starlette 0.36+ requires TemplateResponse(request, name, context) — request moves out of context dict. --- ..._000000_merge_wallet_and_archived_heads.py | 25 +++++++++++++++++++ components/backend/src/syfthub/main.py | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 components/backend/alembic/versions/20260428_000000_merge_wallet_and_archived_heads.py diff --git a/components/backend/alembic/versions/20260428_000000_merge_wallet_and_archived_heads.py b/components/backend/alembic/versions/20260428_000000_merge_wallet_and_archived_heads.py new file mode 100644 index 00000000..c2f08e8f --- /dev/null +++ b/components/backend/alembic/versions/20260428_000000_merge_wallet_and_archived_heads.py @@ -0,0 +1,25 @@ +"""Merge the 009_wallet_fields and 009_add_archived branch heads. + +Both migrations descended from 008_encrypt_accounting_pw independently, +creating two alembic heads. This merge migration unifies the graph so that +'alembic upgrade head' resolves to a single target. + +Revision ID: 010_merge_heads +Revises: 009_wallet_fields, 009_add_archived +Create Date: 2026-04-28 00:00:00.000000+00:00 +""" + +from collections.abc import Sequence + +revision: str = "010_merge_heads" +down_revision: tuple[str, str] = ("009_wallet_fields", "009_add_archived") +branch_labels: str | Sequence[str] | None = None +depends_on: str | Sequence[str] | None = None + + +def upgrade() -> None: + pass + + +def downgrade() -> None: + pass diff --git a/components/backend/src/syfthub/main.py b/components/backend/src/syfthub/main.py index 188f84de..9641708e 100644 --- a/components/backend/src/syfthub/main.py +++ b/components/backend/src/syfthub/main.py @@ -623,9 +623,9 @@ async def get_owner_endpoint( readme_html = sanitize_readme_html(raw_html) return templates.TemplateResponse( + request, "endpoint.html", { - "request": request, "endpoint": endpoint, "owner_name": owner_name, "owner_slug": owner_slug,