mia: tell sharkey instances that we're mastodon so it properly federates likes

This commit is contained in:
Crimekillz 2024-03-26 12:58:08 +01:00
parent 69dbbe4283
commit 948d14a52d

View File

@ -97,10 +97,22 @@ const cache = new Cache<Awaited<ReturnType<typeof nodeinfo2>>>(
60 * 10,
);
// tell sharkey instances that we're mastodon so it properly federates likes
const patch = (ctx, base) => {
// note: sharkey uses misskey as it's user-agent
if ((ctx.get("user-agent") ?? "").toLowerCase().indexOf("misskey") != -1) {
const copied = {...base};
copied.software = {...copied.software};
copied.software.name = 'mastodon';
return copied;
}
return base;
};
router.get(nodeinfo2_1path, async (ctx) => {
const base = await cache.fetch(null, () => nodeinfo2());
ctx.body = { version: "2.1", ...base };
ctx.body = { version: "2.1", ...patch(ctx, base) };
ctx.set("Cache-Control", "public, max-age=600");
});
@ -110,7 +122,7 @@ router.get(nodeinfo2_0path, async (ctx) => {
// @ts-ignore
base.software.repository = undefined;
ctx.body = { version: "2.0", ...base };
ctx.body = { version: "2.0", ...patch(ctx, base) };
ctx.set("Cache-Control", "public, max-age=600");
});