Skip to content

[dart_mcp_server] flutter_driver: expose set_frame_sync command#392

Draft
Ortes wants to merge 2 commits intodart-lang:mainfrom
Ortes:expose-set-frame-sync
Draft

[dart_mcp_server] flutter_driver: expose set_frame_sync command#392
Ortes wants to merge 2 commits intodart-lang:mainfrom
Ortes:expose-set-frame-sync

Conversation

@Ortes
Copy link

@Ortes Ortes commented Mar 12, 2026

Fixes #391.

Change

Uncomment set_frame_sync from the flutter_driver_command enum in dtd.dart. The enabled parameter was already present in the schema — this is a one-line change.

Why

Apps with continuous animations (Rive, Lottie, loading spinners) keep SchedulerBinding.transientCallbackCount > 0 indefinitely, causing tap, waitFor, and other finder-based commands to always time out. Calling set_frame_sync with enabled: false disables frame synchronization for the session, unblocking those commands — but it was unreachable through the MCP tool due to the enum restriction.

Uncomment set_frame_sync from the flutter_driver_command enum so
agents can disable frame synchronization for apps with continuous
animations (Rive, Lottie, etc.) that cause tap/waitFor to time out.

Fixes dart-lang#391
),
ParameterNames.enabled: Schema.string(
description:
'Used by set_text_entry_emulation, defaults to '
Copy link
Contributor

@jakemac53 jakemac53 Mar 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Add a note here about set_frame_sync as well

@github-actions
Copy link

PR Health

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

This check can be disabled by tagging the PR with skip-changelog-check.

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

Projects

None yet

2 participants