Skip to content

fix(buddies): show Add New Buddy screen in front of the bulk-edit dialog#708

Open
mgoodness wants to merge 1 commit into
submersion-app:mainfrom
mgoodness:bug-add-buddy-dialog
Open

fix(buddies): show Add New Buddy screen in front of the bulk-edit dialog#708
mgoodness wants to merge 1 commit into
submersion-app:mainfrom
mgoodness:bug-add-buddy-dialog

Conversation

@mgoodness

@mgoodness mgoodness commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Description

Bulk-editing dives opens the buddy picker inside a showDialog (root navigator by default); the buddy-selection bottom sheet resolves to that same root navigator. The newBuddy route, however, is nested under the app's ShellRoute with no parentNavigatorKey override, so it mounted on the shell's own nested navigator instead -- rendering underneath the still-open dialog/sheet on the root navigator. Users had to back out of both to find the new-buddy screen was open the whole time.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation

Changes Made

  • Gave the newBuddy GoRoute a parentNavigatorKey pointing at the root navigator so it always escapes to wherever the dialog/sheet actually are
  • Added a config-level regression test asserting newBuddy's parentNavigatorKey
  • Added a render-level test pumping the real BuddyPicker + BuddyEditPage through the bulk-edit dialog flow, confirming the new screen renders on top and the dialog/sheet correctly reappear (with state intact) once saved and popped; also covers the single-dive-edit (no-dialog) flow to confirm no regression

Testing

  • Unit tests added/updated
  • Widget tests added/updated
  • Manual testing performed

Checklist

  • Code follows style guidelines
  • Tests pass locally
  • Documentation updated (N/A -- internal navigation fix, no user-facing docs affected)
  • No new warnings from flutter analyze

Screenshots

N/A

Related Issues

Fixes #707

Bulk-editing dives opens the buddy picker inside a showDialog (root
navigator by default); the buddy-selection bottom sheet resolves to
that same root navigator. The newBuddy route, however, is nested under
the app's ShellRoute with no parentNavigatorKey override, so it
mounted on the shell's own nested navigator instead -- rendering
underneath the still-open dialog/sheet on the root navigator. Users
had to back out of both to find the new-buddy screen was open the
whole time.

Give newBuddy a parentNavigatorKey pointing at the root navigator so
it always escapes to wherever the dialog/sheet actually are.

Fixes submersion-app#707

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@codecov

codecov Bot commented Jul 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions

Copy link
Copy Markdown
Contributor

📦 Build artifacts for this PR · commit aa7a921

Platform Download
Android (APK) android-apk
macOS macos-build
Windows windows-build
Linux linux-build

Artifacts expire in 7 days. Downloading requires being signed in to GitHub. The macOS build is ad-hoc signed — right-click → Open on first launch.

Updated automatically on each push.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

Bulk edit: "Add New Buddy" opens behind the buddy picker dialog

1 participant