[ARVADOS-WORKBENCH2] updated: 2.1.0-455-gc32095f0

Git user git at public.arvados.org
Tue Jul 13 00:22:18 UTC 2021


Summary of changes:
 docker/Dockerfile                                              |  4 ++--
 src/common/url.ts                                              |  2 +-
 src/components/tree/virtual-tree.tsx                           |  2 ++
 src/lib/cwl-svg/graph/edge.ts                                  |  8 ++++----
 src/lib/cwl-svg/graph/workflow.ts                              | 10 ----------
 src/lib/cwl-svg/plugins/deletion/deletion.ts                   |  2 +-
 src/lib/cwl-svg/plugins/edge-hover/edge-hover.ts               |  8 ++++----
 src/lib/cwl-svg/plugins/port-drag/port-drag.ts                 |  2 +-
 src/lib/cwl-svg/plugins/selection/selection.ts                 |  4 ++--
 src/lib/cwl-svg/utils/dom-events.ts                            |  1 +
 src/lib/cwl-svg/utils/geometry.ts                              |  2 +-
 src/lib/cwl-svg/utils/html-utils.ts                            |  2 +-
 .../collection-service/collection-service-files-response.ts    |  2 +-
 src/store/dialog/with-dialog.ts                                |  1 +
 src/views/workbench/fed-login.tsx                              |  2 +-
 src/views/workbench/workbench-loading-screen.tsx               |  2 +-
 16 files changed, 24 insertions(+), 30 deletions(-)

       via  c32095f06a2e2843386120bf21402974b0066954 (commit)
       via  9a0c98ac8b60b5d3341f05eccc9a472810bc82b8 (commit)
       via  dbaac1c92b4bdf44f3b400cc7178f71b1f0582eb (commit)
      from  43fff13af5aa7a07e6fe942e010bed62bd95bc08 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit c32095f06a2e2843386120bf21402974b0066954
Author: Lucas Di Pentima <lucas.dipentima at curii.com>
Date:   Mon Jul 12 21:21:50 2021 -0300

    17782: Removes the last linter warnings.
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima at curii.com>

diff --git a/src/common/url.ts b/src/common/url.ts
index 185737ca..6d66778a 100644
--- a/src/common/url.ts
+++ b/src/common/url.ts
@@ -3,7 +3,7 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 export function getUrlParameter(search: string, name: string) {
-    const safeName = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
+    const safeName = name.replace(/[[]/, '\\[').replace(/[\]]/, '\\]');
     const regex = new RegExp('[\\?&]' + safeName + '=([^&#]*)');
     const results = regex.exec(search);
     return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
diff --git a/src/components/tree/virtual-tree.tsx b/src/components/tree/virtual-tree.tsx
index f353fd05..ca7cd40c 100644
--- a/src/components/tree/virtual-tree.tsx
+++ b/src/components/tree/virtual-tree.tsx
@@ -84,6 +84,7 @@ export interface VirtualTreeItem<T> extends TreeItem<T> {
 
 // For some reason, on TSX files it isn't accepted just one generic param, so
 // I'm using <T, _> as a workaround.
+// eslint-disable-next-line
 export const Row =  <T, _>(itemList: VirtualTreeItem<T>[], render: any, treeProps: TreeProps<T>) => withStyles(styles)(
     (props: React.PropsWithChildren<ListChildComponentProps> & WithStyles<CssRules>) => {
         const { index, style, classes } = props;
@@ -174,6 +175,7 @@ export const Row =  <T, _>(itemList: VirtualTreeItem<T>[], render: any, treeProp
 
 const itemSize = 30;
 
+// eslint-disable-next-line
 export const VirtualList = <T, _>(height: number, width: number, items: VirtualTreeItem<T>[], render: any, treeProps: TreeProps<T>) =>
     <FixedSizeList
         height={height}
diff --git a/src/services/collection-service/collection-service-files-response.ts b/src/services/collection-service/collection-service-files-response.ts
index 36cb3dc6..b7e1f9c7 100644
--- a/src/services/collection-service/collection-service-files-response.ts
+++ b/src/services/collection-service/collection-service-files-response.ts
@@ -20,7 +20,7 @@ export const sortFilesTree = (tree: Tree<CollectionDirectory | CollectionFile>)
 };
 
 export const extractFilesData = (document: Document) => {
-    const collectionUrlPrefix = /\/c=([^\/]*)/;
+    const collectionUrlPrefix = /\/c=([^/]*)/;
     return Array
         .from(document.getElementsByTagName('D:response'))
         .slice(1) // omit first element which is collection itself
diff --git a/src/store/dialog/with-dialog.ts b/src/store/dialog/with-dialog.ts
index 78543fc9..ea96ca0d 100644
--- a/src/store/dialog/with-dialog.ts
+++ b/src/store/dialog/with-dialog.ts
@@ -20,6 +20,7 @@ export type WithDialogDispatchProps = {
 export type WithDialogProps<T> = WithDialogStateProps<T> & WithDialogDispatchProps;
 export const withDialog = (id: string) =>
     // TODO: How to make compiler happy with & P instead of & any?
+    // eslint-disable-next-line
     <T, P>(component: React.ComponentType<WithDialogProps<T> & any>) =>
         connect(mapStateToProps(id), mapDispatchToProps(id))(component);
 
diff --git a/src/views/workbench/fed-login.tsx b/src/views/workbench/fed-login.tsx
index 14229519..595f136b 100644
--- a/src/views/workbench/fed-login.tsx
+++ b/src/views/workbench/fed-login.tsx
@@ -42,7 +42,7 @@ export const FedLogin = connect(mapStateToProps)(
                         }
                         const fedtoken = (remoteHostsConfig[k].loginCluster === localCluster)
                             ? apiToken : getSaltedToken(k, apiToken);
-                        return <iframe key={k} src={`${remoteHostsConfig[k].workbench2Url}/fedtoken?api_token=${fedtoken}`} style={{
+                        return <iframe key={k} title={k} src={`${remoteHostsConfig[k].workbench2Url}/fedtoken?api_token=${fedtoken}`} style={{
                             height: 0,
                             width: 0,
                             visibility: "hidden"
diff --git a/src/views/workbench/workbench-loading-screen.tsx b/src/views/workbench/workbench-loading-screen.tsx
index 584ba3ae..1b70ece6 100644
--- a/src/views/workbench/workbench-loading-screen.tsx
+++ b/src/views/workbench/workbench-loading-screen.tsx
@@ -26,7 +26,7 @@ const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
 
 export const WorkbenchLoadingScreen = withStyles(styles)(({ classes }: WithStyles<CssRules>) =>
     <Grid container direction="column" alignItems='center' justify='center' className={classes.root}>
-        <img src='/arvados_logo.png' className={classes.img} />
+        <img src='/arvados_logo.png' alt='Arvados logo' className={classes.img} />
         <CircularProgress data-cy='loading-spinner' />
     </Grid>
 );

commit 9a0c98ac8b60b5d3341f05eccc9a472810bc82b8
Author: Lucas Di Pentima <lucas.dipentima at curii.com>
Date:   Mon Jul 12 21:08:04 2021 -0300

    17782: removes linter warnings for cwl-svg code.
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima at curii.com>

diff --git a/src/lib/cwl-svg/graph/edge.ts b/src/lib/cwl-svg/graph/edge.ts
index 74fb0afc..334a5148 100644
--- a/src/lib/cwl-svg/graph/edge.ts
+++ b/src/lib/cwl-svg/graph/edge.ts
@@ -10,8 +10,8 @@ export class Edge {
             return "";
         }
 
-        const [sourceSide, sourceStepId, sourcePort] = edge.source.id.split("/");
-        const [destSide, destStepId, destPort]       = edge.destination.id.split("/");
+        const [, sourceStepId, sourcePort] = edge.source.id.split("/");
+        const [, destStepId, destPort]       = edge.destination.id.split("/");
 
         const sourceVertex = containerNode.querySelector(`.node[data-id="${sourceStepId}"] .output-port[data-port-id="${sourcePort}"] .io-port`) as SVGGElement;
         const destVertex   = containerNode.querySelector(`.node[data-id="${destStepId}"] .input-port[data-port-id="${destPort}"] .io-port`) as SVGGElement;
@@ -65,8 +65,8 @@ export class Edge {
         const ns   = "http://www.w3.org/2000/svg";
         const edge = document.createElementNS(ns, "g");
 
-        const [sourceSide, sourceStepId, sourcePort] = (connectionIDs.source || "//").split("/");
-        const [destSide, destStepId, destPort]       = (connectionIDs.destination || "//").split("/");
+        const [, sourceStepId, sourcePort] = (connectionIDs.source || "//").split("/");
+        const [, destStepId, destPort]       = (connectionIDs.destination || "//").split("/");
 
         edge.classList.add("edge");
         if (sourceStepId) {
diff --git a/src/lib/cwl-svg/graph/workflow.ts b/src/lib/cwl-svg/graph/workflow.ts
index cb6f2281..f0cd1c4e 100644
--- a/src/lib/cwl-svg/graph/workflow.ts
+++ b/src/lib/cwl-svg/graph/workflow.ts
@@ -181,21 +181,11 @@ export class Workflow {
          * If there is a missing sbg:x or sbg:y property on any node model,
          * graph should be arranged to avoid random placement.
          */
-        let arrangeNecessary = false;
-
         let nodeTemplate = "";
 
         for (const node of nodes) {
             const patched  = GraphNode.patchModelPorts(node);
-            const missingX = isNaN(parseInt(patched.customProps["sbg:x"], 10));
-            const missingY = isNaN(parseInt(patched.customProps["sbg:y"], 10));
-
-            if (missingX || missingY) {
-                arrangeNecessary = true;
-            }
-
             nodeTemplate += GraphNode.makeTemplate(patched);
-
         }
 
         this.workflow.innerHTML += nodeTemplate;
diff --git a/src/lib/cwl-svg/plugins/deletion/deletion.ts b/src/lib/cwl-svg/plugins/deletion/deletion.ts
index f3e6498f..3af75434 100644
--- a/src/lib/cwl-svg/plugins/deletion/deletion.ts
+++ b/src/lib/cwl-svg/plugins/deletion/deletion.ts
@@ -29,7 +29,7 @@ export class DeletionPlugin extends PluginBase {
     }
 
     private onDelete(ev: KeyboardEvent) {
-        if (ev.which !== 8 && ev.which !== 46 || !(ev.target instanceof SVGElement)) {
+        if ((ev.which !== 8 && ev.which !== 46) || !(ev.target instanceof SVGElement)) {
             return;
         }
 
diff --git a/src/lib/cwl-svg/plugins/edge-hover/edge-hover.ts b/src/lib/cwl-svg/plugins/edge-hover/edge-hover.ts
index 01f1ad54..9d3b423b 100644
--- a/src/lib/cwl-svg/plugins/edge-hover/edge-hover.ts
+++ b/src/lib/cwl-svg/plugins/edge-hover/edge-hover.ts
@@ -36,17 +36,17 @@ export class SVGEdgeHoverPlugin extends PluginBase {
         const target = ev.target as SVGGElement;
         let tipEl: SVGGElement;
 
-        const onMouseMove = ((ev: MouseEvent) => {
+        const onMouseMove = (ev: MouseEvent) => {
             const coords = this.workflow.transformScreenCTMtoCanvas(ev.clientX, ev.clientY);
             tipEl.setAttribute("x", String(coords.x));
             tipEl.setAttribute("y", String(coords.y - 16));
-        }).bind(this);
+        };
 
-        const onMouseLeave = ((ev: MouseEvent) => {
+        const onMouseLeave = (ev: MouseEvent) => {
             tipEl.remove();
             target.removeEventListener("mousemove", onMouseMove);
             target.removeEventListener("mouseleave", onMouseLeave)
-        }).bind(this);
+        };
 
         this.modelListener = this.workflow.model.on("connection.remove", (source, destination) => {
             if (!tipEl) return;
diff --git a/src/lib/cwl-svg/plugins/port-drag/port-drag.ts b/src/lib/cwl-svg/plugins/port-drag/port-drag.ts
index 10f30e07..e5d11e3a 100644
--- a/src/lib/cwl-svg/plugins/port-drag/port-drag.ts
+++ b/src/lib/cwl-svg/plugins/port-drag/port-drag.ts
@@ -265,7 +265,7 @@ export class SVGPortDragPlugin extends PluginBase {
     private updateEdge(fromX: number, fromY: number, toX: number, toY: number): void {
         const subEdges = this.edgeGroup!.children as HTMLCollectionOf<SVGPathElement>;
 
-        for (let subEdge of <any>subEdges) {
+        for (let subEdge of subEdges as any) {
 
             const path = Workflow.makeConnectionPath(
                 fromX,
diff --git a/src/lib/cwl-svg/plugins/selection/selection.ts b/src/lib/cwl-svg/plugins/selection/selection.ts
index a4e7a312..443e60ad 100644
--- a/src/lib/cwl-svg/plugins/selection/selection.ts
+++ b/src/lib/cwl-svg/plugins/selection/selection.ts
@@ -146,12 +146,12 @@ export class SelectionPlugin extends PluginBase {
 
         let element: SVGElement | undefined;
 
-        if (element = this.workflow.findParent(target, "node")) {
+        if ((element = this.workflow.findParent(target, "node"))) {
             this.selectNode(element);
             this.selection.set(element.getAttribute("data-connection-id")!, "node");
             this.emitChange(element);
 
-        } else if (element = this.workflow.findParent(target, "edge")) {
+        } else if ((element = this.workflow.findParent(target, "edge"))) {
             this.selectEdge(element);
             const cid = [
                 element.getAttribute("data-source-connection"),
diff --git a/src/lib/cwl-svg/utils/dom-events.ts b/src/lib/cwl-svg/utils/dom-events.ts
index 4f8132a0..d7ae43f1 100644
--- a/src/lib/cwl-svg/utils/dom-events.ts
+++ b/src/lib/cwl-svg/utils/dom-events.ts
@@ -31,6 +31,7 @@ export class DomEvents {
                 const selected = Array.from(this.root.querySelectorAll(selector));
                 target         = ev.target as HTMLElement;
                 while (target) {
+                    // eslint-disable-next-line
                     if (selected.find(el => el === target)) {
                         break;
                     }
diff --git a/src/lib/cwl-svg/utils/geometry.ts b/src/lib/cwl-svg/utils/geometry.ts
index 11b066d9..348a7e20 100644
--- a/src/lib/cwl-svg/utils/geometry.ts
+++ b/src/lib/cwl-svg/utils/geometry.ts
@@ -16,7 +16,7 @@ export class Geometry {
             } else {
                 // node still has parent elements
                 const {e, f} = node.transform.baseVal.getItem(0).matrix;
-                return getPosition(<SVGGElement>node.parentNode, e + addE, f + addF);
+                return getPosition(node.parentNode as SVGGElement, e + addE, f + addF);
             }
         };
 
diff --git a/src/lib/cwl-svg/utils/html-utils.ts b/src/lib/cwl-svg/utils/html-utils.ts
index 07b5405d..b7bad2b3 100644
--- a/src/lib/cwl-svg/utils/html-utils.ts
+++ b/src/lib/cwl-svg/utils/html-utils.ts
@@ -10,6 +10,6 @@ export class HtmlUtils {
     };
 
     public static escapeHTML(source: string): string {
-        return String(source).replace(/[&<>"'\/]/g, s => HtmlUtils.entityMap[s]);
+        return String(source).replace(/[&<>"'/]/g, s => HtmlUtils.entityMap[s]);
     }
 }

commit dbaac1c92b4bdf44f3b400cc7178f71b1f0582eb
Author: Lucas Di Pentima <lucas.dipentima at curii.com>
Date:   Mon Jul 12 20:36:07 2021 -0300

    17782: Goes back to node docker image as it installs other needed deps.
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <lucas.dipentima at curii.com>

diff --git a/docker/Dockerfile b/docker/Dockerfile
index 390e1efa..729d62c4 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -2,14 +2,14 @@
 #
 # SPDX-License-Identifier: AGPL-3.0
 
-FROM debian:buster
+FROM node:12.22.3-buster
 LABEL maintainer="Arvados Package Maintainers <packaging at arvados.org>"
 
 RUN echo deb http://deb.debian.org/debian buster-backports main >> /etc/apt/sources.list.d/backports.list
 RUN apt-get update && \
     apt-get -yq --no-install-recommends -o Acquire::Retries=6 install \
     libsecret-1-0 libsecret-1-dev rpm ruby ruby-dev rubygems build-essential \
-    libpam0g-dev libgbm1 && \
+    libpam0g-dev libgbm1 git && \
     apt-get clean
 RUN apt-get -yq --no-install-recommends -t buster-backports install golang-go && \
     apt-get clean

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list