mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-05 19:28:25 +00:00
Bugs: - Single-image uploads (avatar, banner, emoji packs, relay group, long-form cover) report a metadata-strip failure as "Metadata could not be removed" again instead of a generic upload error, and long-form covers are not stripped, as before the move to uploadToDefaultServer. - AndroidMediaUploader moves to Dispatchers.IO itself: the calendar event composer called it from a Main-bound scope, hashing and decoding images on the UI thread. - Chat "retry without encryption" did nothing in hold mode: the retry state was only captured for send. - Pickers (gallery, file, document) keep their launched flag across an activity recreation, and the Concord and geocache pickers keep their open flag, so a picked image is no longer dropped or the picker reopened after a rotation. - Android's DateSkeletonFormatter keys its cache on the time zone, and the wallet rows format month, day and time as one locale pattern again. - Deep-link query lookup drops a #fragment, as java.net.URI did. - Pasting an empty clipboard no longer wipes a typed invoice. - BuzzDmListViewModel decides "new channel" with one atomic insert. - StringMediaUri compares by value (temp-file cleanup compares URIs) and lastPathSegmentOrNull matches Android (decoded, null without a path). - Cordn attachments no longer log a false "could not delete" warning. - HiddenAccountsFeedViewModel.Factory accepts a supertype request again. Performance: - rememberViewModel's lambda overload builds its factory once per call site instead of per recomposition. - The upload video thumbnail decodes a scaled frame and releases its MediaMetadataRetriever. - Active subscriptions polling runs in the screen's effect, so revisits no longer stack loops. - Zap button configs are remembered and marked @Immutable. Also drops dead code (an unused formatter and Context locals) and adds tests for the query lookup, MediaUri and the month/day/time skeleton. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S7FuNBSKiyVecARSoE4B9P