Skip to content

release: 1.4.29 — a moved device is reachable again - #76

Merged
davidboulay merged 1 commit into
mainfrom
release/1.4.29
Jul 31, 2026
Merged

release: 1.4.29 — a moved device is reachable again#76
davidboulay merged 1 commit into
mainfrom
release/1.4.29

Conversation

@davidboulay

Copy link
Copy Markdown
Owner

Ships the two changes merged since v1.4.28.

What's in it

mDNS record follows the local address (#74) — the substance of this release. readvertise() re-announced _info, a snapshot taken at startup, so after a network change it rebroadcast the old address indefinitely. Worse, macOS never called it at all, so a Mac advertised whatever address it had at launch for its whole run. A laptop that joined an iPhone hotspot and returned to the LAN kept advertising 172.20.10.8; the peer relearned it (by design) and every send timed out until the app was restarted. Both paths now refresh on the same 180 s interval and rebuild the record when the address changes.

x11_image_takeover setting (#75) — default off, and staying off. An attempt at letting XWayland apps (Claude Desktop runs --ozone-platform=x11) paste an image copied on Wayland. It was tested on a real CosmicShot copy and does not work — still empty images. It ships as the record of a failed experiment, not a feature.

Note on scope

This release commit touches daemon.py and settings.py as well as __init__.py, which breaks the usual version-bump-only shape. The comments merged in #75 described the takeover as "worth retesting… a hypothesis until someone copies from a real app with the switch on". We've since done exactly that and it failed, so shipping that text would invite the next reader to flip the switch and break their clipboard system-wide. Correcting it was the lesser evil; flagging it rather than burying it.

For the record, three mechanisms have now failed at capture time — the 1.4.21 fire-and-forget xclip mirror, a bounded re-assert in the helper, and this persistent-owner publish — while all three work on recover. A fourth attempt needs a new model of why Xwayland treats a selection it has already seen change differently, not another way to grab the same selection at the same moment. The working answer is the panel recover: click the tile, then paste.

After merge

Tag v1.4.29. The APT index should refresh automatically via the apt job added in #71 — 1.4.28 was the first release to prove that path, so this is the second confirmation. No manual gh workflow run apt-repo.yml expected.

**mDNS record follows the local address** (#74). `readvertise()` re-announced
`_info`, a snapshot taken at startup, so after a network change it rebroadcast
the old address forever — and macOS never called it at all, so a Mac advertised
whatever address it had at launch for its entire run. A laptop that joined a
hotspot and came back to the LAN kept advertising 172.20.10.8; peers relearned
it and every send timed out until the app was restarted. Both paths now refresh
on the same 180s interval, rebuilding the record when the address changes.

**`x11_image_takeover` setting** (#75), default off and staying off. It was an
attempt at letting XWayland apps paste an image copied on Wayland; it was tested
on a real copy and does not work, so it ships as the record of a failed
experiment rather than a feature. Comments corrected accordingly — the version
merged in #75 still described it as a hypothesis worth testing, which would
mislead the next reader into flipping it on and breaking their clipboard.

(That comment correction is why this release commit touches more than
`__init__.py`: shipping the stale text was the greater evil.)

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
@davidboulay
davidboulay merged commit 4a2cda9 into main Jul 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant