import config from '@/config/index.js'; export const MAX_NOTE_TEXT_LENGTH = config.maxNoteLength != null ? config.maxNoteLength : 3000; export const SECOND = 1000; export const SEC = 1000; export const MINUTE = 60 * SEC; export const MIN = 60 * SEC; export const HOUR = 60 * MIN; export const DAY = 24 * HOUR; export const USER_ONLINE_THRESHOLD = 1000 * 60 * 10; // 10min export const USER_ACTIVE_THRESHOLD = 1000 * 60 * 60 * 24 * 3; // 3days // ブラウザで直接表示することを許可するファイルの種類のリスト // ここに含まれないものは application/octet-stream としてレスポンスされる // SVGはXSSを生むので許可しない export const FILE_TYPE_BROWSERSAFE = [ // Images 'image/png', 'image/gif', 'image/jpeg', 'image/webp', 'image/apng', 'image/bmp', 'image/tiff', 'image/x-icon', // OggS 'audio/opus', 'video/ogg', 'audio/ogg', 'application/ogg', // ISO/IEC base media file format 'video/quicktime', 'video/mp4', 'audio/mp4', 'video/x-m4v', 'audio/x-m4a', 'video/3gpp', 'video/3gpp2', 'video/mpeg', 'audio/mpeg', 'video/webm', 'audio/webm', 'audio/aac', 'audio/x-flac', 'audio/vnd.wave', ]; /* https://github.com/sindresorhus/file-type/blob/main/supported.js https://github.com/sindresorhus/file-type/blob/main/core.js https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Containers */