json-schema-org / json-schema-org/website

🐛 Bug: Missing tools when grouping by Language due to undefined language metadata

Open
#2,153 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

🐛 Bug Status: Triage
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
  1. Go to the JSON Schema Tooling page.
  2. Click on the Filter Tool Type dropdown and select Validator.
  3. Apply the filter.
  4. Under the Group By filter, select Tool Type. Note the total count (87 tools).
  5. 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
Image Image
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.