Repository Analysis

truelockmc/streambert

A cross-platform Electron Desktop App to stream and download any Movie, TV Series or Anime in the World. Zero Ads and Tracking

11.9 Low AI signal View on GitHub
11.9
Adjusted Score
11.9
Raw Score
100%
Time Factor
2026-05-29
Last Push
4,911
Stars
JavaScript
Language
32,756
Lines of Code
57
Files
138
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 127LOW 11

Pattern Findings

138 matches across 5 categories. Click a row to expand file-level details.

Decorative Section Separators126 hits · 374 pts
SeverityFileLineSnippet
MEDIUMsrc/App.jsx73 // ── Scheduled backup: run on startup if due ─────────────────────────────────
MEDIUMsrc/App.jsx89 // ── Post-update cache flush ───────────────────────────────────────────────
MEDIUMsrc/App.jsx103 // ── Startup update check ─────────────────────────────────────────────────
MEDIUMsrc/App.jsx114 // ── Startup: new-episode notification check ──────────────────────────────
MEDIUMsrc/App.jsx293 // ── Downloads state ──────────────────────────────────────────────────────
MEDIUMsrc/App.jsx311 // ── Detect platform for Windows titlebar ──────────────────────────────────
MEDIUMsrc/App.jsx336 // ── Register global API error handlers ──────────────────────────────────
MEDIUMsrc/App.jsx345 // ── Validate stored API key on startup ───────────────────────────────────
MEDIUMsrc/App.jsx411 // ── Desktop notification ──────────────────────
MEDIUMsrc/App.jsx463 // ── Trending, single shared fetch fn avoids code duplication ────────────
MEDIUMsrc/App.jsx508 // ── Sync librarySort when changed from Settings ───────────────────────────
MEDIUMsrc/App.jsx516 // ── Re-fetch trending immediately when metadata language changes ──────────
MEDIUMsrc/App.jsx550 // ── Navigation ────────────────────────────────────────────────────────────
MEDIUMsrc/App.jsx588 // ── Keyboard shortcuts ────────────────────────────────────────────────────
MEDIUMsrc/App.jsx626 // ── Helpers ───────────────────────────────────────────────────────────────
MEDIUMsrc/utils/updates.js1// ── App Update Utilities ──────────────────────────────────────────────────────
MEDIUMsrc/utils/homeLayout.js1// ── Home Page Layout Utilities ────────────────────────────────────────────────
MEDIUMsrc/utils/backup.js1// ── Backup & Restore Utilities ────────────────────────────────────────────────
MEDIUMsrc/utils/subtitles.js1// ── Shared subtitle helpers ───────────────────────────────────────────────────
MEDIUMsrc/utils/appearance.js1// ── Accent colour presets & helpers ──────────────────────────────────────────
MEDIUMsrc/utils/api.js4// ── TMDB metadata language ────────────────────────────────────────────────────
MEDIUMsrc/utils/api.js49// ── Request queue (max 4 concurrent TMDB fetches) ────────────────────────────
MEDIUMsrc/utils/api.js118// ── Player Sources ────────────────────────────────────────────────────────────
MEDIUMsrc/utils/api.js183// ── AniList API (anime metadata) ──────────────────────────────────────────────
MEDIUMsrc/utils/api.js241// ── AniList cache (localStorage + in-memory) ──────────────────────────────────
MEDIUMsrc/utils/api.js395// ── Episode Group fetch (localStorage + in-memory cache, 7-day TTL) ─────────
MEDIUMsrc/utils/ageRating.js1// ── Age Rating Backend ────────────────────────────────────────────────────────
MEDIUMsrc/utils/storage.js87// ── Shared helpers ────────────────────────────────────────────────────────────
MEDIUMsrc/utils/storage.js104// ── Secure storage for sensitive keys ────────────────────────────────────────
MEDIUMsrc/components/DownloadModal.jsx588 // ── No download path ───────────────────────────────────────────────────────
MEDIUMsrc/components/DownloadModal.jsx688 // ── Main modal ─────────────────────────────────────────────────────────────
MEDIUMsrc/components/UpdateModal.jsx3// ── Inline markdown + GitHub formatter ──────────────────────────────
MEDIUMsrc/components/UpdateModal.jsx150// ── Block-level markdown renderer ────────────────────────────────────────────
MEDIUMsrc/components/UpdateModal.jsx412// ── Main component ────────────────────────────────────────────────────────────
MEDIUMsrc/components/SubtitleDownloaderModal.jsx6// ── Subtitle Downloader Modal (for retroactive subtitle download) ──────────────
MEDIUMsrc/components/TrendingCarousel.jsx8// ── Helpers ───────────────────────────────────────────────────────────────────
MEDIUMsrc/components/TrendingCarousel.jsx23// ── Sub-components ────────────────────────────────────────────────────────────
MEDIUMsrc/components/TrendingCarousel.jsx148// ── Main component ────────────────────────────────────────────────────────────
MEDIUMsrc/components/TrendingCarousel.jsx171 // ── Navigation ─────────────────────────────────────────────────────────────
MEDIUMsrc/components/TrendingCarousel.jsx200 // ── Focus-aware auto-cycle ─────────────────────────────────────────────────
MEDIUMsrc/components/TrendingCarousel.jsx261 // ── Wheel ──────────────────────────────────────────────────────────────────
MEDIUMsrc/components/TrendingCarousel.jsx292 // ── Touch ──────────────────────────────────────────────────────────────────
MEDIUMsrc/components/TrendingCarousel.jsx325 // ── Slot & rating data ─────────────────────────────────────────────────────
MEDIUMsrc/ipc/blockStats.js1// ── Block stats store ─────────────────────────────────────────────────────────
MEDIUMsrc/ipc/downloads.js1// ── IPC: Downloads ────────────────────────────────────────────────────────────
MEDIUMsrc/ipc/downloads.js13// ── Download store ────────────────────────────────────────────────────────────
MEDIUMsrc/ipc/downloads.js24// ── Trusted binary registry ───────────────────────────────────────────────────
MEDIUMsrc/ipc/downloads.js109// ── Subtitle file downloader (used during run-download completion) ─────────────
MEDIUMsrc/ipc/downloads.js178// ── IPC registration ──────────────────────────────────────────────────────────
MEDIUMsrc/ipc/downloads.js183 // ── downloader binary detection ──────────────────────────────────────────
MEDIUMsrc/ipc/downloads.js219 // ── start download ────────────────────────────────────────────────────────
MEDIUMsrc/ipc/subtitles.js1// ── IPC: Subtitles ────────────────────────────────────────────────────────────
MEDIUMsrc/ipc/subtitles.js22// ── ZIP subtitle extractor ────────────────────────────────────────────────────
MEDIUMsrc/ipc/subtitles.js88// ── Subtitle language extractor (from URL) ────────────────────────────────────
MEDIUMsrc/ipc/subtitles.js109// ── IPC registration ──────────────────────────────────────────────────────────
MEDIUMsrc/ipc/subtitles.js112 // ── Subtitle search ────────────────────────────────────────────────────────
MEDIUMsrc/ipc/subtitles.js288 // ── Get subtitle download URL ──────────────────────────────────────────────
MEDIUMsrc/ipc/subtitles.js354 // ── Download subtitles for an already-completed file ──────────────────────
MEDIUMsrc/ipc/subtitles.js486 // ── Prune subtitle paths that no longer exist on disk ─────────────────────
MEDIUMsrc/ipc/subtitles.js507 // ── Delete a single subtitle file ─────────────────────────────────────────
66 more matches not shown…
Verbosity Indicators5 hits · 8 pts
SeverityFileLineSnippet
LOWindex.js333 // Step 1: Mute + destroy all tracked player WebContents by ID.
LOWindex.js347 // Step 2: Flush HTTP + shader caches from the player session.
LOWindex.js356 // Step 3: GC hints
LOWsrc/components/SetupScreen.jsx7 // Step 1: Can we reach TMDB at all?
LOWsrc/components/SetupScreen.jsx25 // Step 2: Run a real content request to confirm full API access
Hyper-Verbose Identifiers4 hits · 4 pts
SeverityFileLineSnippet
LOWsrc/ipc/subtitles.js30function extractFirstSubtitleFromZip(buf) {
LOWsrc/ipc/storage.js95function applySecretMigrationIfNeeded() {
LOWsrc/ipc/storage.js133function loadScheduledBackupSettings() {
LOWsrc/ipc/storage.js148function saveScheduledBackupSettings(settings) {
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippet
MEDIUM.github/workflows/codeql.yml54 # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
Over-Commented Block2 hits · 2 pts
SeverityFileLineSnippet
LOW.github/workflows/codeql.yml1# For most projects, this workflow file will not need changing; you simply need
LOW.github/workflows/codeql.yml61 # This includes steps like installing compilers or runtimes (`actions/setup-node`