Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ZEPPELIN-4321] Rework Zeppelin with Latest Angular #3490

Closed
wants to merge 19 commits into from

Conversation

hsuanxyz
Copy link
Member

@hsuanxyz hsuanxyz commented Oct 23, 2019

What is this PR for?

The old version of zeppelin was written with AngularJS, there exist many issues related to the zeppelin-web and could not resolve due to the low version of AngularJS.

So we rework the zeppelin-web with the latest Angular (8.0).

What type of PR is it?

Feature

Implementation progress

Pages

Name Route Module UI
Home / HomeModule Y
Login /login LoginModule Y
Job Manager /jobmanager JobManagerModule Y
Interpreter Setting /interpreter InterpreterModule Y
Notebook /notebook/{id} NotebookModule Y
Notebook Repos /notebookRepos
Credential /credential
Helium /helium WIP
Configuration /configuration

Notebook Features

Feature Description Status
Files System Create/ Rename/ Import etc. Y
Toolbar Actions The top toolbar actions Y

Paragraph Features

Feature Description Status
Grid layout and resizable Y
Code Editor Y
Actions The Corresponding actions of the drop-down menu in the setting button Y
Actions(hot-keys) Support hot-keys for the actions WIP
Publishable publish paragraphs
Stream

Result Display

Type Status
Dynamic Form Y
Text Y
Html Y
Table Y
Network

Table Visualization

Type State
Line Chart Y
Bard Chart Y
Pie Chart Y
Area Chart Y
Scatter Chart Y

Helium Visualization

Type Description Status
Prototype To verify the implementable prototype Y
Publish Dependencies Just like zeppelin-vis WIP
Example Projects Y
Development Documents WIP

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-4321
https://issues.apache.org/jira/browse/ZEPPELIN-4215

How should this be tested?

Prerequisites

Install

$ cd zeppelin-frontend
$ npm install

Install dependencies in the project directory.

Start Zeppelin server

Run Zeppelin server on http://localhost:8080.

If you are using a custom port instead of the default(http://localhost:8080) or other network address, you can create .env file in the project directory and set SERVER_PROXY.

.env

SERVER_PROXY=http://localhost:8080

Development server

$ npm start

Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Build

Run npm build to build the project. The build artifacts will be stored in the dist/ directory.

Screenshots (if appropriate)

Login

login

Home

image
image

Interpreter

zp-interpreter

Job Manager

zp-jm

Dynamic Form

zp-df

Frontend API(latest Angular)

zp-ng

** Visualization**

zp-vis

Questions:

  • Does the licenses files need update? No
  • Is there breaking changes for older versions? Maybe
  • Does this needs documentation? YES

@hsuanxyz hsuanxyz changed the base branch from master to web_angular October 23, 2019 11:35
@hsuanxyz hsuanxyz changed the title ZEPPELIN-4321 Rework Zeppelin with Latest Angular [ZEPPELIN-4321] Rework Zeppelin with Latest Angular Oct 23, 2019
@zjffdu
Copy link
Contributor

zjffdu commented Oct 23, 2019

@hsuanxyz Could you add apache license header ?

@hsuanxyz
Copy link
Member Author

hsuanxyz commented Oct 23, 2019

@zjffdu Ok, I will add a tslint rule that will automatically be added the license header when each time commit.

Finally used IDE to add the license header, because the tslint is only works for *.ts files.

@zjffdu
Copy link
Contributor

zjffdu commented Oct 24, 2019

Thanks @hsuanxyz . Here's my comments:

  1. In the PR description, the Note column in table should be renamed to Description
  2. Does package-lock.json need to be committed ? https://stackoverflow.com/questions/44206782/do-i-commit-the-package-lock-json-file-created-by-npm-5

Besides that, could you list your plan after this PR ? One important task is adding this into travis build so and add integration test ? The examples you listed in PR description is pretty helpful, especially when we could add them into integration instead of manually tested them each time.

zeppelin-frontend/README.md Outdated Show resolved Hide resolved
@zjffdu
Copy link
Contributor

zjffdu commented Oct 24, 2019

@prabhjyotsingh Could you help review this ?

@conker84
Copy link
Contributor

@hsuanxyz why is the network visualization not implemented?

@hsuanxyz
Copy link
Member Author

@conker84 We plan to continue development after this PR review is done. All tasks in the list will be completed.

@hsuanxyz
Copy link
Member Author

@zjffdu

  1. In the PR description, the Note column in table should be renamed to Description
  • Done
  1. Does package-lock.json need to be committed ?
  • Added

I have added the pom.xml configuration file, now build and test will run in CI. We will add more tests after the project is relatively stable.

asfgit pushed a commit that referenced this pull request Nov 1, 2019
### What is this PR for?

The old version of zeppelin was written with AngularJS, there exist many issues related to the zeppelin-web and could not resolve due to the low version of AngularJS.

So we rework the zeppelin-web with the latest Angular (8.0).

### What type of PR is it?

Feature

### Implementation progress

#### Pages

| Name | Route | Module     | UI |
| ---  | ----- | ---------- | -- |
| Home | `/`   | HomeModule |  Y |
| Login | `/login`       | LoginModule |  Y |
| Job Manager  | `/jobmanager`  | JobManagerModule |  Y |
| Interpreter Setting   | `/interpreter` | InterpreterModule |  Y |
| Notebook | `/notebook/{id}` | NotebookModule |  Y |
| Notebook Repos | `/notebookRepos` |  |   |
| Credential     | `/credential` |  |   |
| Helium | `/helium` |  |  WIP  |
| Configuration | `/configuration` |  |   |

#### Notebook Features

| Feature | Description | Status |
| ------  | ---- | ---- |
| Files System  | Create/ Rename/ Import etc.  | Y |
| Toolbar Actions  | The top toolbar actions   | Y |

#### Paragraph Features

| Feature | Description | Status |
| ------  | ---- | ---- |
| Grid layout and resizable | | Y |
| Code Editor | | Y |
| Actions  | The Corresponding actions of the drop-down menu in the setting button | Y |
| Actions(hot-keys)  | Support hot-keys for the actions  | WIP |
| Publishable  | [publish paragraphs](http://zeppelin.apache.org/docs/0.8.0/usage/other_features/publishing_paragraphs.html)  |  |
| Stream  |  |  |

#### Result Display

| Type | Status |
| ------  | ---- |
| Dynamic Form  | Y |
| Text  | Y |
| Html  |  Y |
| Table  |  Y |
| Network  |  |

#### Table Visualization

| Type | State |
| ------ | ---- |
| Line Chart  | Y |
| Bard Chart  |  Y |
| Pie Chart  |  Y |
| Area Chart  |  Y |
| Scatter Chart  | Y |

#### Helium Visualization

| Type | Description | Status |
| ------  | ---- | ---- |
| Prototype | To verify the implementable prototype | Y |
| Publish Dependencies | Just like [zeppelin-vis](https://github.com/apache/zeppelin/tree/master/zeppelin-web/src/app/visualization)  | WIP |
| Example Projects |   | Y |
| Development Documents |   | WIP |

### What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-4321
https://issues.apache.org/jira/browse/ZEPPELIN-4215

### How should this be tested?

#### Prerequisites

- [Node.js](https://nodejs.org) version 10.9.0 or later or use [creationix/nvm](https://github.com/creationix/nvm).
- NPM package manager (which is installed with Node.js by default).
- [Angular CLI](https://angular.io/cli) version 8.3.0 or later.

#### Install

```bash
$ cd zeppelin-frontend
$ npm install
```
Install dependencies in the project directory.

### Start Zeppelin server

[Run Zeppelin server](https://zeppelin.apache.org/contribution/contributions.html#run-zeppelin-server-in-development-mode) on `http://localhost:8080`.

If you are using a custom port instead of the default(http://localhost:8080) or other network address, you can create `.env` file in the project directory and set `SERVER_PROXY`.

*.env*

```
SERVER_PROXY=http://localhost:8080
```

### Development server

```bash
$ npm start
```
Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

### Build

Run `npm build` to build the project. The build artifacts will be stored in the `dist/` directory.

### Screenshots (if appropriate)

**Login**

![login](https://user-images.githubusercontent.com/22736418/67387927-62206580-f5ca-11e9-8268-e7036f32ea1c.png)

**Home**

![image](https://user-images.githubusercontent.com/22736418/67388288-f4286e00-f5ca-11e9-9265-c9290830a5cd.png)
![image](https://user-images.githubusercontent.com/22736418/67388304-f8ed2200-f5ca-11e9-9368-09b00edd1d67.png)

**Interpreter**

![zp-interpreter](https://user-images.githubusercontent.com/22736418/67388335-086c6b00-f5cb-11e9-9d03-add1054c3aeb.gif)

**Job Manager**

![zp-jm](https://user-images.githubusercontent.com/22736418/67388392-21751c00-f5cb-11e9-8170-f311fd0dced4.gif)

**Dynamic Form**

![zp-df](https://user-images.githubusercontent.com/22736418/67388447-3ce02700-f5cb-11e9-90dd-cee932fa685c.gif)

**Frontend API(latest Angular)**

![zp-ng](https://user-images.githubusercontent.com/22736418/67388538-70bb4c80-f5cb-11e9-921d-6c34a4a99711.gif)

** Visualization**

![zp-vis](https://user-images.githubusercontent.com/22736418/67388602-8c265780-f5cb-11e9-9de9-e198878bee09.gif)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? Maybe
* Does this needs documentation? YES

Author: Hsuan Lee <hsuangm@gmail.com>
Author: Wendell <wendzhue@gmail.com>
Author: vthinkxie <yadong.xyd@alibaba-inc.com>

Closes #3490 from hsuanxyz/frontend-next and squashes the following commits:

cb673df [Hsuan Lee] chore: named TODOs
826b6d4 [Hsuan Lee] ci: add exclude item
10ea71e [Hsuan Lee] ci: fix ci config
d48b8f9 [Hsuan Lee] chore: rename the dirname to zeppelin-web-angular
ec4475c [Hsuan Lee] chore: update LICENSE and add pom.xml in zeppelin-frontend
d0dc194 [Hsuan Lee] chore: add `package-lock.json` to version control
06efeda [Hsuan Lee] docs: update frontend README
e7f10d2 [Hsuan Lee] chore: add license header in `*.(js|md)`
5649306 [Hsuan Lee] chore: add license header
8a07902 [Hsuan Lee] chore: update theme variables
10f7c78 [Hsuan Lee] chore: remove commit-lint
03ff8d5 [Hsuan Lee] fix: code editor language highlight
f53ad54 [Hsuan Lee] docs: update frontend README
95bccaf [Wendell] feat: add code editor
4ea8b50 [Hsuan Lee] feat: add visualizations
3d02d0e [vthinkxie] chore: support basic features of zeppelin
eafc519 [Hsuan Lee] feat: add base services
27c5bdf [Hsuan Lee] feat: add common projects
0c39614 [Hsuan Lee] zeppelin-frontend init commit
@zjffdu
Copy link
Contributor

zjffdu commented Nov 1, 2019

I have merged it, could you close this PR ? @hsuanxyz

@hsuanxyz
Copy link
Member Author

hsuanxyz commented Nov 1, 2019

I have merged it, could you close this PR ?

@zjffdu Thank your.

@hsuanxyz hsuanxyz closed this Nov 1, 2019
asfgit pushed a commit that referenced this pull request Dec 30, 2019
### What is this PR for?

The old version of zeppelin was written with AngularJS, there exist many issues related to the zeppelin-web and could not resolve due to the low version of AngularJS.

So we rework the zeppelin-web with the latest Angular (8.0).

### What type of PR is it?

Feature

### Implementation progress

#### Pages

| Name | Route | Module     | UI |
| ---  | ----- | ---------- | -- |
| Home | `/`   | HomeModule |  Y |
| Login | `/login`       | LoginModule |  Y |
| Job Manager  | `/jobmanager`  | JobManagerModule |  Y |
| Interpreter Setting   | `/interpreter` | InterpreterModule |  Y |
| Notebook | `/notebook/{id}` | NotebookModule |  Y |
| Notebook Repos | `/notebookRepos` |  |   |
| Credential     | `/credential` |  |   |
| Helium | `/helium` |  |  WIP  |
| Configuration | `/configuration` |  |   |

#### Notebook Features

| Feature | Description | Status |
| ------  | ---- | ---- |
| Files System  | Create/ Rename/ Import etc.  | Y |
| Toolbar Actions  | The top toolbar actions   | Y |

#### Paragraph Features

| Feature | Description | Status |
| ------  | ---- | ---- |
| Grid layout and resizable | | Y |
| Code Editor | | Y |
| Actions  | The Corresponding actions of the drop-down menu in the setting button | Y |
| Actions(hot-keys)  | Support hot-keys for the actions  | WIP |
| Publishable  | [publish paragraphs](http://zeppelin.apache.org/docs/0.8.0/usage/other_features/publishing_paragraphs.html)  |  |
| Stream  |  |  |

#### Result Display

| Type | Status |
| ------  | ---- |
| Dynamic Form  | Y |
| Text  | Y |
| Html  |  Y |
| Table  |  Y |
| Network  |  |

#### Table Visualization

| Type | State |
| ------ | ---- |
| Line Chart  | Y |
| Bard Chart  |  Y |
| Pie Chart  |  Y |
| Area Chart  |  Y |
| Scatter Chart  | Y |

#### Helium Visualization

| Type | Description | Status |
| ------  | ---- | ---- |
| Prototype | To verify the implementable prototype | Y |
| Publish Dependencies | Just like [zeppelin-vis](https://github.com/apache/zeppelin/tree/master/zeppelin-web/src/app/visualization)  | WIP |
| Example Projects |   | Y |
| Development Documents |   | WIP |

### What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-4321
https://issues.apache.org/jira/browse/ZEPPELIN-4215

### How should this be tested?

#### Prerequisites

- [Node.js](https://nodejs.org) version 10.9.0 or later or use [creationix/nvm](https://github.com/creationix/nvm).
- NPM package manager (which is installed with Node.js by default).
- [Angular CLI](https://angular.io/cli) version 8.3.0 or later.

#### Install

```bash
$ cd zeppelin-frontend
$ npm install
```
Install dependencies in the project directory.

### Start Zeppelin server

[Run Zeppelin server](https://zeppelin.apache.org/contribution/contributions.html#run-zeppelin-server-in-development-mode) on `http://localhost:8080`.

If you are using a custom port instead of the default(http://localhost:8080) or other network address, you can create `.env` file in the project directory and set `SERVER_PROXY`.

*.env*

```
SERVER_PROXY=http://localhost:8080
```

### Development server

```bash
$ npm start
```
Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

### Build

Run `npm build` to build the project. The build artifacts will be stored in the `dist/` directory.

### Screenshots (if appropriate)

**Login**

![login](https://user-images.githubusercontent.com/22736418/67387927-62206580-f5ca-11e9-8268-e7036f32ea1c.png)

**Home**

![image](https://user-images.githubusercontent.com/22736418/67388288-f4286e00-f5ca-11e9-9265-c9290830a5cd.png)
![image](https://user-images.githubusercontent.com/22736418/67388304-f8ed2200-f5ca-11e9-9368-09b00edd1d67.png)

**Interpreter**

![zp-interpreter](https://user-images.githubusercontent.com/22736418/67388335-086c6b00-f5cb-11e9-9d03-add1054c3aeb.gif)

**Job Manager**

![zp-jm](https://user-images.githubusercontent.com/22736418/67388392-21751c00-f5cb-11e9-8170-f311fd0dced4.gif)

**Dynamic Form**

![zp-df](https://user-images.githubusercontent.com/22736418/67388447-3ce02700-f5cb-11e9-90dd-cee932fa685c.gif)

**Frontend API(latest Angular)**

![zp-ng](https://user-images.githubusercontent.com/22736418/67388538-70bb4c80-f5cb-11e9-921d-6c34a4a99711.gif)

** Visualization**

![zp-vis](https://user-images.githubusercontent.com/22736418/67388602-8c265780-f5cb-11e9-9de9-e198878bee09.gif)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? Maybe
* Does this needs documentation? YES

Author: Hsuan Lee <hsuangm@gmail.com>
Author: Wendell <wendzhue@gmail.com>
Author: vthinkxie <yadong.xyd@alibaba-inc.com>

Closes #3490 from hsuanxyz/frontend-next and squashes the following commits:

cb673df [Hsuan Lee] chore: named TODOs
826b6d4 [Hsuan Lee] ci: add exclude item
10ea71e [Hsuan Lee] ci: fix ci config
d48b8f9 [Hsuan Lee] chore: rename the dirname to zeppelin-web-angular
ec4475c [Hsuan Lee] chore: update LICENSE and add pom.xml in zeppelin-frontend
d0dc194 [Hsuan Lee] chore: add `package-lock.json` to version control
06efeda [Hsuan Lee] docs: update frontend README
e7f10d2 [Hsuan Lee] chore: add license header in `*.(js|md)`
5649306 [Hsuan Lee] chore: add license header
8a07902 [Hsuan Lee] chore: update theme variables
10f7c78 [Hsuan Lee] chore: remove commit-lint
03ff8d5 [Hsuan Lee] fix: code editor language highlight
f53ad54 [Hsuan Lee] docs: update frontend README
95bccaf [Wendell] feat: add code editor
4ea8b50 [Hsuan Lee] feat: add visualizations
3d02d0e [vthinkxie] chore: support basic features of zeppelin
eafc519 [Hsuan Lee] feat: add base services
27c5bdf [Hsuan Lee] feat: add common projects
0c39614 [Hsuan Lee] zeppelin-frontend init commit
asfgit pushed a commit that referenced this pull request Jan 12, 2020
### What is this PR for?

The old version of zeppelin was written with AngularJS, there exist many issues related to the zeppelin-web and could not resolve due to the low version of AngularJS.

So we rework the zeppelin-web with the latest Angular (8.0).

### What type of PR is it?

Feature

### Implementation progress

#### Pages

| Name | Route | Module     | UI |
| ---  | ----- | ---------- | -- |
| Home | `/`   | HomeModule |  Y |
| Login | `/login`       | LoginModule |  Y |
| Job Manager  | `/jobmanager`  | JobManagerModule |  Y |
| Interpreter Setting   | `/interpreter` | InterpreterModule |  Y |
| Notebook | `/notebook/{id}` | NotebookModule |  Y |
| Notebook Repos | `/notebookRepos` |  |   |
| Credential     | `/credential` |  |   |
| Helium | `/helium` |  |  WIP  |
| Configuration | `/configuration` |  |   |

#### Notebook Features

| Feature | Description | Status |
| ------  | ---- | ---- |
| Files System  | Create/ Rename/ Import etc.  | Y |
| Toolbar Actions  | The top toolbar actions   | Y |

#### Paragraph Features

| Feature | Description | Status |
| ------  | ---- | ---- |
| Grid layout and resizable | | Y |
| Code Editor | | Y |
| Actions  | The Corresponding actions of the drop-down menu in the setting button | Y |
| Actions(hot-keys)  | Support hot-keys for the actions  | WIP |
| Publishable  | [publish paragraphs](http://zeppelin.apache.org/docs/0.8.0/usage/other_features/publishing_paragraphs.html)  |  |
| Stream  |  |  |

#### Result Display

| Type | Status |
| ------  | ---- |
| Dynamic Form  | Y |
| Text  | Y |
| Html  |  Y |
| Table  |  Y |
| Network  |  |

#### Table Visualization

| Type | State |
| ------ | ---- |
| Line Chart  | Y |
| Bard Chart  |  Y |
| Pie Chart  |  Y |
| Area Chart  |  Y |
| Scatter Chart  | Y |

#### Helium Visualization

| Type | Description | Status |
| ------  | ---- | ---- |
| Prototype | To verify the implementable prototype | Y |
| Publish Dependencies | Just like [zeppelin-vis](https://github.com/apache/zeppelin/tree/master/zeppelin-web/src/app/visualization)  | WIP |
| Example Projects |   | Y |
| Development Documents |   | WIP |

### What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-4321
https://issues.apache.org/jira/browse/ZEPPELIN-4215

### How should this be tested?

#### Prerequisites

- [Node.js](https://nodejs.org) version 10.9.0 or later or use [creationix/nvm](https://github.com/creationix/nvm).
- NPM package manager (which is installed with Node.js by default).
- [Angular CLI](https://angular.io/cli) version 8.3.0 or later.

#### Install

```bash
$ cd zeppelin-frontend
$ npm install
```
Install dependencies in the project directory.

### Start Zeppelin server

[Run Zeppelin server](https://zeppelin.apache.org/contribution/contributions.html#run-zeppelin-server-in-development-mode) on `http://localhost:8080`.

If you are using a custom port instead of the default(http://localhost:8080) or other network address, you can create `.env` file in the project directory and set `SERVER_PROXY`.

*.env*

```
SERVER_PROXY=http://localhost:8080
```

### Development server

```bash
$ npm start
```
Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

### Build

Run `npm build` to build the project. The build artifacts will be stored in the `dist/` directory.

### Screenshots (if appropriate)

**Login**

![login](https://user-images.githubusercontent.com/22736418/67387927-62206580-f5ca-11e9-8268-e7036f32ea1c.png)

**Home**

![image](https://user-images.githubusercontent.com/22736418/67388288-f4286e00-f5ca-11e9-9265-c9290830a5cd.png)
![image](https://user-images.githubusercontent.com/22736418/67388304-f8ed2200-f5ca-11e9-9368-09b00edd1d67.png)

**Interpreter**

![zp-interpreter](https://user-images.githubusercontent.com/22736418/67388335-086c6b00-f5cb-11e9-9d03-add1054c3aeb.gif)

**Job Manager**

![zp-jm](https://user-images.githubusercontent.com/22736418/67388392-21751c00-f5cb-11e9-8170-f311fd0dced4.gif)

**Dynamic Form**

![zp-df](https://user-images.githubusercontent.com/22736418/67388447-3ce02700-f5cb-11e9-90dd-cee932fa685c.gif)

**Frontend API(latest Angular)**

![zp-ng](https://user-images.githubusercontent.com/22736418/67388538-70bb4c80-f5cb-11e9-921d-6c34a4a99711.gif)

** Visualization**

![zp-vis](https://user-images.githubusercontent.com/22736418/67388602-8c265780-f5cb-11e9-9de9-e198878bee09.gif)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? Maybe
* Does this needs documentation? YES

Author: Hsuan Lee <hsuangm@gmail.com>
Author: Wendell <wendzhue@gmail.com>
Author: vthinkxie <yadong.xyd@alibaba-inc.com>

Closes #3490 from hsuanxyz/frontend-next and squashes the following commits:

cb673df [Hsuan Lee] chore: named TODOs
826b6d4 [Hsuan Lee] ci: add exclude item
10ea71e [Hsuan Lee] ci: fix ci config
d48b8f9 [Hsuan Lee] chore: rename the dirname to zeppelin-web-angular
ec4475c [Hsuan Lee] chore: update LICENSE and add pom.xml in zeppelin-frontend
d0dc194 [Hsuan Lee] chore: add `package-lock.json` to version control
06efeda [Hsuan Lee] docs: update frontend README
e7f10d2 [Hsuan Lee] chore: add license header in `*.(js|md)`
5649306 [Hsuan Lee] chore: add license header
8a07902 [Hsuan Lee] chore: update theme variables
10f7c78 [Hsuan Lee] chore: remove commit-lint
03ff8d5 [Hsuan Lee] fix: code editor language highlight
f53ad54 [Hsuan Lee] docs: update frontend README
95bccaf [Wendell] feat: add code editor
4ea8b50 [Hsuan Lee] feat: add visualizations
3d02d0e [vthinkxie] chore: support basic features of zeppelin
eafc519 [Hsuan Lee] feat: add base services
27c5bdf [Hsuan Lee] feat: add common projects
0c39614 [Hsuan Lee] zeppelin-frontend init commit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants