diff --git a/.github/workflows/api-misskey-js.yml b/.github/workflows/api-misskey-js.yml index 6117e69c03..76a0bae8cc 100644 --- a/.github/workflows/api-misskey-js.yml +++ b/.github/workflows/api-misskey-js.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v4.3.0 - name: Setup pnpm uses: pnpm/action-setup@v4.1.0 diff --git a/.github/workflows/changelog-check.yml b/.github/workflows/changelog-check.yml index 5ca27749bb..f4abedd960 100644 --- a/.github/workflows/changelog-check.yml +++ b/.github/workflows/changelog-check.yml @@ -12,7 +12,7 @@ jobs: steps: - name: Checkout head - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v4.3.0 - name: Setup Node.js uses: actions/setup-node@v4.4.0 with: diff --git a/.github/workflows/check-misskey-js-autogen.yml b/.github/workflows/check-misskey-js-autogen.yml index 22d500c306..05034ea0f4 100644 --- a/.github/workflows/check-misskey-js-autogen.yml +++ b/.github/workflows/check-misskey-js-autogen.yml @@ -18,7 +18,7 @@ jobs: if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }} steps: - name: checkout - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v4.3.0 with: submodules: true persist-credentials: false @@ -66,7 +66,7 @@ jobs: if: ${{ github.event.pull_request.mergeable == null || github.event.pull_request.mergeable == true }} steps: - name: checkout - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v4.3.0 with: submodules: true persist-credentials: false diff --git a/.github/workflows/check-misskey-js-version.yml b/.github/workflows/check-misskey-js-version.yml index 2b15cbee53..0e336a1551 100644 --- a/.github/workflows/check-misskey-js-version.yml +++ b/.github/workflows/check-misskey-js-version.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v4.3.0 - name: Check version run: | if [ "$(jq -r '.version' package.json)" != "$(jq -r '.version' packages/misskey-js/package.json)" ]; then diff --git a/.github/workflows/check-spdx-license-id.yml b/.github/workflows/check-spdx-license-id.yml index cf1fd6007d..d0b1be4991 100644 --- a/.github/workflows/check-spdx-license-id.yml +++ b/.github/workflows/check-spdx-license-id.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v4.3.0 - name: Check run: | counter=0 diff --git a/.github/workflows/check_copyright_year.yml b/.github/workflows/check_copyright_year.yml index eaf922d4bc..d891a538c6 100644 --- a/.github/workflows/check_copyright_year.yml +++ b/.github/workflows/check_copyright_year.yml @@ -10,7 +10,7 @@ jobs: check_copyright_year: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 - run: | if [ "$(grep Copyright COPYING | sed -e 's/.*2014-\([0-9]*\) .*/\1/g')" -ne "$(date +%Y)" ]; then echo "Please change copyright year!" diff --git a/.github/workflows/deploy-test-environment.yml b/.github/workflows/deploy-test-environment.yml index 46baf7421b..d838bc35e5 100644 --- a/.github/workflows/deploy-test-environment.yml +++ b/.github/workflows/deploy-test-environment.yml @@ -28,7 +28,7 @@ jobs: wait_time: ${{ steps.get-wait-time.outputs.wait_time }} steps: - name: Checkout - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v4.3.0 - name: Check allowed users id: check-allowed-users diff --git a/.github/workflows/docker-develop.yml b/.github/workflows/docker-develop.yml index 56dedf273d..e24ef00d78 100644 --- a/.github/workflows/docker-develop.yml +++ b/.github/workflows/docker-develop.yml @@ -27,7 +27,7 @@ jobs: platform=${{ matrix.platform }} echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV - name: Check out the repo - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v4.3.0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to Docker Hub diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index eb98273ba0..991fb85d85 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -32,7 +32,7 @@ jobs: platform=${{ matrix.platform }} echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV - name: Check out the repo - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v4.3.0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Docker meta diff --git a/.github/workflows/dockle.yml b/.github/workflows/dockle.yml index f006a45ea4..1c0863e274 100644 --- a/.github/workflows/dockle.yml +++ b/.github/workflows/dockle.yml @@ -15,7 +15,7 @@ jobs: DOCKER_CONTENT_TRUST: 1 DOCKLE_VERSION: 0.4.14 steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 - name: Download and install dockle v${{ env.DOCKLE_VERSION }} run: | curl -L -o dockle.deb "https://github.com/goodwithtech/dockle/releases/download/v${DOCKLE_VERSION}/dockle_${DOCKLE_VERSION}_Linux-64bit.deb" diff --git a/.github/workflows/get-api-diff.yml b/.github/workflows/get-api-diff.yml index 933404dfa5..1cd1ef0ebd 100644 --- a/.github/workflows/get-api-diff.yml +++ b/.github/workflows/get-api-diff.yml @@ -25,7 +25,7 @@ jobs: ref: refs/pull/${{ github.event.number }}/merge steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: ref: ${{ matrix.ref }} submodules: true diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 550438e308..91813cebc3 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -36,7 +36,7 @@ jobs: pnpm_install: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: fetch-depth: 0 submodules: true @@ -69,7 +69,7 @@ jobs: eslint-cache-version: v1 eslint-cache-path: ${{ github.workspace }}/node_modules/.cache/eslint-${{ matrix.workspace }} steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: fetch-depth: 0 submodules: true @@ -81,7 +81,7 @@ jobs: cache: 'pnpm' - run: pnpm i --frozen-lockfile - name: Restore eslint cache - uses: actions/cache@v4.2.3 + uses: actions/cache@v4.2.4 with: path: ${{ env.eslint-cache-path }} key: eslint-${{ env.eslint-cache-version }}-${{ matrix.workspace }}-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.ref_name }}-${{ github.sha }} @@ -99,7 +99,7 @@ jobs: - sw - misskey-js steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: fetch-depth: 0 submodules: true diff --git a/.github/workflows/locale.yml b/.github/workflows/locale.yml index 68e45fdf61..63702c8bc7 100644 --- a/.github/workflows/locale.yml +++ b/.github/workflows/locale.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest continue-on-error: true steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: fetch-depth: 0 submodules: true diff --git a/.github/workflows/on-release-created.yml b/.github/workflows/on-release-created.yml index 7787d6055b..f36eb0037d 100644 --- a/.github/workflows/on-release-created.yml +++ b/.github/workflows/on-release-created.yml @@ -16,7 +16,7 @@ jobs: id-token: write steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: submodules: true - name: Setup pnpm diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml index b1d95c1b33..7f964ef1d7 100644 --- a/.github/workflows/storybook.yml +++ b/.github/workflows/storybook.yml @@ -22,12 +22,12 @@ jobs: NODE_OPTIONS: "--max_old_space_size=7168" steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 if: github.event_name != 'pull_request_target' with: fetch-depth: 0 submodules: true - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 if: github.event_name == 'pull_request_target' with: fetch-depth: 0 diff --git a/.github/workflows/test-backend.yml b/.github/workflows/test-backend.yml index 5358df3dc4..e9791ac95e 100644 --- a/.github/workflows/test-backend.yml +++ b/.github/workflows/test-backend.yml @@ -50,7 +50,7 @@ jobs: - 56312:6379 steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: submodules: true - name: Setup pnpm @@ -129,7 +129,7 @@ jobs: - 56312:6379 steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: submodules: true - name: Setup pnpm @@ -173,7 +173,7 @@ jobs: POSTGRES_HOST_AUTH_METHOD: trust steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: submodules: true - name: Setup pnpm diff --git a/.github/workflows/test-frontend.yml b/.github/workflows/test-frontend.yml index 94e43cf91e..da3c9255f2 100644 --- a/.github/workflows/test-frontend.yml +++ b/.github/workflows/test-frontend.yml @@ -28,7 +28,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: submodules: true - name: Setup pnpm @@ -76,7 +76,7 @@ jobs: - 56312:6379 steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: submodules: true # https://github.com/cypress-io/cypress-docker-images/issues/150 diff --git a/.github/workflows/test-misskey-js.yml b/.github/workflows/test-misskey-js.yml index f6d16bbd76..0fad57f8da 100644 --- a/.github/workflows/test-misskey-js.yml +++ b/.github/workflows/test-misskey-js.yml @@ -22,7 +22,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4.2.2 + uses: actions/checkout@v4.3.0 - name: Setup pnpm uses: pnpm/action-setup@v4.1.0 diff --git a/.github/workflows/test-production.yml b/.github/workflows/test-production.yml index 751c374608..08289dfd3b 100644 --- a/.github/workflows/test-production.yml +++ b/.github/workflows/test-production.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: submodules: true - name: Setup pnpm diff --git a/.github/workflows/validate-api-json.yml b/.github/workflows/validate-api-json.yml index edff7dbecb..25353e4d29 100644 --- a/.github/workflows/validate-api-json.yml +++ b/.github/workflows/validate-api-json.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.2.2 + - uses: actions/checkout@v4.3.0 with: submodules: true - name: Setup pnpm diff --git a/CHANGELOG.md b/CHANGELOG.md index f10ef87d2a..b1fde74a35 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,8 +37,8 @@ - コントロールパネル→ブランディング→エントランスページのスタイル - Feat: ページのタブバーを下部に表示できるように - Feat: (実験的)iOSでの触覚フィードバックを有効にできるように +- Feat: コントロールパネルを検索できるように - Enhance: 「自動でもっと見る」オプションが有効になり、安定性が向上しました -- Enhance: コントロールパネルを検索できるように - Enhance: トルコ語 (tr-TR) に対応 - Enhance: 不必要な翻訳データを読み込まなくなり、パフォーマンスが向上しました - Enhance: 画像エフェクトのパラメータ名の多言語対応 @@ -53,7 +53,8 @@ - Fix: カラムの名前が正しくリスト/チャンネルの名前にならない問題を修正 - Fix: 複数のメンションを1行に記述した場合に、サジェストが正しく表示されない問題を修正 - Fix: メンションとしての条件を満たしていても、特定の条件(`-`が含まれる場合など)で正しくサジェストされない問題を一部修正 -- Fix: 設定データの移行が完了しているクライアントでは、設定データ移行用のプログラムが読み込まれないように(軽量化) +- Fix: ユーザーの前後ノートを閲覧する機能が動作しない問題を修正 +- Fix: 設定データの移行が完了しているクライアントでは、設定データ移行用のプログラムの読み込みをスキップするように ### Server - Feat: サーバー管理コマンド @@ -66,6 +67,7 @@ - Enhance: `clips/list` APIがページネーションに対応しました - Fix: `notes/mentions` で場合によっては並び順が正しく返されない問題を修正 - Fix: SystemWebhook設定でsecretを空に出来ない問題を修正 +- Fix: 削除されたユーザーがチャットメッセージにリアクションしている場合`chat/history`などでエラーになる問題を修正 ## 2025.7.0 diff --git a/locales/ca-ES.yml b/locales/ca-ES.yml index ae9de0f173..f1a97bb63b 100644 --- a/locales/ca-ES.yml +++ b/locales/ca-ES.yml @@ -1245,7 +1245,7 @@ releaseToRefresh: "Deixar anar per actualitzar" refreshing: "Recarregant..." pullDownToRefresh: "Llisca cap a baix per recarregar" useGroupedNotifications: "Mostrar les notificacions agrupades " -signupPendingError: "Hi ha hagut un problema verificant l'adreça de correu electrònic. L'enllaç pot haver caducat." +emailVerificationFailedError: "Hem tingut un problema en verificar la teva adreça de correu electrònic. És probable que l'enllaç estigui caducat." cwNotationRequired: "Si està activat \"Amagar contingut\" s'ha d'escriure una descripció " doReaction: "Afegeix una reacció " code: "Codi" diff --git a/locales/de-DE.yml b/locales/de-DE.yml index 51ae0642aa..2d7d41bfdd 100644 --- a/locales/de-DE.yml +++ b/locales/de-DE.yml @@ -1243,7 +1243,6 @@ releaseToRefresh: "Zum Aktualisieren loslassen" refreshing: "Wird aktualisiert..." pullDownToRefresh: "Zum Aktualisieren ziehen" useGroupedNotifications: "Benachrichtigungen gruppieren" -signupPendingError: "Beim Überprüfen der Mailadresse ist etwas schiefgelaufen. Der Link könnte abgelaufen sein." cwNotationRequired: "Ist \"Inhaltswarnung verwenden\" aktiviert, muss eine Beschreibung gegeben werden." doReaction: "Reagieren" code: "Code" diff --git a/locales/en-US.yml b/locales/en-US.yml index 4a797e0fc2..b8a9fdbc44 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -1245,7 +1245,7 @@ releaseToRefresh: "Release to refresh" refreshing: "Refreshing..." pullDownToRefresh: "Pull down to refresh" useGroupedNotifications: "Display grouped notifications" -signupPendingError: "There was a problem verifying the email address. The link may have expired." +emailVerificationFailedError: "A problem occurred while verifying your email address. The link may have expired." cwNotationRequired: "If \"Hide content\" is enabled, a description must be provided." doReaction: "Add reaction" code: "Code" @@ -1376,6 +1376,7 @@ safeModeEnabled: "Safe mode is enabled" pluginsAreDisabledBecauseSafeMode: "All plugins are disabled because safe mode is enabled." customCssIsDisabledBecauseSafeMode: "Custom CSS is not applied because safe mode is enabled." themeIsDefaultBecauseSafeMode: "While safe mode is active, the default theme is used. Disabling safe mode will revert these changes." +thankYouForTestingBeta: "Thank you for helping us test the beta version!" _order: newest: "Newest First" oldest: "Oldest First" @@ -1665,6 +1666,9 @@ _serverSettings: userGeneratedContentsVisibilityForVisitor_description2: "Unconditionally publishing all content on the server to the Internet, including remote content received by the server is risky. This is especially important for guests who are unaware of the distributed nature of the content, as they may mistakenly believe that even remote content is content created by users on the server." restartServerSetupWizardConfirm_title: "Restart server setup wizard?" restartServerSetupWizardConfirm_text: "Some current settings will be reset." + entrancePageStyle: "Entrance page style" + showTimelineForVisitor: "Show timeline" + showActivityiesForVisitor: "Show activities" _userGeneratedContentsVisibilityForVisitor: all: "Everything is public" localOnly: "Only local content is published, remote content is kept private" diff --git a/locales/es-ES.yml b/locales/es-ES.yml index 51b377d49f..5d01c20e05 100644 --- a/locales/es-ES.yml +++ b/locales/es-ES.yml @@ -1054,6 +1054,7 @@ permissionDeniedError: "Operación denegada" permissionDeniedErrorDescription: "Esta cuenta no tiene permisos para hacer esa acción." preset: "Predefinido" selectFromPresets: "Escoger desde predefinidos" +custom: "Personalizado" achievements: "Logros" gotInvalidResponseError: "Respuesta del servidor inválida" gotInvalidResponseErrorDescription: "Puede que el servidor esté caído o en mantenimiento. Favor de intentar más tarde" @@ -1244,7 +1245,7 @@ releaseToRefresh: "Soltar para recargar" refreshing: "Recargando..." pullDownToRefresh: "Tira hacia abajo para recargar" useGroupedNotifications: "Mostrar notificaciones agrupadas" -signupPendingError: "Ha habido un problema al verificar tu dirección de correo electrónico. Es posible que el enlace haya caducado." +emailVerificationFailedError: "Se ha producido un error al confirmar tu dirección de correo electrónico. Es posible que el enlace haya caducado." cwNotationRequired: "Si se ha activado \"ocultar contenido\", es necesario proporcionar una descripción." doReaction: "Añadir reacción" code: "Código" @@ -1375,6 +1376,7 @@ safeModeEnabled: "El modo seguro está activado" pluginsAreDisabledBecauseSafeMode: "El modo seguro está activado, por lo que todos los plugins están desactivados." customCssIsDisabledBecauseSafeMode: "El modo seguro está activado, por lo que no se aplica el CSS personalizado." themeIsDefaultBecauseSafeMode: "Mientras el modo seguro esté activado, se utilizará el tema predeterminado. Cuando se desactive el modo seguro, se volverá al tema original." +thankYouForTestingBeta: "¡Gracias por tu colaboración en la prueba de la versión beta!" _order: newest: "Los más recientes primero" oldest: "Los más antiguos primero" @@ -1664,6 +1666,9 @@ _serverSettings: userGeneratedContentsVisibilityForVisitor_description2: "Publicar incondicionalmente todo el contenido del servidor en Internet, incluido el contenido remoto recibido por el servidor, es arriesgado. Esto es especialmente importante para los invitados que desconocen la naturaleza distribuida del contenido, ya que pueden creer erróneamente que incluso el contenido remoto es contenido creado por usuarios en el servidor." restartServerSetupWizardConfirm_title: "¿Reiniciar el asistente de configuración del servidor?" restartServerSetupWizardConfirm_text: "Algunas configuraciones actuales se restablecerán" + entrancePageStyle: "Estilo de la página de inicio" + showTimelineForVisitor: "Mostrar la línea de tiempo" + showActivityiesForVisitor: "Mostrar actividades" _userGeneratedContentsVisibilityForVisitor: all: "Todo es público." localOnly: "Sólo se publica el contenido local, el remoto se mantiene privado" @@ -2273,6 +2278,7 @@ _time: minute: "Minutos" hour: "Horas" day: "Días" + month: "Mes(es)" _2fa: alreadyRegistered: "Ya has completado la configuración." registerTOTP: "Registrar aplicación autenticadora" diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml index f47a350369..8ea21bdb46 100644 --- a/locales/fr-FR.yml +++ b/locales/fr-FR.yml @@ -1208,7 +1208,6 @@ releaseToRefresh: "Relâcher pour rafraîchir" refreshing: "Rafraîchissement..." pullDownToRefresh: "Tirer vers le bas pour rafraîchir" useGroupedNotifications: "Grouper les notifications" -signupPendingError: "Un problème est survenu lors de la vérification de votre adresse e-mail. Le lien a peut-être expiré." cwNotationRequired: "Si « Masquer le contenu » est activé, une description doit être fournie." doReaction: "Réagir" code: "Code" diff --git a/locales/id-ID.yml b/locales/id-ID.yml index 93683508b5..ac6aefa4b4 100644 --- a/locales/id-ID.yml +++ b/locales/id-ID.yml @@ -1212,7 +1212,6 @@ releaseToRefresh: "Lepaskan untuk memuat ulang" refreshing: "Sedang memuat ulang..." pullDownToRefresh: "Tarik ke bawah untuk memuat ulang" useGroupedNotifications: "Tampilkan notifikasi secara dikelompokkan" -signupPendingError: "Terdapat masalah ketika memverifikasi alamat surel. Tautan kemungkinan telah kedaluwarsa." cwNotationRequired: "Jika \"Sembunyikan konten\" diaktifkan, deskripsi harus disediakan." doReaction: "Tambahkan reaksi" code: "Kode" diff --git a/locales/it-IT.yml b/locales/it-IT.yml index 5d1b9dc924..9d91e558f9 100644 --- a/locales/it-IT.yml +++ b/locales/it-IT.yml @@ -1245,7 +1245,7 @@ releaseToRefresh: "Rilascia per aggiornare" refreshing: "Aggiornamento..." pullDownToRefresh: "Trascinare per aggiornare" useGroupedNotifications: "Mostra le notifiche raggruppate" -signupPendingError: "Si è verificato un problema durante la verifica del tuo indirizzo email. Potrebbe essere scaduto il collegamento temporaneo." +emailVerificationFailedError: "La verifica dell'indirizzo e-mail non è andata a buon fine. Il link potrebbe essere scaduto." cwNotationRequired: "Devi indicare perché il contenuto è indicato come esplicito." doReaction: "Reagisci" code: "Codice" diff --git a/locales/ja-KS.yml b/locales/ja-KS.yml index 05113500a3..d44ed1c3fc 100644 --- a/locales/ja-KS.yml +++ b/locales/ja-KS.yml @@ -1239,7 +1239,6 @@ releaseToRefresh: "離したらリロード" refreshing: "リロードしとる" pullDownToRefresh: "引っ張ってリロードするで" useGroupedNotifications: "通知をグループ分けして出すで" -signupPendingError: "メアド確認してたらなんか変なことなったわ。リンクの期限切れてるかもしれん。" cwNotationRequired: "「内容を隠す」んやったら注釈書かなアカンで。" doReaction: "ツッコむで" code: "コード" diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index 382a506726..bcd927e758 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -1245,7 +1245,7 @@ releaseToRefresh: "놓아서 새로고침" refreshing: "새로고침 중" pullDownToRefresh: "아래로 내려서 새로고침" useGroupedNotifications: "알림을 그룹화하고 표시" -signupPendingError: "메일 주소 확인중에 문제가 발생했습니다. 링크의 유효기간이 지났을 가능성이 있습니다." +emailVerificationFailedError: "메일 주소 확인에 실패했습니다. 확인에 필요한 URL의 유효기간이 지났을 가능성이 있습니다." cwNotationRequired: "'내용을 숨기기'를 체크한 경우 주석을 써야 합니다." doReaction: "리액션 추가" code: "문자열" diff --git a/locales/pt-PT.yml b/locales/pt-PT.yml index 64fec3957e..013d2ef549 100644 --- a/locales/pt-PT.yml +++ b/locales/pt-PT.yml @@ -1243,7 +1243,6 @@ releaseToRefresh: "Solte para atualizar" refreshing: "Atualizando..." pullDownToRefresh: "Puxe para baixo para atualizar" useGroupedNotifications: "Agrupar notificações" -signupPendingError: "Houve um problema ao verificar o endereço de email. O link pode ter expirado." cwNotationRequired: "Se \"Esconder conteúdo\" está habilitado, uma descrição deve ser adicionada." doReaction: "Adicionar reação" code: "Código" diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml index 3d3ecca531..aea69f6f24 100644 --- a/locales/ru-RU.yml +++ b/locales/ru-RU.yml @@ -1220,7 +1220,6 @@ flip: "Переворот" showAvatarDecorations: "Показать украшения для аватара" pullDownToRefresh: "Опустите что бы обновить" useGroupedNotifications: "Отображать уведомления сгруппировано" -signupPendingError: "Возникла проблема с подтверждением вашего адреса электронной почты. Возможно, срок действия ссылки истёк." cwNotationRequired: "Если включена опция «Скрыть содержимое», необходимо написать аннотацию." doReaction: "Добавить реакцию" code: "Код" diff --git a/locales/th-TH.yml b/locales/th-TH.yml index 0835902642..f70b0d5be8 100644 --- a/locales/th-TH.yml +++ b/locales/th-TH.yml @@ -1245,7 +1245,6 @@ releaseToRefresh: "ปล่อยเพื่อรีเฟรช" refreshing: "กำลังรีเฟรช..." pullDownToRefresh: "ดึงลงเพื่อรีเฟรช" useGroupedNotifications: "แสดงผลการแจ้งเตือนแบบกลุ่มแล้ว" -signupPendingError: "มีปัญหาในการตรวจสอบที่อยู่อีเมลลิงก์อาจหมดอายุแล้ว" cwNotationRequired: "หากเปิดใช้งาน “ซ่อนเนื้อหา” จะต้องระบุคำอธิบาย" doReaction: "เพิ่มรีแอคชั่น" code: "โค้ด" diff --git a/locales/tr-TR.yml b/locales/tr-TR.yml index cabd80e6e7..2efb51f08f 100644 --- a/locales/tr-TR.yml +++ b/locales/tr-TR.yml @@ -31,7 +31,7 @@ openInWindow: "Pencerede aç" profile: "Profil" timeline: "Pano" noAccountDescription: "Bu kullanıcı henüz biyografisini yazmamış." -login: "Giriş Yap" +login: "Oturum Aç" loggingIn: "Giriş Yapılıyor..." logout: "Çıkış Yap" signup: "Kaydol" @@ -310,7 +310,7 @@ agreeBelow: "Aşağıdakileri kabul ediyorum" basicNotesBeforeCreateAccount: "Önemli notlar" termsOfService: "Hizmet Şartları" start: "Başla" -home: "Ana sayfa" +home: "Pano" remoteUserCaution: "Bu kullanıcı uzak bir sunucudan geldiği için, gösterilen bilgiler eksik olabilir." activity: "Etkinlik" images: "Görseller" @@ -1054,6 +1054,7 @@ permissionDeniedError: "İşlem reddedildi" permissionDeniedErrorDescription: "Bu hesap bu işlemi gerçekleştirmek için gerekli izne sahip değildir." preset: "Ön ayar" selectFromPresets: "Ön ayarlardan seçim yapın" +custom: "Özel" achievements: "Başarılar" gotInvalidResponseError: "Geçersiz sunucu yanıtı" gotInvalidResponseErrorDescription: "Sunucu erişilemez durumda olabilir veya bakım çalışması yapılmaktadır. Lütfen daha sonra tekrar dene." @@ -1066,8 +1067,8 @@ collapseRenotesDescription: "Zaten yanıtladığın veya renote aldığın notla internalServerError: "İç Sunucu Hatası" internalServerErrorDescription: "Sunucu beklenmedik bir hatayla karşılaştı." copyErrorInfo: "Hata ayrıntılarını kopyala" -joinThisServer: "Bu sunucuda kaydolun" -exploreOtherServers: "Başka bir sunucu arayın" +joinThisServer: "Kaydol" +exploreOtherServers: "Diğer sunucuları keşfet" letsLookAtTimeline: "Pano'ya bir göz atın" disableFederationConfirm: "Federasyonu cidden devre dışı bırakmak istiyor musun?" disableFederationConfirmWarn: "Federasyondan ayrılsa bile, aksi belirtilmedikçe gönderiler herkese açık olmaya devam edecek. Genellikle bunu yapmanız gerekmez." @@ -1244,7 +1245,7 @@ releaseToRefresh: "Yenilemek için serbest bırak" refreshing: "Yenileniyor..." pullDownToRefresh: "Yenilemek için aşağı çekin" useGroupedNotifications: "Gruplandırılmış bildirimleri göster" -signupPendingError: "E-posta adresini doğrulamada bir sorun oluştu. Bağlantının süresi dolmuş olabilir." +emailVerificationFailedError: "E-posta adresi doğrulanırken bir sorun oluştu. Bağlantının geçerlilik süresi dolmuş olabilir." cwNotationRequired: "“İçeriği gizle” seçeneği etkinleştirilirse, bir açıklama sağlanmalı." doReaction: "Tepki ekle" code: "Kod" @@ -1375,6 +1376,7 @@ safeModeEnabled: "Güvenli mod etkinleştirildi" pluginsAreDisabledBecauseSafeMode: "Güvenli mod etkinleştirildiği için tüm eklentiler devre dışı bırakılmıştır." customCssIsDisabledBecauseSafeMode: "Güvenli mod etkin olduğu için özel CSS uygulanmıyor." themeIsDefaultBecauseSafeMode: "Güvenli mod etkinken, varsayılan tema kullanılır. Güvenli modu devre dışı bırakmak bu değişiklikleri geri alır." +thankYouForTestingBeta: "Beta sürümünü test ettiğin için teşekkür ederiz!" _order: newest: "Önce yeni" oldest: "Önce eski" @@ -1623,7 +1625,7 @@ _initialTutorial: _timelineDescription: home: "Ana Pano'da, takip ettiğin hesapların notlarını görebilirsin." local: "Yerel Pano'da, bu sunucudaki tüm kullanıcıların notlarını görebilirsin." - social: "Sosyal Pano, Ana Sayfa ve Yerel Pano'dan gelen notları görüntüler." + social: "Pano, Sosyal Pano ve Yerel Pano'dan gelen notları görüntüler." global: "Global Pano'da, bağlı tüm sunuculardan gelen notları görebilirsin." _serverRules: description: "Kayıt öncesinde gösterilecek bir dizi kural. Hizmet Şartlarının özetini belirlemen önerilir." @@ -1664,6 +1666,9 @@ _serverSettings: userGeneratedContentsVisibilityForVisitor_description2: "Sunucu tarafından alınan uzak içerik dahil olmak üzere sunucudaki tüm içeriği koşulsuz olarak İnternet'e yayınlamak risklidir. Bu, içeriğin dağıtılmış yapısından haberdar olmayan misafirler için özellikle önemlidir, çünkü onlar yanlışlıkla uzak içeriğin bile sunucudaki kullanıcılar tarafından oluşturulan içerik olduğunu düşünebilirler." restartServerSetupWizardConfirm_title: "Sunucu kurulum sihirbazını yeniden başlatmak ister misin?" restartServerSetupWizardConfirm_text: "Bazı mevcut ayarlar sıfırlanacaktır." + entrancePageStyle: "Giriş sayfası stili" + showTimelineForVisitor: "Panoyu göster" + showActivityiesForVisitor: "Aktiviteleri göster" _userGeneratedContentsVisibilityForVisitor: all: "Her şey halka açıktır." localOnly: "Yalnızca yerel içerik yayınlanır, uzak içerik gizli tutulur." @@ -2273,6 +2278,7 @@ _time: minute: "Dakika(lar)" hour: "Saat(ler)" day: "Gün(ler)" + month: "Ay" _2fa: alreadyRegistered: "2fa kimlik doğrulama cihazını zaten kaydettin." registerTOTP: "Kimlik doğrulama uygulamasını kaydet" @@ -2478,7 +2484,7 @@ _poll: _visibility: public: "Halka açık" publicDescription: "Notunuz tüm kullanıcılar tarafından görülebilir olacaktır." - home: "Ana sayfa" + home: "Pano" homeDescription: "Yalnızca ana zaman çizelgesine gönder" followers: "Takipçiler" followersDescription: "Sadece takipçilerine görünür hale getir" @@ -2554,7 +2560,7 @@ _instanceCharts: files: "Dosya sayısındaki fark" filesTotal: "Toplam dosya sayısı" _timelines: - home: "Ana Sayfa" + home: "Pano" local: "Yerel" social: "Sosyal" global: "Global" @@ -2672,7 +2678,7 @@ _notification: chatRoomInvitationReceived: "Sohbet odasına davet edildi" achievementEarned: "Başarı kilidi açıldı" exportCompleted: "İhracat işlemi tamamlandı." - login: "Giriş Yap" + login: "Oturum Aç" createToken: "Erişim jetonu oluştur" test: "Bildirim testi" app: "Bağlı uygulamalardan gelen bildirimler" @@ -2709,7 +2715,7 @@ _deck: main: "Ana" widgets: "Widget'lar" notifications: "Bildirimler" - tl: "Ana Sayfa" + tl: "Pano" antenna: "Antenler" list: "Liste" channel: "Kanal" diff --git a/locales/vi-VN.yml b/locales/vi-VN.yml index 8b4f1bfd5e..cb2f37bed7 100644 --- a/locales/vi-VN.yml +++ b/locales/vi-VN.yml @@ -1196,7 +1196,6 @@ showAvatarDecorations: "Hiển thị trang trí ảnh đại diện" releaseToRefresh: "Thả để làm mới" refreshing: "Đang làm mới" pullDownToRefresh: "Kéo xuống để làm mới" -signupPendingError: "Đã xảy ra sự cố khi xác minh địa chỉ email của bạn. Liên kết có thể đã hết hạn." cwNotationRequired: "Nếu \"Ẩn nội dung\" được bật thì cần phải có chú thích." decorate: "Trang trí" lastNDays: "{n} ngày trước" diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml index 7fbb907783..08f3fda096 100644 --- a/locales/zh-CN.yml +++ b/locales/zh-CN.yml @@ -1245,7 +1245,7 @@ releaseToRefresh: "松开以刷新" refreshing: "刷新中" pullDownToRefresh: "下拉以刷新" useGroupedNotifications: "分组显示通知" -signupPendingError: "确认电子邮件时出现错误。链接可能已过期。" +emailVerificationFailedError: "确认电子邮件时出现错误。链接可能已过期。" cwNotationRequired: "在启用「隐藏内容」时必须输入注释" doReaction: "回应" code: "代码" diff --git a/locales/zh-TW.yml b/locales/zh-TW.yml index ead814b7bb..1656896133 100644 --- a/locales/zh-TW.yml +++ b/locales/zh-TW.yml @@ -1245,7 +1245,7 @@ releaseToRefresh: "放開以更新內容" refreshing: "載入更新中" pullDownToRefresh: "往下拉來更新內容" useGroupedNotifications: "分組顯示通知訊息" -signupPendingError: "驗證您的電子郵件地址時出現問題。連結可能已過期。" +emailVerificationFailedError: "驗證您的電子郵件地址時出現問題。連結可能已過期。" cwNotationRequired: "如果開啟「隱藏內容」,則需要註解說明。" doReaction: "做出反應" code: "程式碼" diff --git a/package.json b/package.json index 85d3137563..027d832494 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "misskey", - "version": "2025.8.0-beta.2", + "version": "2025.8.0-beta.3", "codename": "nasubi", "repository": { "type": "git", "url": "https://github.com/misskey-dev/misskey.git" }, - "packageManager": "pnpm@10.14.0", + "packageManager": "pnpm@10.15.0", "workspaces": [ "packages/frontend-shared", "packages/frontend", @@ -53,8 +53,8 @@ "lodash": "4.17.21" }, "dependencies": { - "cssnano": "7.1.0", - "esbuild": "0.25.8", + "cssnano": "7.1.1", + "esbuild": "0.25.9", "execa": "9.6.0", "fast-glob": "3.3.3", "glob": "11.0.3", @@ -67,15 +67,15 @@ }, "devDependencies": { "@misskey-dev/eslint-plugin": "2.1.0", - "@types/node": "22.17.1", - "@typescript-eslint/eslint-plugin": "8.39.0", - "@typescript-eslint/parser": "8.39.0", + "@types/node": "22.17.2", + "@typescript-eslint/eslint-plugin": "8.40.0", + "@typescript-eslint/parser": "8.40.0", "cross-env": "7.0.3", "cypress": "14.5.4", - "eslint": "9.33.0", + "eslint": "9.34.0", "globals": "16.3.0", "ncp": "2.0.0", - "pnpm": "10.14.0", + "pnpm": "10.15.0", "start-server-and-test": "2.0.13" }, "optionalDependencies": { diff --git a/packages/backend/src/core/entities/ChatEntityService.ts b/packages/backend/src/core/entities/ChatEntityService.ts index 6bce2413fd..cfa983e766 100644 --- a/packages/backend/src/core/entities/ChatEntityService.ts +++ b/packages/backend/src/core/entities/ChatEntityService.ts @@ -54,12 +54,13 @@ export class ChatEntityService { const message = typeof src === 'object' ? src : await this.chatMessagesRepository.findOneByOrFail({ id: src }); - const reactions: { user: Packed<'UserLite'>; reaction: string; }[] = []; + // userは削除されている可能性があるのでnull許容 + const reactions: { user: Packed<'UserLite'> | null; reaction: string; }[] = []; for (const record of message.reactions) { const [userId, reaction] = record.split('/'); reactions.push({ - user: packedUsers?.get(userId) ?? await this.userEntityService.pack(userId), + user: packedUsers?.get(userId) ?? await this.userEntityService.pack(userId).catch(() => null), reaction, }); } @@ -76,7 +77,7 @@ export class ChatEntityService { toRoom: message.toRoomId ? (packedRooms?.get(message.toRoomId) ?? await this.packRoom(message.toRoom ?? message.toRoomId, me)) : undefined, fileId: message.fileId, file: message.fileId ? (packedFiles?.get(message.fileId) ?? await this.driveFileEntityService.pack(message.file ?? message.fileId)) : null, - reactions, + reactions: reactions.filter((r): r is { user: Packed<'UserLite'>; reaction: string; } => r.user != null), }; } @@ -108,6 +109,7 @@ export class ChatEntityService { } } + // TODO: packedUsersに削除されたユーザーもnullとして含める const [packedUsers, packedFiles, packedRooms] = await Promise.all([ this.userEntityService.packMany(users, me) .then(users => new Map(users.map(u => [u.id, u]))), @@ -183,12 +185,13 @@ export class ChatEntityService { const message = typeof src === 'object' ? src : await this.chatMessagesRepository.findOneByOrFail({ id: src }); - const reactions: { user: Packed<'UserLite'>; reaction: string; }[] = []; + // userは削除されている可能性があるのでnull許容 + const reactions: { user: Packed<'UserLite'> | null; reaction: string; }[] = []; for (const record of message.reactions) { const [userId, reaction] = record.split('/'); reactions.push({ - user: packedUsers?.get(userId) ?? await this.userEntityService.pack(userId), + user: packedUsers?.get(userId) ?? await this.userEntityService.pack(userId).catch(() => null), reaction, }); } @@ -202,7 +205,7 @@ export class ChatEntityService { toRoomId: message.toRoomId!, fileId: message.fileId, file: message.fileId ? (packedFiles?.get(message.fileId) ?? await this.driveFileEntityService.pack(message.file ?? message.fileId)) : null, - reactions, + reactions: reactions.filter((r): r is { user: Packed<'UserLite'>; reaction: string; } => r.user != null), }; } diff --git a/packages/frontend-embed/package.json b/packages/frontend-embed/package.json index f9d1330ae5..73bcd798f0 100644 --- a/packages/frontend-embed/package.json +++ b/packages/frontend-embed/package.json @@ -16,7 +16,7 @@ "@rollup/pluginutils": "5.2.0", "@twemoji/parser": "16.0.0", "@vitejs/plugin-vue": "6.0.1", - "@vue/compiler-sfc": "3.5.18", + "@vue/compiler-sfc": "3.5.19", "astring": "1.9.0", "buraha": "0.0.1", "estree-walker": "3.0.3", @@ -26,16 +26,16 @@ "mfm-js": "0.25.0", "misskey-js": "workspace:*", "punycode.js": "2.3.1", - "rollup": "4.46.2", - "sass": "1.89.2", - "shiki": "3.9.1", + "rollup": "4.48.0", + "sass": "1.90.0", + "shiki": "3.11.0", "tinycolor2": "1.6.0", "tsc-alias": "1.8.16", "tsconfig-paths": "4.2.0", "typescript": "5.9.2", "uuid": "11.1.0", - "vite": "7.0.6", - "vue": "3.5.18" + "vite": "7.1.3", + "vue": "3.5.19" }, "devDependencies": { "@misskey-dev/summaly": "5.2.3", @@ -43,14 +43,14 @@ "@testing-library/vue": "8.1.0", "@types/estree": "1.0.8", "@types/micromatch": "4.0.9", - "@types/node": "22.17.0", + "@types/node": "22.17.2", "@types/punycode.js": "npm:@types/punycode@2.1.4", "@types/tinycolor2": "1.4.6", "@types/ws": "8.18.1", - "@typescript-eslint/eslint-plugin": "8.38.0", - "@typescript-eslint/parser": "8.38.0", + "@typescript-eslint/eslint-plugin": "8.40.0", + "@typescript-eslint/parser": "8.40.0", "@vitest/coverage-v8": "3.2.4", - "@vue/runtime-core": "3.5.18", + "@vue/runtime-core": "3.5.19", "acorn": "8.15.0", "cross-env": "10.0.0", "eslint-plugin-import": "2.32.0", @@ -59,14 +59,14 @@ "happy-dom": "18.0.1", "intersection-observer": "0.12.2", "micromatch": "4.0.8", - "msw": "2.10.4", + "msw": "2.10.5", "nodemon": "3.1.10", "prettier": "3.6.2", - "start-server-and-test": "2.0.12", - "tsx": "4.20.3", + "start-server-and-test": "2.0.13", + "tsx": "4.20.4", "vite-plugin-turbosnap": "1.0.3", - "vue-component-type-helpers": "3.0.5", + "vue-component-type-helpers": "3.0.6", "vue-eslint-parser": "10.2.0", - "vue-tsc": "3.0.5" + "vue-tsc": "3.0.6" } } diff --git a/packages/frontend-shared/js/const.ts b/packages/frontend-shared/js/const.ts index 5c33c38f44..b2d83fff8b 100644 --- a/packages/frontend-shared/js/const.ts +++ b/packages/frontend-shared/js/const.ts @@ -88,6 +88,7 @@ export const ROLE_POLICIES = [ 'canManageCustomEmojis', 'canManageAvatarDecorations', 'canSearchNotes', + 'canSearchUsers', 'canUseTranslator', 'canHideAds', 'driveCapacityMb', diff --git a/packages/frontend-shared/package.json b/packages/frontend-shared/package.json index 7452ecc918..ea2d66a7c7 100644 --- a/packages/frontend-shared/package.json +++ b/packages/frontend-shared/package.json @@ -21,10 +21,10 @@ "lint": "pnpm typecheck && pnpm eslint" }, "devDependencies": { - "@types/node": "22.17.0", - "@typescript-eslint/eslint-plugin": "8.38.0", - "@typescript-eslint/parser": "8.38.0", - "esbuild": "0.25.8", + "@types/node": "22.17.2", + "@typescript-eslint/eslint-plugin": "8.40.0", + "@typescript-eslint/parser": "8.40.0", + "esbuild": "0.25.9", "eslint-plugin-vue": "10.4.0", "nodemon": "3.1.10", "typescript": "5.9.2", @@ -35,6 +35,6 @@ ], "dependencies": { "misskey-js": "workspace:*", - "vue": "3.5.18" + "vue": "3.5.19" } } diff --git a/packages/frontend/package.json b/packages/frontend/package.json index fe2f47ad1f..952af75d97 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -24,14 +24,14 @@ "@rollup/plugin-json": "6.1.0", "@rollup/plugin-replace": "6.0.2", "@rollup/pluginutils": "5.2.0", - "@sentry/vue": "10.0.0", + "@sentry/vue": "10.5.0", "@syuilo/aiscript": "1.1.0", "@syuilo/aiscript-0-19-0": "npm:@syuilo/aiscript@^0.19.0", "@twemoji/parser": "16.0.0", "@vitejs/plugin-vue": "6.0.1", - "@vue/compiler-sfc": "3.5.18", + "@vue/compiler-sfc": "3.5.19", "aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.1.15", - "analytics": "0.8.16", + "analytics": "0.8.19", "astring": "1.9.0", "broadcast-channel": "7.1.0", "buraha": "0.0.1", @@ -55,7 +55,7 @@ "ios-haptics": "0.1.0", "is-file-animated": "1.0.2", "json5": "2.2.3", - "magic-string": "0.30.17", + "magic-string": "0.30.18", "matter-js": "0.20.0", "mfm-js": "0.25.0", "misskey-bubble-game": "workspace:*", @@ -63,10 +63,10 @@ "misskey-reversi": "workspace:*", "photoswipe": "5.4.4", "punycode.js": "2.3.1", - "rollup": "4.46.2", + "rollup": "4.48.0", "sanitize-html": "2.17.0", - "sass": "1.89.2", - "shiki": "3.9.1", + "sass": "1.90.0", + "shiki": "3.11.0", "strict-event-emitter-types": "2.0.0", "textarea-caret": "3.1.0", "three": "0.179.1", @@ -76,8 +76,8 @@ "tsconfig-paths": "4.2.0", "typescript": "5.9.2", "v-code-diff": "1.13.1", - "vite": "7.0.6", - "vue": "3.5.18", + "vite": "7.1.3", + "vue": "3.5.19", "vuedraggable": "next", "wanakana": "5.3.1" }, @@ -86,7 +86,7 @@ "@storybook/addon-actions": "9.0.8", "@storybook/addon-essentials": "8.6.14", "@storybook/addon-interactions": "8.6.14", - "@storybook/addon-links": "9.1.0", + "@storybook/addon-links": "9.1.3", "@storybook/addon-mdx-gfm": "8.6.14", "@storybook/addon-storysource": "8.6.14", "@storybook/blocks": "8.6.14", @@ -94,34 +94,34 @@ "@storybook/core-events": "8.6.14", "@storybook/manager-api": "8.6.14", "@storybook/preview-api": "8.6.14", - "@storybook/react": "9.1.0", - "@storybook/react-vite": "9.1.0", + "@storybook/react": "9.1.3", + "@storybook/react-vite": "9.1.3", "@storybook/test": "8.6.14", "@storybook/theming": "8.6.14", "@storybook/types": "8.6.14", - "@storybook/vue3": "9.1.0", - "@storybook/vue3-vite": "9.1.0", + "@storybook/vue3": "9.1.3", + "@storybook/vue3-vite": "9.1.3", "@tabler/icons-webfont": "3.34.1", "@testing-library/vue": "8.1.0", "@types/canvas-confetti": "1.9.0", "@types/estree": "1.0.8", - "@types/matter-js": "0.19.8", + "@types/matter-js": "0.20.0", "@types/micromatch": "4.0.9", - "@types/node": "22.17.0", + "@types/node": "22.17.2", "@types/punycode.js": "npm:@types/punycode@2.1.4", "@types/sanitize-html": "2.16.0", "@types/seedrandom": "3.0.8", "@types/throttle-debounce": "5.0.2", "@types/tinycolor2": "1.4.6", "@types/ws": "8.18.1", - "@typescript-eslint/eslint-plugin": "8.38.0", - "@typescript-eslint/parser": "8.38.0", + "@typescript-eslint/eslint-plugin": "8.40.0", + "@typescript-eslint/parser": "8.40.0", "@vitest/coverage-v8": "3.2.4", - "@vue/compiler-core": "3.5.18", - "@vue/runtime-core": "3.5.18", + "@vue/compiler-core": "3.5.19", + "@vue/runtime-core": "3.5.19", "acorn": "8.15.0", "cross-env": "10.0.0", - "cypress": "14.5.3", + "cypress": "14.5.4", "eslint-plugin-import": "2.32.0", "eslint-plugin-vue": "10.4.0", "fast-glob": "3.3.3", @@ -129,22 +129,22 @@ "intersection-observer": "0.12.2", "micromatch": "4.0.8", "minimatch": "10.0.3", - "msw": "2.10.4", + "msw": "2.10.5", "msw-storybook-addon": "2.0.5", "nodemon": "3.1.10", "prettier": "3.6.2", "react": "19.1.1", "react-dom": "19.1.1", "seedrandom": "3.0.5", - "start-server-and-test": "2.0.12", - "storybook": "9.1.0", + "start-server-and-test": "2.0.13", + "storybook": "9.1.3", "storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme", - "tsx": "4.20.3", + "tsx": "4.20.4", "vite-plugin-turbosnap": "1.0.3", "vitest": "3.2.4", "vitest-fetch-mock": "0.4.5", - "vue-component-type-helpers": "3.0.5", + "vue-component-type-helpers": "3.0.6", "vue-eslint-parser": "10.2.0", - "vue-tsc": "3.0.5" + "vue-tsc": "3.0.6" } } diff --git a/packages/frontend/src/components/MkNotesTimeline.vue b/packages/frontend/src/components/MkNotesTimeline.vue index 42d44dffdb..d94cf3924c 100644 --- a/packages/frontend/src/components/MkNotesTimeline.vue +++ b/packages/frontend/src/components/MkNotesTimeline.vue @@ -4,7 +4,7 @@ SPDX-License-Identifier: AGPL-3.0-only -->