-
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