Add RSS Feed Parser Service #579

Merged
Vylpes merged 2 commits from feature/530-rss-feed-parser into feature/epic-528-rss-feeds 2026-09-18 14:45:27 +01:00
Owner
#530
Fix bunny button event not being registered
All checks were successful
Test / build (push) Successful in 23s
1bcf647221
Fix rules file not being found with an absolute path (#538)
Some checks failed
Deploy To Stage / build (push) Failing after 40s
Deploy To Stage / deploy (push) Has been skipped
123f4771a0
- Fix rules file not being found with an absolute path

#191

Reviewed-on: #538
Reviewed-by: VylpesTester <[email protected]>
Co-authored-by: Ethan Lane <[email protected]>
Co-committed-by: Ethan Lane <[email protected]>
Use rsync
Some checks failed
Deploy To Stage / build (push) Failing after 40s
Deploy To Stage / deploy (push) Has been skipped
b0a5c661cc
Use rsync
Some checks failed
Deploy To Stage / build (push) Failing after 39s
Deploy To Stage / deploy (push) Has been skipped
b568c95f1b
Use rsync
Some checks failed
Deploy To Stage / build (push) Failing after 39s
Deploy To Stage / deploy (push) Has been skipped
3f9548d0ab
Use rust
Some checks failed
Deploy To Stage / build (push) Failing after 39s
Deploy To Stage / deploy (push) Has been skipped
4ed095c834
Use rsync
Some checks failed
Deploy To Stage / build (push) Failing after 43s
Deploy To Stage / deploy (push) Has been skipped
abc4437f1c
Use rsync
Some checks failed
Deploy To Stage / build (push) Failing after 43s
Deploy To Stage / deploy (push) Has been skipped
86435dad8d
Use rsync
All checks were successful
Deploy To Stage / build (push) Successful in 1m1s
Deploy To Stage / deploy (push) Successful in 18s
3e065bb868
Rsync for prod
All checks were successful
Deploy To Stage / build (push) Successful in 47s
Deploy To Stage / deploy (push) Successful in 15s
9d89eb2229
Update ssh cd path
All checks were successful
Deploy To Stage / build (push) Successful in 1m34s
Deploy To Stage / deploy (push) Successful in 16s
9ffbb93461
v3.3.1
Some checks failed
Deploy To Production / build (push) Successful in 43s
Deploy To Stage / build (push) Has been cancelled
Deploy To Stage / deploy (push) Has been cancelled
Deploy To Production / deploy (push) Successful in 17s
16140c9cb0
Merge branch 'develop' into release/3.4.0
All checks were successful
Deploy To Stage / build (push) Successful in 55s
Deploy To Stage / deploy (push) Successful in 18s
60f899d0f0
Fix audited packages
All checks were successful
Test / build (push) Successful in 1m39s
3f111ad083
Merge pull request 'Fix bunny button event not being registered' (#539) from feature/defect-321-event-not-found into release/3.4.0
All checks were successful
Deploy To Stage / build (push) Successful in 1m15s
Deploy To Stage / deploy (push) Successful in 19s
b3ed2413f6
Reviewed-on: #539
Reviewed-by: VylpesTester <[email protected]>
Merge pull request 'feature/523-3-4-dependency-updates' (#577) from feature/523-3-4-dependency-updates into release/3.4.0
All checks were successful
Deploy To Stage / build (push) Successful in 1m43s
Deploy To Stage / deploy (push) Successful in 18s
e2eda43ba7
Reviewed-on: #577
Reviewed-by: Smithy-bot <[email protected]>
Reviewed-by: VylpesTester <[email protected]>
Add rss feed parser
All checks were successful
Test / build (push) Successful in 43s
bae452ca89
Merge branch 'feature/epic-528-rss-feeds' into feature/530-rss-feed-parser
All checks were successful
Test / build (push) Successful in 42s
f7e1c0a6c8
Smithy-bot approved these changes 2026-09-18 14:38:53 +01:00
Smithy-bot left a comment

Approved — the RSS feed helper is well-structured and ready to merge into the epic branch.

What looks good:

  • RssFeedHelper follows existing helper conventions (default-export class, PascalCase static methods like CacheHelper).
  • FetchFeed validates http/https URLs before calling rss-parser, and wraps parse failures in a descriptive error.
  • GetNewItems correctly assumes newest-first feed order, stops at lastGuid, and reverses to oldest-first for posting order.
  • GetItemGuid sensibly falls back from guid to link.
  • Returning an empty array when lastGuid is absent avoids flooding on first poll.
  • Tests are thorough (mocked parser, invalid URL cases, guid/link identity, unknown lastGuid) and match the repo's GIVEN/EXPECT style.
  • rss-parser dependency and lockfile are updated.

Non-blocking notes for follow-up stories:

  • If lastGuid disappears from a feed (retention/rotation), all items are treated as new — callers may want a cap or reset strategy.
  • Consider a fetch timeout when this is wired into a polling loop.

Nice work on #530.

**Approved** — the RSS feed helper is well-structured and ready to merge into the epic branch. **What looks good:** - `RssFeedHelper` follows existing helper conventions (default-export class, PascalCase static methods like `CacheHelper`). - `FetchFeed` validates http/https URLs before calling `rss-parser`, and wraps parse failures in a descriptive error. - `GetNewItems` correctly assumes newest-first feed order, stops at `lastGuid`, and reverses to oldest-first for posting order. - `GetItemGuid` sensibly falls back from `guid` to `link`. - Returning an empty array when `lastGuid` is absent avoids flooding on first poll. - Tests are thorough (mocked parser, invalid URL cases, guid/link identity, unknown `lastGuid`) and match the repo's GIVEN/EXPECT style. - `rss-parser` dependency and lockfile are updated. **Non-blocking notes for follow-up stories:** - If `lastGuid` disappears from a feed (retention/rotation), all items are treated as new — callers may want a cap or reset strategy. - Consider a fetch timeout when this is wired into a polling loop. Nice work on #530.
Vylpes merged commit c52f462494 into feature/epic-528-rss-feeds 2026-09-18 14:45:27 +01:00
Vylpes deleted branch feature/530-rss-feed-parser 2026-09-18 14:45:27 +01:00
Member

Follow-up stories from the review notes:

  • #584 — RSS Feed lastGuid Rotation Handling (cap when lastGuid has rotated off the feed)
  • #583 — RSS Feed Fetch Timeout (10s timeout on FetchFeed)

Both are on epic #528.

Follow-up stories from the review notes: - #584 — RSS Feed lastGuid Rotation Handling (cap when `lastGuid` has rotated off the feed) - #583 — RSS Feed Fetch Timeout (10s timeout on `FetchFeed`) Both are on epic #528.
Sign in to join this conversation.
No description provided.