Replace multi-file HTML issue report with single-page interactive report#7472
Draft
JohanEntur wants to merge 1 commit intoopentripplanner:dev-2.xfrom
Draft
Replace multi-file HTML issue report with single-page interactive report#7472JohanEntur wants to merge 1 commit intoopentripplanner:dev-2.xfrom
JohanEntur wants to merge 1 commit intoopentripplanner:dev-2.xfrom
Conversation
Author
0c5715f to
ff02285
Compare
Author
|
DataImportIssueReporterTest has been removed. It tested partitionIssues(), a method that split issues into multiple HTML files server-side. That logic no longer exists — pagination is now handled client-side in the generated HTML. |
The previous reporter split large issue types across 80+ separate HTML files, requiring operators to navigate between pages. This replaces it with a single self-contained index.html containing all issues as embedded JSON, with inline CSS/JS for filtering, search, and pagination. Changes: - Add SinglePageReportWriter: generates one HTML file with interactive search, category tabs, collapsible groups, and client-side pagination - Add IssueCategory: groups issue types by audience (transit data, OSM, real-time, other) shown as filter tabs in the report - Add ReportConfig: optional white-label config (app name, logo, colors) - Add issue-help.json: plain-language help text for all known issue types - Remove HTMLWriter and IssueColors: no longer needed - Fix GeoJsonWriter: was passing unfiltered issues to makeContourFeatures - Update GraphBuilderModules: drop maxDataImportIssuesPerFile argument (pagination is now handled client-side; the BuildConfig field is kept for backwards compatibility but has no effect)
ff02285 to
2633855
Compare
Member
|
What's the status of this PR? Why is it a draft? |
Contributor
|
Because it needs to be fixed and vetted properly by a developer |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Replaces the previous multi-file HTML issue report with a single self-contained index.html.
The previous reporter split large issue types across many separate HTML files requiring operators to click between pages using a very obnoxious navigation system. The new report embeds all issue data as JSON in a single file with inline CSS and JavaScript and allows the user to view all errors in one view, open and collapse per issue, and SEARCH among the issues.
Disclosure — AI usage
This whole PR was created using Claude Code. It has not only written the code but also guided me through the PR process. I have no personal knowledge of code or development. I did have some guiding by @t2gran while doing this, so it shouldnt be a complete mes. Please review with this in mind.
New features:
Full-text search across type names and message content, with matching groups auto-expanding
Sort by name (A→Z) or by issue count
Collapsible groups with client-side pagination (configurable, default 50 per page)
Download issues per type as .txt or .geojson
Optional white-label config via ReportConfig (app name, logo, accent colour)
Other changes:
Fix GeoJsonWriter: was passing the unfiltered issue list to makeContourFeatures instead of the geometry-filtered subset
Remove maxDataImportIssuesPerFile from BuildConfig — this field controlled splitting issues across multiple files, which is no longer done. Deployments with this field set in build-config.json will need to remove it.
Future work: A natural next step would be to add a label/tag concept to DataImportIssue (supporting multiple labels per issue type, e.g. transit, osm, realtime) so operators can filter by domain. This is intentionally left out of this PR to keep the scope small.
Unit tests
No new unit tests are added in this PR. A follow-up could add a SinglePageReportWriterTest that writes a report from a small set of synthetic issues and asserts structural properties of the output.