Commit graph

428 commits

Author SHA1 Message Date
ad05f3e470
Fix mobile topbar overflow: drop the redundant channel avatar and tighten spacing 2026-07-10 08:13:30 +00:00
937a9dc38c
Fix mobile: wrap the extban composer and full-screen the channel panel 2026-07-10 08:06:22 +00:00
4a0b6b51e0
Fix mobile layout: constrain the app to the viewport height when a navbar shell wraps it 2026-07-10 08:00:46 +00:00
27cfae944a
Support extban stacking: nest a matching extban inside an acting one (mute:account:...) 2026-07-10 07:42:11 +00:00
a390078876
List +e ban-exceptions and +I invite-exceptions in the channel panel, removable per mode 2026-07-10 07:27:02 +00:00
a141742868
Gate the extban +e/+I modes on the server's CHANMODES list modes 2026-07-10 07:17:41 +00:00
2bae979b30
Let extbans be set as +b, +e or +I from the channel panel, with the example following the mode 2026-07-10 07:11:33 +00:00
efe0fb0df9
Add a security-group quick-pick for the securitygroup extban (config-driven) 2026-07-10 07:01:13 +00:00
f920d52847
Show the full +b command example for the selected extban type 2026-07-10 06:45:29 +00:00
5a3d6e737d
Type the new bans tab in the Tab union 2026-07-10 06:36:39 +00:00
d5c8da0d50
Give plain bans their own tab and reflow the channel panel to a single full-width column 2026-07-10 06:34:45 +00:00
e620f72f84
Replace the extban chip grid with a compact searchable type selector 2026-07-10 06:18:49 +00:00
4fe83e790a
Move extbans into their own channel-panel tab, separate from plain bans 2026-07-10 06:13:06 +00:00
9b3db02721
Add an extban picker to the channel panel, driven by ISUPPORT EXTBAN 2026-07-10 05:52:46 +00:00
900859acdf
Share the Django site's analytics consent instead of asking twice (same-origin tchatou-consent) 2026-07-10 05:28:23 +00:00
56ae05f56d
Clear any lingering GA cookies at boot when analytics consent isn't granted 2026-07-10 05:19:09 +00:00
69cd4eb024
Gate Google Analytics behind a consent banner (opt-in, withdrawable in Settings) 2026-07-10 05:16:43 +00:00
68c7560212
Add opt-in Google Analytics (gtag.js) with per-channel page views, DMs redacted 2026-07-10 04:32:33 +00:00
1a82247a7d
Enable cookieless analytics on the app (config.analytics endpoint) 2026-07-10 04:19:00 +00:00
c222eda4c1
Loosen the analytics beacon backstop below the debounce so session events aren't dropped 2026-07-10 04:12:27 +00:00
66509f5adb
Add a sandboxed cookieless analytics feature (host-mediated beacon, off by default) 2026-07-10 04:03:29 +00:00
ddcb4d9765
Add config-driven SEO metadata: description, Open Graph/Twitter cards, canonical, JSON-LD 2026-07-10 03:45:05 +00:00
80af3cbb21
Add a meta description to the app document head 2026-07-10 03:30:06 +00:00
9e243c6546
Re-pin the message list synchronously so a late card load doesn't paint a shift 2026-07-10 03:12:08 +00:00
a8fcdabcda
Keep the newest lines pinned when a link card or embed loads after paint 2026-07-10 03:07:53 +00:00
b87acb63b5
Remove the loading skeleton 2026-07-10 03:01:29 +00:00
a5919ee0cc
Add a loading skeleton while a channel fetches its first messages 2026-07-10 02:50:36 +00:00
77557f7e42
Give the member-count pill a fixed min-width so it doesn't reflow the topbar 2026-07-10 01:54:03 +00:00
437ad0b1b0
Set the yomirc nicklist to a fixed 200px column 2026-07-10 01:37:10 +00:00
57c89cc0fe
Fix chat CLS: stable nicklist width, overlay the history spinner and jump button 2026-07-10 01:28:46 +00:00
bf2bf2ee56
Clear the New-messages indicator once you reach the bottom of a channel 2026-07-10 01:07:41 +00:00
6cab2e131c
Fix connect-screen CLS: keep the live feed a constant, stable-height roll 2026-07-10 00:35:25 +00:00
ac79231d95
Fix PWA manifest: add app id, wide/narrow screenshots, drop the SVG install icon 2026-07-09 23:39:27 +00:00
4808305f2e
Translate all recent strings into every locale; fix untranslated mode/topic lines 2026-07-09 23:23:48 +00:00
8bb6722ca3
Right-click Whois prints inline in the active window under yomirc 2026-07-09 22:14:08 +00:00
9a43899ebb
Rework the channel header: topic and setter share one spread row 2026-07-09 21:56:31 +00:00
ea9eb44071
Add a little breathing room between the topic and its setter line 2026-07-09 21:40:16 +00:00
4e2bce294d
Show the topic setter line in the channel header 2026-07-09 21:32:40 +00:00
0a10cc342b
Lead each channel mode row with its +letter badge 2026-07-09 20:29:19 +00:00
2333192384
Keep the channel panel one size across tabs with compact mode rows 2026-07-09 19:56:18 +00:00
aa2e36007d
Give the topic a full-width row so the setter's full host fits on one line 2026-07-09 19:38:56 +00:00
606c212d3a
Keep the topic setter on one line and tint it the theme green 2026-07-09 19:26:32 +00:00
6f1c9587d9
Show the full nick!user@host mask for the topic setter 2026-07-09 19:16:26 +00:00
4042ded710
Two-column channel panel with bans alongside the settings 2026-07-09 18:28:28 +00:00
b960431877
Tabbed layout for the channel management panel 2026-07-09 18:17:16 +00:00
02b46d5f2c
Remove screenshots committed by mistake 2026-07-09 18:03:21 +00:00
cc6af85953
Channel panel polish: drop redundant on-state mode chip, size param buttons to content 2026-07-09 17:59:16 +00:00
0b582cb648
Rework channel admin panel: stats header, topic author, key/limit params, mode grid 2026-07-09 17:53:56 +00:00
42118e70ec
chanadmin: render the channel topic with its IRC colours (was raw codes); click to edit 2026-07-09 17:26:42 +00:00
ce221c03dd
yomirc: style modals as classic mIRC dialogs (channel control, settings, etc.) 2026-07-09 16:25:06 +00:00