diff --git a/CHANGELOG.md b/CHANGELOG.md index 976030f122..7996568e75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,20 @@ --> +## 12.x.x (unreleased) + +### Improvements +- クライアント: メンションにユーザーのアバターを表示するように +- クライアント: デザインの調整 +- クライアント: twemojiをセルフホスティングするように + +### Bugfixes + +## 12.93.2 (2021/10/23) + +### Bugfixes +- クライアント: ウィジェットを追加できない問題を修正 + ## 12.93.1 (2021/10/23) ### Bugfixes diff --git a/assets/user-unknown.png b/assets/user-unknown.png new file mode 100644 index 0000000000..ab29bef2b1 Binary files /dev/null and b/assets/user-unknown.png differ diff --git a/locales/ar-SA.yml b/locales/ar-SA.yml index 4c4be9445e..d7f038393f 100644 --- a/locales/ar-SA.yml +++ b/locales/ar-SA.yml @@ -77,7 +77,9 @@ error: "خطأ" somethingHappened: "حدث خطأ" retry: "حاول مجددًا" pageLoadError: "فشل تحميل الصفحة" +pageLoadErrorDescription: "عادة ما يكون السبب خطأ في الشبكة أو التخزين المؤقت للمتصفح. امسح التخزين المؤقت ثم أعد المحاولة لاحقًا." serverIsDead: "الخادم لا يستجيب، حاول بعد قليل" +youShouldUpgradeClient: "حدّث الصفحة لعرضها." enterListName: "اسم القائمة" privacy: "الخصوصية" makeFollowManuallyApprove: "القبول يدويا طلبات الإشتراك" @@ -110,6 +112,7 @@ unsuspend: "ألغ التعليق" blockConfirm: "أمتأكد من حجب هذا الحساب؟" unblockConfirm: "أمتأكد من إلغاء حجب هذا الحساب؟" selectList: "اختر قائمة" +selectAntenna: "اختر هوائيًا" editWidgetsExit: "تم" customEmojis: "إيموجي مخصص" emoji: "الوجوه التعبيرية" @@ -120,6 +123,7 @@ addEmoji: "إضافة إيموجي" settingGuide: "الإعدادات المستحسنة" cacheRemoteFiles: "خزن مؤقتا الملفات البعيدة" autoAcceptFollowed: "اقبل طلبات المتابعة تلقائيا من الحسابات المتابَعة" +addAccount: "أضف حساباً" loginFailed: "فشل الولوج" showOnRemote: "رؤيته على مثيل الخادم البُعدي" general: "الرئيسية" @@ -136,8 +140,10 @@ recipient: "المرسَل إليه·ها" annotation: "التعليقات" federation: "الفديرالية" instances: "مثيل الخادم" +registeredAt: "مسجل في" latestRequestSentAt: "آخر طلب أرسِل في" latestRequestReceivedAt: "آخر طلب تُلقي في" +latestStatus: "الحالات الأخيرة" storageUsage: "مساحة التخزين المستخدمة" charts: "المنحنيات البيانية" perHour: "في الساعة" @@ -157,6 +163,8 @@ disk: "قرص التخزين" instanceInfo: "معلومات مثيل الخادم" statistics: "الإحصائيات" clearQueue: "تفريغ قائمة الإنتظار" +clearQueueConfirmTitle: "أتريد مسح الطابور؟" +clearCachedFiles: "امسح التخزين المؤقت" muteAndBlock: "تم كتمها / تم حجبها" mutedUsers: "الحسابات التي تم كتمها" blockedUsers: "الحسابات التي تم حظرها" @@ -495,6 +503,7 @@ pollVotesCount: "عدد الاستطلاعات المرسلة" pollVotedCount: "عدد الاستطلاعات المستلمة" yes: "نعم" no: "لا" +clearCache: "امسح التخزين المؤقت" currentVersion: "الإصدار الحالي" latestVersion: "آخر نسخة مستقرة" usageAmount: "الإستخدام" diff --git a/locales/de-DE.yml b/locales/de-DE.yml index c5bbbddc07..81fb263a7f 100644 --- a/locales/de-DE.yml +++ b/locales/de-DE.yml @@ -795,10 +795,10 @@ itsOff: "Ausgeschaltet" emailRequiredForSignup: "Angaben einer Email-Adresse als benötigt markieren" unread: "Ungelesen" filter: "Filter" -controllPanel: "Systemsteuerung" manageAccounts: "Benutzerkonten verwalten" makeReactionsPublic: "Reaktionsverlauf veröffentlichen" makeReactionsPublicDescription: "Jeder wird die Liste deiner gesendeten Reaktionen einsehen können." +classic: "Classic" _signup: almostThere: "Fast geschafft" emailAddressInfo: "Bitte gib deine Email-Adresse ein." diff --git a/locales/en-US.yml b/locales/en-US.yml index f60365b012..6d2961ce3d 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -795,10 +795,11 @@ itsOff: "Disabled" emailRequiredForSignup: "Require email address for sign-up" unread: "Unread" filter: "Filter" -controllPanel: "Control Panel" +controlPanel: "Control Panel" manageAccounts: "Manage Accounts" makeReactionsPublic: "Set reaction history to public" makeReactionsPublicDescription: "This will make the list of all your past reactions publicly visible." +classic: "Classic" _signup: almostThere: "Almost there" emailAddressInfo: "Please enter your email address." diff --git a/locales/eo-UY.yml b/locales/eo-UY.yml index fdd676f4b8..0733f0e475 100644 --- a/locales/eo-UY.yml +++ b/locales/eo-UY.yml @@ -542,7 +542,7 @@ troubleshooting: "Problemsolvi" learnMore: "Lernu pli" translate: "Traduki" translatedFrom: "Tradukita el {x}" -controllPanel: "Ŝaltpodio" +controlPanel: "Ŝaltpodio" _docs: continueReading: "Legi plu" features: "Funkcioj" diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml index 57300fbcde..c3964fff6d 100644 --- a/locales/fr-FR.yml +++ b/locales/fr-FR.yml @@ -795,7 +795,7 @@ itsOff: "Désactivé" emailRequiredForSignup: "Une adresse e-mail est nécessaire pour créer un compte" unread: "Non lu" filter: "Filtre" -controllPanel: "Panneau de contrôle" +controlPanel: "Panneau de contrôle" manageAccounts: "Gérer les comptes" _signup: almostThere: "Bientôt fini" diff --git a/locales/id-ID.yml b/locales/id-ID.yml index 44c7f49f1c..06df4ce8e9 100644 --- a/locales/id-ID.yml +++ b/locales/id-ID.yml @@ -780,7 +780,7 @@ translatedFrom: "Terjemahkan dari {x}" accountDeletionInProgress: "Penghapusan akun sedang dalam proses" usernameInfo: "Nama yang mengidentifikasikan akun kamu dari yang lain pada server ini. Kamu dapat menggunakan alfabet (a~z, A~Z), digit (0~9) atau garis bawah (_). Username tidak dapat diubah setelahnya." keepCw: "Biarkan Peringatan Konten" -controllPanel: "Panel kontrol" +controlPanel: "Panel kontrol" _accountDelete: accountDelete: "Hapus akun" mayTakeTime: "Karena penghapusan akun merupakan proses yang berat dan intensif, kemungkinan dapat membutuhkan waktu untuk menyelesaikan tergantung daripada berapa banyak konten yang kamu buat dan berapa banyak berkas yang telah kamu unggah." diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 7e44f10f0c..bf71883bfe 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -795,10 +795,11 @@ itsOff: "オフになっています" emailRequiredForSignup: "アカウント登録にメールアドレスを必須にする" unread: "未読" filter: "フィルタ" -controllPanel: "コントロールパネル" +controlPanel: "コントロールパネル" manageAccounts: "アカウントを管理" makeReactionsPublic: "リアクション一覧を公開する" makeReactionsPublicDescription: "あなたがしたリアクション一覧を誰でも見れるようにします。" +classic: "クラシック" _signup: almostThere: "ほとんど完了です" diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index db0cf7f20c..66850335be 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -787,7 +787,7 @@ pubSub: "Pub/Sub 계정" lastCommunication: "마지막 통신" resolved: "해결됨" unresolved: "해결되지 않음" -controllPanel: "제어판" +controlPanel: "제어판" _accountDelete: accountDelete: "계정 삭제" mayTakeTime: "계정 삭제는 서버에 부하를 가하기 때문에, 작성한 콘텐츠나 업로드한 파일의 수가 많으면 완료까지 시간이 걸릴 수 있습니다." diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml index c8aa28df5e..db0b7e84eb 100644 --- a/locales/ru-RU.yml +++ b/locales/ru-RU.yml @@ -784,7 +784,7 @@ accountDeletionInProgress: "В настоящее время выполняет usernameInfo: "Имя, которое отличает вашу учетную запись от других на этом сервере. Вы можете использовать алфавит (a~z, A~Z), цифры (0~9) или символы подчеркивания (_). Имена пользователей не могут быть изменены позже." aiChanMode: "ИИ режим" keepCw: "Сохраняйте Предупреждения о содержимом" -controllPanel: "Панель управления" +controlPanel: "Панель управления" manageAccounts: "Управление аккаунтом" _docs: continueReading: "Читать подробнее" diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml index a8e653f797..9bcf917d6c 100644 --- a/locales/zh-CN.yml +++ b/locales/zh-CN.yml @@ -795,7 +795,6 @@ itsOff: "已关闭" emailRequiredForSignup: "注册账户需要电子邮件地址" unread: "未读" filter: "筛选" -controllPanel: "控制面板" manageAccounts: "管理账户" _signup: almostThere: "即将完成" diff --git a/package.json b/package.json index ea89c595b5..3d43caba68 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "misskey", "author": "syuilo ", - "version": "12.93.1", + "version": "12.93.2", "codename": "indigo", "repository": { "type": "git", @@ -38,6 +38,7 @@ "lodash": "^4.17.21" }, "dependencies": { + "@discordapp/twemoji": "13.1.0", "@elastic/elasticsearch": "7.11.0", "@koa/cors": "3.1.0", "@koa/multer": "3.0.0", @@ -51,18 +52,15 @@ "@types/cbor": "6.0.0", "@types/dateformat": "3.0.1", "@types/escape-regexp": "0.0.0", - "@types/glob": "7.1.4", + "@types/glob": "7.2.0", "@types/gulp": "4.0.9", "@types/gulp-rename": "2.0.1", "@types/is-url": "1.2.30", - "@types/js-yaml": "4.0.3", + "@types/js-yaml": "4.0.4", "@types/jsdom": "16.2.13", "@types/jsonld": "1.5.6", "@types/katex": "0.11.1", "@types/koa": "2.13.4", - "@types/koa__cors": "3.0.3", - "@types/koa__multer": "2.0.3", - "@types/koa__router": "8.0.8", "@types/koa-bodyparser": "4.3.3", "@types/koa-cors": "0.0.2", "@types/koa-favicon": "2.0.21", @@ -70,15 +68,18 @@ "@types/koa-mount": "4.0.1", "@types/koa-send": "4.1.3", "@types/koa-views": "7.0.0", + "@types/koa__cors": "3.0.3", + "@types/koa__multer": "2.0.4", + "@types/koa__router": "8.0.8", "@types/markdown-it": "12.2.3", - "@types/matter-js": "0.17.5", + "@types/matter-js": "0.17.6", "@types/mocha": "8.2.3", - "@types/node": "16.10.3", + "@types/node": "16.11.4", "@types/node-fetch": "2.5.12", "@types/nodemailer": "6.4.4", "@types/nprogress": "0.2.0", "@types/oauth": "0.9.1", - "@types/parse5": "6.0.1", + "@types/parse5": "6.0.2", "@types/parsimmon": "1.10.6", "@types/portscanner": "2.1.1", "@types/pug": "2.0.5", @@ -96,21 +97,20 @@ "@types/speakeasy": "2.0.6", "@types/throttle-debounce": "2.1.0", "@types/tinycolor2": "1.4.3", - "@types/tmp": "0.2.1", + "@types/tmp": "0.2.2", "@types/uuid": "8.3.1", "@types/web-push": "3.3.2", "@types/webpack": "5.28.0", "@types/webpack-stream": "3.2.12", "@types/websocket": "1.0.4", "@types/ws": "8.2.0", - "@typescript-eslint/parser": "5.0.0", + "@typescript-eslint/parser": "5.1.0", "@vue/compiler-sfc": "3.2.20", "abort-controller": "3.0.0", - "apexcharts": "3.28.3", "autobind-decorator": "2.4.0", "autosize": "4.0.4", "autwh": "0.1.0", - "aws-sdk": "2.1003.0", + "aws-sdk": "2.1013.0", "bcryptjs": "2.4.3", "blurhash": "1.1.4", "broadcast-channel": "4.2.0", @@ -119,7 +119,7 @@ "cafy": "15.2.1", "cbor": "8.0.2", "chalk": "4.1.2", - "chart.js": "3.5.1", + "chart.js": "3.6.0", "chartjs-adapter-date-fns": "2.0.0", "chartjs-plugin-zoom": "1.1.1", "cli-highlight": "2.1.11", @@ -132,8 +132,8 @@ "date-fns": "2.25.0", "dateformat": "4.5.1", "escape-regexp": "0.0.1", - "eslint": "8.0.1", - "eslint-plugin-vue": "7.19.1", + "eslint": "8.1.0", + "eslint-plugin-vue": "7.20.0", "eventemitter3": "4.0.7", "feed": "4.2.2", "file-type": "16.5.3", @@ -159,7 +159,7 @@ "jsonld": "5.2.0", "jsrsasign": "8.0.20", "katex": "0.13.18", - "koa": "2.13.3", + "koa": "2.13.4", "koa-bodyparser": "4.3.0", "koa-favicon": "2.1.0", "koa-json-body": "5.3.0", @@ -173,7 +173,7 @@ "markdown-it-anchor": "7.1.0", "matter-js": "0.17.1", "mfm-js": "0.20.0", - "misskey-js": "0.0.6", + "misskey-js": "0.0.8", "mocha": "8.4.0", "ms": "2.1.3", "multer": "1.4.3", @@ -184,7 +184,7 @@ "parse5": "6.0.1", "pg": "8.7.1", "portscanner": "2.2.0", - "postcss": "8.3.9", + "postcss": "8.3.11", "postcss-loader": "6.2.0", "prismjs": "1.25.0", "private-ip": "2.3.0", @@ -206,17 +206,17 @@ "rimraf": "3.0.2", "rndstr": "1.0.0", "s-age": "1.1.2", - "sass": "1.43.2", + "sass": "1.43.3", "sass-loader": "12.2.0", "seedrandom": "3.0.5", - "sharp": "0.29.1", + "sharp": "0.29.2", "speakeasy": "2.0.0", "strict-event-emitter-types": "2.0.0", "stringz": "2.1.0", - "style-loader": "3.3.0", + "style-loader": "3.3.1", "summaly": "2.4.1", "syslog-pro": "1.0.0", - "systeminformation": "5.9.7", + "systeminformation": "5.9.8", "syuilo-password-strength": "0.0.1", "textarea-caret": "3.1.0", "three": "0.117.1", @@ -224,7 +224,7 @@ "tinycolor2": "1.4.2", "tmp": "0.2.1", "ts-loader": "9.2.6", - "ts-node": "10.3.0", + "ts-node": "10.4.0", "tsc-alias": "1.3.10", "tsconfig-paths": "3.11.0", "tslint": "6.1.3", @@ -244,8 +244,8 @@ "vue-svg-loader": "0.17.0-beta.2", "vuedraggable": "4.0.1", "web-push": "3.4.5", - "webpack": "5.58.2", - "webpack-cli": "4.9.0", + "webpack": "5.59.1", + "webpack-cli": "4.9.1", "websocket": "1.0.34", "ws": "8.2.3", "xev": "2.0.1" diff --git a/src/client/components/chart.vue b/src/client/components/chart.vue index 8eb9f93f33..ae9a5e79b1 100644 --- a/src/client/components/chart.vue +++ b/src/client/components/chart.vue @@ -1,5 +1,10 @@ + + diff --git a/src/client/components/form/select.vue b/src/client/components/form/select.vue index 30ccfd312b..9efaf02697 100644 --- a/src/client/components/form/select.vue +++ b/src/client/components/form/select.vue @@ -24,7 +24,7 @@ + + diff --git a/src/client/components/index.ts b/src/client/components/index.ts index ecf66ea0e8..2340b228f8 100644 --- a/src/client/components/index.ts +++ b/src/client/components/index.ts @@ -15,6 +15,7 @@ import error from './global/error.vue'; import ad from './global/ad.vue'; import header from './global/header.vue'; import spacer from './global/spacer.vue'; +import stickyContainer from './global/sticky-container.vue'; export default function(app: App) { app.component('I18n', i18n); @@ -32,4 +33,5 @@ export default function(app: App) { app.component('MkAd', ad); app.component('MkHeader', header); app.component('MkSpacer', spacer); + app.component('MkStickyContainer', stickyContainer); } diff --git a/src/client/components/mention.vue b/src/client/components/mention.vue index b9bd6b320b..101a9020ee 100644 --- a/src/client/components/mention.vue +++ b/src/client/components/mention.vue @@ -1,6 +1,7 @@ diff --git a/src/client/components/queue-chart.vue b/src/client/components/queue-chart.vue index 59c9723f89..f9c3eccfb5 100644 --- a/src/client/components/queue-chart.vue +++ b/src/client/components/queue-chart.vue @@ -79,6 +79,7 @@ export default defineComponent({ pointRadius: 0, tension: 0, borderWidth: 2, + borderJoinStyle: 'round', borderColor: '#00E396', backgroundColor: alpha('#00E396', 0.1), data: [] @@ -87,6 +88,7 @@ export default defineComponent({ pointRadius: 0, tension: 0, borderWidth: 2, + borderJoinStyle: 'round', borderColor: '#00BCD4', backgroundColor: alpha('#00BCD4', 0.1), data: [] @@ -95,17 +97,21 @@ export default defineComponent({ pointRadius: 0, tension: 0, borderWidth: 2, + borderJoinStyle: 'round', borderColor: '#FFB300', backgroundColor: alpha('#FFB300', 0.1), + yAxisID: 'y2', data: [] }, { label: 'Delayed', pointRadius: 0, tension: 0, borderWidth: 2, + borderJoinStyle: 'round', borderColor: '#E53935', borderDash: [5, 5], fill: false, + yAxisID: 'y2', data: [] }], }, @@ -122,15 +128,29 @@ export default defineComponent({ scales: { x: { grid: { - display: false, + display: true, color: gridColor, borderColor: 'rgb(0, 0, 0, 0)', }, ticks: { display: false, + maxTicksLimit: 10 }, }, y: { + min: 0, + stack: 'queue', + stackWeight: 2, + grid: { + color: gridColor, + borderColor: 'rgb(0, 0, 0, 0)', + }, + }, + y2: { + min: 0, + offset: true, + stack: 'queue', + stackWeight: 1, grid: { color: gridColor, borderColor: 'rgb(0, 0, 0, 0)', diff --git a/src/client/components/reactions-viewer.details.vue b/src/client/components/reactions-viewer.details.vue index 6e7da58e20..7c49bd1d9c 100644 --- a/src/client/components/reactions-viewer.details.vue +++ b/src/client/components/reactions-viewer.details.vue @@ -1,23 +1,25 @@ @@ -59,8 +61,11 @@ export default defineComponent({ diff --git a/src/client/components/reactions-viewer.reaction.vue b/src/client/components/reactions-viewer.reaction.vue index 6754d13815..f47ba83f61 100644 --- a/src/client/components/reactions-viewer.reaction.vue +++ b/src/client/components/reactions-viewer.reaction.vue @@ -177,6 +177,7 @@ export default defineComponent({ > span { font-size: 0.9em; line-height: 32px; + margin: 0 0 0 4px; } } diff --git a/src/client/components/ui/folder.vue b/src/client/components/ui/folder.vue index d0616a57c1..3997421d08 100644 --- a/src/client/components/ui/folder.vue +++ b/src/client/components/ui/folder.vue @@ -153,10 +153,4 @@ export default defineComponent({ } } } - -._fitSide_ .ssazuxis { - > header { - padding: 0 16px; - } -} diff --git a/src/client/components/ui/info.vue b/src/client/components/ui/info.vue index e16f2736f1..f6b2edf267 100644 --- a/src/client/components/ui/info.vue +++ b/src/client/components/ui/info.vue @@ -42,8 +42,4 @@ export default defineComponent({ margin-right: 4px; } } - -._fitSide_ .fpezltsf { - border-radius: 0; -} diff --git a/src/client/components/ui/super-menu.vue b/src/client/components/ui/super-menu.vue index 6ab94d744d..195cc57326 100644 --- a/src/client/components/ui/super-menu.vue +++ b/src/client/components/ui/super-menu.vue @@ -50,9 +50,6 @@ export default defineComponent({ border-top: solid 0.5px var(--divider); } - margin-left: 16px; - margin-right: 16px; - > .title { font-size: 0.9em; opacity: 0.7; @@ -120,7 +117,7 @@ export default defineComponent({ > .items { display: grid; - grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); + grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); grid-gap: 8px; padding: 0 16px; diff --git a/src/client/components/ui/tooltip.vue b/src/client/components/ui/tooltip.vue index de8c02ad4a..c003895c14 100644 --- a/src/client/components/ui/tooltip.vue +++ b/src/client/components/ui/tooltip.vue @@ -1,6 +1,6 @@