From ef354e94f20ace67b94faa2859c458a436cdd3f7 Mon Sep 17 00:00:00 2001 From: Kagami Sascha Rosylight Date: Sun, 25 Jun 2023 04:04:33 +0200 Subject: refactor(backend): replace rndstr with secureRndstr (#11044) * refactor(backend): replace rndstr with secureRndstr * Update pnpm-lock.yaml * .js --- packages/backend/test/unit/RoleService.ts | 30 +++++++++++++++--------------- packages/backend/test/unit/activitypub.ts | 10 +++++----- 2 files changed, 20 insertions(+), 20 deletions(-) (limited to 'packages/backend/test/unit') diff --git a/packages/backend/test/unit/RoleService.ts b/packages/backend/test/unit/RoleService.ts index 907f1f2edc..6979f23e0c 100644 --- a/packages/backend/test/unit/RoleService.ts +++ b/packages/backend/test/unit/RoleService.ts @@ -4,7 +4,6 @@ import { jest } from '@jest/globals'; import { ModuleMocker } from 'jest-mock'; import { Test } from '@nestjs/testing'; import * as lolex from '@sinonjs/fake-timers'; -import rndstr from 'rndstr'; import { GlobalModule } from '@/GlobalModule.js'; import { RoleService } from '@/core/RoleService.js'; import type { Role, RolesRepository, RoleAssignmentsRepository, UsersRepository, User } from '@/models/index.js'; @@ -14,6 +13,7 @@ import { genAid } from '@/misc/id/aid.js'; import { CacheService } from '@/core/CacheService.js'; import { IdService } from '@/core/IdService.js'; import { GlobalEventService } from '@/core/GlobalEventService.js'; +import { secureRndstr } from '@/misc/secure-rndstr.js'; import { sleep } from '../utils.js'; import type { TestingModule } from '@nestjs/testing'; import type { MockFunctionMetadata } from 'jest-mock'; @@ -30,7 +30,7 @@ describe('RoleService', () => { let clock: lolex.InstalledClock; function createUser(data: Partial = {}) { - const un = rndstr('a-z0-9', 16); + const un = secureRndstr(16); return usersRepository.insert({ id: genAid(new Date()), createdAt: new Date(), @@ -106,19 +106,19 @@ describe('RoleService', () => { }); describe('getUserPolicies', () => { - test('instance default policies', async () => { + test('instance default policies', async () => { const user = await createUser(); metaService.fetch.mockResolvedValue({ policies: { canManageCustomEmojis: false, }, } as any); - + const result = await roleService.getUserPolicies(user.id); - + expect(result.canManageCustomEmojis).toBe(false); }); - + test('instance default policies 2', async () => { const user = await createUser(); metaService.fetch.mockResolvedValue({ @@ -126,12 +126,12 @@ describe('RoleService', () => { canManageCustomEmojis: true, }, } as any); - + const result = await roleService.getUserPolicies(user.id); - + expect(result.canManageCustomEmojis).toBe(true); }); - + test('with role', async () => { const user = await createUser(); const role = await createRole({ @@ -150,9 +150,9 @@ describe('RoleService', () => { canManageCustomEmojis: false, }, } as any); - + const result = await roleService.getUserPolicies(user.id); - + expect(result.canManageCustomEmojis).toBe(true); }); @@ -185,9 +185,9 @@ describe('RoleService', () => { driveCapacityMb: 50, }, } as any); - + const result = await roleService.getUserPolicies(user.id); - + expect(result.driveCapacityMb).toBe(100); }); @@ -226,7 +226,7 @@ describe('RoleService', () => { canManageCustomEmojis: false, }, } as any); - + const user1Policies = await roleService.getUserPolicies(user1.id); const user2Policies = await roleService.getUserPolicies(user2.id); expect(user1Policies.canManageCustomEmojis).toBe(false); @@ -251,7 +251,7 @@ describe('RoleService', () => { canManageCustomEmojis: false, }, } as any); - + const result = await roleService.getUserPolicies(user.id); expect(result.canManageCustomEmojis).toBe(true); diff --git a/packages/backend/test/unit/activitypub.ts b/packages/backend/test/unit/activitypub.ts index 146998937e..7cd740a2fa 100644 --- a/packages/backend/test/unit/activitypub.ts +++ b/packages/backend/test/unit/activitypub.ts @@ -1,7 +1,6 @@ process.env.NODE_ENV = 'test'; import * as assert from 'assert'; -import rndstr from 'rndstr'; import { Test } from '@nestjs/testing'; import { jest } from '@jest/globals'; @@ -13,13 +12,14 @@ import { CoreModule } from '@/core/CoreModule.js'; import { FederatedInstanceService } from '@/core/FederatedInstanceService.js'; import { LoggerService } from '@/core/LoggerService.js'; import type { IActor } from '@/core/activitypub/type.js'; -import { MockResolver } from '../misc/mock-resolver.js'; import { Note } from '@/models/index.js'; +import { secureRndstr } from '@/misc/secure-rndstr.js'; +import { MockResolver } from '../misc/mock-resolver.js'; const host = 'https://host1.test'; function createRandomActor(): IActor & { id: string } { - const preferredUsername = `${rndstr('A-Z', 4)}${rndstr('a-z', 4)}`; + const preferredUsername = secureRndstr(8); const actorId = `${host}/users/${preferredUsername.toLowerCase()}`; return { @@ -61,7 +61,7 @@ describe('ActivityPub', () => { const post = { '@context': 'https://www.w3.org/ns/activitystreams', - id: `${host}/users/${rndstr('0-9a-z', 8)}`, + id: `${host}/users/${secureRndstr(8)}`, type: 'Note', attributedTo: actor.id, to: 'https://www.w3.org/ns/activitystreams#Public', @@ -94,7 +94,7 @@ describe('ActivityPub', () => { test('Truncate long name', async () => { const actor = { ...createRandomActor(), - name: rndstr('0-9a-z', 129), + name: secureRndstr(129), }; resolver._register(actor.id, actor); -- cgit v1.2.3-freya From d84796588c1472334ddaf696a817f015c245ce44 Mon Sep 17 00:00:00 2001 From: okayurisotto Date: Sat, 8 Jul 2023 07:08:16 +0900 Subject: cleanup: trim trailing whitespace (#11136) * cleanup: trim trailing whitespace * update(`.editorconfig`) --------- Co-authored-by: syuilo --- .devcontainer/docker-compose.yml | 2 +- .editorconfig | 4 + CONTRIBUTING.md | 4 +- README.md | 6 +- assets/title_float.svg | 4 +- cypress/e2e/basic.cy.js | 2 +- packages/backend/src/core/AccountMoveService.ts | 2 +- packages/backend/src/core/AiService.ts | 8 +- packages/backend/src/core/AntennaService.ts | 30 +++--- packages/backend/src/core/CaptchaService.ts | 12 +-- .../backend/src/core/CreateSystemUserService.ts | 22 ++--- packages/backend/src/core/CustomEmojiService.ts | 6 +- packages/backend/src/core/DeleteAccountService.ts | 4 +- packages/backend/src/core/EmailService.ts | 18 ++-- .../backend/src/core/FederatedInstanceService.ts | 10 +- .../src/core/FetchInstanceMetadataService.ts | 92 +++++++++--------- packages/backend/src/core/FileInfoService.ts | 16 +-- packages/backend/src/core/HttpRequestService.ts | 8 +- packages/backend/src/core/IdService.ts | 2 +- packages/backend/src/core/InstanceActorService.ts | 4 +- packages/backend/src/core/MetaService.ts | 8 +- packages/backend/src/core/MfmService.ts | 108 ++++++++++----------- packages/backend/src/core/NoteCreateService.ts | 4 +- packages/backend/src/core/NoteDeleteService.ts | 2 +- packages/backend/src/core/NoteReadService.ts | 4 +- packages/backend/src/core/NotificationService.ts | 2 +- packages/backend/src/core/PollService.ts | 20 ++-- .../backend/src/core/PushNotificationService.ts | 12 +-- packages/backend/src/core/QueryService.ts | 40 ++++---- packages/backend/src/core/RelayService.ts | 28 +++--- .../backend/src/core/RemoteUserResolveService.ts | 30 +++--- packages/backend/src/core/RoleService.ts | 2 +- packages/backend/src/core/SignupService.ts | 30 +++--- .../src/core/TwoFactorAuthenticationService.ts | 86 ++++++++-------- packages/backend/src/core/UserSuspendService.ts | 24 ++--- .../backend/src/core/VideoProcessingService.ts | 2 +- packages/backend/src/core/WebhookService.ts | 2 +- .../src/core/activitypub/ApAudienceService.ts | 24 ++--- .../src/core/activitypub/ApDbResolverService.ts | 4 +- .../core/activitypub/ApDeliverManagerService.ts | 2 +- .../backend/src/core/activitypub/ApMfmService.ts | 4 +- .../src/core/activitypub/models/ApImageService.ts | 2 +- .../core/activitypub/models/ApMentionService.ts | 4 +- .../src/core/activitypub/models/ApNoteService.ts | 102 +++++++++---------- .../src/core/activitypub/models/ApPersonService.ts | 4 +- .../src/core/entities/DriveFileEntityService.ts | 2 +- .../backend/src/core/entities/NoteEntityService.ts | 10 +- .../src/core/entities/NoteReactionEntityService.ts | 2 +- .../src/core/entities/NotificationEntityService.ts | 2 +- .../backend/src/core/entities/UserEntityService.ts | 2 +- packages/backend/src/daemons/QueueStatsService.ts | 2 +- packages/backend/src/misc/json-schema.ts | 2 +- packages/backend/src/misc/prelude/url.ts | 2 +- .../backend/src/models/entities/UserProfile.ts | 2 +- .../backend/src/queue/QueueProcessorService.ts | 2 +- .../processors/ExportAntennasProcessorService.ts | 2 +- .../processors/ImportAntennasProcessorService.ts | 6 +- .../ImportCustomEmojisProcessorService.ts | 2 +- .../processors/WebhookDeliverProcessorService.ts | 10 +- .../backend/src/server/api/AuthenticateService.ts | 16 +-- .../backend/src/server/api/RateLimiterService.ts | 20 ++-- packages/backend/src/server/api/SigninService.ts | 2 +- packages/backend/src/server/api/endpoint-base.ts | 10 +- .../api/endpoints/admin/announcements/update.ts | 2 +- .../src/server/api/endpoints/admin/emoji/list.ts | 2 +- .../src/server/api/endpoints/admin/emoji/update.ts | 2 +- .../server/api/endpoints/admin/queue/promote.ts | 2 +- .../src/server/api/endpoints/admin/update-meta.ts | 2 +- .../src/server/api/endpoints/channels/timeline.ts | 2 +- .../src/server/api/endpoints/drive/files/update.ts | 2 +- packages/backend/src/server/api/endpoints/emoji.ts | 2 +- .../backend/src/server/api/endpoints/emojis.ts | 2 +- .../src/server/api/endpoints/hashtags/users.ts | 2 +- packages/backend/src/server/api/endpoints/i.ts | 2 +- .../src/server/api/endpoints/i/2fa/update-key.ts | 2 +- packages/backend/src/server/api/endpoints/meta.ts | 2 +- packages/backend/src/server/api/endpoints/notes.ts | 16 +-- .../src/server/api/endpoints/notes/search.ts | 4 +- .../src/server/api/endpoints/notes/translate.ts | 2 +- .../src/server/api/endpoints/roles/notes.ts | 2 +- .../endpoints/users/lists/create-from-public.ts | 4 +- .../server/api/endpoints/users/lists/favorite.ts | 2 +- .../src/server/api/endpoints/users/search.ts | 2 +- .../src/server/api/stream/ChannelsService.ts | 2 +- .../src/server/api/stream/channels/hashtag.ts | 2 +- .../server/api/stream/channels/home-timeline.ts | 2 +- .../server/api/stream/channels/role-timeline.ts | 2 +- .../src/server/api/stream/channels/user-list.ts | 2 +- packages/backend/src/server/web/FeedService.ts | 12 +-- packages/backend/src/server/web/bios.js | 6 +- packages/backend/src/server/web/cli.js | 6 +- packages/backend/src/server/web/views/base.pug | 4 +- packages/backend/src/server/web/views/error.pug | 4 +- packages/backend/src/server/web/views/note.pug | 2 +- packages/backend/test/prelude/get-api-validator.ts | 2 +- packages/backend/test/unit/DriveService.ts | 2 +- packages/backend/test/unit/FileInfoService.ts | 22 ++--- packages/backend/test/unit/RelayService.ts | 8 +- packages/backend/test/unit/chart.ts | 12 +-- packages/frontend/src/boot/main-boot.ts | 2 +- .../frontend/src/components/MkDrive.folder.vue | 6 +- .../frontend/src/components/MkDrive.navFolder.vue | 6 +- packages/frontend/src/components/MkDrive.vue | 6 +- .../frontend/src/components/MkFileListForAdmin.vue | 2 +- .../frontend/src/components/MkFlashPreview.vue | 2 +- packages/frontend/src/components/MkMediaVideo.vue | 4 +- .../frontend/src/components/MkNoteDetailed.vue | 2 +- packages/frontend/src/components/MkSuperMenu.vue | 2 +- packages/frontend/src/components/MkUserPopup.vue | 2 +- .../MkUserSetupDialog.Follow.stories.impl.ts | 2 +- .../MkUserSetupDialog.Privacy.stories.impl.ts | 2 +- .../MkUserSetupDialog.Profile.stories.impl.ts | 2 +- .../src/components/MkUserSetupDialog.User.vue | 2 +- .../components/MkUserSetupDialog.stories.impl.ts | 2 +- .../components/global/MkMisskeyFlavoredMarkdown.ts | 2 +- packages/frontend/src/directives/adaptive-bg.ts | 2 +- .../frontend/src/directives/adaptive-border.ts | 2 +- packages/frontend/src/directives/panel.ts | 2 +- packages/frontend/src/filters/date.ts | 2 +- packages/frontend/src/local-storage.ts | 2 +- packages/frontend/src/nirax.ts | 6 +- packages/frontend/src/pages/about.emojis.vue | 4 +- packages/frontend/src/pages/admin/index.vue | 2 +- packages/frontend/src/pages/admin/moderation.vue | 2 +- .../src/pages/admin/overview.ap-requests.vue | 2 +- .../src/pages/admin/overview.federation.vue | 2 +- .../frontend/src/pages/admin/overview.queue.vue | 2 +- packages/frontend/src/pages/admin/overview.vue | 2 +- packages/frontend/src/pages/admin/roles.editor.vue | 2 +- packages/frontend/src/pages/channel-editor.vue | 6 +- packages/frontend/src/pages/clip.vue | 2 +- .../frontend/src/pages/custom-emojis-manager.vue | 4 +- packages/frontend/src/pages/follow.vue | 2 +- packages/frontend/src/pages/instance-info.vue | 2 +- packages/frontend/src/pages/list.vue | 2 +- packages/frontend/src/pages/registry.keys.vue | 2 +- packages/frontend/src/pages/registry.value.vue | 2 +- packages/frontend/src/pages/reset-password.vue | 2 +- .../frontend/src/pages/settings/drive-cleaner.vue | 2 +- packages/frontend/src/pages/settings/navbar.vue | 2 +- .../src/pages/settings/preferences-backups.vue | 4 +- packages/frontend/src/pages/settings/privacy.vue | 4 +- packages/frontend/src/pages/settings/roles.vue | 2 +- packages/frontend/src/pages/settings/security.vue | 2 +- packages/frontend/src/pizzax.ts | 10 +- packages/frontend/src/scripts/aiscript/ui.ts | 2 +- packages/frontend/src/scripts/get-user-menu.ts | 2 +- packages/frontend/src/scripts/lookup.ts | 2 +- packages/frontend/src/scripts/url.ts | 2 +- packages/frontend/src/scripts/use-note-capture.ts | 4 +- packages/frontend/src/style.scss | 4 +- packages/frontend/src/themes/l-botanical.json5 | 2 +- packages/frontend/src/ui/classic.header.vue | 4 +- packages/frontend/src/ui/classic.vue | 2 +- .../frontend/src/widgets/WidgetAiscriptApp.vue | 2 +- packages/frontend/src/widgets/WidgetClicker.vue | 2 +- .../frontend/src/widgets/WidgetNotifications.vue | 2 +- packages/misskey-js/src/streaming.ts | 2 +- packages/misskey-js/test-d/streaming.ts | 2 +- packages/misskey-js/test/api.ts | 8 +- packages/misskey-js/test/streaming.ts | 2 +- 161 files changed, 615 insertions(+), 609 deletions(-) (limited to 'packages/backend/test/unit') diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index 8f8c5a13ab..2809cd2ca4 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.8' services: app: - build: + build: context: . dockerfile: Dockerfile diff --git a/.editorconfig b/.editorconfig index a6f988f8d7..def7baa1a8 100644 --- a/.editorconfig +++ b/.editorconfig @@ -6,6 +6,10 @@ indent_size = 2 charset = utf-8 insert_final_newline = true end_of_line = lf +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false [*.{yml,yaml}] indent_style = space diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f6b3804f84..896fb6b089 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -106,7 +106,7 @@ If your language is not listed in Crowdin, please open an issue. ![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg) ## Development -During development, it is useful to use the +During development, it is useful to use the ``` pnpm dev @@ -150,7 +150,7 @@ Prepare DB/Redis for testing. ``` docker compose -f packages/backend/test/docker-compose.yml up ``` -Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`. +Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`. Run all test. ``` diff --git a/README.md b/README.md index 2aae4bb865..ab4388c2eb 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ Misskey logo - + **🌎 **[Misskey](https://misskey-hub.net/)** is an open source, decentralized social media platform that's free forever! 🚀** - + --- @@ -21,7 +21,7 @@ become a patron - + --- [![codecov](https://codecov.io/gh/misskey-dev/misskey/branch/develop/graph/badge.svg?token=R6IQZ3QJOL)](https://codecov.io/gh/misskey-dev/misskey) diff --git a/assets/title_float.svg b/assets/title_float.svg index 43205ac1c4..ed1749e321 100644 --- a/assets/title_float.svg +++ b/assets/title_float.svg @@ -23,13 +23,13 @@ + diff --git a/packages/frontend/src/pages/admin/overview.vue b/packages/frontend/src/pages/admin/overview.vue index e8295c81b5..838c197f05 100644 --- a/packages/frontend/src/pages/admin/overview.vue +++ b/packages/frontend/src/pages/admin/overview.vue @@ -30,7 +30,7 @@ - + diff --git a/packages/frontend/src/pages/admin/roles.editor.vue b/packages/frontend/src/pages/admin/roles.editor.vue index a1fa9d2932..02a2d4366a 100644 --- a/packages/frontend/src/pages/admin/roles.editor.vue +++ b/packages/frontend/src/pages/admin/roles.editor.vue @@ -210,7 +210,7 @@ - +