view who was fronting when a record was made

fix: dont write empty fronter records

ptr.pet b1eaddbe 739597f6

verified
Changed files
+10 -6
src
entrypoints
+10 -6
src/entrypoints/background.ts
···
authToken: string | null,
sender: globalThis.Browser.runtime.MessageSender,
) => {
-
const fronter = await storage.getItem<string>("sync:fronter");
+
const fronterName = await storage.getItem<string>("sync:fronter");
const spFronters = (await getSpFronters()).map((m) => memberUriString(m));
if (!authToken) return;
+
const fronter = {
+
names: fronterName?.split(",").map((name) => name.trim()) ?? [],
+
members: spFronters,
+
};
+
// dont write if no names is specified or no sp/pk fronters are fetched
+
if (fronter.names.length === 0 && fronter.members.length === 0) return;
const results = [];
for (const result of items) {
const resp = await putFronter(
-
{
-
names: fronter?.split(",").map((name) => name.trim()) ?? [],
-
subject: result.uri,
-
members: spFronters,
-
},
+
{ subject: result.uri, ...fronter },
authToken,
);
if (resp.ok) {
···
console.error(`fronter write: ${resp.error}`);
}
}
+
// hijack timeline fronter message because when a write is made it is either on the timeline
+
// or its a reply to a depth === 0 post on a threaded view, which is the same as a timeline post
browser.tabs.sendMessage(sender.tab?.id!, {
type: "TIMELINE_FRONTER",
results: new Map(