Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bubbles don't pause when a project is paused (is it intentional?) #219

Open
FurryR opened this issue Jul 3, 2024 · 5 comments
Open

Bubbles don't pause when a project is paused (is it intentional?) #219

FurryR opened this issue Jul 3, 2024 · 5 comments

Comments

@FurryR
Copy link

FurryR commented Jul 3, 2024

Expected Behavior

When clicking pause, bubbles (say ... for ... seconds) are also paused.

Actual Behavior

When clicking pause, bubbles do not pause and disappears.

Steps to Reproduce

  • Create a project (or use an existing one).
  • Create a sprite (or use an existing one).
  • Run a say ... for ... seconds block.
  • Pause the project while the bubble exists.
  • Wait.

Operating System and Browser

N/A

Additional Information

sayforsecs / thinkforsecs used Promise and setTimeout for timeout. Refactor them with stack timer might help.

@ntvmb
Copy link

ntvmb commented Aug 2, 2024

This bug is not unique to TurboWarp. This is a bug in Scratch Addons that won't be fixed, as it is "intentionally out of scope for the Pause addon".

@FurryR
Copy link
Author

FurryR commented Oct 21, 2024

This bug is not unique to TurboWarp. This is a bug in Scratch Addons that won't be fixed, as it is "intentionally out of scope for the Pause addon".

This issue is caused by the implementation of bubble commands, so it is completely fixable.

@GarboMuffin
Copy link
Member

This could be reasonably in scope for us if it can be shown that the proper stack timer version doesn't impact project behavior at all

@CST1229
Copy link

CST1229 commented Oct 21, 2024

This could be reasonably in scope for us if it can be shown that the proper stack timer version doesn't impact project behavior at all

IIRC using the stack timer would probably impact at least runtime behavior, as using Promises in run-without-screen-refresh blocks will not lag the project, but yielding and using the stack timer will. (Though it might be possible to use a Promise+stack timer/normal timer combination?)

@FurryR
Copy link
Author

FurryR commented Nov 10, 2024

I got the idea. we can reimplement timer.setTimeout to make it pausable and combine it with Promise.

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

No branches or pull requests

4 participants