Skip to content

Conversation

@jcscottiii
Copy link
Collaborator

This commit introduces the display of vendor standards positions on both the feature detail page and the main feature overview table.

Key changes:

  • Frontend:
    • A new VendorPosition class and VendorPositions factory are introduced for type-safe parsing of the vendor position data from the API.
    • The feature detail page now renders a 'Vendor positions' section.
    • The main feature overview table now displays vendor position tags inline with the feature name.
  • Fake Data: The fake data generator is updated to produce vendor position data.
  • Testing: New unit tests for the VendorPosition class and updated Playwright snapshots are included.

Copy link
Collaborator

@DanielRyanSmith DanielRyanSmith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving with some optional suggestions

Base automatically changed from feat/1362-backend-changes to main October 29, 2025 00:29
This commit introduces the display of vendor standards positions on both the feature detail page and the main feature overview table.

Key changes:
- Frontend:
  - A new VendorPosition class and VendorPositions factory are introduced for type-safe parsing of the vendor position data from the API.
  - The feature detail page now renders a 'Vendor positions' section.
  - The main feature overview table now displays vendor position tags inline with the feature name.
- Fake Data: The fake data generator is updated to produce vendor position data.
- Testing: New unit tests for the VendorPosition class and updated Playwright snapshots are included.
The fake data generation for vendor positions was non-deterministic due to iterating over a map without sorting the keys. This caused inconsistent data between Playwright runs, resulting in screenshot diffs.

This commit fixes the issue by sorting the keys in the `getAllVendorPositions` function, ensuring that the fake data is generated in a deterministic order.
@jcscottiii jcscottiii force-pushed the feat/1362-frontend-changes branch from c1bd5e9 to 0f37ccf Compare October 29, 2025 00:38
@jcscottiii
Copy link
Collaborator Author

For this, I actually added code to generate the enums from the jsonschema:

"type": "object",
"properties": {
"vendor": {
"type": "string",
"enum": [
"mozilla",
"webkit"
]
},
"url": {
"type": "string",
"format": "uri"
},
"position": {
"type": "string",
"enum": [
"",
"blocked",
"defer",
"negative",
"neutral",
"oppose",
"positive",
"support"
]

That way I can keep it aligned and not manually maintain the list of possible vendors.

GitHub CI is having unrelated problems with devcontainer. But this all works locally

@jcscottiii jcscottiii added this pull request to the merge queue Oct 30, 2025
Merged via the queue into main with commit ee28589 Oct 30, 2025
9 of 17 checks passed
@jcscottiii jcscottiii deleted the feat/1362-frontend-changes branch October 30, 2025 13:35
@jcscottiii jcscottiii mentioned this pull request Nov 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ENHANCEMENT] Show which features have negative standards positions in feature list

2 participants