fix: IceCubes wants an int for ID despite the docs says string

This commit is contained in:
Eana Hufwe 2024-05-25 00:54:22 +00:00
parent ffa53c61fa
commit c2fdc0bd51

View file

@ -15,7 +15,7 @@ import { unique } from "@/prelude/array.js";
import type { Note } from "@/models/entities/note.js";
import type { SwSubscription } from "@/models/entities/sw-subscription.js";
import { fetchMeta, isQuote } from "backend-rs";
import { getNoteSummary } from "backend-rs";
import { getNoteSummary, getTimestamp } from "backend-rs";
import type { Packed } from "@/misc/schema";
import { I18n } from "@/misc/i18n.js";
import locales from "../../../../../../../locales/index.mjs";
@ -159,7 +159,7 @@ export class NotificationConverter {
ctx: MastoContext,
): Promise<MastodonEntity.PushSubscription> {
const instance = await fetchMeta(true);
return {
const result: MastodonEntity.PushSubscription = {
id: subscription.id,
endpoint: subscription.endpoint,
server_key: instance.swPublicKey ?? "",
@ -172,6 +172,13 @@ export class NotificationConverter {
status: subscription.subscriptionTypes.includes("status"),
},
};
// IceCubes wants an int for ID despite the docs says string.
if (ctx.tokenApp?.name === "IceCubesApp") {
result.id = getTimestamp(subscription.id);
}
return result;
}
public static async encodePushNotificationPayloadForRust(