fix: redirect to /setup/unresolved after series scan completes
- Add 'system_progress' event type to loading page redirect condition - Add checkUnresolvedAndRedirect() for phase=initial to handle race condition where backend initialization completes before WebSocket connects - Backend now emits series_sync progress events during initial setup - Loading page checks /api/setup/unresolved immediately on load for phase=initial - Fixes users getting stuck on loading page after setup
This commit is contained in:
@@ -771,13 +771,13 @@ class TestScanFoldersToDatabase:
|
||||
) as mock_settings, \
|
||||
patch(
|
||||
'src.server.services.initialization_service.SetupService.run',
|
||||
new_callable=AsyncMock, return_value=1
|
||||
new_callable=AsyncMock, return_value=(1, 0)
|
||||
) as mock_setup_run:
|
||||
mock_settings.anime_directory = anime_dir
|
||||
|
||||
result = await _scan_folders_to_database()
|
||||
|
||||
assert result == 1
|
||||
assert result == (1, 0)
|
||||
mock_setup_run.assert_called_once()
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@@ -798,13 +798,13 @@ class TestScanFoldersToDatabase:
|
||||
) as mock_settings, \
|
||||
patch(
|
||||
'src.server.services.initialization_service.SetupService.run',
|
||||
new_callable=AsyncMock, return_value=1
|
||||
new_callable=AsyncMock, return_value=(1, 0)
|
||||
) as mock_setup_run:
|
||||
mock_settings.anime_directory = anime_dir
|
||||
|
||||
result = await _scan_folders_to_database()
|
||||
|
||||
assert result == 1
|
||||
assert result == (1, 0)
|
||||
mock_setup_run.assert_called_once()
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@@ -825,13 +825,13 @@ class TestScanFoldersToDatabase:
|
||||
) as mock_settings, \
|
||||
patch(
|
||||
'src.server.services.initialization_service.SetupService.run',
|
||||
new_callable=AsyncMock, return_value=1
|
||||
new_callable=AsyncMock, return_value=(1, 0)
|
||||
) as mock_setup_run:
|
||||
mock_settings.anime_directory = anime_dir
|
||||
|
||||
result = await _scan_folders_to_database()
|
||||
|
||||
assert result == 1
|
||||
assert result == (1, 0)
|
||||
mock_setup_run.assert_called_once()
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@@ -852,13 +852,13 @@ class TestScanFoldersToDatabase:
|
||||
) as mock_settings, \
|
||||
patch(
|
||||
'src.server.services.initialization_service.SetupService.run',
|
||||
new_callable=AsyncMock, return_value=1
|
||||
new_callable=AsyncMock, return_value=(1, 0)
|
||||
) as mock_setup_run:
|
||||
mock_settings.anime_directory = anime_dir
|
||||
|
||||
result = await _scan_folders_to_database()
|
||||
|
||||
assert result == 1
|
||||
assert result == (1, 0)
|
||||
mock_setup_run.assert_called_once()
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@@ -879,13 +879,13 @@ class TestScanFoldersToDatabase:
|
||||
) as mock_settings, \
|
||||
patch(
|
||||
'src.server.services.initialization_service.SetupService.run',
|
||||
new_callable=AsyncMock, return_value=1
|
||||
new_callable=AsyncMock, return_value=(1, 0)
|
||||
) as mock_setup_run:
|
||||
mock_settings.anime_directory = anime_dir
|
||||
|
||||
result = await _scan_folders_to_database()
|
||||
|
||||
assert result == 1
|
||||
assert result == (1, 0)
|
||||
mock_setup_run.assert_called_once()
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@@ -906,13 +906,13 @@ class TestScanFoldersToDatabase:
|
||||
) as mock_settings, \
|
||||
patch(
|
||||
'src.server.services.initialization_service.SetupService.run',
|
||||
new_callable=AsyncMock, return_value=0
|
||||
new_callable=AsyncMock, return_value=(0, 0)
|
||||
) as mock_setup_run:
|
||||
mock_settings.anime_directory = anime_dir
|
||||
|
||||
result = await _scan_folders_to_database()
|
||||
|
||||
assert result == 0
|
||||
assert result == (0, 0)
|
||||
mock_setup_run.assert_called_once()
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@@ -923,11 +923,11 @@ class TestScanFoldersToDatabase:
|
||||
) as mock_settings, \
|
||||
patch(
|
||||
'src.server.services.initialization_service.SetupService.run',
|
||||
new_callable=AsyncMock, return_value=0
|
||||
new_callable=AsyncMock, return_value=(0, 0)
|
||||
) as mock_setup_run:
|
||||
mock_settings.anime_directory = None
|
||||
|
||||
result = await _scan_folders_to_database()
|
||||
|
||||
assert result == 0
|
||||
assert result == (0, 0)
|
||||
mock_setup_run.assert_not_called()
|
||||
|
||||
Reference in New Issue
Block a user