<blockquote>
<p>my only problem with your approach is that you are rewarding doing the wrong thing and not supplying a solution for devs that don't want to go that route, forcing us to emulate JOSMs broken behaviour.</p>
</blockquote>
<p>That would be a strong case for having some kind of separate API call to query the most recent upload status based on some token, or (permitting incompatible changes) allowing a single upload per changeset only, and then query the changeset status using the existing API calls.</p>
<p>A compromise here could be, to provide an additional option in the changeset upload message, to "auto close" a changeset, again allowing devs to decide if they want to opt in here. I'm sure that would work out pretty well for iD, as they allow a single upload per changeset anyway. Querying the changeset status upload right after the fact would be just a very natural thing to do then.</p>
<blockquote>
<p>Do we have an idea of how big this problem actually is?</p>
</blockquote>
<p>I'm with <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=360803" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gravitystorm">@gravitystorm</a> here: <em>I'm reasonably keen to see the API become fully idempotent. Network requests / responses / connections are lost for all kinds of reasons, and are more likely to happen the worse your internet connection (mobile, rural, far from OSMF's datacentres etc).</em></p>
<p>Maybe it's not obvious, why I'm pushing this topic at all. Changeset uploads bothered me from time to time in the past, be it that the upload took too long, or the network had some intermittent issues. It's also reports like (<a href="https://github.com/openstreetmap/iD/issues/4717#issue-290221092" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/iD/issues/4717/hovercard">this one</a>), that made me think, yes we should probably do something here.</p>
<p>For a better overall user experience, the overall work is split up in 3 major topics:</p>
<ul>
<li>Faster upload (<a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="426322362" data-permission-text="Issue title is private" data-url="https://github.com/openstreetmap/operations/issues/293" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/operations/issues/293/hovercard" href="https://github.com/openstreetmap/operations/issues/293">openstreetmap/operations#293</a>)</li>
<li>Allowing compressed uploads (<a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="290255180" data-permission-text="Issue title is private" data-url="https://github.com/openstreetmap/operations/issues/193" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/operations/issues/193/hovercard" href="https://github.com/openstreetmap/operations/issues/193">openstreetmap/operations#193</a>)</li>
<li>Idempotency (<a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="430010870" data-permission-text="Issue title is private" data-url="https://github.com/openstreetmap/openstreetmap-website/issues/2201" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/openstreetmap-website/issues/2201/hovercard" href="https://github.com/openstreetmap/openstreetmap-website/issues/2201">#2201</a>)</li>
</ul>
<p>The idea is, no matter how bad or broken your internet connectivity is, we want everyone to contribute.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/issues/2201#issuecomment-485230581">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLIPOPICOPTKH6AJY5TPRQHRFANCNFSM4HEAKOPQ">mute the thread</a>.<img src="https://github.com/notifications/beacon/AAK2OLOLJLJC25AVS54WBUDPRQHRFANCNFSM4HEAKOPQ.gif" height="1" width="1" alt="" /></p>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/openstreetmap/openstreetmap-website","title":"openstreetmap/openstreetmap-website","subtitle":"GitHub repository","main_image_url":"https://github.githubassets.com/images/email/message_cards/header.png","avatar_image_url":"https://github.githubassets.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/openstreetmap/openstreetmap-website"}},"updates":{"snippets":[{"icon":"PERSON","message":"@mmd-osm in #2201: \u003e my only problem with your approach is that you are rewarding doing the wrong thing and not supplying a solution for devs that don't want to go that route, forcing us to emulate JOSMs broken behaviour.\r\n\r\nThat would be a strong case for having some kind of separate API call to query the most recent upload status based on some token, or (permitting incompatible changes) allowing a single upload per changeset only, and then query the changeset status using the existing API calls.\r\n\r\nA compromise here could be, to provide an additional option in the changeset upload message, to \"auto close\" a changeset, again allowing devs to decide if they want to opt in here. I'm sure that would work out pretty well for iD, as they allow a single upload per changeset anyway. Querying the changeset status upload right after the fact would be just a very natural thing to do then.\r\n\r\n\u003e Do we have an idea of how big this problem actually is? \r\n\r\nI'm with @gravitystorm here: _I'm reasonably keen to see the API become fully idempotent. Network requests / responses / connections are lost for all kinds of reasons, and are more likely to happen the worse your internet connection (mobile, rural, far from OSMF's datacentres etc)._\r\n\r\nMaybe it's not obvious, why I'm pushing this topic at all. Changeset uploads bothered me from time to time in the past, be it that the upload took too long, or the network had some intermittent issues. It's also reports like ([this one](https://github.com/openstreetmap/iD/issues/4717#issue-290221092)), that made me think, yes we should probably do something here. \r\n\r\nFor a better overall user experience, the overall work is split up in 3 major topics:\r\n\r\n* Faster upload (https://github.com/openstreetmap/operations/issues/293)\r\n* Allowing compressed uploads (https://github.com/openstreetmap/operations/issues/193)\r\n* Idempotency (https://github.com/openstreetmap/openstreetmap-website/issues/2201)\r\n\r\nThe idea is, no matter how bad or broken your internet connectivity is, we want everyone to contribute.\r\n"}],"action":{"name":"View Issue","url":"https://github.com/openstreetmap/openstreetmap-website/issues/2201#issuecomment-485230581"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/issues/2201#issuecomment-485230581",
"url": "https://github.com/openstreetmap/openstreetmap-website/issues/2201#issuecomment-485230581",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>