@pedit/serve 0.8.1 → 0.8.2

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/README.md CHANGED
@@ -83,13 +83,13 @@ const extensions = [yCollab(conn.text, conn.awareness)] // plus basicSetup, Edit
83
83
  | Export | |
84
84
  | --- | --- |
85
85
  | `ServedFiles` | The layer below the routes: `acquire(path)` starts or reuses a child, `close()` ends all. |
86
- | `ServedFile.share(opts)`, `unshare()`, `close()`, `status()`, `keep(keep)` | Open a room for the file (needs pedit with `serve` 2; the child is not idle-stopped while shared). `share` resolves `{ type: 'shared', room, links, keptUntil, resumed }`, or `{ type: 'choice', room, choices }` when the file has a kept room of another history (share again with `choice`). A link is `<room>.<fragment>`: put your page URL and `#` before it. `onEvent` also gets `peers`, `room_ended` and `shared`. `status()` and `keep(keep)` are described under Sharing. |
86
+ | `ServedFile.share(opts)`, `unshare()`, `close()`, `status()`, `keep(keep)`, `comment(range)`, `reply(thread, body)`, `resolve(thread, resolved)` | Open a room for the file (needs pedit with `serve` 2; the child is not idle-stopped while shared). `share` resolves `{ type: 'shared', room, links, keptUntil, resumed }`, or `{ type: 'choice', room, choices }` when the file has a kept room of another history (share again with `choice`). A link is `<room>.<fragment>`: put your page URL and `#` before it. `onEvent` also gets `peers`, `room_ended` and `shared`. `status()` and `keep(keep)` are described under Sharing; the comment methods under Comments. |
87
87
  | `resolvePedit({ bin, install })`, `MIN_PEDIT_VERSION` | Finds pedit, checks the binary and its version. With `install: true`, downloads it when none is usable (see above) and returns `installed`. |
88
88
  | `HeldError`, `LimitError`, `NoPeditError` | Another process serves the file; 32 files or 8 clients; pedit missing or too old. |
89
89
 
90
90
  ## Sharing
91
91
 
92
- `peditRoutes(...)` also returns `share(path, opts)`, `unshare(path)`, `close(path)`, `status(path)` and `keep(path, keep)`. `path` is an absolute path to a file under `root`, checked as the routes check it (a path outside `root`, a link out of it or a missing file rejects with `file not found`, and starts no child). Sharing needs pedit with `serve` 2; the child is not stopped for idleness while the file is shared.
92
+ `peditRoutes(...)` also returns `share(path, opts)`, `unshare(path)`, `close(path)`, `status(path)`, `keep(path, keep)`, `comment(path, range)`, `reply(path, thread, body)` and `resolve(path, thread, resolved)`. `path` is an absolute path to a file under `root`, checked as the routes check it (a path outside `root`, a link out of it or a missing file rejects with `file not found`, and starts no child). Sharing needs pedit with `serve` 2; the child is not stopped for idleness while the file is shared.
93
93
 
94
94
  ```ts
95
95
  const result = await routes.share('/home/me/notes/a.md', {
@@ -119,6 +119,22 @@ A pedit that has no `status` or `keep` (an earlier release with `serve` 2) answe
119
119
 
120
120
  `onEvent` also gets `shared`, `peers` (`{ peers: [{ name, access }], more? }`, `more` counts people left out of the list), `room_ended` (`reason`: `closed`, `expired` or `maintenance`, also when the relay ended the room unasked) and `unshared`. Each carries `path` and `id`: the id the routes last served that path under, or `null`.
121
121
 
122
+ ## Comments
123
+
124
+ While the app shares a file, it can take part in the file's comments as the host, and gets the threads live. Comments follow `docs/design/comments.md`: the same limits (a body of 1 to 4,000 characters, 500 threads, 200 comments a thread), written under the host's name as the room shows it.
125
+
126
+ ```ts
127
+ const { thread } = await routes.comment('/home/me/notes/a.md', { from: 6, to: 10, body: 'Why wide?' })
128
+ await routes.reply('/home/me/notes/a.md', thread, 'Because it is.')
129
+ await routes.resolve('/home/me/notes/a.md', thread, true) // false opens it again
130
+ ```
131
+
132
+ - `comment(path, { from, to, body })` starts a thread on `[from, to)` of the file's text, in UTF-16 code units (what `String.prototype.slice` and Yjs count). It resolves `{ thread, message }`. Only text and Markdown files take it; an empty range, one outside the text or one over 1,000 characters rejects. A file with CRLF line endings counts a line break as one unit, as your page's `Y.Text` does.
133
+ - `reply(path, thread, body)` resolves `{ message }`. `resolve(path, thread, resolved)` resolves nothing; setting the state a thread has already is not an error.
134
+ - They work only while the file is shared and pedit is connected to the room. Not shared, a room kept with `host: 'away'`, or a connection that is down rejects with pedit's reason: a comment written while nobody can see it would look delivered. What is saved stays readable in `.pedit/meta/`.
135
+ - `onEvent` gets `{ type: 'comments', path, id, threads, more? }`: the file's threads as they are, once when sharing starts (and on a resume) and again whenever the comments, or the text they point into, change. A thread is `{ id, quote, resolved, from, to, cut?, messages: [{ id, author, time, body }] }`. `from` and `to` are where its anchor is in the text now, or `null` when it cannot be placed (its text was deleted, or it is on cells or a node). The event fits 64 KiB: open threads come first, `more` counts threads left out, and `cut` counts a thread's oldest comments left out. The event that shows a write comes before the call resolves.
136
+ - A pedit without these commands makes them reject with `pedit is too old for comment; update it` (or `reply`, `resolve`).
137
+
122
138
  ## Installing pedit for the user
123
139
 
124
140
  Nothing is ever downloaded unless your app asks for it. Without the opt-in, a missing or old pedit
package/dist/hono.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type Context, type Env, Hono } from 'hono';
2
2
  import type { UpgradeWebSocket } from 'hono/ws';
3
- import type { Peer, Role, Shared, ShareOptions, ShareResult, ShareStatus } from './types.ts';
3
+ import type { CommentRange, CommentThread, Peer, Role, Shared, ShareOptions, ShareResult, ShareStatus, StartedThread } from './types.ts';
4
4
  export type { Role };
5
5
  export interface PeditOptions<E extends Env = Env> {
6
6
  /** From the adapter, created on the PARENT app (`createNodeWebSocket({ app })`). */
@@ -51,6 +51,12 @@ export type PeditEvent = {
51
51
  path: string;
52
52
  peers: Peer[];
53
53
  more?: number;
54
+ } | {
55
+ type: 'comments';
56
+ id: string | null;
57
+ path: string;
58
+ threads: CommentThread[];
59
+ more?: number;
54
60
  } | {
55
61
  type: 'room_ended';
56
62
  id: string | null;
@@ -78,6 +84,14 @@ export interface PeditRoutes {
78
84
  status(path: string): Promise<ShareStatus | null>;
79
85
  /** Change the keep of the room this file shares now (`3d`; not `0`). */
80
86
  keep(path: string, keep: string): Promise<ShareStatus>;
87
+ /** Start a thread on `[from, to)` of the text, as the host; only while the file is shared. */
88
+ comment(path: string, range: CommentRange): Promise<StartedThread>;
89
+ /** Add a comment to a thread, as the host. */
90
+ reply(path: string, thread: string, body: string): Promise<{
91
+ message: string;
92
+ }>;
93
+ /** Resolve a thread, or open it again, as the host. */
94
+ resolve(path: string, thread: string, resolved: boolean): Promise<void>;
81
95
  }
82
96
  /** True for 127.0.0.0/8, ::1 and their IPv4-mapped forms. */
83
97
  export declare function isLoopback(address: string | undefined): boolean;
package/dist/hono.js CHANGED
@@ -93,6 +93,7 @@ export function peditRoutes(options) {
93
93
  emit({ type: 'error', id, message: e.message });
94
94
  else if (e.type === 'shared' ||
95
95
  e.type === 'peers' ||
96
+ e.type === 'comments' ||
96
97
  e.type === 'room_ended' ||
97
98
  e.type === 'unshared')
98
99
  emit({ ...e, id });
@@ -329,6 +330,9 @@ export function peditRoutes(options) {
329
330
  },
330
331
  status: async (path) => (await sharable(path)).status(),
331
332
  keep: async (path, keep) => (await sharable(path)).keep(keep),
333
+ comment: async (path, range) => (await sharable(path)).comment(range),
334
+ reply: async (path, thread, body) => (await sharable(path)).reply(thread, body),
335
+ resolve: async (path, thread, resolved) => (await sharable(path)).resolve(thread, resolved),
332
336
  });
333
337
  }
334
338
  //# sourceMappingURL=hono.js.map
package/dist/hono.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hono.js","sourceRoot":"","sources":["../src/hono.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hono.js","sourceRoot":"","sources":["../src/hono.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,4 +3,4 @@ export { HeldError, LimitError, NoPeditError } from './errors.ts';
3
3
  export type { Installed, Verified } from './install.ts';
4
4
  export { MIN_PEDIT_VERSION, peditVersionOk, resolvePedit } from './resolve.ts';
5
5
  export { type ServedFile, ServedFiles, type ServedFilesOptions } from './served.ts';
6
- export type { Peer, Role, ServeEvent, ShareChoice, ShareClosed, Shared, ShareOptions, ShareResult, ShareStatus, } from './types.ts';
6
+ export type { CommentMessage, CommentRange, CommentThread, Peer, Role, ServeEvent, ShareChoice, ShareClosed, Shared, ShareOptions, ShareResult, ShareStatus, StartedThread, } from './types.ts';
package/dist/served.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type Bridge } from './bridge.ts';
2
- import type { Role, ServeEvent, ShareOptions, ShareResult, ShareStatus } from './types.ts';
2
+ import type { CommentRange, Role, ServeEvent, ShareOptions, ShareResult, ShareStatus, StartedThread } from './types.ts';
3
3
  export interface ServedFilesOptions {
4
4
  bin: string;
5
5
  /** Shown by another pedit's refusal. */
@@ -41,6 +41,19 @@ export interface ServedFile {
41
41
  * live, or the relay refuses.
42
42
  */
43
43
  keep(keep: string): Promise<ShareStatus>;
44
+ /**
45
+ * Start a thread, as the host, on `[from, to)` of the file's text (text and Markdown files).
46
+ * Needs the file shared with the host connected: it rejects otherwise, and for a range pedit
47
+ * refuses (empty, outside the text, over 1,000 characters). A pedit without comments rejects,
48
+ * saying it is too old.
49
+ */
50
+ comment(range: CommentRange): Promise<StartedThread>;
51
+ /** Add a comment to a thread, as the host. Resolves with the comment's id. */
52
+ reply(thread: string, body: string): Promise<{
53
+ message: string;
54
+ }>;
55
+ /** Resolve a thread, or open it again, as the host. */
56
+ resolve(thread: string, resolved: boolean): Promise<void>;
44
57
  }
45
58
  export declare class ServedFiles {
46
59
  #private;
package/dist/served.js CHANGED
@@ -35,6 +35,31 @@ function sharedOf(ev) {
35
35
  resumed: ev.resumed === true,
36
36
  };
37
37
  }
38
+ /** The commands that bring fields an earlier pedit's strict decoder does not know. */
39
+ const WITH_NEW_FIELDS = ['comment', 'reply', 'resolve'];
40
+ /** An earlier pedit refusing a command for its new fields. */
41
+ function strictRefusal(cmd, message) {
42
+ return WITH_NEW_FIELDS.includes(cmd) && message.startsWith('not a command: json: unknown field');
43
+ }
44
+ /** A thread of pedit's `comments` event, with each field made the type it is. */
45
+ function threadOf(t) {
46
+ const place = (v) => (typeof v === 'number' ? v : null);
47
+ const messages = Array.isArray(t.messages) ? t.messages : [];
48
+ return {
49
+ id: String(t.id),
50
+ quote: String(t.quote),
51
+ resolved: t.resolved === true,
52
+ from: place(t.from),
53
+ to: place(t.to),
54
+ ...(typeof t.cut === 'number' && { cut: t.cut }),
55
+ messages: messages.map((m) => ({
56
+ id: String(m?.id),
57
+ author: String(m?.author),
58
+ time: String(m?.time),
59
+ body: String(m?.body),
60
+ })),
61
+ };
62
+ }
38
63
  function statusOf(ev) {
39
64
  if (ev.room === null || ev.room === undefined)
40
65
  return null;
@@ -215,6 +240,15 @@ export class ServedFiles {
215
240
  throw new Error('the room has ended');
216
241
  return status;
217
242
  },
243
+ comment: async ({ from, to, body }) => {
244
+ const ev = await this.#newer(entry, 'comment', { from, to, body });
245
+ return { thread: String(ev.thread), message: String(ev.message) };
246
+ },
247
+ reply: async (thread, body) => {
248
+ const ev = await this.#newer(entry, 'reply', { thread, body });
249
+ return { message: String(ev.message) };
250
+ },
251
+ resolve: async (thread, resolved) => void (await this.#newer(entry, 'resolve', { thread, resolved })),
218
252
  },
219
253
  };
220
254
  this.#byPath.set(path, entry);
@@ -282,6 +316,19 @@ export class ServedFiles {
282
316
  emitRoom(ev, { path, ...sharedOf(ev) });
283
317
  },
284
318
  resume_choice: (ev) => this.#answer(entry, ev),
319
+ commented: (ev) => this.#answer(entry, ev),
320
+ replied: (ev) => this.#answer(entry, ev),
321
+ resolved: (ev) => this.#answer(entry, ev),
322
+ comments: (ev) => {
323
+ if (!Array.isArray(ev.threads))
324
+ return;
325
+ this.#emit({
326
+ type: 'comments',
327
+ path,
328
+ threads: ev.threads.map(threadOf),
329
+ ...(typeof ev.more === 'number' && { more: ev.more }),
330
+ });
331
+ },
285
332
  status: (ev) => this.#answer(entry, ev),
286
333
  unshared: (ev) => {
287
334
  this.#left(entry);
@@ -402,15 +449,17 @@ export class ServedFiles {
402
449
  });
403
450
  }
404
451
  /**
405
- * status and keep: an earlier release of pedit with serve 2 lacks them and answers with an
406
- * `unknown cmd` error, which is said as what it means.
452
+ * status, keep, comment, reply and resolve: an earlier release of pedit with serve 2 lacks them.
453
+ * It answers status and keep with `unknown cmd`; it decodes the others strictly before it looks
454
+ * at `cmd`, so it answers them with `not a command: json: unknown field "from"` (or `thread`).
455
+ * Both are said as what they mean.
407
456
  */
408
457
  async #newer(entry, cmd, fields = {}) {
409
458
  try {
410
459
  return await this.#command(entry, cmd, fields);
411
460
  }
412
461
  catch (e) {
413
- if (e instanceof Error && e.message === 'unknown cmd')
462
+ if (e instanceof Error && (e.message === 'unknown cmd' || strictRefusal(cmd, e.message)))
414
463
  throw new Error(`pedit is too old for ${cmd}; update it`);
415
464
  throw e;
416
465
  }
@@ -1 +1 @@
1
- {"version":3,"file":"served.js","sourceRoot":"","sources":["../src/served.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"served.js","sourceRoot":"","sources":["../src/served.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -54,6 +54,39 @@ export interface ShareStatus {
54
54
  ends: number;
55
55
  lifeEnd: number;
56
56
  }
57
+ /** One comment of a thread. `time` is RFC 3339 in UTC. Text is cleaned as the browser cleans it. */
58
+ export interface CommentMessage {
59
+ id: string;
60
+ author: string;
61
+ time: string;
62
+ body: string;
63
+ }
64
+ /**
65
+ * A thread of the shared file. `from` and `to` are where its anchor is in the text now, in UTF-16
66
+ * code units of the room's document (a file with CRLF line endings counts a line break as one),
67
+ * or `null` when it cannot be placed: its text was deleted, or it is on cells or a node. `cut`
68
+ * counts the oldest comments left out so that the event fits.
69
+ */
70
+ export interface CommentThread {
71
+ id: string;
72
+ quote: string;
73
+ resolved: boolean;
74
+ from: number | null;
75
+ to: number | null;
76
+ cut?: number;
77
+ messages: CommentMessage[];
78
+ }
79
+ /** What a started thread is called, and its first comment. */
80
+ export interface StartedThread {
81
+ thread: string;
82
+ message: string;
83
+ }
84
+ /** The range of a new thread: `[from, to)` of the text, in UTF-16 code units, and its first comment. */
85
+ export interface CommentRange {
86
+ from: number;
87
+ to: number;
88
+ body: string;
89
+ }
57
90
  export type ShareResult = Shared | ShareChoice | ShareClosed;
58
91
  export interface Peer {
59
92
  name: string;
@@ -89,6 +122,17 @@ export type ServeEvent =
89
122
  peers: Peer[];
90
123
  more?: number;
91
124
  }
125
+ /**
126
+ * The file's threads as they are, while it is shared: once when sharing starts, and when the
127
+ * comments, or the text they point into, change. `more` counts threads pedit left out so that
128
+ * the event fits.
129
+ */
130
+ | {
131
+ type: 'comments';
132
+ path: string;
133
+ threads: CommentThread[];
134
+ more?: number;
135
+ }
92
136
  /** The room ended, possibly without the app asking: the relay expired or closed it. */
93
137
  | {
94
138
  type: 'room_ended';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pedit/serve",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "Run pedit serve for a local app: the file's Yjs document over the child's stdin and stdout, with Hono routes and a browser client",
5
5
  "keywords": [
6
6
  "pedit",