Commit Graph

  • b407e38730 feat: add peer/denied S2S endpoint and export pushPeerRejectedEvent Jannis Braun 2026-04-20 14:56:31 +02:00
  • 5e48d67cb0 feat: queue auto-peer requests for admin approval when autoAcceptPeering is off Jannis Braun 2026-04-20 14:54:35 +02:00
  • 9877d78a3a feat: handle 202 queued response and awaiting_approval status in ensurePeered Jannis Braun 2026-04-20 14:51:59 +02:00
  • 14041e9d11 feat: add peer_approval_requests table and migration Jannis Braun 2026-04-20 14:50:08 +02:00
  • b434a736a8 fix: address code review findings (C1, I1, I2) Jannis Braun 2026-04-09 14:08:54 +02:00
  • 7366b56fdf docs: document auto-peering, rejected status, autoAcceptPeering setting Jannis Braun 2026-04-09 14:01:11 +02:00
  • 70a421864c feat: DM unreachable member indicators and admin auto-accept peering toggle Jannis Braun 2026-04-09 13:58:45 +02:00
  • 4285e44d2d feat: client ensurePeered API, connection flow swap, WS event handlers for peer rejection Jannis Braun 2026-04-09 13:56:18 +02:00
  • 5f700c1a51 feat: expose autoAcceptPeering in admin settings and add rejectedPeerOrigins to ready payload Jannis Braun 2026-04-09 13:53:26 +02:00
  • 83771b863c feat: outbox worker resolves pending peers and pushes rejection events Jannis Braun 2026-04-09 13:51:37 +02:00
  • d5a6d470f9 feat: queueOutboxEvent creates pending peer placeholders, skips rejected/revoked Jannis Braun 2026-04-09 13:49:04 +02:00
  • 63a7f0c922 fix: use proper HTTP status codes on peer/ensure (400 for validation, 429 for rate limit) Jannis Braun 2026-04-09 13:47:30 +02:00
  • 051646763a feat: add autoAcceptPeering gate on peer/accept and POST /api/federation/peer/ensure endpoint Jannis Braun 2026-04-09 13:46:15 +02:00
  • f802528688 feat: add ensurePeered() core function with race deduplication Jannis Braun 2026-04-09 13:40:49 +02:00
  • abd12223b1 feat: add federation_peer_rejected/active WS types and autoAcceptPeering setting Jannis Braun 2026-04-09 13:38:41 +02:00
  • b5dffba7ef feat: add autoAcceptPeering instance setting with drizzle migration Jannis Braun 2026-04-09 13:37:49 +02:00
  • ce0b2d0e15 feat: allow any group DM member to add friends, not just owner Jannis Braun 2026-04-09 02:15:44 +02:00
  • 016ca2c59b fix: use canonical identity for federated friend/request dedup Jannis Braun 2026-04-09 01:23:49 +02:00
  • 3789ece0ca chore: add db:generate script for drizzle-kit migrations Jannis Braun 2026-04-09 00:37:10 +02:00
  • e467a878d0 chore: remove completed backfill calls (thumbnails, media dimensions) Jannis Braun 2026-04-09 00:33:15 +02:00
  • fec0502a2f refactor: replace createTables() with Drizzle migrate() Jannis Braun 2026-04-09 00:32:01 +02:00
  • 3acaea2e45 refactor: replace 2100-line migration system with ensureDefaults + baseline Jannis Braun 2026-04-09 00:30:00 +02:00
  • 450d96407f feat: add drizzle-kit config and generate initial migration Jannis Braun 2026-04-09 00:26:53 +02:00
  • be2c16efa4 fix: use bare column names in partial index WHERE clauses Jannis Braun 2026-04-09 00:25:36 +02:00
  • ac03151b61 feat: add database index definitions to Drizzle schema Jannis Braun 2026-04-09 00:19:10 +02:00
  • 213d05a810 feat: fix cross-instance friends list for federated users Jannis Braun 2026-04-08 18:41:13 +02:00
  • d58464fe95 docs: document profile image file replication in federation spec Jannis Braun 2026-04-08 16:59:55 +02:00
  • 0db5e4e453 feat: download profile images locally in processProfileUpdateEvent Jannis Braun 2026-04-08 16:57:06 +02:00
  • fd2254c9c4 feat: add downloadProfileAsset helper for profile image replication Jannis Braun 2026-04-08 16:54:07 +02:00
  • adc2a1cb01 docs: update voice.md with client-side federated call implementation details Jannis Braun 2026-04-08 15:49:20 +02:00
  • a1a7c2ff18 fix: null roomRef before destroyRoom to suppress teardown sounds Jannis Braun 2026-04-08 15:39:21 +02:00
  • b03df992dc fix: SoundController isSelf must check BOTH local ID and homeUserId Jannis Braun 2026-04-08 15:33:51 +02:00
  • 5ab1f7b89d fix: SoundController identity mismatch for federated users Jannis Braun 2026-04-08 15:25:15 +02:00
  • 1468b68199 fix: skip participant leave sounds during self-disconnect Jannis Braun 2026-04-08 15:05:49 +02:00
  • 22aa1e3f66 fix: batch participants + isLiveKitConnected on disconnect to prevent double sound Jannis Braun 2026-04-08 14:59:08 +02:00
  • 5b1c847e57 fix: exclude acting user from federated call end/reject broadcast Jannis Braun 2026-04-08 14:49:29 +02:00
  • 9e7e068df7 chore: remove federated call diagnostic logging Jannis Braun 2026-04-08 14:44:27 +02:00
  • 782f5d280d debug: log federated call relay params Jannis Braun 2026-04-08 14:38:05 +02:00
  • 27514e1596 fix: use wss:// LiveKit URL in federated call relay, not https:// Jannis Braun 2026-04-08 14:30:48 +02:00
  • c037803c5a fix: acceptor sets activeDmCall in click handler, not server response Jannis Braun 2026-04-08 14:23:41 +02:00
  • aae0b1a74e fix: comprehensive client-side session management for federated DM calls Jannis Braun 2026-04-08 14:12:45 +02:00
  • 86fe713a7c fix: cross-instance event contamination in federated DM calls Jannis Braun 2026-04-08 13:50:25 +02:00
  • 94461f8967 debug: add token endpoint logging Jannis Braun 2026-04-08 13:39:09 +02:00
  • f6af6bf579 debug: more diagnostic logging in processDmCallAcceptEvent Jannis Braun 2026-04-08 13:32:41 +02:00
  • 70dbe04e6d debug: add diagnostic logging to DM call accept flow Jannis Braun 2026-04-08 13:29:45 +02:00
  • df2701b17f fix: route call accept/reject through delivering WS, not host URL Jannis Braun 2026-04-08 13:15:38 +02:00
  • 5265117d29 fix: three root causes for federated DM call failures Jannis Braun 2026-04-08 12:53:58 +02:00
  • 9ad240495f fix: prevent auto-connect on dm_call_accepted for non-caller instances Jannis Braun 2026-04-08 12:21:27 +02:00
  • f40ea03cfb docs: update system specs for federated DM calls v2 Jannis Braun 2026-04-08 03:28:54 +02:00
  • ba7b975bc8 feat: add federatedCallId and callOrigin to client call routing Jannis Braun 2026-04-08 03:26:48 +02:00
  • 0c57f9491f feat: late-bind dmChannelId on FederatedCallEntry when DM created mid-call Jannis Braun 2026-04-08 03:20:01 +02:00
  • 07edb25d12 feat: update DM call handlers and processors for federatedCallId lookup Jannis Braun 2026-04-08 03:18:25 +02:00
  • 1690295db5 feat: universal call relay — broadcast to all active federation peers Jannis Braun 2026-04-08 03:11:56 +02:00
  • 2c7eefc7b1 feat: fix caller exclusion (Bug 1) and add Path B receiver processing Jannis Braun 2026-04-08 03:09:16 +02:00
  • 2538bb5e4c fix: remove federated user gate for DM call events Jannis Braun 2026-04-08 03:04:51 +02:00
  • 365c64794d refactor: re-key FederatedCallEntry by federatedId, add ringedUserIds Jannis Braun 2026-04-08 03:03:44 +02:00
  • f51e427493 fix: pass readState and dmCloseReopen through outbox worker relay reconstruction Jannis Braun 2026-04-08 02:01:41 +02:00
  • a1c47e071e fix: prevent connecting to own instance as a remote Jannis Braun 2026-04-08 01:28:20 +02:00
  • fa5dbbfd4f fix: DMs vanishing after WebSocket reconnection Jannis Braun 2026-04-08 01:02:15 +02:00
  • a496dc01bd fix: federation DM identity corruption — sync federatedId, guard backfill, remove bad merge criterion Jannis Braun 2026-04-08 00:49:14 +02:00
  • 2d32d9ae41 fix: deliver relayed DM messages to federated users on receiving instance Jannis Braun 2026-04-07 23:50:35 +02:00
  • e3742e199a docs: fix endpoint references and messageId format in relay docs Jannis Braun 2026-04-07 22:46:49 +02:00
  • 28624343d0 docs: document S2S DM close/reopen relay events Jannis Braun 2026-04-07 22:43:04 +02:00
  • f85bb4cca3 fix: relay handler reopen + dm_close/dm_reopen handlers Jannis Braun 2026-04-07 22:31:43 +02:00
  • 213325edaa feat: relay dm_close and dm_reopen to federated peers Jannis Braun 2026-04-07 22:26:14 +02:00
  • 053f5efb4b feat: add queueDmCloseRelay utility for S2S close/reopen relay Jannis Braun 2026-04-07 22:23:25 +02:00
  • ba0df6305e feat: add dm_close and dm_reopen federation relay event types Jannis Braun 2026-04-07 22:23:01 +02:00
  • 23f2863bdc fix: seed DM read states for federated users on first access Jannis Braun 2026-04-07 21:38:11 +02:00
  • 1ada46baff fix: relay mark_unread to peers, fix docs and timestamp consistency Jannis Braun 2026-04-07 20:08:31 +02:00
  • 626a8ded50 docs: update subsystem specs for cross-instance DM access Jannis Braun 2026-04-07 20:01:43 +02:00
  • 5504a34dd8 feat: include federatedId in federation dm_channel_created events Jannis Braun 2026-04-07 19:57:23 +02:00
  • 658eba556e feat: include federatedId in dm_channel_created WS events Jannis Braun 2026-04-07 19:56:23 +02:00
  • 95f97c1526 feat: process DM WS events from all origins Jannis Braun 2026-04-07 19:55:08 +02:00
  • b7c4a020db feat: accept DMs from all origins with federatedId dedup Jannis Braun 2026-04-07 19:54:16 +02:00
  • ad172b34e1 feat: relax group DM authority check for trusted peers Jannis Braun 2026-04-07 19:53:15 +02:00
  • dc57a050b0 feat: inbound S2S read state processor Jannis Braun 2026-04-07 19:51:55 +02:00
  • 32ccd9c410 feat: outbound S2S read state relay Jannis Braun 2026-04-07 19:49:52 +02:00
  • 662143bf08 feat: lift DM gates for federated users Jannis Braun 2026-04-07 19:48:07 +02:00
  • 9b8330fcdb feat: add federatedId to DmChannel type, read_state_update to relay events Jannis Braun 2026-04-07 19:45:20 +02:00
  • cfa2d2990c fix: exclude dev-only files from deployment rsync Jannis Braun 2026-04-07 17:34:13 +02:00
  • 43900576b2 fix: update contextType casts to include 'profile', remove stale profileSync comments Jannis Braun 2026-04-07 14:05:19 +02:00
  • a023c85cad docs: document S2S profile sync relay and write-protection guard Jannis Braun 2026-04-07 14:01:44 +02:00
  • a7cd6a1bf3 feat: remove client-driven profile sync — replaced by S2S relay Jannis Braun 2026-04-07 13:59:16 +02:00
  • ec6cb236a2 fix: ensure profile_update payload is included in outbox event reconstruction Jannis Braun 2026-04-07 13:58:11 +02:00
  • 58c0da03c1 feat: S2S profile sync — write-protection, relay queueing, bootstrap trigger, broadcast refactor Jannis Braun 2026-04-07 13:57:21 +02:00
  • c229b32771 feat: add processProfileUpdateEvent S2S relay processor Jannis Braun 2026-04-07 13:54:43 +02:00
  • 34902fe320 refactor: extract collectProfileBroadcastTargetIds shared helper from userDeletion Jannis Braun 2026-04-07 13:52:21 +02:00
  • 3a2dfde4a8 feat: add profile_update federation relay event type and payload interface Jannis Braun 2026-04-07 13:51:53 +02:00
  • 1a2bc0ec52 fix: use timestamp 0 for never-edited profiles in LWW comparisons Jannis Braun 2026-04-03 05:27:51 +02:00
  • 02a44c201d fix: clean up replicatedInstances and registry on federation identity deletion Jannis Braun 2026-04-03 04:56:25 +02:00
  • 58c6ec1dc6 fix: single-pass filter in discoverStore.removeUser Jannis Braun 2026-04-03 04:27:25 +02:00
  • 4c2e75b80c feat: handle deleted user cleanup in user_updated WebSocket handler Jannis Braun 2026-04-03 04:23:18 +02:00
  • 0f381c75db feat: add store methods for deleted user cleanup Jannis Braun 2026-04-03 04:22:03 +02:00
  • 9d4b759cb4 feat: add user_updated broadcast to federation identity delete, use shared helper Jannis Braun 2026-04-03 04:20:56 +02:00
  • 5ef79ea8cd feat: broadcast member_left and user_updated on admin deletion Jannis Braun 2026-04-03 04:19:58 +02:00
  • 24351fba81 feat: broadcast member_left and user_updated on self-deletion Jannis Braun 2026-04-03 04:19:09 +02:00
  • 8c2587e90c feat: add collectDeletionBroadcastTargets helper for user deletion broadcasts Jannis Braun 2026-04-03 04:18:10 +02:00
  • 1d757ed839 fix(web): update DeleteIdentityDialog descriptions to match actual behavior Jannis Braun 2026-04-03 03:57:34 +02:00
  • 32133d20cc fix: orphaned DM cleanup runs in both modes, nuke deletes space messages Jannis Braun 2026-04-03 03:50:52 +02:00
  • c0e6c4019d fix: filter isDeleted=0 in identity delete endpoint user lookup Jannis Braun 2026-04-03 03:23:16 +02:00