fix(low-tail): MLocation permalink uses validated floats; PolicyListViewer doc

- MLocation "Open in OpenStreetMap" permalink built its URL from the raw
  parseGeoUri strings (location.latitude/longitude) while the embedded map iframe
  used the parseFloat + isFinite-validated lat/lon. Use lat/lon in the permalink
  too, so a malformed geo: substring can't reach the URL (they're already proven
  finite a few lines above and used identically in mapSrc).
- LOTUS_FEATURES claimed the Policy List Viewer has "Subscribe (join) /
  unsubscribe (leave) controls for each list" and lists subscribed lists.
  Verified against PolicyListViewer.tsx: it's a room-ID/alias input viewer that
  displays a joined policy room's rules read-only — no subscribe controls, no
  subscribed-lists listing. Corrected the doc to match.

Two low-tail bug-hunt findings from LOTUS_TODO. Gate-green (tsc, eslint,
prettier, build).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-24 19:57:34 -04:00
co-authored by Claude Opus 4.8
parent 53a2f738a9
commit 8a461610f4
2 changed files with 4 additions and 4 deletions
+3 -3
View File
@@ -1289,9 +1289,9 @@ Features:
Accessible via **Room/Space Settings → Policy Lists** (admin only). Accessible via **Room/Space Settings → Policy Lists** (admin only).
- Displays the room's subscribed policy lists in read-only format - Enter a policy-list room's **ID or alias** (one you have already joined) to view its `m.policy.rule.user` / `.room` / `.server` rules in read-only format
- Subscribe (join) and unsubscribe (leave) controls for each list - Viewer only — there are **no** subscribe/unsubscribe controls and no listing of "subscribed" lists; join or leave the policy-list room itself the normal way
- Enforcement is delegated to Draupnir or equivalent tooling; Lotus only manages list membership - Enforcement is delegated to Draupnir or equivalent tooling
--- ---
@@ -685,7 +685,7 @@ export function MLocation({ content }: MLocationProps) {
<Button <Button
as="a" as="a"
size="400" size="400"
href={`https://www.openstreetmap.org/?mlat=${location.latitude}&mlon=${location.longitude}#map=16/${location.latitude}/${location.longitude}`} href={`https://www.openstreetmap.org/?mlat=${lat}&mlon=${lon}#map=16/${lat}/${lon}`}
target="_blank" target="_blank"
rel="noreferrer noopener" rel="noreferrer noopener"
variant="Secondary" variant="Secondary"