|
|
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 |
|
|
|
dacb3ac395
|
add mIRC-style right-click op menu on member list (whois/kick/ban/ban+kick with reason dialog)
|
2026-07-09 16:04:38 +00:00 |
|
|
|
5911105023
|
add in-app password recovery (account+email -> code -> new password, auto-login)
|
2026-07-09 13:12:31 +00:00 |
|
|
|
2af97b2993
|
connect: remove the box-shadow ring around the focused nick field on orbit-dark (underline only)
|
2026-07-09 12:26:04 +00:00 |
|
|
|
3136feb33c
|
connect: drop the focus-ring box on the nick/age/city fields (underline is the indicator)
|
2026-07-09 12:21:01 +00:00 |
|
|
|
05f7eeaea1
|
sw: derive cache name from the build commit so deploys always evict the old shell
|
2026-07-09 11:47:10 +00:00 |
|
|
|
dac35f8674
|
rework the connect screen: a real IRC transcript instead of a chat-bubble mockup
|
2026-07-09 11:28:41 +00:00 |
|
|
|
c3b5788dc1
|
add meet-people lobby fields to the connect screen (sex/age/city + intent picker)
|
2026-07-09 09:39:59 +00:00 |
|
|
|
4ee0e617e4
|
enable tab-completion in the status window (Tab no longer submits)
|
2026-07-08 13:37:52 +00:00 |
|