Skip to content

Latest commit

 

History

History
264 lines (200 loc) · 14.5 KB

CHANGELOG.md

File metadata and controls

264 lines (200 loc) · 14.5 KB

What's Changed

  • Lint fixes (PMD)
  • JOSM #21871: Computed altitude and location can be wildly wrong
  • JOSM #20274: Cannot zoom in to detail.
    • Mapillary has added an API field for thumb_original_url, which has the original (processed) image.
    • Breaking change: getWidth/getHeight from MapillaryCache now require a parameter (can be null).
  • JOSM #21717: add filter to display only images that are not panoramas
    • The filter allows users to see all images, panoramic images, or non-panoramic images, depending upon their choice.
  • JOSM #21817: NPE in MapillaryImageEntry#read
    • This is caused by old image urls. We've reset the maximum age for the image metadata to be cached to be the same as mirror.maxtime (advanced preferences). This defaults to 7 days (down from 700 days).
  • JOSM #21791: IOOBE in OffsetUtils#getOffsetLocation
  • JOSM #21530: Disable Mapillary tag insert when no Mapillary image selected.

UI and OOM improvements

  • MapillaryImageEntry: Use SoftReferences to avoid OOM
  • Avoid blocking EDT when image is initially clicked
  • JOSM #21603: AE: ImageViewerDialog instance not created

  • JOSM #21604: MapillaryImageUtils: Check for null

  • ImageDetection: Don't get detections for unknown images.

  • MapillaryLayer: Improve rendering performance

    Fix an expensive recurrent call by storing initial results and passing to required locations.

    getSelectedNodes took up 60%+ of time spent in drawImageMarker, which took up ~75% of the time in paintWithLock. This means getSelectedNodes took up ~46% of the processing time in the paintWithLock method.

    getSelectedNodes now takes up 0.15% of the time in the paintWithLock method.

Swallow JosmRuntimeException when removing primitive (various checks did not fix this, so now we're just going to ignore it).

Attempt to be more robust on reindexing of sequences

Fix #21565: NPE in MapillarySequenceUtils#getNextOrPrevious Also add ability to offset images within a sequence (see Mapillary Image Info dialog).

MapillaryDownloader: Attempt to fix #21553: Failed to remove primitive

Fix various CME's

Import: Drop image imports

Since Mapillary does not have a public upload API, and we now use JOSM's image viewer, it is pointless for users to "import" images into the Mapillary layer. JOSM also supports opening directories of images now.

In the event upload is re-added, it will most likely be on a GeoImage by GeoImage layer basis, and will not import the images into the Mapillary layer.

Also improve speed and viewing experience for images.

Fix JOSM #21481: MapillaryLayer not repainting on image change

JOSM ImageViewer: Enable copy button (link to Mapillary.com)

Fix JOSM #21443: Mapillary Filter changes interpreted as JOSM hotkey

Use JOSM image viewer

  • See JOSM #16472: "Add support to 360/spherical image" for the enablement of 360 imagery in JOSM core. Painting of detections is now down by drawing on the buffered image, which isn't ideal, but will be fixed as soon as the math and ui results for 360 images makes sense.
  • May fix #21295: Mapillary shows grey sequence links which cannot be followed
  • Object Detections are no longer shown by default -- there is no button for it right now, so they are hidden to avoid cluttering the image viewer
  • May fix #21406: Crash on Mapillary password change
  • May fix #21264: null in sequence nodes
  • Fix #21329: IAE: id cannot be 0
  • ImageDetections: Wait some time prior to fetching

Fix JOSM #21296 and #21312

Fix JOSM #21281: Applying the filter creates a bunch of staight lines

  • Fix #21254: IAE: POLYGON cannot have zero area (root cause fixed in JOSM, workaround in Mapillary for older JOSM versions)
  • Fix #21265: NPE when no computed geometry is found

Fix #21178: failed to remove primitive: VectorNode in MapillaryVectorTileWorkarounds

Fix JOSM-21170: Mouse selection area to large

JOSM #21127: NPE in Mapillary login JOSM #21121: Hopefully fix failing tests (JOSM Jenkins)

  • GitHub #186: UOE with modifying a BBox
  • JOSM #21086: ConcurrentModificationException in PointObjectLayer
  • JOSM #21118: Failed to remove primitive
  • Fix an issue where logging in would result in the login button still being present after JOSM restart

Attempt to fix JOSM #21075: Probable concurrent modification

Fix JOSM #21070 and #21072 (hopefully)

The issue occurred when there were two objects in the stream with the same key. I don't know how it happened, and was unable to reproduce even when adding a second key into the json.

This patch hopefully fixes the issue, but due to not being able to reproduce, it is unknown if this fixes the issue.

360 Images: Now properly show what is 360 and what isn't

Image Detections and misc fixups

  • Image Detections now draw properly, and are properly highlighted when selected
  • Users can now log in (application secret is not in source code, currently requires source code modification)
  • Fix JOSM #21049: Wrong image URL in image info pane
  • Drop camera make/model filters (no API)

Point object detections: update max zoom, fix rendering issues

This also allows the user to select an object and (hopefully) get an image that shows it. The selection code is not yet stable, so you might not get the "right" image.

MapillaryURL: Default to getting computed and non-computed info

Rework preferences, fix some bugs

The preferences panel has been reworked to remove most obsolete/unused options.

GitHub #184 is fixed (image viewer was not being moved back to the main dialog after using the color picker)

No longer pre-cache nearest Mapillary images

The next/previous images on the current sequence are still pre-cached, but the nearby images (red/blue buttons) are not precached. This is due to the significant amplification of API calls from the caching the imagery.

MapillaryCache: Fix JOSM #21035: IAE when rate limited

Test updates, fixes for some exceptions thrown when api rate limits reached

See JOSM #21028, #21029, #21030 for the rate limit issues.

API Rate Limiting: Notify when reached

  • Notify user when API rate limit is reached
  • Notify user when something else happens that is not handled
  • Fix JOSM #20999/#21015: IAE when creating a new array list
  • Avoid caching most bad returns
  • Disable ImageDetection until v4 API gives me geometry
  • FIXUP: Highlight selected image as well as hovered images
  • Mapillary API: Use OAuth Authorization headers for non-tiles
  • Fix JOSM #21002, #21020, #21024 (partial): Mapillary image date is not displayed
  • ImageInfoPanel: Correctly account for no organization

Mapillary v4 API support

  • Most API calls should only be called once (this should reduce network traffic)
  • It currently appears that detection tiles are not shown
  • There is no current method to get detection geometry to show in the image viewer
  • Image loading has been moved off of the EDT (this should improve performance of the map view -- time taken to image shown is still the same)
  • Some naive handling for server errors exist (i.e., we don't crash).
    • Hitting API limits is not well handled -- this may mean that caches need to be cleared. If this happens, the exact error is logged and can be seen in the JOSM status report. This might not appear with the production key (testing was done with a custom API key)

Fix JOSM #20999 and #21015: IAE when creating a new array list

Performance enhancements

  • No longer get multiple image info in singletons (batch them)
  • Avoid calling detection endpoints multiple times

Fix JOSM #20961: CME in ImageDetections#getDetections

Enable organization filtering for non-logged in users

  • Fix JOSM #20951: Webstart does not allow file access in common ForkJoinPool
  • Disable user filter to avoid confusion

UI changes and bug fixes

MapillaryMainDialog:

  • Increase next/previous button sizes
  • First/last buttons now remember which image they came from, and will go back if clicked prior to the next navigation action
  • Fix potential deadlock

SelectNextImageAction:

  • Prefix most shortcuts with Mapillary: to make them easier to find

Caches:

  • Fix a crash in Java WebStart (ForkJoinPool common pool does not allow file access).

Fix CME (JOSM #20948) and image deselection (GitHub #180).

MapillaryFilterDialog: Update to work with new primitive types

  • Fix JOSM #20769 (Mapillary Expert Filter/Mapillary Filter dialogs shared preferences)
  • Move from LocalDate to Instant for many things (JOSM is also doing that)
  • Fix a couple of crashing issues