Reporting Context

Use GitHub Issues A stylized Octocat silhouette representing GitHub, the
					platform used to host and collaborate on software projects. GitHub - D&D Portal Wiki Issues Public issue tracker View public issue reports, content suggestions, bug reports, and planned work for the D&D Portal Wiki repository. Full link: https://github.com/toon-van-berkel/dnd-wiki/issues for public reports and Discord general discussion The Discord logo showing a stylized controller-shaped
                    face representing the Discord communication platform. D&D Portal Discord - General General community discussion Open the General channel to talk with community members about Dungeons & Dragons, the wiki, campaigns, characters, and other related subjects. Full link: https://discord.gg/5krJ2RGDJ4 for community feedback when the topic is not private or security-sensitive.

Security vulnerabilities should be reported privately and should not be published on this page.

Public Issues

Curated and filtered

Filter Public Issues

28 visible issues.

In Progress Reported through Discord SEO

Search results can show the wrong favicon or logo

External search previews may still show an outdated or incorrect image while search providers refresh cached metadata.

Planned Identified internally Content

Some content areas still need more public detail

Monsters, locations, and species pages exist as public areas but still need deeper content expansion.

Resolved Identified internally Technical

Pre-live audit did not recognize canonical FAQ routes

The route-shape validator treated valid /faq/<group>/ and /faq/<group>/<question>/ links as unknown after the FAQ registry became fully modular.

Added strict validation for the supported FAQ route depths without broad route exclusions.

Resolved Identified internally Technical

Stale Messenger FAQ compatibility paths survived migration

Legacy Messenger-specific FAQ aliases referenced paths that no longer existed after Messenger moved to the generic modular FAQ registry.

Removed the dead Messenger-only mapping and kept Messenger on the canonical generic FAQ path and registry.

Resolved Identified internally Technical

Placeholder audit flagged normal “still needs” prose

The unfinished-content detector treated ordinary rules prose such as “the Rogue still needs...” as a placeholder.

Refined the matcher to retain explicit unfinished wording while allowing ordinary English uses of “still needs”.

Resolved Identified internally SEO

FAQ group pages rendered ordinary page titles

FAQ group PageData exposed a plain group label to SEO, causing group pages such as Classes FAQ to share titles with the ordinary Classes page.

FAQ group labels now include the FAQ context, producing distinct descriptive titles without route-specific special cases.

Resolved Identified internally Technical

Repository-local pnpm store was not ignored

Local pnpm database artifacts could appear as repository changes under .pnpm-store.

Added a repository-local /.pnpm-store/ ignore rule; tracked project content was not present in that directory.

Resolved Identified internally Technical

FAQ runtime depended on the editorial Markdown master

The production FAQ registry depended on faqMasterReady and the editorial Markdown master instead of keeping all published FAQ content in runtime modules.

All 60 FAQ groups and 300 articles now use structured modular TypeScript, so production no longer imports faqMasterReady or the FAQ Markdown master.

Resolved Identified internally Technical

FAQ source-page metadata implied owners that did not exist

FAQ sourcePage was treated as mandatory even for Human, Elf, Astral Elf, and Fighting topics without ordinary runtime pages.

FaqGroup sourcePage is now optional. Attached groups retain source-page lookup, while ownerless groups use neutral FAQ storage and remain fully routable and searchable without fake page owners.

Resolved Identified internally Content

Some FAQ sourcePage values were stale or aspirational

The editorial FAQ metadata referenced Human, Elf, Astral Elf, and Fighting page paths that were not runtime owners in the application.

Those groups now omit sourcePage in production and are represented as standalone FAQ entities; the editorial source remains migration input rather than a claim about runtime ownership.

Resolved Identified internally Content

FAQ output exposed raw Markdown heading syntax

At least one rendered FAQ article exposed a literal ## marker inherited from Markdown migration input.

Removed the leaked heading marker from modular FAQ data and verified the built FAQ output with the static content-leak audit.

Resolved Identified internally Technical

Migration runs left process artifacts in the repository root

Batch migration runs accumulated generated PID and log files at the project root.

Removed completed root-level process clutter and added an ignored codex workspace for Codex-only scripts, reports, previews, and temporary artifacts.

Resolved Identified internally Technical

Migration-only tooling was mixed with project files

Completed migration scripts and generated previews were not clearly separated from canonical project runtime and documentation.

Completed Codex migration artifacts now live under the ignored codex workspace, while maintained project validation remains in scripts and canonical architecture documentation remains in docs.

Resolved Reported through Discord UI / UX

Mobile navigation behaved like the desktop sidebar

On small screens the navigation opened as a desktop-style side panel, making the menu hard to read, scroll, and tap reliably.

Small-screen navigation now opens as an opaque off-canvas drawer with a backdrop, close action, scrollable content, larger tap targets, Escape handling, and page-scroll locking while open.

Resolved Reported through Discord UI / UX

Mobile navigation button was not visible

The mobile Navigation trigger existed in the markup but remained hidden because the mobile breakpoint did not override the base display style.

The mobile breakpoint now explicitly displays the Navigation trigger as an accessible 44-pixel tap target.

Resolved Reported through Discord UI / UX

Homepage background stopped at the ultrawide content width

On ultrawide screens the homepage background image stopped at the normal content max-width, leaving black columns on both sides.

The homepage layout now lets only the background layer span beyond the normal content max-width while keeping text and cards aligned inside the readable content width.

Resolved Reported through Discord Content

Equipment items were listed as rules pages

Individual items such as greataxes, handaxes, javelins, and explorer's packs appeared under Rules instead of the Equipment section.

Equipment now has its own top-level section, with item pages generated under type-based Equipment paths while Rules keeps only rule concepts.

Resolved Reported through Discord Content

Adventuring Gear needed real item pages

Common supplies such as backpacks, torches, rope, rations, crowbars, grappling hooks, healer's kits, lanterns, and explorer's packs needed proper central item data and pages.

Added Adventuring Gear data and generated detail pages for the requested practical equipment references.

Resolved Reported through Discord Content

NPCs were grouped under Monsters

NPC references needed their own top-level category instead of being treated as monster content.

NPCs now have their own top-level navigation section and generated detail pages.

Resolved Reported through Discord UI / UX

NPC and equipment detail pages were hard to scan

NPC stat blocks and equipment statistics were rendered as dense reference text instead of using the existing structured detail and table components.

NPC pages now use a structured detail component, and equipment statistics now render through the shared trait table component.

Resolved Reported through Discord UI / UX

Missing pages could render as a blank page

Unknown or unavailable routes did not always show a useful not-found experience.

Added a styled not-found page with search and related navigation paths so visitors are not left on a blank screen.

Resolved Reported through Discord UI / UX

Homepage background did not fill the intended area

The homepage background image stopped inside the normal content padding instead of reaching the content edges and top boundary.

The homepage article now uses the shared layout padding variables to let the background reach the edges while preserving the inner text alignment.

Resolved Reported through Discord UI / UX

Homepage cards needed stronger visual identity

Homepage cards looked too similar and did not visually reflect the subject of each card.

Homepage cards now use glass-like surfaces with per-card accent colors while keeping the icon shape clean and separately colored.

Resolved Reported through Discord UI / UX

Page image View dialog opened in the wrong position

Clicking View on class artwork could open the expanded image dialog in the top-left corner of the page.

The image dialog now explicitly restores native dialog centering that was lost through the global reset.

Resolved Reported through Discord UI / UX

Pugilist progression table was hard to read

The Pugilist progression table layout did not match the readability and spacing expected from the class pages.

The Pugilist progression presentation was cleaned up and multiclassing was aligned with the class overview pattern.

Resolved Identified internally SEO

Social previews used inconsistent page images

Some routes used class or old logo images instead of the dedicated social sharing preview image.

The SEO helper now uses the dedicated D&D Portal Wiki social preview image by default for all pages.

Resolved Reported through GitHub Technical

GitHub Actions failed on pnpm version mismatch

The workflow configured pnpm 10 while package.json declared pnpm 11.10.0.

The hard-coded workflow pnpm version was removed so the action uses packageManager from package.json.