Commit Graph

  • d5c54166a4 fix(migrate): restore storage object xattrs lost in the server move main byGalax 2026-06-02 23:59:46 +02:00
  • f438018400 chore(desktop): release v0.21.11 v0.21.11 byGalax 2026-06-02 23:07:34 +02:00
  • 89003f71a4 fix(desktop): remove chat-switch reveal flicker (decouple from reactions) byGalax 2026-06-02 23:02:07 +02:00
  • b364c53c61 fix(desktop): degrade missing avatar image to letter circle byGalax 2026-06-02 23:02:07 +02:00
  • 9c5456b492 chore(desktop): release v0.21.10 v0.21.10 byGalax 2026-06-02 22:32:52 +02:00
  • b057795735 fix(desktop): stop chat opening at top + flicker on switch byGalax 2026-06-02 22:31:39 +02:00
  • c81a036c4e chore(desktop): release v0.21.9 v0.21.9 byGalax 2026-06-02 21:48:43 +02:00
  • bdc017e609 fix(desktop): MessageList sticks to bottom via ResizeObserver + scroll guard byGalax 2026-06-02 21:47:15 +02:00
  • 27160145f9 chore(desktop): release v0.21.8 v0.21.8 byGalax 2026-06-02 21:37:29 +02:00
  • 8ea2cb48e9 debug(desktop): on-screen scroll-metrics overlay (temporary) byGalax 2026-06-02 21:34:04 +02:00
  • c3ef995404 chore(desktop): release v0.21.7 v0.21.7 byGalax 2026-06-02 21:04:37 +02:00
  • b4ed3aced0 fix(desktop): MessageList anchors via direct scrollTop + flex-1 height byGalax 2026-06-02 21:00:19 +02:00
  • 30d00194be chore(desktop): release v0.21.6 v0.21.6 byGalax 2026-06-02 20:46:53 +02:00
  • 31b394a6e0 chore(desktop): drop react-virtuoso + scroll debug instrumentation byGalax 2026-06-02 20:44:56 +02:00
  • 271d6fff5c feat(desktop): use MessageList in ConversationPage (replace react-virtuoso) byGalax 2026-06-02 20:32:08 +02:00
  • 8b8d71bc4d feat(desktop): TanStack-Virtual MessageList with deferred reveal byGalax 2026-06-02 20:27:31 +02:00
  • 40f36cb182 refactor(desktop): export VirtuosoRow type for MessageList byGalax 2026-06-02 20:26:21 +02:00
  • 2372731504 feat(desktop): expose reactions reveal-gate flag (ready) byGalax 2026-06-02 20:26:00 +02:00
  • 43a99a8d6d feat(desktop): pure scroll-decision logic for new message list byGalax 2026-06-02 20:25:06 +02:00
  • f73abbd860 build(desktop): add @tanstack/react-virtual byGalax 2026-06-02 20:24:15 +02:00
  • e822f6f58f docs(plan): message-list / scroll rewrite implementation plan byGalax 2026-06-02 20:22:28 +02:00
  • 255dbdc712 docs(spec): message-list / scroll rewrite design (TanStack Virtual + deferred reveal) byGalax 2026-06-02 20:16:42 +02:00
  • 51a8630114 chore(desktop): release v0.21.5 v0.21.5 byGalax 2026-06-02 19:41:46 +02:00
  • d539656535 fix(conversation): anchor message list to bottom on chat switch byGalax 2026-06-02 19:39:04 +02:00
  • 5bc30c950c feat(infra): migrate self-hosted backend to netralax.de byGalax 2026-06-02 19:39:04 +02:00
  • 588b843904 chore(desktop): release v0.21.4 v0.21.4 byGalax 2026-05-21 23:12:38 +02:00
  • dbf8030e93 fix(conv-key): rotate-instead-of-share + cache invalidation; fire-first realtime inserts (no sound-vs-text gap) byGalax 2026-05-21 23:10:36 +02:00
  • 615770722e chore(desktop): release v0.21.3 v0.21.3 byGalax 2026-05-21 22:52:50 +02:00
  • f1cba99b9e fix(conv-key): bootstrap re-fetches canonical key after share to handle concurrent race byGalax 2026-05-21 22:51:17 +02:00
  • f60c5c676a chore(desktop): release v0.21.2 v0.21.2 byGalax 2026-05-18 15:40:56 +02:00
  • 8e6be3256d fix(conv-key): rotate on unwrap failure (post-reset_user_key recovery) byGalax 2026-05-18 15:38:31 +02:00
  • 508c53b451 chore(desktop): release v0.21.1 v0.21.1 byGalax 2026-05-18 14:40:29 +02:00
  • e2f86bc377 fix(chat): snap to bottom after send to mask composer-shrink layout shift byGalax 2026-05-18 14:29:31 +02:00
  • 92a6e01a26 fix(chat): instant scroll + larger at-bottom threshold + footer spacer (Discord-clean) byGalax 2026-05-18 14:21:04 +02:00
  • 3d959aaadf fix(chat): auto-rotate stuck conv-keys on chat open (receive-side recovery) byGalax 2026-05-18 14:03:35 +02:00
  • 787437c3f1 chore(desktop): release v0.21.0 v0.21.0 byGalax 2026-05-17 20:04:00 +02:00
  • be5647281d chore(mobile): track expo-generated .gitignore byGalax 2026-05-17 20:00:18 +02:00
  • fc8fc275cb fix(soundboard): mount-once hotkey registration to avoid call-state churn byGalax 2026-05-17 17:49:08 +02:00
  • e19a71e892 feat(profile): preserve animation on GIF/APNG/animated-WebP avatar uploads byGalax 2026-05-17 17:38:07 +02:00
  • 11869be443 feat(soundboard): hotkeys fire outside calls with local-only playback byGalax 2026-05-17 17:33:50 +02:00
  • 3fa8b6dbc1 feat(call): shared annotation overlay on screen share byGalax 2026-05-17 17:30:05 +02:00
  • f9f8e3fdb8 feat(whiteboard): live cursors via broadcast channel byGalax 2026-05-17 17:24:34 +02:00
  • 4ed3f04300 fix(view-once): hold-to-view pattern + content-protection during reveal byGalax 2026-05-17 17:15:14 +02:00
  • a7ffcbff83 feat(voice): playback-speed toggle (1x/1.5x/2x) with per-user default byGalax 2026-05-17 17:09:01 +02:00
  • 82600915f1 feat(composer): persist text + reply target per chat across restarts byGalax 2026-05-17 16:59:34 +02:00
  • 93098a74ca docs(phase8): feature batch implementation plan byGalax 2026-05-17 16:54:56 +02:00
  • c8f0e8efd5 chore(desktop): release v0.20.1 v0.20.1 byGalax 2026-05-17 15:11:11 +02:00
  • fd9b8a88d6 docs(chat-switch): implementation plan for chat-switch flicker fix byGalax 2026-05-17 15:09:43 +02:00
  • ab2f7130fe fix(chat-switch): seed lastPendingCountRef from outbox to suppress mount scroll byGalax 2026-05-17 15:02:40 +02:00
  • b9a3dde1aa refactor(chat-switch): drop redundant id-change reset effect byGalax 2026-05-17 14:54:31 +02:00
  • 65d2446804 fix(chat-switch): remount ConversationPage per conversation id byGalax 2026-05-17 14:51:22 +02:00
  • faa12a4ebb feat(chat-switch): hydrate useConversationMessages from in-memory cache byGalax 2026-05-17 14:43:05 +02:00
  • 37dd1b4f23 feat(chat-switch): in-memory message cache helper byGalax 2026-05-17 14:34:13 +02:00
  • d803773261 chore(desktop): release v0.20.0 v0.20.0 byGalax 2026-05-17 13:21:50 +02:00
  • 49855c5d3f fix(console-noise): pre-warm via auth.getSession + demote stuck crypto-migration logs to debug byGalax 2026-05-17 01:43:53 +02:00
  • c9a64bf898 feat(call): remove live-captions feature (privacy-inconsistent with E2E, unused) byGalax 2026-05-17 01:39:42 +02:00
  • 7f704e80f6 feat(P7.T4): per-attachment view-once toggle on AttachmentPreview pre-phase8 phase7-done byGalax 2026-05-17 01:25:08 +02:00
  • 940432d287 feat(P7.T3): composer toolbar — 5 inline buttons + popover for Bild/Poll/Aktivitäten byGalax 2026-05-17 01:18:32 +02:00
  • 28b6d64936 feat(P7.T2): ComposerActionsMenu popover (Bild/Datei + Umfrage + Aktivitäten group) byGalax 2026-05-17 01:14:34 +02:00
  • 92baa626d6 docs(P7): Phase 7 composer redesign plan (Hybrid: + menu + per-attachment view-once) pre-phase7-composer byGalax 2026-05-17 01:11:04 +02:00
  • cd7ef8dccc fix(P6): AttachmentImage Lightbox blob URL — split unmount-only revoke, lock deps to handle.id byGalax 2026-05-17 01:09:09 +02:00
  • 58efc66ca7 fix(P4A): guard ImageAnnotator load callbacks with cancelled flag (React strict double-mount) byGalax 2026-05-17 01:03:37 +02:00
  • 1e139fb86e fix(P4A): ImageAnnotator effect-race — stabilize onCancel via ref so URL.revoke doesn't fire mid-decode byGalax 2026-05-17 01:01:27 +02:00
  • eeb713f03d fix(P6): convert positional bindings to named-params object for better-sqlite3 byGalax 2026-05-17 00:59:39 +02:00
  • 837b5a326e fix(P6): hoist savedPositionRef above initialTopMostIndex (TDZ) + auto-open DevTools in dev byGalax 2026-05-17 00:56:34 +02:00
  • b1f37752d6 perf(P6C.T12): optimistic UI for mute / mentions-only / archive / pin / device-revoke phase6c-done byGalax 2026-05-17 00:44:28 +02:00
  • 854c4b91a8 perf(P6C.T11): bundle audit + opt-in visualizer for future audits byGalax 2026-05-17 00:35:41 +02:00
  • d3b708636f perf(P6B.T8): virtualize message list with react-virtuoso phase6b-done byGalax 2026-05-17 00:20:41 +02:00
  • c449943b52 perf(P6B.T7): WebP thumbnails for image attachments (320px max, thumb-first render) byGalax 2026-05-17 00:12:03 +02:00
  • db59e3f658 perf(P6B.T6): offload Argon2 + userKey unseal to Web Worker byGalax 2026-05-17 00:05:00 +02:00
  • 6c6828006b feat(P6B.T9): PIN-Idle-Auto-Lock setting + idle watcher byGalax 2026-05-16 23:59:27 +02:00
  • 21376daf39 perf(P6B.T10): i18next tree-shake — prune dead locale keys byGalax 2026-05-16 23:55:04 +02:00
  • 6d0e4fb1f0 perf(P6A.T5): pre-warm Supabase + avatar loading hints phase6a-done byGalax 2026-05-16 23:43:04 +02:00
  • 36ab7eca8a perf(P6A.T4): wrap all icon components in React.memo byGalax 2026-05-16 23:39:47 +02:00
  • ddd696a790 perf(P6A.T3): memoize MessageBubble + stabilize parent callbacks byGalax 2026-05-16 23:30:50 +02:00
  • 53b3b5e1fc perf(P6A.T2): respect prefers-reduced-motion globally + gate confetti byGalax 2026-05-16 23:25:01 +02:00
  • a4573b315d perf(P6A.T1): lazy-load ImageAnnotator/Whiteboard/WatchTogether/GameModal byGalax 2026-05-16 23:22:52 +02:00
  • c271e95100 docs(P6): Phase 6 performance pack plan (Groups A/B/C + deferred channel pooling) byGalax 2026-05-16 23:16:42 +02:00
  • 888ed1b217 feat(P5C.T4): confetti burst on game win pre-phase6-perf byGalax 2026-05-16 22:26:25 +02:00
  • a974e5b8ab feat(P5C.T3): recompute message_mentions on edit byGalax 2026-05-16 22:24:17 +02:00
  • 7ebc5f6c9d feat(P5C.T2): per-conv 'mentions only' toggle + notification gate byGalax 2026-05-16 22:22:04 +02:00
  • b8b451ef4f feat(P5C.T2-sql): conversation_members.mentions_only column byGalax 2026-05-16 22:17:04 +02:00
  • d7c0c3d0a2 feat(P5C.T1): empty-state for empty chat-list search results byGalax 2026-05-16 22:14:33 +02:00
  • 70ce824120 docs(P5C): Phase 5C polish plan (4 spec sub-items) byGalax 2026-05-16 22:12:27 +02:00
  • d10840e0b2 feat(P5B.T6): composer Spielen button + bubble dispatch + game-picker byGalax 2026-05-16 21:58:10 +02:00
  • cd59ee30d6 feat(P5B.T5): GameModal — picks board + turn/winner status byGalax 2026-05-16 21:53:42 +02:00
  • e56e22631b feat(P5B.T4): TicTacToeBoard + ConnectFourBoard render-only components byGalax 2026-05-16 21:51:06 +02:00
  • dbf90504b4 feat(P5B.T3): useGame hook with realtime + makeMove byGalax 2026-05-16 21:49:00 +02:00
  • 256a613134 feat(P5B.T2): GamePayload + games wrappers + winner-detect helpers + tests byGalax 2026-05-16 21:47:36 +02:00
  • e1423dba32 feat(P5B.T1): conversation_games table + game_make_move RPC + RLS + realtime byGalax 2026-05-16 21:42:47 +02:00
  • 7730828403 docs(P5B): Phase 5B implementation plan (Mini-Games) byGalax 2026-05-16 21:39:12 +02:00
  • ecbd11e369 feat(P5A.T5): composer Watch-Together button + bubble dispatch byGalax 2026-05-16 21:30:22 +02:00
  • 7d5f3b37cd feat(P5A.T4): WatchTogetherModal — YouTube IFrame + drift reconcile byGalax 2026-05-16 21:26:59 +02:00
  • 7ce6b1c1d4 feat(P5A.T3): useWatchSession hook with realtime + throttled push byGalax 2026-05-16 21:23:39 +02:00
  • 4399d39f08 feat(P5A.T2): WatchTogetherPayload + wrappers + parseYouTubeUrl + tests byGalax 2026-05-16 21:21:30 +02:00
  • ad239ec549 feat(P5A.T1): conversation_watch_sessions table with RLS + realtime byGalax 2026-05-16 21:16:38 +02:00
  • d1193142ae docs(P5A): Phase 5A implementation plan (Watch-Together / YouTube) byGalax 2026-05-16 21:14:38 +02:00
  • 997252c4cb chore(desktop): release v0.19.1 v0.19.1 byGalax 2026-05-16 21:07:11 +02:00
  • 890d5dc2b7 feat(P4C.T4): SoundboardSettings — sync hook mount + per-row badges + remote-delete byGalax 2026-05-16 21:02:26 +02:00
  • 759113b9ce feat(P4C.T3): useSoundboardSync — initial diff + realtime + debounced push byGalax 2026-05-16 20:58:48 +02:00