copilot-swe-agent[bot]
5a88f25b81
Fix DropdownButtonFormField: use value instead of initialValue
...
Co-authored-by: derkauzigekoala <79001016+derkauzigekoala@users.noreply.github.com>
2026-03-07 22:47:23 +00:00
Lukas Müllner
fb96d0bfb7
fix(db): add atomic collection creation RPC path with migration script
2026-03-06 08:14:35 +01:00
Lukas Müllner
38de6d8b86
fix(review): address auth subscription, safe image replace, logging and widget tests
2026-03-06 07:43:40 +01:00
Lukas Müllner
214285bb68
chore(branding): replace Hot Wheels user-facing text with die-cast wording
2026-03-05 20:14:15 +01:00
Lukas Müllner
25e0ade7a6
fix(config): remove embedded supabase fallback values and require dart-defines
2026-03-05 19:27:49 +01:00
Lukas Müllner
450d0a7b34
feat(ux): add distinct success/info/error top overlay message styles
2026-03-05 19:03:02 +01:00
Lukas Müllner
fded06c85a
fix(ux): show all global messages in front overlay for consistency
2026-03-05 18:37:47 +01:00
Lukas Müllner
a2a8917506
fix(ux): show errors above modals and handle duplicate owner moves cleanly
2026-03-05 15:16:10 +01:00
Lukas Müllner
eab9000247
fix(regressions): restore member counts and improve duplicate-copy feedback
2026-03-05 15:10:32 +01:00
Lukas Müllner
ff9aa57548
perf(collections): coalesce duplicate refresh triggers during in-flight loads
2026-03-05 14:47:02 +01:00
Lukas Müllner
7e798cd7e6
fix(reports): avoid stuck loading state when session is missing
2026-03-05 14:46:42 +01:00
Lukas Müllner
404ac270f7
fix(state): scope active collection preference by user with legacy key migration
2026-03-05 14:46:12 +01:00
Lukas Müllner
edacf7ad1a
perf(scanner): add adaptive cooldown backoff for repeated OCR misses
2026-03-05 14:45:00 +01:00
Lukas Müllner
7c25ab7c6f
perf(images): lazy-load signed storage URLs for garage cards
2026-03-05 14:44:36 +01:00
Lukas Müllner
c2d8e754a2
perf(collections): remove N+1 member count RPCs with single batched query
2026-03-05 14:43:01 +01:00
Lukas Müllner
1dc440cd25
fix(errors): sanitize user-facing failures and centralize safe error messaging
2026-03-05 14:40:37 +01:00
Lukas Müllner
947992e8b9
fix(stability): remove auth/context force unwraps and add guarded null-safe paths
2026-03-05 14:39:00 +01:00
Lukas Müllner
f41708c662
fix(config): use dart-define supabase settings and default to PKCE auth flow
2026-03-05 14:37:09 +01:00
Lukas Müllner
34597b9909
fix: use exact collection stats beyond row limits
2026-03-05 14:13:26 +01:00
Lukas Müllner
69362e7a96
fix: show full garage stats independent of pagination
2026-03-05 14:08:21 +01:00
Lukas Müllner
f2c3e80f3f
chore: polish membership error messages
2026-03-05 12:05:02 +01:00
Lukas Müllner
febba238ec
fix: add rpc-backed member removal migration
2026-03-05 11:56:01 +01:00
Lukas Müllner
da9981d297
fix: make member removal check rls-safe
2026-03-05 11:40:30 +01:00
Lukas Müllner
d03e276ddf
fix: use rpc-backed lookup for member removal
2026-03-05 11:19:41 +01:00
Lukas Müllner
943f08e92b
fix: verify member removal persistence
2026-03-05 11:05:46 +01:00
Lukas Müllner
bb389d6f78
fix: correct member counts and member removal flow
2026-03-05 10:56:20 +01:00
Lukas Müllner
c412eda221
fix: prevent invite role dropdown overflow
2026-03-05 10:49:55 +01:00
Lukas Müllner
bd177cedcc
fix: resolve invite overflow and member removal lookup
2026-03-05 10:46:30 +01:00
Lukas Müllner
d566621033
fix: harden scanner camera preview recovery
2026-03-05 10:43:36 +01:00
Lukas Müllner
bebd21097d
fix: enforce role-based collection actions and instant defaults
2026-03-05 10:30:40 +01:00
Lukas Müllner
27bf33593e
fix: bootstrap defaults and refine shared collection actions
2026-03-05 10:07:06 +01:00
Lukas Müllner
fa738b9a96
feat: add swipe navigation between main tabs
2026-03-05 09:30:32 +01:00
Lukas Müllner
f03f1b18e4
fix: don't change main collection on open
2026-03-05 09:24:50 +01:00
Lukas Müllner
07b1df3369
perf: reduce scanner OCR workload
2026-03-05 08:37:13 +01:00
Lukas Müllner
abf1b9d788
perf: use cached network images
2026-03-05 08:36:25 +01:00
Lukas Müllner
93cbf4b568
perf: cache signed storage URLs
2026-03-05 08:35:30 +01:00
Lukas Müllner
83344a06d5
perf: avoid redundant tab refresh traffic
2026-03-05 08:34:14 +01:00
Lukas Müllner
ed541e046c
feat(ui): apply branded headers and refresh splash/loading icon assets
...
- Use login background image in garage, collections, and profile headers
- Show app logo in About screen and add support mail action
- Configure native splash image assets in pubspec
- Regenerate flutter_native_splash and launcher icons for Android/iOS/Web
2026-03-04 17:01:45 +01:00
Lukas Müllner
b67483db4e
fix(reporting): prevent report reason dropdown overflow on small widths
2026-03-04 16:53:25 +01:00
Lukas Müllner
1be830b16f
feat(scanner): polish detection feedback and main collection behavior
...
- Replace noisy no-id snackbars with in-screen red status feedback
- Keep success state green and reduce interruption during scan flow
- Make scan-tab collection switching session-only (does not overwrite main)
- Keep main collection preselected from collections tab preference
- Apply recent UX text/layout polish for scan and detail actions
2026-03-04 13:44:55 +01:00
Lukas Müllner
8cc58d6a76
test: add unit coverage for scanner parsing and reporting utils
2026-03-04 12:25:21 +01:00
Lukas Müllner
d90df35d57
feat(reporting): add My Reports status screen and profile entry
2026-03-04 11:46:44 +01:00
Lukas Müllner
e5773839e5
feat(reporting): add in-app car report form with Supabase persistence
2026-03-04 11:41:47 +01:00
Lukas Müllner
e7fe347670
feat(validation): surface verification status in garage cards
2026-03-04 11:35:06 +01:00
Lukas Müllner
d3f6fc3853
feat(validation): add garage-side community confirmation action
2026-03-04 11:34:13 +01:00
Lukas Müllner
b26bcf6226
chore(collab): await member list refresh after invite/remove actions
...
- Await _loadMembers after invite to avoid stale member list state
- Await _loadMembers after remove for deterministic UI sync
- Keep collaborative management views consistent immediately after mutations
2026-03-04 11:32:10 +01:00
Lukas Müllner
d287d175b5
feat(images): surface actionable upload errors for private photo pipeline
...
- Change uploadCarImage to throw explicit errors instead of returning null
- Handle upload exceptions in garage detail flow with clearer user feedback
- Guide users to retry with a smaller/clearer image when upload constraints fail
2026-03-04 11:31:37 +01:00
Lukas Müllner
aab5c7d039
fix(storage): enforce strict <=500KB upload guarantee for private bucket
...
- Harden compression pipeline with iterative quality + dimension reduction
- Throw explicit error if final output still exceeds 500KB bucket limit
- Keep 1080px cap while allowing progressive downscaling to fit constraints
- Update login screen branding comment to car64
2026-03-04 11:30:32 +01:00
Lukas Müllner
13114bd63f
feat(scanner): add auto-scan cadence with pause/resume controls
...
- Add periodic auto-capture loop for uninterrupted scanner workflow
- Start auto-scan after camera init and stop cleanly on dispose
- Gate scans by busy/camera-ready state to avoid overlapping captures
- Add AUTO ON/OFF toggle in scanner status bar
- Keep manual capture path available as fallback
2026-03-04 11:15:43 +01:00
Lukas Müllner
4ba1fe19cc
feat(garage): add pull-to-refresh for collection gallery sync
...
- Wrap garage grid in RefreshIndicator
- Trigger full paged reload on pull gesture
- Use always-scrollable physics so refresh works even on short lists
- Improve manual sync flow for shared collection updates
2026-03-04 11:10:47 +01:00