You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jul 29, 2019. It is now read-only.
Under certain circumstances, the timeline does not appear until after the user resizes the window.
Environment
This issue reproduces in both of the following browsers:
Safari Version 11.1.2 (12605.3.8.1)
Version 68.0.3440.106 (Official Build) (64-bit)
Module
timeline
Notes
I took a look at the source, and it seems that the behavior to set the timeline's root DOM node as hidden is was introduced in #3530, in response to feature request #3529.
Specifically, this line seems to hide the root DOM node if no options are provided, or if there's no value provided for the RTL option. It doesn't seem to me that the component's visibility is appropriately changed back after guessing RTL. (I see this assignment on line 185, but it's also guarded by some conditional logic, and it seems that it's not being triggered in my use case.)
I don't completely understand the context of the change, so I can't provide a fix. (My gut says the change is prevent the timeline from flashing in the "wrong" direction, but I'm not sure.) A workaround for me was to add rtl: false to my options payload. (This prevents the root DOM node from being hidden in the first place.)
I noticed that the !options clause on line 67 is probably redundant. The line above that one calls util.deepExtend. I glanced quickly at util.deepExtend and it seems that it always returns something (except for when it throws) and so !options, will always be false on the following line. Empty objects are truthy, and, as I understand it, line 67 is guaranteed to have options set.
Also, if options is indeed undefined and !options is true, then line 74 may result in a runtime error.
This issue seems to possibly be tangentially related to this issue (and another one, which I haven't been able to find) where setting ranges is a workaround for the missing rtl option.
I don't have a minimum reproduction sample right now, happy to provide if necessary.
The text was updated successfully, but these errors were encountered:
Summary
Under certain circumstances, the timeline does not appear until after the user resizes the window.
Environment
This issue reproduces in both of the following browsers:
Safari Version 11.1.2 (12605.3.8.1)
Version 68.0.3440.106 (Official Build) (64-bit)
Module
timeline
Notes
I took a look at the source, and it seems that the behavior to set the timeline's root DOM node as hidden is was introduced in #3530, in response to feature request #3529.
Specifically, this line seems to hide the root DOM node if no options are provided, or if there's no value provided for the RTL option. It doesn't seem to me that the component's visibility is appropriately changed back after guessing RTL. (I see this assignment on line 185, but it's also guarded by some conditional logic, and it seems that it's not being triggered in my use case.)
I don't completely understand the context of the change, so I can't provide a fix. (My gut says the change is prevent the timeline from flashing in the "wrong" direction, but I'm not sure.) A workaround for me was to add
rtl: false
to my options payload. (This prevents the root DOM node from being hidden in the first place.)I noticed that the
!options
clause on line 67 is probably redundant. The line above that one callsutil.deepExtend
. I glanced quickly atutil.deepExtend
and it seems that it always returns something (except for when it throws) and so!options
, will always befalse
on the following line. Empty objects are truthy, and, as I understand it, line 67 is guaranteed to have options set.Also, if
options
is indeedundefined
and!options
istrue
, then line 74 may result in a runtime error.This issue seems to possibly be tangentially related to this issue (and another one, which I haven't been able to find) where setting ranges is a workaround for the missing
rtl
option.I don't have a minimum reproduction sample right now, happy to provide if necessary.
The text was updated successfully, but these errors were encountered: