Make pages load fast on mobile
- Compress responses: page scripts and styles once (brotli or gzip, in memory) and cached immutable; pages and API JSON gzipped as they stream - Service worker serves content-named assets cache-first - Load the models modal's data when it opens (cached in localStorage) instead of shipping the model catalog in every conversation page - Lazy-load the Tiptap composer and memoize thread messages - Import lucide icons directly; twui 0.1.4 drops by-name icons from Button - bun run start builds the pages minified before serving Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -11,6 +11,13 @@ export const AppData = {
|
||||
* bot and workspace.
|
||||
*/
|
||||
ComposerDraftStorageKey: `${SiteData["SiteSlug"]}_composer_draft`,
|
||||
/**
|
||||
* Prefix of the chat header's models modal data in `localStorage`, one
|
||||
* per bot and workspace, and how long it is shown before it is fetched
|
||||
* again.
|
||||
*/
|
||||
HarnessOverviewStorageKey: `${SiteData["SiteSlug"]}_harness_overview`,
|
||||
HarnessOverviewCacheMs: 10 * 60 * 1000,
|
||||
ServerHealthMessage: "Server Running Well",
|
||||
/**
|
||||
* Where a device downloads the local CA that signed the app's
|
||||
@@ -351,4 +358,20 @@ export const AppData = {
|
||||
* is offline.
|
||||
*/
|
||||
PushTtlSeconds: 60 * 60,
|
||||
/**
|
||||
* Responses smaller than this go out uncompressed: the encoding
|
||||
* costs more than it saves.
|
||||
*/
|
||||
CompressMinBytes: 1024,
|
||||
/**
|
||||
* Brotli quality for page scripts and styles, compressed once per
|
||||
* file and kept in memory (`compressResponse`). 11 is about 25 times
|
||||
* slower for 10% less.
|
||||
*/
|
||||
CompressBrotliQuality: 9,
|
||||
/**
|
||||
* How many compressed page scripts and styles stay in memory. A
|
||||
* rebuild names its files anew, so the oldest go first.
|
||||
*/
|
||||
CompressCacheMaxFiles: 600,
|
||||
} as const;
|
||||
|
||||
Reference in New Issue
Block a user