After updating to Firefox 43 the Gmail script has begun to malfunction

Hi,

after updating Firefox to latest version 43 the Gmail script has begun to malfunction.

I manage many Gmail accounts with X-notifier and now for many of them the corresponding icon looks like there is no new mail, but is wrong.

I click on the icon, it correctly opens the corresponding Gmail account showing the unread mails.

Someone else has seen this same behavior?

Gianni1962's picture

Thanks CFBancroft,

I have already read that post and my issue is different,

my Gmail icons are not grayed out and do not lead me to the Google account page,

simply there is no unread mail counter.

GAJ's picture

Same malfunctioning for me on Firefox 43, both on Linux (Ubuntu 14.04) and Win7 and Win10 systems.

Reinstalling via the Mozilla add-on site as suggested elsewher on this forum and restarting does not solve the issue.

Gianni1962's picture

My issue is different, the Gmail icon appears like there are no unread mails, but if I open the inbox, using that icon for instance, I can see many unread mails.

timelesspa's picture

lm also experiencing this issue, lve no issue with accessing any of my inboxes, however as of today (it was definitely working before 6am UK time) x-notifier shows no new emails, but when using x-notifer to open gmail to see there have been emails present that it should have notified me about.. basically put, lm not getting notified of emails.

Gianni1962's picture

Unfortunately, after a clean install of Firefox 42 followed by import of the previously exported x-notifier accounts and settings, the issue persist.

On the other hand, reinserting one by one every account in a fresh install of x-notifier seems to solve the issue.

Gianni1962's picture

I must correct my previus post, reinserting the accounts in a fresh install of Firefox and X-Notifier does NOT solve the issue!

Gianni1962's picture

Investigating further, I have discovered that *every* Gmail account suffers the unread mail counter issue: the mail filed into the inbox are never summed, the mail in the spam folder are correctly summed depending on the relative option.

CFBancroft's picture

Yes or No?

You can loan your email address to Tobwithu for few hours.
So he can research and find it out what wrong...
BECAUSE mine 5 Gmail no problem!

First step... you send private email to Tobwithu... it said something alike...

If I (Gianni) give you (Tobwithu) mine Gmail... you will fix?

If Tobwithu said "yes"...

You change to other password for Tobwithu...
After he fixed and he will email back to you "done"...
You change to NEW PASSWORD afterward.

Tobwithu will update X-notifier...

Because it happen to your locate Gmail problem...
not mine here in Japan's IP address with Gmail...
Tobwithu's Korea's IP address with Gmail.

You can pick one of your Gmail address "not imporant" to loan to Tobwithu... that up to you...
I did loan one of my email address to Tobwithu about 10 times in past 5 years!

FYI:
Recetnly, I just checked password in Firefox's master password that 4 email host address that,
I did NOT update NEW PASSWORD...
I just leave as is for Tobwithu on SAME password for long, long time...
Maybe 3 years with him. I NEVER got "warning" somebody from Korea...
ONLY ONE DAY got warning from Korea area for him to test on FIRST day that all.

Gianni1962's picture

Thanks CFBancroft,

I know I can do this, I have done it in the past.

But I'm waiting this time due to the following reasons:

- I have 35 Gmail account with this issue

- I'm not alone with this issue

- No post from Tobwithu in many weeks in any thread, I don't know why, I hope nothing serious

Last time him replied to a post was this:

Problem with new Virgilio.it mail

http://xnotifier.tobwithu.com/dp/node/3042

but he "throws in the towel" very quickly.

Hi,

Same issue here.
For the past several days, over 15+ Gmail accounts exhibit the same behavior with X-Notifier (for Gmail,Hotmail,Yahoo,AOL ...) 3.5.18:
X-Notifier scans all 15+ Gmail accounts but doesn't detect any new unread messages in any of them and its main orange envelope stays greyed out, even though there are several unread messages in each account.

I have a sneaking suspicion this is related to Google's new launch of their 'Inbox by Gmail' service.

I suggest the author checks it out by enabling 'Inbox by Gmail' on his test accounts:
If you don't see the 'Take me to Inbox' on the bottom right corner of your Gmail account, simply download, install and run 'Inbox by Gmail' on your android Smartphone. This should force activate the 'Inbox by Gmail' on your Gmail account.

Regards,

Gianni1962's picture

Hi AlderaaN,

I manage 35 Gmail accounts with X-Notifier, all suffer from the no unread mail issue but only a few have the "Inbox by Gmail" option.

GAJ's picture

As of a few days ago, X-notifier has stopped working, both in Firefox and Chrome.

On the respective threads of this forum, it has been suggested that recent browser updates might have caused this, but to me another likely option is that the GMail code has been changed, which causes the difunctioning of X-notifier. 

tobwithu, can you verify and confirm this??

as only today have I upgrade my Firefox from v42 to v43, yet for the past several days now X-Notifier ceased to notify for unread messages in all of my accounts.

Gianni1962's picture

The issue is present also in X-Notifier for Chrome, indeed.

digideth's picture

Its not FF43 causing the problem. I have FF28 with the same issue as everyone above.

How can we help tobwithu solve this problem??

CFBancroft's picture

Choose Label Tabs...
Three SUB
1) System Labels
2) Categories
3) Label

There are TOOOOO MAAANNNNYYYY choose from...
for example I pick ALLLLLL words

Show Hide
[X or (empty)] Show in IMAP
Show Hide Show if UNread
Remove Edit

etc....
and

Inbox Tabs

Inbox type...
Default? Imporant first? Unread first? Starred first ad Priority in box?

and uncheck box or check boxes too any list here...

I wonder that cause screw up count numbers on X-notifier... WHO KNOWS?
That cause Tobwithu give it up?

I give you some thought? and let us know if you did play around and successful?
whatever you change setting in Gmail and have restart firefox to make work or not... OK?!

I have 2 GMail addresses; 1 that has been affected by this issue, 1 that has not. Although I only use X-notifier with Firefox, the issue manifested itself across multiple computers, browser versions and Operating Systems with the same account affected or not on all systems. This was enough to convince me that the issue was neither a local profile issue nor a browser issue. It also strongly suggested that the issue was related to something specific with the affected account.

While reading through these forums and comparing my accounts to see what could possibly be different between them I realized that in the X-notifer configuration (which is the same on all systems), one account has Notify inbox only checked and the other does not. The account with this option selected continues to work as it always has: notifying of new messages on the Primary tab but not for messages on either the Social or Promotions tab. The other GMail Categories are hidden and therefore irrelevant. The account for which Notify inbox only was not checked no longer notifes of new messages at all. Neither account has the Include spam option checked, so spam messages are also not relevant to this behaviour.

After identifying this difference between my 2 GMail accounts I tried toggling some of the X-notifier options and found the following behaviour:

  1.  GMail's Primary Category is not visible in the X-notifier window or sidebar regardless of settings.
  2. Messages from GMail's Primary Category are included in the mailbox's unread counter if Notify inbox only is enabled but not if it is disabled.
  3. GMail's Spam Label is visible in the X-notifier window and sidebar if Include spam is enabled but not if it is disabled.
  4. Messages from GMail's Spam Label are included in the mailbox's unread counter if Include spam is enabled but not if it is disabled.
  5. Other GMail Categories and Labels are visible in the X-notifier window and sidebar if Show labels is enabled but not if it is disabled.
  6. Messages from other GMail Categories and Labels are not included in the mailbox's unread counter regardless of settings.

I've never seen X-notifier's source code, but hopefully this information can help someone who has figure out what needs to be done to fix it. For now I will probably just set both accounts to Notify inbox only and hope that I get sufficient messages in the Primary Category that the others don't go unnoticed for too long.

 

jeroen's picture

And I remember there was an issue in the past that led to an about:config fix, which is not working anymore.

about:config:  set enableCategory to 2
Gmail script:   if this.UI==2  /  this.enableCategory==2

http://xnotifier.tobwithu.com/dp/node/2855

http://xnotifier.tobwithu.com/dp/node/584

CFBancroft's picture

Line 130
Line 180
Line 247
Line 250

CFBancroft's picture

/***********************************************************
Gmail
***********************************************************/
var supportInboxOnly=true;
var supportShowFolders=true;
var supportIncludeSpam=true;

function init(){
  this.initStage=ST_PRE;
  this.loginData=["https://accounts.google.com/ServiceLoginAuth?service=mail",
                    "Email","Passwd","PersistentCookie=yes"];
  this.baseURL="https://mail.google.com/mail/";
  this.viewDomain="(mail|accounts).google.com";
  this.dataURL=this.baseURL;
  this.viewURL=this.baseURL;
}
function getIconURL(){
  return "https://ssl.gstatic.com/ui/v1/icons/mail/images/favicon2.ico";
}
function checkLogin(aData){
  switch(this.stage){
  case ST_CHECK:
    this.getHtml(this.baseURL);
    return false;
  case ST_CHECK+1:
    var fnd=aData.match(/https:\/\/mail.google.com\/mail\/logout/);
    if(fnd){//logged in
      this.stage=ST_LOGIN_RES+1;
      return this.process(aData);
    }else{
      this.cookieManager.clear();
      this.stage=this.initStage;
      return this.process("");
    }
  }
  this.onError();
  return true;
}
function isLoggedIn(aData){
  var reg=new RegExp("\"\\/mail(?:\\/u\\/(\\d+))?\",\\S+?,\"(\\S+?)\"");
  var fnd=aData.match(reg);
  if(fnd){
    this.viewURL=this.baseURL+(fnd[1]?"u/"+fnd[1]:"");
    this.dataURL=this.viewURL+"?ui=2&ik="+fnd[2]+"&view=tl&start=0&num=25&rt=c&as_has=is%3Aunread&as_subset="+(this.inboxOnly?"inbox":"all")+"&search=adv";
    var fnd3=aData.match(/"sx_iosc"\s*,\s*"(\S+?)"/);
    if(fnd3){
      if((fnd3[1]=="^u|"||fnd3[1]=="^t|"))this.useInboxCount=true;
      if(fnd3[1].match(/\^smartlabel_personal\|\S+/))this.smList=fnd3[1].split("|");
    }
    var fnd4=aData.match(/"ix_ioiut"\s*,\s*"(\S+?)"/);
    if(fnd4&&fnd4[1]=="1")this.useInboxCount=true;
    this.UI=2;
    return 1;
  }
  //basic HTML
  fnd=aData.match(/<base href="(\S+?)">/);
  if(fnd){
    this.viewURL=fnd[1];
    this.dataURL=fnd[1]+"?s=q&q=is%3Aunread"+(this.inboxOnly?"+in%3Ainbox":"");
    this.UI=0;
    return 1;
  }
  return -1;
}
function process(aData,aHttp) {
//dout(this.user+" "+this.stage);
if(this.debug)dlog(this.id+"\t"+this.user+"\t"+this.stage,aData);
  switch(this.stage){
  case ST_PRE:
    try{
      var s=this.main.prefBranch.getCharPref("accounts.["+this.id+"#"+this.user+"].cookie");
      s=s.split("\t");
      this.cookieManager.addCookies(s[0],s[1]);
    }catch(e){}
    this.getHtml("https://accounts.google.com/ServiceLogin?service=mail&continue=https%3A%...");
    return false;
  case ST_PRE_RES:
    var form=this.getForm(aData,"gaia_loginform",true);
    if(form){
      this.stage=ST_LOGIN;
      this.getHtml("https://accounts.google.com/ServiceLoginAuth",this.loginData[LOGIN_POST]+"&"+form[1]);
      return false;
    }
    break;
  case ST_LOGIN_RES:
    var form=this.getForm(aData,"challenge",true);
    if(form){//2-step verification
      this.form=form;
      this.stage=ST_LOGIN_RES+2;
      this.openAuthDialog(this.id,this.user,null);
      return true;
    }
    ++this.stage;
  case ST_LOGIN_RES+1:
    if(this.isLoggedIn(aData)==1){
      if(this.enableCategory||this.smList){
        var fnd=aData.match(/\["sld",\[(\[[\s\S]+?\])\]/);
        if(fnd){
          var re=/\["(.+?)"\s*,\s*"(.+?)"/g;
          var o;
          this.smartlabel={};
          while ((o = re.exec(fnd[1])) != null){
            var fn=unescape(o[2].replace(/\\u/g,"%u"))
            this.smartlabel[o[1]]=fn;
          }
        }
      }
      this.stage=ST_DATA;
    }
    break;
  case (ST_LOGIN_RES+2)://2-step verification
    if(aData){
      this.getHtml("https://accounts.google.com/"+this.form[0],this.form[1]+"&Pin="+encodeURIComponent(aData)+"&TrustDevice=on");
      delete this.form;
      return false;
    }
    break;
  case (ST_LOGIN_RES+3)://2-step verification
    var ck=this.cookieManager.findCookieString("accounts.google.com","SMSV");
    if(ck){
      this.main.prefBranch.setCharPref("accounts.["+this.id+"#"+this.user+"].cookie",aHttp.URI.spec+"\t"+ck);
    }
    this.stage=ST_LOGIN_RES;
    return this.process(aData,aHttp);
  }
  return this.baseProcess(aData,aHttp);
}
function getCount(aData){
  var fnd;
  if(this.UI==2){
    if(this.inboxOnly)fnd=aData.match(this.useInboxCount||this.enableCategory==2?/"ld",\[[\S\s]*?\["\^i",(\d+)/:/"ld",\[\["\^ig?",(\d+)/);
    else fnd=aData.match(/\["ti",.+?,(\d+)/);
    if(fnd){
      if(this.includeSpam){
        var fnd2=aData.match(/"ld",\[\[[\S\s]+?"\^s",(\d+)/);
        if(fnd2){
          var spam=parseInt(fnd2[1]);
          if(spam>0){
            this.spam=spam;
            return parseInt(fnd[1])+(this.includeSpam==2?this.spam:0);
          }
        }
      }
      return fnd[1];
    }else return -1;
  }else{
    var spam=0;
    if(this.includeSpam){
      fnd=aData.match(/<a href="\?s=m"\s*\S+?\((\d+)\)/);
      if(fnd){
        spam=parseInt(fnd[1]);
        if(spam>0){
          this.spam=spam;
          if(this.includeSpam!=2)spam=0;
        }
      }
    }
    if(this.inboxOnly){
      fnd=aData.match(/<\/h2>\s*<tr>\s*<td[\s\S]+?<a[\s\S]+?>.+?(?:&nbsp;\s*\(\s*(\d+)\s*\))?\s*</);
      return fnd?((fnd[1]?parseInt(fnd[1]):0)+spam):-1;
    }else{
      fnd=aData.match(/nvp_bbu_go[\s\S]+?<\/td>([\s\S]+?)<\/table>/);
      if(fnd){
        var n=0;
        var fnd2=fnd[1].match(/<b>(\S+)<\/b>(.+?)<b>(\d+)<\/b>(.+?)<b>(\S+)<\/b>/);
        if(fnd2){
          if(fnd2[2].indexOf("-")!=-1)n=isNaN(parseInt(fnd2[5]))?200:fnd2[5];
          else if(fnd2[4].indexOf("-")!=-1)n=isNaN(parseInt(fnd2[1]))?200:fnd2[1];
        }
        return parseInt(n)+spam;
      }else return -1;
    }
  }
}
function getData(aData){
  var obj={};
  if(!this.showFolders)return obj;
  var ar=[];
  var fnd;
  if(this.UI==2){
    var d=aData;
    fnd=null;
    var list=[];
    while(fnd=d.match(/\n(\d+?)(\n([\S\s]+))/)){
      d=fnd[2].substring(0,fnd[1]);
      d=d.replace(/\[\s*,/g,"[null,").replace(/,\s*(?=,)/g,",null").replace(/,\s*\]/g,",null]");
      var o=JSON.parse(d);
      list=list.concat(o);
      d=fnd[3];
    }
   
    fnd=null;
    for(var i=0;i<list.length;i++){
      if(list[i][0]=="ld"){
        fnd=list[i];
        break;
      }
    }
    if(fnd){
      if(fnd[2]){
        var t=fnd[2];
        for(var i=0;i<t.length;i++){
          var o=t[i];
          if(o[1]>0){
            ar.push({id:o[0],count:o[1]});
          }
        }
      }

      if(this.enableCategory||this.smList){
        if(fnd[4]){
          var t=fnd[4];
          var slb={"social":"social","promo":"promotions","notification":"updates","group":"forums"};
          for(var i=0;i<t.length;i++){
            var o=t[i];
            if(this.enableCategory||this.smList.indexOf(o[0])!=-1){
              if(o[1]>0){
                ar.push({id:"#category/"+slb[o[0].substring(12)],title:this.smartlabel?this.smartlabel[o[0]]:o[0],count:o[1]});
              }
            }
          }
        }
      }
    }
  }else{
    fnd=aData.match(/<td class="?lb"?>([\s\S]+?)<a class="ml"/);
    if(fnd){
      var re=/<a href="(\S+?)">\s*<font[\s\S]+?>(.+?)(?:&nbsp;\s*\(\s*(\d+)\s*\))?\s*</g;
      var o;
      while ((o = re.exec(fnd[1])) != null){
        if(parseInt(o[3])>0){
          ar.push({id:o[2],count:o[3]});
        }
      }
    }
  }
  if(this.spam!=null){
    ar.push({id:"Spam",count:this.spam});
    delete this.spam;
  }
  if(ar)obj.folders=ar;
  return obj;
}
function getViewURL(aFolder){
  if(aFolder){
    if(aFolder=="Spam"){
      if(this.UI==2)return this.viewURL+"#spam";
      else return this.viewURL+"?s=m";
    }
    if(this.UI==2){
      if(aFolder.indexOf("#category/")==0)return this.viewURL+aFolder;
      else return this.viewURL+"#label/"+encodeURIComponent(aFolder);
    }else return this.viewURL+"?s=l&l="+encodeURIComponent(aFolder);
  }
  return this.viewURL;
}

 

timelesspa's picture

l can also confirm that its now affecting all my computers (three laptops and my PC), lve no issue (yet) accessing the inboxes with x-notifier but lm unable to see if any new messages are in my inbox, if the problem persists lm going to need to find yet another notifier that acts like x-notifer, l originally used gmail manager until it stopped working and this addon was closest to it.. ld hate to have to migrate to a new addon again as it was hard enough to find this one wich met my needs.

Pretty much describes my situation and past experience.

Hope this gets resovled soon.

jeroen's picture

Gmail is available by included script. This file is part of the complete xnotifier zipfile (xpi), which is signed in order to get accepted by firefox. So I cannot unzip, add (debug) code and re-zip. Only solution I know is copy the script, rename the file (gmailX.js) adding var name and ver(sion) date to add it as extra script.
I soon located the problem code, but also had to dig deep to follow the meaning and logic of the various variables set by xn options user interface,  about:config and gmail inbox choice.
In the end I am left with some illogical issues as Smythical.Creature also pointed out (the Primary category not being displayed when it contains unread messages).

The problem code is in function getCount:
    if(this.inboxOnly)
              fnd=aData.match(this.useInboxCount||this.enableCategory==2?
                                                          /"ld",\[[\S\s]*?\["\^i",(\d+)/:/"ld",\[\["\^ig?",(\d+)/);

    else fnd=aData.match(/\["ti",.+?,(\d+)/);

As I understand the variables:
inboxOnly is the xn user interface option
useInboxCount is the gmail inbox choice (true is without Categories)
enableCategory is the about:config setting (0=false, 1=true and 2)

else fnd=aData.match(/\["ti",.+?,(\d+)/);
This should get all unread message count ("ti"...,d) when inboxOnly was not checked (false), but in fact always returns zero. That "ti" parameter seems not to be used anymore.

When inboxOnly was checked (true), the match code splits two ways:
If useInboxCount=true OR  enableCategory=2,
               it gets all categories (=all unread?) message count ("^i"),
else (:) it gets only the primary category message count (parm "^ig?")

I merged the inboxOnly if/else into the match split condition, since the "ti" seems to be equal to the "^i" number:
If Not (!) inboxOnly (=false) OR useInboxCount=true OR  enableCategory=2, etcetera

fnd=aData.match(!this.inboxOnly||this.useInboxCount||this.enableCategory==2?
                                            /"ld",\[[\S\s]*?\["\^i",(\d+)/:/"ld",\[\["\^ig?",(\d+)/);

But I also noticed enableCategory remains "undefined" in my added gmail script, as if the about:config setting only gets read by an included script.  So the enableCategory=2 part is not working there...
Keep that in mind when you want to give it a try and let me know when it is completely wrong: 
https://db.tt/JsDbu1Dh  (Right-click: Save link as...)

jeroen's picture

Use the XN Options interface, rather then about:config:

[X] Notify inbox only determines Notify me when messages arrive:
0 = in any Category or Label or ? (I am not sure of all the possibilities)
1 = only in Primary Category or in Inbox when Category view is turned off: the script detects this in function isLoggedIn - useInboxCount=1 (true) is not set by the user (well.. indirectly by the setting of his gmail account view)

[X] Show folders determines whether Categories/Labels containing unread messages show up (with their unread count) under the notification count in the X-notifier window or sidebar. The data needed for this list gets extracted from the html by function getData:
if(!this.showFolders)return obj;
If [X] Show folders was unchecked (! means NOT) the function returns an empty obj (and exits the function).
The confusing part here is the Primary Category unread count does not show up directly under the notification count. That would make the folder view complete!

enableCategory can only be set in about:config. I am only guessing why the not-included script cannot read it. My script debugging (dout) showed me it is undefined, whether you set it or not.
In order to verify if the included script does read enableCategory or if some xnotifier main code got lost: I don't know how to debug the included script. I tried by adding a debug setting in about:config to trigger this debug report:
if(this.debug)dlog(this.id+"\t"+this.user+"\t"+this.stage,aData);
I will have another look in Main.js of the X-notifier extension, to see if I can figure it out.
(I also checked several older versions to see if I could find a lost setting of this.enableCategory in Main.js)

Thanks for diving into this, jeroen.

I hope a simple solution presents itself soon.

jeroen's picture

Thanks!
My adaption corrects the behavior of the "Notify inbox only" user option (the gmail website code changed) and should also work for the about:config setting of enableCategory when implemented in the included gmail script.

But the final word is to the developer. I might not fully understand his code.

I just read thru all this and I have no clue what most of it means . I hope that it is fixed with an update soon. I am not a programmer or expert in this and I am so lost. I love this add on and it is the most useful

I just read this and does seem to solve the problem and it is simple enough for me!

Google has detected that you modify security settings these days and they need to check these settings with you.
Go to the page "https://myaccount.google.com/" et go to the option "Checking security settings" at the bottom left of the page.
Start the check, verify the security checking and finish it.
After that, normally, you close the page and you can click on the icon of X-notififier and everything will work as before.

I was excited to think it was fixed, but only partially. I had to check off the lables and spam folder and now it automatically opens instead of just showing the count. NOt nearly as simple and streamline as it was

 

Well I thought it was fixed but it does not work at all, the notice I got was froma substitute add on that is not great.

I hope there is a fix soon

Chender's picture

I' ve tried other firefox addons (gmail notifier, gmail checker) and those work. X-notifier is better. I hope there is a fix soon.

jeroen's picture

Did you try my fix, Chender? Works for me...

https://db.tt/JsDbu1Dh  (Right-click: Save link as...)
Just save it somewhere on your computer.
I named it GmailX, so you can add it next to the existing Gmail script.

On Firefox:

  1. Add the script in the X-notifier Options thru the Scripts button.
  2. Then add GmailX from the dropdown left from the Scripts button to your accountlist on the right with your credentials and desired options (click Add button below).
  3. There is a checkbox in front of each account in your list that (de)activates the account.
  4. Click the Ok button to save and activate your new setting.

I don't know why it is still not checking my gmail. added the script, and re-add the email account. still don't get the notification. 

all this is a different language to me so I will not attempt it. I have no idea what happened but while trying to "fix" it based ont he thread of the security issue now not only does Xmail notified still not work but my gmail accounts automatically open in a tab if there is mail and I can't find a way to stop it or why and of course gmail has no support for help. It is pretty annyoing to have a window pop up and go there while you are doing something else.

jeroen's picture

I think your issue is not related to my fix.
My suggestion:

  1. Go to X-notifier Options and export your configuration
  2. Got to Tools - Add-ons, remove X-notifier and restart Firefox
  3. G to https://addons.mozilla.org/en-US/firefox/addon/xnotifier/ to re-install X-notifier and restart Firefox
  4. Go to X-notifier Options and import your configuration (click Ok)

I hope that helps...

Chender's picture

Your fix works fine with all my gmail accounts. Thank YOU very much!

Does the script check my custom lables? 

jeroen's picture

Hi aakanaa,
I only tested with my account that doesn't have custom labels. So it is very likely my solution misses those. When I have time I will configure them in my account and try find those counts in the html. I understand there are a lot of options for Gmail labels.

jeroen's picture

All my labeled messages also appear in a category, like Primary (= inbox only), Social, Promotions (which makes sense: a label is just a label, not a separate mail folder). So depending on the "Notify inbox only" option these messages get notified by GmailX.

Can you explain what you mean by Custom Label, so I can replicate your issue?

jeroen's picture

Please correct me when I am wrong, but...
In my opinion the X-notifier phrase "Notify/Show inbox only" is wrong and confusing. It should read "Notify/Show Primary category only". Then all categories belong to the inbox, except for the category Archived: the purpose of this category is to remove a message from the inbox.

jeroen's picture

Ok, already found it: https://support.google.com/inbox/answer/6067566?hl=en

And: "Note: Emails that are set to skip the inbox will be automatically archived in Gmail as they arrive."
So then it also makes sense you won't get notified by X-notifier in this case... ?
Or it does make sense (This is probably the situation aakanaa is refering to):

Option 'Notify inbox only' is unchecked AND the message gets automatically archived by the Gmail filter, but it is still unread.
I should probably check for this!!

sorry for the confusion. what i mean is email folders, but google calls it lables. i have created rules that sort the incoming emails into folders, it looks like your fix only checks for inbox which may contains primary, social, promo, etc..

as you said earlier, yes, in order to sort those incoming email, the new emails will skip inbox and go to the folder directly. 

jeroen's picture

But no need to be sorry.
Your reply confirms my conclusion. You used the Gmail filter option 'Skip inbox (Archive)'. And my so-called 'solution' discards messages handled by filters with that option. The script should (and did) in that case get the count of all unread messages. Because of a code change in the Gmail html/javascript the X-notifier script needs adjustment. My adjustment is only working when you don't use that filter option (so it is not THE solution). So when you want to use it until THE solution is presented you need to uncheck the 'Skip inbox (Archive)' option for your Gmail filters.

I doubt whether I will succeed in getting the correct unread count. I suspect which part of the script needs correction: the script code getting the dataURL for the unread count resides in the function isLoggedIn. It is quite complex and better left up to the developer himself. I know my limits ;-) (But perhaps I don't. We'll see... )

jeroen's picture

Hi askanaa.
There is a difference: Folders do not exist in Gmail!
A folder is, by definition, a physical location. Yes, in the classical situation you organized emails by moving them to specific folders. These were seperate physical locations... (and when not, this was the organizational choice of the mail provider: just pretending to offer folders, but instead just flagging)

With a label the email stays at the same location. It only gets a label attached to it, like a flag. Labeling it 'Archived' means it will not be shown in the inbox in whatever category label. The label just defines the view.

There has been a lot of criticism at Gmail for their "new" approach. But actually Gmail was respecting their users to be smart enough to understand the logic of it. You could blame Gmail for that... People always complain when confronted with change, no surprise there. Change means people have to reboot their brain (meaning use their intelligence. switch off auto-pilot).

Of course these last remarks were not personally directed at you. I just wanted to explain Labels vs Folders to you and got carried away ;-)

frantab's picture

@jeroen

Your fix works fine with all my gmail accounts. Thanks a lot!

jeroen's picture

Ok, that means, like me, you don't have any custom labels configured, right?

frantab's picture

Yes, that is right. I don´t have configured any custom labels.

Pages