Tags: AndroidPoet/back_stack
Tags
iOS swipe-back gesture on TransitionPage (0.6.0) The edge-swipe back gesture now works on pages with custom transitions: on iOS the drag drives the page's own transitionsBuilder in reverse and pops past halfway or on a fling, like CupertinoPageRoute. New swipeBack parameter (default true; false for .none) to opt out. Gesture respects popGestureEnabled (root, fullscreenDialog, PopScope), handles RTL, and the pop syncs the NavStack.
docs: warn that app_links AppLinks() must be created early or the col… …d-start deep link is lost Applies to BackStackApp.linkStream — uriLinkStream only replays the launch URI to its first listener if the singleton exists when the OS delivers it. Documented on the linkStream field, the class docs, README, and the go_router migration guide.
0.2.8: handle async deep links arriving from native - BackStackApp.linkStream: feed a plugin's runtime Stream<Uri> (custom scheme, Firebase Dynamic Links, warm app_links) through the same onLink, with the same fallback safety; back_stack owns the subscription lifecycle, stays zero-dep - Add handleLink(uri) to NavStackRouterDelegate and MultiNavStackRouterDelegate, the imperative sibling of setNewRoutePath (which now delegates to it)
0.2.7: correctness + docs pass - Fix NavListDetail duplicate-GlobalKey crash for a lone detail on a wide screen - Make NavEntryDecorator.onRemoved symmetric across the NavListDetail breakpoint - MultiNavStack.handleBack consumes back even when a popGuard vetoes the pop - Refuse an empty stack in release instead of crashing the Navigator - Add tabs.dart (per-tab history) and results.dart (pushForResult) examples - README: table of contents, runnable snippets, and accuracy fixes
Release 0.2.6: moveToTop/pushOrMoveToTop, combineRedirects, BackStack… …Inspector Philosophy-preserving copies from the zenrouter survey — all plain list ops / pure functions / one widget, zero new deps, no codegen: - NavStack.moveToTop(test) + pushOrMoveToTop(key): reuse an open screen instead of duplicating (singleTop/clearTop). - combineRedirects([...]): compose redirect rules (ContinueRedirect/RedirectTo with optional stop), same loop-proof once-per-change semantics. - BackStackInspector<K>: zero-dep in-app live stack inspector. Deliberately skipped: string query-param bag (fights typed keys) and route codegen (stays codegen-free). 72 tests green.
Release 0.2.5: BackStackApp (one-function deep links) + BackStack.par… …entOf - BackStackApp<K>: a single widget wrapping MaterialApp.router + delegate + parser; you write only onLink: (Uri) => [destinations]. Optional toLink for address-bar sync, onLinkFallback for bad links, restoration on by default. Zero new dependencies (drives Flutter's own Router). - BackStack.parentOf<K>/maybeParentOf<K>: reach the stack one level up from a nested child sharing the same key type (walks NavStackScope<K> ancestors, takes the second). - example/multi_file now uses BackStackApp (deep link /product/7). - Tests: deep-link maps onto stack; parentOf reaches outer stack, of() stays innermost. 68 tests green.
Release 0.2.4: README hero uses NavEntries (no switch); add simple mu… …lti-file example - Rewrite the README hero: non-sealed AppKey + NavEntries (..on<T>(), builder: entries.call) instead of a switch. The old snippet didn't compile (sealed base without const ctor; NavStack.of inferred NavStack<Home>). Verified it compiles. - Add example/lib/multi_file/: app_key.dart + home_feature.dart + product_feature.dart + main.dart — one destination/screen/register per file, collected into one NavEntries. No switch, no central list.
PreviousNext