about summary refs log tree commit diff
path: root/third_party/gerrit
diff options
context:
space:
mode:
authorLuke Granger-Brown <git@lukegb.com>2020-12-20T15·12+0000
committerlukegb <lukegb@tvl.fyi>2020-12-20T16·10+0000
commite115e58f9c96ba4acff7e21021333b48b73f4a9f (patch)
treea313595f4c393278384b7bfaa82644dee7d49f23 /third_party/gerrit
parentbbfcc7bbf054e1bf8fa8b3cfb3919ea7a2a76115 (diff)
fix(3p/gerrit): fix left padding on account chip r/2017
We don't have an avatar provider at the moment, so it's wonky. I'll make
this a CL upstream as well once my work laptop has charged.

Change-Id: I79754560b2de6981508ba7e10faf6b50cb9c3f8f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2266
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'third_party/gerrit')
-rw-r--r--third_party/gerrit/0007-Keep-left-padding-on-account-chip-if-no-avatar-provi.patch111
-rw-r--r--third_party/gerrit/default.nix1
2 files changed, 112 insertions, 0 deletions
diff --git a/third_party/gerrit/0007-Keep-left-padding-on-account-chip-if-no-avatar-provi.patch b/third_party/gerrit/0007-Keep-left-padding-on-account-chip-if-no-avatar-provi.patch
new file mode 100644
index 0000000000..2ceeb13106
--- /dev/null
+++ b/third_party/gerrit/0007-Keep-left-padding-on-account-chip-if-no-avatar-provi.patch
@@ -0,0 +1,111 @@
+From e796e238d8fcf442443f66de2fd0f3944473fd44 Mon Sep 17 00:00:00 2001
+From: Luke Granger-Brown <git@lukegb.com>
+Date: Sun, 20 Dec 2020 14:29:22 +0000
+Subject: [PATCH 7/6] Keep left padding on account chip if no avatar provider
+ present
+
+At the moment, if there's no plugin that provides avatars then the left
+padding is still removed if there *would* be an avatar there, which
+leads to some weirdly offset text.
+
+Change-Id: I1ff0745aa267d7fb227e39460c8ea80ef5ec2f55
+---
+ .../gr-account-label/gr-account-label.ts      |  6 ++
+ .../gr-account-label/gr-account-label_test.js | 63 +++++++++++++++++++
+ 2 files changed, 69 insertions(+)
+
+diff --git a/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label.ts b/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label.ts
+index a6c4201a66..416a77526d 100644
+--- a/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label.ts
++++ b/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label.ts
+@@ -147,7 +147,13 @@ export class GrAccountLabel extends GestureEventListeners(
+     change: ChangeInfo,
+     force: boolean
+   ) {
++    const avatarsAvailable = (
++      !!config &&
++      !!config.change &&
++      !!config.plugin.has_avatars
++    );
+     return (
++      avatarsAvailable &&
+       !hideAvatar &&
+       !this._hasAttention(config, highlight, account, change, force)
+     );
+diff --git a/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label_test.js b/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label_test.js
+index 42b1dd7184..111d0550cd 100644
+--- a/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label_test.js
++++ b/polygerrit-ui/app/elements/shared/gr-account-label/gr-account-label_test.js
+@@ -46,6 +46,69 @@ suite('gr-account-label tests', () => {
+     });
+   });
+ 
++  suite('_computeCancelLeftPadding', () => {
++    test('config not ready', () => {
++      assert.isFalse(
++        element._computeCancelLeftPadding(
++          /*hideAvatar=*/false,
++          /*config=*/undefined,
++          /*highlight=*/false,
++          /*account=*/element.account,
++          /*change=*/element.change,
++          /*force=*/false));
++    });
++
++    test('no avatar provider', () => {
++      const config = {
++        plugin: {},
++      };
++      assert.isFalse(
++        element._computeCancelLeftPadding(
++          /*hideAvatar=*/false,
++          /*config=*/config,
++          /*highlight=*/false,
++          /*account=*/element.account,
++          /*change=*/element.change,
++          /*force=*/false));
++    });
++
++    test('avatar provider present', () => {
++      const config = {
++        plugin: {
++          has_avatars: true,
++        },
++      };
++      assert.isTrue(
++        element._computeCancelLeftPadding(
++          /*hideAvatar=*/false,
++          /*config=*/config,
++          /*highlight=*/false,
++          /*account=*/element.account,
++          /*change=*/element.change,
++          /*force=*/false));
++    });
++
++    test('has attention', () => {
++      const config = {
++        change: {enable_attention_set: true},
++        user: {anonymous_coward_name: 'Anonymous Coward'},
++        plugin: {has_avatars: true},
++      };
++      const selfAccount = createAccount('kermit', 31);
++      const account = createAccount('ernie', 42);
++      const change = {attention_set: {42: {}}};
++
++      assert.isFalse(
++        element._computeCancelLeftPadding(
++          /*hideAvatar=*/false,
++          /*config=*/config,
++          /*highlight=*/true,
++          /*account=*/account,
++          /*change=*/change,
++          /*force=*/false));
++    });
++  });
++
+   suite('_computeName', () => {
+     test('not showing anonymous', () => {
+       const account = {name: 'Wyatt'};
+-- 
+2.29.2
+
diff --git a/third_party/gerrit/default.nix b/third_party/gerrit/default.nix
index 22a937560d..e62ade1419 100644
--- a/third_party/gerrit/default.nix
+++ b/third_party/gerrit/default.nix
@@ -47,6 +47,7 @@ pkgs.lib.makeOverridable pkgs.buildBazelPackage {
     ./0004-Add-titles-to-CLs-over-HTTP.patch
     ./0005-When-using-local-fonts-always-assume-Gerrit-is-mount.patch
     ./0006-Always-use-Google-Fonts.patch
+    ./0007-Keep-left-padding-on-account-chip-if-no-avatar-provi.patch
   ];
 
   bazelTarget = "release";