julianlam / nodebb-plugin-session-sharing

Allows login sessions from your app to persist in NodeBB
MIT License
86 stars 66 forks source link

Revalidation Failure when saving Custom Content with Live Reload enabled #99

Closed skeddles closed 2 years ago

skeddles commented 3 years ago

When I am editing css / javascript / header html under Appearance > Custom Content, there is an option to check off live reload, which makes it so any open tabs of the forum will refresh when you save it, so they reflect the new code.

It always saves successfully the first time I hit the save button, but every subsequent time, I get this error popup:

image

My only option is to copy and code changes i made after the first save, refresh the page, paste them in, then save it.

This happens when live reload is enabled, and you have at least one tab with the forum open. It also happens if you turn off live-reload, and refresh a forum page manually.

This is probably due to enabling cookie revalidation on every page load for administrators, but I prefer to keep that setting on otherwise it doesn't seem to log admins out of the forum when they log out of my main site, which seems like a security issue.

NodeBB: v1.17.1 Session-sharing: v4.7.1

skeddles commented 3 years ago

Yeah so after living with it a bit longer, it's def not just related to the live reload, any time I view a page to test out my changed settings, I have to refresh any admin panel pages before working on them again.

julianlam commented 3 years ago

@skeddles was this related to multiple tabs again? Or are you seeing that just navigating to a page normally means you can't save settings anymore?

skeddles commented 3 years ago

Yes, this is just related to having multiple tabs open (both admin and normal forum browsing)

julianlam commented 2 years ago

@skeddles Ah, you'll need NodeBB v1.17.2 for this to be fixed as well.

Took me awhile to find it, but session-sharing@4.7.1 requires the newer NodeBB v1.17.2, because older versions will always reroll the session even if plugins tell them otherwise (which this plugin tries to do).