Repository navigation
Point photos, history multi-select, draggable sheets; release Bird 1.0.24 / Herp 1.0.8 - #11
Merged
Merged
Conversation
…t photos - "Save and new" on a new point created a new point per save, all stacked on the same spot; it now adds each record to the point the first save made. - New point ids are highest + 1 instead of the point count, which reused a live id after a deletion (duplicate map markers show as one). - Bottom sheets and full-screen dialogs respect the bottom system inset, so the navigation bar no longer covers their buttons. - Points carry photos of their own (Placemark.photos), editable from the point sheet; included in backup, restore sweep, KMZ, KML payload, the delete dialogs, and a trailing "Point photos" CSV column. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0143XE5VahZpsoap4YCWvmoi
Long-press a transect (or tap Select) to enter selection mode; the footer then shares CSV / KML(KMZ) or deletes every ticked transect. - CSV of several transects is one sheet with one header; the transect column already tells them apart. - KML/KMZ stays one file per transect, all in one share, since an import reads a file as one transect. Same-name same-day files get the id appended so they do not overwrite each other. - Deleting a transect that is on the map (single or bulk) now also clears it from the map. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0143XE5VahZpsoap4YCWvmoi
Bulk CSV no longer merges transects into one sheet: every export writes one file per transect and format, and more than one file is shared as a single zip. The new "CSV + KML" action puts each transect's CSV and KML/KMZ, all as separate files, into one zip. The selection footer gets the three exports on one row and Delete below. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0143XE5VahZpsoap4YCWvmoi
The point sheet lost half of its list to the point photo strip: the modal sheet is capped at 9/16 of the screen, and with the header, the strip and the buttons only two records were left in view. - showBottomModal is a DraggableScrollableSheet: it opens at the old height (56 %) and grows to 92 % as its list is pushed up; pushed down past 56 % it closes. Its controller reaches the content as the PrimaryScrollController, so each sheet's one vertical list picks it up without code of its own. - The point sheet scrolls header, photo strip and records as one CustomScrollView; the buttons stay put. The strip still never grows — more photos scroll sideways. - Current track and Saved tracks lists get AlwaysScrollableScrollPhysics, so a drag on a short list still reaches the sheet on Android. - The point's strip is captioned "Point photos" / "Fotografije tačke" (PhotoStrip.label), apart from a record's "Photos". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Both uploaded to the Play internal track and App Store Connect. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- .claude/skills/release: the per-app Android (--bump --upload) then iOS (--no-bump) release, one app at a time, with the log noise that is harmless. - apps/bird_tracker/.claude/skills/run-bird-tracker: sim.sh drives the app on a headless simulator — AXe for taps and swipes, simctl screenshots in points, text entry and state through the Dart VM service (vm.py), since neither HID typing nor the pasteboard reaches a Flutter field there. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Everything that shipped in Bird Tracker 1.0.24+34 and Herp Tracker 1.0.8+9 (both already on the Play internal track and uploaded to App Store Connect), plus two agent skills.
App changes (tracker_core)
showBottomModalopens at the old height (56 %) and grows to 92 % as its list is pushed up. The point sheet scrolls header, photo strip and records together, so the strip no longer eats the record list; its caption is now "Point photos".Tooling
.claude/skills/release— per-app release: Android--bump --upload, then iOS--no-bump, one app at a time.apps/bird_tracker/.claude/skills/run-bird-tracker— drive the app on a headless iOS simulator (AXe taps/swipes, screenshots in points, text entry and state via the Dart VM service).Testing
tool/check_all.shgreen.🤖 Generated with Claude Code