feat(recent): update recent list server side

initially the recent was done client side
    recent files are now directly updated on serverside when accessing a file

    note: nextcloud and webdav voluntary not included
This commit is contained in:
Edouard Vanbelle
2026-06-26 01:01:44 +02:00
parent 11e34762e3
commit f4032e9e23
12 changed files with 463 additions and 18 deletions
@@ -355,6 +355,15 @@ async fn handle_get(
return Ok(resp);
}
// Recent recording deliberately does NOT fire here: NC's primary
// client (Nextcloud desktop, davx5, mobile NC apps) is a sync
// engine, and a first-time descent of a large library would push
// every file into Recent, drowning out the SPA's "what I actually
// opened" signal. See memory note
// `project_recent_session_intent.md` — the planned session-intent
// gate (interactive JWT vs app-password) will turn this back on
// for human-driven NC web access in the same browser session.
// Range Requests — serve 206/416 instead of the whole file on seeks.
if let Some(resp) = range_response(headers, &file, &etag, file_service).await {
return Ok(resp);