fix: workspace delete MissingGreenlet + nginx cache-busting

- Convert WorkspaceHasInstancesError to store plain dicts instead of
  SQLAlchemy ORM objects, preventing lazy-load failures outside async
  session context (MissingGreenlet)
- Update both delete endpoints (top-level and nested) to use exc.instances
  directly since they're already plain dicts
- Add no-cache headers for index.html in nginx.conf so browsers always
  fetch new hashed JS/CSS bundles on deploy
This commit is contained in:
2026-06-01 23:52:18 +02:00
parent 56dd7d3fd3
commit 1bf42a7feb
3 changed files with 12 additions and 4 deletions
+6
View File
@@ -15,6 +15,12 @@ server {
try_files $uri $uri/ /index.html;
}
# Never cache index.html so browsers always fetch new hashed JS/CSS
location = /index.html {
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma "no-cache";
}
# Cache static assets
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
expires 1y;