Skip to content

Commit

Permalink
Merge branch 'main_mashiro-site' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
AyumuNekozuki authored Oct 8, 2023
2 parents 0e6cd57 + 6c78692 commit 36018b4
Show file tree
Hide file tree
Showing 17 changed files with 150 additions and 26 deletions.
80 changes: 80 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -849,6 +849,86 @@ Meilisearchの設定に`index`が必要になりました。値はMisskeyサー
### Improvements
- ロールで広告の非表示が有効になっている場合は最初から広告を非表示にするように

## 13.5.3 (2023/02/09)

### Improvements
- Client: デッキにチャンネルカラムを追加

## 13.5.2 (2023/02/08)

### Changes
- Revert: perf(client): do not render custom emojis in user names

### Bugfixes
- Client: register_note_view_interruptor not working
- Client: ログイントークンの再生成が出来ない

## 13.5.0 (2023/02/08)

### Changes
- perf(client): do not render custom emojis in user names

### Improvements
- Client: disableShowingAnimatedImagesのデフォルト値をprefers-reduced-motionにする
- enhance(client): tweak medialist style

### Bugfixes
- fix docker health check
- Client: MkEmojiPickerでもChromeで検索ダイアログで変換確定するとそのまま検索されてしまうのを修正
- fix(mfm): default degree not used in rotate
- fix(server): validate urls from ap to improve security

## 13.4.0 (2023/02/05)

### Improvements
- ロールにアイコンを設定してユーザー名の横に表示できるように
- feat: timeline page for non-login users
- 実績の単なるラッキーの獲得確立を調整
- Add Thai language support

### Bugfixes
- fix(server): 自分のノートをお気に入りに登録しても実績解除される問題を修正
- fix(server): clean up file in FileServer
- fix(server): Deny UNIX domain socket
- fix(server): validate filename and emoji name to improve security
- fix(client): validate input response in aiscript
- fix(client): add webhook delete button
- fix(client): tweak notification style
- fix(client): インラインコードを折り返して表示する

## 13.3.3 (2023/02/04)

### Bugfixes
- Server: improve security

## 13.3.2 (2023/02/04)

### Improvements
- 外部メディアプロキシへの対応を強化しました
外部メディアプロキシのFastify実装を作りました
https://github.com/misskey-dev/media-proxy
- Server: improve performance

### Bugfixes
- Client: validate urls to improve security

## 13.3.1 (2023/02/04)

### Bugfixes
- Client: カスタム絵文字にアニメーション画像を再生しない設定が適用されていない問題を修正
- Client: オートコンプリートでUnicode絵文字がカスタム絵文字として表示されてしまうのを修正
- Client: Fix Vue-plyr CORS issue
- Client: validate urls to improve security

## 13.3.0 (2023/02/03)
### Changes
- twitter/github/discord連携機能が削除されました
- ハッシュタグごとのチャートが削除されました
- syslogのサポートが削除されました

### Improvements
- ロールで広告の非表示が有効になっている場合は最初から広告を非表示にするように

## 13.2.6 (2023/02/01)
### Changes
- docker-compose.ymlをdocker-compose.yml.exampleにしました。docker-compose.ymlとしてコピーしてから使用してください。
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
<a href="https://mi.mashiro.site/">
<img src="https://github.com/AyumuNekozuki/AyumuNekozuki/blob/master/header.png?raw=true" />
</a>

---

<div align="center">
<a href="https://misskey-hub.net">
<img src="./assets/title_float.svg" alt="Misskey logo" style="border-radius:50%" width="400"/>
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "misskey",
"version": "2023.9.3",
"version": "2023.9.3-mashiro.4",
"codename": "nasubi",
"repository": {
"type": "git",
"url": "https://github.com/misskey-dev/misskey.git"
"url": "https://github.com/AyumuNekozuki/misskey.git"
},
"packageManager": "[email protected]",
"workspaces": [
Expand Down
Binary file modified packages/backend/assets/apple-touch-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified packages/backend/assets/favicon.ico
Binary file not shown.
Binary file modified packages/backend/assets/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified packages/backend/assets/icons/192.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added packages/backend/assets/icons/300.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added packages/backend/assets/icons/500.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified packages/backend/assets/icons/512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 21 additions & 12 deletions packages/backend/src/queue/processors/InboxProcessorService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,19 +43,19 @@ export class InboxProcessorService {
private instanceChart: InstanceChart,
private apRequestChart: ApRequestChart,
private federationChart: FederationChart,
private queueLoggerService: QueueLoggerService,
private queueLoggerService: QueueLoggerService
) {
this.logger = this.queueLoggerService.logger.createSubLogger('inbox');
this.logger = this.queueLoggerService.logger.createSubLogger("inbox");
}

@bindThis
public async process(job: Bull.Job<InboxJobData>): Promise<string> {
const signature = job.data.signature; // HTTP-signature
const signature = job.data.signature; // HTTP-signature
const activity = job.data.activity;

//#region Log
const info = Object.assign({}, activity);
delete info['@context'];
delete info["@context"];
this.logger.debug(JSON.stringify(info, null, 2));
//#endregion

Expand All @@ -68,7 +68,7 @@ export class InboxProcessorService {
}

const keyIdLower = signature.keyId.toLowerCase();
if (keyIdLower.startsWith('acct:')) {
if (keyIdLower.startsWith("acct:")) {
return `Old keyId is no longer supported. ${keyIdLower}`;
}

Expand All @@ -81,7 +81,9 @@ export class InboxProcessorService {
// keyIdでわからなければ、activity.actorを元にDBから取得 || activity.actorを元にリモートから取得
if (authUser == null) {
try {
authUser = await this.apDbResolverService.getAuthUserFromApId(getApId(activity.actor));
authUser = await this.apDbResolverService.getAuthUserFromApId(
getApId(activity.actor)
);
} catch (err) {
// 対象が4xxならスキップ
if (err instanceof StatusError) {
Expand All @@ -104,7 +106,10 @@ export class InboxProcessorService {
}

// HTTP-Signatureの検証
const httpSignatureValidated = httpSignature.verifySignature(signature, authUser.key.keyPem);
const httpSignatureValidated = httpSignature.verifySignature(
signature,
authUser.key.keyPem
);

// また、signatureのsignerは、activity.actorと一致する必要がある
if (!httpSignatureValidated || authUser.user.uri !== activity.actor) {
Expand All @@ -117,12 +122,14 @@ export class InboxProcessorService {
// activity.signature.creator: https://example.oom/users/user#main-key
// みたいになっててUserを引っ張れば公開キーも入ることを期待する
if (activity.signature.creator) {
const candicate = activity.signature.creator.replace(/#.*/, '');
const candicate = activity.signature.creator.replace(/#.*/, "");
await this.apPersonService.resolvePerson(candicate).catch(() => null);
}

// keyIdからLD-Signatureのユーザーを取得
authUser = await this.apDbResolverService.getAuthUserFromKeyId(activity.signature.creator);
authUser = await this.apDbResolverService.getAuthUserFromKeyId(
activity.signature.creator
);
if (authUser == null) {
throw new Bull.UnrecoverableError('skip: LD-Signatureのユーザーが取得できませんでした');
}
Expand All @@ -133,7 +140,9 @@ export class InboxProcessorService {

// LD-Signature検証
const ldSignature = this.ldSignatureService.use();
const verified = await ldSignature.verifyRsaSignature2017(activity, authUser.key.keyPem).catch(() => false);
const verified = await ldSignature
.verifyRsaSignature2017(activity, authUser.key.keyPem)
.catch(() => false);
if (!verified) {
throw new Bull.UnrecoverableError('skip: LD-Signatureの検証に失敗しました');
}
Expand All @@ -154,7 +163,7 @@ export class InboxProcessorService {
}

// activity.idがあればホストが署名者のホストであることを確認する
if (typeof activity.id === 'string') {
if (typeof activity.id === "string") {
const signerHost = this.utilityService.extractDbHost(authUser.user.uri!);
const activityIdHost = this.utilityService.extractDbHost(activity.id);
if (signerHost !== activityIdHost) {
Expand All @@ -181,6 +190,6 @@ export class InboxProcessorService {

// アクティビティを処理
await this.apInboxService.performActivity(authUser.user, activity);
return 'ok';
return "ok";
}
}
6 changes: 3 additions & 3 deletions packages/backend/src/server/web/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"short_name": "Misskey",
"name": "Misskey",
"short_name": "みすほわいと",
"name": "みすほわいと",
"start_url": "/",
"display": "standalone",
"background_color": "#313a42",
Expand All @@ -19,7 +19,7 @@
"purpose": "maskable"
},
{
"src": "/static-assets/splash.png",
"src": "/static-assets/icons/300.png",
"sizes": "300x300",
"type": "image/png",
"purpose": "any"
Expand Down
10 changes: 9 additions & 1 deletion packages/frontend/src/components/MkVisitorDashboard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,14 @@ SPDX-License-Identifier: AGPL-3.0-only
<div v-html="meta.description || i18n.ts.headlineMisskey"></div>
</div>
<div v-if="instance.disableRegistration" :class="$style.mainWarn">
<MkInfo warn>{{ i18n.ts.invitationRequiredToRegister }}</MkInfo>
<MkInfo warn><br />
現在、このサーバーは招待制です。<br />
登録には招待コードが必要です。<br />
<br />
招待コードはすでに登録済みのご友人から受け取るか、<br />
<MkLink target="_blank" url="https://mi-mashiro-site.notion.site/fa6a351d51c94223b9f394000cbe3fa8?pvs=4">こちら</MkLink>から使えるコードを探して利用してください。
<!-- {{ i18n.ts.invitationRequiredToRegister }} -->
</MkInfo>
</div>
<div class="_gaps_s" :class="$style.mainActions">
<MkButton :class="$style.mainAction" full rounded gradate data-cy-signup style="margin-right: 12px;" @click="signup()">{{ i18n.ts.joinThisServer }}</MkButton>
Expand Down Expand Up @@ -54,6 +61,7 @@ SPDX-License-Identifier: AGPL-3.0-only
import { } from 'vue';
import * as Misskey from 'misskey-js';
import XTimeline from './welcome.timeline.vue';
import MkLink from '@/components/MkLink.vue';
import XSigninDialog from '@/components/MkSigninDialog.vue';
import XSignupDialog from '@/components/MkSignupDialog.vue';
import MkButton from '@/components/MkButton.vue';
Expand Down
23 changes: 19 additions & 4 deletions packages/frontend/src/pages/about.vue
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,31 @@ SPDX-License-Identifier: AGPL-3.0-only

<FormSection>
<div class="_gaps_m">
<MkKeyValue :copy="version">
<template #key>Misskey</template>
<template #value>{{ version }}</template>
</MkKeyValue>
<div v-html="i18n.t('poweredByMisskeyDescription', { name: instance.name ?? host })">
</div>
<FormLink to="/about-misskey">{{ i18n.ts.aboutMisskey }}</FormLink>
</div>
</FormSection>

<FormSection>
<div class="_gaps_m">
<MkKeyValue :copy="version">
<template #key>みすほわいと</template>
<template #value>v{{ version }}</template>
</MkKeyValue>
<FormLink to="https://github.com/AyumuNekozuki/misskey" external>
<template #icon><i class="ti ti-code"></i></template>
{{ i18n.ts._aboutMisskey.source }}
<template #suffix>GitHub</template>
</FormLink>
<FormLink to="https://www.patreon.com/AyumuNekozuki" external>
<template #icon><i class="ti ti-pig-money"></i></template>
サーバー代支援
<template #suffix>Patreon</template>
</FormLink>
</div>
</FormSection>

<FormSection>
<div class="_gaps_m">
<FormSplit>
Expand Down
2 changes: 1 addition & 1 deletion packages/frontend/src/pages/timeline.vue
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ const headerTabsWhenNotLogin = $computed(() => [
icon: 'ti ti-whirl',
iconOnly: true,
}] : []),
] as Tab[]);
]);

definePageMetadata(computed(() => ({
title: i18n.ts.timeline,
Expand Down
4 changes: 2 additions & 2 deletions packages/frontend/src/pages/welcome.entrance.a.vue
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ os.apiGet('federation/instances', {
position: fixed;
top: 0;
right: 0;
width: 80vw; // 100%からshapeの幅を引いている
width: 85vw; // 100%からshapeの幅を引いている
height: 100vh;
}

Expand All @@ -79,7 +79,7 @@ os.apiGet('federation/instances', {
right: 64px;
margin: auto;
padding: 128px 0;
width: 500px;
width: 300px;
height: calc(100% - 256px);
overflow: hidden;
-webkit-mask-image: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 128px, rgba(0,0,0,1) calc(100% - 128px), rgba(0,0,0,0) 100%);
Expand Down
8 changes: 7 additions & 1 deletion packages/frontend/src/ui/_common_/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,13 @@ export function openInstanceMenu(ev: MouseEvent) {
icon: 'ti ti-icons',
} : undefined],
}, null, {
text: i18n.ts.help,
text: "みすほわいと ヘルプ",
icon: 'ti ti-help-circle',
action: () => {
window.open('https://mi-mashiro-site.notion.site/mi-mashiro-site/de158e06de974157893a4790472e2f1e', '_blank');
},
},{

Check failure on line 77 in packages/frontend/src/ui/_common_/common.ts

View workflow job for this annotation

GitHub Actions / lint (frontend)

A space is required after ','

Check failure on line 77 in packages/frontend/src/ui/_common_/common.ts

View workflow job for this annotation

GitHub Actions / lint (frontend)

A space is required after ','
text: `Misskey ${i18n.ts.help}`,
icon: 'ti ti-help-circle',
action: () => {
window.open('https://misskey-hub.net/help.html', '_blank');
Expand Down

0 comments on commit 36018b4

Please sign in to comment.