Skip to content

Sentry treats all Injectable's with use function as middleware #13507

Closed
@asomethings

Description

@asomethings

Is there an existing issue for this?

How do you use Sentry?

Sentry Saas (sentry.io)

Which SDK are you using?

@sentry/nestjs

SDK Version

8.27.0

Framework Version

Nest.js 10.4.1

Link to Sentry event

https://sentry.io/issues/5765154861/events/e100e2846c104bb293875be2fcc751c5/?project=4506504369405952

Reproduction Example/SDK Setup

StackBlitz

Create a Injectable class with use method

@Injectable()
export class SomeClass {
  async use(amount: number): Promise<number> {
     return amount - 1
  }
}

Steps to Reproduce

  1. Create a @Injectable() class with use method
  2. Try to use it from anywhere from the code
  3. TypeError: Cannot create proxy with a non-object as target or handler will be thrown

Expected Result

The function should be run normally without errors.

Actual Result

TypeError: Cannot create proxy with a non-object as target or handler will be thrown.

It seems it may apply to functions that sentry tries to proxy it (like transform / canActivate / intercept but not tested)

Metadata

Metadata

Assignees

Labels

Package: nestjsIssues related to the Sentry Nestjs SDK

Type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions