fix folder deletion not reflected in UI#5546
Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Greptile SummaryThis PR fixes a UI bug where deleted folders would reappear after deletion by removing the HTTP
Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Browser
participant NextProxy as Next.js Proxy<br/>(route.ts)
participant API as api.omi.me
Note over Browser,API: BEFORE (with stale cache bug)
Browser->>NextProxy: GET /api/proxy/folders
NextProxy->>API: GET /folders
API-->>NextProxy: 200 OK (folder list)
NextProxy-->>Browser: 200 OK + Cache-Control: private, max-age=60
Note over Browser: Browser caches response for 60s
Browser->>NextProxy: DELETE /api/proxy/folders/:id
NextProxy->>API: DELETE /folders/:id
API-->>NextProxy: 204 No Content
NextProxy-->>Browser: 204 No Content
Browser->>NextProxy: GET /api/proxy/folders
Note over Browser: Cache still valid — served from browser cache!
NextProxy--xBrowser: (request never sent to proxy)
Note over Browser: Deleted folder reappears in UI 😱
Note over Browser,API: AFTER (fix applied)
Browser->>NextProxy: GET /api/proxy/folders
NextProxy->>API: GET /folders
API-->>NextProxy: 200 OK (folder list)
NextProxy-->>Browser: 200 OK (no Cache-Control)
Note over Browser: No caching — always fetches fresh data
Browser->>NextProxy: DELETE /api/proxy/folders/:id
NextProxy->>API: DELETE /folders/:id
API-->>NextProxy: 204 No Content
NextProxy-->>Browser: 204 No Content
Browser->>NextProxy: GET /api/proxy/folders
NextProxy->>API: GET /folders
API-->>NextProxy: 200 OK (updated folder list)
NextProxy-->>Browser: 200 OK ✅
|
The proxy was setting `Cache-Control: max-age=60, stale-while-revalidate=300` on folder GET responses. After deletion, the browser served the cached list — making the deleted folder reappear. Removed the HTTP cache since the app already manages its own JS-level cache. ## Demo https://github.com/user-attachments/assets/aa7450c0-c41c-4a9e-b7cb-54d67e3531d0
The proxy was setting
Cache-Control: max-age=60, stale-while-revalidate=300on folder GET responses. After deletion, the browser served the cached list — making the deleted folder reappear. Removed the HTTP cache since the app already manages its own JS-level cache.Demo
Screen.Recording.2026-03-10.at.9.19.10.PM.mov