From 2b92e64d1fb750055b8051173b4dd57904c49da8 Mon Sep 17 00:00:00 2001 From: Antonin Cezard Date: Fri, 10 Jun 2022 09:45:23 +0200 Subject: [PATCH] fix: Reapply home cookie on focus --- src/libs/httpserver/httpCookieManager.js | 8 +++++++- src/libs/httpserver/httpServerProvider.js | 2 +- src/screens/home/components/HomeView.js | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/libs/httpserver/httpCookieManager.js b/src/libs/httpserver/httpCookieManager.js index 476e1f71a..11491701a 100644 --- a/src/libs/httpserver/httpCookieManager.js +++ b/src/libs/httpserver/httpCookieManager.js @@ -57,6 +57,8 @@ const parseCookie = cookieString => { } } +export let setHomeCookie + /** * Set the cookie into the device by using CookieManager * @@ -72,7 +74,7 @@ const parseCookie = cookieString => { * @param {CozyClient} client - CozyClient instance * @returns {Promise} */ -export const setCookie = async (cookieString, client) => { +export const setCookie = async (cookieString, client, slug) => { const cookie = parseCookie(cookieString) const appUrl = client.getStackClient().uri @@ -89,5 +91,9 @@ export const setCookie = async (cookieString, client) => { sameSite: 'None' // This must be force to 'None' so iOS accepts to send it through "html injected" webview } + if (slug === 'home') { + setHomeCookie = () => CookieManager.set(appUrl, stackCookie, true) + } + return CookieManager.set(appUrl, stackCookie, true) } diff --git a/src/libs/httpserver/httpServerProvider.js b/src/libs/httpserver/httpServerProvider.js index 0cfdcfda1..778719744 100644 --- a/src/libs/httpserver/httpServerProvider.js +++ b/src/libs/httpserver/httpServerProvider.js @@ -77,7 +77,7 @@ export const HttpServerProvider = props => { const { cookie, templateValues } = await fetchAppDataForSlug(slug, client) - await setCookie(cookie, client) + await setCookie(cookie, client, slug) const rawHtml = await getIndexForFqdnAndSlug(fqdn, slug) if (!rawHtml) { diff --git a/src/screens/home/components/HomeView.js b/src/screens/home/components/HomeView.js index b6748bdeb..f21b39b81 100644 --- a/src/screens/home/components/HomeView.js +++ b/src/screens/home/components/HomeView.js @@ -9,6 +9,7 @@ import { consumeRouteParameter } from '/libs/functions/routeHelpers' import { resetUIState } from '/libs/intents/setFlagshipUI' import { statusBarHeight, getNavbarHeight } from '/libs/dimensions' import { useSession } from '/hooks/useSession' +import { setHomeCookie } from '/libs/httpserver/httpCookieManager' const injectedJavaScriptBeforeContentLoaded = () => ` window.addEventListener('load', (event) => { @@ -36,6 +37,8 @@ const HomeView = ({ route, navigation, setLauncherContext }) => { const unsubscribe = navigation.addListener('focus', () => { nativeIntent?.call(uri, 'closeApp') + setHomeCookie?.() + if (uri) { const konnectorParam = consumeRouteParameter( 'konnector',