Commit graph

56 commits

Author SHA1 Message Date
5b4e311d2d 83 - Add a daily fetched-vs-published trend stat 2026-08-12 23:29:36 +02:00
f6067eec38 83 - Add a SeriesStat contract for time-series dashboard panels 2026-08-12 23:14:19 +02:00
55f76d0d09 83 - Add a per-channel publication breakdown to the dashboard 2026-08-12 00:41:10 +02:00
8a1001d274 83 - Add a per-feed article breakdown to the dashboard 2026-08-12 00:32:46 +02:00
a6eff35586 83 - Drive dashboard and API stats from a date range 2026-08-12 00:00:49 +02:00
ef5346ed70 83 - Add a DateRange value object with named presets 2026-08-11 23:47:51 +02:00
c40e167ab5 95 - Add a platform credential health check 2026-08-11 00:44:26 +02:00
cb63a05aa5 90 - Cap the number of articles published per day 2026-08-10 23:12:33 +02:00
3b4200a0e5 91 - Show the feed name on article activity entries 2026-08-10 21:43:47 +02:00
fbcf4faa9f 91 - Prune activity logs after 90 days 2026-08-10 20:46:07 +02:00
2f86326d5c 116 - Pin the premise that a fully-known feed still returns articles 2026-08-10 01:25:17 +02:00
548a55af05 116 - Warn when a feed fetch returns no articles 2026-08-10 01:02:16 +02:00
ddd6514a77 119 - Back off and give up on repeatedly failing publishes 2026-08-10 00:05:17 +02:00
16353fe60a 119 - Fail publishing when article content cannot be recovered 2026-08-09 23:28:59 +02:00
ecb12ddfc7 119 - Publish articles from stored data instead of re-fetching 2026-08-09 20:41:07 +02:00
433aa79007 119 - Store article thumbnail in image_url during validation 2026-08-09 15:22:02 +02:00
e0056864af 113 - Add per-feed colour dots to article routing 2026-08-07 02:14:58 +02:00
d0d81e524e 114 - Select channel communities from the instance instead of typing a slug
Some checks failed
CI / ci (pull_request) Failing after 26m6s
CI / ci (push) Successful in 21m12s
2026-08-06 00:20:49 +02:00
b527813721 123 - Key duplicate mirror by local channel and distinguish skipped publishes 2026-08-02 17:16:30 +02:00
b2d504f503 123 - Prevent duplicate Lemmy posts from concurrent publish attempts 2026-08-02 15:45:26 +02:00
1140e527f1 115 - Read Belga API url from config and sync the feed row via migration 2026-08-02 12:55:53 +02:00
ac1b461e41 115 - Satisfy PHPStan on Belga parser and fixture helpers
Some checks failed
CI / ci (push) Failing after 31m11s
CI / ci (pull_request) Failing after 28m46s
2026-08-02 00:08:14 +02:00
253700312e 117 - Decode HTML entities in extracted thumbnail URLs 2026-08-01 17:13:32 +02:00
299ec3151a 115 - Switch Belga provider to website discovery via JSON API 2026-08-01 16:05:45 +02:00
2a4d4ad84d 115 - Add Belga JSON discovery parser for press-release API 2026-08-01 13:43:50 +02:00
982428faa7 106 - Extract shared community id resolution into LemmyApiService
All checks were successful
CI / ci (push) Successful in 10m54s
CI / ci (pull_request) Successful in 11m1s
Build and Push Docker Image / build (push) Successful in 5m5s
2026-07-29 21:38:33 +02:00
839f247006 106 - Enforce channel_id integrity across create paths and sync job 2026-07-29 20:15:43 +02:00
4b0d17e2ae Fix flaky boundary test with freezeTime
All checks were successful
CI / ci (push) Successful in 5m36s
CI / ci (pull_request) Successful in 16m47s
Build and Push Docker Image / build (push) Successful in 4m15s
2026-03-18 21:54:20 +01:00
d2919758f5 Fix Pint 1.29.0 lint issues and update CI workflow
All checks were successful
CI / ci (push) Successful in 5m52s
CI / ci (pull_request) Successful in 5m46s
Build and Push Docker Image / build (push) Successful in 4m6s
2026-03-18 20:01:25 +01:00
cc94ba8e55 89 - Add article cleanup job with 30-day retention policy
Some checks failed
CI / ci (push) Failing after 4m35s
CI / ci (pull_request) Failing after 4m23s
2026-03-18 18:09:54 +01:00
2b74f24356 85 - Replace ArticleApproved with RouteArticleApproved event and update publishing listener 2026-03-18 17:00:56 +01:00
5e571babda 85 - Fix keyword matching to include title and description, add PHPStan type annotations 2026-03-18 16:35:12 +01:00
f3406b1713 85 - Remove approval_status from Article, migrate to route_articles 2026-03-18 16:23:46 +01:00
0c35af4403 85 - Update publishing pipeline to use route_articles for per-route publishing 2026-03-18 16:05:31 +01:00
e3ea02ae1c 85 - Refactor ValidationService to per-route keyword evaluation with ApprovalStatusEnum 2026-03-18 15:46:15 +01:00
2a5a8c788b 85 - Add auto_approve column to routes table 2026-03-18 15:28:01 +01:00
b832d6d850 85 - Add route_articles table, model, and factory for per-route approval 2026-03-18 15:24:03 +01:00
d21c054250 94 - Add publishing failure notifications to job and listener
Some checks failed
CI / ci (push) Failing after 5m7s
2026-03-09 21:20:41 +01:00
062b00d01c 93 - Add feed staleness detection with configurable threshold and alerts 2026-03-09 17:32:55 +01:00
ec09711a6f 21 - Add dynamic channel labels based on platform type
All checks were successful
CI / ci (push) Successful in 5m21s
CI / ci (pull_request) Successful in 5m39s
Build and Push Docker Image / build (push) Successful in 4m36s
2026-03-08 18:10:47 +01:00
bf96489362 50 - Add ActionPerformed event and LogActionListener for centralized DB logging 2026-03-08 17:53:43 +01:00
0bb10729de 78 - Convert Belga from website scraping to RSS feed parsing 2026-03-08 17:19:11 +01:00
a448c54e73 25 - Fix PHPStan baseline discrepancy between local and CI
Some checks failed
CI / ci (push) Failing after 5m37s
2026-03-08 14:45:24 +01:00
675802e8e5 25 - Move PHPStan ignores to baseline, fix HttpFetcher type
Some checks failed
CI / ci (push) Failing after 4m42s
2026-03-08 14:33:54 +01:00
6784af2ff6 25 - Fix all PHPStan errors and add mockery extension
Some checks failed
CI / ci (push) Failing after 4m31s
2026-03-08 14:18:28 +01:00
677d1cab6e 62 - Add article publishing interval setting 2026-03-08 11:25:50 +01:00
1e39a25f83 37 - Add The Guardian as RSS feed provider, implement RSS parsing 2026-03-08 11:02:46 +01:00
0123e20b1d Fix 28 pre-existing test failures across test suite 2026-03-08 02:54:10 +01:00
58b07830ec 61 - Address code review findings for Action consolidation 2026-03-08 02:53:46 +01:00
025794c852 61 - Refactor model controllers to use Actions and FormRequests 2026-03-08 01:42:21 +01:00