diff --git a/backend/src/server.js b/backend/src/server.js index 3cbb1bd..71e676e 100644 --- a/backend/src/server.js +++ b/backend/src/server.js @@ -437,7 +437,11 @@ app.get('/textbook/:slug', (req, res, next) => { const row = _stmtTextbookPath.get(req.params.slug); if (!row) return next(); const filePath = path.join(frontendDir, 'textbooks', row.html_path); - if (!isProd) res.setHeader('Cache-Control', 'no-store'); + // Страница-учебник — SPA-вход, контент меняется при обновлениях: не кэшируем html + // ни в dev, ни в prod (иначе браузер показывает устаревшую версию с пустыми билдерами). + res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate'); + res.setHeader('Pragma', 'no-cache'); + res.setHeader('Expires', '0'); if (req.query.embed === '1') { const html = _renderEmbed(filePath, req.params.slug); if (html == null) return next();