Repository navigation
fix: image upload stalls and edit-listing keyboard flicker - #105
Merged
Merged
Conversation
Phone cameras produce 8-12 MB photos that stalled uploads on mobile data and drained the cached-egress quota when shown full-size in the feed. - Resize picked photos to 1600px at JPEG quality 70 - Time out uploads after 60s and map network failures to clear messages - Show feed and carousel images through a disk cache Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
My Books and Listing details pushed the shell's /sell route from outside the shell, duplicating navigator page keys. Opening the keyboard then remounted the form (keyboard closed) or blanked the screen. Use new root-level /edit-listing and /new-listing routes instead. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Oct 26, 2026
Merged
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes two problems reported by Play testers:
context.push('/sell', extra: listing)./sellis a route inside the bottom-nav shell, and pushing it from a root-level screen duplicates the shell navigator's page keys. When the keyboard opens, the router rebuilds and the form is remounted. The field loses focus, so the keyboard closes, and sometimes the screen goes blank. A widget test reproduced this as the navigator assertion!keyReservation.contains(key).Closes #
Changes
sell_viewmodel.dart: picked photos from the gallery or camera are resized to at most 1600 px at JPEG quality 70. These are the same settings ID verification already uses.supabase_storage_data_source.dart:TimeoutException,SocketExceptionandClientExceptionnow map to clear "timed out" or "no connection" messages.Supabase.instance.listing_card.dartandlisting_image_carousel.dart: images load throughcached_network_image, a new dependency, which caches them on disk. Cards decode at 600 px.router.dart: new root-level/edit-listingroute (it redirects to/my-booksif there is no listing) and/new-listingroute./sellpush from inside the shell was tested and is unaffected, so it is unchanged.Test plan
flutter analyze: no new issues. It still exits 1 on 3 existing issues insupabase_auth_data_source.dartandmain.dart, which this PR does not touch.flutter test: 316 tests passed.test/features/listings/data/datasources/supabase_storage_data_source_test.dartcovers upload success, the timeout, and DNS/socket failures.test/config/root_form_routes_test.dartchecks that the form keeps focus and is not remounted when the keyboard opens.cargo fmt,cargo clippy, andcargo testpass (Rust core changes): N/AChecklist
dev, notmainScreenshots
N/A