Commit Graph

  • 486448607e feat(voice-store): add pruneStaleDevices to clear stale persisted device ids Jannis Braun 2026-04-27 20:08:42 +02:00
  • 770a77a473 feat(voice-store): add cameraDeviceId persisted field Jannis Braun 2026-04-27 20:04:45 +02:00
  • 8ba644fa44 fix(message-list): pagination flag and scroll restore leak across channel switches Jannis Braun 2026-04-27 18:11:31 +02:00
  • b6b830568c fix(message-list): close smooth-scroll-to-bottom race against late-loading media Jannis Braun 2026-04-27 17:51:55 +02:00
  • de2ef10129 fix(brand): home tile = Element 1 with #000 bg, drop tile lavender Jannis Braun 2026-04-27 15:39:54 +02:00
  • 343fdd6e3d fix(sidebar): home tile uses brand lavender, not neutral grey Jannis Braun 2026-04-27 15:32:48 +02:00
  • 695f699ddf fix(sidebar): give home tile visible hover/active feedback Jannis Braun 2026-04-27 15:27:27 +02:00
  • 7a8d0ce0e2 fix(brand): logo.png is bare mark on transparent, 75% padded Jannis Braun 2026-04-27 15:20:29 +02:00
  • 6b71aecc28 fix(brand): logo.png uses full badge, not bare mark Jannis Braun 2026-04-27 15:06:22 +02:00
  • 37797562d7 docs: fix stale Icon Generation block + close spec drift on tray-icon@2x Jannis Braun 2026-04-27 14:48:05 +02:00
  • 8fae1f42c5 docs(desktop): update tray loader table for new 3-branch logic Jannis Braun 2026-04-27 14:42:37 +02:00
  • eb8ae2874d chore: delete obsolete icon master, gen-icns.sh, tray-icon@2x Jannis Braun 2026-04-27 14:40:43 +02:00
  • bd4a7b073a fix(desktop): rewrite tray loader with explicit per-platform branches Jannis Braun 2026-04-27 14:38:42 +02:00
  • ff67a792b9 chore(desktop): drop dead cp/gen-icns.sh from dev and prebuild Jannis Braun 2026-04-27 14:36:35 +02:00
  • 5635fd88f1 build(desktop): point electron-builder at new icon outputs Jannis Braun 2026-04-27 14:34:43 +02:00
  • 56e6c72322 chore(brand): regenerate icon set from new SVGs Jannis Braun 2026-04-27 14:32:05 +02:00
  • 81ad0292a5 fix(brand): close Task 3 spec gaps surfaced by code review Jannis Braun 2026-04-27 14:29:05 +02:00
  • bdfd38bc90 feat(brand): add SVG-driven icon generator (scripts/gen-icons.mjs) Jannis Braun 2026-04-27 14:20:34 +02:00
  • 17dd12fe48 chore: add gen-icons devDeps (sharp, png-to-ico, png2icons) Jannis Braun 2026-04-27 14:16:15 +02:00
  • f765cfb982 feat(brand): add canonical SVG sources at assets/brand/ Jannis Braun 2026-04-27 14:13:51 +02:00
  • 7c21c616b1 docs(desktop): note Windows startMinimized disk fallback when no entry exists Jannis Braun 2026-04-27 13:22:57 +02:00
  • e7c65ca308 fix(desktop): preserve startMinimized preference across off/on cycle on Windows Jannis Braun 2026-04-27 13:22:14 +02:00
  • 93a91b8235 docs(desktop): clarify recordedExecPath null guard in startup re-apply pseudo-code Jannis Braun 2026-04-27 13:03:50 +02:00
  • e7413bb504 docs(desktop): rewrite Auto-Launch section to match new architecture Jannis Braun 2026-04-27 13:01:35 +02:00
  • 113efcf583 fix(web): drop optimistic updates and disable inert Start-minimized toggle Jannis Braun 2026-04-27 12:57:34 +02:00
  • 962b669cac docs(desktop): clarify cross-platform hidden-launch detection Jannis Braun 2026-04-27 12:54:42 +02:00
  • b0d0ae7be6 fix(desktop): drop unconditional startup re-apply, narrow to AppImage path-refresh Jannis Braun 2026-04-27 12:52:18 +02:00
  • 0d652a72cd fix(desktop): base set-auto-launch-settings on OS truth, not stale disk Jannis Braun 2026-04-27 12:49:00 +02:00
  • cd00da07d8 fix(desktop): make get-auto-launch-settings OS-authoritative on Windows Jannis Braun 2026-04-27 12:46:10 +02:00
  • 622b9a6929 fix(desktop): pass enabled/path/args/name to setLoginItemSettings per platform Jannis Braun 2026-04-27 12:40:44 +02:00
  • 495cad717d refactor(desktop): tighten autoLaunch helpers per code review Jannis Braun 2026-04-27 12:38:33 +02:00
  • 191ba5f248 feat(desktop): add pure auto-launch helpers with tests Jannis Braun 2026-04-27 12:33:52 +02:00
  • 4574a99f2a chore(desktop): add vitest for pure-helper tests Jannis Braun 2026-04-27 12:29:38 +02:00
  • 4fa2414933 fix(presence): drop status='online' from registration insert Jannis Braun 2026-04-27 09:35:34 +02:00
  • f17c46c77f fix(presence): reset stale users.status on boot; drop REST-login online write Jannis Braun 2026-04-27 00:35:36 +02:00
  • b698ded47d fix(federation): harden processFriendRequestCreateEvent receiver-side Jannis Braun 2026-04-27 00:07:52 +02:00
  • 8cad964809 chore(test): cover processFriendRequestCreateEvent branches Jannis Braun 2026-04-26 23:58:45 +02:00
  • 8cae4c0b7c chore(test): migrate federationPeering.test.ts to in-memory drizzle Jannis Braun 2026-04-26 23:42:08 +02:00
  • ed5a6aa14c Merge branch 'feat/outbound-peering-gate' Jannis Braun 2026-04-26 23:30:44 +02:00
  • 6ba8b9256b fix(federation): broadcast peering_subscription_changed on terminal state Jannis Braun 2026-04-26 23:20:31 +02:00
  • e35b44c05f docs(systems): outbound peering gate documentation across federation, db, api, ws, admin, client-federation Jannis Braun 2026-04-26 22:59:27 +02:00
  • 4fd67fa7dd fix(web): map peer_pending_local_admin to user-facing message Jannis Braun 2026-04-26 22:43:52 +02:00
  • cebbd5c859 feat(web): user-facing pending peering subscriptions and outcome notifications Jannis Braun 2026-04-26 22:42:53 +02:00
  • eddf2254cc feat(web): render outbound peering requests with subscriber list in admin panel Jannis Braun 2026-04-26 22:35:16 +02:00
  • 51da827089 feat(web): API client methods for peering subscriptions and notifications Jannis Braun 2026-04-26 22:32:36 +02:00
  • e82ccbde62 fix(federation): tighten peering-notifications GET response to spec shape Jannis Braun 2026-04-26 22:27:43 +02:00
  • 4064d822cd fix(janitor): restore inbound /peer/denied expiry notification Jannis Braun 2026-04-26 22:22:34 +02:00
  • 86ac54b913 feat(federation): peering-notifications endpoints + janitor expiry fanout Jannis Braun 2026-04-26 22:18:44 +02:00
  • 45ab0ea2c8 feat(federation): peering-subscriptions GET and DELETE endpoints Jannis Braun 2026-04-26 22:09:41 +02:00
  • 42355ee889 feat(federation): direction-branched approve and deny for outbound queue Jannis Braun 2026-04-26 22:01:14 +02:00
  • 7cc360eb11 feat(federation): fanout outbound subscribers on peer activation (any path) Jannis Braun 2026-04-26 21:46:32 +02:00
  • 4d4dc383d7 feat(federation): pass explicit intent at every ensurePeered call site Jannis Braun 2026-04-26 21:37:19 +02:00
  • ef80e3b416 test(federation): outbound gate behavior across autoAccept settings and intents Jannis Braun 2026-04-26 21:28:06 +02:00
  • 6ee8663e9e fix(federation): narrow trust-guard query to inbound rows only Jannis Braun 2026-04-26 21:23:55 +02:00
  • 50bc510e8d feat(federation): outbound gate in ensurePeered with required intent argument Jannis Braun 2026-04-26 21:18:43 +02:00
  • 94c291c472 refactor(shared): rename TriggerReason → PeeringTriggerReason, pin subscribers semantics Jannis Braun 2026-04-26 21:14:51 +02:00
  • 55af76f8b4 feat(shared): types for outbound peering gate (intent, subscriptions, notifications) Jannis Braun 2026-04-26 21:10:32 +02:00
  • 57462e69df docs(schema): comment CHECK invariant on peer_approval_requests Jannis Braun 2026-04-26 21:07:08 +02:00
  • b687bfe721 feat(federation): schema for outbound peering gate (direction column, subscribers, notifications) Jannis Braun 2026-04-26 21:02:27 +02:00
  • c65ff245bd Merge branch 'feat/peer-approval-token' Jannis Braun 2026-04-26 12:12:43 +02:00
  • 94294c64b9 docs(systems): document approval token mechanism Jannis Braun 2026-04-26 11:53:54 +02:00
  • fa7a5f831d feat(federation): /approve forwards token + /approve & /peer/initiate capture on 202 + 200 clear Jannis Braun 2026-04-26 11:52:04 +02:00
  • 058eb992e4 feat(federation): verify approval token before awaiting_approval → active Jannis Braun 2026-04-26 11:48:33 +02:00
  • 9e078c44ba feat(federation): performHandshake captures + clears approval token Jannis Braun 2026-04-26 11:45:16 +02:00
  • 2d8ecd0131 feat(federation): add approval_token columns to peer schema Jannis Braun 2026-04-26 11:44:06 +02:00
  • 4533e36e51 Merge branch 'fix/peer-handshake-trust-bypass' Jannis Braun 2026-04-26 00:16:10 +02:00
  • 11c5a2bf06 fix(federation): refuse outbound handshake when inbound approval pending Jannis Braun 2026-04-26 00:12:42 +02:00
  • d5c9cd297e Merge branch 'feat/s2s-friend-add' Jannis Braun 2026-04-26 00:01:26 +02:00
  • e15661e1bc docs(systems): S2S friend-add — social/client-federation/federation/api Jannis Braun 2026-04-25 23:33:13 +02:00
  • fe969a7d96 fix(web): friend-add error toasts surface raw codes — read err.message, not err.body Jannis Braun 2026-04-25 23:17:19 +02:00
  • 4a939b743f refactor(web): UserProfileModal — toast on server errors, drop ConnectInstanceModal triggers Jannis Braun 2026-04-25 22:35:52 +02:00
  • 7309f44de5 refactor(web): FriendsPage — toast on server errors, drop ConnectInstanceModal triggers Jannis Braun 2026-04-25 22:33:26 +02:00
  • 9d3f75b33c feat(web): WS handlers for friend_request_sent + friend_request_relay_failed Jannis Braun 2026-04-25 22:29:45 +02:00
  • b28bf6646d refactor(socialStore): collapse sendFriendRequest; delete federation error classes Jannis Braun 2026-04-25 22:26:58 +02:00
  • 0677c21ab9 test(federation): buildFriendContextId determinism (cross-instance invariant) Jannis Braun 2026-04-25 22:24:04 +02:00
  • bd70950de7 test(federation): receiver accepts home-queued friend_request_create Jannis Braun 2026-04-25 22:23:04 +02:00
  • d88d369a82 fix(social): friend_request_sent local broadcast must carry target profile Jannis Braun 2026-04-25 22:18:47 +02:00
  • 1ad1fd1b0c feat(social): broadcast friend_request_sent on local request creation Jannis Braun 2026-04-25 22:15:57 +02:00
  • bf13e2a223 feat(social): federated branch — authority + self-friend + idempotency Jannis Braun 2026-04-25 22:12:08 +02:00
  • 72f4b170f6 test(social): federated branch peer-status + lookup-failure mappings Jannis Braun 2026-04-25 22:09:42 +02:00
  • 0574a10ff3 feat(social): federated branch for POST /api/social/requests (happy path) Jannis Braun 2026-04-25 22:04:36 +02:00
  • 08872f1e08 feat(federation): rollbackFriendRequestCreate + side-effect registration Jannis Braun 2026-04-25 21:51:04 +02:00
  • 9e3417485c feat(federation-worker): treat receiver-ack 4xx reasons as terminal + invoke rollback Jannis Braun 2026-04-25 21:46:28 +02:00
  • be3eb5284e feat(federation): permanent-failure callback registry Jannis Braun 2026-04-25 21:42:57 +02:00
  • 03737c0955 feat(federation): resolveOriginFromHostname helper Jannis Braun 2026-04-25 21:41:25 +02:00
  • fbe2fb370b feat(federation): lookupRemoteUser outbound HMAC helper Jannis Braun 2026-04-25 21:37:41 +02:00
  • 03cef0e6b3 feat(federation): POST /api/federation/users/lookup endpoint Jannis Braun 2026-04-25 21:32:49 +02:00
  • 069a1525ea feat(federation): per-peer rate limiter for user lookup (60/min) Jannis Braun 2026-04-25 21:28:44 +02:00
  • bd9657c5d2 fix(db): commit drizzle meta journal/snapshot for 0001 migration Jannis Braun 2026-04-25 21:22:56 +02:00
  • e4086fecff feat(db): add relay_message_id column to friend_requests Jannis Braun 2026-04-25 21:22:25 +02:00
  • 1a9dc547c4 feat(shared): types for federation user lookup + WS events Jannis Braun 2026-04-25 21:19:40 +02:00
  • 1b98b052a1 chore(federation): T1 review polish — top-of-file import + undefined test case Jannis Braun 2026-04-25 21:18:11 +02:00
  • 1b63ca538e feat(federation): normalizeOriginForCompare helper Jannis Braun 2026-04-25 21:14:58 +02:00
  • 39a542a1ec docs(systems): update social.md for search filter + Direct-Add changes Jannis Braun 2026-04-25 19:35:37 +02:00
  • 92a8a6a727 chore(friends): tighten Direct-Add gate consistency Jannis Braun 2026-04-25 19:34:29 +02:00
  • da98d78489 feat(friends): always-visible Direct-Add row with resolved-form display Jannis Braun 2026-04-25 19:32:03 +02:00
  • 781e293cf7 chore(social-client): drop redundant comment, harden defineProperty Jannis Braun 2026-04-25 19:29:06 +02:00
  • fba1f0b87d fix(social-client): lowercase parsed @domain in sendFriendRequest Jannis Braun 2026-04-25 19:20:07 +02:00
  • b5b48e407e test(social): note the shared-state harness contract Jannis Braun 2026-04-25 19:17:50 +02:00
  • 5f5590a3c9 fix(social): normalize username lookup on POST /api/social/requests Jannis Braun 2026-04-25 19:14:31 +02:00