Repository navigation
🧾 test: Require Every Appearance Key to Be Listed as Documented - #17357
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9ce5488348
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const keys = Object.keys(themeAppearanceProperties); | ||
|
|
||
| it('lists every appearance key', () => { | ||
| expect(keys.filter((key) => !documented.includes(key))).toEqual([]); |
There was a problem hiding this comment.
Verify the documentation instead of the local manifest
When an appearance key is added, a contributor can append the same string to themedocs.json and both new tests pass without adding any documentation—the Playwright counterpart also compares only this manifest with registry.ts. This already happens for checkboxRadius, checkboxFillStyle, and compactPanelRadius, which the manifest declares but the current theme page does not contain. To enforce the stated invariant, compare against the documentation source or have the documentation repository validate/generate its table from this manifest.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Deferred on 9ce5488: the manifest is an acknowledgement list; the three checkbox and compact-panel keys are absent from the live page only because LibreChat-AI/docs#853 is not merged. Enforcing against the docs source belongs in the docs repository, tracked at berry-13#413
Pull Request
Summary
The librechat.ai theme page trailed the schema:
checkboxRadius,checkboxFillStyleandcompactPanelRadiusshipped without rows. This addsthemedocs.json, the list of appearance keys the page documents, and a spec that fails whenthemeAppearancePropertieshas a key the list lacks (or the list names a key the schema dropped), so a new role cannot land without its docs row. The list matches the page once LibreChat-AI/docs#853 merges.Type of change
Testing
cd packages/data-provider && npx jest specs/themedocs.spec.ts: 2 passednpx eslintandnpx prettier --checkon the new files: cleannpx tsc --noEmitinpackages/data-provider: cleanRisk / compatibility
None. Test-only.
Checklist