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

Release v5.0.0 #358

Merged
merged 118 commits into from
Jul 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
c022422
fix: Adjust projectKey styling and text
gmaclennan Nov 27, 2019
8362831
fix(Sync): Touch up styles of no wifi sync screen
gmaclennan Nov 27, 2019
0f3aaf6
chore(docs): Add README note about breaking changes and stability
gmaclennan Dec 4, 2019
b53f93c
chore(docs): Add README note about translations
gmaclennan Dec 4, 2019
4d0123b
feat: Update to latest React Native & Unimodules (better performance …
gmaclennan Dec 4, 2019
f8d7a0b
fix: Don't render app until saved draft is loaded from storage
gmaclennan Jan 10, 2020
330fdab
fix: Fix crash after deleting an observation's description
gmaclennan Jan 20, 2020
69d7b82
feat: Use Android default animation for navigation (changes close ico…
gmaclennan Jan 20, 2020
281553a
feat: Ask for confirmation when the user presses the back button when…
gmaclennan Jan 20, 2020
9751501
fix: Fix bug when a user edits an existing observation and is returne…
gmaclennan Jan 20, 2020
cf12518
chore(release): 2.0.0-alpha.0
gmaclennan Jan 20, 2020
562b95a
feat: 🎉 Import configuration files (.mapeosettings) from a new settin…
gmaclennan Jan 23, 2020
1daf1ed
chore(release): 2.1.0-alpha.1
gmaclennan Jan 23, 2020
0e6514d
fix: Remove unused picker component (pending coordinate format setting)
gmaclennan Jan 23, 2020
e28b657
chore(release): 2.1.0-alpha.2
gmaclennan Jan 23, 2020
5dbe33e
fix: Fix config import failing when there is an existing config
gmaclennan Jan 25, 2020
3a1a2ca
chore(release): 2.1.0-alpha.3
gmaclennan Jan 25, 2020
184c7a1
New Crowdin translations (#272)
gmaclennan Jan 30, 2020
06887d0
fix: Fix crash when presets have empty placeholder field
gmaclennan Feb 5, 2020
f3d487b
feat: Add settings screen to change language (independent of device l…
gmaclennan Feb 5, 2020
c2591e2
chore(release): 2.1.0-alpha.4
gmaclennan Feb 5, 2020
145c896
karissa->okdistribute
okdistribute Feb 10, 2020
67e3565
fix: add package-lock.json files for front and backend
okdistribute Feb 11, 2020
e2cb588
Merge pull request #308 from digidem/package-lock
okdistribute Feb 11, 2020
f7a312b
chore: Enable package-lock in .npmrc
gmaclennan Feb 12, 2020
66cb216
fix: Fix crash caused by react-native-v8 patch release fixes #311
gmaclennan Feb 12, 2020
01d5fcd
chore: Report "Application Not Responding" errors to Bugsnag
gmaclennan Mar 13, 2020
c9f9fca
chore: Add bugsnag gradle / Android integration
gmaclennan Mar 13, 2020
ffbaa23
feat: Release smaller APK for Arm devices only (#322)
gmaclennan Mar 17, 2020
d9ba820
chore(deps): bump acorn from 7.1.0 to 7.1.1 in /src/backend
dependabot[bot] Mar 17, 2020
7df584d
feat: New translations including Vietnamese (#303)
gmaclennan Mar 17, 2020
2354a4a
feat: New "Mapeo for ICCAs" variant for UNEP WCMC (#346)
gmaclennan Mar 19, 2020
4393dab
chore: small improvements to logging for nodejs-mobile
gmaclennan Mar 19, 2020
1324a8d
fix: Bundle React-Native code in Universal & Intel build types
gmaclennan Mar 19, 2020
f848655
chore: Improve deploy process (#349)
gmaclennan Mar 21, 2020
7fd6a5d
chore: Update deps (including flow)
gmaclennan Mar 23, 2020
2748b10
chore: remove unused yarn artifacts
gmaclennan Mar 23, 2020
97c91ff
chore: Switch out deprecated react-native-hooks package
gmaclennan Mar 23, 2020
d0ce93b
Fix: Fix crash from switching away from app during camera view
gmaclennan Mar 23, 2020
f02c837
fix: Don't [silently] throw error if a user cancels a share action
gmaclennan Mar 23, 2020
6bba57a
Fix: Fix double header on photo modal (from alphas)
gmaclennan Mar 23, 2020
694977c
FIx: Fix race conditions with server start-stop (switching away from …
gmaclennan Mar 23, 2020
aeccd92
chore: Improve debug messages and error reporting
gmaclennan Mar 24, 2020
84faf09
fix: Fix online mapstyle not loading when offline style is removed
gmaclennan Mar 24, 2020
960776f
fix: Do not update user location (blue dot) on map until user moves m…
gmaclennan Mar 24, 2020
eec268b
feat: Show "empty state" when user has not yet recorded any observations
gmaclennan Mar 24, 2020
4e43c26
chore: Fix gradle build errors trying to strip mips code
gmaclennan Mar 25, 2020
808e900
fix: Attempt to fix builds for OPPO phones (fixes #301)
gmaclennan Mar 25, 2020
f21259c
fix: Fix translations build script
gmaclennan Mar 25, 2020
5b444d5
chore: Update translations for new features (#350)
gmaclennan Mar 25, 2020
385b0fd
feat: Add end-to-end tests with Detox (#355)
gmaclennan Mar 26, 2020
841c031
feat: 📏 Add scale bar to map & improve battery usage (#356)
gmaclennan Mar 26, 2020
aac8490
chore: Fix s3 upload naming
gmaclennan Mar 26, 2020
1cec02f
chore: Fix debug applicationId
gmaclennan Mar 26, 2020
a2d96da
chore(release): 2.1.0-beta.0
gmaclennan Mar 26, 2020
63c9be3
chore: Merge CHANGELOG from 2.0.0-beta releases
gmaclennan Mar 27, 2020
657c817
fix: Fix sync errors by locking discovery swarm to v6.0.0
gmaclennan Mar 27, 2020
75b1e8d
chore: Also run Github CI on pull requests
gmaclennan Mar 27, 2020
764462b
chore: Version naming for new release process
gmaclennan Mar 27, 2020
a3e17e9
chore(release): prepare for 2.1.0
gmaclennan Mar 27, 2020
20b4820
chore: typo in docs
gmaclennan Mar 27, 2020
3533042
chore: Adjust when CI runs
gmaclennan Mar 27, 2020
6701efe
chore: Fix e2e tests
gmaclennan Mar 28, 2020
eb07da9
fix: Move attribution (i) to bottom-right (avoid overlap with scale bar)
gmaclennan Apr 7, 2020
699b280
fix: Fix crash during sync progress (updates progress circle library)
gmaclennan Apr 7, 2020
86f9b86
fix: Fix photos rotated incorrectly when the phone is rotated soon af…
gmaclennan Apr 16, 2020
4589eac
fix: Update to latest Mapbox. Potentially fixes missing map icon.
gmaclennan Apr 21, 2020
4672ee0
chore: Better reporting of error message after config update
gmaclennan Apr 21, 2020
03287fb
fix: Support presets version 3 (only breaks compat with iD, not MM)
gmaclennan Apr 21, 2020
174d05b
fix(update-config): Don't import presets if version check fails
gmaclennan Apr 21, 2020
a47ed38
fix: Fix changing config with new project key (fix sync not working a…
gmaclennan Apr 21, 2020
d570c04
fix: Ensure that presets are not cached after config is changed
gmaclennan Apr 21, 2020
735c75e
chore: Report config import errors to bugsnag
gmaclennan Apr 21, 2020
a711ab6
fix: Show error to user if there is an error importing config
gmaclennan Apr 21, 2020
de81113
chore: use mapeoCore.close() and patch in cleanup of hypercores and idx
gmaclennan Apr 22, 2020
5b92afe
chore: Update KNOWN_ISSUES with bugs that will not be fixed in v2.1
gmaclennan Apr 22, 2020
46d4951
chore: Fix bugsnag error reporting
gmaclennan Apr 22, 2020
b01c259
fix(ObservationView): Fix display of observation icon on inset map
gmaclennan Apr 23, 2020
1d49511
fix(MapView): Improve map performance and device compatibility
gmaclennan Apr 23, 2020
e129456
fix(ObservationView): Speed up initial load of inset map
gmaclennan Apr 23, 2020
e52f070
chore: Don't re-fetch deviceId (is cached and does not change)
gmaclennan Apr 23, 2020
db79df7
feat: Device name remains the same across app restarts (#369)
gmaclennan Apr 14, 2020
a0e4593
fix(SyncPeer): Make sync button respond immediately to press
gmaclennan Apr 23, 2020
d3d6273
fix: Fix config loading on Samsung devices
gmaclennan May 6, 2020
a928938
Fix close function to wait for everything to close
gmaclennan May 7, 2020
d071b53
Remove unnecessary close of hypercore storage
gmaclennan May 7, 2020
34482f0
chore: Rename pending release to v5 and update changelog
gmaclennan May 22, 2020
9748298
feat: Add Brazilian Portuguese translations (#412)
gmaclennan Jul 1, 2020
afa494b
chore(deps): update to latest mapeo core
okdistribute Jul 2, 2020
fed75d2
abstract usePeers from desktop
okdistribute Jul 2, 2020
1154045
fix: pull in code from desktop for usePeers state manager
okdistribute Jul 2, 2020
23e9d65
chore: Add missing intl messages
gmaclennan Jul 2, 2020
1b7ec8e
fix: get sync to render properly with new mapeo core
okdistribute Jul 2, 2020
b8c51e2
chore(deps): update to latest mapeo core
okdistribute Jul 2, 2020
be480be
fix: sync on peer device should show progress events on local device
okdistribute Jul 3, 2020
27def8c
fix: pass through 'connected' state to peer list
okdistribute Jul 3, 2020
875db5f
fix: show indeterminate state when progress is 1
okdistribute Jul 3, 2020
dbce6d6
fix: Fix Portuguese (Brazilian) translations
gmaclennan Jul 7, 2020
cf2178b
fix: show a yellow icon when disconnected
okdistribute Jul 7, 2020
42df960
fix: When WiFi connection state changes, refresh peer list
okdistribute Jul 7, 2020
890205e
fix: Ignore errors (e.g., ECONNABORTED) that are now caught by the
okdistribute Jul 7, 2020
b820ad0
fix: 'missing data' error will not cancel large syncs too early
okdistribute Jul 7, 2020
fa60732
fix: Improve the formatting of Mapeo Alerts fixes #401
okdistribute Jul 14, 2020
fc79e16
chore: for flow, ensure fields and preset are always present
okdistribute Jul 15, 2020
f489734
fix: some last fixes for mapeo alerts
okdistribute Jul 15, 2020
58beb8a
chore: ensure flow understands we use select_multiple now too
okdistribute Jul 15, 2020
dca117d
fix: ignore missing data errors and errors that are stale
okdistribute Jul 17, 2020
85d49fd
chore(deps): bump to @mapeo/core v8.3.2 for missing data fixes
okdistribute Jul 19, 2020
860ce06
chore: Update package-lock to v5.0.0
gmaclennan Jul 20, 2020
2f81f4f
chore: Update to [email protected]
gmaclennan Jul 20, 2020
2ceec76
fix: Ensure sync errors are always propagated to frontend.
okdistribute Jul 21, 2020
358ffb6
fix: Fix observations not rendering when GPS is off (#431)
gmaclennan Jul 21, 2020
2d32ca3
fix: Update Portuguese translations
gmaclennan Jul 21, 2020
7d52832
fix: Update Thai and Nepali translations
gmaclennan Jul 21, 2020
ded7150
chore: Update changelog (prepare for release)
gmaclennan Jul 21, 2020
e37b1d8
chore: Update KNOWN_ISSUES for v5.0.0 release
gmaclennan Jul 21, 2020
73901fb
chore: Roll back to react-native-mapbox-gl/[email protected]
gmaclennan Jul 22, 2020
0963147
fix: Turn off dev mode (yellow warning boxes) in universal build
gmaclennan Jul 22, 2020
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
Binary file added .env.secret
Binary file not shown.
4 changes: 2 additions & 2 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@
"rules": {
"react/prop-types": 0,
"react-native/no-unused-styles": 2,
"react-native/no-raw-text": 2,
"react/display-name": 0,
"camelcase": 0,
"lines-between-class-members": 0,
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn"
"react-hooks/exhaustive-deps": "warn",
"react-native/no-raw-text": ["error", { "skip": ["Button"] }]
},
"settings": {
"react": {
Expand Down
26 changes: 21 additions & 5 deletions .flowconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,33 @@ node_modules/warning/.*
; Flow doesn't support platforms
.*/Libraries/Utilities/LoadingView.js

[untyped]
.*/node_modules/@react-native-community/cli/.*/.*

; Ignore module-deps test
.*/node_modules/module-deps/test/.*

; Ignore node backend stuff
src/backend/.*
nodejs-assets/.*

.*/node_modules/react-native/Libraries/Animated/src/AnimatedImplementation.js

[untyped]
.*/node_modules/@react-native-community/cli/.*/.*
.*/node_modules/react-native/Libraries/Lists/VirtualizedList.js
.*/node_modules/react-native/Libraries/Lists/ViewabilityHelper.js
.*/node_modules/react-native-share/index.js
.*/node_modules/react-native/Libraries/Components/ScrollView/ScrollView.js
.*/node_modules/react-native/Libraries/Components/Touchable/Touchable.js
.*/node_modules/react-native/Libraries/Lists/FlatList.js
.*/node_modules/react-native/Libraries/YellowBox/UI/YellowBoxInspectorSourceMapStatus.js
.*/node_modules/react-native/Libraries/Utilities/registerGeneratedViewConfig.js
.*/node_modules/react-native/Libraries/ReactNative/PaperUIManager.js
.*/node_modules/react-native/Libraries/PermissionsAndroid/PermissionsAndroid.js
.*/node_modules/react-native/Libraries/Modal/Modal.js
.*/node_modules/react-native/Libraries/Animated/src/nodes/AnimatedInterpolation.js
.*/node_modules/react-native/Libraries/Animated/src/AnimatedMock.js
.*/node_modules/react-native/Libraries/Animated/src/Animated.js
.*/node_modules/react-native-fs/FS.common.js

[include]

[libs]
Expand Down Expand Up @@ -64,7 +81,6 @@ untyped-type-import=warn
nonstrict-import=warn
deprecated-type=warn
unsafe-getters-setters=warn
inexact-spread=warn
unnecessary-invariant=warn
signature-verification-failure=warn
deprecated-utility=error
Expand All @@ -79,4 +95,4 @@ untyped-import
untyped-type-import

[version]
^0.105.0
^0.121.0
86 changes: 86 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: Android
on: [pull_request]
jobs:
build:
name: e2e tests
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v2
# - name: Cache npm files
# uses: actions/cache@v1
# with:
# path: ~/.npm
# key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
# restore-keys: |
# ${{ runner.os }}-node-
# - name: Cache Gradle files
# uses: actions/cache@v1
# with:
# path: ~/.gradle/caches
# key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
# restore-keys: ${{ runner.os }}-gradle-
- name: Node
uses: actions/setup-node@v1
- name: Use specific Java version for sdkmanager to work
uses: joschi/setup-jdk@v1
with:
java-version: "openjdk8"
architecture: "x64"
# - name: Install NDK
# run: |
# export ANDROID_NDK_VERSION='20b'
# export ANDROID_NDK_HOME=$ANDROID_HOME/ndk-bundle
# curl -fsSo android-ndk-r${ANDROID_NDK_VERSION}.zip https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_VERSION}-linux-x86_64.zip
# unzip -q -o android-ndk-r${ANDROID_NDK_VERSION}.zip
# rm -rf $ANDROID_NDK_HOME
# mv android-ndk-r${ANDROID_NDK_VERSION} $ANDROID_NDK_HOME
# ls -al $ANDROID_NDK_HOME
# cat $ANDROID_NDK_HOME/source.properties
- name: Download Android Emulator Image
run: |
sdkmanager --update | grep -v = || true
echo "SDK versions:"
$ANDROID_HOME/tools/bin/sdkmanager --list
echo "Downloading emulator image"
echo "y" | $ANDROID_HOME/tools/bin/sdkmanager --install "system-images;android-28;default;x86" > /dev/null
echo "Creating emulator avd"
echo "no" | $ANDROID_HOME/tools/bin/avdmanager create avd --force --name emu --device "Nexus 6" -k 'system-images;android-28;default;x86'
echo "Emulator version:"
$ANDROID_HOME/emulator/emulator @emu -version
echo "Hardware acceleration:"
$ANDROID_HOME/emulator/emulator -accel-check
kextstat | grep intel
echo "\nEmulator config"
cat $HOME/.android/avd/emu.avd/config.ini
- name: Install node_modules
run: |
mkdir -p nodejs-assets
npm ci
- name: Build backend
run: |
npm run build:backend
- name: Build translations
run: |
npm run build:translations
- name: Build for detox
run: |
npm run build-detox-android
- name: Android Emulator
timeout-minutes: 10
continue-on-error: true
run: |
echo "Starting emulator"
mkdir -p artifacts
nohup $ANDROID_HOME/emulator/emulator -avd emu -no-audio -no-snapshot -no-window -gpu swiftshader_indirect -no-boot-anim &> ./artifacts/emulator.log &
$ANDROID_HOME/platform-tools/adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed | tr -d '\r') ]]; do sleep 1; done; input keyevent 82'
$ANDROID_HOME/platform-tools/adb devices
echo "Emulator started"
- name: Android Detox
run: npm start & npm run test-detox-android -- --record-videos all --record-logs all
- name: Upload artifacts
uses: actions/upload-artifact@v1
if: always()
with:
name: test-videos
path: artifacts
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ buck-out/
\.buckd/
*.keystore
!debug.keystore
# NB: QA releases are insecure because signing key is public - use for testing only
!mapeo-qa-key.keystore

# fastlane
#
Expand All @@ -66,3 +68,7 @@ buck-out/

# Translation files
/translations

# Private env variables
.env
.bitrise.secrets.yml
Binary file added .gitsecret/keys/random_seed
Binary file not shown.
3 changes: 2 additions & 1 deletion .gitsecret/paths/mapping.cfg
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
android/app/my-release-key.keystore:
android/app/mapeo-release-key.keystore:de748fe4f87b93011b90c40cf8ad5532093fbed8267d5f75837c9e524d0bbc2a
.env:3107304958a21c4330208fe48d490ff42ccfae94c3b186ebbf79be0010fa8359
5 changes: 4 additions & 1 deletion .npmrc
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
package-lock=false
# Ensure that a package-lock.json file is created, even if user has turned off
package-lock=true
# Make `npm ci` work on CI see https://github.com/ds300/patch-package/issues/185
unsafe-perm=true
Loading