Fix Firefox cookie expiry conversion for Playwright
Some Firefox cookies store expiry in milliseconds instead of seconds. Detect values beyond year 2100 and convert to seconds. Also map zero/negative expiry to -1 for Playwright session cookies. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Vendored
+11
-1
@@ -215,12 +215,22 @@ export function importFirefoxCookies(options) {
|
||||
* Convert FirefoxCookie to Playwright cookie format
|
||||
*/
|
||||
export function toPlaywrightCookie(cookie) {
|
||||
// Firefox uses 0 for session cookies; Playwright requires -1 or positive unix timestamp (seconds).
|
||||
// Some Firefox cookies store expiry in milliseconds instead of seconds — detect and convert.
|
||||
// Any expiry > year 2100 in seconds (4102444800) is likely milliseconds.
|
||||
let expires = cookie.expires;
|
||||
if (expires > 4102444800) {
|
||||
expires = Math.floor(expires / 1000);
|
||||
}
|
||||
if (expires <= 0) {
|
||||
expires = -1;
|
||||
}
|
||||
return {
|
||||
name: cookie.name,
|
||||
value: cookie.value,
|
||||
domain: cookie.domain,
|
||||
path: cookie.path,
|
||||
expires: cookie.expires,
|
||||
expires,
|
||||
secure: cookie.secure,
|
||||
httpOnly: cookie.httpOnly,
|
||||
sameSite: cookie.sameSite,
|
||||
|
||||
Reference in New Issue
Block a user