Repository Analysis

IrosTheBeggar/mStream

The easiest music streaming server available

14.7 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of IrosTheBeggar/mStream, a JavaScript project with 2,357 GitHub stars. SynthScan v2.0 examined 141,395 lines of code across 338 source files, recording 1128 pattern matches distributed across 7 syntactic categories. The overall adjusted score of 14.7 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

14.7
Adjusted Score
14.7
Raw Score
100%
Time Factor
2026-07-14
Last Push
2.4K
Stars
JavaScript
Language
141.4K
Lines of Code
338
Files
1.1K
Pattern Hits
2026-07-14
Scan Date
0.00
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 0MEDIUM 621LOW 507

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 1128 distinct pattern matches across 7 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Decorative Section Separators618 hits · 1646 pts
SeverityFileLineSnippetContext
MEDIUMrust-server-audio/src/main.rs15// ── Request / Response types ────────────────────────────────────────────────COMMENT
MEDIUMrust-server-audio/src/main.rs77// ── Loop mode ───────────────────────────────────────────────────────────────COMMENT
MEDIUMrust-server-audio/src/main.rs103// ── Player state ────────────────────────────────────────────────────────────COMMENT
MEDIUMrust-server-audio/src/main.rs208// ── Duration detection via symphonia ────────────────────────────────────────COMMENT
MEDIUMrust-server-audio/src/main.rs245// ── HTTP helpers ────────────────────────────────────────────────────────────COMMENT
MEDIUMrust-server-audio/src/main.rs270// ── Request handlers ────────────────────────────────────────────────────────COMMENT
MEDIUMrust-server-audio/src/main.rs388// ── Queue handlers ──────────────────────────────────────────────────────────COMMENT
MEDIUMrust-server-audio/src/main.rs471// ── Main ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs37// ── Config (matches what task-queue.js passes) ──────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs469// ── Entry point ─────────────────────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs1205// ── Main scan ───────────────────────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs1255 // ── Schema-version guard ────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs1452 // ── Serial path ──────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs1558 // ── Parallel path ────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs1639 // ── Writer loop (greedy drain) ──────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs2090// ── Per-file processing ─────────────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs3109// ── Artist / Album helpers ──────────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs3488// ── Lyrics helpers (V19) ────────────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs3654// ── Waveform enrichment pass (`--waveform-scan`) ────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs4175// ── Genre helpers ────────────────────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs4224// ── MD5 hash ────────────────────────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs4425// ── Waveform generation (symphonia-powered) ───────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs4569// ── Chromaprint fingerprint (--fingerprint) ─────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs4786// ── Album art (V48 multi-art) ────────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs4906// ── Image compression ───────────────────────────────────────────────────────COMMENT
MEDIUMrust-parser/src/main.rs4943// ── Utilities ───────────────────────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js10133// ── REPLAYGAIN ────────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js10143// ── WAVEFORM SCRUBBER ─────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js10144// ── WAVEFORM LOCALSTORAGE CACHE ───────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js4// ── STATE ─────────────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js91// ── Wrapped play tracking ────────────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js157// ── HELPERS ──────────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js376// ── QUEUE PERSISTENCE ───────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js508// ── API ───────────────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js527// ── NORMALIZE SONG ────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js546// ── RATING HELPERS ────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js568// ── ARTIST NORMALIZATION ──────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js592// ── PLAYER ───────────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js1262// ── ON-DEMAND ART FETCH ───────────────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js1294// ── QUEUE UI ─────────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js1383// ── One-time queue event-listener setup ──────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js1460// ── HIGHLIGHT ────────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js1473// ── VIEW HELPERS ──────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js1516// ── SONG ROWS ────────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js1739// ── CONTEXT MENU ─────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js1785// ── NOW PLAYING MODAL ──────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js1889// ── DEEZER ART IN NP MODAL ────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js1929// ── DIRECT-URL ART IN NP MODAL ────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js1956// ── DISCOGS ART IN NP MODAL ───────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js2011// ── EQUALIZER CONFIG ──────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js2034// ── MINI SPECTRUM (player bar) ──────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js2276// ── VU NEEDLE METERS (player bar) ─────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js2552 // ── Arc band: green → yellow → red ──────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js2570 // ── Tick marks + labels ──────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js2636 // ── Peak lamp ────────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js2684 // ── RTW 1206-style PPM (Peak Programme Meter) — horizontal ─────────────────COMMENT
MEDIUMwebapp/velvet/app.js2796 // ── Brightness slider ─────────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js2929 // ── Ref-level knob ──────────────────────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js3200// ── BUTTERCHURN VISUALIZER + SPECTRUM ────────────────────────COMMENT
MEDIUMwebapp/velvet/app.js3435 // ══ MODE 0 — Bar Spectrum ══════════════════════════════════COMMENT
558 more matches not shown…
Over-Commented Block434 hits · 346 pts
SeverityFileLineSnippetContext
LOWtest/smoke/docker/compose.smoke.yaml1# All-Docker smoke compose: mStream in a container, talking to theCOMMENT
LOWtest/smoke/docker/README.md41docker compose -f test/smoke/docker/compose.smoke.yaml up --build -dCOMMENT
LOWrust-parser/Cargo.toml41 "isomp4",COMMENT
LOWrust-parser/Cargo.toml61rusty-chromaprint = "0.3"COMMENT
LOWrust-parser/src/main.rs61 force_rescan: bool,COMMENT
LOWrust-parser/src/main.rs81 // (default), symlinks are treated as opaque entries and skipped.COMMENT
LOWrust-parser/src/main.rs101 // - Walks {directory}/{subtree} instead of {directory}COMMENT
LOWrust-parser/src/main.rs121 // destructive phase. Mirrors the guard in src/db/scanner.mjs.COMMENT
LOWrust-parser/src/main.rs141// `SELECT … WHERE filepath = ? AND library_id = ?` queries down to oneCOMMENT
LOWrust-parser/src/main.rs161 // the extraction, which collected no art) while its junction rowsCOMMENT
LOWrust-parser/src/main.rs241 mbz_album_id: Option<String>,COMMENT
LOWrust-parser/src/main.rs301 content_hash: Option<String>,COMMENT
LOWrust-parser/src/main.rs321// `rel_path_progress` is the forward-slash-normalised path used forCOMMENT
LOWrust-parser/src/main.rs341// channel — paying the OS scheduler cost without proportionalCOMMENT
LOWrust-parser/src/main.rs361COMMENT
LOWrust-parser/src/main.rs521 // prints the four lyrics column values as JSON on stdout. Used byCOMMENT
LOWrust-parser/src/main.rs661// Per-chunk row cap for the end-of-scan orphan cleanup. EachCOMMENT
LOWrust-parser/src/main.rs701 let changes = stmt.execute([])?;COMMENT
LOWrust-parser/src/main.rs721// rows are scanner-derived and fully re-derivable by a rescan, so theCOMMENT
LOWrust-parser/src/main.rs741 // until the directory shape is restored (extreme edge, safe side).COMMENT
LOWrust-parser/src/main.rs841 .map(|(id, cf)| (id, Some(cf))).collect();COMMENT
LOWrust-parser/src/main.rs901 std::thread::sleep(Duration::from_millis(WRITER_YIELD_MIN_MS + jitter));COMMENT
LOWrust-parser/src/main.rs921//COMMENT
LOWrust-parser/src/main.rs941// VERIFY-ABSENCE: a row is only deleted after a fresh filesystem checkCOMMENT
LOWrust-parser/src/main.rs961// - listing readable, exact-case name present as a regular file (or aCOMMENT
LOWrust-parser/src/main.rs981 // Per-sweep listing cache: rel dir (fwd slashes) → Some(name → kind)COMMENT
LOWrust-parser/src/main.rs1161 "Warning: {} stale-candidate row(s) left untouched because their subtree \COMMENT
LOWrust-parser/src/main.rs1181// WRITER_YIELD: after a batch that hit the cap (the channel still hadCOMMENT
LOWrust-parser/src/main.rs1221COMMENT
LOWrust-parser/src/main.rs1281 // via stat, which on a remote CIFS mount costs one round-trip each).COMMENT
LOWrust-parser/src/main.rs1301 let artist_cache: Mutex<HashMap<String, i64>> = Mutex::new(HashMap::new());COMMENT
LOWrust-parser/src/main.rs1341 // neither re-derive the extension nor re-check support, and theCOMMENT
LOWrust-parser/src/main.rs1421 // src/db/scanner.mjs)COMMENT
LOWrust-parser/src/main.rs1441COMMENT
LOWrust-parser/src/main.rs1481 match result {COMMENT
LOWrust-parser/src/main.rs1501 &artist_cache, &album_cache, &genre_cache, &various_artists_id,COMMENT
LOWrust-parser/src/main.rs1561 // mpsc channel to the writer thread (this thread). The writerCOMMENT
LOWrust-parser/src/main.rs1641 // open, so the write lock is free while we wait — a workerCOMMENT
LOWrust-parser/src/main.rs1681 // progress write via the err check below, but the compilerCOMMENT
LOWrust-parser/src/main.rs1701 }COMMENT
LOWrust-parser/src/main.rs1741 }COMMENT
LOWrust-parser/src/main.rs1801 // COMMIT tail and fall back to drain-and-discard.COMMENT
LOWrust-parser/src/main.rs1841 err = Some(Box::new(e));COMMENT
LOWrust-parser/src/main.rs1941 // Sweep candidates = (rows that existed when the scan started) −COMMENT
LOWrust-parser/src/main.rs1961 chunked_delete_stale_tracks(COMMENT
LOWrust-parser/src/main.rs1981 // lock for that whole window, and any concurrent API write from theCOMMENT
LOWrust-parser/src/main.rs2041 "SELECT id FROM genres WHERE NOT EXISTS (SELECT 1 FROM track_genres WHERE track_genres.genre_id = genres.id)COMMENT
LOWrust-parser/src/main.rs2061 // to run the waveform post-processor and to print a human-readable summary.COMMENT
LOWrust-parser/src/main.rs2121 let file_size = meta.len();COMMENT
LOWrust-parser/src/main.rs2141 // play queue) on tag edits that change theCOMMENT
LOWrust-parser/src/main.rs2241 // V36: provenance from embedded tags — populated from the loftyCOMMENT
LOWrust-parser/src/main.rs2381 } else {COMMENT
LOWrust-parser/src/main.rs2421COMMENT
LOWrust-parser/src/main.rs2481 if looks_like_lrc(&text) {COMMENT
LOWrust-parser/src/main.rs2621COMMENT
LOWrust-parser/src/main.rs2681 name, primary_album_artist_id, et.year, et.aa_file.as_deref(), et.aa_source.as_deref(),COMMENT
LOWrust-parser/src/main.rs2701 // album/filepath actually changed), cutting the per-row writer-lockCOMMENT
LOWrust-parser/src/main.rs2821 for (i, artist_fk) in track_artist_ids.iter().enumerate() {COMMENT
LOWrust-parser/src/main.rs2881 // when present, file_hash otherwise. A tag edit keeps audio_hash stable,COMMENT
LOWrust-parser/src/main.rs2941 }COMMENT
374 more matches not shown…
Hyper-Verbose Identifiers39 hits · 38 pts
SeverityFileLineSnippetContext
LOWwebapp/velvet/assets/js/mstream.js138function renderFileWithMetadataHtml(filepath, id, metadata) {CODE
LOWwebapp/velvet/assets/js/lib/qr.js513 function getAlignmentPatternPositions() {CODE
LOWwebapp/velvet/alpha/m.js137function renderFileWithMetadataHtml(filepath, id, metadata) {CODE
LOWwebapp/assets/js/lib/qr.js513 function getAlignmentPatternPositions() {CODE
LOWwebapp/alpha/m.js147function renderFileWithMetadataHtml(filepath, lokiId, metadata) {CODE
LOWwebapp/alpha/m.js1301function sanitiseTorrentPathSegment(s) {CODE
LOWwebapp/alpha/m.js1713function updateAddTorrentPathPreview() {CODE
LOWwebapp/alpha/m.js3256async function refreshSubsonicPasswordStatus() {CODE
LOWwebapp/alpha/m.js3273async function setSubsonicPasswordFromForm() {CODE
LOWwebapp/alpha/m.js3286async function clearSubsonicPasswordFromForm() {CODE
LOWwebapp/alpha/m.js3299async function refreshSubsonicApiKeyList() {CODE
LOWwebapp/alpha/m.js3321async function createSubsonicApiKeyFromForm() {CODE
LOWsrc/util/admin.js538export async function editDiscoveryServerDescription(val) {CODE
LOWsrc/util/admin.js597export async function editAutoAlbumArtWriteToFolder(val) {CODE
LOWsrc/util/admin.js613export async function editAlbumArtWriteToFolder(val) {CODE
LOWsrc/state/config.js30export function deriveModelCacheDirectory(dbDirectory) {CODE
LOWsrc/torrent/path-probe.js551export async function daemonKnownPathsCandidates(vpath, creds, clientType, memo) {CODE
LOWsrc/torrent/path-probe.js593export async function symlinkAndRealpathCandidates(vpath) {CODE
LOWsrc/torrent/vpath-sweep.js33export async function sweepVpathsForActiveClient(libraries) {CODE
LOWsrc/db/discovery-features-lib.js185function rethrowIfCacheDirUnwritable(err, modelCacheDir) {CODE
LOWsrc/db/manager.js701export function getBackupDestinationsByLibrary(libraryId, { triggerType, enabledOnly = true } = {}) {CODE
LOWsrc/db/manager.js715export function getBackupDestinationsByTrigger(triggerType) {CODE
LOWsrc/db/manager.js868export function markStaleBackupRunsFailed(excludeHistoryId = null) {CODE
LOWsrc/db/manager.js948export function getLastCountedBackupBefore(destinationId, beforeHistoryId) {CODE
LOWsrc/db/federation.js67export function getFederationKeyLibraries(keyId) {CODE
LOWsrc/db/federation.js84export function bindFederationKeyEndpoint(id, endpointId) {CODE
LOWsrc/db/federation.js94export function resetFederationKeyBinding(id) {CODE
LOWsrc/db/federation.js107export function touchFederationKeyLastUsed(id) {CODE
LOWsrc/db/federation.js135export function updateFederationPeerStatus(id, status) {CODE
LOWsrc/db/federation.js146export function setFederationPeerUseDiscovery(id, enabled) {CODE
LOWsrc/db/task-queue.js73export function setOnScanCompleteCallback(fn) { onScanCompleteCallback = fn; }CODE
LOWsrc/db/task-queue.js313function checkQueueDrainedSideEffects() {CODE
LOWsrc/db/task-queue.js320function checkQueueDrainedSideEffectsInner() {CODE
LOWsrc/db/task-queue.js1183export function maybeEnqueueAudioAnalysis() {CODE
LOWsrc/db/task-queue.js1915export function cancelBackupsForDestination(destinationId) {CODE
LOWsrc/api/federation-auth.js69export function authenticateFederationKey(key, req) {CODE
LOWsrc/api/server-playback.js28export async function refreshDetectedCliPlayers() {CODE
LOWsrc/api/scrobbler.js57export async function fetchLastfmSimilarArtists(artist, apiKey) {CODE
LOWsrc/api/subsonic/handlers.js2210export function getOpenSubsonicExtensions(req, res) {CODE
Verbosity Indicators11 hits · 16 pts
SeverityFileLineSnippetContext
LOWwebapp/torrent/index.js343 // Step 1: seed-existing check unless the user opted out.COMMENT
LOWwebapp/torrent/index.js402 // Step 2: /torrent/add.COMMENT
LOWsrc/torrent/tag-probe.js119 // Step 1: add paused.COMMENT
LOWsrc/torrent/tag-probe.js138 // Step 2: set file priorities. Skip everything except the target.COMMENT
LOWsrc/torrent/tag-probe.js141 // Step 3: resume.COMMENT
LOWsrc/torrent/tag-probe.js144 // Step 4: poll for bytes.COMMENT
LOWsrc/torrent/tag-probe.js179 // Step 7: always clean up. delete-local-data: true makes theCOMMENT
LOWsrc/api/torrent.js237 // Step 1: Content-Length pre-check. Reject before reading bytes.COMMENT
LOWsrc/api/subsonic/handlers.js3140 // Step 1: local.COMMENT
LOWsrc/api/subsonic/handlers.js3151 // Step 2: read-only cache fallback.COMMENT
LOWsrc/api/subsonic/handlers.js3163 // Step 3: nothing to serve.COMMENT
Structural Annotation Overuse10 hits · 15 pts
SeverityFileLineSnippetContext
LOWwebapp/torrent/index.js343 // Step 1: seed-existing check unless the user opted out.COMMENT
LOWsrc/torrent/tag-probe.js119 // Step 1: add paused.COMMENT
LOWsrc/torrent/tag-probe.js138 // Step 2: set file priorities. Skip everything except the target.COMMENT
LOWsrc/torrent/tag-probe.js141 // Step 3: resume.COMMENT
LOWsrc/torrent/tag-probe.js144 // Step 4: poll for bytes.COMMENT
LOWsrc/torrent/tag-probe.js179 // Step 7: always clean up. delete-local-data: true makes theCOMMENT
LOWsrc/api/torrent.js237 // Step 1: Content-Length pre-check. Reject before reading bytes.COMMENT
LOWsrc/api/subsonic/handlers.js3140 // Step 1: local.COMMENT
LOWsrc/api/subsonic/handlers.js3151 // Step 2: read-only cache fallback.COMMENT
LOWsrc/api/subsonic/handlers.js3163 // Step 3: nothing to serve.COMMENT
Fake / Example Data13 hits · 14 pts
SeverityFileLineSnippetContext
LOWwebapp/index.html116 <textarea id="share-textarea" autocomplete="off" rows="8" cols="60" placeholder="Your URL will be put here" reCODE
LOWwebapp/index.html157 <input id="playlist_name" autocomplete="off" type="text" required placeholder="Enter your playlist name" patCODE
LOWwebapp/index.html191 <input id="new-live-playlist-name" type="text" name="live-queue-name" placeholder="Playlist Name" autocoCODE
LOWwebapp/index.html225 <input autocomplete="off" id="new_playlist_name" type="text" required placeholder="Enter your playlist name"CODE
LOWwebapp/index.html263 <input id="ytdl_url" autocomplete="off" type="url" required placeholder="Enter URL" style="color:#fff;" daCODE
LOWwebapp/index.html322 <input id="mkdir_name" autocomplete="off" type="text" required placeholder="Folder name" pattern="[a-zA-Z0-9CODE
LOWwebapp/index.html773 <input id="localSearchBar" onkeyup="runLocalSearch(this)" type="text" placeholder="Search List" autocompleteCODE
LOWwebapp/velvet/assets/js/lib/vue2.js11!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&defineCODE
LOWwebapp/velvet/assets/js/lib/materialize.js6var _get=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){vaCODE
LOWwebapp/subsonic/assets/index-Bu0XnV9O.js5 */var Ee=Object.freeze({}),wt=Array.isArray;function mt(e){return e==null}function j(e){return e!=null}function Gt(e){rCOMMENT
LOWwebapp/subsonic/assets/index-Bu0XnV9O.js42 */const t=Object.freeze({}),r=Array.isArray;function n(i){return i==null}function a(i){return i!=null}function s(i){retCOMMENT
LOWwebapp/assets/js/lib/vue2.js11!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&defineCODE
LOWwebapp/assets/js/lib/materialize.js6var _get=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){vaCODE
AI Slop Vocabulary3 hits · 7 pts
SeverityFileLineSnippetContext
MEDIUMtest/smoke/docker/compose.smoke.yaml28 # Host port 8915 so the smoke harness can hit mStream withoutCOMMENT
MEDIUMtest/cli-audio/entrypoint.sh3# then hands off to the Node routing harness.COMMENT
MEDIUMwebapp/velvet/app.js3880 alpha = 0.35 + (1 - timeUntil / 2.5) * 0.65; // 0.35 → 1.0 (seamless into active)CODE