AGENTDDS.com

Changelog

ci(github): default workflows to ubuntu-latest

April 21, 2026Branch ci/ubuntu-hosted-runners-defaultPR #4122 min readAI Generated

ci(github): default workflows to ubuntu-latest

Automated summary for branch ci/ubuntu-hosted-runners-default. This post is generated on push; commit it with your changes.

Commits

  • d9fa7788 chore(webapp): sync PR blog post (ai version)
  • 07f592ef chore(webapp): sync PR blog post for ci/ubuntu-hosted-runners-default
  • 1190c9a1 feat(auth,admin): superadmin batch flows, magic-link BFF, transactional email
  • dee985f0 Merge remote-tracking branch 'origin/main' into ci/ubuntu-hosted-runners-default
  • af08a219 chore(webapp): sync PR blog post (final commit list)
  • 274ba40c chore(webapp): refresh PR blog post ai.md
  • 1d5118c7 chore(webapp): sync PR blog post for ci/ubuntu-hosted-runners-default
  • 89c19de7 ci(github): default workflows to ubuntu-latest

Files changed

services/rust-api/src/api/v1/admin_console.rs      | 230 ++++++++++++++++++++-
 services/rust-api/src/api/v1/agent_applications.rs |   2 +-
 services/rust-api/src/api/v1/agent_invitations.rs  |  21 +-
 services/rust-api/src/api/v1/auth.rs               |   6 +-
 services/rust-api/src/config.rs                    |  39 +++-
 services/rust-api/src/services/email.rs            |  43 ++--
 services/rust-api/src/services/mod.rs              |   1 +
 services/rust-api/src/services/notifications.rs    | 107 ++++++----
 .../rust-api/src/services/transactional_email.rs   | 147 +++++++++++++
 .../ci-ubuntu-hosted-runners-default/manifest.json |   6 +-
 .../versions/ai.md                                 |  56 +++--
 webapp/e2e/email-auth-local.spec.ts                |   8 +-
 webapp/e2e/email-transactional-adversarial.spec.ts | 195 +++++++++++++++++
 .../(authenticated)/account/agent/invite/page.tsx  |  72 +------
 .../admin/batch-candidate-invite-form.tsx          |  98 +++++++++
 .../src/app/(authenticated)/admin/invite-form.tsx  |  25 ++-
 .../src/app/(authenticated)/admin/super/page.tsx   |   6 +-
 .../super/superadmin-agent-signup-invites.tsx      | 119 +++++++++++
 .../admin/super/superadmin-roster.tsx              | 122 ++++++++---
 webapp/src/app/(signup)/auth/magic-link/page.tsx   |   5 +-
 .../app/api/admin/console/grant-admins/route.ts    |  22 ++
 .../admin/console/invite-agent-signups/route.ts    |  22 ++
 .../src/app/api/auth/magic-link/callback/route.ts  |   5 +-
 webapp/src/app/api/auth/magic-link/route.ts        |  43 ++++
 webapp/src/app/api/auth/verify-email/route.ts      |   5 +-
 webapp/src/app/layout.tsx                          |   2 +
 webapp/src/components/app-toast-container.tsx      |  18 ++
 webapp/src/lib/sanitize-post-auth-redirect.ts      |  23 +++
 webapp/src/lib/superadmin-console.ts               |  13 +-
 webapp/test/sanitize-post-auth-redirect.test.ts    |  41 ++++
 30 files changed, 1285 insertions(+), 217 deletions(-)

How this works

This file is produced by webapp/tools/sync-pr-blog-post.ts. Add a versions/human.md file in the same folder to publish a human-written alternative; the site will show tabs for AI Draft and Human when both exist.