Commit Graph
100 Commits
Author SHA1 Message Date
Matthew Raymer 6cb1482b5f chore: updated package-lock and added a README for the test scripts. 2025-03-09 11:10:48 +00:00
Matthew Raymer bfd1aee27c Experimental DID creation and registration 2025-03-05 06:30:32 +00:00
Matthew Raymer 2424d788d1 Merge branch 'deep_linking' of ssh://173.199.124.46:222/trent_larson/crowd-funder-for-time-pwa into deep_linking 2025-03-05 06:08:54 +00:00
Matthew Raymer d14431161a refactor: Improve settings and feed handling in HomeView
- Split feed initialization into separate methods
- Add registration status verification
- Improve error handling and notifications
- Add JSDoc comments for better code documentation
- Make apiServer optional in settings type

The changes improve code organization by:
1. Breaking down monolithic initialization into focused methods
2. Adding proper type safety for optional settings
3. Improving error handling and user feedback
4. Adding clear documentation for methods
5. Separating concerns for feed, contacts and registration
2025-03-05 06:08:08 +00:00
Matthew Raymer bc971056e1 fix: WIP: Update test scripts for DID verification and claim generation
- Add check-did.sh to verify DID registration using admin JWT auth
- Fix JWT signing in generate-test-claim.sh to match uport-credentials format
- Clean up DID extraction in run-deeplink-tests.sh
- Add proper error handling and response parsing

The changes improve test script reliability by:
1. Using consistent JWT signing across scripts
2. Adding ability to verify DID registration status
3. Simplifying DID info extraction
4. Adding better error messages and debug output
2025-03-04 10:20:14 +00:00
Matthew Raymer 69b4b899c9 fix: Implement proper JWT signing in test claim generator
- Add ES256K signature generation for test claims
- Fix signature format to match endorser.ch requirements
- Remove dependency on did_generator.sh for signing
- Improve JWT creation with proper header and payload structure

The changes fix JWT verification issues by:
1. Implementing proper DER to R+S signature conversion
2. Handling secp256k1 private key formatting correctly
3. Using correct base64url encoding for JWT components
4. Adding proper issuer field to JWT payload
2025-03-04 09:12:47 +00:00
Matthew Raymer 02747fb771 feat: Improve test scripts for deep link testing
- Add DID generation and management for testing
- Create .generated directory for test artifacts
- Add environment variable support for test configuration
- Improve deep link test script with better URL handling
- Add print/execute modes for testing with/without device

The changes improve the testing workflow by:
1. Generating and managing test DIDs automatically
2. Storing test artifacts in .generated directory (gitignored)
3. Adding proper URL encoding for deep links
4. Supporting both print mode for debugging and execute mode for device testing
5. Adding better error handling and validation
2025-03-04 09:01:05 +00:00
Matthew Raymer 3dae8f7f7f feat: Add environment variable support for DID registration
- Bash implementation of DID creation-registration
- Move admin credentials to .env file for better security
- Add .env.example with default values
- Add dotenv support to TypeScript, Python and Bash implementations
- Update dependencies to include dotenv packages
- Fix JWT signature format in Bash implementation
- Add DER signature parsing for ES256K in Bash script

The admin DID and private key can now be configured via environment
variables, with fallback to default values if not set. This allows
for easier testing and deployment across different environments.
2025-03-04 06:27:20 +00:00
Matthew Raymer 9e6f0ab468 feat: Improve DID registration with admin credentials
- Add admin keypair (DID + private key) for proper registration signing
- Remove SQLite database dependency for admin DID lookup
- Update both TypeScript and Python implementations to use admin credentials
- Enhance documentation with detailed usage, options, and security notes
- Fix JWT signing to use admin's key as issuer
- Standardize API URL handling with defaults
- Add command-line options for admin DID and API URL override

Both implementations now successfully register new DIDs using the admin's
credentials to sign the registration claims. The admin acts as both the
agent in the claim and the issuer of the JWT.
2025-03-04 05:59:10 +00:00
Matthew Raymer 4fcbb78450 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
Matthew Raymer f6802cd160 refactor: improve router type safety and usage
- Add explicit Router type imports across views
- Replace $router type casting with proper typing
- Use $router.back() instead of $router.go(-1) for consistency
- Add proper route and router typings to components
- Clean up router navigation methods
- Fix router push/back method calls

This commit improves type safety and consistency in router usage across
the application's view components.
2025-02-26 06:50:08 +00:00
Matthew Raymer a8e15804a6 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 caabaa3257 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
Matthew Raymer e2b7797e2d chore: add new playwright test results to .gitignore 2025-02-17 05:43:21 +00:00
Matthew Raymer a66093028e docs(tests): Add comprehensive test suite documentation
- Add detailed header documentation to playwright tests
- Document test categories and flows
- Add key selector documentation
- Document state verification and alert handling
- Include code examples and usage patterns
- Add important checks and requirements

The documentation helps developers understand the foundational tests that verify
basic application functionality before running more complex test suites.
2025-02-16 03:29:22 +00:00
Matthew Raymer f07a2de565 fix(tests): Improve gift recording test reliability
- Add better error handling and logging for gift recording flow
- Add explicit navigation to contacts page before finding gift button
- Add info icon click handling when needed
- Add more comprehensive button detection with multiple selectors
- Add debug logging for page state and navigation
- Add screenshot capture on failures
- Add retry logic with proper state verification
- Fix linter errors in playwright config

The changes help diagnose and handle various UI states that can occur during gift recording, making the tests more reliable especially on Linux.
2025-02-15 07:53:48 +00:00
Matthew Raymer a5c86fbc53 feat: improve test stability and API routing
- Add proxy configuration for API requests in dev/test
- Target default endorser API server in development
- Add proxy for /api endpoints to handle CORS
- Enhance contact management test reliability
- Add comprehensive error handling and debugging
- Extract test helper functions

Breaking: None
2025-02-14 10:27:01 +00:00
Matthew Raymer 11d1fae35a refactor(tests): enhance contact management test reliability
- Add comprehensive error handling with try-catch blocks
- Add TypeScript type annotations for Page parameters
- Add debug logging for test troubleshooting
- Add retry logic for flaky operations
- Add API request routing for port conflicts
- Add detailed JSDoc documentation
- Extract helper functions for better maintainability
- Add timeout constants for different operations
- Improve error messages with better context
- Add load state handling for network operations
2025-02-14 10:01:12 +00:00
Matthew Raymer 8eabf76f56 fix: add missing DEFAULT_PARTNER_API_SERVER import in DiscoverView
- Import DEFAULT_PARTNER_API_SERVER constant from app constants
- Fix missing import in DiscoverView component
2025-02-14 08:12:35 +00:00
Matthew Raymer fa15f7da85 fix: remove navigator.serviceWorker redefinition in Vite config
The previous configuration attempted to redefine the read-only navigator.serviceWorker
property, which caused runtime errors. Instead, we now handle service worker
availability through the transform plugin, which safely removes service worker
code in Electron and PyWebView builds.

This fixes the error:
"Cannot set property serviceWorker of #<Navigator> which has only a getter"

Technical changes:
- Removed navigator.serviceWorker from define section
- Rely on existing transform plugin to handle service worker code removal
- Maintains existing PWA functionality for web builds while properly
  disabling it for desktop builds
2025-02-14 03:31:03 +00:00
Matthew Raymer 1045266310 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 12025d6f21 chore: update in preparation for production mode 2025-02-13 07:29:08 +00:00
Matthew Raymer 16bc47921d chore: linting for build 2025-02-13 06:59:06 +00:00
Matthew Raymer 9a966ef04d fix: add Content Security Policy for Electron API connections
- Add CSP headers to allow connections to endorser.ch and timesafari.app APIs
- Configure secure content policies for images, scripts, styles and fonts
- Fix API connection errors by allowing required external resources
- Remove duplicate CSP header configuration
2025-02-13 06:56:35 +00:00
Matthew Raymer de017d1a71 docs: update electron build instructions and fix electron asset paths
- Add web build prerequisite step to electron build docs
- Update electron run command to use npx
- Fix electron asset loading with improved path handling
- Add request interception for proper asset resolution
- Remove service worker files from electron build
- Improve debug logging for electron builds
2025-02-13 06:43:54 +00:00
Matthew Raymer a288496dcf docs: enhance BUILDING.md with environment and deployment details
- Add environment configuration section with .env templates for dev/test/prod
- Add deployment instructions for test and production servers
- Add version management workflow steps
- Add troubleshooting section for common build issues
- Improve documentation organization and completeness
2025-02-13 04:53:40 +00:00
Matthew Raymer 4e0f9235cd docs: move build instructions from README to BUILDING.md
- Move detailed setup and build instructions from README.md to BUILDING.md
- Add concise reference to BUILDING.md in README.md
- Keep testing and other documentation in README.md
- Improve organization of documentation by separating build-specific content
2025-02-13 04:48:18 +00:00
Matthew Raymer e6138bd0e2 fix: improve electron asset path handling
- Add extraResources config to package.json to properly include www directory
- Update path rewriting in build-electron.js to handle all asset types
- Fix modulepreload and stylesheet paths in index.html
- Improve path handling in main.js for packaged app
- Clean up file protocol handling and service worker management

This fixes the issue with assets not loading in the packaged Electron app
by ensuring all paths are correctly rewritten to reference the www directory
in the app resources.
2025-02-12 07:47:18 +00:00
Matthew Raymer 47a28ff7ad commit working index.html 2025-02-12 06:46:16 +00:00
Matthew Raymer 562b27851c 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
Matthew Raymer b1ba3935e6 docs: add comprehensive build instructions for all platforms
Add detailed build instructions for web, desktop (Electron), and mobile
(Capacitor) platforms. Include prerequisites, setup steps, and platform-specific
build commands. Add sections for testing, linting, and development workflows.
Document build output directories and PWA features.
2025-02-11 07:33:49 +00:00
Matthew Aaron Raymer 1ee6203f4c Small package update 2023-12-01 17:14:17 +08:00
Matthew Aaron Raymer d93299c352 Update worker dependencies 2023-12-01 17:04:14 +08:00
Matthew Aaron Raymer 9aea7a576d Merging the workflow 2023-12-01 17:03:19 +08:00
Matthew Aaron Raymer 7f0f1b7fc8 Merging changes 2023-11-08 14:47:48 +08:00
Matthew Raymer cfc4d0a947 Updates package file 2023-11-07 21:12:49 +08:00
Matthew Raymer a820a7b131 Minor formatting changes 2023-11-07 21:01:37 +08:00
Matthew Raymer 082a6eae1f Refactor db setup a bit 2023-10-16 18:49:18 +08:00
Matthew Raymer 2c4a920c3c Updates for web push workflow 2023-09-08 21:04:50 +08:00
Matthew Raymer ed91cadd9d Added permission step; UI workflow documentation 2023-09-07 20:42:15 +08:00
Matthew Raymer a6de282aec Another upgrade of package.json 2023-09-07 18:31:55 +08:00
Matthew Raymer 3bbb138299 Merge branch 'new-web-push' of ssh://173.199.124.46:222/trent_larson/kick-starter-for-time-pwa into new-web-push 2023-09-07 18:09:50 +08:00
Matthew Raymer 5b5c631001 Fix typing errors from the refactoring 2023-09-07 18:07:53 +08:00
Matthew Raymer 2fba7f2a55 Merge branch 'new-web-push' of ssh://173.199.124.46:222/trent_larson/kick-starter-for-time-pwa into new-web-push 2023-09-06 20:49:23 +08:00
Matthew Raymer 31d13b9143 Refactoring for cleanup 2023-09-06 20:46:16 +08:00
Matthew Raymer 852bd93f3f New branch for cleanup and web push 2023-09-05 21:25:04 +08:00
Matthew Raymer fd43da93a5 A whole lot of cleaning going on 2023-09-04 20:44:00 +08:00
Matthew Raymer 5501ac1a2f Many fixes -- especially and endorserServer 2023-09-03 21:08:30 +08:00
Matthew Aaron Raymer b514d64068 Type fixes 2023-09-02 18:15:30 +08:00
Matthew Aaron Raymer c4537420b4 Merge branch 'search-bbox' of ssh://173.199.124.46:222/trent_larson/kick-starter-for-time-pwa into search-bbox 2023-09-02 17:09:58 +08:00
Matthew Aaron Raymer 5f50338dd0 We have to remove the decorator in package -- it breaks install 2023-09-02 17:09:41 +08:00
Matthew Raymer 3f7bcbfd76 Added unsubscribe and mute 2023-08-28 19:57:47 +08:00
Matthew Aaron Raymer f1b3094026 Added a bit more of the workflow on the client side 2023-08-26 16:27:43 +08:00
Matthew Raymer e5ad87f4d5 Updates to web push guide 2023-08-25 21:45:55 +08:00
Matthew Raymer 7de6171911 Notes on service worker for development of web push 2023-08-24 21:21:15 +08:00
Matthew Raymer bb6bacac97 Some notes on web-push nuts and bolts 2023-08-24 21:01:31 +08:00
Matthew Raymer 40fc6a29a4 Small fix 2023-08-24 18:49:06 +08:00
Matthew Raymer 9ec19fa4ee Added a quick fix to console signing. Need to edit text later 2023-08-24 18:46:33 +08:00
Matthew Aaron Raymer bfd2498906 Merge branch 'master' of ssh://173.199.124.46:222/trent_larson/kick-starter-for-time-pwa 2023-08-07 16:33:47 +08:00
Matthew Aaron Raymer 4933017e9c Merge remote-tracking branch 'origin/cleanup-and-qr-code' 2023-08-07 16:33:37 +08:00
Matthew Aaron Raymer 18c23451bb Merge remote-tracking branch 'origin/contact-amounts-ui-improvements' 2023-08-07 16:10:34 +08:00
Matthew Aaron Raymer 304985f88d Merge remote-tracking branch 'origin/polish-ui-project-view' 2023-08-07 16:08:48 +08:00
Matthew Aaron Raymer 9a41aff8f0 Merge remote-tracking branch 'origin/jdenticon-entity-photos' 2023-08-07 15:59:47 +08:00
Matthew Aaron Raymer e19cd980b4 Merging with corrections 2023-08-07 15:54:06 +08:00
Matthew Raymer c4443f2ed1 Added error handling and new alerts in DiscoverView 2023-07-20 16:36:33 +08:00
Matthew Raymer c502869c5f Add button with gift icon for future dialog 2023-07-19 18:41:12 +08:00
Matthew Raymer b7aacd63e6 Add and edit project tasks list 2023-07-19 18:26:59 +08:00
Matthew Raymer 5bc0e27b30 Use a DID instead of a name ... this may need some better design on the dialog @jose 2023-07-19 18:25:58 +08:00
Matthew Raymer a4fe94f081 Add a back arrow 2023-07-19 18:25:03 +08:00
Matthew Raymer 8de95566df Cleaning up this page to switch to GiftedDialog 2023-07-19 18:23:55 +08:00
Matthew Raymer 97569697f6 * show DID if no name
* hide no contacts when there are no contacts
* replace contact property with giver (? can you have another contact give you something ?)
2023-07-19 18:22:35 +08:00
Matthew Raymer b9ed9d748b Only project owner may see edit button of a project 2023-07-19 18:19:29 +08:00
Matthew Raymer 790d44db81 Remove the stub context menu causing vertical ellipsis 2023-07-19 16:30:56 +08:00
Matthew Raymer 6e3066ae92 Stub update of project task list 2023-07-18 21:04:48 +08:00
Matthew Raymer e8eae544f3 Merge remote-tracking branch 'origin/no-accounts-in-memory' 2023-07-18 18:50:55 +08:00
Matthew Raymer 47ade49e31 Cleanup after some testing 2023-07-14 20:29:38 +08:00
Matthew Raymer 4ecea1ab0e Add a special page for seeing all contacts to gift 2023-07-14 18:12:39 +08:00
Matthew Raymer b9fdc920ea Remove the old identity management. Update project tasks 2023-07-13 18:13:41 +08:00
Matthew Aaron Raymer 0907d59a6a Remove form tags 2023-07-13 16:06:09 +08:00
Matthew Raymer f428199228 Redirect to account tab after switching identity 2023-07-12 19:12:31 +08:00
Matthew Raymer 1405b88323 Functional Identity Management 2023-07-12 18:47:21 +08:00
Matthew Raymer 52d411470e Send back to Jose for some list magic 2023-07-12 16:11:35 +08:00
Matthew Raymer 7a4ceaa455 Adding Identity Management stubs 2023-07-12 15:16:07 +08:00
Matthew Raymer 1d362c314b Beginning of integration. Seems the data coming back from local and remote are different? 2023-07-11 18:31:58 +08:00
Matthew Raymer 3f13d3ea33 CLeanup header creation 2023-07-10 19:03:20 +08:00
Matthew Raymer cef346e487 Move almost all interfaces to endorserServer.ts 2023-07-10 18:45:50 +08:00
Matthew Raymer fed23a61ee Remove HelloWorld and do sweeping 2023-07-10 18:20:13 +08:00
Matthew Raymer b6b7c56157 DiscoverView searches almost done.
Contact fixes
ContactAmounts fix quick-nav
Cleaning up ProjectView still more to do
Hide advanced by default on StatisticsView
project.task updated
2023-07-10 18:03:51 +08:00
Matthew Raymer c61bb88788 More cleanup from project task list 2023-07-08 18:42:53 +08:00
Matthew Raymer 3bd55f3ad2 More cleanup and application of new db loading 2023-07-08 18:31:12 +08:00
Matthew Raymer 3471afdf25 Cleaned up messages and improved the accountsDB lookups 2023-07-08 17:39:20 +08:00
Matthew Raymer e25a83ff1b Move account counter to mounted event 2023-07-08 17:19:52 +08:00
Matthew Raymer 0fbdb45d3e Project Task update 2023-07-07 20:33:43 +08:00
Matthew Raymer dc23ba1375 Fix a bug in HomeView and clean up recordGive method 2023-07-07 18:43:16 +08:00
Matthew Raymer 08137eb000 Updates to contacts UI. Sweep for buildIdentity and buildHeaders 2023-07-07 18:28:06 +08:00
Matthew Raymer 5d49965166 Simple fix. Missing reference to QuickNav 2023-07-07 16:22:53 +08:00
Matthew Raymer 5dc80ce12a A bit more cleanup. Problem in Contacts to resolve. 2023-07-06 18:33:13 +08:00
Matthew Raymer 754bced2a9 Considerable cleanup. I think I also found the issue from the other day with values not loading from settings. 2023-07-06 18:12:21 +08:00
Matthew Raymer e3f58bd593 Purge all vue-class-component with vue-facing-decorator.
Make some strike-throughs for project-task
Update package.json
2023-07-06 17:28:08 +08:00
Matthew Raymer 3b41014083 Considerable cleanup and merge 2023-07-06 16:59:50 +08:00