Public transparency
Issues
Issues and Feedback is a curated public overview of confirmed problems, concerns, corrections, and feedback submitted through public channels or identified during maintenance.
Private reports, security vulnerabilities, personal conflicts, private messages, usernames, email addresses, and private campaign information are not automatically published here.
Entries may be rewritten to remove unnecessary identifying information; the goal is transparency, not a public complaints wall.
Reporting Context
Use GitHub Issues ↗
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 ↗ 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.
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.
Some content areas still need more public detail
Monsters, locations, and species pages exist as public areas but still need deeper content expansion.
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.
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.
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”.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Navbar did not return after scrolling slightly upward
After scrolling down, the navbar could stay out of reach until the visitor returned much closer to the top of the page.
The navbar now tracks scroll direction, hides while scrolling down past the header area, and returns when the visitor scrolls slightly upward.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.