fix: improve release visibility and cache handling
This commit is contained in:
+16
-1
@@ -55,6 +55,21 @@ If `build_info.json` is missing, malformed, or does not contain a usable value,
|
||||
|
||||
The data is loaded centrally in `app.py` and made available to every template as `build_info`.
|
||||
|
||||
## Cache and Release Visibility
|
||||
|
||||
RollCalc uses the current build identifier to cache-bust RollCalc-owned static assets referenced by active templates. The preferred identifier is `build_info.commit`; if it is missing or `unknown`, the fallback is `build_info.version`.
|
||||
|
||||
Dynamic HTML responses are sent with `Cache-Control: no-cache` so the calculator and Help pages are revalidated after deployments. Static assets are not globally marked no-cache; versioned URLs are used for active static JSON assets instead.
|
||||
|
||||
For releases, keep these sources aligned:
|
||||
|
||||
- `build_info.json`
|
||||
- the default `VERSION` in `scripts/update_build_info.sh`, unless deployment overrides it
|
||||
- the newest heading in `docs/de/recent_changes.md`
|
||||
- `version` in `static/recent_changes.json`
|
||||
|
||||
The Recent Changes page includes a persistent force-reload fallback note for users whose browser still shows an older interface after deployment.
|
||||
|
||||
## Help and User Manual
|
||||
|
||||
The in-app Help area keeps `docs/de/user_manual.md` as the leading German documentation source. RollCalc reads the Markdown file on each `/help/user-manual` request and renders it server-side with `markdown-it-py`.
|
||||
@@ -105,7 +120,7 @@ The short dialog item list is maintained separately in:
|
||||
static/recent_changes.json
|
||||
```
|
||||
|
||||
This JSON is a compact summary for the dialog, not the complete release history. Keep it aligned with the most relevant current entries from `docs/de/recent_changes.md`.
|
||||
This JSON is a compact summary for the dialog, not the complete release history. It contains a `version` field and an `items` list. The browser displays the dialog only when the JSON version matches `build_info.version`; mismatched or invalid JSON must not block the calculator.
|
||||
|
||||
## Authentication
|
||||
|
||||
|
||||
Reference in New Issue
Block a user