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
3c8cdbb788
fix: remove outdated TPB app checklist and viewer role migration SQL
2026-03-05 12:00:16 +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
33e24bd500
perf(assets): remove unused image files from bundle
2026-03-05 08:17:53 +01:00
Lukas Müllner
f3d1454cdc
perf(assets): compress oversized images to reduce load and bundle size
...
- Shrink heavy backgrounds and icon source assets
- Reduce login background from ~8.1MB to ~0.43MB
- Add reusable tool script for repeatable asset optimization
2026-03-05 08:15:14 +01:00
Lukas Müllner
4f0c98dc44
chore(gitignore): ignore local screenshot and devtools artifacts
2026-03-04 17:07:23 +01:00
Lukas Müllner
59aa8e5040
chore(assets): include splash generation artifacts and background image assets
2026-03-04 17:02:10 +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
4fbea2c1e4
chore: add TPB_APP_CHECKLIST.md to .gitignore
2026-03-04 12:37:58 +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
9daacaf0d8
docs: add TPB app checklist and stop tracking migration sql
2026-03-04 12:08:18 +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
1395a75f1b
docs: replace boilerplate README with car64 project guide
2026-03-04 11:35:22 +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