3320513d7a
Lucide ships one module per icon, but the barrel import dragged all ~1600 in. A local Babel plugin rewrites each named import to its own icon module, so the bundle drops from 4.66 MB to 3.40 MB and the earliest tap that reliably lands a photo moves from ~1.8 s to ~1.6 s on the test device.
21 lines
1.2 KiB
Markdown
21 lines
1.2 KiB
Markdown
# Release notes
|
||
|
||
## 1.2.3 (versionCode 5)
|
||
|
||
Shutter
|
||
- The shutter no longer waits on GPS: the fix is prewarmed at launch and bounded by a 2 s deadline, so a tagged shot reaches the gallery in about 3 s instead of 12–25 s.
|
||
- A shot pressed before the camera session binds is queued and replayed, not dropped.
|
||
- Fixes "Capture Failed — Could not take the photo.": `capturePhotoToFile` needs both its settings and options arguments.
|
||
- Saving to the gallery no longer depends on the media permission — the native save runs first, MediaLibrary only as a fallback.
|
||
|
||
Memory
|
||
- The Skia surface and bitmap are released after every export, dropping one full-resolution copy per rotation; the watermark font is parsed once.
|
||
|
||
Cold start
|
||
- The JS bundle is stored uncompressed in the APK.
|
||
- Named Lucide imports are rewritten to per-icon modules, so only the icons the app renders are bundled: 4.66 MB → 3.40 MB (−27%).
|
||
- The export pipeline and the recipe/GPS helpers load on demand.
|
||
- Hidden modals render nothing.
|
||
|
||
Measured on a vivo V2430 (Android 16) with a force-stop/start/tap probe: the earliest tap that reliably lands a photo moved from ~1.8 s to ~1.6 s once the bundle was trimmed. The rest is spent before app JS — process init, SoLoader, Hermes eval.
|