Repository navigation
windows: the socket server builds for Windows - #14
Merged
Merged
Conversation
2 of 8 tasks
foxnne
added a commit
to fizzyedit/fizzy
that referenced
this pull request
Oct 15, 2026
## What changes `sdk_version` goes from 0.2.26 to 0.2.27. Merging this tags `sdk-v0.2.27` and publishes its tarball. **Why now:** the agent plugin's `stroke` step (fizzyedit/agent#11, on agent `main`) uses `tape.Script.StrokePoint` from #431, which no released SDK has, so agent's new CI (fizzyedit/agent#13) can't pass against its pinned SDK until it repins to a release that carries it. ## SDK impact - [ ] None - [ ] Core-only or additive: reaches plugins at the next SDK release - [ ] Fingerprint moved: recorded in `sdk/src/version.zig`, `sdk_version` untouched, PR labelled `sdk` - [x] SDK release: bumps `sdk_version`, lists the `sdk` PRs since the last `sdk-v*` tag **`sdk` PRs since `sdk-v0.2.26`:** - **#434:** two optional document vtable members, `historyLine` (a document's undo history as a line of steps, with a `version`) and `historyGoTo` (undo or redo to a step), with `Plugin.HistoryLine`. An owner without them has no timeline; undo and redo are unchanged. The fingerprint moved, so the repin automation opens a repin PR in each store plugin. **Reaching plugins, no fingerprint move:** - **#431:** `tape`: a stroke carries the pointer in straight lines (`Script.StrokePoint`). - **#432:** `tape`: a caption follows where the pointer reaches, not a pen's path. - **#433:** `replay`: a tape's pointer gives way to a cursor the app draws itself. - **#427:** `core`: the bubble spinner keeps its bubbles near one size at any scale. Open `sdk`-labelled #437 (the Zig 0.17 switch) is a draft and not in this release. ## Verified - [x] macOS: - On this head, `zig build test-sdk-version`: 12/12 steps succeeded. `scripts/pack-sdk.sh` packs `fizzy-sdk-v0.2.27.tar.gz`. - fizzyedit/agent (main plus fizzyedit/agent#14) builds against this `sdk/` (`--fork`) for x86_64-windows, x86_64-linux-gnu and aarch64-macos, and `zig build test` passes. - [ ] Windows: - [ ] Linux: CI. - [ ] Web: ## Follow-ups - The repin automation opens `sdk: repin to fizzy SDK 0.2.27` PRs in the store plugins whose build needs it. agent repins too, and then fizzyedit/agent#13's CI can go green. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
The server woke its accept thread through a pipe of POSIX descriptors, which on Windows are `HANDLE`s: the wake pipe now exists only off Windows, which keeps waking by connecting. The temp-directory socket path used `/tmp` and a `pid_t`, and `connection.zon` a POSIX mode; on Windows they are `%TEMP%`, `GetCurrentProcessId`, and the profile directory's own ACL. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
foxnne
force-pushed
the
windows/sockets
branch
from
October 15, 2026 14:22
7f4fcf7 to
fb8bd68
Compare
foxnne
added a commit
that referenced
this pull request
Oct 15, 2026
* sdk: repin to fizzy SDK 0.2.27 The stroke step uses tape's Script.StrokePoint, first released in 0.2.27, so the pinned SDK and min_sdk_version both move to it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * windows: the socket server builds for Windows (#14) The server woke its accept thread through a pipe of POSIX descriptors, which on Windows are `HANDLE`s: the wake pipe now exists only off Windows, which keeps waking by connecting. The temp-directory socket path used `/tmp` and a `pid_t`, and `connection.zon` a POSIX mode; on Windows they are `%TEMP%`, `GetCurrentProcessId`, and the profile directory's own ACL. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
agent's Windows build did not compile (seen by the CI added in #13): the socket server assumed POSIX descriptors and process ids.
Server.zig: the wake pipestopwrites to (so the accept thread wakes without connecting to a path another fizzy may have taken over) is[2]std.c.fd_t, which isHANDLEon Windows and can't be-1or polled beside a socket. It now exists only off Windows (has_wake_pipe); Windows keeps waking by connecting, as the comment already said it did.plugin.zig: the fallback socket path for a deep profile was/tmp/fizzy-agent-{pid}.sockwithstd.c.getpid()(aHANDLEon Windows, so{d}failed). On Windows it is%TEMP%\fizzy-agent-{GetCurrentProcessId}.sock.plugin.zig:connection.zonwas created with.fromMode(0o600), which Windows'Permissionshas no member for. On Windows it is.default_file, so the file inherits the profile directory's ACL (that user's only).Verified:
zig build -Dtarget=for x86_64-windows, x86_64-linux-gnu, aarch64-macos, andzig build teston macOS, all against fizzy main'ssdk/(--fork), withFIZZY_PROFILEin a sandbox. The pinned SDK 0.2.26 still fails onScript.StrokePoint(from fizzy #431) until SDK 0.2.27 is released and repinned. Not run on a Windows machine: this makes it build, it does not show the socket works there.🤖 Generated with Claude Code