Commit Graph
374 Commits
Author SHA1 Message Date
trentlarson 70372a113a bump version to 1.4.5 2026-09-26 16:09:35 -06:00
trentlarson 9e88cf056c fix asset copying (which weren't allowing iOS to build) 2026-09-26 16:08:56 -06:00
trentlarson ef476bbb57 fix problem with project ID for "given to" project links, fix deep-link redirect for web, update browserslist DB 2026-09-21 07:55:08 -06:00
trentlarson 45503f568a fix more types and make more code consistent (mobile test seems to hang) 2026-09-20 16:10:36 -06:00
trentlarson e350feb132 add some other deep links for useful pages, and fix a UI test 2026-09-20 15:17:58 -06:00
Jose Olarte III de951543c7 Merge branch 'notify-api_endpoint-query' 2026-09-17 14:46:01 +08:00
trentlarson fe9a2f0cbb Merge branch 'notify-api-sms' into notify-api_endpoint-query 2026-09-13 18:45:36 -06:00
trentlarson 87ffa025e8 bump version to 1.4.4 build 70 2026-06-22 12:14:29 -06:00
trentlarson ec41dd52d5 bump version to v 1.4.3 build 69 2026-06-21 10:59:24 -06:00
trentlarson a3a2d97b9a update version to v 1.4.2 build 68 2026-05-24 21:50:39 -06:00
trentlarson 802050259c update android build, fix ios build for new version of MLKit BarcodeScanner (both build) 2026-05-24 21:24:18 -06:00
Jose Olarte III 6a9f34a516 feat(notifications): persist stable deviceId for FCM registration
Add getOrCreateDeviceId() backed by Capacitor Preferences so one UUID
survives app restarts and token refreshes. Include deviceId in POST
/notifications/register alongside fcmToken, platform, and testMode.
Add @capacitor/preferences and lightweight DeviceId logs (no token/ID values).
2026-05-13 18:41:10 +08:00
trentlarson 7d306bd204 add first cut for 16kb page sizes, all by Claude 2026-05-10 10:15:10 -06:00
Jose Olarte III 162158066f feat(notifications): initialize Firebase Messaging and Capacitor push on native
Add firebaseMessagingClient to ensure the Firebase app is created from VITE_FIREBASE_*,
wire PushNotifications (listeners, requestPermissions, register) before token work,
and call getMessaging/getToken/onMessage when firebase/messaging is supported. Hook
startup from main.capacitor and set PushNotifications presentationOptions in
capacitor.config. Depend on firebase and @capacitor/push-notifications.
2026-05-06 15:30:46 +08:00
Jose Olarte III ffa7bac319 fix(ios): ensure capacitor-assets output dirs exist on fresh clones
Gitignored AppIcon.appiconset and Splash.imageset are absent after clone,
which made `capacitor-assets generate --ios` fail (missing paths and
Contents.json). Add ensure_ios_capacitor_asset_directories in common.sh
to mkdir and seed minimal Contents.json when needed; call it from
build-ios.sh before asset generation and from the build:native npm script.
Document the behavior in ios/.gitignore.
2026-04-13 16:20:51 +08:00
Jose Olarte III 954500cf9d fix(ios): static SQLCipher pods, strip system SQLite, refresh deps
- Podfile: use static frameworks; post_install/post_integrate hooks to
  avoid mixing Apple libsqlite3/SQLite headers with SQLCipher (including
  stripping aggregate Pods-App xcconfig flags for Swift explicit modules).
- Xcode: enable CLANG_ENABLE_MODULES; replace CocoaPods “Embed Pods
  Frameworks” phase with “Copy Pods Resources”; minor project file hygiene.
- Pods: SQLCipher 4.10.0, ZIPFoundation patch bump; Podfile.lock updated.
- package.json: allow patch updates for @capacitor-community/sqlite (^6.0.2);
  regenerate package-lock.json.
- Info.plist: reorder keys only (same URL scheme, background modes, BG tasks,
  notification alert style).
2026-04-09 21:46:32 +08:00
trentlarson e0e0a0a183 bump version and add -beta 2026-04-05 20:08:24 -06:00
trentlarson ea662f4430 bump to v 1.3.13 (for a web release) 2026-04-05 19:58:36 -06:00
trentlarson e259e60fa7 bump version and add "-beta" 2026-03-22 17:39:46 -06:00
trentlarson 43f83031d4 rename app from "Gifties" to "Giftopia" 2026-03-21 16:27:21 -06:00
trentlarson 688a48a332 bump to version 1.3.12 build 67 2026-03-21 16:22:14 -06:00
trentlarson 358af42afd rename from "Gift Economies" to "Gifties" 2026-03-19 21:18:11 -06:00
trentlarson c0678385df bump version for this branch, and enhance logging with times 2026-03-15 19:33:43 -06: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
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
trentlarson f3cf228b48 Merge branch 'master' into daily-notification-plugin-integration 2026-03-07 10:48:07 -07:00
trentlarson d5db13dc18 bump version to 1.3.6 2026-03-06 21:17:21 -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
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
trentlarson 3c657848c5 bump version and add "-beta" 2026-02-24 19:56:16 -07:00
trentlarson cbd71b7efd bump to v 1.3.5, and fix some web help links 2026-02-24 19:51:48 -07:00
trentlarson 41e50bdf95 bump version and add "-beta" 2026-02-21 17:24:20 -07:00
trentlarson 0dc3e2e251 bump version to 1.3.3 2026-02-21 17:23:23 -07:00
trentlarson 8310152c34 bump version to 1.3.2 2026-02-18 19:38:31 -07:00
trentlarson dc3f12d53b bump version for testing (1.2.x), and for the eventual 1.3.0 release 2026-02-15 13:39:09 -07:00
trentlarson df61e899da bump version and add "-beta" 2026-01-22 19:47:24 -07:00
trentlarson b775c5b4c1 bump version to 1.1.6 2026-01-22 19:45:57 -07:00
Jose Olarte III 84c3f79c57 fix(ios): resolve build errors for daily notification plugin
- Add podspec file for daily notification plugin with correct name
  - Create TimesafariDailyNotificationPlugin.podspec to match Capacitor's
    expected naming convention
  - Podspec name must match Podfile reference for CocoaPods compatibility
- Update Podfile to reference TimesafariDailyNotificationPlugin
- Add automated fix script for podspec creation
  - scripts/fix-daily-notification-podspec.sh creates podspec with correct
    name before Capacitor sync
  - Integrated into build-ios.sh build process
- Fix typo in package.json: change "pina" to "pinia" (^2.1.7)

Fixes:
- Vite build error: "Failed to resolve import 'pinia'"
- CocoaPods error: "No podspec found for 'TimesafariDailyNotificationPlugin'"
- CocoaPods error: "The name of the given podspec doesn't match the expected one"

The podspec file is created automatically during the build process to ensure
Capacitor sync can find the plugin with the expected name, while maintaining
compatibility with the actual podspec file name in the plugin package.
2026-01-22 18:03:14 +08:00
trentlarson a04730cd64 rename title and many places to "Gift Economies" 2026-01-21 20:16:03 -07:00
Jose Olarte III 679c4d6456 feat: integrate daily-notification-plugin from Gitea repository
- Add @timesafari/daily-notification-plugin dependency from private Gitea repo
- Configure .npmrc to be ignored by git to protect authentication tokens
- Remove .npmrc from version control (contains sensitive Gitea token)
- Update package-lock.json with new dependency

The plugin is installed via git URL and automatically builds during npm install
thanks to the prepare script in the plugin repository.

Installation requires Gitea personal access token configured in local .npmrc file.
2026-01-19 19:05:54 +08:00
trentlarson 11736b5751 for project changes, make the description into a colored diff that's easier to compare 2026-01-04 16:19:58 -07:00
trentlarson 24b636cd2f bump version and add "-beta" for work before next release 2025-12-30 07:10:42 -07:00
trentlarson faef83a664 bump to version 1.1.5 2025-12-30 07:08:26 -07:00
trentlarson ffeac44b39 chore: bump version and add "-beta" 2025-12-18 20:29:03 -07:00
trentlarson 08d55519e6 chore: bump version to 1.1.4 2025-12-18 20:27:30 -07:00
Jose Olarte III a672c977a8 Fix Android image share workflow and add local plugin persistence
- Add SafeArea and SharedImage plugins to capacitor.plugins.json
- Create restore-local-plugins.js to persist plugins after cap sync
- Integrate plugin restoration into build scripts
- Improve Android share intent timing with retry logic
- Clean up debug logging while keeping essential error handling
- Add documentation for local plugin management

Fixes issue where SharedImage plugin wasn't recognized, causing
"UNIMPLEMENTED" errors. Image sharing now works correctly on Android.
2025-12-09 21:36:01 +08:00
Jose Olarte III eeac7fdb66 fix(deps): align FontAwesome brands package version with other packages
Downgrade @fortawesome/free-brands-svg-icons from ^7.1.0 to ^6.5.1 to match
the version of @fortawesome/fontawesome-svg-core and other FontAwesome
packages. This resolves a TypeScript type error where IconDefinition from
the brands package was incompatible with the library.add() function due to
version mismatch.
2025-12-01 17:10:45 +08:00
trentlarson 5f1b4dcc21 chore: bump version and add "-beta" 2025-11-19 20:00:09 -07:00
trentlarson 11f122552d chore: bump to version 1.1.3 number 48 2025-11-19 19:58:48 -07:00
trentlarson d265a9f78c chore: bump version and add "-beta" 2025-11-06 08:56:33 -07:00