···5555 authToken: string | null,
5656 sender: globalThis.Browser.runtime.MessageSender,
5757 ) => {
5858- const fronter = await storage.getItem<string>("sync:fronter");
5858+ const fronterName = await storage.getItem<string>("sync:fronter");
5959 const spFronters = (await getSpFronters()).map((m) => memberUriString(m));
6060 if (!authToken) return;
6161+ const fronter = {
6262+ names: fronterName?.split(",").map((name) => name.trim()) ?? [],
6363+ members: spFronters,
6464+ };
6565+ // dont write if no names is specified or no sp/pk fronters are fetched
6666+ if (fronter.names.length === 0 && fronter.members.length === 0) return;
6167 const results = [];
6268 for (const result of items) {
6369 const resp = await putFronter(
6464- {
6565- names: fronter?.split(",").map((name) => name.trim()) ?? [],
6666- subject: result.uri,
6767- members: spFronters,
6868- },
7070+ { subject: result.uri, ...fronter },
6971 authToken,
7072 );
7173 if (resp.ok) {
···7880 console.error(`fronter write: ${resp.error}`);
7981 }
8082 }
8383+ // hijack timeline fronter message because when a write is made it is either on the timeline
8484+ // or its a reply to a depth === 0 post on a threaded view, which is the same as a timeline post
8185 browser.tabs.sendMessage(sender.tab?.id!, {
8286 type: "TIMELINE_FRONTER",
8387 results: new Map(