Revalidating cache on app assets; site title survives SPA navigation
Test / test (push) Successful in 24s
Test / test (push) Successful in 24s
pkg files keep stable names across releases, so an uncontrolled browser cache could pair last release's wasm with the new server's server-fn wire format - every page then renders its error branch (redoal.com's 'Nothing here' after v0.2.0). Cache-Control: no-cache on /pkg and /yes.js makes clients revalidate (a 304 per load) instead of guessing. The content-declared site title also moves out of the question Suspense: remounting with each navigation lost the leptos_meta race to the compile-time fallback, flipping redoal.com's tab to 'uhhm' on the first client-side nav. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
c67f6f1a59
commit
a0305282ef
+12
-7
@@ -89,6 +89,18 @@ fn QuestionPage() -> impl IntoView {
|
||||
let site = Resource::new(|| (), |_| get_site());
|
||||
|
||||
view! {
|
||||
// The content-declared site title lives OUTSIDE the question
|
||||
// Suspense: tied to the per-page resource it unmounted on every
|
||||
// SPA navigation and lost the leptos_meta race to App's
|
||||
// compile-time SITE_NAME fallback (redoal.com flashing to
|
||||
// "uhhm" on nav - and staying there). Out here it mounts once
|
||||
// and covers every branch, NotFound included.
|
||||
{move || {
|
||||
site.get()
|
||||
.and_then(|r| r.ok())
|
||||
.and_then(|s| s.title)
|
||||
.map(|t| view! { <Title text=t/> })
|
||||
}}
|
||||
<Suspense fallback=|| {
|
||||
view! {
|
||||
<main class="loading">
|
||||
@@ -109,13 +121,6 @@ fn QuestionPage() -> impl IntoView {
|
||||
Ok(Some(page)) => {
|
||||
let current = user_res.and_then(|r| r.ok()).flatten();
|
||||
view! {
|
||||
// A second <Title> outranks App's
|
||||
// SITE_NAME fallback only when content
|
||||
// actually declares one.
|
||||
{site_cfg
|
||||
.title
|
||||
.clone()
|
||||
.map(|t| view! { <Title text=t/> })}
|
||||
<QuestionView
|
||||
question=page.question
|
||||
chain_gate=page.chain_gate
|
||||
|
||||
Reference in New Issue
Block a user