fix(federation): 🐛 Fix new notes being federated to ALL remote users, regardless of visibility

This commit is contained in:
Jesse Wierzbinski 2024-07-26 19:21:03 +02:00
parent 2f823317c2
commit 558ae72c82
No known key found for this signature in database
3 changed files with 5 additions and 5 deletions

View file

@ -2,9 +2,6 @@ import type { Undo } from "@lysand-org/federation/types";
import { config } from "config-manager"; import { config } from "config-manager";
import type { User } from "~/packages/database-interface/user"; import type { User } from "~/packages/database-interface/user";
export const localObjectUri = (id: string) =>
new URL(`/objects/${id}`, config.http.base_url).toString();
export const undoFederationRequest = (undoer: User, uri: string): Undo => { export const undoFederationRequest = (undoer: User, uri: string): Undo => {
const id = crypto.randomUUID(); const id = crypto.randomUUID();
return { return {

View file

@ -1,4 +1,5 @@
import { idValidator } from "@/api"; import { idValidator } from "@/api";
import { localObjectUri } from "@/constants";
import { proxyUrl } from "@/response"; import { proxyUrl } from "@/response";
import { sanitizedHtmlStrip } from "@/sanitization"; import { sanitizedHtmlStrip } from "@/sanitization";
import { sentry } from "@/sentry"; import { sentry } from "@/sentry";
@ -29,7 +30,6 @@ import {
type Application, type Application,
applicationToApi, applicationToApi,
} from "~/classes/functions/application"; } from "~/classes/functions/application";
import { localObjectUri } from "~/classes/functions/federation";
import { import {
type StatusWithRelations, type StatusWithRelations,
contentToHtml, contentToHtml,
@ -230,7 +230,7 @@ export class Note extends BaseInterface<typeof Notes, StatusWithRelations> {
relationships: { relationships: {
where: (relationship, { eq, and }) => where: (relationship, { eq, and }) =>
and( and(
eq(relationship.subjectId, Users.id), eq(relationship.subjectId, this.data.authorId),
eq(relationship.following, true), eq(relationship.following, true),
), ),
}, },

View file

@ -2,3 +2,6 @@ import { config } from "config-manager";
export const oauthRedirectUri = (issuer: string) => export const oauthRedirectUri = (issuer: string) =>
new URL(`/oauth/sso/${issuer}/callback`, config.http.base_url).toString(); new URL(`/oauth/sso/${issuer}/callback`, config.http.base_url).toString();
export const localObjectUri = (id: string) =>
new URL(`/objects/${id}`, config.http.base_url).toString();