Skip to content

perf: desktop DOM element reuse + manifest ETag caching #235

@MCERQUA

Description

@MCERQUA

Problem

  1. Every manifest poll (30s) destroys and recreates ALL desktop icon DOM nodes via innerHTML. At 200+ pages this causes visible UI stutter (~500ms CPU time per cycle).

  2. Full manifest JSON is re-fetched and re-parsed every 30 seconds even when nothing changed. No conditional requests (ETag/If-None-Match).

Fix

  1. Reuse existing DOM elements — diff against current DOM, only add/remove/update changed icons.
  2. Add ETag header support to manifest API and use conditional fetch in the client.

Scaling Impact

Pages Current (innerHTML rebuild) After (element reuse)
50 Fine Fine
200 ~500ms stutter every 30s < 10ms diff
500 ~1-2s stutter, unusable ~50ms diff

Reference

Metadata

Metadata

Assignees

No one assigned

    Labels

    performancePerformance optimization

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions