[PR #421] [MERGED] 395 improve next song randomization algorithm #429

Closed
opened 2026-02-27 19:18:09 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/EddieTheCubeHead/Stagnum/pull/421
Author: @EddieTheCubeHead
Created: 6/24/2025
Status: Merged
Merged: 6/24/2025
Merged by: @EddieTheCubeHead

Base: masterHead: 395-improve-next-song-randomization-algorithm


📝 Commits (7)

  • 91ef10b #395 Ignore users with no songs eligible for playback
  • f3e99fc #395 Finally got the test for diminishing playback time weight based on time since play working
  • ae6b816 #395 Implement functionality, fix tests
  • 3d4b203 #395 Fix test, fix queue decay
  • 001e4fd #395 Get history threshold from env, test number tweaking
  • 54b46f9 #395 Implement marking all clones of a member as played when playing one
  • c02fe84 #395 Update ruff and fix problems found

📊 Changes

14 files changed (+519 additions, -182 deletions)

View changed files

server/src/alembic/versions/22d3b92264b6_add_playback_history_support_to_database.py (+40 -0)
📝 server/src/api/common/dependencies.py (+3 -16)
📝 server/src/api/pool/dependencies.py (+46 -6)
📝 server/src/api/pool/randomization_algorithms.py (+37 -20)
📝 server/src/database/entities.py (+31 -5)
server/src/datetime_wrapper_raw.py (+14 -0)
📝 server/test/auth_features/conftest.py (+2 -94)
📝 server/test/conftest.py (+110 -2)
📝 server/test/helpers/classes.py (+4 -1)
📝 server/test/pool_features/conftest.py (+51 -3)
📝 server/test/pool_features/refresh_token_features.py (+1 -18)
📝 server/test/pool_features/weighted_randomization_features.py (+164 -12)
📝 server/test/test_types/callables.py (+15 -4)
📝 server/test_requirements.txt (+1 -1)

📄 Description

No description provided


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/EddieTheCubeHead/Stagnum/pull/421 **Author:** [@EddieTheCubeHead](https://github.com/EddieTheCubeHead) **Created:** 6/24/2025 **Status:** ✅ Merged **Merged:** 6/24/2025 **Merged by:** [@EddieTheCubeHead](https://github.com/EddieTheCubeHead) **Base:** `master` ← **Head:** `395-improve-next-song-randomization-algorithm` --- ### 📝 Commits (7) - [`91ef10b`](https://github.com/EddieTheCubeHead/Stagnum/commit/91ef10b68fe24654e17c6843b6eadd3c3fc13042) #395 Ignore users with no songs eligible for playback - [`f3e99fc`](https://github.com/EddieTheCubeHead/Stagnum/commit/f3e99fca5267cfcb01f33f64946a68485fbd5011) #395 Finally got the test for diminishing playback time weight based on time since play working - [`ae6b816`](https://github.com/EddieTheCubeHead/Stagnum/commit/ae6b8160ae81b6d4ae6933791fbb7c04d97a3797) #395 Implement functionality, fix tests - [`3d4b203`](https://github.com/EddieTheCubeHead/Stagnum/commit/3d4b2031640493b02014ff4898ecee5d682244e1) #395 Fix test, fix queue decay - [`001e4fd`](https://github.com/EddieTheCubeHead/Stagnum/commit/001e4fd3f1e4e59126ba383a7edebaddea1e401e) #395 Get history threshold from env, test number tweaking - [`54b46f9`](https://github.com/EddieTheCubeHead/Stagnum/commit/54b46f9c774e0557b71023c3df2e4ef44ec51349) #395 Implement marking all clones of a member as played when playing one - [`c02fe84`](https://github.com/EddieTheCubeHead/Stagnum/commit/c02fe84a47921ae021efe925f13a1c0ba35e8ae3) #395 Update ruff and fix problems found ### 📊 Changes **14 files changed** (+519 additions, -182 deletions) <details> <summary>View changed files</summary> ➕ `server/src/alembic/versions/22d3b92264b6_add_playback_history_support_to_database.py` (+40 -0) 📝 `server/src/api/common/dependencies.py` (+3 -16) 📝 `server/src/api/pool/dependencies.py` (+46 -6) 📝 `server/src/api/pool/randomization_algorithms.py` (+37 -20) 📝 `server/src/database/entities.py` (+31 -5) ➕ `server/src/datetime_wrapper_raw.py` (+14 -0) 📝 `server/test/auth_features/conftest.py` (+2 -94) 📝 `server/test/conftest.py` (+110 -2) 📝 `server/test/helpers/classes.py` (+4 -1) 📝 `server/test/pool_features/conftest.py` (+51 -3) 📝 `server/test/pool_features/refresh_token_features.py` (+1 -18) 📝 `server/test/pool_features/weighted_randomization_features.py` (+164 -12) 📝 `server/test/test_types/callables.py` (+15 -4) 📝 `server/test_requirements.txt` (+1 -1) </details> ### 📄 Description _No description provided_ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 19:18:09 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Stagnum#429
No description provided.