<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>To speak to part of this:</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">To head that off, I’d like to fix rollbacks in general. So here I am, asking for what other people want from it.<br></blockquote><div><br></div><div>"Undo" is a really tricky problem if the data makes it to the database.</div><div><br></div><div>You can't roll back the transaction (it's committed).</div><div><br></div><div>You can't just write the old state directly to the DB — as soon as the change hits the database, Sync is going to upload those changes, altering metadata as it goes. (In general, you cannot write directly to Places at all.)</div><div><br></div><div>And writing a computed reverse-diff through the API is also hard to get right — by the time you try to change things back, Sync might have merged in new changes.</div><div><br></div><div>If data doesn't hit the database… well, that's another set of problems.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The editor window is too small and unresizable, the tag list changes width as you scroll it, etc. With my two extensions, tags are now (with ESR45) quite useful, and you can have minutes long sessions editing tags, making cancel a necessity. </blockquote><div> </div><div>If you're making changes over the course of minutes, and those changes are applied to Places, then those changes have synced to other devices and might indeed change underneath you during editing.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<a href="https://mail.mozilla.org/listinfo/firefox-dev" rel="noreferrer" target="_blank">https://mail.mozilla.org/<wbr>listinfo/firefox-dev</a><br>
</blockquote></div><br></div></div>