Compare commits

..

2 commits

7 changed files with 33 additions and 10 deletions

View file

@ -2,6 +2,13 @@
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines. All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
## [1.9.2](https://github.com/alerte-secours/as-app/compare/v1.9.1...v1.9.2) (2025-05-16)
### Bug Fixes
* **ios-reported-bug:** app only displayed the splash screen after enabling access to location ([2e35c41](https://github.com/alerte-secours/as-app/commit/2e35c41e0f3e968df6dc07e7656cf50509557a7c))
## [1.9.1](https://github.com/alerte-secours/as-app/compare/v1.9.0...v1.9.1) (2025-05-14) ## [1.9.1](https://github.com/alerte-secours/as-app/compare/v1.9.0...v1.9.1) (2025-05-14)

View file

@ -83,8 +83,8 @@ Project background_fetch = project(':react-native-background-fetch')
applicationId 'com.alertesecours' applicationId 'com.alertesecours'
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 178 versionCode 179
versionName "1.9.1" versionName "1.9.2"
multiDexEnabled true multiDexEnabled true
testBuildType System.getProperty('testBuildType', 'debug') testBuildType System.getProperty('testBuildType', 'debug')
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'

View file

@ -19,7 +19,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.9.1</string> <string>1.9.2</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>
@ -42,7 +42,7 @@
</dict> </dict>
</array> </array>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>178</string> <string>179</string>
<key>ITSAppUsesNonExemptEncryption</key> <key>ITSAppUsesNonExemptEncryption</key>
<false/> <false/>
<key>LSApplicationQueriesSchemes</key> <key>LSApplicationQueriesSchemes</key>

View file

@ -1,6 +1,6 @@
{ {
"name": "alerte-secours", "name": "alerte-secours",
"version": "1.9.1", "version": "1.9.2",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"start": "expo start --dev-client --private-key-path ./keys/private-key.pem", "start": "expo start --dev-client --private-key-path ./keys/private-key.pem",
@ -49,8 +49,8 @@
"screenshot:android": "scripts/screenshot-android.sh" "screenshot:android": "scripts/screenshot-android.sh"
}, },
"customExpoVersioning": { "customExpoVersioning": {
"versionCode": 178, "versionCode": 179,
"buildNumber": 178 "buildNumber": 179
}, },
"commit-and-tag-version": { "commit-and-tag-version": {
"scripts": { "scripts": {

View file

@ -2,7 +2,11 @@ import { useEffect, useRef, useState } from "react";
import { createLogger } from "~/lib/logger"; import { createLogger } from "~/lib/logger";
import { BACKGROUND_SCOPES } from "~/lib/logger/scopes"; import { BACKGROUND_SCOPES } from "~/lib/logger/scopes";
import { usePermissionWizardState, usePermissionsState } from "~/stores"; import {
usePermissionWizardState,
usePermissionsState,
useTreeState,
} from "~/stores";
import trackLocation from "~/location/trackLocation"; import trackLocation from "~/location/trackLocation";
@ -12,6 +16,8 @@ const locationLogger = createLogger({
}); });
export default function useTrackLocation() { export default function useTrackLocation() {
const { splashScreenHidden } = useTreeState(["splashScreenHidden"]);
const { currentStep, completed } = usePermissionWizardState([ const { currentStep, completed } = usePermissionWizardState([
"completed", "completed",
"currentStep", "currentStep",
@ -34,7 +40,8 @@ export default function useTrackLocation() {
if ( if (
locationBackground && locationBackground &&
motion && motion &&
(currentStep === "tracking" || currentStep === "success" || completed) (currentStep === "tracking" || currentStep === "success" || completed) &&
splashScreenHidden
) { ) {
locationLogger.info("Enabling location tracking", { locationLogger.info("Enabling location tracking", {
step: currentStep, step: currentStep,
@ -48,7 +55,7 @@ export default function useTrackLocation() {
step: currentStep, step: currentStep,
}); });
} }
}, [locationBackground, motion, currentStep, completed]); }, [locationBackground, motion, currentStep, completed, splashScreenHidden]);
useEffect(() => { useEffect(() => {
if (trackLocationEnabled) { if (trackLocationEnabled) {

View file

@ -9,6 +9,8 @@ import LayoutProviders from "~/layout/LayoutProviders";
import loadRessources from "~/layout/loadRessources"; import loadRessources from "~/layout/loadRessources";
import useMount from "~/hooks/useMount"; import useMount from "~/hooks/useMount";
import { treeActions } from "~/stores";
SplashScreen.preventAutoHideAsync(); SplashScreen.preventAutoHideAsync();
export default function AppView() { export default function AppView() {
@ -30,6 +32,7 @@ export default function AppView() {
const onLayoutRootView = useCallback(async () => { const onLayoutRootView = useCallback(async () => {
if (appIsReady) { if (appIsReady) {
await SplashScreen.hideAsync(); await SplashScreen.hideAsync();
treeActions.splashScreenHidden();
} }
}, [appIsReady]); }, [appIsReady]);

View file

@ -49,15 +49,21 @@ export default createAtom(({ merge, getActions }) => {
merge({ suspend: true }); merge({ suspend: true });
}; };
const splashScreenHidden = () => {
merge({ splashScreenHidden: true });
};
return { return {
default: { default: {
triggerReload: false, triggerReload: false,
suspend: false, suspend: false,
splashScreenHidden: false,
}, },
actions: { actions: {
triggerReload, triggerReload,
suspendTree, suspendTree,
onReload, onReload,
splashScreenHidden,
}, },
}; };
}); });