-
f981904e7f
feat(P4C.T2): shared soundboards wrappers + sealed-blob crypto + tests
byGalax
2026-05-16 20:53:48 +02:00
-
1fe196b839
feat(P4C.T1): user_soundboards table + soundboards storage bucket + RLS
byGalax
2026-05-16 20:49:10 +02:00
-
1b4cf63e07
docs(P4C): Phase 4C implementation plan (Soundboard Cloud-Sync, E2E encrypted)
byGalax
2026-05-16 20:46:57 +02:00
-
18197a9f95
feat(P4B.T7): MessageBubble renders whiteboard kind with Öffnen button
byGalax
2026-05-16 20:38:03 +02:00
-
383245ec90
feat(P4B.T6): composer 'Whiteboard' button creates board + sends bubble
byGalax
2026-05-16 20:36:03 +02:00
-
5e59ee22f6
feat(P4B.T5): WhiteboardModal — fullscreen container + toolbar + clear-confirm
byGalax
2026-05-16 20:29:24 +02:00
-
be6f5b9c6f
feat(P4B.T4): WhiteboardCanvas — pen/eraser drawing engine
byGalax
2026-05-16 20:27:09 +02:00
-
2243c646ac
feat(P4B.T3): useWhiteboardStrokes hook with INSERT + bulk DELETE realtime
byGalax
2026-05-16 20:25:22 +02:00
-
3df7cc01ea
feat(P4B.T2): WhiteboardPayload + shared whiteboards CRUD wrappers + tests
byGalax
2026-05-16 20:23:45 +02:00
-
f95858c703
feat(P4B.T1): whiteboards + whiteboard_strokes tables with RLS + realtime
byGalax
2026-05-16 20:01:28 +02:00
-
d29e2c1174
docs(P4B): Phase 4B implementation plan (Whiteboard / Snapshot-Sync)
byGalax
2026-05-16 19:59:10 +02:00
-
11a9c8b173
feat(P4A.T4): wire ImageAnnotator into composer attachment preview
byGalax
2026-05-16 19:48:57 +02:00
-
d623a59c87
feat(P4A.T3): annotator toolbar — tool/color/width/undo/redo controls
byGalax
2026-05-16 19:46:00 +02:00
-
2a2e334f51
feat(P4A.T2): annotator drawing engine — pen/arrow/rect/circle/text/highlighter
byGalax
2026-05-16 19:44:04 +02:00
-
9228cc635c
feat(P4A.T1): ImageAnnotator modal skeleton with canvas mount + op-stack types
byGalax
2026-05-16 19:41:36 +02:00
-
7056bfdd1c
docs(P4A): Phase 4A implementation plan (Image Annotation vor Send)
byGalax
2026-05-16 19:38:26 +02:00
-
e8a5d6dc5e
chore(desktop): release v0.19.0
v0.19.0
byGalax
2026-05-16 19:25:55 +02:00
-
c5851195c7
fix(call): strip-toggle icon no longer touches its frame edges
byGalax
2026-05-16 19:21:26 +02:00
-
258ad3511d
fix(screen-share): preset dims no longer crop non-16:9 monitors
byGalax
2026-05-16 19:19:30 +02:00
-
2583613d7f
feat(P3.T7): RemoteRevokedScreen overlay for own-device revocation
byGalax
2026-05-16 19:15:15 +02:00
-
04d9909e92
feat(P3.T6): Settings 'Geräte' tab with revoke + this-device badge
byGalax
2026-05-16 19:13:31 +02:00
-
e05f5445e7
feat(P3.T5): useOwnDevices hook with realtime refresh
byGalax
2026-05-16 19:10:48 +02:00
-
a4f7a16c90
feat(P3.T4): ensure device row + revoke-realtime + revokedRemotely flag
byGalax
2026-05-16 19:08:17 +02:00
-
f6e0e4dd09
feat(P3.T3): app:hostname IPC for device-name default
byGalax
2026-05-16 19:04:03 +02:00
-
d449e128a8
docs(hotfix): screen-share taskbar crop + strip-toggle icon padding plan
byGalax
2026-05-16 18:59:59 +02:00
-
5b0aa24a8d
feat(P3.T2): DeviceRecord.revokedAt + revokeDevice wrapper
byGalax
2026-05-16 18:52:34 +02:00
-
540b506f91
feat(P3.T1): devices.revoked_at + revoke_device RPC + realtime publication
byGalax
2026-05-16 18:48:22 +02:00
-
ede0d00f5b
docs(P3): Phase 3 implementation plan (Session/Device List + Revoke)
byGalax
2026-05-16 18:45:46 +02:00
-
ef1f9f45d8
fix(desktop): swap GIF provider from Tenor (closed Jan 2026) to GIPHY
byGalax
2026-05-16 18:25:18 +02:00
-
95156a65eb
feat(desktop): view-once image attachments (sender toggle + recipient lightbox + tombstone)
byGalax
2026-05-16 18:18:39 +02:00
-
915569db39
feat(shared): mark_attachment_viewed + view_once on AttachmentHandle
byGalax
2026-05-16 18:12:15 +02:00
-
526f9d7bcc
feat(db): message_attachments.view_once + mark_attachment_viewed RPC
byGalax
2026-05-16 18:09:36 +02:00
-
cd79b77e6f
feat(desktop): GIF button + picker wired into composer
byGalax
2026-05-16 18:07:40 +02:00
-
7726498218
feat(desktop): GIF picker popover (Tenor + trending/search/recent)
byGalax
2026-05-16 18:05:45 +02:00
-
f1d9602a76
fix(desktop): read Tenor API key from VITE_TENOR_API_KEY env, no hardcoded credential
byGalax
2026-05-16 18:03:20 +02:00
-
45bcbb449c
feat(desktop): Tenor v2 GIF search/featured/recent client
byGalax
2026-05-16 18:02:01 +02:00
-
ef98efb938
feat(desktop): mention notifications via realtime + osNotify
byGalax
2026-05-16 17:59:57 +02:00
-
7355b343c8
feat(shared): sendEncryptedMessage inserts mention rows after the message row
byGalax
2026-05-16 17:57:52 +02:00
-
1a39c1bb33
feat(shared): parseMentionUsernames + insertMentions helpers
byGalax
2026-05-16 17:55:20 +02:00
-
70209be1de
feat(db): message_mentions table (RLS: mentioned user + author can SELECT)
byGalax
2026-05-16 17:52:40 +02:00
-
3dbeabd268
feat(desktop): pin/unpin from message context menu + side panel
byGalax
2026-05-16 17:51:01 +02:00
-
6bff163f09
feat(desktop): pinned-messages side panel
byGalax
2026-05-16 17:47:39 +02:00
-
ddeedeb71d
feat(desktop): pinned-messages pill in conv header
byGalax
2026-05-16 17:45:43 +02:00
-
7e85ffe548
feat(desktop): usePinnedMessages live hook
byGalax
2026-05-16 17:43:45 +02:00
-
0d30a462b3
feat(shared): pinned-messages list/pin/unpin helpers
byGalax
2026-05-16 17:42:09 +02:00
-
745b8cd69d
feat(db): pinned_messages table (≤5 per conv via trigger)
byGalax
2026-05-16 17:39:42 +02:00
-
5ace6735d8
docs(plan): phase 2 — messaging (pinned / mentions / GIF / view-once)
byGalax
2026-05-16 17:36:21 +02:00
-
ffaa6ceb70
feat(mobile): SecurityCenter — PIN change, recovery, reset, migration retry
byGalax
2026-05-16 17:23:04 +02:00
-
ccac822cb9
feat(mobile): settings hub with security section + signout
byGalax
2026-05-16 17:21:57 +02:00
-
74a0ef6c32
refactor(mobile): chats header opens settings instead of inline logout
byGalax
2026-05-16 17:18:56 +02:00
-
9de2c368bf
feat(desktop): optional wipe-on-close (Settings -> Sicherheit)
byGalax
2026-05-16 17:17:59 +02:00
-
88345420e0
refactor(mobile): AttachmentImage drops device-keyed props
byGalax
2026-05-16 17:17:37 +02:00
-
0354676d2f
refactor(mobile): MessageBubble drops ownDeviceId prop
byGalax
2026-05-16 17:17:30 +02:00
-
cb7bd99fb4
refactor(mobile): conversation detail uses ownUserId + drops senderDeviceId
byGalax
2026-05-16 17:13:47 +02:00
-
3b55fcaf2c
feat(mobile): (app) layout routes by userKeyState
byGalax
2026-05-16 17:11:05 +02:00
-
7ae1d5ba8c
feat(mobile): UserKey unlock screen (PIN entry + recovery tab + reset)
byGalax
2026-05-16 17:09:50 +02:00
-
50bfb5b137
feat(desktop): wipe local crypto + caches on sign-out
byGalax
2026-05-16 17:09:01 +02:00
-
41359816f1
feat(mobile): UserKey setup screen (PIN + optional recovery code)
byGalax
2026-05-16 17:08:47 +02:00
-
8ad212291a
feat(desktop): apply friend nicknames in header / bubble / mentions / call tile
byGalax
2026-05-16 17:06:18 +02:00
-
18a6365586
feat(mobile): PinInput component — 6-digit numeric pad
byGalax
2026-05-16 17:04:25 +02:00
-
898b7469bb
feat(desktop): set-nickname dialog + right-click trigger in friends list
byGalax
2026-05-16 17:01:38 +02:00
-
a5eadef663
feat(desktop): friendNicknames local store + useNickname hook
byGalax
2026-05-16 16:58:14 +02:00
-
e8074e7da0
feat(desktop): empty-state for empty conversation
byGalax
2026-05-16 16:56:27 +02:00
-
88409aff5d
feat(desktop): empty-state for friends list
byGalax
2026-05-16 16:54:12 +02:00
-
b7d7a85253
feat(desktop): empty-state for chat list
byGalax
2026-05-16 16:51:37 +02:00
-
502c6af1b8
feat(desktop): EmptyState primitive component
byGalax
2026-05-16 16:49:16 +02:00
-
adc9686035
refactor(mobile): AuthProvider exposes userKeyState instead of device record
byGalax
2026-05-16 16:47:55 +02:00
-
472665b980
fix(desktop): tray badge — IPC handler died when icon.ico missing from packaged resources
byGalax
2026-05-16 16:47:19 +02:00
-
c52c65faa9
feat(mobile): userIdentity orchestrator (setup/unlock/cache/change-PIN/reset)
byGalax
2026-05-16 16:43:50 +02:00
-
79f1786ac6
feat(desktop): Settings — 🌐 Global toggle per voice hotkey
byGalax
2026-05-16 16:43:00 +02:00
-
ca77214e2d
fix(desktop): voice hotkeys are window-scoped unless Global is toggled
byGalax
2026-05-16 16:41:20 +02:00
-
8c27e8eafa
feat(mobile): legacyDeviceVault helper for per-device key probing
byGalax
2026-05-16 16:41:18 +02:00
-
69733168ed
feat(desktop): add 'global' flag to voice hotkey binding (default false)
byGalax
2026-05-16 16:38:51 +02:00
-
bf87add18d
feat(mobile): extend cryptoBackend with pwhash + scalarMultBase
byGalax
2026-05-16 16:37:09 +02:00
-
c871687fd2
refactor(desktop): derivePublicKey via CryptoBackend.scalarMultBase
byGalax
2026-05-16 16:35:36 +02:00
-
61a1eb37ea
refactor(shared): route userKey through CryptoBackend (no libsodium-wrappers-sumo)
byGalax
2026-05-16 16:33:50 +02:00
-
9b9802ff6e
docs(plan): phase 1 — quality & fixes (hotkey-bug, tray-audit, empty-states, nicknames, memory-wipe)
byGalax
2026-05-16 16:33:38 +02:00
-
2463081949
feat(shared): extend CryptoBackend with pwhash + scalarMultBase
byGalax
2026-05-16 16:30:52 +02:00
-
1eea80c529
chore(mobile): check:env script lints .env.local against .env.example
byGalax
2026-05-16 16:27:21 +02:00
-
830dac4cdd
fix(mobile): defer crypto backend init into AppBootstrap (prevents white-screen)
byGalax
2026-05-16 16:25:10 +02:00
-
cb46483f5d
feat(mobile): AppBootstrap boundary — defers crypto init, catches global throws
byGalax
2026-05-16 16:24:34 +02:00
-
87fed820dc
feat(mobile): BootSplash + BootError fallback views for AppBootstrap
byGalax
2026-05-16 16:23:26 +02:00
-
fca5211008
docs(spec): fifteen-features initiative (0.19.0) — 5 phases, single end-of-batch release
byGalax
2026-05-16 16:21:32 +02:00
-
c430a590fc
fix(mobile): lazy env proxy so missing EXPO_PUBLIC vars throw inside React
byGalax
2026-05-16 16:21:02 +02:00
-
3b884b0415
docs(mobile): document EAS Secrets contract for EXPO_PUBLIC_*
byGalax
2026-05-16 16:14:23 +02:00
-
affff0b433
docs(plan): mobile encryption port + Android white-screen RCA plans
byGalax
2026-05-16 16:01:51 +02:00
-
a5c0889b0a
docs: mobile encryption-UX port + Android white-screen RCA specs (2026-05-16)
byGalax
2026-05-16 15:46:40 +02:00
-
90fa0a7e95
chore(desktop): release v0.18.8
v0.18.8
byGalax
2026-05-16 15:35:24 +02:00
-
767db72847
fix(desktop): drop bright border on Settings SubSection cards
byGalax
2026-05-16 15:33:36 +02:00
-
0288d7a476
chore(desktop): release v0.18.7
v0.18.7
byGalax
2026-05-16 15:30:14 +02:00
-
34b972ec2a
refactor(desktop): Settings = tab pattern instead of scroll + observer
byGalax
2026-05-16 15:28:03 +02:00
-
c55173800b
chore(desktop): release v0.18.6
v0.18.6
byGalax
2026-05-16 01:13:54 +02:00
-
fc9f1ec143
fix(desktop): Settings sidebar redirected to /chats instead of scrolling
byGalax
2026-05-16 01:12:50 +02:00
-
12e4b597a0
chore(desktop): release v0.18.5
v0.18.5
byGalax
2026-05-16 01:09:54 +02:00
-
5c05afb009
feat(desktop): redesign Settings + fix unreadable bubble text
byGalax
2026-05-16 01:08:28 +02:00
-
a636a3c1c1
chore(desktop): release v0.18.4
v0.18.4
byGalax
2026-05-16 01:00:34 +02:00
-
c9fe4879e0
fix(shared): stop sending fake install-id as messages.sender_device_id
byGalax
2026-05-16 00:58:57 +02:00
-
61462516d2
chore(desktop): release v0.18.3
v0.18.3
byGalax
2026-05-16 00:49:32 +02:00
-
d39a0fb6dc
fix: stop reset_user_key from wiping conv-key bundles + auto-rotate stuck convs
byGalax
2026-05-16 00:48:28 +02:00
-
9207f473cd
chore(desktop): release v0.18.2
v0.18.2
byGalax
2026-05-16 00:27:54 +02:00