Email profile BUG case sensitive

My app’s URL: https://eochallenge.glideapp.io

Ok this took me a little while.
I had one user who couldn’t post any new items, also when she commented, no comment showed.

She signed up with emailADress@domein.com
This was stored as emailadress@domein.com

Not a biggy, first sight, but apparently there are different area’s that use different variables in Glide. Since her MAIL (primary key) was used to post etc,… yet wasn’t valid when commenting. And didn’t show up in a join.

I have now “reset” her mail in profile to emailADress@domein.com and everywhere throughout the app. Now it works.

1 Like

Just an update. I believe it’s just the being case sensitive. I now have 2 users with the same email just a different casing:
She signed up with both emailADress@domein.com and emailadress@domein.com

It’s because I linked the profile part to my profile sheet, it now adds the address to the profile sheet as a new one, with different casing.
She can’t chat now: https://www.dropbox.com/s/pg2n2c9nvdny6sx/WhatsApp%20Video%202020-05-01%20at%2015.33.16.mp4?dl=0

Any tips how to ‘clean this up’?

Not sure since I don’t know the internal workings of Glide. All lower case would probably be safer all around, but you can’t control how the user’s enter it. This seems like more of an internal Glide issue. This might be something for them to look into. I think in the past they have ensured that case didn’t matter with most things, but maybe this is being missed with all of these new features. @Mark?

1 Like

@Naos_Wilbrink Could you share your app, please?

Hi @Mark,… sorry for the late reply.
Just to explain:

  1. She made an account with a few caps in her email
    –> Went into the Account page. I had a arrayformula(unique(email)) (possibly with a Lower() to the profile sheet.
  2. I turned on the profile from the side bar to the profile sheet
  3. She had to login again, now * I think * she signed up again with the same mail but lower case.
    At this stage the arrayformula places the address in the profile sheet AND the profile puts the value on row 500 or something.
    I removed the array formula. And let the profile take care of it.

Then throughout the sheet she was there upper and lower case. Eventhough nothing like that was in any of my sheets.
So I changed everything to the one with uppercase. NOW she could post and comment, but not CHAT.
So I changed everything to the lowercase. Now she couldn’t post not comment nor chat.

She made a new account with a new address,… everything works as it should.

---- no longer useful info ----
Yes I’d like to open the app for you,… there are live profiles in there atm. So I’d rather open it for copy for a brief moment so you can make a copy,… then close it off again. I’m online the next 7 hours.


The link https://eochallenge.glideapp.io

@Naos_Wilbrink Mark has superpowers. He just needs a link to the app. He doesn’t need a copy or access. Just the link so he knows which app to look at in the back end. :smile:

Super powers! Of course,… :smiley: https://eochallenge.glideapp.io @Mark this is the link,… :pray:

1 Like

Awesome, thanks you! I’ll have her try it again.

@Mark either the bug got reintroduced or it’s a new one. Now on a paid version.
We started a new challenge, I have some people logging in with all caps, then low caps, then camelcase caps,… why ?? IDK but the result is that in a few cases their items not showing on their posts.

So scenario, people logged in all lower case: 2 tables POSTS en USERS
In USERS they are with lower case.
They logout and log back in
Now with their email in werRD@case.COm obviously the USERS table doesn’t get updated with the mail in that case. (GOOD)
They post and item to POSTS. In POSTS it’s in werRD@case.COm

There is a relationship between MAIL on both -> I’m still using a relationship. On Posts the User doesn’t come up. UNLESS I change their email address in USERS to math the CASE in POSTS.

But soon I’ll get the question on comments again,… like last time :frowning: hope you can sort it out.

Screenshot 2020-05-25 at 21.00.38 Screenshot 2020-05-25 at 21.00.31

Could it be possible to just to a LOWER case on all email addresses entered?

3 Likes

@Naos_Wilbrink Do I understand the problem correctly: signing in works fine now, but the current user’s email address has different casing when it’s written to the sheet from the app so your relations don’t work?

1 Like

Correct.
I have a relationship on the POSTS table back to the USERS table on MAIL (the one they login with).
Account creation was done with one casing of mail.
Login done again AFTER account creation are done with different casing of mail.

The posts then done with the latter don’t show up in the relation.

Hi Mark, I can create scripts to ensure all mail addresses used are lower case so the relations will keep working. I just need to know what Glide wants to do with different cased email addresses. Hope to get your thoughts on this.

So If anyone else is has the problem that users login with the SAME email address but sometimes they use a mixed case. IF they then produce new records and you use the MAIL variable from the Stored variable it will be different than what was previously logged resulting in NO MATCH.

I’ve made this script you can use.

function formatColumnToLower(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var allSheats = ss.getSheets();
  
  allSheats.forEach(function(sheet){
       sheet.activate();
       collumnToLower(sheet, "Mail");
 })
}


function collumnToLower(sheet, columnname){
  
  console.log("Sheetname: " + sheet.getSheetName() + " columnname " + columnname);
      
  var rangeData = sheet.getDataRange();
  var lastColumn = getColumnNumberByName_(rangeData.getValues(), columnname);
  
    if (lastColumn > -1){
      var lastRow = rangeData.getLastRow();
      var searchRange = sheet.getRange(2,lastColumn+1, lastRow, 1);
      var rangeValues = searchRange.getValues();
      

    for ( j = 0 ; j < lastRow - 1; j++){
      
      orgvalue = rangeValues[j][0]+"";
      tolover = (rangeValues[j][0]+"").toLowerCase();
      
      if(orgvalue !== tolover) 
      {
        sheet.getRange(j+2,lastColumn+1).setValue(tolover);
      }
      
    };
  }

}


function getColumnNumberByName_(data, colName) {
  var col = data[0].indexOf(colName);
  if (col != -1) {
    return col;
  }
  else
  {
    console.log("Can't find column: " + colName);
    return -1;
  }
}

function onSearch_(values, searchString, nCol) {
  for(var i=0, iLen=values.length; i<iLen; i++) {
    if(values[i][nCol] == searchString) {
      //console.log(values[i][nCol] + " - " + searchString);
      return true;
    }
  }  
  return false; // looped through everthing and found nothing
}
1 Like

AWESOME @Mark just noticed WeiRdCased@emAIl.cOm are now all brought to LOWER!

Thank you thank you.

I dont know how to change/use the script can you walk me through this, we are having the same issue with Case sensitive Email

Hi, hasn’t this bug been fixed?

I’ve taken out the script from my sheet because they fixed it.
If you are still having issues then contact Glide,…

The Script itself is pretty straight forward:
It loops through ALL tabs
It then loops through ALL columns and IF a column is named: MAIL then it loops through all the records and brings the value to lower.