Commit Graph

319 Commits

Author SHA1 Message Date
4327a5175c fix more logic for tests (cherry-picked from 83acb028c7) 2025-06-07 17:42:06 -06:00
8c42166d36 fix some incorrect logic & things AI hallucinated 2025-06-07 17:39:10 -06:00
9760f02aab fix linting 2025-06-07 17:19:01 -06:00
987f9217de Merge branch 'sql-absurd-sql-back' 2025-06-07 17:18:10 -06:00
5cbb42ff4f Merge branch 'search-map-fix' 2025-06-07 16:43:49 -06:00
a694d0dba3 update messaging for unknown icons on home feed 2025-06-07 16:23:07 -06:00
737c8c4fa7 fix verbiage and fix the contact actions to be on the right-hand side 2025-06-07 16:03:47 -06:00
b2628c467f fix linting 2025-06-07 15:40:52 -06:00
d5501d9db1 fix a non-existent description, move the description right below the image 2025-06-07 15:33:29 -06:00
Matthew Raymer
b9223d7fe2 feat(export): Replace CSV export with standardized JSON format
- Add contactsToExportJson utility function for standardized data export
- Replace CSV export with JSON format in DataExportSection
- Update file extension and MIME type to application/json
- Remove Dexie-specific export logic in favor of unified SQLite/Dexie approach
- Update success notifications to reflect JSON format
- Add TypeScript interfaces for export data structure

This change improves data portability and standardization by:
- Using a consistent JSON format for data export/import
- Supporting both SQLite and Dexie databases
- Including all contact fields in export
- Properly handling contactMethods as stringified JSON
- Maintaining backward compatibility with existing import tools

Security: No sensitive data exposure, maintains existing access controls
2025-06-07 05:02:33 +00:00
Jose Olarte III
c056eb1188 Adjusted iOS-specific paddings
- Switched to CSS max() for proper conditional padding when dealing with screens that have a notch, dynamic island, gesture bar, etc.
- Top padding should now appear more compact in iOS
2025-06-06 18:14:56 +08:00
3f10833d79 fix SQL references to bad "key" -> "id" 2025-06-05 20:11:32 -06:00
Jose Olarte III
2137dd2c11 Clickable person & project icons
- Known entities get routed to their corresponding detail views
- Unknown entities pop up a notification
2025-06-02 21:35:15 +08:00
Jose Olarte III
ce2a27f691 Icon for hidden DID entity
- Display EntityIcon for known entities, eye-slash icon for hidden entities, and the person-question icon for unknown entities
- Design tweaks (spacings, mostly)
2025-06-02 17:44:37 +08:00
Matthew Raymer
1d1b37125d merge(master): big merge for qrcode-reboot 2025-06-02 03:57:00 +00:00
Jose Olarte III
6fb421c0e1 Change heading based on crop flag 2025-05-28 16:32:41 +08:00
Jose Olarte III
69abb67ea0 Better error handling for image upload 2025-05-28 16:17:49 +08:00
8092d1c576 convert all remaining DB writes & reads to SQL (with successful registration & claim) 2025-05-27 21:07:24 -06:00
Jose Olarte III
bacf1ef98f Mobile native to use web camera
- Ensure consistent UI experience for uploading photos across mobile web and native
2025-05-27 17:46:19 +08:00
Jose Olarte III
033ef2297d Feature: context-based default camera
- Specify the default camera (front / back) to use
2025-05-27 15:37:45 +08:00
3f691ef880 add SQL DB access to everywhere we are using the DB, up to the "C" files 2025-05-27 01:27:04 -06:00
2d654b4586 fix linting 2025-05-26 22:56:00 -06:00
fe77dbdcdd add encryption & decryption for the sensitive identity & mnemonic in SQL DB 2025-05-26 22:42:20 -06:00
Jose Olarte III
aeb771f619 Linting 2025-05-26 19:23:41 +08:00
Jose Olarte III
cb82846593 Feature: front/back camera toggle
- Added to gifting and profile dialog camera for now. Toggle button is hidden in desktop.
- WIP: same feature for QR scanner camera.
- WIP: ability to specify default camera depending on where it's called.
2025-05-26 19:23:28 +08:00
26fba66bba fix linting 2025-05-25 20:48:33 -06:00
c14c2d173e add DB setup with migrations 2025-05-25 11:06:30 -06:00
6677a0fef2 tweak messages & commentary 2025-05-24 20:55:54 -06:00
e49ddffd54 don't export 0s for undefined values! 2025-05-23 11:06:37 -06:00
Jose Olarte III
40f0c163ee Fix: limit image crop stage height
- Addresses issue when extra-tall portrait images are uploaded for cropping
2025-05-23 17:25:22 +08:00
Matt Raymer
10df60316a Remove ContactScanView and rename ContactQRScanView to ContactQRScanFullView
- Deleted ContactScanView.vue and its route from the router.
- Renamed ContactQRScanView.vue to ContactQRScanFullView.vue.
- Updated all router paths, names, and references for consistency.
- Fixed related links and imports to use the new view/component name.
2025-05-21 05:17:25 -04:00
Jose Olarte III
c692f4dca7 Restored diagnostics repositioning 2025-05-21 16:39:21 +08:00
Matt Raymer
2b1c8b95a1 Only request camera permissions on user gesture in ImageMethodDialog
- Removed automatic call to startCameraPreview() from mounted() lifecycle hook
- Camera preview (and permission prompt) now only starts in open(), triggered by user action
- Prevents unnecessary permission prompts on page load and improves UX
2025-05-21 03:48:57 -04:00
Jose Olarte III
43eb7075f9 Repositioned diagnostics over camera preview 2025-05-21 15:02:30 +08:00
Jose Olarte III
fb495a7680 Restrict camera height in portrait mode 2025-05-21 14:49:29 +08:00
Matt Raymer
db5abb5b1f Remove temporary alert() debug calls from ImageMethodDialog camera preview
- Cleaned up all alert() calls used for diagnosing camera access issues on mobile browsers
- Camera preview now starts without pop-up interruptions
- Retained logging and user notifications for error handling and diagnostics
2025-05-21 02:23:52 -04:00
Matt Raymer
e6d8aeeeb5 fix: update Alpine version to 3.20 for stable package repositories
- Change base image from node:22-alpine to node:22-alpine3.20
- Resolves package installation issues with Alpine 3.21 repositories
- Ensures stable access to build dependencies (python3, gcc, etc.)

This change fixes the Docker build process by using a more stable
version of Alpine Linux that has reliable package repositories.
2025-05-20 23:07:49 -04:00
Jose Olarte III
04843f3b0c Fix linting errors 2025-05-20 21:35:42 +08:00
Jose Olarte III
c20a0fa330 Design: polished dialog UI 2025-05-20 20:54:42 +08:00
Matt Raymer
df8acefeff style: improve code formatting and readability
- Format Vue template attributes and event handlers for better readability
- Reorganize component props and event bindings
- Improve error handling and state management in QR scanner
- Add proper aria labels and accessibility attributes
- Refactor camera state handling in WebInlineQRScanner
- Clean up promise handling in WebPlatformService
- Standardize string quotes to double quotes
- Improve component structure and indentation

No functional changes, purely code style and maintainability improvements.
2025-05-20 01:15:47 -04:00
Jose Olarte III
f3d4d0953b Fix: current photo dialog 2025-05-19 18:50:08 +08:00
Matt Raymer
36b755e859 feat(ui): disable all photo upload actions for unregistered users
- Updated ImageMethodDialog.vue to accept an isRegistered prop and show "Register to Upload a Photo" message instead of upload UI when not registered.
- Updated AccountViewView.vue to pass isRegistered to ImageMethodDialog and replace all profile photo add/upload buttons with the same message for unregistered users.
- Ensures consistent UX and prevents unregistered users from accessing any photo upload features.
2025-05-14 05:39:03 -04:00
901659f406 add logger import where needed 2025-05-13 22:22:19 -06:00
3600e894d4 update with lint-fix 2025-05-13 20:11:34 -06:00
7517ac583d add projectLink to onboarding meeting, plus enhancements to setup usability 2025-05-13 19:36:23 -06:00
776cf14bf8 remove ability to mark a 'trade', ensuring this only sends & retrieves gifts 2025-05-09 21:37:48 -06:00
Jose Olarte III
d29156bb13 Safe area implementation for iOS
Dynamic padding to clear certain iOS UI elements such as the notch, dynamic island and gesture bar, to ensure they don't overlap with our own UI elements.
2025-05-08 20:11:45 +08:00
Matt Raymer
151bbc5467 chore: updates for qr code reader rules, linting, and cleanup 2025-05-07 01:57:18 -04: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
Matt Raymer
254f14dc72 refactor: replace console.log with logger utility
- Replace all console.log statements with appropriate logger methods in QRScannerDialog.vue
- Replace console.log statements with logger methods in WebDialogQRScanner.ts
- Fix TypeScript type for failsafeTimeout from 'any' to 'unknown'
- Update LogCollector.ts to use 'unknown' type instead of 'any'
- Add eslint-disable comments for console overrides in LogCollector

This change improves logging consistency across the application by using the centralized logger utility, which provides better error handling, log persistence, and environment-aware logging.
2025-04-29 23:22:10 -04:00