<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <link href="chrome://translator/skin/floatingPanel.css"
      type="text/css" rel="stylesheet">
  </head>
  <body smarttemplateinserted="true" text="#000000" bgcolor="#FFFFFF">
    50 seems like a lot, but in the light of having a year time, I think
    there should be some plublicity around this; as regards the imminent
    release of Tb 24 we should probably reach out to the addon authors
    about the changes around nsIArray. <br>
    <br>
<a class="moz-txt-link-freetext" href="http://mozilla.6506.n7.nabble.com/Bunch-of-API-changes-on-trunk-break-many-add-ons-td266896.html">http://mozilla.6506.n7.nabble.com/Bunch-of-API-changes-on-trunk-break-many-add-ons-td266896.html</a><br>
    <br>
    nsIMsgAccountManager.accounts is a prominent example that will break
    when iterated if you're not on the ball as an Addon author and
    modernize your code. <b>If somebody from the mail dev team could
      create an official "breakage" page for Tb24 </b>I would be happy
    to contribute the necessary code snippets for staying back-and
    forward compatible.<br>
    <br>
    Unfortunately there is still a mentality to hold on to old versions
    of Tb because users are afraid of their Addons breaking; best to
    reach out to the developers and showcase what might break, and then
    show how easy it is to fix:<br>
    <br>
    <pre>  let acctMgr = Components.classes["@mozilla.org/messenger/account-manager;1"]  
                                .getService(Ci.nsIMsgAccountManager);  
  let accounts = acctMgr.accounts;  
  let iAccounts = (typeof accounts.Count === 'undefined') ? accounts.length : accounts.Count();
  for (var i = 0; i < iAccounts; i++) {  
    let account = accounts.queryElementAt ?
      accounts.queryElementAt(i, Ci.nsIMsgAccount) :
      accounts.GetElementAt(i).QueryInterface(Ci.nsIMsgAccount);
      
  }
      
</pre>
    <br>
    Axel<br>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      <style type="text/css">
.myName:hover, .myName > a:hover { font-size:13pt; text-shadow: 3px 3px 4px rgba(200,250,200,0.7);}
.moz-signature {opacity: 1.0 !important;}
.myName a { cursor: pointer !important; transition:font-size 0.5s;}
</style>
      <div id="mySignature" style="width: 65%; padding: 0.8em 1.2em;
        font:x-small verdana; color: #444; box-shadow: 4px 4px 9px -2px
        rgba(0,0,0,0.65); border-radius: 1em; padding: 0.4em 2em;
        border: 1px dashed #444; background: rgb(230,240,163);
        background: linear-gradient(to bottom, rgba(230,240,163,1)
        0%,rgba(210,230,56,1) 50%,rgba(195,216,37,1)
        51%,rgba(219,240,67,1) 100%);">
        <b class="myName" style="text-shadow: 1px 1px 2px #DDD;
          transition:font-size 0.5s;"><a
            href="mailto:axel.grude@gmail.com">Axel Grude</a></b>
        <br>
        Software Developer
        <br>
        Thunderbird Add-ons Developer
        <span style="color:#666666; font-size:xx-small">(QuickFolders,
          quickFilters, QuickPasswords, Zombie Keys, SmartTemplate4)</span>
        <br>
        AMO Editor </div>
    </div>
    <div id="smartTemplate4-quoteHeader">
      <style type="text/css">
#newHeader b { font-weight:bold; color: #990033; }
</style><br>
      <div id="newHeader" style="font-size: x-small; padding:1em;
        background-color:rgba(220,220,240,0.4); border-radius:3px;"> <b>To:</b>
        <a>tb-planning@mozilla.org</a> - tb-planning <br>
        <b>From: </b>Mark Banner <a class="moz-txt-link-rfc2396E" href="mailto:mbanner@mozilla.com"><mbanner@mozilla.com></a><br>
        <b>Sent: </b>Tuesday, 03/09/2013 18:01:40 18:01 GMT ST +0100
        [Week 36]<br>
        <b>Subject:</b> Re: GetMsgFolderFromUri broken in Nightly
      </div>
      <hr></div>
    <blockquote class=" cite" id="mid_522615F4_50700_mozilla_com"
      cite="mid:522615F4.50700@mozilla.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <div class="moz-cite-prefix">I think there's a balance to be had
        in keeping around many "wrapper" functions just for
        compatibility versus tidying up and providing clean APIs. I
        think we've generally paid quite a high price in having global
        functions and variables hanging around for everyone to use,
        versus object based functionality.<br>
        <br>
        If there was a better obsolesence way for these functions, then
        maybe it would be different.<br>
        <br>
        In this case personally I'm not too concerned. The change only
        affects from gecko 26 onwards, which gives add-on authors the
        best part of a year to update.<br>
        <br>
        If it had been going into 24, then maybe I'd be agreeing with
        keeping it a bit longer.<br>
        <br>
        Mark.<br>
        <br>
        On 03/09/2013 17:52, Kent James wrote:<br>
      </div>
      <blockquote class=" cite" id="mid_522613BD_1000007_caspia_com"
        cite="mid:522613BD.1000007@caspia.com" type="cite">
        <meta content="text/html; charset=ISO-8859-1"
          http-equiv="Content-Type">
        A quick search showed 50 addons that use GetMsgFolderFromUri<br>
        <br>
        I really don't understand that value of code churn like this
        that breaks addons. Can't we add a simple utility function that
        implements GetMsgFolderFromUri, but references MailUtils?<br>
        <br>
        Kent James<br>
        <br>
        <div class="moz-cite-prefix">On 9/2/2013 3:05 PM, Axel Grude
          wrote:<br>
        </div>
        <blockquote class=" cite" id="mid_52250BBB_50107_gmail_com"
          cite="mid:52250BBB.50107@gmail.com" type="cite">
          <meta http-equiv="content-type" content="text/html;
            charset=ISO-8859-1">
          done & attached some bpoilerplate code for Addon authors.
          Can somebody who has the link search dxr how many addons are
          affected?<br>
          <br>
          Axel<br>
          <div class="moz-signature">-- <br>
            <style type="text/css">
.myName:hover, .myName > a:hover { font-size:13pt; text-shadow: 3px 3px 4px rgba(200,250,200,0.7);}
.moz-signature {opacity: 1.0 !important;}
.myName a { cursor: pointer !important; transition:font-size 0.5s;}
</style>
            <div id="mySignature" style="width: 65%; padding: 0.8em
              1.2em; font:x-small verdana; color: #444; box-shadow: 4px
              4px 9px -2px rgba(0,0,0,0.65); border-radius: 1em;
              padding: 0.4em 2em; border: 1px dashed #444; background:
              rgb(230,240,163); background: linear-gradient(to bottom,
              rgba(230,240,163,1) 0%,rgba(210,230,56,1)
              50%,rgba(195,216,37,1) 51%,rgba(219,240,67,1) 100%);"> <b
                class="myName" style="text-shadow: 1px 1px 2px #DDD;
                transition:font-size 0.5s;"><a moz-do-not-send="true"
                  href="mailto:axel.grude@gmail.com">Axel Grude</a></b>
              <br>
              Software Developer <br>
              Thunderbird Add-ons Developer <span style="color:#666666;
                font-size:xx-small">(QuickFolders, quickFilters,
                QuickPasswords, Zombie Keys, SmartTemplate4)</span> <br>
              AMO Editor </div>
          </div>
          <div id="smartTemplate4-quoteHeader">
            <style type="text/css">
#newHeader b { font-weight:bold; color: #990033; }
</style><br>
            <div id="newHeader" style="font-size: x-small; padding:1em;
              background-color:rgba(220,220,240,0.4);
              border-radius:3px;"> <b>To:</b> <a
                moz-do-not-send="true">axel.grude@gmail.com</a> - Axel <br>
              <b>From: </b>ace <a moz-do-not-send="true"
                class="moz-txt-link-rfc2396E"
                href="mailto:acelists@atlas.sk"><acelists@atlas.sk></a><br>
              <b>CC: </b><a moz-do-not-send="true"
                class="moz-txt-link-abbreviated"
                href="mailto:tb-planning@mozilla.org">tb-planning@mozilla.org</a>
              <a moz-do-not-send="true" class="moz-txt-link-abbreviated"
                href="mailto:tb-planning@mozilla.org">tb-planning@mozilla.org</a>
              <br>
              <b>Sent: </b>Montag, 02/09/2013 22:39:15 22:39 GMT ST
              +0100 [Week 36]<br>
              <b>Subject:</b> Re: GetMsgFolderFromUri broken in Nightly
            </div>
            <hr></div>
          <blockquote class=" cite" id="mid_52250583_20009_atlas_sk"
            cite="mid:52250583.20009@atlas.sk" type="cite">
            <pre wrap="">-------- Original Message --------
Subject: GetMsgFolderFromUri broken in Nightly
From: Axel Grude (Axel) <a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:axel.grude@gmail.com"><axel.grude@gmail.com></a>
To: <a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:tb-planning@mozilla.org">tb-planning@mozilla.org</a> <a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:tb-planning@mozilla.org"><tb-planning@mozilla.org></a>
Date: Mon, 02 Sep 2013 11:04:47 +0100

</pre>
            <blockquote class=" cite" id="Cite_3100147" type="cite">
              <pre wrap="">Is there a plan to remove GetMsgFolderFromUri (or more other global
macros like this) ?

It breaks QuickFolders according to:

<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://www.mozdev.org/bugs/show_bug.cgi?id=25536">https://www.mozdev.org/bugs/show_bug.cgi?id=25536</a>

just reproduced the error with the message:

ReferenceError: GetMsgFolderFromUri is not defined

hope this is not the caser, but if it is there should be an alternative
method provided for this, as I can imagine it breaking quite a lot of
Addons.
</pre>
            </blockquote>
            <pre wrap="">See Bug 889022 . Please mark the bug addon-compat.


</pre>
          </blockquote>
          <br>
          <br>
          <br>
          <fieldset class="mimeAttachmentHeader"></fieldset>
          <br>
          <pre wrap="">_______________________________________________
tb-planning mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:tb-planning@mozilla.org">tb-planning@mozilla.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://mail.mozilla.org/listinfo/tb-planning">https://mail.mozilla.org/listinfo/tb-planning</a>
</pre>
        </blockquote>
        <br>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <br>
        <pre wrap="">_______________________________________________
tb-planning mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:tb-planning@mozilla.org">tb-planning@mozilla.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://mail.mozilla.org/listinfo/tb-planning">https://mail.mozilla.org/listinfo/tb-planning</a>
</pre>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
tb-planning mailing list
<a class="moz-txt-link-abbreviated" href="mailto:tb-planning@mozilla.org">tb-planning@mozilla.org</a>
<a class="moz-txt-link-freetext" href="https://mail.mozilla.org/listinfo/tb-planning">https://mail.mozilla.org/listinfo/tb-planning</a>
</pre>
    </blockquote>
    <br>
    <br>
    <div style="bottom: auto; left: 675px; right: auto; top: 137px;
      display: none;" class="translator-theme-default"
      id="translator-floating-panel">
      <div title="Click to translate"
        id="translator-floating-panel-button"></div>
    </div>
  </body>
</html>