@fedify/fedify 0.14.0-dev.338 → 0.14.0-dev.344
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 +55 -2
- package/esm/federation/middleware.js +2 -2
- package/esm/sig/key.js +1 -1
- package/esm/vocab/actor.js +3 -0
- package/esm/vocab/application.yaml +17 -0
- package/esm/vocab/group.yaml +17 -0
- package/esm/vocab/organization.yaml +17 -0
- package/esm/vocab/person.yaml +17 -0
- package/esm/vocab/service.yaml +17 -0
- package/esm/vocab/vocab.js +1528 -23
- package/package.json +1 -1
- package/types/federation/collection.d.ts +1 -0
- package/types/federation/collection.d.ts.map +1 -1
- package/types/federation/context.d.ts +2 -0
- package/types/federation/context.d.ts.map +1 -1
- package/types/federation/handler.d.ts +2 -0
- package/types/federation/handler.d.ts.map +1 -1
- package/types/federation/middleware.d.ts +2 -0
- package/types/federation/middleware.d.ts.map +1 -1
- package/types/federation/send.d.ts +2 -0
- package/types/federation/send.d.ts.map +1 -1
- package/types/nodeinfo/handler.d.ts +1 -0
- package/types/nodeinfo/handler.d.ts.map +1 -1
- package/types/nodeinfo/types.d.ts +1 -0
- package/types/nodeinfo/types.d.ts.map +1 -1
- package/types/runtime/docloader.d.ts +1 -0
- package/types/runtime/docloader.d.ts.map +1 -1
- package/types/sig/http.d.ts +2 -0
- package/types/sig/http.d.ts.map +1 -1
- package/types/sig/key.d.ts +2 -1
- package/types/sig/key.d.ts.map +1 -1
- package/types/sig/owner.d.ts +1 -0
- package/types/sig/owner.d.ts.map +1 -1
- package/types/sig/proof.d.ts +1 -0
- package/types/sig/proof.d.ts.map +1 -1
- package/types/vocab/actor.d.ts +1 -0
- package/types/vocab/actor.d.ts.map +1 -1
- package/types/vocab/constants.d.ts +1 -0
- package/types/vocab/constants.d.ts.map +1 -1
- package/types/vocab/lookup.d.ts +1 -0
- package/types/vocab/lookup.d.ts.map +1 -1
- package/types/vocab/vocab.d.ts +181 -0
- package/types/vocab/vocab.d.ts.map +1 -1
- package/types/webfinger/handler.d.ts +1 -0
- package/types/webfinger/handler.d.ts.map +1 -1
- package/types/webfinger/lookup.d.ts +1 -0
- package/types/webfinger/lookup.d.ts.map +1 -1
- package/types/x/hono.d.ts +1 -0
- package/types/x/hono.d.ts.map +1 -1
package/CHANGES.md
CHANGED
@@ -34,6 +34,39 @@ To be released.
|
|
34
34
|
|
35
35
|
- Added `Source` class to Activity Vocabulary API. [[#114]]
|
36
36
|
|
37
|
+
- Added `aliases` property to `Actor` type in Activity Vocabulary API.
|
38
|
+
|
39
|
+
- Added `Application.getAliases()` method.
|
40
|
+
- Added `Application.getAlias()` method.
|
41
|
+
- `new Application()` constructor now accepts `alias` option.
|
42
|
+
- `new Application()` constructor now accepts `aliases` option.
|
43
|
+
- `Application.clone()` method now accepts `alias` option.
|
44
|
+
- `Application.clone()` method now accepts `aliases` option.
|
45
|
+
- Added `Group.getAliases()` method.
|
46
|
+
- Added `Group.getAlias()` method.
|
47
|
+
- `new Group()` constructor now accepts `alias` option.
|
48
|
+
- `new Group()` constructor now accepts `aliases` option.
|
49
|
+
- `Group.clone()` method now accepts `alias` option.
|
50
|
+
- `Group.clone()` method now accepts `aliases` option.
|
51
|
+
- Added `Organization.getAliases()` method.
|
52
|
+
- Added `Organization.getAlias()` method.
|
53
|
+
- `new Organization()` constructor now accepts `alias` option.
|
54
|
+
- `new Organization()` constructor now accepts `aliases` option.
|
55
|
+
- `Organization.clone()` method now accepts `alias` option.
|
56
|
+
- `Organization.clone()` method now accepts `aliases` option.
|
57
|
+
- Added `Person.getAliases()` method.
|
58
|
+
- Added `Person.getAlias()` method.
|
59
|
+
- `new Person()` constructor now accepts `alias` option.
|
60
|
+
- `new Person()` constructor now accepts `aliases` option.
|
61
|
+
- `Person.clone()` method now accepts `alias` option.
|
62
|
+
- `Person.clone()` method now accepts `aliases` option.
|
63
|
+
- Added `Service.getAliases()` method.
|
64
|
+
- Added `Service.getAlias()` method.
|
65
|
+
- `new Service()` constructor now accepts `alias` option.
|
66
|
+
- `new Service()` constructor now accepts `aliases` option.
|
67
|
+
- `Service.clone()` method now accepts `alias` option.
|
68
|
+
- `Service.clone()` method now accepts `aliases` option.
|
69
|
+
|
37
70
|
- Improved the performance of `Object.toJsonLd()` method.
|
38
71
|
|
39
72
|
- `Object.toJsonLd()` method no longer guarantees that the returned
|
@@ -54,6 +87,16 @@ To be released.
|
|
54
87
|
[#115]: https://github.com/dahlia/fedify/issues/115
|
55
88
|
|
56
89
|
|
90
|
+
Version 0.13.1
|
91
|
+
--------------
|
92
|
+
|
93
|
+
Released on August 18, 2024.
|
94
|
+
|
95
|
+
- Fixed a vulnerability where the `getActorHandle()` function had trusted
|
96
|
+
the hostname of WebFinger aliases that had not matched the hostname of the
|
97
|
+
actor ID (URI).
|
98
|
+
|
99
|
+
|
57
100
|
Version 0.13.0
|
58
101
|
--------------
|
59
102
|
|
@@ -71,7 +114,7 @@ Released on August 7, 2024.
|
|
71
114
|
- `new Question()` constructor now accepts `voters` option.
|
72
115
|
- `Question.clone()` method now accepts `voters` option.
|
73
116
|
|
74
|
-
- HTTP Signatures
|
117
|
+
- HTTP Signatures verification now can be optionally skipped for the sake of
|
75
118
|
testing. [[#110]]
|
76
119
|
|
77
120
|
- The type of `CreateFederationOptions.signatureTimeWindow` property
|
@@ -128,6 +171,16 @@ Released on August 7, 2024.
|
|
128
171
|
[Nitro]: https://nitro.unjs.io/
|
129
172
|
|
130
173
|
|
174
|
+
Version 0.12.3
|
175
|
+
--------------
|
176
|
+
|
177
|
+
Released on August 18, 2024.
|
178
|
+
|
179
|
+
- Fixed a vulnerability where the `getActorHandle()` function had trusted
|
180
|
+
the hostname of WebFinger aliases that had not matched the hostname of the
|
181
|
+
actor ID (URI).
|
182
|
+
|
183
|
+
|
131
184
|
Version 0.12.2
|
132
185
|
--------------
|
133
186
|
|
@@ -1313,4 +1366,4 @@ Version 0.1.0
|
|
1313
1366
|
|
1314
1367
|
Initial release. Released on March 8, 2024.
|
1315
1368
|
|
1316
|
-
<!-- cSpell: ignore Dogeon Wressell -->
|
1369
|
+
<!-- cSpell: ignore Dogeon Fabien Wressell -->
|
@@ -56,11 +56,11 @@ class FederationImpl {
|
|
56
56
|
constructor(options) {
|
57
57
|
this.kv = options.kv;
|
58
58
|
this.kvPrefixes = {
|
59
|
-
...{
|
59
|
+
...({
|
60
60
|
activityIdempotence: ["_fedify", "activityIdempotence"],
|
61
61
|
remoteDocument: ["_fedify", "remoteDocument"],
|
62
62
|
publicKey: ["_fedify", "publicKey"],
|
63
|
-
},
|
63
|
+
}),
|
64
64
|
...(options.kvPrefixes ?? {}),
|
65
65
|
};
|
66
66
|
this.queue = options.queue;
|
package/esm/sig/key.js
CHANGED
@@ -73,7 +73,7 @@ export async function exportJwk(key) {
|
|
73
73
|
/**
|
74
74
|
* Imports a key from JWK format.
|
75
75
|
* @param jwk The key in JWK format.
|
76
|
-
* @param type Which type of key to import, either `"public"`
|
76
|
+
* @param type Which type of key to import, either `"public"` or `"private"`.
|
77
77
|
* @returns The imported key.
|
78
78
|
* @throws {TypeError} If the key is invalid or unsupported.
|
79
79
|
*/
|
package/esm/vocab/actor.js
CHANGED
@@ -86,6 +86,9 @@ export async function getActorHandle(actor, options = {}) {
|
|
86
86
|
for (const alias of aliases) {
|
87
87
|
const match = alias.match(/^acct:([^@]+)@([^@]+)$/);
|
88
88
|
if (match != null) {
|
89
|
+
const hostname = new URL(`https://${match[2]}/`).hostname;
|
90
|
+
if (hostname !== actorId.hostname)
|
91
|
+
continue;
|
89
92
|
return normalizeActorHandle(`@${match[1]}@${match[2]}`, options);
|
90
93
|
}
|
91
94
|
}
|
@@ -242,3 +242,20 @@ properties:
|
|
242
242
|
description: Whether the actor allows to be indexed.
|
243
243
|
range:
|
244
244
|
- "http://www.w3.org/2001/XMLSchema#boolean"
|
245
|
+
|
246
|
+
- pluralName: aliases
|
247
|
+
singularName: alias
|
248
|
+
singularAccessor: true
|
249
|
+
compactName: alsoKnownAs
|
250
|
+
uri: "https://www.w3.org/ns/activitystreams#alsoKnownAs"
|
251
|
+
description: |
|
252
|
+
The `aliases` (`alsoKnownAs`) property is used to specify alternative names
|
253
|
+
or aliases for an entity. It can be used to provide additional identifiers
|
254
|
+
or labels for an entity, which can be useful in scenarios where an entity
|
255
|
+
may have multiple names or aliases.
|
256
|
+
range:
|
257
|
+
- "https://www.w3.org/ns/activitystreams#Application"
|
258
|
+
- "https://www.w3.org/ns/activitystreams#Group"
|
259
|
+
- "https://www.w3.org/ns/activitystreams#Organization"
|
260
|
+
- "https://www.w3.org/ns/activitystreams#Person"
|
261
|
+
- "https://www.w3.org/ns/activitystreams#Service"
|
package/esm/vocab/group.yaml
CHANGED
@@ -242,3 +242,20 @@ properties:
|
|
242
242
|
description: Whether the actor allows to be indexed.
|
243
243
|
range:
|
244
244
|
- "http://www.w3.org/2001/XMLSchema#boolean"
|
245
|
+
|
246
|
+
- pluralName: aliases
|
247
|
+
singularName: alias
|
248
|
+
singularAccessor: true
|
249
|
+
compactName: alsoKnownAs
|
250
|
+
uri: "https://www.w3.org/ns/activitystreams#alsoKnownAs"
|
251
|
+
description: |
|
252
|
+
The `aliases` (`alsoKnownAs`) property is used to specify alternative names
|
253
|
+
or aliases for an entity. It can be used to provide additional identifiers
|
254
|
+
or labels for an entity, which can be useful in scenarios where an entity
|
255
|
+
may have multiple names or aliases.
|
256
|
+
range:
|
257
|
+
- "https://www.w3.org/ns/activitystreams#Application"
|
258
|
+
- "https://www.w3.org/ns/activitystreams#Group"
|
259
|
+
- "https://www.w3.org/ns/activitystreams#Organization"
|
260
|
+
- "https://www.w3.org/ns/activitystreams#Person"
|
261
|
+
- "https://www.w3.org/ns/activitystreams#Service"
|
@@ -242,3 +242,20 @@ properties:
|
|
242
242
|
description: Whether the actor allows to be indexed.
|
243
243
|
range:
|
244
244
|
- "http://www.w3.org/2001/XMLSchema#boolean"
|
245
|
+
|
246
|
+
- pluralName: aliases
|
247
|
+
singularName: alias
|
248
|
+
singularAccessor: true
|
249
|
+
compactName: alsoKnownAs
|
250
|
+
uri: "https://www.w3.org/ns/activitystreams#alsoKnownAs"
|
251
|
+
description: |
|
252
|
+
The `aliases` (`alsoKnownAs`) property is used to specify alternative names
|
253
|
+
or aliases for an entity. It can be used to provide additional identifiers
|
254
|
+
or labels for an entity, which can be useful in scenarios where an entity
|
255
|
+
may have multiple names or aliases.
|
256
|
+
range:
|
257
|
+
- "https://www.w3.org/ns/activitystreams#Application"
|
258
|
+
- "https://www.w3.org/ns/activitystreams#Group"
|
259
|
+
- "https://www.w3.org/ns/activitystreams#Organization"
|
260
|
+
- "https://www.w3.org/ns/activitystreams#Person"
|
261
|
+
- "https://www.w3.org/ns/activitystreams#Service"
|
package/esm/vocab/person.yaml
CHANGED
@@ -242,3 +242,20 @@ properties:
|
|
242
242
|
description: Whether the actor allows to be indexed.
|
243
243
|
range:
|
244
244
|
- "http://www.w3.org/2001/XMLSchema#boolean"
|
245
|
+
|
246
|
+
- pluralName: aliases
|
247
|
+
singularName: alias
|
248
|
+
singularAccessor: true
|
249
|
+
compactName: alsoKnownAs
|
250
|
+
uri: "https://www.w3.org/ns/activitystreams#alsoKnownAs"
|
251
|
+
description: |
|
252
|
+
The `aliases` (`alsoKnownAs`) property is used to specify alternative names
|
253
|
+
or aliases for an entity. It can be used to provide additional identifiers
|
254
|
+
or labels for an entity, which can be useful in scenarios where an entity
|
255
|
+
may have multiple names or aliases.
|
256
|
+
range:
|
257
|
+
- "https://www.w3.org/ns/activitystreams#Application"
|
258
|
+
- "https://www.w3.org/ns/activitystreams#Group"
|
259
|
+
- "https://www.w3.org/ns/activitystreams#Organization"
|
260
|
+
- "https://www.w3.org/ns/activitystreams#Person"
|
261
|
+
- "https://www.w3.org/ns/activitystreams#Service"
|
package/esm/vocab/service.yaml
CHANGED
@@ -242,3 +242,20 @@ properties:
|
|
242
242
|
description: Whether the actor allows to be indexed.
|
243
243
|
range:
|
244
244
|
- "http://www.w3.org/2001/XMLSchema#boolean"
|
245
|
+
|
246
|
+
- pluralName: aliases
|
247
|
+
singularName: alias
|
248
|
+
singularAccessor: true
|
249
|
+
compactName: alsoKnownAs
|
250
|
+
uri: "https://www.w3.org/ns/activitystreams#alsoKnownAs"
|
251
|
+
description: |
|
252
|
+
The `aliases` (`alsoKnownAs`) property is used to specify alternative names
|
253
|
+
or aliases for an entity. It can be used to provide additional identifiers
|
254
|
+
or labels for an entity, which can be useful in scenarios where an entity
|
255
|
+
may have multiple names or aliases.
|
256
|
+
range:
|
257
|
+
- "https://www.w3.org/ns/activitystreams#Application"
|
258
|
+
- "https://www.w3.org/ns/activitystreams#Group"
|
259
|
+
- "https://www.w3.org/ns/activitystreams#Organization"
|
260
|
+
- "https://www.w3.org/ns/activitystreams#Person"
|
261
|
+
- "https://www.w3.org/ns/activitystreams#Service"
|