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

lightdm_greeter_respond: assertion 'priv->n_responses_waiting > 0' failed #14

Open
garfieldhoang opened this issue Jan 19, 2023 · 5 comments

Comments

@garfieldhoang
Copy link

Hi hertg

Thanks for developing such great theme.
I'm having problem with authentication. After entering the password and hit the next button, it keep looping and nothing really happend.
The log show like this. Could you please help me out?

issue

@hertg
Copy link
Owner

hertg commented Feb 4, 2023

Hi @garfieldhoang. Sorry for the late response, life is happening.

I have just updated to the latest version of nody-greeter 1.5.2 to try to reproduce but wasn't able to.
To me it seems like this would rather be an issue on nody-greeter's side rather than the theme, did other themes work for you? You could try updating / reinstalling nody-greeter or try replacing it with web-greeter if it still doesn't work.

@D3vil0p3r
Copy link

D3vil0p3r commented Sep 30, 2023

Hi @garfieldhoang. Sorry for the late response, life is happening.

I have just updated to the latest version of nody-greeter 1.5.2 to try to reproduce but wasn't able to. To me it seems like this would rather be an issue on nody-greeter's side rather than the theme, did other themes work for you? You could try updating / reinstalling nody-greeter or try replacing it with web-greeter if it still doesn't work.

Hello @hertg , I'm using web-greeter and I'm getting the same issue described above. I tested by the gruvbox theme (that should be the default one on web-greeter) and it works correctly.

Tested by nody-greeter and it works. So there should be something missing either in the theme for web-greeter or in web-greeter self despite gruvbox theme works there.

I take advantage of this to ask a question:

Is it possible to edit the text and other theme settings directly on some files instead of changing theme by interacting with the theme at login? If so, how is it possible?

UPDATE: just noted that the changes done by the user on the theme are stored in /var/lib/lightdm/.local/share/web-greeter/QtWebEngine/Default/Local\ Storage/ that maintains a database. So, I guess if the user deletes this folder, the theme will apply the text (and other settings) defined in /usr/share/web-greeter/themes/neon/bundle.js.

@D3vil0p3r
Copy link

@hertg did you get a chance to give a look on this issue?

@hertg
Copy link
Owner

hertg commented Oct 7, 2023

@D3vil0p3r I was not able to reproduce the issue unfortunately, and I can't find obvious issues in the code.

Here is the code for password submit:

const submit = () => {
if (!$authenticating) {
$authenticating = true;
window.lightdm.respond(password);
}
};

Here is the code where lightdm signals are handled:

window.lightdm?.show_prompt.connect((message: string, type: number) => {
console.debug(`prompt: ${message} (${type})`);
if (type === 0) {
window.theme.on_user_prompt(message);
} else if (type === 1) {
window.theme.on_password_prompt(message);
} else {
throw new Error("unhandled prompt");
}
});
window.lightdm?.show_message.connect((message: string, type: number) => {
console.debug(`show_message: ${message} (${type})`);
window.theme.on_show_message(message, type);
});
window.lightdm?.authentication_complete.connect(() => {
console.debug("authentication_complete");
authenticating.update(_ => false);
if (!window.lightdm?.is_authenticated) {
notify("Authentication Failed", 1);
window.lightdm.authenticate(window.lightdm.authentication_user);
} else {
console.debug("authentication successful, start session");
let s = get(selectedSession);
window.lightdm?.start_session(s ?? null);
}
});

Also note that the original poster reported the issue occurring on nody-greeter where in your report it seems to specifically only happen in web-greeter. So it seems to be not an issue specific to one greeter, but also not one that is universally reproducible. It would be helpful if you could provide some logs from the greeter. And maybe try to enable debug mode in the web-greeter config file and then open the developer tools on the login screen and see if you can extract any useful info from the Javascript console.


Is it possible to edit the text and other theme settings directly on some files instead of changing theme by interacting with the theme at login? If so, how is it possible?

That possibility is not considered, the settings are stored to local storage, the default settings are hardcoded in the theme source code here:

const initialSettings: ThemeSettings = {
background_image: null,
background_blur: true,
skip_splashscreen: false,
sign: {
text: "hello neon",
font: SignFont.Neonderthaw,
flicker: false,
show_clock: false,
},
colors: {
accent_color: '#FF008E'
}
}

There could be a possibility to implement a feature where those default settings are loaded from a config file instead of being hardcoded in the source code. You could open up a feature request for that, I'd also happily accept PRs.

@D3vil0p3r
Copy link

I reinstalled it and it works now by web-greeter.

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

No branches or pull requests

3 participants