Review of "RSS Feed" version 8

Details Page Preview

A modern GNOME Shell RSS reader for the top bar. Follow news from your favorite RSS, Atom, and RDF feeds directly from the panel. Featuring two layout modes, desktop notifications, an unread badge, and a fully editable feed list. Features: - Classic and Minimal layout - Light and Dark themes support - Notifications Only/Widget Only/Both mode select - Notifications groups (GNOME 48+) - Accent color (GNOME 47+) - Panel unread badge, with mark as read function - Desktop notifications (lock screen optional) - Article update detection (re-notifies on changed content) - Relative timestamps - Copy URL action in notifications, or right click on article - Feed management with drag-n-drop - Per-feed mute notifications - Custom feed title and avatar - Configurable refresh and article limit - Notification limit and optional auto-cleanup on disable - Persistent read state across shell restarts - Feed aggregator for RSS, Atom, RDF and FeedBurner format - Multi-charset feed support (UTF-8, ISO-8859, etc.) Extension writes to clipboard only when the user explicitly requests to copy a feed article URL.

Extension Homepage
https://github.com/todevelopers/gnome-shell-extension-rss-feed

No comments.

Diff Against

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) manual_review 1

Shexli found 1 issue that may need reviewer attention.

EGO-A-005 manual_review

extensions should not access the clipboard directly

Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.

Review Guidelines

  • ui/classic/articleItem.js:62
    St.Clipboard.get_default()
  • ui/minimal/articleItem.js:54
    St.Clipboard.get_default()
  • ui/notificationManager.js:149
    St.Clipboard.get_default()

All Versions

Version Status
8.1 (9) Active
8 Rejected
7 Inactive
6 Active
5 Inactive
4 Inactive
3 Inactive
2 Inactive
1 Inactive

Previous Reviews on this Version

todevelopers posted a review
Hi this release is a larger internal rework, so I write you a short overview of the new structure: - extension.js is now a thin entry point that wires the components together. - data/ contains the model layer: feed store, sources and items, polling, merge logic, persistence of read state and notification policy, all UI-independent. - parsers/ holds the feed format parsers (RSS, Atom, RDF, Feedburner) built on top of the bundled tXml. Mostly unchanged. - lib/ contains one third-party file, tXml (fast XML parser), a replacement for the old REXML parser. - ui/ is the view layer: panel indicator, Classic and Minimal menu layouts and the notification manager, it only renders what the data layer provides. - prefs/ is the preferences window split into one file per page. - icons/ and schemas/ hold the symbolic icons and the GSettings schema. Root files are small shared helpers: http.js (Soup 3 wrapper), encoder.js, misc.js, gskeys.js. User-visible behavior is mostly unchanged, the rework targets performance (parsing and rendering should no longer block the main loop) and data/UI separation.
JustPerfection rejected
1. While `Gio.app_info_launch_default_for_uri()` throws, you don't need to wrap it with try-catch. Even GNOME Shell doesn't use try-catch for that. 2. Timeout should be removed on destroy (line 120 `data/feedRepository.js`): [EGO Review Guidelines: Timeout](https://gjs.guide/extensions/review-guidelines/review-guidelines.html#remove-main-loop-sources)