• Joined on 2025-02-27
sam pushed to main at sam/where_woof 2026-08-10 14:13:20 +10:00
b14341e344 fix: admin photo fields -> TextInput + ImageColumn (FileUpload foreach 500 gone); user upload syncs photo_url input so Save keeps the photo; ProductResource photo added
sam pushed to main at sam/where_woof 2026-08-10 14:01:57 +10:00
bcf6f3115d fix: admin FileUpload single-path columns (array state + dehydrate — was foreach error = admin edit 500); user photo upload targets thumb div only so the form/button survives re-uploads
sam pushed to main at sam/where_woof 2026-08-10 13:51:51 +10:00
f38beb4cfe fix: user tag edit photo upload — standalone form (was nested inside main form, invalid HTML), thumbnail on success; restore sms_enabled on tag 6; admin upload accepts HEIC (no image() rule)
sam pushed to main at sam/photo-pipeline 2026-08-10 13:37:04 +10:00
af433d7f7f merge_orphans --apply: 56 approved orphans moved to by_date (EXIF-routed), verified 43+ in place
sam pushed to main at sam/where_woof 2026-08-10 13:14:48 +10:00
23508fc468 fix: Edit link navigates to the full tag edit page (was intercepted by hx-get inline); admin upload limits raised (12M via php -d) + FileUpload maxSize 10MB — fixes 'failed to upload' on phone photos
sam pushed to main at sam/where_woof 2026-08-10 13:04:45 +10:00
e38128c33f fix per feedback: remove home recent-scans; admin dashboard recent-scans -> tag edit links + item column; inline tag edit gets photo upload; explicit deploy sync (no dir-rsync flakiness)
sam pushed to main at sam/where_woof 2026-08-10 12:52:53 +10:00
83d75cb29f home: recent-scans list (links + tag ids); admin tags: item_type column, searchable tag code/description/owner; admin photo upload: drop imageEditor (unbundled JS); owner edit photo upload confirmed
sam pushed to main at sam/where_woof 2026-08-10 12:27:22 +10:00
9158681001 fix batch: admin login rehash->password_hash mapping (500); geolocation timeout 20s + hide button on approval + 'location shared' notice; sms: link includes typed number (Alpine); location page = found-dog + map + finder number + tag details; nicer closed page; password visibility toggles; product photos; templates use x-text (no {{}} in Alpine)
sam pushed to main at sam/where_woof 2026-08-10 12:00:10 +10:00
b5db858ef8 fix: seed-admin emits $2y$ bcrypt prefix so Laravel admin login works (was $2a$ -> 500 'does not use the Bcrypt algorithm')
sam pushed to main at sam/where_woof 2026-08-10 11:52:01 +10:00
ae231c97f6 compat: /index.php?productid= legacy URL form redirects to /t/{code} (covers old printed QR URLs)
sam pushed to main at sam/where_woof 2026-08-10 11:36:13 +10:00
97cf0974a3 tag-lifecycle: owner close (status closed, gating + page) + move (copy details to new tag, close source) + legacy ?productid= redirect — verified with real tags 6 & 17
sam pushed to main at sam/where_woof 2026-08-10 11:33:28 +10:00
77a9f803f2 openspec: tag-lifecycle change (close/move/legacy redirect)
sam pushed to main at sam/where_woof 2026-08-10 10:11:33 +10:00
daf758d336 docs: product model — metering+renewal+unlock marked done
sam pushed to main at sam/where_woof 2026-08-10 10:10:52 +10:00
9d43403f6f renewal-unlock: orders.renews_at lazy expiry + owner unlock notices (ntfy/sms channels, exempt from metering) — verified
sam pushed to main at sam/where_woof 2026-08-10 10:08:09 +10:00
8b5db410a3 openspec: renewal-unlock change
sam pushed to main at sam/where_woof 2026-08-10 10:07:31 +10:00
17150c405d ops: live SMS creds on .13; seed-admin cmd in make db-up (admin survives DB resets)
sam pushed to main at sam/where_woof 2026-08-10 09:19:15 +10:00
e1044f8c32 admin-insights-pages: dashboard customers+revenue (orders.amount), users->tags relation, pause customer (gates alerts), About/What-is-this/Contact pages
sam pushed to main at sam/where_woof 2026-08-10 09:17:12 +10:00
d80c08306c openspec: admin-insights-pages change
sam pushed to main at sam/photo-pipeline 2026-08-10 06:24:17 +10:00
eef243297f Add merge_orphans: dedup orphans vs by_date + EXIF-date routing (dry-run verified: 2,311 moves, 0 collisions)
sam pushed to main at sam/photo-pipeline 2026-08-10 06:01:54 +10:00
1edafbfac8 Add 10s per-file timeout to scan_once (prevents hung file blocking large scans)