Weird issues with Notifications endpoint/JWT

This is probably the most feature complete solution I’ve seen for task/project board and I love the UI… got through setting everything up properly I think except for one nagging issue that seems to be giving me trouble.

/api/v1/notifications?page=1 throws an internal server error on Frontend
direct URL response: {“message”:“missing or malformed jwt”} (not sure if this is because API expect more information)
Docker logs show:
2021-02-21T22:11:17.405527924Z: ERROR :arrow_forward: handler/ReadAllWeb 12a no such table: notifications

Setup: Server runs a nginx reverse proxy for lots of services, API and Frontend were added and respond correctly on everything except this one issue.

Same error with Chrome, Firefox, and even Edge.
Same error with Sqlite, MySQL in docker, and Postgre on another server (in this case I can confirm no table for Notifications exists).

Is there a sql create script somewhere or a command to force database init properly?
Alternatively, can I just disable the notification check easily?

Thanks for the kind words!

I’ve just added the notifications feature yesterday, so you caught a bug :slight_smile:
Pushed a fix just now, a new release should be ready in ~45min from now, once the ci publishes it.

Please try again with that one and let me know if you have any other issues.

No luck, same error (at least with docker mysql).

did system purge to ensure docker was pulling latest available, fresh start with everything. Still no table. Unless the docker image hasn’t updated yet not sure what’s up.

Looks like there’s been an issue with the ci, the new version should be up now.

Awesome, no random error messages :smiley:

1 Like

I’m experiencing the same issue, {“message”:“missing or malformed jwt”}.

Docker logs don’t show any errors though. My docker-compose is here: silkkycloud/vikunja: Made for https://tasks.silkky.cloud/. Vikunja docker-compose file made for the Traefik version 2 reverse proxy. - docker-compose.yml at master - vikunja - git.silkky.cloud.

My secret looks similar to this (is their a specific way to generate it?):
U3SRqNbNRYXMspTjZnZ5EGYQgA6QPQkrzohtPxqu3U4PVEJm7HrmUXKoauoKKaSBgJzntqmAeRqKoLZ9

I was able to register an account on your instance and use it just fine. Maybe you’ve changed the secret and then reloaded the page without logging out and back in again? Does it work in a private browser window?

Private window still displays: message: “missing or malformed jwt”. I haven’t changed the secret and i’ve restarted the stack multiple times.

What are the exact steps you’re doing to get the issue? I couldn’t reproduce with a simple login on your instance. What browser are you using?

Vikunja works fine, it displays: message: “missing or malformed jwt” in the /api/v1. Nothing changes on the frontend.

Ah, you mean when you access https://tasks.silkky.cloud/api/v1/ directly? That is undefined behavior. There’s nothing there but the authentication middleware checks all requests before showing a proper error message. If you access the endpoint with a valid jwt token you’ll see a 404. But because the browser does not send it, you see the error when you’re accessing it directly. Same thing with curl by the way.

As you noted Vikunja itself works fine so I don’t really see the need to fix this as I wouldn’t consider it a bug - only undefined behavior. I’d merge a PR with a fix though :slight_smile:

Thanks for the help and explanation :grinning:

You’re welcome!

Thanks for the feedback.