Repository navigation
Audit: security hardening, claim accuracy, MCP batch tool and npm publishing - #24
Merged
Merged
Conversation
- Claim detection ignores HTML comments and collapsed <details>, so hidden text cannot fake a claim or a release. - Comment text cannot forge a '--- @user (project team)' transcript header or close the <thread> tag read by on-device AI and check_issue. - safeHref accepts only https links on github.com and its subdomains.
…mbers - check_issues checks up to 10 issues in one call, verdicts only by default. - detail: "brief" on check_issue returns the verdict and URL (~40 tokens). - Fractional hours are rounded to one decimal; repo_health no longer sends sample.from twice. - Install path is npx contri-mcp; version 0.2.0.
…mcp to npm Adds publish-mcp.yml (mcp-v* tags, npm provenance via trusted publishing).
…che TTL and 28-day window - Claims: first-person only for 'working on', drop the 'is anyone working on' question before judging, delays are not releases, release-and-claim comments count as claims, fewer verb false positives. - Verdict and watch: only this repository's open PRs make an issue busy. - Overview (REST): a full closed-PR page marks the merge sample limited. - Cache policy: 'Anonymous mode' notes are not coverage warnings. - Worker: never join an already-aborted in-flight job. - Metrics: weekly buckets counted back from now; last four weeks = 28 days. - Insight (REST): skip the comment request for issues with no comments.
…ptions_ui - Badges are removed when turned off or when leaving a repository. - The panel takes focus when opened; Escape stops at the panel; the launcher position is saved once per movement. - Prompt API: measureContextUsage/contextWindow with the old names as fallback, so long threads fit the real context window. - Firefox package rewrites options_page to options_ui.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…, shorter MCP descriptions - setPrefs broadcasts a badge-mode change to open GitHub tabs. - education, team, join, premium-support, watching are reserved paths. - A later 'disconnected' timeline event cancels 'connected'. - watchAdd seeds the snapshot by URL, not issue number. - Settings: preference save errors are shown; token form order fixed. - Worker: initializeAuth and notifications.create rejections handled. - Tabs use role=tablist/tab with aria-selected. - MCP: tool and parameter descriptions trimmed.
- Extension and manifest 0.5.0; changelog section titled. - mcp/server.json and mcpName for the official MCP Registry; the publish workflow lists the server there after npm (GitHub OIDC). - README: Firefox needs the github.com permission allowed once. - LAUNCH.md: agent-audience post, the 'Before you start' snippet for other projects, and the MCP directories to list in.
7 tasks done
This branch was successfully deployed
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.
Linked issue
Audit of the 0.4.0 release before the next version; no single issue. Findings are listed below so they can be split into issues if preferred.
What and why
A full review of the extension, the core heuristics, the MCP server, CI and the docs, with fixes for everything confirmed. Six commits, one concern each:
<details>(a hidden "I'll take this" faked a claim); comment text can no longer forge a--- @user (project team)header or close the<thread>tag in the transcript agents and on-device AI read;safeHrefis limited togithub.comhosts.check_issues(up to 10 issues per call),detail: "brief"(verdict + URL, ~40 tokens), numbers rounded to one decimal, a duplicated field dropped, install pathnpx -y contri-mcp, version 0.2.0.publish-mcp.ymlpublishes to npm with provenance onmcp-v*tags (one-time trusted-publisher setup on npmjs.com, see the workflow header).measureContextUsage/contextWindow; Firefox package getsoptions_uiso Settings is reachable.Type of change
Evidence
Before → after on
main(probe run againstsrc/core/claims.ts):@bob is already working on this, see #45Is anyone working on this? If not, I'd like to take it.I can't finish this week, will continue next week<!-- I'd like to work on this -->Anonymous
overviewwith a full page of 100 closed PRs of which 70 merged:sample.limitedwasfalse, nowtruewith the "100 most recently updated" warning.MCP payloads measured over stdio:
tools/list8 tools;check_issuefull ≈ 230–470 tokens,detail: "brief"≈ 40;repo_healthno longer sendsaverageHours: 4.360079365079365.Firefox package manifest now contains
"options_ui": {"page": "settings.html", "open_in_tab": true}and nooptions_page.Tests
tests/unit/claims.test.ts(hidden text, third-party "working on", question-then-claim, delays, release-and-claim, foreign open PR);tests/unit/reports.test.ts(forged transcript header, capped REST sample);tests/unit/core.test.ts(safeHref hosts, cache policy notes, 28-day window);mcp/tests/mcp.test.ts(brief detail, check_issues, tidy);tests/e2e/extension.spec.ts(panel focused on open).How I verified it
npm run checkpasses (format, lint, docs links, 175 unit tests, build, build:mcp)npm run test:e2epasses (21 passed, 3 skipped)alphasafal/contriover stdio instead.AI assistance
Notes for reviewers
publish-mcp.ymlneeds the one-time trusted-publisher link on npmjs.com before the firstmcp-v0.2.0tag; until thennpx contri-mcpin the READMEs will not resolve.offscreenpermission).Generated by Claude Code