Describe the bug
The web UI lacks three front-end performance optimizations:
- No service worker — Every page load and refresh fetches all assets from the server. A service worker with appropriate caching strategies would make repeat visits near-instant.
- No font preload — The JetBrainsMono font is only discovered after CSS evaluation, causing a late download. A preload link in the HTML head would start the download during HTML parse.
- Missing font-display: swap — The
@font-face declaration lacks font-display: swap, which can cause invisible text (FOIT) while the font loads.
Steps to reproduce
- Open the web UI on a slow connection
- Observe the font flash and slow initial load
- Refresh the page — assets are re-fetched from the server
Expected behavior
- Service worker caches assets for instant repeat visits
- Font preload starts download early
font-display: swap prevents invisible text
System info
- OpenCode version: v1.15.3
- OS: Linux
Describe the bug
The web UI lacks three front-end performance optimizations:
@font-facedeclaration lacksfont-display: swap, which can cause invisible text (FOIT) while the font loads.Steps to reproduce
Expected behavior
font-display: swapprevents invisible textSystem info