Repository navigation
Review Idle watch - #1855
Merged
Merged
Review Idle watch#1855
Conversation
Contributor
There was a problem hiding this comment.
Idle watch v0.3.1 is approved, @nathansgreen. I completed the pinned registry listing with your categories and attribution, retained your description, overview and settings image, and removed the intake file. Nothing is required from you.
Review data
- Policy: main REVIEW.md blob
3c5e763c9565b93ea33fa48c9aeb83e415c72d67. Reviewed registry head0e622118a30dd3a1ef083e173f1b7d64c7665fcf. Read submission #1854, this PR and their current discussion. The submission author also authored the pinned source commit. - Artifact: root of
https://github.com/heroicode/paseo-idle-watch.git, commitf2e6b6fa4ac5d283d65bf72c380fe6487ae8c076. Requested tagv0.3.1resolves directly to that commit; manifest and package identify Idle watch 0.3.1. Fetched the exact tree without hooks/submodules; checked every archive member for confined relative paths and regular-file/directory types before extraction. Archive SHA-256cb5842a2f3ad948b35587b2956bc1c29da5e4dfaa3fecdff60db2f2b61887f41. - Inspected both entries, every client/server/shared runtime module, manifest, package and lock metadata, README, shipped overview and settings image. Required entries/local imports exist. No manifest preparation command, production dependency or installation lifecycle script. Runtime external imports use Node built-ins and host-provided Paseo/React/React Native/Zod libraries. The development-only v3 lock fixes 321 package sources at registry.npmjs.org with integrity; its fsevents install-script flag does not introduce a plugin installation step. No plugin or dependency was installed, built, imported or run.
- Activity monitoring:
index.server.tsattaches on status/test RPC or turn hooks.server/monitor.ts:31-57reads up to 200 unarchived agent summaries and provider usage through Paseo. Once attached, agents are polled every minute and usage every five minutes; turn start/end and increases in usage meters reset provider idle clocks. Settings persist through Paseo host settings; idle tracking is memory-only. No conversation content is read or sent by these paths. - Notifications:
server/monitor.ts:93-97sends when the configured idle condition is due and notifications are enabled; the Test notification action sends current usage regardless of that switch.server/push.ts:28-42reads the daemon's registered push subscriptions and server ID, filters expired tokens, and POSTs tokens, alert title/body and server ID tohttps://exp.host/--/api/v2/push/send. Idle alerts contain provider names/times; tests add quota percentages/balances.shared/format.tsremoves parenthesized account suffixes from provider names; this is pattern-based formatting, not a general guarantee of secret redaction. The documented push-token access serves mobile alerts; no unrelated credential collector or other direct HTTP destination was found. - Desktop execution:
server/notify.ts:5-20uses a fixedosascriptnotification program on macOS, passing title/body as arguments rather than interpolating them into AppleScript. Other platforms report unsupported desktop delivery while still attempting mobile push. No shell construction, eval, runtime software acquisition, arbitrary host-file write/delete or remote-code loader was found in the inspected runtime modules. - Listing: retained English manifest name/description, artifact OVERVIEW.md and
images/settings.png. Viewed the image: it shows the matching Idle watch settings with sample provider rows. Its immutable raw-GitHub URL returns 200 and image/png. No translations or redundant registry overview/description added. The overview discloses polling limits, restart behavior, mobile token access and Expo delivery. - Registry changes: added
heroicode/idle-watchwith the exact Git pin, requested sidebar/utils categories, original submission timestamp and human attribution; removedsubmissions/1854.json. Only those intended files were committed and pushed without force after checking the remote head. Trusted current-main online validation passed: 464 well-formed records, one matching artifact, zero skipped. All 189 trusted registry tests passed. Exact-head CI is checked before merge. - Limits: static inspection only; no live macOS/mobile notification, provider usage or UI interaction test, and no exhaustive host-library audit. Mobile delivery depends on the daemon's internal token-file format and active registrations, as documented. No concrete serious safety concern or factory-policy incompatibility found. No remaining author requirement.
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.
Closes #1854. Submitted by @nathansgreen.
Ready for artifact review. The reviewer will resolve the submitted source and complete the registry listing.
Submission:
submissions/1854.json.Git references are optional. Use a supplied reference; otherwise resolve main during review. Git updates are submitted manually.