completionId: cgen-72c59ec68f654f7497827a841dc37f4c

cgen-72c59ec68f654f7497827a841dc37f4c
This commit is contained in:
Builder.io 2025-11-09 03:55:05 +00:00
parent 59112d63ff
commit 196b15b72d

View file

@ -58,6 +58,13 @@ export const DiscordActivityProvider: React.FC<
const frameId = searchParams.get("frame_id"); const frameId = searchParams.get("frame_id");
const isInDiscordActivity = frameId !== null; const isInDiscordActivity = frameId !== null;
console.log("[Discord Activity] Initialization starting...", {
frameId,
isInDiscordActivity,
userAgent: navigator.userAgent,
href: window.location.href,
});
if (isInDiscordActivity) { if (isInDiscordActivity) {
try { try {
setIsActivity(true); setIsActivity(true);
@ -69,6 +76,8 @@ export const DiscordActivityProvider: React.FC<
const clientId = const clientId =
import.meta.env.VITE_DISCORD_CLIENT_ID || "578971245454950421"; import.meta.env.VITE_DISCORD_CLIENT_ID || "578971245454950421";
console.log("[Discord Activity] Creating SDK with clientId:", clientId);
const sdk = new DiscordSDK({ const sdk = new DiscordSDK({
clientId, clientId,
}); });
@ -76,17 +85,22 @@ export const DiscordActivityProvider: React.FC<
setDiscordSdk(sdk); setDiscordSdk(sdk);
// Wait for SDK to be ready // Wait for SDK to be ready
console.log("[Discord Activity] Waiting for SDK to be ready...");
await sdk.ready(); await sdk.ready();
console.log("[Discord Activity] SDK is ready");
// Get the current user from the SDK // Get the current user from the SDK
const currentUser = await sdk.user.getUser(); const currentUser = await sdk.user.getUser();
console.log("[Discord Activity] Current user:", currentUser ? "exists" : "null");
if (!currentUser) { if (!currentUser) {
// User not authenticated, authorize them // User not authenticated, authorize them
console.log("[Discord Activity] Authorizing user...");
const { access_token } = await sdk.commands.authorize({ const { access_token } = await sdk.commands.authorize({
scopes: ["identify", "guilds"], scopes: ["identify", "guilds"],
}); });
console.log("[Discord Activity] Got access token, calling activity-auth...");
// Exchange access token for user data via our proxy // Exchange access token for user data via our proxy
const response = await fetch("/api/discord/activity-auth", { const response = await fetch("/api/discord/activity-auth", {
method: "POST", method: "POST",
@ -98,20 +112,25 @@ export const DiscordActivityProvider: React.FC<
if (!response.ok) { if (!response.ok) {
const errorData = await response.json(); const errorData = await response.json();
setError(errorData.error || "Failed to authenticate"); const errMsg = errorData.error || "Failed to authenticate";
console.error("[Discord Activity] Auth failed:", errMsg);
setError(errMsg);
setIsLoading(false); setIsLoading(false);
return; return;
} }
const data = await response.json(); const data = await response.json();
if (data.success && data.user) { if (data.success && data.user) {
console.log("[Discord Activity] User authenticated successfully");
setUser(data.user); setUser(data.user);
setError(null); setError(null);
} else { } else {
console.error("[Discord Activity] Authentication response invalid:", data);
setError("Authentication failed"); setError("Authentication failed");
} }
} else { } else {
// User already authenticated, just fetch via our proxy // User already authenticated, just fetch via our proxy
console.log("[Discord Activity] User already authenticated, fetching user data...");
const response = await fetch("/api/discord/activity-auth", { const response = await fetch("/api/discord/activity-auth", {
method: "POST", method: "POST",
headers: { headers: {
@ -124,27 +143,41 @@ export const DiscordActivityProvider: React.FC<
if (!response.ok) { if (!response.ok) {
const errorData = await response.json(); const errorData = await response.json();
setError(errorData.error || "Failed to fetch user data"); const errMsg = errorData.error || "Failed to fetch user data";
console.error("[Discord Activity] Fetch failed:", errMsg);
setError(errMsg);
setIsLoading(false); setIsLoading(false);
return; return;
} }
const data = await response.json(); const data = await response.json();
if (data.success && data.user) { if (data.success && data.user) {
console.log("[Discord Activity] User data loaded successfully");
setUser(data.user); setUser(data.user);
setError(null); setError(null);
} else { } else {
console.error("[Discord Activity] User data response invalid:", data);
setError("Failed to load user data"); setError("Failed to load user data");
} }
} }
} catch (err: any) { } catch (err: any) {
console.error("Discord Activity initialization error:", err); console.error("Discord Activity initialization error:", err);
setError(err?.message || "Failed to initialize Discord Activity"); console.error("Error details:", {
message: err?.message,
code: err?.code,
stack: err?.stack,
});
setError(
`${err?.message || "Failed to initialize Discord Activity"}. Check browser console for details.`
);
} finally { } finally {
setIsLoading(false); setIsLoading(false);
} }
} else { } else {
// Not in a Discord iframe // Not in a Discord iframe
console.log(
"[Discord Activity] Not in Discord Activity context (no frame_id)"
);
setIsActivity(false); setIsActivity(false);
setIsLoading(false); setIsLoading(false);
} }