fix bug where random tokens were not the expected length

This commit is contained in:
marlon-erler
2026-04-01 13:40:07 +00:00
parent c73bfdaad6
commit 76a4905936
4 changed files with 17 additions and 8 deletions
+12 -3
View File
@@ -317,7 +317,8 @@
function generateRandomToken(length) { function generateRandomToken(length) {
const array = new Uint8Array(length); const array = new Uint8Array(length);
crypto.getRandomValues(array); crypto.getRandomValues(array);
return array.join(""); const string = array.join("");
return string.substring(0, length);
} }
function createTimestamp() { function createTimestamp() {
return (/* @__PURE__ */ new Date()).toISOString(); return (/* @__PURE__ */ new Date()).toISOString();
@@ -5455,8 +5456,8 @@
// general // general
this.generateTransferData = () => { this.generateTransferData = () => {
const transferData = { const transferData = {
channel: generateRandomToken(2).substring(0, 4), channel: generateRandomToken(4),
key: generateRandomToken(3).substring(0, 6) key: generateRandomToken(6)
}; };
this.transferData = transferData; this.transferData = transferData;
return transferData; return transferData;
@@ -5533,6 +5534,14 @@
path: [""], path: [""],
body: "" body: ""
}; };
var counter = {};
for (let i = 0; i < 1e3; i++) {
const token = generateRandomToken(10);
const length = token.length;
if (!counter[length]) counter[length] = 0;
counter[length]++;
}
console.log(counter);
// src/View/Components/chatEntry.tsx // src/View/Components/chatEntry.tsx
function ChatEntry(chatViewModel) { function ChatEntry(chatViewModel) {
+2 -2
View File
@@ -24,8 +24,8 @@ export default class FileTransferModel {
// general // general
generateTransferData = (): TransferData => { generateTransferData = (): TransferData => {
const transferData: TransferData = { const transferData: TransferData = {
channel: generateRandomToken(2).substring(0, 4), channel: generateRandomToken(4),
key: generateRandomToken(3).substring(0, 6), key: generateRandomToken(6),
}; };
this.transferData = transferData; this.transferData = transferData;
return transferData; return transferData;
+2 -1
View File
@@ -8,7 +8,8 @@ export interface Stringifiable {
export function generateRandomToken(length: number): string { export function generateRandomToken(length: number): string {
const array = new Uint8Array(length); const array = new Uint8Array(length);
crypto.getRandomValues(array); crypto.getRandomValues(array);
return array.join(""); const string = array.join("");
return string.substring(0, length);
} }
// date // date
+1 -2
View File
@@ -32,7 +32,6 @@ const chatListModel = new ChatListModel(
connectionModel, connectionModel,
); );
const fileTransferModel = new FileTransferModel(storageModel, connectionModel); const fileTransferModel = new FileTransferModel(storageModel, connectionModel);
// upgrade // upgrade
new v1Upgrader(settingsModel, connectionModel, chatListModel); new v1Upgrader(settingsModel, connectionModel, chatListModel);
@@ -86,4 +85,4 @@ document
ConnectionModal(connectionViewModel), ConnectionModal(connectionViewModel),
DataTransferModalWrapper(connectionViewModel, fileTransferViewModel), DataTransferModalWrapper(connectionViewModel, fileTransferViewModel),
StorageModal(storageViewModel), StorageModal(storageViewModel),
); );