What Changed in July to December 2020
Friday 3 July 2020
- A lot of work to unpick the "always create a session and cookie when the site is first touched". The level of search-engine traffic is making this unsupportable. Changed to preserving the session if present, but only creating if needed at a couple of key places (logging on, setting options, planning a journey for example).
- We now update options to reflect plugins at build, not whenever loading options as this would otherwise have the change above hugely wasteful. Would have been a good thing to do before anyway.
- The new gazetteer pages now also have:
- A "websites" plugin
- A dynamic code feature, that allows things like "you pass through here on ..." to be implemented for gazetteers when people have active sessions but not otherwise.
- Made the new gazetteer pages available to all users to test if they want (which should also test the caching and bug reporting).
→ Release 9.35.19
Wednesday 9 July 2020
- Fixed a bug introduced by the reduction in sessions - issues 782 and 784.
- And something on PDF generation and missing workspaces - now work like lost sessions
→ Release 9.35.19.1
Thursday 10 July 2020
- Further fix to bugs from session work - picks up persistent cookie on static pages - issue 779.
→ Release 9.35.19.2
- Pre-release fix to address issue 786 - malformed links to boats from the searcher under some circumstances.
Friday 11 July 2020
- Fixed excessive escaping in place names - issue 789
Saturday 12 July 2020
- Pre-release patch to reduce errors with page options on saved sessions
- More work for ancient PDF generation coming back to life and causing errors
- Restored user default start and end places (issue 785) on traditional route entry page
→ Release 9.35.19.3
To Saturday 18 July 2020
- Resulting from issue 778:
- Fixed shortest distance calculations so that crunched routes didn't go the wrong way on the Lapworth Link triangle when planning from Kingswood to King's Norton.
- Added a complete test of rings to the build process
- Adjusted a couple of rings to ensure everything passed
I believe that the first of these fixes the original issue, and the last the additional one!
→ Release 9.35.19.4
- Fixed bug in pdf generation with daily maps. Don't know if I'd moved a line of code when working on it or if this has never worked and this is the first time someone has tried! (pre-release patch).
- Fixed link in changes list - issue 791 (pre-release patch).
- The match code for place entry now ignores apostrophes completely. I think this (in combination with the existing placefinder code) is enough to meet the requirements of issue 652. It's possible, by tabbing out, to leave something that is the same as a place with different punctuation, but it's a significant improvement by changing only one piece of code. As an entertaining aside, you can enter all sorts of gratuitous apostrophes in names and it will still match, but we can live with that. At the same time I set it to start matching at one character - with the limit code in there it's not much more resources in the grand scheme of things, and looks flasher. This does add a new "matchname" and "realname" to the names table, which opens up other possibilities for the future.
→ Release 9.35.20
Sunday 19 July 2020
- Ran the rebuild function for the database that made yesterday's matching change actually work (I know, I know)
- Work to address issue 743. It turned out that the code was doing what it said it would (truncating) but that there were circumstances, such as the ones I was experiencing, where a different option would be better. Made the description of what would happen already clearer, and added a new possibility to omit an intermediate place if that was possible.
- Improved log messages for PDF generation slightly - especially when waiting
Monday 20 July 2020
- Prevented the overnight database tidy from creating the names table in the old format and breaking things
Tuesday 21 July 2020
- Instead of very complicated code to work round it that didn't work and confused things, it now won't produce a PDF with marker places in it, and tells you so.
- Reloading when a PDF is being generated kills the existing one and starts again, rather than waiting for it to time out.
→ Release 9.35.21
- A run through the issue list and a number of old ones closed, merged or noted for needing action.
Wednesday 22 July 2020
- Restored easy changes to mooring and access to traditional gazetteer (auto hiding for new had broken it)
- Now display access if known in all circumstances (final fix for issue 313).
Saturday 25 July 2020
- Tracked down an obscure bug in the code for showing routes omitting places that was added last week. Removed a (not part of the problem) memory leak I spotted along the way.
- Changed database searches in placefinder to better match names so that it will take you straight there rather than via the search screen (test case is Tunnel d'Arzviller).
→ Release 9.35.21.1
Sunday 26 July 2020
- Put a trap in for yesterday's obscure bug so when it happens again in 10 years someone knows what is happening
- Changes to PDF queue as it sometimes gets stuck if there is nothing around to start a queued job.
→ Release 9.35.21.2
Saturday 15 August 2020
- A lot of work has been done on how photos are managed, but it's not ready for release yet.
- In response to issue 815:
- Prevented places being deleted if they are part of an area
- Area discussions don't lose the flag that shows they are an area
- Proper response to adding or editing a discussion.
→ Release 9.35.21.3
- Logging information for circular map uploads to help understand where empty ones are coming from (issue 798).
Sunday 16 August 2020
- A new "help us" plugin for tide times to answer issue 620.
→ Release 9.35.22
- Fixed issue 830 by removing the '$' from the information passed to the form, and then restoring in when loading the chosen route.
Wednesday 19 August 2020
- Pre-release patch to fix issue 816 - a problem with reading date taken information from photos.
Saturday 29 August 2020
- Rework of code to rebuild waterways round a place to try to prevent issue 819 happening again.
- Patch to selector.c like that in match.c to prevent it using the beta database (still rough-and-ready approach)
→ Release 9.35.22.1
In response to issue 820:
- Fixed bug that prevented the "selected stops are only overnight stops" button being shown
- Fixed separate bug that prevented the "max hours per day" box being shown at the same time
- Fixed new bug discovered when testing that refreshing added the overnight stops again
→ Release 9.35.22.2
Saturday 31 October 2020
- Rewrote JSON for schema.org, involving adding new formatted JSON printing: issue 841
- Added a viewport to the error page, and fixed the link to the cartoon - issue 842 and issue 844
- Added the new configuration settings that support the big photo reworking to ensure it doesn't break things
- Made the new input page the only option - will remove all the old code in a few weeks if no problems.
→ Release 9.36 (major number for making new input properly live)
Sunday 1 November 2020
- Continued development of new pages:
- Removed bootstrap accordion and replaced with simple collapse/expand for plugins
- Made this work nicely with different window sizes, without wiring any dimensions into the JS
- Added a section for generic options and put responsive in as a test option
Monday 2 November 2020
- Fixed bug in photo urls that I'd missed on Saturday (penultimate bullet) - issue 846
- Found it in a couple of other places too
→ Release 9.36.1
Tuesday/Wednesday 3/4 November 2020
- More pages work:
- Hard refresh (shift-click, or ctrl-shift-R) of a page causes it to be generated anew
- Test for location and generate 404 if not there, otherwise run page generation code
- Fixed URL for homepage photo issue 845 - I really did think I'd tested that code better than that
→ Release 9.36.2
Saturday 7 November 2020
- Fixed several bugs that were causing photo uploads to fail. In practice these will probably all be nugatory when I migrate the new photo system in, but that might not be this weekend now.
- Removed nameless items from breadcrumb schema as reported by Google (which is now reading them!).
- Fixed problem causing change log to fail
→ Release 9.36.2.1
- Unassigned fields in a structure (added to improve JSON display) were causing map boundaries to fail. Fixed, and made the code a lot clearer and work better at the same time
→ Release 9.36.2.2
- Improved how new pages adds new plugins into the display order - puts them in the most natural place rather than at the end
Sunday 8 November 2020
- Added some CSS tabs to the options for new page plugins to separate specific and general options.
- Can regenerate pages by forced refresh (development machine only at present)
to Sunday 15 November 2020
- Continued on new gazetteer pages:
- Added code to support general options
- Implemented "show empty sections" and "always/never/responsive" collapse of sections.
- Significant code-tidy to remove duplication in script and JS.
- Added "select sections and order" tab to page section options
- Fixed layout problem with local tables and adverts
→ Release 9.36.3
- Removed "xparm" from setting options from side menu - I'm pretty convinced this is unneeded with URL rewriting
- Fixed nearest place for route entry - issue 792
→ Release 9.36.3.1
Tuesday 17 November 2020
- Fixed bug where optimising options when running had prevented build from adding plugin lists, causing issue 853
→ Release 9.36.3.2
Saturday 28 November 2020
- Changed lots of URLs in "changes" to make links in RSS feed into https. Addresses issue 854 and provides more evidence for issue 827.
- Added code to delete map geodata for lines when a waterway is split - issue 855
- Fix to waterway in new "pages" system to remove linear map when waterway does not have places (is a higher level waterway).
- Documented dynamic information for new plugins
→ Release 9.36.3.3
Sunday 30 November 2020
- Allowed new plugins to access formats dynamically
- Added dynamic code for stoppages for places and features (modified from existing template)
- Added dynamic stoppage information for waterways (new)
Saturday 5 December 2020
- It took a lot of tracking down to find how a language bug was causing the areas plugins to fail. Fixed the language to prevent lookup tables being made part of themselves.
- Added dynamic stoppage information for areas (new), meaning all page types have dynamic stoppage info
→ Release 9.36.4
Tuesday 8 December 2020
- Used to go into attack detection mode on invalid session cookie strings. These are much more likely to be side effects of a failed new install and cause endless confusion. Instead we simply report as a stale session and delete them
Saturday 19 December 2020
- Building on that, removed heaps of session checking from all over the place, and three different messages about it, and made it all into one check in the webinterface module.
- Stopped build-checking process failing when things are commented out
Sunday 20 December 2020
- Completed work on a (much more readable) Wikipedia plugin for the pages; includes hover text for links
- Removed old route entry code (to an archive)
- Fixed missing menu items on new route entry:
- clear stoppages
- clear pauses
→ Release 9.36.5
- Removed lots of embedded session ids in links from pages - all obsolete for years since I went session cookie based
- Pre-release patches to improve the handling of expired sessions
Monday 21 December 2020
- Started work on maps plugin for pages
- Improved selector options
- Can have labels
- New variety of selector where the value is the "value" not the "text" (proper, but original repeated early design for ease of transplanting code)
Wednesday 23 December 2020
- Maps now work for places, including changing size and zoom dynamically
- Added maps for waterways
- Added maps for features, including highlighting
- Added maps for areas, including highlighting
→ Release 9.36.6
Thursday 24 December 2020
- Reworked boundary code for area and feature maps - much more code reuse and the same names for things. Resizing these maps now works reliably
→ Release 9.36.7
Friday 25 December 2020
- Added highlights to closeup maps for features and areas
- Increased padding for these maps
- Refactored code around highlights and boundaries
Saturday 26 December 2020
- Introduced caching for fetched external data - wikipedia to start with. Much simpler file based approach than before
- Script to run at build time to purge generated pages if any part of the build code is newer than the pages
- Integrated into build process
Sunday 27 December 2020
- JavaScript to patch the date, sunrise and sunset fields of places in the pages subsystem.
- Basic Geograph plugin created for new pages
→ Release 9.36.8
- The api for virtual cruise still used literal session IDs, not cookies (should have been changed several years ago) so release 9.36.6 broke it. Reported by a message on FB.
→ Release 9.36.8.1
Tuesday 29 December 2020
- Catch for empty search strings (side effect of attempted SQL injection) timing out the gazetteer
- Fix for navigational notes not being added from editing place info (edit worked fine) - issue 862
→ Release 9.36.8.2
- When you add a section using the drop down menu on the pages system it works immediately, not only after a refresh.
- Prevented an extended placeinfo call for a place that doesn't exist from segfaulting
- Tweak to area map JS to fix closeup maps
Wednesday 30 December 2020
- As with 9.36.8.1, literal session IDs being removed in 9.36.6 broke PDF generation. This time I had to play around with wget options since the program calls itself.
- Fix to restore thumbnail photos in "you are travelling from" in PDFs
- Removed superfluous ?> from PDFs
→ Release 9.36.8.3
- Small tweak to breadcrumbs