refactor: replace MJPEG streaming with screenshot + meta-refresh #1

Merged
biggy merged 12 commits from deepseek-fix into main 2026-05-13 11:12:36 +02:00
Owner
No description provided.
biggy added 12 commits 2026-05-13 11:12:31 +02:00
- Remove multipart/x-mixed-replace streaming (broken on Chromium)
- Add per-view screenshot rendering with base64 HTML embedding
- Implement resource inlining for CSS, images, and favicons
- Add render locks to prevent overlapping Puppeteer operations
- Simplify UpdateViewBody type to extend Partial<CreateViewBody>
- Update browser args for better stability
- Standardize formatting (tabs to spaces)
- Implement browser pool with 2 browsers × 8 pages each
- Add page pool with acquire/release lifecycle and page reset between uses
- Add render cache with TTL-based expiry and pre-warming before rotation boundaries
- Add in-memory view cache to avoid repeated DB reads
- Add per-IP rate limiting (2s cooldown)
- Add concurrent render limit (16 max)
- Refactor database functions with `db` prefix for clarity
- Add CONFIG object for all tunable parameters
- Add In
Add real-time debug panel with server metrics, view status, cache
visualization, and device tracking. Add viewport/cache TTL config
to views. Simplify cache management and remove rate limiting.
- Replace localStorage.clear() with CDP Storage.clearDataForOrigin to avoid SecurityError on about:blank (opaque origin)
- Add idleTimeout to Bun.serve config to prevent 10s timeout during queued renders
- Add timeout fallback for networkidle0 in renderSSR and renderScreenshotFrame to handle sites that never reach idle state
- Add recursive CSS @import resolver with font service filtering
- Preserve media attribute when inlining CSS
biggy merged commit 6d38beaf26 into main 2026-05-13 11:12:36 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: biggy/samsung-tv-server#1