Skip to content

Release 2.0.1: ship the tray memory fix that 2.0.0 never got - #21

Merged
tgwab-claude merged 2 commits into
mainfrom
fix/tray-memory-growth
Sep 23, 2026
Merged

tgwab-claude merged 2 commits into
mainfrom
fix/tray-memory-growth

Conversation

@tgwab-claude

@tgwab-claude tgwab-claude commented Sep 23, 2026 •

Copy link
Copy Markdown
Collaborator

Refs #20. #20 closes once 2.0.1 is installed on mac-mini-desktop and measured flat.

What happened

The leak in #20 was already fixed, but the fix was never released.

This PR

After merge (devops, on Michal's go)

  1. Push tag v2.0.1; release.yml builds and publishes, including Tomatick-2.0.1-macos-arm64.zip.
  2. On mac-mini-desktop, replace /Applications/Tomatick.app with 2.0.1. The old bundle is kept at ~/Applications/_rollback/Tomatick-2.0.0.app for rollback (not /tmp, which the Mac clears on reboot). Config and history in ~/Library/Application Support/Tomatick are untouched. Relaunch it through the us.tomatick LaunchAgent.
  3. Sample memory over an hour of normal use, and report it as flat within noise, not merely lower. The rates disagree: Stop the menu-bar icon leak (about 28 KB/s while idle) #16 measured about 28 KB/s (about 100 MB/h) idle, but Tomatick memory usage hit 6.13 GB, macOS flagged system-wide memory pressure #20 observed about 400 MB/h (6.13 GB in about 15 hours). Either the leak accelerates, or a second source exists (a running timer's per-tick title churn, which Stop the menu-bar icon leak (about 28 KB/s while idle) #16 never measured, is the candidate). If it's still climbing, Tomatick memory usage hit 6.13 GB, macOS flagged system-wide memory pressure #20 stays open for that second source.

Not verified

The running-timer case at scale (#16 measured idle only). Go isn't installed on pve-claude or the Mac, so CI runs the tests here.

Diagnosis by a dev subagent; reviewed and verified by devops (tag contents, merge dates, and the installed binary checked directly).

🤖 Generated with Claude Code

https://claude.ai/code/session_01VjrZpzfYSjYw3sW4XibcCd

tgwab-claude and others added 2 commits September 22, 2026 21:20
Refs #20. The leak in #20 (Tomatick hit 6.13 GB, macOS warned) is the same
bug as #15: it was already fixed on main by #16 (autorelease pool around
timer-driven tray updates), merged 2026-09-14 -- but the installed
/Applications/Tomatick.app is still built from the v2.0.0 tag (2026-09-10),
four days before that fix landed, so Michal has been running the pre-fix
binary the whole time. No new code leak was found beyond what #16 already
closes; this branch is origin/main plus a guard.

#16 didn't leave a repeatable check behind, so add
scripts/measure-tray-memory.sh: builds the app, runs it idle for 10
minutes, and samples footprint every 30s, with the pass/fail threshold
taken from #16's own before/after numbers (pre-fix ~28 KB/s idle vs
post-fix ~0.08 MB/10 min). It has to run by hand on a Mac GUI session, so
it isn't wired into CI.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VjrZpzfYSjYw3sW4XibcCd
2.0.0 (tagged 2026-09-10) predates #16 (merged 2026-09-14), so every
installed copy still leaks about 28 KB/s while idle. Refs #20.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VjrZpzfYSjYw3sW4XibcCd
@tgwab-claude
tgwab-claude merged commit 8bb8c6b into main Sep 23, 2026
6 checks passed
@tgwab-claude
tgwab-claude deleted the fix/tray-memory-growth branch September 23, 2026 01:25
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