This website requires JavaScript.
8d0516bedc
Show table-centric dashboard pages at full height
main
thallada and Claude Fable 5.1
2026-09-20 22:16:07 +00:00
e5ca78ba41
Size the wide table wrapper to its table
thallada and Claude Fable 5.1
2026-09-20 22:02:36 +00:00
3c4f8de3a4
Keep the dashboard's vertical rhythm under the grid
thallada and Claude Fable 5.1
2026-09-20 21:43:42 +00:00
dd91b83c27
Badge lists wrap on their own; note table floors in the doc
thallada and Claude Fable 5.1
2026-09-20 21:29:03 +00:00
815e7307d1
Rebuild app.css for the merged templates; keep the ratings timestamp on one line
thallada and Claude Fable 5.1
2026-09-20 21:19:07 +00:00
9af6fedbe0
Merge branch 'tables-tpl' into dashboard-tables
thallada
2026-09-20 21:13:01 +00:00
6016745297
Let dashboard tables wrap and use the whole viewport
thallada and Claude Fable 5.1
2026-09-20 21:12:22 +00:00
8a355b637f
Give every dashboard table cell a content class
thallada and Claude Fable 5.1
2026-09-20 21:08:32 +00:00
8889a4e351
Add the dashboard table framework design and Codex briefs
thallada and Claude Fable 5.1
2026-09-20 20:54:12 +00:00
0f17480be7
Tweak feed.json structuring
thallada
2026-09-19 18:53:50 +00:00
525ddfd88d
Add feed.json alternate to feed.xml
thallada
2026-09-19 18:22:16 +00:00
f1b1e7fd98
Tweak styling of interest tags on web and in epubs
thallada
2026-09-17 18:50:01 +00:00
ce9b629115
Show matched interests as a tag row instead of a callout
thallada and Claude Fable 5.1
2026-09-15 01:09:14 +00:00
36424784af
Drop the editor's "Why it's here" line
thallada and Claude Fable 5.1
2026-09-15 00:59:13 +00:00
cd2bbe8840
justfile: list interests-categorize among the jobs
thallada and Claude Fable 5.1
2026-09-13 17:57:49 +00:00
8b56a65bad
Rebuild app.css for the Interests page classes
thallada and Claude Fable 5.1
2026-09-13 17:57:49 +00:00
1089c29179
Merge branch 'interests'
thallada and Claude Fable 5.1
2026-09-13 05:55:07 +00:00
7063b835db
interests backfill: use cached vectors when the Voyage key is unset
thallada and Claude Fable 5.1
2026-09-13 05:55:06 +00:00
57ba47a5a0
Merge branch 'interests-web' into interests
thallada
2026-09-13 05:49:25 +00:00
861ae6cb5e
Interests dashboard page, Articles interest filter, and interest links (steps 5-7)
thallada and Claude Fable 5.1
2026-09-13 05:49:25 +00:00
af70da1493
Reuse an existing category's spelling in the categorizer; document the Interests page (step 9)
thallada and Claude Fable 5.1
2026-09-13 05:45:53 +00:00
055b1df769
Write match rows per run, categorize interests, and add the interests CLI (steps 4 and 8)
thallada and Claude Fable 5.1
2026-09-13 05:44:49 +00:00
22cfb34788
Add the first-class interests plan
thallada and Claude Fable 5.1
2026-09-13 05:22:25 +00:00
154731a003
Merge branch 'interests-step3' into interests
thallada
2026-09-13 05:20:16 +00:00
a78e44f56e
Make the interests table the only source of standing interests (step 3)
thallada and Claude Fable 5.1
2026-09-13 05:20:16 +00:00
2d857e3e10
Cut weak interest matches and add the rating-driven affinity signal (step 2)
thallada and Claude Fable 5.1
2026-09-13 05:20:05 +00:00
f0c0927ab8
Add the interests table and module (first-class interests, step 1)
thallada and Claude Fable 5.1
2026-09-13 05:00:56 +00:00
e82f7b0d13
Merge branch 'layout-align'
thallada
2026-09-12 04:50:48 +00:00
4338dc1a99
One article header everywhere: rubric, why block, then the summary
thallada and Claude Fable 5.1
2026-09-12 04:50:48 +00:00
37ddddf867
Ask the editor for a reader-specific "why" instead of a second abstract
thallada and Claude Fable 5.1
2026-09-12 04:45:09 +00:00
71079a93f5
Stop summaries ending in "(Excerpt.)"
thallada and Claude Fable 5.1
2026-09-10 19:11:45 +00:00
31d2690701
Merge branch 'index-author'
thallada
2026-09-09 18:12:38 +00:00
1a009a2113
Name the author ahead of the feed on issue index lines
thallada and Claude Fable 5.1
2026-09-09 18:12:34 +00:00
c538afa540
Unwrap Scour's /r/rss/ redirector when canonicalizing URLs
thallada and Claude Fable 5.1
2026-09-09 18:12:30 +00:00
f2a44507d4
Show the publication after the feed name, and link feeds to Miniflux for admins
thallada and Claude Fable 5.1
2026-09-09 06:01:29 +00:00
87f3a5dbf1
Merge branch 'miniflux-feed-link' into publication
thallada
2026-09-09 05:48:46 +00:00
f71a4c2799
Keep the publication an article's page declares
thallada and Claude Fable 5.1
2026-09-09 05:48:46 +00:00
8a8d5d1f16
Add a browser-facing Miniflux URL and link feeds to their entries page
thallada and Claude Fable 5.1
2026-09-09 05:45:14 +00:00
c8df55e91a
Keep the contents sidebar where it was across page loads
thallada and Claude Fable 5.1
2026-09-09 05:27:02 +00:00
c707f432f2
Render the web site at 110% by default
thallada and Claude Fable 5.1
2026-09-09 04:50:08 +00:00
b02e1c7b8c
Add an AI slop verdict that downrates the author's future articles
thallada and Claude Fable 5.1
2026-09-09 03:36:50 +00:00
c6a9a98a0d
Move the understanding line under "Why it's here" on the article page
thallada and Claude Fable 5.1
2026-09-08 20:35:02 +00:00
bedbcb218f
Show what the pipeline understood about each article
thallada and Claude Fable 5.1
2026-09-08 19:44:00 +00:00
7ce8c65939
Take the author from the article page, not the aggregator submitter
thallada and Claude Fable 5.1
2026-09-07 18:34:21 +00:00
41c144bf20
Let prose tables scroll instead of breaking words in cells
thallada and Claude Fable 5.1
2026-09-07 17:38:08 +00:00
8365b7093e
Merge branch 'fix/author-affinity'
thallada
2026-09-07 17:34:59 +00:00
b66a8eefa5
Merge branch 'fix/x4-pre'
thallada
2026-09-07 17:34:59 +00:00
a52f4123dd
Credit ratings to the author, and less to aggregator feeds
thallada and Claude Fable 5.1
2026-09-07 17:34:40 +00:00
20991fedfc
Keep article pages within the viewport on phones
thallada and Claude Fable 5.1
2026-09-07 17:34:40 +00:00
0212e407e5
Make code-block whitespace explicit in the X4 edition
thallada and Claude Fable 5.1
2026-09-07 17:34:40 +00:00
72b32dc69b
Add justfile
thallada
2026-09-07 06:08:33 +00:00
56d2d74a97
Fix styling of Feeds dashboard overflowing container
thallada
2026-09-07 06:08:08 +00:00
81cbbb407f
Add the Feeds dashboard page for reviewing feed candidates
thallada and Claude Fable 5.1
2026-09-07 04:45:37 +00:00
c0f086e0da
Merge branch 'fd-core' into feed-discovery
thallada
2026-09-07 04:31:24 +00:00
2bbb4809b7
Discover feeds behind aggregator-only articles
thallada and Claude Fable 5.1
2026-09-07 04:31:13 +00:00
c971fd9317
Register the [discovery] section in settings and document it
thallada and Claude Fable 5.1
2026-09-07 04:17:29 +00:00
4a2fc6d1c4
Add the [discovery] config section for feed discovery
thallada and Claude Fable 5.1
2026-09-07 04:09:37 +00:00
e69940fac8
Fix 404 on issue downloads and make the BookOrbit link admin-only
thallada and Claude Fable 5.1
2026-09-07 02:39:06 +00:00
78d9ef5959
Serialize the config tests that touch the process environment
thallada and Claude Fable 5.1
2026-09-07 02:31:25 +00:00
5079d9c008
Merge branch 'followups': password-change redirect and requested usernames
thallada
2026-09-07 02:28:16 +00:00
e56acfb9dc
Carry next through the password change and let requesters pick a username
thallada and Claude Fable 5.1
2026-09-07 02:28:09 +00:00
a3a041dc06
Merge branch 'approve': dashboard account approval and forced password change
thallada
2026-09-07 01:43:20 +00:00
49a2de14ae
Approve access requests from the dashboard with an emailed temporary password
thallada and Claude Fable 5.1
2026-09-07 01:43:10 +00:00
502ba38607
Merge branch 'mail': SMTP mail, access-request notifications, request throttle
thallada
2026-09-07 01:24:39 +00:00
df76c81b59
Add SMTP mail, access-request notifications, and a shared request throttle
thallada and Claude Fable 5.1
2026-09-07 01:24:27 +00:00
feb887a8af
Merge branch 'fix-request-access': public account request flow
thallada
2026-09-06 18:04:19 +00:00
87ff3d92c8
Let public visitors request a reader account
thallada and Claude Fable 5.1
2026-09-06 18:02:18 +00:00
8c821527e8
Merge branch 'fix-neighbours': any-article neighbours and wider enums
thallada
2026-09-06 17:52:47 +00:00
f0529d2d01
Show any-article nearest neighbours and widen the format/kind vocabularies
thallada and Claude Fable 5.1
2026-09-06 17:52:37 +00:00
af8850e948
Merge branch 'fix-import': historical rating imports
thallada
2026-09-06 17:31:47 +00:00
d94cefcbd7
Import historical ratings from arbitrary URLs as a background job
thallada and Claude Fable 5.1
2026-09-06 17:31:41 +00:00
7036fd347e
Merge branch 'fix-ui': dashboard links and download menu
thallada
2026-09-06 17:18:31 +00:00
71665c293c
Add admin dashboard links on article pages and a single download menu
thallada and Claude Fable 5.1
2026-09-06 17:18:23 +00:00
142a8d9905
Merge branch 'bookorbit': Read in BookOrbit link on the issue page
thallada and Claude Fable 5.1
2026-09-05 04:54:54 +00:00
9aff78ebf1
Add the Read in BookOrbit button and /issues/{date}/read redirect
thallada and Claude Fable 5.1
2026-09-05 04:54:07 +00:00
e370fcaeb2
Merge branch 'bookorbit-b' into bookorbit
thallada
2026-09-05 04:36:08 +00:00
0f45c34fdb
Add the BookOrbit OPDS client module
thallada and Claude Fable 5.1
2026-09-05 04:33:05 +00:00
a72f036bd1
Fix a speculation rule that excluded every URL
thallada and Claude Opus 5
2026-09-05 04:42:25 +00:00
0851d56459
Add [bookorbit] config, settings section and cached reader ids
thallada and Claude Fable 5.1
2026-09-05 04:36:08 +00:00
6c2d74c734
Stop routine excerpt fallbacks from degrading every run
thallada and Claude Opus 5
2026-09-05 04:08:06 +00:00
17a88043ff
Break Server-Timing into sess, db and tpl metrics
thallada and Claude Fable 5.1
2026-09-05 03:12:02 +00:00
9c4964ae27
cargo fmt
thallada and Claude Fable 5.1
2026-09-05 02:02:44 +00:00
1e362fee3e
Batch the ratings page's per-row queries
thallada and Claude Fable 5.1
2026-09-05 02:02:04 +00:00
f6b2d3ea9a
README: HTTP/3 listeners in the reverse-proxy config
thallada and Claude Fable 5.1
2026-09-05 01:35:22 +00:00
e727d53b85
Cut per-request origin work: batched article loads, no session write per page
thallada and Claude Fable 5.1
2026-09-05 01:34:39 +00:00
bc40773964
Runbook: cache rules resolve last-match-wins, so bypass goes last
thallada and Claude Fable 5.1
2026-09-04 22:32:45 +00:00
f634f06bf1
Settle on a five-minute public cache and drop the purge rationale
thallada and Claude Fable 5.1
2026-09-04 22:04:07 +00:00
de332cd4b3
Revert "Add a [cdn] section and purge the edge after publishing"
thallada
2026-09-04 22:00:06 +00:00
e616638c36
Document the CDN rollout and refresh the reverse-proxy section
thallada and Claude Fable 5.1
2026-09-04 21:29:10 +00:00
7d12f53314
Make the origin's Cache-Control headers CDN-safe
thallada and Claude Fable 5.1
2026-09-04 21:28:59 +00:00
41fe61a691
Add a [cdn] section and purge the edge after publishing
thallada and Claude Fable 5.1
2026-09-04 21:28:48 +00:00
2388d7bd02
Drop the font preload and defer app.js
thallada and Claude Fable 5.1
2026-09-04 20:08:42 +00:00
62803d73a6
Merge branches psi-fonts and psi-a11y-seo: Lighthouse fixes
thallada and Claude Fable 5.1
2026-09-04 20:02:13 +00:00
4c8eeda147
Stop inlining the Newsreader faces into the render-blocking stylesheet
thallada and Claude Fable 5.1
2026-09-04 19:58:28 +00:00
04bf14f710
Fix the two Lighthouse findings: muted contrast and meta description
thallada and Claude Fable 5.1
2026-09-04 19:43:56 +00:00
239125a8e5
Put theme.js after the stylesheet so Gecko cannot paint unstyled
thallada and Claude Fable 5.1
2026-09-04 19:08:52 +00:00
1047cf4633
Remove everything that can change after first paint
thallada and Claude Fable 5.1
2026-09-04 18:37:44 +00:00
9acd1b0800
Rebuild app.css after merging the UI pass branches
thallada and Claude Fable 5.1
2026-09-04 17:45:14 +00:00
b299b4ba05
Merge branch 'ui-rating': rating widget, issue section headers, ratings verdict column
thallada
2026-09-04 17:43:23 +00:00
4248e48a8b
UI pass: rating widget, issue section headers, ratings verdict column
thallada and Claude Fable 5.1
2026-09-04 17:42:21 +00:00