Previously it was up to the caller to draw whatever they want into the
footer flash. With this change, uiFlash creates an icon and a text, so
the caller doesn't need to do as much work.
(closes#4533)
There are several issues here.. Here's a quick brain dump:
- the requestIdleCallbacks in map.js (scheduleRedraw) seem to be causing
crashiness in Firefox on fast zoom/unzoom, mousewheel, etc.. anything where
the view transform changes a lot and the redraws don't catch up.
(commented out, reverted back to lodash throttle)
- the requestIdleCallback worker queue in idle_worker.js seems to be causing
crashiness in Firefox and Chrome when exiting the walkthrough. Something about
deferring the tile parsing as the user leaves the intro has a problem.
It might be an infinite `while` loop, not sure.
(commented out, reverted back to for loop)
- the requestIdleCallback in call_when_idle.js is only used to defer
tile loading in context.loadTiles() - this one seems fine, and actually
has maybe the biggest benefit for improving performance.
(left in)
1. All services are disabled in testing now to prevent network accesses
2. Only services are enabled when needed to test something
3. Many changes throughout code to allow iD to run with services disabled
(e.g. check for osm service instead of assuming context.connection() will work)
4. Actually export the services so we can disable and enable them
Old menu behavior can be restored with 2 cookies:
- `edit-menu-style=radial` - Display menu as a radial menu, limited to 8 items
- `edit-menu-show-always=1` - Show menu on all clicks, not just contextmenu/right
(closes#2151), (see also d3/d3-zoom#60, d3/d3-brush#18)
Intercept `mousedown` and check if there is an orphaned zoom gesture.
This can happen if a previous `mousedown` occurred without a `mouseup`.
If we detect this, dispatch `mouseup` to complete the orphaned gesture,
so that d3-zoom won't stop propagation of new `mousedown` events.
* if 509 Bandwidth Exceeded / 429 Too Many Requests, prompt for login
(closes#2262)
* if 400 Bad Request / 401 Unauthorized / 403 Forbidden - logout and retry
(closes#3546)
This includes some renames for clarity.. "surface" -> "selection"
to make it clearer that rendering functions take a selection, and
don't necessarily render to the literal `#surface` node anymore.