diff --git a/.github/workflows/request-release-review.yml b/.github/workflows/request-release-review.yml index 2bcbf70a42..0b4af4117a 100644 --- a/.github/workflows/request-release-review.yml +++ b/.github/workflows/request-release-review.yml @@ -11,6 +11,7 @@ jobs: permissions: contents: read issues: write + pull-requests: write steps: - name: Reply uses: actions/github-script@v6 diff --git a/CHANGELOG.md b/CHANGELOG.md index 168ef0d79f..c2bb456176 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,17 +1,22 @@ -## 2025.10.2 +## Unreleased ### General - Feat: チャンネルミュート機能の実装 #10649 - チャンネルの概要画面の右上からミュートできます(リンクコピー、共有、設定と同列) ### Client -- Fix: アプリ内からキャッシュをクリアするとテーマ再適用するまでレンダリングが正しく行われない問題を修正 -- Fix: 期限が無期限のアンケートに投票できない問題を修正 +- Fix: 紙吹雪エフェクトがアニメーション設定を考慮せず常に表示される問題を修正 ### Server - +## 2025.10.2 + +### Client +- Fix: アプリ内からキャッシュをクリアするとテーマ再適用するまでレンダリングが正しく行われない問題を修正 +- Fix: 期限が無期限のアンケートに投票できない問題を修正 + ## 2025.10.1 ### General diff --git a/package.json b/package.json index c2e68d3fd2..f8760026f6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "misskey", - "version": "2025.10.2-alpha.0", + "version": "2025.10.2", "codename": "nasubi", "repository": { "type": "git", diff --git a/packages/frontend-shared/js/config.ts b/packages/frontend-shared/js/config.ts index 6272d3f6b9..8021c4f022 100644 --- a/packages/frontend-shared/js/config.ts +++ b/packages/frontend-shared/js/config.ts @@ -20,3 +20,4 @@ export const instanceName = (siteName === 'Misskey' || siteName == null) ? host export const ui = localStorage.getItem('ui'); export const debug = localStorage.getItem('debug') === 'true'; export const isSafeMode = localStorage.getItem('isSafeMode') === 'true'; +export const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion)').matches; diff --git a/packages/frontend/src/components/MkPostForm.vue b/packages/frontend/src/components/MkPostForm.vue index afa70cdbae..664ff2d469 100644 --- a/packages/frontend/src/components/MkPostForm.vue +++ b/packages/frontend/src/components/MkPostForm.vue @@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-
diff --git a/packages/frontend/src/pages/about.overview.vue b/packages/frontend/src/pages/about.overview.vue index 03d500044c..32296de3a4 100644 --- a/packages/frontend/src/pages/about.overview.vue +++ b/packages/frontend/src/pages/about.overview.vue @@ -137,6 +137,7 @@ import FormSplit from '@/components/form/split.vue'; import MkFolder from '@/components/MkFolder.vue'; import MkKeyValue from '@/components/MkKeyValue.vue'; import MkLink from '@/components/MkLink.vue'; +import MkInfo from '@/components/MkInfo.vue'; const initStats = () => misskeyApi('stats', {}); diff --git a/packages/frontend/src/preferences/def.ts b/packages/frontend/src/preferences/def.ts index ebd031b240..915b192605 100644 --- a/packages/frontend/src/preferences/def.ts +++ b/packages/frontend/src/preferences/def.ts @@ -5,6 +5,7 @@ import * as Misskey from 'misskey-js'; import { hemisphere } from '@@/js/intl-const.js'; +import { prefersReducedMotion } from '@@/js/config.js'; import { definePreferences } from './manager.js'; import type { Theme } from '@/theme.js'; import type { SoundType } from '@/utility/sound.js'; @@ -211,10 +212,10 @@ export const PREF_DEF = definePreferences({ default: false, }, animation: { - default: !window.matchMedia('(prefers-reduced-motion)').matches, + default: !prefersReducedMotion, }, animatedMfm: { - default: !window.matchMedia('(prefers-reduced-motion)').matches, + default: !prefersReducedMotion, }, advancedMfm: { default: true, @@ -232,7 +233,7 @@ export const PREF_DEF = definePreferences({ default: false, }, disableShowingAnimatedImages: { - default: window.matchMedia('(prefers-reduced-motion)').matches, + default: prefersReducedMotion, }, emojiStyle: { default: 'twemoji', // twemoji / fluentEmoji / native diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index 87b2637a64..073fbba0fb 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -7,6 +7,7 @@ import { markRaw, ref } from 'vue'; import * as Misskey from 'misskey-js'; import lightTheme from '@@/themes/l-light.json5'; import darkTheme from '@@/themes/d-green-lime.json5'; +import { prefersReducedMotion } from '@@/js/config.js'; import { hemisphere } from '@@/js/intl-const.js'; import type { DeviceKind } from '@/utility/device-kind.js'; import type { Plugin } from '@/plugin.js'; @@ -220,11 +221,11 @@ export const store = markRaw(new Pizzax('base', { }, animation: { where: 'device', - default: !window.matchMedia('(prefers-reduced-motion)').matches, + default: !prefersReducedMotion, }, animatedMfm: { where: 'device', - default: !window.matchMedia('(prefers-reduced-motion)').matches, + default: !prefersReducedMotion, }, advancedMfm: { where: 'device', @@ -248,7 +249,7 @@ export const store = markRaw(new Pizzax('base', { }, disableShowingAnimatedImages: { where: 'device', - default: window.matchMedia('(prefers-reduced-motion)').matches, + default: prefersReducedMotion, }, emojiStyle: { where: 'device', diff --git a/packages/frontend/src/utility/confetti.ts b/packages/frontend/src/utility/confetti.ts index c19149875f..b95c26345e 100644 --- a/packages/frontend/src/utility/confetti.ts +++ b/packages/frontend/src/utility/confetti.ts @@ -5,13 +5,21 @@ import _confetti from 'canvas-confetti'; import * as os from '@/os.js'; +import { prefer } from '@/preferences.js'; export function confetti(options: { duration?: number; } = {}) { + if (!prefer.s.animation) return; + const duration = options.duration ?? 1000 * 4; const animationEnd = Date.now() + duration; - const defaults = { startVelocity: 30, spread: 360, ticks: 60, zIndex: os.claimZIndex('high') }; + const defaults = { + startVelocity: 30, + spread: 360, + ticks: 60, + zIndex: os.claimZIndex('high'), + } satisfies _confetti.Options; - function randomInRange(min, max) { + function randomInRange(min: number, max: number) { return Math.random() * (max - min) + min; } diff --git a/packages/misskey-js/package.json b/packages/misskey-js/package.json index 11bf9d5e11..b000fd8418 100644 --- a/packages/misskey-js/package.json +++ b/packages/misskey-js/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "misskey-js", - "version": "2025.10.2-alpha.0", + "version": "2025.10.2", "description": "Misskey SDK for JavaScript", "license": "MIT", "main": "./built/index.js",