Skip to content

Keep frame requests made during layout and let busy pumps yield - #112

Merged
trissim merged 3 commits into
mainfrom
fix/native-frame-reentrant-requests-20261007
Oct 8, 2026
Merged

trissim merged 3 commits into
mainfrom
fix/native-frame-reentrant-requests-20261007

Conversation

@trissim

@trissim trissim commented Oct 8, 2026 •

Copy link
Copy Markdown

In screen.py, the layout and scroll request flags were cleared after layout ran, so a resize watcher or layout subscriber that asked for another frame during layout lost the request. The flags are now read and cleared before layout. Separately, MessagePump now calls asyncio.sleep(0) after a delivery when more messages are queued, so one pump with synchronous handlers does not hold the UI thread. The same change moves the Widget import in message dispatch into the selector branch. Tests are added to test_refresh_callback_owner.py.

@trissim
trissim marked this pull request as ready for review October 8, 2026 02:28
Copilot AI balanced review requested due to automatic review settings October 8, 2026 02:28

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@trissim
trissim merged commit 6297ee3 into main Oct 8, 2026
2 of 22 checks passed
@trissim trissim changed the title Retain native frame work requested during layout publication Keep frame requests made during layout and let busy pumps yield Oct 11, 2026
@trissim
trissim deleted the fix/native-frame-reentrant-requests-20261007 branch October 11, 2026 20:05
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.

2 participants