More dark mode, less missing data
Here we are yet again! These are the changes we made to the website since the last update.
User interface
- We updated iD to version 2.37, which includes Dark Mode! This goes hand in hand with new preferences to let you choose different color modes for website, map, and editor. Remember that to see the map in dark mode, you’ll have to select the Shortbread or Transport Map layers.
- We also applied a MapLibre update enabling italics for CJK text. This can be seen on the MapTiler OMT layer (specifically, park labels in that layer).
- We redesigned the contextual menu on the map, with larger, more readable text as well as icons.
- The English version of the the map legend is now called “Legend” (instead of “Map Key”) as that’s the name used elsewhere. This will be different across languages, but may help with consistency across all.
- We now recognise new element tags so that they render with relevant links.
- The buttons in the profile page looked a bit misaligned, so we have aligned them!
Data and API
- We added a confirmation button to warn of a potentially large download when exporting Overpass data.
- When exporting directions, now we serve the correct MIME type, which advises browsers to append the correct extension
.geojsonon downloaded files. Right now this can be seen on MacOS browsers, with a Windows fix incoming - We added missing profile details such as social links to the API.
- Also missing no longer is the username in our OpenID integration.
- Tweaks to data handling, ensuring the correct counts of changes in changesets and addressing race conditions in uploads.
Developer Experience
- As usual, we upgraded many dependencies. This included bumping Rails to v8.0.4 as well as removing a lock that prevented minitest from upgrading.
- We enabled ActionMailer Previews, which allow us to… preview emails in development! Much easier than what we were doing until now. This was followed by actually adding the previews.
- We reworked the local installation instructions, making sure they stay up to date and relevant.
Code refactors and cleanups
- We cleaned up the backend test suite a bit, by adding new tests, working around a strange Selenium behaviour, and making sure we don’t rely on implicit order of DB results.
- On the frontend, we refactored how we handle cookies, removed redundant icons, made sure to only run code when needed, and dropped code that gave the impression of support for IE9.
- In the realm of DevOps, we tweaked the Docker config to clean up unused files, removed support for development with Vagrant, and cleaned up leftovers from our old TravisCI setup.
- And finally a bunch of removals, including unused initializers (one and two), unnecessary library loads (un et deux), some files related to Google Webmaster tools, as well as moved TODO comments to GitHub issues.
- (OK, we also added some whitespace to give us better breathing room
).
We have the best contributors
- This month we had first-time code contributions from @Emmanuel_Jolaiya, daishu0000, and pReya.
- Along with old-timers @ENT8R, @TomH, @mmd, @hlfan, @Andy_Allan, rkoeze, @Emmanuel_Jolaiya, @tyr_asd, daishu0000, @Minh_Nguyen, and myself (@pablobm).