Releases
v4.1.0
4.1.0 (2020-07-06)
Bug Fixes
accessibility: Fix bug with tab reverting to "summary" on map marker drag (ce3d2ac )
admin: make sure the status message is cleared when updating users (2f3fe7a ), closes #408
alerts: fix css for stop popup to prevent overflow issues (05077f8 )
alerts: fix issue with alert ID type mismatch (e034d4e ), closes #459
app-info: wait for fetch app info until checking user login (8407ed7 ), closes #475
auth: fix auth silent renewal (f41cba9 )
auth0: ensure user_id is set in user profile (7f75723 ), closes #476
auth0: route to '/login' for single callback log on (9e77a4a )
auth0: WIP auth0 update to lock 11, auth0 9 (6cb047e )
build: replace camel- and snake-case keys libs with custom code (b20e1be ), closes #170
deployment: disable feed deployment if no versions exist (46a4005 )
deployment: fix default value for rt updater (153291a ), closes #146
deployment: temporarily remove elevation bucket field; remove branding url (42c4cdd )
Deployment: refactor Deployment fields to fix perf issues (9b66f89 ), closes ibi-group/datatools-server#310 #574
deployments: fix alignment of button dropdown (45997a8 )
deps: update auth0 in script dependencies for lodash fix (ff2fb83 )
EditableCell: Change behavior to save cell contents when losing focus, clicking away etc. (9a31e89 ), closes #562
editor: add default route type and color to feed info (89ecc70 ), closes #95
editor: add min height for entity details header (fe99765 )
editor: add missing updatePatternStops function (b5abe1e )
editor: add refetch option to create GTFS entity method (5366bf0 )
editor: clear editor state on component mount (d021eac )
editor: clone exceptions to avoid mutation of store (67e4a83 ), closes #103
editor: default new stop location to center of bounds (rather than 0,0) (453c069 )
editor: disable sidebar items if base gtfs not fetched (883eb33 ), closes #404
editor: disable sidebar items if base gtfs not fetched (d4b84a0 ), closes #404
editor: export receiveFeedSource action (a1f9ddd )
editor: fetch exception dates in main GraphQL query (7a6b5cd ), closes #561
editor: fetch only required fields for feed info (6b9b52a )
editor: fix "scheduleexception" text in delete/duplicate button (e3fb62a ), closes #79
editor: fix add stops mode (c8662be )
editor: fix avg speed travel time calculation for pattern stops (55a9ff5 )
editor: fix entity type checks using field typeof (e204e04 )
editor: fix fare transfers default value (d6d0dcd )
editor: fix feed info reset/undo (c2df062 ), closes #97
editor: fix frequency trip editing for SQL editor (15299f4 )
editor: fix message on first snapshot creation (ef765d9 )
editor: fix new calendar writes (4985f49 )
editor: fix pattern direction icons/text (461bef7 ), closes #80
editor: fix react error that does not allow tooltip prop on (835842b )
editor: fix route#wheelchair_accessible field name/values (9d27484 )
editor: fix schedule exceptions for sql editor (cd01332 )
editor: fix schedule exceptions swap type (c70e95d ), closes #74
editor: fix shape point snapping (df8a5bb )
editor: fix start from scratch (91ff274 )
editor: fix stop/route select input (e5848b9 ), closes #92
editor: fix timepoint checkbox (6dbe55e )
editor: fix trip writes for non-frequency based trips (dcaa7e0 )
editor: fix undo button (24885fe ), closes #416
editor: fix undo button (b2a1058 ), closes #416
editor: fix undo for fields with null values (b9edff9 ), closes #113
editor: fix undo for URL fields that initialize as null (9d532ea ), closes #113
editor: fix view all route alignments on editor map (e98debf ), closes #76
editor: fixes "scheduleexception" misspelling and create stop bug (c6acfa8 ), closes #79 #78
editor: fixes re-initialization of editor when snapshot imported (9c1b8e8 ), closes #119
editor: formatting + fix monday selection in exceptions (6a97374 )
editor: handle bad entity and pattern IDs in editor URL (7effe17 ), closes #99
editor: handle travel time calc for patterns without shapes (7b0d970 ), closes #107
editor: misc. editor fixes for SQL editor (1a2ffd0 )
editor: only check entity validity if it is not a new entity (368ef14 ), closes #147
editor: prevent an infinite loop when sorting trips (d9c58bd ), closes #426
editor: prevent reversing pattern if pattern has trips (67cbcba ), closes #104
editor: re-enable autofocus of editable cell inputs (af265e0 )
editor: recalculateSegment -> recalculateShape for tests (8fa6f5f )
editor: refactor generic actions and fix feed info (e019f31 )
editor: refetch entities on snapshot restore (8bdc678 ), closes #101
editor: remove trip patterns from cloned route (a9f9548 ), closes #153
editor: remove unused default lat/lon feed info fields (c82c5ff )
editor: request zone_id with stops table (ec959e2 ), closes #100
editor: reset trip pattern edits after error on save (c0ffd22 )
editor: update pattern geometry when shape is deleted (2332198 ), closes #109
editor: update sequence on pattern stop resequencing (dff4095 )
editor: update store when gtfs entity saved successfully (6015f9d )
editor: zoom to pattern extents if no shape exists (9b4340f ), closes #399
editor lock: add session id query param to write operations (ab73bfe )
editor lock: clear GTFS content after lock removal (6cf10bf )
editor lock: fix locking functionality (7ac8bef )
feed viewer: Add limit=-1 to show all routes/stops/patterns/shape pts (80f6c6f )
feed viewer: Reset Feed Viewer to "summary" tab when FeedVersion changes (f0c9ec5 )
feed_info: add feed_id to editor (89c3578 ), closes conveyal/gtfs-lib#260
FeedSourceSettings: change update to pass the full FeedSource JSON object, fix form (55c1eb3 ), closes #502
FeedVersionDetails: only show publication message for MTC (bbd49ac )
FeedVersionNavigator: ensure version index is set (a65af4e ), closes #534
flow: add flow typing to user permission types (28fe033 )
flow: fix failing flow (814816c )
flow: fix flow issues following merge (f2db240 )
flow: fix flow typing for project to match server type def (69e45ab )
flow: update control point flow def (f29e70b )
Footer: replace Conveyal with IBI Group (a134716 )
graphhopper: fix graphhopper handling into segments (f443c48 ), closes #571
graphql: fix graphql reducers, more createAction updates (7054dd7 )
gtfs: fix wheelchair boarding values (d9aaa6e )
gtfs+: change rider_category_id from Adult -> Regular (e926288 ), closes #546
gtfs+: clear gtfs+ state on version change (55a5e4f )
GTFS+: add warnings about table- and column-level issues (a9de9a9 )
GTFS+: always require GTFS+ yml on config init (e80ba92 ), closes #486
import: fix capitalization for turf-linestring (ae72454 )
import: fix capitalization for turf-linestring (433ebea )
jest: temporarily disable mapzen pattern shape tests (a03f9f3 )
lint: fix lint and remove + from editor new button (96f3145 )
lint: fix lint errors (indentations, unused imports) (554a281 )
lint: fix lint issues resulting from merge (9f2e15e )
lint: fix unused import for create alert button (d355971 )
lint: remove unused import (b74c68b )
login: change redirectOnSuccess to string (9b8c900 ), closes #396
manager: abbreviate project name on user home page (9ffb3ba ), closes #121
manager: check ref exists before invoking leaflet methods (c65f136 )
manager: Fix "recent activity" styling (d109a64 )
manager: Fix "recent activity" styling (9007f74 )
manager: Fix console errors on logout (b9f34e7 )
manager: Fix error with FeedVersion viewer and map. Should fix #86 /#87 /#88 (1de4d86 )
manager: fix note count update for feed source and versions (0397bfc ), closes #77
manager: fix on load feed version for editing (863053a )
manager: handle invalid bounds in feed version map (00dbafe ), closes #150
manager: if file arg is null/undefined it cannot be a valid zip file (c025f8c )
manager: permit repairing issues in editor in only some cases (5e05a5a ), closes #89 #130
manager: refetch validation issues if they are overwritten in next props (76f66a3 ), closes #131
manager: restrict view entity details to issues with entity IDs (178437d )
manager: use file-saver for file downloads (3c38c47 ), closes #65
mapbox-url: update URL for deprecating service (84432c4 )
merge-feeds: fix success message for modal (2519902 )
messages: fix deployment settings messages (1631580 )
misc: misc sql-editor bug fixes (9b94777 )
normalize-stop-times: add missing files (d728a61 )
notes: use note creator's email in note item (bf014cc )
otp-server: make subnet/security group fields optional (319f27a ), closes #507
pattern: actually fixes pattern edit undos (ef7598f ), closes #133
pattern: add deselect function for setting direction_id to null (922fc18 ), closes #164
pattern: always get a new set of control points if there are no shape points (a27f2f7 ), closes #136
pattern: do not attempt rendering pattern if each coordinate is not valid (fe78706 )
pattern: do not include unsaved stop as addable stop for patterns (7701a3f ), closes #132
pattern: fix add pattern stop when shape is missing (4e04c5e )
pattern: fix add stop to pattern after fresh fetch (36f5d0f )
pattern: fix adding stops to pattern behavior (40b0fe6 ), closes #128 #105
pattern: fix GraphHopper point chunking (db6e79f ), closes #64
pattern: fix height/scroll issue for addable stop dropdown (b281a98 ), closes #129
pattern: fix undo pattern editing history and make control point keys unique-er (d38db32 ), closes #133 #134
pattern: fix update edit geometry flag when changing patterns for redux-undo (29c7872 ), closes #137
pattern: get new set of control points if there are more pattern stops (5657a32 ), closes #136
pattern: improve styling of pattern stop list and scroll bars (15bc8b2 ), closes #151
pattern: major pattern editor fix/refactor (aa225b5 )
pattern: scale shape dist traveled when calc. pattern shape slices (df4a06b ), closes #82
pattern-editor: clear out duplicate shape points (0facd0d )
pattern-editor: fix add control point to empty shape (3bad9b7 ), closes #400
pattern-editor: fix changing edit mode (f4ade52 ), closes #403
pattern-editor: fix computation of pattern stop projection onto shape (8895cf2 ), closes #581
pattern-editor: flow fixes and clean up pattern shape splitting (da8e3cb )
PatternEditor: fix pattern name editor bug (9f31472 ), closes #556
patterns: ensure that control point drag ends in correct loc. (4d11361 )
patterns: fix add stop at click and interval; refactor utils (ad3fe2d ), closes #108
patterns: fix pattern geometry update on anchor drag (5cc2b16 )
patterns: fix pattern stop removal segment splice (9529dcd )
patterns: fix reverse pattern and calculate default travel time (faa79d2 )
patterns: log warning if pattern stop not draggable (f731b9e )
project: fix bounding box project settings form (549bf2b )
project: use common bounds parser and fix DeploymentSettings bounds (d95188b ), closes #471
r5: handle r5 build network job correctly (3f33195 )
react: silence react warning about onDeselect prop (ae9027f )
routing: Use GraphHopper for follow streets routing (b570069 ), closes #60 #60
ServerSettings: add AWS role field to OtpServer (f988bea ), closes ibi-group/datatools-server#272
ShowAllRoutesOnMap: fix show all routes; add limit for perf (f20547b ), closes #542
snapshot: refetch base GTFS if namespace changes (when snapshot restored) (1bd4a00 ), closes #101
status: clear status modal details on mount (1b3c709 )
status: fix handling of completed snapshot-related jobs (fdb2840 )
status: handle create snapshot job finish (46144a9 )
timetable: add arrival/departure times + trip_id to trips sorting (ae52cd7 ), closes #169
timetable: add pattern/route/calendar grouped trip counts (38a2151 ), closes #110
timetable: check that a time cell isn't a frequency start/end time (9901741 )
timetable: fix calendar selector label/title (f461421 ), closes #142
timetable: fix multiple fetches for calendar trips bug (735d0ed ), closes #156
timetable: refetch trip counts on trip add/delete (93ac6bb ), closes #143
timetable: set trip's shapeId based on pattern shapeId (4fe3b4e ), closes #166
timetable: update placeholder to show frequency in seconds (53a4a6e ), closes #81
user: Fix big with saving UI preferences to user metadata (a9f817f )
user-admin: refactor/clean up permission/feed selection (86fddc9 ), closes #512
user-update: fix user update error introduced in #577 (c984474 )
Remove extra space... (d1bf36c ), closes #523
status: handle clearing of status modal content on close (b546d55 )
trips-per-hour: fix frequency processing for trips per hour histograms (cdfb924 ), closes #472
user-admin: remove eTID; filter permissions on module (0a7eb64 )
validation: fix check for fatal exception on validation result (52f3d6e )
validation: indicate entity type for table level validation issues (a8b7d0a )
validation viewer: Don't show "no validation errors" until we actually get a response (9c47ce7 )
validation-issues: fix fetch issues with validation issue count (f2a12f7 )
version-publish: fix checks for blocking publication (99debcb )
watch: makes sure a user's email address is verified before watching (0c815b5 ), closes #492
fix editor lock and pattern geom issue (08f2e12 ), closes #395
fix lint and flow (1f886f5 )
use route_type to set follow streets (0344a7f )
various flow fixes and refactors for pattern editor (35fb3e1 )
alerts: fix add/remove agency to gtfs filter (dd2b47f )
alerts: fix alert start/end time validation (ee51dea )
alerts: fix date validity check bug using moment#isValid (dde6931 )
alerts: fix updateActiveEntity func signature (c2fa055 )
alerts: fix visibility filter action (a55f78d )
alerts: handle bad response for GTFS stops and routes (2460b2e )
auth0: check scoped field for app_metadata if not found in profile (763c0ea ), closes #207
auth0: refactor auth0 to cache profile data to avoid auth0 429 errors (d712b5c )
charts: only show first 500 days of service in charts (535dfeb )
css: use leaflet cdn css (due to marker icon url issue) (a4cbef4 )
deployment: fix target name matching and settings edits check (db110ca )
deployment: handle invalid bounds in preview button; add tooltip (045aad8 )
deployment: only render deployment button if deployment is deployed to server (31af45d )
deployments: add clear button for deployment settings (b61df2d )
deployments: only fetch feed deployments if module enabled (9d80939 )
deployments: only fetch feed deployments if module enabled (c80dffb )
deployments: only fetch feed source deployments if module enabled (7404578 )
download: fix other instances of s3 downloads (d2498eb ), closes #190
download: use presigned URL for file downloads (52efd96 ), closes #190
editor: add route_sort_order field to route in gtfs spec (4e5aebf )
editor: add validation for POSITIVE_INT and POSITIVE_NUM (4601b00 )
editor: fix undo button (e3c8870 ), closes #269
editor: use distance scale factor to calculated default travel time (fec6366 ), closes #197
fares: add fare_attributes#agency_id field to match gtfs-lib (4ac56fa ), closes #266
feeds: handle missing project when fetching project's feed sources (68735d5 )
flow: don't ignore auth0-lock module (8b134b0 )
frequencies: sort trips with frequencies by Frequency#startTime values (b5016c4 ), closes #191
frequencies: validate frequency fields (2a48e12 ), closes #167
graphql: use auth for GTFS GraphQL requests (4cd86c9 ), closes catalogueglobal/datatools-server#92
graphql: use POST-based fetchGraphQL for feed entity fetching (aafdd8b ), closes #211
gtfs: fix shape fetch action type in reducer (d1b8aa1 )
gtfs-filter: fix check for toggling a feed on/off (41631e0 )
gtfs-map: fix error when feeds list for bounds calc is empty (8ee174f )
gtfs-plus: fix route and stop search for GTFS+ entities (7360499 )
gtfs-plus: fix visibility filter (4036302 )
gtfsplus: fix GTFS+ route/stop queries to use GraphQL (0518fa8 )
home: make homepage load first project on mount (c475562 )
home: make homepage load first project on mount (195e2aa )
job-monitor: fix removeRetiredJob action in props (f92ec38 )
job-monitor: only start continuous job fetch if jobs exist (d109dd7 )
leaflet: update leaflet (4dee7b7 )
lint: fix flow and unused vars (40eccbc )
messages: add some missing messages (2e1651f )
messages: make messages work with minified builds (a060c38 )
mtc-feed-publication: use published date to indicate whether a feed is awaiting publication (c168f9b ), closes conveyal/datatools-server#152
new-alert: fix createAlert call (cf90854 )
pattern: update distance and travel times when pattern is reversed (5005250 ), closes #176
pattern-editor: add missing shape ID to pattern on save (1f5ccfa ), closes #208
qc-view: bump active page if offset is out of sync with page increments (6306faf )
qc-view: check bounds validity before updating map state (9802ae7 )
qc-view: clear route/pattern filters on feed version change (788eee0 )
region: remove deprecated/erroring regions API call (5dd8d6b )
settings: fix default state and updating state on next props (ac97044 )
timetable: always default to pattern stop index for trip stop sequences (abd0f34 )
timetable: disable special keys while typing text (0b32fd3 )
timetable: ensure pattern stops and stop times have zero-based stop_sequence (c44f83b )
trip-validation: prevent trip update http requests if trip data is invalid (cb5a7f8 )
user: Fix bug with saving UI preferences to user metadata (cf2c7c6 ), closes #184
user-admin: fix create user bug introduced during flow refactor (423b21f )
version: fix selection of routes and patterns (2d7f0bc )
version: fix selection of routes and patterns (0169d74 )
watch-button: store updated user in state if logged in user is updated (38a7483 ), closes #210
Features
about: add about app section that includes version info (0c2c463 )
alert child stops: add option to add parent station's children (6035f02 ), closes #428
alerts: Add 2 alert effects (MTC) (591b3c5 )
app: add google analytics (89a6600 ), closes #45
ApplicationStatus: add admin app status page to view requests/jobs (37b6f4f )
common: Clean up JobMonitor display and functionality. Addresses #85 (d5bb692 )
config: Use the config provided by the back end server (b3da52c ), closes #367 ibi-group/datatools-server#229
deploy: add ability to recreate build image (3d16208 )
deploy: add fields for deployment customization (b7c05da )
deploy: include download link for graph build reports (af42130 )
deployment: add deployment review map, optional config override, and confirm modal (179f40e ), closes #189
deployment: add deployment subscriptions management (7623100 )
deployment: add OSM extract settings (4b794c9 ), closes #124
deployment: add watch button for OTP deployments (6c31578 )
editor: restrict editing for a feed to a single session (fc1face )
export-gis: add shapefile export for feed versions (f51b9b5 ), closes conveyal/datatools-server#34
feed: add ability to show all routes on map (7746865 )
feed: add cancel buttons to create project/feed forms (4da358e )
feed: add pagination to route viewer (5330758 )
feed: add timetable viewer to feed validation (6d3ea7f )
feed: make trip histogram for pattern list (dd858a2 )
feed: show graph of trips per hour in route list (d7e817b )
feed viewer: Add various enhancements to feed viewer, including consistency in selected route/ (7d40d6b )
gtfs+: block publication if GTFS+ errors exist (0a3ce4f )
job-status: check for pre-existing server jobs when sidebar mounts (b525a6a )
manager: Clean up manage-subscription page (12e7fac )
manager: Fix and expand "recent activity" display (03ac489 )
manager: Fix and expand "recent activity" display (376c0b6 )
manager: Make username (email address) non-editable in Manage Account screen (ab832f6 )
manager: Refactor user action buttons to common component (7918eee )
manager: Remove dummy notification methods box on Manage Account screen (9029a7b )
merge-feed-versions: add MTC merge feeds type (097f34d )
patch-table: update all rows with a set of fields (e986ff6 ), closes ibi-group/datatools-server#238
pattern: add normalize stop times feature (5df501d )
pattern-direction: replace arrow icons with svg text path (3a107ac )
patterns: edit pattern geometry segment by segment (20f19e7 )
project: add ability to download csv of feed source table (cc1db9f )
project: add ability to pin a deployment (9b56409 )
project: add filter buttongroup to ProjectFeedListToolbar (521de7f )
project: refactor FeedSourceTable rows to display more relevant info (f7f049f )
project: refactor ProjectFeedListToolbar to allow sorting of feeds (6a2e6b6 )
qc: add service hours per mode histogram (582136b )
qc-view: add conditional cell formatting in qc timetable view (abedb3d )
snapshot: add option to auto-publish new snapshot as version (7552c9f ), closes #538
snapshots: Remove concept of "active" snapshot from UI. Fixes #90 , #102 (c55c88e )
status: add reload action to status modal (31d15b5 )
timetable: enhance timetable editor keyboard shortcuts + help modal (fa78aa0 ), closes #168
version: sort by and show validation error priority (b905c26 ), closes #477
Performance Improvements
editor: use shouldComponentUpdate for virtualized select and store options in state (6e1bcc6 ), closes #75
logging: remove loud logging statement (1390a79 )
You can’t perform that action at this time.