Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Terminate web-greeter gracefully #76

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

JezerM
Copy link
Owner

@JezerM JezerM commented Mar 31, 2024

Fixes #68

As we're gracefully quitting the Application after a successful start_session, the QWebEngineProfile is able to flush persistent data to disk (like LocalStorage).

Changed

  • LightDM is now set as resettable, so the greeter isn't killed immediately after a successful start_session.
  • Gracefully quit Application after a successful start_session.

Here's a preview where I set localStorage.setItem("Completed", "true"); before a start_session:

Grabacion.de.pantalla.2024-03-30.a.la.s.19.30.27.mov

Set lightdm resettable property as true, so the greeter doesn't terminate
immediately after a successful start_session.
@tuurep
Copy link
Contributor

tuurep commented Mar 31, 2024

Thanks so much for this,

I was able to test by creating two extra dummy users, the caching now works and can retrieve the last authenticated user & session (in my theme).

So yes, seems like localStorage issue successfully fixed,

However I notice a lock-screen specific functionality I've been trying to add recently seems to have broken:

window.loginbutton = document.querySelector("form button");

if (lightdm.lock_hint) {
    window.loginbutton.textContent = "Unlock";
}

No longer changes the login button's text from "Login" to "Unlock"

But this may be related to light-locker

Also seems to now briefly flash the last moment before successfully logging in (can see that password box is filled) before switching to lightdm on light-locker-command --lock, whereas before it would flash a black screen with cursor in the middle

I've had another issue with light-locker prior to this though and so have you, I see 😄 Honest question.. do you think it's a bit of a deprecated project, in case I might wanna try something else for a lock screen?

@JezerM
Copy link
Owner Author

JezerM commented Mar 31, 2024

Hmm, I'll check that issue with light-locker, but yeah it's an outdated project (wouldn't say deprecated as it still works) so it's kind of expected that it won't work in the future.

@tuurep
Copy link
Contributor

tuurep commented Mar 31, 2024

Oh, I notice another thing:

I have a startup script for lightdm like this:

/etc/lightdm/greeter-startup:

#!/bin/bash

# Map capslock to esc
setxkbmap -option caps:escape

# Key repeat: ms, interval
xset r rate 315 25

/etc/lightdm/lightdm.conf:

greeter-setup-script=/etc/lightdm/greeter-startup

Prior to this PR it would set key repeat on the greeter screen, and it would remain in the logged in session.

Now it's set for the greeter only, and doesn't carry over to the session.

Was I using it as intended? I could repeat it in a WM autostart script of course, but since that used to carry over, I thought that's how it should work.

@JezerM
Copy link
Owner Author

JezerM commented Apr 1, 2024

About light-locker, I didn't have any issue with web-greeter, everything works as it should. Although, after logging in a gray background appears but I think that's light-locker's fault.

Grabacion.de.pantalla.2024-04-01.a.la.s.09.33.12.mov

Maybe, could you share your /var/log/lightdm/seat0-greeter.log file? (After unlocking the screen with light-locker)

@tuurep
Copy link
Contributor

tuurep commented Apr 1, 2024

Yeah although was the Gruvbox theme supposed to also have some indicator when lightdm has lock_hint? Looking at the theme it seemed to me like the word "Lock" should be somewhere, but looks missing in the video

Also the locking and unlocking works on my theme, but lightdm doesn't seem to have lock_hint on (I just have a bit of a test to turn Login button text to "Unlock" on lightdm lock_hint)

Here's my log after rebooting and light-locker-command -l:

2024-04-01 22:07:16 [ ERROR ] acpi - acpi.py:20 : __init__ | ACPI: acpi_listen does not exists
2024-04-01 22:07:16 [ DEBUG ] Greeter - Greeter.py:117 : __init__ | LightDM API connected
2024-04-01 22:07:16 [ DEBUG ] browser - browser.py:185 : create_windows | Browser Window created
2024-04-01 22:07:16 [ DEBUG ] screensaver - screensaver.py:57 : set_screensaver | Screensaver timeout set
2024-04-01 22:07:16 [ DEBUG ] browser - browser.py:248 : init | Initializing Browser Window
2024-04-01 22:07:16 [ DEBUG ] browser - browser.py:268 : load_theme | Theme loaded
2024-04-01 22:07:16 [ DEBUG ] browser - browser.py:230 : show | Web Greeter started win: 6054
2024-04-01 22:07:16 [ DEBUG ] browser - browser.py:234 : run | Web Greeter started
2024-04-01 22:07:21 [ DEBUG ] Greeter - Greeter.py:378 : start_session | Session "openbox" started
2024-04-01 22:07:21 [ DEBUG ] screensaver - screensaver.py:70 : reset_screensaver | Screensaver reset

This time it didn't flash the previous login, but when I tried locking again a couple times, it flashes it. For you it seems to give you kind of a double cursor with black background for a second? I used to have that, but just one cursor in the middle.

Btw I should test properly whether flashing previous login ever happens prior to this PR.

@tuurep
Copy link
Contributor

tuurep commented Apr 1, 2024

Btw it's a little painful switching between AUR package and manual build, with yay -S web-greeter giving this:

error: failed to commit transaction (conflicting files)
web-greeter: /etc/xdg/lightdm/lightdm.conf.d/90-greeter-wrapper.conf exists in filesystem
web-greeter: /usr/lib/web-greeter/README.md exists in filesystem
web-greeter: /usr/lib/web-greeter/__init__.py exists in filesystem
web-greeter: /usr/lib/web-greeter/__main__.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bindings/__init__.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bindings/_screensaver.so exists in filesystem
web-greeter: /usr/lib/web-greeter/bindings/screensaver.c exists in filesystem
web-greeter: /usr/lib/web-greeter/bindings/screensaver.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bridge/Config.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bridge/Greeter.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bridge/GreeterComm.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bridge/ThemeUtils.py exists in filesystem
web-greeter: /usr/lib/web-greeter/bridge/__init__.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/__init__.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/bridge.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/browser.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/browser_interfaces.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/error_prompt.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/interceptor.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/url_scheme.py exists in filesystem
web-greeter: /usr/lib/web-greeter/browser/window.py exists in filesystem
web-greeter: /usr/lib/web-greeter/config.py exists in filesystem
web-greeter: /usr/lib/web-greeter/globales.py exists in filesystem
web-greeter: /usr/lib/web-greeter/logger.py exists in filesystem
web-greeter: /usr/lib/web-greeter/requirements.txt exists in filesystem
web-greeter: /usr/lib/web-greeter/resources.py exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/css/style.css exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/GreeterComm.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/ThemeUtils.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/bootstrap.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/bundle.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/docs/Greeter.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/docs/GreeterConfig.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/js/docs/LightDMObjects.js exists in filesystem
web-greeter: /usr/lib/web-greeter/resources/resources.qrc exists in filesystem
web-greeter: /usr/lib/web-greeter/utils/__init__.py exists in filesystem
web-greeter: /usr/lib/web-greeter/utils/acpi.py exists in filesystem
web-greeter: /usr/lib/web-greeter/utils/battery.py exists in filesystem
web-greeter: /usr/lib/web-greeter/utils/brightness.py exists in filesystem
web-greeter: /usr/share/icons/hicolor/scalable/apps/com.github.jezerm.web-greeter.svg exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/LICENSE.txt exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/all.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/all.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/brands.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/brands.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/fontawesome.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/fontawesome.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/regular.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/regular.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/solid.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/solid.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/svg-with-js.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/svg-with-js.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/v4-shims.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/css/v4-shims.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/all.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/all.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/brands.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/brands.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/conflict-detection.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/conflict-detection.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/fontawesome.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/fontawesome.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/regular.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/regular.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/solid.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/solid.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/v4-shims.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/js/v4-shims.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-brands-400.eot exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-brands-400.svg exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-brands-400.ttf exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-brands-400.woff exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-brands-400.woff2 exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-regular-400.eot exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-regular-400.svg exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-regular-400.ttf exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-regular-400.woff exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-regular-400.woff2 exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-solid-900.eot exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-solid-900.svg exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-solid-900.ttf exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-solid-900.woff exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fontawesome/webfonts/fa-solid-900.woff2 exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fonts/TTF/OpenSans-Light.ttf exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/fonts/TTF/OpenSans-Regular.ttf exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/js/js.cookie.min.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/js/mock.js exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/LICENSE exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/README.md exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/css/materialdesignicons.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/css/materialdesignicons.css.map exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/css/materialdesignicons.min.css exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/css/materialdesignicons.min.css.map exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/fonts/materialdesignicons-webfont.eot exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/fonts/materialdesignicons-webfont.ttf exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/fonts/materialdesignicons-webfont.woff exists in filesystem
web-greeter: /usr/share/web-greeter/_vendor/material-icons/fonts/materialdesignicons-webfont.woff2 exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/.gitignore exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/.prettierignore exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/README.md exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/assets/dracula.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/assets/screenshots/theme-show-1.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/assets/screenshots/theme-show-2.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/assets/screenshots/theme-show-3.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/assets/window-blurred.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/css/DRACULA exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/css/style.css exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/index.html exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/index.yml exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/accounts.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/accounts.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/authenticate.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/authenticate.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/backgrounds.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/backgrounds.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/battery.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/battery.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/brightness.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/brightness.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/index.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/index.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/layouts.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/layouts.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/mock.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/mock.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/power.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/power.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/secondary.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/secondary.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/sessions.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/sessions.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/sidebar.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/sidebar.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/timeDate.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/js/timeDate.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/secondary.html exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/accounts.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/authenticate.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/backgrounds.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/battery.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/brightness.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/index.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/layouts.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/mock.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/power.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/secondary.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/sessions.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/sidebar.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/ts/timeDate.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/dracula/tsconfig.json exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/.gitignore exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/README.md exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/bubbles.svg exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/death star.svg exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/screenshots/theme-show-1.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/screenshots/theme-show-2.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/screenshots/theme-show-3.png exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/topography.svg exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/users/Arsene.jpg exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/assets/users/Ice princess.jpg exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/css/background.css exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/css/style.css exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/css/top-container.css exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/index.html exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/index.yml exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/accounts.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/accounts.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/authenticate.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/authenticate.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/background.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/background.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/battery.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/battery.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/brightness.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/brightness.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/data.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/data.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/index.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/index.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/layouts.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/layouts.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/mock.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/mock.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/power.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/power.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/secondary.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/secondary.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/sessions.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/sessions.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/timeDate.js exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/js/timeDate.js.map exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/secondary.html exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/accounts.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/authenticate.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/background.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/battery.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/brightness.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/data.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/index.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/layouts.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/mock.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/power.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/secondary.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/sessions.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/ts/timeDate.ts exists in filesystem
web-greeter: /usr/share/web-greeter/themes/gruvbox/tsconfig.json exists in filesystem
web-greeter: /usr/share/web-greeter/themes/simple/index.html exists in filesystem
web-greeter: /usr/share/web-greeter/themes/simple/index.yml exists in filesystem
web-greeter: /usr/share/web-greeter/themes/simple/power_button.png exists in filesystem
Errors occurred, no packages were upgraded.
 -> error installing: [/home/tuure/.cache/yay/web-greeter/web-greeter-3.5.3-1-any.pkg.tar.zst] - exit status 1

Do you think for example make uninstall_all could remove all this as well?

(Sorry a little offtopic here)

TL;DR

/usr/share/web-greeter/*
/usr/lib/web-greeter/*
/usr/share/icons/hicolor/scalable/apps/com.github.jezerm.web-greeter.svg
/etc/xdg/lightdm/lightdm.conf.d/90-greeter-wrapper.conf

@tuurep
Copy link
Contributor

tuurep commented Apr 1, 2024

Ok testing now with AUR package (build prior to this PR)

My theme shows "Unlock" and gruvbox shows the large text "Lock" in the top left corner

Would I be right to assume the lock_hint is lost?

Also I don't think it flashes the previous login prior to this PR

@JezerM
Copy link
Owner Author

JezerM commented Apr 1, 2024

Btw it's a little painful switching between AUR package and manual build, with yay -S web-greeter giving this:

Do you think for example make uninstall_all could remove all this as well?

Yep, doing sudo make uninstall_all removes everything related to web-greeter.

@JezerM
Copy link
Owner Author

JezerM commented Apr 1, 2024

Would I be right to assume the lock_hint is lost?

Yep, I'm even having problems with the idle and reset signals from LightDM...

Also, the main issue about LocalStorage is commented here. There's no way to force-flush the LocalStorage data to disk unless the app closes normally or we wait a minute for it to be flushed.

@tuurep
Copy link
Contributor

tuurep commented Apr 1, 2024

Yep, doing sudo make uninstall_all removes everything related to web-greeter.

Yeah but looks like it misses the ones I listed above:

/usr/share/web-greeter/*
/usr/lib/web-greeter/*
/usr/share/icons/hicolor/scalable/apps/com.github.jezerm.web-greeter.svg
/etc/xdg/lightdm/lightdm.conf.d/90-greeter-wrapper.conf

I had to delete those by hand, and also remembered it was the same situation ~2 years back.

I'm a little unfamiliar with some stuff in that Makefile but might be interested to look further why it doesn't delete those.

Yep, I'm even having problems with the idle and reset signals from LightDM..

Ah, in general, or after this PR?

Thanks for the link, good to know.

@JezerM
Copy link
Owner Author

JezerM commented Apr 1, 2024

Ah, in general, or after this PR?

In general.

@tuurep
Copy link
Contributor

tuurep commented Apr 1, 2024

Ok, good to know

Lets see what we can do :D

@tuurep
Copy link
Contributor

tuurep commented Apr 5, 2024

I don't oppose going forward with this PR though since it fixes the bug it's meant to fix.

Seems like the signals would need a separate effort, don't you think?

FWIW I've found a pretty ideal lock screen replacement for my own use case in this:

https://github.com/google/xsecurelock

I've used https://tools.suckless.org/slock/ before and always felt like in that one minimalism goes a bit too far 😄

I'm interested in getting stuff like lock_hint fixed, but don't currently rely on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

localStorage not persistent
2 participants