Compare commits

...

10 commits

Author SHA1 Message Date
あわわわとーにゅ
f2eafaab73
fix(MisskeyIO#872): 消し忘れ (MisskeyIO#875)
Some checks failed
Publish Docker image (io) / Push Docker image to GitHub Container Registry (push) Has been cancelled
Dockle / dockle (push) Has been cancelled
Lint / pnpm_install (push) Has been cancelled
Lint / lint (backend) (push) Has been cancelled
Lint / lint (frontend) (push) Has been cancelled
Lint / lint (misskey-js) (push) Has been cancelled
Lint / lint (sw) (push) Has been cancelled
Lint / typecheck (backend) (push) Has been cancelled
Lint / typecheck (misskey-js) (push) Has been cancelled
Test (backend) / unit (22.x) (push) Has been cancelled
Test (backend) / e2e (22.x) (push) Has been cancelled
Test (frontend) / vitest (22.x) (push) Has been cancelled
Test (production install and build) / production (22.x) (push) Has been cancelled
Test (backend) / validate-api-json (22.x) (push) Has been cancelled
2025-01-08 06:07:04 +09:00
あわわわとーにゅ
7f3b3cf65f
Bump up version to 2024.5.0-io.5e (MisskeyIO#871) 2025-01-08 03:50:45 +09:00
あわわわとーにゅ
4f9aee899f
spec(pages): URLとして使用できる文字を制限 (MisskeyIO#873) 2025-01-08 03:50:25 +09:00
あわわわとーにゅ
e1ae455e4a
fix(backend/ClientServerService): 凍結されたユーザーをユーザーIDで照会できない問題を修正 (MisskeyIO#872) 2025-01-08 03:38:12 +09:00
あわわわとーにゅ
3307f86586
fix(backend/AccountMoveService): アカウント引っ越しの際にモデレーションノートに空の改行が足される問題を修正 (MisskeyIO#870) 2025-01-06 01:38:43 +09:00
あわわわとーにゅ
88a361e622
fix(backend/ActivityPubServerService): apOrHtml Constraintが正しく評価されない問題を修正 (MisskeyIO#869) 2025-01-05 02:39:50 +09:00
あわわわとーにゅ
6dcda9db5c
fix(backend/ClientServerService): リモートユーザーをユーザーIDで照会できない問題を修正 (MisskeyIO#868) 2025-01-03 06:57:10 +09:00
あわわわとーにゅ
b5a796ffd1
fix(backend/UtilityService): 非標準ポート番号環境でURIのローカル判定が常にfalseになる問題を修正 (MisskeyIO#867) 2024-12-31 10:29:44 +09:00
あわわわとーにゅ
3750888c6a
fix(frontend/role): ロールの割り当て時メモを入力しないとキャンセル扱いされる問題を修正 (MisskeyIO#866) 2024-12-31 09:45:23 +09:00
あわわわとーにゅ
f7ac3c5493
Revert "perf(queue): BullMQ + DragonflyDB で Hashtag を使用しすべてをロックしないようにする (MisskeyIO#838)" (MisskeyIO#865)
This reverts commit 8c81bb9b6a partially.
2024-12-31 09:44:43 +09:00
17 changed files with 24 additions and 30 deletions

View file

@ -24,7 +24,7 @@ services:
DFLY_snapshot_cron: '* * * * *' DFLY_snapshot_cron: '* * * * *'
DFLY_version_check: false DFLY_version_check: false
DFLY_tcp_backlog: 2048 DFLY_tcp_backlog: 2048
DFLY_lock_on_hashtags: true DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0 DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4 DFLY_conn_io_threads: 4

View file

@ -38,7 +38,7 @@ jobs:
env: env:
DFLY_version_check: false DFLY_version_check: false
DFLY_tcp_backlog: 2048 DFLY_tcp_backlog: 2048
DFLY_lock_on_hashtags: true DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0 DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4 DFLY_conn_io_threads: 4
@ -99,7 +99,7 @@ jobs:
env: env:
DFLY_version_check: false DFLY_version_check: false
DFLY_tcp_backlog: 2048 DFLY_tcp_backlog: 2048
DFLY_lock_on_hashtags: true DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0 DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4 DFLY_conn_io_threads: 4

View file

@ -44,8 +44,8 @@ spec:
value: false value: false
- name: DFLY_tcp_backlog - name: DFLY_tcp_backlog
value: 2048 value: 2048
- name: DFLY_lock_on_hashtags - name: DFLY_default_lua_flags
value: true value: allow-undeclared-keys
- name: DFLY_pipeline_squash - name: DFLY_pipeline_squash
value: 0 value: 0
- name: DFLY_multi_exec_squash - name: DFLY_multi_exec_squash

View file

@ -12,7 +12,7 @@ services:
DFLY_snapshot_cron: '* * * * *' DFLY_snapshot_cron: '* * * * *'
DFLY_version_check: false DFLY_version_check: false
DFLY_tcp_backlog: 2048 DFLY_tcp_backlog: 2048
DFLY_lock_on_hashtags: true DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0 DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4 DFLY_conn_io_threads: 4

View file

@ -32,7 +32,7 @@ services:
DFLY_snapshot_cron: '* * * * *' DFLY_snapshot_cron: '* * * * *'
DFLY_version_check: false DFLY_version_check: false
DFLY_tcp_backlog: 2048 DFLY_tcp_backlog: 2048
DFLY_lock_on_hashtags: true DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0 DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4 DFLY_conn_io_threads: 4

View file

@ -1,6 +1,6 @@
{ {
"name": "misskey", "name": "misskey",
"version": "2024.5.0-io.5d", "version": "2024.5.0-io.5e",
"codename": "nasubi", "codename": "nasubi",
"repository": { "repository": {
"type": "git", "type": "git",

View file

@ -274,12 +274,8 @@ export class AccountMoveService {
if (!srcprofile || !dstprofile) return; if (!srcprofile || !dstprofile) return;
await this.userProfilesRepository.update({ userId: dst.id }, { await this.userProfilesRepository.update({ userId: In([src.id, dst.id]) }, {
moderationNote: srcprofile.moderationNote + '\n' + dstprofile.moderationNote, moderationNote: (srcprofile.moderationNote + '\n' + dstprofile.moderationNote).trim(),
});
await this.userProfilesRepository.update({ userId: src.id }, {
moderationNote: srcprofile.moderationNote + '\n' + dstprofile.moderationNote,
}); });
} }

View file

@ -35,7 +35,7 @@ export class UtilityService {
@bindThis @bindThis
public isUriLocal(uri: string): boolean { public isUriLocal(uri: string): boolean {
return this.normalizeHost(this.config.hostname) === this.extractHost(uri); return this.normalizeHost(this.config.host) === this.extractHost(uri);
} }
@bindThis @bindThis

View file

@ -524,8 +524,8 @@ export class ActivityPubServerService {
}, },
deriveConstraint(request: IncomingMessage) { deriveConstraint(request: IncomingMessage) {
const accepted = accepts(request).type(['html', ACTIVITY_JSON, LD_JSON]); const accepted = accepts(request).type(['html', ACTIVITY_JSON, LD_JSON]);
const isAp = typeof accepted === 'string' && !accepted.match(/html/); if (accepted === false) return null;
return isAp ? 'ap' : 'html'; return accepted !== 'html' ? 'ap' : 'html';
}, },
}); });

View file

@ -52,7 +52,7 @@ export const paramDef = {
type: 'object', type: 'object',
properties: { properties: {
title: { type: 'string' }, title: { type: 'string' },
name: { type: 'string', minLength: 1 }, name: { type: 'string', minLength: 1, pattern: /^[a-zA-Z0-9_-]+$/.toString().slice(1, -1) },
summary: { type: 'string', nullable: true }, summary: { type: 'string', nullable: true },
content: { type: 'array', items: { content: { type: 'array', items: {
type: 'object', additionalProperties: true, type: 'object', additionalProperties: true,

View file

@ -57,7 +57,7 @@ export const paramDef = {
properties: { properties: {
pageId: { type: 'string', format: 'misskey:id' }, pageId: { type: 'string', format: 'misskey:id' },
title: { type: 'string' }, title: { type: 'string' },
name: { type: 'string', minLength: 1 }, name: { type: 'string', minLength: 1, pattern: /^[a-zA-Z0-9_-]+$/.toString().slice(1, -1) },
summary: { type: 'string', nullable: true }, summary: { type: 'string', nullable: true },
content: { type: 'array', items: { content: { type: 'array', items: {
type: 'object', additionalProperties: true, type: 'object', additionalProperties: true,

View file

@ -534,7 +534,7 @@ export class ClientServerService {
vary(reply.raw, 'Accept'); vary(reply.raw, 'Accept');
if (user != null) { if (user) {
const profile = await this.userProfilesRepository.findOneByOrFail({ userId: user.id }); const profile = await this.userProfilesRepository.findOneByOrFail({ userId: user.id });
const meta = await this.metaService.fetch(); const meta = await this.metaService.fetch();
const me = profile.fields const me = profile.fields
@ -564,11 +564,9 @@ export class ClientServerService {
fastify.get<{ Params: { user: string; } }>('/users/:user', async (request, reply) => { fastify.get<{ Params: { user: string; } }>('/users/:user', async (request, reply) => {
const user = await this.usersRepository.findOneBy({ const user = await this.usersRepository.findOneBy({
id: request.params.user, id: request.params.user,
host: IsNull(),
isSuspended: false,
}); });
if (user == null) { if (!user || (user.isDeleted && user.isSuspended)) {
reply.code(404); reply.code(404);
return; return;
} }

View file

@ -8,7 +8,7 @@ services:
environment: environment:
DFLY_version_check: false DFLY_version_check: false
DFLY_tcp_backlog: 2048 DFLY_tcp_backlog: 2048
DFLY_lock_on_hashtags: true DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0 DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4 DFLY_conn_io_threads: 4

View file

@ -506,7 +506,7 @@ async function assignRole() {
const { canceled: canceled3, result: memo } = await os.inputText({ const { canceled: canceled3, result: memo } = await os.inputText({
title: i18n.ts.addMemo, title: i18n.ts.addMemo,
type: 'textarea', type: 'textarea',
placeholder: i18n.ts.memo, default: '',
}); });
if (canceled3) return; if (canceled3) return;

View file

@ -146,7 +146,7 @@ async function assign() {
const { canceled: canceled3, result: memo } = await os.inputText({ const { canceled: canceled3, result: memo } = await os.inputText({
title: i18n.ts.addMemo, title: i18n.ts.addMemo,
type: 'textarea', type: 'textarea',
placeholder: i18n.ts.memo, default: '',
}); });
if (canceled3) return; if (canceled3) return;

View file

@ -24,7 +24,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #label>{{ i18n.ts._pages.summary }}</template> <template #label>{{ i18n.ts._pages.summary }}</template>
</MkInput> </MkInput>
<MkInput v-model="name"> <MkInput v-model="name" type="text" pattern="^[a-zA-Z0-9_-]+$" autocapitalize="off">
<template #prefix>{{ url }}/@{{ author.username }}/pages/</template> <template #prefix>{{ url }}/@{{ author.username }}/pages/</template>
<template #label>{{ i18n.ts._pages.url }}</template> <template #label>{{ i18n.ts._pages.url }}</template>
</MkInput> </MkInput>
@ -158,7 +158,7 @@ function save() {
if (pageId.value) { if (pageId.value) {
options.pageId = pageId.value; options.pageId = pageId.value;
misskeyApi('pages/update', options) os.apiWithDialog('pages/update', options)
.then(page => { .then(page => {
currentName.value = name.value.trim(); currentName.value = name.value.trim();
os.alert({ os.alert({
@ -167,7 +167,7 @@ function save() {
}); });
}).catch(onError); }).catch(onError);
} else { } else {
misskeyApi('pages/create', options) os.apiWithDialog('pages/create', options)
.then(created => { .then(created => {
pageId.value = created.id; pageId.value = created.id;
currentName.value = name.value.trim(); currentName.value = name.value.trim();

View file

@ -1,7 +1,7 @@
{ {
"type": "module", "type": "module",
"name": "misskey-js", "name": "misskey-js",
"version": "2024.5.0-io.5d", "version": "2024.5.0-io.5e",
"description": "Misskey SDK for JavaScript", "description": "Misskey SDK for JavaScript",
"types": "./built/dts/index.d.ts", "types": "./built/dts/index.d.ts",
"exports": { "exports": {