palantir / blueprint

A React-based UI toolkit for the web
https://blueprintjs.com/
Apache License 2.0
20.74k stars 2.18k forks source link

Toaster with timeout zero is dismissed early #6742

Open dylangrandmont opened 8 months ago

dylangrandmont commented 8 months ago

Environment

Code Sandbox

Code sandbox

Steps to reproduce

See the linked code sandbox

  1. Open a Toast with timeout of 0. Note that focusing the toast will dismiss it (without clicking the 'x')
  2. Note that with an explicit timeout (e.g. 100_000) this is not the case; Toast remains open after focusing.
  3. timeout: Infinity is poorly behaved; Toast immediately closes

Actual behavior

See above and also screen recording from sandbox:

https://github.com/palantir/blueprint/assets/20345725/40bc7800-1b37-4cf9-bd1a-405425e835df

Expected behavior

Toast with timeout: 0 should not dismiss early. timeout: Infinity should also behave the same as timeout: 0

gluxon commented 6 months ago

Thanks for the bug report @dylangrandmont! Fix for 0 here https://github.com/palantir/blueprint/pull/6783. We should probably handle Infinity better as you mentioned.

gluxon commented 6 months ago

Will leave this open for the Infinity part of the problem.

ericjeney commented 6 months ago

Thanks, @gluxon! Let's also track adding a test case as part of fixing this issue.

AustineChi commented 4 months ago

Thanks, @gluxon! Let's also track adding a test case as part of fixing this issue.

Hi @ericjeney , I'd like to work on resolving the issue with handling timeout: Infinity. Please can you let me know if someone is working on this already?

gluxon commented 4 months ago

Hey @AustineChi, I hadn't started yet. Would appreciate the help.

JML321 commented 6 days ago

Hi @gluxon , @dylangrandmont , and @ericjeney - I've submitted PR #7059 to address the timeout: Infinity behavior issue and included a test case. Would appreciate your review when you have a chance. Thank you!