GSoC Final Report: Progress on Modernizing iD Editor Session Management
Testing Disclaimer: The IndexedDB migration pull request [#11141] has been merged and is available for testing. The server-side synchronized preferences pull request [#11239] will soon be merged. I will update this thread as soon as it becomes available for community testing.
Hello again, OpenStreetMap community! It’s been an exciting few months since I introduced my GSoC project, and I’m thrilled to share the progress I’ve made on modernizing session management in iD Editor. The work has evolved beyond my initial scope, and I’m proud to report several major milestones that will significantly improve the editing experience for all iD users.
Major Achievements
1. IndexedDB Migration for History Storage [#11141]
I’ve moved iD’s history storage from localStorage to IndexedDB, and the difference is significant. localStorage is typically limited to around 5–10 MB depending on the browser, which means large editing sessions could quickly hit the ceiling. IndexedDB, on the other hand, can store hundreds of MBs of data depending on available disk space, so you can work on much larger sessions without running into storage limits. It also handles complex data far more efficiently, so performance should feel smoother, especially during longer mapping sessions.
For existing users, the transition is seamless. Your history data is automatically migrated the first time you open iD after the update, with no data loss and no extra steps required. Everything will continue to work just as you’re used to, but with more room to breathe.
On the technical side, this change introduces a new asyncPrefs API alongside the existing synchronous preferences, and I’ve added thorough test coverage to make sure migration works reliably in every scenario. It’s a solid foundation for the other improvements coming later in the project.
2. Server-Side Synchronized User Preferences Optimisation [#11239]
Have you ever opened iD on a new computer, only to find all your carefully chosen settings gone? Maybe your favorite background imagery, panel layout, or map display options were missing and you had to set them all up again. With the new synchronization, that frustration is gone. Now, your preferences live with your OpenStreetMap account. Log in from any device and your iD editor will instantly feel just the way you left it.
On the iD side, I added a way for the editor to talk directly to the OSM server about your preferences. When you log in, iD grabs your saved settings right away and applies them on the spot. Any tweaks you make while mapping are pushed back to your account in real time, so everything stays in sync. On the OSM website side, I made sure these preferences are already included when the iD page loads after login. This means no extra waiting around for API calls, things just feel faster.
This makes mapping smoother and more consistent. Whether you are editing from your desktop at home, a laptop while traveling, or even a shared computer at a mapathon, your iD setup will be right there with you. Less time fiddling with settings means more time actually mapping.
Thank You & Call for Testing
This progress would not have been possible without the support of the OSM developer community. I am especially grateful to the iD maintainers for their detailed code reviews and architectural guidance throughout this process.
If you are comfortable testing development builds, I would greatly value your feedback on the new preference synchronization experience; it is not yet merged or available on test instances but will be soon, so please follow this discussion for updates. While these changes are designed to be seamless for end users, real world testing often uncovers edge cases that cannot be found in controlled environments. Your observations will be key to refining the feature before it is released more broadly.
This is also a good moment to think about what settings iD’s user interface does not yet persist. If there is a preference you have always wanted in iD, something that would make your mapping more efficient or more enjoyable, I would love your suggestions too. For example, being able to set your own keyboard shortcuts could be a powerful addition. Your feedback here will directly guide which preferences improve the multi-device experience and which remain tailored to individual devices, and it could inspire entirely new customization features in future versions of iD.
Special thanks to my mentors @tyr_asd and @Minh_Nguyen whose continuous guidance and constructive feedback made this project possible. Their support not only helped me deliver the work but also deepened my understanding of the OpenStreetMap ecosystem.