Repository navigation
Conversation
…ez#225) On an authenticated Paperclip deployment, sync refused to run until every touched company had connected Paperclip board access (missing_board_access). Most of what sync does already has a plugin SDK path, so the block forced operators to grant a board user's rights just for PR follow-through. performSync now gives companies without board access no worker Paperclip API URL, so status, assignee, execution-policy and description updates, comments, and wakeups go through ctx.issues.* and no Paperclip REST call is made for them (only the /api/health probe). Unresolved GitHub labels stay unmapped for those companies instead of failing the issue. The sync state records a non-fatal warning naming what needs board access: creating missing labels, assigning issues to users, and the agent tool-access check. Companies with board access behave as before. The settings page, dashboard widget and toolbar no longer lock sync on missing board access; settings shows it as "Recommended" and renders the warning. The missing_board_access type stays so error states persisted by earlier builds still normalize; they are displayed and cleared as idle. README documents a minimal PR follow-through setup: a read-only fine-grained GitHub token and no board token. Refs alvarosanchez#225
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 #225.
Summary
What breaks today. On a Paperclip deployment that reports
deploymentMode: "authenticated",performSyncrefuses to run while any touched company lacks Paperclip board access and returnsmissing_board_access. The settings page, dashboard widget and toolbar lock the sync button for the same reason. This also blocks setups that only havelink_github_itemlinks and no repository mapping.Scenario. An operator wants one thing from GitHub Sync: wake the assignee when review feedback or red CI lands on a linked PR. To get it, they must hand the plugin worker a board token, which carries all of a board user's rights. Without the token, nothing syncs.
What changes. Most of sync already has a plugin SDK path. Every
fetchPaperclipApicall site is guarded byif (paperclipApiBaseUrl), and #225 lists the fallbacks. For a company without board access,performSyncnow passes no worker Paperclip API URL, so that company syncs throughctx.issues.*only:missing_board_accesserror state still normalizes, and it is shown and cleared as idle.Evidence
worker blocks sync when the Paperclip deployment is authenticated and board access is missingpasses; sync returnsmissing_board_access.After: replaced by three tests that drive an authenticated deployment without board access:
worker syncs a mapped repository through the SDK when an authenticated deployment has no board access: the status transition, comment and wake go through the SDK, and no Paperclip REST call is made besides/api/health.scheduled sync follows a link-only third-party pull request through the SDK when an authenticated deployment has no board accessworker leaves GitHub labels unmapped without failing imports or status sync when an authenticated deployment has no board accesspnpm typecheck,pnpm test, andpnpm test:e2e(real Paperclip host, plugin install and UI mount) pass on the branch.Merge Danger
Door: two-way
Reverting restores the block. Nothing is migrated, and the
missing_board_accesstype stays.Blast Radius: authenticated-without-board-access
Only companies on authenticated deployments without board access change: they sync where they used to be refused. On those companies, label creation, user assignment and the tool-access check stay off, and the sync state warns about it.