session-desktop/ts/session/constants.ts

69 lines
1.7 KiB
TypeScript

// tslint:disable: binary-expression-operand-order
const seconds = 1000;
const minutes = seconds * 60;
const hours = minutes * 60;
const days = hours * 24;
export const DURATION = {
SECONDS: seconds, // in ms
MINUTES: minutes, // in ms
HOURS: hours, // in ms
DAYS: days, // in ms
};
export const TTL_DEFAULT = {
TYPING_MESSAGE: 20 * DURATION.SECONDS,
CALL_MESSAGE: 5 * 60 * DURATION.SECONDS,
TTL_MAX: 14 * DURATION.DAYS,
};
export const SWARM_POLLING_TIMEOUT = {
ACTIVE: DURATION.SECONDS * 5,
MEDIUM_ACTIVE: DURATION.SECONDS * 60,
INACTIVE: DURATION.SECONDS * 120,
};
export const PROTOCOLS = {
// tslint:disable-next-line: no-http-string
HTTP: 'http:',
HTTPS: 'https:',
};
// User Interface
export const CONVERSATION = {
DEFAULT_MEDIA_FETCH_COUNT: 50,
DEFAULT_DOCUMENTS_FETCH_COUNT: 100,
DEFAULT_MESSAGE_FETCH_COUNT: 30,
MAX_MESSAGE_FETCH_COUNT: 1000,
// Maximum voice message duraton of 5 minutes
// which equates to 1.97 MB
MAX_VOICE_MESSAGE_DURATION: 300,
MAX_UNREAD_COUNT: 999,
};
/**
* The file server and onion request max upload size is 10MB precisely.
* 10MB is still ok, but one byte more is not.
*/
export const MAX_ATTACHMENT_FILESIZE_BYTES = 10 * 1000 * 1000;
export const VALIDATION = {
MAX_GROUP_NAME_LENGTH: 30,
CLOSED_GROUP_SIZE_LIMIT: 100,
};
export const UI = {
COLORS: {
// COMMON
GREEN: '#00F782',
},
};
// we keep 150 chars, because quoting someone with 66 hex chars need to be kept in full so we can render it in the quote with its name
export const QUOTED_TEXT_MAX_LENGTH = 150;
export const DEFAULT_RECENT_REACTS = ['😂', '🥰', '😢', '😡', '😮', '😈'];
export const MAX_USERNAME_BYTES = 64;