Repository navigation
Pinpoint 0.6.0
A deep review (15 agents, every finding adversarially verified) and a redesign. 152 automated tests.
Security
- A web page can no longer drive Pinpoint. The in-page UI is a closed shadow root and the picker
ignores synthetic events, so a page script cannot type into the comment box, press Send, or arm the
picker to file a note the developer never wrote. - Only Pinpoint's own extension can use the bridge. Any installed extension could call
127.0.0.1; extension requests now need the token in~/.pinpoint/token. Chrome fetches it through
the native host; Safari and Firefox paste it into the popup once (node bridge/cli.js token).
Upgrade the extension and the bridge together — a 0.5 extension cannot send the token. /annotations/waitand/ios/screenneed anx-pinpointheader, so an<img>on any website
cannot claim a note or start Maestro. Scraped page text is flattened so it cannot forge a
**Change:**line, and the HTML fence outgrows any backticks inside it.
Added
- Notes are conversations. New MCP tool
reply_annotation: the agent asks instead of guessing,
the pin shows a ?, and the answer from the notes panel sends the note back with the whole
thread. Finished notes can be reopened with Reply…. - Drafts (Draft or ⇧⌘↩) stay on the page until Send on the bar hands them all over.
- Whole-page notes, cropped to the window.
- Move the bar anywhere by dragging it; it stays put per site.
- Keyboard picking: Tab moves the highlight, arrows walk the tree, Enter picks.
- A "Bridge off · Start" pill when the bridge stops, and Send starts it and resends; a toast with
the agent's reply and an unread dot; one-click remove and Clear done in the panel; the popup
finds a bridge on a neighbouring port, shows agent activity, and jumps to a note's tab. - Trailhead, a one-screen SwiftUI demo in
demo/ios/for trying the Simulator picker. - Published.
pinpoint-bridgeis on npm, Pinpoint is in the official MCP Registry as
io.github.gowtham012/pinpoint, and on cursor.directory and Glama.npx -y pinpoint-bridge mcpis
now the MCP entry the README suggests, andnpx -y pinpoint-bridgeruns the bridge (and the iOS
picker) with no clone at all. Dockerfileandglama.json, so Glama can build the server, list its tools and score it, and
so the listing can be claimed. A hosted container is for that inspection only: Pinpoint talks to
your browser and Simulator on127.0.0.1, so it cannot do anything useful deployed elsewhere.
Changed
- A new look: ink panels and a lime accent in every theme, a crop-mark highlight, pins as
numbered drops. Opaque surfaces, AA contrast, visible focus, reduced motion respected.
Fixed
- Resolves were silently undone on non-default ports; abandoned
wait_for_annotationcalls swallowed
the next note;/restartre-ran the setup wizard; a region drag followed the link under it; Esc
reached the page's own modals; crops of half-scrolled elements included what sat below; region pins
lost their box; pins outlived client-side route changes; picking drifted between frames; the
shortcut threw away a half-written note;setup --for ioshung on Maestro 2.9; and about thirty more. - The bridge's
package-lock.jsonis tracked, so a fresh clone (and Glama's build) cannpm ci. - CI has been red since 10 September. The setup test assumed a
claudeCLI on the machine,
which CI does not have, so setup skipped the hooks the test then looked for. The test now puts a
stubclaudeon its own PATH.