feat: add TTL to durable forge caches #311
Labels
No labels
bug
documentation
duplicate
enhancement
fugitive
good first issue
help wanted
invalid
question
v0.1.0
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
barrettruth/forge.nvim#311
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Prerequisites
Problem
Forge currently keeps its durable remote-data caches in memory until an explicit refresh/clear or the Neovim session ends. In practice that means
list_cacheandrepo_info_cachecan stay stale indefinitely.This becomes more important as picker/action availability and Ex completion become more state-aware and rely on cache-backed data with backend fallback. We need an explicit freshness policy instead of treating all cached remote data as valid forever.
picker_sessionshould not be treated as part of this problem: it coordinates inflight/stale async requests, but it is not itself a durable data cache.Proposed solution
Add TTL support for durable remote-data caches.
Initial scope:
list_cacherepo_info_cacheExpected behavior:
clear_cache()remain hard invalidationpicker_sessionremains separate unless it becomes a real data cache in the futureOpen design questions:
Alternatives considered
picker_session, even though some of them are request-coordination state rather than cached remote data