From 4ee2c0ac0729c07b2df2fa8e7fad23759a6e07c2 Mon Sep 17 00:00:00 2001 From: AlacrisDevs Date: Sun, 8 Feb 2026 23:51:49 +0200 Subject: [PATCH] Map push --- src/lib/api/map.ts | 3 ++- src/lib/components/modules/MapWidget.svelte | 15 +++++++++++++++ .../050_revert_map_replica_identity.sql | 4 ++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 supabase/migrations/050_revert_map_replica_identity.sql diff --git a/src/lib/api/map.ts b/src/lib/api/map.ts index 94e313e..a1d6dda 100644 --- a/src/lib/api/map.ts +++ b/src/lib/api/map.ts @@ -266,7 +266,8 @@ export function subscribeToMapLayers( onShapeChange: (payload: RealtimeMapPayload) => void, ) { const layerIdSet = new Set(layerIds); - const channel = supabase.channel(`map:${layerIds.join(',')}`); + const channelName = `map:${layerIds[0]?.slice(0, 8) ?? 'x'}-${Date.now()}`; + const channel = supabase.channel(channelName); channel .on('postgres_changes', { event: '*', schema: 'public', table: 'map_pins' }, diff --git a/src/lib/components/modules/MapWidget.svelte b/src/lib/components/modules/MapWidget.svelte index 84fd109..98e78a1 100644 --- a/src/lib/components/modules/MapWidget.svelte +++ b/src/lib/components/modules/MapWidget.svelte @@ -13,6 +13,7 @@ type MapPin as MapPinType, type MapShape, type RealtimeMapPayload, + fetchMapLayers, createMapLayer, updateMapLayer, deleteMapLayer, @@ -1118,6 +1119,20 @@ await import("leaflet/dist/leaflet.css"); L = leaflet.default ?? leaflet; + // Always fetch fresh data from DB so expand/collapse gets latest state + try { + const fresh = await fetchMapLayers(supabase, departmentId); + if (fresh.length > 0) { + layers = fresh; + activeLayerIdx = Math.min(activeLayerIdx, layers.length - 1); + showLayerOnMap(layers[activeLayerIdx]); + setupRealtime(); + return; + } + } catch { + // Fall through to initialLayers or create default + } + if (layers.length === 0) { try { const layer = await createMapLayer(supabase, departmentId, { diff --git a/supabase/migrations/050_revert_map_replica_identity.sql b/supabase/migrations/050_revert_map_replica_identity.sql new file mode 100644 index 0000000..bf7b926 --- /dev/null +++ b/supabase/migrations/050_revert_map_replica_identity.sql @@ -0,0 +1,4 @@ +-- Revert REPLICA IDENTITY FULL back to DEFAULT +ALTER TABLE map_layers REPLICA IDENTITY DEFAULT; +ALTER TABLE map_pins REPLICA IDENTITY DEFAULT; +ALTER TABLE map_shapes REPLICA IDENTITY DEFAULT;