Fix hash == ""

pull/21833/head
James Salter 2021-07-27 13:29:56 +01:00
parent 5e0a397631
commit 474561600e
2 changed files with 20 additions and 9 deletions

View File

@ -63,17 +63,22 @@ export async function getRedactedCurrentLocation(origin: string, hash: string, p
pathname = "/<redacted_file_scheme_url>/";
}
let [_, screen, ...parts] = hash.split("/");
let hashStr;
if (hash == "") {
hashStr = "";
} else {
let [_, screen, ...parts] = hash.split("/");
if (!knownScreens.has(screen)) {
screen = "<redacted_screen_name>";
if (!knownScreens.has(screen)) {
screen = "<redacted_screen_name>";
}
for (let i = 0; i < parts.length; i++) {
parts[i] = anonymity === Anonymity.Anonymous ? `<redacted>` : await hashHex(parts[i]);
}
hashStr = `${_}/${screen}/${parts.join("/")}`;
}
for (let i = 0; i < parts.length; i++) {
parts[i] = anonymity === Anonymity.Anonymous ? `<redacted>` : await hashHex(parts[i]);
}
const hashStr = `${_}/${screen}/${parts.join("/")}`;
return origin + pathname + hashStr;
}

View File

@ -174,6 +174,12 @@ bd75b3e080945674c0351f75e0db33d1e90986fa07b318ea7edf776f5eef38d4`);
expect(location).toBe("https://foo.bar/#/<redacted_screen_name>/<redacted>/<redacted>");
});
it("Should currently handle an empty hash", async () => {
const location = await getRedactedCurrentLocation(
"https://foo.bar", "", "/", Anonymity.Anonymous);
expect(location).toBe("https://foo.bar/");
});
it("Should identify the user to posthog if pseudonymous", async () => {
analytics.init(Anonymity.Pseudonymous);
await analytics.identifyUser("foo");