Commit Graph

242 Commits

Author SHA1 Message Date
Matt Raymer
3cf256cf3a style: improve code formatting and type safety
- Add proper type annotation for onDetect result parameter
- Fix indentation and line wrapping in template
- Remove unused WebInlineQRScanner import
- Clean up button attribute ordering
- Fix whitespace and formatting issues
- Remove unused empty divs
2025-05-06 02:45:24 -04:00
Matthew Raymer
99cf47dd58 docs: add macOS build and packaging instructions
- Add detailed macOS build procedure for Electron app
- Include instructions for Intel and Universal builds
- Add code signing and notarization requirements
- Document running instructions for .app, .dmg, and .zip formats
- Add security warning handling instructions
2025-05-02 03:22:07 -07:00
Matthew Raymer
3553ac8e30 docs(PhotoDialog): improve component documentation and error handling
- Add comprehensive JSDoc documentation for component features and capabilities
- Fix line wrapping in file-level documentation header
- Improve error message formatting for better readability
- Remove unused PhotoResult interface
- Maintain consistent documentation style with project standards

The documentation improvements help developers better understand the component's
cross-platform photo handling capabilities and error management approach.
2025-05-02 08:39:29 +00:00
Matthew Raymer
3e87b2ecda chore: cleanup and test 2025-04-22 07:48:04 +00:00
Matthew Raymer
b52ef08b04 feat: Add MLKit barcode scanning plugin for Android
- Added @capacitor-mlkit/barcode-scanning@6.0.0 dependency
- Integrated MLKit plugin into Android project configuration
- Updated capacitor.settings.gradle to include MLKit module
- Added MLKit implementation to app dependencies

This change enables native QR code scanning capabilities on Android
devices using Google's MLKit barcode scanning technology.

Security:
- Uses official Google MLKit implementation
- Properly handles camera permissions
- Implements secure barcode scanning

BREAKING CHANGE: Requires Android API level 21+ for MLKit support
2025-04-21 13:05:01 +00:00
Matthew Raymer
19a55d4128 fix: improve file sharing on Android using app-private storage
- Replace direct file writing with app-private storage + share dialog
- Add Share plugin for cross-platform file sharing
- Update file paths configuration for Android
- Fix permission issues by using Directory.Data instead of Documents
- Simplify file export flow in DataExportSection
2025-04-11 07:13:07 +00:00
Matthew Raymer
8c616dad1f WIP: Fix Android file writing permissions and path handling
- Refactor writeFile method to properly handle Android Storage Access Framework (SAF) URIs
- Update path construction for Android to use Download directory with correct permissions
- Enhance error handling and logging throughout file operations
- Add detailed logging for debugging file system operations
- Fix permission checking logic to handle "File does not exist" case correctly
- Improve error messages and stack traces in logs
- Add timestamp to all log entries for better debugging
- Use proper directory types (ExternalStorage for Android, Documents for iOS)
- Add UTF-8 encoding specification for file writes

This is a work in progress as we're still seeing permission issues with Android file writing.
2025-04-09 13:05:42 +00:00
Matthew Raymer
a3f7e0e12f feat(android): implement file picker for data export
- Add @capawesome/capacitor-file-picker dependency
- Update DataExportSection UI text to reflect new file picker behavior
- Implement file picker in CapacitorPlatformService
- Add debug logging for path handling
- Fix logger to show messages in Capacitor environment

WIP: File path handling still needs refinement
2025-04-09 10:04:03 +00:00
Matthew Raymer
4853d0a7d0 chore(deps): update React Native and Metro dependencies
- Update react-native from 0.78.2 to 0.79.0
- Update metro and related packages from 0.81.4 to 0.82.1
- Update @react-native/virtualized-lists to 0.79.0
- Update @react-native/normalize-colors to 0.79.0
- Update @react-native/codegen to 0.79.0
- Remove unused dependencies and their related code
- Update debug configuration to use v4.4.0 instead of v2.6.9
- Update sudo-prompt to 9.1.1
- Update synckit to 0.11.3
- Gradle updated from 8.9.0 to 8.9.1

This update improves build stability and removes deprecated dependencies.
2025-04-08 11:14:23 +00:00
Matthew Raymer
4b203ed815 chore(deps): Add Capacitor camera and filesystem plugins
- Add @capacitor/camera@6.0.0 for cross-platform photo capture
- Add @capacitor/filesystem@6.0.0 for file system operations
- Maintain compatibility with existing Capacitor core v6.2.1

These plugins enable native camera access and file system operations
for the Capacitor platform implementation.
2025-04-06 13:28:50 +00:00
Matthew Raymer
2ae2595525 baseline for this branch 2025-04-06 05:41:12 +00:00
Matthew Raymer
9bccd1f02d fix(ui): resolve duplicate attributes and improve code style
- Remove duplicate class attributes in ProjectsView and ClaimView
- Fix attribute ordering for better readability
- Replace this references with direct variable names in templates
- Update icon-size prop to use kebab-case
- Remove unnecessary comments and improve formatting
- Fix import organization in ProjectsView

This commit resolves Vue template errors and improves code consistency.
2025-04-02 00:39:38 -07:00
Matthew Raymer
34dc4149f5 refactor: improve feed loading and infinite scroll reliability
- Add debouncing and loading state to InfiniteScroll component to prevent duplicate entries
- Refactor updateAllFeed into smaller, focused functions for better maintainability
- Add proper error handling and type assertions
- Optimize test performance with networkidle waits and better selectors
- Fix strict mode violations in Playwright tests
- Clean up test configuration by commenting out unused browser targets
2025-03-31 09:17:15 +00:00
Jose Olarte III
ddac179a61 Linting 2025-03-25 19:49:24 +08:00
1ae01a278b add icon asset and new capacitor step, and change "test-all" to "test:all" 2025-03-22 16:34:41 -06:00
Matthew Raymer
00f71afd85 fix: Update Android package name and improve test reliability
- Change package name from app.timesafari.app to app.timesafari
- Fix ADB connection issues with server restart and retries
- Add interactive test flow with user prompts between tests
- Generate test data locally instead of external script
- Add proper cleanup of readline interface
- Fix URL scheme registration in Android manifest

Technical changes:
1. Remove duplicate SDK suppression entries
2. Update Gradle and build configurations
3. Add retry logic for flaky ADB connections
4. Add proper error handling for test data generation
5. Update all package references consistently

The changes improve Android testing by:
1. Making package naming consistent
2. Adding reliability to ADB connections
3. Adding user control over test flow
4. Providing better test progress visibility
5. Improving error handling and logging
2025-03-21 08:31:55 +00:00
Matthew Raymer
acb003c6b3 fix: improve DeepLinkErrorView code quality
- Fix TypeScript property error by using validRoutes constant
- Replace console.log with logger utility
- Fix string quote consistency
- Improve v-for loop variable naming
- Add proper type safety for route parameters

Technical Changes:
- Use VALID_DEEP_LINK_ROUTES constant for route list
- Add logger import and replace console.log calls
- Standardize string quotes to double quotes
- Rename v-for variable to avoid shadowing
- Add proper type assertions for route params

This improves code quality and type safety in the
DeepLinkErrorView component while maintaining consistent
coding standards.
2025-03-20 12:04:27 +00:00
Matthew Raymer
4b7a618ab6 feat(ios-testing): Enhance deeplink testing and error handling
- Improve test data generation and validation
  - Add detailed logging of generated test data
  - Implement robust validation of required fields
  - Use ts-node script for test data generation
  - Add fallback data generation with validation

- Enhance deeplink testing UX
  - Add interactive prompts between tests
  - Display detailed test progress and next steps
  - Improve error handling and test skip logic
  - Add comprehensive logging throughout test execution

- Improve DeepLinkErrorView
  - Add detailed error information display
  - Show debug information for parameters and queries
  - Enhance UI with better styling and layout
  - Add safe area spacing for iOS

- Refactor deeplink handling
  - Standardize route definitions
  - Improve parameter validation
  - Add better error logging
2025-03-20 04:34:47 -07:00
Matthew Raymer
60ab6ad0c8 feat(test): Comprehensive iOS test script overhaul with context-aware deeplink testing
* Add complete iOS platform cleanup and reset on each test run
* Implement interactive deeplink testing with keyboard controls between tests
* Add context awareness to verify app is running and in foreground
* Improve error handling and diagnostic messaging throughout
* Auto-register URL schemes and verify app state for reliable testing
Include prerequisites check for Xcode, CocoaPods and simulator availability
* Include prerequisites check for Xcode, CocoaPods and simulator availability
2025-03-18 00:34:17 -07:00
Server
74d780b61d feat(ios): enhance iOS test automation and fix dependencies
- Improve iOS test script with automatic simulator selection and booting

- Add URL scheme registration for handling deeplink tests

- Enhance error handling for iOS security prompts during testing

- Improve test data generation with fallback mechanisms

- Fix Xcode build command to use standard 'build' instead of 'build-for-testing'

- Add @ethersproject/wallet dependency and update package dependencies
2025-03-14 01:41:24 -07:00
Matthew Raymer
f11471a619 chore: update dependencies to latest stable versions
- Update @babel packages to 7.26.10
- Update @expo packages including cli to 0.22.19
- Update @eslint-community/eslint-utils to 4.5.0
- Update axios to 1.8.3
- Update babel-plugin-polyfill-corejs3 to 0.11.1
- Update electron-to-chromium to 1.5.114
- Update expo core modules to 2.2.3
- Update expo-constants to 17.0.8

Technical Changes:
- Upgrade @babel/core, traverse, and types
- Update expo configuration plugins and metro config
- Update prebuild config and ws-tunnel
- Fix peer dependencies for babel plugins
- Update core expo modules for better stability

This updates all dependencies to their latest stable versions
to improve security and compatibility while maintaining
build stability.
2025-03-12 10:50:33 +00:00
Matthew Raymer
1dfce62969 feat: add deep linking support for DID routes
- Add DID route schema to deepLinks.ts
- Enable Android app link verification
- Add autoVerify flag to Android manifest

Technical Changes:
- Add did schema with id parameter to deepLinkSchemas
- Add DeepLinkParams type for DID routes
- Set android:autoVerify="true" in intent-filter
- Update manifest to handle DID deep links

This enables proper deep linking for DID-based routes and
allows Android to verify app links automatically. The DID
schema allows direct navigation to DID-specific views via
external links.
2025-03-10 05:00:46 +00:00
Matthew Raymer
023804fa12 chore: updated package-lock and added a README for the test scripts. 2025-03-09 11:10:48 +00:00
Matthew Raymer
722f4132ce fix: WIP: update did_generator.ts to use registration table
Changes:
- Update SQL query to use registration table instead of accounts
- Add proper column names for registration table schema
- Add issuanceDate sorting for latest admin DID
- Improve error messages for database queries
- Add TypeScript types for database row results

This fixes DID generation by using the correct table schema
from the endorser database.
2025-03-03 13:21:51 +00:00
Matthew Raymer
053306217e feat(test-scripts): add registration attempt to TypeScript DID generator
- Added registration attempt to TypeScript DID generator to match Python version
- Added node-fetch and types for HTTP request
- Both scripts now show same UNREGISTERED_USER error from server
- Cleaned up package.json devDependencies formatting
2025-03-03 10:43:42 +00:00
Server
7bcab5e39c documentation: Updated build instructions for IOS and refreshed package-lock 2025-02-28 00:31:22 -08:00
Matthew Raymer
24c7ba15af refactor: reorganize deep linking types and interfaces
Changes:
- Move deep link types from types/ to interfaces/
- Export baseUrlSchema for external use
- Add trailing commas for better git diffs
- Fix type inference for deepLinkSchemas
- Add deepLinks export to interfaces/index.ts
- Remove duplicate SuccessResult interface
- Update import paths in services/deepLinks.ts

This improves code organization by centralizing interface definitions
and fixing type inference issues.
2025-02-26 10:28:55 +00:00
Matthew Raymer
64a04ec9a5 feat(deepLinks): implement comprehensive deep linking system
- Add type-safe deep link parameter validation using Zod
- Implement consistent error handling across all deep link routes
- Add support for query parameters in deep links
- Create comprehensive deep linking documentation
- Add logging for deep link operations

Security:
- Validate all deep link parameters before processing
- Sanitize and type-check query parameters
- Add error boundaries around deep link handling
- Implement route-specific parameter validation

Testing:
- Add parameter validation tests
- Add error handling tests
- Test query parameter support
2025-02-26 09:35:04 +00:00
Matthew Raymer
3dbb836ae5 style: reorder v-model and v-bind directives
Changes:
- Move v-model directives before other attributes
- Move v-bind directives before event handlers
- Reorder attributes for better readability
- Fix template attribute ordering across components
- Improve eslint rules
- add default vite config for testing (handles nostr error too)
This follows Vue.js style guide recommendations for attribute
ordering and improves template consistency.
2025-02-26 09:27:04 +00:00
Matthew Raymer
f33d1f0af3 WIP: certificate view and dependency updates
- Update certificate view canvas rendering and QR code generation
- Upgrade dependencies (expo-file-system, expo-font, expo-keep-awake)
- Fix type imports for nostr-tools and dexie-export-import
- Update vite config for better dependency resolution
- Clean up main entry points (capacitor, electron, pywebview)
- Improve error handling in API and plan services
- Add type safety to API error handling
- Update build configuration for platform-specific builds

This is a work in progress commit focusing on certificate view improvements
and dependency maintenance. Some type definitions and build configurations
may need further refinement.
2025-02-21 09:47:24 +00:00
Matthew Raymer
3135062c08 fix: disable PWA for Capacitor builds
Updates PWA configuration to:
- Disable PWA features for Capacitor builds
- Add @capacitor/app dependency
- Update environment variable handling in build config

This prevents conflicts between PWA and native app functionality
when building for mobile platforms.

Technical changes:
- Add isCapacitor check to PWA disable logic
- Update VITE_PWA_ENABLED environment variable definition
- Add @capacitor/app to package dependencies
2025-02-18 11:54:42 +00:00
Matthew Raymer
2746b8fe2b refactor: reorganize Vite config into modular files
Split monolithic vite.config.mjs into separate config files:
- vite.config.web.mts
- vite.config.electron.mts
- vite.config.capacitor.mts
- vite.config.pywebview.mts
- vite.config.common.mts
- vite.config.utils.mts

Updates:
- Modify package.json scripts to use specific config files
- Add electron-builder as dev dependency
- Update electron build configuration
- Fix electron resource paths
- Remove old vite.config.mjs and utils.js

This change improves maintainability by:
- Separating concerns for different build targets
- Making build configurations more explicit
- Reducing complexity in individual config files
2025-02-18 11:44:06 +00:00
11a4bbbc8f fix problem when going directly to people-map where the search results disappear 2025-02-17 20:35:05 -07:00
dd8f50a984 bump version and add "-beta" (was 0.4.3 now 0.4.4-beta) 2025-02-17 19:22:03 -07:00
5d5a8a4509 add Discover query param searchPeople to go straight to people map 2025-02-17 19:19:38 -07:00
1bdb3cc3e2 bump version and add "-beta" 2025-02-17 08:55:07 -07:00
Matthew Raymer
61e32dd560 Merge branch 'master' into split_build_process
fix: image server references and test configurations

- Update image server references to use test server by default for local dev
- Fix registration status checks in tests
- Remove verbose console logging
- Update environment configurations for consistent image server usage
- Fix alert handling in contact registration tests
- Clean up component lifecycle logging
- Add clarifying comments about shared image server usage
- Update playwright test configurations for better reliability

This commit ensures consistent image server behavior across environments
and improves test reliability by properly handling registration status
checks and alerts.
2025-02-17 06:36:40 +00:00
b24c1b14ed bump version to 0.4.1 2025-02-16 13:55:46 -07:00
238ed2db13 docs(feed): versioning 0.4.0 2025-02-14 13:49:17 -07:00
479af50f1e deps: updating the nostr-tools version from 2.7.2 to 2.10.4 to fix a bug I was seeing locally 2025-02-14 09:59:47 -07:00
Matthew Raymer
3f69f67f39 fix: resolve nostr-tools typescript type conflicts
- Update type definitions for nostr-tools
- Fix type compatibility issues
- Add missing type declarations
2025-02-14 03:21:48 +00:00
Matthew Raymer
d8c1a84cfe WIP (fix): improve electron build configuration and service worker handling
- Properly disable service workers in electron builds
- Add CSP headers for electron security
- Fix path resolution in electron context
- Improve preload script error handling and IPC setup
- Update build scripts for better electron/capacitor compatibility
- Fix router path handling in electron context
- Remove electron-builder dependency
- Streamline build process and output structure

This change improves the stability and security of electron builds while
maintaining PWA functionality in web builds. Service workers are now
properly disabled in electron context, and path resolution issues are
fixed.
2025-02-12 13:17:25 +00:00
Matthew Raymer
3a5f202da3 commit working index.html 2025-02-12 06:46:16 +00:00
Matthew Raymer
c9f78ae09b feat(electron): improve electron build configuration
- Add dedicated electron build scripts for each platform
- Configure Vite rollup options for electron builds
- Update electron-builder configuration with proper app metadata
- Add clean script and rimraf dependency
- Set proper appId and build settings for production builds
- Enable asar packaging for better security
2025-02-12 03:44:05 +00:00
c8e71abc85 bump version to 0.3.57 2025-02-11 09:13:02 -07:00
0ed1779d4c bump version & add "-beta" 2025-02-07 15:23:12 -07:00
538bdcc920 bump to version 0.3.55 2025-02-07 14:30:53 -07:00
60384e583b bump version to 0.3.54 2025-02-06 20:21:02 -07:00
Matthew Raymer
2a7178db53 Merge changes 2025-02-03 13:27:36 +00:00
267d6e2488 bump version and add "-beta" 2025-01-30 08:53:28 -07:00