Skip to content

Stop uppercasing name=, identifier= and sound_href= in strmlabs:// - #1821

Merged
caronc merged 2 commits into
caronc:masterfrom
LuisFigueroaG:fix/streamlabs-keep-case
Oct 21, 2026
Merged

caronc merged 2 commits into
caronc:masterfrom
LuisFigueroaG:fix/streamlabs-keep-case

Conversation

@LuisFigueroaG

Copy link
Copy Markdown
Contributor

Description

Related issue (if applicable): none

NotifyStreamlabs.parse_url() calls .upper() on name, identifier and sound_href before passing them to the plugin:

>>> obj = Apprise.instantiate(
...     "strmlabs://<token>/?call=alerts&name=Chris&identifier=MyDonor"
...     "&sound_href=https://example.org/Sounds/Alert.mp3")
>>> obj.name, obj.identifier, obj.sound_href
('CHRIS', 'MYDONOR', 'HTTPS://EXAMPLE.ORG/SOUNDS/ALERT.MP3')

So the donor name always shows up in capitals, and a sound_href with mixed case in its path ends up pointing to a different file. image_href, parsed right next to it, is already passed through as-is.

The fix drops .upper() for those three values. call and currency keep it, since they're matched against fixed upper-case values.

Checklist

  • Documentation ticket created (if applicable): not applicable
  • The change is tested and works locally.
  • No commented-out code in this PR.
  • No lint errors (use tox -e lint and optionally tox -e format).
  • Test coverage added or updated (use tox -e qa).

Testing

  • Added test_plugin_streamlabs_preserves_case, which checks that name and identifier reach the donation payload and sound_href reaches the alert payload unchanged. It fails on master.
  • tox -e lint and tox -e qa pass.

parse_url() upper-cased these values, so the donor name showed up in
capitals and a sound_href such as https://example.org/Sounds/Alert.mp3
became HTTPS://EXAMPLE.ORG/SOUNDS/ALERT.MP3, which no longer points to
the same file.
@codecov

codecov Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (f746ec5) to head (a6d5865).
⚠ïļ Report is 34 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##            master     #1821    +/-   ##
==========================================
  Coverage   100.00%   100.00%            
==========================================
  Files          246       255     +9     
  Lines        40326     41325   +999     
  Branches      6956      7124   +168     
==========================================
+ Hits         40326     41325   +999     
Files with missing lines Coverage Δ
apprise/plugins/streamlabs.py 100.00% <Ãļ> (Ãļ)

... and 36 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄ïļ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@caronc
caronc merged commit dba5227 into caronc:master Oct 21, 2026
20 checks passed
@caronc

caronc commented Oct 21, 2026

Copy link
Copy Markdown
Owner

thank you! Merged! 🙏

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.

2 participants