From 0b0e404d99ae109d7cf7512d5f213661b7e112b2 Mon Sep 17 00:00:00 2001 From: Cameron Braid Date: Sat, 15 May 2021 13:36:07 +1000 Subject: [PATCH 1/4] fix: storedSessions get returns object not string --- packages-next/keystone/src/session/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages-next/keystone/src/session/index.ts b/packages-next/keystone/src/session/index.ts index c2395e25f34..7cd7fefff9e 100644 --- a/packages-next/keystone/src/session/index.ts +++ b/packages-next/keystone/src/session/index.ts @@ -188,7 +188,8 @@ export function storedSessions({ let isConnected = false; return { async get({ req, createContext }) { - let sessionId = await get({ req, createContext }); + let data = await get({ req, createContext }) as any; + let sessionId = data?.sessionId if (typeof sessionId === 'string') { if (!isConnected) { await store.connect?.(); @@ -207,7 +208,8 @@ export function storedSessions({ return start?.({ res, data: { sessionId }, createContext }) || ''; }, async end({ req, res, createContext }) { - let sessionId = await get({ req, createContext }); + let data = await get({ req, createContext }) as any; + let sessionId = data?.sessionId if (typeof sessionId === 'string') { if (!isConnected) { await store.connect?.(); From 85c88156df9023549732baf7f14a3ca6ac6053d8 Mon Sep 17 00:00:00 2001 From: Tim Leslie Date: Mon, 17 May 2021 08:26:04 +1000 Subject: [PATCH 2/4] Apply suggestions from code review --- packages-next/keystone/src/session/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages-next/keystone/src/session/index.ts b/packages-next/keystone/src/session/index.ts index 7cd7fefff9e..09a296ded2a 100644 --- a/packages-next/keystone/src/session/index.ts +++ b/packages-next/keystone/src/session/index.ts @@ -189,7 +189,8 @@ export function storedSessions({ return { async get({ req, createContext }) { let data = await get({ req, createContext }) as any; - let sessionId = data?.sessionId + const data = (await get({ req, createContext })) as { sessionId: string } | undefined; + const sessionId = data?.sessionId; if (typeof sessionId === 'string') { if (!isConnected) { await store.connect?.(); @@ -209,7 +210,8 @@ export function storedSessions({ }, async end({ req, res, createContext }) { let data = await get({ req, createContext }) as any; - let sessionId = data?.sessionId + const data = (await get({ req, createContext })) as { sessionId: string } | undefined; + const sessionId = data?.sessionId; if (typeof sessionId === 'string') { if (!isConnected) { await store.connect?.(); From f4fab35e7e0805c00cbf3738432634d8a19a74df Mon Sep 17 00:00:00 2001 From: Tim Leslie Date: Mon, 17 May 2021 08:27:17 +1000 Subject: [PATCH 3/4] Create poor-bears-remember.md --- .changeset/poor-bears-remember.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/poor-bears-remember.md diff --git a/.changeset/poor-bears-remember.md b/.changeset/poor-bears-remember.md new file mode 100644 index 00000000000..ae149f88edf --- /dev/null +++ b/.changeset/poor-bears-remember.md @@ -0,0 +1,5 @@ +--- +"@keystone-next/keystone": patch +--- + +Fixed a bug in `storedSessions` not correctly identifying the current `sessionId`. From 93ece0c3cf246883cb46a2ee6dfe309074e67989 Mon Sep 17 00:00:00 2001 From: Tim Leslie Date: Mon, 17 May 2021 08:55:41 +1000 Subject: [PATCH 4/4] Apply suggestions from code review --- packages-next/keystone/src/session/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages-next/keystone/src/session/index.ts b/packages-next/keystone/src/session/index.ts index 09a296ded2a..7befb911479 100644 --- a/packages-next/keystone/src/session/index.ts +++ b/packages-next/keystone/src/session/index.ts @@ -188,7 +188,6 @@ export function storedSessions({ let isConnected = false; return { async get({ req, createContext }) { - let data = await get({ req, createContext }) as any; const data = (await get({ req, createContext })) as { sessionId: string } | undefined; const sessionId = data?.sessionId; if (typeof sessionId === 'string') { @@ -209,7 +208,6 @@ export function storedSessions({ return start?.({ res, data: { sessionId }, createContext }) || ''; }, async end({ req, res, createContext }) { - let data = await get({ req, createContext }) as any; const data = (await get({ req, createContext })) as { sessionId: string } | undefined; const sessionId = data?.sessionId; if (typeof sessionId === 'string') {