landing: describe SSO sign-up, drop dashes and hyphens from the page text
Lint / Shell (shellcheck) (pull_request) Successful in 13s
Lint / JS (eslint) (pull_request) Successful in 17s
Lint / No secrets in webhook configs (pull_request) Successful in 10s
Lint / Landing page is rendered (matrix (pull_request) Successful in 9s
Lint / Python (ruff) (pull_request) Successful in 11s
Lint / Python deps (pip-audit) (pull_request) Successful in 1m11s
Lint / Secret scan (gitleaks) (pull_request) Successful in 6s
Lint / Shell (shellcheck) (push) Successful in 9s
Lint / JS (eslint) (push) Successful in 7s
Lint / No secrets in webhook configs (push) Successful in 4s
Lint / Landing page is rendered (matrix (push) Successful in 5s
Lint / Python (ruff) (push) Successful in 6s
Lint / Python deps (pip-audit) (push) Successful in 39s
Lint / Secret scan (gitleaks) (push) Successful in 6s

The "How to Join" steps still said to register with a token from Jared;
accounts now come from LLDAP and people sign in with Lotus SSO. The steps
now read: ask Jared for a Lotus Guild account, open chat.lotusguild.org and
sign in with Lotus SSO, join the space. The contact line asks "Questions or
need an account?" and the server details say "Invite only".

Visible text no longer uses em dashes, en dashes or hyphens (dashes became
colons, commas, full stops or "to"; compounds became separate words), in
the hand-written parts and in data/features.json / comparison.json, with
index.html regenerated by build.py. Package names (matrix-js-sdk,
matrix-rust-sdk, matrix-dart-sdk, matrix-sdk-crypto-wasm) and D-Bus keep
their hyphens; markup, URLs and <code> are untouched. The reviewed date
displays as "September 26, 2026" (datetime attribute stays ISO).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
This commit is contained in:
Lotus CI
2026-10-13 02:36:25 -04:00
co-authored by Claude Opus 5.5
parent 7c857bea1e
commit d17c40e79f
5 changed files with 206 additions and 198 deletions
+64 -64
View File
@@ -190,18 +190,18 @@
},
{
"mark": "part",
"note": "Linux: click opens chat, Mark-as-read/Mute actions; no inline reply"
"note": "Linux: click opens chat, Mark as read/Mute actions; no inline reply"
},
{
"mark": "yes",
"note": "Windows &amp; Linux: click-to-open, inline reply, call accept/decline"
"note": "Windows &amp; Linux: click to open, inline reply, call accept/decline"
},
{
"mark": "part"
},
{
"mark": "yes",
"note": "Linux inline reply (D-Bus), macOS quick reply, click-to-open"
"note": "Linux inline reply (D-Bus), macOS quick reply, click to open"
}
]
},
@@ -232,7 +232,7 @@
]
},
{
"feature": "Taskbar + volume-flyout call controls",
"feature": "Taskbar + volume flyout call controls",
"cells": [
{
"mark": "yes"
@@ -258,7 +258,7 @@
]
},
{
"feature": "Focus Assist &rarr; auto Do-Not-Disturb",
"feature": "Focus Assist &rarr; auto Do Not Disturb",
"cells": [
{
"mark": "yes"
@@ -311,7 +311,7 @@
]
},
{
"feature": "Recursive folder drag-drop upload",
"feature": "Recursive folder drag drop upload",
"cells": [
{
"mark": "yes"
@@ -404,7 +404,7 @@
"cells": [
{
"mark": "yes",
"note": "SAS emoji, cross-client requests show inline card"
"note": "SAS emoji, cross client requests show inline card"
},
{
"mark": "part",
@@ -501,27 +501,27 @@
"cells": [
{
"mark": "yes",
"note": "3 tiers: off / browser-native /<br>on-device ML (RNNoise, Speex,<br>DTLN, DeepFilterNet&nbsp;3),<br>works on self-hosted SFU"
"note": "3 tiers: off / browser native /<br>on device ML (RNNoise, Speex,<br>DTLN, DeepFilterNet&nbsp;3),<br>works on self hosted SFU"
},
{
"mark": "part",
"note": "browser-native<br>via Element Call"
"note": "browser native<br>via Element Call"
},
{
"mark": "part",
"note": "browser-native"
"note": "browser native"
},
{
"mark": "part",
"note": "WebRTC-native"
"note": "WebRTC native"
},
{
"mark": "part",
"note": "browser-native (WebRTC)"
"note": "browser native (WebRTC)"
},
{
"mark": "part",
"note": "browser-native (WebRTC noiseSuppression toggle)"
"note": "browser native (WebRTC noiseSuppression toggle)"
},
{
"mark": "no"
@@ -529,15 +529,15 @@
]
},
{
"feature": "Push-to-Talk<small>hold key to transmit</small>",
"feature": "Push to Talk<small>hold key to transmit</small>",
"cells": [
{
"mark": "yes",
"note": "configurable hold key,<br>PTT badge in call bar;<br>M = push-to-deafen;<br>system-wide on Windows desktop"
"note": "configurable hold key,<br>PTT badge in call bar;<br>M = push to deafen;<br>system wide on Windows desktop"
},
{
"mark": "part",
"note": "hold Space while muted (Element Call built-in); no configurable key"
"note": "hold Space while muted (Element Call built in); no configurable key"
},
{
"mark": "no"
@@ -558,11 +558,11 @@
]
},
{
"feature": "AFK auto-mute<small>silence mic after idle timeout</small>",
"feature": "AFK auto mute<small>silence mic after idle timeout</small>",
"cells": [
{
"mark": "yes",
"note": "1–30 min timeout,<br>toast notification"
"note": "1 to 30 min timeout,<br>toast notification"
},
{
"mark": "no"
@@ -585,11 +585,11 @@
]
},
{
"feature": "Voice channel user limit<small>admin-set max participants</small>",
"feature": "Voice channel user limit<small>admin set max participants</small>",
"cells": [
{
"mark": "yes",
"note": "per-room cap,<br>server-enforced<br>for all clients"
"note": "per room cap,<br>server enforced<br>for all clients"
},
{
"mark": "no"
@@ -678,7 +678,7 @@
"cells": [
{
"mark": "yes",
"note": "DMs &amp; group chats;<br>ring tone, auto-dismiss"
"note": "DMs &amp; group chats;<br>ring tone, auto dismiss"
},
{
"mark": "yes",
@@ -715,11 +715,11 @@
"cells": [
{
"mark": "yes",
"note": "best-in-class sub-space nav"
"note": "best in class subspace nav"
},
{
"mark": "yes",
"note": "best-in-class sub-space nav"
"note": "best in class subspace nav"
},
{
"mark": "yes",
@@ -730,11 +730,11 @@
},
{
"mark": "yes",
"note": "Discord-like categories"
"note": "Discord like categories"
},
{
"mark": "yes",
"note": "sub-spaces clunky"
"note": "subspaces clunky"
},
{
"mark": "part",
@@ -747,7 +747,7 @@
"cells": [
{
"mark": "yes",
"note": "side panel + Slack-style per-thread notifications"
"note": "side panel + Slack style per thread notifications"
},
{
"mark": "part",
@@ -869,7 +869,7 @@
"cells": [
{
"mark": "yes",
"note": "best-in-class"
"note": "best in class"
},
{
"mark": "yes"
@@ -898,7 +898,7 @@
"cells": [
{
"mark": "yes",
"note": "Giphy, Terminal TDS themed,<br>click-outside to close"
"note": "Giphy, Terminal TDS themed,<br>click outside to close"
},
{
"mark": "no"
@@ -926,7 +926,7 @@
"cells": [
{
"mark": "yes",
"note": "local cache scan; load-more<br>buttons extend history per room"
"note": "local cache scan; load more<br>buttons extend history per room"
},
{
"mark": "part",
@@ -937,11 +937,11 @@
},
{
"mark": "part",
"note": "per-room; downloads &amp; decrypts history client-side"
"note": "per room; downloads &amp; decrypts history client side"
},
{
"mark": "yes",
"note": "client-side; auto-fetches +<br>decrypts history during search"
"note": "client side; auto fetches +<br>decrypts history during search"
},
{
"mark": "part",
@@ -988,7 +988,7 @@
"title": "UX &amp; Extras",
"rows": [
{
"feature": "Multi-account",
"feature": "Multi account",
"cells": [
{
"mark": "no"
@@ -1001,7 +1001,7 @@
},
{
"mark": "yes",
"note": "account switcher; multi-account push since v2.6.0"
"note": "account switcher; multi account push since v2.6.0"
},
{
"mark": "yes"
@@ -1046,11 +1046,11 @@
]
},
{
"feature": "Discord-like UI",
"feature": "Discord like UI",
"cells": [
{
"mark": "yes",
"note": "best-in-class for web"
"note": "best in class for web"
},
{
"mark": "yes"
@@ -1064,7 +1064,7 @@
},
{
"mark": "yes",
"note": "Discord-like layout"
"note": "Discord like layout"
},
{
"mark": "no"
@@ -1106,7 +1106,7 @@
"cells": [
{
"mark": "yes",
"note": "5–80% intensity slider,<br>Settings → Appearance"
"note": "5 to 80% intensity slider,<br>Settings → Appearance"
},
{
"mark": "no"
@@ -1129,7 +1129,7 @@
]
},
{
"feature": "Animated chat backgrounds<small>CSS-only, GPU-accelerated</small>",
"feature": "Animated chat backgrounds<small>CSS only, GPU accelerated</small>",
"cells": [
{
"mark": "yes",
@@ -1230,7 +1230,7 @@
},
{
"mark": "yes",
"note": "Forward action; multi-room on Android"
"note": "Forward action; multi room on Android"
},
{
"mark": "yes"
@@ -1247,7 +1247,7 @@
]
},
{
"feature": "Per-message read receipts<small>who read each message</small>",
"feature": "Per message read receipts<small>who read each message</small>",
"cells": [
{
"mark": "yes",
@@ -1281,7 +1281,7 @@
"cells": [
{
"mark": "yes",
"note": "hover tooltip with names;<br>right-click for full avatar modal"
"note": "hover tooltip with names;<br>right click for full avatar modal"
},
{
"mark": "yes",
@@ -1289,11 +1289,11 @@
},
{
"mark": "yes",
"note": "long-press reaction for summary sheet"
"note": "long press reaction for summary sheet"
},
{
"mark": "yes",
"note": "long-press reaction"
"note": "long press reaction"
},
{
"mark": "yes"
@@ -1342,7 +1342,7 @@
"cells": [
{
"mark": "yes",
"note": "emoji picker, auto-clear timer<br>(30 min – 7 days), 64-char limit"
"note": "emoji picker, auto clear timer<br>(30 min to 7 days), 64 char limit"
},
{
"mark": "no"
@@ -1370,11 +1370,11 @@
]
},
{
"feature": "Online presence tracking<small>idle/away auto-detection</small>",
"feature": "Online presence tracking<small>idle/away auto detection</small>",
"cells": [
{
"mark": "yes",
"note": "online on start, idle after 10 min,<br>unavailable when tab hidden,<br>offline on close; hide-status toggle"
"note": "online on start, idle after 10 min,<br>unavailable when tab hidden,<br>offline on close; hide status toggle"
},
{
"mark": "part",
@@ -1390,11 +1390,11 @@
},
{
"mark": "part",
"note": "sets 'unavailable' 15s after the app loses focus; no input-idle timer"
"note": "sets 'unavailable' 15s after the app loses focus; no input idle timer"
},
{
"mark": "part",
"note": "3-min idle → away; no hide toggle"
"note": "3 min idle → away; no hide toggle"
},
{
"mark": "part",
@@ -1407,7 +1407,7 @@
"cells": [
{
"mark": "yes",
"note": "right-side drawer;<br>Images/Videos/Files tabs"
"note": "right side drawer;<br>Images/Videos/Files tabs"
},
{
"mark": "no"
@@ -1524,11 +1524,11 @@
]
},
{
"feature": "Custom notification sounds<small>per-category sound selector</small>",
"feature": "Custom notification sounds<small>per category sound selector</small>",
"cells": [
{
"mark": "yes",
"note": "per-category sound selector; ▶ preview"
"note": "per category sound selector; ▶ preview"
},
{
"mark": "no"
@@ -1599,11 +1599,11 @@
},
{
"mark": "part",
"note": "manual drag-reorder; no sort selector"
"note": "manual drag reorder; no sort selector"
},
{
"mark": "yes",
"note": "Activity, A-Z or Unread-first"
"note": "Activity, A to Z or Unread first"
},
{
"mark": "yes",
@@ -1645,7 +1645,7 @@
"cells": [
{
"mark": "yes",
"note": "txt/json/html, date range,<br>E2EE-aware"
"note": "txt/json/html, date range,<br>E2EE aware"
},
{
"mark": "no"
@@ -1700,7 +1700,7 @@
"cells": [
{
"mark": "yes",
"note": "right-click bookmark,<br>sidebar panel, syncs across devices"
"note": "right click bookmark,<br>sidebar panel, syncs across devices"
},
{
"mark": "no"
@@ -1723,7 +1723,7 @@
]
},
{
"feature": "Collapsible long messages<small>auto-collapse &gt;20 lines</small>",
"feature": "Collapsible long messages<small>auto collapse &gt;20 lines</small>",
"cells": [
{
"mark": "yes",
@@ -1751,7 +1751,7 @@
]
},
{
"feature": "Inline GIF preview<small>Giphy / Tenor links auto-embed</small>",
"feature": "Inline GIF preview<small>Giphy / Tenor links auto embed</small>",
"cells": [
{
"mark": "yes",
@@ -1833,7 +1833,7 @@
]
},
{
"feature": "Quick emoji reactions on hover<small>1-click react, no menu needed</small>",
"feature": "Quick emoji reactions on hover<small>one click react, no menu needed</small>",
"cells": [
{
"mark": "yes",
@@ -1850,23 +1850,23 @@
},
{
"mark": "yes",
"note": "hover bar shows up to 4 recent reactions, 1-click"
"note": "hover bar shows up to 4 recent reactions, one click"
},
{
"mark": "no"
},
{
"mark": "yes",
"note": "hover bar shows recent reactions, 1-click"
"note": "hover bar shows recent reactions, one click"
}
]
},
{
"feature": "In-app notification toasts<small>TDS-styled, when window focused</small>",
"feature": "In app notification toasts<small>TDS styled, when window focused</small>",
"cells": [
{
"mark": "yes",
"note": "slides in bottom-right;<br>4 s auto-dismiss, click to jump"
"note": "slides in bottom right;<br>4 s auto dismiss, click to jump"
},
{
"mark": "no"
@@ -1889,11 +1889,11 @@
]
},
{
"feature": "On-device message translation<small>read foreign messages in your language</small>",
"feature": "On device message translation<small>read foreign messages in your language</small>",
"cells": [
{
"mark": "yes",
"note": "100% on-device browser AI;<br>works in E2EE rooms, no cloud;<br>Chromium desktop &amp; Lotus app"
"note": "100% on device browser AI;<br>works in E2EE rooms, no cloud;<br>Chromium desktop &amp; Lotus app"
},
{
"mark": "no"