Refactor fetchMentions function to enhance token retrieval and debug output
All checks were successful
Deploy / deploy (push) Successful in 1m18s

This commit is contained in:
Adrian Altner 2026-04-22 02:47:25 +02:00
parent d7cb6b5346
commit 0614688d2e

View file

@ -31,9 +31,19 @@ interface FetchResult {
} }
async function fetchMentions(target: string): Promise<FetchResult> { async function fetchMentions(target: string): Promise<FetchResult> {
const token = WEBMENTION_TOKEN; // Probe multiple env sources to see which one has the token at build time.
const fromAstroEnv = WEBMENTION_TOKEN;
const procEnv = typeof process !== 'undefined' ? process.env : {};
const procKeyCount = Object.keys(procEnv).length;
const hasWebmentionKey = 'WEBMENTION_TOKEN' in procEnv;
const procValLen =
hasWebmentionKey && typeof procEnv['WEBMENTION_TOKEN'] === 'string'
? (procEnv['WEBMENTION_TOKEN'] as string).length
: 0;
const token = fromAstroEnv || (hasWebmentionKey ? (procEnv['WEBMENTION_TOKEN'] as string) : undefined);
const tokenLen = typeof token === 'string' ? token.length : 0; const tokenLen = typeof token === 'string' ? token.length : 0;
if (!token) return { mentions: [], debug: `no-token(astroenv=${tokenLen})` }; const probe = `ae=${fromAstroEnv ? (fromAstroEnv as string).length : 0},pk=${procKeyCount},phas=${hasWebmentionKey},pv=${procValLen}`;
if (!token) return { mentions: [], debug: `no-token(${probe})` };
const withSlash = target.endsWith('/') ? target : `${target}/`; const withSlash = target.endsWith('/') ? target : `${target}/`;
const withoutSlash = target.replace(/\/+$/, ''); const withoutSlash = target.replace(/\/+$/, '');
const fetchOne = async (t: string) => { const fetchOne = async (t: string) => {
@ -57,7 +67,7 @@ async function fetchMentions(target: string): Promise<FetchResult> {
} }
return { return {
mentions: merged, mentions: merged,
debug: `ok(len=${tokenLen}) slash=${a.status}:${a.entries.length} noslash=${b.status}:${b.entries.length}`, debug: `ok(${probe}) slash=${a.status}:${a.entries.length} noslash=${b.status}:${b.entries.length}`,
}; };
} }