Metamask Signup failed when Windows user tried. Why?

I was testing my app with a few testers where most of them successfully logged in with MetaMask.
But a Windows user failed the signup: He got MetaMask popped up, but found unable to click “Sign”. I noticed there was nothing on Id section.

This is the code I used to authenticate users. It worked for most of my test users, but it failed the authentication only for the Windows guy. Could anybody know what it caused?

async function login() {
  let user = Moralis.User.current();
if (!user) {
  user = await Moralis.authenticate({
  signingMessage: "MetaMask Signup / Login",
}).then(function (user) {
  bubble_fn_ethAddress(user.get("ethAddress"));
  console.log("logged in user:", user);
  console.log(user.get("ethAddress"));
}).catch(function (error) {
console.log(error);
});
}
}

login();


// Save new Metamask account to Moralis db
Moralis.onAccountChanged( async (account) => {

const query = new Moralis.Query("_User")
query.find().then((data) => {

async function load() {

const queryUser = data[0].get("accounts");
console.log("queryUser:", queryUser)

let web3 = await Moralis.enableWeb3();
const address = (await web3.listAccounts())[0].toLowerCase();
console.log("currentAddress:", address);

const containsEth = queryUser.includes(address);
console.log("includes", containsEth)

if(!containsEth) {
bubble_fn_onAccountChanged(JSON.stringify(account));
console.log("new account detected2")
}

}
load();

});

})

maybe it was a different issue, for example there is a time interval when that message has to be signed, that metamask popup seems ok to me, it is not blank there, also, it has unicode characters, that could also be an issue maybe

ah, the image is mine. But the guy who had the issue had nothing in the Id area. That’s what I meant Blank.
The guy who faced the issue tapped on the Sign but nothing happened. I wonder why?

that Id should be the application id and after that id it is a timestamp

can you ask him to try again, if a request to cloud functions (getServerTime in particular in this case) doesn’t work in his case than that ID could be missing

I don’t understand this part. How can I implement this? I use the following setting.

<script src="https://unpkg.com/[email protected]/dist/moralis.js"></script>

You don’t have to implement/change anything, the authentication makes a request to getServerTime cloud function and if that request doesn’t work at that time or is blocked by current system maybe that situation can happen where no id and timestamp is added to that message.

1 Like

Is there any way to prevent this happen? Before I ask him to try again, at least I want to update my code.
:white_check_mark: Unicode characters: Removed.
:ballot_box_with_check: ID missing: How to prevent??

you can ask first to try again and ask to look in network tab to see what getServerTime returns in that case

Ok, thanks.
Will you tell me what exactly should I look for to identify the issue? (Below is mine, so no problem at all…)

Just ask how it looks for that user to see if it is different.

1 Like

I have asked my user with login issue provide the “serverTime” status for the dev tool.

@cryptokid Could you identify the issue regarding the metamask login?

What was the response for that request?

Does the screenshot I pasted on the previous post help? I did not know where to look, so I just asked to the header part. Could you tell exactly where I should look?

on the response tab should be the response, there is headers, payload, preview, response

I got the header part. Can you identify the issue with that? I didn’t get the rest of the parts.
The issue might be related to a firewall that his pc installed. Anyway, metamask login is not responding yet.

Can you get the user to show the Payload and Response tabs? What does their browser console look like? Ask the user to try another browser or device if possible.

Ok, I have to ask him do that again for those info. Thanks anyway.