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

When no supabaseKey is passed in it throws an error #49

Closed
zlwaterfield opened this issue Oct 11, 2020 · 1 comment · Fixed by #50
Closed

When no supabaseKey is passed in it throws an error #49

zlwaterfield opened this issue Oct 11, 2020 · 1 comment · Fixed by #50
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers
Projects

Comments

@zlwaterfield
Copy link
Contributor

Chore

Describe the chore

if createClient is called and the supabaseKey passed in is null or undefined then a non-specfic error thrown. This can happen if you make a call like this:

    return createClient(
      process.env.SUPABASE_URL,
      process.env.SUPABASE_PUBLIC_KEY
    );

and the env variable is empty.

The error is:

TypeError: Cannot read property 'length' of undefined
    at SupabaseClient.initClient (/Users/zlwaterfield/programming/switch-log/node_modules/@supabase/supabase-js/lib/index.js:7:263)
    at SupabaseClient.select (/Users/zlwaterfield/programming/switch-log/node_modules/@supabase/supabase-js/lib/index.js:7:920)
    at CategoryRepository.findByLabel (webpack-internal:///./repositories/CategoryRepository.ts:12:54)
    at LogEntry._findCategory (webpack-internal:///./services/LogEntryService.ts:86:42)
    at LogEntry.timeStart (webpack-internal:///./services/LogEntryService.ts:17:31)
    at __webpack_exports__.default (webpack-internal:///./pages/api/log.ts:11:31)
    at apiResolver (/Users/zlwaterfield/programming/switch-log/node_modules/next/dist/next-server/server/api-utils.js:8:7)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async DevServer.handleApiRequest (/Users/zlwaterfield/programming/switch-log/node_modules/next/dist/next-server/server/next-server.js:45:397)
    at async Object.fn (/Users/zlwaterfield/programming/switch-log/node_modules/next/dist/next-server/server/next-server.js:37:176)

We should add validation that the supabaseKey is passed in or at least fix this line so the error is better handled.

@awalias
Copy link
Member

awalias commented Oct 12, 2020

ah this is a great catch @zlwaterfield we should def add some validation here

@awalias awalias added enhancement New feature or request good first issue Good for newcomers labels Oct 12, 2020
@awalias awalias added this to To Do - Frontend in Beta Launch Oct 12, 2020
@kiwicopple kiwicopple self-assigned this Oct 14, 2020
Beta Launch automation moved this from To Do - Frontend to Done Nov 2, 2020
kiwicopple added a commit that referenced this issue Nov 2, 2020

- Fixes #32 Major DX change: response and error handling
- Fixes #49 When no `supabaseKey` is passed in it throws an error
- Fixes #31 chore: set up semantic releases
- Fixes #15 `supabase.auth.logout()` throws "Invalid user" error.
- Fixes #20 Auth: Change DX of user management
- Fixes #30 Supabase auth interface missing informiation
- Fixes supabase/supabase#147 supabase/supabase#147
- Partial fix for supabase/realtime-js#53  - if there is no token provided. The error needs to be caught at a socket level.
- Adds magic links


## BREAKING CHANGES

- See all breaking changes in RELEASE.md v1.0.0
- Errors are now returned and not thrown
- Auth now uses `@supabase/gotrue-js` interface
- `supabase.getSubscriptions()` only returns open subscriptions



* Updates the config

* chore: Migrates the basic outline to TS

* Adds a simple example showing how it can be used.

* chore: Moves tests to jest

* chore: Adds semantic releases

* Moves the subscription into it's own class

* Updates the todo readme with simple instructions

* Updates installs

* Revverts commented code - sorry for the spam

* docs: adds JSDoc to some functions

* chore: Adds a function for backwards compat

* chore: migrates the client to SupabaseClient

* This change attempts to make the naming conventions the same as Thor's previously

* Updates GoTrue to latest version

* Adds generic type to the from, and updates the name of the query builder

* Updates to latest versions of all packages

* Updates the example to make sure it's working

* Refactor SupabaseQueryBuilder

* Adds prettier hook

* Add TypeScript next.js example.

* Declutter SupabaseClient and make work with gotrue-js changes.

* Bumps the GoTrue version

* Bumps postgrest to include the types

* Temporarily adds the spec so that I can use it in our docs

* Update examples and add resetPassword.

* Bump gotrue-js version.

* Update lockfile.

* Add auth magic link capabilities.

* Gotrue-js user and session method updates.

* chore: Adds release notes

Co-authored-by: Thorsten Schaeff <thorsten.schaeff@gmail.com>
Co-authored-by: Thor 雷神 Schaeff <5748289+thorwebdev@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
No open projects
Beta Launch
  
Done
3 participants