Commit Graph

  • 4efa35f311 feat(federation): add soft-delete GC for empty group DMs with 24h grace period Jannis Braun 2026-03-26 20:35:55 +01:00
  • 62a16e884a feat(federation): extend catch-up sync to include group DMs and membership mutations Jannis Braun 2026-03-26 20:28:19 +01:00
  • f7ba391678 feat(federation): handle group DM messages via federatedId lookup in relay processor Jannis Braun 2026-03-26 20:26:23 +01:00
  • 242004e8ee feat(federation): add membership mutation receiver processors Jannis Braun 2026-03-26 20:23:40 +01:00
  • 6a83b6c6a5 fix(federation): compute relay targets before member deletion in leave handler Jannis Braun 2026-03-26 20:19:55 +01:00
  • f072568b8a feat(federation): relay membership mutations from dm.ts to federation outbox Jannis Braun 2026-03-26 20:14:52 +01:00
  • 514d46c82e feat(federation): add participant-aware fan-out routing for group DMs Jannis Braun 2026-03-26 20:10:51 +01:00
  • 0742c37ca1 refactor(federation): rename canonicalDmPairId to computeFederatedId Jannis Braun 2026-03-26 20:08:37 +01:00
  • 6f901f4a7a feat(shared): add group DM federation event types and payloads Jannis Braun 2026-03-26 20:05:47 +01:00
  • 3b16d9e2ce fix(schema): fix migration ordering hazard and FK guard for table rebuild Jannis Braun 2026-03-26 20:04:34 +01:00
  • d9dc33bd36 feat(schema): rename canonical_pair_id to federated_id, add group DM columns Jannis Braun 2026-03-26 19:59:44 +01:00
  • 742d851aae fix(federation): branching message lookup in reaction relay processors Jannis Braun 2026-03-26 18:44:23 +01:00
  • 92be236251 fix(federation): use canonical message identity in reaction outbox payloads Jannis Braun 2026-03-26 18:41:18 +01:00
  • c3f342a411 feat(shared): add messageHomeInstance to FederationRelayReaction type Jannis Braun 2026-03-26 18:40:05 +01:00
  • 22664a6a14 refactor(federation): extract getOurOrigin() into shared federationAuth export Jannis Braun 2026-03-26 18:36:26 +01:00
  • 10d4ca0110 chore: remove unused broadcastDmMessage import from federation.ts Jannis Braun 2026-03-26 17:58:24 +01:00
  • 6bf2a2621c fix(federation): skip broadcasting relay messages to source-instance users Jannis Braun 2026-03-26 17:57:07 +01:00
  • 523cb0c4b3 fix(federation): deduplicate relay DM messages in chatStore Jannis Braun 2026-03-26 17:55:58 +01:00
  • 62f1d637ac feat(federation): surface sourceMessageId/sourceInstance in DM message payloads Jannis Braun 2026-03-26 17:54:24 +01:00
  • f00dfe6e27 feat(shared): add sourceMessageId and sourceInstance to DmMessage type Jannis Braun 2026-03-26 17:54:17 +01:00
  • 6ccf7fedbb fix(federation): stop destructive dm_messages migration from re-running on every deploy Jannis Braun 2026-03-26 17:54:07 +01:00
  • f362f5530c fix(federation): prevent duplicate DM sidebar entries from relay broadcasts Jannis Braun 2026-03-26 14:45:04 +01:00
  • a21243256e fix(federation): fix reaction relay using wrong ID for message lookup Jannis Braun 2026-03-26 14:27:48 +01:00
  • 086195aa7c fix(federation): generate thumbnails for downloaded federated attachments Jannis Braun 2026-03-26 06:46:14 +01:00
  • 4ed9b30ce9 fix(federation): don't copy source thumbnail filename to relay attachments Jannis Braun 2026-03-26 06:37:26 +01:00
  • ee8abc1022 fix(federation): file worker UPDATEs existing attachment rows + broadcasts Jannis Braun 2026-03-26 06:23:12 +01:00
  • 50f7a398dc fix(federation): create attachment rows immediately in processCreateEvent Jannis Braun 2026-03-26 06:21:01 +01:00
  • ca591024cf refactor(federation): replace outbox hooks in events.ts with queueDmRelay() Jannis Braun 2026-03-26 06:17:51 +01:00
  • b49be65dcd refactor(federation): replace outbox hooks in dm.ts with queueDmRelay() Jannis Braun 2026-03-26 06:15:13 +01:00
  • 58e6dbabcd feat(federation): add queueDmRelay() to consolidate relay payload construction Jannis Braun 2026-03-26 06:12:56 +01:00
  • cf9fcb78ed fix(federation): add participants array to relay events and fix recipient resolution Jannis Braun 2026-03-26 05:36:41 +01:00
  • cb9a70d7a6 fix(federation): use canonical_pair_id for sync scope instead of home_instance matching Jannis Braun 2026-03-26 04:41:00 +01:00
  • 49f88c2552 fix(federation): actually remove source_instance IS NULL filter from sync SQL queries Jannis Braun 2026-03-26 04:37:47 +01:00
  • 277ff0e50c fix(federation): sync ALL locally-created messages, not just local-home-user messages Jannis Braun 2026-03-26 04:34:13 +01:00
  • ae004b72e1 feat(federation): trigger checkpoint sync on startup for peers that have never been synced Jannis Braun 2026-03-26 04:30:54 +01:00
  • a3d41fd568 fix(federation): handle existing canonical_pair_id during backfill by merging duplicate first Jannis Braun 2026-03-26 04:25:03 +01:00
  • 306e26a525 fix(federation): remove require('crypto') — already imported as ESM at top of file Jannis Braun 2026-03-26 04:22:08 +01:00
  • 960ca1c97f fix(federation): set correct homeInstance in relay payload and fix canonical backfill SQL Jannis Braun 2026-03-26 04:19:18 +01:00
  • 4a109f71da fix(federation): backfill canonical_pair_id and merge duplicate DM channels Jannis Braun 2026-03-26 04:15:12 +01:00
  • 73a4b69fe6 fix(federation): auto-peering on reconnect and DM deduplication across origins Jannis Braun 2026-03-26 03:59:59 +01:00
  • b34732e064 fix(federation): enable relay by default — it fixes a bug, not an optional feature Jannis Braun 2026-03-26 03:54:20 +01:00
  • 2b2f64e7f9 fix: prune stale Docker images and build cache after each deploy Jannis Braun 2026-03-26 03:31:52 +01:00
  • c5188c1702 fix(federation): fix TypeScript strict mode error in parseFederationHeaders Jannis Braun 2026-03-25 21:51:35 +01:00
  • 46e6f8a7e2 feat(federation): add cleanup functions for outbox, mutation log, and file queue TTL Jannis Braun 2026-03-25 21:48:46 +01:00
  • 44de9b6f41 feat(federation): add client peering integration, transparency indicator, and admin federation settings Jannis Braun 2026-03-25 21:47:10 +01:00
  • 3898e4940a feat(federation): add outbox delivery, file queue download, and health check workers Jannis Braun 2026-03-25 21:39:32 +01:00
  • 7f20a4517c feat(federation): implement checkpoint sync endpoint using mutation log Jannis Braun 2026-03-25 21:33:47 +01:00
  • 5b9272e22b feat(federation): implement relay receive endpoint with dedup, channel mapping, SSRF validation Jannis Braun 2026-03-25 21:27:28 +01:00
  • fbdec82172 feat(federation): add peering handshake and admin peer management endpoints Jannis Braun 2026-03-25 21:19:47 +01:00
  • 32a0c2e618 feat(federation): hook outbox and mutation log into DM message and reaction handlers Jannis Braun 2026-03-25 21:14:34 +01:00
  • 88ad1c676d feat(federation): add outbox coalescing writer, mutation log, and relay helpers Jannis Braun 2026-03-25 21:07:16 +01:00
  • 2ff53a3f9b feat(federation): add HMAC signing and verification utilities Jannis Braun 2026-03-25 21:03:03 +01:00
  • 6afddab54e feat(federation): add shared types for relay events, sync, and peer management Jannis Braun 2026-03-25 21:01:26 +01:00
  • 4726eeb097 feat(federation): add migrations for federation tables, indexes, and mutation log backfill Jannis Braun 2026-03-25 21:00:10 +01:00
  • c80d565f7f feat(federation): add federation tables and columns to schema Jannis Braun 2026-03-25 20:53:43 +01:00
  • a1363a1ab3 fix: match GIF-only message size to standard media constraints Jannis Braun 2026-03-25 14:42:27 +01:00
  • f7fa7371d6 fix: hide Open Original when sourceUrl is present to avoid redundancy Jannis Braun 2026-03-25 05:13:14 +01:00
  • e0d45da97c refactor: skip imageEmbedSourceUrl computation when isGifOnly is true Jannis Braun 2026-03-25 05:05:49 +01:00
  • 4fd72cd29b fix: remove redundant !isEditing guard in image-embed-only branch Jannis Braun 2026-03-25 05:02:38 +01:00
  • 001d45da2b feat: suppress URL text for image-only messages, add sourceUrl to context menu Jannis Braun 2026-03-25 04:59:53 +01:00
  • 5c45a55ef7 fix: add clipboard error handling for Copy Link context menu item Jannis Braun 2026-03-25 04:58:27 +01:00
  • d1fad2b262 feat: add sourceUrl param to context menu with Copy Link and Open Link items Jannis Braun 2026-03-25 04:55:44 +01:00
  • f433093777 fix: remove 150px threshold from scroll observers Jannis Braun 2026-03-25 04:50:24 +01:00
  • 6817f65e56 docs: update instance_settings schema in CLAUDE.md (add missing columns + allow_custom_bitrate) Jannis Braun 2026-03-25 04:09:54 +01:00
  • f0104d19b7 feat: conditionally show bitrate slider based on instance allowCustomBitrate Jannis Braun 2026-03-25 04:09:18 +01:00
  • 3627974ba1 feat: add Allow Custom Bitrate toggle to admin streaming panel Jannis Braun 2026-03-25 04:08:10 +01:00
  • de6db687c4 feat: enforce allowCustomBitrate flag in stream option builders Jannis Braun 2026-03-25 04:07:15 +01:00
  • 64d919c765 feat: add allowCustomBitrate to DEFAULT_LIMITS in settingsStore Jannis Braun 2026-03-25 04:05:50 +01:00
  • b4582a53f1 feat: wire allowCustomBitrate through rowToLimits and PATCH handler in settings route Jannis Braun 2026-03-25 04:05:48 +01:00
  • f02cb4e52a feat: add allow_custom_bitrate column to instance_settings schema and migration Jannis Braun 2026-03-25 04:05:43 +01:00
  • 35573c9f37 feat: add allowCustomBitrate to InstanceStreamingLimits shared type Jannis Braun 2026-03-25 04:05:40 +01:00
  • c60fb5af6d fix: resolve chat scroll race condition on channel open Jannis Braun 2026-03-25 04:03:14 +01:00
  • dae6f2d518 fix: remove forced 4/3 aspect ratio and dark background from image containers Jannis Braun 2026-03-25 03:37:18 +01:00
  • c255b0066a fix: copy GIF URLs as text to preserve animation Jannis Braun 2026-03-25 03:28:00 +01:00
  • aeb4ea6e1d fix: exclude embed thumbnails from image context menu actions Jannis Braun 2026-03-25 03:23:23 +01:00
  • 4ea319646a feat: add save/copy buttons to image preview modal Jannis Braun 2026-03-25 03:19:17 +01:00
  • 91ffbb5d0a fix: add noopener to window.open fallback in saveImage Jannis Braun 2026-03-25 03:15:54 +01:00
  • 97f0ebc915 feat: add image actions to message context menu Jannis Braun 2026-03-25 03:13:58 +01:00
  • 74939f045f feat: add data-avatar attribute for image context menu exclusion Jannis Braun 2026-03-25 03:10:37 +01:00
  • 6bd2100e04 feat: add saveImage and copyImageToClipboard utilities Jannis Braun 2026-03-25 03:09:51 +01:00
  • 78555a43f8 fix(voice): stabilize grid layout across focus-mode and fullscreen transitions Jannis Braun 2026-03-25 03:08:45 +01:00
  • 7240aac2e0 fix(social): allow single-char search and prefer native federated profiles Jannis Braun 2026-03-25 02:26:33 +01:00
  • f0e72dc257 fix(social): deduplicate federated search results by canonical identity Jannis Braun 2026-03-25 02:19:51 +01:00
  • d59ec4abf2 Merge branch 'feature/unified-friend-search' Jannis Braun 2026-03-25 02:07:29 +01:00
  • 277b69a732 test(friends): update tests for unified friend search UI Jannis Braun 2026-03-25 02:06:01 +01:00
  • a9266a3ad8 feat(friends): rewrite AddFriendTab with unified search Jannis Braun 2026-03-25 02:01:44 +01:00
  • 30c3b9b352 fix(web): add aspect-ratio fallback for markdown inline images Jannis Braun 2026-03-25 01:56:33 +01:00
  • 970af77169 refactor(friends): extract onRelationshipChange prop from UserDiscoverCard Jannis Braun 2026-03-25 01:56:25 +01:00
  • 995c71367e fix(web): add aspect-ratio fallback for bare GIF URL messages Jannis Braun 2026-03-25 01:56:08 +01:00
  • 234ee9cd23 fix(web): add 16:9 aspect-ratio reservation to direct video embeds Jannis Braun 2026-03-25 01:55:41 +01:00
  • b96c16b622 fix(web): add dimension reservation to ImageEmbed component Jannis Braun 2026-03-25 01:55:12 +01:00
  • 4e170f0b69 feat(social): add TaggedUser type and origin-tag searchUsers results Jannis Braun 2026-03-25 01:54:36 +01:00
  • 123e40bb9a feat(server): populate embed width/height from OG tags and image probing Jannis Braun 2026-03-25 01:53:39 +01:00
  • bbb2c8bd19 feat(server): extract og:image:width/height from HTML metadata Jannis Braun 2026-03-25 01:51:31 +01:00
  • 2f883c6f63 refactor(server): extract SSRF validation into shared ssrf.ts utility Jannis Braun 2026-03-25 01:48:18 +01:00
  • d9094fabe1 feat(ws): re-push activities on new instance connections Jannis Braun 2026-03-24 22:00:28 +01:00
  • 9705304be9 feat(activity): fan out activity updates to all connected instances Jannis Braun 2026-03-24 21:55:45 +01:00
  • 38ffc214f0 test(context-menu): add tests for reactive checkbox behavior Jannis Braun 2026-03-24 21:53:46 +01:00
  • 7f4f40a1e5 feat(ws): add wsSendAll utility for multi-instance broadcast Jannis Braun 2026-03-24 21:52:51 +01:00
  • 0d91df166a fix(context-menu): update all checkbox call sites to reactive subscribe+getChecked Jannis Braun 2026-03-24 21:48:26 +01:00