Skip to content

feat(remix): add structured dialog scrolling - #92

Closed
leoafarias wants to merge 1 commit into
feat/fortal-generated-wrappersfrom
fix/remix-dialog-scroll-contract
Closed

feat(remix): add structured dialog scrolling#92
leoafarias wants to merge 1 commit into
feat/fortal-generated-wrappersfrom
fix/remix-dialog-scroll-contract

Conversation

@leoafarias

Copy link
Copy Markdown
Member

Description

Adds an opt-in scrollable contract to structured RemixDialog and
FortalDialog content. The description and child scroll within bounded height
while the title and actions remain fixed. The default and lone-child paths are
unchanged.

Validation: fvm dart run melos ci (1,891 tests) and
fvm flutter analyze packages/remix.

Related Issues

Related to #89. Stacked on #84.


Checklist

  • My PR includes unit or integration tests for all changed/updated/fixed behaviors.
  • I have updated or added relevant documentation (doc comments with ///).
  • I am prepared to follow up on review comments in a timely manner.

Breaking Change

  • Yes, this is a breaking change.
  • No, this is not a breaking change.

@leoafarias

Copy link
Copy Markdown
Member Author

Coordination: replay this feature onto canonical #80

PR #84 has been closed as superseded. PR #80 now targets main directly and
is the only canonical Fortal generator/API base. The dialog-scrolling feature
and issue #89 remain valid; this PR should stay open and draft.

Synchronize the local workspace first

The latest observed #80 head is b450262, but fetch and use the current remote
head at execution time:

git status --short
git fetch origin
git rev-list --left-right --count \
  HEAD...origin/fix/remix-dialog-scroll-contract

The current PR head is expected to be 236fb1f. If the workspace is merely
behind and clean, fast-forward it. If it has uncommitted, ahead, or divergent
work, preserve that work in a commit or uniquely named safety branch before
continuing. Do not reset it.

Create a local safety branch, then replay the one feature commit after the old
#84 head onto the latest #80 head:

git branch backup/pr-92-before-final-fortal-contract
git rebase --onto origin/feat/fortal-polish \
  ebe9ee1decf0a194c1d2b63c7b0fc18a6e7731d4

Required integration

  • Resolve dialog_widget.dart by applying the scrollable structured-body path
    to feat(fortal): align visuals with Radix Themes 3.3.0 #80's current RemixBoxWithEffects implementation.
  • Preserve containerEffects for both lone-child and structured paths.
  • Preserve feat(fortal): align visuals with Radix Themes 3.3.0 #80's FortalDialogSize recipe parameter and
    fortalDialogStyle(...) call.
  • Keep the lone-child path caller-owned and unwrapped.
  • scrollable is a target-widget parameter. The target-only
    @MixWidget(target: RemixDialog.new) annotation will forward it
    automatically.
  • Do not add any parameter-curation annotation.
  • Do not hand-resolve dialog.g.dart. Restore/regenerate it from the rebased
    handwritten source so it contains both feat(fortal): align visuals with Radix Themes 3.3.0 #80's effects/size contract and the
    new target parameter.

Verification and publication

Run clean generation and:

fvm dart run melos run ci
fvm flutter analyze
git diff --check

Also format every changed Dart file and confirm there are no
factoryParameters, widgetParameters, targetParameters, or public
fortal*Styler references.

After verification:

git push --force-with-lease origin fix/remix-dialog-scroll-contract
gh pr edit 92 --repo conceptadev/remix --base feat/fortal-polish

Update this PR body with the new test count and final #80 head used. Do not
delete the old #84 branch; coordination will remove it only after both this PR
and #93 have migrated.

@leoafarias

Copy link
Copy Markdown
Member Author

Coordination update: absorbed into canonical #80

The earlier replay handoff on this PR is superseded. I replayed the handwritten
Dialog scrolling change onto the current #80 branch, resolved it against
RemixBoxWithEffects, regenerated the wrapper, and added direct contract
coverage.

The result is in #80 as 6b422dd and d8ae559. On the combined canonical
head, all 2,104 tests pass and analysis, formatting, clean generation, parity,
documentation, hosted Mix resolution, and drift checks are green.

No agent should rebase or force-push this branch now. Closing this draft without
merge because its valid work is already in #80. Issue #89 remains open only to
track delivery through the canonical PR.

@leoafarias leoafarias closed this Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant