2026-05-05 - 2026-11-05

Overview

146 Active Pull Requests
338 Active Issues
Excluding merges, 5 authors have pushed 1013 commits to lotus and 1294 commits to all branches. On lotus, 1132 files have changed and there have been 129038 additions and 47632 deletions.

141 Pull requests merged by 1 user

Merged #486 fix(status): read the public Kuma page, with notices scoped by a prefix 2026-11-04 21:47:14 -05:00

Merged #485 feat(calls): change noise suppression mid-call without rejoining 2026-10-30 21:40:26 -04:00

Merged #484 chore(deps): Element Call 0.28.0-lotus.3 (DeepFilterNet fixes) 2026-10-30 20:20:00 -04:00

Merged #483 fix(denoise-tester): play models in both ears; match the call's DeepFilterNet strength 2026-10-30 19:30:49 -04:00

Merged #482 feat(settings): make DTLN the default ML noise-suppression model 2026-10-30 15:42:48 -04:00

Merged #481 fix(settings): measured CPU and download figures for the noise-suppression models 2026-10-29 21:57:15 -04:00

Merged #480 fix(call): keep browser AGC on with ML noise suppression (DeepFilterNet "makes people quiet") 2026-10-29 21:44:23 -04:00

Merged #479 feat(bridge): Discord badge on bridged users and a header chip on bridged rooms 2026-10-28 22:27:42 -04:00

Merged #478 fix(call): send theme changes only once the call frame is ready (postMessage origin error) 2026-10-28 20:52:06 -04:00

Merged #477 fix(denoise): ship the DeepFilterNet 3 worklet as a file so it starts in the desktop app 2026-10-28 20:42:25 -04:00

Merged #476 test(e2e): scheduled messages and offline outbox; retry rate-limited scheduled-message calls 2026-10-28 07:03:36 -04:00

Merged #475 fix(presence): your own status shows at once (and clears) in the member list 2026-10-28 06:50:03 -04:00

Merged #474 fix(auth): SSO confirmation works in the desktop app; allow switching to SSO 2026-10-26 12:12:02 -04:00

Merged #470 chore(build): ship only the DTLN files that can load (-9 MB) (#210) 2026-10-25 22:48:05 -04:00

Merged #469 fix(status): status changes apply at once instead of waiting out the rate limit 2026-10-25 21:21:10 -04:00

Merged #468 chore(types): typed secret storage key cache; drop the cryptoCallbacks cast (#210) 2026-10-25 20:33:51 -04:00

Merged #467 feat(settings): search across all settings (#453 phase 3) 2026-10-25 19:38:23 -04:00

Merged #466 feat(settings): new settings pages, collapsed pickers, privacy choice, grouped calls (#453 phase 2) 2026-10-25 12:45:41 -04:00

Merged #465 chore(deps): sanitize-html 2.18.1, i18next-http-backend 4.0.3 [security] 2026-10-25 12:18:51 -04:00

Merged #464 feat(settings): quick wins from the settings audit (#453 phase 1) 2026-10-25 02:48:57 -04:00

Merged #454 feat(settings): export / import your data (#114) 2026-10-25 02:16:05 -04:00

Merged #452 feat(security): nudge to sign out sessions unused for 3 months (#113) 2026-10-25 00:43:15 -04:00

Merged #451 feat(call): full-screen call when a phone is turned sideways (#126) 2026-10-24 23:13:17 -04:00

Merged #450 feat(call): ask before joining when your usual mic / headphones are missing (#121) 2026-10-24 21:30:23 -04:00

Merged #449 feat(auth): offer native OAuth sign-in on servers like matrix.org 2026-10-24 16:36:37 -04:00

Merged #448 chore(deps): Element Call 0.28.0-lotus.1 (#201) 2026-10-24 03:02:12 -04:00

Merged #447 chore(deps): matrix-js-sdk 41.7 → 44.0 (#201) 2026-10-24 01:31:40 -04:00

Merged #446 feat(e2ee): tell the user when their device's key uploads are stuck (#201 KE-1) 2026-10-24 00:11:29 -04:00

Merged #445 feat(desktop): keep the login tokens only in the OS keychain (#105 step 2) 2026-10-23 20:59:25 -04:00

Merged #444 feat(embeds): Vimeo live events play inline (#200) 2026-10-21 00:14:22 -04:00

Merged #443 feat(widgets): keep a widget on screen while you navigate away (#205) 2026-10-20 22:21:48 -04:00

Merged #442 feat(call): Details card after a call, with who/why/numbers/activity (#253) 2026-10-20 21:37:26 -04:00

Merged #441 feat(widgets): open a widget in its own window (#205) 2026-10-20 21:05:13 -04:00

Merged #440 fix(touch): harden long-press for iOS (#199) 2026-10-20 20:47:19 -04:00

Merged #439 chore(types): fewer any casts; eslint ratchet 36 → 29 (#210) 2026-10-20 20:17:01 -04:00

Merged #438 chore(deps): element-call lotus.28, soundboard in voice channels with a call policy (EC #47) 2026-10-20 00:04:52 -04:00

Merged #437 fix(call): one-row phone call bar with self-view; screenshare-audio mute only when useful (#265, #277) 2026-10-19 18:11:32 -04:00

Merged #436 fix(a11y): dialog names, aria-pressed, labels, avatar alt, placeholder contrast (#278) 2026-10-19 17:06:38 -04:00

Merged #435 fix(copy): soundboard wording, deafen hint, pin typo; keep Reddit context= (#279, #280) 2026-10-19 16:54:31 -04:00

Merged #434 feat(about): show the desktop version and the web build's commit and date (#276) 2026-10-19 16:42:08 -04:00

Merged #433 fix(schedule): limit to 24 hours ahead with a clear message (#275) 2026-10-19 16:28:35 -04:00

Merged #432 fix(sync): "Connecting…" only while catching up, not for 30 s after load (#274) 2026-10-19 16:15:39 -04:00

Merged #431 fix(ui): receipt pill, insights counts, settings dividers, decoration preview (#269-#273) 2026-10-19 15:59:47 -04:00

Merged #430 fix(outbox): two tabs no longer overwrite each other's queue (#268) 2026-10-19 15:31:01 -04:00

Merged #429 fix(security): widget consents and shared files cleared on logout; forged shares refused (#266, #267) 2026-10-19 15:18:58 -04:00

Merged #428 fix(room): one width for every right-hand panel (#263) 2026-10-19 14:54:18 -04:00

Merged #427 fix(topic): keep URLs, aliases and user IDs intact in room topics (#262) 2026-10-19 14:41:04 -04:00

Merged #426 fix(acl): a missing allow_ip_literals means allowed (#261) 2026-10-19 14:21:18 -04:00

Merged #425 feat(lotus): load avatar decorations from chat.lotusguild.org (matrix #22) 2026-10-19 13:43:55 -04:00

Merged #418 fix(calls): the call bar shows "Call disconnected" and reconnects when sync is back (#318) 2026-10-19 12:42:08 -04:00

Merged #422 fix(desktop): the Linux update command verifies the signed SHA256SUMS before installing (cinny-desktop #36) 2026-10-19 04:40:02 -04:00

Merged #420 perf: load the Settings dialog on demand; entry chunk 351.8 → 277.1 kB gzip 2026-10-19 02:56:11 -04:00

Merged #424 fix(presence): Do Not Disturb is real "busy" presence and keeps your status (#283) 2026-10-19 02:44:21 -04:00

Merged #423 fix(threads): viewing a room no longer reads threads you don't follow (#314) 2026-10-19 02:33:26 -04:00

Merged #421 fix(profile): private notes say they are stored unencrypted on the homeserver (#329) 2026-10-19 02:07:07 -04:00

Merged #417 fix(calls): the call-bar output menu uses the call frame's devices (#310) 2026-10-19 01:13:20 -04:00

Merged #414 feat(calls): minimise the call PiP to a small bar; phones start minimised (#323) 2026-10-19 01:00:20 -04:00

Merged #409 fix(translate): no "use the Lotus desktop app" advice inside the desktop app (#349) 2026-10-19 00:47:26 -04:00

Merged #394 fix(status): any Lotus device clears an auto-expiring status, not just the one that set it (#300) 2026-10-19 00:35:05 -04:00

Merged #419 ci: re-seed the bundle budget after the October audit fix batch 2026-10-18 23:28:47 -04:00

Merged #415 fix(calls): explain when the soundboard is not allowed in a voice channel (EC #47) 2026-10-18 11:24:50 -04:00

Merged #413 fix(calls): say when ML noise suppression fails or falls back; drop the spoofable listener (#260) 2026-10-18 10:53:40 -04:00

Merged #412 docs: document the 55 features missing from LOTUS_FEATURES.md; refresh the Synapse re-check (#294) 2026-10-18 10:34:24 -04:00

Merged #411 fix(settings): desktop-only settings get their own Desktop section (#290) 2026-10-18 10:18:10 -04:00

Merged #410 fix(dev): ML noise suppression works on npm start; no lotusTheme warning per call (#293) 2026-10-18 09:59:53 -04:00

Merged #408 fix(pwa): the installed app can rotate, and "New Message" opens a new DM (#292) 2026-10-18 09:23:22 -04:00

Merged #407 fix(translate): say why Translate did nothing (#287) 2026-10-18 08:59:31 -04:00

Merged #416 fix(desktop): without a tray, the first-close dialog defaults to Quit (cinny-desktop #37) 2026-10-18 08:18:31 -04:00

Merged #399 fix(media): "Compress image" no longer blackens transparent images or freezes animations (#331) 2026-10-18 07:23:10 -04:00

Merged #406 fix(consent): a retry that fails again reopens the terms prompt (#311) 2026-10-18 06:51:24 -04:00

Merged #405 fix(privacy): "Remove Photo Metadata" also covers emoji/sticker packs and badges (#332) 2026-10-18 06:31:32 -04:00

Merged #404 fix(previews): no genuine preview card for a site a deceptive link only pretends to be (#286) 2026-10-18 06:15:47 -04:00

Merged #403 fix(previews): a page can no longer pose as a YouTube (etc.) player via its og:url (#326) 2026-10-18 05:54:22 -04:00

Merged #402 fix(settings): valid HTML in setting tiles; start uploads in an effect (#291) 2026-10-18 05:37:07 -04:00

Merged #401 fix(a11y): the keyboard shortcuts dialog lists every shortcut (#334) 2026-10-18 05:21:22 -04:00

Merged #400 fix(forward): warn when forwarding out of an encrypted room into one that is not (#330) 2026-10-18 05:05:18 -04:00

Merged #398 fix(calls): no "the shared window was closed" toast when an admin turns sharing off (#297) 2026-10-18 04:23:19 -04:00

Merged #397 fix(notifications): notification replies re-check encryption at send time and use the right account (#299) 2026-10-18 03:55:02 -04:00

Merged #396 fix(calls): the call PiP no longer opens on top of the composer (#323) 2026-10-18 03:24:14 -04:00

Merged #395 fix(notifications): in-app toasts no longer need browser notification permission (#324) 2026-10-18 03:06:13 -04:00

Merged #393 fix(notifications): timed mutes are lifted by any Lotus device, not just the one that set them (#333) 2026-10-18 02:22:22 -04:00

Merged #392 fix(moderation): policy viewer lists a stable rule and its legacy twin once (#321) 2026-10-18 02:05:13 -04:00

Merged #391 fix(security): a dismissed status announcement no longer hides the security nudge (#307) 2026-10-18 01:49:48 -04:00

Merged #390 fix(status): banner Details strips Markdown syntax, not every #, _, >, * (#308) 2026-10-18 01:33:18 -04:00

Merged #389 fix(calls): DM-aware rejoin toast, and no rejoining a DM call that ended (#302) 2026-10-18 01:16:24 -04:00

Merged #388 fix(search): an edited message shows once, with its latest text (#288) 2026-10-18 00:59:47 -04:00

Merged #387 fix(sidebar): the room filter hides empty sections and says when nothing matches (#289) 2026-10-18 00:45:29 -04:00

Merged #386 fix(composer): Escape closes the emoji and sticker boards (#304) 2026-10-18 00:27:07 -04:00

Merged #385 fix(calls): the call-failed screen gets a Try again button (#301) 2026-10-18 00:08:26 -04:00

Merged #384 fix(share): room share and invite links open Lotus Chat, not matrix.to (#285) 2026-10-17 23:50:19 -04:00

Merged #383 fix(polls): you can vote on a poll you just created (#284) 2026-10-17 23:26:31 -04:00

Merged #382 fix(schedule): load scheduled messages from the server; offer to cancel them at logout (#322) 2026-10-17 23:05:40 -04:00

Merged #381 fix(calls): one delayed-event restart in flight per id, with a timeout (#318) 2026-10-17 22:37:02 -04:00

Merged #375 fix(calls): Reject sends the decline to the ring notification (#313) 2026-10-17 22:13:55 -04:00

Merged #380 fix(status): show a strip when the homeserver hangs, not 110 s later (#317) 2026-10-17 21:58:24 -04:00

Merged #368 fix(timeline): media gallery / activity log no longer make the timeline drop messages (#259) 2026-10-17 21:37:09 -04:00

Merged #379 fix(calls): lift CallControl's listener limit so ended calls can be freed (#316) 2026-10-17 21:19:13 -04:00

Merged #378 fix(calls): starting a call in a voice channel no longer @room-pings everyone (#295) 2026-10-17 20:38:38 -04:00

Merged #377 fix(reactions): the reactions row no longer flickers or loses its spacing (#305) 2026-10-17 20:07:28 -04:00

Merged #376 fix(rooms): members can start and join calls in new private rooms (#328) 2026-10-17 19:54:43 -04:00

Merged #369 fix(dialogs): Enter in Poll, Schedule, Report dialogs no longer discards input (#315) 2026-10-17 18:35:55 -04:00

Merged #374 fix(messages): the delivery indicator updates when a send completes (#306) 2026-10-17 17:51:45 -04:00

Merged #373 fix(rooms): upgrading a room keeps its Lotus settings (#327) 2026-10-17 17:51:42 -04:00

Merged #372 fix(notifications): quiet hours start and end while the app stays open (#325) 2026-10-17 17:51:40 -04:00

Merged #371 fix(logout): no draft or search opt-in left behind after logout (#319, #296) 2026-10-17 17:51:34 -04:00

Merged #370 fix(fonts): the app uses Inter again (#320) 2026-10-17 17:51:27 -04:00

Merged #367 fix(retention): a tiny or brand-new retention value can't wipe a room (#298) 2026-10-16 22:48:19 -04:00

Merged #366 fix(startup): Firefox no longer hangs on "Heating up" after login (#303) 2026-10-16 22:36:53 -04:00

Merged #365 fix(calls): a finished call no longer rings again after a reload (#312) 2026-10-16 22:24:05 -04:00

Merged #364 fix(rooms): "Rename for me" names in search results, inbox and threads (#336) 2026-10-16 22:12:55 -04:00

Merged #363 fix(calls): no "Missed call" in voice rooms or space channels 2026-10-16 21:06:57 -04:00

Merged #361 perf(backgrounds): animated chat backgrounds cost ~5% CPU instead of 50 to 70% (#337) 2026-10-16 20:52:35 -04:00

Merged #360 fix(security): link warning no longer bypassed by a sentence or shared hosting (#335) 2026-10-16 19:59:20 -04:00

Merged #362 test(e2e): allow the register probe's 403 now that sign-up is closed 2026-10-16 19:33:44 -04:00

Merged #359 fix(rooms): "Rename for me" names in Ctrl+K, forward/share pickers and notifications (#336) 2026-10-12 16:44:09 -04:00

Merged #358 fix(messages): collapsed long messages work with the keyboard and on any background (#343) 2026-10-12 16:44:00 -04:00

Merged #357 fix(logout): clear the call-volume list and settings-sync stamp (#347) 2026-10-12 16:07:43 -04:00

Merged #356 fix(settings): "ENTER for Newline" stays per device (#348) 2026-10-12 16:07:34 -04:00

Merged #355 fix(presence): leaving Do Not Disturb restores your status instead of "dnd" (#283) 2026-10-12 13:12:51 -04:00

Merged #354 fix(presence): Invisible, Hide Online Status, Idle and DND stick (#282) 2026-10-12 12:53:56 -04:00

Merged #353 fix(location): confirm before sharing, with accuracy and an approximate option (#340) 2026-10-11 23:23:06 -04:00

Merged #352 fix(reminders): a reminder stays until you've seen it (#338) 2026-10-11 23:22:57 -04:00

Merged #351 fix(calls): "Channel Full" counts people, not devices (#342) 2026-10-11 22:57:38 -04:00

Merged #350 fix(presence): closing a tab no longer erases your custom status (#339) 2026-10-11 22:57:25 -04:00

Merged #344 fix(embeds): GIF previews keep their own size and shape (#341) 2026-10-11 00:53:26 -04:00

Merged #346 deps: fix the npm audit advisories that turned CI red (#345) 2026-10-11 00:53:12 -04:00

Merged #258 Device-security nudge: verify this device / key backup (#110, #123) 2026-09-30 21:03:23 -04:00

Merged #256 Desktop updates: Linux package installs update via their package manager 2026-09-30 20:09:51 -04:00

Merged #257 deps: brace-expansion 1.1.21 (unblocks CI audit) 2026-09-30 19:41:39 -04:00

Merged #255 Homeserver status banner from Uptime Kuma (#124) 2026-09-29 12:29:00 -04:00

Merged #254 Desktop: mirror the login tokens into the OS keychain (#105, step 1) 2026-09-29 09:34:58 -04:00

Merged #252 Desktop: call page on its own loopback origin, opt-in (#43) 2026-09-29 09:34:49 -04:00

Merged #251 A stalled server no longer reads as "your clock is ahead" 2026-09-28 22:40:14 -04:00

Merged #250 Offline outbox: unsent messages survive reload and retry (#112) 2026-09-28 22:08:29 -04:00

Merged #249 Desktop: Lotus links use the public web app and open in-app (#248) 2026-09-28 19:53:20 -04:00

Merged #247 Polls: readable poll card: counts, visible bars/indicators, no chip overflow (#246) 2026-09-27 23:28:48 -04:00

Merged #245 Desktop without WebRTC: "Open in browser" instead of a dead end (cinny-desktop #21) 2026-09-27 17:10:51 -04:00

Merged #244 Screenshare stays on the call bar in Firefox/Safari via the in-frame prompt (#43) 2026-09-27 13:54:11 -04:00

Merged #243 Optional Element Call origin via config.json elementCallUrl (#43) 2026-09-27 02:24:48 -04:00

Merged #242 Seasonal: Halloween redesign (#239), needs human approval 2026-09-25 15:33:53 -04:00

Merged #241 Seasonal: Autumn redesign (#237), needs human approval 2026-09-25 14:29:08 -04:00

5 Pull requests proposed by 2 users

Proposed #3 Sw dev fix 2026-08-02 18:35:57 -04:00

Proposed #4 Update packages 2026-08-02 19:27:10 -04:00

Proposed #471 feat(seasonal): Christmas redesign (#240) — awaiting human review 2026-10-25 23:10:48 -04:00

Proposed #472 feat(seasonal): New Year redesign (#230) — awaiting human review 2026-10-25 23:24:19 -04:00

Proposed #473 feat(seasonal): Lunar New Year redesign (#231) — awaiting human review 2026-10-25 23:34:43 -04:00

311 Issues closed from 2 users

Closed #210 Build / typing hygiene notes: lotusDenoise closeBundle fs work, types/matrix drift vs the SDK, gradual as any cleanup 2026-10-25 22:48:05 -04:00

Closed #453 [tracking] Settings audit: layout, readability and UX 2026-10-25 19:40:22 -04:00

Closed #463 [settings] Search across all settings 2026-10-25 19:39:10 -04:00

Closed #89 Client audit 2026-09 — tracking index 2026-10-25 19:25:54 -04:00

Closed #281 Client audit 2026-10: tracking index 2026-10-25 19:25:11 -04:00

Closed #458 [settings] "Export Messages Data" is an encryption key export: rename and move it 2026-10-25 19:24:30 -04:00

Closed #460 [settings] Collapse the big picker grids (chat background, seasonal theme, avatar decoration) 2026-10-25 12:45:42 -04:00

Closed #461 [settings] Privacy: move URL previews in, merge the two read-receipt switches 2026-10-25 12:45:42 -04:00

Closed #462 [settings] Calls: fixed sub-groups and clearer titles 2026-10-25 12:45:42 -04:00

Closed #459 [settings] Split General into pages people would look for 2026-10-25 12:45:41 -04:00

Closed #455 [settings] One theme control instead of System Theme + a greyed-out Theme dropdown 2026-10-25 02:48:58 -04:00

Closed #456 [settings] Copy pass: sentence case, grammar fixes, plain names 2026-10-25 02:48:58 -04:00

Closed #457 [settings] Remove the "Block Messages" stub; hide options that can't work in this build 2026-10-25 02:48:58 -04:00

Closed #114 [planning] Export / import my data (bookmarks, notes, settings, sections) — design session needed 2026-10-25 02:16:05 -04:00

Closed #113 [planning] Session hygiene nudges — design session needed 2026-10-25 00:43:15 -04:00

Closed #126 [planning] Landscape phone in a call: full-bleed call, hide sidebar/header 2026-10-24 23:13:18 -04:00

Closed #121 [planning] Expected-device check on call join: warn when your usual mic/headphones are missing 2026-10-24 21:30:23 -04:00

Closed #105 [research] Desktop: store the access token in the OS keychain + idle lock 2026-10-23 20:59:26 -04:00

Closed #111 [research] Space notice / MOTD banner — pick the spec-compliant data source 2026-10-23 19:52:27 -04:00

Closed #100 Process: no CODEOWNERS or required review — a single push to lotus deploys to production in ~11 minutes 2026-10-23 16:04:00 -04:00

Closed #115 [decide] Pre-join connection check (RTT/jitter probe to LiveKit shown as signal bars) 2026-10-23 16:02:21 -04:00

Closed #133 [decide] One-sentence "who can see this" line in room settings 2026-10-23 16:02:19 -04:00

Closed #200 Inline media embeds: remaining providers (low priority) 2026-10-22 20:31:50 -04:00

Closed #205 Room Widgets v1 follow-ups: capability-approval consent prompt, Jitsi/stickerpicker types, account-data widgets, per-widget popout 2026-10-20 22:22:31 -04:00

Closed #253 Improve "Call was good" message after a call to be more detailed and less vague 2026-10-20 21:37:27 -04:00

Closed #277 Call bar always shows 'Mute Screenshare Audio' (a speaker icon), even when nobody is sharing 2026-10-19 18:11:34 -04:00

Closed #265 Phone (portrait) call: call controls wrap to 4 rows (~40% of the screen) and your own tile isn't shown 2026-10-19 18:11:32 -04:00

Closed #278 Accessibility: axe-core findings across the main screens 2026-10-19 17:06:38 -04:00

Closed #280 Tracking stripper removes Reddit context=, which changes what a comment permalink shows 2026-10-19 16:54:32 -04:00

Closed #279 Copy nits: room soundboard text talks about a 'space', Push to Deafen help, a pinned-messages typo 2026-10-19 16:54:31 -04:00

Closed #276 Desktop build number isn't shown anywhere, and the web version is a static string 2026-10-19 16:42:08 -04:00

Closed #275 Schedule Message lets you pick a time beyond 24 h; the server rejects it with a raw technical error 2026-10-19 16:28:35 -04:00

Closed #274 'Connecting…' strip stays about 30 s after the app is already usable 2026-10-19 16:15:39 -04:00

Closed #272 Avatar Decoration settings: the preview is an invisible circle and never shows your own avatar 2026-10-19 15:59:50 -04:00

Closed #273 Settings layout: grouped settings run together, and the Sync tile is squeezed on phones 2026-10-19 15:59:50 -04:00

Closed #271 Settings → Calls: the Noise Suppression description renders at body size, larger than every other description 2026-10-19 15:59:49 -04:00

Closed #270 Room Insights: the top 'Most Active Members' bar pushes its message count out of view 2026-10-19 15:59:48 -04:00

Closed #269 Read-receipt avatars float at the end of the message text instead of the message's right edge 2026-10-19 15:59:47 -04:00

Closed #268 Offline outbox: two open tabs overwrite each other's saved queue 2026-10-19 15:31:01 -04:00

Closed #267 Share target: any website can POST into /share-target, and stashed shared files aren't cleared on logout 2026-10-19 15:18:59 -04:00

Closed #266 Widget consents survive logout, and the protected-state list misses space and call state 2026-10-19 15:18:58 -04:00

Closed #263 Room header: opening Threads or Gallery shifts the header icons, so a second click opens Widgets instead of closing the panel 2026-10-19 14:54:18 -04:00

Closed #262 Room topic editor mangles URLs and aliases that contain _ or * (broken links for every client) 2026-10-19 14:41:04 -04:00

Closed #261 Server ACL settings treat a missing allow_ip_literals as false, so the first save silently blocks IP-literal servers 2026-10-19 14:21:18 -04:00

Closed #264 Phone: composer emoji/sticker board opens 31 px off the left edge of the screen 2026-10-19 14:19:10 -04:00

Closed #260 ML noise-suppression failures are never shown: io.lotus.denoise_state is unhandled, and the old lotus-denoise-status listener is dead and accepts any window 2026-10-19 14:00:47 -04:00

Closed #318 During a homeserver stall the call widget's delayed-event restarts pile up in the host (burst of 404/429 on recovery), and the host keeps showing "in call" after Element Call reports Connection lost 2026-10-19 12:42:08 -04:00

Closed #291 Invalid HTML nesting in Settings: blocks inside the tile description's <p> (React warnings on every Settings page) 2026-10-19 12:16:09 -04:00

Closed #330 Forwarding out of an encrypted room gives no warning: the text (and a re-uploaded plaintext attachment) becomes server-readable, and the original author's ID goes along 2026-10-19 12:16:09 -04:00

Closed #283 Do Not Disturb overwrites your status message with "dnd", and the "dnd" stays after you switch back 2026-10-19 02:44:21 -04:00

Closed #314 Opening a room silently marks every thread you don't follow as read, so the Threads panel's "Unread" filter never shows them 2026-10-19 02:33:26 -04:00

Closed #329 "Private Note — Notes only visible to you" is stored in plaintext account data that homeserver admins can read 2026-10-19 02:07:07 -04:00

Closed #310 Call-bar audio output switch can't select a specific device: the host's deviceIds mean nothing inside the call iframe 2026-10-19 01:13:20 -04:00

Closed #323 Call PiP opens on top of the composer (covers Send and Emoji; on phones the whole message box), with no way to minimise it 2026-10-19 01:00:29 -04:00

Closed #349 "On-device translation isn't available… use … the Lotus desktop app": the Linux and macOS desktop apps (WebKit) can't translate either, and they show this advice to people already in the app 2026-10-19 00:47:27 -04:00

Closed #300 Status auto-clear only works on the device that set it, and only while that device is open 2026-10-19 00:35:06 -04:00

Closed #294 LOTUS_FEATURES.md is missing ~55 shipped features 2026-10-18 10:34:24 -04:00

Closed #290 Desktop-only settings are mixed into the Appearance section 2026-10-18 10:18:10 -04:00

Closed #293 ML noise suppression can't be tested with npm start, and every call logs a lotusTransparent/lotusTheme warning 2026-10-18 09:59:53 -04:00

Closed #292 Installed PWA is locked to portrait, and the "New Message" shortcut just opens the home page 2026-10-18 09:23:22 -04:00

Closed #287 Translate silently does nothing when the language can't be detected, or the message is already in your language 2026-10-18 08:59:31 -04:00

Closed #331 "Compress image before uploading" turns transparent WebP/GIF backgrounds black and animated GIF/WebP into a still JPEG 2026-10-18 07:23:10 -04:00

Closed #311 Terms-consent prompt: every close (including "I've accepted — retry") snoozes it for 10 s, so a retry that fails again is silent 2026-10-18 06:51:25 -04:00

Closed #332 "Remove Photo Metadata" doesn't cover emoji/sticker pack images, pack avatars or power-level badges, all of which are published to the whole room or space 2026-10-18 06:31:32 -04:00

Closed #286 A link whose text names a different site still gets a genuine preview card for the site it pretends to be 2026-10-18 06:15:47 -04:00

Closed #326 Any website can make its link render as a playable YouTube (or other provider) card: the embed is resolved from the page's own og:url 2026-10-18 05:54:22 -04:00

Closed #334 Keyboard shortcuts dialog (?) lists 7 shortcuts and omits Ctrl+K, ↑ to edit, all composer formatting keys and your push-to-talk/deafen keys 2026-10-18 05:21:22 -04:00

Closed #297 When a room admin turns off screen sharing, the sharer gets two contradictory toasts 2026-10-18 04:23:19 -04:00

Closed #299 Replying from a browser notification doesn't re-check room encryption at send time, and posts with the newest session rather than the notification's account 2026-10-18 03:55:02 -04:00

Closed #324 In-app message toasts only appear if the browser's notification permission is granted, so people who declined (or were never asked) get no in-app toasts 2026-10-18 03:06:13 -04:00

Closed #333 "Mute for 1 hour" mutes the room on every device but only the device that set it ever unmutes it 2026-10-18 02:22:22 -04:00

Closed #321 Policy list viewer double-lists rules a bot publishes under both the stable and legacy types (de-dup keys on the raw recommendation) 2026-10-18 02:05:13 -04:00

Closed #307 Security nudge never shows while a dismissed Kuma announcement is still posted 2026-10-18 01:49:48 -04:00

Closed #308 Status banner Details mangles announcement text: every >, #, _, *, ` is deleted ("#general" → "general", "<b>" → "<b") 2026-10-18 01:33:18 -04:00

Closed #302 "Rejoin voice?" reads "in the call in Bob Builder" for DMs, and is offered for DM calls that already ended 2026-10-18 01:16:24 -04:00

Closed #288 Message search lists an edited message once per version 2026-10-18 00:59:47 -04:00

Closed #289 Sidebar room filter with no matches shows empty section headers and no "No rooms match" message 2026-10-18 00:45:29 -04:00

Closed #304 Escape doesn't close the composer's emoji/sticker board in any browser (focus starts in its search field) 2026-10-18 00:27:07 -04:00

Closed #301 "The call failed to load… try again" screen has no Try again button 2026-10-18 00:08:26 -04:00

Closed #285 Room invite links and QR codes use matrix.to, which can't open Lotus Chat 2026-10-17 23:50:19 -04:00

Closed #284 You can't vote on a poll you just created (until a reload): the vote targets the poll's local-echo id and throws 2026-10-17 23:26:31 -04:00

Closed #322 Scheduled messages are only tracked in one browser's localStorage: other devices can't see or cancel them, and after logout they still send with no way to stop them 2026-10-17 23:05:40 -04:00

Closed #313 Reject sends an MSC4310 decline that points at the wrong event: the caller keeps "Calling…" for 90 s, and the declined call is logged as "Missed call" 2026-10-17 22:13:55 -04:00

Closed #317 A stalled homeserver goes unnoticed for up to 110 s: no strip, Kuma isn't asked, and sends just spin (the #124 outage scenario) 2026-10-17 21:58:24 -04:00

Closed #259 Media Gallery / Activity Log make the room timeline drop loaded messages, and it continues after the panel is closed (regression of #163) 2026-10-17 21:37:09 -04:00

Closed #316 Every call leaks ~11 MB: an 11th CallControl subscriber trips MaxListenersExceededWarning, and the logged warning keeps the whole Element Call document alive 2026-10-17 21:19:13 -04:00

Closed #295 Starting a call in a voice room @room-pings every member when a moderator or admin starts it 2026-10-17 20:38:38 -04:00

Closed #305 Reactions row flickers between "wrapped" and "one row + N" every frame when the chips almost fit, and the collapsed style wipes the row's top margin 2026-10-17 20:07:28 -04:00

Closed #328 Calls in private group rooms: only admins can start or join. Members see "1 Live · Join" and then "You don't have permission to join!" 2026-10-17 19:54:43 -04:00

Closed #315 Pressing Enter in the Poll, Schedule or Report dialogs closes them and throws away what you typed (the header ✕ is the form's default submit button) 2026-10-17 18:35:55 -04:00

Closed #306 Delivery indicator gets stuck: your last message keeps "Sending..." (or "Queued" / "Failed to send") after the server has it 2026-10-17 17:51:46 -04:00

Closed #327 Upgrading a room silently drops all Lotus room state (voice limit, audio-only/quality caps, soundboard) and its retention policy 2026-10-17 17:51:42 -04:00

Closed #325 Quiet hours don't start (or end) while the app stays open: the window is only checked when the notifier happens to re-render 2026-10-17 17:51:40 -04:00

Closed #296 The persistent encrypted-search opt-in survives logout, so the next account on the device starts with plaintext indexing switched on 2026-10-17 17:51:34 -04:00

Closed #319 Logging out (manually or by remote sign-out) leaves the open composer's draft in localStorage: the pagehide flush rewrites it after the wipe 2026-10-17 17:51:34 -04:00

Closed #320 Inter hasn't been used since May: CSS asks for 'InterVariable' but @fontsource-variable/inter 5 names it 'Inter Variable' (app renders in the system fallback font) 2026-10-17 17:51:27 -04:00

Closed #298 A tiny m.room.retention value permanently deletes opted-in users' messages and hides the room's history for everyone (the 10-minute safety floor is never applied) 2026-10-16 22:48:19 -04:00

Closed #303 Firefox: the app hangs on "Heating up" after login until the persistent-storage prompt is answered 2026-10-16 22:36:53 -04:00

Closed #312 After a reload/restart, a call that already ended (or that you rejected) rings again and the DM shows "1 Live" + the call screen for minutes 2026-10-16 22:24:06 -04:00

Closed #336 "Rename for me" names aren't used by the quick switcher (Ctrl+K), forward/share pickers, search results, inbox or notifications 2026-10-16 22:12:55 -04:00

Closed #337 Animated chat backgrounds animate background-position, which repaints the whole chat area every frame (45–70% main-thread busy while idle in testing) 2026-10-16 20:52:35 -04:00

Closed #335 Link-mismatch warning is bypassed by adding a word to the link text, or by using a shared hosting domain (pages.dev, github.io…) 2026-10-16 19:59:20 -04:00

Closed #343 Collapsed long messages: Tab into a hidden link scrolls the message inside its box (top cut off, stays that way), "Read more" has no aria-expanded, and the fade leaves a band in bubble layout 2026-10-12 16:44:00 -04:00

Closed #347 Logout leaves the call-volume list behind: lotus-per-user-volume (the people you adjusted, with their volumes) and a settings-sync key named after the previous user 2026-10-12 16:07:43 -04:00

Closed #348 Settings sync carries "ENTER for Newline" between phone and desktop: turning it on for the phone keyboard makes the desktop need Ctrl+Enter to send 2026-10-12 16:07:34 -04:00

Closed #282 Invisible, "Hide Online Status", Idle and DND don't stick: the next /sync sets you back to online 2026-10-12 12:53:56 -04:00

Closed #340 One click on the composer's globe icon posts your exact location to the room: no preview or confirm, accuracy ignored, shown to 5 decimals 2026-10-11 23:23:06 -04:00

Closed #338 "Remind me" fires as a 4-second in-app toast only (no OS notification, no sound) and then deletes the reminder, so a reminder that comes due while you're away is lost 2026-10-11 23:22:57 -04:00

Closed #342 "Channel Full" counts devices, not people: one user on two devices (or a crashed tab) locks everyone else out, though the server would let them in 2026-10-11 22:57:38 -04:00

Closed #339 Closing or reloading any Lotus tab/window erases your custom status for everyone: the pagehide presence write omits status_msg 2026-10-11 22:57:26 -04:00

Closed #341 Giphy/Tenor link previews are a fixed ~400×200 box for every GIF: tall and square GIFs are cropped to their middle, small ones upscaled 2026-10-11 00:53:26 -04:00

Closed #345 CI is red for every PR: npm audit fails on a new high advisory in source-map-js 1.2.1 (via sanitize-html → postcss); 1.2.2 fixes it 2026-10-11 00:53:12 -04:00

Closed #309 Share target: any website can pre-fill the share page with its own text/files, and an unplaced share survives logout 2026-10-05 01:15:47 -04:00

Closed #43 Element Call iframe is same-origin, so its sandbox is a no-op 2026-09-30 21:07:46 -04:00

Closed #110 [needs human review] Key-backup health banner — explain, then decide 2026-09-30 21:05:57 -04:00

Closed #123 [research] Verification reminder for your OWN unverified sessions 2026-09-30 21:05:57 -04:00

Closed #124 [planning · sprint] Homeserver maintenance banner driven by the Uptime Kuma status page 2026-09-30 10:07:22 -04:00

Closed #112 [research] Offline outbox — what happens today when a send fails or the client is offline 2026-09-28 22:16:11 -04:00

Closed #248 Desktop: "Copy Lotus Link" copies a localhost address; public Lotus links not recognised in-app 2026-09-28 20:36:22 -04:00

Closed #246 Polls: timeline rendering is hard to read (percentages, bars, indicators, layout) 2026-09-27 23:31:10 -04:00

Closed #165 [deep dive] Threads: full UI/UX audit + "mark all threads read" 2026-09-26 19:31:39 -04:00

Closed #217 [decide] Threads: opening a room marks every thread in it read — chip/list unread badges never survive a room visit 2026-09-26 19:31:38 -04:00

Closed #164 [deep dive] Full-screen image/video viewer UI/UX audit 2026-09-26 19:03:17 -04:00

Closed #239 [Seasonal · human approval required] Halloween: better design & features 2026-09-25 15:33:53 -04:00

Closed #237 [Seasonal · human approval required] Autumn: better design & features 2026-09-25 14:29:08 -04:00

Closed #106 [research] Search operators: from:, has:, in:, before:/after: — audit what exists first 2026-09-25 12:54:28 -04:00

Closed #146 [research] Mic level meter in the call bar while unmuted — what exists today? 2026-09-25 12:14:43 -04:00

Closed #107 [research] Composer: detect pasted code and offer a fenced code block 2026-09-25 11:06:14 -04:00

Closed #214 Privacy: every page load contacts fonts.googleapis.com / fonts.gstatic.com for the VT323 font — self-host it 2026-09-23 23:14:43 -04:00

Closed #228 When playing a youtube video, after pressing play the actual video player shrinks really small. Please audit all embed media playback 2026-09-23 15:42:01 -04:00

Closed #229 http://localhost:44548/public/res/Lotus.png Image on the home of cinny-desktop in windows 11 client loads as alt text 2026-09-23 15:42:01 -04:00

Closed #227 Quick statuses in General Settings not auto clearing after set interval 2026-09-23 15:42:00 -04:00

Closed #119 Audio output quick-switch in the call bar (verify EC in-call menu first) 2026-09-20 15:52:26 -04:00

Closed #125 Haptic tick on PTT press/release and on reactions (Android) 2026-09-20 15:18:27 -04:00

Closed #129 [research] Paste/drop an image → land in the caption field so "here's the bug" is one motion 2026-09-20 15:11:37 -04:00

Closed #108 Custom room sections in the sidebar via u.* room tags 2026-09-20 15:05:56 -04:00

Closed #118 Auto-rejoin the voice room after a crash, update or restart 2026-09-20 14:54:07 -04:00

Closed #120 Storage usage & clear (media cache, search index, crypto store) — keep it to one tile 2026-09-20 14:54:07 -04:00

Closed #151 Reply quote shows a media thumbnail when replying to an image/video 2026-09-20 14:27:29 -04:00

Closed #109 Strip EXIF/GPS metadata from images by default (currently only when compression is on) 2026-09-20 14:23:04 -04:00

Closed #143 Per-call quality readout on hangup (low priority; UI must look native) 2026-09-20 14:14:59 -04:00

Closed #155 PWA: register as an Android share target (Share → Lotus Chat) 2026-09-20 14:14:59 -04:00

Closed #221 E2E: run the Playwright suite under WebKit as a Safari/iOS proxy 2026-09-20 14:14:59 -04:00

Closed #222 a11y in CI: axe-core gate + accessibility-tree snapshots as the screen-reader proxy 2026-09-20 14:14:59 -04:00

Closed #137 Bulk media drop renders as one gallery (client-side grouping, standard events) 2026-09-20 00:48:36 -04:00

Closed #139 One timestamp formatter: audit and unify date/time display across timeline, room list, search, threads 2026-09-20 00:29:19 -04:00

Closed #147 Touch only: tap a sticker/GIF once to preview, again to send 2026-09-20 00:15:14 -04:00

Closed #138 Reactions: "+N" overflow expands inline (check every layout/edge case first) 2026-09-19 23:55:11 -04:00

Closed #144 "(edited)" hover shows a word-level diff of the last edit 2026-09-19 23:34:44 -04:00

Closed #148 Space rail: subtle dot when a call is live somewhere in that space (careful) 2026-09-19 23:26:28 -04:00

Closed #150 Profile view: "Last active …" line from presence 2026-09-19 23:20:00 -04:00

Closed #127 Reply jump-back chip: "Back to where you were" after jumping to a replied-to message 2026-09-19 23:19:59 -04:00

Closed #131 Code blocks: copy button + line-wrap toggle (verify upstream first, don't break rendering) 2026-09-19 23:19:59 -04:00

Closed #156 Clear the clipboard 60 s after copying a recovery key / invite token — with a visible countdown 2026-09-19 23:19:59 -04:00

Closed #117 "You're talking while muted" toast 2026-09-19 23:19:58 -04:00

Closed #122 Link-safety on click: warn when visible link text is a URL that differs from the real destination 2026-09-19 23:19:58 -04:00

Closed #149 Optional setting: don't cache media from encrypted rooms on this device 2026-09-19 23:06:52 -04:00

Closed #220 CI: e2e job that starts its own Synapse and runs the UI regression suite (no prod secrets) 2026-09-19 22:46:15 -04:00

Closed #226 Status save failed with "server may be rate limiting" — Synapse allows one presence write per 10 s per user 2026-09-19 17:43:31 -04:00

Closed #134 Room header: minimal badge for call limit / audio-only policy 2026-09-19 17:43:30 -04:00

Closed #152 Collapsible long messages: remember "Read more" expansion per message for the session 2026-09-19 17:32:18 -04:00

Closed #132 [verify] Pasting an image copied from a web page must send only the image (no page URL / alt text) 2026-09-19 17:28:28 -04:00

Closed #135 Pre-join guard: say plainly when you are about to join with the camera ON 2026-09-19 17:26:36 -04:00

Closed #128 Undeafen catch-up: one toast listing who joined/left while you were deafened 2026-09-19 17:18:33 -04:00

Closed #136 PTT stuck-key release: drop a hold longer than N minutes (do not break calls) 2026-09-19 17:18:33 -04:00

Closed #169 Delete all my messages in this room (self-service redaction of your own events) 2026-09-19 14:36:29 -04:00

Closed #203 Quick reply from a browser notification (P5-20, remaining half): inline reply via Notification Actions through the SW 2026-09-19 14:12:59 -04:00

Closed #160 Call failures in plain words: map every EC / voice-guard failure code to one sentence 2026-09-19 13:43:04 -04:00

Closed #204 Persisted PII without encryption: status message + expiry and unsent composer drafts sit in plaintext localStorage 2026-09-19 13:38:50 -04:00

Closed #162 Missed-call entry in the timeline (local-only) 2026-09-19 13:36:27 -04:00

Closed #159 Undecryptable message: show the specific reason and the one action that fixes it 2026-09-19 13:24:57 -04:00

Closed #219 Unify the two image viewers: timeline ImageViewer should open the gallery lightbox at that item 2026-09-19 13:15:04 -04:00

Closed #218 Threads: opening the thread panel next to the member drawer squeezes both composers to a few characters at ≤1400 px 2026-09-19 13:07:30 -04:00

Closed #167 Lazy-load seasonal theme CSS/keyframes only when a seasonal overlay is active 2026-09-19 13:01:24 -04:00

Closed #158 Clock-skew warning: compare the homeserver Date header to the local clock and warn once when it is far off 2026-09-19 12:57:06 -04:00

Closed #168 Screen-reader announcements for call events (aria-live; invisible otherwise) 2026-09-19 12:57:06 -04:00

Closed #212 Timeline: your own newly sent message can land below the fold with "Jump to Latest" (stale at-bottom flag after a poll vote) 2026-09-19 12:40:58 -04:00

Closed #213 Upload error card shows the raw MatrixError string including the server URL 2026-09-19 12:40:58 -04:00

Closed #216 /kick and /ban failures are silent (rateLimitedActions swallows non-429 errors) 2026-09-19 12:40:57 -04:00

Closed #215 Seasonal floating button sits above modals and toasts (bottom-right) — should hide behind overlays 2026-09-19 12:22:46 -04:00

Closed #157 Room list "N Live" indicator: hover/long-press shows who is in the call 2026-09-19 12:21:32 -04:00

Closed #195 Call-to-call switch: send an explicit HangupCall before disposing the embed (transient ghost RTC membership) 2026-09-19 12:21:31 -04:00

Closed #223 Calls: sharer's own 'Stop Screenshare' button stays lit ~30 s after the server revokes the share 2026-09-19 12:21:31 -04:00

Closed #224 PiP call window is see-through — the timeline underneath shows through the transparent EC surface 2026-09-19 12:21:31 -04:00

Closed #209 EC fork Phase 2 (P6-2): after publishing 0.20.1-lotus.2, bump the pin and delete the CallControl.ts .muted DOM fallback 2026-09-19 00:55:15 -04:00

Closed #177 [QA] §G Calls: PiP mute badges, fullscreen camera broadcast, PTT badge on all themes 2026-09-19 00:50:13 -04:00

Closed #170 [QA] §A Calls: ringtone selection, incoming-call ringtone, in-call second-call banner, focus camera, call-tile decorations, EC load watchdog 2026-09-19 00:50:12 -04:00

Closed #174 [QA] §D2 Element Call fork feature sweep: in-source denoise reconnect, call_state indicators, focus-participant, in-call decorations, transparent bg, soundboard, quality controls, server-enforced call permissions 2026-09-19 00:36:11 -04:00

Closed #145 Join/leave sounds: debounce a flapping participant (do not break sounds) 2026-09-19 00:36:10 -04:00

Closed #173 [QA] §D Element Call control-bar regression sweep (PTT, AFK auto-mute, denoise, screenshare audio, PiP badges) 2026-09-19 00:36:10 -04:00

Closed #29 Logging out mid-call never hangs up, leaving a ghost RTC membership 2026-09-18 22:39:46 -04:00

Closed #161 [verify] Incoming ring stops on all devices once the call is answered or declined elsewhere 2026-09-18 22:39:46 -04:00

Closed #211 Mobile: the Widgets panel has no entry point (header button is desktop-only, ⋮ menu has no Widgets item) 2026-09-18 21:31:32 -04:00

Closed #178 [QA] §H Media / performance: lazy image decryption in the gallery, thumbnail framing 2026-09-18 19:59:48 -04:00

Closed #176 [QA] §F Visual / theming: chat-background flicker, background vs seasonal exclusivity, picker grid 2026-09-18 19:42:26 -04:00

Closed #175 [QA] §E Mobile / responsive: touch targets, room-settings overflow, fullscreen modals, keyboard vs composer, mobile Saved Messages 2026-09-18 19:22:09 -04:00

Closed #186 [QA] §Q Inline media embeds: facade, one of each provider, TikTok portrait, post self-resize, Bluesky/Loom/Kick, toggle + cap 2026-09-18 19:11:16 -04:00

Closed #180 [QA] §K Features end-to-end: Remind Me Later, advanced search filters, notification content + click target 2026-09-18 19:04:46 -04:00

Closed #182 [QA] §M Search has:/pinned filters + recent searches; custom accent color; new theme presets (visual judgment) 2026-09-18 18:48:49 -04:00

Closed #184 [QA] §O July batch: thread panel, per-thread notifications, math, encrypted search cache, session hardening, audit-wave fixes, E2EE call-key cluster 2026-09-18 18:34:58 -04:00

Closed #172 [QA] §C Upload retry on a flaky network (best-effort) 2026-09-18 17:58:18 -04:00

Closed #171 [QA] §B Polls: voting / selected / progress state and multiple-choice rendering on non-TDS themes 2026-09-18 17:49:36 -04:00

Closed #188 [QA] Room widgets panel (MSC1236): add / open / remove, non-admin view, URL validation, mobile overlay, CSP frame-src 2026-09-18 17:46:10 -04:00

Closed #190 [QA] Disappearing messages (m.room.retention): timeline hide per preset, Show Hidden Events, self-only enforced redaction 2026-09-18 00:52:24 -04:00

Closed #192 [QA] Invite QR is generated locally: no api.qrserver.com request, scans to the right matrix.to link, works offline 2026-09-18 00:47:40 -04:00

Closed #191 [QA] Mark as Unread (MSC2867) + Low Priority tag: dot, clear on open, cross-device sync, category moves 2026-09-18 00:44:14 -04:00

Closed #193 [QA] Read-receipt regression guard: rooms stay read after Home/Direct mount, thread dot clears, decoration 403/502 storm gone 2026-09-18 00:40:55 -04:00

Closed #142 [verify] URL previews are never fetched for links in your own composer while typing 2026-09-18 00:38:30 -04:00

Closed #140 [verify] Thread composer must honour "Hide Typing & Read Receipts" (typing) 2026-09-18 00:37:19 -04:00

Closed #141 [verify] Thread read receipts must honour "Private Read Receipts" 2026-09-18 00:37:19 -04:00

Closed #130 [research] "Copy Link" should open in Lotus for guild members — matrix.to client hints vs direct chat.lotusguild.org permalinks 2026-09-18 00:19:36 -04:00

Closed #163 Media Gallery: opening it scrolls the room timeline into the past while it loads older media 2026-09-18 00:19:36 -04:00

Closed #153 Search / permalink jump: highlight the target message for ~3 s 2026-09-17 23:26:32 -04:00

Closed #154 PWA: app-icon badge count via navigator.setAppBadge() 2026-09-17 23:21:17 -04:00

Closed #116 PWA: offer to install (Chromium prompt, iOS "Add to Home Screen" hint) 2026-09-17 13:41:18 -04:00

Closed #104 Sync Lotus settings across devices via account data 2026-09-17 01:56:21 -04:00

Closed #103 Strip tracking parameters from links on paste and on render 2026-09-17 01:56:20 -04:00

Closed #32 Speaker set is reallocated on every call-state push, re-rendering the app-wide call bar 2026-09-15 22:43:33 -04:00

Closed #25 Right-clicking the call button silently starts a camera-on video call 2026-09-15 22:43:20 -04:00

Closed #28 Incoming-call ringtone ignores quiet hours, DND and Focus Assist 2026-09-15 22:43:20 -04:00

Closed #44 Shipped nginx/Netlify configs set no CSP, frame-ancestors or referrer policy 2026-09-15 22:24:43 -04:00

Closed #38 Thread panel never shows read receipts (context provider is out of scope) 2026-09-15 21:32:09 -04:00

Closed #39 Every text message subscribes to one global translation atom → timeline-wide re-render storms 2026-09-15 21:32:09 -04:00

Closed #40 Read-position recompute walks all joined members and re-renders the whole timeline 2026-09-15 21:32:09 -04:00

Closed #42 Settings are never synced across tabs — one tab's whole blob clobbers the other's 2026-09-15 21:32:09 -04:00

Closed #45 Logout's search-index wipe can report success while another tab still holds the DB 2026-09-15 21:32:09 -04:00

Closed #36 Scheduling from the composer drops formatting, mentions and the reply relation 2026-09-15 21:32:08 -04:00

Closed #37 Composer drafts are lost on page reload (only written on unmount) 2026-09-15 21:32:08 -04:00

Closed #90 CI: add a Playwright smoke test that boots the built client and exercises the composer in an E2EE room 2026-09-13 00:56:44 -04:00

Closed #95 CI: no secret scanning, and config.json (incl. any gifApiKey) ships inside the build image 2026-09-13 00:56:44 -04:00

Closed #93 CI: the Docker image is never built — add a docker build job so the documented deploy path can't rot 2026-09-13 00:56:43 -04:00

Closed #94 CI: no dependency update automation (Renovate/Dependabot) 2026-09-13 00:56:43 -04:00

Closed #20 Favouriting/low-priority a room doesn't move it in the sidebar until an unrelated re-render 2026-09-13 00:56:42 -04:00

Closed #53 Lotus-added UI bypasses the app's i18next mechanism entirely — always renders in English regardless of user locale 2026-09-13 00:56:42 -04:00

Closed #55 Fragile postinstall patch script for folds Icon 2026-09-13 00:56:42 -04:00

Closed #87 Dead code: unused useForceUpdate.js 2026-09-13 00:56:42 -04:00

Closed #88 syncDecorations.mjs fragile regex parsing 2026-09-13 00:56:42 -04:00

Closed #98 CI: the lotus-build.sh upstream-merge path deploys without running CI 2026-09-13 00:56:42 -04:00

Closed #99 Repo hygiene: eight dead GitHub Actions workflows under .github/workflows never run on Gitea 2026-09-13 00:56:42 -04:00

Closed #101 Dedupe the screenshare confirmation and route CallControls through useRoomCallPolicy 2026-09-13 00:56:42 -04:00

Closed #102 OIDC callback does not invalidate a cached client id the provider rejects 2026-09-13 00:56:42 -04:00

Closed #97 CI: ESLint runs without --max-warnings, so new react-hooks/exhaustive-deps warnings never surface 2026-09-12 20:29:12 -04:00

Closed #92 CI: built output is never loaded — add a vite preview boot check after npm run build 2026-09-12 20:29:11 -04:00

Closed #96 CI: bundle size is reported but has no budget — regressions pass green 2026-09-12 20:29:11 -04:00

Closed #54 Package.json engines version misalignment with README and CI 2026-09-12 20:29:10 -04:00

Closed #82 Room Activity Log can misclassify membership transitions for back-paginated (older) events 2026-09-12 20:29:10 -04:00

Closed #83 Room Insights ("stats") panel freezes at open-time data and never reflects new activity 2026-09-12 20:29:10 -04:00

Closed #91 CI: npm audit is informational — high-severity advisories should fail pull requests 2026-09-12 20:29:10 -04:00

Closed #49 "Deny" on a pending knock request has no error handling and can be shown to users who lack kick power 2026-09-12 20:29:09 -04:00

Closed #50 Room-history export shows outdated content and a garbled duplicate line for edited messages 2026-09-12 20:29:09 -04:00

Closed #51 Room invite link / QR code always uses the local homeserver as the only via-server, ignoring the shared via-server resolver 2026-09-12 20:29:09 -04:00

Closed #69 Cross-tab session sync is absent on the auth pages 2026-09-12 20:29:09 -04:00

Closed #81 Room-history export gives no indication that a message was media/an attachment 2026-09-12 20:29:09 -04:00

Closed #79 Quick Reply's failure is swallowed with no user-visible feedback 2026-09-12 20:29:08 -04:00

Closed #80 LotusToastContainer toast auto-dismiss timer is not reset in a fixed slot, so a fast burst can hide a toast before it's read 2026-09-12 20:29:08 -04:00

Closed #77 getNotificationType/main-timeline gate re-derives push rules on every event without memoization 2026-09-12 20:29:07 -04:00

Closed #78 notificationclick always focuses the first matching window client, not the one most relevant to the notification 2026-09-12 20:29:07 -04:00

Closed #52 Primary accent color fails WCAG AA 4.5:1 as text in Midnight and Lotus Terminal Light themes 2026-09-12 20:29:06 -04:00

Closed #68 GIF picker sends search terms and IP directly to Giphy, outside any privacy setting 2026-09-12 20:29:06 -04:00

Closed #76 useTauriCallPower never releases the native keep-awake state on unmount 2026-09-12 20:29:06 -04:00

Closed #84 SendingSpinClass and CallAvatarAnimation ignore prefers-reduced-motion 2026-09-12 20:29:06 -04:00

Closed #86 Terminal boot sequence has no touch/click dismiss and isn't hidden from assistive tech 2026-09-12 20:29:06 -04:00

Closed #74 seasonalThemeOverride is the only enum setting with no persisted-value validation 2026-09-12 20:29:03 -04:00

Closed #75 Page Zoom input silently discards a typed-but-unconfirmed value on blur 2026-09-12 20:29:03 -04:00

Closed #66 Location messages load an OpenStreetMap iframe with no facade or auto-load gate 2026-09-12 20:29:02 -04:00

Closed #70 Documented "leading emoji rendered 1.15× larger" room-name feature is not implemented 2026-09-12 20:29:02 -04:00

Closed #71 Documented secondary glow/blink keyframes for animated backgrounds don't exist 2026-09-12 20:29:02 -04:00

Closed #72 Earth Day globe decoration risks sitting over the composer 2026-09-12 20:29:02 -04:00

Closed #85 CollapsibleBody's reduced-motion check is a one-time snapshot, not a live listener 2026-09-12 20:29:02 -04:00

Closed #24 npm audit: 11 advisories in runtime deps (pdfjs-dist JS-execution, react-router, sanitize-html, katex, uuid) 2026-09-12 20:29:01 -04:00

Closed #56 "Focus camera" pins a participant with no way to unpin 2026-09-12 20:29:01 -04:00

Closed #57 Soundboard clip blob URLs are never revoked and survive logout 2026-09-12 20:29:01 -04:00

Closed #58 No warning when closing the tab or reloading during an active call 2026-09-12 20:29:01 -04:00

Closed #59 CallControl.setPipMode writes state nothing reads 2026-09-12 20:29:01 -04:00

Closed #61 RoomMemberEvent.Membership listener on Room never fires (dead handler) 2026-09-12 20:29:01 -04:00

Closed #62 Sender-only search returns membership/state/reaction events as results 2026-09-12 20:29:01 -04:00

Closed #63 Forwarding an encrypted attachment into a plaintext room publishes its AES key 2026-09-12 20:29:01 -04:00

Closed #65 KaTeX renders remote LaTeX with no maxSize/maxExpand limits 2026-09-12 20:29:01 -04:00

Closed #31 Soundboard upload limit double-counts staged clips and reads a stale count 2026-09-12 19:46:19 -04:00

Closed #26 Call-status bar bypasses the room screenshare/camera policy and the share confirmation 2026-09-12 19:46:18 -04:00

Closed #30 Voice-channel "Channel Full" limit is bypassed by joining from the sidebar 2026-09-12 19:46:18 -04:00

Closed #48 Notification profile presets don't clear an active "Pause Notifications" snooze 2026-09-12 19:46:18 -04:00

Closed #46 Avatar Decoration settings panel shows "None" on any fetch failure, not just true absence 2026-09-12 19:46:17 -04:00

Closed #47 Profile field edits can be clobbered by a slow-loading initial fetch (pronouns, timezone, avatar decoration) 2026-09-12 19:46:17 -04:00

Closed #15 Room widgets never render — matrix-widget-api 1.17.0 isValidUrl is broken 2026-09-12 19:46:16 -04:00

Closed #16 OIDC token refresh force-reloads every other tab, dropping in-progress calls 2026-09-12 19:46:15 -04:00

Closed #67 Any OIDC login failure discards the cached dynamic client id 2026-09-12 19:46:15 -04:00

Closed #9 Push-to-talk, the deafen hotkey and AFK auto-mute stop working outside the call room 2026-09-12 19:46:14 -04:00

Closed #10 Bookmarks and reminders upload decrypted message text to server account data 2026-09-12 19:46:14 -04:00

Closed #14 Persistent search index keeps decrypted plaintext of redacted messages and left rooms 2026-09-12 19:46:14 -04:00

Closed #27 PTT window blur/focus force-mutes unconditionally, revoking a manual unmute 2026-09-12 19:46:14 -04:00

Closed #60 In-iframe PTT/deafen key listeners are lost if the EC iframe reloads 2026-09-12 19:46:14 -04:00

Closed #13 Search date-range filter is silently ignored for unencrypted rooms 2026-09-12 14:59:49 -04:00

Closed #22 Policy List Viewer misses legacy Draupnir/Mjolnir policy event types, showing false "no rules found" 2026-09-12 14:59:49 -04:00

Closed #64 Avatar-decoration slug from a remote profile is interpolated into a URL unvalidated 2026-09-12 14:59:49 -04:00

Closed #17 Renaming two rooms in quick succession silently loses the first rename 2026-09-12 14:59:48 -04:00

Closed #18 Private user notes can lose typed text (store echo reverts draft; close within debounce drops save) 2026-09-12 14:59:48 -04:00

Closed #23 Call hotkeys: rebind has no denylist, modifiers ignored, Space swallowed on buttons, duplicate bindings allowed 2026-09-12 14:59:48 -04:00

Closed #34 Thread read receipts ignore the "Hide Typing & Read Receipts" setting 2026-09-12 14:59:47 -04:00

Closed #35 Creating a poll from the thread composer posts it to the main timeline 2026-09-12 14:59:47 -04:00

Closed #41 Composer drafts survive logout and are auto-hydrated into the next account's session 2026-09-12 14:59:47 -04:00

Closed #12 Edits and reactions on a thread root are invisible in the thread panel 2026-09-12 14:59:46 -04:00

Closed #6 Image compression in an E2EE room uploads plaintext and breaks the event 2026-09-12 02:14:51 -04:00

Closed #7 Scheduled messages bypass encryption — plaintext m.room.message in E2EE rooms 2026-09-12 02:14:51 -04:00

Closed #8 Answering an incoming video call turns the camera on, ignoring the user setting 2026-09-12 02:14:51 -04:00

Closed #11 GIF picker sends unencrypted media into encrypted rooms 2026-09-12 02:14:51 -04:00

Closed #19 Advanced Push Rule Editor silently strips the highlight tweak from mention rules 2026-09-12 02:14:51 -04:00

Closed #21 Timed room mute silently overwrites a manual notification-mode change made during the mute window 2026-09-12 02:14:51 -04:00

Closed #33 Deafen button's aria-label is inverted relative to its tooltip 2026-09-12 02:14:51 -04:00

Closed #73 Halloween fog-band layers keep willChange set even when motion is fully disabled 2026-09-12 02:14:51 -04:00

Closed #5 Room Nav - Lazy Loading 2026-08-31 21:32:29 -04:00

338 Issues created by 1 user

Opened #5 Room Nav - Lazy Loading 2026-08-02 20:50:49 -04:00

Opened #6 Image compression in an E2EE room uploads plaintext and breaks the event 2026-09-12 01:50:46 -04:00

Opened #7 Scheduled messages bypass encryption — plaintext m.room.message in E2EE rooms 2026-09-12 01:50:47 -04:00

Opened #8 Answering an incoming video call turns the camera on, ignoring the user setting 2026-09-12 01:50:47 -04:00

Opened #9 Push-to-talk, the deafen hotkey and AFK auto-mute stop working outside the call room 2026-09-12 01:50:48 -04:00

Opened #10 Bookmarks and reminders upload decrypted message text to server account data 2026-09-12 01:50:48 -04:00

Opened #11 GIF picker sends unencrypted media into encrypted rooms 2026-09-12 01:50:49 -04:00

Opened #12 Edits and reactions on a thread root are invisible in the thread panel 2026-09-12 01:50:49 -04:00

Opened #13 Search date-range filter is silently ignored for unencrypted rooms 2026-09-12 01:50:50 -04:00

Opened #14 Persistent search index keeps decrypted plaintext of redacted messages and left rooms 2026-09-12 01:50:50 -04:00

Opened #15 Room widgets never render — matrix-widget-api 1.17.0 isValidUrl is broken 2026-09-12 01:50:51 -04:00

Opened #16 OIDC token refresh force-reloads every other tab, dropping in-progress calls 2026-09-12 01:50:52 -04:00

Opened #17 Renaming two rooms in quick succession silently loses the first rename 2026-09-12 01:50:52 -04:00

Opened #18 Private user notes can lose typed text (store echo reverts draft; close within debounce drops save) 2026-09-12 01:50:53 -04:00

Opened #19 Advanced Push Rule Editor silently strips the highlight tweak from mention rules 2026-09-12 01:50:53 -04:00

Opened #20 Favouriting/low-priority a room doesn't move it in the sidebar until an unrelated re-render 2026-09-12 01:50:54 -04:00

Opened #21 Timed room mute silently overwrites a manual notification-mode change made during the mute window 2026-09-12 01:50:54 -04:00

Opened #22 Policy List Viewer misses legacy Draupnir/Mjolnir policy event types, showing false "no rules found" 2026-09-12 01:50:55 -04:00

Opened #23 Call hotkeys: rebind has no denylist, modifiers ignored, Space swallowed on buttons, duplicate bindings allowed 2026-09-12 01:50:56 -04:00

Opened #24 npm audit: 11 advisories in runtime deps (pdfjs-dist JS-execution, react-router, sanitize-html, katex, uuid) 2026-09-12 01:50:56 -04:00

Opened #25 Right-clicking the call button silently starts a camera-on video call 2026-09-12 01:50:57 -04:00

Opened #26 Call-status bar bypasses the room screenshare/camera policy and the share confirmation 2026-09-12 01:50:57 -04:00

Opened #27 PTT window blur/focus force-mutes unconditionally, revoking a manual unmute 2026-09-12 01:50:58 -04:00

Opened #28 Incoming-call ringtone ignores quiet hours, DND and Focus Assist 2026-09-12 01:50:58 -04:00

Opened #29 Logging out mid-call never hangs up, leaving a ghost RTC membership 2026-09-12 01:50:59 -04:00

Opened #30 Voice-channel "Channel Full" limit is bypassed by joining from the sidebar 2026-09-12 01:51:02 -04:00

Opened #31 Soundboard upload limit double-counts staged clips and reads a stale count 2026-09-12 01:51:03 -04:00

Opened #32 Speaker set is reallocated on every call-state push, re-rendering the app-wide call bar 2026-09-12 01:51:04 -04:00

Opened #33 Deafen button's aria-label is inverted relative to its tooltip 2026-09-12 01:51:04 -04:00

Opened #34 Thread read receipts ignore the "Hide Typing & Read Receipts" setting 2026-09-12 01:51:05 -04:00

Opened #35 Creating a poll from the thread composer posts it to the main timeline 2026-09-12 01:51:05 -04:00

Opened #36 Scheduling from the composer drops formatting, mentions and the reply relation 2026-09-12 01:51:06 -04:00

Opened #37 Composer drafts are lost on page reload (only written on unmount) 2026-09-12 01:51:06 -04:00

Opened #38 Thread panel never shows read receipts (context provider is out of scope) 2026-09-12 01:51:07 -04:00

Opened #39 Every text message subscribes to one global translation atom → timeline-wide re-render storms 2026-09-12 01:51:07 -04:00

Opened #40 Read-position recompute walks all joined members and re-renders the whole timeline 2026-09-12 01:51:08 -04:00

Opened #41 Composer drafts survive logout and are auto-hydrated into the next account's session 2026-09-12 01:51:09 -04:00

Opened #42 Settings are never synced across tabs — one tab's whole blob clobbers the other's 2026-09-12 01:51:09 -04:00

Opened #43 Element Call iframe is same-origin, so its sandbox is a no-op 2026-09-12 01:51:10 -04:00

Opened #44 Shipped nginx/Netlify configs set no CSP, frame-ancestors or referrer policy 2026-09-12 01:51:10 -04:00

Opened #45 Logout's search-index wipe can report success while another tab still holds the DB 2026-09-12 01:51:11 -04:00

Opened #46 Avatar Decoration settings panel shows "None" on any fetch failure, not just true absence 2026-09-12 01:51:12 -04:00

Opened #47 Profile field edits can be clobbered by a slow-loading initial fetch (pronouns, timezone, avatar decoration) 2026-09-12 01:51:12 -04:00

Opened #48 Notification profile presets don't clear an active "Pause Notifications" snooze 2026-09-12 01:51:13 -04:00

Opened #49 "Deny" on a pending knock request has no error handling and can be shown to users who lack kick power 2026-09-12 01:51:13 -04:00

Opened #50 Room-history export shows outdated content and a garbled duplicate line for edited messages 2026-09-12 01:51:14 -04:00

Opened #51 Room invite link / QR code always uses the local homeserver as the only via-server, ignoring the shared via-server resolver 2026-09-12 01:51:14 -04:00

Opened #52 Primary accent color fails WCAG AA 4.5:1 as text in Midnight and Lotus Terminal Light themes 2026-09-12 01:51:15 -04:00

Opened #53 Lotus-added UI bypasses the app's i18next mechanism entirely — always renders in English regardless of user locale 2026-09-12 01:51:15 -04:00

Opened #54 Package.json engines version misalignment with README and CI 2026-09-12 01:51:16 -04:00

Opened #55 Fragile postinstall patch script for folds Icon 2026-09-12 01:51:17 -04:00

Opened #56 "Focus camera" pins a participant with no way to unpin 2026-09-12 01:51:17 -04:00

Opened #57 Soundboard clip blob URLs are never revoked and survive logout 2026-09-12 01:51:18 -04:00

Opened #58 No warning when closing the tab or reloading during an active call 2026-09-12 01:51:18 -04:00

Opened #59 CallControl.setPipMode writes state nothing reads 2026-09-12 01:51:19 -04:00

Opened #60 In-iframe PTT/deafen key listeners are lost if the EC iframe reloads 2026-09-12 01:51:20 -04:00

Opened #61 RoomMemberEvent.Membership listener on Room never fires (dead handler) 2026-09-12 01:51:20 -04:00

Opened #62 Sender-only search returns membership/state/reaction events as results 2026-09-12 01:51:21 -04:00

Opened #63 Forwarding an encrypted attachment into a plaintext room publishes its AES key 2026-09-12 01:51:21 -04:00

Opened #64 Avatar-decoration slug from a remote profile is interpolated into a URL unvalidated 2026-09-12 01:51:22 -04:00

Opened #65 KaTeX renders remote LaTeX with no maxSize/maxExpand limits 2026-09-12 01:51:22 -04:00

Opened #66 Location messages load an OpenStreetMap iframe with no facade or auto-load gate 2026-09-12 01:51:23 -04:00

Opened #67 Any OIDC login failure discards the cached dynamic client id 2026-09-12 01:51:23 -04:00

Opened #68 GIF picker sends search terms and IP directly to Giphy, outside any privacy setting 2026-09-12 01:51:24 -04:00

Opened #69 Cross-tab session sync is absent on the auth pages 2026-09-12 01:51:25 -04:00

Opened #70 Documented "leading emoji rendered 1.15× larger" room-name feature is not implemented 2026-09-12 01:51:25 -04:00

Opened #71 Documented secondary glow/blink keyframes for animated backgrounds don't exist 2026-09-12 01:51:26 -04:00

Opened #72 Earth Day globe decoration risks sitting over the composer 2026-09-12 01:51:26 -04:00

Opened #73 Halloween fog-band layers keep willChange set even when motion is fully disabled 2026-09-12 01:51:27 -04:00

Opened #74 seasonalThemeOverride is the only enum setting with no persisted-value validation 2026-09-12 01:51:27 -04:00

Opened #75 Page Zoom input silently discards a typed-but-unconfirmed value on blur 2026-09-12 01:51:28 -04:00

Opened #76 useTauriCallPower never releases the native keep-awake state on unmount 2026-09-12 01:51:29 -04:00

Opened #77 getNotificationType/main-timeline gate re-derives push rules on every event without memoization 2026-09-12 01:51:29 -04:00

Opened #78 notificationclick always focuses the first matching window client, not the one most relevant to the notification 2026-09-12 01:51:30 -04:00

Opened #79 Quick Reply's failure is swallowed with no user-visible feedback 2026-09-12 01:51:30 -04:00

Opened #80 LotusToastContainer toast auto-dismiss timer is not reset in a fixed slot, so a fast burst can hide a toast before it's read 2026-09-12 01:51:31 -04:00

Opened #81 Room-history export gives no indication that a message was media/an attachment 2026-09-12 01:51:31 -04:00

Opened #82 Room Activity Log can misclassify membership transitions for back-paginated (older) events 2026-09-12 01:51:32 -04:00

Opened #83 Room Insights ("stats") panel freezes at open-time data and never reflects new activity 2026-09-12 01:51:32 -04:00

Opened #84 SendingSpinClass and CallAvatarAnimation ignore prefers-reduced-motion 2026-09-12 01:51:33 -04:00

Opened #85 CollapsibleBody's reduced-motion check is a one-time snapshot, not a live listener 2026-09-12 01:51:34 -04:00

Opened #86 Terminal boot sequence has no touch/click dismiss and isn't hidden from assistive tech 2026-09-12 01:51:34 -04:00

Opened #87 Dead code: unused useForceUpdate.js 2026-09-12 01:51:35 -04:00

Opened #88 syncDecorations.mjs fragile regex parsing 2026-09-12 01:51:35 -04:00

Opened #89 Client audit 2026-09 — tracking index 2026-09-12 01:52:08 -04:00

Opened #90 CI: add a Playwright smoke test that boots the built client and exercises the composer in an E2EE room 2026-09-12 01:57:42 -04:00

Opened #91 CI: npm audit is informational — high-severity advisories should fail pull requests 2026-09-12 01:57:42 -04:00

Opened #92 CI: built output is never loaded — add a vite preview boot check after npm run build 2026-09-12 01:57:43 -04:00

Opened #93 CI: the Docker image is never built — add a docker build job so the documented deploy path can't rot 2026-09-12 01:57:43 -04:00

Opened #94 CI: no dependency update automation (Renovate/Dependabot) 2026-09-12 01:57:44 -04:00

Opened #95 CI: no secret scanning, and config.json (incl. any gifApiKey) ships inside the build image 2026-09-12 01:57:44 -04:00

Opened #96 CI: bundle size is reported but has no budget — regressions pass green 2026-09-12 01:57:45 -04:00

Opened #97 CI: ESLint runs without --max-warnings, so new react-hooks/exhaustive-deps warnings never surface 2026-09-12 01:57:45 -04:00

Opened #98 CI: the lotus-build.sh upstream-merge path deploys without running CI 2026-09-12 01:57:46 -04:00

Opened #99 Repo hygiene: eight dead GitHub Actions workflows under .github/workflows never run on Gitea 2026-09-12 01:57:47 -04:00

Opened #100 Process: no CODEOWNERS or required review — a single push to lotus deploys to production in ~11 minutes 2026-09-12 01:57:47 -04:00

Opened #101 Dedupe the screenshare confirmation and route CallControls through useRoomCallPolicy 2026-09-12 19:54:07 -04:00

Opened #102 OIDC callback does not invalidate a cached client id the provider rejects 2026-09-12 19:54:08 -04:00

Opened #103 Strip tracking parameters from links on paste and on render 2026-09-17 01:39:34 -04:00

Opened #104 Sync Lotus settings across devices via account data 2026-09-17 01:39:34 -04:00

Opened #105 [research] Desktop: store the access token in the OS keychain + idle lock 2026-09-17 01:39:34 -04:00

Opened #106 [research] Search operators: from:, has:, in:, before:/after: — audit what exists first 2026-09-17 01:39:34 -04:00

Opened #107 [research] Composer: detect pasted code and offer a fenced code block 2026-09-17 01:39:34 -04:00

Opened #108 Custom room sections in the sidebar via u.* room tags 2026-09-17 01:39:34 -04:00

Opened #109 Strip EXIF/GPS metadata from images by default (currently only when compression is on) 2026-09-17 13:27:07 -04:00

Opened #110 [needs human review] Key-backup health banner — explain, then decide 2026-09-17 13:27:07 -04:00

Opened #111 [research] Space notice / MOTD banner — pick the spec-compliant data source 2026-09-17 13:27:07 -04:00

Opened #112 [research] Offline outbox — what happens today when a send fails or the client is offline 2026-09-17 13:27:07 -04:00

Opened #113 [planning] Session hygiene nudges — design session needed 2026-09-17 13:27:07 -04:00

Opened #114 [planning] Export / import my data (bookmarks, notes, settings, sections) — design session needed 2026-09-17 13:27:07 -04:00

Opened #115 [decide] Pre-join connection check (RTT/jitter probe to LiveKit shown as signal bars) 2026-09-17 13:27:08 -04:00

Opened #116 PWA: offer to install (Chromium prompt, iOS "Add to Home Screen" hint) 2026-09-17 13:29:43 -04:00

Opened #117 "You're talking while muted" toast 2026-09-17 15:21:20 -04:00

Opened #118 Auto-rejoin the voice room after a crash, update or restart 2026-09-17 15:21:20 -04:00

Opened #119 Audio output quick-switch in the call bar (verify EC in-call menu first) 2026-09-17 15:21:20 -04:00

Opened #120 Storage usage & clear (media cache, search index, crypto store) — keep it to one tile 2026-09-17 15:21:21 -04:00

Opened #121 [planning] Expected-device check on call join: warn when your usual mic/headphones are missing 2026-09-17 15:43:34 -04:00

Opened #122 Link-safety on click: warn when visible link text is a URL that differs from the real destination 2026-09-17 15:43:35 -04:00

Opened #123 [research] Verification reminder for your OWN unverified sessions 2026-09-17 15:43:35 -04:00

Opened #124 [planning · sprint] Homeserver maintenance banner driven by the Uptime Kuma status page 2026-09-17 15:43:35 -04:00

Opened #125 Haptic tick on PTT press/release and on reactions (Android) 2026-09-17 15:43:35 -04:00

Opened #126 [planning] Landscape phone in a call: full-bleed call, hide sidebar/header 2026-09-17 15:43:35 -04:00

Opened #127 Reply jump-back chip: "Back to where you were" after jumping to a replied-to message 2026-09-17 16:10:04 -04:00

Opened #128 Undeafen catch-up: one toast listing who joined/left while you were deafened 2026-09-17 16:10:04 -04:00

Opened #129 [research] Paste/drop an image → land in the caption field so "here's the bug" is one motion 2026-09-17 16:10:04 -04:00

Opened #130 [research] "Copy Link" should open in Lotus for guild members — matrix.to client hints vs direct chat.lotusguild.org permalinks 2026-09-17 16:10:05 -04:00

Opened #131 Code blocks: copy button + line-wrap toggle (verify upstream first, don't break rendering) 2026-09-17 16:10:05 -04:00

Opened #132 [verify] Pasting an image copied from a web page must send only the image (no page URL / alt text) 2026-09-17 16:10:05 -04:00

Opened #133 [decide] One-sentence "who can see this" line in room settings 2026-09-17 16:10:05 -04:00

Opened #134 Room header: minimal badge for call limit / audio-only policy 2026-09-17 16:10:05 -04:00

Opened #135 Pre-join guard: say plainly when you are about to join with the camera ON 2026-09-17 16:26:16 -04:00

Opened #136 PTT stuck-key release: drop a hold longer than N minutes (do not break calls) 2026-09-17 16:26:16 -04:00

Opened #137 Bulk media drop renders as one gallery (client-side grouping, standard events) 2026-09-17 16:26:17 -04:00

Opened #138 Reactions: "+N" overflow expands inline (check every layout/edge case first) 2026-09-17 16:26:17 -04:00

Opened #139 One timestamp formatter: audit and unify date/time display across timeline, room list, search, threads 2026-09-17 16:26:17 -04:00

Opened #140 [verify] Thread composer must honour "Hide Typing & Read Receipts" (typing) 2026-09-17 16:26:17 -04:00

Opened #141 [verify] Thread read receipts must honour "Private Read Receipts" 2026-09-17 16:26:17 -04:00

Opened #142 [verify] URL previews are never fetched for links in your own composer while typing 2026-09-17 16:26:18 -04:00

Opened #143 Per-call quality readout on hangup (low priority; UI must look native) 2026-09-17 16:51:57 -04:00

Opened #144 "(edited)" hover shows a word-level diff of the last edit 2026-09-17 16:51:58 -04:00

Opened #145 Join/leave sounds: debounce a flapping participant (do not break sounds) 2026-09-17 16:51:58 -04:00

Opened #146 [research] Mic level meter in the call bar while unmuted — what exists today? 2026-09-17 16:51:58 -04:00

Opened #147 Touch only: tap a sticker/GIF once to preview, again to send 2026-09-17 16:51:59 -04:00

Opened #148 Space rail: subtle dot when a call is live somewhere in that space (careful) 2026-09-17 16:51:59 -04:00

Opened #149 Optional setting: don't cache media from encrypted rooms on this device 2026-09-17 16:52:00 -04:00

Opened #150 Profile view: "Last active …" line from presence 2026-09-17 22:49:23 -04:00

Opened #151 Reply quote shows a media thumbnail when replying to an image/video 2026-09-17 22:49:23 -04:00

Opened #152 Collapsible long messages: remember "Read more" expansion per message for the session 2026-09-17 22:49:23 -04:00

Opened #153 Search / permalink jump: highlight the target message for ~3 s 2026-09-17 22:49:23 -04:00

Opened #154 PWA: app-icon badge count via navigator.setAppBadge() 2026-09-17 22:49:24 -04:00

Opened #155 PWA: register as an Android share target (Share → Lotus Chat) 2026-09-17 22:49:24 -04:00

Opened #156 Clear the clipboard 60 s after copying a recovery key / invite token — with a visible countdown 2026-09-17 22:49:24 -04:00

Opened #157 Room list "N Live" indicator: hover/long-press shows who is in the call 2026-09-17 22:51:52 -04:00

Opened #158 Clock-skew warning: compare the homeserver Date header to the local clock and warn once when it is far off 2026-09-17 22:53:32 -04:00

Opened #159 Undecryptable message: show the specific reason and the one action that fixes it 2026-09-17 23:06:34 -04:00

Opened #160 Call failures in plain words: map every EC / voice-guard failure code to one sentence 2026-09-17 23:06:34 -04:00

Opened #161 [verify] Incoming ring stops on all devices once the call is answered or declined elsewhere 2026-09-17 23:06:34 -04:00

Opened #162 Missed-call entry in the timeline (local-only) 2026-09-17 23:06:34 -04:00

Opened #163 Media Gallery: opening it scrolls the room timeline into the past while it loads older media 2026-09-17 23:06:34 -04:00

Opened #164 [deep dive] Full-screen image/video viewer UI/UX audit 2026-09-17 23:06:35 -04:00

Opened #165 [deep dive] Threads: full UI/UX audit + "mark all threads read" 2026-09-17 23:06:35 -04:00

Opened #166 Mobile: long-press a message opens a bottom sheet of actions (replaces the hover bar) 2026-09-17 23:06:35 -04:00

Opened #167 Lazy-load seasonal theme CSS/keyframes only when a seasonal overlay is active 2026-09-17 23:06:35 -04:00

Opened #168 Screen-reader announcements for call events (aria-live; invisible otherwise) 2026-09-17 23:06:36 -04:00

Opened #169 Delete all my messages in this room (self-service redaction of your own events) 2026-09-17 23:08:32 -04:00

Opened #170 [QA] §A Calls: ringtone selection, incoming-call ringtone, in-call second-call banner, focus camera, call-tile decorations, EC load watchdog 2026-09-17 23:24:05 -04:00

Opened #171 [QA] §B Polls: voting / selected / progress state and multiple-choice rendering on non-TDS themes 2026-09-17 23:24:06 -04:00

Opened #172 [QA] §C Upload retry on a flaky network (best-effort) 2026-09-17 23:24:06 -04:00

Opened #173 [QA] §D Element Call control-bar regression sweep (PTT, AFK auto-mute, denoise, screenshare audio, PiP badges) 2026-09-17 23:24:06 -04:00

Opened #174 [QA] §D2 Element Call fork feature sweep: in-source denoise reconnect, call_state indicators, focus-participant, in-call decorations, transparent bg, soundboard, quality controls, server-enforced call permissions 2026-09-17 23:24:06 -04:00

Opened #175 [QA] §E Mobile / responsive: touch targets, room-settings overflow, fullscreen modals, keyboard vs composer, mobile Saved Messages 2026-09-17 23:24:07 -04:00

Opened #176 [QA] §F Visual / theming: chat-background flicker, background vs seasonal exclusivity, picker grid 2026-09-17 23:24:07 -04:00

Opened #177 [QA] §G Calls: PiP mute badges, fullscreen camera broadcast, PTT badge on all themes 2026-09-17 23:24:07 -04:00

Opened #178 [QA] §H Media / performance: lazy image decryption in the gallery, thumbnail framing 2026-09-17 23:24:07 -04:00

Opened #179 [QA] §I Accessibility: aria-labels on edit-history / reactions / threads / replies with a screen reader 2026-09-17 23:24:08 -04:00

Opened #180 [QA] §K Features end-to-end: Remind Me Later, advanced search filters, notification content + click target 2026-09-17 23:24:08 -04:00

Opened #181 [QA] §L AFK auto-mute releases the OS mic indicator; maskable PWA icons 2026-09-17 23:24:08 -04:00

Opened #182 [QA] §M Search has:/pinned filters + recent searches; custom accent color; new theme presets (visual judgment) 2026-09-17 23:24:08 -04:00

Opened #183 [QA] §N OIDC / next-gen auth (MSC3861): login, persistence, refresh, logout revoke, account deep-link, password regression 2026-09-17 23:24:09 -04:00

Opened #184 [QA] §O July batch: thread panel, per-thread notifications, math, encrypted search cache, session hardening, audit-wave fixes, E2EE call-key cluster 2026-09-17 23:24:09 -04:00

Opened #185 [QA] §P Accessibility runtime pass: keyboard golden path, ? dialog, screen-reader reading + live announcements, focus return, axe/Lighthouse 2026-09-17 23:24:09 -04:00

Opened #186 [QA] §Q Inline media embeds: facade, one of each provider, TikTok portrait, post self-resize, Bluesky/Loom/Kick, toggle + cap 2026-09-17 23:24:09 -04:00

Opened #187 [QA] §R Discovery-pass fixes DP1–DP18: correctness, a11y/UX, TDS colours, refactor regression pass 2026-09-17 23:24:10 -04:00

Opened #188 [QA] Room widgets panel (MSC1236): add / open / remove, non-admin view, URL validation, mobile overlay, CSP frame-src 2026-09-17 23:24:10 -04:00

Opened #189 [QA] QR device verification: show / scan / confirm, emoji fallback, camera denied, wrong scan cancels 2026-09-17 23:24:11 -04:00

Opened #190 [QA] Disappearing messages (m.room.retention): timeline hide per preset, Show Hidden Events, self-only enforced redaction 2026-09-17 23:24:11 -04:00

Opened #191 [QA] Mark as Unread (MSC2867) + Low Priority tag: dot, clear on open, cross-device sync, category moves 2026-09-17 23:24:11 -04:00

Opened #192 [QA] Invite QR is generated locally: no api.qrserver.com request, scans to the right matrix.to link, works offline 2026-09-17 23:24:11 -04:00

Opened #193 [QA] Read-receipt regression guard: rooms stay read after Home/Direct mount, thread dot clears, decoration 403/502 storm gone 2026-09-17 23:24:12 -04:00

Opened #194 [QA] Shipped-but-unverified index: SW notification click, KaTeX, encrypted search cache, session blob migration, scheduled-cancel, emoji lazy-load, SW precache, forward-to-many, HSTS/Permissions-Policy, Linux desktop parity, EC deafen via widget action 2026-09-17 23:24:12 -04:00

Opened #195 Call-to-call switch: send an explicit HangupCall before disposing the embed (transient ghost RTC membership) 2026-09-17 23:24:13 -04:00

Opened #196 [parked] Matrix 2.0 call membership via MSC4354 sticky events — investigated, deliberately NOT enabled 2026-09-17 23:24:14 -04:00

Opened #197 [large] In-app audio editor / video→audio extractor 2026-09-17 23:24:14 -04:00

Opened #198 [QA] Runtime mobile QA on a real phone (static analysis only so far) 2026-09-17 23:24:14 -04:00

Opened #199 Mobile: touch discoverability for message actions / quick reactions (hover-gated; iOS long-press unreliable) — design decision needed 2026-09-17 23:24:15 -04:00

Opened #200 Inline media embeds: remaining providers (low priority) 2026-09-17 23:24:15 -04:00

Opened #201 [planning] E2EE / call-key cluster KE-1→4: OTK upload conflict storm, EC MissingKey, malformed algorithm, MatrixRTC delayed-event timeouts — capture first, do not spot-fix 2026-09-17 23:25:31 -04:00

Opened #202 Web Push (N107): sw.ts has no push handler — background notifications need a push listener + a Matrix push gateway 2026-09-17 23:25:31 -04:00

Opened #203 Quick reply from a browser notification (P5-20, remaining half): inline reply via Notification Actions through the SW 2026-09-17 23:25:32 -04:00

Opened #204 Persisted PII without encryption: status message + expiry and unsent composer drafts sit in plaintext localStorage 2026-09-17 23:25:32 -04:00

Opened #205 Room Widgets v1 follow-ups: capability-approval consent prompt, Jitsi/stickerpicker types, account-data widgets, per-widget popout 2026-09-17 23:25:32 -04:00

Opened #206 [parked] Sliding Sync (MSC3575 / simplified MSC4186) — server GA, client side judged not safe to roll out 2026-09-17 23:25:32 -04:00

Opened #207 [gated on infra] Invite by email (3PID → identity server), QR sign-in for a new device (MSC4108 rendezvous), dehydrated devices (MSC3814) 2026-09-17 23:25:33 -04:00

Opened #208 [verify] ML noise suppression (P5-30): real-call by-ear A/B of model / floor / AGC; GTCRN deferred 2026-09-17 23:25:33 -04:00

Opened #209 EC fork Phase 2 (P6-2): after publishing 0.20.1-lotus.2, bump the pin and delete the CallControl.ts .muted DOM fallback 2026-09-17 23:25:33 -04:00

Opened #210 Build / typing hygiene notes: lotusDenoise closeBundle fs work, types/matrix drift vs the SDK, gradual as any cleanup 2026-09-17 23:25:33 -04:00

Opened #211 Mobile: the Widgets panel has no entry point (header button is desktop-only, ⋮ menu has no Widgets item) 2026-09-18 17:46:10 -04:00

Opened #212 Timeline: your own newly sent message can land below the fold with "Jump to Latest" (stale at-bottom flag after a poll vote) 2026-09-18 17:49:35 -04:00

Opened #213 Upload error card shows the raw MatrixError string including the server URL 2026-09-18 17:58:17 -04:00

Opened #214 Privacy: every page load contacts fonts.googleapis.com / fonts.gstatic.com for the VT323 font — self-host it 2026-09-18 19:11:16 -04:00

Opened #215 Seasonal floating button sits above modals and toasts (bottom-right) — should hide behind overlays 2026-09-18 19:22:08 -04:00

Opened #216 /kick and /ban failures are silent (rateLimitedActions swallows non-429 errors) 2026-09-18 19:27:25 -04:00

Opened #217 [decide] Threads: opening a room marks every thread in it read — chip/list unread badges never survive a room visit 2026-09-18 21:31:31 -04:00

Opened #218 Threads: opening the thread panel next to the member drawer squeezes both composers to a few characters at ≤1400 px 2026-09-18 21:31:31 -04:00

Opened #219 Unify the two image viewers: timeline ImageViewer should open the gallery lightbox at that item 2026-09-18 21:31:31 -04:00

Opened #220 CI: e2e job that starts its own Synapse and runs the UI regression suite (no prod secrets) 2026-09-18 21:41:07 -04:00

Opened #221 E2E: run the Playwright suite under WebKit as a Safari/iOS proxy 2026-09-18 21:41:08 -04:00

Opened #222 a11y in CI: axe-core gate + accessibility-tree snapshots as the screen-reader proxy 2026-09-18 21:41:08 -04:00

Opened #223 Calls: sharer's own 'Stop Screenshare' button stays lit ~30 s after the server revokes the share 2026-09-18 22:39:45 -04:00

Opened #224 PiP call window is see-through — the timeline underneath shows through the transparent EC surface 2026-09-19 00:37:30 -04:00

Opened #225 [QA] Calls: the by-ear checklist (denoise tiers, soundboard levels, join/leave + ringtone sounds, screenshare audio) 2026-09-19 00:37:30 -04:00

Opened #226 Status save failed with "server may be rate limiting" — Synapse allows one presence write per 10 s per user 2026-09-19 17:43:31 -04:00

Opened #227 Quick statuses in General Settings not auto clearing after set interval 2026-09-21 18:54:22 -04:00

Opened #228 When playing a youtube video, after pressing play the actual video player shrinks really small. Please audit all embed media playback 2026-09-21 19:41:20 -04:00

Opened #229 http://localhost:44548/public/res/Lotus.png Image on the home of cinny-desktop in windows 11 client loads as alt text 2026-09-21 20:02:12 -04:00

Opened #230 [Seasonal · human approval required] New Year: better design & features 2026-09-25 13:03:43 -04:00

Opened #231 [Seasonal · human approval required] Lunar New Year: better design & features 2026-09-25 13:03:44 -04:00

Opened #232 [Seasonal · human approval required] Valentine's Day: better design & features 2026-09-25 13:03:44 -04:00

Opened #233 [Seasonal · human approval required] St Patrick's Day: better design & features 2026-09-25 13:03:44 -04:00

Opened #234 [Seasonal · human approval required] April Fools' Day: better design & features 2026-09-25 13:03:45 -04:00

Opened #235 [Seasonal · human approval required] Earth Day: better design & features 2026-09-25 13:03:45 -04:00

Opened #236 [Seasonal · human approval required] Arcade: better design & features 2026-09-25 13:03:46 -04:00

Opened #237 [Seasonal · human approval required] Autumn: better design & features 2026-09-25 13:03:46 -04:00

Opened #238 [Seasonal · human approval required] Deep Space: better design & features 2026-09-25 13:03:47 -04:00

Opened #239 [Seasonal · human approval required] Halloween: better design & features 2026-09-25 13:03:47 -04:00

Opened #240 [Seasonal · human approval required] Christmas: better design & features 2026-09-25 13:03:48 -04:00

Opened #246 Polls: timeline rendering is hard to read (percentages, bars, indicators, layout) 2026-09-27 23:06:52 -04:00

Opened #248 Desktop: "Copy Lotus Link" copies a localhost address; public Lotus links not recognised in-app 2026-09-28 19:30:22 -04:00

Opened #253 Improve "Call was good" message after a call to be more detailed and less vague 2026-09-29 00:15:12 -04:00

Opened #259 Media Gallery / Activity Log make the room timeline drop loaded messages, and it continues after the panel is closed (regression of #163) 2026-10-04 17:41:25 -04:00

Opened #260 ML noise-suppression failures are never shown: io.lotus.denoise_state is unhandled, and the old lotus-denoise-status listener is dead and accepts any window 2026-10-04 17:41:25 -04:00

Opened #261 Server ACL settings treat a missing allow_ip_literals as false, so the first save silently blocks IP-literal servers 2026-10-04 17:41:25 -04:00

Opened #262 Room topic editor mangles URLs and aliases that contain _ or * (broken links for every client) 2026-10-04 17:41:25 -04:00

Opened #263 Room header: opening Threads or Gallery shifts the header icons, so a second click opens Widgets instead of closing the panel 2026-10-04 17:41:26 -04:00

Opened #264 Phone: composer emoji/sticker board opens 31 px off the left edge of the screen 2026-10-04 17:41:26 -04:00

Opened #265 Phone (portrait) call: call controls wrap to 4 rows (~40% of the screen) and your own tile isn't shown 2026-10-04 17:41:27 -04:00

Opened #266 Widget consents survive logout, and the protected-state list misses space and call state 2026-10-04 17:41:28 -04:00

Opened #267 Share target: any website can POST into /share-target, and stashed shared files aren't cleared on logout 2026-10-04 17:41:28 -04:00

Opened #268 Offline outbox: two open tabs overwrite each other's saved queue 2026-10-04 17:41:28 -04:00

Opened #269 Read-receipt avatars float at the end of the message text instead of the message's right edge 2026-10-04 17:41:28 -04:00

Opened #270 Room Insights: the top 'Most Active Members' bar pushes its message count out of view 2026-10-04 17:41:29 -04:00

Opened #271 Settings → Calls: the Noise Suppression description renders at body size, larger than every other description 2026-10-04 17:41:29 -04:00

Opened #272 Avatar Decoration settings: the preview is an invisible circle and never shows your own avatar 2026-10-04 17:41:30 -04:00

Opened #273 Settings layout: grouped settings run together, and the Sync tile is squeezed on phones 2026-10-04 17:41:30 -04:00

Opened #274 'Connecting…' strip stays about 30 s after the app is already usable 2026-10-04 17:41:31 -04:00

Opened #275 Schedule Message lets you pick a time beyond 24 h; the server rejects it with a raw technical error 2026-10-04 17:41:31 -04:00

Opened #276 Desktop build number isn't shown anywhere, and the web version is a static string 2026-10-04 17:41:31 -04:00

Opened #277 Call bar always shows 'Mute Screenshare Audio' (a speaker icon), even when nobody is sharing 2026-10-04 17:41:32 -04:00

Opened #278 Accessibility: axe-core findings across the main screens 2026-10-04 17:41:32 -04:00

Opened #279 Copy nits: room soundboard text talks about a 'space', Push to Deafen help, a pinned-messages typo 2026-10-04 17:41:33 -04:00

Opened #280 Tracking stripper removes Reddit context=, which changes what a comment permalink shows 2026-10-04 17:41:33 -04:00

Opened #281 Client audit 2026-10: tracking index 2026-10-04 17:41:58 -04:00

Opened #282 Invisible, "Hide Online Status", Idle and DND don't stick: the next /sync sets you back to online 2026-10-04 19:50:20 -04:00

Opened #283 Do Not Disturb overwrites your status message with "dnd", and the "dnd" stays after you switch back 2026-10-04 19:50:20 -04:00

Opened #284 You can't vote on a poll you just created (until a reload): the vote targets the poll's local-echo id and throws 2026-10-04 19:50:21 -04:00

Opened #285 Room invite links and QR codes use matrix.to, which can't open Lotus Chat 2026-10-04 19:50:21 -04:00

Opened #286 A link whose text names a different site still gets a genuine preview card for the site it pretends to be 2026-10-04 19:50:21 -04:00

Opened #287 Translate silently does nothing when the language can't be detected, or the message is already in your language 2026-10-04 19:50:21 -04:00

Opened #288 Message search lists an edited message once per version 2026-10-04 19:50:21 -04:00

Opened #289 Sidebar room filter with no matches shows empty section headers and no "No rooms match" message 2026-10-04 19:50:21 -04:00

Opened #290 Desktop-only settings are mixed into the Appearance section 2026-10-04 19:50:22 -04:00

Opened #291 Invalid HTML nesting in Settings: blocks inside the tile description's <p> (React warnings on every Settings page) 2026-10-04 19:50:22 -04:00

Opened #292 Installed PWA is locked to portrait, and the "New Message" shortcut just opens the home page 2026-10-04 19:50:22 -04:00

Opened #293 ML noise suppression can't be tested with npm start, and every call logs a lotusTransparent/lotusTheme warning 2026-10-04 19:50:23 -04:00

Opened #294 LOTUS_FEATURES.md is missing ~55 shipped features 2026-10-04 19:50:23 -04:00

Opened #295 Starting a call in a voice room @room-pings every member when a moderator or admin starts it 2026-10-04 20:33:35 -04:00

Opened #296 The persistent encrypted-search opt-in survives logout, so the next account on the device starts with plaintext indexing switched on 2026-10-04 21:03:51 -04:00

Opened #297 When a room admin turns off screen sharing, the sharer gets two contradictory toasts 2026-10-04 21:03:51 -04:00

Opened #298 A tiny m.room.retention value permanently deletes opted-in users' messages and hides the room's history for everyone (the 10-minute safety floor is never applied) 2026-10-04 21:06:15 -04:00

Opened #299 Replying from a browser notification doesn't re-check room encryption at send time, and posts with the newest session rather than the notification's account 2026-10-04 21:09:04 -04:00

Opened #300 Status auto-clear only works on the device that set it, and only while that device is open 2026-10-04 21:09:04 -04:00

Opened #301 "The call failed to load… try again" screen has no Try again button 2026-10-04 21:19:33 -04:00

Opened #302 "Rejoin voice?" reads "in the call in Bob Builder" for DMs, and is offered for DM calls that already ended 2026-10-04 21:19:33 -04:00

Opened #303 Firefox: the app hangs on "Heating up" after login until the persistent-storage prompt is answered 2026-10-04 21:36:12 -04:00

Opened #304 Escape doesn't close the composer's emoji/sticker board in any browser (focus starts in its search field) 2026-10-04 21:36:12 -04:00

Opened #305 Reactions row flickers between "wrapped" and "one row + N" every frame when the chips almost fit, and the collapsed style wipes the row's top margin 2026-10-04 23:25:53 -04:00

Opened #306 Delivery indicator gets stuck: your last message keeps "Sending..." (or "Queued" / "Failed to send") after the server has it 2026-10-04 23:44:34 -04:00

Opened #307 Security nudge never shows while a dismissed Kuma announcement is still posted 2026-10-04 23:53:35 -04:00

Opened #308 Status banner Details mangles announcement text: every >, #, _, *, ` is deleted ("#general" → "general", "<b>" → "<b") 2026-10-04 23:53:35 -04:00

Opened #309 Share target: any website can pre-fill the share page with its own text/files, and an unplaced share survives logout 2026-10-05 00:06:16 -04:00

Opened #310 Call-bar audio output switch can't select a specific device: the host's deviceIds mean nothing inside the call iframe 2026-10-05 00:17:39 -04:00

Opened #311 Terms-consent prompt: every close (including "I've accepted — retry") snoozes it for 10 s, so a retry that fails again is silent 2026-10-05 00:17:39 -04:00

Opened #312 After a reload/restart, a call that already ended (or that you rejected) rings again and the DM shows "1 Live" + the call screen for minutes 2026-10-05 01:04:06 -04:00

Opened #313 Reject sends an MSC4310 decline that points at the wrong event: the caller keeps "Calling…" for 90 s, and the declined call is logged as "Missed call" 2026-10-05 01:08:37 -04:00

Opened #314 Opening a room silently marks every thread you don't follow as read, so the Threads panel's "Unread" filter never shows them 2026-10-05 01:26:04 -04:00

Opened #315 Pressing Enter in the Poll, Schedule or Report dialogs closes them and throws away what you typed (the header ✕ is the form's default submit button) 2026-10-05 01:40:41 -04:00

Opened #316 Every call leaks ~11 MB: an 11th CallControl subscriber trips MaxListenersExceededWarning, and the logged warning keeps the whole Element Call document alive 2026-10-05 15:32:38 -04:00

Opened #317 A stalled homeserver goes unnoticed for up to 110 s: no strip, Kuma isn't asked, and sends just spin (the #124 outage scenario) 2026-10-05 15:53:19 -04:00

Opened #318 During a homeserver stall the call widget's delayed-event restarts pile up in the host (burst of 404/429 on recovery), and the host keeps showing "in call" after Element Call reports Connection lost 2026-10-05 16:17:02 -04:00

Opened #319 Logging out (manually or by remote sign-out) leaves the open composer's draft in localStorage: the pagehide flush rewrites it after the wipe 2026-10-05 16:20:34 -04:00

Opened #320 Inter hasn't been used since May: CSS asks for 'InterVariable' but @fontsource-variable/inter 5 names it 'Inter Variable' (app renders in the system fallback font) 2026-10-05 16:32:15 -04:00

Opened #321 Policy list viewer double-lists rules a bot publishes under both the stable and legacy types (de-dup keys on the raw recommendation) 2026-10-05 16:38:45 -04:00

Opened #322 Scheduled messages are only tracked in one browser's localStorage: other devices can't see or cancel them, and after logout they still send with no way to stop them 2026-10-05 17:36:52 -04:00

Opened #323 Call PiP opens on top of the composer (covers Send and Emoji; on phones the whole message box), with no way to minimise it 2026-10-05 17:48:39 -04:00

Opened #324 In-app message toasts only appear if the browser's notification permission is granted, so people who declined (or were never asked) get no in-app toasts 2026-10-05 17:57:50 -04:00

Opened #325 Quiet hours don't start (or end) while the app stays open: the window is only checked when the notifier happens to re-render 2026-10-05 18:03:58 -04:00

Opened #326 Any website can make its link render as a playable YouTube (or other provider) card: the embed is resolved from the page's own og:url 2026-10-05 18:13:35 -04:00

Opened #327 Upgrading a room silently drops all Lotus room state (voice limit, audio-only/quality caps, soundboard) and its retention policy 2026-10-05 18:40:33 -04:00

Opened #328 Calls in private group rooms: only admins can start or join. Members see "1 Live · Join" and then "You don't have permission to join!" 2026-10-05 18:54:20 -04:00

Opened #329 "Private Note — Notes only visible to you" is stored in plaintext account data that homeserver admins can read 2026-10-05 22:57:13 -04:00

Opened #330 Forwarding out of an encrypted room gives no warning: the text (and a re-uploaded plaintext attachment) becomes server-readable, and the original author's ID goes along 2026-10-05 22:58:03 -04:00

Opened #331 "Compress image before uploading" turns transparent WebP/GIF backgrounds black and animated GIF/WebP into a still JPEG 2026-10-05 23:20:22 -04:00

Opened #332 "Remove Photo Metadata" doesn't cover emoji/sticker pack images, pack avatars or power-level badges, all of which are published to the whole room or space 2026-10-05 23:22:00 -04:00

Opened #333 "Mute for 1 hour" mutes the room on every device but only the device that set it ever unmutes it 2026-10-05 23:31:52 -04:00

Opened #334 Keyboard shortcuts dialog (?) lists 7 shortcuts and omits Ctrl+K, ↑ to edit, all composer formatting keys and your push-to-talk/deafen keys 2026-10-05 23:36:07 -04:00

Opened #335 Link-mismatch warning is bypassed by adding a word to the link text, or by using a shared hosting domain (pages.dev, github.io…) 2026-10-05 23:37:41 -04:00

Opened #336 "Rename for me" names aren't used by the quick switcher (Ctrl+K), forward/share pickers, search results, inbox or notifications 2026-10-05 23:50:31 -04:00

Opened #337 Animated chat backgrounds animate background-position, which repaints the whole chat area every frame (45–70% main-thread busy while idle in testing) 2026-10-06 00:11:44 -04:00

Opened #338 "Remind me" fires as a 4-second in-app toast only (no OS notification, no sound) and then deletes the reminder, so a reminder that comes due while you're away is lost 2026-10-06 00:16:36 -04:00

Opened #339 Closing or reloading any Lotus tab/window erases your custom status for everyone: the pagehide presence write omits status_msg 2026-10-06 13:01:57 -04:00

Opened #340 One click on the composer's globe icon posts your exact location to the room: no preview or confirm, accuracy ignored, shown to 5 decimals 2026-10-06 18:27:38 -04:00

Opened #341 Giphy/Tenor link previews are a fixed ~400×200 box for every GIF: tall and square GIFs are cropped to their middle, small ones upscaled 2026-10-10 22:15:43 -04:00

Opened #342 "Channel Full" counts devices, not people: one user on two devices (or a crashed tab) locks everyone else out, though the server would let them in 2026-10-10 22:15:43 -04:00

Opened #343 Collapsed long messages: Tab into a hidden link scrolls the message inside its box (top cut off, stays that way), "Read more" has no aria-expanded, and the fade leaves a band in bubble layout 2026-10-10 22:15:44 -04:00

Opened #345 CI is red for every PR: npm audit fails on a new high advisory in source-map-js 1.2.1 (via sanitize-html → postcss); 1.2.2 fixes it 2026-10-10 22:20:35 -04:00

Opened #347 Logout leaves the call-volume list behind: lotus-per-user-volume (the people you adjusted, with their volumes) and a settings-sync key named after the previous user 2026-10-11 00:51:40 -04:00

Opened #348 Settings sync carries "ENTER for Newline" between phone and desktop: turning it on for the phone keyboard makes the desktop need Ctrl+Enter to send 2026-10-11 01:11:18 -04:00

Opened #349 "On-device translation isn't available… use … the Lotus desktop app": the Linux and macOS desktop apps (WebKit) can't translate either, and they show this advice to people already in the app 2026-10-11 01:13:09 -04:00

Opened #453 [tracking] Settings audit: layout, readability and UX 2026-10-25 00:56:04 -04:00

Opened #455 [settings] One theme control instead of System Theme + a greyed-out Theme dropdown 2026-10-25 01:19:03 -04:00

Opened #456 [settings] Copy pass: sentence case, grammar fixes, plain names 2026-10-25 01:19:04 -04:00

Opened #457 [settings] Remove the "Block Messages" stub; hide options that can't work in this build 2026-10-25 01:19:05 -04:00

Opened #458 [settings] "Export Messages Data" is an encryption key export: rename and move it 2026-10-25 01:19:05 -04:00

Opened #459 [settings] Split General into pages people would look for 2026-10-25 01:19:06 -04:00

Opened #460 [settings] Collapse the big picker grids (chat background, seasonal theme, avatar decoration) 2026-10-25 01:19:06 -04:00

Opened #461 [settings] Privacy: move URL previews in, merge the two read-receipt switches 2026-10-25 01:19:07 -04:00

Opened #462 [settings] Calls: fixed sub-groups and clearer titles 2026-10-25 01:19:08 -04:00

Opened #463 [settings] Search across all settings 2026-10-25 01:19:09 -04:00