Problem/Motivation
On local development environments, everything seems fine. But those don't have any network latency.
On slower computers, slower browsers (think lots of extensions), or slower webservers (think xdebug enabled), this may also be visible.
As latency increases (as well as JS execution speed decreases), the problem becomes more pronounced. See the attached screencast, which demonstrates the absence of the problem at zero/very low latency, the presence of it at some latency, and the prominence at very high latency.
Proposed resolution
TBD
Remaining tasks
User interface changes
API changes
Data model changes
Comment | File | Size | Author |
---|---|---|---|
Settings Tray — Toolbar visible first depending on latency.mp4 | 6.44 MB | Wim Leers |
Comments
Comment #2
Wim LeersNote: #2542050: Toolbar implementation creates super annoying re-rendering. solved exactly this sort of problem for Toolbar — but in doing so, it may actually have created this problem: because Toolbar now shows up instantaneously whereas it did not before, it's possible that it actually caused this.
Comment #4
droplet CreditAttribution: droplet commentedOnly pre-set HTML can solve this problem. (Or send new CSS to HEAD)
Probably, we need this issue first: #2696023: Save Users' Toolbar State config to serverside
and might be this also: #2391025: Add support for inline JS/CSS with #attached
a better deal would be this, get rid of this common errors from the design pattern, not code :) We have limitations on code side (e.g., caching vs non-caching is a headache already)
#2891332: Create a Toolbar 2 module
Or if you great enough, to slim down the scripts execution time to less than 16ms may work. I don't think we can. :P
Comment #5
tedbowChanging to new settings_tray.module component. @drpal thanks for script help! :)
Comment #6
tedbowIt seems that we are reacting to the contextual models "edit" state to determine if the toolbar should changed by Settings Tray. As long as the Contextual modules "Edit" state is stored on the browser then can't send our toolbar changes from the server.
So Contextual module would have store it's "Edit" state on the server for this happen.
Is that right?