diff --git a/packages/frontend/src/stream.ts b/packages/frontend/src/stream.ts
index a807d1d306bbaffd5dd8f39e944b072d44243422..a7e4ecd42d1eaf0b59c62589122a073eaf2980fd 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 0218b40a03cd6f4acf05b7d4d61c2129daaad225..92a220b4963d36b41e1eaa622b6216f598be770d 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
 	 */