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

supabase / cli / 37649535591
67%
develop: 67%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/develop/pr-7130-45376daef5a9101a25e425f54054b89d6bdf3a5a
DEFAULT BRANCH: develop
Ran 07 Oct 2026 04:08PM UTC
Jobs 1
Files 79
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

07 Oct 2026 04:06PM UTC coverage: 66.737%. Remained the same
37649535591

push

github

web-flow
feat(stack): show gateway requests in Studio's API Gateway logs (#6942)

## TL;DR

Studio's Logs → API Gateway page was always empty on the experimental
stack, because the stack's API proxy logged nothing per request. The
proxy now writes one access line per request, persists it like service
logs, and ships it to Analytics in the shape Studio reads, so the page
lists every request with its status, method and path. `supabase stack
logs` shows the same lines.

Stacked on supabase/cli#6893.

## Before

```mermaid
flowchart LR
  C[Client] --> P["Stack API proxy"]
  P --> S["REST / Auth / Storage / Functions / Realtime"]
  S --> L["Service logs"]
  L --> A[Analytics]
  P -. "no access log" .-> X["Studio API Gateway: empty"]
```

## After

```mermaid
flowchart LR
  C[Client] --> P["Stack API proxy"]
  P --> S["REST / Auth / Storage / Functions / Realtime"]
  P --> G["gateway log stream<br/>one line per request"]
  G --> F["logs/gateway files"]
  F --> CLI["supabase stack logs --service gateway"]
  F --> A["Analytics cloudflare.logs.prod"]
  A --> U["Studio API Gateway"]
```

## Why

The legacy `supabase start` fills the API Gateway page from Kong's
access log (source `cloudflare.logs.prod`). The experimental stack has
no Kong: its shared API port is served by the owner's own HTTP proxy,
which had no access log, so the page showed "No data" however much
traffic the stack served.

## What changed

- The shared API proxy records one access line per request and per
websocket upgrade, in nginx combined format plus the duration. The
status is the one actually sent, including proxy-generated 404/502/503
and requests that wait for a lazy service to wake; a client that leaves
before the response is recorded as 499, and body bytes appear only for
responses that finished. Logging never delays a response.
- `apikey`, `access_token` and `token` query values are replaced by
`redacted` before the line is written; request headers such as
`Authorization` are not logged.
- T... (continued)

4097 of 6139 relevant lines covered (66.74%)

7.37 hits per line

Jobs
ID Job ID Ran Files Coverage
1 37649535591.1 07 Oct 2026 04:08PM UTC 79
66.74
GitHub Action Run
Source Files on build 37649535591
  • Tree
  • List 79
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #37649535591
  • cc18e656 on github
  • Prev Build on gh-readonly-queue/develop/pr-7038-8b70747331919dcc68985f47a24a95299898a651 (#37643943509)
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