Skip to content

fix/transcript-404-empty-reason - #5011

Closed
shayomi wants to merge 1 commit into
triggerdotdev:mainfrom
shayomi:fix/transcript-404-empty-reason
Closed

shayomi wants to merge 1 commit into
triggerdotdev:mainfrom
shayomi:fix/transcript-404-empty-reason

Conversation

@shayomi

@shayomi shayomi commented Oct 8, 2026

Copy link
Copy Markdown
## ✅ Checklist

- [x] I have followed every applicable step in the [contributing guide](https://github.com/triggerdotdev/trigger.dev/blob/main/CONTRIBUTING.md)
- [x] The PR title follows the convention
- [ ] I ran and tested the code works

> Testing is pending because the local clone does not currently have the required Node.js 24.18.0 runtime or workspace dependencies installed.

---

## Testing

Added a regression test that starts a raw TCP server and returns this valid HTTP response:

```http
HTTP/1.1 404
Content-Length: 0
Connection: close

The response intentionally has an empty reason phrase. The test calls ObjectStoreClient.getObjectResponse() and verifies that the resulting error is recognized by isTranscriptNotFound().

Static verification completed:

git diff --check

Before marking this PR ready for review, run:

pnpm --filter webapp run test ./app/services/realtime/transcriptDownload.server.test.ts --run
pnpm run format
pnpm run lint
pnpm run knip

Changelog

Missing transcript downloads now return a not-found response when the object store responds with HTTP 404 without a reason phrase.

Implementation

The aws4fetch object-store adapter previously created download errors using only response.statusText. Since HTTP reason phrases are optional, a valid 404 response could produce an error message with no "Not Found" text.

The adapter now preserves the numeric HTTP status on the error. Transcript error classification checks that status first while retaining the existing AWS SDK and message-based fallbacks.

A .server-changes/ entry is included because this is a user-visible webapp bug fix.


Screenshots

Not applicable. This change affects transcript-download error handling and has no visual UI changes.

@changeset-bot

changeset-bot Bot commented Oct 8, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 11cda9e

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Hi @shayomi, thanks for your interest in contributing!

This project requires that pull request authors are vouched, and you are not in the list of vouched users.

This PR will be closed automatically. See https://github.com/triggerdotdev/trigger.dev/blob/main/CONTRIBUTING.md for more details.

@coderabbitai

coderabbitai Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 4682e73e-42e7-4d49-96c1-513e9ec22dcf
📥 Commits

Reviewing files that changed from the base of the PR and between 6f671f1 and 11cda9e.

📒 Files selected for processing (4)
  • .server-changes/transcript-download-empty-reason-404.md
  • apps/webapp/app/services/realtime/transcriptDownload.server.test.ts
  • apps/webapp/app/services/realtime/transcriptDownload.server.ts
  • apps/webapp/app/v3/objectStoreClient.server.ts
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot closed this Oct 8, 2026

@devin-ai-integration devin-ai-integration Bot 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.

Devin Review found 1 potential issue.

Devin Review

type: fix
---

Return a not-found response when a missing transcript receives an object-store 404 without a reason phrase

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.

🔍 Release note describes infrastructure, not user behavior

The changelog note names the object store and HTTP reason phrase. The release-note guidance calls for describing the visible change without internal infrastructure.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

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.

1 participant