Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to iD v2.18.2 #2720

Merged
merged 6 commits into from
Jul 21, 2020
Merged

Update to iD v2.18.2 #2720

merged 6 commits into from
Jul 21, 2020

Conversation

quincylvania
Copy link
Contributor

📣 Release Highlights

  • 🖐️ Touchscreen support! We've finally optimized iD for multi-touch mapping on tablets and 2-in-1 devices.

    Long-press on features to open the edit menu. Review the Help pane to see what else you can do.
  • 🗂️ Multiselection editing has been supercharged, so you can update many features together instead of one at a time.

    ⇧ Shift + click to select multiple features. On touchscreens, tap-and-hold one feature, then tap others to select them too.
  • ☑️ Osmose data quality issues can now be browsed and resolved within iD. Thanks, @SilentSpike, for this integration!

    Press F to open the Map Data pane and toggle on Osmose Issues under Data Layers.

🎉 New Features

You can now:

  • Open the edit menu on touchscreens by long-pressing on features (#7577)
  • Create multiselections on touchscreens by holding one feature while tapping additional features (#7590)
  • Add nodes to ways on touchscreens by double-tapping and dragging midpoints (#2677)
  • Drag nodes to reposition them on touchscreens (#7415)
  • Map with a stylus, including when navigating, selecting, drawing, and dragging (#1981, #7396)
  • Navigate the map with multi-touch in Edge and Internet Explorer 11 (#6598)
  • Use Space as an alternative to left-click for selecting and deselecting features (#3843)
  • Open the edit menu by long-clicking or holding down Space while hovering over features
  • Nudge selected features with the arrow keys when holding ⇧ Shift (#7186)
  • Copy and paste features via the edit menu, including on touchscreens (#2508)
  • Edit the fields and tags of multiple selected features all at once (#1761, #7262, #7306)
  • View the issues shared by multiple selected features (#7324)
  • Browse and resolve Osmose quality assurance issues (#5682, #7095, thanks @SilentSpike)
  • Add basic WMS endpoints as custom background layers (#4977, #7510, thanks @1ec5)
  • Get the latest brand presets and OSM community resources whenever you launch iD (#4994)

💥 Breaking Changes

  • Pressing Space with features selected no longer opens the edit menu, since the spacebar can now be used to select and deselect things. You can use the menu key instead, or hold down Space with the cursor hovering over a feature
  • ⚠️ There are numerous under-the-hood code changes. See the Development section below for details

✨ Usability

Interactions
  • Don't show tooltips for non-mouse interactions (#6035)
  • Flash feedback when tapping some buttons on touchscreens (#7699)
  • Use larger map targets for touch and stylus input to make interactions easier (#7643)
  • Prevent browser page navigation when swiping with a multi-touch trackpad or mouse in the map (#5552, #7659)
  • Don't zoom the entire interface via double-tap or pinch-to-zoom on touchscreens (#6049)
  • Disable elastic page bouncing on standalone iD (#7576)
  • Make it easier to select features via clicking with a multi-touch mouse
Operations
  • Support disconnecting multiple selected features from each other and from all connected features (#7652)
  • Support circularizing multiple selected areas and closed lines at once (#7326)
  • Make the Extract operation work immediately without an extra step to place the point (#6674)
  • Support the Extract operation on lines that could be mapped as points (#7598)
  • Support extracting points from multiple selected features at once (#7600)
  • Disable the Straighten operation for ways that are already straight (#7658)
Sidebar
  • Accept more formats when searching for nodes, ways, and relations by ID (#7627, #7282, #7775, thanks @blackboxlogic)
  • Highlight the corresponding feature in the selection list when hovering on a feature in the map (#2949, #7628, thanks @jgscherber)
  • Don't discard tags with empty values when toggling from the text to table tag editor (#7297, #7363, thanks @zengchu2)
  • Improve sorting of lassoed points in the selected features list (#7729)
  • Make the selected features list a labeled, collapsible section of the inspector (#7273)
  • Add a label to the "change feature type" button (#6811)
  • Wrap long feature type labels to multiple lines (#7722)
  • Move the "Zoom to this" button to be with the other zoom buttons on the side of the map (#6601, #7391)
  • Change misleading "Translate" tooltip to "Add multilingual name" (#7486)
  • Add "key=value" placeholder to the text tag editor
  • Focus the relation role input when clicking its label (#7690)
  • Autofocus Description field when adding a new OSM note (#7680)
  • Prevent browsers from showing their own list of autocomplete values for fields (#6444)
Map
  • Update the Locator Overlay (#7025, thanks @mikelmaron)
  • Enable the Mapillary detected Map Features layer everywhere (#7762, thanks @nickplesha)
  • Make way midpoint positions account for the taller toolbar (#7640, #7642, thanks @jgscherber)
  • Move corridors from the paths layer to the indoor features layer (#7478, #7548, thanks @JamesKingdom)
  • Render the focused feature at any zoom level during conflict resolution (#7330)
  • Support the {@2x} and {r} parameters for dynamic retina tiles in custom backgrounds (#7712)
Tools
  • Include contextual information in the page title (#6209, #7444, thanks @CarycaKatarzyna)
  • Point OSMCha links to the new site (#7555, thanks @willemarcel)
  • Add toggle buttons for the History, Measurement, and Location panels (#6397)
  • Add L shortcut to toggle the display of the device's current location (#7395)
  • Style the "Show My Location" button as enabled while the location is being shown (#7390)
  • Flash error feedback when locating the device if the location is unavailable
  • Show descriptive tooltips when Zoom In / Out buttons are disabled
  • Show more calculations in the Measurement panel when multiple features are selected (#7329)
  • Flash error feedback when attempting to draw self-intersecting lines or areas
  • Redact API tokens detected in custom background imagery sources (#6801)

✅ Validation

  • Improve connection of "Almost Junctions" when the lines are nearly co-linear (#7201, #7309, thanks @SilentSpike)
  • Deprecate various type tag values related to utilities (#7514, thanks @guylamar2006)
  • Deprecate building=pavillion misspelling (#7749, thanks @peternewman)
  • Disable copy and paste of features that aren't mostly visible (#7603)
  • Disable straightening features that aren't mostly visible (#7675)
  • Disable merging lines when it would result in a line exceeding the maximum nodes-per-way of the API (#6030)
  • Enforce the maximum Unicode character length for tag keys and values, as well as relation roles (#6817)
  • Prevent self-intersection when drawing lines and areas on touch devices (#7423)
  • Fix tolerance when flagging very close nodes that are members of multiple ways (#7379)
  • Don't flag empty tag values as outdated
  • Don't flag Google Drive as an incompatible data source (#7545)
  • Deprecate various parking tag values (#7578)
  • Deprecate various tower:type values for newly-approved line_management tag (#7726)

🐛 Bugfixes

  • Fix issue where panning without zooming could become impossible on touchscreens (#6745)
  • Don't persist the hover styling after tapping buttons on touchscreens (#7432)
  • Fix issue where vertices may not disappear when deselecting lines and areas (#7419)
  • Fix issue where drawing features too quickly on touchscreens could zoom the map (#2128)
  • Fix issue where map data may not be selectable with a single tap on touchscreens (#7380)
  • Don't grey out the map during conflict resolution (#6547)
  • Fix issue with the feature type label not updating properly when combining features (#7349)
  • Fix issue where merging a point matching a fallback preset into an area could discard tag values (#7446)
  • Fix issue where the edit menu could persist even after deselecting the feature (#7143)
  • Fix cases where the Mapillary Image ID link button might appear disabled unexpectedly (#7570)
  • Fix cases where merging the endpoint of a looped way with an adjacent point could break the loop (#7553)
  • Don't add a value when focusing the Memorial Type field when it's empty (#7569)
  • Don't add default field values when upgrading to a replacement preset (#7613)
  • Don't autocapitalize custom multilingual name languages (#7156)
  • Properly show the delete button for filled multilingual names even if no name tag is present (#7572)
  • Fix issue where iD may overflow its container and cause scrollbars to appear while drawing (#7560)
  • Fix infinite recursion error when creating cyclical relations (#7691)
  • Prevent lasso from selecting hidden points (#7728)

⌛ Performance

  • Request JSON responses from the OpenStreetMap API for supported endpoints (#7188, thanks @mmd-osm)
  • Improve performance considerably when editing some types of long lines (#7656)

🎓 Walkthrough / Help

  • Show touch-specific instructions in the walkthrough when the mapper is using a touchscreen (#7692, #7745)
  • Include information about touch interactions in the help docs
  • Use mouse/touch icons in the walkthrough and style shortcuts as keyboard keys
  • Reference interface labels directly in the help docs to ensure they always correspond to what's onscreen

🚀 Presets

New Presets
  • Add Model Shop preset (#7776, #7779, thanks @nisargshh)
  • Add Office Building, Pigsty, and Cowshed presets (#7539)
  • Add Covered Reservoir preset (#7534)
  • Add Shoe Repair Shop preset (#7562)
  • Add Orthodontist preset (#7575)
  • Add Bubble Tea Cafe preset (#7632)
  • Add Collectibles Shop preset (#7588)
  • Add Free Box preset (#7574)
  • Add Goods Conveyor preset (#7637)
  • Add Trophy Shop preset (#7641)
  • Add Vacuum Cleaning Station preset (#7483)
  • Add Emergency Room Entrance preset (#7725)
  • Add Destination Sign relation preset (#6970)
  • Add Coffeehouse and Courtyard presets
Changed Presets
  • Rename Metal Construction preset to Metalworker (#7549, #7568, thanks @animesh-007)
  • Don't add seamark:type=light_major to lighthouses by default (#7621, thanks @Eric-Sparks)
  • Don't support using the Foot & Cycle Path preset in Germany (#7703, thanks @henry4442)
  • Limit the Bail Bond Agent preset to the United States and the Philippines
  • Rename Summit Cross preset to Cross (#7678)
  • Rename Road Closed preset to Closed Road
  • Rename Organic Goods Store preset to Organic Supermarket and add Organic Products field (#7714)
  • Add "Play" to the names of several playground equipment presets (#7730)
  • Support Quarry features as points (#7515)
  • Support Marine Fuel Station features as vertices
  • Add search terms to Lift Gate, Height Restrictor, and Storage Rental (#7537, #7538, #7681)
New Fields
  • Add Support, Color, and Material fields to Post Box (#7738, #7777, thanks @yyazdi13)
  • Add Type field to Ruins (#7507, thanks @hikemaniac)
  • Add Automated field to Car Wash (#7580, #7584, thanks @animesh-007)
  • Add Fee field to Nightclub (#7579, #7585, thanks @animesh-007)
  • Add Real Fire field to pub presets in Ireland and the United Kingdom (#7630, thanks @rory)
  • Add Image field (#7531)
  • Add VHF Channel field to Marina (#7622)
  • Add Grades field to school presets (#7571)
  • Add Type field to Closed Road (#7519)
  • Add Line Management field to High-Voltage Tower and Power Pole (#7726)
  • Add Destination field to Waterway relation preset (#7532)
  • Add Total Ascent, Total Descent, and Forms Loop fields to route presets (#7671)
  • Add Phone and Website fields to commercial building presets (#7541)
  • Add Mount and Type fields to Street Lamp
Changed Fields
  • Allow custom values in the Public Bath Specialty field (#7481)
  • Remove Both/All option from Yield Sign Direction field (#7581)

🔨 Development

  • ⚠️ Add dedicated initialization step to coreContext (#7304)
  • ⚠️ Remove various convenience functions of coreContext
  • ⚠️ Fetch JSON resources asynchronously at runtime using coreFileFetcher instead of bundling them (#4994)
  • ⚠️ Add coreUploader to manage programatic uploading of edits (#7247, #7333)
  • ⚠️ Wrap localization functionality into global localizer singleton of coreLocalizer
  • ⚠️ Replace context.storage() with global prefs singleton of corePreferences
  • Add optimized coreTree.waySegments endpoint to return edges overlapping an area
  • Resolve browser cookie warning by using samesite=strict (#7596)
  • ⚠️ Remove deprecated radial menu and "tail" behavior
  • Add endpoints for setting the changeset parameters programmatically (#7614)
  • Add endpoints for customizing the page title behavior (#7503)
  • ⚠️ Switch to pointer events on supported browsers, with fallback to mouse events (#5505)
  • ⚠️ Namespace iD's id HTML attributes under ideditor- to avoid collisions
  • Fix cases where iD might miscalculate element positions when embedded (#7551)
  • Replace Greenkeeper with Dependabot for keeping dependencies up-to-date (#7430)

@tomhughes
Copy link
Member

Bombs with Uncaught TypeError: iD.Detect is not a function when loading iD...

@quincylvania quincylvania changed the title Update to iD v2.18.0 Update to iD v2.18.1 Jul 20, 2020
@quincylvania
Copy link
Contributor Author

@tomhughes Thanks for catching that. I've updated the initialization steps for the new endpoints.

@tomhughes
Copy link
Member

Still doesn't start I'm afraid. We get a load of 404s for /iD/data/discarded.min.json and similar and a blank space where iD should be...

@quincylvania quincylvania marked this pull request as draft July 21, 2020 00:45
@quincylvania
Copy link
Contributor Author

@tomhughes Oh, we unbundled most of the data files in this release and have to copy them over separately.

Also, I was wondering if there's any reason not to use iD's minified JavaScript file?

@tomhughes
Copy link
Member

OK so now it starts but there is something odd going on... I'm using my dev instance but it is fetching map data from the production site?

@tomhughes
Copy link
Member

To answer the second question it's certainly possible but normal rails design is to have the original source so that in dev mode it will serve that and you can debug and then in production mode it will be passed through your chosen pipeline of compressors etc.

@quincylvania
Copy link
Contributor Author

quincylvania commented Jul 21, 2020

I'm using my dev instance but it is fetching map data from the production site?

Hmm can you point me to the file on the rails site where it should be requesting the dev database?

To answer the second question it's certainly possible but normal rails design is to have the original source so that in dev mode it will serve that and you can debug and then in production mode it will be passed through your chosen pipeline of compressors etc.

Sounds good. I did switch the site to use the ES5-compatible version of iD.js since we started using ES6 features in this release. But it's fine for you all to continue handling the minification.

@tomhughes
Copy link
Member

I was looking earlier and it's not clear to me that we provide an API endpoint explicitly but I do know that somehow in previous versions it was hitting the API for the site it was loaded from.

We can easily provide the URL if there's a parameter for it?

@tomhughes
Copy link
Member

Maybe it was from the urlroot parameter that is passed to the preauth call?

@quincylvania quincylvania changed the title Update to iD v2.18.1 Update to iD v2.18.2 Jul 21, 2020
@quincylvania
Copy link
Contributor Author

Maybe it was from the urlroot parameter that is passed to the preauth call?

Okay yes, this appears to be it. There was an issue with preauth not working, so iD was defaulting to the production database.

@quincylvania quincylvania marked this pull request as ready for review July 21, 2020 14:32
@tomhughes tomhughes merged commit cf3c631 into openstreetmap:master Jul 21, 2020
@quincylvania quincylvania deleted the iD-2.18.0 branch July 21, 2020 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants