aboutsummaryrefslogtreecommitdiffstats
path: root/excalidraw-app/app_constants.ts
diff options
context:
space:
mode:
authorkj_sh6042026-03-15 16:19:35 -0400
committerkj_sh6042026-03-15 16:19:35 -0400
commitbfc2cec7d43eb8eaa46dd3f91084932381257059 (patch)
tree0857e3aac2cff922826d4871ff54536b26fad6fc /excalidraw-app/app_constants.ts
parent225db4a7805befe009fe055fc2ef5daedd6c04f9 (diff)
refactor: excalidraw-app/
Diffstat (limited to 'excalidraw-app/app_constants.ts')
-rw-r--r--excalidraw-app/app_constants.ts59
1 files changed, 59 insertions, 0 deletions
diff --git a/excalidraw-app/app_constants.ts b/excalidraw-app/app_constants.ts
new file mode 100644
index 0000000..461b4b7
--- /dev/null
+++ b/excalidraw-app/app_constants.ts
@@ -0,0 +1,59 @@
+// time constants (ms)
+export const SAVE_TO_LOCAL_STORAGE_TIMEOUT = 300;
+export const INITIAL_SCENE_UPDATE_TIMEOUT = 5000;
+export const FILE_UPLOAD_TIMEOUT = 300;
+export const LOAD_IMAGES_TIMEOUT = 500;
+export const SYNC_FULL_SCENE_INTERVAL_MS = 20000;
+export const SYNC_BROWSER_TABS_TIMEOUT = 50;
+export const CURSOR_SYNC_TIMEOUT = 33; // ~30fps
+export const DELETED_ELEMENT_TIMEOUT = 24 * 60 * 60 * 1000; // 1 day
+
+export const FILE_UPLOAD_MAX_BYTES = 3 * 1024 * 1024; // 3 MiB
+// 1 year (https://stackoverflow.com/a/25201898/927631)
+export const FILE_CACHE_MAX_AGE_SEC = 31536000;
+
+export const WS_EVENTS = {
+ SERVER_VOLATILE: "server-volatile-broadcast",
+ SERVER: "server-broadcast",
+ USER_FOLLOW_CHANGE: "user-follow",
+ USER_FOLLOW_ROOM_CHANGE: "user-follow-room-change",
+} as const;
+
+export enum WS_SUBTYPES {
+ INVALID_RESPONSE = "INVALID_RESPONSE",
+ INIT = "SCENE_INIT",
+ UPDATE = "SCENE_UPDATE",
+ MOUSE_LOCATION = "MOUSE_LOCATION",
+ IDLE_STATUS = "IDLE_STATUS",
+ USER_VISIBLE_SCENE_BOUNDS = "USER_VISIBLE_SCENE_BOUNDS",
+}
+
+export const FIREBASE_STORAGE_PREFIXES = {
+ shareLinkFiles: `/files/shareLinks`,
+ collabFiles: `/files/rooms`,
+};
+
+export const ROOM_ID_BYTES = 10;
+
+export const STORAGE_KEYS = {
+ LOCAL_STORAGE_ELEMENTS: "excalidraw",
+ LOCAL_STORAGE_APP_STATE: "excalidraw-state",
+ LOCAL_STORAGE_COLLAB: "excalidraw-collab",
+ LOCAL_STORAGE_THEME: "kj-diagramming-theme",
+ LOCAL_STORAGE_DEBUG: "excalidraw-debug",
+ VERSION_DATA_STATE: "version-dataState",
+ VERSION_FILES: "version-files",
+
+ IDB_LIBRARY: "excalidraw-library",
+
+ // do not use apart from migrations
+ __LEGACY_LOCAL_STORAGE_LIBRARY: "excalidraw-library",
+} as const;
+
+export const COOKIES = {
+ AUTH_STATE_COOKIE: "excplus-auth",
+} as const;
+
+export const isExcalidrawPlusSignedUser = document.cookie.includes(
+ COOKIES.AUTH_STATE_COOKIE,
+);