fix: prevent connecting to own instance as a remote

Add shared isSelfOrigin() helper that normalizes origins before
comparing to window.location.origin. Fixes auto-connect treating
self-referencing replicatedInstances entries as remote connections,
causing duplicate friends/DMs/data. Also hides self-referencing
entries from the Connections panel UI.
This commit is contained in:
Jannis Braun
2026-04-08 01:28:20 +02:00
parent fa5dbbfd4f
commit a1c47e071e
2 changed files with 16 additions and 6 deletions
@@ -1,7 +1,7 @@
import React, { useState } from 'react';
import ReactDOM from 'react-dom';
import type { InstanceInfoResponse, FederationRegistryEntry } from '@backspace/shared';
import { useInstanceStore, DifferentPasswordError } from '../../stores/instanceStore';
import { useInstanceStore, DifferentPasswordError, isSelfOrigin } from '../../stores/instanceStore';
import { useAuthStore } from '../../stores/authStore';
import { useUIStore } from '../../stores/uiStore';
import { isElectron } from '../../platform/platform';
@@ -991,8 +991,9 @@ export function ConnectedInstances() {
});
};
// Convert registry Map to array
const registryEntries = Array.from(registry.values());
// Convert registry Map to array (hide self-referencing entry — shown as Home Instance above)
const registryEntries = Array.from(registry.values())
.filter(entry => !isSelfOrigin(entry.origin));
// Compute filter counts
const counts = {