Jean Chevronnet reverse
reverse pushed to main at orbit/orbit 2026-07-10 06:46:03 +00:00
f920d52847 Show the full +b command example for the selected extban type
reverse pushed to main at orbit/orbit 2026-07-10 06:37:12 +00:00
5a3d6e737d Type the new bans tab in the Tab union
reverse pushed to main at orbit/orbit 2026-07-10 06:35:03 +00:00
d5c8da0d50 Give plain bans their own tab and reflow the channel panel to a single full-width column
reverse pushed to main at orbit/orbit 2026-07-10 06:19:23 +00:00
e620f72f84 Replace the extban chip grid with a compact searchable type selector
reverse pushed to main at orbit/orbit 2026-07-10 06:13:40 +00:00
4fe83e790a Move extbans into their own channel-panel tab, separate from plain bans
reverse pushed to main at orbit/orbit 2026-07-10 05:53:20 +00:00
9b3db02721 Add an extban picker to the channel panel, driven by ISUPPORT EXTBAN
reverse pushed to main at orbit/orbit 2026-07-10 05:28:57 +00:00
900859acdf Share the Django site's analytics consent instead of asking twice (same-origin tchatou-consent)
reverse pushed to main at orbit/orbit 2026-07-10 05:19:43 +00:00
56ae05f56d Clear any lingering GA cookies at boot when analytics consent isn't granted
reverse pushed to main at orbit/orbit 2026-07-10 05:17:18 +00:00
69cd4eb024 Gate Google Analytics behind a consent banner (opt-in, withdrawable in Settings)
reverse pushed to main at orbit/orbit 2026-07-10 04:33:08 +00:00
68c7560212 Add opt-in Google Analytics (gtag.js) with per-channel page views, DMs redacted
reverse pushed to main at orbit/orbit 2026-07-10 04:19:35 +00:00
1a82247a7d Enable cookieless analytics on the app (config.analytics endpoint)
reverse pushed to main at orbit/orbit 2026-07-10 04:13:01 +00:00
c222eda4c1 Loosen the analytics beacon backstop below the debounce so session events aren't dropped
reverse pushed to main at orbit/orbit 2026-07-10 04:04:04 +00:00
66509f5adb Add a sandboxed cookieless analytics feature (host-mediated beacon, off by default)
reverse pushed to main at orbit/orbit 2026-07-10 03:45:40 +00:00
ddcb4d9765 Add config-driven SEO metadata: description, Open Graph/Twitter cards, canonical, JSON-LD
reverse pushed to main at orbit/orbit 2026-07-10 03:30:41 +00:00
80af3cbb21 Add a meta description to the app document head
reverse pushed to main at orbit/orbit 2026-07-10 03:12:42 +00:00
9e243c6546 Re-pin the message list synchronously so a late card load doesn't paint a shift
reverse pushed to main at orbit/orbit 2026-07-10 03:08:26 +00:00
a8fcdabcda Keep the newest lines pinned when a link card or embed loads after paint
reverse pushed to main at orbit/orbit 2026-07-10 03:02:05 +00:00
b87acb63b5 Remove the loading skeleton
reverse pushed to main at orbit/orbit 2026-07-10 02:51:12 +00:00
a5919ee0cc Add a loading skeleton while a channel fetches its first messages
reverse pushed to main at orbit/orbit 2026-07-10 01:54:42 +00:00
77557f7e42 Give the member-count pill a fixed min-width so it doesn't reflow the topbar