Skip to content

fix: CaptureFeedback now supports multiple attachments correctly#5077

Merged
jamescrosswell merged 3 commits intomainfrom
fix/feedback-attachments
Mar 30, 2026
Merged

fix: CaptureFeedback now supports multiple attachments correctly#5077
jamescrosswell merged 3 commits intomainfrom
fix/feedback-attachments

Conversation

@bitsandfoxes
Copy link
Copy Markdown
Contributor

Follow up on: #3981

I could not find any source, neither in the dev docs nor on Sentry, for the "only one attachment per feeedback" restriction. The envelop created from a feedback can hold as many attachments as any other and will get processed by Sentry accordingly.

image

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 27, 2026

Semver Impact of This PR

None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


Breaking Changes 🛠

  • The _Metrics_ APIs are now stable: removed Experimental from SentrySdk, SentryOptions and IHub by Flash0ver in #5023

Features ✨

  • Report a new _Diagnostic_ (SENTRY1001) when a Metrics-API is invoked with an unsupported numeric type by Flash0ver in #4840

Fixes 🐛

  • fix: CaptureFeedback now supports multiple attachments correctly by bitsandfoxes in #5077
  • fix: CaptureFeedback now supports multiple attachments correctly by bitsandfoxes in #5077
  • fix: include Data set via ITransactionTracer in SentryTransaction by Flash0ver in #4148
  • fix: CaptureFeedback now applies event processors by jamescrosswell in #4942

Dependencies ⬆️

Deps

  • chore(deps): update Native SDK to v0.13.4 by github-actions in #5081
  • chore(deps): update Java SDK to v8.37.1 by github-actions in #5071
  • chore(deps): update CLI to v3.3.4 by github-actions in #5068
  • chore(deps): update Java SDK to v8.37.0 by github-actions in #5069
  • chore(deps): update Cocoa SDK to v9.8.0 by github-actions in #5044
  • chore(deps): update Java SDK to v8.36.0 by github-actions in #5036
  • chore(deps): update epitaph to 0.1.1 by github-actions in #5036
  • chore(deps): update Native SDK to v0.13.3 by github-actions in #5045
  • chore(deps): update Cocoa SDK to v9.7.0 by github-actions in #5015
  • chore(deps): update Java SDK to v8.35.0 by github-actions in #5017
  • chore(deps): replaced the heavy protobuf-javalite 3.25.8 dependency with a light-weight epitaph 0.1.0 alternative on Android (getsentry/sentry-java#5157) by github-actions in #5017
  • chore(deps): update CLI to v3.3.3 by github-actions in #5002
  • chore(deps): update Cocoa SDK to v9.6.0 by github-actions in #4958

Other

  • chore: Add PR validation workflow by stephanie-anderson in #5078
  • ref: Use .NET 6.0 ArgumentNullException throw helpers by copilot-swe-agent in #4985

🤖 This preview updates automatically when you update the PR.

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 27, 2026

Codecov Report

❌ Patch coverage is 60.00000% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 74.00%. Comparing base (3e2eae9) to head (8a2c0fb).
⚠️ Report is 11 commits behind head on main.

Files with missing lines Patch % Lines
src/Sentry/Protocol/Envelopes/Envelope.cs 60.00% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5077      +/-   ##
==========================================
- Coverage   74.00%   74.00%   -0.01%     
==========================================
  Files         499      499              
  Lines       18066    18067       +1     
  Branches     3518     3519       +1     
==========================================
  Hits        13370    13370              
- Misses       3837     3838       +1     
  Partials      859      859              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@bruno-garcia
Copy link
Copy Markdown
Member

It was just copied from the JS SDK which does have this restriction, but that's just a browser/JS thing, not a protocol thing so we should remove.
It had come up before, I thought ti was already chaged. Thanks for doing this

@jamescrosswell
Copy link
Copy Markdown
Collaborator

Yeah I think when I first implemented it the protocol wouldn't accept more than one Attachment. We did discuss that and the server was changed - we just never circled back to address the SDK.

Thanks @bitsandfoxes !

Copy link
Copy Markdown
Collaborator

@jamescrosswell jamescrosswell left a comment

Choose a reason for hiding this comment

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

LGTM

@jamescrosswell jamescrosswell merged commit a21b199 into main Mar 30, 2026
45 checks passed
@jamescrosswell jamescrosswell deleted the fix/feedback-attachments branch March 30, 2026 00:20
@jamescrosswell jamescrosswell changed the title fix: Add all attachments when CaptureFeedback fix: CaptureFeedback now supports multiple attachments correctly Mar 30, 2026
@Flash0ver Flash0ver linked an issue Mar 30, 2026 that may be closed by this pull request
irvinesunday added a commit to irvinesunday/Hali that referenced this pull request Apr 8, 2026
Updated [Sentry.AspNetCore](https://github.com/getsentry/sentry-dotnet)
from 6.3.0 to 6.3.1.

<details>
<summary>Release notes</summary>

_Sourced from [Sentry.AspNetCore's
releases](https://github.com/getsentry/sentry-dotnet/releases)._

## 6.3.1

### Fixes 🐛

- fix: Workaround FileNotFoundException on Android when recovering
sessions by @​jamescrosswell in
[#​5084](getsentry/sentry-dotnet#5084)
- fix: `CaptureFeedback` now supports multiple attachments correctly by
@​bitsandfoxes in
[#​5077](getsentry/sentry-dotnet#5077)

### Dependencies ⬆️

#### Deps

- chore(deps): update Native SDK to v0.13.5 by @​github-actions in
[#​5119](getsentry/sentry-dotnet#5119)
- chore(deps): update CLI to v3.3.5 by @​github-actions in
[#​5093](getsentry/sentry-dotnet#5093)
- chore(deps): update Native SDK to v0.13.4 by @​github-actions in
[#​5081](getsentry/sentry-dotnet#5081)
- chore(deps): update Java SDK to v8.37.1 by @​github-actions in
[#​5071](getsentry/sentry-dotnet#5071)
- chore(deps): update CLI to v3.3.4 by @​github-actions in
[#​5068](getsentry/sentry-dotnet#5068)
- chore(deps): update Java SDK to v8.37.0 by @​github-actions in
[#​5069](getsentry/sentry-dotnet#5069)
- chore(deps): update Cocoa SDK to v9.8.0 by @​github-actions in
[#​5044](getsentry/sentry-dotnet#5044)
- chore(deps): update Java SDK to v8.36.0 by @​github-actions in
[#​5036](getsentry/sentry-dotnet#5036)
- chore(deps): update epitaph to 0.1.1 by @​github-actions in
[#​5036](getsentry/sentry-dotnet#5036)

### Other

- chore: Update validate-pr workflow by @​stephanie-anderson in
[#​5108](getsentry/sentry-dotnet#5108)
- ci: fix workflows that always fail for fork PRs by @​jamescrosswell in
[#​5065](getsentry/sentry-dotnet#5065)

Commits viewable in [compare
view](getsentry/sentry-dotnet@6.3.0...6.3.1).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Sentry.AspNetCore&package-manager=nuget&previous-version=6.3.0&new-version=6.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
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.

Feedback should allow more than one Attachment

3 participants