feat(prezentacja): cache-busting plików statycznych (PRE-26) #48

Merged
gitea merged 1 commits from feat/pre26-cache-busting into master 2026-08-03 11:05:43 +00:00
Owner

Kolejny „czysto": po deployu przeglądarka trzymała stare styles.css / *.js
— ten sam URL, więc serwowała z cache mimo nowej wersji.

Doklejamy do URL-a hash treści pliku: zmienił się plik → zmienił się URL →
przeglądarka pobiera nowy; bez zmian URL zostaje ten sam i cache dalej działa
(bustujemy tylko to, co się zmieniło — nie wszystko naraz).

  • static_url(name) + globalny helper Jinja static(): /static/x?v=<md5[:8]>.
    Hash liczony raz na proces (lru_cache) — nowy pod po deployu = świeży hash;
    brak pliku → ?v=0 (nie wywala strony).
  • Wszystkie odwołania w szablonach (styles.css, nasze *.js, vendor Leaflet) idą
    przez helper zamiast surowego /static/....

Weryfikacja

Na żywo: styles.css?v=5dd9d5cd, formsync.js?v=67a3f822 (hash zależny od treści,
inny per plik). Testy: +5, prezentacja 214.

Domyka PRE-26. Następne „czysto": PRE-06 (aspekty/orby), PRE-04 (synastria),
DAN-26 (canary), PRE-17 (konta+audyt). Otwarty dług: chart.html na wspólny
_result_tables.html.

Kolejny „czysto": po deployu przeglądarka trzymała **stare** `styles.css` / `*.js` — ten sam URL, więc serwowała z cache mimo nowej wersji. Doklejamy do URL-a **hash treści** pliku: zmienił się plik → zmienił się URL → przeglądarka pobiera nowy; bez zmian URL zostaje ten sam i cache dalej działa (bustujemy **tylko** to, co się zmieniło — nie wszystko naraz). - `static_url(name)` + globalny helper Jinja **`static()`**: `/static/x?v=<md5[:8]>`. Hash liczony raz na proces (`lru_cache`) — nowy pod po deployu = świeży hash; brak pliku → `?v=0` (nie wywala strony). - Wszystkie odwołania w szablonach (styles.css, nasze `*.js`, vendor Leaflet) idą przez helper zamiast surowego `/static/...`. ## Weryfikacja Na żywo: `styles.css?v=5dd9d5cd`, `formsync.js?v=67a3f822` (hash zależny od treści, inny per plik). Testy: **+5**, prezentacja **214**. Domyka **PRE-26**. Następne „czysto": PRE-06 (aspekty/orby), PRE-04 (synastria), DAN-26 (canary), PRE-17 (konta+audyt). Otwarty dług: chart.html na wspólny `_result_tables.html`.
gitea added 1 commit 2026-08-03 09:23:02 +00:00
feat(prezentacja): cache-busting plików statycznych (PRE-26)
Testy / Testy warstwy logicznej (silnik) (pull_request) Successful in 10m29s
Testy / Testy warstwy prezentacji (dostęp do baz) (pull_request) Successful in 9m36s
Testy / Build obrazu silnika B (swisseph) (pull_request) Successful in 11s
Testy / Kontrola składni wszystkich warstw (pull_request) Successful in 8s
build / build (push) Successful in 50s
Testy / Testy warstwy logicznej (silnik) (push) Successful in 10m51s
Testy / Testy warstwy prezentacji (dostęp do baz) (push) Successful in 9m29s
Testy / Build obrazu silnika B (swisseph) (push) Successful in 11s
Testy / Kontrola składni wszystkich warstw (push) Successful in 8s
a0d1135db1
Po deployu przeglądarka trzymała stare styles.css / *.js — ten sam URL, więc
serwowała z cache mimo nowej wersji. Doklejamy do URL-a krótki HASH TREŚCI pliku:
zmienił się plik → zmienił się URL → przeglądarka pobiera nowy; bez zmian URL
zostaje ten sam i cache dalej działa (bustujemy tylko to, co się zmieniło).

- `static_url(name)` + globalny helper Jinja `static()`: `/static/x?v=<md5[:8]>`.
  Hash liczony raz na proces (lru_cache) — nowy pod po deployu = świeży hash;
  brak pliku → `?v=0`, nie wywala strony.
- Wszystkie odwołania w szablonach (styles.css, nasze *.js, vendor Leaflet) idą
  teraz przez helper zamiast surowego `/static/...`.

Testy: +5 (hash w URL, zależny od treści, brak-pliku-bezpieczny, żaden szablon nie
serwuje surowej ścieżki, base używa helpera). Test kolejności skryptów zaktualizowany
pod nowy format. Prezentacja 214.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gitea merged commit a0d1135db1 into master 2026-08-03 11:05:43 +00:00
gitea deleted branch feat/pre26-cache-busting 2026-08-03 11:05:44 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gitea/astrololo#48