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