mirror of
https://github.com/discourse/discourse.git
synced 2026-08-08 17:53:55 +08:00
Previously, the RSS Polling plugin's admin page predated Discourse's admin interface guidelines: it was a single inline-editable table with no breadcrumbs or page header, it truncated long feed URLs, it required horizontal scrolling on mobile, and it gave admins no way to verify a feed before saving it. This change rebuilds the page on the standard plugin "show route" structure (breadcrumbs, page header, and Settings + Feeds tabs) with a `d-table` feed list and dedicated FormKit new/edit routes, so the UI now matches the rest of the admin interface and works on mobile. It also: - Adds a **Test feed** dry-run that fetches a feed and previews which items would be imported or skipped, with plain-language reasons, so admins can validate a feed (and fix setup errors) before saving it. - Adds the `rss_polling_feed_request_timeout` and `rss_polling_verbose_logging` site settings. - Extracts the fetch/parse and import/skip logic into `FeedFetcher` and `FeedAnalyzer`, shared by the poll job and the new preview so the dry-run and the real import always agree. - Normalizes feed dates and categories so Atom feeds (which use `<updated>` and `term`-style `<category>` elements) are handled like RSS, and returns a clean error instead of a 500 when a feed cannot be read. --------- Co-authored-by: Martin Brennan <martin@discourse.org>
13 lines
1,023 B
YAML
Vendored
13 lines
1,023 B
YAML
Vendored
en:
|
|
site_settings:
|
|
rss_polling_enabled: "Enable importing embed posts from multiple RSS feeds"
|
|
rss_polling_frequency: "Feed polling frequency, in minutes"
|
|
rss_polling_feed_request_timeout: "Maximum time, in seconds, to wait for a feed to respond when fetching it."
|
|
rss_polling_verbose_logging: "Log detailed information for each poll attempt, including which items were imported or skipped and why."
|
|
rss_polling_use_pubdate: "Set topic creation date to the pubDate found in the RSS feed"
|
|
rss_polling_update_tags: "Update topic tags when a topic is updated. Disabling this pulls initial tags but disables further tag changes."
|
|
rss_polling:
|
|
errors:
|
|
feed_url_must_be_http: "The feed URL must start with http:// or https://."
|
|
unknown_author_username: "No user found with username '%{username}'."
|
|
required_tag_group: "Topics in \"%{category}\" require at least %{count} tag(s) from the \"%{tag_group}\" group (%{tags}). Add one of those tags so imported items aren't rejected."
|