maildev@lists.thunderbird.net

Thunderbird email developers

View all threads

Re: [Maildev] Workflow for reloading extensions in TB68 ?

JK
Jonathan Kamens
Fri, Apr 5, 2019 11:58 PM

Woops, I sent this just to Geoff by accident.

On April 5, 2019 9:14:02 AM EDT, Jonathan Kamens jik@kamens.us wrote:

I've found nglayout.debug.disable_xul_cache to be ineffective recently,

so much so that I gave up on relying on it.

I believe it's "-purgecaches" (1 hyphen, not 2)? And in my experience
it
doesn't always work either.

I also do development outside the profile directory as described by
Geoff in his third bullet point below, but I've found that not even
that
seems to always work.

In addition to all of the other solutions previously mentioned, I also
use userChromeJS
https://addons.thunderbird.net/en-US/thunderbird/addon/userchromejs-2/

combined with this code at the top of my chrome/userChrome.js file in
my
profile:

Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).invalidateCachesOnRestart();

I believe this does what -purgecaches (--purgecaches?) is supposed to
do
but doesn't seem to always actually do.

  jik

On 4/5/19 4:07 AM, Geoff Lankow wrote:

These are some of the things I do. Most of it is old-school tricks
that don't get mentioned because Firefox doesn't have real extensions

any more.

  • Set the pref nglayout.debug.disable_xul_cache to true. There's no
    default, so you'll have to create it. I'm not totally convinced
    this does as much as it used to, but it's still mentioned in the

code.

  • Start with the --purgecaches flag if something appears to be

cached.

  • Develop my extension outside the profile directory and link it to
    the profile extensions directory. Basically, create a file at
    [profile directory]/extensions/[add-on id] and in the file put

the

 full path to the directory where the code is. This has a handy
 side-effect of preventing the whole thing being deleted when the
 add-on manager decides it doesn't like something and just deletes
 it. Just replace the link file.

In general it works okay. There have been annoyances in the last year

but they seem to have been ironed out.

For webextensions and bootstrapped extensions, you can go to Tools >
Developer Tools > Debug Add-Ons and click Load Temporary Add-On,

which

is quite good because it gives you a reload button, and the add-on is

removed at shutdown.

GL

On 5/04/19 15:55, Christopher Leidigh wrote:

I'm trying to understand the correct way to reload an extension

under

development.  Under the nightly build, something looks like it's
cached when I reload and see the old version output.  I've tried
deleting the extension from the profile directory which appears to
work sometimes. I'm not sure about the consistency though.

Is there a correct and efficient way to do this?

Thanks
Christopher


Maildev mailing list
Maildev@lists.thunderbird.net


Maildev mailing list
Maildev@lists.thunderbird.net

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Woops, I sent this just to Geoff by accident. On April 5, 2019 9:14:02 AM EDT, Jonathan Kamens <jik@kamens.us> wrote: >I've found nglayout.debug.disable_xul_cache to be ineffective recently, > >so much so that I gave up on relying on it. > >I believe it's "-purgecaches" (1 hyphen, not 2)? And in my experience >it >doesn't always work either. > >I also do development outside the profile directory as described by >Geoff in his third bullet point below, but I've found that not even >that >seems to always work. > >In addition to all of the other solutions previously mentioned, I also >use userChromeJS ><https://addons.thunderbird.net/en-US/thunderbird/addon/userchromejs-2/> > >combined with this code at the top of my chrome/userChrome.js file in >my >profile: > >Cc["@mozilla.org/xre/app-info;1"].getService(Ci.nsIXULRuntime).invalidateCachesOnRestart(); > >I believe this does what -purgecaches (--purgecaches?) is supposed to >do >but doesn't seem to always actually do. > >   jik > > >On 4/5/19 4:07 AM, Geoff Lankow wrote: >> >> These are some of the things I do. Most of it is old-school tricks >> that don't get mentioned because Firefox doesn't have real extensions > >> any more. >> >> * Set the pref nglayout.debug.disable_xul_cache to true. There's no >> default, so you'll have to create it. I'm not totally convinced >> this does as much as it used to, but it's still mentioned in the >code. >> * Start with the --purgecaches flag if something appears to be >cached. >> * Develop my extension outside the profile directory and link it to >> the profile extensions directory. Basically, create a file at >> [profile directory]/extensions/[add-on id] and in the file put >the >> full path to the directory where the code is. This has a handy >> side-effect of preventing the whole thing being deleted when the >> add-on manager decides it doesn't like something and just deletes >> it. Just replace the link file. >> >> In general it works okay. There have been annoyances in the last year > >> but they seem to have been ironed out. >> >> For webextensions and bootstrapped extensions, you can go to Tools > >> Developer Tools > Debug Add-Ons and click Load Temporary Add-On, >which >> is quite good because it gives you a reload button, and the add-on is > >> removed at shutdown. >> >> GL >> >> On 5/04/19 15:55, Christopher Leidigh wrote: >>> I'm trying to understand the correct way to reload an extension >under >>> development.  Under the nightly build, something looks like it's >>> cached when I reload and see the old version output.  I've tried >>> deleting the extension from the profile directory which appears to >>> work sometimes. I'm not sure about the consistency though. >>> >>> Is there a correct and efficient way to do this? >>> >>> Thanks >>> Christopher >>> >>> _______________________________________________ >>> Maildev mailing list >>> Maildev@lists.thunderbird.net >>> >http://lists.thunderbird.net/mailman/listinfo/maildev_lists.thunderbird.net >> >> _______________________________________________ >> Maildev mailing list >> Maildev@lists.thunderbird.net >> >http://lists.thunderbird.net/mailman/listinfo/maildev_lists.thunderbird.net -- Sent from my Android device with K-9 Mail. Please excuse my brevity.