Skip to content

Commit 96789da

Browse files
committed
Merge tag '2024.5.0-io.4b' into bun
2 parents de062cb + 6a69778 commit 96789da

File tree

10 files changed

+570
-656
lines changed

10 files changed

+570
-656
lines changed

package.json

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"name": "misskey",
3-
"version": "2024.5.0-io.4a",
3+
"version": "2024.5.0-io.4b",
44
"codename": "nasubi",
55
"repository": {
66
"type": "git",
77
"url": "https://github.com/MisskeyIO/misskey.git"
88
},
9-
"packageManager": "pnpm@9.12.2",
9+
"packageManager": "pnpm@9.12.3",
1010
"workspaces": [
1111
"packages/frontend",
1212
"packages/backend",
@@ -48,13 +48,16 @@
4848
},
4949
"resolutions": {
5050
"@tensorflow/tfjs-core": "4.22.0",
51+
"axios": "1.7.7",
5152
"chokidar": "4.0.1",
5253
"cookie": "1.0.1",
5354
"cookie-signature": "1.2.2",
5455
"debug": "4.3.7",
5556
"esbuild": "0.24.0",
57+
"jpeg-js": "0.4.4",
5658
"lodash": "4.17.21",
5759
"sharp": "0.33.5",
60+
"tough-cookie": "5.0.0",
5861
"web-streams-polyfill": "4.0.0"
5962
},
6063
"dependencies": {
@@ -70,7 +73,7 @@
7073
"@typescript-eslint/eslint-plugin": "7.10.0",
7174
"@typescript-eslint/parser": "7.10.0",
7275
"cross-env": "7.0.3",
73-
"cypress": "13.15.1",
76+
"cypress": "13.15.2",
7477
"eslint": "8.57.1",
7578
"ncp": "2.0.0",
7679
"start-server-and-test": "2.0.8"

packages/backend/package.json

+19-19
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,16 @@
3434
"generate-api-json": "pnpm build && bun run ./scripts/generate_api_json.js"
3535
},
3636
"optionalDependencies": {
37-
"@swc/core-darwin-arm64": "1.8.0",
38-
"@swc/core-darwin-x64": "1.8.0",
39-
"@swc/core-linux-arm-gnueabihf": "1.8.0",
40-
"@swc/core-linux-arm64-gnu": "1.8.0",
41-
"@swc/core-linux-arm64-musl": "1.8.0",
42-
"@swc/core-linux-x64-gnu": "1.8.0",
43-
"@swc/core-linux-x64-musl": "1.8.0",
44-
"@swc/core-win32-arm64-msvc": "1.8.0",
45-
"@swc/core-win32-ia32-msvc": "1.8.0",
46-
"@swc/core-win32-x64-msvc": "1.8.0",
37+
"@swc/core-darwin-arm64": "1.9.1",
38+
"@swc/core-darwin-x64": "1.9.1",
39+
"@swc/core-linux-arm-gnueabihf": "1.9.1",
40+
"@swc/core-linux-arm64-gnu": "1.9.1",
41+
"@swc/core-linux-arm64-musl": "1.9.1",
42+
"@swc/core-linux-x64-gnu": "1.9.1",
43+
"@swc/core-linux-x64-musl": "1.9.1",
44+
"@swc/core-win32-arm64-msvc": "1.9.1",
45+
"@swc/core-win32-ia32-msvc": "1.9.1",
46+
"@swc/core-win32-x64-msvc": "1.9.1",
4747
"@tensorflow/tfjs": "4.22.0",
4848
"@tensorflow/tfjs-node": "4.22.0",
4949
"bufferutil": "4.0.8",
@@ -64,8 +64,8 @@
6464
},
6565
"dependencies": {
6666
"@authenio/samlify-node-xmllint": "2.0.0",
67-
"@aws-sdk/client-s3": "3.685.0",
68-
"@aws-sdk/lib-storage": "3.685.0",
67+
"@aws-sdk/client-s3": "3.687.0",
68+
"@aws-sdk/lib-storage": "3.687.0",
6969
"@bull-board/api": "6.3.3",
7070
"@bull-board/fastify": "6.3.3",
7171
"@bull-board/ui": "6.3.3",
@@ -81,8 +81,8 @@
8181
"@fastify/static": "8.0.2",
8282
"@fastify/view": "10.0.1",
8383
"@misskey-dev/sharp-read-bmp": "1.2.0",
84-
"@misskey-dev/summaly": "5.1.0",
85-
"@napi-rs/canvas": "0.1.59",
84+
"@misskey-dev/summaly": "MisskeyIO/summaly#5.1.1",
85+
"@napi-rs/canvas": "0.1.60",
8686
"@nestjs/common": "10.4.7",
8787
"@nestjs/core": "10.4.7",
8888
"@nestjs/testing": "10.4.7",
@@ -91,7 +91,7 @@
9191
"@sinonjs/fake-timers": "11.3.1",
9292
"@smithy/node-http-handler": "3.2.5",
9393
"@swc/cli": "0.5.0",
94-
"@swc/core": "1.8.0",
94+
"@swc/core": "1.9.1",
9595
"@twemoji/parser": "15.1.1",
9696
"accepts": "1.3.8",
9797
"ajv": "8.17.1",
@@ -100,9 +100,9 @@
100100
"bcryptjs": "2.4.3",
101101
"blurhash": "2.0.5",
102102
"body-parser": "1.20.3",
103-
"bullmq": "5.24.0",
103+
"bullmq": "5.25.2",
104104
"cacheable-lookup": "7.0.0",
105-
"cbor": "10.0.2",
105+
"cbor": "10.0.3",
106106
"chalk": "5.3.0",
107107
"chalk-template": "1.1.0",
108108
"chokidar": "4.0.1",
@@ -119,7 +119,7 @@
119119
"fluent-ffmpeg": "2.1.3",
120120
"form-data": "4.0.1",
121121
"got": "14.4.4",
122-
"happy-dom": "15.9.0",
122+
"happy-dom": "15.11.0",
123123
"hpagent": "1.2.0",
124124
"htmlescape": "1.1.1",
125125
"http-link-header": "1.1.3",
@@ -154,7 +154,7 @@
154154
"parse5": "7.2.1",
155155
"pg": "8.13.1",
156156
"pino": "9.5.0",
157-
"pino-pretty": "11.3.0",
157+
"pino-pretty": "12.0.0",
158158
"pkce-challenge": "4.1.0",
159159
"probe-image-size": "7.2.3",
160160
"promise-limit": "2.7.0",

packages/backend/src/misc/sql-like-escape.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
*/
55

66
export function sqlLikeEscape(s: string) {
7-
return s.replace(/([%_])/g, '\\$1');
7+
return s.replace(/([\\%_])/g, '\\$1');
88
}

packages/backend/src/server/web/UrlPreviewService.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import { Inject, Injectable } from '@nestjs/common';
77
import RE2 from 're2';
88
import { summaly } from '@misskey-dev/summaly';
9-
import { SummalyResult } from '@misskey-dev/summaly/built/summary.js';
9+
import { SummalyResult } from '@misskey-dev/summaly/dist/summary.js';
1010
import { DI } from '@/di-symbols.js';
1111
import type { Config } from '@/config.js';
1212
import { MetaService } from '@/core/MetaService.js';

packages/frontend/package.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"chartjs-chart-matrix": "2.0.1",
4242
"chartjs-plugin-gradient": "0.6.1",
4343
"chartjs-plugin-zoom": "2.0.1",
44-
"chromatic": "11.16.5",
44+
"chromatic": "11.18.0",
4545
"compare-versions": "6.1.1",
4646
"cropperjs": "2.0.0-rc.0",
4747
"date-fns": "4.1.0",
@@ -80,7 +80,7 @@
8080
},
8181
"devDependencies": {
8282
"@misskey-dev/eslint-plugin": "1.0.0",
83-
"@misskey-dev/summaly": "5.1.0",
83+
"@misskey-dev/summaly": "MisskeyIO/summaly#5.1.1",
8484
"@storybook/addon-actions": "8.4.2",
8585
"@storybook/addon-essentials": "8.4.2",
8686
"@storybook/addon-interactions": "8.4.2",
@@ -116,15 +116,15 @@
116116
"@vue/runtime-core": "3.5.12",
117117
"acorn": "8.14.0",
118118
"cross-env": "7.0.3",
119-
"cypress": "13.15.1",
119+
"cypress": "13.15.2",
120120
"eslint": "8.57.1",
121121
"eslint-plugin-import": "2.31.0",
122122
"eslint-plugin-vue": "9.30.0",
123123
"fast-glob": "3.3.2",
124-
"happy-dom": "15.9.0",
124+
"happy-dom": "15.11.0",
125125
"intersection-observer": "0.12.2",
126126
"micromatch": "4.0.8",
127-
"msw": "2.6.0",
127+
"msw": "2.6.2",
128128
"msw-storybook-addon": "2.0.4",
129129
"nodemon": "3.1.7",
130130
"prettier": "3.3.3",

packages/frontend/src/pages/auth.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ function accepted() {
6262
state.value = 'accepted';
6363
if (session.value && session.value.app.callbackUrl) {
6464
const url = new URL(session.value.app.callbackUrl);
65-
if (['javascript:', 'file:', 'data:', 'mailto:', 'tel:'].includes(url.protocol)) throw new Error('invalid url');
65+
if (['javascript:', 'file:', 'data:', 'mailto:', 'tel:', 'vbscript:'].includes(url.protocol)) throw new Error('invalid url');
6666
location.href = `${session.value.app.callbackUrl}?token=${session.value.token}`;
6767
}
6868
}

packages/frontend/src/pages/miauth.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ async function onAccept(token: string) {
6565

6666
if (props.callback && props.callback !== '') {
6767
const cbUrl = new URL(props.callback);
68-
if (['javascript:', 'file:', 'data:', 'mailto:', 'tel:'].includes(cbUrl.protocol)) throw new Error('invalid url');
68+
if (['javascript:', 'file:', 'data:', 'mailto:', 'tel:', 'vbscript:'].includes(cbUrl.protocol)) throw new Error('invalid url');
6969
cbUrl.searchParams.set('session', props.session);
7070
location.href = cbUrl.toString();
7171
} else {

packages/frontend/src/scripts/sound.ts

+15-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@ import { RateLimiter } from '@/scripts/rate-limiter.js';
1111
let ctx: AudioContext;
1212
const cache = new Map<string, AudioBuffer>();
1313

14+
function isValidUrl(url: string): boolean {
15+
try {
16+
new URL(url);
17+
return true;
18+
} catch (_) {
19+
return false;
20+
}
21+
}
22+
1423
export const soundsTypes = [
1524
// 音声なし
1625
null,
@@ -260,8 +269,12 @@ export function createSourceNode(buffer: AudioBuffer, opts: {
260269
*/
261270
export async function getSoundDuration(file: string): Promise<number> {
262271
const audioEl = document.createElement('audio');
263-
audioEl.src = file;
264-
return new Promise((resolve) => {
272+
audioEl.src = isValidUrl(file) ? file : '';
273+
return new Promise((resolve, reject) => {
274+
if (!audioEl.src) {
275+
reject(new Error('Invalid URL'));
276+
return;
277+
}
265278
const si = setInterval(() => {
266279
if (audioEl.readyState > 0) {
267280
resolve(audioEl.duration * 1000);

packages/misskey-js/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"type": "module",
33
"name": "misskey-js",
4-
"version": "2024.5.0-io.4a",
4+
"version": "2024.5.0-io.4b",
55
"description": "Misskey SDK for JavaScript",
66
"types": "./built/dts/index.d.ts",
77
"exports": {
@@ -59,7 +59,7 @@
5959
],
6060
"dependencies": {
6161
"@swc/cli": "0.5.0",
62-
"@swc/core": "1.8.0",
62+
"@swc/core": "1.9.1",
6363
"eventemitter3": "5.0.1",
6464
"reconnecting-websocket": "4.4.0"
6565
}

0 commit comments

Comments
 (0)