@fedify/fedify 0.11.0-dev.245 → 0.11.0-dev.251

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.
Files changed (65) hide show
  1. package/CHANGES.md +1 -64
  2. package/esm/federation/handler.js +2 -2
  3. package/esm/federation/middleware.js +0 -80
  4. package/esm/sig/proof.js +16 -6
  5. package/esm/vocab/application.yaml +0 -14
  6. package/esm/vocab/collection.yaml +1 -8
  7. package/esm/vocab/collectionpage.yaml +1 -7
  8. package/esm/vocab/group.yaml +0 -14
  9. package/esm/vocab/orderedcollection.yaml +1 -8
  10. package/esm/vocab/orderedcollectionpage.yaml +1 -7
  11. package/esm/vocab/organization.yaml +0 -14
  12. package/esm/vocab/person.yaml +0 -14
  13. package/esm/vocab/service.yaml +0 -14
  14. package/esm/vocab/vocab.js +1822 -1958
  15. package/package.json +1 -1
  16. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_dumper/dumper.d.ts.map +1 -1
  17. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_dumper/dumper_state.d.ts.map +1 -1
  18. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_error.d.ts.map +1 -1
  19. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_loader/loader.d.ts.map +1 -1
  20. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_loader/loader_state.d.ts.map +1 -1
  21. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_mark.d.ts.map +1 -1
  22. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_state.d.ts.map +1 -1
  23. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/binary.d.ts.map +1 -1
  24. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/bool.d.ts.map +1 -1
  25. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/float.d.ts.map +1 -1
  26. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/function.d.ts.map +1 -1
  27. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/int.d.ts.map +1 -1
  28. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/map.d.ts.map +1 -1
  29. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/merge.d.ts.map +1 -1
  30. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/mod.d.ts.map +1 -1
  31. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/nil.d.ts.map +1 -1
  32. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/omap.d.ts.map +1 -1
  33. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/pairs.d.ts.map +1 -1
  34. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/regexp.d.ts.map +1 -1
  35. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/seq.d.ts.map +1 -1
  36. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/set.d.ts.map +1 -1
  37. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/str.d.ts.map +1 -1
  38. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/timestamp.d.ts.map +1 -1
  39. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_type/undefined.d.ts.map +1 -1
  40. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/_utils.d.ts.map +1 -1
  41. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/mod.d.ts.map +1 -1
  42. package/types/deps/jsr.io/@std/yaml/0.224.3/parse.d.ts.map +1 -0
  43. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/schema/core.d.ts.map +1 -1
  44. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/schema/default.d.ts.map +1 -1
  45. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/schema/extended.d.ts.map +1 -1
  46. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/schema/failsafe.d.ts.map +1 -1
  47. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/schema/json.d.ts.map +1 -1
  48. package/types/deps/jsr.io/@std/yaml/0.224.3/schema/mod.d.ts.map +1 -0
  49. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/schema.d.ts.map +1 -1
  50. package/types/deps/jsr.io/@std/yaml/0.224.3/stringify.d.ts.map +1 -0
  51. package/types/deps/jsr.io/@std/yaml/{0.224.2 → 0.224.3}/type.d.ts.map +1 -1
  52. package/types/federation/context.d.ts +0 -17
  53. package/types/federation/context.d.ts.map +1 -1
  54. package/types/federation/handler.d.ts +2 -2
  55. package/types/federation/handler.d.ts.map +1 -1
  56. package/types/federation/middleware.d.ts +1 -14
  57. package/types/federation/middleware.d.ts.map +1 -1
  58. package/types/sig/proof.d.ts +1 -1
  59. package/types/sig/proof.d.ts.map +1 -1
  60. package/types/testing/context.d.ts.map +1 -1
  61. package/types/vocab/vocab.d.ts +10 -100
  62. package/types/vocab/vocab.d.ts.map +1 -1
  63. package/types/deps/jsr.io/@std/yaml/0.224.2/parse.d.ts.map +0 -1
  64. package/types/deps/jsr.io/@std/yaml/0.224.2/schema/mod.d.ts.map +0 -1
  65. package/types/deps/jsr.io/@std/yaml/0.224.2/stringify.d.ts.map +0 -1
package/CHANGES.md CHANGED
@@ -25,10 +25,6 @@ To be released.
25
25
  - Added `Context.getFeaturedUri()` method.
26
26
  - Added `{ type: "featured"; handle: string }` case to `ParseUriResult`
27
27
  type.
28
- - Added `Federation.setFeaturedTagsDispatcher()` method.
29
- - Added `Context.getFeaturedTagsUri()` method.
30
- - Added `{ type: "featuredTags"; handle: string }` case to
31
- `ParseUriResult` type.
32
28
 
33
29
  - Frequently used JSON-LD contexts are now preloaded. [[#74]]
34
30
 
@@ -53,64 +49,15 @@ To be released.
53
49
  - `Collection.current`
54
50
  - `Collection.first`
55
51
  - `Collection.last`
52
+ - `Collection.items`
56
53
  - `CollectionPage.partOf`
57
54
  - `CollectionPage.next`
58
55
  - `CollectionPage.prev`
59
56
 
60
- - Added `featured` property to `Actor` types in Activity Vocabulary API.
61
- [[#78]]
62
-
63
- - Added `Application.getFeatured()` method.
64
- - Added `Application.featuredId` property.
65
- - `new Application()` constructor now accepts `featured` option.
66
- - `Application.clone()` method now accepts `featured` option.
67
- - Added `Group.getFeatured()` method.
68
- - Added `Group.featuredId` property.
69
- - `new Group()` constructor now accepts `featured` option.
70
- - `Group.clone()` method now accepts `featured` option.
71
- - Added `Organization.getFeatured()` method.
72
- - Added `Organization.featuredId` property.
73
- - `new Organization()` constructor now accepts `featured` option.
74
- - `Organization.clone()` method now accepts `featured` option.
75
- - Added `Person.getFeatured()` method.
76
- - Added `Person.featuredId` property.
77
- - `new Person()` constructor now accepts `featured` option.
78
- - `Person.clone()` method now accepts `featured` option.
79
- - Added `Service.getFeatured()` method.
80
- - Added `Service.featuredId` property.
81
- - `new Service()` constructor now accepts `featured` option.
82
- - `Service.clone()` method now accepts `featured` option.
83
-
84
- - Added `featuredTags` property to `Actor` types in Activity Vocabulary API.
85
- [[#78]]
86
-
87
- - Added `Application.getFeaturedTags()` method.
88
- - Added `Application.featuredTagsId` property.
89
- - `new Application()` constructor now accepts `featuredTags` option.
90
- - `Application.clone()` method now accepts `featuredTags` option.
91
- - Added `Group.getFeaturedTags()` method.
92
- - Added `Group.featuredTagsId` property.
93
- - `new Group()` constructor now accepts `featuredTags` option.
94
- - `Group.clone()` method now accepts `featuredTags` option.
95
- - Added `Organization.getFeaturedTags()` method.
96
- - Added `Organization.featuredTagsId` property.
97
- - `new Organization()` constructor now accepts `featuredTags` option.
98
- - `Organization.clone()` method now accepts `featuredTags` option.
99
- - Added `Person.getFeaturedTags()` method.
100
- - Added `Person.featuredTagsId` property.
101
- - `new Person()` constructor now accepts `featuredTags` option.
102
- - `Person.clone()` method now accepts `featuredTags` option.
103
- - Added `Service.getFeaturedTags()` method.
104
- - Added `Service.featuredTagsId` property.
105
- - `new Service()` constructor now accepts `featuredTags` option.
106
- - `Service.clone()` method now accepts `featuredTags` option.
107
-
108
57
  - Added `target` property to `Activity` class in Activity Vocabulary API.
109
58
 
110
59
  - Added `Activity.getTarget()` method.
111
60
  - Added `Activity.getTargets()` method.
112
- - Added `Activity.targetId` property.
113
- - Added `Activity.targetIds` property.
114
61
  - `new Activity()` constructor now accepts `target` option.
115
62
  - `new Activity()` constructor now accepts `targets` option.
116
63
  - `Activity.clone()` method now accepts `target` option.
@@ -120,8 +67,6 @@ To be released.
120
67
 
121
68
  - Added `Activity.getResult()` method.
122
69
  - Added `Activity.getResults()` method.
123
- - Added `Activity.resultId` property.
124
- - Added `Activity.resultIds` property.
125
70
  - `new Activity()` constructor now accepts `result` option.
126
71
  - `new Activity()` constructor now accepts `results` option.
127
72
  - `Activity.clone()` method now accepts `result` option.
@@ -131,8 +76,6 @@ To be released.
131
76
 
132
77
  - Added `Activity.getOrigin()` method.
133
78
  - Added `Activity.getOrigins()` method.
134
- - Added `Activity.originId` property.
135
- - Added `Activity.originIds` property.
136
79
  - `new Activity()` constructor now accepts `origin` option.
137
80
  - `new Activity()` constructor now accepts `origins` option.
138
81
  - `Activity.clone()` method now accepts `origin` option.
@@ -142,8 +85,6 @@ To be released.
142
85
 
143
86
  - Added `Activity.getInstrument()` method.
144
87
  - Added `Activity.getInstruments()` method.
145
- - Added `Activity.instrumentId` property.
146
- - Added `Activity.instrumentIds` property.
147
88
  - `new Activity()` constructor now accepts `instrument` option.
148
89
  - `new Activity()` constructor now accepts `instruments` option.
149
90
  - `Activity.clone()` method now accepts `instrument` option.
@@ -162,10 +103,6 @@ To be released.
162
103
  - Renamed `InboxListenerSetter` interface to `InboxListenerSetters`.
163
104
  - Added `InboxListenerSetters.setSharedKeyDispatcher()` method.
164
105
 
165
- - Followed up the [change in `eddsa-jcs-2022` specification][eddsa-jcs-2022]
166
- for Object Integrity Proofs. [[FEP-8b32], [#54]]
167
-
168
- [eddsa-jcs-2022]: https://codeberg.org/fediverse/fep/pulls/338
169
106
  [#71]: https://github.com/dahlia/fedify/issues/71
170
107
  [#74]: https://github.com/dahlia/fedify/issues/74
171
108
  [#76]: https://github.com/dahlia/fedify/pull/76
@@ -4,7 +4,7 @@ import { accepts } from "../deps/jsr.io/@std/http/0.224.5/negotiation.js";
4
4
  import { verifyRequest } from "../sig/http.js";
5
5
  import { doesActorOwnKey } from "../sig/owner.js";
6
6
  import { verifyObject } from "../sig/proof.js";
7
- import { Activity, Link, Object, OrderedCollection, OrderedCollectionPage, } from "../vocab/vocab.js";
7
+ import { Activity, Object, OrderedCollection, OrderedCollectionPage, } from "../vocab/vocab.js";
8
8
  export function acceptsJsonLd(request) {
9
9
  const types = accepts(request);
10
10
  if (types == null)
@@ -146,7 +146,7 @@ function filterCollectionItems(items, collectionName, filterPredicate) {
146
146
  let logged = false;
147
147
  for (const item of items) {
148
148
  let mappedItem;
149
- if (item instanceof Object || item instanceof Link || item instanceof URL) {
149
+ if (item instanceof Object || item instanceof URL) {
150
150
  mappedItem = item;
151
151
  }
152
152
  else if (item.id == null)
@@ -49,7 +49,6 @@ export class Federation {
49
49
  #followersCallbacks;
50
50
  #likedCallbacks;
51
51
  #featuredCallbacks;
52
- #featuredTagsCallbacks;
53
52
  #inboxListeners;
54
53
  #inboxErrorHandler;
55
54
  #sharedInboxKeyDispatcher;
@@ -349,20 +348,6 @@ export class Federation {
349
348
  "URI. Set the property with Context.getFeaturedUri(handle).");
350
349
  }
351
350
  }
352
- if (this.#featuredTagsCallbacks != null &&
353
- this.#featuredTagsCallbacks.dispatcher != null) {
354
- if (actor?.featuredTagsId == null) {
355
- logger.warn("You configured a featured tags collection dispatcher, but the " +
356
- "actor does not have a featuredTags property. Set the property " +
357
- "with Context.getFeaturedTagsUri(handle).");
358
- }
359
- else if (actor.featuredTagsId.href != context.getFeaturedTagsUri(handle).href) {
360
- logger.warn("You configured a featured tags collection dispatcher, but the " +
361
- "actor's featuredTags property does not match the featured tags " +
362
- "collection URI. Set the property with " +
363
- "Context.getFeaturedTagsUri(handle).");
364
- }
365
- }
366
351
  if (this.#router.has("inbox")) {
367
352
  if (actor.inboxId == null) {
368
353
  logger.warn("You configured inbox listeners, but the actor does not " +
@@ -731,51 +716,6 @@ export class Federation {
731
716
  };
732
717
  return setters;
733
718
  }
734
- /**
735
- * Registers a featured tags collection dispatcher.
736
- * @param path The URI path pattern for the featured tags collection.
737
- * The syntax is based on URI Template
738
- * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
739
- * must have one variable: `{handle}`.
740
- * @param dispatcher A featured tags collection callback to register.
741
- * @returns An object with methods to set other featured tags collection
742
- * callbacks.
743
- * @throws {@link RouterError} Thrown if the path pattern is invalid.
744
- * @since 0.11.0
745
- */
746
- setFeaturedTagsDispatcher(path, dispatcher) {
747
- if (this.#router.has("featuredTags")) {
748
- throw new RouterError("Featured tags collection dispatcher already set.");
749
- }
750
- const variables = this.#router.add(path, "featuredTags");
751
- if (variables.size !== 1 || !variables.has("handle")) {
752
- throw new RouterError("Path for featured tags collection dispatcher must have one " +
753
- "variable: {handle}");
754
- }
755
- const callbacks = {
756
- dispatcher,
757
- };
758
- this.#featuredTagsCallbacks = callbacks;
759
- const setters = {
760
- setCounter(counter) {
761
- callbacks.counter = counter;
762
- return setters;
763
- },
764
- setFirstCursor(cursor) {
765
- callbacks.firstCursor = cursor;
766
- return setters;
767
- },
768
- setLastCursor(cursor) {
769
- callbacks.lastCursor = cursor;
770
- return setters;
771
- },
772
- authorize(predicate) {
773
- callbacks.authorizePredicate = predicate;
774
- return setters;
775
- },
776
- };
777
- return setters;
778
- }
779
719
  /**
780
720
  * Assigns the URL path for the inbox and starts setting inbox listeners.
781
721
  *
@@ -1122,16 +1062,6 @@ export class Federation {
1122
1062
  onNotFound,
1123
1063
  onNotAcceptable,
1124
1064
  });
1125
- case "featuredTags":
1126
- return await handleCollection(request, {
1127
- name: "featured tags",
1128
- handle: route.values.handle,
1129
- context,
1130
- collectionCallbacks: this.#featuredTagsCallbacks,
1131
- onUnauthorized,
1132
- onNotFound,
1133
- onNotAcceptable,
1134
- });
1135
1065
  default: {
1136
1066
  const response = onNotFound(request);
1137
1067
  return response instanceof Promise ? await response : response;
@@ -1244,13 +1174,6 @@ class ContextImpl {
1244
1174
  }
1245
1175
  return new URL(path, this.#url);
1246
1176
  }
1247
- getFeaturedTagsUri(handle) {
1248
- const path = this.#router.build("featuredTags", { handle });
1249
- if (path == null) {
1250
- throw new RouterError("No featured tags collection path registered.");
1251
- }
1252
- return new URL(path, this.#url);
1253
- }
1254
1177
  parseUri(uri) {
1255
1178
  if (uri.origin !== this.#url.origin)
1256
1179
  return null;
@@ -1290,9 +1213,6 @@ class ContextImpl {
1290
1213
  else if (route.name === "featured") {
1291
1214
  return { type: "featured", handle: route.values.handle };
1292
1215
  }
1293
- else if (route.name === "featuredTags") {
1294
- return { type: "featuredTags", handle: route.values.handle };
1295
- }
1296
1216
  return null;
1297
1217
  }
1298
1218
  getHandleFromActorUri(actorUri) {
package/esm/sig/proof.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import * as dntShim from "../_dnt.shims.js";
2
- import { Activity, Multikey } from "../vocab/mod.js";
3
- import { getLogger } from "@logtape/logtape";
4
2
  // @ts-ignore: json-canon is not typed
5
3
  import serialize from "json-canon";
6
4
  import { DataIntegrityProof } from "../vocab/vocab.js";
7
5
  import { fetchKey, validateCryptoKey } from "./key.js";
6
+ import { Activity, Multikey } from "../vocab/mod.js";
7
+ import { getLogger } from "@logtape/logtape";
8
8
  const logger = getLogger(["fedify", "sig", "proof"]);
9
9
  /**
10
10
  * Creates a proof for the given object.
@@ -32,8 +32,13 @@ export async function createProof(object, privateKey, keyId, { contextLoader, co
32
32
  const msgDigest = await dntShim.crypto.subtle.digest("SHA-256", msgBytes);
33
33
  created ??= dntShim.Temporal.Now.instant();
34
34
  const proofConfig = {
35
- // deno-lint-ignore no-explicit-any
36
- "@context": compactMsg["@context"],
35
+ // The below commented out line is needed according to section 3.3.1 of
36
+ // the Data Integrity EdDSA Cryptosuites v1.0 spec, the FEP-8b32 spec does
37
+ // not reflect this step; however, the FEP-8b32 spec will be updated to
38
+ // be consistent with the Data Integrity EdDSA Cryptosuites v1.0 spec
39
+ // some time soon. Before that happens, the below line is commented out.
40
+ // See also: https://socialhub.activitypub.rocks/t/fep-8b32-object-integrity-proofs/2725/91?u=hongminhee
41
+ // "@context": (compactMsg as any)["@context"],
37
42
  type: "DataIntegrityProof",
38
43
  cryptosuite: "eddsa-jcs-2022",
39
44
  verificationMethod: keyId.href,
@@ -93,8 +98,13 @@ export async function verifyProof(jsonLd, proof, options = {}) {
93
98
  return null;
94
99
  const publicKeyPromise = fetchKey(proof.verificationMethodId, Multikey, options);
95
100
  const proofConfig = {
96
- // deno-lint-ignore no-explicit-any
97
- "@context": jsonLd["@context"],
101
+ // The below commented out line is needed according to section 3.3.1 of
102
+ // the Data Integrity EdDSA Cryptosuites v1.0 spec, the FEP-8b32 spec does
103
+ // not reflect this step; however, the FEP-8b32 spec will be updated to
104
+ // be consistent with the Data Integrity EdDSA Cryptosuites v1.0 spec
105
+ // some time soon. Before that happens, the below line is commented out.
106
+ // See also: https://socialhub.activitypub.rocks/t/fep-8b32-object-integrity-proofs/2725/91?u=hongminhee
107
+ // "@context": (jsonLd as any)["@context"],
98
108
  type: "DataIntegrityProof",
99
109
  cryptosuite: proof.cryptosuite,
100
110
  verificationMethod: proof.verificationMethodId.href,
@@ -15,9 +15,6 @@ defaultContext:
15
15
  featured:
16
16
  "@id": "toot:featured"
17
17
  "@type": "@id"
18
- featuredTags:
19
- "@id": "toot:featuredTags"
20
- "@type": "@id"
21
18
  discoverable: "toot:discoverable"
22
19
  suspended: "toot:suspended"
23
20
  memorial: "toot:memorial"
@@ -160,17 +157,6 @@ properties:
160
157
  range:
161
158
  - "https://www.w3.org/ns/activitystreams#Collection"
162
159
 
163
- - singularName: featuredTags
164
- functional: true
165
- uri: "http://joinmastodon.org/ns#featuredTags"
166
- description: |
167
- What is known in Mastodon as "featured hashtags", hashtags that are featured
168
- at people's profiles, is implemented using an extra property `featuredTags`
169
- on the actor object that points to a {@link Collection} of {@link Hashtag}
170
- objects specifically.
171
- range:
172
- - "https://www.w3.org/ns/activitystreams#Collection"
173
-
174
160
  - pluralName: streams
175
161
  singularName: stream
176
162
  singularAccessor: false
@@ -9,13 +9,7 @@ description: |
9
9
 
10
10
  Refer to the Activity Streams 2.0 Core specification for a complete
11
11
  description of the Collection type.
12
- defaultContext:
13
- - "https://www.w3.org/ns/activitystreams"
14
- - "https://w3id.org/security/data-integrity/v1"
15
- - toot: "http://joinmastodon.org/ns#"
16
- sensitive: "as:sensitive"
17
- Emoji: "toot:Emoji"
18
- Hashtag: "as:Hashtag"
12
+ defaultContext: "https://www.w3.org/ns/activitystreams"
19
13
 
20
14
  properties:
21
15
  - singularName: totalItems
@@ -63,4 +57,3 @@ properties:
63
57
  or unordered.
64
58
  range:
65
59
  - "https://www.w3.org/ns/activitystreams#Object"
66
- - "https://www.w3.org/ns/activitystreams#Link"
@@ -7,13 +7,7 @@ description: |
7
7
  Used to represent distinct subsets of items from a `Collection`.
8
8
  Refer to the Activity Streams 2.0 Core for a complete description of
9
9
  the `CollectionPage` object.
10
- defaultContext:
11
- - "https://www.w3.org/ns/activitystreams"
12
- - "https://w3id.org/security/data-integrity/v1"
13
- - toot: "http://joinmastodon.org/ns#"
14
- sensitive: "as:sensitive"
15
- Emoji: "toot:Emoji"
16
- Hashtag: "as:Hashtag"
10
+ defaultContext: "https://www.w3.org/ns/activitystreams"
17
11
 
18
12
  properties:
19
13
  - singularName: partOf
@@ -15,9 +15,6 @@ defaultContext:
15
15
  featured:
16
16
  "@id": "toot:featured"
17
17
  "@type": "@id"
18
- featuredTags:
19
- "@id": "toot:featuredTags"
20
- "@type": "@id"
21
18
  discoverable: "toot:discoverable"
22
19
  suspended: "toot:suspended"
23
20
  memorial: "toot:memorial"
@@ -160,17 +157,6 @@ properties:
160
157
  range:
161
158
  - "https://www.w3.org/ns/activitystreams#Collection"
162
159
 
163
- - singularName: featuredTags
164
- functional: true
165
- uri: "http://joinmastodon.org/ns#featuredTags"
166
- description: |
167
- What is known in Mastodon as "featured hashtags", hashtags that are featured
168
- at people's profiles, is implemented using an extra property `featuredTags`
169
- on the actor object that points to a {@link Collection} of {@link Hashtag}
170
- objects specifically.
171
- range:
172
- - "https://www.w3.org/ns/activitystreams#Collection"
173
-
174
160
  - pluralName: streams
175
161
  singularName: stream
176
162
  singularAccessor: false
@@ -6,13 +6,7 @@ entity: true
6
6
  description: |
7
7
  A subtype of {@link Collection} in which members of the logical collection
8
8
  are assumed to always be strictly ordered.
9
- defaultContext:
10
- - "https://www.w3.org/ns/activitystreams"
11
- - "https://w3id.org/security/data-integrity/v1"
12
- - toot: "http://joinmastodon.org/ns#"
13
- sensitive: "as:sensitive"
14
- Emoji: "toot:Emoji"
15
- Hashtag: "as:Hashtag"
9
+ defaultContext: "https://www.w3.org/ns/activitystreams"
16
10
 
17
11
  properties:
18
12
  - pluralName: items
@@ -24,4 +18,3 @@ properties:
24
18
  or unordered.
25
19
  range:
26
20
  - "https://www.w3.org/ns/activitystreams#Object"
27
- - "https://www.w3.org/ns/activitystreams#Link"
@@ -7,13 +7,7 @@ description: |
7
7
  Used to represent ordered subsets of items from an `OrderedCollection`.
8
8
  Refer to the Activity Streams 2.0 Core for a complete description of
9
9
  the `OrderedCollectionPage` object.
10
- defaultContext:
11
- - "https://www.w3.org/ns/activitystreams"
12
- - "https://w3id.org/security/data-integrity/v1"
13
- - toot: "http://joinmastodon.org/ns#"
14
- sensitive: "as:sensitive"
15
- Emoji: "toot:Emoji"
16
- Hashtag: "as:Hashtag"
10
+ defaultContext: "https://www.w3.org/ns/activitystreams"
17
11
 
18
12
  properties:
19
13
  - singularName: startIndex
@@ -15,9 +15,6 @@ defaultContext:
15
15
  featured:
16
16
  "@id": "toot:featured"
17
17
  "@type": "@id"
18
- featuredTags:
19
- "@id": "toot:featuredTags"
20
- "@type": "@id"
21
18
  discoverable: "toot:discoverable"
22
19
  suspended: "toot:suspended"
23
20
  memorial: "toot:memorial"
@@ -160,17 +157,6 @@ properties:
160
157
  range:
161
158
  - "https://www.w3.org/ns/activitystreams#Collection"
162
159
 
163
- - singularName: featuredTags
164
- functional: true
165
- uri: "http://joinmastodon.org/ns#featuredTags"
166
- description: |
167
- What is known in Mastodon as "featured hashtags", hashtags that are featured
168
- at people's profiles, is implemented using an extra property `featuredTags`
169
- on the actor object that points to a {@link Collection} of {@link Hashtag}
170
- objects specifically.
171
- range:
172
- - "https://www.w3.org/ns/activitystreams#Collection"
173
-
174
160
  - pluralName: streams
175
161
  singularName: stream
176
162
  singularAccessor: false
@@ -15,9 +15,6 @@ defaultContext:
15
15
  featured:
16
16
  "@id": "toot:featured"
17
17
  "@type": "@id"
18
- featuredTags:
19
- "@id": "toot:featuredTags"
20
- "@type": "@id"
21
18
  discoverable: "toot:discoverable"
22
19
  suspended: "toot:suspended"
23
20
  memorial: "toot:memorial"
@@ -160,17 +157,6 @@ properties:
160
157
  range:
161
158
  - "https://www.w3.org/ns/activitystreams#Collection"
162
159
 
163
- - singularName: featuredTags
164
- functional: true
165
- uri: "http://joinmastodon.org/ns#featuredTags"
166
- description: |
167
- What is known in Mastodon as "featured hashtags", hashtags that are featured
168
- at people's profiles, is implemented using an extra property `featuredTags`
169
- on the actor object that points to a {@link Collection} of {@link Hashtag}
170
- objects specifically.
171
- range:
172
- - "https://www.w3.org/ns/activitystreams#Collection"
173
-
174
160
  - pluralName: streams
175
161
  singularName: stream
176
162
  singularAccessor: false
@@ -15,9 +15,6 @@ defaultContext:
15
15
  featured:
16
16
  "@id": "toot:featured"
17
17
  "@type": "@id"
18
- featuredTags:
19
- "@id": "toot:featuredTags"
20
- "@type": "@id"
21
18
  discoverable: "toot:discoverable"
22
19
  suspended: "toot:suspended"
23
20
  memorial: "toot:memorial"
@@ -160,17 +157,6 @@ properties:
160
157
  range:
161
158
  - "https://www.w3.org/ns/activitystreams#Collection"
162
159
 
163
- - singularName: featuredTags
164
- functional: true
165
- uri: "http://joinmastodon.org/ns#featuredTags"
166
- description: |
167
- What is known in Mastodon as "featured hashtags", hashtags that are featured
168
- at people's profiles, is implemented using an extra property `featuredTags`
169
- on the actor object that points to a {@link Collection} of {@link Hashtag}
170
- objects specifically.
171
- range:
172
- - "https://www.w3.org/ns/activitystreams#Collection"
173
-
174
160
  - pluralName: streams
175
161
  singularName: stream
176
162
  singularAccessor: false