The systemStatsStore approach was causing CI timeouts because it added Pinia store initialization overhead during page load. Reverting getDesktopGuideUrl to use navigator.platform directly resolves the i18n collection timeout that started with our URL centralization.
- Remove navigator fallback since systemStatsStore is the standard
- Default to Windows when OS info not available
- Simplify tests to match new behavior
- More consistent with app architecture
- Update getLocalized tests to expect full URLs with domain instead of paths
- Fix test for empty path to avoid double slashes
- Update allowedDomains regex to handle localhost URLs properly
- Rename test to reflect it validates URLs, not just domain names
- Create src/constants/urls.ts with centralized URL constants (COMFY_URLS, GITHUB_REPOS, MODEL_SOURCES, DEVELOPER_TOOLS)
- Move runtime domain config to src/config/comfyDomain.ts to allow forkers to customize via env var
- Rename uvMirrors.ts to mirrors.ts for better naming consistency
- Add platform and locale-aware desktop guide URL generation (matching PR #4471)
- Update 10 components to use centralized URL constants
- Add comprehensive unit and e2e tests for URL constants validation
This refactoring improves maintainability by centralizing 150+ hardcoded URLs found across 50+ files into a single organized structure.