Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull from master to get the new onboarding android flow #1080

Closed
wants to merge 1,069 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1069 commits
Select commit Hold shift + click to select a range
9dc0d48
fix DiaryCard showing current time if blank
JGreenlee Nov 29, 2023
da0a311
add TimestampRange type
JGreenlee Nov 29, 2023
1e906c0
fix DiaryCard showing blank TimestampBadges
JGreenlee Nov 29, 2023
63c14d6
new LabelTab functions for user inputs
JGreenlee Nov 29, 2023
9ac6e00
handle enketo validation with try/catch
JGreenlee Nov 30, 2023
d339de7
fix UserInputButton not filling in after response
JGreenlee Nov 30, 2023
6deab9f
add duration to ConfirmedPlace type def
JGreenlee Nov 30, 2023
e37fa01
refactor enketo user input types
JGreenlee Nov 30, 2023
098ba21
ignore /dist directory
JGreenlee Nov 30, 2023
36bbf08
fix reload on every tab switch
JGreenlee Nov 30, 2023
412b3b8
UI touchups
JGreenlee Nov 30, 2023
c9b2683
remove unused bits from index.html
JGreenlee Dec 2, 2023
e1d03a6
add "/dist/" to jest ignore
JGreenlee Dec 4, 2023
07befbc
fix getFormattedTimeRange
JGreenlee Dec 5, 2023
fec6a4b
rework resolveTimestamps validation to fix test
JGreenlee Dec 5, 2023
3c65612
update to Prettier 3.1
JGreenlee Dec 6, 2023
59a080f
fix type warnings in timelineHelper
JGreenlee Dec 7, 2023
3563698
fix type warnings on timelineHelperMocks
JGreenlee Dec 7, 2023
699d90f
fix Enketo type warnings
JGreenlee Dec 7, 2023
ff840ff
fix type warnings in confirmHelper.test.ts
JGreenlee Dec 7, 2023
88c72f8
use prettier 3.1.0 in workflow
JGreenlee Dec 14, 2023
a6e7a79
update unprocessed inputs after recording user input
JGreenlee Jan 8, 2024
8161d58
allow labels to be stored as a batch
JGreenlee Jan 8, 2024
b6a9155
Fixed WSOD on single-date pick
the-bay-kay Dec 26, 2023
ce760b6
Clean up a line of test code
the-bay-kay Dec 26, 2023
7483fe5
Added to WSOD fix on metrics tab
the-bay-kay Jan 9, 2024
b3785fd
use memoization pattern for added notes' displayDt
JGreenlee Jan 9, 2024
3e44ebc
display error properly if thrown in EnketoModal
JGreenlee Jan 9, 2024
316d4e9
revise type defs for additions / EnketoUserInputEntry
JGreenlee Jan 9, 2024
d5fe4b4
Merge branch 'service_rewrite_2023' of https://github.com/e-mission/e…
JGreenlee Jan 25, 2024
b0d6e7b
Merge branch 'migration-wrapup' of https://github.com/JGreenlee/e-mis…
JGreenlee Jan 25, 2024
6631890
fix notifScheduler test
JGreenlee Jan 25, 2024
a086892
fix type defs for notifScheduler
JGreenlee Jan 25, 2024
0aec763
fix type defs for timelineHelper
JGreenlee Jan 25, 2024
79d18a1
fix type warnings
JGreenlee Jan 25, 2024
004b9ea
replace remaining uses of `moment` & remove it from dependencies
JGreenlee Jan 26, 2024
48633c3
remove jQuery from dependencies + webpack
JGreenlee Jan 26, 2024
31d472e
unify function declarations: `const` vs `function`
JGreenlee Jan 26, 2024
adc6620
use 'const' and 'let' instead of 'var'
JGreenlee Jan 26, 2024
0a8ed76
cleanup all console/log statements
JGreenlee Jan 26, 2024
d8379c2
Merge pull request #1106 from JGreenlee/migration-wrapup
shankari Feb 1, 2024
539924c
fix processed trip survey responses not matching
JGreenlee Feb 2, 2024
cf28dba
inputMatcher prettier
JGreenlee Feb 2, 2024
e5ef8da
add tests for mapInputsToTimelineEntries
JGreenlee Feb 2, 2024
9ddcf31
Merge pull request #1125 from JGreenlee/fix-processed-surveys-matching
shankari Feb 2, 2024
11e8636
Merge branch 'service_rewrite_2023' into metrics_cleanup
Abby-Wheelis Feb 5, 2024
315dabe
update testing to resolve aftermath of merge conflict
Feb 5, 2024
44ac249
Merge branch 'service_rewrite_2023' of https://github.com/e-mission/e…
JGreenlee Feb 5, 2024
c7e9244
Merge pull request #1126 from e-mission/service_rewrite_2023
shankari Feb 6, 2024
c4798c6
Merge branch 'master' into screen-reader
sebastianbarry Feb 6, 2024
11ef42a
draft of conditional surveys logic
JGreenlee Feb 9, 2024
79a1bc5
Bumped up version of data collection plugin for new airplane and fore…
louisg1337 Feb 9, 2024
edde87f
Merge pull request #1127 from louisg1337/data_collection_bump
shankari Feb 9, 2024
04df66f
Added button for Bluetooth Scan Page
the-bay-kay Feb 9, 2024
9ee0cc0
Added barebones BluetoothScanPage
the-bay-kay Feb 9, 2024
eb33a98
adding quotes for consistency
Feb 9, 2024
46ab913
prettier changes
Feb 9, 2024
2c8ffbb
fixing formatting
Feb 9, 2024
3090f33
Undoing desc and descriptionText changes in www/js/control/SettingRow…
sebastianbarry Feb 9, 2024
b0596e0
Undoing desc and descriptionText changes in www/js/control/SettingRow…
sebastianbarry Feb 9, 2024
b15148c
Ran Prettier
the-bay-kay Feb 9, 2024
cf7c860
Add translation for "more info" on join page
sebastianbarry Feb 9, 2024
6bfef79
restore catch for "IN_VEHICLE"
Feb 10, 2024
3d06350
Merge pull request #1111 from Abby-Wheelis/metrics_cleanup
shankari Feb 10, 2024
dcb6957
Merge pull request #1118 from sebastianbarry/screen-reader
shankari Feb 10, 2024
602a3b4
Merge branch 'e-mission:master' into bluetooth_scanner
louisg1337 Feb 10, 2024
4dc111f
Added in the new bluetooth plugin so that it will automatically downl…
louisg1337 Feb 10, 2024
2cf7882
Roughly implemented the bluetooth scanner into the bluetooth page. Cr…
louisg1337 Feb 10, 2024
03fc69a
Merge branch 'master' of https://github.com/e-mission/e-mission-phone…
JGreenlee Feb 12, 2024
a26d039
use PascalCase for all type defs
JGreenlee Feb 12, 2024
069a72e
use LocalDt in MetricsTypes
JGreenlee Feb 12, 2024
633db15
use 'i18n.resolvedLanguage', not 'language'
JGreenlee Feb 12, 2024
125d009
LabelTab: guard clause for pipelineRange, both start_ts and end_ts
JGreenlee Feb 12, 2024
2453e9a
use Boolean() instead of !!
JGreenlee Feb 12, 2024
5c9b307
for conditional survey eval, spread trip props
JGreenlee Feb 12, 2024
c483322
use AppConfig type def on the useAppConfig hook and in inputMatcher
JGreenlee Feb 12, 2024
a4eb833
remove 'ch' unit from MetricsDateSelect
JGreenlee Feb 12, 2024
260f213
bump 'react-native-paper' to ^5.11.0
JGreenlee Feb 9, 2024
7fe3958
Updated Scanner UI
the-bay-kay Feb 12, 2024
07e4e17
Added translation support to Bluetooth Scanner
the-bay-kay Feb 13, 2024
1ed9e57
use the new Icon component from RN Paper 5.11
JGreenlee Feb 13, 2024
a717560
in useAppConfig, check config contents safely
JGreenlee Feb 13, 2024
ed49146
AddedNotesList: adjust UI
JGreenlee Feb 13, 2024
b076910
EnketoModal: allow appConfig to be initially null
JGreenlee Feb 13, 2024
8101388
use theme colors for logout button
JGreenlee Feb 13, 2024
8047221
fix OverallTripDescriptives not showing for multimodal unlabeled trips
JGreenlee Feb 13, 2024
72608de
make <NavBar> a reusable component
JGreenlee Feb 13, 2024
09a0408
aria: make NavBar + NavBarButton taller
JGreenlee Feb 13, 2024
86957d9
Changed "Scan once" button to "Toggle Scanning"
the-bay-kay Feb 13, 2024
6023c7f
Refactored the permissions for the bluetooth scanner so that there is…
louisg1337 Feb 13, 2024
b2f4281
Merge branch 'bluetooth_scanner' of https://github.com/the-bay-kay/e-…
louisg1337 Feb 13, 2024
4a5d853
Got rid of unused permissions button now
louisg1337 Feb 13, 2024
9215f69
Removed erroneous i18n files
the-bay-kay Feb 14, 2024
b4cafd4
Fixed scan button, ran prettier
the-bay-kay Feb 14, 2024
d647f33
add AlertManager for global alerts
JGreenlee Feb 15, 2024
76f4d5d
remove weird comma
JGreenlee Feb 15, 2024
c6a9777
move AlertBar to /components
JGreenlee Feb 15, 2024
9592107
revert "remove weird comma"
JGreenlee Feb 15, 2024
b573e06
make push notifications warning an AlertBar
JGreenlee Feb 16, 2024
524eb71
make Log Out button a NavBarButton; tweak NavBarButton
JGreenlee Feb 16, 2024
5f8bb77
explanation comment in dynamicStyleSheet.d.ts
JGreenlee Feb 19, 2024
2b366eb
Fixed weird react hook error by passing in the translation hook into …
louisg1337 Feb 19, 2024
157cfde
Updated bluetooth plugin, ran `prettier`
the-bay-kay Feb 19, 2024
43bfb4e
Updated plugin call to use new plugin
the-bay-kay Feb 20, 2024
f9c3c57
AddedNotesList: safer guard clauses in deleteEntry
JGreenlee Feb 20, 2024
9178685
aria: use 'touch' style for Enketo forms
JGreenlee Feb 20, 2024
e84e816
fix crash on updatePrefReminderTime
JGreenlee Feb 20, 2024
034bee2
Merge pull request #1130 from JGreenlee/fix-reminder-time
shankari Feb 20, 2024
9174545
fix inputMatcher logging test
JGreenlee Feb 21, 2024
2bf2e3e
fix uploadService arrow functions 'this'
JGreenlee Feb 21, 2024
0ce1e7d
add "inverse" colors to appTheme for AlertBars
JGreenlee Feb 21, 2024
658f00f
finish adding typings for LabelTabContext
JGreenlee Feb 21, 2024
0e50c8b
simplify alert creation in ProfileSettings
JGreenlee Feb 21, 2024
2796702
SettingRow: remove unused variable 'descriptionText'
JGreenlee Feb 21, 2024
4b5a7e7
Fixed rendering issues with BluetoothScanPage
the-bay-kay Feb 21, 2024
4788641
Merge branch 'master' into bluetooth_scanner
the-bay-kay Feb 21, 2024
0a71d52
Reverted button to "Scan Once"
the-bay-kay Feb 21, 2024
9be27b1
update "short" demo survey so people born in 2006 can take it
JGreenlee Feb 21, 2024
6f101d1
Add FlashList props to prevent blank space when scrolling
jiji14 Feb 22, 2024
5fcab70
Fixed miscalculation with device name slicing
the-bay-kay Feb 22, 2024
f690d84
Bumped up number of expected plugins
louisg1337 Feb 23, 2024
f9115ab
cache leaflet map to reduce the cost for creating a map
jiji14 Feb 26, 2024
bb16e6d
Forked our own version of the bluetooth plugin so that we can change …
louisg1337 Feb 27, 2024
00b8fdc
Added in functionality to prevent iOS users from using the bluetooth …
louisg1337 Feb 27, 2024
b62861e
use blue instead of orange for enketo surveys
JGreenlee Feb 28, 2024
9062055
UI touch up on the EnketoModal footer
JGreenlee Feb 28, 2024
6f1f28c
downscale tiles on TripCard LeafletView
JGreenlee Feb 28, 2024
187dfb3
LeafletView: add Props type definition
JGreenlee Feb 28, 2024
b81175a
only show Leaflet + OSM attribution on the first trip
JGreenlee Feb 28, 2024
915c63c
set innerHTML directly instead of using html-react-parser
JGreenlee Feb 28, 2024
72f499f
Updated Bluetooth Scan Coverage
the-bay-kay Feb 28, 2024
cd67709
LeafletView: make the attribution hyperlinks functional
JGreenlee Feb 29, 2024
a58b742
LeafletView: only cache for TripCard maps
JGreenlee Feb 29, 2024
10ca741
use reversed FlatList without CSS transforms
JGreenlee Feb 29, 2024
0848131
Moved raw_data_use backwards compat hack
sebastianbarry Feb 29, 2024
16b114b
move leaflet cache to a stateful hook
JGreenlee Feb 29, 2024
e35aaff
Updated second API call
the-bay-kay Feb 29, 2024
82df443
update scopedEval to return the result
JGreenlee Mar 1, 2024
e0e2d75
use [lon, lat] for pointIsWithinBounds
JGreenlee Mar 1, 2024
1b772e2
Incorporated iOS functionality to scanner
louisg1337 Mar 1, 2024
8b5c6f6
delete unnecessary print
jiji14 Mar 4, 2024
7b5212a
Merge pull request #1132 from jiji14/flashlist-scroll-bug
shankari Mar 4, 2024
a89247b
Merge pull request #1131 from JGreenlee/demo-survey-2006
shankari Mar 4, 2024
3fbc6b5
Merge pull request #1133 from sebastianbarry/raw_data_use_bugfix
shankari Mar 4, 2024
14f72de
Merge branch 'master' into code-cleanup-jan2024
JGreenlee Mar 4, 2024
1b3e946
Got rid of the ability for iOS users to use the scanner due to weird …
louisg1337 Mar 6, 2024
f8a6a8e
Ran prettier
louisg1337 Mar 6, 2024
1e47df3
Cleaned up PR: Fixed comments, cleaned JSX
the-bay-kay Mar 7, 2024
f541448
Added toggle between Scanning Modes
the-bay-kay Mar 8, 2024
8a1eb3b
Added ibeacon plugin
the-bay-kay Mar 8, 2024
cf3e5e4
Incorporated new iBeacon plugin we will be using
louisg1337 Mar 8, 2024
cf6510b
Changed the ibeacon plugin to our forked version
louisg1337 Mar 8, 2024
5cce571
Changed scanner permissions
the-bay-kay Mar 9, 2024
3878644
Started testing/experimenting with the ble plugin on Android. Does no…
louisg1337 Mar 11, 2024
a73fd32
Refactored BLE Scanner, filled out typing
the-bay-kay Mar 12, 2024
def2b24
Addressed review changes, updated permissions
the-bay-kay Mar 16, 2024
5812eee
Merge pull request #1124 from JGreenlee/code-cleanup-jan2024
shankari Mar 16, 2024
3939488
Merge branch 'master' into bluetooth_scanner
the-bay-kay Mar 16, 2024
1c1c2ba
Refractored Scanner Promises
the-bay-kay Mar 16, 2024
b76ce00
Updated how logs are handled, added Pairing Status
the-bay-kay Mar 17, 2024
c990c93
Fixed iOS Check
the-bay-kay Mar 17, 2024
9729a39
Merge branch 'bluetooth_scanner' into ble_scanner
the-bay-kay Mar 17, 2024
6bd3977
Fixed errors caused in merge, ran Prettier
the-bay-kay Mar 17, 2024
b270036
Fixed permission function variable
the-bay-kay Mar 18, 2024
41ff1a7
Removed patcher
the-bay-kay Mar 19, 2024
ab3c891
Merge pull request #1136 from the-bay-kay/android_ci_fix
shankari Mar 19, 2024
23e8de1
Merge branch 'master' into bluetooth_scanner
the-bay-kay Mar 19, 2024
a6c0f81
delete reseting leafletMapRef code after adding cache
jiji14 Mar 19, 2024
a5a8367
apply prettier
jiji14 Mar 19, 2024
295b96f
Refactored Bluetooth logs, fixed race conditions
the-bay-kay Mar 20, 2024
0387633
Merged `bluetooth_scanner` into `ble_scanner`
the-bay-kay Mar 20, 2024
3ed6974
iOS beacon scanning confirmed working
the-bay-kay Mar 21, 2024
989ee5f
Fixed typing files / imports
the-bay-kay Mar 21, 2024
2736da7
Merge pull request #1137 from jiji14/leaflet-bug-fix
shankari Mar 22, 2024
78b5da1
Merge pull request #1128 from the-bay-kay/bluetooth_scanner
shankari Mar 22, 2024
79250f7
revert Enketo buttons from `<Button>`s back to plain HTML
JGreenlee Mar 22, 2024
de0ed4c
Merge pull request #1139 from JGreenlee/fix-enketo-buttons
shankari Mar 22, 2024
2e9e948
Refactored BLE scanner, updated UI
the-bay-kay Mar 22, 2024
678d1c3
Merge branch 'master' into ble_scanner
the-bay-kay Mar 22, 2024
a11b6c1
Added scan stop, color to indicate beacon status
the-bay-kay Mar 23, 2024
71abee3
Cleanup Scanner Code, fix iOS bug
the-bay-kay Mar 23, 2024
c61ed71
Merge pull request #1135 from the-bay-kay/ble_scanner
shankari Mar 25, 2024
d0ed16b
Merge pull request #1129 from jiji14/conditional-surveys-gpg
shankari Mar 27, 2024
48f4847
🚨 Add a new key to each element in the beacon/device list
shankari Mar 28, 2024
05b2664
🔧 Add the ability to add new beacons to the list
shankari Mar 28, 2024
8bc0457
🔧 Allow users to add new beacons to be scanned through the UI
shankari Mar 29, 2024
8f9b130
♻️ Use a static identifier and make the major and minor values optional
shankari Mar 29, 2024
58b2b0a
♻️ Display the values that will change (UUID, major, minor)
shankari Mar 29, 2024
29e434c
✅ Display the result of the callback in the list + test button
shankari Mar 29, 2024
022ccec
🎨 Run prettier, fix syntax
shankari Mar 29, 2024
7c70840
✨ Implement the two stage range after monitor process suggested by iOS
shankari Mar 29, 2024
76839de
Merge pull request #1140 from shankari/simulate_ble_scans
shankari Mar 29, 2024
26c388d
📋 Prep for saving new BLE Bluetooth objects
shankari Apr 1, 2024
5f53e53
include 'sections' in UnprocessedTrips
JGreenlee Apr 3, 2024
76d1131
update types relating to `UnprocessedTrip`s
JGreenlee Apr 3, 2024
12db91a
rename functions related to unprocessed trips
JGreenlee Apr 3, 2024
826190a
flesh out more types
JGreenlee Apr 3, 2024
24304f3
add collectCoverageForm to track all files for Jest coverage
jiji14 Apr 8, 2024
ba3ef43
Fill in a "beacons" array for the range callback
shankari Apr 11, 2024
6ca810d
Prettier fixes + highlight that the buttons simulate behavior
shankari Apr 11, 2024
7cb3882
✨ Simulate BLE entries and transitions through the UI
shankari Apr 12, 2024
2cc07a0
add type defs for BLE data + new config fields
JGreenlee Apr 12, 2024
a586bb7
retrieve + match BLE scans to timelineEntries
JGreenlee Apr 12, 2024
bff97ae
use labels OR bluetooth vehicle identity to determine "confirmed mode"
JGreenlee Apr 12, 2024
463c2a5
🤡 Switch the simulation code in the UI to use the mock objects
shankari Apr 13, 2024
fbedee4
during bluetooth_ble matching, convert major and minor to hexadecimal
JGreenlee Apr 14, 2024
3fd2863
add "Refresh App Configuration" row to Profile tab
JGreenlee Apr 14, 2024
d61a4af
Merge branch 'simulate_ble_scans' of https://github.com/shankari/e-mi…
JGreenlee Apr 14, 2024
8de3ca0
Merge branch 'unprocessed-trip-sections' of https://github.com/JGreen…
JGreenlee Apr 14, 2024
6cd4e6b
allow android emulator to download locally hosted configs by using 10…
JGreenlee Apr 14, 2024
87370b6
🔥 Remove code to build JSON objects
shankari Apr 15, 2024
933f9a4
CSP allow 10.0.2.2 for android emulator
JGreenlee Apr 15, 2024
fcaec5c
fix typo: "background_ble" -> "bluetooth_ble"
JGreenlee Apr 15, 2024
1fca7c5
👷🔧 🪠 Plumb through support for requesting bluetooth scan permissions
shankari Apr 15, 2024
9d6e529
Prettier formatting fix
shankari Apr 15, 2024
7054136
Bump up the versions for the usercache and data collection plugins
shankari Apr 15, 2024
b2d22b7
revert "CSP allow 10.0.2.2 for android emulator"
JGreenlee Apr 15, 2024
0b6b844
add "confirmedMode" to derived properties & use for conditional surveys
JGreenlee Apr 15, 2024
37fbb85
only use "ranging" scans for BLE matching
JGreenlee Apr 15, 2024
9cfff85
Merge pull request #1145 from JGreenlee/ble-ui-changes
shankari Apr 15, 2024
8cc6a7e
UserInputButton: before appConfig is defined, don't show default survey
JGreenlee Apr 17, 2024
03673a4
in updateUnprocessedBleScans, await call to getUnifiedDataForInterval
JGreenlee Apr 17, 2024
d83f4d4
cacheResourcesFromConfig: reload the cache when config is downloaded
JGreenlee Apr 17, 2024
b9dd3ba
Merge pull request #1146 from JGreenlee/fermata-fixes-apr17
shankari Apr 20, 2024
f0c85f2
codecov-action version update v3 -> v4
jiji14 Apr 22, 2024
22cbf2f
add CODECOV_TOKEN as required for v4
jiji14 Apr 22, 2024
1589f74
Merge pull request #1143 from jiji14/code-coverage
shankari Apr 26, 2024
0eebe4b
Switch the data collection plugin version to the latest
shankari Apr 26, 2024
0f6aabc
Lock React version to ~18.2.0 (#1148)
JGreenlee Apr 28, 2024
5df032c
Merge branch 'master' into simulate_ble_scans
shankari Apr 28, 2024
ccab0ca
🐛 Use the correct version (v1.8.5) instead of just 1.8.5
shankari Apr 28, 2024
57819e1
Only display the result of merging PRs, not of pull requests
shankari Apr 28, 2024
5093541
Change all badges to only work on master and push
shankari Apr 28, 2024
8a9d9b3
Merge pull request #1144 from shankari/simulate_ble_scans
shankari Apr 28, 2024
ec20573
Added in script to change deployment for all pods
louisg1337 May 3, 2024
8aa0010
Reverted back to old workflow that uses Xcode 15
louisg1337 May 3, 2024
75c0c06
Fixed typo in hook file name
louisg1337 May 3, 2024
79656d8
🚑️ 🐛 Ensure that we do show the replaced mode when the `mode_of_inter…
shankari May 5, 2024
ed61b8d
Handle case where there is no input through the conditional access
shankari May 5, 2024
00a4d95
💩 Turn off the background checks for fleet deployments
shankari May 5, 2024
8b26d2d
✅ 🐛 Improve user input matching mocks and use them
shankari May 5, 2024
20b9e1a
Fix formatting
shankari May 5, 2024
1efda2e
Merge branch 'fix_replaced_mode_regression' into hack_to_disable_unus…
shankari May 5, 2024
958918d
Merge pull request #1150 from shankari/fix_replaced_mode_regression
shankari May 5, 2024
9921c52
💩 🔧 Disable only the unused apps check
shankari May 5, 2024
bc4c4ce
📌 ⬆️ Upgrade the pinned version of the OS
shankari May 5, 2024
ab2ff6e
📌 ⬆️ Bump up the pinned version for iOS deployment to 13
shankari May 5, 2024
9f3fc59
Merge pull request #1151 from shankari/hack_to_disable_unused_app_che…
shankari May 5, 2024
d890502
Merge branch 'master' of https://github.com/e-mission/e-mission-phone…
shankari May 5, 2024
0a43a4d
Merge pull request #1149 from louisg1337/ios_build_fix
shankari May 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions .editorconfig

This file was deleted.

6 changes: 5 additions & 1 deletion .github/workflows/android-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,17 @@ jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: macos-latest
runs-on: macos-13

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2

# Runs a single command using the runners shell
- name: Prints related environment variables so that we can know what to set
run: env | egrep "JAVA|PATH|ANDROID"

# Runs a single command using the runners shell
- name: Print the java and gradle versions
run: |
Expand Down
36 changes: 36 additions & 0 deletions .github/workflows/code-coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: code coverage
on:
pull_request:
types:
- opened
- reopened
- synchronize
- ready_for_review

jobs:
run-codecov:
if: github.event.pull_request.draft == false
runs-on: macos-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2

- name: Setup the serve environment
shell: bash -l {0}
run: |
bash setup/setup_serve.sh

- name: Run Jest tests
shell: bash -l {0}
run: |
source setup/activate_serve.sh
npx jest

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/coverage-final.json
flags: unit
fail_ci_if_error: ${{ github.repository == 'e-mission/e-mission-phone' }}

2 changes: 1 addition & 1 deletion .github/workflows/ios-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: macos-latest
runs-on: macos-14

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/prettier.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: prettier
on:
pull_request:

jobs:
run-prettier:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npx prettier@3.1.0 --check www


8 changes: 3 additions & 5 deletions .github/workflows/serve-install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,13 @@ on:
branches:
- master
- maint_upgrade_**
- ui_feature_**
pull_request:
branches:
- master
- maint_upgrade_**
- ui_feature_**
- service_rewrite_2023
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '5 4 * * 0'
Expand Down Expand Up @@ -56,11 +59,6 @@ jobs:
echo "ionic version"
npx ionic --version

- name: Run Jest tests
shell: bash -l {0}
run: |
npx jest

# TODO: figure out how to check that a server started correctly
# - name: Try starting it
# run: npx run serve
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
node_modules/
platforms/
plugins/
dist/
www/lib/
package-hooks/
.DS_Store
Expand All @@ -16,3 +17,4 @@ app-settings.json
www/dist/
config.xml
package.json
coverage/
12 changes: 12 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Ignore www/dist, json
www/dist
www/json

# Ignore all HTML files:
**/*.html

# This is the pattern to check only www directory
# Ignore all
/*
# but don't ignore all the files in www directory
!/www
10 changes: 10 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"printWidth": 100,
"tabWidth": 2,
"singleQuote": true,
"trailingComma": "all",
"bracketSpacing": true,
"bracketSameLine": true,
"endOfLine": "lf",
"semi": true
}
126 changes: 81 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ e-mission phone app

This is the phone component of the e-mission system.

:sparkles: This has now been upgraded to cordova android@9.0.0 and iOS@6.0.1 ([details](https://github.com/e-mission/e-mission-docs/issues/554)). It has also been upgraded to [android API 29](https://github.com/e-mission/e-mission-phone/pull/707/), [cordova-lib@10.0.0 and the most recent node and npm versions](https://github.com/e-mission/e-mission-phone/pull/708)It also now supports CI, so we should not have any build issues in the future. The limitations from the [previous upgrade](https://github.com/e-mission/e-mission-docs/issues/519) have all been resolved. This should be ready to build out of the box, after all the configuration files are changed.
:sparkles: This has been upgraded to the latest **Android**, **iOS**, **cordova-lib**, **node** and **npm** versions. __This is ready to build out of the box.__

The currently supported versions are in [`package.cordovabuild.json`](package.cordovabuild.json)

Additional Documentation
---
Expand All @@ -12,9 +14,17 @@ https://github.com/e-mission/e-mission-docs/tree/master/docs/e-mission-phone

**Issues:** Since this repository is part of a larger project, all issues are tracked [in the central docs repository](https://github.com/e-mission/e-mission-docs/issues). If you have a question, [as suggested by the open source guide](https://opensource.guide/how-to-contribute/#communicating-effectively), please file an issue instead of sending an email. Since issues are public, other contributors can try to answer the question and benefit from the answer.

## Contents
#### 1. [Updating the UI only](#updating-the-ui-only)
#### 2. [End to End Testing](#end-to-end-testing)
#### 3. [Updating the e-mission-* plugins or adding new plugins](#updating-the-e-mission--plugins-or-adding-new-plugins)
#### 4. [Creating logos](#creating-logos)
#### 5. [Beta-testing debugging](#beta-testing-debugging)
#### 6. [Contributing](#contributing)

Updating the UI only
---
[![osx-serve-install](https://github.com/e-mission/e-mission-phone/workflows/osx-serve-install/badge.svg)](https://github.com/e-mission/e-mission-phone/actions?query=workflow%3Aosx-serve-install)
[![osx-serve-install](https://github.com/e-mission/e-mission-phone/workflows/osx-serve-install/badge.svg?branch=master&event=push)](https://github.com/e-mission/e-mission-phone/actions?query=workflow%3Aosx-serve-install)

If you want to make only UI changes, (as opposed to modifying the existing plugins, adding new plugins, etc), you can use the **new and improved** (as of June 2018) [e-mission dev app](https://github.com/e-mission/e-mission-devapp/) and install the most recent version from [releases](https://github.com/e-mission/e-mission-devapp/releases).

Expand All @@ -23,30 +33,21 @@ If you want to make only UI changes, (as opposed to modifying the existing plugi
Run the setup script

```
$ bash setup/setup_serve.sh
```

**(optional)** Configure by changing the files in `www/json`.
Defaults are in `www/json/*.sample`

```
$ ls www/json/*.sample
$ cp www/json/startupConfig.json.sample www/json/startupConfig.json
$ cp ..... www/json/connectionConfig.json
bash setup/setup_serve.sh
```

### Activation (after install, and in every new shell)

```
$ source setup/activate_serve.sh
source setup/activate_serve.sh
```

### Running

1. Start the phonegap deployment server and note the URL(s) that the server is listening to.

```
$ npm run serve
npm run serve
....
[phonegap] listening on 10.0.0.14:3000
[phonegap] listening on 192.168.162.1:3000
Expand All @@ -56,7 +57,9 @@ $ source setup/activate_serve.sh
....
```

1. Change the devapp connection URL to one of these (e.g. 192.168.162.1:3000) and press "Connect"
1. Change the devapp connection URL and press "Connect"
- If you are running the devapp in an emulator on the same machine as the devapp server, you may simply use localhost, which would be `127.0.0.1:3000` on iOS and `10.0.2.2:3000` on Android.
- If you are running the devapp on a different device, you must type the address manually (e.g. `192.168.162.1:3000`). Note that this is a local IP address; the devices must be on the same network
1. The app will now display the version of e-mission app that is in your local directory
1. The console logs will be displayed back in the server window (prefaced by `[console]`)
1. Breakpoints can be added by connecting through the browser
Expand All @@ -65,7 +68,7 @@ $ source setup/activate_serve.sh

**Ta-da!** :gift: If you change any of the files in the `www` directory, the app will automatically be re-loaded without manually restarting either the server or the app :tada:

**Note1**: You may need to scroll up, past all the warnings about `Content Security Policy has been added` to find the port that the server is listening to.
**Note**: You may need to scroll up, past all the warnings about `Content Security Policy has been added` to find the port that the server is listening to.

End to end testing
---
Expand All @@ -78,14 +81,15 @@ A lot of the visualizations that we display in the phone client come from the se

are available in the [e-mission-server README](https://github.com/e-mission/e-mission-server/blob/master/README.md).

In order to make end to end testing easy, if the local server is started on a HTTP (versus HTTPS port), it is in development mode. By default, the phone app connects to the local server (localhost on iOS, [10.0.2.2 on android](https://stackoverflow.com/questions/5806220/how-to-connect-to-my-http-localhost-web-server-from-android-emulator-in-eclips)) with the `prompted-auth` authentication method. To connect to a different server, or to use a different authentication method, you need to create a `www/json/connectionConfig.json` file. More details on configuring authentication [can be found in the docs](https://github.com/e-mission/e-mission-docs/blob/master/docs/install/configuring_authentication.md).
The dynamic config (see https://github.com/e-mission/nrel-openpath-deploy-configs) controls the server endpoint that the phone app will connect to. If you are running the app in an emulator on the same machine as your local server (i.e. they share a `localhost`), you can use one of the `dev-emulator-*` configs (these configs have no `server` specified so `localhost` is assumed).

One advantage of using `skip` authentication in development mode is that any user email can be entered without a password. Developers can use one of the emails that they loaded test data for in step (3) above. So if the test data loaded was with `-u shankari@eecs.berkeley.edu`, then the login email for the phone app would also be `shankari@eecs.berkeley.edu`.
If you wish to connect to a different server, create your own config file according to https://github.com/e-mission/nrel-openpath-deploy-configs and specify the `server` field accordingly. The [deploy-configs](https://github.com/e-mission/nrel-openpath-deploy-configs/#testing-configs) repo has more information on this.

Updating the e-mission-\* plugins or adding new plugins
---
[![osx-build-ios](https://github.com/e-mission/e-mission-phone/actions/workflows/ios-build.yml/badge.svg)](https://github.com/e-mission/e-mission-phone/actions/workflows/ios-build.yml)
[![osx-build-android](https://github.com/e-mission/e-mission-phone/actions/workflows/android-build.yml/badge.svg)](https://github.com/e-mission/e-mission-phone/actions/workflows/android-build.yml)
[![osx-build-ios](https://github.com/e-mission/e-mission-phone/actions/workflows/ios-build.yml/badge.svg?branch=master&event=push)](https://github.com/e-mission/e-mission-phone/actions/workflows/ios-build.yml?event-push)
[![osx-build-android](https://github.com/e-mission/e-mission-phone/actions/workflows/android-build.yml/badge.svg?branch=master&event=push)](https://github.com/e-mission/e-mission-phone/actions/workflows/android-build.yml?event=push)
[![osx-android-prereq-sdk-install](https://github.com/e-mission/e-mission-phone/actions/workflows/android-automated-sdk-install.yml/badge.svg?branch=master&event=push)](https://github.com/e-mission/e-mission-phone/actions/workflows/android-automated-sdk-install.yml?event=push)

Pre-requisites
---
Expand All @@ -97,7 +101,7 @@ Pre-requisites
- Java 17. Tested with [OpenJDK 17 (Temurin) using Adoptium](https://adoptium.net).
- android SDK; install manually or use setup script below. Note that you only need to run this once **per computer**.
```
$ bash setup/prereq_android_sdk_install.sh
bash setup/prereq_android_sdk_install.sh
```

<details><summary>Expected output</summary>
Expand Down Expand Up @@ -142,27 +146,38 @@ Installing (one time only)
Run the setup script for the platform you want to build

```
$ bash setup/setup_android_native.sh
AND/OR
$ bash setup/setup_ios_native.sh
bash setup/setup_android_native.sh
```

**(optional)** Configure by changing the files in `www/json`.
Defaults are in `www/json/*.sample`

AND/OR
```
$ ls www/json/*.sample
$ cp www/json/startupConfig.json.sample www/json/startupConfig.json
$ cp ..... www/json/connectionConfig.json
bash setup/setup_ios_native.sh
```

### Activation (after install, and in every new shell)

```
$ source setup/activate_native.sh
source setup/activate_native.sh
```

### Activation (after install, and in every new shell)
<details><summary> Expected Output </summary>

```
Activating nvm
Using version <X version number>
Now using node <X version number> (npm <Y version>)
npm version = <Y version>
Adding cocoapods to the path
Verifying /Users/<username>/Library/Android/sk or /Users/<username>/Library/Android/sdk is set
Activating sdkman, and by default, gradle
Ensuring that we use the most recent version of the command line tools
Configuring the repo for building native code
Copied config.cordovabuild.xml -> config.xml and package.cordovabuild.json -> package.json
```

</details>


### Enable HTTP support on android by editing `config.xml`

If connecting to a development server over http, make sure to turn on http support on android

Expand All @@ -172,14 +187,29 @@ If connecting to a development server over http, make sure to turn on http suppo
</edit-config>
```

### Run in the emulator
### Building the app

We offer a set of build scripts to pick from, each of which: (i) bundle the JS with Webpack, and then (ii) proceed with a Cordova build.
The common use cases will be:

- `npm run build` (to build for production on both Android and iOS platforms)
- `npm run build-prod-android` (to build for production on Android platform only)
- `npm run build-prod-ios` (to build for production on iOS platform only)

There are a variety of options because Webpack can bundle the JS in 'production' or 'dev' mode, and you can build Android or iOS or both.
Find the full list of these scripts in [`package.cordovabuild.json`](package.cordovabuild.json)

<details><summary>Expected output (Android build)</summary>

```
$ npx cordova emulate ios
AND/OR
$ npx cordova emulate android
BUILD SUCCESSFUL in 2m 48s
52 actionable tasks: 52 executed
Built the following apk(s):
/Users/<Username>/e-mission-phone/platforms/android/app/build/outputs/apk/debug/app-debug.apk
```

</details>

Creating logos
---
If you are building your own version of the app, you must have your own logo to
Expand Down Expand Up @@ -223,28 +253,34 @@ Contributing

Add the main repo as upstream

$ git remote add upstream https://github.com/covid19database/phone-app.git
git remote add upstream https://github.com/e-mission/e-mission-phone.git

Create a new branch (IMPORTANT). Please do not submit pull requests from master

$ git checkout -b mybranch
git checkout -b mybranch

Make changes to the branch and commit them

$ git commit
git commit

Push the changes to your local fork

$ git push origin mybranch
git push origin mybranch

Generate a pull request from the UI

Address my review comments

Once I merge the pull request, pull the changes to your fork and delete the branch
```
$ git checkout master
$ git pull upstream master
$ git push origin master
$ git branch -d mybranch
git checkout master
```
```
git pull upstream master
```
```
git push origin master
```
```
git branch -d <branch>
```
Loading
Loading