Skip to content

docs: print version of a long table — time, job lifetime and size limit (CUB-5736) - #12293

Merged
mngr merged 2 commits into
masterfrom
docs/cub-5736
Oct 17, 2026
Merged

mngr merged 2 commits into
masterfrom
docs/cub-5736

Conversation

@mngr

@mngr mngr commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Depends on cubedevinc/cubejs-enterprise#16599 (and its stacked part cubedevinc/cubejs-enterprise#16598): must not merge before cubedevinc/cubejs-enterprise#16599 merges. The 15-minute print job lifetime and the size-limit failure ship in those two PRs.

Summary

The Print version of a dashboard with a long table (~10,000 rows and more) now downloads instead of timing out. This PR updates the pages that describe it:

  • docs/explore-analyze/dashboards/index.mdx
    • The download section says the print version of a long table can take up to ten minutes (a large dashboard's PNG or PDF, up to a couple), and that the progress notice (Preparing PDF…) stays up until the file arrives.
    • The Print version section says a print version larger than the export size limit fails with a message asking the viewer to narrow the dashboard's filters.
  • reference/control-plane-api.mdx: expiresAt is 5 minutes out, or 15 for layout: print. A print over the size limit ends failed, and its error asks the caller to narrow the filters.
  • api-reference/api.yaml: mirrors the regenerated public spec's one changed description, POST /api/v1/deployments/{deploymentId}/dashboard-exports. The parsed x-mint.content equals the new spec's description exactly. That is the only path that differs between the merge-base and the head public specs.

Verified against the code

  • Job lifetime: exportJobLifetimeMs(printLayout) = 10 min print budget + 5 min TTL for print, 5 min for board (packages/ai-engineer/src/services/dashboard-export-budgets.ts, DashboardScreenshotService.ts:534). console-server keeps the record up to MAX_JOB_TTL_SECONDS = 15 min. On staging-mngr-12 the live POST answered expiresAt 15.00 min after the press for a print and 5.00 min for a board PDF (cubedevinc/cubejs-enterprise#16599 test plan, AC-7).
  • Console wait: PRINT_TIMEOUT_MS = 10 min (useExportDashboard.ts:82; a board export keeps 3 min), used for every printLayout run, the dashboard's and a single table's (useExportDashboard.ts:443). While a print captures, the toast's description reads "Capturing the print version. This can take up to ten minutes." (capturingPrint in d3.json, DashboardActions.tsx:101, cubedevinc/cubejs-enterprise@8f51d60755); a board export keeps "Capturing dashboard. This can take up to two minutes." The verify walk recorded the toast sequence Preparing PDF… → Dashboard PDF downloaded. The loading toast stayed up from the press until the file arrived, with 0 danger toasts. Live 10,001-row prints took 31.5–48.6 s.
  • Size limit: the screenshoter fails a print over SCREENSHOTER_MAX_PRINT_PDF_BYTES (default 50 MB) with code print_too_large. Its error is "The print version is larger than the export limit. Narrow the dashboard's filters and try again. (job )" (packages/screenshoter/src/routes/screenshot.ts:318). ai-engineer relays error and errorCode (DashboardExportController.ts:420-422), and the public status passes error through (DashboardExportsPublicController.ts:396). The console, the embed Download menu and the widget download each show the translated line "The print version is larger than the export limit. Narrow the dashboard's filters and try again." (verify screenshot verify-4-toast-console-en-us-print-too-large.png). The page names no number, because the limit is a deployment setting.

Feature PR: https://github.com/cubedevinc/cubejs-enterprise/pull/16599
Linear: https://linear.app/cube-d3/issue/CUB-5736/dashboard-print-version-download-never-arrives-for-a-table-of-about

Rebased onto master after #12265 (CUB-5561, print a single table) merged into the same page; the merged sections were re-read and still agree with this PR's sentences.

@mngr
mngr requested a review from keydunov as a code owner October 16, 2026 12:16
@mintlify

mintlify Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
cubed3 🟢 Ready View Preview Oct 17, 2026, 12:48 AM

💡 Tip: Enable Automations to automatically generate PRs for you.

@github-actions github-actions Bot added docs Issues that require a documentation improvement pr:community Contribution from Cube.js community members. labels Oct 16, 2026
@claude

claude Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @mngr's task in 1m 14s —— View job


Docs are accurate and ready once enterprise#16599 merges. 0 high, 0 medium, 3 low.

Review details
  • Read the diff
  • Check the changed pages in context
  • Resolve stale review threads
  • Post review

Findings (all low, posted inline)

  1. docs-mintlify/docs/explore-analyze/dashboards/index.mdx:131-133: the paragraph covers PNG, PDF and single-chart downloads, but Preparing PDF… is the PDF notice only. The clause reads as the notice for every download. There's a suggestion to scope it to PDF.
  2. docs-mintlify/docs/explore-analyze/dashboards/index.mdx:198-199: the size-limit sentence only covers a download you start yourself. It doesn't say what a notification that attaches the Print version does when it goes over the limit. Nobody can narrow filters there. This is a question for the feature PR.
  3. docs-mintlify/reference/control-plane-api.mdx:418-421: nit. "ends failed, its error asking…" is hard to read, so there's a suggested rewording with "with an error".

Checked, no issues

  • The 5 / 15 minute expiresAt wording matches in control-plane-api.mdx and api.yaml. No other docs page states the export job lifetime.
  • The new size-limit paragraph sits after the <Info> block and doesn't conflict with the table-printing rules above it.
  • api-reference/changelog.mdx is generated from the platform client CHANGELOG. If the lifetime change belongs there, it should arrive through that pipeline, not this PR.
  • I couldn't check the feature-side facts in the description (PRINT_TIMEOUT_MS, SCREENSHOTER_MAX_PRINT_PDF_BYTES, the error text) because that code is in cubejs-enterprise. They're taken as stated.
  • No code changed, so there are no tests to run.

Review threads

The listing returned 0 of my own threads, so there was nothing to resolve or re-affirm.

Comment thread docs-mintlify/docs/explore-analyze/dashboards/index.mdx Outdated
Comment thread docs-mintlify/docs/explore-analyze/dashboards/index.mdx
Comment thread docs-mintlify/reference/control-plane-api.mdx
@claude

claude Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @mngr's task in 45s —— View job


LGTM: 0 high, 0 medium, 0 low.

Review details
  • Read the diff
  • Read the changed pages in full
  • Review threads
  • Post review

Findings

None. I checked:

  • Timing is consistent across all three files. The console's "up to ten minutes" matches the 10-minute PRINT_TIMEOUT_MS. The API's expiresAt is 15 minutes for layout: print (10-minute budget plus 5-minute TTL), and both control-plane-api.mdx:416-418 and api.yaml:703-704 give that figure.
  • The size-limit sentence is in the right place. dashboards/index.mdx:199-200 sits under the Print version heading, so it covers both the whole-dashboard print and the single-table print in "Print a single table". The control-plane page says the same thing as failed plus error, and like the pr description says, neither page states a number.
  • No other copy is stale. No other expiresAt text in api.yaml mentions a duration, and nothing else in docs-mintlify still says the print job lasts 5 minutes.
  • The anchor resolves. [print version](#print-version) points to {#print-version} on the same page.

Review threads

The listing returned 0 of my own unresolved threads, so none were resolved or re-affirmed. No new inline comments were posted.

@mngr
mngr merged commit aa8d945 into master Oct 17, 2026
17 checks passed
@mngr
mngr deleted the docs/cub-5736 branch October 17, 2026 02:53

This branch was successfully deployed

1 active deployment
staging - docs-mintlify — cc8d5842 Deployed Oct 17, 2026 by mintlify[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Issues that require a documentation improvement pr:community Contribution from Cube.js community members.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant