Add archive relay query augmentation and access-based GC (v0.45.0)
- Add async archive relay querying (local results immediate, archives in background) - Add query caching with filter normalization to avoid repeated requests - Add session-deduplicated access tracking for events - Add continuous garbage collection based on access patterns - Auto-detect storage limit (80% of filesystem) when ORLY_MAX_STORAGE_BYTES=0 - Support NIP-50 search queries to archive relays New environment variables: - ORLY_ARCHIVE_ENABLED: Enable archive relay query augmentation - ORLY_ARCHIVE_RELAYS: Comma-separated archive relay URLs - ORLY_ARCHIVE_TIMEOUT_SEC: Archive query timeout - ORLY_ARCHIVE_CACHE_TTL_HRS: Query deduplication window - ORLY_GC_ENABLED: Enable access-based garbage collection - ORLY_MAX_STORAGE_BYTES: Max storage (0=auto 80%) - ORLY_GC_INTERVAL_SEC: GC check interval - ORLY_GC_BATCH_SIZE: Events per GC cycle 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
24
pkg/wasmdb/access_tracking.go
Normal file
24
pkg/wasmdb/access_tracking.go
Normal file
@@ -0,0 +1,24 @@
|
||||
//go:build js && wasm
|
||||
|
||||
package wasmdb
|
||||
|
||||
// RecordEventAccess is a stub for WasmDB.
|
||||
// Access tracking is not implemented for the WebAssembly backend as it's
|
||||
// primarily used for client-side applications where storage management
|
||||
// is handled differently.
|
||||
func (w *W) RecordEventAccess(serial uint64, connectionID string) error {
|
||||
// No-op for WasmDB
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetEventAccessInfo is a stub for WasmDB.
|
||||
func (w *W) GetEventAccessInfo(serial uint64) (lastAccess int64, accessCount uint32, err error) {
|
||||
// No-op for WasmDB - return zeros
|
||||
return 0, 0, nil
|
||||
}
|
||||
|
||||
// GetLeastAccessedEvents is a stub for WasmDB.
|
||||
func (w *W) GetLeastAccessedEvents(limit int, minAgeSec int64) (serials []uint64, err error) {
|
||||
// No-op for WasmDB - return empty slice
|
||||
return nil, nil
|
||||
}
|
||||
Reference in New Issue
Block a user