Matthew Raymer 67cf77a6fb refactor(qr): improve QR scanner robustness and lifecycle management
- Add cleanup promise to prevent concurrent cleanup operations
- Add proper component lifecycle tracking with isMounted flag
- Add isCleaningUp flag to prevent operations during cleanup
- Add debug level logging for better diagnostics
- Add structured error logging with stack traces
- Add proper error handling in component initialization
- Add proper cleanup of event listeners and camera resources
- Add proper handling of app pause/resume events
- Add proper error boundaries around camera operations
- Improve error message formatting and consistency

The QR scanner now properly handles lifecycle events, cleans up resources,
and provides better error diagnostics. This improves reliability on mobile
devices and prevents potential memory leaks.
2025-04-22 11:26:27 +00:00
2024-07-18 19:55:57 +08:00
2025-04-03 17:55:59 -06:00
2024-07-19 17:59:54 -06:00
2022-11-16 14:48:22 +08:00
2025-04-07 06:43:56 +00:00
2024-12-08 21:22:03 -07:00
2025-04-22 07:48:04 +00:00
2025-03-16 16:48:01 -06:00
2022-11-27 14:16:57 +08:00

TimeSafari.app - Crowd-Funder for Time - PWA

Time Safari allows people to ease into collaboration: start with expressions of gratitude and expand to crowd-fund with time & money, then record and see the impact of contributions.

Roadmap

See project.task.yaml for current priorities. (Numbers at the beginning of lines are estimated hours. See taskyaml.org for details.)

Setup & Building

Quick start:

npm install
npm run dev

See BUILDING.md for more details.

Tests

See TESTING.md for detailed test instructions.

Icons

To add an icon, add to main.ts and reference with fa element and icon attribute with the hyphenated name.

Other

Reference Material

  • Notifications can be type of toast (self-dismiss), info, success, warning, and danger. They are done via notiwind and set up in App.vue.

  • Customize Vue configuration.

  • If you are deploying in a subdirectory, add it to publicPath in vue.config.js, eg: publicPath: "/app/time-tracker/",

Kudos

Gifts make the world go 'round!

Description
timesafari
Readme 51 MiB
Languages
Vue 59.9%
JavaScript 25.2%
TypeScript 14.7%