Commit Graph

30 Commits

Author SHA1 Message Date
Cursor Agent aa1bf1b21f Harden scanner startup and defer polyfill loading
- Fix waitForVideoReady race by re-checking after listeners and timing out
- Serialize iOS native scans with an in-flight guard and chained timeouts
- Lazy-load @undecaf/barcode-detector-polyfill only when scanning starts

Co-authored-by: Ned Halksworth <hello@nedhalksworth.com>
2026-05-27 22:01:48 +00:00
Cursor Agent 64584315e5 Fix barcode scanner on iOS Safari
iOS WebKit does not provide a reliable native Barcode Detection API, and
ZXing often failed due to strict camera constraints and video startup timing.

- Install @undecaf/barcode-detector-polyfill (ZBar WASM) on Apple devices
- Fall back through progressively looser getUserMedia constraints
- Wait for video metadata/playback before decoding frames
- Throttle native scans on iOS and tune ZXing retry intervals
- Defer scanner startup until the modal video element is mounted

Co-authored-by: Ned Halksworth <hello@nedhalksworth.com>
2026-05-27 19:51:08 +00:00
Ned Halksworth 4e5fa5d42e fix: fix fact the app stopped working for goodness sake 2026-05-27 19:10:57 +01:00
Ned eaef89f484 fix: remove OAuth login, fix JSX structure and sendPrompt/useMemo merge from ui-redo 2026-05-27 17:33:44 +00:00
Ned Halksworth b57240136a Merge pull request #1 from nh9961/ui-redo
UI redo + remove broken OAuth
2026-05-27 18:20:25 +01:00
Ned Halksworth 94a10ecec4 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-27 18:19:44 +01:00
Ned c22945cd4e fix: remove broken OAuth login, scrub hardcoded project ID 2026-05-27 16:40:06 +00:00
Ned Halksworth 23801f79d4 add mit license 2026-05-27 16:40:06 +00:00
Ned Halksworth 7bc92a92d7 tidy build config and deps
strip ollama proxy from vite, add deployment html injection plugin,
bump zxing dep for barcode scanning, ignore deploy artifacts
2026-05-27 16:40:06 +00:00
Ned Halksworth add2586cb1 rebuild theme system and restyle ui
flatten themes to 3 colors without categories, rewrite css in vanilla layers,
simplify onboarding flow, tighten greeting punctuation, adjust viewport meta
2026-05-27 16:40:06 +00:00
Ned Halksworth cbdd98e133 rework app shell, strip coach hooks, wire barcode flow
rename state vars throughout, add barcode scanner trigger and draft flow,
drop coach navigation and session, add ForecastPoint type
2026-05-27 16:40:06 +00:00
Ned Halksworth ea8b10a81f wire up barcode scanning with zxing
scanner modal, product preview, verified catalog with 12 red bull barcodes,
appwrite-backed user mappings, lookup pipeline with known/user/partial/unknown result
2026-05-27 16:40:06 +00:00
Ned Halksworth cb375adbd6 swap coach table for barcode products in appwrite
replace chat collection with barcode_products table, seed verified products,
drop ollama env vars and types, prune setup docs
2026-05-27 16:40:06 +00:00
Ned Halksworth 4c7d719e02 rm coach chat and ollama proxy
drop coach panel, session, chat store, and the limitsSummaryForCoach helper
2026-05-27 16:40:06 +00:00
Ned Halksworth 08372febfe feat: enhance Appwrite integration and chat functionality
- Added support for encrypted coach chats with a new `coach_chats` collection in the Appwrite database.
- Updated `.env.example` to include `OLLAMA_API_KEY`, `OLLAMA_MODEL`, and `APPWRITE_API_KEY` for server-side configurations.
- Introduced a setup script in `package.json` for initializing Appwrite database tables.
- Enhanced the Vite configuration to proxy requests to the Ollama API.
- Updated the main application structure to accommodate new chat features and improved theme management.
- Refined CSS styles for better UI consistency and added new components for chat functionality.
2026-05-27 16:40:02 +00:00
Ned Halksworth bd3e970286 intial commit 2026-05-27 16:40:02 +00:00
Ned 012b900716 fix: require VITE_APPWRITE_PROJECT_ID at build time, fix TypeScript types 2026-05-27 15:19:05 +00:00
Ned 5cbe8f0b13 fix: remove broken OAuth login, scrub hardcoded project ID, prep for public release 2026-05-27 13:42:21 +00:00
Ned 18983b8d36 docs: add README for public release 2026-05-27 13:36:33 +00:00
9961 90bae9cbd4 Merge pull request 'feat: integrate barcode scanning functionality and create AGENTS.MD' (#2) from barcode into main
Reviewed-on: #2
2026-05-27 13:34:14 +00:00
Ned Halksworth ec9ea9d1f9 feat: integrate barcode scanning functionality and enhance Appwrite setup
- Added a new `barcode_products` collection to the Appwrite setup for managing barcode data.
- Implemented barcode scanning feature with a dedicated modal for scanning and adding products.
- Introduced new components for barcode product preview and management.
- Updated the setup script to seed verified barcode products from a JSON file.
- Enhanced the application state management to handle barcode-related actions and user interactions.
2026-05-27 14:29:22 +01:00
Ned Halksworth 38deca4562 feat: add AGENTS.MD and CLAUDE.MD 2026-05-27 14:28:46 +01:00
Ned Halksworth 1a282543e4 feat: update login and signup process 2026-05-23 22:01:25 +01:00
Ned Halksworth 0db81bddd5 feat: implement user limits and onboarding features
- Added user limits management with daily can and spend limits.
- Integrated onboarding flow to guide users through setting limits.
- Enhanced greeting messages to reflect user limits and violations.
- Updated CSS for new limit-related components and improved UI consistency.
- Refactored coach session to utilize user limits in interactions.
2026-05-23 21:17:36 +01:00
9961 2be7609172 Merge pull request 'Refactor coach to plain Appwrite storage with integrated overview UI.' (#1) from cursor/coach-integration-plain-storage into main
Reviewed-on: #1
2026-05-23 19:25:53 +00:00
Ned Halksworth dc9fbf496d Refactor coach to plain Appwrite storage with integrated overview UI.
Remove client-side encryption, migrate coach_chats schema, fix the Ollama proxy, and embed coach on overview alongside the dedicated tab.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-23 20:25:21 +01:00
Ned d312321ffa feat: refactor coach chat to ChatGPT-style Material You design
- Replaced Gemini-style glass/blue aesthetic with clean Material You pink theme
- ChatGPT-style message layout: user right-aligned, coach left-aligned with avatars
- User avatar shows initials, coach avatar shows brain icon
- Chat bubble design: rounded cards matching app theme (no glass/blur effects)
- Clean textarea input with Enter to send, Shift+Enter for newlines
- ChatGPT-style empty state with suggestion chips
- Typing indicator with bouncing dots animation
- Sidebar uses Material You surface/container colors
- Status bar shows model name and ready/thinking state
- Error messages styled as Material You error containers
- Bottom hint text: 'coach can make mistakes'
- All colors use CSS custom properties for accent theme consistency
2026-05-22 22:01:26 +00:00
Ned Halksworth 084acfa84a feat: enhance Appwrite integration and chat functionality
- Added support for encrypted coach chats with a new `coach_chats` collection in the Appwrite database.
- Updated `.env.example` to include `OLLAMA_API_KEY`, `OLLAMA_MODEL`, and `APPWRITE_API_KEY` for server-side configurations.
- Introduced a setup script in `package.json` for initializing Appwrite database tables.
- Enhanced the Vite configuration to proxy requests to the Ollama API.
- Updated the main application structure to accommodate new chat features and improved theme management.
- Refined CSS styles for better UI consistency and added new components for chat functionality.
2026-05-22 22:39:38 +01:00
Ned Halksworth 1c279ccb6c feat: update typography and color scheme; integrate Google Sans fonts
- Replaced "SF Pro Text" and related fonts with "Google Sans", "Google Sans Text", and "Product Sans" in CSS and Tailwind configuration.
- Adjusted color variables for primary, secondary, and error states to enhance UI consistency.
- Modified background colors and button styles for improved aesthetics and usability.
- Introduced new utility classes for layout and component styling in the CSS.
2026-05-15 23:22:12 +01:00
Ned Halksworth f108214df8 intial commit 2026-05-15 21:36:13 +01:00