Files
daily-notification-plugin/test-apps/daily-notification-test
Matthew Raymer f256113ed9 fix(android): resolve SharedPreferences mismatch and document cross-platform storage pattern
- Fix TestNativeFetcher to read from same SharedPreferences as plugin
  - Changed PREFS_NAME from 'DailyNotificationPrefs' to 'daily_notification_timesafari'
  - Changed KEY_STARRED_PLAN_IDS from 'starred_plan_ids' to 'starredPlanIds'
  - Updated getStarredPlanIds() to read from plugin's SharedPreferences location
  - Added diagnostic logging for plan ID loading

- Add updateStarredPlans() call in App.vue mounted() hook
  - Ensures starred plan IDs are persisted to native storage on app startup
  - Allows native fetcher to read plan IDs from SharedPreferences
  - Added diagnostic logging for configuration flow

- Document cross-platform storage pattern
  - Created docs/CROSS_PLATFORM_STORAGE_PATTERN.md with architecture flow
  - Documented TypeScript → Capacitor bridge → Plugin → Native storage → Native fetcher flow
  - Added iOS implementation checklist with code examples
  - Clarified why native storage is needed (background workers can't use bridge)

- Add JWT generation logging to test-user-zero.ts
  - Log JWT algorithm (ES256K) and DID when token is generated
  - Helps diagnose JWT verification issues

Fixes:
- Empty planIds array in native fetcher requests
- SharedPreferences key mismatch between plugin and native fetcher
- Missing documentation for iOS implementation

All changes maintain backward compatibility.
2025-10-31 13:02:30 +00:00
..
2025-10-31 09:56:23 +00:00
2025-10-15 10:46:50 +00:00
2025-10-31 09:56:23 +00:00
2025-10-15 10:46:50 +00:00
2025-10-15 10:46:50 +00:00
2025-10-15 10:46:50 +00:00
2025-10-15 10:46:50 +00:00
2025-10-15 10:46:50 +00:00
2025-10-31 09:56:23 +00:00
2025-10-31 09:56:23 +00:00
2025-10-15 10:46:50 +00:00
2025-10-15 10:46:50 +00:00

daily-notification-test

This template should help get you started developing with Vue 3 in Vite.

VS Code + Vue (Official) (and disable Vetur).

Type Support for .vue Imports in TS

TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue types.

Customize configuration

See Vite Configuration Reference.

Project Setup

npm install

Note: The postinstall script automatically fixes Capacitor configuration files after installation.

Capacitor Sync (Android)

Important: Use the wrapper script instead of npx cap sync directly to automatically fix plugin paths:

npm run cap:sync

This will:

  1. Run npx cap sync android
  2. Automatically fix capacitor.settings.gradle (corrects plugin path from android/ to android/plugin/)
  3. Ensure capacitor.plugins.json has the correct plugin registration

If you run npx cap sync android directly, you can manually fix afterward:

node scripts/fix-capacitor-plugins.js

Compile and Hot-Reload for Development

npm run dev

Type-Check, Compile and Minify for Production

npm run build

Lint with ESLint

npm run lint