@geekity/cms 0.22.0 → 0.24.0

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 (227) hide show
  1. package/README.md +19 -4
  2. package/admin/pages/documents/editor.njk +18 -0
  3. package/admin/static/editor.js +1 -1
  4. package/dist/admin/comments.js +2 -2
  5. package/dist/admin/comments.js.map +1 -1
  6. package/dist/admin/documents.d.ts +36 -7
  7. package/dist/admin/documents.d.ts.map +1 -1
  8. package/dist/admin/documents.js +140 -29
  9. package/dist/admin/documents.js.map +1 -1
  10. package/dist/admin/editor-layout.d.ts +1 -1
  11. package/dist/admin/editor-layout.d.ts.map +1 -1
  12. package/dist/admin/editor-layout.js +6 -1
  13. package/dist/admin/editor-layout.js.map +1 -1
  14. package/dist/admin/event-field.d.ts +26 -0
  15. package/dist/admin/event-field.d.ts.map +1 -0
  16. package/dist/admin/event-field.js +74 -0
  17. package/dist/admin/event-field.js.map +1 -0
  18. package/dist/admin/federation.js +3 -3
  19. package/dist/admin/federation.js.map +1 -1
  20. package/dist/admin/media.js +2 -2
  21. package/dist/admin/media.js.map +1 -1
  22. package/dist/admin/preview.d.ts.map +1 -1
  23. package/dist/admin/preview.js +16 -1
  24. package/dist/admin/preview.js.map +1 -1
  25. package/dist/admin/store.d.ts +9 -0
  26. package/dist/admin/store.d.ts.map +1 -1
  27. package/dist/admin/store.js +16 -5
  28. package/dist/admin/store.js.map +1 -1
  29. package/dist/avatars/avatars.js +1 -1
  30. package/dist/avatars/avatars.js.map +1 -1
  31. package/dist/comments/policy.d.ts +10 -0
  32. package/dist/comments/policy.d.ts.map +1 -1
  33. package/dist/comments/policy.js +12 -0
  34. package/dist/comments/policy.js.map +1 -1
  35. package/dist/comments/records.d.ts +5 -1
  36. package/dist/comments/records.d.ts.map +1 -1
  37. package/dist/comments/records.js +16 -2
  38. package/dist/comments/records.js.map +1 -1
  39. package/dist/content/event.d.ts +40 -0
  40. package/dist/content/event.d.ts.map +1 -0
  41. package/dist/content/event.js +51 -0
  42. package/dist/content/event.js.map +1 -0
  43. package/dist/content/handles.d.ts +22 -0
  44. package/dist/content/handles.d.ts.map +1 -0
  45. package/dist/content/handles.js +68 -0
  46. package/dist/content/handles.js.map +1 -0
  47. package/dist/content/markdown.d.ts +8 -2
  48. package/dist/content/markdown.d.ts.map +1 -1
  49. package/dist/content/markdown.js +55 -5
  50. package/dist/content/markdown.js.map +1 -1
  51. package/dist/content/parser.d.ts +3 -0
  52. package/dist/content/parser.d.ts.map +1 -1
  53. package/dist/content/parser.js +1 -1
  54. package/dist/content/parser.js.map +1 -1
  55. package/dist/content/post-type.d.ts +12 -8
  56. package/dist/content/post-type.d.ts.map +1 -1
  57. package/dist/content/post-type.js +12 -2
  58. package/dist/content/post-type.js.map +1 -1
  59. package/dist/content/rsvp.d.ts +29 -0
  60. package/dist/content/rsvp.d.ts.map +1 -0
  61. package/dist/content/rsvp.js +49 -0
  62. package/dist/content/rsvp.js.map +1 -0
  63. package/dist/content/save.d.ts +2 -1
  64. package/dist/content/save.d.ts.map +1 -1
  65. package/dist/content/save.js +10 -3
  66. package/dist/content/save.js.map +1 -1
  67. package/dist/content/store.d.ts +11 -4
  68. package/dist/content/store.d.ts.map +1 -1
  69. package/dist/content/store.js +15 -4
  70. package/dist/content/store.js.map +1 -1
  71. package/dist/content/sync.d.ts.map +1 -1
  72. package/dist/content/sync.js +7 -6
  73. package/dist/content/sync.js.map +1 -1
  74. package/dist/env.d.ts +3 -0
  75. package/dist/env.d.ts.map +1 -1
  76. package/dist/federation/article.d.ts +9 -3
  77. package/dist/federation/article.d.ts.map +1 -1
  78. package/dist/federation/article.js +90 -34
  79. package/dist/federation/article.js.map +1 -1
  80. package/dist/federation/cited-post.d.ts +13 -0
  81. package/dist/federation/cited-post.d.ts.map +1 -0
  82. package/dist/federation/cited-post.js +75 -0
  83. package/dist/federation/cited-post.js.map +1 -0
  84. package/dist/federation/delivery.d.ts.map +1 -1
  85. package/dist/federation/delivery.js +31 -2
  86. package/dist/federation/delivery.js.map +1 -1
  87. package/dist/federation/handles.d.ts +28 -0
  88. package/dist/federation/handles.d.ts.map +1 -0
  89. package/dist/federation/handles.js +65 -0
  90. package/dist/federation/handles.js.map +1 -0
  91. package/dist/federation/inbox.d.ts +2 -1
  92. package/dist/federation/inbox.d.ts.map +1 -1
  93. package/dist/federation/inbox.js +11 -3
  94. package/dist/federation/inbox.js.map +1 -1
  95. package/dist/federation/mount.d.ts.map +1 -1
  96. package/dist/federation/mount.js +18 -2
  97. package/dist/federation/mount.js.map +1 -1
  98. package/dist/federation/profiles.d.ts.map +1 -1
  99. package/dist/federation/profiles.js +2 -8
  100. package/dist/federation/profiles.js.map +1 -1
  101. package/dist/federation/site-loaders.d.ts +15 -0
  102. package/dist/federation/site-loaders.d.ts.map +1 -0
  103. package/dist/federation/site-loaders.js +19 -0
  104. package/dist/federation/site-loaders.js.map +1 -0
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +23 -1
  107. package/dist/index.js.map +1 -1
  108. package/dist/indieauth/client.js +2 -2
  109. package/dist/indieauth/client.js.map +1 -1
  110. package/dist/micropub/create.d.ts +2 -1
  111. package/dist/micropub/create.d.ts.map +1 -1
  112. package/dist/micropub/create.js +57 -8
  113. package/dist/micropub/create.js.map +1 -1
  114. package/dist/micropub/endpoint.d.ts.map +1 -1
  115. package/dist/micropub/endpoint.js +12 -4
  116. package/dist/micropub/endpoint.js.map +1 -1
  117. package/dist/micropub/update.d.ts +3 -0
  118. package/dist/micropub/update.d.ts.map +1 -1
  119. package/dist/micropub/update.js +29 -4
  120. package/dist/micropub/update.js.map +1 -1
  121. package/dist/web/context.d.ts +32 -4
  122. package/dist/web/context.d.ts.map +1 -1
  123. package/dist/web/context.js +28 -1
  124. package/dist/web/context.js.map +1 -1
  125. package/dist/web/conversation.d.ts +26 -1
  126. package/dist/web/conversation.d.ts.map +1 -1
  127. package/dist/web/conversation.js +67 -10
  128. package/dist/web/conversation.js.map +1 -1
  129. package/dist/web/documents.d.ts +12 -0
  130. package/dist/web/documents.d.ts.map +1 -1
  131. package/dist/web/documents.js +20 -0
  132. package/dist/web/documents.js.map +1 -1
  133. package/dist/web/errors.d.ts.map +1 -1
  134. package/dist/web/errors.js +5 -3
  135. package/dist/web/errors.js.map +1 -1
  136. package/dist/web/feed-item.d.ts.map +1 -1
  137. package/dist/web/feed-item.js +8 -3
  138. package/dist/web/feed-item.js.map +1 -1
  139. package/dist/web/llms.d.ts +8 -0
  140. package/dist/web/llms.d.ts.map +1 -1
  141. package/dist/web/llms.js +25 -7
  142. package/dist/web/llms.js.map +1 -1
  143. package/dist/web/maintenance.d.ts.map +1 -1
  144. package/dist/web/maintenance.js +5 -2
  145. package/dist/web/maintenance.js.map +1 -1
  146. package/dist/web/negotiate.d.ts +4 -2
  147. package/dist/web/negotiate.d.ts.map +1 -1
  148. package/dist/web/negotiate.js +17 -7
  149. package/dist/web/negotiate.js.map +1 -1
  150. package/dist/web/render.d.ts +3 -0
  151. package/dist/web/render.d.ts.map +1 -1
  152. package/dist/web/render.js +39 -6
  153. package/dist/web/render.js.map +1 -1
  154. package/dist/web/routes.d.ts.map +1 -1
  155. package/dist/web/routes.js +67 -25
  156. package/dist/web/routes.js.map +1 -1
  157. package/dist/web/templates.d.ts +4 -1
  158. package/dist/web/templates.d.ts.map +1 -1
  159. package/dist/web/templates.js +11 -0
  160. package/dist/web/templates.js.map +1 -1
  161. package/dist/webmention/cited-picture.d.ts +11 -4
  162. package/dist/webmention/cited-picture.d.ts.map +1 -1
  163. package/dist/webmention/cited-picture.js +22 -13
  164. package/dist/webmention/cited-picture.js.map +1 -1
  165. package/dist/webmention/cited-start.d.ts +10 -0
  166. package/dist/webmention/cited-start.d.ts.map +1 -0
  167. package/dist/webmention/cited-start.js +21 -0
  168. package/dist/webmention/cited-start.js.map +1 -0
  169. package/dist/webmention/fetch-public.d.ts +2 -2
  170. package/dist/webmention/fetch-public.d.ts.map +1 -1
  171. package/dist/webmention/fetch-public.js +1 -1
  172. package/dist/webmention/fetch-public.js.map +1 -1
  173. package/dist/webmention/html.d.ts +2 -0
  174. package/dist/webmention/html.d.ts.map +1 -1
  175. package/dist/webmention/html.js +6 -0
  176. package/dist/webmention/html.js.map +1 -1
  177. package/dist/webmention/index.d.ts +2 -1
  178. package/dist/webmention/index.d.ts.map +1 -1
  179. package/dist/webmention/index.js +1 -0
  180. package/dist/webmention/index.js.map +1 -1
  181. package/dist/webmention/microformats.d.ts +25 -2
  182. package/dist/webmention/microformats.d.ts.map +1 -1
  183. package/dist/webmention/microformats.js +38 -4
  184. package/dist/webmention/microformats.js.map +1 -1
  185. package/dist/webmention/pingback.d.ts +42 -0
  186. package/dist/webmention/pingback.d.ts.map +1 -0
  187. package/dist/webmention/pingback.js +229 -0
  188. package/dist/webmention/pingback.js.map +1 -0
  189. package/dist/webmention/receive.d.ts +20 -2
  190. package/dist/webmention/receive.d.ts.map +1 -1
  191. package/dist/webmention/receive.js +25 -16
  192. package/dist/webmention/receive.js.map +1 -1
  193. package/dist/webmention/reply-context.d.ts +65 -18
  194. package/dist/webmention/reply-context.d.ts.map +1 -1
  195. package/dist/webmention/reply-context.js +403 -99
  196. package/dist/webmention/reply-context.js.map +1 -1
  197. package/dist/webmention/reply-contexts.d.ts +3 -1
  198. package/dist/webmention/reply-contexts.d.ts.map +1 -1
  199. package/dist/webmention/reply-contexts.js +53 -17
  200. package/dist/webmention/reply-contexts.js.map +1 -1
  201. package/dist/webmention/routes.d.ts.map +1 -1
  202. package/dist/webmention/routes.js +2 -0
  203. package/dist/webmention/routes.js.map +1 -1
  204. package/dist/webmention/service.d.ts +11 -0
  205. package/dist/webmention/service.d.ts.map +1 -1
  206. package/dist/webmention/service.js +27 -6
  207. package/dist/webmention/service.js.map +1 -1
  208. package/dist/webmention/syndication.d.ts +6 -0
  209. package/dist/webmention/syndication.d.ts.map +1 -1
  210. package/dist/webmention/syndication.js +12 -0
  211. package/dist/webmention/syndication.js.map +1 -1
  212. package/package.json +7 -7
  213. package/themes/default/README.md +127 -37
  214. package/themes/default/layouts/410.njk +10 -0
  215. package/themes/default/layouts/base.njk +3 -0
  216. package/themes/default/layouts/page.njk +7 -0
  217. package/themes/default/layouts/post.njk +7 -4
  218. package/themes/default/layouts/search.njk +1 -1
  219. package/themes/default/partials/cited-page.njk +7 -0
  220. package/themes/default/partials/conversation.njk +25 -5
  221. package/themes/default/partials/event.njk +27 -0
  222. package/themes/default/partials/jsonld.njk +28 -0
  223. package/themes/default/partials/post-list.njk +5 -2
  224. package/themes/default/partials/reply-context.njk +24 -4
  225. package/themes/default/partials/rsvp.njk +7 -0
  226. package/themes/default/src/style.css +20 -0
  227. package/themes/default/static/style.css +35 -0
@@ -1,10 +1,12 @@
1
- import { Add, Article, Audio, Create, Delete, Hashtag, Image, InteractionPolicy, InteractionRule, LanguageString, Mention, Note, Place, PUBLIC_COLLECTION, Remove, Source, Tombstone, Update, Video, } from '@fedify/vocab';
1
+ import { Add, Article, Audio, Create, Delete, Event, Hashtag, Image, InteractionPolicy, InteractionRule, LanguageString, Mention, Note, Place, PUBLIC_COLLECTION, Remove, Source, Tombstone, Update, Video, } from '@fedify/vocab';
2
2
  import { Temporal as TemporalPolyfill } from '@js-temporal/polyfill';
3
3
  import path from 'node:path';
4
4
  import { listUsers, primaryUser } from '../admin/accounts.js';
5
5
  import { readSiteSettings, taxonomyBasesFromSettings } from '../admin/settings.js';
6
6
  import { CITATION_VERBS, citationsOf, citedPageName } from '../content/citation.js';
7
7
  import { readLine, readOf } from '../content/read.js';
8
+ import { RSVP_PHRASES, rsvpOf } from '../content/rsvp.js';
9
+ import { eventOf } from '../content/event.js';
8
10
  import { enclosureOf, isUploadUrl, playsAsVideo } from '../content/enclosure.js';
9
11
  import { photoAlt, photosOf } from '../content/photo.js';
10
12
  import { placeWordList, shareLocation } from '../content/location.js';
@@ -22,6 +24,7 @@ import { canonicalLocale, DEFAULT_LOCALE, documentLanguage } from '../web/locale
22
24
  import { absoluteUrl } from '../web/negotiate.js';
23
25
  import { categoryHref, tagHref } from '../web/taxonomy.js';
24
26
  import { actorId } from './actor.js';
27
+ import { mentionedAccounts } from './handles.js';
25
28
  import { createActivityId, deleteActivityId, pinActivityId, updateActivityId } from './paths.js';
26
29
  /**
27
30
  * The user a post is announced by: the one its `author` names, and the site's
@@ -64,28 +67,41 @@ function attribution(context, document) {
64
67
  * two, which is how Mastodon marks a post anybody may fetch but that stays off
65
68
  * public timelines (TASK-227).
66
69
  */
67
- function addressing(document, followers, replyTo) {
68
- const mentioned = replyTo?.author?.id;
69
- const also = mentioned == null ? [] : [mentioned];
70
+ function addressing(document, followers, replyTo, mentioned) {
71
+ const ids = new Set();
72
+ const author = replyTo?.author?.id;
73
+ if (author != null)
74
+ ids.add(author.href);
75
+ for (const { account } of mentioned)
76
+ ids.add(account.actor);
77
+ const also = [...ids].map((id) => new URL(id));
70
78
  return visibilityOf(document) === 'unlisted'
71
79
  ? { tos: [followers], ccs: [PUBLIC_COLLECTION, ...also] }
72
80
  : { tos: [PUBLIC_COLLECTION], ccs: [followers, ...also] };
73
81
  }
74
82
  /**
75
- * The `Mention` of the author a reply answers, which is what makes Mastodon
76
- * notify them, or nothing for a reply to no fediverse status.
83
+ * A `Mention` of the author a reply answers and of each account the post names
84
+ * by handle (TASK-194), which is what makes Mastodon notify them.
77
85
  */
78
- function replyMention(replyTo) {
86
+ function mentions(replyTo, mentioned) {
87
+ const found = [];
88
+ const named = new Set();
79
89
  const author = replyTo?.author;
80
- if (author?.id == null)
81
- return [];
82
- const username = author.preferredUsername?.toString();
83
- return [
84
- new Mention({
90
+ if (author?.id != null) {
91
+ const username = author.preferredUsername?.toString();
92
+ named.add(author.id.href);
93
+ found.push(new Mention({
85
94
  href: author.id,
86
95
  name: username === undefined ? null : `@${username}@${author.id.host}`,
87
- }),
88
- ];
96
+ }));
97
+ }
98
+ for (const { handle, account } of mentioned) {
99
+ if (named.has(account.actor))
100
+ continue;
101
+ named.add(account.actor);
102
+ found.push(new Mention({ href: new URL(account.actor), name: `@${handle}` }));
103
+ }
104
+ return found;
89
105
  }
90
106
  /** The media type an `Article`'s `source` is labelled with. */
91
107
  export const SOURCE_MEDIA_TYPE = 'text/markdown';
@@ -117,7 +133,7 @@ export function postByObjectId(store, objectId, baseUrl) {
117
133
  return document;
118
134
  }
119
135
  /** The ActivityStreams object types a post can federate as, by name. */
120
- const OBJECT_TYPES = { Note, Article };
136
+ const OBJECT_TYPES = { Note, Article, Event };
121
137
  /**
122
138
  * The object type each discovered post type federates as: the rows of Post
123
139
  * Type Discovery's own AS2 mapping (section 6) that this site has post types
@@ -125,8 +141,10 @@ const OBJECT_TYPES = { Note, Article };
125
141
  * is a photo post, whose photos are its attachments (TASK-166).
126
142
  */
127
143
  const OBJECT_TYPE_OF = {
144
+ event: 'Event',
128
145
  // A like or a repost of a fediverse object goes as a `Like` or an
129
146
  // `Announce` instead (decision-28); this is the object its permalink serves.
147
+ rsvp: 'Note',
130
148
  repost: 'Note',
131
149
  like: 'Note',
132
150
  bookmark: 'Note',
@@ -157,7 +175,7 @@ function postObjectType(document) {
157
175
  return derived;
158
176
  }
159
177
  /**
160
- * One post as the `Note` or `Article` doc-4 describes, whichever
178
+ * One post as the `Note`, `Article` or `Event` doc-4 describes, whichever
161
179
  * {@link postObjectType} says it is.
162
180
  *
163
181
  * Its `id` and its `url` are the same URL — the permalink — because
@@ -192,6 +210,7 @@ export function postObject(context, document, replyTo) {
192
210
  // the site's (TASK-154).
193
211
  const language = documentLanguage(document) ?? canonicalLocale(settings.language) ?? DEFAULT_LOCALE;
194
212
  const inReplyTo = replyTarget(document);
213
+ const mentioned = mentionedAccounts(document.body, context.data.config.contentDir);
195
214
  const common = {
196
215
  id: articleObjectId(context, document),
197
216
  // On either type, so an activitypub.type override never breaks a thread.
@@ -201,7 +220,7 @@ export function postObject(context, document, replyTo) {
201
220
  published: toInstant(document.date) ?? null,
202
221
  updated: toInstant(document.updated) ?? null,
203
222
  attribution: actor,
204
- ...addressing(document, followers, replyTo),
223
+ ...addressing(document, followers, replyTo, mentioned),
205
224
  // FEP-044f: a post with no policy is one Mastodon lets nobody quote. Every
206
225
  // post that federates names Public, so anybody may quote it, and
207
226
  // the inbox approves each QuoteRequest on the same rule (TASK-125).
@@ -216,7 +235,7 @@ export function postObject(context, document, replyTo) {
216
235
  // hashtag has no reason to care which of the two a term came from, and
217
236
  // each one points at the archive the site serves for it.
218
237
  tags: [
219
- ...replyMention(replyTo),
238
+ ...mentions(replyTo, mentioned),
220
239
  ...document.tags.map((tag) => hashtag(tag, tagHref(tag, 0, bases), baseUrl)),
221
240
  ...document.categories.map((category) => hashtag(category, categoryHref(category, 0, bases), baseUrl)),
222
241
  ],
@@ -230,6 +249,18 @@ export function postObject(context, document, replyTo) {
230
249
  });
231
250
  }
232
251
  const summary = feedExcerpt(document);
252
+ const event = eventOf(document.extra);
253
+ if (postObjectType(document) === 'Event' && event !== undefined) {
254
+ return new Event({
255
+ ...common,
256
+ name: document.title === '' ? null : document.title,
257
+ summaries: summary === '' ? [] : inLanguage(escapeHtml(summary), language),
258
+ contents: inLanguage(document.html, language),
259
+ startTime: toInstant(event.start) ?? null,
260
+ endTime: toInstant(event.end) ?? null,
261
+ location: eventPlace(event) ?? common.location,
262
+ });
263
+ }
233
264
  return new Article({
234
265
  ...common,
235
266
  name: document.title === '' ? null : document.title,
@@ -245,6 +276,14 @@ export function postObject(context, document, replyTo) {
245
276
  function inLanguage(text, language) {
246
277
  return [text, new LanguageString(text, language)];
247
278
  }
279
+ function eventPlace(event) {
280
+ const where = event.location;
281
+ if (where === undefined)
282
+ return undefined;
283
+ if (where.kind === 'place')
284
+ return new Place({ name: where.name });
285
+ return new Place({ name: where.url, url: new URL(where.url) });
286
+ }
248
287
  function place(shared) {
249
288
  if (shared === undefined)
250
289
  return null;
@@ -342,17 +381,27 @@ const QUOTABLE_BY_ANYONE = new InteractionPolicy({
342
381
  canQuote: new InteractionRule({ automaticApproval: PUBLIC_COLLECTION }),
343
382
  });
344
383
  /**
345
- * What a like, a repost or a bookmark cites, as a line linking each page
346
- * (decision-28): the words a peer shows, since a `Note` has no field for it.
347
- * The anchor stays plain: Mastodon builds no link card from one with a
348
- * `u-url` or `h-card` class or a `rel=tag`.
384
+ * What an RSVP answers and what a like, a repost or a bookmark cites, as a
385
+ * line linking each page (decision-28, decision-31): the words a peer shows,
386
+ * since a `Note` has no field for it. The anchor stays plain: Mastodon
387
+ * builds no link card from one with a `u-url` or `h-card` class or a
388
+ * `rel=tag`.
349
389
  */
350
390
  function citing(document, cited) {
351
- return citationsOf(document.extra)
352
- .map(({ property, url }) => {
391
+ const rsvp = rsvpOf(document.extra);
392
+ const event = replyTarget(document);
393
+ const lines = citationsOf(document.extra).map(({ property, url }) => ({
394
+ verb: CITATION_VERBS[property],
395
+ url,
396
+ }));
397
+ if (rsvp !== undefined && event !== undefined) {
398
+ lines.unshift({ verb: RSVP_PHRASES[rsvp], url: event });
399
+ }
400
+ return lines
401
+ .map(({ verb, url }) => {
353
402
  const href = escapeHtml(url).replaceAll('"', '"');
354
403
  const name = escapeHtml(citedPageName(url, cited(url)));
355
- return `<p>${CITATION_VERBS[property]} <a href="${href}">${name}</a></p>\n`;
404
+ return `<p>${verb} <a href="${href}">${name}</a></p>\n`;
356
405
  })
357
406
  .join('');
358
407
  }
@@ -391,7 +440,7 @@ export function postCreateActivity(context, document, replyTo) {
391
440
  actor,
392
441
  object,
393
442
  published: toInstant(document.date) ?? null,
394
- ...addressing(document, followers, replyTo),
443
+ ...addressing(document, followers, replyTo, mentionedAccounts(document.body, context.data.config.contentDir)),
395
444
  });
396
445
  }
397
446
  /**
@@ -416,7 +465,7 @@ export function postUpdateActivity(context, document, revision = revisionOf(docu
416
465
  actor,
417
466
  object,
418
467
  published: toInstant(document.updated ?? document.date) ?? null,
419
- ...addressing(document, followers, replyTo),
468
+ ...addressing(document, followers, replyTo, mentionedAccounts(document.body, context.data.config.contentDir)),
420
469
  });
421
470
  }
422
471
  /**
@@ -432,20 +481,27 @@ export function postUpdateActivity(context, document, revision = revisionOf(docu
432
481
  * there is no other.
433
482
  */
434
483
  export function postDeleteActivity(context, document, deleted) {
435
- const objectId = articleObjectId(context, document);
436
484
  const { actor, followers } = attribution(context, document);
437
485
  return new Delete({
438
- id: deleteActivityId(objectId, deleted),
486
+ id: deleteActivityId(articleObjectId(context, document), deleted),
439
487
  actor,
440
- object: new Tombstone({
441
- id: objectId,
442
- formerType: OBJECT_TYPES[postObjectType(document)],
443
- deleted: toInstant(deleted) ?? null,
444
- }),
488
+ object: postTombstone(context, document, deleted),
445
489
  to: PUBLIC_COLLECTION,
446
490
  cc: followers,
447
491
  });
448
492
  }
493
+ /**
494
+ * The `Tombstone` where a post's object was: what a `Delete` carries, and what
495
+ * a peer that fetches a deleted post's id is answered with (TASK-195). Nothing
496
+ * records when a post was trashed, so a fetched one carries no `deleted`.
497
+ */
498
+ export function postTombstone(context, document, deleted) {
499
+ return new Tombstone({
500
+ id: articleObjectId(context, document),
501
+ formerType: OBJECT_TYPES[postObjectType(document)],
502
+ deleted: toInstant(deleted) ?? null,
503
+ });
504
+ }
449
505
  /**
450
506
  * The `Add` that pins a post, or the `Remove` that unpins it: the post's id
451
507
  * moved in or out of its author's featured collection (TASK-207).
@@ -1 +1 @@
1
- {"version":3,"file":"article.js","sourceRoot":"","sources":["../../src/federation/article.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"article.js","sourceRoot":"","sources":["../../src/federation/article.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { Context } from '@fedify/fedify';
2
+ import type { FediverseLookup } from '../webmention/reply-context.ts';
3
+ import type { FederationContextData } from './federation.ts';
4
+ /**
5
+ * The site's {@link FediverseLookup} (TASK-199): the fediverse post a cited
6
+ * page links as its ActivityPub alternate, read as the site with
7
+ * {@link siteLoaders}, with the author it is attributed to.
8
+ *
9
+ * A post behind a content warning shows the warning, not its words or its
10
+ * picture, as a fediverse client would before the reader opens it.
11
+ */
12
+ export declare function citedPostReader(contextOf: () => Context<FederationContextData>): FediverseLookup;
13
+ //# sourceMappingURL=cited-post.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cited-post.d.ts","sourceRoot":"","sources":["../../src/federation/cited-post.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAI9C,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,gCAAgC,CAAC;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAI7D;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,eAAe,CA6ChG"}
@@ -0,0 +1,75 @@
1
+ import { Article, Document, Image, isActor, Note, Page, Question } from '@fedify/vocab';
2
+ import { profileFrom } from './profiles.js';
3
+ import { siteLoaders } from './site-loaders.js';
4
+ /**
5
+ * The site's {@link FediverseLookup} (TASK-199): the fediverse post a cited
6
+ * page links as its ActivityPub alternate, read as the site with
7
+ * {@link siteLoaders}, with the author it is attributed to.
8
+ *
9
+ * A post behind a content warning shows the warning, not its words or its
10
+ * picture, as a fediverse client would before the reader opens it.
11
+ */
12
+ export function citedPostReader(contextOf) {
13
+ return async (url, signal) => {
14
+ const context = contextOf();
15
+ const loaders = await siteLoaders(context, signal);
16
+ const object = await context.lookupObject(url, { ...loaders, signal });
17
+ if (!(object instanceof Note) &&
18
+ !(object instanceof Article) &&
19
+ !(object instanceof Page) &&
20
+ !(object instanceof Question)) {
21
+ return undefined;
22
+ }
23
+ const attributed = await object.getAttribution({ ...loaders, suppressError: true });
24
+ const profile = isActor(attributed) ? await profileFrom(attributed, loaders) : undefined;
25
+ const handle = profile?.handle?.replace(/^@/, '');
26
+ const authorName = profile?.name ?? handle;
27
+ const warning = object.summary?.toString() ?? '';
28
+ const hidden = warning !== '' || object.sensitive === true;
29
+ const image = hidden ? undefined : await firstImage(object, loaders);
30
+ const shownAt = hrefOf(object.url);
31
+ return {
32
+ ...(object.name === null ? {} : { name: object.name.toString() }),
33
+ ...(warning !== ''
34
+ ? { html: `<p>${escapeHtml(warning)}</p>` }
35
+ : object.content === null
36
+ ? {}
37
+ : { html: object.content.toString() }),
38
+ ...(profile === undefined || authorName === undefined
39
+ ? {}
40
+ : {
41
+ author: {
42
+ name: authorName,
43
+ ...(profile.url === null ? {} : { url: profile.url }),
44
+ ...(handle === undefined ? {} : { handle }),
45
+ ...(profile.iconUrl === null ? {} : { photo: profile.iconUrl }),
46
+ },
47
+ }),
48
+ ...(object.published === null ? {} : { published: object.published.toString() }),
49
+ ...(image === undefined ? {} : { image }),
50
+ ...(shownAt === undefined ? {} : { url: shownAt }),
51
+ };
52
+ };
53
+ }
54
+ async function firstImage(object, loaders) {
55
+ for await (const attachment of object.getAttachments({ ...loaders, suppressError: true })) {
56
+ if (!(attachment instanceof Document))
57
+ continue;
58
+ if (!(attachment instanceof Image) && !(attachment.mediaType ?? '').startsWith('image/')) {
59
+ continue;
60
+ }
61
+ const href = hrefOf(attachment.url);
62
+ if (href !== undefined)
63
+ return href;
64
+ }
65
+ return undefined;
66
+ }
67
+ function hrefOf(value) {
68
+ if (value === null)
69
+ return undefined;
70
+ return value instanceof URL ? value.href : value.href?.href;
71
+ }
72
+ function escapeHtml(text) {
73
+ return text.replaceAll('&', '&amp;').replaceAll('<', '&lt;').replaceAll('>', '&gt;');
74
+ }
75
+ //# sourceMappingURL=cited-post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cited-post.js","sourceRoot":"","sources":["../../src/federation/cited-post.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/federation/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/federation/delivery.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { ActorUpdate, actorId, senderKeyPairs, userActor } from './actor.js';
13
13
  import { articleObjectId, documentAuthor, isFederatedDocument, postCreateActivity, postDeleteActivity, postObject, postPinActivity, postUpdateActivity, } from './article.js';
14
14
  import { citingActivity, repliedTo, undoActivity } from './citations.js';
15
15
  import { followerRecipient } from './followers.js';
16
+ import { mentionedAccounts } from './handles.js';
16
17
  import { updateActivityId } from './paths.js';
17
18
  import { acceptedRelays, relayRecipient } from './relays.js';
18
19
  /**
@@ -146,7 +147,7 @@ export function createDeliveryService(options) {
146
147
  async function withdraw(context, document, shape) {
147
148
  const deleted = new Date().toISOString();
148
149
  if (shape.kind === 'object') {
149
- return await send(context, postDeleteActivity(context, document, deleted), document, citedAuthor(shape.replyTo?.author));
150
+ return await send(context, postDeleteActivity(context, document, deleted), document, objectTargets(document, shape.replyTo, config.contentDir));
150
151
  }
151
152
  return await send(context, undoActivity(shape.citing.activity, deleted), document, citedAuthor(shape.citing.author));
152
153
  }
@@ -157,7 +158,7 @@ export function createDeliveryService(options) {
157
158
  return hash.slice(0, 16);
158
159
  }
159
160
  async function sendAndRecordObject(context, activity, document, shape) {
160
- const report = await send(context, activity, document, citedAuthor(shape.replyTo?.author));
161
+ const report = await send(context, activity, document, objectTargets(document, shape.replyTo, config.contentDir));
161
162
  const object = await activity.getObject();
162
163
  if (object !== null)
163
164
  sentThisProcess.set(shape.id, await fingerprint(object));
@@ -402,6 +403,34 @@ function citedAuthor(author) {
402
403
  },
403
404
  ];
404
405
  }
406
+ function objectTargets(document, replyTo, contentDir) {
407
+ const byInbox = new Map();
408
+ const mentioned = mentionedAccounts(document.body, contentDir).map(({ account }) => ({
409
+ inboxId: account.sharedInbox ?? account.inbox,
410
+ recipients: [
411
+ {
412
+ id: new URL(account.actor),
413
+ inboxId: new URL(account.inbox),
414
+ endpoints: account.sharedInbox === undefined ? null : { sharedInbox: new URL(account.sharedInbox) },
415
+ },
416
+ ],
417
+ actorIds: [account.actor],
418
+ }));
419
+ for (const target of [...citedAuthor(replyTo?.author), ...mentioned]) {
420
+ const held = byInbox.get(target.inboxId);
421
+ if (held === undefined) {
422
+ byInbox.set(target.inboxId, target);
423
+ }
424
+ else if (!held.actorIds.some((id) => target.actorIds.includes(id))) {
425
+ byInbox.set(target.inboxId, {
426
+ inboxId: target.inboxId,
427
+ recipients: [...held.recipients, ...target.recipients],
428
+ actorIds: [...held.actorIds, ...target.actorIds],
429
+ });
430
+ }
431
+ }
432
+ return [...byInbox.values()];
433
+ }
405
434
  async function fingerprint(object) {
406
435
  const json = JSON.stringify(await object.toJsonLd());
407
436
  return createHash('sha256').update(json).digest('hex');
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/federation/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../../src/federation/delivery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { Context } from '@fedify/fedify';
2
+ import type { ResolvedHandle } from '../content/handles.ts';
3
+ import type { FederationContextData } from './federation.ts';
4
+ /** How long one save waits for the handles it names to resolve. */
5
+ export declare const HANDLE_TIMEOUT_MS = 5000;
6
+ /** Resolve and store the handles a body names that the directory does not know yet. */
7
+ export type HandleLearner = (body: string) => Promise<void>;
8
+ /**
9
+ * The site's {@link HandleLearner} (TASK-194): WebFinger for each new
10
+ * `@user@host`, then the actor it points at, fetched signed as the site's first
11
+ * account for a server in authorized fetch mode.
12
+ *
13
+ * It runs before the file is written, so the first parse of the post already
14
+ * links the handle and its first `Create` already mentions the account. A
15
+ * handle that does not resolve in time is left out and asked about again at
16
+ * the next save; the save itself never fails over one.
17
+ */
18
+ export declare function handleLearner(contextOf: () => Context<FederationContextData>, logger?: {
19
+ warn(message: string): void;
20
+ }): HandleLearner;
21
+ /** One account a post mentions: the handle as `user@host` and what it resolved to. */
22
+ export interface MentionedAccount {
23
+ readonly handle: string;
24
+ readonly account: ResolvedHandle;
25
+ }
26
+ /** The resolved accounts a post's body mentions, in the order it names them. */
27
+ export declare function mentionedAccounts(body: string, contentDir: string): MentionedAccount[];
28
+ //# sourceMappingURL=handles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handles.d.ts","sourceRoot":"","sources":["../../src/federation/handles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAK9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAG7D,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AAEvC,uFAAuF;AACvF,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5D;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,EAC/C,MAAM,GAAE;IAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAY,GAChD,aAAa,CAuCf;AAED,sFAAsF;AACtF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAMtF"}