Skip to content

Instantly share code, notes, and snippets.

@dylanwh
dylanwh / blockers.md
Last active Jul 16, 2021
Harmony Release Blockers (July 2021)
View blockers.md

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
dylanwh / wtf-terminals-and-keys.md
Last active Apr 30, 2021
fixing home/end/pageup/pagedown in terminal programs
View wtf-terminals-and-keys.md

Problem

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

Debugging

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

cat -vt >/dev/null
@dylanwh
dylanwh / Bugzilla TODO.md
Last active Feb 13, 2021
Dylan's Bugzilla Priorities
View Bugzilla TODO.md
  • 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 fiddles.md
View 5.2 vs harmony Extension.pm.diff
--- bugzilla-5.2/Bugzilla/Extension.pm 2020-03-28 15:20:01.000000000 -0400
+++ harmony/Bugzilla/Extension.pm 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 Users.pm controller
sub signup_email {
my ($c) = @_;
my $v = $c->validation;
try {
Bugzilla::User->new->check_account_creation_enabled;
my $email_regexp = Bugzilla->params->{createemailregexp};
$v->required('email')->like(qr/$email_regexp/);
$v->csrf_protect;
View gruvbox-dark.js
t.prefs_.set("background-color","#1e1e1e")
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
t.prefs_.set('color-palette-overrides',
["#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")
View example.sh
#!/bin/sh
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