fix(den): remove download links from invite emails#2673
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
fraimz — ✅ PASSED1 passed · 0 failed · 0 skipped — run Full frame proof with validated screenshots: ✅ email-invites-remove-download-link — Invitation emails stay focused on joining the workspaceUser-facing flow demo
(screenshot upload failed: BLOB_READ_WRITE_TOKEN is not set and could not be fetched from Infisical ( |
|
Scope note from the MCP diagnostics validation pass: This invite-email/download change is unrelated to the ServiceNow MCP connection work, so it was not included in the Daytona MCP test matrix. I am not making a merge recommendation for this PR based on that validation, and no branch or merge mutation was performed here. |
Pablosinyores
left a comment
There was a problem hiding this comment.
Nice, the removal is complete across the whole chain, which is the part that usually gets missed: the payload drops downloadUrl in both auth.ts and invitations.ts, and the template drops it in lockstep — the downloadUrl? prop, the DEFAULT_OPENWORK_DOWNLOAD_URL default, the desktop Section, and the now-unused desktopSection styles all go together. So there's no dangling downloadUrl left to render as undefined or fall back to the default download button. The eval rename (invite-email-org-install-link → email-invites-remove-download-link) plus the separate invite-to-desktop.flow updates make it clear the scope is intentionally org-invite-only and desktop-invite links stay — good, that's the right boundary.
One loose end worth deciding on: after this, resolveInvitationDownloadUrl in install-links.ts has no production caller left — its only two call sites (auth.ts, invitations.ts) are exactly what this PR removes, and the sole remaining reference is test/install-link-access.test.ts. So it's now dead in production but still carries a test exercising it. Either drop the function and that test, or keep them intentionally (e.g. you plan to reuse the minting logic) and it's worth a one-line note so the next person doesn't read it as accidentally-orphaned. Same question for DEFAULT_OPENWORK_DOWNLOAD_URL / desktopCapabilities in desktop-capabilities.js — if this template was their last consumer they're now unused too; if the desktop-invite flow still imports them, ignore this.
Not blocking — the user-facing change and its safety look right. Just flagging the dead-code tail so it doesn't accumulate.
bro wtf is this slop |
* feat(den): connect marketplace plugin MCPs * fix(app): preserve attachment request metadata (#2704) * fix(app): prompt when selected model is unavailable (#2706) * fix(app): use reported model thinking levels (#2707) * ignore: update download stats 2026-07-13 * feat(inference): add Sentry request diagnostics (#2708) * feat(inference): remove Fusion model (#2710) * feat(den): add configurable observability (#2703) * feat(inference): report unknown usage models (#2712) * chore: bump version to 0.17.21 * chore(aur): update PKGBUILD for 0.17.21 * fix(app): keep app name out of wordmark slot * fix(den): remove download links from invite emails (#2673) * chore: bump version to 0.17.22 * docs(helm): add OTEL setup guide (#2713) * chore(aur): update PKGBUILD for 0.17.22 * feat(mcp): add deployable enterprise diagnostics endpoint (#2702) * feat(mcp): add deployable diagnostics endpoint * feat(den): add private-cloud egress diagnostics * Harden deployable MCP diagnostics preview * Fix diagnostics lockfile after dev sync * Support deployment-specific Vercel preview origins * Default Den diagnostics to OpenWork Labs * Store diagnostic token in Den * Add diagnostics dashboard login * Sync diagnostics credential migration * fix(den): avoid duplicate signup verification emails (#2714) * chore: bump version to 0.17.23 * chore(aur): update PKGBUILD for 0.17.23 * feat(helm): pass Node options to den-api (#2715) * feat(helm): pass Node options to den-api * docs(helm): document den-api Node options * chore: bump version to 0.17.24 * chore(aur): update PKGBUILD for 0.17.24 * Revert "feat: deterministic air-gapped organization installer (#2668)" This reverts commit e8ab197. --------- Co-authored-by: Omar McAdam <gh@mcadam.io> Co-authored-by: GitHub Action <action@github.com> Co-authored-by: OpenWork Release Bot <release-bot@users.noreply.github.com> Co-authored-by: Jalil <reachjalil@gmail.com>
Summary
Validation
pnpm --filter @openwork-ee/den-api exec bun test test/organization-invite-email.test.ts— passedpnpm --filter @openwork-ee/den-api exec tsc -p tsconfig.json --noEmit— passednode --check evals/flows/email-invites-remove-download-link.flow.mjs— passednode --check evals/flows/invite-to-desktop.flow.mjs— passedpnpm fraimz --flow email-invites-remove-download-link --stack den --cdp-url http://127.0.0.1:9823— passedProof
Fraimz passed with validated screenshots of the rendered invitation email. The proof will be posted as a PR comment.