Skip to content

[pull] main from G4brym:main#6

Merged
pull[bot] merged 9 commits intolevik-opsilient:mainfrom
G4brym:main
Mar 9, 2026
Merged

[pull] main from G4brym:main#6
pull[bot] merged 9 commits intolevik-opsilient:mainfrom
G4brym:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Mar 9, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

G4brym and others added 9 commits March 9, 2026 10:08
…#144)

The `c.header("Access-Control-Allow-Credentials", "asads")` line in the
ListObjects handler sets an invalid value for the header (valid values
are "true" or the header should be omitted). This appears to be a debug
leftover. CORS is already properly handled by the hono cors() middleware
when enabled via config.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Wrap base64 + JSON decoding of customMetadata and httpMetadata query
parameters in try-catch blocks for PutObject and CreateUpload endpoints.
Previously, malformed input would crash with an unhandled exception
returning a 500 error. Now returns a descriptive 400 error instead.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
If no R2 bucket is configured via emailRouting.targetBucket and no
bucket binding exists in the environment, the email handler would
crash with a TypeError when calling bucket.put() on undefined.

This adds a guard that throws a descriptive error message instead.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…#147)

- Fix OpenAPI summary in HeadObject from "Get Object" to "Head Object"
- Add missing third-level fallback for base64 key decoding in HeadObject
  and PutMetadata to match GetObject's decoding logic, preventing potential
  failures with certain encoded file keys

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…eck (#146)

The download counter was incremented before verifying the shared file
still exists in the bucket. If the file was deleted, accessing the share
link would increment the counter and eventually exhaust the download
limit without any actual downloads. Move file retrieval before counter
increment so the count only increases on successful downloads.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v4...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix Content-Disposition header injection in GetObject

The filename in the Content-Disposition header was interpolated
directly without sanitization. Filenames containing double quotes
could break header parsing or enable header injection.

This fix:
- Strips non-ASCII characters and replaces double quotes in the
  ASCII `filename` parameter for compatibility
- Adds RFC 5987 `filename*` parameter with proper UTF-8 percent
  encoding, matching the approach used in getShareLink.ts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix CI: update test for new Content-Disposition format and add changeset

- Update GetObject test to expect the sanitized filename with RFC 5987
  filename* parameter added by the header injection fix
- Add required changeset for the patch release

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
@pull pull bot locked and limited conversation to collaborators Mar 9, 2026
@pull pull bot added the ⤵️ pull label Mar 9, 2026
@pull pull bot merged commit c936027 into levik-opsilient:main Mar 9, 2026
@pull pull bot added the ⤵️ pull label Mar 9, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant