Comments (8)
I noticed this as-well, seems something is breaking in regards to the auth in localStorage, by deleting the "auth" key in localStorage, this allows you back in (You have to re-login though). Rolling back to unstable.2024-03-14.22615a1 works, so likely something that changed between 22615a1 and db2f23a
from jellyfin-vue.
@EffakT @JVT038 Do you guys see any call to the logout endpoint in the Network tab? Or any with a response error code of 401?
from jellyfin-vue.
@ferferga No errors. I'm guessing its related to either the middlewares or network changes 3 days ago. (8f8597b or 44ce0cf)
from jellyfin-vue.
No, those are purely cosmetic and the meta handling is no different besides we now reuse the reactive object instead of recreating it every time.
I was also experimenting the same issue in my end because of a race condition caused by the flush: 'sync'
watchers, where:
- They performed an authenticated request to server before the token was populated
- After the request was dispatched, the token and axios were properly configured
- The response with 401 lands from the server.
- Given there's an authentication failure, the token is cleared rightaway (we can introduce a verification request to know if this is actually true, which is my proposed solution, but keep reading).
See https://github.com/jellyfin/jellyfin-vue/blob/master/frontend/src/plugins/remote/axios/index.ts#L25
There are no errors at all since the deauth it's expected to work this way and be handled gracefully without errors in console (just the snackbar is going to be displayed to the user telling the session has expired). However, the client gets stuck in an endless loading state because everything happened so fast with the sync watchers that the session gets revoked even before the current user is set and this watcher triggers
There's also no fallback for Suspense pages, since all the offline state handling is currently WIP and provided in a best effort basis (see here), those kind of situations will be handled more gracefully in the future.
That's why I need a good trace of the network requests between the client and the server, because console message are not useful at all in this case. If the logout endpoint is called, I can fix this in a couple of seconds. If not, this is going to be much complex.
from jellyfin-vue.
I've attached the .har file, does that help? I have it authenticated against the Jellyfin Demo server.
9ffcaf85.jf-vue.pages.dev_Archive [24-03-21 11-49-38].har.zip
from jellyfin-vue.
@EffakT Thank you very much for the HAR file. please verify if the issue is solved in the linked PR.
cc @JVT038
from jellyfin-vue.
@ferferga Still occurring on my end.
33cb1cc4.jf-vue.pages.dev_Archive [24-03-22 07-44-59].har.zip
from jellyfin-vue.
It's still occurring for me too
from jellyfin-vue.
Related Issues (20)
- quality and speed selector disabled HOT 1
- "Expected allowServerSelection to be boolean" when loading page HOT 1
- Docker bind() to 0.0.0.0:80 failed (13: Permission denied) HOT 17
- Video player not centered in the screen and taking up too much height/width HOT 1
- Insane CPU usage in Firefox (Linux) HOT 2
- Navigating to a movie from the movie library doesn't work. HOT 4
- Invalid server config causes hang HOT 8
- quality selector disabled HOT 3
- Feature Request: Add Up next or Resume playing to top of series view
- PlaybackStatus is not reported on Pause
- Wrong track count in "recently added" for large albums
- Images won't load in Safari HOT 1
- Playback progress bar is broken in safari
- Cannot Play Ogg Vorbis in Safari
- Cast & Crew Headshot Images Stretched HOT 2
- Doesn't work with Safari Lockdown Mode (solution "deselect the Enable Lockdown Mode checkbox") HOT 4
- Progress line alignment wrong HOT 1
- Search UX issue HOT 3
- Issue with Unpausing withSpacebar. HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jellyfin-vue.