Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Type of error (PostgrestError) inside PostgrestResponseFailure is incorrect #600

Open
2 tasks done
MrPiao opened this issue Feb 3, 2025 · 0 comments
Open
2 tasks done
Labels
bug Something isn't working

Comments

@MrPiao
Copy link

MrPiao commented Feb 3, 2025

Bug report

  • I confirm this is a bug with Supabase, not with my own application.
  • I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug

Originally, I was trying to figure out why passing in the error object to Sentry.captureException would cause Sentry to treat the error object as a POJO, and not an Error. The error response from postgrest-js was typed as PostgrestError, which clearly extends Error.

It seems that through a couple of semi-related changes (#502, #555, #562), the type PostgrestError has started having more meaning than it signed up for.

As far as I can tell, this is the issue:

  • If throwOnError() is used, then the error thrown by the client is a proper PostgrestError, which calls the super constructor, and would pass the check error instanceOf Error.
  • If throwOnError() is NOT used, then the error has the same shape as a PostgrestError, but the constructor is not used, which means it never calls the super constructor, and would not pass the check error instanceOfError.

The obvious solution would be to either separate the "thrown" error type and the "not-thrown" error type.

@MrPiao MrPiao added the bug Something isn't working label Feb 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant