Repository navigation
Open Nami v1.9.4
Changes in v1.9.4
Security & Sandboxing Hardening
• Cookie Domain Boundary Match: RFC-compliant domain matching in Netscape cookie parser, preventing cross-domain cookie leakage to sibling domains.
• Windows Browser Bridge ProgId Validation: Strict alphanumeric regex validation preventing shell command injection in default browser discovery.
• Private Session Cookie Files: Ephemeral cookie export sandboxed in per-user temporary directories with 0o600 permissions.
• SQL LIKE Wildcard Escaping: Custom escape syntax for % and _ wildcards preventing substring injection in media deduplication.
Extractor & Pagination Reliability
• Facebook Media ID Stability: Extracted stable media IDs from URLs/slugs, persisted running item counters, and removed arbitrary maxPages = 5 cap.
• X / Twitter Text Tweet Handling: Evaluated total tweet results instead of media items when checking pagination continuation, allowing seamless traversal past text-only tweet pages.
• TikTok SSR Filtering: Applied date range (since/until) and post limit boundaries to initial SSR hydration items with deduplication against overlapping API chunks.
• Instagram Checkpoint Integrity: Deferred checkpoint cursor advances until after current page items finish yielding.
Storage, Filtering & Interactivity
• Case-Insensitive Ledger: Added COLLATE NOCASE across media ledger tables and standardized compound key casing.
• Accurate Post Limits: Duplicate skipped items no longer consume newly-downloaded post limit quotas.
• Output Directory Priority: Explicit -o / --output parameter takes priority over existing tracked directories in open-nami pull.
• Single-Profile Untrack Scoping: Scoped [d] untrack key and click target in PullView directly to cursor profile instead of defaulting to bulk untracking.
• Robust Batch Input Parsing: Replaced whitespace splitting with structured line parser in BatchView, preserving URLs and comments.
• Non-Blocking Clipboard Watcher: Download dispatches run as non-blocking promises.
• Node Engine Alignment: Updated installer and PyPI bundle prerequisite checks to >=20.