Review of "SomaFM internet radio" version 46

Details Page Preview

Listen to SomaFm free internet radio in your GNOME desktop * Features: - 40+ channels, refreshed from SomaFM's channel list - Selectable stream quality, listing only the bitrates each channel serves (up to 320k MP3), with automatic fallback to a lower one when a stream fails - Experimental HLS tiers where SomaFM offers them, incl. lossless FLAC - HTTPS streaming with automatic fallback between SomaFM servers - Volume slider - Favorites menu - Channel logos - Holiday channels (only in December) * Requirements: - Gstreamer and plugins: You need to install 'gstreamer' and multimedia codecs/plugins for your distro. The HLS tiers additionally need gst-plugins-bad (hlsdemux) and, for FLAC, a FLAC decoder.

Extension Homepage
http://github.com/TheWeirdDev/somafm-radio-gnome-ext

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) warning 2 manual_review 1

Shexli found 3 issues 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

  • extension.js:213
    St.Clipboard.get_default()

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 6 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • radio.js:482
    console.log(`SomaFM: stream failed, retrying with ${uri}`)
  • radio.js:215
    console.warn(`SomaFM: player helper exited (${how})`)
  • radio.js:300
    console.warn(`SomaFM: unreadable player helper output: ${line}`)
  • radio.js:355
    console.warn("SomaFM: playbin3 unavailable, HLS tiers disabled")
  • radio.js:504
            console.warn(
                `SomaFM: ${Streams.labelFor(id, from)} unavailable on ${id} ` +
                    `(${reason}), falling back to ${Streams.labelFor(id, to)}`,
            )
  • radio.js:165
    console.error(`SomaFM: cannot start the player helper: ${e}`)
  • somafm-api.js:63
    console.error(`SomaFM: cannot create ${path}: ${e}`)
  • somafm-api.js:137
    console.error(`SomaFM: cannot read channel cache: ${e}`)
  • somafm-api.js:168
    console.error(`SomaFM: cannot write channel cache: ${e}`)
  • somafm-api.js:198
    console.error(`SomaFM: channel list fetch failed: ${e}`)
  • somafm-api.js:280
                                console.error(
                                    `SomaFM: cannot cache artwork for ${id}: ${e2}`,
                                )
  • somafm-api.js:289
    console.error(`SomaFM: artwork fetch failed for ${id}: ${e}`)

EGO-P-007 warning

JavaScript files should be reachable from extension.js or prefs.js

Some JavaScript files are not reachable from `extension.js` or `prefs.js` imports.

Don't include unnecessary files

  • player-helper.js

All Versions

Previous Reviews on this Version

JustPerfection rejected
Standalone gjs script files should start with `#!@GJS@ -m`.