Skip to content

Commit

Permalink
Merge pull request #203 from HanaMisskey/merge-upstream-21
Browse files Browse the repository at this point in the history
Merge upstream 21
  • Loading branch information
kanarikanaru authored Jan 17, 2025
2 parents b180c2e + df55722 commit 5d964e4
Show file tree
Hide file tree
Showing 67 changed files with 2,182 additions and 368 deletions.
10 changes: 10 additions & 0 deletions .config/docker_example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -219,3 +219,13 @@ signToActivityPubGet: true

# Upload or download file size limits (bytes)
#maxFileSize: 262144000

# Log settings
# logging:
# sql:
# # Outputs query parameters during SQL execution to the log.
# # default: false
# enableQueryParamLogging: false
# # Disable query truncation. If set to true, the full text of the query will be output to the log.
# # default: false
# disableQueryTruncation: false
10 changes: 10 additions & 0 deletions .config/example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -336,3 +336,13 @@ signToActivityPubGet: true

# PID File of master process
#pidFile: /tmp/misskey.pid

# Log settings
# logging:
# sql:
# # Outputs query parameters during SQL execution to the log.
# # default: false
# enableQueryParamLogging: false
# # Disable query truncation. If set to true, the full text of the query will be output to the log.
# # default: false
# disableQueryTruncation: false
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## 2024.11.1
## 2025.1.0

### General
-
Expand All @@ -7,6 +7,7 @@
- Enhance: PC画面でチャンネルが複数列で表示されるように
(Cherry-picked from https://github.com/Otaku-Social/maniakey/pull/13)
- Enhance: 照会に失敗した場合、その理由を表示するように
- Enhance: 連合がホワイトリスト化・無効化されているサーバー向けのデザイン修正
- Enhance: AiScriptのセーブデータを明示的に削除する関数`Mk:remove`を追加
- Enhance: AiScriptの拡張API関数において引数の型チェックをより厳格に
- Fix: 画面サイズが変わった際にナビゲーションバーが自動で折りたたまれない問題を修正
Expand All @@ -15,25 +16,33 @@
- Fix: 公開範囲がホームのノートの埋め込みウィジェットが読み込まれない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/803)
- Fix: 絵文字管理画面で一部の絵文字が表示されない問題を修正
- Fix: Botプロテクションの設定変更時は実際に検証を通過しないと保存できないように( #15137 )
- Fix: ノート検索が使用できない場合でもチャンネルのノート検索欄がでていた問題を修正
- Fix: `Ui:C:select`で値の変更が画面に反映されない問題を修正
- Fix: MiAuth認可画面で、認可処理に失敗した場合でもコールバックURLに遷移してしまう問題を修正
(Cherry-picked from https://github.com/TeamNijimiss/misskey/commit/800359623e41a662551d774de15b0437b6849bb4)
- Fix: ノート作成画面でファイルの添付可能個数を超えてもノートボタンが押せていた問題を修正
- Fix: 「アカウントを管理」画面で、ユーザー情報の取得に失敗したアカウント(削除されたアカウントなど)が表示されない問題を修正
- Fix: 言語データのキャッシュ状況によっては、埋め込みウィジェットが正しく起動しない問題を修正
- Fix: 「削除して編集」でノートの引用を解除出来なかった問題を修正( #14476 )
- Fix: RSSウィジェットが正しく表示されない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/857)

### Server
- Enhance: pg_bigmが利用できるよう、ノートの検索をILIKE演算子でなくLIKE演算子でLOWER()をかけたテキストに対して行うように
- Enhance: チャート更新時にDBに同時接続しないように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/830)
- Enhance: config(default.yml)からSQLログ全文を出力するか否かを設定可能に ( #15266 )
- Fix: ユーザーのプロフィール画面をアドレス入力などで直接表示した際に概要タブの描画に失敗する問題の修正( #15032 )
- Fix: 起動前の疎通チェックが機能しなくなっていた問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/737)
- Fix: ロックダウンされた期間指定のノートがStreaming経由でLTLに出現するのを修正 ( #15200 )
- Fix: disableClustering設定時の初期化ロジックを調整( #15223 )
- Fix: URLとURIが異なるエンティティの照会に失敗する問題を修正( #15039 )
- Fix: ActivityPubリクエストかどうかの判定が正しくない問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/869)
- Fix: `/api/pages/update`にて`name`を指定せずにリクエストするとエラーが発生する問題を修正
- Fix: AIセンシティブ判定が arm64 環境で動作しない問題を修正

## 2024.11.0

Expand Down
51 changes: 51 additions & 0 deletions locales/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5246,6 +5246,14 @@ export interface Locale extends ILocale {
* 注意事項を理解した上でオンにします。
*/
"acknowledgeNotesAndEnable": string;
/**
* このサーバーはホワイトリスト連合で運用されています。管理者が指定したサーバー以外とやり取りすることはできません。
*/
"federationSpecified": string;
/**
* このサーバーは連合が無効化されています。他のサーバーのユーザーとやり取りすることはできません。
*/
"federationDisabled": string;
/**
* 文字数
*/
Expand Down Expand Up @@ -10831,6 +10839,49 @@ export interface Locale extends ILocale {
"description": string;
};
};
"_captcha": {
/**
* CAPTCHAを通過してください
*/
"verify": string;
/**
* サイトキーとシークレットキーにテスト用の値を入力することでプレビューを確認できます。
* 詳細は下記ページをご確認ください。
*/
"testSiteKeyMessage": string;
"_error": {
"_requestFailed": {
/**
* CAPTCHAのリクエストに失敗しました
*/
"title": string;
/**
* しばらく後に実行するか、設定をもう一度ご確認ください。
*/
"text": string;
};
"_verificationFailed": {
/**
* CAPTCHAの検証に失敗しました
*/
"title": string;
/**
* 設定が正しいかどうかもう一度確認ください。
*/
"text": string;
};
"_unknown": {
/**
* CAPTCHAエラー
*/
"title": string;
/**
* 想定外のエラーが発生しました。
*/
"text": string;
};
};
};
"_hana": {
/**
* 備考
Expand Down
16 changes: 16 additions & 0 deletions locales/ja-JP.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1307,6 +1307,8 @@ lockdown: "ロックダウン"
pleaseSelectAccount: "アカウントを選択してください"
availableRoles: "利用可能なロール"
acknowledgeNotesAndEnable: "注意事項を理解した上でオンにします。"
federationSpecified: "このサーバーはホワイトリスト連合で運用されています。管理者が指定したサーバー以外とやり取りすることはできません。"
federationDisabled: "このサーバーは連合が無効化されています。他のサーバーのユーザーとやり取りすることはできません。"
textCount: "文字数"
reset: "リセット"
alwaysUseAbsoluteTime: "常に絶対時刻で表示する"
Expand Down Expand Up @@ -2891,6 +2893,20 @@ _remoteLookupErrors:
title: "見つかりません"
description: "要求されたリソースは見つかりませんでした。URIをもう一度お確かめください。"

_captcha:
verify: "CAPTCHAを通過してください"
testSiteKeyMessage: "サイトキーとシークレットキーにテスト用の値を入力することでプレビューを確認できます。\n詳細は下記ページをご確認ください。"
_error:
_requestFailed:
title: "CAPTCHAのリクエストに失敗しました"
text: "しばらく後に実行するか、設定をもう一度ご確認ください。"
_verificationFailed:
title: "CAPTCHAの検証に失敗しました"
text: "設定が正しいかどうかもう一度確認ください。"
_unknown:
title: "CAPTCHAエラー"
text: "想定外のエラーが発生しました。"

_hana:
emojiRemarks: "備考"
hanaSettings: "はなみすきー設定"
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "misskey",
"version": "2024.11.1-alpha.0",
"version": "2025.1.0-alpha.0",
"codename": "nasubi",
"repository": {
"type": "git",
Expand Down
14 changes: 14 additions & 0 deletions packages/backend/src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,13 @@ type Source = {
};

pidFile: string;

logging?: {
sql?: {
disableQueryTruncation? : boolean,
enableQueryParamLogging? : boolean,
}
}
};

export type Config = {
Expand Down Expand Up @@ -173,6 +180,12 @@ export type Config = {
inboxJobMaxAttempts: number | undefined;
proxyRemoteFiles: boolean | undefined;
signToActivityPubGet: boolean | undefined;
logging?: {
sql?: {
disableQueryTruncation? : boolean,
enableQueryParamLogging? : boolean,
}
}

version: string;
publishTarballInsteadOfProvideRepositoryUrl: boolean;
Expand Down Expand Up @@ -323,6 +336,7 @@ export function loadConfig(): Config {
deactivateAntennaThreshold: config.deactivateAntennaThreshold ?? (1000 * 60 * 60 * 24 * 7),
import: config.import,
pidFile: config.pidFile,
logging: config.logging,
};
}

Expand Down
32 changes: 16 additions & 16 deletions packages/backend/src/core/AbuseReportNotificationService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -160,22 +160,22 @@ export class AbuseReportNotificationService implements OnApplicationShutdown {
};
});

const recipientWebhookIds = await this.fetchWebhookRecipients()
.then(it => it
.filter(it => it.isActive && it.systemWebhookId && it.method === 'webhook')
.map(it => it.systemWebhookId)
.filter(x => x != null));
for (const webhookId of recipientWebhookIds) {
await Promise.all(
convertedReports.map(it => {
return this.systemWebhookService.enqueueSystemWebhook(
webhookId,
type,
it,
);
}),
);
}
const inactiveRecipients = await this.fetchWebhookRecipients()
.then(it => it.filter(it => !it.isActive));
const withoutWebhookIds = inactiveRecipients
.map(it => it.systemWebhookId)
.filter(x => x != null);
return Promise.all(
convertedReports.map(it => {
return this.systemWebhookService.enqueueSystemWebhook(
type,
it,
{
excludes: withoutWebhookIds,
},
);
}),
);
}

/**
Expand Down
21 changes: 18 additions & 3 deletions packages/backend/src/core/AiService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { bindThis } from '@/decorators.js';
const _filename = fileURLToPath(import.meta.url);
const _dirname = dirname(_filename);

const REQUIRED_CPU_FLAGS = ['avx2', 'fma'];
const REQUIRED_CPU_FLAGS_X64 = ['avx2', 'fma'];
let isSupportedCpu: undefined | boolean = undefined;

@Injectable()
Expand All @@ -31,8 +31,7 @@ export class AiService {
public async detectSensitive(path: string): Promise<nsfw.predictionType[] | null> {
try {
if (isSupportedCpu === undefined) {
const cpuFlags = await this.getCpuFlags();
isSupportedCpu = REQUIRED_CPU_FLAGS.every(required => cpuFlags.includes(required));
isSupportedCpu = await this.computeIsSupportedCpu();
}

if (!isSupportedCpu) {
Expand Down Expand Up @@ -64,6 +63,22 @@ export class AiService {
}
}

private async computeIsSupportedCpu(): Promise<boolean> {
switch (process.arch) {
case 'x64': {
const cpuFlags = await this.getCpuFlags();
return REQUIRED_CPU_FLAGS_X64.every(required => cpuFlags.includes(required));
}
case 'arm64': {
// As far as I know, no required CPU flags for ARM64.
return true;
}
default: {
return false;
}
}
}

@bindThis
private async getCpuFlags(): Promise<string[]> {
const str = await si.cpuFlags();
Expand Down
Loading

0 comments on commit 5d964e4

Please sign in to comment.