From 357da2ce3ad9298cce68d3a2f453c5d0f58d0bb1 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 11 Mar 2022 12:44:35 +0900 Subject: fix(server): ulidを使用していると動作しない問題を修正 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/backend/src/server/api/define.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages') diff --git a/packages/backend/src/server/api/define.ts b/packages/backend/src/server/api/define.ts index 9094fcffc6..4e6d041a29 100644 --- a/packages/backend/src/server/api/define.ts +++ b/packages/backend/src/server/api/define.ts @@ -31,7 +31,7 @@ const ajv = new Ajv({ useDefaults: true, }); -ajv.addFormat('misskey:id', /^[a-z0-9]+$/); +ajv.addFormat('misskey:id', /^[a-zA-Z0-9]+$/); export default function (meta: T, paramDef: Ps, cb: executor) : (params: any, user: T['requireCredential'] extends true ? SimpleUserInfo : SimpleUserInfo | null, token: AccessToken | null, file?: any) => Promise { -- cgit v1.2.3-freya From 5490d82e3bb2165086f758f59206136a88df6a12 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 11 Mar 2022 18:55:47 +0900 Subject: tweal c;iemy --- locales/ja-JP.yml | 2 +- packages/client/src/components/chart.vue | 32 +++++++++++++++++++++++ packages/client/src/pages/user/index.activity.vue | 31 +++++++++++++++++++++- 3 files changed, 63 insertions(+), 2 deletions(-) (limited to 'packages') diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 13f9efe9b4..e2cf11b49d 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -830,7 +830,7 @@ auto: "自動" themeColor: "テーマカラー" size: "サイズ" numberOfColumn: "列の数" -searchByGoogle: "ググる" +searchByGoogle: "検索" instanceDefaultLightTheme: "インスタンスデフォルトのライトテーマ" instanceDefaultDarkTheme: "インスタンスデフォルトのダークテーマ" instanceDefaultThemeDescription: "オブジェクト形式のテーマコードを記入します。" diff --git a/packages/client/src/components/chart.vue b/packages/client/src/components/chart.vue index 13ca60efa8..a7870de39d 100644 --- a/packages/client/src/components/chart.vue +++ b/packages/client/src/components/chart.vue @@ -795,6 +795,36 @@ export default defineComponent({ }; }; + const fetchPerUserFollowingChart = async (): Promise => { + const raw = await os.api('charts/user/following', { userId: props.args.user.id, limit: props.limit, span: props.span }); + return { + series: [{ + name: 'Local', + type: 'area', + data: format(raw.local.followings.total), + }, { + name: 'Remote', + type: 'area', + data: format(raw.remote.followings.total), + }], + }; + }; + + const fetchPerUserFollowersChart = async (): Promise => { + const raw = await os.api('charts/user/following', { userId: props.args.user.id, limit: props.limit, span: props.span }); + return { + series: [{ + name: 'Local', + type: 'area', + data: format(raw.local.followers.total), + }, { + name: 'Remote', + type: 'area', + data: format(raw.remote.followers.total), + }], + }; + }; + const fetchPerUserDriveChart = async (): Promise => { const raw = await os.api('charts/user/drive', { userId: props.args.user.id, limit: props.limit, span: props.span }); return { @@ -838,6 +868,8 @@ export default defineComponent({ case 'instance-drive-files-total': return fetchInstanceDriveFilesChart(true); case 'per-user-notes': return fetchPerUserNotesChart(); + case 'per-user-following': return fetchPerUserFollowingChart(); + case 'per-user-followers': return fetchPerUserFollowersChart(); case 'per-user-drive': return fetchPerUserDriveChart(); } }; diff --git a/packages/client/src/pages/user/index.activity.vue b/packages/client/src/pages/user/index.activity.vue index f64e9d5b60..aecd25d6b0 100644 --- a/packages/client/src/pages/user/index.activity.vue +++ b/packages/client/src/pages/user/index.activity.vue @@ -1,9 +1,14 @@ @@ -13,6 +18,8 @@ import { } from 'vue'; import * as misskey from 'misskey-js'; import MkContainer from '@/components/ui/container.vue'; import MkChart from '@/components/chart.vue'; +import * as os from '@/os'; +import { i18n } from '@/i18n'; const props = withDefaults(defineProps<{ user: misskey.entities.User; @@ -20,4 +27,26 @@ const props = withDefaults(defineProps<{ }>(), { limit: 50, }); + +let chartSrc = $ref('per-user-notes'); + +function showMenu(ev: MouseEvent) { + os.popupMenu([{ + text: i18n.ts.notes, + active: true, + action: () => { + chartSrc = 'per-user-notes'; + } + }/*, { + text: i18n.ts.following, + action: () => { + chartSrc = 'per-user-following'; + } + }, { + text: i18n.ts.followers, + action: () => { + chartSrc = 'per-user-followers'; + } + }*/], ev.currentTarget ?? ev.target); +} -- cgit v1.2.3-freya From 0a6c9a00bd9b2590fa6b886deaeecf79394e7231 Mon Sep 17 00:00:00 2001 From: xianon Date: Sat, 12 Mar 2022 13:21:04 +0900 Subject: リレーが動作するように修正する (#8396) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/backend/src/remote/activitypub/misc/ld-signature.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages') diff --git a/packages/backend/src/remote/activitypub/misc/ld-signature.ts b/packages/backend/src/remote/activitypub/misc/ld-signature.ts index 34294c935d..5132c6ef96 100644 --- a/packages/backend/src/remote/activitypub/misc/ld-signature.ts +++ b/packages/backend/src/remote/activitypub/misc/ld-signature.ts @@ -1,5 +1,5 @@ import * as crypto from 'node:crypto'; -import * as jsonld from 'jsonld'; +import jsonld from 'jsonld'; import { CONTEXTS } from './contexts.js'; import fetch from 'node-fetch'; import { httpAgent, httpsAgent } from '@/misc/fetch.js'; -- cgit v1.2.3-freya From fb355abbcf268d3fdedeb4ebe7c513d70dc066e5 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 12 Mar 2022 14:54:08 +0900 Subject: :art: --- packages/client/src/components/chart.vue | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'packages') diff --git a/packages/client/src/components/chart.vue b/packages/client/src/components/chart.vue index a7870de39d..cc1aa9c20a 100644 --- a/packages/client/src/components/chart.vue +++ b/packages/client/src/components/chart.vue @@ -71,7 +71,7 @@ const colors = { purple: '#e300db', orange: '#fe6919', lime: '#bde800', - cyan: '#00efef', + cyan: '#00e0e0', }; const colorSets = [colors.blue, colors.green, colors.yellow, colors.red, colors.purple]; const getColor = (i) => { @@ -127,7 +127,7 @@ export default defineComponent({ name: string; type: 'line' | 'area'; color?: string; - borderDash?: number[]; + dashed?: boolean; hidden?: boolean; data: { x: number; @@ -217,7 +217,7 @@ export default defineComponent({ pointRadius: 0, borderWidth: props.bar ? 0 : 2, borderColor: x.color ? x.color : getColor(i), - borderDash: x.borderDash || [], + borderDash: x.dashed ? [5, 5] : [], borderJoinStyle: 'round', borderRadius: props.bar ? 3 : undefined, backgroundColor: props.bar ? (x.color ? x.color : getColor(i)) : alpha(x.color ? x.color : getColor(i), 0.1), @@ -226,7 +226,7 @@ export default defineComponent({ axis: 'y', colors: { 0: alpha(x.color ? x.color : getColor(i), 0), - [maxes[i]]: alpha(x.color ? x.color : getColor(i), 0.175), + [maxes[i]]: alpha(x.color ? x.color : getColor(i), 0.2), }, }, }, @@ -403,16 +403,19 @@ export default defineComponent({ name: 'Pub & Sub', type: 'line', data: format(raw.pubsub), + dashed: true, color: colors.cyan, }, { name: 'Pub', type: 'line', data: format(raw.pub), + dashed: true, color: colors.purple, }, { name: 'Sub', type: 'line', data: format(raw.sub), + dashed: true, color: colors.orange, }], }; @@ -593,7 +596,7 @@ export default defineComponent({ series: [{ name: 'All', type: 'line', - borderDash: [5, 5], + dashed: true, data: format( sum( raw.local.incSize, @@ -628,7 +631,7 @@ export default defineComponent({ series: [{ name: 'All', type: 'line', - borderDash: [5, 5], + dashed: true, data: format( sum( raw.local.incCount, -- cgit v1.2.3-freya From d1d68c01243f8e0e748e729a91a3163de6bd0754 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 12 Mar 2022 15:13:11 +0900 Subject: fix(server): dummy image is not served correctly Fix #8393 --- packages/backend/src/server/file/send-drive-file.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages') diff --git a/packages/backend/src/server/file/send-drive-file.ts b/packages/backend/src/server/file/send-drive-file.ts index 4e2bba0e20..6bc220b362 100644 --- a/packages/backend/src/server/file/send-drive-file.ts +++ b/packages/backend/src/server/file/send-drive-file.ts @@ -2,7 +2,7 @@ import * as fs from 'node:fs'; import { fileURLToPath } from 'node:url'; import { dirname } from 'node:path'; import Koa from 'koa'; -import * as send from 'koa-send'; +import send from 'koa-send'; import rename from 'rename'; import * as tmp from 'tmp'; import { serverLogger } from '../index.js'; -- cgit v1.2.3-freya From 19ff9a3b4dd38b7bd02c7d95c0cbe993826e6020 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 12 Mar 2022 15:21:07 +0900 Subject: fix(server): HTMLが正しくレンダリングされない問題を修正 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix #8392 --- packages/backend/package.json | 2 +- packages/backend/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'packages') diff --git a/packages/backend/package.json b/packages/backend/package.json index f775a99a55..87712faf7c 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -19,7 +19,7 @@ "@elastic/elasticsearch": "7.11.0", "@koa/cors": "3.1.0", "@koa/multer": "3.0.0", - "@koa/router": "10.1.1", + "@koa/router": "9.0.1", "@sinonjs/fake-timers": "9.1.1", "@syuilo/aiscript": "0.11.1", "@types/bcryptjs": "2.4.2", diff --git a/packages/backend/yarn.lock b/packages/backend/yarn.lock index c5b1237721..67a02742d4 100644 --- a/packages/backend/yarn.lock +++ b/packages/backend/yarn.lock @@ -128,10 +128,10 @@ resolved "https://registry.yarnpkg.com/@koa/multer/-/multer-3.0.0.tgz#439777949f28097d7b329c0b4ce3048074c862f8" integrity sha512-y+OQBmex5D1jIl723gAEUYcAWPEicIXppaAKw/zCMfpllQ08ZNweDPwoCLxEoatqd5pCu2XG6V8dl67JRq3RJw== -"@koa/router@10.1.1": - version "10.1.1" - resolved "https://registry.yarnpkg.com/@koa/router/-/router-10.1.1.tgz#8e5a85c9b243e0bc776802c0de564561e57a5f78" - integrity sha512-ORNjq5z4EmQPriKbR0ER3k4Gh7YGNhWDL7JBW+8wXDrHLbWYKYSJaOJ9aN06npF5tbTxe2JBOsurpJDAvjiXKw== +"@koa/router@9.0.1": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@koa/router/-/router-9.0.1.tgz#4090a14223ea7e78aa13b632761209cba69acd95" + integrity sha512-OI+OU49CJV4px0WkIMmayBeqVXB/JS1ZMq7UoGlTZt6Y7ijK7kdeQ18+SEHHJPytmtI1y6Hf8XLrpxva3mhv5Q== dependencies: debug "^4.1.1" http-errors "^1.7.3" -- cgit v1.2.3-freya From db900c8324d16921579cda18633120b87d1fe7f5 Mon Sep 17 00:00:00 2001 From: dogcraft Date: Sat, 12 Mar 2022 18:23:57 +0800 Subject: Fix bug : "IPCIDR is not a constructor" (#8400) --- packages/backend/src/misc/download-url.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages') diff --git a/packages/backend/src/misc/download-url.ts b/packages/backend/src/misc/download-url.ts index 21eee57b33..7c57b140ef 100644 --- a/packages/backend/src/misc/download-url.ts +++ b/packages/backend/src/misc/download-url.ts @@ -6,7 +6,7 @@ import { httpAgent, httpsAgent, StatusError } from './fetch.js'; import config from '@/config/index.js'; import chalk from 'chalk'; import Logger from '@/services/logger.js'; -import * as IPCIDR from 'ip-cidr'; +import IPCIDR from 'ip-cidr'; import PrivateIp from 'private-ip'; const pipeline = util.promisify(stream.pipeline); -- cgit v1.2.3-freya