You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Before upgrading to v7.0.2 (from v6.1.1), I observed the following events when removing a cookie:
console.log
{
name: 'testCookie',
value: undefined,
options: { path: '/', expires: 1970-01-31T23:00:01.000Z, maxAge: 0 }
}
at Array.onCookieChange (src/hooks/useCookieState.ts:75:15)
console.log
{ name: 'testCookie', value: undefined }
at Array.onCookieChange (src/hooks/useCookieState.ts:75:15)
at Set.forEach (<anonymous>)
console.log
{ name: 'Max-Age', value: undefined }
at Array.onCookieChange (src/hooks/useCookieState.ts:75:15)
at Set.forEach (<anonymous>)
console.log
{ name: 'Path', value: undefined }
at Array.onCookieChange (src/hooks/useCookieState.ts:75:15)
at Set.forEach (<anonymous>)
console.log
{ name: 'Expires', value: undefined }
at Array.onCookieChange (src/hooks/useCookieState.ts:75:15)
at Set.forEach (<anonymous>)
which has now changed to:
console.log
{
name: 'testCookie',
value: undefined,
options: { path: '/', expires: 1970-01-31T23:00:01.000Z, maxAge: 0 }
}
at Array.onCookieChange (src/hooks/useCookieState.ts:75:15)
console.log
{ name: 'testCookie', value: '' }
at Array.onCookieChange (src/hooks/useCookieState.ts:75:15)
at Set.forEach (<anonymous>)
console.log
{ name: 'Max-Age', value: 0 }
at Array.onCookieChange (src/hooks/useCookieState.ts:75:15)
at Set.forEach (<anonymous>)
console.log
{ name: 'Path', value: '/' }
at Array.onCookieChange (src/hooks/useCookieState.ts:75:15)
at Set.forEach (<anonymous>)
console.log
{ name: 'Expires', value: 'Sat, 31 Jan 1970 23:00:01 GMT' }
at Array.onCookieChange (src/hooks/useCookieState.ts:75:15)
at Set.forEach (<anonymous>)
The problem being that the new value can be both undefined and "" when a cookie is removed, thus making my React hook think that the value is the empty string instead of undefined. Is this expected? If so, I can always treat the empty string as undefined, although I would prefer the previous consistent bevahior.
Looking at the changes between versions, I believe this commit had an effect on this 99ba53f.
The text was updated successfully, but these errors were encountered:
The previous code was unfortunately broken for many other use-cases. The way this library remove cookies is by setting them empty with a past expiration date. However, the browser might still have the cookie until you refresh the page making an empty and deleted cookie impossible to differeciate. I will need to dig more into this on how we can fix it.
Before upgrading to v7.0.2 (from v6.1.1), I observed the following events when removing a cookie:
which has now changed to:
The problem being that the new value can be both
undefined
and""
when a cookie is removed, thus making my React hook think that the value is the empty string instead ofundefined
. Is this expected? If so, I can always treat the empty string as undefined, although I would prefer the previous consistent bevahior.Looking at the changes between versions, I believe this commit had an effect on this 99ba53f.
The text was updated successfully, but these errors were encountered: