Kbin's "Log in" bug is discouraging me from participating
Every time I try to upvote or boost something, there's a solid 20% chance it'll link to an Error page titled "Log in". That percentage seems to increase the longer I've had my Kbin tab open without refreshing it.
Even more annoyingly, it regularily logs me off completely, forcing me to input my information again. It's especially annoying on mobile since it won't even remember my password for some reason, which was randomly generated, meaning it's a pain to re-enter it every time.
The effect is that it's making me interact with Kbin less and less, I end up just scrolling without upvoting or commenting or anything, and ultimately I also just use the site less overall.
I like it here otherwise, but this one bug is making Kbin a real chore to use, and I know a lot more people have been experiencing it for a while now.
Ok, so in the next few days, I'll be testing some things. It might be a bit worse for a while, but it will definitely speed up the problem-solving process. I'll be grateful for any feedback. I'm unable to reproduce it in local/testing environments, so it might be an issue with the cluster.
I'm not sure if it helps, but I wonder if this is linked to the inactivity error.
Load up any kbin thread or main page, open a new browser tab in the foreground, me around in the non-kbin tab for 15-30 minutes, and return to the kbin tab. Now any clicks on 'actions' (voting, posting, basically sending info to the server) sends you to an error page. Whatever info you were sending doesn't register (vote count or highlight, posts don't show up, etc.
I didn't have any logout problems at all until maybe a week ago. Since then I've been logged out 5+ times.
Not a big problem for me, but I could see it annoying others.
I've had a similar experience. Only thing I can add is that more rarely even refreshing the page doesn't resolve running into an error page when voting on some comments. However, each time I was able to visit the user's profile and vote from there without issue.
Apparently, the error condition might NOT be dependent on idle time (a period of time without any interaction). — Evidence: Periodic clicks on a vote button, scripted at 45-second intervals, did not prevent the error's eventual occurrence.
This is anecdotal, but I don't experience these log outs on fedia (I have to relog like once every few days but that doesn't bother me, I assumed it was cookie expiry but maybe it has to do with server restarts or something). So I can understand if it happens more often to kbin social users it might be some other way it's set up like caching or something that others might not be running. Then again, without version info, it makes it a bit tough to debug so this might not be helpful, fedia could be running some random sha atm which might be the reason.
If I had to guess it’s probably the stickiness of the session (which user is assigned to which server on the cluster) that expires after a certain time which leads to needing a new login or in the case of the error page a CSRF token which isn’t valid on this server of the cluster.
I've found that if you open up a bunch of kbin tabs, it helps to refresh each one immediately before interacting with it. I'm guessing there's some token that expires far too easily.
That does (usually) work yeah, but for example if I'm simply scrolling down I can't do that, since refreshing will bring me all the way back up and change what posts are even displayed.
This isn’t speaking towards the login issue we all experience, but as far as reentering your password, you should have a password manager that you use. That should enter the password easily with minimal effort from you.
I'm having the same issues too. I've even had the scenario of writing a long comment on a thread and getting error-ed away once I hit "Add comment". I don't know why it happened, but it certainly made me stop using kbin for the rest of the day. 😅
It hasn't fully discouraged me though. I remind myself that it's early days so it's going to have a bunch of hiccups along the way.
Yeah that does happen too, in fact it didn't work the first time when I tried posting this very thread.
I used to browse some unstable forums back in the day so I've made a habit of copying any long comment I make, just in case, but that's definitely annoying too.
I'm not giving up on Kbin either of course, but this one bug is definitely making it a challenge, and it's been a thing since I got here.
>
>
> it didn't work the first time when I tried posting this very thread.
>
>
Maybe you have the same behavior I do? When I write a long comment or reply, the first time I hit Submit it seems to just refresh the page, but it removes the other comments surrounding the text entry box. Then, I can hit Submit again, and it gets posted like nothing happened. Seems to happen more on the microblog side of things than the thread side, but it's happened to both.
When I get the page that just says "Error" and nothing else, it's usually when I try to up/down vote or boost. I usually have to hit Back, then Refresh the page, and then I can interact again. Some folks have said those workarounds don't always work for them, but they may work for you?
I have this issue intermittently. Admin/devs are aware of it.
Sometimes it is fine for a long time while, but then I start having to relogin after <5 mins. Idk if the difference is on my side, the instance, or something in between.
What's worse is the login page re-directs to a home page, wiping out the comment I was making and navigating away from the thread I was browsing. I could deal with it if it expired my logins once a week or so (although reddit kept me logged in so long as I kept interacting daily), but multiple times a day is infuriating.
It's been happening so much I think this is the first comment I try writing here in about a week. You say 20% but for me it's more like 80% chance of it happening, sometimes when the tab has been open for just a minute. I've been just using my Lemmy account much more, even if it lacks several features I like about kbin.
I didn't have this issue at all yet, very rarely I do get logged out without me doing anything but that happens only while I am not using kbin at all so I just have to log back in and nothing is lost.
Errors while upvoting posts I do sometimes get and I'm thinking that the problem is that I'm upvoting something at exactly the same time someone else is. It leads me to an error page, I click the back button to get back to the post, reload the page and upvote again and it works.
This might actually be a helpful detail for @Ernest. Come to think of it I think I'd noticed this too, but when you hit back you are still logged in.
I'm using mobile, so don't see the tab name, but my name is replaced with 'login' from what I remember. I'll screenshot and edit this comment next time it happens.
Edit: ok I was wrong. On mobile it does still show my Avatar, not the 'login' text on the generic "Error" page.
Maybe. I just never really looked at the tabs name and just hit back 🤷. I was never logged out though so either we had different errors or it really was just an assumption on your side.
I'd need to re-encounter my error to check, but now that I want to re-encounter it, it won't ever happen again.
Edit: Actually ☝️🤓, I literally JUST re-encountered it, the page did indeed say "Log in" but I was still logged in and my profile picture etc still showed up in the upper right as usual.
How are you managing sessions and load balancing your cluster? From my experience this ‘error after having the tab open a while’ can be caused one of these things
The cookie used for load balancing has expired before the users session cookie, so the user now gets load balanced again, potentially to a node where their session doesn’t exit.
The load balancing is fine, but the server hosting the session has expired the session for some reason (capacity, differently configured expiration time etc….)
Alternatively if you’re using a JWT style access/refresh token pattern, rather than server side sessions, then it’s possible the access token is not being refreshed often enough which results in an expired token being sent to the backend.