chore: land tree view-state, vault, Pi module split, and repo hygiene
Persist PageTree expand state via control-plane view-state and align chevron/DOM with restored expansion; keep Sidex-style shallow page-tree scan and drop the unused recursive scanner that only added cargo noise. Add password vault workbench routes/runtime/skill/CLI, split page_ai_pi into a module package, and retire Hermes/ACP/OpenHub recycle + root harness evidence from the index while gitignoring recycle and local diag dumps. Archive superseded design/bugs docs under old/, point architecture at ARCHITECTURE.md, and refresh smokes for Pi S1–S7, vault, and editor regressions so the working tree can stay clean.
This commit is contained in:
@@ -129,6 +129,14 @@ fn render_filetree_row(
|
||||
html.push_str("</li>");
|
||||
}
|
||||
|
||||
/// Placeholder FileTree shell for shell-first home SSR.
|
||||
/// Client hydrates rows via `/api/tree/projections/file` without blocking first paint.
|
||||
pub fn render_filetree_pending_shell_html() -> String {
|
||||
String::from(
|
||||
r#"<ul class="tree-root" role="tree" data-rust-filetree-renderer="pending_shell_v1" data-filetree-ssr="pending" aria-busy="true"></ul>"#,
|
||||
)
|
||||
}
|
||||
|
||||
pub fn render_initial_filetree_html(input: &FileTreeInitialRenderInput) -> String {
|
||||
let mut html = String::from(
|
||||
r#"<ul class="tree-root" role="tree" data-rust-filetree-renderer="initial_v1">"#,
|
||||
@@ -306,4 +314,13 @@ mod tests {
|
||||
assert!(html.contains(r#"data-index-status="indexed""#));
|
||||
assert!(html.contains(r#"<button type="button" class="tree-link""#));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn filetree_pending_shell_marks_ssr_pending_for_client_hydrate() {
|
||||
let html = super::render_filetree_pending_shell_html();
|
||||
assert!(html.contains(r#"data-rust-filetree-renderer="pending_shell_v1""#));
|
||||
assert!(html.contains(r#"data-filetree-ssr="pending""#));
|
||||
assert!(html.contains(r#"aria-busy="true""#));
|
||||
assert!(!html.contains("tree-row"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user