ID:2406876
 
BYOND Version:512.1454
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 69.0.3497.100
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:

Cookies do not set correctly for saving preferences on SS13 goonchat. The cookies save fine with 511 so something that's changed between 511 and 512 has stopped them working.

Cookies are set using goonchat which saves them using document.cookies javascript

Numbered Steps to Reproduce Problem:

Run BYOND 512.
Connect to any SS13 server using goonchat (Paradise, TG, etc).
Set preferences such as font size.
Leave and close Dream Seeker.
Reconnect.
Your settings are not saved.

On BYOND 511 if you repeat the steps above the settings will be saved meaning the cookies are properly set.

Does the problem occur:
Every time? Or how often? Every time
In other games? I don't know any other byond games using goonchat
In other user accounts? Yes
On other computers? Yes

When does the problem NOT occur?

On 511

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)

Any version of 511 and it works.

Workarounds:

Downgrade to BYOND 511, set your preferences and then upgrade to 512 and the preferences remain, however you cannot change them.
What makes no sense to me is that cookies shouldn't be saving properly in any version. The embedded browser doesn't support cookies--which isn't my doing, but something built into the control.
In response to Lummox JR
Lummox JR wrote:
What makes no sense to me is that cookies shouldn't be saving properly in any version. The embedded browser doesn't support cookies--which isn't my doing, but something built into the control.

Didn't Crispy's FullBan library rely on IE Cookies as a ban option?
In response to Super Saiyan X
Super Saiyan X wrote:
Lummox JR wrote:
What makes no sense to me is that cookies shouldn't be saving properly in any version. The embedded browser doesn't support cookies--which isn't my doing, but something built into the control.

Didn't Crispy's FullBan library rely on IE Cookies as a ban option?

If it did, that component shouldn't have worked. The embedded browser control explicitly does not allow cookies, and that was something where I even investigated whether it could be changed.

Ultimately I'm not sure this issue is a bug. No system should be relying on browser cookies for preference saving. It has never been supported.
Yeah, they've always worked until 512. No idea what managed to change there. I remember using cookies in IE on BYOND as far back as 2002 for various things.
Well that's odd, because I read specifically cookies did not work. Maybe it worked in a particular zone.

Anyway, cookies are not really supported for the browser control and the way files are served has been changed. TBH I would have expected SS13 servers to have seen this already and developed a workaround, since this isn't a new change.
This is actually pretty odd, seeing as how only saving broke, reading cookies saved in 511 while in 512 works perfectly fine.

This is likely why nobody's noticed until recently, most devs would already have their settings set, and the settings only recently started containing something that the avg user would want to change.
We have a May 4th bug report on the subject, so at least one person noticed: https://github.com/tgstation/tgstation/issues/37663

Thanks for the info that it only worked accidentally before. That means we can move forward with a fix on our end.
fwiw I've been told that just setting the cookie path to / will fix this issue
path=/