diff --git a/CHANGELOG.md b/CHANGELOG.md index 5247f5b05c..6fc2a40f60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ You should also include the user name that made the change. #### For users - ノートのウォッチ機能が削除されました - アンケートに投票された際に通知が作成されなくなりました +- ノートの数式埋め込みが削除されました - 新たに動的なPagesを作ることはできなくなりました - 代わりにAiScriptを用いてより柔軟に動的なコンテンツを作成できるMisskey Play機能が実装されています。 - AiScriptが0.12.2にアップデートされました @@ -61,12 +62,14 @@ You should also include the user name that made the change. - Server: signToActivityPubGet is set to true by default @syuilo - Server: improve syslog performance @syuilo - Server: improve note scoring for featured notes @CyberRex0 +- Server: アンケート選択肢の文字数制限を緩和 @syuilo +- Server: improve stats api performance @syuilo +- Server: improve nodeinfo performance @syuilo - Server: delete outdated notifications regularly to improve db performance @syuilo - Server: delete outdated hard-mutes regularly to improve db performance @syuilo - Server: delete outdated notes of antenna regularly to improve db performance @syuilo - Server: improve activitypub deliver performance @syuilo - Client: use tabler-icons instead of fontawesome to better design @syuilo -- Client: Add AiScript App widget - Client: Add new gabber kick sounds (thanks for noizenecio) - Client: Add link to user RSS feed in profile menu @ssmucny - Client: Compress non-animated PNG files @saschanaz @@ -74,15 +77,18 @@ You should also include the user name that made the change. - Client: enhance dashboard of control panel @syuilo - Client: Vite is upgraded to v4 @syuilo, @tamaina - Client: HMR is available while yarn dev @tamaina -- Client: Make widgets of universal/classic sync between devices @tamaina - Client: Implement the button to subscribe push notification @tamaina - Client: Implement the toggle to or not to close push notifications when notifications or messages are read @tamaina -- Client: Improve RSS widget @tamaina - Client: show Unicode emoji tooltip with its name in MkReactionsViewer.reaction @saschanaz - Client: OpenSearch support @SoniEx2 @chaoticryptidz - Client: Support remote objects in search @SoniEx2 - Client: user activity page @syuilo +- Client: Make widgets of universal/classic sync between devices @tamaina - Client: add user list widget @syuilo +- Client: Add AiScript App widget +- Client: add profile widget @syuilo +- Client: add instance info widget @syuilo +- Client: Improve RSS widget @tamaina - Client: add heatmap of daily active users to about page @syuilo - Client: introduce fluent emoji @syuilo - Client: add new theme @syuilo @@ -107,6 +113,7 @@ You should also include the user name that made the change. - Server: アンテナタイムライン(ストリーミング)が、フォローしていないユーザーの鍵投稿も拾ってしまう @syuilo - Client: 日付形式の文字列などがカスタム絵文字として表示されるのを修正 @syuilo - Client: case insensitive emoji search @saschanaz +- Client: 画面の幅が狭いとウィジェットドロワーを閉じる手段がなくなるのを修正 @syuilo - Client: InAppウィンドウが操作できなくなることがあるのを修正 @tamaina - Client: use proxied image for instance icon @syuilo - Client: Webhookの編集画面で、内容を保存することができない問題を修正 @m-hayabusa @@ -115,6 +122,11 @@ You should also include the user name that made the change. - Client: チャートのツールチップが画面に残ることがあるのを修正 @syuilo - Client: fix wrong link in tutorial @syuilo +### Special thanks +- All contributors +- All who have created instances for the beta test +- All who participated in the beta test + ## 12.119.1 (2022/12/03) ### Bugfixes - Server: Mitigate AP reference chain DoS vector @skehmatics diff --git a/Dockerfile b/Dockerfile index 25cec42a9b..2383b5dc27 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18.12.1-bullseye AS builder +FROM node:18.13.0-bullseye AS builder ARG NODE_ENV=production @@ -22,7 +22,7 @@ COPY . ./ RUN git submodule update --init RUN yarn build -FROM node:18.12.1-bullseye-slim AS runner +FROM node:18.13.0-bullseye-slim AS runner WORKDIR /misskey diff --git a/locales/ar-SA.yml b/locales/ar-SA.yml index 773e239812..16639c957a 100644 --- a/locales/ar-SA.yml +++ b/locales/ar-SA.yml @@ -1117,6 +1117,8 @@ _weekday: friday: "الجمعة" saturday: "السبت" _widgets: + profile: "الملف التعريفي" + instanceInfo: "معلومات مثيل الخادم" memo: "ملاحظة لاصقة" notifications: "الإشعارات" timeline: "الخيط الزمني" diff --git a/locales/bn-BD.yml b/locales/bn-BD.yml index ac0a0e1a51..711626e56d 100644 --- a/locales/bn-BD.yml +++ b/locales/bn-BD.yml @@ -1200,6 +1200,8 @@ _weekday: friday: "শুক্রবার" saturday: "শনিবার" _widgets: + profile: "প্রোফাইল" + instanceInfo: "ইন্সট্যান্সের তথ্য" memo: "স্টিকি নোট" notifications: "বিজ্ঞপ্তি" timeline: "টাইমলাইন" diff --git a/locales/ca-ES.yml b/locales/ca-ES.yml index 5127803ebc..be97b7f60a 100644 --- a/locales/ca-ES.yml +++ b/locales/ca-ES.yml @@ -399,6 +399,8 @@ _antennaSources: userList: "Publicacions d'una llista d'usuaris" userGroup: "Publicacions d'usuaris d'un grup" _widgets: + profile: "Perfil" + instanceInfo: "Informació del fitxer d'instal·lació" notifications: "Notificacions" timeline: "Línia de temps" activity: "Activitat" diff --git a/locales/cs-CZ.yml b/locales/cs-CZ.yml index 2d80008c47..d65725a776 100644 --- a/locales/cs-CZ.yml +++ b/locales/cs-CZ.yml @@ -694,6 +694,8 @@ _weekday: friday: "Pátek" saturday: "Sobota" _widgets: + profile: "Váš profil" + instanceInfo: "Informace o instanci" notifications: "Oznámení" timeline: "Časová osa" calendar: "Kalendář" diff --git a/locales/de-DE.yml b/locales/de-DE.yml index 70d0acc264..cbedcfe5f0 100644 --- a/locales/de-DE.yml +++ b/locales/de-DE.yml @@ -1302,6 +1302,8 @@ _weekday: friday: "Freitag" saturday: "Samstag" _widgets: + profile: "Profil" + instanceInfo: "Instanzinformationen" memo: "Merkzettel" notifications: "Benachrichtigungen" timeline: "Chronik" diff --git a/locales/el-GR.yml b/locales/el-GR.yml index 0267065d9e..d32dd9c728 100644 --- a/locales/el-GR.yml +++ b/locales/el-GR.yml @@ -343,6 +343,8 @@ _antennaSources: userList: "Σημειώματα από καθορισμένη λίστα μελών" userGroup: "Σημειώματα από μέλη καθορισμένης ομάδας" _widgets: + profile: "Προφίλ" + instanceInfo: "Πληροφορίες του instance" notifications: "Ειδοποιήσεις" timeline: "Χρονολόγιο" calendar: "Ημερολόγιο" diff --git a/locales/en-US.yml b/locales/en-US.yml index ef42a8b97d..4c25c956fc 100644 --- a/locales/en-US.yml +++ b/locales/en-US.yml @@ -1302,6 +1302,8 @@ _weekday: friday: "Friday" saturday: "Saturday" _widgets: + profile: "Profile" + instanceInfo: "Instance Information" memo: "Sticky notes" notifications: "Notifications" timeline: "Timeline" diff --git a/locales/es-ES.yml b/locales/es-ES.yml index 5e48fb6d31..c6973dad6f 100644 --- a/locales/es-ES.yml +++ b/locales/es-ES.yml @@ -1296,6 +1296,8 @@ _weekday: friday: "Viernes" saturday: "Sábado" _widgets: + profile: "Perfil" + instanceInfo: "información de la instancia" memo: "Nota adhesiva" notifications: "Notificaciones" timeline: "Linea de tiempo" diff --git a/locales/fr-FR.yml b/locales/fr-FR.yml index 8c777ab513..3c583da737 100644 --- a/locales/fr-FR.yml +++ b/locales/fr-FR.yml @@ -1289,6 +1289,8 @@ _weekday: friday: "Vendredi" saturday: "Samedi" _widgets: + profile: "Profil" + instanceInfo: "Informations sur l’instance" memo: "Note collante" notifications: "Notifications" timeline: "Fil" diff --git a/locales/id-ID.yml b/locales/id-ID.yml index eee647d0f6..ae9a7c300d 100644 --- a/locales/id-ID.yml +++ b/locales/id-ID.yml @@ -1206,6 +1206,8 @@ _weekday: friday: "Jumat" saturday: "Sabtu" _widgets: + profile: "Profil" + instanceInfo: "Informasi Instansi" memo: "Catatan memo" notifications: "Pemberitahuan" timeline: "Linimasa" diff --git a/locales/it-IT.yml b/locales/it-IT.yml index 013a1d2de4..9e871eb50b 100644 --- a/locales/it-IT.yml +++ b/locales/it-IT.yml @@ -1296,6 +1296,8 @@ _weekday: friday: "Venerdì" saturday: "Sabato" _widgets: + profile: "Profilo" + instanceInfo: "Informazioni sull'istanza" memo: "Promemoria" notifications: "Notifiche" timeline: "Timeline" diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index e42f9babe1..aac89d8fe4 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1335,6 +1335,8 @@ _weekday: saturday: "土曜日" _widgets: + profile: "プロフィール" + instanceInfo: "インスタンス情報" memo: "付箋" notifications: "通知" timeline: "タイムライン" diff --git a/locales/ja-KS.yml b/locales/ja-KS.yml index 4eff3268d4..89f06dd681 100644 --- a/locales/ja-KS.yml +++ b/locales/ja-KS.yml @@ -1295,6 +1295,8 @@ _weekday: friday: "金曜日" saturday: "土曜日" _widgets: + profile: "プロフィール" + instanceInfo: "インスタンス情報" memo: "付箋" notifications: "通知" timeline: "タイムライン" diff --git a/locales/kab-KAB.yml b/locales/kab-KAB.yml index ea5a4be4fa..7c2e3a065e 100644 --- a/locales/kab-KAB.yml +++ b/locales/kab-KAB.yml @@ -73,6 +73,7 @@ _sfx: _permissions: "write:account": "Ẓreg talɣut n umiḍan-ik·im" _widgets: + profile: "Amaɣnu" notifications: "Ilɣuyen" _userList: chooseList: "Fren tabdart" diff --git a/locales/kn-IN.yml b/locales/kn-IN.yml index a38d9267b1..55b72d3a6e 100644 --- a/locales/kn-IN.yml +++ b/locales/kn-IN.yml @@ -69,6 +69,7 @@ _mfm: _sfx: notification: "ಅಧಿಸೂಚನೆಗಳು" _widgets: + profile: "ಪ್ರೊಫೈಲು" notifications: "ಅಧಿಸೂಚನೆಗಳು" timeline: "ಸಮಯಸಾಲು" _cw: diff --git a/locales/ko-KR.yml b/locales/ko-KR.yml index f2ba0e6c7b..ef61d867d0 100644 --- a/locales/ko-KR.yml +++ b/locales/ko-KR.yml @@ -1302,6 +1302,8 @@ _weekday: friday: "금요일" saturday: "토요일" _widgets: + profile: "프로필" + instanceInfo: "인스턴스 정보" memo: "스티커 메모" notifications: "알림" timeline: "타임라인" diff --git a/locales/nl-NL.yml b/locales/nl-NL.yml index 93ed3fa7e2..5735c6322a 100644 --- a/locales/nl-NL.yml +++ b/locales/nl-NL.yml @@ -440,6 +440,8 @@ _sfx: notification: "Meldingen" chat: "Chat" _widgets: + profile: "Profiel" + instanceInfo: "Serverinformatie" notifications: "Meldingen" timeline: "Tijdlijn" activity: "Activiteit" diff --git a/locales/pl-PL.yml b/locales/pl-PL.yml index 9043d2ab94..2ff9fce948 100644 --- a/locales/pl-PL.yml +++ b/locales/pl-PL.yml @@ -1213,6 +1213,8 @@ _weekday: friday: "Piątek" saturday: "Sobota" _widgets: + profile: "Profil" + instanceInfo: "Informacje o instancji" memo: "Przypięte notatki" notifications: "Powiadomienia" timeline: "Oś czasu" diff --git a/locales/pt-PT.yml b/locales/pt-PT.yml index ba4814c81b..c8dc097236 100644 --- a/locales/pt-PT.yml +++ b/locales/pt-PT.yml @@ -488,6 +488,8 @@ _sfx: notification: "Notificações" chat: "Chat" _widgets: + profile: "Perfil" + instanceInfo: "Informações da instância" notifications: "Notificações" timeline: "Timeline" activity: "atividade" diff --git a/locales/ro-RO.yml b/locales/ro-RO.yml index 3c85045e5d..8593fe29ef 100644 --- a/locales/ro-RO.yml +++ b/locales/ro-RO.yml @@ -667,6 +667,8 @@ _sfx: notification: "Notificări" chat: "Chat" _widgets: + profile: "Profil" + instanceInfo: "Informații despre instanță" notifications: "Notificări" timeline: "Cronologie" activity: "Activitate" diff --git a/locales/ru-RU.yml b/locales/ru-RU.yml index 49cccc71ae..90aaa64e72 100644 --- a/locales/ru-RU.yml +++ b/locales/ru-RU.yml @@ -1213,6 +1213,8 @@ _weekday: friday: "Пятница" saturday: "Суббота" _widgets: + profile: "Профиль" + instanceInfo: "Информация об инстансе" memo: "Напоминания" notifications: "Уведомления" timeline: "Лента" diff --git a/locales/sk-SK.yml b/locales/sk-SK.yml index 2627c70b67..9c569a3677 100644 --- a/locales/sk-SK.yml +++ b/locales/sk-SK.yml @@ -1295,6 +1295,8 @@ _weekday: friday: "Piatok" saturday: "Sobota" _widgets: + profile: "Profil" + instanceInfo: "Informácie o serveri" memo: "Prilepené poznámky" notifications: "Oznámenia" timeline: "Časová os" diff --git a/locales/sv-SE.yml b/locales/sv-SE.yml index 4e2f942686..b2647c9689 100644 --- a/locales/sv-SE.yml +++ b/locales/sv-SE.yml @@ -327,7 +327,16 @@ pinnedNotes: "Fästad not" enableHcaptcha: "Aktivera hCaptcha" enableRecaptcha: "Aktivera reCAPTCHA" enableTurnstile: "Aktivera Turnstile" +antennas: "Antenner" +manageAntennas: "Hantera Antenner" +antennaSource: "Antennkälla" +antennaKeywords: "Nyckelord att lyssna efter" +antennaExcludeKeywords: "Nyckelord att exkludera" +antennaKeywordsDescription: "Separera med mellanslag för en AND kondition, eller med nya linjer för en OR kondition" +notifyAntenna: "Notifiera om nya noter" +withFileAntenna: "Endast noter med filer" enableServiceworker: "Aktivera pushnotiser i denna webbläsaren" +antennaUsersDescription: "Ange ett användarnamn per linje" recentlyUpdatedUsers: "Nyligen aktiva användare" recentlyRegisteredUsers: "Nyligen registrerade användare" userList: "Listor" @@ -377,7 +386,16 @@ _sfx: note: "Noter" notification: "Notifikationer" chat: "Chatt" + antenna: "Antenner" +_antennaSources: + all: "Alla noter" + homeTimeline: "Noter från följda användare" + users: "Noter från specifika användare" + userList: "Noter från en specificerad lista av användare" + userGroup: "Noter från användare i en specificerad grupp" _widgets: + profile: "Profil" + instanceInfo: "Instansinformation" notifications: "Notifikationer" timeline: "Tidslinje" activity: "Aktivitet" @@ -395,6 +413,7 @@ _profile: changeAvatar: "Ändra profilbild" changeBanner: "Ändra banner" _exportOrImport: + allNotes: "Alla noter" followingList: "Följer" muteList: "Tysta" blockingList: "Blockera" @@ -423,5 +442,6 @@ _deck: _columns: notifications: "Notifikationer" tl: "Tidslinje" + antenna: "Antenner" list: "Listor" mentions: "Omnämningar" diff --git a/locales/th-TH.yml b/locales/th-TH.yml index d86c3de0e9..3ff6c1da80 100644 --- a/locales/th-TH.yml +++ b/locales/th-TH.yml @@ -1302,6 +1302,8 @@ _weekday: friday: "วันศุกร์" saturday: "วันเสาร์" _widgets: + profile: "โปรไฟล์" + instanceInfo: "ข้อมูล อินสแตนซ์" memo: "โน้ตแปะ" notifications: "การเเจ้งเตือน" timeline: "ไทม์ไลน์" diff --git a/locales/tr-TR.yml b/locales/tr-TR.yml index aecb413de7..ebcdfa5bfb 100644 --- a/locales/tr-TR.yml +++ b/locales/tr-TR.yml @@ -53,6 +53,7 @@ _mfm: _sfx: notification: "Bildirim" _widgets: + profile: "Profil" notifications: "Bildirim" timeline: "Zaman çizelgesi" _profile: diff --git a/locales/uk-UA.yml b/locales/uk-UA.yml index c6afcde112..7736f3eba5 100644 --- a/locales/uk-UA.yml +++ b/locales/uk-UA.yml @@ -1229,6 +1229,8 @@ _weekday: friday: "П'ятниця" saturday: "Субота" _widgets: + profile: "Профіль" + instanceInfo: "Про цей інстанс" memo: "Нагадування" notifications: "Сповіщення" timeline: "Стрічка" diff --git a/locales/vi-VN.yml b/locales/vi-VN.yml index 6824faaee1..0377d54bc9 100644 --- a/locales/vi-VN.yml +++ b/locales/vi-VN.yml @@ -1271,6 +1271,8 @@ _weekday: friday: "Thứ Sáu" saturday: "Thứ Bảy" _widgets: + profile: "Trang cá nhân" + instanceInfo: "Thông tin máy chủ" memo: "Tút đã ghim" notifications: "Thông báo" timeline: "Bảng tin" diff --git a/locales/zh-CN.yml b/locales/zh-CN.yml index 8ebc3a1fb4..b288401206 100644 --- a/locales/zh-CN.yml +++ b/locales/zh-CN.yml @@ -922,7 +922,8 @@ numberOfLikes: "点赞数" show: "显示" neverShow: "不再显示" remindMeLater: "稍后提醒我" -didYouLikeMisskey: "你在Misskey玩得还开心吗?" +didYouLikeMisskey: "您喜欢Misskey吗?" +pleaseDonate: "Misskey是{host}所使用的免费软件。为了今后也能够维持Misskey的开发,请在有余力的情况下进行捐助!" _sensitiveMediaDetection: description: "可以使用机器学习技术自动检测敏感媒体,以便进行审核。服务器负载将略微增加。" sensitivity: "检测敏感度" @@ -1301,6 +1302,8 @@ _weekday: friday: "星期五" saturday: "星期六" _widgets: + profile: "个人资料" + instanceInfo: "实例信息" memo: "便签" notifications: "通知" timeline: "时间线" @@ -1327,6 +1330,7 @@ _widgets: userList: "用户列表" _userList: chooseList: "选择列表" + clicker: "点击器" _cw: hide: "隐藏" show: "查看更多" diff --git a/locales/zh-TW.yml b/locales/zh-TW.yml index 8330be0388..b80821bf10 100644 --- a/locales/zh-TW.yml +++ b/locales/zh-TW.yml @@ -797,7 +797,7 @@ squareAvatars: "頭像以方形顯示" sent: "發送" received: "收取" searchResult: "搜尋結果" -hashtags: "#tag" +hashtags: "標籤" troubleshooting: "故障排除" useBlurEffect: "在 UI 上使用模糊效果" learnMore: "更多資訊" @@ -1159,7 +1159,7 @@ _theme: navActive: "側邊欄文本 (活動)" navIndicator: "側邊欄指示符" link: "鏈接" - hashtag: "#tag" + hashtag: "標籤" mention: "提到" mentionMe: "提到了我" renote: "轉發貼文" @@ -1302,6 +1302,8 @@ _weekday: friday: "週五" saturday: "週六" _widgets: + profile: "個人檔案" + instanceInfo: "實例資訊" memo: "備忘錄" notifications: "通知" timeline: "時間軸" diff --git a/package.json b/package.json index 5d99966a18..0aba29ba7b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "misskey", - "version": "13.0.0-beta.36", + "version": "13.0.0-beta.39", "codename": "indigo", "repository": { "type": "git", diff --git a/packages/backend/migration/1673336077243-PollChoiceLength.js b/packages/backend/migration/1673336077243-PollChoiceLength.js new file mode 100644 index 0000000000..810c626e04 --- /dev/null +++ b/packages/backend/migration/1673336077243-PollChoiceLength.js @@ -0,0 +1,11 @@ +export class PollChoiceLength1673336077243 { + name = 'PollChoiceLength1673336077243' + + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "poll" ALTER COLUMN "choices" TYPE character varying(256) array`); + } + + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "poll" ALTER COLUMN "choices" TYPE character varying(128) array`); + } +} diff --git a/packages/backend/src/models/entities/Poll.ts b/packages/backend/src/models/entities/Poll.ts index 6641b435eb..ee1d646020 100644 --- a/packages/backend/src/models/entities/Poll.ts +++ b/packages/backend/src/models/entities/Poll.ts @@ -24,7 +24,7 @@ export class Poll { public multiple: boolean; @Column('varchar', { - length: 128, array: true, default: '{}', + length: 256, array: true, default: '{}', }) public choices: string[]; diff --git a/packages/backend/src/server/NodeinfoServerService.ts b/packages/backend/src/server/NodeinfoServerService.ts index 86d87872b2..c4236c8752 100644 --- a/packages/backend/src/server/NodeinfoServerService.ts +++ b/packages/backend/src/server/NodeinfoServerService.ts @@ -8,6 +8,8 @@ import { MAX_NOTE_TEXT_LENGTH } from '@/const.js'; import { Cache } from '@/misc/cache.js'; import { UserEntityService } from '@/core/entities/UserEntityService.js'; import { bindThis } from '@/decorators.js'; +import NotesChart from '@/core/chart/charts/notes.js'; +import UsersChart from '@/core/chart/charts/users.js'; import type { FastifyInstance, FastifyPluginOptions } from 'fastify'; const nodeinfo2_1path = '/nodeinfo/2.1'; @@ -27,6 +29,8 @@ export class NodeinfoServerService { private userEntityService: UserEntityService, private metaService: MetaService, + private notesChart: NotesChart, + private usersChart: UsersChart, ) { //this.createServer = this.createServer.bind(this); } @@ -46,20 +50,27 @@ export class NodeinfoServerService { public createServer(fastify: FastifyInstance, options: FastifyPluginOptions, done: (err?: Error) => void) { const nodeinfo2 = async () => { const now = Date.now(); + + const notesChart = await this.notesChart.getChart('hour', 1, null); + const localPosts = notesChart.local.total[0]; + + const usersChart = await this.usersChart.getChart('hour', 1, null); + const total = usersChart.local.total[0]; + const [ meta, - total, - activeHalfyear, - activeMonth, - localPosts, + //activeHalfyear, + //activeMonth, ] = await Promise.all([ this.metaService.fetch(true), - this.usersRepository.count({ where: { host: IsNull() } }), - this.usersRepository.count({ where: { host: IsNull(), lastActiveDate: MoreThan(new Date(now - 15552000000)) } }), - this.usersRepository.count({ where: { host: IsNull(), lastActiveDate: MoreThan(new Date(now - 2592000000)) } }), - this.notesRepository.count({ where: { userHost: IsNull() } }), + // 重い + //this.usersRepository.count({ where: { host: IsNull(), lastActiveDate: MoreThan(new Date(now - 15552000000)) } }), + //this.usersRepository.count({ where: { host: IsNull(), lastActiveDate: MoreThan(new Date(now - 2592000000)) } }), ]); + const activeHalfyear = null; + const activeMonth = null; + const proxyAccount = meta.proxyAccountId ? await this.userEntityService.pack(meta.proxyAccountId).catch(() => null) : null; return { diff --git a/packages/backend/src/server/api/endpoints/stats.ts b/packages/backend/src/server/api/endpoints/stats.ts index 96b22b0261..8bd0311dce 100644 --- a/packages/backend/src/server/api/endpoints/stats.ts +++ b/packages/backend/src/server/api/endpoints/stats.ts @@ -3,6 +3,8 @@ import { IsNull } from 'typeorm'; import type { InstancesRepository, NoteReactionsRepository, NotesRepository, UsersRepository } from '@/models/index.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; import { DI } from '@/di-symbols.js'; +import NotesChart from '@/core/chart/charts/notes.js'; +import UsersChart from '@/core/chart/charts/users.js'; export const meta = { requireCredential: false, @@ -66,21 +68,24 @@ export default class extends Endpoint { @Inject(DI.noteReactionsRepository) private noteReactionsRepository: NoteReactionsRepository, + + private notesChart: NotesChart, + private usersChart: UsersChart, ) { super(meta, paramDef, async () => { + const notesChart = await this.notesChart.getChart('hour', 1, null); + const notesCount = notesChart.local.total[0] + notesChart.remote.total[0]; + const originalNotesCount = notesChart.local.total[0]; + + const usersChart = await this.usersChart.getChart('hour', 1, null); + const usersCount = usersChart.local.total[0] + usersChart.remote.total[0]; + const originalUsersCount = usersChart.local.total[0]; + const [ - notesCount, - originalNotesCount, - usersCount, - originalUsersCount, reactionsCount, //originalReactionsCount, instances, ] = await Promise.all([ - this.notesRepository.count({ cache: 3600000 }), // 1 hour - this.notesRepository.count({ where: { userHost: IsNull() }, cache: 3600000 }), - this.usersRepository.count({ cache: 3600000 }), - this.usersRepository.count({ where: { host: IsNull() }, cache: 3600000 }), this.noteReactionsRepository.count({ cache: 3600000 }), // 1 hour //this.noteReactionsRepository.count({ where: { userHost: IsNull() }, cache: 3600000 }), this.instancesRepository.count({ cache: 3600000 }), diff --git a/packages/frontend/package.json b/packages/frontend/package.json index 72a9532c61..0c33ada766 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -36,7 +36,6 @@ "insert-text-at-cursor": "0.3.0", "is-file-animated": "1.0.2", "json5": "2.2.3", - "katex": "0.16.4", "matter-js": "0.18.0", "mfm-js": "0.23.1", "misskey-js": "0.0.14", @@ -73,7 +72,6 @@ "@types/glob": "8.0.0", "@types/gulp": "4.0.10", "@types/gulp-rename": "2.0.1", - "@types/katex": "0.16.0", "@types/matter-js": "0.18.2", "@types/punycode": "2.1.0", "@types/sanitize-html": "^2.8.0", diff --git a/packages/frontend/src/components/MkDateSeparatedList.vue b/packages/frontend/src/components/MkDateSeparatedList.vue index 1f88bdf137..5d8e14c3c8 100644 --- a/packages/frontend/src/components/MkDateSeparatedList.vue +++ b/packages/frontend/src/components/MkDateSeparatedList.vue @@ -80,7 +80,6 @@ export default defineComponent({ } else { if (props.ad && item._shouldInsertAd_) { return [h(MkAd, { - class: 'a', // advertiseの意(ブロッカー対策) key: item.id + ':ad', prefer: ['horizontal', 'horizontal-big'], }), el]; diff --git a/packages/frontend/src/components/MkDialog.vue b/packages/frontend/src/components/MkDialog.vue index c90163051f..160ea23e05 100644 --- a/packages/frontend/src/components/MkDialog.vue +++ b/packages/frontend/src/components/MkDialog.vue @@ -1,19 +1,19 @@ -
+
{{ (showCancelButton || input || select) ? i18n.ts.ok : i18n.ts.gotIt }} {{ i18n.ts.cancel }}
-
+
{{ action.text }}
@@ -143,8 +143,8 @@ onBeforeUnmount(() => { }); - diff --git a/packages/frontend/src/components/MkFormula.vue b/packages/frontend/src/components/MkFormula.vue deleted file mode 100644 index 65a2fee930..0000000000 --- a/packages/frontend/src/components/MkFormula.vue +++ /dev/null @@ -1,24 +0,0 @@ - - - diff --git a/packages/frontend/src/components/MkFormulaCore.vue b/packages/frontend/src/components/MkFormulaCore.vue deleted file mode 100644 index 6028db9e64..0000000000 --- a/packages/frontend/src/components/MkFormulaCore.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - diff --git a/packages/frontend/src/components/MkLaunchPad.vue b/packages/frontend/src/components/MkLaunchPad.vue index aab7631e36..2f941a311d 100644 --- a/packages/frontend/src/components/MkLaunchPad.vue +++ b/packages/frontend/src/components/MkLaunchPad.vue @@ -75,7 +75,7 @@ function close() { &.asDrawer { width: 100%; - padding: 16px 16px calc(env(safe-area-inset-bottom, 0px) + 16px) 16px; + padding: 16px 16px max(env(safe-area-inset-bottom, 0px), 16px) 16px; border-radius: 24px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; diff --git a/packages/frontend/src/components/MkLink.vue b/packages/frontend/src/components/MkLink.vue index 6148ec6195..2e4f93e848 100644 --- a/packages/frontend/src/components/MkLink.vue +++ b/packages/frontend/src/components/MkLink.vue @@ -1,10 +1,10 @@ @@ -35,13 +35,9 @@ useTooltip($$(el), (showing) => { }); - diff --git a/packages/frontend/src/components/MkMenu.vue b/packages/frontend/src/components/MkMenu.vue index abae272e8f..94dabcac90 100644 --- a/packages/frontend/src/components/MkMenu.vue +++ b/packages/frontend/src/components/MkMenu.vue @@ -2,54 +2,54 @@
- + {{ i18n.ts.none }}
-
+
@@ -186,8 +186,8 @@ onBeforeUnmount(() => { }); - diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 45aba1d24b..c8a1064f06 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -4,27 +4,26 @@ v-show="!isDeleted" ref="el" v-hotkey="keymap" - class="tkcbzcuz" + :class="$style.root" :tabindex="!isDeleted ? '-1' : null" - :class="{ renote: isRenote }" > - -
{{ i18n.ts.pinnedNote }}
-
{{ i18n.ts.promotion }}
-
{{ i18n.ts.featured }}
-
- - - + +
{{ i18n.ts.pinnedNote }}
+ + +
+ + + -
- @@ -35,80 +34,80 @@
-
- -
- - -
-

- +

+ +
+ + +
+

+

-
-
+
+
({{ i18n.ts.private }}) - + - RN: -
+
-
+
{{ $t('translatedFrom', { x: translation.sourceLang }) }}:
-
+
- - -
- -
- {{ appearNote.channel.name }} + {{ appearNote.channel.name }}
-
+
- - - - -
-
+
@@ -349,8 +348,8 @@ function readPromo() { } - diff --git a/packages/frontend/src/components/MkNoteSimple.vue b/packages/frontend/src/components/MkNoteSimple.vue index dcc2656c82..9c8e24069b 100644 --- a/packages/frontend/src/components/MkNoteSimple.vue +++ b/packages/frontend/src/components/MkNoteSimple.vue @@ -1,15 +1,15 @@ @@ -24,7 +24,7 @@ import { ref } from 'vue'; import MkPagination from '@/components/MkPagination.vue'; import XNote from '@/components/MkNote.vue'; -import XList from '@/components/MkDateSeparatedList.vue'; +import MkDateSeparatedList from '@/components/MkDateSeparatedList.vue'; import { i18n } from '@/i18n'; import { definePageMetadata } from '@/scripts/page-metadata'; diff --git a/packages/frontend/src/pages/messaging/messaging-room.vue b/packages/frontend/src/pages/messaging/messaging-room.vue index fa08b1cb72..01b227a672 100644 --- a/packages/frontend/src/pages/messaging/messaging-room.vue +++ b/packages/frontend/src/pages/messaging/messaging-room.vue @@ -16,7 +16,7 @@
@@ -55,7 +55,7 @@ import * as Misskey from 'misskey-js'; import * as Acct from 'misskey-js/built/acct'; import XMessage from './messaging-room.message.vue'; import XForm from './messaging-room.form.vue'; -import XList from '@/components/MkDateSeparatedList.vue'; +import MkDateSeparatedList from '@/components/MkDateSeparatedList.vue'; import MkPagination, { Paging } from '@/components/MkPagination.vue'; import { isBottomVisible, onScrollBottom, scrollToBottom } from '@/scripts/scroll'; import * as os from '@/os'; @@ -351,7 +351,6 @@ definePageMetadata(computed(() => !fetching ? user ? { z-index: 2; bottom: 0; padding-top: 8px; - bottom: calc(env(safe-area-inset-bottom, 0px) + 8px); > .new-message { width: 100%; diff --git a/packages/frontend/src/pages/mfm-cheat-sheet.vue b/packages/frontend/src/pages/mfm-cheat-sheet.vue index 4dde3f2666..b3932ff7ce 100644 --- a/packages/frontend/src/pages/mfm-cheat-sheet.vue +++ b/packages/frontend/src/pages/mfm-cheat-sheet.vue @@ -114,16 +114,6 @@
-
-
{{ i18n.ts._mfm.inlineMath }}
-
-

{{ i18n.ts._mfm.inlineMathDescription }}

-
- - -
-
-
@@ -20,51 +18,64 @@ v-else :ref="ids[0]" :key="ids[0]" - class="column" + :class="$style.column" :column="columns.find(c => c.id === ids[0])" :is-stacked="false" :style="columns.find(c => c.id === ids[0])!.flexible ? { flex: 1, minWidth: '350px' } : { width: columns.find(c => c.id === ids[0])!.width + 'px' }" @parent-focus="moveFocus(ids[0], $event)" /> -
+
{{ i18n.ts._deck.introduction }}
- {{ i18n.ts._deck.addColumn }} + {{ i18n.ts._deck.addColumn }}
{{ i18n.ts._deck.introduction2 }}
-
-
- - +
+
+ +
-
- +
+
-
- +
+
-
- - - - +
+ + + +
- + - - + +
+ +
@@ -223,30 +234,30 @@ async function deleteProfile() { } - diff --git a/packages/frontend/src/ui/deck/column.vue b/packages/frontend/src/ui/deck/column.vue index cb945aa14b..339421a13e 100644 --- a/packages/frontend/src/ui/deck/column.vue +++ b/packages/frontend/src/ui/deck/column.vue @@ -1,31 +1,28 @@