log

Life, Code, Stuff.

Mozilla recently dropped support for Firefox XUL extensions.

The initial threat of this prompted me to discover how to re-enable XUL extensions by modifying Firefox's omni.ja file. That clearly is not going to last very long since Mozilla is also deleting XPCOM interfaces but I note the Tor Browser is temporarily still using XUL extensions.

Since I have some extensions I wrote for myself, I will need to rewrite them as WebExtension add-ons.

The first thing to do is check how to install WebExtension add-ons. My local XUL extensions are run from the corresponding git trees. Using an example extension I discovered that this no longer works. The normal way to install add-ons is to use the web-ext tool, upload to the Mozilla app store and then install from there. This seems like overkill for an unpolished local add-on. One way to workaround this is to disable signing but that seems suboptimal if one has installed Mozilla-signed add-ons, which I will probably have to do until Debian packages more add-ons. Luckily Mozilla offers alternative "sideloading" distribution mechanisms and Debian enables these by default for the Debian webext-* packages. Installing a symlink to the git repository into the extensions directory and adding a gecko identifier to the add-on manifest.json file works.

Then I started looking at how to rewrite XUL extensions and discovered the user-interface options are limited compared to XUL. So the Galeon-style smart-bookmarks workaround plugin I use a lot is not even possible to implement as a WebExtension add-on and will require some changes to search, bookmarks or WebExtensions user-interface APIs or a solution external to Firefox like a floating toolbar.

Another plugin I wrote adds a few buttons to the toolbar but WebExtension add-ons are only allowed to add one button to the toolbar. The plugin is more logical as an address bar button but again WebExtension add-ons are only allowed to add one button to the address bar. Each of these allow popups for additional user-interface. So the options are to split this into multiple plugins, one per button or to reqire a second click in the popups.

The remaining task is to migrate from each of the xul-ext-* Debian packages. Some folks have already completed their transition and documented it.

Some packages simply got updated to the corresponding webext-* packages. Some packages were updated upstream but aren't yet in webext-* packages.

Some packages were no longer developed upstream but were updated in forks or reimplementations:

Some packages are no longer useful upstream but alternatives are available:

  • Adblock Plus: acquired by the untrustworthy advertising industry, replaced by uBlock Origin
  • Stylish: acquired by the untrustworthy advertising industry, replaced by Stylus
  • Cookie Monster: cookie-autodelete or uMatrix are possible alternatives
  • DOM Inspector: the native web developer tools are almost the same
  • HTTPS Finder: smart-https, https-by-default are alternatives and https-everywhere is kind of an alternative
  • livehttpheaders: the native web developer tools are mostly an alternative but headers are missing from the page info dialog

Some packages are blocked by missing APIs because they are not yet permitted to replace the Certificate Authorities with alternate trust models such as DNSSEC+DANE, Certificate Patrol, Perspectives, Monkeysphere or Communism.

Like many technology transitions, this one was done for good reasons but is extremely disruptive and a time sink for users and developers. I still have floppy disks that could contain viruses or poetry but I will never find out their content.

Posted Sat Sep 8 08:43:21 2018 Tags:

Changes

Issues

Review

Administration

  • Debian: answer support request, keyring-maint updates, acknowledge emergency downtime, discuss downtime with a hoster, discuss reverse DNS with a hoster
  • Debian derivatives: create salsa group, migrate census to salsa, update repo remote URLs, clean up some large files
  • Debian mentors: reply about an upload issue
  • Debian wiki: clean up stray temp file, whitelist email addresses, disable accounts with bouncing email

Communication

Sponsors

All work was done on a volunteer basis.

Posted Sat Sep 1 04:46:34 2018 Tags:

Changes

Issues

Review

Administration

  • myrepos: merge patches, release
  • foxtrotgps: merge patch
  • whohas: merge pull request
  • fossjobs: forward some job advertisments
  • Debian: quiet buildd cron mail, redirect potential contributor, discuss backup hosts for some arches, discussions at DebConf18
  • Debian wiki: unblacklist networks, whitelist domains, whitelist email addresses, reject possibly inappropriate signup attempt
  • Debian website: remove lingering file

Communication

Sponsors

All work was done on a volunteer basis.

Posted Tue Aug 7 08:45:08 2018 Tags:

Changes

Issues

Review

Administration

  • fossjobs: merge pull requests
  • Debian: LDAP support request
  • Debian mentors: fix disk space issue
  • Debian wiki: clean up temp files, whitelist domains, whitelist email addresses, unblacklist IP addresses, disable accounts with bouncing email

Communication

Sponsors

The apt-cacher-ng bugs, leptonlib backport and git-repair feature request were sponsored by my employer. All other work was done on a volunteer basis.

Posted Sun Jul 1 01:37:07 2018 Tags:

Changes

Issues

Review

Administration

  • iotop: merge patch
  • Debian: buildd check, install package, redirect support, fix space in uid/gid, reboot lock workaround
  • Debian mentors: reboot for security updates
  • Debian wiki: whitelist email addresses,
  • Openmoko: web server restart

Communication

Sponsors

The tesseract/purple-discord work, bug reports for samba/git-lab/octotree/dh-make-golang and AutomaticPackagingTools change were sponsored by my employer. All other work was done on a volunteer basis.

Posted Fri Jun 1 00:39:56 2018 Tags:

Changes

Issues

Review

Administration

  • whowatch: release, contact downstreams
  • Debian: redirect support request, investigate GDPR issues, investigate buildd kernel issue
  • Debian wiki: investigate signup errors, whitelist email addresses, whitelist email domain

Sponsors

The purple-discord work, the sysstat backport and the libipc-run-perl patch backports were sponsored by my employer. All other work was done on a volunteer basis.

Posted Tue May 1 01:49:31 2018 Tags:

Changes

Issues

Review

Administration

  • myrepos: delete long merged branches, cherry-pick ancient patch
  • whowatch: migrate files to github, ask for updating website
  • Debian: debug LDAP server outage, grumble at bogus SpamCop report, redirect archive support request, apply LDAP CGI patch
  • Debian mentors: fix UDD importer auth issue
  • Debian wiki: redirect support requests, investigate HTTP 500 error, investigate stray tmp file, whitelist email domains, whitelist email addresses
  • Debian package tracker: deploy latest code

Sponsors

All work was done on a volunteer basis.

Posted Sun Apr 1 01:47:37 2018 Tags:

Changes

Issues

Review

Administration

  • myrepos: merge patches, triage bugs
  • Debian: forward domain expiry, discuss sensitive files with service maintainer
  • Debian QA: bug triage
  • Debian package tracker: deploy latest code
  • Debian mentors: check why package wasn't uploaded, restart importer after crash
  • Debian wiki: remove extraneous tmp file, fix user email address, unblacklist IP addresses, whitelist email addresses, whitelist email domain
  • Debian website: investigate translation update issue

Communication

Sponsors

The work on harmony and librecaptcha was sponsored by my employer. All other work was done on a volunteer basis.

Posted Thu Mar 1 00:58:10 2018 Tags:

Changes

Issues

Review

Administration

  • Debian: try to regain OOB access to a host, try to connect with a hoster, restart bacula after db restart, provide some details to a hoster, add debsnap to snapshot host, debug external email issue, redirect users to support channels
  • Debian mentors: redirect to sponsors, teach someone about dput .upload files, check why a package disappeared
  • Debian wiki: unblacklist IP address, whitelist email addresses, whitelist email domain, investigate DocBook output crash

Communication

  • Initiate discussion about ingestion of more security issue feeds
  • Invite LinuxCNC to the Debian derivatives census

Sponsors

I renewed my support of Software Freedom Conservancy.

The Discord related uploads (harmony, librecaptcha, purple-discord) and the Debian fakeupstream change were sponsored by my employer. All other work was done on a volunteer basis.

Posted Thu Feb 1 00:12:01 2018 Tags:

Changes

Issues

Review

Administration

  • Debian: fix sbuild config on buildd, cleanup after git gc OOM, redirect CD support queries, answer SSH hash question again
  • Debian QA: deploy patches
  • Debian mentors: check why package was not imported
  • Debian installer: apply patches
  • Debian PTS: investigate issues after git migration, apply patch, deploy patches
  • Debian package tracker: deploy patches, update mirror URL in db
  • Debian mentors: remove a broken upload
  • Debian wiki: redirect a bouncing mail, whitelist email addresses
  • Debian website: work on git conversion
  • Debian derivatives census: deploy change, remove patches larger than 1MiB
  • Openmoko: forcibly reboot

Communication

Initiate discussions about m68k usertags, buildd chroot creation failures and game server packaging.

Sponsors

The dpkg patch was sponsored by my employer. All other work was done on a volunteer basis.

Posted Sun Dec 31 22:48:43 2017 Tags: