Skip to content

fix(theme): guard against unknown parameter values to prevent crash#1360

Merged
sserrata merged 1 commit intomainfrom
fix/params-array-undefined
Mar 30, 2026
Merged

fix(theme): guard against unknown parameter values to prevent crash#1360
sserrata merged 1 commit intomainfrom
fix/params-array-undefined

Conversation

@sserrata
Copy link
Copy Markdown
Member

Summary

  • Parameters with non-OAS3 in values (e.g. formData carried over from OAS2/Swagger 2.0 specs) caused a page crash because the params map only defines keys for the four valid OAS3 locations: path, query, header, cookie
  • paramsObject["formData"] returns undefined, and calling .push() on it throws: can't access property "push", paramsArray is undefined
  • Fixed in both ApiExplorer/Request/index.tsx and ApiItem/index.tsx by using optional chaining (?.push) to silently skip unknown in values

Test plan

  • Open an API page with a parameter that has "in": "formData" — page should render instead of crashing
  • Verify standard parameters (path, query, header, cookie) still populate correctly in the API explorer

Fixes #1359

🤖 Generated with Claude Code

Parameters with non-OAS3 `in` values (e.g. `formData` from OAS2 specs)
would cause a page crash since the params map only keys on the four valid
OAS3 locations (path, query, header, cookie). Use optional chaining to
skip unknown values gracefully instead of throwing.

Fixes #1359

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Size Change: 0 B

Total Size: 2.2 MB

ℹ️ View Unchanged
Filename Size
demo/.docusaurus/codeTranslations.json 2 B
demo/.docusaurus/docusaurus.config.mjs 14.7 kB
demo/.docusaurus/globalData.json 65.4 kB
demo/.docusaurus/i18n.json 372 B
demo/.docusaurus/registry.js 94.7 kB
demo/.docusaurus/routes.js 89.6 kB
demo/.docusaurus/routesChunkNames.json 37.1 kB
demo/.docusaurus/site-metadata.json 1.51 kB
demo/build/assets/css/styles.********.css 164 kB
demo/build/assets/js/main.********.js 656 kB
demo/build/assets/js/runtime~main.********.js 22.3 kB
demo/build/index.html 97.6 kB
demo/build/petstore/add-pet/index.html 29.3 kB
demo/build/petstore/create-user/index.html 24 kB
demo/build/petstore/create-users-with-array-input/index.html 24.1 kB
demo/build/petstore/create-users-with-list-input/index.html 24.1 kB
demo/build/petstore/delete-order/index.html 23.8 kB
demo/build/petstore/delete-pet/index.html 24.1 kB
demo/build/petstore/delete-user/index.html 24.3 kB
demo/build/petstore/find-pets-by-status/index.html 24.8 kB
demo/build/petstore/find-pets-by-tags/index.html 25.4 kB
demo/build/petstore/get-inventory/index.html 23.1 kB
demo/build/petstore/get-order-by-id/index.html 24.1 kB
demo/build/petstore/get-pet-by-id/index.html 24.9 kB
demo/build/petstore/get-user-by-name/index.html 24.4 kB
demo/build/petstore/login-user/index.html 24.9 kB
demo/build/petstore/logout-user/index.html 23.7 kB
demo/build/petstore/new-pet/index.html 24.3 kB
demo/build/petstore/pet/index.html 22.5 kB
demo/build/petstore/place-order/index.html 23.3 kB
demo/build/petstore/schemas/apiresponse/index.html 24.6 kB
demo/build/petstore/schemas/cat/index.html 38.8 kB
demo/build/petstore/schemas/category/index.html 25.7 kB
demo/build/petstore/schemas/dog/index.html 39 kB
demo/build/petstore/schemas/honeybee/index.html 39.1 kB
demo/build/petstore/schemas/id/index.html 22.7 kB
demo/build/petstore/schemas/order/index.html 26.8 kB
demo/build/petstore/schemas/pet/index.html 38.6 kB
demo/build/petstore/schemas/tag/index.html 24.1 kB
demo/build/petstore/schemas/user/index.html 40.7 kB
demo/build/petstore/store/index.html 21.5 kB
demo/build/petstore/subscribe-to-the-store-events/index.html 30.2 kB
demo/build/petstore/swagger-petstore-yaml/index.html 30.2 kB
demo/build/petstore/update-pet-with-form/index.html 24.3 kB
demo/build/petstore/update-pet/index.html 24.7 kB
demo/build/petstore/update-user/index.html 24.3 kB
demo/build/petstore/upload-file/index.html 24.1 kB
demo/build/petstore/user/index.html 22.2 kB

compressed-size-action

@github-actions
Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 6c9d7ed):

https://docusaurus-openapi-36b86--pr1360-nvx99a8b.web.app

(expires Wed, 29 Apr 2026 15:05:49 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: bf293780ee827f578864d92193b8c2866acd459f

@sserrata sserrata merged commit 2d98709 into main Mar 30, 2026
11 checks passed
@sserrata sserrata deleted the fix/params-array-undefined branch March 30, 2026 15:13
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.

can't access property "push", paramsArray is undefined

1 participant