From 6057229cebc4a164a1c898dd769ba53e7ea417c2 Mon Sep 17 00:00:00 2001 From: Brandon Rising Date: Mon, 22 Jan 2024 11:22:33 -0500 Subject: [PATCH 001/133] Github action for ensuring PRs are labeled in a way that makes it easy to distinguish what's being changed --- .github/pr_labels.yml | 40 ++++++++++++++++++++++++++++++++++ .github/workflows/label-pr.yml | 16 ++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 .github/pr_labels.yml create mode 100644 .github/workflows/label-pr.yml diff --git a/.github/pr_labels.yml b/.github/pr_labels.yml new file mode 100644 index 0000000000..802c6dd0e1 --- /dev/null +++ b/.github/pr_labels.yml @@ -0,0 +1,40 @@ +Root: +- changed-files: + - any-glob-to-any-file: '*' + +PythonDeps: +- changed-files: + - any-glob-to-any-file: 'pyproject.toml' + +Python: +- changed-files: + - any-glob-to-any-file: + - 'invokeai/**' + - '!invokeai/frontend/web/**' + - 'tests/**' + +Invocations: +- changed-files: + - any-glob-to-any-file: 'invokeai/app/invocations/**' + +Backend: +- changed-files: + - any-glob-to-any-file: 'invokeai/backend/**' + +Api: +- changed-files: + - any-glob-to-any-file: 'invokeai/app/api/**' + +Services: +- changed-files: + - any-glob-to-any-file: 'invokeai/app/services/**' + +FrontendDeps: +- changed-files: + - any-glob-to-any-file: + - '**/*/package.json' + - '**/*/pnpm-lock.yaml' + +Frontend: +- changed-files: + - any-glob-to-any-file: 'invokeai/frontend/web/**' diff --git a/.github/workflows/label-pr.yml b/.github/workflows/label-pr.yml new file mode 100644 index 0000000000..bc14e2f2c8 --- /dev/null +++ b/.github/workflows/label-pr.yml @@ -0,0 +1,16 @@ +name: "Pull Request Labeler" +on: +- pull_request_target + +jobs: + labeler: + permissions: + contents: read + pull-requests: write + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - uses: actions/labeler@v5 + with: + configuration-path: .github/pr_labels.yml \ No newline at end of file From 4caf63d53d198dae2ca313ca00988970156d054c Mon Sep 17 00:00:00 2001 From: Brandon Rising Date: Mon, 22 Jan 2024 15:08:11 -0500 Subject: [PATCH 002/133] Added a few more labels --- .github/pr_labels.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/pr_labels.yml b/.github/pr_labels.yml index 802c6dd0e1..f23fcee9f3 100644 --- a/.github/pr_labels.yml +++ b/.github/pr_labels.yml @@ -13,6 +13,22 @@ Python: - '!invokeai/frontend/web/**' - 'tests/**' +CICD: +- changed-files: + - any-glob-to-any-file: .github/** + +Docker: +- changed-files: + - any-glob-to-any-file: docker/** + +Installer: +- changed-files: + - any-glob-to-any-file: installer/** + +Documentation: +- changed-files: + - any-glob-to-any-file: docs/** + Invocations: - changed-files: - any-glob-to-any-file: 'invokeai/app/invocations/**' From b94f6a4a296bffd6b43b45d65d9487f4f15ed9f0 Mon Sep 17 00:00:00 2001 From: Brandon Rising Date: Mon, 22 Jan 2024 15:14:02 -0500 Subject: [PATCH 003/133] Fix python label, add test label --- .github/pr_labels.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/pr_labels.yml b/.github/pr_labels.yml index f23fcee9f3..9580ccb0be 100644 --- a/.github/pr_labels.yml +++ b/.github/pr_labels.yml @@ -8,10 +8,13 @@ PythonDeps: Python: - changed-files: - - any-glob-to-any-file: + - all-globs-to-any-file: - 'invokeai/**' - '!invokeai/frontend/web/**' - - 'tests/**' + +PythonTests: +- changed-files: + - any-glob-to-any-file: 'tests/**' CICD: - changed-files: From 099d516ac01fc839a5ea07ffbe1650ed163eeafc Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 11 Jan 2024 22:40:57 +1100 Subject: [PATCH 004/133] docs(ui): update README --- invokeai/frontend/web/docs/README.md | 131 +++++++++------------------ 1 file changed, 44 insertions(+), 87 deletions(-) diff --git a/invokeai/frontend/web/docs/README.md b/invokeai/frontend/web/docs/README.md index a8f8b7e7b0..138aded3ab 100644 --- a/invokeai/frontend/web/docs/README.md +++ b/invokeai/frontend/web/docs/README.md @@ -1,79 +1,51 @@ -# InvokeAI Web UI +# Invoke UI -- [InvokeAI Web UI](#invokeai-web-ui) +- [Invoke UI](#invoke-ui) - [Core Libraries](#core-libraries) - - [Redux Toolkit](#redux-toolkit) - - [Socket\.IO](#socketio) - - [Chakra UI](#chakra-ui) - - [KonvaJS](#konvajs) - - [Vite](#vite) - - [i18next & Weblate](#i18next--weblate) - - [openapi-typescript](#openapi-typescript) - - [reactflow](#reactflow) - - [zod](#zod) - - [Client Types Generation](#client-types-generation) - [Package Scripts](#package-scripts) + - [Client Types Generation](#client-types-generation) - [Contributing](#contributing) + - [Localization](#localization) - [Dev Environment](#dev-environment) - - [VSCode Remote Dev](#vscode-remote-dev) - - [Production builds](#production-builds) + - [VSCode Remote Dev](#vscode-remote-dev) -The UI is a fairly straightforward Typescript React app. - ## Core Libraries -InvokeAI's UI is made possible by a number of excellent open-source libraries. The most heavily-used are listed below, but there are many others. +Invoke's UI is made possible by a number of excellent open-source libraries. The most heavily-used are listed below, but there are many others. -### Redux Toolkit +- [Redux Toolkit] +- [redux-remember] +- [Socket.IO] +- [Chakra UI] +- [KonvaJS] +- [Vite] +- [openapi-typescript] +- [reactflow] +- [zod] -[Redux Toolkit] is used for state management and fetching/caching: +## Package Scripts -- `RTK-Query` for data fetching and caching -- `createAsyncThunk` for a couple other HTTP requests -- `createEntityAdapter` to normalize things like images and models -- `createListenerMiddleware` for async workflows +See `package.json` for all scripts. -We use [redux-remember] for persistence. +Run with `pnpm