• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

raystack / frontier / 33670678790
50%
main: 49%

Build:
Build:
LAST BUILD BRANCH: fix-dont-store-documents-in-flow-when-consent-disabled
DEFAULT BRANCH: main
Ran 02 Sep 2026 07:05PM UTC
Jobs 1
Files 308
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Sep 2026 06:27PM UTC coverage: 49.735% (+0.1%) from 49.614%
33670678790

Pull #1913

github

rohanchkrabrty
feat(consent): add app.consent config, the consent service, and ListConsentDocuments

Config is the source of truth for what a deployment asks people to accept,
and an endpoint is how a client learns it. No database, no writes, and
frontier never reads a document or parses a version string.

app.consent is a map keyed by document id, beside app.authentication and
app.pat. A map because it matches authenticate.Config keying oidc_config by
strategy name, the key enforces unique ids, and a single field stays
env-overridable. Every document in it is required at signup, so there is no
per-document required flag: an optional document would need withdrawal,
which is out of scope.

Boot validation rejects empty ids, titles, versions and URLs, URLs that do
not parse or that a client cannot link to, and an enabled block with no
documents, which would otherwise look identical to a working deployment
while asking nobody to accept anything. The title is required alongside the
rest because it is the label a client puts on the link, so a document
without one asks the user to accept a bare url. The resolved set is logged
at boot, because an env override cannot alter an existing record but it can
produce wrong new ones, and that log rather than the config repo is what
says what a deployment was serving.

The service owns the config, so it owns the checks. Documents orders by id.
Resolve maps ids to their config snapshots and rejects ids config does not
know, saying nothing about completeness. ResolveAll adds the completeness
rule and compares both sets in both directions, so the error names what is
wrong. Disabled, all three are empty and no id is rejected, so one client
build works against both kinds of deployment.

ListConsentDocuments mirrors ListAuthStrategies and is unauthenticated on
purpose: the URLs are meant to be read by anyone considering an account, and
the ids are an input to an unauthenticated Authenticate, so requiring a
session to learn what to accept ... (continued)
Pull Request #1913: feat(consent): add app.consent config, the consent service and ListConsentDocuments

121 of 144 new or added lines in 5 files covered. (84.03%)

20278 of 40772 relevant lines covered (49.74%)

15.92 hits per line

Uncovered Changes

Lines Coverage ∆ File
22
0.0
0.0% cmd/serve.go
1
3.88
-0.04% internal/api/v1beta1connect/v1beta1connect.go
Jobs
ID Job ID Ran Files Coverage
1 33670678790.1 02 Sep 2026 07:05PM UTC 308
49.74
GitHub Action Run
Source Files on build 33670678790
  • Tree
  • List 308
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #1913
  • PR Base - feature/featauthenticate-separate-login-from-signup-with-an-explicit (#33670668290)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc