From 5ede011bf0e48b27b276ef977f0eeb11910de2c9 Mon Sep 17 00:00:00 2001 From: sugar Date: Thu, 16 Jan 2025 20:32:16 +0100 Subject: [PATCH 1/6] Use pnpm/action-setup@v4.0.0 in Actions It's not possible to use v4, as action-setup doesn't have v4 tag, and unlike GitHub Actions, Forgejo Actions doesn't try to automatically convert refs like v4 into full tags like v4.0.0. --- .forgejo/workflows/api-misskey-js.yml | 2 +- .forgejo/workflows/lint.yml | 6 +++--- .forgejo/workflows/test-backend.yml | 4 ++-- .forgejo/workflows/test-frontend.yml | 2 +- .forgejo/workflows/test-misskey-js.yml | 2 +- .forgejo/workflows/test-production.yml | 2 +- .forgejo/workflows/validate-api-json.yml | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.forgejo/workflows/api-misskey-js.yml b/.forgejo/workflows/api-misskey-js.yml index 620f1415b..0dcd3d889 100644 --- a/.forgejo/workflows/api-misskey-js.yml +++ b/.forgejo/workflows/api-misskey-js.yml @@ -21,7 +21,7 @@ jobs: submodules: true - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v4.0.0 with: run_install: false diff --git a/.forgejo/workflows/lint.yml b/.forgejo/workflows/lint.yml index b77761e16..5aea45df0 100644 --- a/.forgejo/workflows/lint.yml +++ b/.forgejo/workflows/lint.yml @@ -26,7 +26,7 @@ jobs: with: fetch-depth: 0 submodules: true - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v4.0.0 with: run_install: false - uses: actions/setup-node@v4.1.0 @@ -51,7 +51,7 @@ jobs: with: fetch-depth: 0 submodules: true - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v4.0.0 with: run_install: false - uses: actions/setup-node@v4.1.0 @@ -75,7 +75,7 @@ jobs: with: fetch-depth: 0 submodules: true - - uses: pnpm/action-setup@v4 + - uses: pnpm/action-setup@v4.0.0 with: run_install: false - uses: actions/setup-node@v4.1.0 diff --git a/.forgejo/workflows/test-backend.yml b/.forgejo/workflows/test-backend.yml index 0f38bdf06..a94b0afda 100644 --- a/.forgejo/workflows/test-backend.yml +++ b/.forgejo/workflows/test-backend.yml @@ -51,7 +51,7 @@ jobs: fetch-depth: 0 submodules: true - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v4.0.0 with: run_install: false - name: Install FFmpeg @@ -107,7 +107,7 @@ jobs: fetch-depth: 0 submodules: true - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v4.0.0 with: run_install: false - name: Use Node.js ${{ matrix.node-version }} diff --git a/.forgejo/workflows/test-frontend.yml b/.forgejo/workflows/test-frontend.yml index 4533cceb7..66f90179b 100644 --- a/.forgejo/workflows/test-frontend.yml +++ b/.forgejo/workflows/test-frontend.yml @@ -35,7 +35,7 @@ jobs: fetch-depth: 0 submodules: true - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v4.0.0 with: run_install: false - name: Use Node.js ${{ matrix.node-version }} diff --git a/.forgejo/workflows/test-misskey-js.yml b/.forgejo/workflows/test-misskey-js.yml index eb3db8af4..db90b80c0 100644 --- a/.forgejo/workflows/test-misskey-js.yml +++ b/.forgejo/workflows/test-misskey-js.yml @@ -31,7 +31,7 @@ jobs: submodules: true - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v4.0.0 with: run_install: false diff --git a/.forgejo/workflows/test-production.yml b/.forgejo/workflows/test-production.yml index 36eede611..776341249 100644 --- a/.forgejo/workflows/test-production.yml +++ b/.forgejo/workflows/test-production.yml @@ -23,7 +23,7 @@ jobs: fetch-depth: 0 submodules: true - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v4.0.0 with: run_install: false - name: Use Node.js ${{ matrix.node-version }} diff --git a/.forgejo/workflows/validate-api-json.yml b/.forgejo/workflows/validate-api-json.yml index 5017a7d42..f72371d52 100644 --- a/.forgejo/workflows/validate-api-json.yml +++ b/.forgejo/workflows/validate-api-json.yml @@ -24,7 +24,7 @@ jobs: fetch-depth: 0 submodules: true - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v4.0.0 with: run_install: false - name: Use Node.js ${{ matrix.node-version }} -- 2.45.2 From f531171c59f552e46955dc152ec3a5f4be7fc4d6 Mon Sep 17 00:00:00 2001 From: sugar Date: Thu, 16 Jan 2025 20:33:07 +0100 Subject: [PATCH 2/6] Get setup-ffmpeg action from github.com It's not mirrored by code.forgejo.org. --- .forgejo/workflows/test-backend.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/test-backend.yml b/.forgejo/workflows/test-backend.yml index a94b0afda..652ff178d 100644 --- a/.forgejo/workflows/test-backend.yml +++ b/.forgejo/workflows/test-backend.yml @@ -55,7 +55,7 @@ jobs: with: run_install: false - name: Install FFmpeg - uses: FedericoCarboni/setup-ffmpeg@v3 + uses: https://github.com/FedericoCarboni/setup-ffmpeg@v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4.1.0 with: -- 2.45.2 From 56dcf2c95623d59f81d93b5377f4962809439625 Mon Sep 17 00:00:00 2001 From: sugar Date: Thu, 16 Jan 2025 20:34:25 +0100 Subject: [PATCH 3/6] fix backend linting errors --- packages/backend/src/server/api/SignupApiService.ts | 6 +++--- .../backend/src/server/api/endpoints/admin/decline-user.ts | 2 -- .../backend/src/server/api/endpoints/following/create.ts | 6 +++--- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/backend/src/server/api/SignupApiService.ts b/packages/backend/src/server/api/SignupApiService.ts index 252920e58..3386c29d4 100644 --- a/packages/backend/src/server/api/SignupApiService.ts +++ b/packages/backend/src/server/api/SignupApiService.ts @@ -244,14 +244,14 @@ export class SignupApiService { } else { try { const { account, secret } = await this.signupService.signup({ - username, password, host, reason + username, password, host, reason, }); if (instance.approvalRequiredForSignup) { if (emailAddress) { this.emailService.sendEmail(emailAddress, 'Approval pending', - 'Congratulations! Your account is now pending approval. You will get notified when you have been accepted.', - 'Congratulations! Your account is now pending approval. You will get notified when you have been accepted.'); + 'Congratulations! Your account is now pending approval. You will get notified when you have been accepted.', + 'Congratulations! Your account is now pending approval. You will get notified when you have been accepted.'); } } diff --git a/packages/backend/src/server/api/endpoints/admin/decline-user.ts b/packages/backend/src/server/api/endpoints/admin/decline-user.ts index 4c8ccb98b..04b2fc5f7 100644 --- a/packages/backend/src/server/api/endpoints/admin/decline-user.ts +++ b/packages/backend/src/server/api/endpoints/admin/decline-user.ts @@ -63,12 +63,10 @@ export default class extends Endpoint { // eslint- await this.usedUsernamesRepository.delete({ username: user.username }); - //Actually delete it since the last function doesnt actually delete the account //Note: Before approval these accounts wont federate so this is totally fine. await this.usersRepository.delete(user.id); - this.moderationLogService.log(me, 'decline', { userId: user.id, userUsername: user.username, diff --git a/packages/backend/src/server/api/endpoints/following/create.ts b/packages/backend/src/server/api/endpoints/following/create.ts index 5340901d3..eab638062 100644 --- a/packages/backend/src/server/api/endpoints/following/create.ts +++ b/packages/backend/src/server/api/endpoints/following/create.ts @@ -37,9 +37,9 @@ export const meta = { unapprovedUser: { message: 'The user has not been approved yet.', - code: 'UNAPPROVED_USER', - id: '8d66f136-b3e1-48fd-92c4-30ecfd7fdb7a', - }, + code: 'UNAPPROVED_USER', + id: '8d66f136-b3e1-48fd-92c4-30ecfd7fdb7a', + }, followeeIsYourself: { message: 'Followee is yourself.', -- 2.45.2 From 453bece1845b6b97f05b8be67565c9602c3f212b Mon Sep 17 00:00:00 2001 From: sugar Date: Thu, 16 Jan 2025 20:40:28 +0100 Subject: [PATCH 4/6] fix frontend linting errors --- packages/frontend/src/pages/admin/approvals.vue | 4 ++-- packages/frontend/src/router/definition.ts | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/frontend/src/pages/admin/approvals.vue b/packages/frontend/src/pages/admin/approvals.vue index ad76a988c..6119fa7fc 100644 --- a/packages/frontend/src/pages/admin/approvals.vue +++ b/packages/frontend/src/pages/admin/approvals.vue @@ -46,8 +46,8 @@ const pagination = { function deleted(id: string) { if (paginationComponent.value) { paginationComponent.value.items = paginationComponent.value.items.filter( - (item: any) => item.id !== id - ); + (item: any) => item.id !== id, + ); } } diff --git a/packages/frontend/src/router/definition.ts b/packages/frontend/src/router/definition.ts index 3a3f646e8..14b5fa961 100644 --- a/packages/frontend/src/router/definition.ts +++ b/packages/frontend/src/router/definition.ts @@ -484,13 +484,13 @@ const routes: RouteDef[] = [{ component: page(() => import('@/pages/admin/invites.vue')), }, { path: '/approvals', - name: 'approvals', - component: page(() => import('@/pages/admin/approvals.vue')), - }, { + name: 'approvals', + component: page(() => import('@/pages/admin/approvals.vue')), + }, { path: '/', component: page(() => import('@/pages/_empty_.vue')), }], -},{ +}, { path: '/my/notifications', component: page(() => import('@/pages/notifications.vue')), loginRequired: true, -- 2.45.2 From 2951162865b3b7d1782173d3038fde5303c1e4e0 Mon Sep 17 00:00:00 2001 From: sugar Date: Thu, 16 Jan 2025 20:51:12 +0100 Subject: [PATCH 5/6] use different test configuration file for forgejo forgejo currently doesn't support port redirection, so it's necessary for services to use their normal ports the old file is kept for local usage --- .forgejo/misskey/test-forgejo.yml | 16 ++++++++++++++++ .forgejo/workflows/test-backend.yml | 12 ++---------- .forgejo/workflows/test-frontend.yml | 2 +- .forgejo/workflows/test-production.yml | 2 +- 4 files changed, 20 insertions(+), 12 deletions(-) create mode 100644 .forgejo/misskey/test-forgejo.yml diff --git a/.forgejo/misskey/test-forgejo.yml b/.forgejo/misskey/test-forgejo.yml new file mode 100644 index 000000000..32cd9861d --- /dev/null +++ b/.forgejo/misskey/test-forgejo.yml @@ -0,0 +1,16 @@ +# Workaround for Forgejo not supporting port redirection + +url: 'http://misskey.local' + +port: 61812 + +db: + host: postgres + port: 5432 + db: test-misskey + user: postgres + pass: '' +redis: + host: dragonfly + port: 6379 +id: aidx diff --git a/.forgejo/workflows/test-backend.yml b/.forgejo/workflows/test-backend.yml index 652ff178d..cc5ae6d33 100644 --- a/.forgejo/workflows/test-backend.yml +++ b/.forgejo/workflows/test-backend.yml @@ -25,8 +25,6 @@ jobs: services: postgres: image: postgres:15 - ports: - - 54312:5432 env: POSTGRES_DB: test-misskey POSTGRES_HOST_AUTH_METHOD: trust @@ -42,8 +40,6 @@ jobs: DFLY_conn_io_threads: 4 DFLY_epoll_file_threads: 4 DFLY_proactor_threads: 4 - ports: - - 56312:6379 steps: - uses: actions/checkout@v4 @@ -65,7 +61,7 @@ jobs: - name: Check pnpm-lock.yaml run: git diff --exit-code pnpm-lock.yaml - name: Copy Configure - run: cp .forgejo/misskey/test.yml .config + run: cp .forgejo/misskey/test-forgejo.yml .config/test.yml - name: Build run: pnpm build - name: Test @@ -81,8 +77,6 @@ jobs: services: postgres: image: postgres:15 - ports: - - 54312:5432 env: POSTGRES_DB: test-misskey POSTGRES_HOST_AUTH_METHOD: trust @@ -98,8 +92,6 @@ jobs: DFLY_conn_io_threads: 4 DFLY_epoll_file_threads: 4 DFLY_proactor_threads: 4 - ports: - - 56312:6379 steps: - uses: actions/checkout@v4 @@ -119,7 +111,7 @@ jobs: - name: Check pnpm-lock.yaml run: git diff --exit-code pnpm-lock.yaml - name: Copy Configure - run: cp .forgejo/misskey/test.yml .config + run: cp .forgejo/misskey/test-forgejo.yml .config/test.yml - name: Build run: pnpm build - name: Test diff --git a/.forgejo/workflows/test-frontend.yml b/.forgejo/workflows/test-frontend.yml index 66f90179b..d7baf4b32 100644 --- a/.forgejo/workflows/test-frontend.yml +++ b/.forgejo/workflows/test-frontend.yml @@ -47,7 +47,7 @@ jobs: - name: Check pnpm-lock.yaml run: git diff --exit-code pnpm-lock.yaml - name: Copy Configure - run: cp .forgejo/misskey/test.yml .config + run: cp .forgejo/misskey/test-forgejo.yml .config/test.yml - name: Build run: pnpm build - name: Test diff --git a/.forgejo/workflows/test-production.yml b/.forgejo/workflows/test-production.yml index 776341249..56c075577 100644 --- a/.forgejo/workflows/test-production.yml +++ b/.forgejo/workflows/test-production.yml @@ -35,6 +35,6 @@ jobs: - name: Check pnpm-lock.yaml run: git diff --exit-code pnpm-lock.yaml - name: Copy Configure - run: cp .forgejo/misskey/test.yml .config/default.yml + run: cp .forgejo/misskey/test-forgejo.yml .config/default.yml - name: Build run: pnpm build -- 2.45.2 From 1c8a2cfa46f2c693d0e963e77ec0d164ef63f7a5 Mon Sep 17 00:00:00 2001 From: sugar Date: Thu, 16 Jan 2025 22:07:34 +0100 Subject: [PATCH 6/6] update tests to handle signup requests --- packages/backend/src/models/json-schema/user.ts | 8 ++++++++ packages/backend/test/e2e/users.ts | 2 ++ packages/misskey-js/src/autogen/types.ts | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/packages/backend/src/models/json-schema/user.ts b/packages/backend/src/models/json-schema/user.ts index 7aa4350b3..1fc71c2ac 100644 --- a/packages/backend/src/models/json-schema/user.ts +++ b/packages/backend/src/models/json-schema/user.ts @@ -651,6 +651,14 @@ export const packedMeDetailedOnlySchema = { type: 'boolean', nullable: true, optional: true, }, + approved: { + type: 'boolean', + nullable: false, optional: true, + }, + signupReason: { + type: 'string', + nullable: true, optional: true, + }, securityKeysList: { type: 'array', nullable: false, optional: true, diff --git a/packages/backend/test/e2e/users.ts b/packages/backend/test/e2e/users.ts index 2df28ada4..c7aca5958 100644 --- a/packages/backend/test/e2e/users.ts +++ b/packages/backend/test/e2e/users.ts @@ -151,6 +151,8 @@ describe('ユーザー', () => { ...(security ? { email: user.email, emailVerified: user.emailVerified, + approved: user.approved, + signupReason: user.signupReason, securityKeysList: user.securityKeysList, } : {}), }); diff --git a/packages/misskey-js/src/autogen/types.ts b/packages/misskey-js/src/autogen/types.ts index 4f234263d..a3d105d06 100644 --- a/packages/misskey-js/src/autogen/types.ts +++ b/packages/misskey-js/src/autogen/types.ts @@ -4103,6 +4103,8 @@ export type components = { policies: components['schemas']['RolePolicies']; email?: string | null; emailVerified?: boolean | null; + approved?: boolean; + signupReason?: string | null; securityKeysList?: { /** * Format: id @@ -15517,6 +15519,8 @@ export type operations = { type?: string | null; /** @enum {string|null} */ sort?: '+createdAt' | '-createdAt' | '+name' | '-name' | '+size' | '-size' | null; + /** @default */ + searchQuery?: string; }; }; }; @@ -16116,6 +16120,8 @@ export type operations = { * @default null */ folderId?: string | null; + /** @default */ + searchQuery?: string; }; }; }; -- 2.45.2