Redefining the open-source download manager
This report summarizes scanner evidence for AnInsomniacy/rayburst, a TypeScript project with 10,916 GitHub stars. SynthScan examined 142,650 lines of code across 595 source files, recording 682 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 10.5 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 277 finding(s).
Are imports declared and package/API names verified? 3 finding(s).
Are wrappers, guards, and repeated structures necessary? 489 finding(s).
Which changes need focused human review? 682 finding(s).
Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 682 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | website/src/components/hero/HeroSection.vue | 38 | // ── Intro ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | website/src/components/connect/ConnectBrowser.vue | 55 | // ── The page's video: aurora curtains over a fjord ───────────────────── | COMMENT |
| MEDIUM | website/src/components/connect/ConnectSection.vue | 46 | // ── Pointer: keyframes on the popup's controls, eased between keys ───── | COMMENT |
| MEDIUM | docs/media/film/audio/soundtrack.py | 36 | # ── Pitch helpers ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/media/film/audio/soundtrack.py | 60 | # ── DSP building blocks ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/media/film/audio/soundtrack.py | 150 | # ── Instruments ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/media/film/audio/soundtrack.py | 293 | # ── MIDI writer ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/media/film/audio/soundtrack.py | 341 | # ── Song ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/media/film/audio/soundtrack.py | 903 | # ── Output ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/media/film/src/ui/appwindow.js | 23 | // ── Card geometry ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/media/film/src/ui/appwindow.js | 68 | // ── Formatting (Rayburst shared/utils/format.ts and media.ts) ──────────── | COMMENT |
| MEDIUM | docs/media/film/src/ui/appwindow.js | 108 | // ── Pieces ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/media/film/src/core/math.js | 54 | // ── Colour ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/media/film/src/core/math.js | 102 | // ── Geometry ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/media/film/src/brand/logo.js | 217 | // ── 3D crystal ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | scripts/bump-version.sh | 2 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | scripts/bump-version.sh | 10 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | scripts/release.sh | 2 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | scripts/release.sh | 12 | # ============================================================================== | COMMENT |
| MEDIUM | scripts/release.sh | 42 | # ── Pre-release verification gate ──────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/lib.rs | 301 | // ── Window menu: custom handlers for frameless window ──────── | COMMENT |
| MEDIUM | src-tauri/src/lib.rs | 493 | // ── Wayland safety net ──────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/lib.rs | 783 | // ── Window event interception ───────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/upnp.rs | 29 | // ─── Public State ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/upnp.rs | 68 | // ─── Helpers ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/upnp.rs | 158 | // ─── Lifecycle ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/upnp.rs | 345 | // ─── Renewal Loop ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/menu.rs | 7 | // ── App menu (first submenu = macOS application menu) ──────────── | COMMENT |
| MEDIUM | src-tauri/src/menu.rs | 36 | // ── File menu ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/menu.rs | 55 | // ── Edit menu ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/menu.rs | 74 | // ── Window menu ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/menu.rs | 104 | // ── Help menu ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/database/history.rs | 417 | // ── CRUD operations ───────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/database/history.rs | 610 | // ── InfoHash operations ───────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/database/history.rs | 624 | // ── Task birth tracking ───────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/database/history.rs | 670 | // ── Integrity check ───────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/database/history.rs | 679 | // ── Serialization contract ────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/aria2/types.rs | 398 | // ── Internal JSON-RPC protocol types ──────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/aria2/types.rs | 429 | // ── Aria2Task deserialization ──────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/aria2/types.rs | 606 | // ── Aria2GlobalStat deserialization ────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/aria2/types.rs | 711 | // ── Aria2File deserialization ──────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/aria2/types.rs | 732 | // ── JsonRpcRequest serialization ──────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/aria2/types.rs | 749 | // ── JsonRpcResponse deserialization ────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/updater.rs | 422 | // ── Download only (Aria2 Next stays alive) ─────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/updater.rs | 507 | // ── Phase 1: Stop Aria2 Next engine BEFORE installation ───────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/updater.rs | 528 | // ── Phase 2: Install (NSIS / tar.gz replacement) ──────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/updater.rs | 583 | // ── UpdateCancelState ─────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/updater.rs | 598 | // ── endpoint_for_channel ──────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/proxy.rs | 66 | // ── Platform implementations ──────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/proxy.rs | 643 | // ── Windows helper tests ──────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/proxy.rs | 711 | // ── macOS helper tests ────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/proxy.rs | 798 | // ── Linux helper tests ────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/protocol.rs | 6 | // ── macOS native implementation ───────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/protocol.rs | 15 | // ── Linux native associations ────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/protocol.rs | 122 | // ── Cross-platform Tauri commands ─────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/fs.rs | 494 | // ── check_path_exists ────────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/fs.rs | 534 | // ── check_path_is_dir ────────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/fs.rs | 558 | // ── normalize_path ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/fs.rs | 636 | // ── delete_path ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | src-tauri/src/commands/tracker.rs | 106 | // ── fetch_tracker_sources ─────────────────────────────────────── | COMMENT |
| 342 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/release.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | src-tauri/clippy.toml | 1 | # Allow .unwrap() in test code — idiomatic Rust testing style. | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 1 | # PBH-BTN/BTN-Collected-Rules, Licensed under CC-BY 4.0. Generated at 2026-07-11 12:31:14 UTC. | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 21 | 14.152.83.150/31 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 41 | # [Sparkle3 不受信任投票] 封禁计数: 6, 不信任票数: 5, 合并记录数量: 1, BTN网络发送到此Peer流量: 6.6 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 61 | # untrusted-ips.txt | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 81 | # [Sparkle3 不受信任投票] 封禁计数: 5, 不信任票数: 5, 合并记录数量: 1, BTN网络发送到此Peer流量: 10.1 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 101 | # [Sparkle3 不受信任投票] 封禁计数: 11, 不信任票数: 11, 合并记录数量: 4, BTN网络发送到此Peer流量: 12.6 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 121 | # [Sparkle3 不受信任投票] 封禁计数: 7, 不信任票数: 5, 合并记录数量: 1, BTN网络发送到此Peer流量: 9.0 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 141 | 42.48.254.0/24 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 161 | 46.166.191.26/31 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 181 | # [Sparkle3 不受信任投票] 封禁计数: 10, 不信任票数: 7, 合并记录数量: 1, BTN网络发送到此Peer流量: 6.9 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 201 | # [Sparkle3 不受信任投票] 封禁计数: 15, 不信任票数: 15, 合并记录数量: 8, BTN网络发送到此Peer流量: 11.7 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 221 | # [Sparkle3 不受信任投票] 封禁计数: 5, 不信任票数: 5, 合并记录数量: 1, BTN网络发送到此Peer流量: 2.6 GiB, BTN网络从此Peer获取流量: 720.0 KiB | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 241 | # [Sparkle3 不受信任投票] 封禁计数: 8, 不信任票数: 7, 合并记录数量: 4, BTN网络发送到此Peer流量: 11.2 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 261 | # [Sparkle3 不受信任投票] 封禁计数: 6, 不信任票数: 6, 合并记录数量: 2, BTN网络发送到此Peer流量: 3.7 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 281 | # [Sparkle3 不受信任投票] 封禁计数: 5, 不信任票数: 5, 合并记录数量: 2, BTN网络发送到此Peer流量: 3.9 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 301 | # [Sparkle3 不受信任投票] 封禁计数: 63, 不信任票数: 59, 合并记录数量: 16, BTN网络发送到此Peer流量: 128.2 GiB, BTN网络从此Peer获取流量: 9.7 MiB | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 321 | # [Sparkle3 不受信任投票] 封禁计数: 6, 不信任票数: 5, 合并记录数量: 1, BTN网络发送到此Peer流量: 21.1 GiB, BTN网络从此Peer获取流量: 20.8 MiB | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 341 | # untrusted-ips.txt | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 361 | # [Sparkle3 不受信任投票] 封禁计数: 8, 不信任票数: 8, 合并记录数量: 2, BTN网络发送到此Peer流量: 7.0 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 381 | # [Sparkle3 不受信任投票] 封禁计数: 87, 不信任票数: 87, 合并记录数量: 32, BTN网络发送到此Peer流量: 79.4 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 401 | # [Sparkle3 不受信任投票] 封禁计数: 17, 不信任票数: 16, 合并记录数量: 8, BTN网络发送到此Peer流量: 14.7 GiB, BTN网络从此Peer获取流量: 2.5 MiB | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 421 | # [Sparkle3 不受信任投票] 封禁计数: 165, 不信任票数: 12, 合并记录数量: 4, BTN网络发送到此Peer流量: 60.2 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 441 | # [Sparkle3 不受信任投票] 封禁计数: 6, 不信任票数: 6, 合并记录数量: 1, BTN网络发送到此Peer流量: 4.7 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 461 | # untrusted-ips.txt | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 481 | 70.38.32.228 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 501 | # [Sparkle3 不受信任投票] 封禁计数: 8, 不信任票数: 6, 合并记录数量: 1, BTN网络发送到此Peer流量: 25.2 GiB, BTN网络从此Peer获取流量: 833.6 MiB | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 521 | # untrusted-ips.txt | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 541 | 104.28.230.246/31 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 561 | # [Sparkle3 不受信任投票] 封禁计数: 8, 不信任票数: 8, 合并记录数量: 1, BTN网络发送到此Peer流量: 6.3 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 581 | # [Sparkle3 不受信任投票] 封禁计数: 8, 不信任票数: 7, 合并记录数量: 1, BTN网络发送到此Peer流量: 8.6 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 601 | # [Sparkle3 不受信任投票] 封禁计数: 6, 不信任票数: 5, 合并记录数量: 1, BTN网络发送到此Peer流量: 3.2 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 621 | # untrusted-ips.txt | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 641 | 113.88.73.102 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 661 | # [Sparkle3 不受信任投票] 封禁计数: 5, 不信任票数: 5, 合并记录数量: 1, BTN网络发送到此Peer流量: 3.7 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 681 | # [Sparkle3 不受信任投票] 封禁计数: 36, 不信任票数: 29, 合并记录数量: 8, BTN网络发送到此Peer流量: 57.9 GiB, BTN网络从此Peer获取流量: 4.5 MiB | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 701 | # [Sparkle3 不受信任投票] 封禁计数: 11, 不信任票数: 10, 合并记录数量: 2, BTN网络发送到此Peer流量: 24.1 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 721 | 115.238.201.0/24 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 741 | 116.162.24.196 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 761 | # [Sparkle3 不受信任投票] 封禁计数: 6, 不信任票数: 6, 合并记录数量: 1, BTN网络发送到此Peer流量: 5.8 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 781 | # [Sparkle3 不受信任投票] 封禁计数: 6, 不信任票数: 5, 合并记录数量: 2, BTN网络发送到此Peer流量: 3.9 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 801 | 119.14.140.15 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 821 | 120.255.19.0/24 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 841 | # [Sparkle3 不受信任投票] 封禁计数: 7, 不信任票数: 6, 合并记录数量: 2, BTN网络发送到此Peer流量: 5.3 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 861 | 123.189.206.234 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 881 | # [Sparkle3 不受信任投票] 封禁计数: 9, 不信任票数: 6, 合并记录数量: 2, BTN网络发送到此Peer流量: 25.4 GiB, BTN网络从此Peer获取流量: 4.1 MiB | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 901 | # untrusted-ips.txt | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 921 | 157.254.224.83 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 941 | # [Sparkle3 不受信任投票] 封禁计数: 8, 不信任票数: 6, 合并记录数量: 1, BTN网络发送到此Peer流量: 8.1 GiB, BTN网络从此Peer获取流量: 193.8 MiB | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 961 | # untrusted-ips.txt | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 981 | 185.21.217.34 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 1001 | # [Sparkle3 不受信任投票] 封禁计数: 9, 不信任票数: 5, 合并记录数量: 1, BTN网络发送到此Peer流量: 8.9 GiB, BTN网络从此Peer获取流量: 32.9 MiB | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 1021 | # [Sparkle3 不受信任投票] 封禁计数: 5, 不信任票数: 5, 合并记录数量: 1, BTN网络发送到此Peer流量: 6.8 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 1041 | # [Sparkle3 不受信任投票] 封禁计数: 5, 不信任票数: 5, 合并记录数量: 2, BTN网络发送到此Peer流量: 3.9 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 1061 | 207.204.64.178 | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 1081 | # [Sparkle3 不受信任投票] 封禁计数: 31, 不信任票数: 16, 合并记录数量: 8, BTN网络发送到此Peer流量: 29.0 GiB, BTN网络从此Peer获取流量: 57.0 MiB | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 1101 | # [Sparkle3 不受信任投票] 封禁计数: 1338, 不信任票数: 18, 合并记录数量: 4, BTN网络发送到此Peer流量: 45.3 TiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 1121 | # [Sparkle3 不受信任投票] 封禁计数: 120, 不信任票数: 118, 合并记录数量: 32, BTN网络发送到此Peer流量: 168.3 GiB, BTN网络从此Peer获取流量: 24.7 MiB | COMMENT |
| LOW | src-tauri/data/bt-peer-blocklist.txt | 1141 | # [Sparkle3 不受信任投票] 封禁计数: 13, 不信任票数: 13, 合并记录数量: 4, BTN网络发送到此Peer流量: 21.1 GiB, BTN网络从此Peer获取流量: 0 B | COMMENT |
| 111 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/composables/useUpdateFlow.ts | 48 | export function shouldAllowUpdateDialogClose(phase: UpdatePhase): boolean { | CODE |
| LOW | src/composables/useAppEvents.ts | 153 | function setupExternalInputHandlers() { | CODE |
| LOW | src/composables/useAppEvents.ts | 176 | async function runExternalInputWindowStage( | CODE |
| LOW | src/composables/useAppEvents.ts | 476 | async function scheduleSilentLightweightCleanup(traceId: string) { | CODE |
| LOW | src/composables/useAppEvents.ts | 557 | async function processIncomingExternalInputs(inputs: ExternalDownloadInput[], options: { silent?: boolean } = {}) { | CODE |
| LOW | src/composables/useAppEvents.ts | 635 | function normalizeExternalInputPayload( | CODE |
| LOW | src/composables/useAppEvents.ts | 641 | async function setupExternalInputListeners() { | CODE |
| LOW | src/composables/useAddTaskFileOps.ts | 30 | function getTorrentInspectionErrorKind(error: unknown): string { | CODE |
| LOW | src/composables/useAddTaskFileOps.ts | 38 | function getTorrentInspectionError(error: unknown, t: (key: string) => string): string { | CODE |
| LOW | src/composables/useAppMessage.ts | 47 | function renderNormalizedTextToast(content: string): () => VNodeChild { | CODE |
| LOW | src/composables/usePreferenceNumericValidation.ts | 10 | export function usePreferenceNumericValidation() { | CODE |
| LOW | src/composables/useMagnetFlow.ts | 29 | export function isPendingMagnetSelectionTask(task: Aria2Task): boolean { | CODE |
| LOW | src/composables/useStaleCleanup.ts | 54 | export function getCompletedRecordRetentionCutoff(retentionDays: number, now = new Date()): string | null { | CODE |
| LOW | src/composables/useStaleCleanup.ts | 59 | export async function runCompletedRecordRetentionCleanup( | CODE |
| LOW | src/composables/useTaskSort.ts | 154 | export function createManualOrderSnapshot(items: readonly { gid: string }[]): string[] { | CODE |
| LOW | src/composables/useAddTaskSubmit.ts | 169 | function summarizeSubmitHeaderForwarding(form: AddTaskForm, context?: ExternalDownloadContext) { | CODE |
| LOW | src/composables/useAdvancedPreference.ts | 49 | export function buildAdvancedSystemConfig(form: AdvancedForm): Record<string, string> { | CODE |
| LOW | src/composables/useAdvancedPreference.ts | 57 | export function transformAdvancedForStore(form: AdvancedForm): Partial<AppConfig> { | CODE |
| LOW | src/composables/useBtLifecycle.ts | 46 | export function isAwaitingBtFileSelection(task: Aria2Task): boolean { | CODE |
| LOW | src/composables/useDownloadsPreference.ts | 107 | export function buildDownloadsSystemConfig(f: DownloadsForm): Record<string, string> { | CODE |
| LOW | src/composables/useDownloadsPreference.ts | 130 | export function transformDownloadsForStore(f: DownloadsForm): Partial<AppConfig> { | CODE |
| LOW | src/composables/useDownloadsPreference.ts | 152 | export function getCompletedRecordRetentionSelectValue(days: number): number { | CODE |
| LOW | src/composables/useDownloadsPreference.ts | 158 | export function resolveCompletedRecordRetentionDays(selectedValue: number, currentDays: number): number { | CODE |
| LOW | src/composables/usePreferenceActions.ts | 19 | export function registerPreferenceActions(actions: PreferenceActions) { | CODE |
| LOW | src/composables/useTaskDetailSummary.ts | 101 | export function getTaskDetailStatusLabelKey(status: string | undefined): string { | CODE |
| LOW | src/stores/app.ts | 88 | function clearPendingExternalMetadata() { | CODE |
| LOW⚡ | src/stores/app.ts | 100 | function setPendingExternalMetadata(context: ExternalDownloadContext, filenameHint: string) { | CODE |
| LOW⚡ | src/stores/app.ts | 108 | function setExternalInputErrorHandler(handler: ((error: unknown) => void) | null) { | CODE |
| LOW⚡ | src/stores/app.ts | 112 | function setExternalInputStartHandler(handler: ((taskNames: string[]) => void) | null) { | CODE |
| LOW | src/stores/app.ts | 295 | function routeExternalDownloadInput( | CODE |
| LOW | src/stores/preference.ts | 191 | function recordRecentUserAgentProfile(profileId: string) { | CODE |
| LOW | src/stores/task/index.ts | 158 | function refreshCurrentTaskPageCount(tab = currentTaskTab()) { | CODE |
| LOW | src/stores/task/index.ts | 363 | async function saveVisiblePageManualOrder(gids: string[]) { | CODE |
| LOW⚡ | src/shared/configConstraints.ts | 74 | export function isConfigNumericValueValid(key: NumericConfigKey, value: unknown): boolean { | CODE |
| LOW⚡ | src/shared/configConstraints.ts | 78 | export function getInvalidNumericConfigKeys(config: Partial<AppConfig>): NumericConfigKey[] { | CODE |
| LOW⚡ | src/shared/configConstraints.ts | 84 | export function validateAppConfigCandidate(config: Partial<AppConfig>): ConfigValidationIssue[] { | CODE |
| LOW | src/shared/utils/fileCategory.ts | 21 | export function normalizeCategoryUrlPatterns(patterns: unknown): string[] { | CODE |
| LOW | src/shared/utils/fileCategory.ts | 37 | export function validateCategoryUrlPatterns( | CODE |
| LOW | src/shared/utils/clipboard.ts | 12 | export function shouldIgnoreClipboardTextForAutoDetect(text: string): boolean { | CODE |
| LOW⚡ | src/shared/utils/tracker.ts | 30 | export function computeTrackerProxyServer(proxyConfig: Partial<ProxyConfig>): string | null { | CODE |
| LOW | src/shared/utils/userAgentPolicy.ts | 70 | export function isValidUserAgentHostPattern(pattern: string): boolean { | CODE |
| LOW | src/shared/utils/userAgentPolicy.ts | 75 | export function normalizeUserAgentProfiles(value: unknown): UserAgentProfile[] { | CODE |
| LOW | src/shared/utils/userAgentPolicy.ts | 132 | export function normalizeRecentUserAgentProfileIds(value: unknown, profiles: readonly UserAgentProfile[]): string[] { | CODE |
| LOW | src/shared/utils/userAgentPolicy.ts | 173 | export function findMatchingUserAgentRule(input: UserAgentRuleMatchInput): UserAgentRuleMatch | null { | CODE |
| LOW | src/shared/utils/userAgentPolicy.ts | 221 | export function resolveUserAgentFromContext(input: { | CODE |
| LOW | src/shared/utils/userAgentPolicy.ts | 242 | export function buildUserAgentSelectionItems(input: UserAgentSelectionInput): UserAgentSelectionItem[] { | CODE |
| LOW | src/shared/utils/userAgentPolicy.ts | 276 | export function recordRecentUserAgentProfileId( | CODE |
| LOW | src/shared/utils/resource.ts | 37 | function lineMatchesAllowedResource(line: string, allowedTags: string[], allowHash: boolean): boolean { | CODE |
| LOW | src/shared/utils/resource.ts | 49 | function countMeaningfulInputLines(content: string): number { | CODE |
| LOW⚡ | src/shared/utils/headerSanitize.ts | 103 | function isForbiddenBrowserHeaderName(name: string): boolean { | CODE |
| LOW⚡ | src/shared/utils/headerSanitize.ts | 112 | export function sanitizeSingleHeaderValue(value: string | undefined): string { | CODE |
| LOW⚡ | src/shared/utils/headerSanitize.ts | 118 | export function sanitizeBrowserRequestHeaders(headers: readonly RequestHeaderInput[] = []): SanitizedRequestHeader[] { | CODE |
| LOW⚡ | src/shared/utils/headerSanitize.ts | 122 | export function sanitizeBrowserRequestHeadersWithDiagnostics( | CODE |
| LOW | src/shared/utils/headerSanitize.ts | 173 | export function sanitizeHttpHeaderOptions(options: HttpHeaderOptions): HttpHeaderOptions { | CODE |
| LOW | src/shared/utils/systemConfig.ts | 8 | export function buildSystemConfigFromAppConfig(config: AppConfig, defaultDir = ''): Record<string, string> { | CODE |
| LOW | src/shared/utils/proxy.ts | 32 | export function buildProxyUrlWithCredentials(proxy: ProxyEndpoint): string | null { | CODE |
| LOW | src/shared/utils/proxy.ts | 137 | function clearDownloadProxyOptions(): Aria2EngineOptions { | CODE |
| LOW | src/shared/utils/proxy.ts | 149 | export function buildDownloadProxyOptions(proxy: ProxyConfig): Aria2EngineOptions { | CODE |
| LOW⚡ | src/shared/utils/proxy.ts | 210 | export function getDefaultTaskProxyServer(proxy: ProxyConfig): string { | CODE |
| LOW⚡ | src/shared/utils/proxy.ts | 214 | export function getDefaultTaskProxyUsername(proxy: ProxyConfig): string { | CODE |
| 27 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src-tauri/src/commands/fs.rs | 265 | // Step 1: Decompose into components and reassemble with native separators. | COMMENT |
| LOW⚡ | src-tauri/src/commands/fs.rs | 270 | // Step 2: Strip `\\?\` prefix if present (safe for Win32 Shell APIs). | COMMENT |
| LOW | src-tauri/src/commands/fs.rs | 326 | // Step 1: Best-effort canonicalization. | COMMENT |
| LOW | src-tauri/src/commands/fs.rs | 338 | // Step 2: Strip `\\?\UNC\` prefix for mapped drives. | COMMENT |
| LOW⚡ | src-tauri/src/commands/fs.rs | 353 | // Step 3: Get the parent directory for SHOpenFolderAndSelectItems. | COMMENT |
| LOW⚡ | src-tauri/src/commands/fs.rs | 358 | // Step 4: Convert paths to wide strings (null-terminated UTF-16). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src-tauri/src/commands/fs.rs | 265 | // Step 1: Decompose into components and reassemble with native separators. | COMMENT |
| LOW⚡ | src-tauri/src/commands/fs.rs | 270 | // Step 2: Strip `\\?\` prefix if present (safe for Win32 Shell APIs). | COMMENT |
| LOW | src-tauri/src/commands/fs.rs | 326 | // Step 1: Best-effort canonicalization. | COMMENT |
| LOW | src-tauri/src/commands/fs.rs | 338 | // Step 2: Strip `\\?\UNC\` prefix for mapped drives. | COMMENT |
| LOW⚡ | src-tauri/src/commands/fs.rs | 353 | // Step 3: Get the parent directory for SHOpenFolderAndSelectItems. | COMMENT |
| LOW⚡ | src-tauri/src/commands/fs.rs | 358 | // Step 4: Convert paths to wide strings (null-terminated UTF-16). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | scripts/bump-version.sh | 5 | # Usage: | COMMENT |
| LOW⚡ | scripts/release.sh | 5 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/media/film/audio/soundtrack.py | 416 | CODE | |
| LOW | docs/media/film/audio/soundtrack.py | 514 | CODE | |
| LOW | docs/media/film/audio/soundtrack.py | 864 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | AGENTS.md | 86 | │ │ ├── mod.rs # Runtime services orchestration (on_engine_ready) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/composables/__tests__/useUpdateFlow.test.ts | 179 | username: 'user@example.com', | CODE |
| LOW | src/shared/utils/__tests__/trackerFetch.test.ts | 40 | username: 'user@example.com', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/release.sh | 28 | # Check if tag already exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/media/film/audio/soundtrack.py | 15 | CODE |