Unread FAQs first, remembered the elisp way; README update #38

Merged
littlefox merged 4 commits from issue-35-faq into main 2026-10-17 10:49:43 +00:00
Owner

Closes #35

Built on #37 (images, PR for #33); merge that first.

  • On entering a conference, its unread FAQs are queued first; the default action reads "Läsa FAQ" and the status line says "N oläst(a) FAQ". The server's FAQs are queued at login.
  • Showing any text that carries faq-for-conf records it with elisp-client-read-faq (10000, secret, "conf text") on the letterbox, the same format the Emacs client uses.
  • Seed: everyone has read Allmänt's FAQ; the new conference Frågor has a FAQ only David hasn't read.
  • README rewritten as you asked: features, packages, other servers, all test kinds.

Verified: e2e faq.spec.ts (FAQ first, read once, still remembered after logging in again); full e2e 30/30; devserver integration 7/7. Not done: elisp also removes stale 10000 items at login; noted in DESIGN.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8

Closes #35 Built on #37 (images, PR for #33); merge that first. - On entering a conference, its unread FAQs are queued first; the default action reads "Läsa FAQ" and the status line says "N oläst(a) FAQ". The server's FAQs are queued at login. - Showing any text that carries faq-for-conf records it with elisp-client-read-faq (10000, secret, "conf text") on the letterbox, the same format the Emacs client uses. - Seed: everyone has read Allmänt's FAQ; the new conference Frågor has a FAQ only David hasn't read. - README rewritten as you asked: features, packages, other servers, all test kinds. Verified: e2e faq.spec.ts (FAQ first, read once, still remembered after logging in again); full e2e 30/30; devserver integration 7/7. Not done: elisp also removes stale 10000 items at login; noted in DESIGN. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Post images: pick, scale to the server's limit, send
All checks were successful
ci / check (push) Successful in 6m3s
ci / e2e (push) Successful in 9m40s
ci / desktop (push) Successful in 10m8s
ae53de722a
Like jskom (D-024): the composer takes an image file, keeps it as it is
when it already fits, otherwise scales it down on a canvas to a JPEG.
The canvas works the same in the browser and the desktop webview. Alone
the image is posted the elisp/jskom way (subject line plus raw image);
with a caption it is posted as multipart/mixed. The server's text limit
is learnt from string-too-long, and sending re-scales and retries once.

Refs #33

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Requested by the user: the README still described an early reader.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Unread FAQs first on entering a conference, remembered the elisp way
All checks were successful
ci / check (push) Successful in 6m31s
ci / e2e (push) Successful in 8m22s
ci / desktop (push) Successful in 9m4s
50b5d71316
Entering a conference queues its unread FAQs (faq-text) ahead of
reading. Showing a text with faq-for-conf records it as read with
elisp-client-read-faq on the letterbox, exactly as the Emacs client
does, so both clients agree (D-024). The server's FAQs are queued at
login.

Refs #35

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8
Merge main into issue-35-faq
All checks were successful
ci / check (push) Successful in 9m19s
ci / e2e (push) Successful in 11m35s
ci / desktop (push) Successful in 12m23s
d6cfdbfa48
Sign in to join this conversation.
No description provided.