json-schema-org / json-schema-org/website
🐛 Bug: Missing tools when grouping by Language due to undefined language metadata
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 169
- Forks
- 484
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 6
Description
Describe the bug
On the Tooling page, applying a language filter hides all tools that do not define a languages field in tooling.data.yaml. As a result, valid and actively maintained tools become invisible when users filter by language, even though some of these tools are language-agnostic or platform-based.
Steps To Reproduce
- Go to the JSON Schema Tooling page.
- Click on the Filter Tool Type dropdown and select Validator.
- Apply the filter.
- Under the Group By filter, select Tool Type. Note the total count (87 tools).
- Switch the Group By filter to Language. Note the total count (72 tools).
Observe that 15 tools have disappeared from the UI.
Expected Behavior
All tools matching the primary filter (e.g., Validator) should be visible regardless of the "Group By" selection. If a tool's language is not specified in the metadata, it should still be displayed under a fallback category such as "Language not defined" or "Other" at the bottom of the list.
Proposed Solution
Modify the filtering logic to handle tools with undefined language attributes:
- In the UI component that renders the grouped list, identify tools where the language field is missing or null.
- Create a new section labeled "Language not defined" (or a title suggested by mentors) to house these tools.
- Ensure the count in the "Language" view matches the "Tool Type" view to maintain data integrity.
Alternative Solution Considered
As an alternative, we could require every tooling entry to explicitly define a languages field in its metadata. This would avoid the need for special handling in the UI, but may not be ideal for language-agnostic or platform-based tools and would require updating existing entries.
Screenshots
Device Information [optional]
- OS:
- Browser:
- version:
Are you working on this issue?
Yes
Do you think this work might require an [Architectural Decision Record (ADR)]? (significant or noteworthy)
No
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the JSON Schema Tooling page implementation and inspect tooling.data.yaml entries for missing or null languages. Trace the grouped-list filtering logic, then verify that undefined-language tools appear in a fallback section and that the Language view count matches the Tool Type view count.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- html, yaml
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100