From 9da1abc2c7d536c48b20ce70aaca5803ddf6f974 Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Thu, 1 Oct 2026 06:36:15 +0000 Subject: [PATCH] Handshake: carry ready-frame rejections into the connection state The satellite's domain rejections at registration/reconnect were dropped until the next domains_ack; seed the connection with them so the upstream link list shows conflicts immediately. Plus a dead frontend import. --- frontend/src/admin/AdminSatellites.vue | 1 - paskia/fastapi/sync.py | 7 ++++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/frontend/src/admin/AdminSatellites.vue b/frontend/src/admin/AdminSatellites.vue index 989f197..768e676 100644 --- a/frontend/src/admin/AdminSatellites.vue +++ b/frontend/src/admin/AdminSatellites.vue @@ -16,7 +16,6 @@ import { computed, onBeforeUnmount, onMounted, ref } from 'vue' import AdminDialog from './dialogs/AdminDialog.vue' import { useAuthStore } from '@/stores/auth' -import { formatDate } from '@/utils/helpers' import { apiJson } from 'paskia' const props = defineProps({ diff --git a/paskia/fastapi/sync.py b/paskia/fastapi/sync.py index 4e28401..4f83a0c 100644 --- a/paskia/fastapi/sync.py +++ b/paskia/fastapi/sync.py @@ -241,7 +241,12 @@ async def _handshake(ws: WebSocket) -> _Connection | None: db.create_satellite_link( link_id, rp_ids, server_part + client_part, label=hello.get("label") or "" ) - return _Connection(ws=ws, link_id=link_id, scope=set(rp_ids)) + return _Connection( + ws=ws, + link_id=link_id, + scope=set(rp_ids), + rejected=ready.get("rejected") or {}, + ) async def _apply_client_message(message: dict, conn: _Connection) -> None: