From 5e20d2a1c6309c40236cff87ed758f07852324ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Jan 2026 23:51:42 +0000 Subject: [PATCH 1/4] Bump lodash from 4.17.21 to 4.17.23 in /frontend Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23) --- updated-dependencies: - dependency-name: lodash dependency-version: 4.17.23 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- frontend/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index d62242b32..fb56e5a59 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -13528,9 +13528,9 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "devOptional": true }, "node_modules/lodash.debounce": { @@ -27233,9 +27233,9 @@ } }, "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "devOptional": true }, "lodash.debounce": { From dd2671511f55be8d04062146c0de741c7a88dabc Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn Date: Thu, 22 Jan 2026 21:40:07 -0800 Subject: [PATCH 2/4] Ignore draft PRs for review and add issues automatically --- .github/workflows/project-review-status.yml | 38 ++++++++++++++++++--- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/.github/workflows/project-review-status.yml b/.github/workflows/project-review-status.yml index 730208e78..983fadd07 100644 --- a/.github/workflows/project-review-status.yml +++ b/.github/workflows/project-review-status.yml @@ -1,21 +1,51 @@ -# Workflow: Automatically set project status to "Review Needed" when a reviewer is requested -name: Set Project Status on Review Request +# Workflow: Automate project board management +# - Add newly created issues to project #8 +# - Set status to "Review Needed" when a reviewer is requested on a non-draft PR +name: Project Board Automation -# Trigger: Runs whenever a reviewer is requested on a pull request +# Triggers: Review requested on PRs, or new issues opened on: pull_request: types: [review_requested] + issues: + types: [opened] jobs: update-project-status: runs-on: ubuntu-latest steps: - - name: Update Project Status to Review Needed + - name: Update Project Board uses: actions/github-script@v7 with: # Use the PAT stored in repository secrets (has project write access) github-token: ${{ secrets.PROJECT_TOKEN }} script: | + // Skip draft PRs + if (context.eventName === 'pull_request' && context.payload.pull_request.draft) { + console.log('PR is a draft, skipping Review Needed status...'); + return; + } + + // Handle new issues - add to project + if (context.eventName === 'issues') { + const addMutation = ` + mutation($projectId: ID!, $contentId: ID!) { + addProjectV2ItemById(input: {projectId: $projectId, contentId: $contentId}) { + item { id } + } + } + `; + + await github.graphql(addMutation, { + projectId: "${{ secrets.PROJECT_ID }}", + contentId: context.payload.issue.node_id + }); + + console.log('Successfully added issue to project #8'); + return; + } + + // Handle PR review_requested - update status to "Review Needed" // GraphQL query to find the PR's project items // This fetches all projects the PR is linked to const query = ` From 63d5035d5399ce3b3b8159e6ec4425d7a773088a Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn <100320+knorrium@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:06:44 -0800 Subject: [PATCH 3/4] Handle existing issues Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/workflows/project-review-status.yml | 27 +++++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/.github/workflows/project-review-status.yml b/.github/workflows/project-review-status.yml index 983fadd07..d790d5de5 100644 --- a/.github/workflows/project-review-status.yml +++ b/.github/workflows/project-review-status.yml @@ -36,12 +36,29 @@ jobs: } `; - await github.graphql(addMutation, { - projectId: "${{ secrets.PROJECT_ID }}", - contentId: context.payload.issue.node_id - }); + try { + await github.graphql(addMutation, { + projectId: "${{ secrets.PROJECT_ID }}", + contentId: context.payload.issue.node_id + }); - console.log('Successfully added issue to project #8'); + console.log('Successfully added issue to project #8'); + } catch (error) { + // Handle case where the issue is already in the project, or log other failures + const errors = error && error.errors ? error.errors : []; + const alreadyInProject = errors.some(e => + typeof e.message === 'string' && + e.message.toLowerCase().includes('already') && + e.message.toLowerCase().includes('project') + ); + + if (alreadyInProject) { + console.log('Issue is already in project #8, skipping add.'); + } else { + console.error('Failed to add issue to project #8:', error); + throw error; + } + } return; } From 94f7e1899a09bbb08d952b60d826eb02e6a37e91 Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn <100320+knorrium@users.noreply.github.com> Date: Thu, 22 Jan 2026 22:17:07 -0800 Subject: [PATCH 4/4] Change workflow step name Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/workflows/project-review-status.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/project-review-status.yml b/.github/workflows/project-review-status.yml index d790d5de5..0b12fa563 100644 --- a/.github/workflows/project-review-status.yml +++ b/.github/workflows/project-review-status.yml @@ -11,7 +11,7 @@ on: types: [opened] jobs: - update-project-status: + manage-project-board: runs-on: ubuntu-latest steps: - name: Update Project Board