![]()
@@ -46,8 +46,8 @@ const props = defineProps<{
}
.icon {
- width: 50px;
- height: 50px;
+ width: 65px;
+ height: 65px;
margin: 0 auto;
}
diff --git a/packages/frontend/src/components/global/MkSystemIcon.vue b/packages/frontend/src/components/global/MkSystemIcon.vue
index 20ce524e6d..66592da9c8 100644
--- a/packages/frontend/src/components/global/MkSystemIcon.vue
+++ b/packages/frontend/src/components/global/MkSystemIcon.vue
@@ -4,20 +4,29 @@ SPDX-License-Identifier: AGPL-3.0-only
-->
-
@@ -25,18 +34,25 @@ SPDX-License-Identifier: AGPL-3.0-only
import {} from 'vue';
const props = defineProps<{
- type: 'info' | 'question' | 'warn' | 'error';
+ type: 'info' | 'question' | 'success' | 'warn' | 'error';
}>();
diff --git a/packages/frontend/src/pages/debug.vue b/packages/frontend/src/pages/debug.vue
new file mode 100644
index 0000000000..4a28d513f5
--- /dev/null
+++ b/packages/frontend/src/pages/debug.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Error
+ Warning
+ Info
+ Success
+ Question
+
+
+
+
+
+
+
diff --git a/packages/frontend/src/preferences.ts b/packages/frontend/src/preferences.ts
index 73c89e23af..2208f75094 100644
--- a/packages/frontend/src/preferences.ts
+++ b/packages/frontend/src/preferences.ts
@@ -86,7 +86,7 @@ const storageProvider: StorageProvider = {
});
},
- cloudGets: async (ctx) => {
+ cloudGetBulk: async (ctx) => {
// TODO: 値の取得を1つのリクエストで済ませたい(バックエンド側でAPIの新設が必要)
const fetchings = ctx.needs.map(need => storageProvider.cloudGet(need).then(res => [need.key, res] as const));
const cloudDatas = await Promise.all(fetchings);
diff --git a/packages/frontend/src/preferences/manager.ts b/packages/frontend/src/preferences/manager.ts
index f96aa2f368..cac659f1fe 100644
--- a/packages/frontend/src/preferences/manager.ts
+++ b/packages/frontend/src/preferences/manager.ts
@@ -79,7 +79,7 @@ export type PreferencesProfile = {
export type StorageProvider = {
save: (ctx: { profile: PreferencesProfile; }) => void;
- cloudGets:
(ctx: { needs: { key: K; scope: Scope; }[] }) => Promise>>>;
+ cloudGetBulk: (ctx: { needs: { key: K; scope: Scope; }[] }) => Promise>>>;
cloudGet: (ctx: { key: K; scope: Scope; }) => Promise<{ value: ValueOf; } | null>;
cloudSet: (ctx: { key: K; scope: Scope; value: ValueOf; }) => Promise;
};
@@ -240,7 +240,7 @@ export class PreferencesManager {
}
}
- const cloudValues = await this.storageProvider.cloudGets({ needs });
+ const cloudValues = await this.storageProvider.cloudGetBulk({ needs });
for (const _key in PREF_DEF) {
const key = _key as keyof PREF;
diff --git a/packages/frontend/src/preferences/utility.ts b/packages/frontend/src/preferences/utility.ts
index af5b178df6..a6687251af 100644
--- a/packages/frontend/src/preferences/utility.ts
+++ b/packages/frontend/src/preferences/utility.ts
@@ -140,7 +140,7 @@ function importProfile() {
export async function cloudBackup() {
if ($i == null) return;
if (!canAutoBackup()) {
- throw new Error('Profile name is not set');
+ throw new Error('cannot auto backup for this profile');
}
await misskeyApi('i/registry/set', {
diff --git a/packages/frontend/src/router.definition.ts b/packages/frontend/src/router.definition.ts
index 462b8e713f..5e0e6f7286 100644
--- a/packages/frontend/src/router.definition.ts
+++ b/packages/frontend/src/router.definition.ts
@@ -591,6 +591,10 @@ export const ROUTE_DEF = [{
path: '/reversi/g/:gameId',
component: page(() => import('@/pages/reversi/game.vue')),
loginRequired: false,
+}, {
+ path: '/debug',
+ component: page(() => import('@/pages/debug.vue')),
+ loginRequired: false,
}, {
// テスト用リダイレクト設定。ログイン中ユーザのプロフィールにリダイレクトする
path: '/redirect-test',
diff --git a/packages/misskey-js/package.json b/packages/misskey-js/package.json
index dbc702dc6f..ab0f891366 100644
--- a/packages/misskey-js/package.json
+++ b/packages/misskey-js/package.json
@@ -1,7 +1,7 @@
{
"type": "module",
"name": "misskey-js",
- "version": "2025.5.0-rc.0",
+ "version": "2025.5.0",
"description": "Misskey SDK for JavaScript",
"license": "MIT",
"main": "./built/index.js",