JezerM / web-greeter

A modern, visually appealing greeter for LightDM.
https://web-greeter-page.vercel.app
GNU General Public License v3.0
211 stars 12 forks source link

localStorage not persistent #68

Open tuurep opened 1 year ago

tuurep commented 1 year ago

Environment

$ web-greeter --version
3.5.2

Bug description

Hello, I wanted to create an issue for this as it took me quite some time to find a Reddit thread that describes it:

https://www.reddit.com/r/linuxquestions/comments/12uhsyr/comment/jh8yi8o/?context=3

... it seems to be that storage sessions are not saved before nody-greeter/web-greeter closes; they work until the program is closed by lightdm. I didn't find a right solution back then so this will have to wait unless someone else tries to fix it.

I think this should be tracked as an issue so attempts to fix it can be made.

My issue when writing a theme was that right before running lightdm.start_session(id) I try to cache the last logged in user this way:

localStorage.setItem("LAST_USER", lightdm.authentication_user);

However, it doesn't appear to be cached on the next reboot. The reddit thread describes this same issue as far as I understand.

Steps to reproduce

In a web-greeter theme:

  1. try to cache last user before starting session:
    • localStorage.setItem("LAST_USER", lightdm.authentication_user)
  2. try to retrieve cached user next time using the theme:
    • localStorage.getItem("LAST_USER")

Note: In some cases it seems like the storage works, but trying to setItem() right before starting the session, for me that's how it consistently fails.

Expected behavior

When rebooting, key "LAST_USER" is found on localStorage

tuurep commented 1 year ago

Now saw this issue in nody-greeter: https://github.com/JezerM/nody-greeter/issues/41

Describes the same bug

JezerM commented 6 months ago

Hi, @tuurep. I made a PR that tries to solve this issue in web-greeter, I'd like you to test it and tell me if it works :'D

JezerM commented 2 months ago

I made a PR in LightDM that would finally fix this issue without any drawback seen in #76, as this would allow a graceful finish of the browser (hence saving the localStorage on disk). So, just wait~

tuurep commented 2 months ago

Sounds great, thank you!