PROBLEM: Dashboard page was stuck loading forever
ROOT CAUSE:
- AdminDashboardClient requires ApiClient:BaseUrl configuration
- deploy_gb.sh was missing ApiClient__BaseUrl environment variable
- HttpClient had no BaseAddress, causing all API calls to fail
SOLUTION:
- Remove timeout bandaid from App.razor
- Add ApiClient__BaseUrl to deploy_gb.sh environment variables
- API requests will now properly route to http://127.0.0.1:${TARGET_PORT}/taxbaik/api/
EXPECTED RESULT:
- Dashboard API calls succeed
- Dashboard page loads normally
- Blog management page becomes clickable
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Root cause analysis:
- App.razor referenced blazor.web.js (legacy filename)
- ASP.NET Core 10 publish outputs blazor.webassembly.js (standard)
- Build/publish mismatch caused 'SyntaxError: Invalid or unexpected token'
Solution (proper fix, not workaround):
- App.razor: change script src to blazor.webassembly.js
- Remove deploy_gb.sh file-copy workaround
- Program.cs: remove unnecessary comment
Result: Single source of truth - blazor.webassembly.js is the standard ASP.NET Core 10
filename. No file duplication, no symlinks, no publish-time workarounds needed.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Problem: ASP.NET Core static files middleware may not handle symlinks correctly,
causing blazor.web.js to be served as a 21-byte stub instead of the full 60KB file.
This caused 'SyntaxError: Invalid or unexpected token' in browser.
Solution: Replace symlink with actual file copy in deploy_gb.sh:
- cp blazor.webassembly.js blazor.web.js (+ .gz and .br variants)
This ensures both filenames are actual files that the static files middleware
can properly serve.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Problem: ASP.NET Core 10 WASM runtime file is named blazor.webassembly.js but
Blazor pages still reference blazor.web.js, causing 404 Not Found errors and
complete failure to load admin UI.
Solution: In deploy_gb.sh, create symlink before starting the app:
ln -s blazor.webassembly.js blazor.web.js
This allows both filenames to work, ensuring backward compatibility.
Result: WASM runtime loads correctly in deployed environments.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Add ConnectionStrings__Default env var to deploy_gb.sh for production deployment
- Add DOTNET_PRINT_TELEMETRY_MESSAGE=false to suppress telemetry
- Update E2E tests to support env vars (E2E_BASE_URL, E2E_ADMIN_USERNAME, E2E_ADMIN_PASSWORD)
- Fixes 'Missing connection string' error on new deployments
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>