Recent Changes - the-nemz/metro-dreamin GitHub Wiki
Misc
Bugs
- handle map saved with no lines or stations - 2.3.1
- check for infinite slope in waypoint offset calculation - 2.3.2
- do not count waypoints as stations - 2.3.2
- station name being reverted on first change - 2.3.3
- inverted waypoint convert GA event - 2.3.3
- small issue with vehicle movement of lasso-shaped lines - 2.3.5
- ensure stations sandwiched by waypoints can still register as transfers - 2.3.6
- various things related to the big 3.0 deployment - 3.0.1
- relax email requirements - 3.0.2
- update public MapboxGL token - 3.0.3
- fix issue with invalid station IDs being included - 3.0.4
- split up server sitemap into sub-index server sitemaps to ensure that none of the queries for them time out - 3.1.1
- miscellaneous fixes - 3.1.2
- bug in initial render of line buttons for systems with one line - 3.2.5
- small styling updates - 3.5.2
- use square logo for homepage og:image - 3.6.5
- ensure consistent ordering of lines in Station view - 3.7.1
- fix bug with station deletion followed by line deletion - 3.7.2
- load data for extremely large maps client side to prevent 413 errors in lambda functions - 3.7.4
- do not clear cache if there are recent unsaved edits on a map - 3.8.2
local cache performance improvements - 3.8.3- change cache behavior to use custom local storage cache of system snippets - 3.8.4
Features
- blink outline around focused line - 2.2.1
- setting to turn off vehicles - 2.3.4
- reverse station order of line - 2.3.5
- toggle visibility of waypoints - 2.3.7
- update MapboxGL attribution - 3.0.5
- add email link to footer and README - 3.0.6
- set initial system structure to enable upcoming DB changes - 3.0.7
- toggle adding waypoints and stations to reduce geocoding queries - 3.0.8
- only notify owner of the five most recent comments to reduce notification overload - 3.1.3
- add ability to lock comments on a map - 3.2.1
- when full map is too large to generate preview, use 3:2 rectangular zoom instead of circle - 3.2.2
- support more colors by including a hex/rgb input - 3.2.4
- add ability to block users - 3.3.0
- add a MetroDreamin' code of conduct - 3.3.1
- improve functionality of tooltips - 3.3.2
- PII security updates - 3.4.0, 3.4.1
- add password reset email functionality - 3.4.2
- user deletion functionality - 3.4.3
- revenue generation - 3.6.0
- update fullscreen ui - 3.6.1
- use overpass api for reverse geocoding - 3.6.2
- add schema markup to maps - 3.6.3
- group lines by modes and custom line groups, toggle showing lines of a particular mode - 3.7.0
- use angle created when adding a station to a line as a factor in determining what position it should be slotted into - 3.7.3
- improve comment pagination - 3.7.5
- use web worker for transfer calculation - 3.7.6
- add Ko-fi promo - 3.7.7
- add debounced update time to system doc - 3.8.1
- add additional statistics like length and station count to line view - 3.8.5
- add new modes including gondola, ferry, light rail, airliner, and split BRT and tram - 3.8.6
- support IP banning from vieweing other users' maps - 3.8.7
- add station grades - 3.8.8
- able to set the grade of a station/waypoint (below, at, above)
- able to change grade in both station and line views. button opens modal allowing selection
- update email addresses - 3.8.10
Performance
Firestore Optimization
- Only load unread/recent notifications - Nov 23 - 3.0.8
- Only load ten most recent comments by default with button to view all - Nov 23 - 3.0.8
- Reduce Firestore costs by combining line and station documents into one (or a few) map document(s). - Nov 23 - 3.1.0
- no longer store individual documents for each station/line/interchange
- combine them into one document instead
- if that document is larger than Firestore supports, split it into partitions
- remove station density info from large maps
- write script to migrate existing systems
- Implement local cache for high-intensity queries - March 23 - 3.8.0
- related and nearby maps sections with first check local cache and the count of matching documents on the server
- clear local cache after one day to ensure it stays pretty fresh
Map Responsiveness - Nov 23 to Jan 24 - 3.2.0, 3.5.1
- Dynamically precalulcate where transfers between lines are and what lines each station is on - 3.2.0
- Use this memoized object to dramatically reduce calculations made in the render loop
- Also use it to significantly improve performance of interline segment calculation
- This improved edit performance of very large maps by over 90%! And load time of maps by 60%!
- Hide station pins until you reach a map level-specific zoom value, then render the pins - 3.2.0
- Having so many elements in the DOM on initial load impacted render time of the rest of the app
- Load stations as a layer instead of pins to dramatically improve snappiness on maps with thousands of stations/waypoints - 3.5.1
3.0 - Dec 22 to Feb 23
See all the juicy goodness in the 3.0 release here.
Map Improvements
layers - Jan 24 - 3.6
- satellite layer
- topographic layer
- railways layer
interline segments - Aug 22 - 2.1
- finally parallel lines appear along side of one another
- calculating the offsets for these was a brain teaser. required some trig!
optimization - Aug to Oct 22 - 2.1
- refactor and update Map to a functional component
- remove layer setTimeout stuff
- render as few layers as possible (group lines together, vehicles together, etc)
- still waiting on a resolution to this mapboxgl github issue to fully finish this for segments
vehicles - Oct 22 - 2.2
- animated circles that slow down and stop and stations before accelerating away
- remain as close to previous position as possible when line is updated
Line Features
line modes - Oct 22 - 2.2
- choose between five modes from bus to high speed rail, defaulting to metro/subway
- impacts travel time and vehicle speed, pause, and acceleration
Waypoints - Oct 22 - 2.2
- points where a line travels through but does not stop
- solves the issue of straight lines between stations
- do not show waypoint markers in viewonly