diff --git a/src/api/Server.ts b/src/api/Server.ts
index 133e9dbb..62a51777 100644
--- a/src/api/Server.ts
+++ b/src/api/Server.ts
@@ -158,6 +158,9 @@ export class SpacebarServer extends Server {
baseUrl: Config.get().gateway.endpointPublic,
encoding: [...(erlpackSupported ? ["etf"] : []), "json"],
compression: ["zstd-stream", "zlib-stream", null],
+ },
+ admin: Config.get().admin.endpointPublic === null ? undefined : {
+ baseUrl: Config.get().admin.endpointPublic
}
});
});
diff --git a/src/api/routes/policies/instance/domains.ts b/src/api/routes/policies/instance/domains.ts
index a4cc0aa1..967ac2f4 100644
--- a/src/api/routes/policies/instance/domains.ts
+++ b/src/api/routes/policies/instance/domains.ts
@@ -33,20 +33,14 @@ router.get(
async (req: Request, res: Response) => {
const { cdn, gateway, api } = Config.get();
- const IdentityForm = {
- cdn:
- cdn.endpointPublic ||
- process.env.CDN ||
- "http://localhost:3001",
- gateway:
- gateway.endpointPublic ||
- process.env.GATEWAY ||
- "ws://localhost:3001",
- defaultApiVersion: api.defaultVersion ?? 9,
- apiEndpoint: api.endpointPublic ?? "http://localhost:3001/api/",
- };
-
- res.json(IdentityForm);
+ res.json({
+ admin: Config.get().admin.endpointPublic,
+ api: Config.get().api.endpointPublic?.split("/api")[0] || "", // Transitional, see /.well-known/spacebar/client
+ apiEndpoint: api.endpointPublic,
+ cdn: cdn.endpointPublic,
+ defaultApiVersion: api.defaultVersion,
+ gateway: gateway.endpointPublic,
+ });
},
);
diff --git a/src/cdn/routes/attachments.ts b/src/cdn/routes/attachments.ts
index e9210d98..72857e9d 100644
--- a/src/cdn/routes/attachments.ts
+++ b/src/cdn/routes/attachments.ts
@@ -40,7 +40,7 @@ router.post("/:channel_id", multer.single("file"), async (req: Request, res: Res
const id = Snowflake.generate();
const path = `attachments/${channel_id}/${id}/${filename}`;
- const endpoint = Config.get()?.cdn.endpointPublic || "http://localhost:3001";
+ const endpoint = Config.get()?.cdn.endpointPublic;
await storage.set(path, buffer);
let width;
diff --git a/src/cdn/routes/avatars.ts b/src/cdn/routes/avatars.ts
index 67d0aedb..d5212f0c 100644
--- a/src/cdn/routes/avatars.ts
+++ b/src/cdn/routes/avatars.ts
@@ -62,8 +62,7 @@ router.post(
if (ANIMATED_MIME_TYPES.includes(type.mime)) hash = `a_${hash}`; // animated icons have a_ infront of the hash
const path = `avatars/${user_id}/${hash}`;
- const endpoint =
- Config.get().cdn.endpointPublic || "http://localhost:3001";
+ const endpoint = Config.get().cdn.endpointPublic;
await storage.set(path, buffer);
diff --git a/src/cdn/routes/guild-profiles.ts b/src/cdn/routes/guild-profiles.ts
index b2e72b61..018a4b2b 100644
--- a/src/cdn/routes/guild-profiles.ts
+++ b/src/cdn/routes/guild-profiles.ts
@@ -59,7 +59,7 @@ router.post("/", multer.single("file"), async (req: Request, res: Response) => {
if (ANIMATED_MIME_TYPES.includes(type.mime)) hash = `a_${hash}`; // animated icons have a_ infront of the hash
const path = `guilds/${guild_id}/users/${user_id}/avatars/${hash}`;
- const endpoint = Config.get().cdn.endpointPublic || "http://localhost:3001";
+ const endpoint = Config.get().cdn.endpointPublic;
await storage.set(path, buffer);
diff --git a/src/cdn/routes/role-icons.ts b/src/cdn/routes/role-icons.ts
index 4b092cba..859be2af 100644
--- a/src/cdn/routes/role-icons.ts
+++ b/src/cdn/routes/role-icons.ts
@@ -61,8 +61,7 @@ router.post(
throw new HTTPError("Invalid file type");
const path = `role-icons/${role_id}/${hash}.png`;
- const endpoint =
- Config.get().cdn.endpointPublic || "http://localhost:3001";
+ const endpoint = Config.get().cdn.endpointPublic;
await storage.set(path, buffer);
diff --git a/src/gateway/opcodes/Identify.ts b/src/gateway/opcodes/Identify.ts
index 97d33f55..352fd6fe 100644
--- a/src/gateway/opcodes/Identify.ts
+++ b/src/gateway/opcodes/Identify.ts
@@ -542,7 +542,7 @@ export async function onIdentify(this: WebSocket, data: Payload) {
merged_members: merged_members,
sessions: allSessions,
- resume_gateway_url: Config.get().gateway.endpointClient || Config.get().gateway.endpointPublic || "ws://127.0.0.1:3001",
+ resume_gateway_url: Config.get().gateway.endpointPublic!,
// lol hack whatever
required_action: Config.get().login.requireVerification && !user.verified ? "REQUIRE_VERIFIED_EMAIL" : undefined,
diff --git a/src/schemas/responses/InstanceDomainsResponse.ts b/src/schemas/responses/InstanceDomainsResponse.ts
index 0be3682b..d77d4458 100644
--- a/src/schemas/responses/InstanceDomainsResponse.ts
+++ b/src/schemas/responses/InstanceDomainsResponse.ts
@@ -17,8 +17,10 @@
*/
export interface InstanceDomainsResponse {
+ admin?: string;
+ api: string;
+ apiEndpoint: string;
cdn: string;
gateway: string;
defaultApiVersion: string;
- apiEndpoint: string;
}
diff --git a/src/util/config/Config.ts b/src/util/config/Config.ts
index 1458ab4b..077d0513 100644
--- a/src/util/config/Config.ts
+++ b/src/util/config/Config.ts
@@ -40,6 +40,7 @@ import {
} from "../config";
export class ConfigValue {
+ admin: EndpointConfiguration = new EndpointConfiguration();
gateway: EndpointConfiguration = new EndpointConfiguration();
cdn: CdnConfiguration = new CdnConfiguration();
api: ApiConfiguration = new ApiConfiguration();
@@ -58,7 +59,6 @@ export class ConfigValue {
defaults: DefaultsConfiguration = new DefaultsConfiguration();
external: ExternalTokensConfiguration = new ExternalTokensConfiguration();
email: EmailConfiguration = new EmailConfiguration();
- passwordReset: PasswordResetConfiguration =
- new PasswordResetConfiguration();
+ passwordReset: PasswordResetConfiguration = new PasswordResetConfiguration();
user: UserConfiguration = new UserConfiguration();
}
diff --git a/src/util/config/types/EndpointConfiguration.ts b/src/util/config/types/EndpointConfiguration.ts
index 6319d79c..359d2e41 100644
--- a/src/util/config/types/EndpointConfiguration.ts
+++ b/src/util/config/types/EndpointConfiguration.ts
@@ -17,7 +17,6 @@
*/
export class EndpointConfiguration {
- endpointClient: string | null = null;
endpointPrivate: string | null = null;
endpointPublic: string | null = null;
}
diff --git a/src/util/config/types/GeneralConfiguration.ts b/src/util/config/types/GeneralConfiguration.ts
index cff8c527..1548b527 100644
--- a/src/util/config/types/GeneralConfiguration.ts
+++ b/src/util/config/types/GeneralConfiguration.ts
@@ -20,8 +20,7 @@ import { Snowflake } from "@spacebar/util";
export class GeneralConfiguration {
instanceName: string = "Spacebar Instance";
- instanceDescription: string | null =
- "This is a Spacebar instance made in the pre-release days";
+ instanceDescription: string | null = "This is a Spacebar instance made in the pre-release days";
frontPage: string | null = null;
tosPage: string | null = null;
correspondenceEmail: string | null = null;
|