Skip to content

Translate fixes, one Isla on the Mac, cleanup, and the 0.2.0 release path - #12

Merged
ctimothe merged 4 commits into
dynamic-island-parityfrom
chore/release-0.2.0
Sep 21, 2026
Merged

ctimothe merged 4 commits into
dynamic-island-parityfrom
chore/release-0.2.0

Conversation

@ctimothe

Copy link
Copy Markdown
Owner

What changes

Translate

  • "salom" came back as "Google TRANSLEÓN". MyMemory's default answer comes from a crowd-filled public translation memory. Requests now ask for machine translation only, so "salom" returns "привет" (verified live).
  • A single word that only Uzbek writes ("salom", "rahmat", "yaxshimisiz") is now detected as Uzbek. Before, it fell back to English.
  • Uzbek into Russian with Translate Online off said "Russian is translated online". It now names Uzbek.
  • Choosing another language clears the answer given in the old one.

One Isla on the Mac

  • Spotlight listed three Isla apps. The app is now built in build/app.noindex/, which Spotlight skips. The new Scripts/install.sh replaces /Applications/Isla.app and unregisters the built copy. test-lifecycle.sh unregisters the copy it launches.

Cleanup

  • Removed code nothing calls: DebouncedWrite (used only by the removed Notes and Teleprompter), the cover-all privacy pair left from the removed menu, and eight other unused members.

Release 0.2.0

  • The README is rewritten for people installing Isla: install, features, privacy, build, uninstall.
  • Scripts/release.sh gains ISLA_ADHOC=1 and ISLA_RELEASE_REMOTE. The release notes are in docs/releases/0.2.0.md.

Verification

  • ./scripts/check: all 11 steps pass, with 472 tests (4 skipped: live and render, run only on request).
  • After the gate, LaunchServices and Spotlight know only /Applications/Isla.app.
  • TRANSLATOR_LIVE=1 includes the phrases from the owner's screenshots.

🤖 Generated with Claude Code

…it lacks

MyMemory's default answer is its best public translation-memory match, and
that memory is crowd-filled: "salom" came back as "Google TRANSLEÓN", ranked
above the right "Привет". Online requests now ask for machine translation
only, which answers "salom" with "привет" and sentences as before.

A single word only Uzbek writes — "salom", "rahmat", "yaxshimisiz" — is now
detected as Uzbek on its own instead of falling back to English. Uzbek into
Russian with Translate Online off named Russian as the missing language; it
names Uzbek. Choosing another language clears the answer in the old one at
once.

Covered by LanguageDetectionTests, TranslatorTests and OnlineTranslationTests;
TRANSLATOR_LIVE=1 now includes the words typed on 2026-09-21.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Spotlight listed three Isla apps: every bundle in build/ was indexed, and
every launch from there registered another copy with LaunchServices — any of
which could catch the Spotify sign-in callback. The app is now assembled in
build/app.noindex/, which Spotlight skips (a .metadata_never_index marker was
tried and is ignored on macOS 27). Scripts/install.sh replaces
/Applications/Isla.app, unregisters the built copy and opens the installed
one, and test-lifecycle.sh unregisters the copy it launches when it exits.
CLAUDE.md and the runbook use install.sh instead of opening build/.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
DebouncedWrite served only the Notes and Teleprompter stores removed on
2026-08-22. PrivacyMode's cover-all pair served the status-item menu removed on
2026-08-25. Also gone: a Spotify-only wrapper around the precise-position read,
an unused lyric-offset removal and LRC import entry point, String.sentenceCased,
Bundle.shortVersion, PointerWatcher.endGrace, and three NotchGeometry members,
one of them a constant documented as read by nothing. The hover-rect comment no
longer cites the teleprompter as the reason the rect follows the body.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The README is now what someone arriving from GitHub needs, in order: install
from the release (with the one quarantine command an unnotarized build
needs), what it does, what it sends and where, how to build and install from
source, and how to remove it.

Scripts/release.sh gains ISLA_ADHOC=1, which runs every gate and publishes the
ad-hoc signed build without Developer ID signing or notarization, and
ISLA_RELEASE_REMOTE for machines where origin is a local mirror. The
"is this commit on the remote" check asks the remote's branches instead of the
branch's upstream, so a release can be cut from a detached checkout of the
merge commit. Version 0.2.0, with notes in docs/releases/0.2.0.md.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@ctimothe
ctimothe merged commit cfb7dfd into dynamic-island-parity Sep 21, 2026
1 check passed
@ctimothe
ctimothe deleted the chore/release-0.2.0 branch September 21, 2026 16:29
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.

2 participants