1779 Commits

Author SHA1 Message Date
Martin Raifer
95d34835e2 upgrade sinon, don't exclude it from dependabot anymore 2025-06-04 10:14:53 +02:00
Martin Raifer
bd71ccba17 fix false positive "unreachable oneway" validation cased by oneway=-1
fixes #11068
2025-05-27 14:44:51 +02:00
Martin Raifer
ac59197632 simplify raw tag editor ui and logic (#10889)
* always show empty line at bottom of the tag list to allow adding more tags (replaces `+` button and tab logic)
* disable delete and info buttons on empty tag
* replace deferring of tag change events and re-rendering with a simpler logic (to fix issues like #10871):
  only set input field values if the rendering event was triggered by an external event, or by a change of the respective field in the raw tag editor itself
* skip delete and tag info buttons while navigating using tab: makes it more quick to get to where one typically needs to, deleting a key using the keyboard only is possible by emptying the tag's key, and advanced users are not typically using the `i` button anyway
2025-05-12 18:21:55 +02:00
Martin Raifer
5c721808c6 change variables for better readability, closes #11022 2025-05-06 11:25:32 +02:00
Martin Raifer
3ab0378ec3 fix test 2025-04-29 16:06:28 +02:00
Martin Raifer
19957d0e39 keep photo viewer state on reset, properly clean up active marker
when switching between photos from different providers

fixes #10987
2025-04-29 09:38:18 +02:00
Chaitanya Kadu
552c6b6148 preserve step_count/… while joining ways (#10926)
* preserve the sum of certain tags (`step_count`, `parking:*:capacity`) during _join_ operation
* preserve total value of `parking:*:capacity` tags during _split_ operation by distributing it proportionally to the resulting ways
* the abstract osm entity now accepts a list of tags to override during the merging, but otherwise is agnostic about how tags can be merged: the concrete merging resolution might depend on the concrete action that was performed
2025-04-17 14:13:53 +02:00
Martin Raifer
afce723b74 only consider proper lifecycle tagging in "past/futures" layer (#10943)
fixes #10186, where features with e.g. `intermittent=yes` were incorrectly sorted into the past/futures layer

now only features with correct tagging are included in the "past/futures" layer:
* either the "legacy" lifecycle tagging (e.g. `highway=construction`)
* or proper lifecycle prefix tags (e.g. `disused:shop=convenience`)
2025-04-17 12:47:10 +02:00
Martin Raifer
10030bb4ae display explicit "context" tags of deprecation rules, closes #10104 2025-04-15 11:52:45 +02:00
Martin Raifer
1705bb97e5 clean up preferred locale codes after tests 2025-03-24 15:31:41 +01:00
Kyℓe Hensel
fd49a10f1c consider language scripts when determining the locale to use (#10910) 2025-03-24 14:27:18 +01:00
Martin Raifer
c6ad3e9a33 drop unneeded duplicate test; lint code 2025-03-21 17:58:22 +01:00
Martin Raifer
7d933f3875 add default implied access values for ways with "motorroad=yes"
see https://wiki.openstreetmap.org/wiki/OSM_tags_for_routing/Access_restrictions
addresses https://github.com/openstreetmap/id-tagging-schema/issues/609
2025-03-20 13:54:51 +01:00
Martin Raifer
771ad4dbd9 fix calculation of access field placeholder on multiselections 2025-03-20 13:54:47 +01:00
MOHAMED ALI FAWZI
9590c88646 Panoramax: Adopt "copy id" feature from mapillary (#10856) 2025-03-19 20:13:46 +01:00
Mattia Pezzotti
d1e5c2910c add date slider for street level photos, and more (#10394)
full list of enhancements:

* year slider to filter photos by freshness
* toggle active streetlevel layers with shortcut `shift+P`
* hfov, pitch and direction is now held between sequences and images as asked in #10392
* fix for #10361 (only panoramax)
* added tests and jsdoc
* add ticks for existing photos on slider
* general bug fixes
* rudimentary support for toDate in date slider (only when iD is started with a "to" date in the hash parameter: show a second slider to visualize and set the "to" date)

---------

Co-authored-by: Martin Raifer <martin@raifer.tech>
2025-03-18 21:09:37 +01:00
Martin Raifer
6ec6917dbc add ignore-list for presets which should not be checked for suspicious names
closes #10884
2025-03-17 13:51:20 +01:00
Martin Raifer
58cb5a0b80 also check preset aliases in suspicious names validation
see #9522
2025-03-17 13:31:26 +01:00
dragoon
e6c379053e fix coordinate search with / symbol (#10879) 2025-03-14 19:31:04 +01:00
Martin Raifer
607f953465 add alternative formats for coordinate search: (#10805)
* zoom/x/y – copy/paste from an osm.org URL or web map with map-hash param (this also sets map zoom to the respective value)
* x/y – like the above, but does not set zoom level
* x y – where x and y are numbers in the user's locale's number format
2025-03-11 21:20:21 +01:00
Martin Raifer
a33c340356 adjust tests for new rate limit handling
see 91aa85a1c
2025-03-11 16:00:43 +01:00
Martin Raifer
91aa85a1c0 better handling of rate limited API map calls and other API errors
* retry all unsuccessful map calls after waiting 8 seconds (spinner continues to indicate loading state)
* also logged-in users can be rate limited: add dedicated error message
* don't log users out when requests return 401/403 (except on the _get own user data_ request, which would indicate that the oauth token was revoked): it's better to show the error message if a legitimate api call was actually unauthorized

closes #10299
2025-03-11 15:40:05 +01:00
Kyℓe Hensel
9d16588f19 move deprecatedTags logic out of osmEntity and into a helper function (#10842) 2025-03-07 18:29:25 +01:00
Kyℓe Hensel
a41e8c48d2 separate tag-upgrade warnings from NSI suggestions (#10801) 2025-03-05 12:42:40 +01:00
Kyℓe Hensel
7beace6698 add a changeset tag if a merge conflict occurred (#9636) 2025-03-05 12:38:32 +01:00
Kyℓe Hensel
38d2ccd866 isHighwayIntersection only applies to nodes, so remove from osmEntity (#10831) 2025-03-04 11:29:29 +01:00
Martin Raifer
918126e5f8 revalidate entities with changed relation memberships 2025-02-18 13:19:32 +01:00
Kyℓe Hensel
6f16060a78 mass-replace done() function with async/await (#10781) 2025-02-17 13:10:04 +01:00
Justin Tracey
d6ee1bb4cd add crossing:markings tag when connecting crossing (#9586) 2025-02-17 12:57:25 +01:00
Kyℓe Hensel
ef88e1c7ca fix destination_sign relations not updated when splitting a way (#10646) 2025-02-17 11:46:42 +01:00
Kyℓe Hensel
8f9d7e01bf validate suspicious names using the user's language (#9522) 2025-02-17 11:42:04 +01:00
Kyℓe Hensel
f513ccd03d enable intellisense for the main classes (#10618) 2025-02-17 11:35:50 +01:00
Martin Raifer
be8dd830d8 properly convert callback to a promise (#10773) 2025-02-16 11:08:08 +01:00
andrewpmk
a7038955ca Revalidate disconnected_way and impossible_oneway errors on change (#8911) 2025-02-15 18:45:32 +01:00
Martin Raifer
9f2b00f8c4 Merge branch 'develop' into way-reverse-dont-change-red-turn-direction 2025-02-13 11:00:58 +01:00
Kyℓe Hensel
c1ca888b72 linkify keys & tags in the preset docs from the wiki (#10763) 2025-02-12 15:42:29 +01:00
Kyℓe Hensel
4747ae253c refactor isOneWay to properly support bidirectional ways (#10730) 2025-02-12 14:22:09 +01:00
Kyℓe Hensel
6328776df1 Fix + symbol appearing in changeset comments from external tools (#10766) 2025-02-12 14:13:15 +01:00
Martin Raifer
f3a985f78b ways with more than 2000 nodes: prevent lockup and provide validator-fix (#8808)
* add validation & fix for way vertices limit imposed by OSM API (try to choose splitting locations at existing intersection vertices if possible)
* fix splitting of closed ways at two or more nodes:
  this bug resulted sometimes in one extra split point in the result, or one of the split  vertices to be left unsplit
2025-02-11 20:08:38 +01:00
Martin Raifer
121f3e2fb8 don't reauthenticate on HTTP 400 errors
since these are likely unrelated to authentication issues, but rather have to do with generic API errors or outages
2025-02-11 16:29:01 +01:00
Kyle Hensel
f244e63661 validate crossing aeroways (#9315) 2025-02-05 14:42:32 +01:00
Kyℓe Hensel
a2e347ac97 prevent degenerate ways caused by deleting a corner of a triangle (#10003) 2025-02-05 14:38:03 +01:00
burrscurr
841991055c don't change direction of red_turn when way is reversed
Fixes #10736
2025-02-05 12:57:00 +01:00
burrscurr
f1d67e70e0 improve test coverage for reversing of turn lane values 2025-02-05 11:07:55 +01:00
Kyℓe Hensel
2c0f8a4b5f handle cycleway:both=* (#9587)
this works for any `directionalCombo` field, including `sidewalk:both`
2025-02-05 10:41:48 +01:00
Nick Doiron
6dcc73cf7c Add lang atttribute on multilingual names, wikidata/wikipedia fields (#10716)
This improves rendering of CJK names that contain unified ideographs that share a unicode codepoint, such as 化.
2025-01-31 13:49:49 +01:00
Kyℓe Hensel
5735b2509d ignore relations by default in the extract operation (#9816)
using Shift+E allows the node **and its relations** to be extracted (the old behaviour)
2025-01-30 11:25:01 +01:00
Kyℓe Hensel
3011acc23c fix occasional test failures (#10690) 2025-01-22 15:16:45 +01:00
Kyℓe Hensel
1c5b3b4051 use a more visible colour for oneway arrows on dark lines (#9143) 2025-01-15 11:38:36 +01:00
Kyℓe Hensel
fb8b969c3f fix non-integer layer tag causing invisible features (#9933) 2025-01-15 11:35:18 +01:00