[🐛] Web App Bugs

Regression: Sequence paging :left_arrow::play_button::right_arrow: arrows unminimize mini-map window

How to reproduce:

  1. Go to an image
  2. Switch to photo mode (focus=photo URL query)
  3. Minimize the mini-map window
  4. Click on :left_arrow:, :play_button::stop_button:, or :right_arrow:. Alternatively, press Alt+↑ or Alt+↓
  5. Note that the mini-map is unminimized

@nikola In other words, the mini-map does not stay minimized when you use any of the sequence traversal controls.

@GITNE - good catch. Confirming I replicated this and we’ll have a fix out in an upcoming release.

Update: this should be fixed now.

1 Like

Console Errors

Error: layers.mapillary-panos-current-user.filter[1][2]: string, number, or boolean expected, null found
    Rp https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    Gn https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _validate https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    setFilter https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    setFilter https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    setFilter https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:59
    applyFilters https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:162
    applyFilters https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:162
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    WTe https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:5
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    Uw https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:5
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    a https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    K https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:5
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    on https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    l https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:5
    fire https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _render https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onInvokeTask https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    runTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invoke https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    v https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onScheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleMacroTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    We https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    u https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    r https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    triggerRepaint https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _render https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onInvokeTask https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    runTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invoke https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    v https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onScheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleMacroTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    We https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    u https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    r https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    triggerRepaint https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _render https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onInvokeTask https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    runTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invoke https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    v https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onScheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleMacroTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    We https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    u https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    r https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    triggerRepaint https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _render https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onInvokeTask https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    runTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invoke https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    v https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onScheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleMacroTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    We https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    u https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    r https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
main.f6bd1fd5b2ab8480.js:2088:610356
Error: layers.mapillary-dots-current-user.filter[1][2]: string, number, or boolean expected, null found
    Rp https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    Gn https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _validate https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    setFilter https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    setFilter https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    setFilter https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:59
    applyFilters https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:162
    applyFilters https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:162
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    WTe https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:5
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    Uw https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:5
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    a https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    K https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:5
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    on https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    l https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:5
    fire https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _render https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onInvokeTask https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    runTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invoke https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    v https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onScheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleMacroTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    We https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    u https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    r https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    triggerRepaint https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _render https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onInvokeTask https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    runTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invoke https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    v https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onScheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleMacroTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    We https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    u https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    r https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    triggerRepaint https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _render https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onInvokeTask https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    runTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invoke https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    v https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onScheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleMacroTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    We https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    u https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    r https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    triggerRepaint https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _render https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onInvokeTask https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    runTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invoke https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    v https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onScheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleMacroTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    We https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    u https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    r https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
main.f6bd1fd5b2ab8480.js:2088:610356
Error: layers.mapillary-lines-current-user.filter[1][2]: string, number, or boolean expected, null found
    Rp https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    Gn https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _validate https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    setFilter https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    setFilter https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    setFilter https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:59
    applyFilters https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:162
    applyFilters https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:162
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    WTe https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:5
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    Uw https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:5
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    a https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    K https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:5
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    on https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    _next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    next https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    l https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:5
    fire https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _render https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onInvokeTask https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    runTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invoke https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    v https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onScheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleMacroTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    We https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    u https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    r https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    triggerRepaint https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _render https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onInvokeTask https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    runTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invoke https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    v https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onScheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleMacroTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    We https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    u https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    r https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    triggerRepaint https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _render https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onInvokeTask https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    runTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invoke https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    v https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onScheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleMacroTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    We https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    u https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    r https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    triggerRepaint https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _render https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    _frame https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:2088
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onInvokeTask https://www.mapillary.com/app/main.f6bd1fd5b2ab8480.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    runTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invokeTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    invoke https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    0 https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    v https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    onScheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    scheduleMacroTask https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    We https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    u https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
    r https://www.mapillary.com/app/polyfills.edd58b8e96107806.js:1
main.f6bd1fd5b2ab8480.js:2088:610356

Good catch - we’ll add a fix in an upcoming release

1 Like

“My captures” Highlights All Sequences

When logged out go to

  1. https://www.mapillary.com/app/user/<username>
  2. Toggle “My captures” off
  3. Toggle “My captures” on
  4. Note that all sequences become blue

In logged out state “My captures” should probably highlight nothing or the same sequences as does <username> in purple. Perhaps “My captures” should be disabled or hidden because there are no truly My captures when logged out?

Good catch @GITNE - thanks for spotting! We’ll hide “My captures” for logged out users in an upcoming release.

1 Like

Sometimes the Mapillary web app enters a broken render state (see screenshot below): the panorama is distorted into irregular polygons and partly disappears. When this happens, the URL in the location bar always shows x=NaN&y=NaN instead of the usual small floating-point values. Removing the x and y parameters and reloading always fixes the problem.

A similar problem was reported for Mapillary imagery embedded in the iD editor here: Mapillary Vorschaubilder-Phänomen - Deutschland (Germany) - OpenStreetMap Community Forum . The context is different (embedded in iD), but it might use the same underlying viewer or rendering code.

1 Like

I have reported this long time ago too. Are you on Linux Firefox? This may be an X server and Firefox combined issue only, though I doubt it because the website should never produce NaN values in the URL anyway.

Exactly, Linux Firefox.

1 Like

Thank you for confirming. Have you been able to reproduce it in a different browser?

Not using other browsers that much. What do you think about the reported problem within the iD editor? Is it a similar problem?

It has the same root cause because the behavior and effects are exactly the same. In general, it probably has do to with how MapillaryJS renders images or how it renders animations. I do not know what exactly causes this issue because I have not written MapillaryJS but my developer intuition (which turns out to be more often correct than not) hints heavily at MapillaryJS or one of its dependencies to be the actual culprit. It seems like Firefox on Linux perhaps makes the issue just more pronounced than it is in other browsers or platforms. Apart from that, MapillaryJS is horribly inefficient in general for what it is supposed to do. :frowning: It is especially terrible because the overlayed UI, input events, and rendering in MapillaryJS are like completely disconnected, which results in awful input latency, complete disconnect between user inputs and actions, and most probably also leads to this kind of issue. :person_facepalming: Furthermore, the WebGL code does not check for out of memory on buffer object allocation but just tries to cram anything that comes down the pipe into GL server memory, which usually ultimately :collision: crashes the browser. Just try loading very dense point clouds. For quick and reproducible results, you can simply limit the amount of RAM available to a browser process (with software rendering) via cgroups or limit GPU VRAM.

Update: Just checked the code again: MapillaryJS does not check for OUT_OF_MEMORY after gl.createBuffer() or gl.bufferData(), nor does it handle a webglcontextlost event gracefully, which may happen due to the GPU being out of memory. :slightly_frowning_face:

I can confirm the same fault continues to happen for me even with a change of hardware. I had vaguely thought it may have been an old NVIDIA/xorg issue on my 15yo laptop.

Using linux/firefox & Bookworm. Seems to break both an iD and Mapillary GUI tab simultaneously, but more sensitive to failure on iD. Using the feature only sparingly (clicking it on and off) on iD increases the time before failure. A firefox restart is the only way to reset.

Cheers

1 Like

Oh and in case relevant.

For me the fault only “triggers” in the small window mode. ie what one sees in iD or as a smaller left hand lower corner in the GUI. Have never seen it happen on the GUI when the image is on the main/large screen. Like “driving” or playing the sequence via the larger screen (if that makes sense) works very well. The morphing of one image to the next does jump around somewhat in large screen mode though, but have always assumed there was something unusual in (my) source data or loss of packet order in transit over internet.

In its faulted state too I "think" the first image (like from a pkey URL) will always work large screen. I haven’t really tried to run this down though as a fault finding exercise though.

1 Like

Thank you for sharing your experiences and observations. :+1: It is good to know that we are not the only people suffering from this and we are not imagining things.

It is the exact opposite for me; the larger the image viewport the greater the chances become for this issue to occur. It is particularly annoying because the only way to recover from this is to either enter the time-travel viewer (if you can) or manually remove NaN URL query values first and then reload the page. :disappointed_face:

:head_shaking_vertically: Yeah, morphing should be completely smooth. Indeed, these animation hiccups and down-link throughput chokes and latency gaps should have no impact on playback or navigation. If anything, it has gotten worse this year. Often, it just bounces back a couple of images like a rubber band. :shaking_face: Sometimes, it starts to de-morph the current image while the next is not available yet and the morphing animation just rolls back to the current image, like it would be hesitant or not know which way to go. My guess is that all of this is due to everything being disjoint and not synchronized (not the same thing as asynchronicity); input events, UI, rendering, animation, and networking.

For those who would like to reproduce this issue, it turns out that when you configure webgl.out-of-process to false (relaunch Firefox for the setting to take effect) it increases the chance to almost always reproduce it. Note that regardless of this setting the issue should never happen!

  1. Go to an image that also has combined images
  2. Zoom in with :plus:
  3. Pan to a combined image

The web app should produce NaNs in the URL.