ImagePicker.launchImageLibraryAsync now opens with `allowsEditing: true` and `aspect: [1, 1]`, which triggers Apple's built-in square crop UI (pan + zoom on the user's selection). The output URI is the actually cropped image — fixing the long-standing bug where AvatarCropSheet displayed a visual transform but `manipulateAsync` only resized the original, so any pan/zoom the user did was discarded on confirm. Removes the entire AvatarCropSheet component (~285 lines) and its sole consumer wiring in profile/edit.tsx. The avatar continues to render as a circle everywhere via borderRadius — the underlying square output is just storage-agnostic. Native-look-first per memory rule, zero new dependencies, no new native module to link.
Description
Self-hosted mirror of rebreak monorepo
Languages
TypeScript
68%
Vue
7.9%
Swift
7.7%
Shell
4.2%
JavaScript
3.1%
Other
8.9%