From b7e3620a2197cad577b9cfde8e5aca9085e10ae6 Mon Sep 17 00:00:00 2001 From: min Date: Wed, 3 Jun 2026 07:21:52 +0300 Subject: [PATCH] =?UTF-8?q?fix(wiki):=20cache-buster=20=3Fv=20=D0=BD=D0=B0?= =?UTF-8?q?=20=D0=BA=D0=B0=D1=80=D1=82=D0=B8=D0=BD=D0=BA=D0=B0=D1=85=20?= =?UTF-8?q?=D0=B2=D0=B8=D0=BA=D0=B8=20(=D0=B1=D0=B8=D1=82=D1=8B=D0=B9=20SP?= =?UTF-8?q?A-fallback=20=D0=B2=20=D0=BA=D1=8D=D1=88=D0=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit У юзеров, открывавших статью/карточку ДО заливки PNG в build/wiki/, браузер кэшировал SPA-fallback (HTML index.html вместо картинки) и Ctrl+Shift+R не помогал (инцидент с guide-taxisim). Добавлен версионный ?v=N ко всем wiki-URL (Shot + карточки) — новый URL обходит битый кэш. Бампать WIKI_ASSET_V при добавлении новых картинок. Co-Authored-By: Claude Opus 4.8 --- src/community/KubikonDocs.jsx | 4 ++-- src/community/docsData.jsx | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/community/KubikonDocs.jsx b/src/community/KubikonDocs.jsx index ceb85c8..8f386d4 100644 --- a/src/community/KubikonDocs.jsx +++ b/src/community/KubikonDocs.jsx @@ -8,7 +8,7 @@ import RublocsLogo from '../components/RublocsLogo/RublocsLogo'; import useDeviceType from '../hooks/useDeviceType'; import KubikonDesktopOnlyStub from './KubikonDesktopOnlyStub'; import Icon from '../editor/Icon'; -import { DOCS } from './docsData'; +import { DOCS, wikiUrl } from './docsData'; import { GAMES, GAME_GROUPS } from './docsGames'; import { LESSONS, hasLesson } from './docsLessons'; import { buildGameProject } from './docsGamesBuilders'; @@ -233,7 +233,7 @@ const GamesGrid = ({ onOpenLesson }) => ( {g.title} { e.currentTarget.style.display = 'none'; }} diff --git a/src/community/docsData.jsx b/src/community/docsData.jsx index 36730e1..a6b1dd3 100644 --- a/src/community/docsData.jsx +++ b/src/community/docsData.jsx @@ -82,11 +82,20 @@ export const Try = ({ children }) => ( ); // ── Скриншот интерфейса с подписью ──────────────────────────────── +// Версия вики-ассетов (cache-buster). Бампать при добавлении/замене картинок +// в public/wiki/ — иначе у юзеров, открывавших статью ДО заливки файла, +// браузер кэширует битый SPA-fallback (HTML вместо PNG) и Ctrl+Shift+R не +// помогает (инцидент 2026-06-03 с guide-taxisim). Новый ?v=N = новый URL. +export const WIKI_ASSET_V = 4; + +/** URL вики-картинки с версией для обхода кэша. */ +export const wikiUrl = (name) => `/wiki/${name}?v=${WIKI_ASSET_V}`; + // src — имя файла из public/wiki/, caption — подпись под картинкой. // wide — для широких скринов (обзор, лента): растянуть на всю ширину. export const Shot = ({ src, caption, wide }) => (
- {caption + {caption {caption &&
{caption}
}
); -- 2.47.2