Skip to content

Instantly share code, notes, and snippets.

dylanwh /
Last active Jul 16, 2021
Harmony Release Blockers (July 2021)

This is a list of known release blockers for Bugzilla Harmony, in prority list order.

MySQL compatibility & checksetup

We can and should only support current and previous releases of MySQL. People coming from MySQL 5.6 or earlier should be nudged to use utf8mb4, which allows for emojis and some obscure languages.

Currently harmony will work with MariaDB 10+ (any version), but will not function in MySQL 8 due to the word "groups" becoming a reserved word.

dylanwh /
Last active Apr 30, 2021
fixing home/end/pageup/pagedown in terminal programs


Your Home/End/PageUp/PageDown keys are not working consistently in terminal programs like vim or zsh.


First, run cat -vt >/dev/null and type Home, followed by enter. You should see something like below

cat -vt >/dev/null
dylanwh / Bugzilla
Last active Feb 13, 2021
Dylan's Bugzilla Priorities
View Bugzilla
  • Migrating from existing schemas should work, including 4.2, 4.4, and 5.0
    • Support schema changes that modify the integer types on mariadb / mysql: this is the cases when we move from an INT to BIGINT, etc.
    • Support mysql 8 with its reserved groups keyword
  • Bugzilla harmony needs to be tested against Postgres (there are a handful of queries that probably need to be revised or abstracted)
  • Make sure bugzilla's dependencies are reasonable and packagable by mainstream distributions: Fedora, Debian, Ubuntu
  • The bugzilla harmony repo should be de-coupled from mozilla-bteam/bmo repo, as creating PRs specifically for it is cumbersome. We will ask github to disassociate the repos for us
View schema diff 5 to 6.patch
--- 5.0 2020-09-06 14:44:12.000000000 -0400
+++ harmony 2020-09-06 14:44:04.000000000 -0400
@@ -1,5 +1,64 @@
json = {};
json.abstract_schema = {};
+json.abstract_schema.antispam_comment_blocklist = {};
+json.abstract_schema.antispam_comment_blocklist.FIELDS = [];
+json.abstract_schema.antispam_comment_blocklist.FIELDS[0] = "id";
+json.abstract_schema.antispam_comment_blocklist.FIELDS[1] = {};
+json.abstract_schema.antispam_comment_blocklist.FIELDS[1].NOTNULL = 1;
View 5.2 vs harmony
--- bugzilla-5.2/Bugzilla/ 2020-03-28 15:20:01.000000000 -0400
+++ harmony/Bugzilla/ 2020-05-18 09:35:52.000000000 -0400
@@ -13,22 +13,51 @@
use Bugzilla::Constants;
use Bugzilla::Error;
-use Bugzilla::Install::Util qw(
- extension_code_files extension_template_directory
- extension_package_directory extension_web_directory);
+use Bugzilla::Install::Util qw( extension_code_files );
View Part of the new controller
sub signup_email {
my ($c) = @_;
my $v = $c->validation;
try {
my $email_regexp = Bugzilla->params->{createemailregexp};
View gruvbox-dark.js
t.prefs_.set("foreground-color", "#e6d4a3")
t.prefs_.set("cursor-color", "#e6d4a3")
t.prefs_.set("color-palette-overrides", ["#1e1e1e","#be0f17","#868715","#cc881a","#377375","#a04b73","#578e57","#978771","#7f7061","#f73028","#aab01e","#f7b125","#719586","#c77089","#7db669","#e6d4a3"])
View solarized-dark-high-contrast.js
["#002831", "#d11c24", "#6cbe6c", "#a57706", "#2176c7", "#c61c6f", "#259286", "#eae3cb", "#006488", "#f5163b", "#51ef84", "#b27e28", "#178ec8", "#e24d8e", "#00b39e", "#fcf4dc"]);
t.prefs_.set('foreground-color', "#9cc2c3");
t.prefs_.set('background-color', "#001e27");
t.prefs_.set('cursor-color', "#9cc2c3")
loop=$(losetup -f)
losetup $loop ubuntu-20.04-preinstalled-server-arm64+raspi.img
partprobe /dev/$loop
mount /dev/${loop}p1 /mnt
cp user-data /mnt/user-data
umount /mnt
losetup -d $loop