Compare commits

...

4 Commits

Author SHA1 Message Date
jared 60c215c63d feat: add export history, scheduling, bookmarks rows; update feature list
Lint / Shell (shellcheck) (push) Successful in 9s
Lint / JS (eslint) (push) Successful in 6s
Lint / Python (ruff) (push) Successful in 6s
Lint / Python deps (pip-audit) (push) Successful in 34s
Lint / Secret scan (gitleaks) (push) Successful in 4s
New table rows (UX & Extras section):
- Export room history: Lotus ✓ (txt/json/html, date range, E2EE), Element ✓
- Message scheduling: Lotus ✓ (MSC4140), Element ~, others ✗
- Message bookmarks: Lotus ✓, Element ✓, others ✗

also-available paragraph: prepended June 2026 feature groups — message
scheduling, saved messages, history export, activity/mod log, server ACL
editor, room stats, opt-in compression, 13 domain-specific URL preview
cards (YouTube, TikTok, Twitch, Reddit, X/Twitter, Spotify, Steam, IMDb,
Vimeo, GitHub, Discord, npm, Stack Overflow)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 12:40:31 -04:00
jared cfb8b78e7c feat: add custom sounds, quiet hours, room sort to comparison table 2026-06-03 20:32:46 -04:00
jared 12a6e7410d docs: update landing page for P1 features — polls create, voice speed, new rows
- Polls: "display & vote" → "create, vote & display; single or multiple choice"
- Voice messages: add 0.75×/1×/1.5×/2× speed note
- 4 new UX & Extras table rows: Media Gallery, Sidebar filter, Favorite rooms, Invite link+QR
- also-available paragraph expanded with all P1 additions
- Comparison date updated to "June 2026 (updated)"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 10:45:04 -04:00
jared 5539f1f1fd docs: update landing page for June 2026 features
- Update comparison table date to June 2026
- Add push-to-deafen (M key), night light filter, message length
  counter, and TDS orange typing dots to also-available paragraph
- PTT row notes M = push-to-deafen
- Add Night Light row to UX & Extras comparison table

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 18:47:40 -04:00
+126 -5
View File
@@ -554,7 +554,8 @@
</a> </a>
</div> </div>
<p class="also-available"> <p class="also-available">
Our Lotus Guild fork of Cinny adds: voice message recording (MSC3245, works E2EE), device verification fix (cross-client SAS emoji + inline cards), per-member device session panel with per-device verify buttons, full Discord-style presence tracking (online on startup, idle/away after 10&nbsp;min inactivity, unavailable when tab hidden, offline on close &mdash; with a &ldquo;Hide Online Status&rdquo; privacy toggle), presence status indicators (online/busy/away dots) in member lists, incoming call ring + Answer/Decline (DMs &amp; group chats), GIF picker (Giphy), emoji &amp; sticker picker (custom packs, stickers send as <code style="font-size:0.8em;color:#e88;">m.sticker</code> events), pinned messages panel (pin icon in room header, pin/unpin from message menu), who-reacted viewer (hover any reaction for a name tooltip; right-click for a full avatar list), draggable+resizable picture-in-picture call window, poll display &amp; voting, message forwarding, image/video captions, location sharing (map view + send), deleted message placeholders, per-message read receipt avatars (click for full list with timestamps), screenshare fullscreen button, screenshare audio mute (mute a screenshare&rsquo;s audio without leaving the call), PTT (Push-to-Talk with configurable hold key), custom status messages with emoji picker + auto-clear timer (30&nbsp;min &ndash; 7&nbsp;days) shown below usernames, encrypted room search via local cache scan with per-room &ldquo;Load more&rdquo; history buttons, a dedicated Privacy settings section (hide typing, hide online status), and the Lotus Terminal design theme. Our Lotus Guild fork of Cinny adds: voice message recording &amp; playback with 0.75×/1×/1.5×/2× speed control (MSC3245, E2EE), device verification fix (cross-client SAS emoji + inline cards), per-member device session panel with per-device verify buttons, full Discord-style presence tracking (online on startup, idle/away after 10&nbsp;min inactivity, unavailable when tab hidden, offline on close &mdash; with a &ldquo;Hide Online Status&rdquo; privacy toggle), presence status indicators (online/busy/away dots) in member lists, incoming call ring + Answer/Decline (DMs &amp; group chats), GIF picker (Giphy), emoji &amp; sticker picker (custom packs, stickers send as <code style="font-size:0.8em;color:#e88;">m.sticker</code> events), pinned messages panel (pin icon in room header, pin/unpin from message menu), who-reacted viewer (hover any reaction for a name tooltip; right-click for a full avatar list), draggable+resizable picture-in-picture call window, poll creation &amp; voting (single or multiple choice, 2&ndash;10 options), message forwarding, image/video captions, location sharing (map view + send), deleted message placeholders, per-message read receipt avatars (click for full list with timestamps), private read receipts toggle (Settings &rarr; Privacy), screenshare fullscreen button, screenshare audio mute (mute a screenshare&rsquo;s audio without leaving the call), PTT (Push-to-Talk with configurable hold key), push-to-deafen (<kbd style="font-size:0.8em;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:3px;padding:1px 5px;">M</kbd> key, configurable in Settings &rarr; Calls), custom status messages with emoji picker + auto-clear timer (30&nbsp;min &ndash; 7&nbsp;days) shown below usernames, encrypted room search via local cache scan with per-room &ldquo;Load more&rdquo; history buttons, a dedicated Privacy settings section (hide typing, hide online status), sidebar room filter (search rooms by name in Home and DMs tabs), favorite rooms (star any room, syncs across devices via m.favourite tag), media gallery drawer (browse all images/videos/files shared in a room), invite link + QR code (in both invite modal and room settings), knock-to-join support (Request to Join button + admin Approve/Deny panel), code syntax highlighting in Lotus Terminal mode (keywords, strings, numbers, comments, functions), night light / blue light filter (warm orange overlay with adjustable intensity in Settings &rarr; Appearance), message length counter in the composer, and the Lotus Terminal design theme (with TDS-styled orange typing indicator dots).
Also added in June 2026: message scheduling (MSC4140, datetime picker, cancel tray), saved messages / bookmarks (right-click any message, sidebar panel, syncs across devices), room history export (txt/json/html, date range, E2EE-aware), room activity &amp; mod log (joins, kicks, bans, power level changes), server ACL editor (allow/deny lists, wildcard validation, power-level gated), room stats panel (top members, top reactions, media breakdown, 24h activity heatmap), opt-in image compression (Canvas API at 0.82 quality, shows before/after sizes), and 13 domain-specific URL preview cards (YouTube, Vimeo, Twitch, Reddit, X/Twitter, Spotify, Steam, IMDb, Wikipedia, GitHub, Discord, npm, Stack Overflow).
Prefer the unmodified upstream? <a href="https://cinny.in" target="_blank" rel="noopener">cinny.in</a> works with our homeserver &mdash; set it to <code style="font-size:0.8em;color:#e88;">matrix.lotusguild.org</code>. Prefer the unmodified upstream? <a href="https://cinny.in" target="_blank" rel="noopener">cinny.in</a> works with our homeserver &mdash; set it to <code style="font-size:0.8em;color:#e88;">matrix.lotusguild.org</code>.
</p> </p>
@@ -675,7 +676,7 @@
<!-- ── Feature Comparison Table ── --> <!-- ── Feature Comparison Table ── -->
<div class="comparison-section"> <div class="comparison-section">
<p class="comparison-title">Client Feature Comparison &mdash; May 2026</p> <p class="comparison-title">Client Feature Comparison &mdash; June 2026 (updated)</p>
<p class="scroll-hint" id="scrollHint">← swipe to compare →</p> <p class="scroll-hint" id="scrollHint">← swipe to compare →</p>
<div class="table-wrap"> <div class="table-wrap">
<table> <table>
@@ -803,7 +804,7 @@
</tr> </tr>
<tr> <tr>
<td>Push-to-Talk<small>hold key to transmit</small></td> <td>Push-to-Talk<small>hold key to transmit</small></td>
<td class="ours"><span class="yes"></span><small>configurable hold key,<br>PTT badge in call bar</small></td> <td class="ours"><span class="yes"></span><small>configurable hold key,<br>PTT badge in call bar;<br>M = push-to-deafen</small></td>
<td><span class="no"></span></td> <td><span class="no"></span></td>
<td><span class="no"></span></td> <td><span class="no"></span></td>
<td><span class="no"></span></td> <td><span class="no"></span></td>
@@ -856,7 +857,7 @@
</tr> </tr>
<tr> <tr>
<td>Polls</td> <td>Polls</td>
<td class="ours"><span class="yes"></span><small>display &amp; vote</small></td> <td class="ours"><span class="yes"></span><small>create, vote &amp; display;<br>single or multiple choice</small></td>
<td><span class="part">~</span><small>display only</small></td> <td><span class="part">~</span><small>display only</small></td>
<td><span class="yes"></span><small>create, vote &amp; end</small></td> <td><span class="yes"></span><small>create, vote &amp; end</small></td>
<td><span class="yes"></span><small>added v2.3.0</small></td> <td><span class="yes"></span><small>added v2.3.0</small></td>
@@ -866,7 +867,7 @@
</tr> </tr>
<tr> <tr>
<td>Voice messages<small>record &amp; play</small></td> <td>Voice messages<small>record &amp; play</small></td>
<td class="ours"><span class="yes"></span><small>record &amp; play,<br>MSC3245, E2EE</small></td> <td class="ours"><span class="yes"></span><small>record &amp; play, E2EE;<br>0.75×/1×/1.5×/2× speed</small></td>
<td><span class="part">~</span><small>playback only</small></td> <td><span class="part">~</span><small>playback only</small></td>
<td><span class="yes"></span><small>record, play, variable speed,<br>reply with voice</small></td> <td><span class="yes"></span><small>record, play, variable speed,<br>reply with voice</small></td>
<td><span class="yes"></span><small>record &amp; play,<br>pause support</small></td> <td><span class="yes"></span><small>record &amp; play,<br>pause support</small></td>
@@ -967,6 +968,16 @@
<td><span class="no"></span></td> <td><span class="no"></span></td>
<td><span class="no"></span></td> <td><span class="no"></span></td>
</tr> </tr>
<tr>
<td>Night Light / Blue Light Filter<small>warm overlay, adjustable intensity</small></td>
<td class="ours"><span class="yes"></span><small>580% intensity slider,<br>Settings → Appearance</small></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
</tr>
<tr> <tr>
<td>Deleted message visibility<small>(redacted events)</small></td> <td>Deleted message visibility<small>(redacted events)</small></td>
<td class="ours"><span class="yes"></span><small>"Message deleted" with reason<br>if provided</small></td> <td class="ours"><span class="yes"></span><small>"Message deleted" with reason<br>if provided</small></td>
@@ -1017,6 +1028,16 @@
<td><span class="yes"></span><small>tooltip + click for list</small></td> <td><span class="yes"></span><small>tooltip + click for list</small></td>
<td><span class="yes"></span></td> <td><span class="yes"></span></td>
</tr> </tr>
<tr>
<td>Edit history viewer<small>see all prior versions of an edited message</small></td>
<td class="ours"><span class="yes"></span><small>click "(edited)" label → modal<br>with all versions + timestamps</small></td>
<td><span class="no"></span><small>label shown, not clickable</small></td>
<td><span class="yes"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="yes"></span></td>
<td><span class="yes"></span></td>
</tr>
<tr> <tr>
<td>Custom status message<small>shown below username</small></td> <td>Custom status message<small>shown below username</small></td>
<td class="ours"><span class="yes"></span><small>emoji picker, auto-clear timer<br>(30 min 7 days), 64-char limit</small></td> <td class="ours"><span class="yes"></span><small>emoji picker, auto-clear timer<br>(30 min 7 days), 64-char limit</small></td>
@@ -1037,6 +1058,76 @@
<td><span class="part">~</span><small>3-min idle timer (shipped Nov 2023);<br>no tab detection, no offline on close,<br>no user-facing hide toggle</small></td> <td><span class="part">~</span><small>3-min idle timer (shipped Nov 2023);<br>no tab detection, no offline on close,<br>no user-facing hide toggle</small></td>
<td><span class="part">~</span><small>basic online/offline only</small></td> <td><span class="part">~</span><small>basic online/offline only</small></td>
</tr> </tr>
<tr>
<td>Media Gallery<small>browse room images/videos/files</small></td>
<td class="ours"><span class="yes"></span><small>right-side drawer;<br>Images/Videos/Files tabs</small></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
</tr>
<tr>
<td>Sidebar room filter<small>filter by name in real time</small></td>
<td class="ours"><span class="yes"></span><small>Home &amp; DMs tabs</small></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
</tr>
<tr>
<td>Favorite rooms<small>starred section in sidebar</small></td>
<td class="ours"><span class="yes"></span><small>m.favourite tag, syncs<br>across devices</small></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="yes"></span><small>favourites section</small></td>
<td><span class="no"></span></td>
</tr>
<tr>
<td>Invite link + QR code</td>
<td class="ours"><span class="yes"></span><small>matrix.to URL + QR code<br>in invite modal &amp; room settings</small></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
</tr>
<tr>
<td>Custom notification sounds<small>per-category sound selector</small></td>
<td class="ours"><span class="yes"></span><small>per-category sound selector; ▶ preview</small></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
</tr>
<tr>
<td>Notification quiet hours<small>silence notifs in a time window</small></td>
<td class="ours"><span class="yes"></span><small>silence all notifs in a time window; overnight support</small></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
</tr>
<tr>
<td>Room sort order<small>sort sidebar rooms by activity, name, or unread</small></td>
<td class="ours"><span class="yes"></span><small>Recent / A→Z / Unread First</small></td>
<td><span class="no"></span></td>
<td><span class="part">~</span><small>sort by activity only</small></td>
<td><span class="part">~</span><small>alphabetical only</small></td>
<td><span class="yes"></span><small>multiple sort options</small></td>
<td><span class="part">~</span><small>limited</small></td>
<td><span class="no"></span></td>
</tr>
<tr> <tr>
<td>Push notifications</td> <td>Push notifications</td>
<td class="ours"><span class="part">~</span><small>web push only</small></td> <td class="ours"><span class="part">~</span><small>web push only</small></td>
@@ -1047,6 +1138,36 @@
<td><span class="yes"></span><small>desktop</small></td> <td><span class="yes"></span><small>desktop</small></td>
<td><span class="yes"></span></td> <td><span class="yes"></span></td>
</tr> </tr>
<tr>
<td>Export room history<small>download messages as file</small></td>
<td class="ours"><span class="yes"></span><small>txt/json/html, date range,<br>E2EE-aware</small></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="yes"></span><small>has export</small></td>
<td><span class="no"></span></td>
</tr>
<tr>
<td>Message scheduling<small>send later with datetime picker</small></td>
<td class="ours"><span class="yes"></span><small>MSC4140, datetime picker,<br>cancel tray above composer</small></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="part">~</span><small>partial / labs</small></td>
<td><span class="no"></span></td>
</tr>
<tr>
<td>Message bookmarks / saved messages</td>
<td class="ours"><span class="yes"></span><small>right-click bookmark,<br>sidebar panel, syncs across devices</small></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="no"></span></td>
<td><span class="yes"></span></td>
<td><span class="no"></span></td>
</tr>
</tbody> </tbody>
</table> </table>