Skip to content

Switch from axios to fetch#288

Open
Gawor270 wants to merge 4 commits into
mainfrom
fce-3523
Open

Switch from axios to fetch#288
Gawor270 wants to merge 4 commits into
mainfrom
fce-3523

Conversation

@Gawor270

@Gawor270 Gawor270 commented Jul 6, 2026

Copy link
Copy Markdown
Member

Description

Describe your changes.

Motivation and Context

Why is this change required? What problem does it solve? If it fixes an open
issue, please link to the issue here.

Documentation impact

  • Documentation update required
  • Documentation updated in another PR
  • No documentation update required

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to
    not work as expected)

@linear

linear Bot commented Jul 6, 2026

Copy link
Copy Markdown

FCE-3523

@Gawor270 Gawor270 changed the title Fce 3523 Switch from axios to fetch Jul 6, 2026
@Gawor270 Gawor270 requested a review from Copilot July 6, 2026 11:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR migrates the Fishjam JS/TS server SDK and its generated OpenAPI client from an axios-based transport to a fetch-based transport, updating client wiring, error mapping, and codegen automation accordingly.

Changes:

  • Regenerated @fishjam-cloud/fishjam-openapi using typescript-fetch (new runtime/apis/models layout) and removed the axios dependency.
  • Updated FishjamClient to use the fetch-based OpenAPI Configuration + middleware and adjusted request/response handling to the new generated API shapes.
  • Refactored exception mapping to handle ResponseError/FetchError and added/updated Vitest coverage for the new behavior.

Reviewed changes

Copilot reviewed 10 out of 75 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
yarn.lock Removes axios from workspace dependency graph entries.
release-automation/bump-version.sh Switches OpenAPI generation step to call openapi.sh with a downloaded spec file.
packages/js-server-sdk/package.json Drops axios dependency and declares Node >=18 engine requirement.
packages/js-server-sdk/src/client.ts Migrates SDK client from axios instance wiring to fetch-based OpenAPI Configuration + middleware.
packages/js-server-sdk/src/exceptions/index.ts Replaces axios-error-based exception construction with a transport-agnostic FishjamExceptionInfo.
packages/js-server-sdk/src/exceptions/mapper.ts Updates error mapping to support fetch-generated ResponseError/FetchError types.
packages/js-server-sdk/tests/config-validation.test.ts Updates mocks to use ResponseError and fetch-style return values.
packages/js-server-sdk/tests/exceptions.test.ts Adds test coverage for new fetch-based exception mapping behavior.
packages/fishjam-openapi/package.json Removes axios dependency from the OpenAPI workspace package.
packages/fishjam-openapi/openapitools.json Updates OpenAPI Generator CLI version to 7.14.0.
packages/fishjam-openapi/openapi.sh Switches generator from typescript-axios to typescript-fetch and supports local spec paths.
packages/fishjam-openapi/src/generated/.openapi-generator/VERSION Updates recorded generator version.
packages/fishjam-openapi/src/generated/.openapi-generator/FILES Updates generated file manifest for the new fetch client layout.
packages/fishjam-openapi/src/generated/index.ts Changes public exports to re-export fetch runtime, apis, and models.
packages/fishjam-openapi/src/generated/runtime.ts Adds fetch-based runtime (middleware, ResponseError/FetchError, request plumbing).
packages/fishjam-openapi/src/generated/apis/CredentialsApi.ts New fetch-based generated API.
packages/fishjam-openapi/src/generated/apis/MoQApi.ts New fetch-based generated API.
packages/fishjam-openapi/src/generated/apis/RoomsApi.ts New fetch-based generated API.
packages/fishjam-openapi/src/generated/apis/StreamersApi.ts New fetch-based generated API.
packages/fishjam-openapi/src/generated/apis/StreamsApi.ts New fetch-based generated API.
packages/fishjam-openapi/src/generated/apis/TrackForwardingsApi.ts New fetch-based generated API.
packages/fishjam-openapi/src/generated/apis/ViewersApi.ts New fetch-based generated API.
packages/fishjam-openapi/src/generated/apis/index.ts Barrel export for generated APIs.
packages/fishjam-openapi/src/generated/models/AgentOutput.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/AudioFormat.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/AudioSampleRate.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/CompositionInfo.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/ModelError.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/MoqAccess.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/MoqAccessConfig.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/Peer.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/PeerConfig.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/PeerDetailsResponse.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/PeerDetailsResponseData.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/PeerOptions.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/PeerOptionsAgent.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/PeerOptionsVapi.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/PeerOptionsWebRTC.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/PeerRefreshTokenResponse.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/PeerRefreshTokenResponseData.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/PeerStatus.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/PeerType.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/Room.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/RoomConfig.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/RoomCreateDetailsResponse.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/RoomCreateDetailsResponseData.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/RoomDetailsResponse.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/RoomType.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/RoomsListingResponse.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/Stream.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/StreamConfig.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/StreamDetailsResponse.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/Streamer.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/StreamerDetailsResponse.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/StreamerToken.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/StreamsListingResponse.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/SubscribeMode.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/SubscribeTracksRequest.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/Subscriptions.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/Track.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/TrackForwarding.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/TrackForwardingInfo.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/TrackType.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/VideoCodec.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/Viewer.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/ViewerDetailsResponse.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/ViewerToken.ts New/updated generated model types.
packages/fishjam-openapi/src/generated/models/index.ts Barrel export for generated models.
packages/fishjam-openapi/src/generated/base.ts Removes legacy axios-based generator runtime file.
packages/fishjam-openapi/src/generated/common.ts Removes legacy axios-based generator runtime file.
packages/fishjam-openapi/src/generated/configuration.ts Removes legacy axios-based generator configuration file.
packages/fishjam-openapi/src/generated/git_push.sh Removes unused generator helper script.
packages/fishjam-openapi/src/generated/.gitignore Removes legacy generated .gitignore.
packages/fishjam-openapi/src/generated/.npmignore Removes legacy generated .npmignore.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/js-server-sdk/src/exceptions/mapper.ts
Comment thread packages/fishjam-openapi/package.json
Comment thread packages/fishjam-openapi/openapi.sh Outdated
@Gawor270 Gawor270 requested review from Karolk99 and czerwiukk July 6, 2026 11:43
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.

2 participants