Skip to content

Commit 9806ecd

Browse files
authored
Merge pull request #220 from takker99:pin-change
feat(websocket): Allow to push pin changes with other page changes
2 parents 87c1865 + 5674f54 commit 9806ecd

File tree

3 files changed

+7
-8
lines changed

3 files changed

+7
-8
lines changed

websocket/change.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ export type Change =
1010
| FilesChange
1111
| HelpFeelsChange
1212
| infoboxDefinitionChange
13-
| TitleChange;
13+
| TitleChange
14+
| PinChange;
1415
export interface InsertChange {
1516
_insert: string;
1617
lines: {

websocket/pin.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ export const pin = (
4545
page.pin > 0 || (!page.persistent && !(options?.create ?? false))
4646
) return [];
4747
// Create page and pin it in a single operation
48-
// @ts-ignore The server is expected to accept combined creation and pin operations
4948
const changes: Change[] = [{ pin: pinNumber() }];
5049
if (!page.persistent) changes.unshift({ title });
5150
return changes;

websocket/push.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Change, DeletePageChange, PinChange } from "./change.ts";
1+
import type { Change, DeletePageChange } from "./change.ts";
22
import type { PageCommit } from "./emit-events.ts";
33
import { connect, disconnect } from "./socket.ts";
44
import type { Socket } from "socket.io-client";
@@ -125,13 +125,12 @@ export type PushError =
125125
export type CommitMakeHandler = (
126126
page: PushMetadata,
127127
attempts: number,
128-
prev: Change[] | [DeletePageChange] | [PinChange],
128+
prev: Change[] | [DeletePageChange],
129129
reason?: "NotFastForwardError" | "DuplicateTitleError",
130130
) =>
131-
| Promise<Change[] | [DeletePageChange] | [PinChange]>
131+
| Promise<Change[] | [DeletePageChange]>
132132
| Change[]
133-
| [DeletePageChange]
134-
| [PinChange];
133+
| [DeletePageChange];
135134

136135
/** Push changes to a specific page using WebSocket
137136
*
@@ -174,7 +173,7 @@ export const push = async (
174173

175174
try {
176175
let attempts = 0;
177-
let changes: Change[] | [DeletePageChange] | [PinChange] = [];
176+
let changes: Change[] | [DeletePageChange] = [];
178177
let reason: "NotFastForwardError" | "DuplicateTitleError" | undefined;
179178

180179
// Outer loop: handles diff creation and conflict resolution

0 commit comments

Comments
 (0)