This website requires JavaScript.
6f8a5316b3
Stop the direct-publish and passthrough cycles publishing the same item twice
development
Salastil and Claude Sonnet 5.5
2026-10-14 22:55:12 -04:00
02c8efa7e9
Pin the production data volume by name so no project name can swap the database
Salastil and Claude Sonnet 5.5
2026-10-13 18:22:40 -04:00
e8e18ee2ec
Make the SSR hairpin address configurable (LAN_HOST_IP) and follow the NAS to 192.168.0.60
Salastil and Claude Sonnet 5.5
2026-10-13 18:17:21 -04:00
a0a8ce7e09
Make ADMIN_API_KEY work as a chosen admin password under Docker
Salastil and Claude Sonnet 5.5
2026-10-10 23:38:11 -04:00
2893b1906b
Let story feeds and articles fill the same column as the weather page
Salastil and Claude Sonnet 5.5
2026-10-10 23:19:05 -04:00
39cd9717c2
Let the weather page fill its column instead of stopping at 640px
Salastil and Claude Sonnet 5.5
2026-10-10 23:04:33 -04:00
513149fda5
Rework the weather page: one conditions card, day/night forecast rows, timeline bar
Salastil and Claude Sonnet 5.5
2026-10-10 22:58:15 -04:00
24766099e9
Merge branch 'development'
master
Salastil
2026-10-10 21:08:55 -04:00
2341f1ea25
Make weather conditions day/night aware; report rain and snow totals
Salastil and Claude Opus 5
2026-10-10 21:08:33 -04:00
39a8a64698
Stop retention wiping every published article; stop /api/tags shipping embeddings
Salastil and Claude Opus 5
2026-10-08 12:37:14 -04:00
9818415658
Merge branch 'development'
Salastil
2026-09-19 20:43:20 -04:00
c3974192d7
Stop a hung feed wedging ingestion; animate new stories in; make the stocks cadence admin-set
Salastil and Claude Opus 5
2026-09-19 20:42:04 -04:00
4008737ca3
Populate new stories and widget data without a page refresh
Salastil and Claude Opus 5
2026-09-11 16:14:53 -04:00
a310665838
Merge branch 'development'
Salastil
2026-09-11 15:52:09 -04:00
79eb9d9601
Pin the synthesis output language, and verify the model actually used it
Salastil and Claude Opus 5
2026-08-30 17:22:17 -04:00
e86b0dc617
Describe today's rain by time of day, and preview an hour's stats on hover
Salastil and Claude Opus 5
2026-08-20 15:05:51 -04:00
c51f53e64d
Merge branch 'development'
Salastil
2026-08-19 16:43:32 -04:00
1af213e1b2
Add a pluggable search widget, unify widget ordering, document /widget-assets proxy route
Salastil
2026-08-19 16:39:28 -04:00
bd7da7c002
Stop admin list rows' controls from shifting with name/URL length
Salastil
2026-08-19 13:25:35 -04:00
e5371c8e1c
Fix portrait images getting cropped in tweet/Telegram media grids
Salastil
2026-08-16 14:59:12 -04:00
d2ceced422
Surface a storage error on login instead of hanging forever
Salastil
2026-08-16 12:45:06 -04:00
81ab69cfad
Merge branch 'development'
Salastil
2026-08-15 18:39:33 -04:00
00d5e5cd51
Describe tomorrow's rain/snow timing instead of a flat percentage
Salastil
2026-08-15 18:35:27 -04:00
60c6d0e282
Rework the hourly weather strip and fix a timezone bug behind it
Salastil
2026-08-15 18:22:02 -04:00
0fa00dfcac
Switch synthesis to structured JSON output; add a way to cancel a stuck job
Salastil
2026-08-15 16:24:56 -04:00
915398754c
Back off after a failed recap instead of retrying every tick
Salastil
2026-08-15 16:05:37 -04:00
29ddeec584
Strip two more title decoration patterns: divider-run and markdown header
Salastil
2026-08-15 14:11:40 -04:00
cbadc9302c
Merge branch 'development'
Salastil
2026-08-14 22:49:07 -04:00
3e23957003
Add model/speed/duration attribution to the article API response
Salastil
2026-08-14 22:47:43 -04:00
75abcc8183
Fix a bare divider line getting published as the article title
Salastil
2026-08-14 22:41:19 -04:00
54a88320b1
Revise README for improved clarity and features
Salastil
2026-08-14 21:08:33 -04:00
180a3eca5d
Add features section to README
Salastil
2026-08-14 21:02:55 -04:00
b18a4170a9
Revise README for clarity and updated project info
Salastil
2026-08-14 20:51:30 -04:00
47a7122ee5
Merge branch 'development'
Salastil
2026-08-14 20:30:31 -04:00
23e97fbf93
Fix config import crashing on a source instance's orphaned columns
Salastil
2026-08-14 20:03:03 -04:00
b5a7a5fabf
Add config export/import for moving an instance between hosts
Salastil
2026-08-14 19:56:08 -04:00
c851f11cea
Persist the admin API key across restarts instead of regenerating it
Salastil
2026-08-14 19:17:28 -04:00
860624701e
Add pull-only docker-compose.prod.yml for Unraid-style deploy hosts
Salastil
2026-08-14 19:10:52 -04:00
ec1af32688
Fix category-bar prefix match highlighting unrelated categories
Salastil
2026-08-14 19:10:45 -04:00
0667f41203
Merge branch 'development'
Salastil
2026-08-14 14:49:35 -04:00
ddc9d232d2
Harden synthesis output parsing and loosen the length/attribution prompt
Salastil
2026-08-14 14:30:45 -04:00
7e2b8cd6cc
Split AI connection into per-model-type embedding/synthesis servers
Salastil
2026-08-14 14:30:30 -04:00
7086fc615a
Proxy direct-file article video and scrape it generically via JSON-LD
Salastil
2026-08-14 14:30:13 -04:00
159f224a16
Play direct-file article videos instead of showing a thumbnail
Salastil and Claude Sonnet 5
2026-08-13 21:47:12 -04:00
80d8382235
Fix vertical videos getting cropped in feed cards
Salastil and Claude Sonnet 5
2026-08-13 21:36:18 -04:00
36d44189e6
Wire Docker images to the Gitea container registry, add CI to build/push them
Claude
2026-08-04 03:16:21 +00:00
aa8ef8519c
Add Docker support: separate backend and frontend containers
Claude
2026-08-04 02:54:26 +00:00
238b368638
Merge pull request #24 from Salastil/development
Salastil
2026-08-03 22:34:29 -04:00
3bcb4bb740
Remove leftover GlobalSettings.bookmarksColumns after the widget-architecture merge
Claude
2026-08-04 02:28:04 +00:00
0f8633e4d1
Merge origin/master into development
Claude
2026-08-04 02:26:41 +00:00
c740aa842a
Merge pull request #23 from Salastil/claude/source-management-content-1w2yno
Salastil
2026-08-03 22:24:01 -04:00
b951c191ab
Apply npm audit fix for backend and frontend dependencies
Claude
2026-08-04 02:20:28 +00:00
dd247738f6
Apply npm audit fix for backend and frontend dependencies
Claude
2026-08-04 02:18:52 +00:00
b7be14de70
Fix startup crash when a widget's old-named table already coexists with its new widget_<id>_ name
Claude
2026-08-04 02:16:26 +00:00
2713439a8c
Merge origin/master into claude/source-management-content-1w2yno
Claude
2026-08-02 00:04:45 +00:00
ac154322f8
Add 1/2/3-column layout option to the Bookmarks widget
Claude
2026-08-02 00:00:40 +00:00
d8b59feb04
Merge pull request #22 from Salastil/development
Salastil
2026-08-01 19:57:29 -04:00
55622d0a1a
Add 1/2/3-column layout option to the Bookmarks widget
Claude
2026-08-01 23:55:18 +00:00
615b86fe27
Add "Force recap now" button to tracked items
Claude
2026-07-28 14:28:45 +00:00
ef59b2e91a
Add "Force recap now" button to tracked items
Claude
2026-07-28 14:28:45 +00:00
c6626500fd
Make synthesis context/response length admin-configurable; give recaps their own writing style and let them run full-length
Claude
2026-07-28 13:34:54 +00:00
a312e0a8d3
Make synthesis context/response length admin-configurable; give recaps their own writing style and let them run full-length
Claude
2026-07-28 13:34:54 +00:00
12f8e2b525
Add "Reissue an article" panel to the Retention admin tab
Claude
2026-07-27 19:21:28 +00:00
7518e6f81e
Add "Reissue an article" panel to the Retention admin tab
Claude
2026-07-27 19:21:28 +00:00
23be5086c5
Fix blank-article publishing bug + add per-article reissue tool
Claude
2026-07-27 19:14:50 +00:00
15716cff5e
Fix blank-article publishing bug + add per-article reissue tool
Claude
2026-07-27 19:14:50 +00:00
ee3123aa94
Fix tag click-through 404, show next-recap time, tag every published article
Claude
2026-07-27 18:28:18 +00:00
fe1f0f435d
Fix tag click-through 404, show next-recap time, tag every published article
Claude
2026-07-27 18:28:18 +00:00
9f4f1d1b71
Add pipeline backlog/throughput dashboard to admin Logs tab
Claude
2026-07-27 15:27:01 +00:00
b88a39e09b
Add pipeline backlog/throughput dashboard to admin Logs tab
Claude
2026-07-27 15:27:01 +00:00
2bb8463c09
Give direct-publish items their own tick so a slow AI backlog can't block them
Claude
2026-07-27 14:48:38 +00:00
5be5f0ce94
Give direct-publish items their own tick so a slow AI backlog can't block them
Claude
2026-07-27 14:48:38 +00:00
afdb5ad036
Fix embed() calls silently timing out, dropping single-source items forever
Claude
2026-07-27 14:36:27 +00:00
6ecd247ce7
Fix embed() calls silently timing out, dropping single-source items forever
Claude
2026-07-27 14:36:27 +00:00
ecfcce9eb1
Have the model synthesize a real title instead of truncating the body
Claude
2026-07-27 14:29:45 +00:00
eeb8abd7d7
Have the model synthesize a real title instead of truncating the body
Claude
2026-07-27 14:29:45 +00:00
1176bb4425
Add admin-configurable writing style for AI synthesis
Claude
2026-07-27 13:55:26 +00:00
8170c00bf0
Add admin-configurable writing style for AI synthesis
Claude
2026-07-27 13:55:26 +00:00
dae6a51db0
Skip the AI rewrite entirely for single-source clusters
Claude
2026-07-27 13:41:11 +00:00
964762d1b0
Skip the AI rewrite entirely for single-source clusters
Claude
2026-07-27 13:41:11 +00:00
80fc31c844
Fix synthesis prompt labeling sources by opaque ID, causing hallucinated attribution
Claude
2026-07-27 13:37:37 +00:00
4b2def2151
Fix synthesis prompt labeling sources by opaque ID, causing hallucinated attribution
Claude
2026-07-27 13:37:37 +00:00
a46ba5f4b0
Add 15-minute and 1-hour options to Hold before publish setting
Claude
2026-07-27 13:26:43 +00:00
3d47aec353
Add 15-minute and 1-hour options to Hold before publish setting
Claude
2026-07-27 13:26:43 +00:00
683ca6c880
Fix scheduler racing itself into publishing duplicate articles
Claude
2026-07-27 13:22:23 +00:00
3eeee956cb
Fix scheduler racing itself into publishing duplicate articles
Claude
2026-07-27 13:22:23 +00:00
bfd7967bbb
Fix synthesis fetch failures from Node's default 5-minute HTTP timeout
Claude
2026-07-27 13:10:50 +00:00
adb2783f1b
Fix synthesis fetch failures from Node's default 5-minute HTTP timeout
Claude
2026-07-27 13:10:50 +00:00
53b11124d5
Add per-category "No AI" toggle to skip clustering/synthesis
Claude
2026-07-27 04:10:01 +00:00
e063d90c97
Add per-category "No AI" toggle to skip clustering/synthesis
Claude
2026-07-27 04:10:01 +00:00
63d510df57
Use full article body, not just the RSS blurb, in synthesis prompts
Claude
2026-07-27 03:52:42 +00:00
53ebb68339
Use full article body, not just the RSS blurb, in synthesis prompts
Claude
2026-07-27 03:52:42 +00:00
c45d7d5acf
Fix silent Ollama prompt truncation in synthesis pipeline
Claude
2026-07-27 03:31:31 +00:00
ee585ea65c
Fix silent Ollama prompt truncation in synthesis pipeline
Claude
2026-07-27 03:31:31 +00:00
b1557d2368
Hot-swap Fastify routes on widget install/delete instead of restarting the process
Claude
2026-07-27 01:42:55 +00:00
837aa77bfc
Full widget parity, /api/widget/<id> route namespace, live sidebar rendering
Claude
2026-07-27 01:16:47 +00:00
3a1712ef76
Merge pull request #21 from Salastil/development
Salastil
2026-07-26 20:42:34 -04:00
bf0cb11070
Add pluggable widget system; migrate PoE2 as the pilot implementation
Claude
2026-07-27 00:27:27 +00:00
b30657a161
Default nitterInstanceUrl to the public nitter.net instance
Claude
2026-07-26 22:58:36 +00:00
2714441a62
Make the Nitter instance admin-configurable in Connections
Claude
2026-07-26 22:20:07 +00:00