Repository navigation
Conversation
Only the arrow button navigated, through router.push, while the card's pointer cursor and whole-card hover made the rest look clickable. A Link now fills each card, and the arrow is a second link to the same page, kept out of the tab order and the accessibility tree. Generated with Claude <noreply@anthropic.com>
Generated with Claude <noreply@anthropic.com>
…ards-clickable fix(tools): make each tools card a link to its docs page
…tion (#60) account_daily counts only accounts created before today (UTC), the accounts the export holds, so a named domain always shows at least 3 of them. The account export fails on an empty user table, replaces the table with no rows when every account is from today, and fails on an empty webmail_domain. Each exported event row carries export_rules, a digest of the export rules, ROW_SHAPE_VERSION and an HMAC under the hashing key, and every day holding an older digest reloads. A day that fails no longer blocks later days, the run stops starting days after a 20-minute budget, and its error names the failed, short, and unreached days.
#61) registerRequestLogging attaches one close listener per response, so a request writes exactly one line with a finished flag, and a response that closes before the app sends a status logs 499. The path is the request target as it arrived, normalised without reading // as a host. A document prerender is kind page with a prerender flag. Static assets are dropped before the caller HMAC is computed. docs/analytics.md describes the line and the account and event export rules.
…cument (#54) A path under /api/v1 that no proxy route handles fell through to the site's HTML 404 page, so the SDK saw a refusal with no code. The optional catch-all route src/app/api/v1/[[...path]]/route.ts now answers every method with the application/problem+json document the APIs use for their own unknown routes: code not_found, retryable false, and a fresh trace id repeated in x-dfo-trace-id. Next.js matches the datasets, graph, search and studio routes first, so nothing they serve changes, and the catch-all forwards nothing.
Every Postgres and BigQuery call in the event and account exports has a client-side bound, and a Postgres client that times out is destroyed. A 28-minute watchdog in runAndExit logs the phase in flight, the days not started and the faults so far, and exits 1 before the Job's 1800 s task timeout; every other failure is logged once with its phase. The window days run before the stale backlog. Day counts come from one exact query over the table, readDay stops on a short page, and the export_rules digest covers the readDay SQL, so a change to the exported row shape reloads history. A golden test pins exported rows to ROW_SHAPE_VERSION. The request log classifies the target at request start, adds no listener for static assets, and logs a placeholder path for any target other than an origin-form path, an http(s) URL or "*".
This branch was successfully deployed
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.
Releases
devat5c73d728to production: #54, #56, #60, #61 and #63, each deployed and green on the dev service.#60 keeps three exported accounts behind every organisation
account_dailynames. Production runs migration0021_account_daily_before_todayon deploy, which recreates the view so the threshold counts accounts created before today (UTC) and addsaccount_daily_source. #60 and #63 add theexport_rulesdigest, which covers the exported row shape and the day read's SQL, so the firstdfo-prod-website-exportrun after the deploy reloads every day ofwebsite_export.eventonce, current days first. #63 bounds every Postgres and BigQuery call in the export Job, destroys a Postgres client that times out, and stops the Job at 28 minutes with a report of the phase in flight and the days not started.#61 and #63 write one request line per request, on finish or on close, with new
finishedandprerenderfields, and log a placeholder path for any target other than a path, an http(s) URL or*; static assets write no line. The fields infra'swebsite_requests_dailyreads are unchanged. #54 answers unknown/api/v1routes with anot_foundproblem document. #56 makes each tools card on the home page a link to its docs page.