Skip to content

Commit cac98da

Browse files
Merge pull request #536 from opentripplanner/dev
OTP-RR Version 4.0
2 parents e24af86 + b2def79 commit cac98da

File tree

112 files changed

+6049
-4294
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+6049
-4294
lines changed

.github/workflows/node-ci.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,17 @@ jobs:
2323
uses: bahmutov/npm-install@v1
2424
- name: Copy example config
2525
run: cp example-config.yml config.yml
26-
# Actual lint step temporarily removed to allow for package release
26+
- name: Lint code
27+
# Move everything from latest commit back to staged
28+
run: git reset --soft HEAD^ && yarn lint
29+
# For our info, lint all files but don't mark them as failure
30+
# TODO: remove this once project is typescripted
2731
- name: Lint all code (ignoring errors)
2832
run: yarn lint-all || true
33+
- name: Run type check
34+
run: yarn typecheck
2935
- name: Run tests
30-
run: yarn jest
36+
run: yarn unit
3137
- name: Build example project
3238
run: yarn build
3339
- name: Run a11y tests

CHANGELOG.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Open Trip Planner - React Redux Changelog
2+
3+
## [3.0.0](https://github.com/opentripplanner/otp-react-redux/releases/tag/v3.0.0) (2021-04-13)
4+
5+
- Add mobile batch results screen
6+
- User Account Settings
7+
- Add more buttons to favorites management
8+
- Re-organize user settings
9+
- Add field trip module
10+
11+
## [3.1.0](https://github.com/opentripplanner/otp-react-redux/releases/tag/v3.1.0) (2021-07-07)
12+
13+
- Add reverse directions button
14+
- Add mailables submodule to calltaker module
15+
- Improve map performance
16+
17+
## [3.2.0](https://github.com/opentripplanner/otp-react-redux/releases/tag/v3.2.0) (2021-07-15)
18+
19+
- Add GTFS-RT vehicle overlay
20+
- Add user language settings
21+
- Support overriding strings
22+
23+
## [3.3.0](https://github.com/opentripplanner/otp-react-redux/releases/tag/v3.3.0) (2021-07-22)
24+
25+
- Field trip module
26+
- Add save button
27+
- Add delete button
28+
- Allow configuration of capacity
29+
30+
## [3.4.0](https://github.com/opentripplanner/otp-react-redux/releases/tag/v3.4.0) (2021-08-18)
31+
32+
- Add automatic a11y compliance tests
33+
- Adjust colors to conform with [Web Content Accessibility Guidelines](https://www.w3.org/WAI/standards-guidelines/wcag/).
34+
35+
## [3.5.0](https://github.com/opentripplanner/otp-react-redux/releases/tag/v3.5.0) (2021-10-05)
36+
37+
- Add Traveler Tools Menu
38+
- Add Route Details Viewer
39+
- Move route viewer to title bar
40+
- Add support for displaying realtime vehicle positions
41+
- Support filtering routes by agency or mode
42+
43+
## [3.6.0](https://github.com/opentripplanner/otp-react-redux/releases/tag/v3.6.0) (2021-10-21)
44+
45+
- Further replace colors with accessible ones
46+
- Add nearby amenities panel to stop viewer
47+
- Add support for Local Places Index
48+
49+
## [3.7.0](https://github.com/opentripplanner/otp-react-redux/releases/tag/v3.7.0) (2021-11-12)
50+
51+
- Fix reported crashes
52+
- Zoom to stop when opening stop viewer
53+
- Display search results based on geolocation
54+
- New stop markers on map at high zoom levels
55+
- Add accessibility labels to legs and itineraries when accessible routing is enabled
56+
- Support showing multiple fare prices
57+
58+
## [3.8.0](https://github.com/opentripplanner/otp-react-redux/releases/tag/v3.8.0) (2021-12-16)
59+
60+
- Fix crashes reported to us
61+
- Improve screen reader experience
62+
- Add user setting for planning accessible trips by default
63+
- Support internationalization of most components
64+
65+
## [4.0.0](https://github.com/opentripplanner/otp-react-redux/releases/tag/v4.0.0) (2022-02-10)
66+
67+
- Migrate to webpack-based build system
68+
- Enhance rendering of flex routes
69+
- Clean up and modernize call taker interface
70+
- Internationalize and modernize codebase of `trip-form` component
71+
- Internationalize `location-field` component
72+
- GTFS Flex support in stop viewer, route viewer, and trip viewer
73+
- Improve styling of batch itinerary viewer
74+
- Support showing recently searched and saved places in main panel

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ yarn start
2121
Should you want to maintain multiple configuration files, OTP-RR can be made to use a custom config file by using environment variables. Other environment variables also exist. `CUSTOM_CSS` can be used to point to a css file to inject, and `JS_CONFIG` can be used to point to a `config.js` file to override the one shipped with OTP-RR.
2222

2323
```bash
24-
yarn start --env.YAML_CONFIG=/absolute/path/to/config.yml
24+
env YAML_CONFIG=/absolute/path/to/config.yml yarn start
2525
```
2626

2727
## Deploying the UI
@@ -31,7 +31,7 @@ Build the js/css bundle by running `yarn build`. The build will appear in the `d
3131
The same environment variables which affect the behavior of `yarn start` also affect `yarn build`. Running the following command builds OTP-RR with customized js and css:
3232

3333
```bash
34-
yarn build --env.JS_CONFIG=my-custom-js.js env.CUSTOM_CSS=my-custom-css.css
34+
env JS_CONFIG=my-custom-js.js CUSTOM_CSS=my-custom-css.css yarn build
3535
```
3636

3737
## Library Documentation

__tests__/actions/__snapshots__/api.js.snap

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Array [
2323
Array [
2424
Object {
2525
"payload": Object {
26-
"requestId": "abcd1238",
26+
"requestId": "abcd1237",
2727
"response": Object {
2828
"fake": "response",
2929
},
@@ -32,17 +32,6 @@ Array [
3232
"type": "ROUTING_RESPONSE",
3333
},
3434
],
35-
Array [
36-
Object {
37-
"payload": Object {
38-
"error": [TypeError: Cannot read properties of undefined (reading 'trackRecent')],
39-
"requestId": "abcd1239",
40-
"searchId": "abcd1234",
41-
"url": "http://mock-host.com:80/api/plan?fromPlace=Origin%20%2812%2C34%29%3A%3A12%2C34&toPlace=Destination%20%2834%2C12%29%3A%3A34%2C12&mode=WALK%2CTRANSIT&ignoreRealtimeUpdates=false&batchId=abcd1234",
42-
},
43-
"type": "ROUTING_ERROR",
44-
},
45-
],
4635
Array [
4736
[Function],
4837
],
@@ -52,7 +41,7 @@ Array [
5241
"activeItinerary": 0,
5342
"pending": 1,
5443
"routingType": "ITINERARY",
55-
"searchId": "abcd1237",
44+
"searchId": "abcd1236",
5645
"updateSearchInReducer": false,
5746
},
5847
"type": "ROUTING_REQUEST",
@@ -65,9 +54,9 @@ Array [
6554
Object {
6655
"payload": Object {
6756
"error": [Error: Received error from server],
68-
"requestId": "abcd1240",
69-
"searchId": "abcd1237",
70-
"url": "http://mock-host.com:80/api/plan?fromPlace=Origin%20%2812%2C34%29%3A%3A12%2C34&toPlace=Destination%20%2834%2C12%29%3A%3A34%2C12&mode=WALK%2CTRANSIT&ignoreRealtimeUpdates=false&batchId=abcd1237",
57+
"requestId": "abcd1238",
58+
"searchId": "abcd1236",
59+
"url": "http://mock-host.com:80/api/plan?fromPlace=Origin%20%2812%2C34%29%3A%3A12%2C34&toPlace=Destination%20%2834%2C12%29%3A%3A34%2C12&mode=WALK%2CTRANSIT&ignoreRealtimeUpdates=false&batchId=abcd1236",
7160
},
7261
"type": "ROUTING_ERROR",
7362
},
@@ -107,17 +96,6 @@ Array [
10796
"type": "ROUTING_RESPONSE",
10897
},
10998
],
110-
Array [
111-
Object {
112-
"payload": Object {
113-
"error": [TypeError: Cannot read properties of undefined (reading 'trackRecent')],
114-
"requestId": "abcd1236",
115-
"searchId": "abcd1234",
116-
"url": "http://mock-host.com:80/api/plan?fromPlace=Origin%20%2812%2C34%29%3A%3A12%2C34&toPlace=Destination%20%2834%2C12%29%3A%3A34%2C12&mode=WALK%2CTRANSIT&ignoreRealtimeUpdates=false&batchId=abcd1234",
117-
},
118-
"type": "ROUTING_ERROR",
119-
},
120-
],
12199
]
122100
`;
123101

__tests__/components/viewers/__snapshots__/stop-viewer.js.snap

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ exports[`components > viewers > stop viewer should render countdown times after
2424
>
2525
<Connect(injectIntl(StopViewer))>
2626
<injectIntl(StopViewer)
27-
autoRefreshStopTimes={true}
27+
enableFavoriteStops={false}
2828
favoriteStops={Array []}
2929
fetchStopInfo={[Function]}
3030
findStopTimesForStop={[Function]}
@@ -218,7 +218,7 @@ exports[`components > viewers > stop viewer should render countdown times after
218218
zoomToStop={[Function]}
219219
>
220220
<StopViewer
221-
autoRefreshStopTimes={true}
221+
enableFavoriteStops={false}
222222
favoriteStops={Array []}
223223
fetchStopInfo={[Function]}
224224
findStopTimesForStop={[Function]}
@@ -780,7 +780,6 @@ exports[`components > viewers > stop viewer should render countdown times after
780780
className="sc-crrszt jgWhKL"
781781
>
782782
<LiveStopTimes
783-
autoRefreshStopTimes={true}
784783
findStopTimesForStop={[Function]}
785784
homeTimezone="America/Los_Angeles"
786785
setHoveredStop={[Function]}
@@ -1487,7 +1486,6 @@ exports[`components > viewers > stop viewer should render countdown times after
14871486
className="sc-dlfnuX jzpRQX"
14881487
>
14891488
<input
1490-
checked={true}
14911489
name="autoUpdate"
14921490
onChange={[Function]}
14931491
type="checkbox"
@@ -2395,7 +2393,7 @@ exports[`components > viewers > stop viewer should render countdown times for st
23952393
>
23962394
<Connect(injectIntl(StopViewer))>
23972395
<injectIntl(StopViewer)
2398-
autoRefreshStopTimes={true}
2396+
enableFavoriteStops={false}
23992397
favoriteStops={Array []}
24002398
fetchStopInfo={[Function]}
24012399
findStopTimesForStop={[Function]}
@@ -2490,7 +2488,7 @@ exports[`components > viewers > stop viewer should render countdown times for st
24902488
zoomToStop={[Function]}
24912489
>
24922490
<StopViewer
2493-
autoRefreshStopTimes={true}
2491+
enableFavoriteStops={false}
24942492
favoriteStops={Array []}
24952493
fetchStopInfo={[Function]}
24962494
findStopTimesForStop={[Function]}
@@ -2953,7 +2951,6 @@ exports[`components > viewers > stop viewer should render countdown times for st
29532951
className="sc-crrszt jgWhKL"
29542952
>
29552953
<LiveStopTimes
2956-
autoRefreshStopTimes={true}
29572954
findStopTimesForStop={[Function]}
29582955
homeTimezone="America/Los_Angeles"
29592956
setHoveredStop={[Function]}
@@ -3381,7 +3378,6 @@ exports[`components > viewers > stop viewer should render countdown times for st
33813378
className="sc-dlfnuX jzpRQX"
33823379
>
33833380
<input
3384-
checked={true}
33853381
name="autoUpdate"
33863382
onChange={[Function]}
33873383
type="checkbox"
@@ -3893,7 +3889,7 @@ exports[`components > viewers > stop viewer should render times after midnight w
38933889
>
38943890
<Connect(injectIntl(StopViewer))>
38953891
<injectIntl(StopViewer)
3896-
autoRefreshStopTimes={true}
3892+
enableFavoriteStops={false}
38973893
favoriteStops={Array []}
38983894
fetchStopInfo={[Function]}
38993895
findStopTimesForStop={[Function]}
@@ -4087,7 +4083,7 @@ exports[`components > viewers > stop viewer should render times after midnight w
40874083
zoomToStop={[Function]}
40884084
>
40894085
<StopViewer
4090-
autoRefreshStopTimes={true}
4086+
enableFavoriteStops={false}
40914087
favoriteStops={Array []}
40924088
fetchStopInfo={[Function]}
40934089
findStopTimesForStop={[Function]}
@@ -4649,7 +4645,6 @@ exports[`components > viewers > stop viewer should render times after midnight w
46494645
className="sc-crrszt jgWhKL"
46504646
>
46514647
<LiveStopTimes
4652-
autoRefreshStopTimes={true}
46534648
findStopTimesForStop={[Function]}
46544649
homeTimezone="America/Los_Angeles"
46554650
setHoveredStop={[Function]}
@@ -5367,7 +5362,6 @@ exports[`components > viewers > stop viewer should render times after midnight w
53675362
className="sc-dlfnuX jzpRQX"
53685363
>
53695364
<input
5370-
checked={true}
53715365
name="autoUpdate"
53725366
onChange={[Function]}
53735367
type="checkbox"
@@ -6275,7 +6269,7 @@ exports[`components > viewers > stop viewer should render with OTP transit index
62756269
>
62766270
<Connect(injectIntl(StopViewer))>
62776271
<injectIntl(StopViewer)
6278-
autoRefreshStopTimes={true}
6272+
enableFavoriteStops={false}
62796273
favoriteStops={Array []}
62806274
fetchStopInfo={[Function]}
62816275
findStopTimesForStop={[Function]}
@@ -6727,7 +6721,7 @@ exports[`components > viewers > stop viewer should render with OTP transit index
67276721
zoomToStop={[Function]}
67286722
>
67296723
<StopViewer
6730-
autoRefreshStopTimes={true}
6724+
enableFavoriteStops={false}
67316725
favoriteStops={Array []}
67326726
fetchStopInfo={[Function]}
67336727
findStopTimesForStop={[Function]}
@@ -7547,7 +7541,6 @@ exports[`components > viewers > stop viewer should render with OTP transit index
75477541
className="sc-crrszt jgWhKL"
75487542
>
75497543
<LiveStopTimes
7550-
autoRefreshStopTimes={true}
75517544
findStopTimesForStop={[Function]}
75527545
homeTimezone="America/Los_Angeles"
75537546
setHoveredStop={[Function]}
@@ -9815,7 +9808,6 @@ exports[`components > viewers > stop viewer should render with OTP transit index
98159808
className="sc-dlfnuX jzpRQX"
98169809
>
98179810
<input
9818-
checked={true}
98199811
name="autoUpdate"
98209812
onChange={[Function]}
98219813
type="checkbox"
@@ -11755,7 +11747,7 @@ exports[`components > viewers > stop viewer should render with TriMet transit in
1175511747
>
1175611748
<Connect(injectIntl(StopViewer))>
1175711749
<injectIntl(StopViewer)
11758-
autoRefreshStopTimes={true}
11750+
enableFavoriteStops={false}
1175911751
favoriteStops={Array []}
1176011752
fetchStopInfo={[Function]}
1176111753
findStopTimesForStop={[Function]}
@@ -12202,7 +12194,7 @@ exports[`components > viewers > stop viewer should render with TriMet transit in
1220212194
zoomToStop={[Function]}
1220312195
>
1220412196
<StopViewer
12205-
autoRefreshStopTimes={true}
12197+
enableFavoriteStops={false}
1220612198
favoriteStops={Array []}
1220712199
fetchStopInfo={[Function]}
1220812200
findStopTimesForStop={[Function]}
@@ -13017,7 +13009,6 @@ exports[`components > viewers > stop viewer should render with TriMet transit in
1301713009
className="sc-crrszt jgWhKL"
1301813010
>
1301913011
<LiveStopTimes
13020-
autoRefreshStopTimes={true}
1302113012
findStopTimesForStop={[Function]}
1302213013
homeTimezone="America/Los_Angeles"
1302313014
setHoveredStop={[Function]}
@@ -13988,7 +13979,6 @@ exports[`components > viewers > stop viewer should render with TriMet transit in
1398813979
className="sc-dlfnuX jzpRQX"
1398913980
>
1399013981
<input
13991-
checked={true}
1399213982
name="autoUpdate"
1399313983
onChange={[Function]}
1399413984
type="checkbox"
@@ -15908,7 +15898,7 @@ exports[`components > viewers > stop viewer should render with initial stop id a
1590815898
>
1590915899
<Connect(injectIntl(StopViewer))>
1591015900
<injectIntl(StopViewer)
15911-
autoRefreshStopTimes={true}
15901+
enableFavoriteStops={false}
1591215902
favoriteStops={Array []}
1591315903
fetchStopInfo={[Function]}
1591415904
findStopTimesForStop={[Function]}
@@ -15937,7 +15927,7 @@ exports[`components > viewers > stop viewer should render with initial stop id a
1593715927
zoomToStop={[Function]}
1593815928
>
1593915929
<StopViewer
15940-
autoRefreshStopTimes={true}
15930+
enableFavoriteStops={false}
1594115931
favoriteStops={Array []}
1594215932
fetchStopInfo={[Function]}
1594315933
findStopTimesForStop={[Function]}

0 commit comments

Comments
 (0)