Skip to content

[plugin.audio.difm] v1.0.1 - #4836

Open
edouardduliege wants to merge 5 commits into
xbmc:omegafrom
edouardduliege:plugin.audio.difm-1.0.1
Open

edouardduliege wants to merge 5 commits into
xbmc:omegafrom
edouardduliege:plugin.audio.difm-1.0.1

Conversation

@edouardduliege

Copy link
Copy Markdown

Maintenance update for the DI.FM community add-on.

Changes include:

  • improved stream-server fallback handling
  • Linux kernel-managed playback-state locking with flock
  • atomic and private session-cache writes
  • immediate stream startup without blocking on optional metadata
  • simplified playback state and removal of unused code paths
  • explicit missing-channel validation
  • improved debug logging for metadata API failures and stream mismatches
  • metadata polling interval increased from 10 to 15 seconds
  • minor localisation and publication-documentation cleanup

This remains an unofficial community add-on and is not affiliated with, endorsed by, or supported by DI.FM or AudioAddict.

@edouardduliege
edouardduliege changed the base branch from master to omega September 25, 2026 18:14
@edouardduliege
edouardduliege marked this pull request as draft September 25, 2026 18:17
@edouardduliege
edouardduliege marked this pull request as ready for review September 25, 2026 18:17
@greptile-apps

greptile-apps Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 3/5

[Medium risk] Maintenance release with playback state handling and session security improvements.

The PR is not ready to merge until legacy lock directories are handled and playback retains a recovery path when probes fail.

Findings

  1. P1 Legacy lock blocks state writes ▶
  2. P1 Failed probes prevent playback ▶
  3. P2 Security Stream URLs enter debug logs ▶
  4. P2 Sequential probes delay playback ▶
Summary

This maintenance update replaces directory-based playback-state locking, makes session writes atomic, probes streams with streamed GET requests, and moves initial track metadata entirely to the background service. The changes address the stated stale-lock and startup-delay goals, but the lock-file migration and loss of stream fallback need attention.

  • Adds private, atomic session-cache writes and explicit missing-channel validation.
  • Changes stream probing, playback-state locking, metadata startup, and polling cadence.
  • Restricts the declared platform to Linux and updates localisation and publication documentation.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart LR
  P[Play action] --> L[Fetch PLS servers]
  L --> G[Probe servers with streamed GET]
  G -->|Selected URL| S[Save playback state]
  S --> K[Start Kodi playback]
  S --> M[Background service polls metadata]
  M --> U[Update Kodi Now Playing]
Loading

Reviews (1) · Last reviewed commit: "[plugin.audio.difm] v1.0.1"

Comment thread plugin.audio.difm/resources/lib/state.py
Comment thread plugin.audio.difm/resources/lib/client.py
Comment thread plugin.audio.difm/resources/lib/client.py Outdated
Comment thread plugin.audio.difm/resources/lib/client.py
@coderabbitai

coderabbitai Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 9cd7d425-552b-49b7-aff0-21035d7e9d7d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@romanvm

romanvm commented Sep 26, 2026

Copy link
Copy Markdown

Could you remove PUBLICATION_CHECKLIST.md here as well?

@edouardduliege

Copy link
Copy Markdown
Author

PUBLICATION_CHECKLIST.md has been removed, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants