@fedify/fedify 0.7.0-dev.123 → 0.7.0-dev.129
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @fedify/fedify might be problematic. Click here for more details.
@@ -1,4 +1,5 @@
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
2
|
+
import { getLogger } from "@logtape/logtape";
|
2
3
|
import { accepts } from "../deps/jsr.io/@std/http/0.220.1/negotiation.js";
|
3
4
|
import { doesActorOwnKey, verify } from "../httpsig/mod.js";
|
4
5
|
import { Activity, OrderedCollection, OrderedCollectionPage, } from "../vocab/vocab.js";
|
@@ -14,10 +15,8 @@ export function acceptsJsonLd(request) {
|
|
14
15
|
types.includes("application/json");
|
15
16
|
}
|
16
17
|
export async function handleActor(request, { handle, context, actorDispatcher, authorizePredicate, onNotFound, onNotAcceptable, onUnauthorized, }) {
|
17
|
-
if (actorDispatcher == null)
|
18
|
-
|
19
|
-
return response instanceof Promise ? await response : response;
|
20
|
-
}
|
18
|
+
if (actorDispatcher == null)
|
19
|
+
return await onNotFound(request);
|
21
20
|
const key = await context.getActorKey(handle);
|
22
21
|
const actor = await actorDispatcher(context, handle, key);
|
23
22
|
if (actor == null)
|
@@ -111,21 +110,22 @@ export async function handleCollection(request, { handle, context, collectionCal
|
|
111
110
|
});
|
112
111
|
}
|
113
112
|
export async function handleInbox(request, { handle, context, kv, kvPrefix, actorDispatcher, inboxListeners, inboxErrorHandler, onNotFound, }) {
|
113
|
+
const logger = getLogger(["fedify", "federation", "inbox"]);
|
114
114
|
if (actorDispatcher == null) {
|
115
|
-
|
116
|
-
return
|
115
|
+
logger.error("Actor dispatcher is not set.", { handle });
|
116
|
+
return await onNotFound(request);
|
117
117
|
}
|
118
118
|
else if (handle != null) {
|
119
119
|
const key = await context.getActorKey(handle);
|
120
|
-
const
|
121
|
-
const actor = promise instanceof Promise ? await promise : promise;
|
120
|
+
const actor = await actorDispatcher(context, handle, key);
|
122
121
|
if (actor == null) {
|
123
|
-
|
124
|
-
return
|
122
|
+
logger.error("Actor {handle} not found.", { handle });
|
123
|
+
return await onNotFound(request);
|
125
124
|
}
|
126
125
|
}
|
127
126
|
const key = await verify(request, context.documentLoader);
|
128
127
|
if (key == null) {
|
128
|
+
logger.error("Failed to verify the request signature.", { handle });
|
129
129
|
const response = new Response("Failed to verify the request signature.", {
|
130
130
|
status: 401,
|
131
131
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -136,10 +136,9 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
136
136
|
try {
|
137
137
|
json = await request.json();
|
138
138
|
}
|
139
|
-
catch (
|
140
|
-
|
141
|
-
|
142
|
-
await promise;
|
139
|
+
catch (error) {
|
140
|
+
logger.error("Failed to parse JSON:\n{error}", { handle, error });
|
141
|
+
await inboxErrorHandler?.(context, error);
|
143
142
|
return new Response("Invalid JSON.", {
|
144
143
|
status: 400,
|
145
144
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -149,10 +148,9 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
149
148
|
try {
|
150
149
|
activity = await Activity.fromJsonLd(json, context);
|
151
150
|
}
|
152
|
-
catch (
|
153
|
-
|
154
|
-
|
155
|
-
await promise;
|
151
|
+
catch (error) {
|
152
|
+
logger.error("Failed to parse activity:\n{error}", { handle, json, error });
|
153
|
+
await inboxErrorHandler?.(context, error);
|
156
154
|
return new Response("Invalid activity.", {
|
157
155
|
status: 400,
|
158
156
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -164,6 +162,10 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
164
162
|
if (cacheKey != null) {
|
165
163
|
const cached = await kv.get(cacheKey);
|
166
164
|
if (cached === true) {
|
165
|
+
logger.debug("Activity {activityId} has already been processed.", {
|
166
|
+
activityId: activity.id?.href,
|
167
|
+
activity: json,
|
168
|
+
});
|
167
169
|
return new Response(`Activity <${activity.id}> has already been processed.`, {
|
168
170
|
status: 202,
|
169
171
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -171,6 +173,7 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
171
173
|
}
|
172
174
|
}
|
173
175
|
if (activity.actorId == null) {
|
176
|
+
logger.error("Missing actor.", { activity: json });
|
174
177
|
const response = new Response("Missing actor.", {
|
175
178
|
status: 400,
|
176
179
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -178,6 +181,7 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
178
181
|
return response;
|
179
182
|
}
|
180
183
|
if (!await doesActorOwnKey(activity, key, context.documentLoader)) {
|
184
|
+
logger.error("The signer ({keyId}) and the actor ({actorId}) do not match.", { activity: json, keyId: key.id?.href, actorId: activity.actorId.href });
|
181
185
|
const response = new Response("The signer and the actor do not match.", {
|
182
186
|
status: 401,
|
183
187
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -192,6 +196,7 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
192
196
|
if (inboxListeners.has(cls))
|
193
197
|
break;
|
194
198
|
if (cls === Activity) {
|
199
|
+
logger.error("Unsupported activity type:\n{activity}", { activity: json });
|
195
200
|
return new Response("", {
|
196
201
|
status: 202,
|
197
202
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -201,14 +206,11 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
201
206
|
}
|
202
207
|
const listener = inboxListeners.get(cls);
|
203
208
|
try {
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
const promise = inboxErrorHandler?.(context, e);
|
210
|
-
if (promise instanceof Promise)
|
211
|
-
await promise;
|
209
|
+
await listener(context, activity);
|
210
|
+
}
|
211
|
+
catch (error) {
|
212
|
+
logger.error("Failed to process the activity:\n{error}", { error, activity: json });
|
213
|
+
await inboxErrorHandler?.(context, error);
|
212
214
|
return new Response("Internal server error.", {
|
213
215
|
status: 500,
|
214
216
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -217,6 +219,7 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
217
219
|
if (cacheKey != null) {
|
218
220
|
await kv.set(cacheKey, true, { ttl: Temporal.Duration.from({ days: 1 }) });
|
219
221
|
}
|
222
|
+
logger.info("Activity {activityId} has been processed.", { activityId: activity.id?.href, activity: json });
|
220
223
|
return new Response("", {
|
221
224
|
status: 202,
|
222
225
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import * as dntShim from "../_dnt.shims.js";
|
2
2
|
import { Temporal } from "@js-temporal/polyfill";
|
3
|
+
import { getLogger } from "@logtape/logtape";
|
3
4
|
import { exportJwk, importJwk, validateCryptoKey } from "../httpsig/key.js";
|
4
5
|
import { getKeyOwner, verify } from "../httpsig/mod.js";
|
5
6
|
import { handleNodeInfo, handleNodeInfoJrd } from "../nodeinfo/handler.js";
|
@@ -73,6 +74,8 @@ export class Federation {
|
|
73
74
|
}
|
74
75
|
#startQueue() {
|
75
76
|
if (this.#queue != null && !this.#queueStarted) {
|
77
|
+
getLogger(["fedify", "federation", "outbox"])
|
78
|
+
.debug("Starting an outbox queue.");
|
76
79
|
this.#queue?.listen(this.#listenQueue.bind(this));
|
77
80
|
this.#queueStarted = true;
|
78
81
|
}
|
@@ -528,7 +531,9 @@ export class Federation {
|
|
528
531
|
* @throws {TypeError} If the activity to send does not have an actor.
|
529
532
|
*/
|
530
533
|
async sendActivity({ keyId, privateKey }, recipients, activity, { preferSharedInbox, immediate } = {}) {
|
534
|
+
const logger = getLogger(["fedify", "federation", "outbox"]);
|
531
535
|
if (activity.actorId == null) {
|
536
|
+
logger.error("Activity {activityId} to send does not have an actor.", { activity, activityId: activity?.id?.href });
|
532
537
|
throw new TypeError("The activity to send must have at least one actor property.");
|
533
538
|
}
|
534
539
|
this.#startQueue();
|
@@ -542,7 +547,15 @@ export class Federation {
|
|
542
547
|
recipients: Array.isArray(recipients) ? recipients : [recipients],
|
543
548
|
preferSharedInbox,
|
544
549
|
});
|
550
|
+
logger.debug("Sending activity {activityId} to inboxes:\n{inboxes}", { inboxes, activityId: activity.id?.href, activity });
|
545
551
|
if (immediate || this.#queue == null) {
|
552
|
+
if (immediate) {
|
553
|
+
logger.debug("Sending activity immediately without queue since immediate option " +
|
554
|
+
"is set.", { activityId: activity.id?.href, activity });
|
555
|
+
}
|
556
|
+
else {
|
557
|
+
logger.debug("Sending activity immediately without queue since queue is not set.", { activityId: activity.id?.href, activity });
|
558
|
+
}
|
546
559
|
const documentLoader = this.#authenticatedDocumentLoaderFactory({ keyId, privateKey });
|
547
560
|
const promises = [];
|
548
561
|
for (const inbox of inboxes) {
|
@@ -557,6 +570,7 @@ export class Federation {
|
|
557
570
|
await Promise.all(promises);
|
558
571
|
return;
|
559
572
|
}
|
573
|
+
logger.debug("Enqueuing activity {activityId} to send later.", { activityId: activity.id?.href, activity });
|
560
574
|
const privateKeyJwk = await exportJwk(privateKey);
|
561
575
|
const activityJson = await activity.toJsonLd({ expand: true });
|
562
576
|
for (const inbox of inboxes) {
|
@@ -599,7 +613,6 @@ export class Federation {
|
|
599
613
|
* @since 0.6.0
|
600
614
|
*/
|
601
615
|
async fetch(request, { onNotFound, onNotAcceptable, onUnauthorized, contextData, }) {
|
602
|
-
this.#startQueue();
|
603
616
|
onNotFound ??= notFound;
|
604
617
|
onNotAcceptable ??= notAcceptable;
|
605
618
|
onUnauthorized ??= unauthorized;
|
package/esm/federation/send.js
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { getLogger } from "@logtape/logtape";
|
1
2
|
import { sign } from "../httpsig/mod.js";
|
2
3
|
/**
|
3
4
|
* Extracts the inbox URLs from recipients.
|
@@ -24,6 +25,7 @@ export function extractInboxes({ recipients, preferSharedInbox }) {
|
|
24
25
|
* @throws {Error} If the activity fails to send.
|
25
26
|
*/
|
26
27
|
export async function sendActivity({ activity, privateKey, keyId, inbox, documentLoader, }) {
|
28
|
+
const logger = getLogger(["fedify", "federation", "outbox"]);
|
27
29
|
if (activity.actorId == null) {
|
28
30
|
throw new TypeError("The activity to send must have at least one actor property.");
|
29
31
|
}
|
@@ -38,8 +40,16 @@ export async function sendActivity({ activity, privateKey, keyId, inbox, documen
|
|
38
40
|
request = await sign(request, privateKey, keyId);
|
39
41
|
const response = await fetch(request);
|
40
42
|
if (!response.ok) {
|
41
|
-
|
42
|
-
|
43
|
-
|
43
|
+
const error = await response.text();
|
44
|
+
logger.error("Failed to send activity {activityId} to {inbox} ({status} " +
|
45
|
+
"{statusText}):\n{error}", {
|
46
|
+
activityId: activity.id?.href,
|
47
|
+
inbox: inbox.href,
|
48
|
+
status: response.status,
|
49
|
+
statusText: response.statusText,
|
50
|
+
error,
|
51
|
+
});
|
52
|
+
throw new Error(`Failed to send activity ${activity?.id?.href} to ${inbox.href} ` +
|
53
|
+
`(${response.status} ${response.statusText}):\n${error}`);
|
44
54
|
}
|
45
55
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@fedify/fedify",
|
3
|
-
"version": "0.7.0-dev.
|
3
|
+
"version": "0.7.0-dev.129+c02979d6",
|
4
4
|
"description": "An ActivityPub server framework",
|
5
5
|
"keywords": [
|
6
6
|
"ActivityPub",
|
@@ -77,6 +77,7 @@
|
|
77
77
|
},
|
78
78
|
"dependencies": {
|
79
79
|
"@js-temporal/polyfill": "^0.4.4",
|
80
|
+
"@logtape/logtape": "^0.2.1",
|
80
81
|
"@phensley/language-tag": "^1.8.0",
|
81
82
|
"jsonld": "^8.3.2",
|
82
83
|
"uri-template-router": "^0.0.16",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/federation/handler.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/federation/handler.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/federation/middleware.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/federation/middleware.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/federation/send.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/federation/send.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAG5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,UAAU,EAAE,KAAK,EAAE,CAAC;IAEpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,wBAAwB,GAC1D,GAAG,CAAC,GAAG,CAAC,CASV;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC;IAE9B;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC;IAEX;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC;IAEX;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,EACE,QAAQ,EACR,UAAU,EACV,KAAK,EACL,KAAK,EACL,cAAc,GACf,EAAE,sBAAsB,GACxB,OAAO,CAAC,IAAI,CAAC,CAmCf"}
|