Browse channels: a directory of all channels #165

Merged
littlefox merged 5 commits from issue-150-channels into main 2026-10-19 17:24:00 +00:00
Owner

Closes #150

  • Alla kanaler (classic 'Alla möten'): in the left column under Inkorg (under Olästa on a phone) and in the palette.
  • Listing: every conference from one lookup-z-name, letterboxes excluded. Recommended first (recommended-conf, aux 29 on the server info), then by name, with a filter as you type.
  • Rows: name, Rekommenderat and Slutet tags, members, last written, and Gå med / Gå ur. A tap enters the channel.
  • Load: stats cost one get-conf-stat per channel. They're fetched for the rows shown (40 at a time). Sorting by members or by last written fetches the rest once, 8 calls at a time, with a progress line, cached for the session. On kom.lysator (2338 conferences, counted with a logged-out probe) that's about 2300 small calls, once, and only when the user sorts.
  • Code: kom_client::directory (channels, stats, recommended, time_key) with a unit test. The seed recommends Allmänt through modify-system-info.
  • Screenshots: the desktop visual snapshots were updated for the new nav button (diff checked: only the nav shift).

Verified:

  • new channels.spec on desktop, Android and iPhone: recommended first with stats, the filter, join and leave, sort by members (fetched and ordered), and a tap enters;
  • the palette and _visual specs;
  • the phone screenshot checked; clippy desktop, web and wasm.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8

Closes #150 - **Alla kanaler** (classic 'Alla möten'): in the left column under Inkorg (under Olästa on a phone) and in the palette. - **Listing:** every conference from one lookup-z-name, letterboxes excluded. Recommended first (recommended-conf, aux 29 on the server info), then by name, with a filter as you type. - **Rows:** name, Rekommenderat and Slutet tags, members, last written, and Gå med / Gå ur. A tap enters the channel. - **Load:** stats cost one get-conf-stat per channel. They're fetched for the rows shown (40 at a time). Sorting by members or by last written fetches the rest once, 8 calls at a time, with a progress line, cached for the session. On kom.lysator (2338 conferences, counted with a logged-out probe) that's about 2300 small calls, once, and only when the user sorts. - **Code:** `kom_client::directory` (channels, stats, recommended, time_key) with a unit test. The seed recommends Allmänt through modify-system-info. - **Screenshots:** the desktop visual snapshots were updated for the new nav button (diff checked: only the nav shift). Verified: - new channels.spec on desktop, Android and iPhone: recommended first with stats, the filter, join and leave, sort by members (fetched and ordered), and a tap enters; - the palette and _visual specs; - the phone screenshot checked; clippy desktop, web and wasm. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Browse channels: a directory of all channels, join with one tap
Some checks failed
ci / check (push) Has started running
ci / e2e (push) Has started running
ci / desktop (push) Has been cancelled
0e69031479
#150. Every conference from one lookup-z-name, recommended first (the
server's recommended-conf items), filtered as you type, with members
and last written for the rows shown, and sortable by those after a
paced, on-request fetch. Join, leave, or enter from the list. The seed
recommends Allmänt so the tests see it.

Refs #150

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Merge origin/main into issue-150-channels
Some checks failed
ci / check (push) Successful in 10m34s
ci / desktop (push) Successful in 14m23s
ci / e2e (push) Failing after 30m34s
2ca23c88f6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Alla kanaler: its own class, not inbox-link
Some checks failed
ci / check (push) Successful in 8m34s
ci / desktop (push) Successful in 18m20s
ci / e2e (push) Failing after 33m2s
9f4f378f4f
Specs (and anything else) finding the Inkorg button by its class found
two (CI run #283).

Refs #150

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Merge origin/main into issue-150-channels
Some checks failed
ci / check (push) Successful in 11m14s
ci / desktop (push) Successful in 15m52s
ci / e2e (push) Failing after 29m49s
d241d6ee7d
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8

# Conflicts:
#	app/assets/main.css
#	app/src/i18n.rs
Merge origin/main into issue-150-channels
All checks were successful
ci / check (push) Successful in 9m0s
ci / desktop (push) Successful in 16m51s
ci / e2e (push) Successful in 29m29s
51042c438e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8

# Conflicts:
#	app/src/words.rs
littlefox referenced this pull request from a commit 2026-10-19 21:34:01 +00:00
Sign in to join this conversation.
No description provided.