Files
vega/src-tauri/capabilities/default.json
Jure 0894389fe0 Fix feed OOM: lazy image loading, inView gating, WebKit memory tuning
- NoteContent: remove ImageGrid from inline mode — images now only load
  when note is inView (via mediaOnly), stopping runaway scrolling leak
- NoteCard: content-visibility:auto to skip layout/paint for off-screen
  cards; inView-gated media, NoteActions, NIP-05 verification
- useInView: new IntersectionObserver hook with 300px rootMargin
- useProfile: MAX_PROFILE_CONCURRENT=8 throttle with fetch queue
- useReplyCount/useZapCount/useReactions: enabled param, throttled queues
- feed.ts: MAX_FEED_SIZE 200→30, live sub disabled (pendingNotes pattern),
  250ms batch debounce on live events
- core.ts: MAX_CONCURRENT_FETCHES=25 global NDK cap, fetchWithTimeout
  uses subscribe+stop instead of fetchEvents (no zombie subscriptions)
- lib.rs: HardwareAccelerationPolicy::Never + CacheModel::DocumentViewer
- main.rs: WEBKIT_DISABLE_COMPOSITING_MODE=1 for Linux
- relay/db.rs: TTL eviction + 5000 event cap
- feedDiagnostics.ts: file-flushing diag log survives crashes
2026-04-15 20:36:14 +02:00

39 lines
939 B
JSON

{
"$schema": "../gen/schemas/desktop-schema.json",
"identifier": "default",
"description": "Capability for the main window",
"windows": ["main"],
"permissions": [
"core:default",
"opener:default",
"updater:default",
"process:default",
{
"identifier": "http:default",
"allow": [
{ "url": "https://nostr.build/**" },
{ "url": "https://void.cat/**" },
{ "url": "https://nostrimg.com/**" },
{ "url": "https://relay.vertexlab.io/**" },
{ "url": "https://fountain.fm/**" },
{ "url": "https://api.podcastindex.org/**" },
{ "url": "https://**" }
]
},
"dialog:default",
{
"identifier": "fs:allow-read-file",
"allow": [
{ "path": "**" }
]
},
{
"identifier": "fs:allow-write-text-file",
"allow": [
{ "path": "$HOME/vega-diag.log" }
]
},
"notification:default"
]
}