@fedify/fedify 1.1.4 → 1.1.6
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.
- package/CHANGES.md +232 -0
- package/esm/federation/handler.js +15 -1
- package/esm/runtime/key.js +1 -1
- package/esm/sig/http.js +9 -1
- package/esm/testing/fixtures/example.com/orderedcollectionpage +24 -0
- package/esm/vocab/application.yaml +2 -0
- package/esm/vocab/group.yaml +2 -0
- package/esm/vocab/organization.yaml +2 -0
- package/esm/vocab/person.yaml +2 -0
- package/esm/vocab/service.yaml +2 -0
- package/esm/vocab/vocab.js +450 -110
- package/package.json +1 -1
- package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/concat.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/copy.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/ends_with.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/equals.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/includes_needle.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/index_of_needle.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/last_index_of_needle.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/mod.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/repeat.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/starts_with.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/http/1.0.10/_negotiation/common.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/http/1.0.10/_negotiation/encoding.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/http/1.0.10/_negotiation/language.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/http/1.0.10/_negotiation/media_type.d.ts.map +1 -0
- package/types/deps/jsr.io/@std/http/1.0.10/negotiation.d.ts.map +1 -0
- package/types/federation/handler.d.ts.map +1 -1
- package/types/sig/http.d.ts.map +1 -1
- package/types/vocab/vocab.d.ts +30 -30
- package/types/vocab/vocab.d.ts.map +1 -1
- package/types/deps/jsr.io/@std/http/1.0.9/_negotiation/common.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/http/1.0.9/_negotiation/encoding.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/http/1.0.9/_negotiation/language.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/http/1.0.9/_negotiation/media_type.d.ts.map +0 -1
- package/types/deps/jsr.io/@std/http/1.0.9/negotiation.d.ts.map +0 -1
- /package/esm/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/concat.js +0 -0
- /package/esm/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/copy.js +0 -0
- /package/esm/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/ends_with.js +0 -0
- /package/esm/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/equals.js +0 -0
- /package/esm/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/includes_needle.js +0 -0
- /package/esm/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/index_of_needle.js +0 -0
- /package/esm/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/last_index_of_needle.js +0 -0
- /package/esm/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/mod.js +0 -0
- /package/esm/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/repeat.js +0 -0
- /package/esm/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/starts_with.js +0 -0
- /package/esm/deps/jsr.io/@std/http/{1.0.9 → 1.0.10}/_negotiation/common.js +0 -0
- /package/esm/deps/jsr.io/@std/http/{1.0.9 → 1.0.10}/_negotiation/encoding.js +0 -0
- /package/esm/deps/jsr.io/@std/http/{1.0.9 → 1.0.10}/_negotiation/language.js +0 -0
- /package/esm/deps/jsr.io/@std/http/{1.0.9 → 1.0.10}/_negotiation/media_type.js +0 -0
- /package/esm/deps/jsr.io/@std/http/{1.0.9 → 1.0.10}/negotiation.js +0 -0
- /package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/concat.d.ts +0 -0
- /package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/copy.d.ts +0 -0
- /package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/ends_with.d.ts +0 -0
- /package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/equals.d.ts +0 -0
- /package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/includes_needle.d.ts +0 -0
- /package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/index_of_needle.d.ts +0 -0
- /package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/last_index_of_needle.d.ts +0 -0
- /package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/mod.d.ts +0 -0
- /package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/repeat.d.ts +0 -0
- /package/types/deps/jsr.io/@std/bytes/{1.0.3 → 1.0.4}/starts_with.d.ts +0 -0
- /package/types/deps/jsr.io/@std/http/{1.0.9 → 1.0.10}/_negotiation/common.d.ts +0 -0
- /package/types/deps/jsr.io/@std/http/{1.0.9 → 1.0.10}/_negotiation/encoding.d.ts +0 -0
- /package/types/deps/jsr.io/@std/http/{1.0.9 → 1.0.10}/_negotiation/language.d.ts +0 -0
- /package/types/deps/jsr.io/@std/http/{1.0.9 → 1.0.10}/_negotiation/media_type.d.ts +0 -0
- /package/types/deps/jsr.io/@std/http/{1.0.9 → 1.0.10}/negotiation.d.ts +0 -0
package/CHANGES.md
CHANGED
|
@@ -3,6 +3,82 @@
|
|
|
3
3
|
Fedify changelog
|
|
4
4
|
================
|
|
5
5
|
|
|
6
|
+
Version 1.1.6
|
|
7
|
+
-------------
|
|
8
|
+
|
|
9
|
+
Released on November 19, 2024.
|
|
10
|
+
|
|
11
|
+
- Fix a bug where `Actor`'s `inbox` and `outbox` properties had not been
|
|
12
|
+
able to be set to an `OrderedCollectionPage` object, even though it is
|
|
13
|
+
a subtype of `OrderedCollection` according to Activity Vocabulary
|
|
14
|
+
specification. [[#165]]
|
|
15
|
+
|
|
16
|
+
- The type of `Application()` constructor's `inbox` and `outbox` options
|
|
17
|
+
is now `OrderedCollection | OrderedCollectionPage | null | undefined`
|
|
18
|
+
(was `OrderedCollection | null | undefined`).
|
|
19
|
+
- The type of `Application.clone()` method's `inbox` and `outbox` options
|
|
20
|
+
is now `OrderedCollection | OrderedCollectionPage | null | undefined`
|
|
21
|
+
(was `OrderedCollection | null | undefined`).
|
|
22
|
+
- The return type of `Application.getInbox()` and
|
|
23
|
+
`Application.getOutbox()` methods is now `OrderedCollection |
|
|
24
|
+
OrderedCollectionPage | null` (was `OrderedCollection | null`).
|
|
25
|
+
- The type of `Group()` constructor's `inbox` and `outbox` options is
|
|
26
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
27
|
+
`OrderedCollection | null | undefined`).
|
|
28
|
+
- The type of `Group.clone()` method's `inbox` and `outbox` options is
|
|
29
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
30
|
+
`OrderedCollection | null | undefined`).
|
|
31
|
+
- The return type of `Group.getInbox()` and `Group.getOutbox()` methods
|
|
32
|
+
is now `OrderedCollection | OrderedCollectionPage | null` (was
|
|
33
|
+
`OrderedCollection | null`).
|
|
34
|
+
- The type of `Organization()` constructor's `inbox` and `outbox` options
|
|
35
|
+
is now `OrderedCollection | OrderedCollectionPage | null | undefined`
|
|
36
|
+
(was `OrderedCollection | null | undefined`).
|
|
37
|
+
- The type of `Organization.clone()` method's `inbox` and `outbox` options
|
|
38
|
+
is now `OrderedCollection | OrderedCollectionPage | null | undefined`
|
|
39
|
+
(was `OrderedCollection | null | undefined`).
|
|
40
|
+
- The return type of `Organization.getInbox()` and
|
|
41
|
+
`Organization.getOutbox()` methods is now `OrderedCollection |
|
|
42
|
+
OrderedCollectionPage | null` (was `OrderedCollection | null`).
|
|
43
|
+
- The type of `Person()` constructor's `inbox` and `outbox` options is
|
|
44
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
45
|
+
`OrderedCollection | null | undefined`).
|
|
46
|
+
- The type of `Person.clone()` method's `inbox` and `outbox` options is
|
|
47
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
48
|
+
`OrderedCollection | null | undefined`).
|
|
49
|
+
- The return type of `Person.getInbox()` and `Person.getOutbox()` methods
|
|
50
|
+
is now `OrderedCollection | OrderedCollectionPage | null` (was
|
|
51
|
+
`OrderedCollection | null`).
|
|
52
|
+
- The type of `Service()` constructor's `inbox` and `outbox` options is
|
|
53
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
54
|
+
`OrderedCollection | null | undefined`).
|
|
55
|
+
- The type of `Service.clone()` method's `inbox` and `outbox` options is
|
|
56
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
57
|
+
`OrderedCollection | null | undefined`).
|
|
58
|
+
- The return type of `Service.getInbox()` and `Service.getOutbox()`
|
|
59
|
+
methods is now `OrderedCollection | OrderedCollectionPage | null` (was
|
|
60
|
+
`OrderedCollection | null`).
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
Version 1.1.5
|
|
64
|
+
-------------
|
|
65
|
+
|
|
66
|
+
Released on December 14, 2024.
|
|
67
|
+
|
|
68
|
+
- Suppressed a `TypeError` with a message <q>unusable</q> due to Node.js's
|
|
69
|
+
mysterious behavior. [[#159]]
|
|
70
|
+
|
|
71
|
+
- The `verifyRequest()` function no longer throws a `TypeError`
|
|
72
|
+
when a given `Request` object's body is already consumed or locked.
|
|
73
|
+
Instead, it logs an error message to the `["fedify", "sig", "http"]`
|
|
74
|
+
logger category and returns `null`.
|
|
75
|
+
- The `Federation.fetch()` method no longer throws a `TypeError`
|
|
76
|
+
when a given `Request` object's body is already consumed or locked.
|
|
77
|
+
Instead, it logs an error message to the `["fedify", "federation",
|
|
78
|
+
"inbox"]` logger category and responds with a `500 Internal Server
|
|
79
|
+
Error`.
|
|
80
|
+
|
|
81
|
+
|
|
6
82
|
Version 1.1.4
|
|
7
83
|
-------------
|
|
8
84
|
|
|
@@ -149,6 +225,82 @@ Released on October 20, 2024.
|
|
|
149
225
|
[#150]: https://github.com/dahlia/fedify/issues/150
|
|
150
226
|
|
|
151
227
|
|
|
228
|
+
Version 1.0.10
|
|
229
|
+
--------------
|
|
230
|
+
|
|
231
|
+
Released on December 19, 2024.
|
|
232
|
+
|
|
233
|
+
- Fix a bug where `Actor`'s `inbox` and `outbox` properties had not been
|
|
234
|
+
able to be set to an `OrderedCollectionPage` object, even though it is
|
|
235
|
+
a subtype of `OrderedCollection` according to Activity Vocabulary
|
|
236
|
+
specification. [[#165]]
|
|
237
|
+
|
|
238
|
+
- The type of `Application()` constructor's `inbox` and `outbox` options
|
|
239
|
+
is now `OrderedCollection | OrderedCollectionPage | null | undefined`
|
|
240
|
+
(was `OrderedCollection | null | undefined`).
|
|
241
|
+
- The type of `Application.clone()` method's `inbox` and `outbox` options
|
|
242
|
+
is now `OrderedCollection | OrderedCollectionPage | null | undefined`
|
|
243
|
+
(was `OrderedCollection | null | undefined`).
|
|
244
|
+
- The return type of `Application.getInbox()` and
|
|
245
|
+
`Application.getOutbox()` methods is now `OrderedCollection |
|
|
246
|
+
OrderedCollectionPage | null` (was `OrderedCollection | null`).
|
|
247
|
+
- The type of `Group()` constructor's `inbox` and `outbox` options is
|
|
248
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
249
|
+
`OrderedCollection | null | undefined`).
|
|
250
|
+
- The type of `Group.clone()` method's `inbox` and `outbox` options is
|
|
251
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
252
|
+
`OrderedCollection | null | undefined`).
|
|
253
|
+
- The return type of `Group.getInbox()` and `Group.getOutbox()` methods
|
|
254
|
+
is now `OrderedCollection | OrderedCollectionPage | null` (was
|
|
255
|
+
`OrderedCollection | null`).
|
|
256
|
+
- The type of `Organization()` constructor's `inbox` and `outbox` options
|
|
257
|
+
is now `OrderedCollection | OrderedCollectionPage | null | undefined`
|
|
258
|
+
(was `OrderedCollection | null | undefined`).
|
|
259
|
+
- The type of `Organization.clone()` method's `inbox` and `outbox` options
|
|
260
|
+
is now `OrderedCollection | OrderedCollectionPage | null | undefined`
|
|
261
|
+
(was `OrderedCollection | null | undefined`).
|
|
262
|
+
- The return type of `Organization.getInbox()` and
|
|
263
|
+
`Organization.getOutbox()` methods is now `OrderedCollection |
|
|
264
|
+
OrderedCollectionPage | null` (was `OrderedCollection | null`).
|
|
265
|
+
- The type of `Person()` constructor's `inbox` and `outbox` options is
|
|
266
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
267
|
+
`OrderedCollection | null | undefined`).
|
|
268
|
+
- The type of `Person.clone()` method's `inbox` and `outbox` options is
|
|
269
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
270
|
+
`OrderedCollection | null | undefined`).
|
|
271
|
+
- The return type of `Person.getInbox()` and `Person.getOutbox()` methods
|
|
272
|
+
is now `OrderedCollection | OrderedCollectionPage | null` (was
|
|
273
|
+
`OrderedCollection | null`).
|
|
274
|
+
- The type of `Service()` constructor's `inbox` and `outbox` options is
|
|
275
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
276
|
+
`OrderedCollection | null | undefined`).
|
|
277
|
+
- The type of `Service.clone()` method's `inbox` and `outbox` options is
|
|
278
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
279
|
+
`OrderedCollection | null | undefined`).
|
|
280
|
+
- The return type of `Service.getInbox()` and `Service.getOutbox()`
|
|
281
|
+
methods is now `OrderedCollection | OrderedCollectionPage | null` (was
|
|
282
|
+
`OrderedCollection | null`).
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
Version 1.0.9
|
|
286
|
+
-------------
|
|
287
|
+
|
|
288
|
+
Released on December 14, 2024.
|
|
289
|
+
|
|
290
|
+
- Suppressed a `TypeError` with a message <q>unusable</q> due to Node.js's
|
|
291
|
+
mysterious behavior. [[#159]]
|
|
292
|
+
|
|
293
|
+
- The `verifyRequest()` function no longer throws a `TypeError`
|
|
294
|
+
when a given `Request` object's body is already consumed or locked.
|
|
295
|
+
Instead, it logs an error message to the `["fedify", "sig", "http"]`
|
|
296
|
+
logger category and returns `null`.
|
|
297
|
+
- The `Federation.fetch()` method no longer throws a `TypeError`
|
|
298
|
+
when a given `Request` object's body is already consumed or locked.
|
|
299
|
+
Instead, it logs an error message to the `["fedify", "federation",
|
|
300
|
+
"inbox"]` logger category and responds with a `500 Internal Server
|
|
301
|
+
Error`.
|
|
302
|
+
|
|
303
|
+
|
|
152
304
|
Version 1.0.8
|
|
153
305
|
-------------
|
|
154
306
|
|
|
@@ -414,6 +566,86 @@ Released on September 26, 2024.
|
|
|
414
566
|
[#137]: https://github.com/dahlia/fedify/issues/137
|
|
415
567
|
|
|
416
568
|
|
|
569
|
+
Version 0.15.8
|
|
570
|
+
--------------
|
|
571
|
+
|
|
572
|
+
Released on November 159, 2024.
|
|
573
|
+
|
|
574
|
+
- Fix a bug where `Actor`'s `inbox` and `outbox` properties had not been
|
|
575
|
+
able to be set to an `OrderedCollectionPage` object, even though it is
|
|
576
|
+
a subtype of `OrderedCollection` according to Activity Vocabulary
|
|
577
|
+
specification. [[#165]]
|
|
578
|
+
|
|
579
|
+
- The type of `Application()` constructor's `inbox` and `outbox` options
|
|
580
|
+
is now `OrderedCollection | OrderedCollectionPage | null | undefined`
|
|
581
|
+
(was `OrderedCollection | null | undefined`).
|
|
582
|
+
- The type of `Application.clone()` method's `inbox` and `outbox` options
|
|
583
|
+
is now `OrderedCollection | OrderedCollectionPage | null | undefined`
|
|
584
|
+
(was `OrderedCollection | null | undefined`).
|
|
585
|
+
- The return type of `Application.getInbox()` and
|
|
586
|
+
`Application.getOutbox()` methods is now `OrderedCollection |
|
|
587
|
+
OrderedCollectionPage | null` (was `OrderedCollection | null`).
|
|
588
|
+
- The type of `Group()` constructor's `inbox` and `outbox` options is
|
|
589
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
590
|
+
`OrderedCollection | null | undefined`).
|
|
591
|
+
- The type of `Group.clone()` method's `inbox` and `outbox` options is
|
|
592
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
593
|
+
`OrderedCollection | null | undefined`).
|
|
594
|
+
- The return type of `Group.getInbox()` and `Group.getOutbox()` methods
|
|
595
|
+
is now `OrderedCollection | OrderedCollectionPage | null` (was
|
|
596
|
+
`OrderedCollection | null`).
|
|
597
|
+
- The type of `Organization()` constructor's `inbox` and `outbox` options
|
|
598
|
+
is now `OrderedCollection | OrderedCollectionPage | null | undefined`
|
|
599
|
+
(was `OrderedCollection | null | undefined`).
|
|
600
|
+
- The type of `Organization.clone()` method's `inbox` and `outbox` options
|
|
601
|
+
is now `OrderedCollection | OrderedCollectionPage | null | undefined`
|
|
602
|
+
(was `OrderedCollection | null | undefined`).
|
|
603
|
+
- The return type of `Organization.getInbox()` and
|
|
604
|
+
`Organization.getOutbox()` methods is now `OrderedCollection |
|
|
605
|
+
OrderedCollectionPage | null` (was `OrderedCollection | null`).
|
|
606
|
+
- The type of `Person()` constructor's `inbox` and `outbox` options is
|
|
607
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
608
|
+
`OrderedCollection | null | undefined`).
|
|
609
|
+
- The type of `Person.clone()` method's `inbox` and `outbox` options is
|
|
610
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
611
|
+
`OrderedCollection | null | undefined`).
|
|
612
|
+
- The return type of `Person.getInbox()` and `Person.getOutbox()` methods
|
|
613
|
+
is now `OrderedCollection | OrderedCollectionPage | null` (was
|
|
614
|
+
`OrderedCollection | null`).
|
|
615
|
+
- The type of `Service()` constructor's `inbox` and `outbox` options is
|
|
616
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
617
|
+
`OrderedCollection | null | undefined`).
|
|
618
|
+
- The type of `Service.clone()` method's `inbox` and `outbox` options is
|
|
619
|
+
now `OrderedCollection | OrderedCollectionPage | null | undefined` (was
|
|
620
|
+
`OrderedCollection | null | undefined`).
|
|
621
|
+
- The return type of `Service.getInbox()` and `Service.getOutbox()`
|
|
622
|
+
methods is now `OrderedCollection | OrderedCollectionPage | null` (was
|
|
623
|
+
`OrderedCollection | null`).
|
|
624
|
+
|
|
625
|
+
[#165]: https://github.com/dahlia/fedify/issues/165
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
Version 0.15.7
|
|
629
|
+
--------------
|
|
630
|
+
|
|
631
|
+
Released on November 14, 2024.
|
|
632
|
+
|
|
633
|
+
- Suppressed a `TypeError` with a message <q>unusable</q> due to Node.js's
|
|
634
|
+
mysterious behavior. [[#159]]
|
|
635
|
+
|
|
636
|
+
- The `verifyRequest()` function no longer throws a `TypeError`
|
|
637
|
+
when a given `Request` object's body is already consumed or locked.
|
|
638
|
+
Instead, it logs an error message to the `["fedify", "sig", "http"]`
|
|
639
|
+
logger category and returns `null`.
|
|
640
|
+
- The `Federation.fetch()` method no longer throws a `TypeError`
|
|
641
|
+
when a given `Request` object's body is already consumed or locked.
|
|
642
|
+
Instead, it logs an error message to the `["fedify", "federation",
|
|
643
|
+
"inbox"]` logger category and responds with a `500 Internal Server
|
|
644
|
+
Error`.
|
|
645
|
+
|
|
646
|
+
[#159]: https://github.com/dahlia/fedify/issues/159
|
|
647
|
+
|
|
648
|
+
|
|
417
649
|
Version 0.15.6
|
|
418
650
|
--------------
|
|
419
651
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as dntShim from "../_dnt.shims.js";
|
|
2
2
|
import { getLogger } from "@logtape/logtape";
|
|
3
|
-
import { accepts } from "../deps/jsr.io/@std/http/1.0.
|
|
3
|
+
import { accepts } from "../deps/jsr.io/@std/http/1.0.10/negotiation.js";
|
|
4
4
|
import { verifyRequest } from "../sig/http.js";
|
|
5
5
|
import { detachSignature, verifyJsonLd } from "../sig/ld.js";
|
|
6
6
|
import { doesActorOwnKey } from "../sig/owner.js";
|
|
@@ -188,6 +188,20 @@ export async function handleInbox(request, { identifier, context, inboxContextFa
|
|
|
188
188
|
return await onNotFound(request);
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
|
+
if (request.bodyUsed) {
|
|
192
|
+
logger.error("Request body has already been read.", { identifier });
|
|
193
|
+
return new Response("Internal server error.", {
|
|
194
|
+
status: 500,
|
|
195
|
+
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
else if (request.body?.locked) {
|
|
199
|
+
logger.error("Request body is locked.", { identifier });
|
|
200
|
+
return new Response("Internal server error.", {
|
|
201
|
+
status: 500,
|
|
202
|
+
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
|
203
|
+
});
|
|
204
|
+
}
|
|
191
205
|
let json;
|
|
192
206
|
try {
|
|
193
207
|
json = await request.clone().json();
|
package/esm/runtime/key.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as dntShim from "../_dnt.shims.js";
|
|
2
2
|
import { createPublicKey } from "node:crypto";
|
|
3
|
-
import { concat } from "../deps/jsr.io/@std/bytes/1.0.
|
|
3
|
+
import { concat } from "../deps/jsr.io/@std/bytes/1.0.4/concat.js";
|
|
4
4
|
import { decodeBase64, encodeBase64 } from "../deps/jsr.io/@std/encoding/1.0.5/base64.js";
|
|
5
5
|
import { decodeBase64Url } from "../deps/jsr.io/@std/encoding/1.0.5/base64url.js";
|
|
6
6
|
import { decodeHex } from "../deps/jsr.io/@std/encoding/1.0.5/hex.js";
|
package/esm/sig/http.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as dntShim from "../_dnt.shims.js";
|
|
2
2
|
import { getLogger } from "@logtape/logtape";
|
|
3
|
-
import { equals } from "../deps/jsr.io/@std/bytes/1.0.
|
|
3
|
+
import { equals } from "../deps/jsr.io/@std/bytes/1.0.4/mod.js";
|
|
4
4
|
import { decodeBase64, encodeBase64 } from "../deps/jsr.io/@std/encoding/1.0.5/base64.js";
|
|
5
5
|
import { CryptographicKey } from "../vocab/vocab.js";
|
|
6
6
|
import { fetchKey, validateCryptoKey } from "./key.js";
|
|
@@ -69,6 +69,14 @@ const supportedHashAlgorithms = {
|
|
|
69
69
|
*/
|
|
70
70
|
export async function verifyRequest(request, { documentLoader, contextLoader, timeWindow, currentTime, keyCache } = {}) {
|
|
71
71
|
const logger = getLogger(["fedify", "sig", "http"]);
|
|
72
|
+
if (request.bodyUsed) {
|
|
73
|
+
logger.error("Failed to verify; the request body is already consumed.", { url: request.url });
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
else if (request.body?.locked) {
|
|
77
|
+
logger.error("Failed to verify; the request body is locked.", { url: request.url });
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
72
80
|
const originalRequest = request;
|
|
73
81
|
request = request.clone();
|
|
74
82
|
const dateHeader = request.headers.get("Date");
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": "https://www.w3.org/ns/activitystreams",
|
|
3
|
+
"id": "https://example.com/orderedcollectionpage",
|
|
4
|
+
"type": "OrderedCollectionPage",
|
|
5
|
+
"partOf": "https://example.com/orderedcollectionpage",
|
|
6
|
+
"totalItems": 1,
|
|
7
|
+
"orderedItems": [
|
|
8
|
+
{
|
|
9
|
+
"id": "https://example.com/activities/1",
|
|
10
|
+
"type": "Create",
|
|
11
|
+
"published": "2024-11-19T15:24:56Z",
|
|
12
|
+
"actor": "https://example.com/users/1",
|
|
13
|
+
"to": "https://www.w3.org/ns/activitystreams#Public",
|
|
14
|
+
"object": {
|
|
15
|
+
"id": "https://example.com/notes/1",
|
|
16
|
+
"type": "Note",
|
|
17
|
+
"content": "This is a simple note",
|
|
18
|
+
"attributedTo": "https://example.com/users/1",
|
|
19
|
+
"to": "https://www.w3.org/ns/activitystreams#Public",
|
|
20
|
+
"published": "2024-11-19T15:24:56Z"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -105,6 +105,7 @@ properties:
|
|
|
105
105
|
and dropping any activities already seen.
|
|
106
106
|
range:
|
|
107
107
|
- "https://www.w3.org/ns/activitystreams#OrderedCollection"
|
|
108
|
+
- "https://www.w3.org/ns/activitystreams#OrderedCollectionPage"
|
|
108
109
|
|
|
109
110
|
- singularName: outbox
|
|
110
111
|
functional: true
|
|
@@ -123,6 +124,7 @@ properties:
|
|
|
123
124
|
implementing and deploying the server.
|
|
124
125
|
range:
|
|
125
126
|
- "https://www.w3.org/ns/activitystreams#OrderedCollection"
|
|
127
|
+
- "https://www.w3.org/ns/activitystreams#OrderedCollectionPage"
|
|
126
128
|
|
|
127
129
|
- singularName: following
|
|
128
130
|
functional: true
|
package/esm/vocab/group.yaml
CHANGED
|
@@ -105,6 +105,7 @@ properties:
|
|
|
105
105
|
and dropping any activities already seen.
|
|
106
106
|
range:
|
|
107
107
|
- "https://www.w3.org/ns/activitystreams#OrderedCollection"
|
|
108
|
+
- "https://www.w3.org/ns/activitystreams#OrderedCollectionPage"
|
|
108
109
|
|
|
109
110
|
- singularName: outbox
|
|
110
111
|
functional: true
|
|
@@ -123,6 +124,7 @@ properties:
|
|
|
123
124
|
implementing and deploying the server.
|
|
124
125
|
range:
|
|
125
126
|
- "https://www.w3.org/ns/activitystreams#OrderedCollection"
|
|
127
|
+
- "https://www.w3.org/ns/activitystreams#OrderedCollectionPage"
|
|
126
128
|
|
|
127
129
|
- singularName: following
|
|
128
130
|
functional: true
|
|
@@ -105,6 +105,7 @@ properties:
|
|
|
105
105
|
and dropping any activities already seen.
|
|
106
106
|
range:
|
|
107
107
|
- "https://www.w3.org/ns/activitystreams#OrderedCollection"
|
|
108
|
+
- "https://www.w3.org/ns/activitystreams#OrderedCollectionPage"
|
|
108
109
|
|
|
109
110
|
- singularName: outbox
|
|
110
111
|
functional: true
|
|
@@ -123,6 +124,7 @@ properties:
|
|
|
123
124
|
implementing and deploying the server.
|
|
124
125
|
range:
|
|
125
126
|
- "https://www.w3.org/ns/activitystreams#OrderedCollection"
|
|
127
|
+
- "https://www.w3.org/ns/activitystreams#OrderedCollectionPage"
|
|
126
128
|
|
|
127
129
|
- singularName: following
|
|
128
130
|
functional: true
|
package/esm/vocab/person.yaml
CHANGED
|
@@ -105,6 +105,7 @@ properties:
|
|
|
105
105
|
and dropping any activities already seen.
|
|
106
106
|
range:
|
|
107
107
|
- "https://www.w3.org/ns/activitystreams#OrderedCollection"
|
|
108
|
+
- "https://www.w3.org/ns/activitystreams#OrderedCollectionPage"
|
|
108
109
|
|
|
109
110
|
- singularName: outbox
|
|
110
111
|
functional: true
|
|
@@ -123,6 +124,7 @@ properties:
|
|
|
123
124
|
implementing and deploying the server.
|
|
124
125
|
range:
|
|
125
126
|
- "https://www.w3.org/ns/activitystreams#OrderedCollection"
|
|
127
|
+
- "https://www.w3.org/ns/activitystreams#OrderedCollectionPage"
|
|
126
128
|
|
|
127
129
|
- singularName: following
|
|
128
130
|
functional: true
|
package/esm/vocab/service.yaml
CHANGED
|
@@ -105,6 +105,7 @@ properties:
|
|
|
105
105
|
and dropping any activities already seen.
|
|
106
106
|
range:
|
|
107
107
|
- "https://www.w3.org/ns/activitystreams#OrderedCollection"
|
|
108
|
+
- "https://www.w3.org/ns/activitystreams#OrderedCollectionPage"
|
|
108
109
|
|
|
109
110
|
- singularName: outbox
|
|
110
111
|
functional: true
|
|
@@ -123,6 +124,7 @@ properties:
|
|
|
123
124
|
implementing and deploying the server.
|
|
124
125
|
range:
|
|
125
126
|
- "https://www.w3.org/ns/activitystreams#OrderedCollection"
|
|
127
|
+
- "https://www.w3.org/ns/activitystreams#OrderedCollectionPage"
|
|
126
128
|
|
|
127
129
|
- singularName: following
|
|
128
130
|
functional: true
|