Skip to content

fix(readme): document current heartbeat behavior, options and update check - #18

Merged
AnnatarHe merged 1 commit into
mainfrom
fix/update-readme
Oct 9, 2026
Merged

AnnatarHe merged 1 commit into
mainfrom
fix/update-readme

Conversation

@AnnatarHe

@AnnatarHe AnnatarHe commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Fix the "stored locally" claim: failed heartbeats are kept in an in-memory queue (up to 5,000, oldest dropped) and are lost if Neovim exits while the daemon is down
  • Document flush on VimLeavePre, duplicate filtering, skipped buffer types, nvim-dap debugging category, extension-based language fallback, and project root detection
  • Add the CLI update check and the heartbeatInterval, debounceInterval, apiEndpoint, webEndpoint config options
  • Note that setup() is required, the plugin reads only the YAML config, and the daemon drops heartbeats unless its own codeTracking.enabled is true (read at startup)
  • Troubleshooting now uses shelltime daemon status and covers the "connected but no activity" case

Test plan

  • Claims checked against lua/shelltime/*, plugin/shelltime.lua, and the CLI daemon code

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…check

Describe the in-memory retry queue (not on-disk storage), flush on
exit, deduplication, skipped buffers, debug detection and the CLI
update check. Add the remaining config file options, note that setup()
is required and that the daemon must also have codeTracking enabled.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@AnnatarHe
AnnatarHe merged commit 2c8d361 into main Oct 9, 2026
3 checks passed
@AnnatarHe
AnnatarHe deleted the fix/update-readme branch October 9, 2026 11:19
@claude

claude Bot commented Oct 9, 2026

Copy link
Copy Markdown

Review: README documentation update

Docs-only change. I spot-checked it against the code and the main claims hold:

  • MAX_PENDING = 5000 in heartbeat.lua.
  • Exit flush on VimLeavePre with a 1500ms timeout in sender.lua.
  • The heartbeatInterval, debounceInterval, apiEndpoint and webEndpoint keys in config.lua.
  • The /api/v1/cli/version-check endpoint in version.lua.
  • The debugging category, the .project/.root root markers, and the Neovim 0.10 gate.

I did not check the daemon-side claims (codeTracking.enabled is read at startup, shelltime daemon status, shelltime daemon reinstall) because that code isn't in this repo.

Positives

  • Replacing "stored locally" with the in-memory queue, its 5,000 cap, and the data-loss caveat is the most useful fix here.
  • The troubleshooting case for "connected but no activity" is useful, since the plugin can't detect that state itself.

Suggestions (minor)

  1. The codeTracking.enabled row says the default is true, but the daemon ignores heartbeats unless it is explicitly true. You could say that the default applies to the plugin only.
  2. heartbeatInterval is noted as needing a restart, but debounceInterval and the other settings are not. If you've confirmed they apply live, ignore this. Otherwise a short note would help.
  3. The curl -sSL <webEndpoint>/i | bash update command is shown correctly, but consider reminding readers to check that webEndpoint points at a host they trust, since the command is also copied to the clipboard.
  4. "Neovim waits up to 1.5s" is hard-coded in the README. If EXIT_FLUSH_TIMEOUT changes, the README will drift, so you may want to say "about 1.5s".

No code or test changes, so there are no test coverage concerns. The README now reflects the code more accurately, so LGTM with the optional nits above.

🤖 Generated with Claude Code

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