From ce252143c34fbd5b416ddd5417216345117c2f83 Mon Sep 17 00:00:00 2001
From: tamaina <tamaina@hotmail.co.jp>
Date: Mon, 5 Jun 2023 12:29:37 +0000
Subject: [PATCH 1/9] chore: Please write more detailed environmental
 information in your bug report.

---
 .github/ISSUE_TEMPLATE/01_bug-report.md | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/.github/ISSUE_TEMPLATE/01_bug-report.md b/.github/ISSUE_TEMPLATE/01_bug-report.md
index f6fd593c85..26487e9d22 100644
--- a/.github/ISSUE_TEMPLATE/01_bug-report.md
+++ b/.github/ISSUE_TEMPLATE/01_bug-report.md
@@ -39,8 +39,20 @@ Please include errors from the developer console and/or server log files if you
 <!-- Tell us where on the platform it happens -->
 <!-- DO NOT WRITE "latest". Please provide the specific version. -->
 
-Misskey version:
-PostgreSQL version:
-Redis version:
-Your OS:
-Your browser:
+### 💻 Frontend
+* **Model and OS of the device(s):**
+  <!-- Example: MacBook Pro (14inch, 2021), macOS Ventura 13.4 -->
+* **Browser:**
+  <!-- Example: Chrome 113.0.5672.126 -->
+* **Server URL:**
+  <!-- Example: misskey.io -->
+
+### 🛰 Backend (for instance admin)
+<!-- If you are using a managed service, put that after the version. -->
+
+* **Installation Method or Hosting Service:** <!-- Example: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment -->
+* **Misskey:** 13.x.x
+* **Node:** 18.x.x
+* **PostgreSQL:** 15.x.x
+* **Redis:** 7.x.x
+* **OS and Architecture:** <!-- Example: Ubuntu 22.04.2 LTS aarch64 -->

From fa051a2a5fa04c8cc48807ef5021470ebce15d82 Mon Sep 17 00:00:00 2001
From: tamaina <tamaina@hotmail.co.jp>
Date: Mon, 5 Jun 2023 12:35:23 +0000
Subject: [PATCH 2/9] :art:

---
 .github/ISSUE_TEMPLATE/01_bug-report.md | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/.github/ISSUE_TEMPLATE/01_bug-report.md b/.github/ISSUE_TEMPLATE/01_bug-report.md
index 26487e9d22..46ce16f073 100644
--- a/.github/ISSUE_TEMPLATE/01_bug-report.md
+++ b/.github/ISSUE_TEMPLATE/01_bug-report.md
@@ -40,19 +40,19 @@ Please include errors from the developer console and/or server log files if you
 <!-- DO NOT WRITE "latest". Please provide the specific version. -->
 
 ### 💻 Frontend
-* **Model and OS of the device(s):**
+* Model and OS of the device(s):
   <!-- Example: MacBook Pro (14inch, 2021), macOS Ventura 13.4 -->
-* **Browser:**
+* Browser:
   <!-- Example: Chrome 113.0.5672.126 -->
-* **Server URL:**
+* Server URL:
   <!-- Example: misskey.io -->
 
 ### 🛰 Backend (for instance admin)
 <!-- If you are using a managed service, put that after the version. -->
 
-* **Installation Method or Hosting Service:** <!-- Example: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment -->
-* **Misskey:** 13.x.x
-* **Node:** 18.x.x
-* **PostgreSQL:** 15.x.x
-* **Redis:** 7.x.x
-* **OS and Architecture:** <!-- Example: Ubuntu 22.04.2 LTS aarch64 -->
+* Installation Method or Hosting Service: <!-- Example: docker compose, k8s/docker, systemd, "Misskey install shell script", development environment -->
+* Misskey: 13.x.x
+* Node: 18.x.x
+* PostgreSQL: 15.x.x
+* Redis: 7.x.x
+* OS and Architecture: <!-- Example: Ubuntu 22.04.2 LTS aarch64 -->

From 8263cc0094b69db28ac06914108908cfd9d41ea1 Mon Sep 17 00:00:00 2001
From: CaffeeLake <PascalCoffeeLake@gmail.com>
Date: Mon, 5 Jun 2023 21:44:28 +0900
Subject: [PATCH 3/9] Fix: #10955 TypeError: JSON5.parse is not a function
 (#10956)

* Fix: JSON5.parse is not a function

* update changelog

* update chglog

---------

Co-authored-by: tamaina <tamaina@hotmail.co.jp>
---
 CHANGELOG.md                                      | 5 +++++
 packages/backend/src/server/api/endpoints/meta.ts | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index a063006566..4296288788 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,11 @@
 
 -->
 
+## 13.13.1 (unreleased)
+
+### Server
+- Fix: api/metaで`TypeError: JSON5.parse is not a function`エラーが発生する問題を修正
+
 ## 13.13.0
 
 ### General
diff --git a/packages/backend/src/server/api/endpoints/meta.ts b/packages/backend/src/server/api/endpoints/meta.ts
index 53d724a9dd..fe68467a64 100644
--- a/packages/backend/src/server/api/endpoints/meta.ts
+++ b/packages/backend/src/server/api/endpoints/meta.ts
@@ -1,6 +1,6 @@
 import { IsNull, LessThanOrEqual, MoreThan } from 'typeorm';
 import { Inject, Injectable } from '@nestjs/common';
-import * as JSON5 from 'json5';
+import JSON5 from 'json5';
 import type { AdsRepository, UsersRepository } from '@/models/index.js';
 import { MAX_NOTE_TEXT_LENGTH } from '@/const.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';

From 981e6f996ec632f4ccb27d24d107c37a5d070b32 Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Tue, 6 Jun 2023 09:04:57 +0900
Subject: [PATCH 4/9] =?UTF-8?q?fix(frontend):=20=E3=82=BF=E3=83=96?=
 =?UTF-8?q?=E3=81=8C=E3=82=A2=E3=82=AF=E3=83=86=E3=82=A3=E3=83=96=E3=81=AA?=
 =?UTF-8?q?=E9=96=93=E3=81=AFstream=E3=81=8C=E5=88=87=E6=96=AD=E3=81=95?=
 =?UTF-8?q?=E3=82=8C=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=AB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fix #10952
---
 CHANGELOG.md                    | 3 +++
 packages/frontend/src/stream.ts | 9 +++++++++
 2 files changed, 12 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4296288788..cc13749caf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,9 @@
 
 ## 13.13.1 (unreleased)
 
+### Client
+- Fix: タブがアクティブな間はstreamが切断されないように
+
 ### Server
 - Fix: api/metaで`TypeError: JSON5.parse is not a function`エラーが発生する問題を修正
 
diff --git a/packages/frontend/src/stream.ts b/packages/frontend/src/stream.ts
index 9cae58a26a..a807d1d306 100644
--- a/packages/frontend/src/stream.ts
+++ b/packages/frontend/src/stream.ts
@@ -12,5 +12,14 @@ export function useStream(): Misskey.Stream {
 		token: $i.token,
 	} : null));
 
+	window.setTimeout(heartbeat, 1000 * 60);
+
 	return stream;
 }
+
+function heartbeat(): void {
+	if (stream != null && document.visibilityState === 'visible') {
+		stream.send('ping');
+	}
+	window.setTimeout(heartbeat, 1000 * 60);
+}

From aeb8955ca2600e801d44dcac2005fc994e665a6c Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Tue, 6 Jun 2023 09:09:23 +0900
Subject: [PATCH 5/9] =?UTF-8?q?perf(frontend):=20WebGL=20context=E3=81=AE?=
 =?UTF-8?q?=E6=95=B0=E3=82=92=E6=B8=9B=E3=82=89=E3=81=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

#10960
---
 packages/frontend/src/components/global/MkAvatar.vue | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/packages/frontend/src/components/global/MkAvatar.vue b/packages/frontend/src/components/global/MkAvatar.vue
index 422b35c9dd..efe74b7cc3 100644
--- a/packages/frontend/src/components/global/MkAvatar.vue
+++ b/packages/frontend/src/components/global/MkAvatar.vue
@@ -1,6 +1,6 @@
 <template>
 <component :is="link ? MkA : 'span'" v-user-preview="preview ? user.id : undefined" v-bind="bound" class="_noSelect" :class="[$style.root, { [$style.animation]: animation, [$style.cat]: user.isCat, [$style.square]: squareAvatars }]" :style="{ color }" :title="acct(user)" @click="onClick">
-	<MkImgWithBlurhash :class="$style.inner" :src="url" :hash="user?.avatarBlurhash" :cover="true"/>
+	<img :class="$style.inner" :src="url" :hash="user?.avatarBlurhash" :cover="true"/>
 	<MkUserOnlineIndicator v-if="indicator" :class="$style.indicator" :user="user"/>
 	<div v-if="user.isCat" :class="[$style.ears]">
 		<div :class="$style.earLeft">
@@ -24,7 +24,6 @@
 <script lang="ts" setup>
 import { watch } from 'vue';
 import * as misskey from 'misskey-js';
-import MkImgWithBlurhash from '../MkImgWithBlurhash.vue';
 import MkA from './MkA.vue';
 import { getStaticImageUrl } from '@/scripts/media-proxy';
 import { extractAvgColorFromBlurhash } from '@/scripts/extract-avg-color-from-blurhash';

From f4943bc5bbb809d94521b87afb9c69c503dd3ce3 Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Tue, 6 Jun 2023 09:09:46 +0900
Subject: [PATCH 6/9] New translations ja-JP.yml (Japanese, Kansai) (#10954)

---
 locales/ja-KS.yml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/locales/ja-KS.yml b/locales/ja-KS.yml
index 652814ca98..aa0f31fcd2 100644
--- a/locales/ja-KS.yml
+++ b/locales/ja-KS.yml
@@ -792,6 +792,7 @@ noMaintainerInformationWarning: "管理者情報が設定されてへんで"
 noBotProtectionWarning: "Botプロテクションが設定されてへんで。"
 configure: "設定する"
 postToGallery: "ギャラリーへ投稿"
+postToHashtag: "このハッシュタグで投稿"
 gallery: "ギャラリー"
 recentPosts: "最近の投稿"
 popularPosts: "人気の投稿"
@@ -825,6 +826,7 @@ translatedFrom: "{x}から翻訳するで"
 accountDeletionInProgress: "アカウント削除しとるで待っとってなー"
 usernameInfo: "サーバー上であんたのアカウントをあんたやと分かるようにするための名前やで。アルファベット(a~z, A~Z)、数字(0~9)、それとアンダーバー(_)が使って考えてな。この名前は後から変更することはできへんからちゃんと考えるんやで。"
 aiChanMode: "藍モードやで"
+devMode: "開発者モード"
 keepCw: "CWを維持するで"
 pubSub: "Pub/Subのアカウント"
 lastCommunication: "直近の通信"
@@ -834,6 +836,8 @@ breakFollow: "フォロワーを解除するで"
 breakFollowConfirm: "フォロワー解除してもええか?"
 itsOn: "オンになっとるよ"
 itsOff: "オフになってるで"
+on: "オン"
+off: "オフ"
 emailRequiredForSignup: "アカウント登録にメールアドレスを必須にするで"
 unread: "未読"
 filter: "フィルタ"
@@ -988,6 +992,8 @@ cannotBeChangedLater: "後からは変えられへんで。"
 reactionAcceptance: "ツッコミの受け入れ"
 likeOnly: "いいねだけ"
 likeOnlyForRemote: "リモートからはいいねだけな"
+nonSensitiveOnly: "センシティブじゃないやつだけ"
+nonSensitiveOnlyForLocalLikeOnlyForRemote: "センシティブじゃないやつだけ (リモートはいいねだけ)"
 rolesAssignedToMe: "自分に割り当てられたロール"
 resetPasswordConfirm: "パスワード作り直すんでええな?"
 sensitiveWords: "けったいな単語"
@@ -1045,10 +1051,17 @@ preventAiLearning: "生成AIの学習に使わんといて"
 preventAiLearningDescription: "他の文章生成AIとか画像生成AIに、投稿したノートとか画像なんかを勝手に使わんように頼むで。具体的にはnoaiフラグをHTMLレスポンスに含めるんやけど、これ聞いてくれるんはAIの気分次第やから、使われる可能性もちょっとはあるな。"
 options: "オプション"
 specifyUser: "ユーザー指定"
+failedToPreviewUrl: "プレビューできへん"
+update: "更新"
 rolesThatCanBeUsedThisEmojiAsReaction: "ツッコミとして使えるロール"
 rolesThatCanBeUsedThisEmojiAsReactionEmptyDescription: "ロールが一個も指定されてへんかったら、誰でもツッコミとして使えるで。"
+rolesThatCanBeUsedThisEmojiAsReactionPublicRoleWarn: "ロールは公開ロールじゃないとアカンで。"
 cancelReactionConfirm: "ツッコむんをやっぱやめるか?"
 changeReactionConfirm: "ツッコミを別のに変えるか?"
+later: "あとで"
+goToMisskey: "Misskeyへ"
+additionalEmojiDictionary: "絵文字の追加辞書"
+installed: "インストール済み"
 _initialAccountSetting:
   accountCreated: "アカウント作り終わったで。"
   letsStartAccountSetup: "アカウントの初期設定をしよか。"
@@ -1063,6 +1076,7 @@ _initialAccountSetting:
   haveFun: "{name}、楽しんでな~"
   ifYouNeedLearnMore: "{name}(Misskey)の使い方とかをよー知りたいんやったら{link}をみてな。"
   skipAreYouSure: "初期設定飛ばすか?"
+  laterAreYouSure: "初期設定あとでやり直すん?"
 _serverRules:
   description: "新規登録前に見せる、サーバーの簡潔なルールを設定すんで。内容は使うための決め事の要約とすることを推奨するわ。"
 _accountMigration:

From 29856a9129495cf64b7b5f0d287485cf4e6963c1 Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Tue, 6 Jun 2023 09:16:38 +0900
Subject: [PATCH 7/9] tweak of 981e6f996

---
 packages/frontend/src/stream.ts      | 2 +-
 packages/misskey-js/src/streaming.ts | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/packages/frontend/src/stream.ts b/packages/frontend/src/stream.ts
index a807d1d306..a7e4ecd42d 100644
--- a/packages/frontend/src/stream.ts
+++ b/packages/frontend/src/stream.ts
@@ -19,7 +19,7 @@ export function useStream(): Misskey.Stream {
 
 function heartbeat(): void {
 	if (stream != null && document.visibilityState === 'visible') {
-		stream.send('ping');
+		stream.heartbeat();
 	}
 	window.setTimeout(heartbeat, 1000 * 60);
 }
diff --git a/packages/misskey-js/src/streaming.ts b/packages/misskey-js/src/streaming.ts
index 0218b40a03..92a220b496 100644
--- a/packages/misskey-js/src/streaming.ts
+++ b/packages/misskey-js/src/streaming.ts
@@ -186,6 +186,14 @@ export default class Stream extends EventEmitter<StreamEvents> {
 		this.stream.send(JSON.stringify(typeOrPayload));
 	}
 
+	public ping(): void {
+		this.stream.send('ping');
+	}
+
+	public heartbeat(): void {
+		this.stream.send('h');
+	}
+
 	/**
 	 * Close this connection
 	 */

From e456c6a9c145e982ae42377f2d6ae1c74a341b31 Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Tue, 6 Jun 2023 09:17:11 +0900
Subject: [PATCH 8/9] 13.13.1

---
 CHANGELOG.md | 2 +-
 package.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index cc13749caf..d735ec71ed 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,7 +12,7 @@
 
 -->
 
-## 13.13.1 (unreleased)
+## 13.13.1
 
 ### Client
 - Fix: タブがアクティブな間はstreamが切断されないように
diff --git a/package.json b/package.json
index 8cf7d37f63..eff0bf2dc2 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
 	"name": "misskey",
-	"version": "13.13.0",
+	"version": "13.13.1",
 	"codename": "nasubi",
 	"repository": {
 		"type": "git",

From 8ccf954065a4930a8b2577b79ae3a87d5dd05449 Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Tue, 6 Jun 2023 09:37:36 +0900
Subject: [PATCH 9/9] Update misskey-js.api.md

---
 packages/misskey-js/etc/misskey-js.api.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/packages/misskey-js/etc/misskey-js.api.md b/packages/misskey-js/etc/misskey-js.api.md
index 19e5b75443..396187a439 100644
--- a/packages/misskey-js/etc/misskey-js.api.md
+++ b/packages/misskey-js/etc/misskey-js.api.md
@@ -2606,6 +2606,10 @@ export class Stream extends EventEmitter<StreamEvents> {
     //
     // (undocumented)
     disconnectToChannel(connection: NonSharedConnection): void;
+    // (undocumented)
+    heartbeat(): void;
+    // (undocumented)
+    ping(): void;
     // Warning: (ae-forgotten-export) The symbol "SharedConnection" needs to be exported by the entry point index.d.ts
     //
     // (undocumented)