to allow more snappy scrolling through the photos of a sequence using the prev/next buttons
the cache is primed with information for "most of" the selected sequence, see also https://gitlab.com/panoramax/server/api/-/issues/268
while loading a "scene", pannellum cannot load a new panorama scene. This means we have to wait while the viewer is busy loading an existing panorama until we can load a new one.
previously, when the photo was already loaded in the mapillary viewer, then another photo from a different provider was displayed and the previous mapillary photo selected again, the "highlighted photo" marker was not drawn correctly, and the "set mapillary id from photo" button not properly updated
this makes it similar to how the non 360° viewer and mapillary's 360° viewer work, allowing regular iD keyboard shortcuts to be used even when the focus is on the photo viewer
full list of enhancements:
* year slider to filter photos by freshness
* toggle active streetlevel layers with shortcut `shift+P`
* hfov, pitch and direction is now held between sequences and images as asked in #10392
* fix for #10361 (only panoramax)
* added tests and jsdoc
* add ticks for existing photos on slider
* general bug fixes
* rudimentary support for toDate in date slider (only when iD is started with a "to" date in the hash parameter: show a second slider to visualize and set the "to" date)
---------
Co-authored-by: Martin Raifer <martin@raifer.tech>
* retry all unsuccessful map calls after waiting 8 seconds (spinner continues to indicate loading state)
* also logged-in users can be rate limited: add dedicated error message
* don't log users out when requests return 401/403 (except on the _get own user data_ request, which would indicate that the oauth token was revoked): it's better to show the error message if a legitimate api call was actually unauthorized
closes#10299
fixes a false positive console warning, e.g. reported in #9045
> Occasionally, it also gives a message which is not an error: "Unexpected title Locale:nl"
when user logs out of osm.org via the logout button: the popup continues to the login screen, which if completed now logs the user back into iD with the new credentials
in panoramax a username can resolve to multiple ids (when the same name is used on multiple servers).
further, the username filter input field can contain more than one username