Releases: Quantumheart/Kohera
Releases · Quantumheart/Kohera
Release list
v1.11.1
v1.11.0
1.11.0 (2026-07-16)
Features
- #784: use platform media players on iOS instead of bundled libmpv (50349fe), closes #784 #611
- #790: inline video seek bar, time labels, and play-button tap target (ff05a75), closes #790
- #791: video bubble skeleton, thumbnail retry, and retry-state guard (0887a9a), closes #791
- #793: derive video bubble box from media dimensions (8afa5ed), closes #793 #797
- #795: enable web video playback via HTML5 video_player (a988bae), closes #795
- chat: create polls from the compose attachment menu (2164a9d), closes #596 #524
- chat: end polls and show poll preview text (67b598e), closes #598 #599 #524
- chat: render MSC3381 poll-start events as read-only bubbles (6f4bde2), closes #595
- chat: render poll label in IRC timeline style (5aa3c85), closes #595
- chat: vote on polls, change, and retract (d7c7ec7), closes #597 #524
- e2ee: trim redundant taps in E2EE setup screen (50e299f), closes #622
- show position and duration labels in fullscreen video slider (faae947), closes #797
- swipe-to-dismiss and tap-to-pause fullscreen video (1a036ff), closes #797
Bug Fixes
- #784: do not await just_audio play in open (d2b5715), closes #784
- #784: harden mobile video/audio player lifecycle (91d957a), closes #785
- #784: label recorded voice messages as audio/mp4 not audio/ogg (80e2839), closes #784
- #784: remux Ogg/Opus voice messages to CAF on iOS (7dda848), closes #784
- #784: seek to start before replay on iOS/Android audio (820b37d), closes #784
- #784: sniff audio content magic bytes on iOS instead of mimetype (deecdf6), closes #784
- #784: use PlaylistMode.none for non-loop media_kit playback (06867af), closes #784
- chat: guard encrypted video/attachment thumbnails against invalid image data (ad1eb19)
- e2ee: map verification cancel codes to friendly text (0c31188), closes #626
- e2ee: show busy state while unlocking existing backup (4f9cbec), closes #626
- fullscreen top bar reappears on tap and auto-hides slower (30b6039), closes #797
- provide Material ancestor for media viewer dialog (e3a1c7b), closes #797
- render poll question in push notification body (f69cddb), closes #799
- respect top safe-area inset on call and key-backup banners (acad2aa), closes #771
- seed fullscreen video controls with current playback state (ac1ed6b), closes #797
- strip reply fallback from OS notification body (7c86e1d)
v1.10.0
1.10.0 (2026-07-07)
Features
- #760: add IRC-style chat timeline display mode (9820ae6)
- #761: expose Light/Dark/System mode picker in Appearance (e908350)
- theme: convert Kohera to a pixel-art identity with swappable palettes (f168033)
- theme: redesign brand mark as pixel-art mushroom (34ee547)
Bug Fixes
- #628: derive inbox badge from global unread count (eeae023), closes #628
- #629: concurrent decryption and TTL negative cache for inbox (d726caf), closes #629
- #700: guard spaceChildren access for non-space rooms (485d8e4)
- #706: address code review issues 1-7 (5378af4), closes #697 #706
- #760: render text body and load media in IRC timeline (6f39f68)
- inbox: scope thread-root preview cache to active client (27f2a4d), closes #631
- notifications: sync global notification level to server push rules (#683) (a42170f)
- rename RoomPermissionsConverter to RoomPermissionsResolver (472fc38), closes #705
- resolve analyze lint issues in test files (5f72a33), closes #703
- sync: reduce redundant /sync calls on web and multi-account (26b57d7)
v1.9.0
1.9.0 (2026-06-28)
Features
- chat: open user profile sheet on tapping sender avatar (40054d0), closes #669
- empty state for joined space with zero joined rooms (#681) (b16c1e5), closes #682
- implement showSpaceRooms for direct space preview access (fc4b8bd), closes #679
- inline unjoined child rooms in room list with one-tap Join (#680) (2513148)
- resolve accurate joined-member count in room/space headers (048796c)
- spaces: implement space child room hierarchy data layer (Issue #678) (5af5dbc)
Bug Fixes
- calling: advertise the connected SFU so the focus stays sticky (e2af045), closes #668
- calling: converge federated calls on the oldest member's SFU (bab21c7), closes #668
- chat: guard OpenMoji precache against deactivated context (b6f9e0d)
- chat: show pointer cursor on hover action bar buttons (42e3edc)
- chat: show pointer cursor on tappable sender avatar (f7dfe93)
- identify call participants by sender, not state-key regex (e7788b0), closes #191
- pass via servers and alias to join from room tile (31fba06), closes #687 #682
- spaces: meet all acceptance criteria for issue #678 (0ff5565)
- spaces: provider type mismatch + real join-failure test (9b484e3)
- spaces: resolve analyzer warnings in space rooms hierarchy (ec1d40e)
v1.8.1
v1.8.0
v1.7.0
1.7.0 (2026-06-22)
Features
- add shared Kohera mark and animated loader widgets (93a6cdc)
- brand prominent loaders with the animated mushroom loader (e573422)
- drive in-app logo from a generated SVG and align icon gradient (a2e3fa1)
- place the Kohera mark in the auth logo, empty chat pane, and settings (f682376)
- redesign app icon as mushroom + mycelial network (1924ef3)
Bug Fixes
v1.6.2
v1.6.1
v1.6.0
1.6.0 (2026-06-16)
Features
- #587: render decimal SAS in device verification (849487c), closes #587
- #620: enable dehydrated devices (MSC3814) (842af35), closes #620
- #620: hide dehydrated device from the devices list (12938b5), closes #620
- #621: persist E2EE skip state and make backup banner dismissable (bd39f30), closes #621
- #637: render Cloudflare Turnstile widget under recaptcha stage (c5ec986), closes #637
Bug Fixes
- #589: add onHover fallback for hover bar on Flutter web canvas (ec36f06)
- #627: make inbox mention detection push-rule-driven and Unicode-aware (8e28f80), closes #627
- #635: debounce thread unread count refresh to avoid per-sync API calls (2a81e78)
- #635: fetch thread unread count from server for app bar badge (e361caf)
- decode OpenMoji at painted size so small emoji aren't blurry (42937c6), closes #608
- exclude OpenMoji glyph text from semantics tree (96f530a)
- security: validate URL schemes before launching links (7d035d9)
- sync: pause Matrix sync when app backgrounds to avoid 0xdead10cc (b03134b)
Performance Improvements
- render emoji via OpenMoji color font instead of 4495 PNGs (50ad58e)