diff --git a/CHANGELOG.md b/CHANGELOG.md index bfaf06ea81..4fd6ff2313 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,33 @@ You should also include the user name that made the change. --> +## 12.x.x (unreleased) + +### Improvements + +### Bugfixes +- Client: 一度作ったwebhookの設定画面を開こうとするとページがフリーズする @syuilo + +## 12.117.1 (2022/07/19) + +### Improvements +- Client: UIのブラッシュアップ @syuilo + +### Bugfixes +- Server: ファイルのアップロードに失敗することがある問題を修正 @acid-chicken +- Client: リアクションピッカーがアプリ内ウィンドウの後ろに表示されてしまう問題を修正 @syuilo +- Client: ユーザー情報の取得の再試行を修正 @xianonn +- Client: MFMチートシートの挙動を修正 @syuilo +- Client: 「インスタンスからのお知らせを受け取る」の設定を変更できない問題を修正 @syuilo + +## 12.117.0 (2022/07/18) + +### Improvements +- Client: ウィンドウを最大化できるように @syuilo +- Client: Shiftキーを押した状態でリンクをクリックするとアプリ内ウィンドウで開くように @syuilo +- Client: デッキを使用している際、Ctrlキーを押した状態でリンクをクリックするとページ遷移を強制できるように @syuilo +- Client: UIのブラッシュアップ @syuilo + ## 12.116.1 (2022/07/17) ### Bugfixes diff --git a/locales/bn-BD.yml b/locales/bn-BD.yml index f6547646cf..f488935074 100644 --- a/locales/bn-BD.yml +++ b/locales/bn-BD.yml @@ -1645,6 +1645,7 @@ _deck: alwaysShowMainColumn: "সর্বদা মেইন কলাম দেখান" columnAlign: "কলাম সাজান" addColumn: "কলাম যুক্ত করুন" + configureColumn: "কলাম সেটিংস" swapLeft: "বামে সরান" swapRight: "ডানে সরান" swapUp: "উপরে উঠান" diff --git a/locales/de-DE.yml b/locales/de-DE.yml index 1ae93f6c49..1ae3e77b6d 100644 --- a/locales/de-DE.yml +++ b/locales/de-DE.yml @@ -890,6 +890,7 @@ activeEmailValidationDescription: "Aktivert strengere Überprüfung von E-Mail-A navbar: "Navigationsleiste" shuffle: "Mischen" account: "Benutzerkonto" +move: "Verschieben" _sensitiveMediaDetection: description: "Ermöglicht eine Erleichterung der Servermoderation durch die automatische Erkennungen von NSFW-Medien unter Verwendung von Machine Learning. Hierdurch wird die Serverlast etwas erhöht." sensitivity: "Erkennungssensitivität" @@ -1696,6 +1697,7 @@ _deck: alwaysShowMainColumn: "Hauptspalte immer zeigen" columnAlign: "Spaltenausrichtung" addColumn: "Spalte hinzufügen" + configureColumn: "Spalteneinstellungen" swapLeft: "Mit linker Spalte tauschen" swapRight: "Mit rechter Spalte tauschen" swapUp: "Mit oberer Spalte tauschen" diff --git a/locales/en-US.yml b/locales/en-US.yml index a2ded5a45d..92c85507de 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -890,6 +890,7 @@ activeEmailValidationDescription: "Enables stricter validation of email addresse navbar: "Navigation bar" shuffle: "Shuffle" account: "Account" +move: "Move" _sensitiveMediaDetection: description: "Reduces the effort of server moderation through automatically recognizing NSFW media via Machine Learning. This will slightly increase the load on the server." sensitivity: "Detection sensitivity" @@ -1696,6 +1697,7 @@ _deck: alwaysShowMainColumn: "Always show main column" columnAlign: "Align columns" addColumn: "Add column" + configureColumn: "Column settings" swapLeft: "Swap with the left column" swapRight: "Swap with the right column" swapUp: "Swap with the above column" diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 21615a093e..0c4a7c7231 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -890,6 +890,7 @@ activeEmailValidationDescription: "ユーザーのメールアドレスのバリ navbar: "ナビゲーションバー" shuffle: "シャッフル" account: "アカウント" +move: "移動" _sensitiveMediaDetection: description: "機械学習を使って自動でセンシティブなメディアを検出し、モデレーションに役立てることができます。サーバーの負荷が少し増えます。" @@ -1037,6 +1038,8 @@ _mfm: sparkleDescription: "キラキラしたパーティクルのエフェクトを追加します。" rotate: "回転" rotateDescription: "指定した角度で回転させます。" + plain: "プレーン" + plainDescription: "内側の構文を全て無効にします。" _instanceTicker: none: "表示しない" diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index 2ba05505c5..7959a3dc31 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -886,6 +886,8 @@ beta: "베타" enableAutoSensitive: "자동 NSFW 탐지" enableAutoSensitiveDescription: "이용 가능할 경우 기계학습을 통해 자동으로 미디어 NSFW를 설정합니다. 이 기능을 해제하더라도, 인스턴스 정책에 따라 자동으로 설정될 수 있습니다." activeEmailValidationDescription: "유저가 입력한 메일 주소가 일회용 메일인지, 실제로 통신할 수 있는 지 엄격하게 검사합니다. 해제할 경우 이메일 형식에 대해서만 검사합니다." +navbar: "네비게이션 바" +shuffle: "셔플" account: "계정" _sensitiveMediaDetection: description: "기계학습을 통해 자동으로 민감한 미디어를 탐지하여, 모더레이션에 참고할 수 있도록 합니다. 서버의 부하를 약간 증가시킵니다." @@ -1692,6 +1694,7 @@ _deck: alwaysShowMainColumn: "메인 칼럼 항상 표시" columnAlign: "칼럼 정렬" addColumn: "칼럼 추가" + configureColumn: "칼럼 설정" swapLeft: "왼쪽으로 이동" swapRight: "오른쪽으로 이동" swapUp: "위로 이동" @@ -1699,6 +1702,8 @@ _deck: stackLeft: "왼쪽에 쌓기" popRight: "오른쪽으로 빼기" profile: "프로파일" + newProfile: "새 프로파일" + deleteProfile: "프로파일 삭제" introduction: "칼럼을 조합해서 나만의 인터페이스를 구성해 보아요!" introduction2: "나중에라도 화면 우측의 + 버튼을 눌러 새 칼럼을 추가할 수 있습니다." widgetsIntroduction: "칼럼 메뉴의 \"위젯 편집\"에서 위젯을 추가해 주세요" diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml index b0be6b4ff6..a22cacca3b 100644 --- a/locales/ru-RU.yml +++ b/locales/ru-RU.yml @@ -1637,6 +1637,7 @@ _deck: alwaysShowMainColumn: "Всегда показывать главную колонку" columnAlign: "Выравнивание колонок" addColumn: "Добавить колонку" + configureColumn: "Настройки колонок" swapLeft: "Переставить левее" swapRight: "Переставить правее" swapUp: "Переставить выше" diff --git a/locales/sk-SK.yml b/locales/sk-SK.yml index 2ac0a8566f..4fbdc1cb12 100644 --- a/locales/sk-SK.yml +++ b/locales/sk-SK.yml @@ -885,6 +885,7 @@ enableAutoSensitiveDescription: "Ak je zapnuté, príznak NSFW sa na médiách a activeEmailValidationDescription: "Dôkladnejšie overí e-mailovú adresu používateľa tým, že zistí, či ide o vyradenú e-mailovú adresu a či sa s ňou dá skutočne komunikovať. Ak nie je začiarknuté, e-mailová adresa sa kontroluje len ako text." navbar: "Navigačný panel" account: "Účty" +move: "Pohyb" _sensitiveMediaDetection: description: "Strojové učenie sa použije na automatickú detekciu citlivých médií na účely ich moderovania. Mierne sa zvýši zaťaženie servera." sensitivity: "Citlivosť detekcie" @@ -1691,6 +1692,7 @@ _deck: alwaysShowMainColumn: "Vždy zobraziť v hlavnom stĺpci" columnAlign: "Zarovnať stĺpce" addColumn: "Pridať stĺpec" + configureColumn: "Nastavenie stĺpcov" swapLeft: "Vymeniť vľavo" swapRight: "Vymeniť vpravo" swapUp: "Vymeniť hore" diff --git a/locales/vi-VN.yml b/locales/vi-VN.yml index 90aa1da302..4cc1c37f33 100644 --- a/locales/vi-VN.yml +++ b/locales/vi-VN.yml @@ -1696,6 +1696,7 @@ _deck: alwaysShowMainColumn: "Luôn hiện cột chính" columnAlign: "Căn cột" addColumn: "Thêm cột" + configureColumn: "Cài đặt cột" swapLeft: "Hoán đổi với cột bên trái" swapRight: "Hoán đổi với cột bên phải" swapUp: "Hoán đổi với cột trên" diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml index e27b02081b..8c6c4b3582 100644 --- a/locales/zh-CN.yml +++ b/locales/zh-CN.yml @@ -862,7 +862,7 @@ typeToConfirm: "输入 {x} 以确认操作。" deleteAccount: "删除账户" document: "文档" numberOfPageCache: "缓存页数" -numberOfPageCacheDescription: "设置较高的值会更方便用户,但服务器负载和内存使用量会增加。" +numberOfPageCacheDescription: "设置较高的值会更方便用户,但设备的负载和内存使用量会增加。" logoutConfirm: "是否确认登出?" lastActiveDate: "最后活跃时间" statusbar: "状态栏" @@ -1691,13 +1691,16 @@ _deck: alwaysShowMainColumn: "总是显示主列" columnAlign: "列对齐" addColumn: "添加列" + configureColumn: "列设置" swapLeft: "向左移动" swapRight: "向右移动" swapUp: "向上移动" swapDown: "向下移动" stackLeft: "向左折叠" popRight: "向右弹出" - profile: "个人资料" + profile: "配置文件" + newProfile: "新建配置文件" + deleteProfile: "删除配置文件" _columns: main: "主列" widgets: "小工具" diff --git a/locales/zh-TW.yml b/locales/zh-TW.yml index 4ee440c07f..a79ec2fed1 100644 --- a/locales/zh-TW.yml +++ b/locales/zh-TW.yml @@ -155,7 +155,7 @@ searchWith: "搜尋: {q}" youHaveNoLists: "你沒有任何清單" followConfirm: "你真的要追隨{name}嗎?" proxyAccount: "代理帳戶" -proxyAccountDescription: "代理帳戶是在某些情況下充當其他伺服器用戶的帳戶。例如,當使用者將一個來自其他伺服器的帳戶放在列表中時,由於沒有其他使用者關注該帳戶,該指令不會傳送到該伺服器上,因此會由代理帳戶關注。" +proxyAccountDescription: "代理帳戶是在某些情況下充當其他伺服器用戶的帳戶。例如,當使用者將一個來自其他伺服器的帳戶放在列表中時,由於沒有其他使用者追蹤該帳戶,該指令不會傳送到該伺服器上,因此會由代理帳戶追蹤。" host: "主機" selectUser: "選取使用者" recipient: "收件人" @@ -1695,6 +1695,7 @@ _deck: alwaysShowMainColumn: "總是顯示主欄" columnAlign: "對齊欄位" addColumn: "新增欄位" + configureColumn: "欄位的設定" swapLeft: "向左移動" swapRight: "向右移動" swapUp: "往上移動" diff --git a/package.json b/package.json index bce4386f32..cabb9f8f9b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "misskey", - "version": "12.116.1", + "version": "12.117.1", "codename": "indigo", "repository": { "type": "git", diff --git a/packages/backend/src/misc/get-file-info.ts b/packages/backend/src/misc/get-file-info.ts index 42061fcf83..1c988b2487 100644 --- a/packages/backend/src/misc/get-file-info.ts +++ b/packages/backend/src/misc/get-file-info.ts @@ -101,13 +101,17 @@ export async function getFileInfo(path: string, opts: { let porn = false; if (!opts.skipSensitiveDetection) { - [sensitive, porn] = await detectSensitivity( + await detectSensitivity( path, type.mime, opts.sensitiveThreshold ?? 0.5, opts.sensitiveThresholdForPorn ?? 0.75, opts.enableSensitiveMediaDetectionForVideos ?? false, - ); + ).then(value => { + [sensitive, porn] = value; + }, error => { + warnings.push(`detectSensitivity failed: ${error}`); + }); } return { diff --git a/packages/client/package.json b/packages/client/package.json index 94f6688dd2..eaebf69ed8 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -15,7 +15,7 @@ "@rollup/plugin-alias": "3.1.9", "@rollup/plugin-json": "4.1.0", "@syuilo/aiscript": "0.11.1", - "@vitejs/plugin-vue": "3.0.0", + "@vitejs/plugin-vue": "3.0.1", "@vue/compiler-sfc": "3.2.37", "abort-controller": "3.0.0", "autobind-decorator": "2.4.0", @@ -73,7 +73,7 @@ "uuid": "8.3.2", "v-debounce": "0.1.2", "vanilla-tilt": "1.7.2", - "vite": "3.0.0", + "vite": "3.0.2", "vue": "3.2.37", "vue-prism-editor": "2.0.0-alpha.2", "vuedraggable": "4.0.1", diff --git a/packages/client/src/account.ts b/packages/client/src/account.ts index 38f2ee4b36..243aea68c4 100644 --- a/packages/client/src/account.ts +++ b/packages/client/src/account.ts @@ -206,17 +206,16 @@ export async function openAccountMenu(opts: { to: `/@${ $i.username }`, avatar: $i, }, null, ...(opts.includeCurrentAccount ? [createItem($i)] : []), ...accountItemPromises, { + type: 'parent', icon: 'fas fa-plus', text: i18n.ts.addAccount, - action: () => { - popupMenu([{ - text: i18n.ts.existingAccount, - action: () => { showSigninDialog(); }, - }, { - text: i18n.ts.createAccount, - action: () => { createAccount(); }, - }], ev.currentTarget ?? ev.target); - }, + children: [{ + text: i18n.ts.existingAccount, + action: () => { showSigninDialog(); }, + }, { + text: i18n.ts.createAccount, + action: () => { createAccount(); }, + }], }, { type: 'link', icon: 'fas fa-users', diff --git a/packages/client/src/components/global/a.vue b/packages/client/src/components/global/a.vue index c7cf12e8c8..67bf54def8 100644 --- a/packages/client/src/components/global/a.vue +++ b/packages/client/src/components/global/a.vue @@ -50,7 +50,7 @@ function onContextmenu(ev) { icon: 'fas fa-expand-alt', text: i18n.ts.showInPage, action: () => { - router.push(props.to); + router.push(props.to, 'forcePage'); }, }, null, { icon: 'fas fa-external-link-alt', @@ -79,7 +79,7 @@ function popout() { popout_(props.to); } -function nav() { +function nav(ev: MouseEvent) { if (props.behavior === 'browser') { location.href = props.to; return; @@ -93,6 +93,10 @@ function nav() { } } - router.push(props.to); + if (ev.shiftKey) { + return openWindow(); + } + + router.push(props.to, ev.ctrlKey ? 'forcePage' : null); } diff --git a/packages/client/src/components/global/router-view.vue b/packages/client/src/components/global/router-view.vue index fca2371f0d..cd1e780196 100644 --- a/packages/client/src/components/global/router-view.vue +++ b/packages/client/src/components/global/router-view.vue @@ -1,6 +1,12 @@ diff --git a/packages/client/src/components/instance-ticker.vue b/packages/client/src/components/instance-ticker.vue index c32409ecf4..d9f196f887 100644 --- a/packages/client/src/components/instance-ticker.vue +++ b/packages/client/src/components/instance-ticker.vue @@ -8,6 +8,7 @@ diff --git a/packages/client/src/components/ui/menu.vue b/packages/client/src/components/ui/menu.vue index 6ad63c2ad7..6d1a2cc770 100644 --- a/packages/client/src/components/ui/menu.vue +++ b/packages/client/src/components/ui/menu.vue @@ -1,55 +1,67 @@ diff --git a/packages/client/src/pages/mfm-cheat-sheet.vue b/packages/client/src/pages/mfm-cheat-sheet.vue index 3315479abf..0b5dae996f 100644 --- a/packages/client/src/pages/mfm-cheat-sheet.vue +++ b/packages/client/src/pages/mfm-cheat-sheet.vue @@ -1,301 +1,313 @@ @@ -306,35 +318,36 @@ import { definePageMetadata } from '@/scripts/page-metadata'; import { i18n } from '@/i18n'; import { instance } from '@/instance'; -const preview_mention = '@example'; -const preview_hashtag = '#test'; -const preview_url = 'https://example.com'; -const preview_link = `[${i18n.ts._mfm.dummy}](https://example.com)`; -const preview_emoji = instance.emojis.length ? `:${instance.emojis[0].name}:` : ':emojiname:'; -const preview_bold = `**${i18n.ts._mfm.dummy}**`; -const preview_small = `${i18n.ts._mfm.dummy}`; -const preview_center = `
${i18n.ts._mfm.dummy}
`; -const preview_inlineCode = '`<: "Hello, world!"`'; -const preview_blockCode = '```\n~ (#i, 100) {\n\t<: ? ((i % 15) = 0) "FizzBuzz"\n\t\t.? ((i % 3) = 0) "Fizz"\n\t\t.? ((i % 5) = 0) "Buzz"\n\t\t. i\n}\n```'; -const preview_inlineMath = '\\(x= \\frac{-b\' \\pm \\sqrt{(b\')^2-ac}}{a}\\)'; -const preview_quote = `> ${i18n.ts._mfm.dummy}`; -const preview_search = `${i18n.ts._mfm.dummy} 検索`; -const preview_jelly = '$[jelly 🍮] $[jelly.speed=5s 🍮]'; -const preview_tada = '$[tada 🍮] $[tada.speed=5s 🍮]'; -const preview_jump = '$[jump 🍮] $[jump.speed=5s 🍮]'; -const preview_bounce = '$[bounce 🍮] $[bounce.speed=5s 🍮]'; -const preview_shake = '$[shake 🍮] $[shake.speed=5s 🍮]'; -const preview_twitch = '$[twitch 🍮] $[twitch.speed=5s 🍮]'; -const preview_spin = '$[spin 🍮] $[spin.left 🍮] $[spin.alternate 🍮]\n$[spin.x 🍮] $[spin.x,left 🍮] $[spin.x,alternate 🍮]\n$[spin.y 🍮] $[spin.y,left 🍮] $[spin.y,alternate 🍮]\n\n$[spin.speed=5s 🍮]'; -const preview_flip = `$[flip ${i18n.ts._mfm.dummy}]\n$[flip.v ${i18n.ts._mfm.dummy}]\n$[flip.h,v ${i18n.ts._mfm.dummy}]`; -const preview_font = `$[font.serif ${i18n.ts._mfm.dummy}]\n$[font.monospace ${i18n.ts._mfm.dummy}]\n$[font.cursive ${i18n.ts._mfm.dummy}]\n$[font.fantasy ${i18n.ts._mfm.dummy}]`; -const preview_x2 = '$[x2 🍮]'; -const preview_x3 = '$[x3 🍮]'; -const preview_x4 = '$[x4 🍮]'; -const preview_blur = `$[blur ${i18n.ts._mfm.dummy}]`; -const preview_rainbow = '$[rainbow 🍮] $[rainbow.speed=5s 🍮]'; -const preview_sparkle = '$[sparkle 🍮]'; -const preview_rotate = '$[rotate 🍮]'; +let preview_mention = $ref('@example'); +let preview_hashtag = $ref('#test'); +let preview_url = $ref('https://example.com'); +let preview_link = $ref(`[${i18n.ts._mfm.dummy}](https://example.com)`); +let preview_emoji = $ref(instance.emojis.length ? `:${instance.emojis[0].name}:` : ':emojiname:'); +let preview_bold = $ref(`**${i18n.ts._mfm.dummy}**`); +let preview_small = $ref(`${i18n.ts._mfm.dummy}`); +let preview_center = $ref(`
${i18n.ts._mfm.dummy}
`); +let preview_inlineCode = $ref('`<: "Hello, world!"`'); +let preview_blockCode = $ref('```\n~ (#i, 100) {\n\t<: ? ((i % 15) = 0) "FizzBuzz"\n\t\t.? ((i % 3) = 0) "Fizz"\n\t\t.? ((i % 5) = 0) "Buzz"\n\t\t. i\n}\n```'); +let preview_inlineMath = $ref('\\(x= \\frac{-b\' \\pm \\sqrt{(b\')^2-ac}}{a}\\)'); +let preview_quote = $ref(`> ${i18n.ts._mfm.dummy}`); +let preview_search = $ref(`${i18n.ts._mfm.dummy} 検索`); +let preview_jelly = $ref('$[jelly 🍮] $[jelly.speed=5s 🍮]'); +let preview_tada = $ref('$[tada 🍮] $[tada.speed=5s 🍮]'); +let preview_jump = $ref('$[jump 🍮] $[jump.speed=5s 🍮]'); +let preview_bounce = $ref('$[bounce 🍮] $[bounce.speed=5s 🍮]'); +let preview_shake = $ref('$[shake 🍮] $[shake.speed=5s 🍮]'); +let preview_twitch = $ref('$[twitch 🍮] $[twitch.speed=5s 🍮]'); +let preview_spin = $ref('$[spin 🍮] $[spin.left 🍮] $[spin.alternate 🍮]\n$[spin.x 🍮] $[spin.x,left 🍮] $[spin.x,alternate 🍮]\n$[spin.y 🍮] $[spin.y,left 🍮] $[spin.y,alternate 🍮]\n\n$[spin.speed=5s 🍮]'); +let preview_flip = $ref(`$[flip ${i18n.ts._mfm.dummy}]\n$[flip.v ${i18n.ts._mfm.dummy}]\n$[flip.h,v ${i18n.ts._mfm.dummy}]`); +let preview_font = $ref(`$[font.serif ${i18n.ts._mfm.dummy}]\n$[font.monospace ${i18n.ts._mfm.dummy}]\n$[font.cursive ${i18n.ts._mfm.dummy}]\n$[font.fantasy ${i18n.ts._mfm.dummy}]`); +let preview_x2 = $ref('$[x2 🍮]'); +let preview_x3 = $ref('$[x3 🍮]'); +let preview_x4 = $ref('$[x4 🍮]'); +let preview_blur = $ref(`$[blur ${i18n.ts._mfm.dummy}]`); +let preview_rainbow = $ref('$[rainbow 🍮] $[rainbow.speed=5s 🍮]'); +let preview_sparkle = $ref('$[sparkle 🍮]'); +let preview_rotate = $ref('$[rotate 🍮]'); +let preview_plain = $ref('**bold** @mention #hashtag `code` $[x2 🍮]'); definePageMetadata({ title: i18n.ts._mfm.cheatSheet, diff --git a/packages/client/src/pages/registry.value.vue b/packages/client/src/pages/registry.value.vue index 34253cc93b..9deb31e4a4 100644 --- a/packages/client/src/pages/registry.value.vue +++ b/packages/client/src/pages/registry.value.vue @@ -74,7 +74,7 @@ function fetchValue() { async function save() { try { JSON5.parse(valueForEditor); - } catch (e) { + } catch (err) { os.alert({ type: 'error', text: i18n.ts.invalidValue, diff --git a/packages/client/src/pages/settings/email.vue b/packages/client/src/pages/settings/email.vue index e575af6d6b..9d2afd6a6f 100644 --- a/packages/client/src/pages/settings/email.vue +++ b/packages/client/src/pages/settings/email.vue @@ -10,7 +10,7 @@ - + {{ $ts.receiveAnnouncementFromInstance }} diff --git a/packages/client/src/pages/settings/index.vue b/packages/client/src/pages/settings/index.vue index f970660a4a..8b1cc6c124 100644 --- a/packages/client/src/pages/settings/index.vue +++ b/packages/client/src/pages/settings/index.vue @@ -330,13 +330,11 @@ definePageMetadata(INFO); width: 34%; padding-right: 32px; box-sizing: border-box; - overflow: auto; } > .main { flex: 1; min-width: 0; - overflow: auto; } } } diff --git a/packages/client/src/pages/settings/profile.vue b/packages/client/src/pages/settings/profile.vue index f30b0ccbdc..5bb3273b3f 100644 --- a/packages/client/src/pages/settings/profile.vue +++ b/packages/client/src/pages/settings/profile.vue @@ -1,11 +1,11 @@