From f33c7c6c94074acba664acde306803cd53bfa3b5 Mon Sep 17 00:00:00 2001
From: naskya <m@naskya.net>
Date: Sat, 20 Apr 2024 08:48:48 +0900
Subject: [PATCH] fix (backend): host and hostname was messed up

---
 packages/backend-rs/src/config/server.rs             | 12 ++++++------
 .../src/server/api/stream/channels/user-list.ts      |  2 +-
 packages/backend/src/server/api/stream/index.ts      |  2 +-
 packages/backend/src/server/api/stream/types.ts      |  2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/packages/backend-rs/src/config/server.rs b/packages/backend-rs/src/config/server.rs
index 720e1a9c49..b822d0d300 100644
--- a/packages/backend-rs/src/config/server.rs
+++ b/packages/backend-rs/src/config/server.rs
@@ -296,14 +296,14 @@ fn load_config() -> Config {
     let version = read_meta().version;
     let manifest = read_manifest();
     let url = url::Url::parse(&server_config.url).expect("Config url is invalid");
-    let host = url
+    let hostname = url
         .host_str()
         .expect("Hostname is missing in the config url")
         .to_owned();
-    let hostname = url
-        .domain()
-        .expect("Domain is missing in the config url")
-        .to_owned();
+    let host = match url.port() {
+        Some(port) => format!("{}:{}", hostname, port),
+        None => hostname.clone(),
+    };
     let scheme = url.scheme().to_owned();
     let ws_scheme = scheme.replace("http", "ws");
 
@@ -320,7 +320,7 @@ fn load_config() -> Config {
     } else {
         server_config.redis.prefix.clone()
     }
-    .unwrap_or(hostname.clone());
+    .unwrap_or(host.clone());
 
     Config {
         url: server_config.url,
diff --git a/packages/backend/src/server/api/stream/channels/user-list.ts b/packages/backend/src/server/api/stream/channels/user-list.ts
index fcfb7ecda3..2722a6610a 100644
--- a/packages/backend/src/server/api/stream/channels/user-list.ts
+++ b/packages/backend/src/server/api/stream/channels/user-list.ts
@@ -22,7 +22,7 @@ export default class extends Channel {
 		this.listId = params.listId as string;
 
 		// Check existence and owner
-		const exist = await UserLists.exist({
+		const exist = await UserLists.exists({
 			where: {
 				id: this.listId,
 				userId: this.user!.id,
diff --git a/packages/backend/src/server/api/stream/index.ts b/packages/backend/src/server/api/stream/index.ts
index 416a041b52..313719e207 100644
--- a/packages/backend/src/server/api/stream/index.ts
+++ b/packages/backend/src/server/api/stream/index.ts
@@ -1,4 +1,4 @@
-import type { EventEmitter } from "events";
+import type { EventEmitter } from "node:events";
 import type * as websocket from "websocket";
 import readNote from "@/services/note/read.js";
 import type { User } from "@/models/entities/user.js";
diff --git a/packages/backend/src/server/api/stream/types.ts b/packages/backend/src/server/api/stream/types.ts
index 91095a46d3..8b4ac9e502 100644
--- a/packages/backend/src/server/api/stream/types.ts
+++ b/packages/backend/src/server/api/stream/types.ts
@@ -1,4 +1,4 @@
-import type { EventEmitter } from "events";
+import type { EventEmitter } from "node:events";
 import type Emitter from "strict-event-emitter-types";
 import type { Channel } from "@/models/entities/channel.js";
 import type { User } from "@/models/entities/user.js";