Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fallback to parsing feeds as atom format if rss format fails. #721

Merged
merged 14 commits into from
Apr 25, 2023

Conversation

Half-Shot
Copy link
Contributor

This should fix the new cases of feeds failing due to the new rust parser only handing RSS format. However, unsure if I like the pattern of:

  1. Parse XML
  2. Look for RSS tag
  3. If not found, parse XML again
  4. Look for feed tag

@Half-Shot Half-Shot requested a review from a team as a code owner April 21, 2023 12:11
Copy link
Member

@AndrewFerr AndrewFerr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than the trivial lint rule violation, this looks fine. It would be nice to use some kind of polymorphism to avoid having to parse twice, but we can put this in as a known-working first step & consider refactoring it later.

@tadzik
Copy link
Contributor

tadzik commented Apr 21, 2023

Now that we have tests for FeedReader itself, maybe this is a good opportunity to stick both RSS and Atom in there and ensure they both work as expected?

@Half-Shot Half-Shot force-pushed the hs/rs-support-atom branch from a6804a1 to 34ff159 Compare April 21, 2023 15:02
@Half-Shot Half-Shot enabled auto-merge (squash) April 24, 2023 14:44
@Half-Shot Half-Shot merged commit 43176ad into main Apr 25, 2023
@Half-Shot Half-Shot deleted the hs/rs-support-atom branch April 25, 2023 15:45
SpiritCroc added a commit to SpiritCroc/matrix-hookshot that referenced this pull request Apr 27, 2023
4.0.0 (2023-04-27)
==================

Features
--------

- Add support for specifying custom templates for feeds. ([\matrix-org#702](matrix-org#702))
- Use SQLite for file-based crypto stores by default, instead of Sled. ([\matrix-org#714](matrix-org#714))
- Notifications for RSS feed failures can now be toggled on and off. The feature is now **off** by default. ([\matrix-org#716](matrix-org#716))

Bugfixes
--------

- Fix mishandling of empty feed/item title tags. ([\matrix-org#708](matrix-org#708))
- Add information about GitHub App Installs in 'update' state on the oauth status page. ([\matrix-org#717](matrix-org#717))
- Fix cases of GitHub repos not being bridgable if the GitHub App had to be manually approved. ([\matrix-org#718](matrix-org#718))
- Switch to using Rust for parsing RSS feeds. ([\matrix-org#721](matrix-org#721))

Deprecations and Removals
-------------------------

- Add support for Node 20, and drop support for Node 16. ([\matrix-org#724](matrix-org#724))

Internal Changes
----------------

- Ensure all Hookshot specific metrics have a `hookshot_` prefix. ([\matrix-org#701](matrix-org#701))
- Update dependency used in Generic Webhook JS functions to fix a security flaw. ([\matrix-org#705](matrix-org#705))
- Switch to using Rust for parsing RSS feeds. ([\matrix-org#709](matrix-org#709))
- Update the README with a prettier set of features. ([\matrix-org#726](matrix-org#726))
- Update `yaml` dependency to `2.2.2` ([\matrix-org#728](matrix-org#728))

Conflicts:
	src/feeds/FeedReader.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants