@fedify/fedify 0.8.0-dev.144 → 0.8.0-dev.149

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.

package/CHANGES.md CHANGED
@@ -8,6 +8,9 @@ Version 0.8.0
8
8
 
9
9
  To be released.
10
10
 
11
+ - The CLI toolchain is now available on JSR: [@fedify/cli]. You can install
12
+ it with `deno install -A -n fedify jsr:@fedify/cli`.
13
+
11
14
  - Implemented [followers collection synchronization mechanism][FEP-8fcf].
12
15
 
13
16
  - Added `RequestContext.sendActivity()` overload that takes `"followers"`
@@ -21,7 +24,7 @@ To be released.
21
24
  - Added the second type parameter to `CollectionCursor` type.
22
25
  - Added the third parameter to `CollectionCursor` type.
23
26
 
24
- - Relaxed the required type for activity recipients.
27
+ - Relaxed the required type for activity recipients.
25
28
 
26
29
  - Added `Recipient` interface.
27
30
  - The type of the second parameter of `Context.sendActivity()` method
@@ -40,6 +43,13 @@ To be released.
40
43
  requires `--unstable-temporal` flag. On other runtime, it still depends
41
44
  on *@js-temporal/polyfill*.
42
45
 
46
+ - Added more log messages using the [LogTape] library. Currently the below
47
+ logger categories are used:
48
+
49
+ - `["fedify", "federation", "collection"]`
50
+ - `["fedify", "runtime", "docloader"]`
51
+
52
+ [@fedify/cli]: https://jsr.io/@fedify/cli
43
53
  [FEP-8fcf]: https://codeberg.org/fediverse/fep/src/branch/main/fep/8fcf/fep-8fcf.md
44
54
 
45
55
 
@@ -1,6 +1,8 @@
1
1
  import * as dntShim from "../_dnt.shims.js";
2
+ import { getLogger } from "@logtape/logtape";
2
3
  import { validateCryptoKey } from "../httpsig/key.js";
3
4
  import { sign } from "../httpsig/mod.js";
5
+ const logger = getLogger(["fedify", "runtime", "docloader"]);
4
6
  /**
5
7
  * Error thrown when fetching a JSON-LD document failed.
6
8
  */
@@ -29,11 +31,28 @@ function createRequest(url) {
29
31
  redirect: "follow",
30
32
  });
31
33
  }
34
+ function logRequest(request) {
35
+ logger.debug("Fetching document: {method} {url} {headers}", {
36
+ method: request.method,
37
+ url: request.url,
38
+ headers: Object.fromEntries(request.headers.entries()),
39
+ });
40
+ }
32
41
  async function getRemoteDocument(url, response) {
33
42
  const documentUrl = response.url === "" ? url : response.url;
34
43
  if (!response.ok) {
44
+ logger.error("Failed to fetch document: {status} {url} {headers}", {
45
+ status: response.status,
46
+ url: documentUrl,
47
+ headers: Object.fromEntries(response.headers.entries()),
48
+ });
35
49
  throw new FetchError(documentUrl, `HTTP ${response.status}: ${documentUrl}`);
36
50
  }
51
+ logger.error("Fetched document: {status} {url} {headers}", {
52
+ status: response.status,
53
+ url: documentUrl,
54
+ headers: Object.fromEntries(response.headers.entries()),
55
+ });
37
56
  return {
38
57
  contextUrl: null,
39
58
  document: await response.json(),
@@ -46,7 +65,9 @@ async function getRemoteDocument(url, response) {
46
65
  * @returns The remote document.
47
66
  */
48
67
  export async function fetchDocumentLoader(url) {
49
- const response = await fetch(createRequest(url));
68
+ const request = createRequest(url);
69
+ logRequest(request);
70
+ const response = await fetch(request);
50
71
  return getRemoteDocument(url, response);
51
72
  }
52
73
  /**
@@ -64,6 +85,7 @@ export function getAuthenticatedDocumentLoader(identity) {
64
85
  return async (url) => {
65
86
  let request = createRequest(url);
66
87
  request = await sign(request, identity.privateKey, identity.keyId);
88
+ logRequest(request);
67
89
  const response = await fetch(request);
68
90
  return getRemoteDocument(url, response);
69
91
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fedify/fedify",
3
- "version": "0.8.0-dev.144+0f08fd72",
3
+ "version": "0.8.0-dev.149+da1ca0e2",
4
4
  "description": "An ActivityPub server framework",
5
5
  "keywords": [
6
6
  "ActivityPub",
@@ -1 +1 @@
1
- {"version":3,"file":"docloader.d.ts","sourceRoot":"","sources":["../../src/runtime/docloader.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAI1D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,MAAM,kCAAkC,GAAG,CAC/C,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,KACpD,cAAc,CAAC;AAEpB;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IAET;;;;;OAKG;gBACS,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAKhD;AA6BD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,cAAc,CAAC,CAGzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,GACtD,cAAc,CAQhB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,EAAE,EAAE,OAAO,CAAC;IAEZ;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IAEf;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;CAC1E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,iBAAiB,GAC/C,cAAc,CAgDhB"}
1
+ {"version":3,"file":"docloader.d.ts","sourceRoot":"","sources":["../../src/runtime/docloader.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAM1D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,MAAM,kCAAkC,GAAG,CAC/C,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,KACpD,cAAc,CAAC;AAEpB;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IAET;;;;;OAKG;gBACS,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAKhD;AAwDD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,cAAc,CAAC,CAKzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,GACtD,cAAc,CAShB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,EAAE,EAAE,OAAO,CAAC;IAEZ;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IAEf;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;CAC1E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,iBAAiB,GAC/C,cAAc,CAgDhB"}