Public bug tracker and feature backlog for PMDA, a self-hosted tool for auditing and maintaining messy music libraries.
This repository holds no source code — only issues. The code lives in a private repository; access is granted individually. Everything else about the project happens here in the open: what is broken, what is planned, and where each report stands.
A report is resolved only when the person who filed it confirms the fix — shipped code waits in orange until its reporter says so. These charts count reports only; improvements we opened ourselves are tallied separately so they cannot flatter the number.
Shortcuts — ready to test · not started · confirmed fixed
153 fixed · 3 open — regenerated automatically. FIXED names the version that shipped it; IN BETA means the fix is on :beta awaiting its reporter; BACKLOG is not started.
UI / UX — 27 report(s), 1 open
| # | Issue | Reporter | Status | Fix | Validation |
|---|---|---|---|---|---|
| #86 | Onboarding should scan first, then let the user choose the scope | arty_ai | — | — | |
| #157 | Identify step headline hijacked by per-artist index refreshes (0 of 0 folders, then 1 of 2) | meaning_1 | v401 | Shipped & closed — reopen welcome | |
| #156 | Light theme: hovered rows in quick-search suggestions turn white and become invisible | meaning_1 | v400 | Shipped & closed — reopen welcome | |
| #154 | Every duplicates number must name its scope (sidebar 0 vs fine-check 632 vs top bar 631) | ovizii | v396 | Shipped & closed — reopen welcome | |
| #150 | Edition review modal: a single glued to its parent album offers only KEEP/DELETE — no way to … | Hodel1 | v399 | Shipped & closed — reopen welcome | |
| #149 | Workers panel: provider states and icon grid need a legend, and busy/idle accounting disagree… | ovizii | v391 | Shipped & closed — reopen welcome | |
| #148 | Broken-album review showed a 'Run AI shadow' button with no explanation (removed) | ovizii | — | Shipped & closed — reopen welcome | |
| #146 | Scan card step count grows mid-run: 'Step 4 of 4' becomes 'of 5' when enrichment starts | meaning_1 | v389 | Shipped & closed — reopen welcome | |
| #92 | Library export label is truncated, and its relationship to the Export stage is unclear | ovizii | v392 | Shipped & closed — reopen welcome | |
| #89 | Nothing says which features stay inert until the first scan finalizes | edith1775 | v396 | Shipped & closed — reopen welcome | |
| #88 | Scan History: a resumed scan looks like a string of short failed runs | ovizii | v391 | Shipped & closed — reopen welcome | |
| #84 | Heart and Like do the same thing: pick one, or make the rating model explicit | bitsofbitsofbits | 1.0.5 | Shipped & closed — reopen welcome | |
| #79 | Scan vocabulary is undocumented: SKIPPED, FLAGGED, SOFT_MATCH, Files-safe, live index, backlog | ovizii | — | Shipped & closed — reopen welcome | |
| #77 | Artwork cache: missing .webp raises a traceback mid-scan | ovizii | v399 | Shipped & closed — reopen welcome | |
| #48 | Search results: play a track directly from the results page | cissoubaka | v398 | Shipped & closed — reopen welcome | |
| #45 | Statistics: library size on disk and total playtime (years/months/days/hours) | meaning_1 | v398 | Shipped & closed — reopen welcome | |
| #41 | No version number anywhere in the product — testers cannot tell which build they are on | cissoubaka, foggymtndrifter | v345 | Shipped & closed — reopen welcome | |
| #39 | Concerts: process newly added artists/genres against providers immediately | meaning_1 | v396 | Shipped & closed — reopen welcome | |
| #37 | Liked page caps at 96 songs while all likes are stored | foggymtndrifter | v396 | Shipped & closed — reopen welcome | |
| #29 | After an update the library reads 0 artists / 0 albums with no explanation | — | v396 | Shipped & closed — reopen welcome | |
| #22 | PMDA advertises "no AI" but shows AI prompts and an AI health row | ovizii | v391 | Shipped & closed — reopen welcome | |
| #17 | Backend logs are unreadable in light mode | lewis91 | v396 | Shipped & closed — reopen welcome | |
| #16 | Not enough padding between the Library heading and THE COLLECTION line | lewis91 | v396 | Shipped & closed — reopen welcome | |
| #14 | A popup flashes on screen for a split second when PMDA loads | lewis91 | v396 | Shipped & closed — reopen welcome | |
| #13 | Player bar covers the bottom of Search results and Tools | lewis91 | v396 | Shipped & closed — reopen welcome | |
| #11 | Right half of the tile size slider on the Artists page does nothing | lewis91 | v345 | Shipped & closed — reopen welcome | |
| #9 | Opening History before any scan has run shows a 404 page | lewis91 | v345 | Shipped & closed — reopen welcome |
Scanner & pipeline — 41 report(s), 0 open
| # | Issue | Reporter | Status | Fix | Validation |
|---|---|---|---|---|---|
| #145 | Finalize export pace is bounded by per-album bookkeeping, not I/O | meaning_1 | v401 | Shipped & closed — reopen welcome | |
| #137 | A scan in its preparation phases reports zero progress on every surface, and reads as hung | meaning_1 | v387 | Shipped & closed — reopen welcome | |
| #136 | Startup resume has been silently dead: reconciliation clears the exact status the picker requ… | meaning_1 | v387 | Shipped & closed — reopen welcome | |
| #105 | A full scan silently resumes a partial plan and reports it as the total | — | v333 | Shipped & closed — reopen welcome | |
| #98 | SQLite 'database is locked' raises a traceback mid-scan instead of retrying | — | — | Shipped & closed — reopen welcome | |
| #97 | Full scan segfaults on a large library, four seconds into filesystem discovery | — | v350 | Shipped & closed — reopen welcome | |
| #96 | Stale pipeline job is flagged but never cleared: library_index stuck for 8.8 hours | — | v339 | Shipped & closed — reopen welcome | |
| #95 | Scan emits no heartbeat during filesystem discovery, so a healthy scan looks stalled | — | v335 | Shipped & closed — reopen welcome | |
| #82 | [scanner] One pacer for MusicBrainz, not two | — | — | Shipped & closed — reopen welcome | |
| #81 | [scanner] Only look up a table of contents when the folder came off a disc | — | — | Shipped & closed — reopen welcome | |
| #78 | Incomplete albums: the scan count and the review queue disagree | ovizii | v391 | Shipped & closed — reopen welcome | |
| #76 | [scanner] Wire every improvement into the live pipeline | — | — | Shipped & closed — reopen welcome | |
| #75 | [scanner] Install the MusicBrainz call discipline on every call site | — | — | Shipped & closed — reopen welcome | |
| #73 | [scanner] Key classical identity on the performance, not the work | — | — | Shipped & closed — reopen welcome | |
| #72 | [scanner] Batch the Postgres writes instead of one round trip per row | — | — | Shipped & closed — reopen welcome | |
| #71 | [scanner] Narrow the provider query rather than widening the results | — | — | Shipped & closed — reopen welcome | |
| #69 | [scanner] Wire AcoustID escalation into the scan pipeline | — | — | Shipped & closed — reopen welcome | |
| #68 | [scanner] Optimal track alignment instead of greedy pairing | — | — | Shipped & closed — reopen welcome | |
| #67 | [scanner] Various Artists inferred at a dominance threshold | — | — | Shipped & closed — reopen welcome | |
| #66 | [scanner] Album identity derived from content, not from the path | — | — | Shipped & closed — reopen welcome | |
| #65 | [scanner] Per-folder manifest hash for incremental scans | — | — | Shipped & closed — reopen welcome | |
| #64 | [scanner] Tag-based grouping cross-checked against folder grouping | — | — | Shipped & closed — reopen welcome | |
| #63 | [scanner] Album-aware keeper cascade for duplicates | — | — | Shipped & closed — reopen welcome | |
| #62 | [scanner] Call discipline for the public MusicBrainz web service | — | — | Shipped & closed — reopen welcome | |
| #61 | [scanner] Fuzzy MusicBrainz TOC lookup identifies the exact release | — | — | Shipped & closed — reopen welcome | |
| #60 | [scanner] AcoustID escalation with album-level consensus | — | — | Shipped & closed — reopen welcome | |
| #59 | [scanner] Rip evidence from cue sheets and EAC/XLD logs | — | — | Shipped & closed — reopen welcome | |
| #58 | [scanner] Three provider outcomes, circuit breaker and token bucket | — | — | Shipped & closed — reopen welcome | |
| #57 | [scanner] Match distance with per-penalty veto and runner-up margin | — | — | Shipped & closed — reopen welcome | |
| #56 | [scanner] Audio identity: stream hash and duration vector | — | — | Shipped & closed — reopen welcome | |
| #55 | [scanner] Classical completeness judged by work structure, not file count | — | — | Shipped & closed — reopen welcome | |
| #54 | [scanner] Detect albums truncated at the tail | — | — | Shipped & closed — reopen welcome | |
| #52 | [scanner] Scan worker width raised to match provider-first | — | — | Shipped & closed — reopen welcome | |
| #51 | [scanner] MusicBrainz quarantine per release group | — | — | Shipped & closed — reopen welcome | |
| #50 | [scanner] Watchdog for zombie scan jobs | — | — | Shipped & closed — reopen welcome | |
| #49 | [scanner] Post-scan export no longer re-runs discovery | — | — | Shipped & closed — reopen welcome | |
| #47 | Scan roots: three competing sources of truth, and Settings changes can be silently ignored | — | v391 | Shipped & closed — reopen welcome | |
| #32 | Identify with providers first, MusicBrainz asynchronously after | — | v301 | Shipped & closed — reopen welcome | |
| #7 | Scanning is extremely slow — over a week for 100k tracks | lewis91 | v396 | Shipped & closed — reopen welcome | |
| #6 | FutureTimeout - Export failed | Hodel1 | v396 | Shipped & closed — reopen welcome | |
| #1 | Stuck with error on first album | — | — | Shipped & closed — reopen welcome |
Duplicates — 4 report(s), 0 open
| # | Issue | Reporter | Status | Fix | Validation |
|---|---|---|---|---|---|
| #104 | Duplicate keeper drops the copy that has cover art | — | — | Shipped & closed — reopen welcome | |
| #103 | Export arbitration quarantines a split album's tail as a duplicate loser | — | — | Shipped & closed — reopen welcome | |
| #15 | Duplicate detection calls different editions an exact duplicate | lewis91 | v396 | Shipped & closed — reopen welcome | |
| #12 | Sidebar reports duplicates found, but the Duplicates page is empty | edith1775, lewis91 | v391 | Shipped & closed — reopen welcome |
Metadata & matching — 11 report(s), 0 open
| # | Issue | Reporter | Status | Fix | Validation |
|---|---|---|---|---|---|
| #144 | A persistent needs_ai_review quality flag on profiles, set at ingestion and queryable via MCP | meaning_1 | v388 | Shipped & closed — reopen welcome | |
| #143 | Artist bios assigned to the wrong entity when scraping resolves a homonym | meaning_1 | v388 | Shipped & closed — reopen welcome | |
| #142 | About 12,500 curator profile rows are empty placeholders that mask albums from missing-descri… | meaning_1 | v388 | Shipped & closed — reopen welcome | |
| #141 | Curator ingestion stores full tracklists, sometimes with lyrics, as the album description | meaning_1 | v388 | Shipped & closed — reopen welcome | |
| #138 | MusicBrainz provider shows error: release-group lookups 404 on the mirror for ids the public … | meaning_1 | v388 | Shipped & closed — reopen welcome | |
| #101 | No way to match an album by hand when automatic matching fails | bitsofbitsofbits | v404 | Shipped & closed — reopen welcome | |
| #99 | Track titles that start with a number lose it: "100 Bad Days" becomes "Bad Days" | bitsofbitsofbits | v396 | Shipped & closed — reopen welcome | |
| #90 | Albums silently un-match when MusicBrainz deletes the release they matched | iecj | v404 | Shipped & closed — reopen welcome | |
| #34 | Unmatchable folder names (abbreviated compilations): automatic AcoustID / OCR escalation | cissoubaka | v407 | Shipped & closed — reopen welcome | |
| #26 | Matching fails on a large share of the library | bitsofbitsofbits | v302 | Shipped & closed — reopen welcome | |
| #10 | Artist names containing '&' are split, and the albums land on the wrong artist | lewis91 | v396 | Shipped & closed — reopen welcome |
Mobile apps — 5 report(s), 0 open
| # | Issue | Reporter | Status | Fix | Validation |
|---|---|---|---|---|---|
| #94 | No documented route into the Android beta | foggymtndrifter | — | Shipped & closed — reopen welcome | |
| #44 | Android app: Liked music list has no play or shuffle button | foggymtndrifter | 1.0.4 | Shipped & closed — reopen welcome | |
| #43 | Android app: no Download button on playlists | foggymtndrifter | 1.0.4 | Shipped & closed — reopen welcome | |
| #36 | Android app: proper offline support (cached lists, offline filtering) | foggymtndrifter | 1.0.5 | Shipped & closed — reopen welcome | |
| #35 | Mobile apps cannot log in when MFA is enabled | iecj | 1.0.4 | Shipped & closed — reopen welcome |
Player & playback — 1 report(s), 0 open
| # | Issue | Reporter | Status | Fix | Validation |
|---|---|---|---|---|---|
| #83 | Web player stays at 0:00 on some albums while the mobile app plays them | bitsofbitsofbits | v401 | Shipped & closed — reopen welcome |
Providers & integrations — 4 report(s), 0 open
| # | Issue | Reporter | Status | Fix | Validation |
|---|---|---|---|---|---|
| #140 | Last.fm bios keep the Creative Commons boilerplate and arrive unformatted | meaning_1 | v388 | Shipped & closed — reopen welcome | |
| #139 | Discogs pressing notes are stored as the album review | meaning_1 | v388 | Shipped & closed — reopen welcome | |
| #19 | Incompletes page says acquisition is disabled although Lidarr is configured and on | foggymtndrifter | v396 | Shipped & closed — reopen welcome | |
| #18 | Spotify setup shows a redirect URI that PMDA never actually sends | bitsofbitsofbits, foggymtndrifter | v396 | Shipped & closed — reopen welcome |
Settings & onboarding — 11 report(s), 0 open
| # | Issue | Reporter | Status | Fix | Validation |
|---|---|---|---|---|---|
| #102 | Setting up the AI integrations is enough friction that testers give up | bitsofbitsofbits | — | Shipped & closed — reopen welcome | |
| #100 | Reset PMDA returns a 400 and does nothing | bitsofbitsofbits | v396 | Shipped & closed — reopen welcome | |
| #91 | Database-only mode, with an opt-in write-through to files | iecj | v408 | Shipped & closed — reopen welcome | |
| #85 | No dry-run mode: nothing lets a user see what PMDA would do before it does it | arty_ai | — | Shipped & closed — reopen welcome | |
| #80 | Web searches during scan are not disclosed or configurable | ovizii | v391 | Shipped & closed — reopen welcome | |
| #74 | [scanner] Report which item the scan is on, not just how far along | — | — | Shipped & closed — reopen welcome | |
| #53 | [scanner] Self-hosted error telemetry, strictly opt-in | — | — | Shipped & closed — reopen welcome | |
| #46 | MCP: like artists, genres and labels through the PMDA MCP server | meaning_1 | v398 | Shipped & closed — reopen welcome | |
| #25 | Worker count and batch size display 0 while a manual override is still active | ovizii | v396 | Shipped & closed — reopen welcome | |
| #20 | Spotify Client ID has to be set as a Docker variable, but the docs point at the UI | bitsofbitsofbits, foggymtndrifter | v396 | Shipped & closed — reopen welcome | |
| #8 | Onboarding asks only for the Last.fm API key, settings also asks for the secret | lewis91 | v396 | Shipped & closed — reopen welcome |
Deployment & docs — 15 report(s), 1 open
| # | Issue | Reporter | Status | Fix | Validation |
|---|---|---|---|---|---|
| #33 | Legacy cleanup campaign: dead modes, dead vars, dead log lines, monolith factoring, security … | — | — | — | |
| #93 | Document whether PMDA and Jellyfin can share one music library | bitsofbitsofbits | — | Shipped & closed — reopen welcome | |
| #87 | Cache layers are undocumented: which paths want NVMe, and how much each will consume | ovizii | — | Shipped & closed — reopen welcome | |
| #70 | [scanner] Test container disk leak filled the Docker pool | — | — | Shipped & closed — reopen welcome | |
| #42 | Beta instructions point testers at :latest, but the fixes ship on :beta | foggymtndrifter | v388 | Shipped & closed — reopen welcome | |
| #40 | Unraid reuses the cached image when switching to :beta — testers test the old build believing… | foggymtndrifter | v388 | Shipped & closed — reopen welcome | |
| #38 | OOM crashes during first big scan (4G container limit) | ovizii | v388 | Shipped & closed — reopen welcome | |
| #28 | Lost web UI access after updating | — | — | Shipped & closed — reopen welcome | |
| #27 | Ollama is not detected when it runs in the same Docker stack | — | — | Shipped & closed — reopen welcome | |
| #24 | Container CPU limit ignored — PMDA sizes itself from the host's CPU count | ovizii | v388 | Shipped & closed — reopen welcome | |
| #23 | Repeated PostgreSQL error: relation "files_albums" does not exist | ovizii | v396 | Shipped & closed — reopen welcome | |
| #21 | Bootstrap is refused over Tailscale — 100.x addresses are treated as public | ovizii | v396 | Shipped & closed — reopen welcome | |
| #5 | UnRAID 7.1.2 inability to create PMDA docker container from default settings related to confi… | — | — | Shipped & closed — reopen welcome | |
| #4 | KeyError 'Missing required configuration key' | — | — | Shipped & closed — reopen welcome | |
| #2 | 'pull access denied for silkyclouds/pmda' through compose | — | — | Shipped & closed — reopen welcome |
Sharing & social — 1 report(s), 0 open
| # | Issue | Reporter | Status | Fix | Validation |
|---|---|---|---|---|---|
| #31 | Device-link check crashes: 'sqlite3.Row' object has no attribute 'get' | cissoubaka | v396 | Shipped & closed — reopen welcome |
Other — 35 report(s), 1 open
| # | Issue | Reporter | Status | Fix | Validation |
|---|---|---|---|---|---|
| #134 | Resume granularity is per-artist, so a 9,382-album Various Artists bucket restarts from zero … | — | — | — | |
| #155 | enhance the "composition" analysis | — | v404 | Shipped & closed — reopen welcome | |
| #153 | Manually starting background enrichment process from tools menu leads to API Error: 409 CONFLICT | — | v396 | Shipped & closed — reopen welcome | |
| #152 | How to handle "incompletes" without a pmda handbook? | — | v398 | Shipped & closed — reopen welcome | |
| #151 | Enrichment vocabulary is undocumented | — | v396 | Shipped & closed — reopen welcome | |
| #135 | MusicBrainz local still reports timeouts while the mirror answers the same query in 30 ms | — | v387 | Shipped & closed — reopen welcome | |
| #133 | Segfault located: a werkzeug request thread dies in the auth guard, and runtime binding has n… | — | v367 | Shipped & closed — reopen welcome | |
| #132 | A resumed scan restores its plan, reports the plan size as albums scanned, and identifies zer… | — | v366 | Shipped & closed — reopen welcome | |
| #131 | Export moved the entire intake root (3.8 TB) into Music_matched as a single album on tag-trus… | — | v362 | Shipped & closed — reopen welcome | |
| #130 | Three runs claim status running at once, and resume ranks candidates by plan size instead of … | — | v362 | Shipped & closed — reopen welcome | |
| #129 | Consider a review-gated tool to contribute releases PMDA finds elsewhere back to MusicBrainz | — | — | Shipped & closed — reopen welcome | |
| #128 | The loose MusicBrainz search sends fielded syntax to dismax, which cannot parse it: 3 of 40 a… | — | v387 | Shipped & closed — reopen welcome | |
| #127 | Run duplicate detection after the MBID backfill, not during the scan | — | v391 | Shipped & closed — reopen welcome | |
| #126 | Workers panel: show which providers answered for each in-flight album, as a grid | — | v391 | Shipped & closed — reopen welcome | |
| #125 | The MusicBrainz row measures different things from the other providers under the same column … | — | v396 | Shipped & closed — reopen welcome | |
| #124 | 98% of the MusicBrainz lookup cache is negative, written while MB was deferred or throttled, … | — | v388 | Shipped & closed — reopen welcome | |
| #123 | Stopping during the walk loses all folder-probing progress, and the API still reports resume_… | — | v355 | Shipped & closed — reopen welcome | |
| #122 | Local MusicBrainz mirror is still paced at the public API's 1 req/s: 25 timeouts against 20 m… | — | v387 | Shipped & closed — reopen welcome | |
| #121 | No hard rescan: a bad match can be cached in a way nothing in the UI can clear | — | v389 | Shipped & closed — reopen welcome | |
| #120 | Public share pages use a reduced player with no PMDA branding | — | v400 | Shipped & closed — reopen welcome | |
| #119 | Request-available notifications are not clickable and do not open the album | — | v396 | Shipped & closed — reopen welcome | |
| #118 | Check the MusicBrainz mirror's replication lag before a scan starts matching | — | v353 | Shipped & closed — reopen welcome | |
| #117 | Stop snapshot can overwrite every artist name in the resume plan with "Unknown", collapsing t… | — | v352 | Shipped & closed — reopen welcome | |
| #116 | Stopping a scan waits for the current artist to finish — three days on a 9,819-album compilat… | — | v367 | Shipped & closed — reopen welcome | |
| #115 | Profile backfill dies on a 64 MB /dev/shm and reports it as "No space left on device" | — | v387 | Shipped & closed — reopen welcome | |
| #114 | Album progress commits only when an artist completes, so an interrupted scan loses the entire… | — | v352 | Shipped & closed — reopen welcome | |
| #113 | Scan parallelism is keyed on artist, so a compilation-heavy intake runs 76% of the plan on a … | — | v352 | Shipped & closed — reopen welcome | |
| #112 | Scan progress overstates itself when one artist dominates the plan: 12,792 of 12,950 shown ag… | — | v352 | Shipped & closed — reopen welcome | |
| #111 | Three duplicate counts on screen at once, none of them labelled | — | v391 | Shipped & closed — reopen welcome | |
| #110 | Duplicate engine evicts a library album on a generic title alone, bypassing the relationship … | — | v367 | Shipped & closed — reopen welcome | |
| #109 | Artist MusicBrainz IDs are almost never stored (666 of 115,793) | — | v388 | Shipped & closed — reopen welcome | |
| #108 | TheAudioDB is queried by name when the MusicBrainz ID is already known | — | — | Shipped & closed — reopen welcome | |
| #107 | Worker activity is never published, so a stuck worker is invisible | — | v335 | Shipped & closed — reopen welcome | |
| #106 | Discovery emits no durable heartbeat: the scan job goes stale while the scan is healthy | — | v335 | Shipped & closed — reopen welcome | |
| #30 | [BUG] numpy error | cissoubaka | v396 | Shipped & closed — reopen welcome |
PMDA is not a music player, and it is not meant to replace Plex, Plexamp, Navidrome, Jellyfin, beets, Picard, SongKong or Lidarr. The goal is more modest: help you inspect the library behind them.
It currently helps with:
- finding possible duplicate releases
- spotting incomplete albums
- surfacing missing or weak metadata
- showing missing covers
- scanning messy intake folders
- optionally preparing a cleaner destination library
The safest way to try it is read-only first — no deletes or file moves are required.
- Website and docs — https://pmda.muteq.eu/
- Docker image — https://hub.docker.com/r/meaning/pmda
- Discord — https://discord.gg/2jkwnNhHHR
- Subreddit — https://reddit.com/r/PMDA
- Also available on Unraid Community Applications
Switching a container to the :beta tag does not always pull the new image: Unraid may reuse the cached one, and its update checker can say "up to date" while a newer beta exists (#40). Before every test:
- Edit the container, set the repository tag to
meaning/pmda:beta, then use Force Update on the Docker page. - Open the web UI and check the bottom of the expanded sidebar: it shows the version actually running (
pmda v30x). Every test protocol on this tracker names the version it needs — if the sidebar shows an older one, the image did not update.
Open an issue here, or post on the Discord or the subreddit — reports from both are collected and filed here automatically, so nothing gets lost either way. If your report already exists, you will be pointed at the existing issue rather than getting a duplicate.
Useful things to include: what you expected, what happened, a screenshot, your PMDA version, and how your library is stored (folder structure, tag quality, compilation handling). Large or messy collections are the interesting cases — old rips, bad tags, multiple editions, bootlegs, live albums, classical, partial downloads.
Every issue carries up to four labels, so the backlog stays readable:
| Axis | Labels |
|---|---|
| Type | bug · enhancement · question · documentation |
| Area | area: scan · area: metadata · area: duplicates · area: player · area: mobile · area: sharing · area: settings · area: providers · area: deployment · area: ui |
| Severity | severity: blocker · severity: major · severity: minor · severity: cosmetic |
| Source | source: discord · source: reddit · source: both |
Two more mark a state rather than a category: needs-info when a report is waiting on its author, and fix-shipped when a fix has been released and is awaiting confirmation. An issue is closed only once the person who reported it confirms it is actually fixed.
PMDA is still early. Bug reports, screenshots, logs, workflow feedback and criticism are all welcome — the point is to find out where it gets things wrong.