refactor(test-app): consolidate native fetcher config and fix ES module issues

- Move native fetcher configuration from HomeView.vue to App.vue mounted() hook
  - Single source of truth for configuration on app startup
  - Removed duplicate configuration logic from HomeView
  - Added diagnostic logging to trace configuration flow

- Fix ES module compatibility issue with Capacitor CLI
  - Replace direct logger import with lazy async loading in test-user-zero.ts
  - Prevents 'exports is not defined' error when Capacitor CLI loads config
  - Update refreshToken() and setBaseUrl() methods to async for logger access

- Add centralized logger utility (src/lib/logger.ts)
  - Single ESLint whitelist location for console usage
  - Structured logging with levels and emoji support
  - Updated router/index.ts and stores/app.ts to use logger

- Enhance Android notification deduplication
  - Add within-batch duplicate detection in fetch workers
  - Improve storage deduplication with alarm cancellation
  - Cancel alarms for removed duplicate notifications

- Update UserZeroView.vue to await async refreshToken() call

Fixes:
- npx cap sync android ES module error
- Duplicate notification accumulation
- Console statement lint warnings

All changes maintain backward compatibility and improve debugging visibility.
This commit is contained in:
Matthew Raymer
2025-10-31 12:51:49 +00:00
parent b0b89f4882
commit d4bb902cbe
14 changed files with 465 additions and 83 deletions

View File

@@ -26,6 +26,14 @@ export default defineConfigWithVueTs(
'**/.gradle/**'
]),
// Whitelist console usage in logger utility (single source of truth)
{
files: ['src/lib/logger.ts'],
rules: {
'no-console': 'off',
},
},
pluginVue.configs['flat/essential'],
vueTsConfigs.recommended,
)