7 Commits

Author SHA1 Message Date
Ricardo
4a87773d7f chore: phase 2 convention alignment — ms- prefix, onerror removal, visually-hidden fix (v1.0.46)
- Namespace all plugin CSS classes with ms- prefix (20 BEM blocks)
- Update all 19 templates to match prefixed class names
- Replace visually-hidden with -!-visually-hidden (core convention)
- Remove inline onerror handlers from avatar/photo images
- Remove dead source-type SVG icons (Fediverse/Bluesky/Web)

Confab-Link: http://localhost:8080/sessions/bb4a6ec4-b711-48cd-b3d7-942ec2a9851d
2026-03-13 12:32:08 +01:00
Ricardo
e48335da2c feat: mark source as read — split button with popover
Add ability to mark all items from a specific feed/source as read at once,
instead of clicking each item individually. The mark-read button becomes a
split button group with a caret that opens a popover offering "Mark [source]
as read". Items without a feedId (AP items) keep the simple button.

Confab-Link: http://localhost:8080/sessions/a477883d-4aef-4013-983c-ce3d3157cfba
2026-03-11 16:08:53 +01:00
Ricardo
d1f0fffe35 fix: mark-as-read for items from orphan channels
Items from channels with userId: null (created during earlier setup)
appeared in the unified timeline but had no _channelUid, causing the
mark-read JS handler to silently abort. Fall back to channelId (MongoDB
ObjectId) when channelUid is unavailable, and resolve it server-side
via getChannelById.

Confab-Link: http://localhost:8080/sessions/4d40ef89-a713-48c1-b4ed-0ffafca25677
2026-03-05 20:25:30 +01:00
Ricardo
0c1420c1ed feat: add save-for-later button to microsub reader
Adds a save icon to the item-card action bar that POSTs to
/readlater/save when the readlater plugin is installed. Button
only renders if application.readlaterEndpoint is set. Includes
JS handlers in both channel and timeline views.
2026-02-27 16:01:47 +01:00
Ricardo
8a971111c1 fix: wire mark-as-read in timeline view
Items in the cross-channel timeline now carry per-item channel UID so
the mark-read API call can target the correct channel. Adds the same
dismiss animation used in the channel view.
2026-02-27 11:22:44 +01:00
Ricardo
6269c7ac98 fix: improve timeline UX - channel badges, breadcrumbs, default view
- Replace confusing colored left border with readable channel badge pills
- Add breadcrumb navigation across all reader views
- Default to timeline view when clicking Reader in sidebar
- Remove redundant back-link from channel view (breadcrumbs handle it)
2026-02-27 10:54:54 +01:00
Ricardo
26225f1f80 feat: add multi-view reader with Channels, Deck, and Timeline views
Three reader views accessible via icon toolbar:
- Channels: existing view (renamed), per-channel timelines
- Deck: TweetDeck-style configurable columns with compact cards
- Timeline: all channels merged chronologically with colored borders

Includes channel color palette, cross-channel query, deck config
storage, session-based view preference, and view switcher partial.
2026-02-26 14:42:00 +01:00