-
-
Notifications
You must be signed in to change notification settings - Fork 146
Open
Labels
Description
Iris version
3.70.0
Operating system(s) affected
- Windows
- MacOS
- iOS
- Android
- Linux
- Other
Browser(s) affected
- Firefox
- Chrome
- Edge
- Other
What happened?
Summary
When browsing:
Browse → Podcasts → "Show"
and sorting by track number, shows with more than 999 episodes sort incorrectly.
Example behavior:
- 110 appears grouped near 1100
- 100 appears grouped near 1000
- Ordering becomes lexicographic instead of numeric after 999
Steps to Reproduce
- Open Iris
- Browse → Podcasts
- Open a show with >999 episodes (I am using "https://feeds.simplecast.com/dCXMIpJz")
- Sort by track (ascending or descending)
Expected Behavior
Track numbers sort numerically:
... 998, 999, 1000, 1001 ...
Actual Behavior
Sorting behaves lexicographically once track_number >= 1000.
Root Cause
In src/js/util/format.js, Iris builds a string-based disc_track key:
track.disc_track = `${track.disc_number || 0}`.padStart(3, '0');
track.disc_track += '.';
track.disc_track += `${track.track_number || 0}`.padStart(3, '0');Using 3-digit padding works only up to 999.
When track_number reaches 1000, lexicographic sorting breaks.
Proposed Fix
Increase padding width from 3 to 6 digits in src/js/util/format.js
track.disc_track = `${track.disc_number || 0}`.padStart(6, '0');
track.disc_track += '.';
track.disc_track += `${track.track_number || 0}`.padStart(6, '0');This preserves lexicographic ordering up to 99,999 without changing sort logic elsewhere.
Environment
- macOS 26.3
- Safari 26.3 (21623.2.7.11.5)
- Firefox 147.0.4
(Note: This appears to be frontend logic and should be browser-agnostic.)
A minimal PR is ready and will be linked below.
Logs
Reactions are currently unavailable