mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
Previously, we deleted all reload tokens on each reload, which created a race condition if there were multiple tabs open. Now, we continue to delete tokens after using them, but if a token is not used it is preserved for a week before being deleted. Fixes #22832.
38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
"use strict";
|
|
|
|
const {strict: assert} = require("assert");
|
|
|
|
const {zrequire} = require("../zjsunit/namespace");
|
|
// override file-level function call in reload.js
|
|
window.addEventListener = () => {};
|
|
const reload = zrequire("reload");
|
|
const {run_test} = require("../zjsunit/test");
|
|
|
|
run_test("old_metadata_string_is_stale", () => {
|
|
assert.ok(reload.is_stale_refresh_token("1663886962834", "1663883954033"), true);
|
|
});
|
|
|
|
run_test("recent_token_is_not_stale ", () => {
|
|
assert.ok(
|
|
!reload.is_stale_refresh_token(
|
|
{
|
|
url: "#reload:234234235234",
|
|
timestamp: Date.parse("21 Jan 2022 00:00:00 GMT"),
|
|
},
|
|
Date.parse("23 Jan 2022 00:00:00 GMT"),
|
|
),
|
|
);
|
|
});
|
|
|
|
run_test("old_token_is_stale ", () => {
|
|
assert.ok(
|
|
reload.is_stale_refresh_token(
|
|
{
|
|
url: "#reload:234234235234",
|
|
timestamp: Date.parse("13 Jan 2022 00:00:00 GMT"),
|
|
},
|
|
Date.parse("23 Jan 2022 00:00:00 GMT"),
|
|
),
|
|
);
|
|
});
|