Commit Graph

4061 Commits

Author SHA1 Message Date
Jose Olarte III
e121db5fcf fix(notifications): align dual schedule config with Android plugin + bump DNP
- buildDualScheduleConfig: set contentFetch timeout/retryAttempts/retryDelay
  (match capacitor DailyNotification networkConfig), userNotification.vibration,
  return type DualScheduleConfiguration
- @timesafari/daily-notification-plugin 2.1.1 → 2.1.3 (package-lock)
- doc: plugin feedback (contentFetch JSON, parseUserNotificationConfig optional
  fields) and Android DailyNotificationWorker duplicate scheduleId note
2026-03-20 21:13:50 +08:00
Jose Olarte III
1389a166fa fix(ios): New Activity dual notification – handle updateStarredPlans and BGTaskScheduler errors
- Treat updateStarredPlans as optional: catch UNIMPLEMENTED and continue to
  scheduleDualNotification so missing native method no longer blocks scheduling.
- Show specific toast when BGTaskSchedulerErrorDomain error 1 occurs (e.g.
  Simulator): explain that a real device and Background App Refresh are required.
- Add PluginHeaders diagnostic in AccountViewView and main.capacitor.ts to debug
  UNIMPLEMENTED (log DNP methods at call time and at launch).
- Fix main.capacitor.ts build: use CapacitorWindow type and safe cap assignment
  so vite build --mode capacitor succeeds.
- Docs: add UNIMPLEMENTED troubleshooting and updateStarredPlans note in
  plugin-feedback-ios-scheduleDualNotification.md; add section 8.3 in
  notification-new-activity-lay-of-the-land.md.
- Lockfile updates (package-lock.json, Podfile.lock).
2026-03-19 19:26:59 +08:00
Jose Olarte III
3c262c9eeb docs: add plugin feedback doc for iOS scheduleDualNotification
Add plugin-feedback-ios-scheduleDualNotification.md for the
daily-notification-plugin repo: config shape from the app, expected
behavior, and acceptance criteria so iOS can implement or fix
scheduleDualNotification (currently returns UNIMPLEMENTED).
2026-03-17 21:05:06 +08:00
Jose Olarte III
e155e55e49 fix(notifications): New Activity vs Daily Reminder separation and copy
- PushNotificationPermission: show "Turn on New Activity Notifications"
  when enabling New Activity; use NOTIFY_PUSH_SUCCESS_NEW_ACTIVITY for
  success toast so copy says "New Activity notifications are now enabled."
- App.vue: on native, turnOffNotifications invokes the modal's callback
  only (fixes turn-off not updating state); add comment that callback is
  per notification type.
- AccountViewView: handle plugin UNIMPLEMENTED for scheduleDualNotification
  on iOS with friendlier message; add New Activity time block and "Edit
  New Activity Notification…"; rename Daily Reminder button to "Edit Daily
  Reminder…".
- Constants: add NOTIFY_PUSH_SUCCESS_NEW_ACTIVITY. Reminder IDs and
  Option A (skip single reminder for New Activity) from earlier commit.
2026-03-17 19:23:40 +08:00
Jose Olarte III
263b12c37e fix(notifications): New Activity dual-only; separate reminder IDs (Option A + 6.3)
- PushNotificationPermission: on native, when enabling New Activity
  (DAILY_CHECK_TITLE), skip scheduleDailyNotification so only
  AccountViewView's scheduleNewActivityDualNotification runs (dual
  schedule only). Daily Reminder still uses single reminder path.
- Add reminderIds.ts with REMINDER_ID_DAILY_REMINDER and
  REMINDER_ID_NEW_ACTIVITY; NativeNotificationService uses the former.
- Export reminder IDs from notifications index. Fixes "always fires /
  can't turn off" by avoiding a second, uncancellable single reminder
  for New Activity.
2026-03-17 16:11:06 +08:00
Jose Olarte III
1df47f17c4 docs: add plugin-repo alignment section to New Activity lay-of-the-land
Document how daily-notification-plugin aligns with app usage (APIs,
dual vs single schedules, native fetcher, exact alarm). Note attention
items: cancelDailyReminder argument shape, INTEGRATION_GUIDE scope, and
iOS use of app-provided id for scheduleDailyNotification.
2026-03-16 21:16:10 +08:00
Jose Olarte III
6f066a7e23 docs: add device testing section and note exact alarm disabled on Android
Expand notification-new-activity-lay-of-the-land.md with section 7 on
testing New Activity on real iOS/Android devices (prerequisites, enable/
disable flows, what to verify before and after fix). Update Android
device notes to state this app has exact alarm disabled (no
SCHEDULE_EXACT_ALARM) and that delivery may be inexact or batched.
2026-03-16 19:05:53 +08:00
Jose Olarte III
9a23e2beba docs: expand proper-fix section in New Activity lay-of-the-land
Add section 6 with Option A (skip single reminder when dialog is for New
Activity), Option B (cancel single reminder on disable, with caveats),
and optional cleanup notes. For team discussion and implementation.
2026-03-16 18:12:04 +08:00
8ac6dd6ce0 make an attempt at new notifications using an API (fires always, can't turn off) 2026-03-15 19:34:30 -06:00
c0678385df bump version for this branch, and enhance logging with times 2026-03-15 19:33:43 -06:00
fa1c639a8b move files from 'docs' to existing 'doc' directory 2026-03-14 20:02:01 -06:00
5ae0d6ba2c reword some things in notification help 2026-03-14 19:57:28 -06:00
3aff1e9749 add some changes from a build (not sure what changed capacitor config) 2026-03-14 19:56:40 -06:00
Jose Olarte III
6415eb2a03 chore(notifications): remove exact alarm handling from push permission success flow
Drop Android exact-alarm check and conditional success message text,
and remove the permission-check warning for ungranted exact alarms.
2026-03-13 18:17:19 +08:00
Jose Olarte III
9902e5fac7 chore: align with daily-notification-plugin 2.0.0 (org.timesafari namespace)
- Update Android manifest, Java imports, and capacitor.plugins.json to use
  org.timesafari.dailynotification (receivers, intent action, plugin classpath)
- Update iOS Info.plist BGTaskSchedulerPermittedIdentifiers to org.timesafari.*
- Bump @timesafari/daily-notification-plugin 1.3.3 → 2.0.0 (package-lock, Podfile.lock)
- Update docs and test-notification-receiver.sh to reference new package/action names
- Lockfile: minor bumps for @expo/cli, @expo/fingerprint, @expo/router-server, babel-preset-expo
2026-03-12 17:20:45 +08:00
Jose Olarte III
fb9d5165df feat(help-notifications): in-app troubleshooting, collapsibles, scroll-to-top
- Move NOTIFICATION_TROUBLESHOOTING content into HelpNotificationsView with prose styling
- Remove exact-alarms section from doc and view (feature removed from app/plugin)
- Add collapsible iOS/Android sections (open by default for current platform)
- Add rotating carets on collapsible summaries
- Add bullet for 10-minute rollover option in "If it still doesn't work"
- Add @tailwindcss/typography plugin for prose classes
- Reset #app scroll on route change so Help Notifications opens at top
2026-03-11 17:37:19 +08:00
ba8915e1fb bump version for latest test deploy 2026-03-09 20:29:52 -06:00
Jose Olarte III
616d0fd6e0 fix(android): do not open Settings for exact alarm in scheduleDailyNotification
Allow scheduling to continue when exact alarm is not granted instead of
opening Settings and rejecting. Consumer apps can inform users about
exact alarms in their own UI.
2026-03-09 21:57:02 +08:00
Jose Olarte III
7ae36ec361 chore(deps): use npm nostr-tools instead of JSR @nostr/tools
- Replace "npm:@jsr/nostr__tools" with "nostr-tools" to fix npm 404
- Update imports in NewEditProjectView and Vite configs
- Remove Vite aliases so resolution uses package exports
2026-03-09 20:25:20 +08:00
f3cf228b48 Merge branch 'master' into daily-notification-plugin-integration 2026-03-07 10:48:07 -07:00
d5db13dc18 bump version to 1.3.6 2026-03-06 21:17:21 -07:00
717efb087b remove USE_EXACT_ALARM in Android 2026-03-06 21:16:49 -07:00
Jose Olarte III
f3cfa9552d refactor(notifications): use "Daily Reminder" terminology consistently
- Rename "Reminder Notification(s)" to "Daily Reminder" in Account and Help views
- Update NOTIFY_PUSH_SUCCESS title/message ("Notifications On", "Daily Reminder notifications are now enabled.")
- Align plugin spec doc with "Notifications" section naming
2026-03-06 19:02:45 +08:00
Jose Olarte III
de486a2e23 docs: add end-user notification troubleshooting guide (iOS/Android)
- Add docs/NOTIFICATION_TROUBLESHOOTING.md for daily reminder/check-in
- Cover in-app settings, iOS (notifications, Focus), Android (notifications, exact alarms, battery)
- Include checklist table and note to backup identifier seed before uninstall
2026-03-06 18:14:07 +08:00
94f31faacc update the notification-help to remove push-notification info, and other minor fixes 2026-03-05 20:58:49 -07:00
099eac594f make tweaks to meeting exclusions & do-not-pair for consistency & helpful info 2026-03-05 20:10:58 -07:00
Jose Olarte III
6825bd5214 docs: add plugin feedback for Android rollover-interval bugs (since fixed)
Document two rollover-interval bugs for daily-notification-plugin with
logcat evidence and required fixes. Both issues have been fixed on the
plugin side; rollovers now chain every N minutes across reboots without
opening the app.
2026-03-04 22:27:08 +08:00
b4b7d71330 meeting matches: add the ability to exclude individuals altogether or groups from matching one another 2026-03-03 20:39:33 -07:00
Jose Olarte III
af63ab70e7 feat(notifications): add dev/test 10-minute rollover toggle and plugin spec
- Add dev-only "Use 10-minute rollover (testing)" toggle in Reminder
  Notifications (Account view). Visible only when not on prod API server
  (isNotProdServer). Toggle persists and reschedules reminder with
  rolloverIntervalMinutes when changed.
- Extend daily notification flow to pass optional rolloverIntervalMinutes
  to the plugin: NotificationService/NativeNotificationService options,
  PushNotificationPermission dialog options, first-time and edit flows.
- Add settings: reminderFastRolloverForTesting (Settings, AccountSettings,
  PlatformServiceMixin boolean mapping, migration 007).
- Centralize isNotProdServer(apiServer) in constants/app.ts; use in
  AccountViewView (toggle visibility), ImportAccountView, and TestView.
- Add docs/plugin-spec-rollover-interval-minutes.md for the plugin repo
  (configurable rollover interval and persistence after reboot).

Note: Daily notification plugin dependency is currently pointed at the
"rollover-interval" branch for testing this feature.
2026-03-03 21:31:07 +08:00
41149ad28a add a way to copy a list of contacts with a shorter URL 2026-03-02 21:14:02 -07:00
4f89869a87 fix & enhance web tests for new contact import functionality 2026-03-02 19:23:22 -07:00
a45f605c5f ensure contact import from deep-link or paste all act consistently 2026-03-02 18:57:53 -07:00
Jose Olarte III
96ae89bcfa docs: add daily notification duplicate/fallback analysis and plugin handoff 2026-03-02 20:35:08 +08:00
Jose Olarte III
7e2b16ddad docs: add plugin handoff for Android 6.0 (API 23) ZoneId fix
Add doc/plugin-feedback-android-6-api23-zoneid-fix.md for the
daily-notification-plugin repo: replace java.time.ZoneId with
TimeZone.getDefault().id so the plugin runs on API 23 without
affecting behavior on API 26+.
2026-02-27 21:50:39 +08:00
Jose Olarte III
29aff896be docs: add plugin feedback for Android rollover double-fire and user content
- New doc: rollover double-fire and missing user-set content diagnosis
- Link from DAILY_NOTIFICATION_BUG_DIAGNOSIS.md; include Cursor handoff section
2026-02-26 21:12:50 +08:00
Jose Olarte III
d4721f5f4c fix(help): improve notification troubleshooting copy and use app constants
- Fix typo in Android Chrome "Clear browsing data" step
- Use TimeSafari in Settings steps and clarify PWA vs native install
- Add Battery & background subsection (iOS and Android)
- Add Focus / Do Not Disturb note under Check App Permissions
- Add quick checklist at top before Full Test
- Replace hardcoded app names with AppString.APP_NAME and APP_NAME_NO_SPACES
2026-02-26 17:58:32 +08:00
Jose Olarte III
baac36607b fix: show readable copy for reminder notification toggle dialogs
Replace DIRECT_PUSH_TITLE in confirm and success messages with
"reminder notifications" so users see clear text instead of
the internal constant name.
2026-02-26 16:32:06 +08:00
3c657848c5 bump version and add "-beta" 2026-02-24 19:56:16 -07:00
cbd71b7efd bump to v 1.3.5, and fix some web help links 2026-02-24 19:51:48 -07:00
Jose Olarte III
25c3cd99e4 docs: add plugin feedback for Android rollover after reboot
Document that boot recovery can skip rescheduling after device restart
(duplicate PendingIntent check), causing the next daily notification to
fail to fire on devices that clear AlarmManager alarms on reboot. Include
Scenario 1 logcat (notification fired when alarm survived), two-scenario
distinction, recommended fix (skipPendingIntentIdempotence in boot path),
duplicate-alarm clarification, and Cursor-ready implementation section
for the daily-notification-plugin repo.
2026-02-24 21:59:24 +08:00
Jose Olarte III
cd5f9f5317 docs: add plugin feedback for Android post-reboot notification fallback text
Document bug where daily reminder shows fallback text after device restart
(Intent extras not surviving reboot). Includes root cause, recommended
plugin fixes (persist/restore title/body, use DB in recovery), and
verification steps for the daily-notification-plugin repo.
2026-02-23 21:24:29 +08:00
47ead0ced2 add better support info when there's an error on startup 2026-02-22 16:05:24 -07:00
dd8850aa24 fix error on mobile startup with SQL for contacts foreign key 2026-02-22 15:42:53 -07:00
e7e2830807 toggle embeddings on list screen, distinguish between empty profile description and hidden profile 2026-02-22 15:40:21 -07:00
41e50bdf95 bump version and add "-beta" 2026-02-21 17:24:20 -07:00
0dc3e2e251 bump version to 1.3.3 2026-02-21 17:23:23 -07:00
5809cd568a fix web test 2026-02-21 15:54:21 -07:00
30c6df557c add missing file for contact-profile-checking & add info button for explanation 2026-02-21 15:25:32 -07:00
07ebd1c32f cache the user-profile lookup results in a list 2026-02-21 15:14:00 -07:00
f3152fc414 remove another localStorage usage 2026-02-21 15:13:41 -07:00