diff --git a/logs/app.log b/logs/app.log index b28c161a..dbaf7f53 100644 --- a/logs/app.log +++ b/logs/app.log @@ -176520,3 +176520,85 @@ 2025-07-27 21:06:11 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='Graduation', artist='kanye west' 2025-07-27 21:06:11 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='Late Registration', artist='kanye west' 2025-07-27 21:06:11 - newmusic.plex_client - DEBUG - search_albums:526 - Found 1 albums matching query: album='The College Dropout', artist='kanye west' +2025-07-27 21:08:05 - newmusic.soulseek_client - DEBUG - get_all_searches:952 - Getting all searches with endpoint: searches +2025-07-27 21:08:05 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/searches +2025-07-27 21:08:05 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 21:08:05 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-27 21:08:05 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"endedAt":"2025-07-27T21:28:19.7264233Z","fileCount":13,"id":"41b335b7-58a3-4201-8506-22e0954564eb","isComplete":true,"lockedFileCount":0,"responseCount":12,"responses":[],"searchText":"Tommy Cash Baba Yaga","startedAt":"2025-07-27T21:28:02.1709869Z","state":"Completed, TimedOut","token":80},{"endedAt":"2025-07-27T21:28:20.4645342Z","fileCount":5,"id":"7e66f9a9-00ac-451b-a199-5f6a7f18930c","isComplete":true,"lockedFileCount":0,"responseCount":5,"responses":[],"searchText":"Tommy Cash SugaSuga"... +2025-07-27 21:08:05 - newmusic.soulseek_client - INFO - get_all_searches:957 - Retrieved 50 searches from slskd +2025-07-27 21:08:05 - newmusic.soulseek_client - DEBUG - maintain_search_history:1058 - Search count (50) within limit (200), no maintenance needed +2025-07-27 21:08:34 - newmusic.main - INFO - change_page:233 - Changed to page: downloads +2025-07-27 21:08:35 - newmusic.main - INFO - change_page:233 - Changed to page: sync +2025-07-27 21:08:35 - newmusic.spotify_client - INFO - _ensure_user_id:195 - Successfully authenticated with Spotify as broquethomas +2025-07-27 21:08:35 - newmusic.spotify_client - INFO - get_user_playlists_metadata_only:256 - Retrieved 8 playlist metadata (first batch) +2025-07-27 21:08:36 - newmusic.main - INFO - change_page:233 - Changed to page: dashboard +2025-07-27 21:10:05 - newmusic.soulseek_client - DEBUG - get_all_searches:952 - Getting all searches with endpoint: searches +2025-07-27 21:10:05 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/searches +2025-07-27 21:10:05 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 21:10:05 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-27 21:10:05 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"endedAt":"2025-07-27T21:28:19.7264233Z","fileCount":13,"id":"41b335b7-58a3-4201-8506-22e0954564eb","isComplete":true,"lockedFileCount":0,"responseCount":12,"responses":[],"searchText":"Tommy Cash Baba Yaga","startedAt":"2025-07-27T21:28:02.1709869Z","state":"Completed, TimedOut","token":80},{"endedAt":"2025-07-27T21:28:20.4645342Z","fileCount":5,"id":"7e66f9a9-00ac-451b-a199-5f6a7f18930c","isComplete":true,"lockedFileCount":0,"responseCount":5,"responses":[],"searchText":"Tommy Cash SugaSuga"... +2025-07-27 21:10:05 - newmusic.soulseek_client - INFO - get_all_searches:957 - Retrieved 50 searches from slskd +2025-07-27 21:10:05 - newmusic.soulseek_client - DEBUG - maintain_search_history:1058 - Search count (50) within limit (200), no maintenance needed +2025-07-27 21:12:05 - newmusic.soulseek_client - DEBUG - get_all_searches:952 - Getting all searches with endpoint: searches +2025-07-27 21:12:05 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/searches +2025-07-27 21:12:05 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 21:12:05 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-27 21:12:05 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"endedAt":"2025-07-27T21:28:19.7264233Z","fileCount":13,"id":"41b335b7-58a3-4201-8506-22e0954564eb","isComplete":true,"lockedFileCount":0,"responseCount":12,"responses":[],"searchText":"Tommy Cash Baba Yaga","startedAt":"2025-07-27T21:28:02.1709869Z","state":"Completed, TimedOut","token":80},{"endedAt":"2025-07-27T21:28:20.4645342Z","fileCount":5,"id":"7e66f9a9-00ac-451b-a199-5f6a7f18930c","isComplete":true,"lockedFileCount":0,"responseCount":5,"responses":[],"searchText":"Tommy Cash SugaSuga"... +2025-07-27 21:12:05 - newmusic.soulseek_client - INFO - get_all_searches:957 - Retrieved 50 searches from slskd +2025-07-27 21:12:05 - newmusic.soulseek_client - DEBUG - maintain_search_history:1058 - Search count (50) within limit (200), no maintenance needed +2025-07-27 21:14:05 - newmusic.soulseek_client - DEBUG - get_all_searches:952 - Getting all searches with endpoint: searches +2025-07-27 21:14:05 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/searches +2025-07-27 21:14:05 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 21:14:05 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-27 21:14:05 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"endedAt":"2025-07-27T21:28:19.7264233Z","fileCount":13,"id":"41b335b7-58a3-4201-8506-22e0954564eb","isComplete":true,"lockedFileCount":0,"responseCount":12,"responses":[],"searchText":"Tommy Cash Baba Yaga","startedAt":"2025-07-27T21:28:02.1709869Z","state":"Completed, TimedOut","token":80},{"endedAt":"2025-07-27T21:28:20.4645342Z","fileCount":5,"id":"7e66f9a9-00ac-451b-a199-5f6a7f18930c","isComplete":true,"lockedFileCount":0,"responseCount":5,"responses":[],"searchText":"Tommy Cash SugaSuga"... +2025-07-27 21:14:05 - newmusic.soulseek_client - INFO - get_all_searches:957 - Retrieved 50 searches from slskd +2025-07-27 21:14:05 - newmusic.soulseek_client - DEBUG - maintain_search_history:1058 - Search count (50) within limit (200), no maintenance needed +2025-07-27 21:16:05 - newmusic.soulseek_client - DEBUG - get_all_searches:952 - Getting all searches with endpoint: searches +2025-07-27 21:16:05 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/searches +2025-07-27 21:16:05 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 21:16:05 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-27 21:16:05 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"endedAt":"2025-07-27T21:28:19.7264233Z","fileCount":13,"id":"41b335b7-58a3-4201-8506-22e0954564eb","isComplete":true,"lockedFileCount":0,"responseCount":12,"responses":[],"searchText":"Tommy Cash Baba Yaga","startedAt":"2025-07-27T21:28:02.1709869Z","state":"Completed, TimedOut","token":80},{"endedAt":"2025-07-27T21:28:20.4645342Z","fileCount":5,"id":"7e66f9a9-00ac-451b-a199-5f6a7f18930c","isComplete":true,"lockedFileCount":0,"responseCount":5,"responses":[],"searchText":"Tommy Cash SugaSuga"... +2025-07-27 21:16:05 - newmusic.soulseek_client - INFO - get_all_searches:957 - Retrieved 50 searches from slskd +2025-07-27 21:16:05 - newmusic.soulseek_client - DEBUG - maintain_search_history:1058 - Search count (50) within limit (200), no maintenance needed +2025-07-27 21:18:05 - newmusic.soulseek_client - DEBUG - get_all_searches:952 - Getting all searches with endpoint: searches +2025-07-27 21:18:05 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/searches +2025-07-27 21:18:05 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 21:18:05 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-27 21:18:05 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"endedAt":"2025-07-27T21:28:19.7264233Z","fileCount":13,"id":"41b335b7-58a3-4201-8506-22e0954564eb","isComplete":true,"lockedFileCount":0,"responseCount":12,"responses":[],"searchText":"Tommy Cash Baba Yaga","startedAt":"2025-07-27T21:28:02.1709869Z","state":"Completed, TimedOut","token":80},{"endedAt":"2025-07-27T21:28:20.4645342Z","fileCount":5,"id":"7e66f9a9-00ac-451b-a199-5f6a7f18930c","isComplete":true,"lockedFileCount":0,"responseCount":5,"responses":[],"searchText":"Tommy Cash SugaSuga"... +2025-07-27 21:18:05 - newmusic.soulseek_client - INFO - get_all_searches:957 - Retrieved 50 searches from slskd +2025-07-27 21:18:05 - newmusic.soulseek_client - DEBUG - maintain_search_history:1058 - Search count (50) within limit (200), no maintenance needed +2025-07-27 21:20:05 - newmusic.soulseek_client - DEBUG - get_all_searches:952 - Getting all searches with endpoint: searches +2025-07-27 21:20:05 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/searches +2025-07-27 21:20:05 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 21:20:05 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-27 21:20:05 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"endedAt":"2025-07-27T21:28:19.7264233Z","fileCount":13,"id":"41b335b7-58a3-4201-8506-22e0954564eb","isComplete":true,"lockedFileCount":0,"responseCount":12,"responses":[],"searchText":"Tommy Cash Baba Yaga","startedAt":"2025-07-27T21:28:02.1709869Z","state":"Completed, TimedOut","token":80},{"endedAt":"2025-07-27T21:28:20.4645342Z","fileCount":5,"id":"7e66f9a9-00ac-451b-a199-5f6a7f18930c","isComplete":true,"lockedFileCount":0,"responseCount":5,"responses":[],"searchText":"Tommy Cash SugaSuga"... +2025-07-27 21:20:05 - newmusic.soulseek_client - INFO - get_all_searches:957 - Retrieved 50 searches from slskd +2025-07-27 21:20:05 - newmusic.soulseek_client - DEBUG - maintain_search_history:1058 - Search count (50) within limit (200), no maintenance needed +2025-07-27 21:21:04 - newmusic.main - INFO - change_page:233 - Changed to page: settings +2025-07-27 21:22:05 - newmusic.soulseek_client - DEBUG - get_all_searches:952 - Getting all searches with endpoint: searches +2025-07-27 21:22:05 - newmusic.soulseek_client - DEBUG - _make_request:242 - Making GET request to: http://localhost:5030/api/v0/searches +2025-07-27 21:22:05 - newmusic.soulseek_client - DEBUG - _make_request:243 - Headers: {'Content-Type': 'application/json', 'X-API-Key': '1234567891234567'} +2025-07-27 21:22:05 - newmusic.soulseek_client - DEBUG - _make_request:254 - Response status: 200 +2025-07-27 21:22:05 - newmusic.soulseek_client - DEBUG - _make_request:255 - Response text: [{"endedAt":"2025-07-27T21:28:19.7264233Z","fileCount":13,"id":"41b335b7-58a3-4201-8506-22e0954564eb","isComplete":true,"lockedFileCount":0,"responseCount":12,"responses":[],"searchText":"Tommy Cash Baba Yaga","startedAt":"2025-07-27T21:28:02.1709869Z","state":"Completed, TimedOut","token":80},{"endedAt":"2025-07-27T21:28:20.4645342Z","fileCount":5,"id":"7e66f9a9-00ac-451b-a199-5f6a7f18930c","isComplete":true,"lockedFileCount":0,"responseCount":5,"responses":[],"searchText":"Tommy Cash SugaSuga"... +2025-07-27 21:22:05 - newmusic.soulseek_client - INFO - get_all_searches:957 - Retrieved 50 searches from slskd +2025-07-27 21:22:05 - newmusic.soulseek_client - DEBUG - maintain_search_history:1058 - Search count (50) within limit (200), no maintenance needed +2025-07-27 21:23:15 - newmusic.main - INFO - closeEvent:246 - Closing application... +2025-07-27 21:23:15 - newmusic.main - INFO - closeEvent:251 - Cleaning up Downloads page threads... +2025-07-27 21:23:15 - newmusic.main - INFO - closeEvent:256 - Stopping status monitoring thread... +2025-07-27 21:23:17 - newmusic.main - INFO - closeEvent:261 - Stopping search maintenance timer... +2025-07-27 21:23:17 - newmusic.main - INFO - closeEvent:266 - Closing Soulseek client... +2025-07-27 21:23:17 - newmusic.main - INFO - closeEvent:272 - Application closed successfully +2025-07-27 21:23:20 - newmusic - INFO - setup_logging:57 - Logging initialized with level: DEBUG +2025-07-27 21:23:20 - newmusic.main - INFO - main:286 - Starting NewMusic application +2025-07-27 21:23:20 - newmusic.spotify_client - INFO - _setup_client:179 - Spotify client initialized (user info will be fetched when needed) +2025-07-27 21:23:20 - newmusic.soulseek_client - INFO - _setup_client:220 - Soulseek client configured with slskd at http://localhost:5030 +2025-07-27 21:23:20 - newmusic.spotify_client - INFO - _setup_client:179 - Spotify client initialized (user info will be fetched when needed) +2025-07-27 21:23:21 - newmusic.spotify_client - INFO - _setup_client:179 - Spotify client initialized (user info will be fetched when needed) +2025-07-27 21:23:21 - newmusic.soulseek_client - INFO - _setup_client:220 - Soulseek client configured with slskd at http://localhost:5030 +2025-07-27 21:23:21 - newmusic.main - INFO - change_page:233 - Changed to page: dashboard +2025-07-27 21:23:21 - newmusic.main - INFO - setup_media_player_connections:205 - Media player connections established between sidebar and downloads page +2025-07-27 21:23:21 - newmusic.main - INFO - setup_settings_connections:210 - Settings change connections established +2025-07-27 21:23:21 - newmusic.main - INFO - setup_search_maintenance:86 - Search maintenance timer started (every 2 minutes, keeps 200 most recent searches) +2025-07-27 21:23:21 - newmusic.plex_client - INFO - _find_music_library:127 - Found music library: Music +2025-07-27 21:23:21 - newmusic.plex_client - INFO - _setup_client:113 - Successfully connected to Plex server: PLEX-MACHINE +2025-07-27 21:23:23 - newmusic.main - INFO - change_page:233 - Changed to page: settings diff --git a/ui/pages/__pycache__/settings.cpython-312.pyc b/ui/pages/__pycache__/settings.cpython-312.pyc index 2a9a2ba7..37926283 100644 Binary files a/ui/pages/__pycache__/settings.cpython-312.pyc and b/ui/pages/__pycache__/settings.cpython-312.pyc differ diff --git a/ui/pages/settings.py b/ui/pages/settings.py index 41d1c3d3..5f6f003f 100644 --- a/ui/pages/settings.py +++ b/ui/pages/settings.py @@ -466,6 +466,31 @@ class SettingsPage(QWidget): self.form_inputs['spotify.client_secret'] = self.client_secret_input spotify_layout.addWidget(self.client_secret_input) + # Callback URL info + callback_info_label = QLabel("Required Redirect URI:") + callback_info_label.setStyleSheet("color: #b3b3b3; font-size: 11px; margin-top: 8px;") + spotify_layout.addWidget(callback_info_label) + + callback_url_label = QLabel("http://localhost:8888/callback") + callback_url_label.setStyleSheet(""" + color: #1db954; + font-size: 11px; + font-family: 'Courier New', monospace; + background-color: rgba(29, 185, 84, 0.1); + border: 1px solid rgba(29, 185, 84, 0.3); + border-radius: 4px; + padding: 6px 8px; + margin-bottom: 8px; + """) + callback_url_label.setTextInteractionFlags(Qt.TextInteractionFlag.TextSelectableByMouse) + spotify_layout.addWidget(callback_url_label) + + # Helper text + helper_text = QLabel("Add this URL to your Spotify app's 'Redirect URIs' in the Spotify Developer Dashboard") + helper_text.setStyleSheet("color: #888888; font-size: 10px; font-style: italic;") + helper_text.setWordWrap(True) + spotify_layout.addWidget(helper_text) + # Plex settings plex_frame = QFrame() plex_layout = QVBoxLayout(plex_frame)