fix(cloud): align Trigger.dev connect copy with the console - #102
Merged
Merged
Conversation
The console (nominal #3280) quotes Trigger.dev's preset names the way
Trigger.dev writes them ("No restrictions", "Observer", "Deploy only")
and asks for the project ref with "This key cannot name its project.
Paste the project ref from the project's settings page (it starts with
proj_)." The CLI said the same things in different words. Both surfaces
now lead with the same sentences; the CLI keeps its pointer to the
`project` line in trigger.config.ts, which Trigger.dev's config docs
confirm is the project ref. The prompt label is "Project ref" with a
proj_ placeholder, as in the console.
No behaviour changes. The `/project ref/i` match on the API's `detail`
is untouched; #3280 changed only the API `guidance` strings. The test
fixtures now carry the API's real `detail` strings so the match is
proven against what the API sends.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
There was a problem hiding this comment.
LGTM: Copy-only alignment of Trigger.dev connect wording with the console; fixtures verified verbatim against the API source, tests strengthened, no behavior change.
Verdict: approve — copy-only change, correct and well-verified.
What I checked (head 31d292d, 2 files, +16/−14, all read in full):
- Copy-only, as claimed. The diff touches only string constants (
TRIGGERDEV_PROJECT_REF_WHERE/_HINT,TRIGGERDEV_HEADLESS_HINT, the key-instruction text), the prompt label/placeholder, and the test file. No control flow, flags, or API body changed. - Fixtures verified against the source of truth. I read
apps/apis/api-cloud-accounts/src/routers/cloud-accounts/connects/triggerdev.tsin nominal:REF_REQUIRED("The Trigger.dev project ref is required for a restricted key") andRUNS_REQUIRED("This Trigger.dev API key cannot read runs") are the API'sdetailstrings verbatim, as the PR claims. - The
/project ref/imatch stays correct. It fires on the live ref-required detail and does not fire on the runs-required detail, so the retry-vs-rethrow split holds; the tests pin both paths. - Test guard: no test removed or skipped; the hint assertion gained two
includeschecks (strengthened) and the runs-required test's inline string became a shared constant — refactor, verification intact. - No
docs/reference/specs/in this repo — nothing to spec-check.
No findings.
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.
polylane cloud connect --provider triggerdevnow says the same sentences the console says: preset names quoted the way Trigger.dev writes them, and one shared instruction for the project ref. A person moving between the two surfaces reads one set of words.Why: nominal #3280 settled the console copy (
the "No restrictions" access preset, "This key cannot name its project. Paste the project ref from the project's settings page (it starts with proj_)."). The CLI, shipped in #101, said the same things in different words, so the two surfaces disagreed on the primary instruction.Where to look
trigger.config.tspointer as the second sentence; the headless hint reuses the where-to-find fragment.proj_…placeholder, as in the console. ⚠ The/project ref/imatch on the API'sdetailfour lines above is unchanged.detailstrings, and the hint assertion pins both sentences.Feedback wanted: Is keeping the
trigger.config.tssentence worth the extra length, or should the CLI say only what the console says?Risk: Copy only; no control flow, flag, or API body changed. If a sentence reads wrong the fix is another copy commit. Rollback is a revert.
Verified:
npm run typecheckexit 0,npm run lintexit 0,npm run test524 pass / 0 fail; the extended hint assertion fails against the previous constants (5 pass / 1 fail). Nothing human-gated.Decisions (3)
trigger.config.tspointer, second. Trigger.dev's config docs say theprojectfield is "your project ref (you can see it on the Project settings page in the dashboard)", so the sentence is true and useful for someone in a checkout; the console's sentence leads because it is the shared primary instruction.--project-refand reuses only the where-to-find fragment.detailstrings. The old fixture was adetailthe API no longer sends. The regex inconnectTriggerdevmatchesdetail, notguidance(#3280 changed onlyguidance), so proving the match against the live string is what the test is for.Validation (5 criteria)
--project-ref, "This key cannot name its project.", the settings page andtrigger.config.tstest/cloud-connect-triggerdev.test.ts::turns the project-ref-required 400 into a usage error with a --project-ref hint when not interactive, pass at head; fails against the previousconnect.ts(5 pass / 1 fail)/project ref/imatch still fires on the API's livedetail("The Trigger.dev project ref is required for a restricted key")REF_REQUIREDis that string verbatim::rethrows other 400s untouched, including a key that cannot read runs,::rethrows non-400 errors untouched, passnpm run typecheckexit 0,npm run lintexit 0npm run test: 524 tests, 524 pass, 0 failFor agents
Source of the copy, read at nominal
f141e76f2a530b1335df8fcf268cbe8abea648d3:apps/console/app/components/slideovers/clouds/TriggerdevConnectSlideover.vue(key instruction, "Project ref" field,proj_…placeholder),apps/console/app/utils/triggerdev-checklist.ts(formatTriggerdevPresetListquoting rule),apps/apis/api-cloud-accounts/src/routers/cloud-accounts/connects/triggerdev.ts(RUNS_REQUIRED_GUIDANCE,PROJECT_REF_REQUIRED_GUIDANCE, and the unchangeddetailstrings the fixtures copy). No webhook mention on purpose: the CLI says nothing about webhooks for Railway either.src/generated/is codegen output and not in the diff.🤖 Generated with Claude Code