Merge branch 'develop' into enh-15738

This commit is contained in:
かっこかり 2025-04-07 12:26:45 +09:00 committed by GitHub
commit 7b72e2d6d3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 31 additions and 13 deletions

View File

@ -11,14 +11,15 @@ on:
# Storybook CI is checked on the "push" event of "develop" branch so it would cause a duplicate build. # Storybook CI is checked on the "push" event of "develop" branch so it would cause a duplicate build.
# This is a waste of chromatic build quota, so we don't run storybook CI on pull requests targets master. # This is a waste of chromatic build quota, so we don't run storybook CI on pull requests targets master.
- master - master
# Neither Dependabot nor Renovate will change the actual behavior for components.
- 'dependabot/**'
- 'renovate/**'
jobs: jobs:
build: build:
# chromatic is not likely to be available for fork repositories, so we disable for fork repositories. # Chromatic is not likely to be available for fork repositories, so we disable for fork repositories.
if: github.repository == 'misskey-dev/misskey' # Neither Dependabot nor Renovate will change the actual behavior for components.
if: >-
github.repository == 'misskey-dev/misskey' &&
startsWith(github.ref, 'refs/heads/dependabot/') != true &&
startsWith(github.ref, 'refs/heads/renovate/') != true
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:

4
locales/index.d.ts vendored
View File

@ -5382,6 +5382,10 @@ export interface Locale extends ILocale {
* *
*/ */
"embed": string; "embed": string;
/**
* ... ( )
*/
"settingsMigrating": string;
/** /**
* *
*/ */

View File

@ -1341,6 +1341,7 @@ right: "右"
bottom: "下" bottom: "下"
top: "上" top: "上"
embed: "埋め込み" embed: "埋め込み"
settingsMigrating: "設定を移行しています。しばらくお待ちください... (後ほど、設定→その他→旧設定情報を移行 で手動で移行することもできます)"
readonly: "読み取り専用" readonly: "読み取り専用"
_chat: _chat:

View File

@ -28,6 +28,7 @@ SPDX-License-Identifier: AGPL-3.0-only
[$style.t_exportCompleted]: notification.type === 'exportCompleted', [$style.t_exportCompleted]: notification.type === 'exportCompleted',
[$style.t_login]: notification.type === 'login', [$style.t_login]: notification.type === 'login',
[$style.t_createToken]: notification.type === 'createToken', [$style.t_createToken]: notification.type === 'createToken',
[$style.t_chatRoomInvitationReceived]: notification.type === 'chatRoomInvitationReceived',
[$style.t_roleAssigned]: notification.type === 'roleAssigned' && notification.role.iconUrl == null, [$style.t_roleAssigned]: notification.type === 'roleAssigned' && notification.role.iconUrl == null,
}]" }]"
> >
@ -374,6 +375,12 @@ function getActualReactedUsersCount(notification: Misskey.entities.Notification)
pointer-events: none; pointer-events: none;
} }
.t_chatRoomInvitationReceived {
padding: 3px;
background: var(--eventOther);
pointer-events: none;
}
.tail { .tail {
flex: 1; flex: 1;
min-width: 0; min-width: 0;

View File

@ -22,7 +22,7 @@ const modal = useTemplateRef('modal');
const props = defineProps<{ const props = defineProps<{
success: boolean; success: boolean;
showing: boolean; showing: boolean;
text?: string; text?: string | null;
}>(); }>();
const emit = defineEmits<{ const emit = defineEmits<{

View File

@ -547,12 +547,13 @@ export function success(): Promise<void> {
}); });
} }
export function waiting(): Promise<void> { export function waiting(text?: string | null): Promise<void> {
return new Promise(resolve => { return new Promise(resolve => {
const showing = ref(true); const showing = ref(true);
const { dispose } = popup(MkWaitingDialog, { const { dispose } = popup(MkWaitingDialog, {
success: false, success: false,
showing: showing, showing: showing,
text,
}, { }, {
done: () => resolve(), done: () => resolve(),
closed: () => dispose(), closed: () => dispose(),

View File

@ -185,7 +185,6 @@ async function deleteAccount() {
} }
function migrate() { function migrate() {
os.waiting();
migrateOldSettings(); migrateOldSettings();
} }

View File

@ -10,14 +10,19 @@ import { prefer } from '@/preferences.js';
import { misskeyApi } from '@/utility/misskey-api.js'; import { misskeyApi } from '@/utility/misskey-api.js';
import { deckStore } from '@/ui/deck/deck-store.js'; import { deckStore } from '@/ui/deck/deck-store.js';
import { unisonReload } from '@/utility/unison-reload.js'; import { unisonReload } from '@/utility/unison-reload.js';
import * as os from '@/os.js';
import { i18n } from '@/i18n.js';
// TODO: そのうち消す // TODO: そのうち消す
export function migrateOldSettings() { export function migrateOldSettings() {
os.waiting(i18n.ts.settingsMigrating);
store.loaded.then(async () => { store.loaded.then(async () => {
const themes = await misskeyApi('i/registry/get', { scope: ['client'], key: 'themes' }).catch(() => []); misskeyApi('i/registry/get', { scope: ['client'], key: 'themes' }).catch(() => []).then((themes: any) => {
if (themes.length > 0) { if (themes.length > 0) {
prefer.commit('themes', themes); prefer.commit('themes', themes);
} }
});
const plugins = ColdDeviceStorage.get('plugins'); const plugins = ColdDeviceStorage.get('plugins');
prefer.commit('plugins', plugins.map(p => ({ prefer.commit('plugins', plugins.map(p => ({
@ -136,6 +141,6 @@ export function migrateOldSettings() {
window.setTimeout(() => { window.setTimeout(() => {
unisonReload(); unisonReload();
}, 5000); }, 10000);
}); });
} }