- Unconnected level crossings
- Unconnected highway features/barries
- Unexpected punctuation/symbols in tag values
- Unbalanced parentheses/quotes in name values
- Invalid date formats
- Access tagging that permits all transport modes
- Elements with a "name" tag and no main tagging
- Relations missing a "type" value
When I added special handling for mapillary errors the code was trying
to access translation strings nested under the error category (which
doesn't exist for all error types). This code is now moved into it's own
function so that variable hoisting doesn't run it for non-applicable
error types and prevent them from working.
- Also adds support for error type 3040 (bad tag value)
- Updated the Osmose sidebar UI title
Also adds support for the following error types:
- Objects mapped as both node/area or way/area
- Power lines that lead to nowhere
- Extra nodes in power lines (which should only go from support to
support to endpoint)
- Power line supports with no power lines
- Missing parking access
- Malformed opening hours tagging
- Objects detected by Mapillary that aren't mapped
- Traffic sign information detected by Mapillary that isn't mapped
Mapillary errors add example code for special error type handling as
they don't need to request further details and can use piecewise
translation strings
Some error types don't require unique strings and can share common
strings among the category. This makes that possible as well as adding
support for some other types of error for demonstrative purposes.
Filters out errors not present in the data .json file to enable
selective support since Osmose has a wide variety of errors which may be
too advanced for iD.
Also added processing for the elements associated with an error for
forced visibility and highlighting.
I've converted the improveOSM errors to use this new generic QA error
structure which should allow for more general code to be used in
behaviour and UI.
Sidebar preview is currently broken, but will be fixed shortly.
As per my last commit, this icon differentiates errors from points and
still allows us to specifiy icons for errors to differentiate them amongst
eachother.
I learned quite a bit about SVGs and using them in HTML while
implementing this 😝Had some issues getting the icon to center in the
header so resorted to using a flexbox instead of absolute positioning
being used elsewhere.
Fix similar orange colours by using the same zoomed in colours as
ImproveOSM for missing geometry (i.e. pink for roads).
This frees up red for turn restrictions (as they are typically signed in
red) and therefore blue for one-ways (as they tend to be signed blue or
black).
Before: We drew 2 fontawesome comment icons, on on top of the other
After: Moved icon into iD spritesheet and gave it an actual `stroke` property that can be styled
- I made the buttons work like GitHub comment-on-issue buttons
before typing: "Close Note" / "Comment" (disabled)
after typing: "Close and Comment" / "Comment" (enabled)
- I removed a bunch of the event dispatches. These are useful for sending
events to listeners/observers outside of the module. In this case I think
we can handle most of the things from within the uiNoteEditor. We can still
dispatch an 'update' event so that modeSelectNote can reselect and redraw
the note after some change happens to it.
TODO - make the buttons work / check the OSM API stuff.