Merge branch 'stable-3.1' into stable-3.2

* stable-3.1: (26 commits)
  Apply gjf
  Apply gjf
  create getInternalProperties() method
  create a Properties.RecursiveExpander
  move Field expansion to the Expander
  create a Properties.Expander
  Handle invalid task roots gracefully
  task: Rewrite method to make it look less buggy
  fixup! Support exporting properties to task json
  Add TaskTree definitions more directly
  Rename TaskTree.Node.definition to task
  Fix to apply task properties to names-factory fields
  Add change task properties
  Fix major sonar issue related to rule "squid : S1132"
  Adjust margins around the task header
  Display task counts next to each header
  Stop double adding Gerrit-ApiVersion
  Task plugin: Track ChangeData in TaskTree
  Store properties at the TaskTree.NodeList level
  Always wait for subtasks unless already failed
  ...

Change-Id: I0131685b8153f6e89db87710f2f6435921a2d200
diff --git a/WORKSPACE b/WORKSPACE
index 4bbfd4c..028abcc 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -3,7 +3,7 @@
 load("//:bazlets.bzl", "load_bazlets")
 
 load_bazlets(
-    commit = "321fab31e6fbb63c940aad3252f0167f88d52e2e",
+    commit = "f96f4bce9ffafeaa200fc009a378921c512fcb0a",
     #local_path = "/home/<user>/projects/bazlets",
 )
 
diff --git a/gr-task-plugin/gr-task-plugin.html b/gr-task-plugin/gr-task-plugin.html
index ea59b9f..c6c3746 100644
--- a/gr-task-plugin/gr-task-plugin.html
+++ b/gr-task-plugin/gr-task-plugin.html
@@ -83,7 +83,7 @@
   <template>
     <template is="dom-repeat" as="task" items="[[tasks]]">
       <template is="dom-if" if="[[_can_show(show_all, task)]]">
-        <li>
+        <li style="padding: 0.2em;">
           <style>
             /* Matching colors with core code. */
             .green {
@@ -115,9 +115,11 @@
           [[task.message]]
         </li>
       </template>
+      <ul style="list-style-type:none; margin: 0 0 0 0; padding: 0 0 0 2em;">
       <gr-task-plugin-tasks
           tasks="[[task.sub_tasks]]"
           show_all$="[[show_all]]"> </gr-task-plugin-tasks>
+      </ul>
     </template>
   </template>
   <script>
diff --git a/gr-task-plugin/gr-task-plugin.js b/gr-task-plugin/gr-task-plugin.js
index e49f493..50c49ef 100644
--- a/gr-task-plugin/gr-task-plugin.js
+++ b/gr-task-plugin/gr-task-plugin.js
@@ -130,7 +130,7 @@
       return icon;
     },
 
-    _computeShowOnNeedsAndBlockedFilter(task) {
+    _isFailOrReadyOrInvalid(task) {
       switch (task.status) {
         case 'FAIL':
         case 'READY':
@@ -140,6 +140,12 @@
       return false;
     },
 
+    _computeShowOnNeedsAndBlockedFilter(task) {
+      return this._isFailOrReadyOrInvalid(task) ||
+        (task.sub_tasks && task.sub_tasks.some(t =>
+          this._computeShowOnNeedsAndBlockedFilter(t)));
+    },
+
     _compute_counts(task) {
       this._all_count++;
       switch (task.status) {
diff --git a/test/docker/gerrit/Dockerfile b/test/docker/gerrit/Dockerfile
index 94c40ff..6d65974 100755
--- a/test/docker/gerrit/Dockerfile
+++ b/test/docker/gerrit/Dockerfile
@@ -1,4 +1,4 @@
-FROM gerritcodereview/gerrit:3.1.15-ubuntu18
+FROM gerritcodereview/gerrit:3.2.10-ubuntu20
 
 USER root