BI and Reporting Release Notes
Release notes for business intelligence, reporting and data visualization platforms
Products (11)
Latest BI and Reporting Updates
- Jul 11, 2026
- Date parsed from source:Jul 11, 2026
- First seen by Releasebot:Jul 12, 2026
Rich input for the terminal, Ghostty-speed scrolling, and Mistral Vibe
Superset adds a richer terminal and faster agent workflows, including editor-style terminal input, Ghostty-speed scrolling, and Mistral Vibe support. It also expands remote host access, improves updates and logs, and delivers fixes for sessions, layouts, themes, and terminal stability.
Rich Input for the Terminal #5453
Rich Input for the Terminal
Press ⌘I over any terminal pane and compose in a real editor instead of the raw TTY line. Great for prompting CLI agents like Claude Code, Codex, and OpenCode.
- Enter sends, Shift+Enter adds a newline, and multiline prompts land as one block instead of executing line-by-line
- @file mentions work, powered by the same editor as workspace chat
- One global toggle covers every pane and persists across restarts
Terminal Scrolling at Ghostty Speed #5563
Terminal Scrolling at Ghostty Speed
Claude Code transcript scrolling in Superset terminals used to crawl at about a third of native speed. Agent TUIs now compensate correctly for our terminal, and scrolling matches Ghostty.
Mistral Vibe Joins the Agent Roster #5552
Mistral Vibe Joins the Agent Roster
Mistral Vibe is now a first-class terminal agent, contributed by @ThomsenDrake from the Mistral team. Pick it in any agent picker, choose a model, and get the same working indicator and completion chime as the built-ins.
- Model picker includes mistral-medium-3.5 and devstral-small
- GPT-5.6 Sol, Terra, and Luna added to the Codex model picker
Improvements
- Wake offline hosts - Attach a wake command to any host and run superset hosts wake to power it back on
- Remote hosts on every plan - Connecting to remote hosts through the relay no longer requires a paid plan
- Sydney relay region - Australian users get a local relay for lower latency and fewer dropped connections
- Inline update pill - The update toast is gone; a compact pill in the sidebar shows download progress, installs on click, and confirms the new version
- Copy CI logs - Copy a failed GitHub Actions job's logs straight from the review sidebar for pasting into a prompt
- Linear filters for Tasks - Filter and sort tasks by Linear project, cycle, due date, and priority across the desktop, CLI, and MCP
- Clear terminal connection errors - When a terminal can't connect, the pane now says why (host offline, no access, or a relay routing issue)
- Delete hosts - Owners can remove a host from Settings with typed confirmation
- Presets bar in the View menu - Show or hide the presets bar from View → Toggle Presets Bar
- CLI workspace lookup - superset ws get prints a workspace's details, with --field for scripting
- The main workspace is "local" - The repo checkout always displays as "local" and can no longer be renamed
Experimental: live agent sessions on iOS - an early build of driving a coding agent running on your desktop from the iOS app; the agent and your code stay on your machine. Off by default under Desktop → Settings → Security.
Bug fixes
- Fixed remote-host terminals showing "disconnected" when the host lives in a different relay region
- Stopped broken sessions from hammering auth endpoints with retry storms
- Diff view syntax highlighting now follows your custom theme
- Custom agent icons now apply to terminal presets
- Malformed pane layouts heal themselves instead of crashing the workspace
- Capped renderer memory growth from long chat sessions
- Workspaces now stay in the creating state until creation fully resolves
- Fixed agent launch failing when attachment directories were missing
- Fixed git status failing under a truncated login-shell PATH
- More reliable AI-generated workspace names
- Stopped sync clients from retrying fatal errors in a loop
- Terminal streams now close cleanly with accurate error codes instead of hanging
- Jul 11, 2026
- Date parsed from source:Jul 11, 2026
- First seen by Releasebot:Jul 12, 2026
feat(desktop): add View menu toggle for the presets bar #5576
Superset adds a View menu toggle for the presets bar in v1 and v2 workspaces, with v2 hiding the entire strip and moving the run button into the TopBar. It keeps the menu and workspace state in sync while preserving existing shortcuts and visibility settings.
Adds a View → Toggle Presets Bar menu item that shows/hides the presets bar in both v1 and v2 workspace views (previously only reachable via the in-bar gear menu / Add Tab dropdown).
In v2, hiding the presets bar now hides the whole strip: the run script button relocates into the TopBar via a portal slot instead of leaving a slim stub bar behind.
Extracts two shared helpers along the way: useShowPresetsBar (v1 optimistic setting mutation, previously copy-pasted in PresetsBar and GroupStrip) and useSlotElement (portal slot lookup, previously inlined for the right sidebar).
Why / Context:
The presets bar visibility toggle only lived inside the bar itself and the Add Tab dropdown. A View menu entry is the conventional macOS home for chrome show/hide toggles. Separately, v2's "hidden" state wasn't really hidden — it kept a dedicated row just for the run button.
How It Works:
- main/lib/menu.ts adds the View item, which emits toggle-presets-bar on the existing menuEmitter; the menu.subscribe tRPC observable forwards it to the renderer (same path as Open Repo / Settings).
- V1: ContentView subscribes and flips the SQLite showPresetsBar setting through useShowPresetsBar, which reads the current value from the query cache so the toggle never acts on a stale closure.
- V2: the listener lives in v2-workspace/layout.tsx, deliberately above WorkspaceProvider. workspaceTrpc.Provider (nested inside it) shares @trpc/react-query's default React context, so electronTrpc hooks below it silently resolve the host-service httpBatchStreamLink client — which throws on subscriptions. A code comment documents this constraint.
- Run button relocation: TopBar renders an empty slot div on v2 workspace routes (empty:hidden avoids a phantom flex gap). When the presets bar is hidden, the v2 page portals the run button into it, keeping the button's React ownership (pane store, launcher, workspace providers) inside the page tree while the DOM lands in the TopBar.
Manual QA Checklist:
- View → Toggle Presets Bar hides/shows the bar in a v1 workspace
- View → Toggle Presets Bar hides/shows the bar in a v2 workspace
- Toggling on the dashboard (no workspace open) is a no-op, no errors
- Existing gear-menu / Add Tab dropdown checkboxes still work and stay in sync
- Hiding the presets bar removes the entire strip (no stub row)
- Run button appears in the TopBar (left of Open In) while hidden, and works
- Showing the bar again returns the run button to the bar's trailing edge
- Run button styling looks correct against the TopBar height (incomplete)
- RUN_WORKSPACE_COMMAND hotkey works in both states
- v1 and v2 visibility each persist across app restart (independent stores, pre-existing behavior)
Testing:
- bun run typecheck
- bun run lint
- Manual testing in dev mode (v1 + v2 workspaces)
Design Decisions:
- Plain toggle item instead of a checked menu item: a checkbox would require main-process knowledge of renderer state (two divergent stores, v1 SQLite vs v2 local prefs) plus menu rebuilds on every change. The plain item needs no sync and can't drift.
- Per-view listeners instead of one global handler: only the active workspace route is mounted, so each view flips exactly its own store; a global handler would need route sniffing to pick the store.
- Portal for the run button instead of rendering it in TopBar: the button needs useV2WorkspaceRun state that only exists inside the workspace page's provider tree; TopBar is outside it.
Known Limitations:
- The @trpc/react-query shared-default-context footgun remains: any electronTrpc hook used under workspaceTrpc.Provider silently talks to the host-service client. Giving electronTrpc a dedicated context (context: createContext(null)) would eliminate the bug class — deferred as a follow-up since it changes plumbing app-wide.
Summary by cubic:
Adds a View → Toggle Presets Bar for v1 and v2 workspaces. In v2, hiding the bar removes the strip and portals the run button into the TopBar; toggles read state at call time and handle rapid events correctly.
Summary by CodeRabbit:
New Features:
- Added a Toggle Presets Bar option to the desktop View menu.
- Presets bar visibility can now be toggled from the menu and stays synced with the workspace UI.
- Updated the v2 workspace layout so the run-button area adjusts when the presets bar is hidden.
Bug Fixes:
- Reduced brief visual flashing when restoring the workspace’s saved sidebar/toolbar state.
All of your release notes in one feed
Join Releasebot and get updates from Apache and hundreds of other software products.
- Jul 11, 2026
- Date parsed from source:Jul 11, 2026
- First seen by Releasebot:Jul 12, 2026
feat(mobile): live ACP agent sessions end to end (host harness, mobile UI, desktop gate)
Superset adds an experimental iOS live agent session feature that lets the mobile app control coding-agent runs on a desktop host, with streamed updates, permissions, reconnect support, and an opt-in security gate disabled by default.
This adds an experimental way to start and control a coding-agent session running on a desktop host from the iOS app.
The mobile app is a remote UI; the agent process, workspace access, permissions, and native session files stay on the desktop.
The feature is off by default behind Desktop > Settings > Security > Enable live agent sessions (experimental).
- iOS session UI
- relay (authenticated HTTP + WebSocket proxy)
- host-service tRPC + session stream
- AcpSessionManager
- one claude-agent-acp child per active session
- Claude's native on-disk session store
The detailed ACP-vs-direct-SDK walkthrough is in the standalone comparison page. This PR body is the shorter implementation guide for reviewers.
What changed
Area Responsibility packages/host-service Owns adapter processes, ACP JSON-RPC, session state, permissions, the bounded update journal, WebSocket fan-out, tRPC commands, and restart resurrection. packages/host-client (new) Platform-neutral relay transport: SuperJSON tRPC calls, one forced-token refresh after a 401, and fresh authenticated WebSocket URLs on reconnect. packages/session-protocol (new) Shared session/frame contracts, input schemas, timeline fold, reconnect/dedup/reset client, and React hooks. apps/mobile iOS session list and thread UI: open a workspace's context menu > Live sessions, then drive messages, plans, nested tool calls, model/mode/effort controls, permission and question cards, cancel, pagination, and reconnect/error banners. apps/desktop Stores the opt-in security setting and restarts host children with SUPERSET_ACP_SESSIONS=1. It does not render this session UI.The existing Mastra chat path is not rewritten by this PR; live ACP sessions have a separate mobile route while the feature is evaluated.
Protocol flow
Create and run a turn
The public Superset session id is different from the adapter's native session id.
mobile > host tRPC acpSessions.create { sessionId, workspaceId }
host > adapter initialize
host > adapter session/new { cwd, mcpServers: [] }
adapter> host { sessionId: , modes, configOptions }
host > mobile { sessionId: , status: "idle", ... }A prompt is admission-acknowledged over HTTP; a potentially long-running turn does not keep a relay request open:
mobile > host tRPC acpSessions.prompt { sessionId, prompt }
host > mobile { accepted: true }
host > adapter session/prompt
adapter> host session/update notifications
host > mobile WS { seq, sessionId, frame }When the adapter blocks on a tool or AskUserQuestion, the host parks the ACP request and streams a renderable card to mobile. The mobile response resolves that exact request id:
adapter> host session/request_permission { toolCall, options }
host > mobile WS permission_requested { requestId, ... }
mobile > host tRPC respondToPermission { requestId, outcome }
host > adapter { outcome }
host > mobile WS permission_resolvedSingle-select, multi-select, and skipped question answers are supported. The adapter's paired free-text *_custom fields are intentionally ignored today, so the mobile flow is tap-only. Multi-select answers use ACP's _meta extension while preserving a normal first optionId for single-select consumers.
Reconnect and restart
Each runtime has a gapless seq journal. A reconnect presents its last sequence; the host replays (since, latest] and then attaches the live subscriber without a handoff gap. Duplicates are ignored. A missing/evicted cursor produces a terminal reset, after which the client refetches state/history and opens a fresh stream URL/token.
Current caveat: the numeric cursor does not yet include a journal-incarnation id. A new journal starts at 1 after host resurrection, so an overlapping pre-restart cursor is not guaranteed to be recognized as stale by number alone. The mobile hook's normal restart path refetches state/history before attaching; making cross-incarnation rejection intrinsic to every cursor is tracked as P0 follow-up.
Host SQLite stores only the durable binding needed to find the harness-owned session again:
Superset session id > workspace id + native ACP session id + harness + cwd
After a host restart, list/get return the row as status: "offline" without starting a process. The first live operation (getMessages, prompt, permission/config command, or stream attach) spawns a new adapter and calls:
host > adapter session/load { sessionId: , cwd }
adapter> host replayed session/update notifications
host > mobile rebuilt transcript + live updatesAn in-flight turn and pending permission callbacks do not survive a host restart. Replayed tool calls that were left open are terminalized instead of appearing to run forever.
If the native Claude session file was deleted or is corrupt, session/load fails. The registry row remains offline and retryable; the stream emits reset: "session_load_failed", the hook retries through tRPC, and the actual load error is shown in the thread's destructive error banner. The composer stays hidden until resurrection succeeds, and no replacement session is silently created.
Security and feature gating
- The setting defaults off. When off, the WebSocket route is not mounted and every ACP procedure except list rejects with PRECONDITION_FAILED.
- list remains authenticated but returns { items: [], enabled: false }, so the sessions screen can feature-detect without an extra capability endpoint.
- Existing host auth protects both tRPC and WebSocket paths; reconnects mint a fresh short-lived JWT.
- ANTHROPIC_API_KEY and ANTHROPIC_AUTH_TOKEN are removed at the adapter spawn boundary, so a repo .env cannot override the user's Claude login.
- Host SQLite stores registry metadata only. Message text, tool payloads, permission payloads, and journal frames are not copied into that table.
History, memory, and validation boundaries
The host journal is a fixed-capacity O(1) circular buffer (5,000 envelopes), and pre-runtime session/load replay buffering is capped to the same window. This prevents lifetime-unbounded host memory, but the journal still serves both recent reconnect catch-up and getMessages pagination. Because ACP exposes whole-transcript replay rather than paginated native history, history older than the retained window is not currently available through Superset.
The React hook retains the pages the user loaded plus live envelopes for the current mount so it can refold the timeline. Separating disk-backed history from a much smaller catch-up ring, and bounding the live client overlay, is explicitly follow-up work rather than something this PR claims to have solved.
TypeScript is strict across the production path, but runtime validation is not complete. tRPC inputs are Zod-validated and the official ACP SDK validates its registered request/notification boundary; nested WebSocket payloads, generic relay outputs, adapter responses, and SQLite rows are not all fully parsed by canonical Zod schemas yet. The current truth and the hardening plan are documented in packages/host-service/docs/acp-sessions.md and plans/acp-session-follow-ups.md.
Test coverage
Primary confidence: authenticated real-Claude runs
The ACP_E2E=1 suites are the important compatibility evidence. Nothing at the model/adapter boundary is mocked: they use this Mac's authenticated Claude CLI account, a real Sonnet model, the pinned claude-agent-acp executable, real ACP JSON-RPC over stdio, AcpSessionManager, and the real WebSocket route/client.
The manager suite covers real initialize/create/prompt/fold behavior, a saved multi-agent Workflow, AskUserQuestion, tool permissions, cancellation after permission, first-response-wins, parallel tool use, and adapter death. The stream suite runs the same real adapter/model through the actual WebSocket route and sync client, covering concurrent subscribers, a mid-turn disconnect/cursor reconnect with no gaps or duplicates, and eviction reset/re-attach.
The Workflow assertion does not stop at Claude's asynchronous async_launched acknowledgement. It waits for the persisted run to reach completed, then verifies all five Sonnet agents, non-zero real token/tool usage, two parallel audits, and the final structured verdict. In the latest complete authenticated run, that Workflow finished in 36.1 seconds with 5 Sonnet agents, 77,981 tokens, and 14 tool calls.
Run the full authenticated lane on a logged-in Mac whenever changing the ACP runtime, adapter/SDK, Workflow handling, permissions, questions, cancellation, stream/reconnect/sequencing, or resurrection:
cd packages/host-service ACP_E2E=1 ACP_E2E_MODEL=sonnet ACP_E2E_EFFORT=low \ bun test \ test/integration/acp-sessions.integration.test.ts \ test/integration/acp-sessions-stream.integration.test.tsThese tests are skipped in ordinary CI only because CI does not have a Claude login and the runs spend real tokens. That is an infrastructure limitation, not a signal that this lane is optional; until an authenticated runner exists, the agent making a relevant change is expected to run it locally and report the real result.
Latest full authenticated result: 10/10 passed, 113 assertions, 72.1 seconds.
One current adapter behavior is pinned explicitly: Claude emits two parallel Bash tool uses together, but claude-agent-acp 0.56.0 exposes their permission callbacks to Superset one at a time. Superset still supports truly simultaneous pending permission requests; that state-machine case is exercised by the deterministic backup below.
Belt and suspenders: deterministic regression breadth
The always-run deterministic ACP adapter is deliberately secondary. It speaks real ACP JSON-RPC over stdio through the official SDK and gives cheap breadth plus exact fault injection, but it uses no Claude model/account/network and cannot establish real adapter/model compatibility.
Covered scenarios include:
- a 30-turn marathon with gapless streaming, pagination, and identical refolding;
- prompt admission/rejection/recovery and concurrent turns;
- allow/deny, stale duplicate answers, multiple pending permissions, and single-/multi-question elicitation forms;
- cancel mid-tool, cancel while permission-blocked, adapter death, and sibling-session isolation;
- stream drop/reconnect from cursor, duplicate suppression, malformed frames, journal eviction/reset, and two concurrent subscribers;
- real host-client question answering, in-flight cancellation, simultaneous permissions, cursor reconnect, host/app/server/SQLite close and rebuild, passive offline listing, session/load transcript replay, bounded replay, and deleted native-session failure;
- mobile presentation regression coverage for the exact missing-transcript banner, the "Session could not be resumed" empty state, and the disabled composer;
- create idempotency/workspace conflicts, list/message cursor validation, model/mode/config updates, title clearing, feature gate/auth, and credential scrubbing;
- relay serialization, real tRPC error messages, 401 refresh-once, and fresh WebSocket tokens.
The host-client boundary suite is another belt-and-suspenders layer: it starts the real createApp host and crosses actual auth, HTTP/SuperJSON/tRPC, WebSockets, child-process stdio, and on-disk SQLite through @superset/host-client; only the model/adapter behavior is deterministic. It is especially valuable for the question, abort, simultaneous-permission, reconnect, full host/app/server/DB rebuild, resume, and missing-native-transcript paths, but it does not replace the authenticated real-Claude lane.
Current ACP evidence on this head: the authenticated Sonnet lane is 10/10 (113 assertions), and the focused deterministic ACP/runtime/host-client lane is 49/49 (553 assertions). Host-service typecheck and root lint also pass. The broader branch baseline previously passed Sherif, 34/34 Turbo typecheck tasks, 14/14 Turbo test tasks (including 835 host-service tests), release typecheck, 15/15 release tests, unified-version validation, and an iOS production Metro export (5,556 modules).
Suggested review order
- packages/host-service/docs/acp-sessions.md > current behavior and known limits.
- packages/host-service/src/runtime/acp-sessions/acp-sessions.ts > lifecycle and ACP bridge.
- packages/host-service/src/runtime/acp-sessions/{persistence,journal,stream}.ts > durability and delivery.
- packages/session-protocol/src/{api,envelope,state}.ts and src/client/subscribeToSession > shared wire contract.
- packages/session-protocol/src/react/useAcpSession > resync/pagination state owner.
- apps/mobile/.../chat/acp/ > iOS presentation and interaction layer.
- packages/host-service/test/integration/acp-sessions*.test.ts > executable behavior matrix.
Remaining architecture and production-hardening work is centralized in plans/acp-session-follow-ups.md; completed implementation history is archived under plans/done/.
Original source - Jul 10, 2026
- Date parsed from source:Jul 10, 2026
- First seen by Releasebot:Jul 12, 2026
feat(shared): add GPT-5.6 models to Codex picker
Superset adds GPT-5.6 Sol, Terra, and Luna to the Codex new-session model picker, giving users new model choices and adding tests to confirm each ID is accepted.
Adds GPT-5.6 Sol, Terra, and Luna to the Codex new-session model picker.
Tested each ID with
codex exec --model <id> "what model are you?"(exit 0), plus unit tests, lint, and typecheck.Summary by cubic
Added GPT-5.6 Sol, Terra, and Luna to the Codex new-session model picker so users can choose the latest variants. Added tests to verify each model ID is accepted.
Summary by CodeRabbit
- New Features
- Added support for selecting GPT-5.6 Codex models: Sol, Terra, and Luna.
Greptile Summary
This PR adds three new GPT-5.6 model variants — Sol, Terra, and Luna — to the Codex new-session model picker by inserting entries at the top of the codex preset's model list in AGENT_MODEL_SUPPORT, and adds a covering test for all three IDs.
Three { id, label } entries for gpt-5.6-sol, gpt-5.6-terra, and gpt-5.6-luna are prepended to the codex section of AGENT_MODEL_SUPPORT; ordering is consistent with newest-first across the file.
A new it() block iterates all three IDs and confirms buildAgentModelArgs("codex", model) returns ["--model", model], matching the pattern of adjacent tests.
The new models do not appear in SUPERSET_CHAT_MODELS, unlike gpt-5.5, gpt-5.4, and gpt-5.3-codex which each have openai/-prefixed entries there; whether this is intentional or an oversight is worth confirming.
Confidence Score: 4/5
The change is a small, additive list edit with no functional risk to existing model selections; the only open question is whether the new models should also appear in the Superset chat model list.
The change touches only a static data array and its test. Existing model selections are unaffected, the new entries are validated by the test, and buildAgentModelArgs safely ignores any ID not in the curated list. The one open question — whether gpt-5.6-* should also land in SUPERSET_CHAT_MODELS — could leave those models absent from the chat picker if they are in fact supported there, but does not introduce wrong behavior on the Codex path.
File affected: packages/shared/src/agent-models.ts — specifically whether the new models warrant corresponding entries in SUPERSET_CHAT_MODELS.
Additional notes
The new gpt-5.6-sol/terra/luna models are added only to the Codex section and not to SUPERSET_CHAT_MODELS. If these models are accessible through the Superset chat API (with an openai/ prefix), the omission would mean they never appear in that picker. It is unclear if this omission is intentional or an oversight.
Original source - Jul 10, 2026
- Date parsed from source:Jul 10, 2026
- First seen by Releasebot:Jul 12, 2026
fix(relay): allow free plans to use the relay #5571
Superset relaxes relay access so free-plan users with an authorized host can use the relay HTTP proxy and /tunnel WebSocket. Access now depends only on host authorization, while the desktop paywall UI stays unchanged.
Relay access no longer requires a paid subscription. The relay gate (checkHostAccess) now grants access based solely on result.allowed from host.checkAccess, dropping the && result.paidPlan requirement. Free-plan users whose host is authorized in their org can now use the relay HTTP proxy and /tunnel WebSocket instead of getting 403 Forbidden / a closed socket.
Scope is limited to the relay server enforcement — the only place that actually blocked free users. The desktop paywall UI is intentionally left untouched. The paidPlan field returned by host.checkAccess is now unused by any consumer but kept in place to minimize the diff.
Test Plan
- Free-plan user's authorized host connects via relay (no 403 / tunnel close)
- Non-authorized host (wrong org) still denied
- Paid-plan behavior unchanged
Summary by cubic
Allow free-plan users with an authorized host to use the relay HTTP proxy and /tunnel WebSocket. Access now relies only on host.checkAccess returning allowed, removing the paid plan check.
Summary by CodeRabbit
Bug Fixes
- Host access is now granted whenever access is approved, including for eligible plans that were previously blocked by an unnecessary plan-status check.
Greptile Summary
This PR removes the paidPlan requirement from the relay access gate, so free-plan users whose host is authorized in their org can now connect via the relay HTTP proxy and WebSocket tunnel. The change is limited to a single expression in checkHostAccess. The ok condition in apps/relay/src/access.ts changes from result.allowed && result.paidPlan to result.allowed, granting relay access based solely on host authorization rather than subscription tier. The paidPlan field returned by host.checkAccess is retained but no longer consumed by any caller; the desktop paywall UI is intentionally unchanged.
Confidence Score: 5/5
Safe to merge — the change is a one-line relaxation of a business-logic gate with no effect on the surrounding auth, caching, or error-handling paths. The only modified line drops && result.paidPlan from the access decision. Host authorization (result.allowed) is still enforced, org membership is still checked locally before any API call, and the LRU caches continue to behave correctly. The unused paidPlan field is kept in the response type to minimise diff surface. No auth bypass, no data-plane change, no cache semantic shift. No files require special attention.
Original source - Jul 10, 2026
- Date parsed from source:Jul 10, 2026
- First seen by Releasebot:Jul 12, 2026
feat(desktop): allow owners to delete hosts
Superset adds an owner-only Delete host action in Settings with typed confirmation, local-host protection, and optimistic removal. The delete flow now verifies ownership inside the transaction and leaves workspace, file, conversation, and automation data unchanged.
Summary
- add an owner-only delete action to host settings with typed confirmation and local-host protection
- verify active organization membership and host ownership inside the delete transaction
- issue only the host-row delete; do not query, delete, or update workspaces or automations
- keep the existing workspace foreign key and database schema unchanged
- optimistically remove the host, restore it on failure, and expose the action through settings search
User impact
Owners can remove hosts directly from Settings. Workspace, file, conversation, and automation data is never mutated by this flow. Existing database constraints remain authoritative.
Validation
- focused host deletion tests — 6 passed
- bun run typecheck in packages/db, packages/trpc, and apps/desktop
- bunx drizzle-kit check
- bun run lint
- git diff --check
Greptile Summary
This PR adds an owner-only "Delete host" action to the desktop Host Settings page, backed by a new transactional v2Host.delete tRPC mutation that verifies org membership and host ownership with row-level locks, removes synced workspace rows, pauses related automations, and cascades through host memberships. The optimistic UI removes the host from the Electric collection immediately, navigates the user back to the host list, and shows a success toast once the server confirms.
Backend (v2-host.ts): Membership is pre-checked outside the transaction for an early exit, then host existence and owner role are re-verified inside with FOR UPDATE locks — a solid TOCTOU-safe pattern. Workspaces are deleted before the host to respect the restrictive FK, and automations are paused with a conditional OR/inArray guard that handles the zero-workspace case correctly.
Frontend (DeleteHostSection.tsx): Confirmation dialog with local-host guard; optimistic delete fires before navigation so the host disappears from the list without a loading pause.
Tests (v2-host.test.ts): Auth/authz edge cases are well covered, but the code path where a host has no associated workspaces is not exercised.
Confidence Score: 4/5
Safe to merge — the mutation is well-guarded with transactional row locks and multi-layer ownership checks, and the optimistic UI degrades cleanly on failure.
The security model is solid: org membership is pre-checked outside the transaction and host ownership is re-verified inside with FOR UPDATE locks, preventing TOCTOU races. The main gap is test coverage for the zero-workspace deletion code path, where a different WHERE clause is generated but never exercised by the test suite.
packages/trpc/src/router/v2-host/v2-host.test.ts — the zero-workspace happy-path scenario is missing and should be added to cover the eq(automations.targetHostId) only branch.
Original source - July 2026
- No date parsed from source.
- First seen by Releasebot:Jul 10, 2026
2026.1
Tableau Cloud fixes a wide range of issues across refreshes, maps, flows, activity logs, sign-in, SCIM, and web authoring, improving reliability for data management, authentication, and publishing.
Release Notes
Issue ID | Description
Issue ID Description 21660919 Bridge extract refresh reports success with incomplete row count, no error raised to user or Tableau Cloud 21729187 Postcodes for Lituania(LT) and Poland(PL) fails to render on maps in Tableau Desktop 22155279 In Tableau Server 2025.3.x, when a flow output is published with Hyper format it defaults to "Extract.hyper" and the output file path is missing. 21729928 Some FIPS 10 Country Codes Do Not Map Correctly, Resulting in "Missing Location" Errors or Incorrect Map Placements 21819538 Stale and incomplete metadata responses in Tableau Cloud 2026.1.0 21749329 Snowflake Flows In Tableau Cloud Fail To Switch Authentication Method When Updated With REST API 21940997 BUFFER() function returns error when using live connection to published data sources in Tableau Cloud 21447868 TDC customization for proxy use are not working during the "Prompt Credentials" or "Test Connection" on Tableau Server 21918877 Activity Log Is Missing Events 22313786 Slack Integration Fails in Tableau Cloud (errorCode=180002) 20609751 Unable to sign into Tableau Cloud from Tableau Bridge or Tableau Desktop when email address has an apostrophe (') in itIssue ID | Description
Issue ID Description 19835340 Cancelled Flow Jobs Sort To The Top Of The Run History Page On Tableau Server And Cloud 20683946 Latest Flow Runs Are Not Sorted By Default In Tableau Server And Tableau Cloud 19618683 Extract Refresh Failures When Multiple Snowflake Key Pairs with the Same Username are Configured in Tableau Cloud. 20919675 Unable to Delete or Edit a SCIM Configuration if the Admin User Who Created It Changes Their Role 19983425 When selecting the 'Test Connection' button, an error occurs for Snowflake Key Pair authentication via Tableau Cloud with embedded credentials: [1.1 ] 20629183 Inaccurate Warning Message When Updating Project Owner in Tableau 2025.3.xIssue ID | Description
Issue ID Description 20680947 Tableau Prep Flow output to write table to Databricks fails with a "System Error" 20141912 Tableau Cloud unable to refresh Greenplum data sources that are embedded in published workbooks 15130478 Tableau Server / Tableau Cloud - List of projects in Connected Apps option of settings is limited to 1000. 20620535 Unable to save text containing line break, copied and pasted into a text box during web authoring 21316359 Some extracts and flows are sporadically failing with the error "HTTP 423: An unknown error related to remote content was detected (423)" 19384115 Delay in Applying or Updating Data Labels on Tableau CloudIssue ID | Description
Issue ID Description 18794879 Lineage not being updated for newly published data sources 18886893 Unknown Error After Excluding Fields in Virtual Connections 20343756 When signing in to Tableau Cloud from Tableau Desktop after a prior successful login using the external browser, an error is received 19563447 Error "Can't connect to Looker by Google" Connecting to Looker From Tableau Cloud 19301147 User search in Tableau Cloud fails for usernames starting with "v-" 18951370 Map not displaying Zipcode data when web authoring on Tableau Cloud 21013262 Tableau Cloud - BUFFER Spatial Function Fails for Published Extracts in Tableau Cloud when connected using Tableau Desktop 2024.2+ 18390646 Some Fonts are Missing from the Available List in Web Edit when Microsoft Edge Browser UI is in non-English Windows Tableau Server 19067612 Admin Insights Dashboard is Incorrect for Specific Fields. 19253412 Test Connection button results in "Salesforce account not configured to access additional AI in Tableau features" error in Tableau Cloud 19092140 The Activity Log login_authentication Was Not Generated in Tableau Cloud 20315302 TableauException: Internal error while processing Spatial data:ring has no area or spike with no area 19864666 Unable to Save "Explore in Tableau" Site Setting on Tableau Cloud 19407984 Activity Log events intermittently missing in S3 19084720 Background maps do not load in Tableau Server and Tableau Cloud when using Client side rendering 18559220 429 “Too Many Requests” Error Occurs When Using SCIM in Tableau Cloud 20017859 Tableau Cloud: Mail notification with attachments are failing intermittently 19349622 Error “NO_AGENT_IN_POOL_SUPPORTS_REMOTE_EXTRACT_REFRESH” when refreshing extracts with Tableau Bridge 19067765 Tableau Cloud Admin Insights Dashboard – "Licensing date_last_updated" Field Reverting to Previous Value 18662747 Adding users to a group in a Tableau Cloud site intermittently fails with unexpected error. 20342798 Tableau Cloud: Active File uploads are getting deleted if the upload duration is longer than 2 hours. 19469904 "Edit Server and Site Path" performance Tableau Server vs. Tableau Cloud Original source - July 2026
- No date parsed from source.
- First seen by Releasebot:Jul 10, 2026
2025.3
Tableau Cloud fixes a wide range of issues across Bridge, flows, permissions, authentication, exports, search, and refreshes, improving reliability, access controls, and workbook performance in the latest release notes.
Release Notes
Issue ID | Description
Issue ID Description 20251300 Tableau Bridge Connections Fail Due to "WebSocket connection closed" Error After Tableau Cloud 2025.3 Upgrade 20225295 Links On Jobs Page For Some Failed Flows Redirects Back To Jobs Page 20264392 Decimal Values Become Null When Connecting to CSV on Box via Virtual Connection 19453590 Retention days of Recycle Bin is reverted when changing site settings at TCM in Tableau Cloud 20451289 Setting permissions for User/Groups causes the UI to become unresponsiveIssue ID | Description
Issue ID Description 19309617 Custom themes do not work when workbook uses a Published Data Source 19379755 Intermittent refresh extract failure with error "Error creating bean with name 'remoteQueryConnectionAttributesHelper'" in Tableau Cloud 19975410 Linked task scheduled flows are not triggering subsequent flows on Tableau Cloud 2025.3 19396930 Run Now action from Extract Refreshes tab fails for Non-admin users 18243184 "Download Data Source" Event Incorrectly Recorded in Admin Insights TS Events 20287276 Error "clientId is marked non-null but is null" When Refreshing OAuth Data Sources via Tableau Bridge in Tableau Cloud 2025.3 19360987 Viewers are denied from accessing re-published workbooks when the datasource access is restricted 19152908 When opening a workbook on Tableau Cloud, An unexpected error occurred. If you continue to receive this error please contact your Tableau Server Admin 19677218 When Adding a New Cluster with Multiple Nodes in Tableau Cloud/Data Connect, the Error "The container registry is not yet deployed ..." Appears 19711075 Unable to Disable Single Logout (SLO) for OIDC (OpenID Connector) Authentication on Tableau Cloud 20309636 Flows failing with the error messages "Unable to Publish Data Source" 19068826 Inline frame authentication radio button resets to separate pop-up window authentication when changes are saved.Issue ID | Description
Issue ID Description 19966139 Input Path Parameter Is Expanded When Opening Flow in Tableau Prep Builder 2025.2Issue ID | Description
Issue ID Description 17785234 Errors Occur when Filtering Search Results by Tags which Contain Square Brackets or Vertical Bars 18823998 Unable to Download Crosstab From Download Object on the Dashboard Without "Download Image/pdf" Permission 18552183 Question Mark is Added to Date/Time Fields When Views are Exported From Tableau Cloud to CSV 17283067 "Edit Connection" dialogs for Prep Flows in Tableau Cloud may display the option 'Network type' which does not actually impact the behavior 17801259 Error "Tableau doesn't support extract refreshes for one or more data sources in your workbook" Using Embedded DB2 Data sources in Tableau Cloud 18907039 Unable to remove "All Users" group permissions from Projects in Tableau Cloud 17623290 Teradata live query using a relative date filter sets a CAST which is different than in Tableau Desktop 18558959 Content Owners cannot set rules for a Group Set 18482697 Adding SAML users to Tableau Cloud site using "authSetting" parameter sets authentication type to Unspecified 17705464 When using keyboard navigation on a published Tableau workbook, the Esc (escape) key is not collapsing open parameter drop down lists as expected. 19067727 On Tableau Cloud, the "Enable Explore in Tableau" Checkbox in Settings > General Page Reverts to Checked After Being Unchecked and Saved. 18533072 Unable to sign in to Tableau Cloud Manager using IdP Initiated SAML authentication 19062993 Unable to Grant Access to Workbook with Special Characters in Workbook Name 15898558 Intermittent 400: Unknown Error on the Tableau Pulse Main Page 18027037 Project Lists and "/getprojects" API Calls in Tableau Cloud Load Slowly for Non-Admin Users on the Site 17212503 Virtual Connection Extract Refresh Fails after 30 mins both on Tableau Desktop and on Web Authoring of Tableau CloudIssue ID | Description
Issue ID Description 19311261 Filters on String Columns Are Not Included in WHERE Clause for Denodo When Using Denodo JDBC Connector in Prep Builder. Original source - July 2026
- No date parsed from source.
- First seen by Releasebot:Jul 10, 2026
2025.2
Tableau Cloud releases a broad set of fixes for refreshes, flows, dashboards, permissions, subscriptions, and connectivity, improving stability, performance, and publishing behavior across Cloud workflows.
Release Notes
Issue ID | Description
Issue ID Description 18273597 Subrange Refresh Settings for Incremental Refreshes are Incorrectly Retained on Full Refresh for Extracts Published via Tableau Bridge 19280041 Permissions for Random Project or Workbooks not Displaying (blank) for Users 19256811 Loading a Specific Dashboard or Worksheet on Tableau Cloud is Stuck at "Rendering Visualization" or an Error "Resource Limit Exceeded" Occurs 19268955 "Error: [SQLSTATE:58S01] error opening database There was an error during loading the database" occurs when opening a view in Tableau Cloud Issue ID Description 18064820 Unable to Uncheck "Add data quality warning" for Flow Linked Tasks in Tableau Cloud and Tableau Server 18714929 Unable to open a workbook in Tableau Desktop and Tableau Server after upgrade to version 2024.2.6 18979265 Output Field Cannot Be Modified When Configuring Incremental Refresh Since Tableau 2024.3.4 19181018 Parameter Display Order Changes After Publishing a Flow from Tableau Prep Builder to Tableau Server or Tableau Cloud Issue ID Description 18836874 Level of Detail (LOD) calculation fails in Multi-Fact Data Sources with shared dimensions 19059430 Unexpected "...Error: 500.USR_SVC4000" when Modifying a User with the Cloud Administrator Role in Tableau Cloud Manager 18757987 Flows Fail with Internet communication error: Transferred a partial file on Tableau Server 18838805 OAuth Failures with Azure Data Lake Storage Gen2 connector in Certain Azure Regions on Tableau Products 18835693 After changing the default value for the parameter in flow, user could not edit the parameter value on existing linked task schedules. 18772803 Scheduled Prep Flows with linked tasks fail to execute when 'Run Now' is disabled due to SchedulingService.checkRunNowEnabled check 18139027 Dashboards are displaying the error "Stack depth 2001 exhausted" when opened with multiple filters on both Tableau Cloud and Tableau Server 19307374 When applying permission changes for all users on projects, the permissions window closes before the change is applied 18848681 Unable to set the site limit from Tableau Cloud Manager 18041009 View Loads and Extract Refreshes may take longer to complete than in previous versions after Tableau Server and Tableau Cloud 2025.1.0 upgrade 18340169 Duplicate Metadata Query Causes Long Delay Connecting to Oracle in Tableau Prep Builder 2023.1.0 and later Issue ID Description 18815325 Unintentional Text Added to Tableau Agent Interactions in Prep by Autocomplete for Japanese, Korean, and Chinese (Traditional or Simplified) 18628572 A space appears between numbers and "年度" in Tableau Server 2024.2 18800820 Subscription Jobs Failing Unexpectedly with a "This job failed...because of Cleaned up this crashed job" Error in Tableau Cloud 2025.2 18829072 Japanese input cached in Tableau Agent for Prep Window After Hitting Enter Key in Prep Builder & Prep Web Authoring 18813554 Background map in Tableau Cloud dashboard unexpectedly changed from Japanese to English 18510595 Multiple Values Dropdown Filters with Large Number of Values May Have Some Values Overlayed on Each Other 17715324 Intermittent Error "There was an error during loading database: The database does not exist: DatabaseId" When Loading Views in Tableau Cloud 18290303 Snowflake with Prompt User and Custom OAuth Client Registry with Privatelink Fails to Route a Secondary User Connection to Bridge Issue ID Description 18459914 Creating a calculated field that overwrites an existing field can affect previously created calculated fields in Tableau Prep Builder 18220985 Selecting the 'Share' button in a Tableau Cloud view's toolbar results in a long delay while the URL is generated 18164662 Selecting a username field on the Users page does not highlight the selection in Tableau Cloud Issue ID Description 14737285 Tableau Desktop/Prep/Cloud - Error 621E4DE8 when operators < and > are in Custom SQL queries connected to Salesforce datasources 17315444 Different Filters Were Applied in the Email Image Compared to the Attached PDF of the Subscription Sent from Tableau Cloud 17872999 "[SQLSTATE:42P21] collation mismatch between explicitly provided collations" Error When Running Flow using Union Step Combining Multiple Excel Sheets 15490355 Tableau Server/Cloud - Horizontally Aligned Grand Totals Title is Truncated When the first Row Header is aligned Vertically with Client-Side Rendering 15447252 After refreshing an extract created from Amazon S3 data source, the field name set by "Field names are in the first row" will be changed 17031264 Connected apps edit broken for Direct Trust from the list view 17683918 Extracts and Flows failing with error "[Redshift][ODBC Driver][Server]SSL SYSCALL error: EOF detected" on Tableau Cloud Hyperforce PODs 17821370 Tableau Cloud: SCIM authentication option reverts to None after signing out or switching sites 16999173 Unexpected error occurs when selecting a filter value or changing a parameter value 17344568 Amazon S3 Extract Refresh Intermittent Failures With "EPS main cannot start properly:Could not parse EPS Port number from string" Error 17545658 After opening the 'Login-based License Usage' administrative view, it redirects to the 'Traffic to Views' administrative view 16890845 Intermittent Extract Refresh Failure of an Embedded Extract or Virtual Connection Extract Through Tableau Bridge 17320547 The incremental flow using a field name with underscore constantly fails on Tableau Cloud 17102482 Extract Refreshes are Failing Unexpectedly in Tableau Cloud with Error "The Connection to [Datasource] had a fatal error and was disconnected..." 17555960 Quarter Info from Continuous Date Field does not display after publishing the workbook to Tableau Cloud 18177663 Dashboards Fail to Render due to Temp Table Creation Timing Out during Federation on Tableau Cloud 15780233 Auto alignment truncates letters in client-side rendering 16263523 Tableau Pulse Digest Emails Sent from Expired Cloud Trial Sites 16799042 Filtering or Sorting by Items on the Collections Page in Tableau Cloud Fails with a "Showing Partial Results" Error 17054896 Flows Fail Intermittently on Tableau Cloud with "Internal Error - An unexpected error occurred and the operation could not be completed" 17846230 Tilecache requests fail with HTTP 410 error resulted in blank dashboard 17285943 Unable to activate Tableau Desktop by signing into Tableau Cloud, encountering the error: 'Unexpected Application Error! Ed.getOrderFromLocation(...). 18228736 Tableau Cloud: Extract refresh fails to finish successfully with the error: "The Hyper server closed the connection unexpectedly: pqsecure_raw_read” 16117724 Displays of records are out of alignment after scrolled on Android tablet 17367009 Color Palette Edit Form in Tableau Server Does Not Fully Display if the Character Length for Description is Too Long 17425111 Error "Failed to add Key Pair Authentication Credential" in Tableau Cloud for Snowflake Connection using Azure PrivateLink and Bridge 18649763 The activity logs of Tableau Cloud in the prod-apnortheast-a pod stopped outputting to S3 on May 11, 2025. 17043634 "HOST_CONNECTION_PROBLEM" Error Appears when Running a Flow Connected to a Live Bridge Data Source Input 17563915 When attempting to edit a connection that uses Oauth, "Invalid Provide: 0" error is thrown 18485695 The Revert or Go Back Button Does Not Display Properly in Tableau Cloud Workbooks 17571090 Missing Data in Admin Insights/Job Performance Data Source After Task is Deleted 18013229 Intermittent Error "[SQLSTATE:08006] The Hyper server closed the connection unexpectedly" When Loading Extract-Based Viz on Tableau Cloud 17156029 Tooltips Containing Images Display a Black Background and Incorrect Formatting in Tableau Cloud 17682343 Indian numbering format is not working on Tableau Cloud 18334898 Redshift Extract refresh on Tableau Cloud takes longer after around March 30th, 2025 14011570 "Cannot add new column with the same name as an existing column" While Web Authoring in Tableau Cloud 17486526 When drilling down into a published view on Tableau Cloud or Server, the date axis shows incorrect values Original source - July 2026
- No date parsed from source.
- First seen by Releasebot:Jul 10, 2026
2025.1
Tableau Cloud fixes a broad set of reliability, refresh, publishing, and visualization issues, including Hyperforce-related errors, flow and extract refresh failures, metadata and authentication bugs, and view interaction problems across dashboards and maps.
Release Notes
Issue ID Description 17515244 "LogicException: Internal Error - An unexpected error occurred...." in Tableau Cloud When Selecting a Total and Attempting to View Underlying Data 17756112 Internet communication error: Failure when receiving data from the peer\n (bigquery.googleapis.com) since Hyperforce migration 18138432 Unexpected "Page not found" When Attempting to "Export Metadata" while Configuring SAML Authentication in Tableau Cloud Manager 18174139 Error "NullPointerException: Cannot read field "startIndex" because "pagingParams" is null" when Attempting to Restore Content from Recycle Bin 17698858 Parameter/Set Actions do not Show Calculated Field Values in the Tooltip for Menu-based Actions 17661034 Discrepancy in Search Behavior for Parameter Drop Down Lists in Tableau Server/Cloud vs Tableau Desktop 17902064 Publishing a dashboard from Tableau Desktop to Cloud or Server version 2025.1 fails with 'Unable to open custom theme file' error 17997544 Redshift Extract Refreshes on Tableau Cloud Fail Intermittently with SYSCALL Error After Hyperforce Migration 17670404 Map Views with Spatial Data Do Not Pan or Zoom Correctly for Tableau Cloud Pods migrated to Hyperforce 18157475 Tableau Cloud: Error "Cannot read properties of undefined (reading 'getContext')" when zooming or panning on boxplot 17611693 Tableau Cloud Activity Log missing hist_delete_user event records Issue ID Description 17473582 Wording issues on OAuth prompt for published data sources. 18041009 View Loads and Extract Refreshes may take longer to complete than in previous versions after Tableau Server and Tableau Cloud 2025.1.0 upgrade 18002062 Duplicate Parameter shows up in the schema viewer upon loading the workbook on Tableau Cloud 17169693 Tableau Prep Flow Output Does Not Match Expected Results and Preview 17365106 The returned status code is wrong when delete user with contents with REST API in the site managed under TCM 16792399 The column with string data type in the external table using Redshift Spectrum is not displayed on Tableau Cloud after August 9. 17373402 Extract Refreshes and Subscription Schedules Intermittently Skipped in Tableau Cloud 17665821 Date Filters in Extracts Not Working Properly with Multi-Fact Relationships 17515363 When Attempting to run Flows Connected to Amazon Redshift on Tableau Cloud, they Intermittently Fail With a "Fatal Error" 17252187 Table Names trimmed off when adding to canvas' logical layer. 18017260 Filter Dropdown Selection on Tableau Cloud Ignores Datasource Filter and Displays All Values 17446155 Extract Refreshes of Workbooks with Embedded Private Connections to a datasource using Custom OAuth Fail in Tableau Cloud Issue ID Description 17473197 Broken hyperlink when clicking "Manage Labels" in Extract Refresh Monitoring Dialog for a published datasource on Tableau Server 2024.2.x 17116800 Unexpected Additional Metadata Query Against Snowflake Databases Executes Each Time the Database is Accessed 17409009 Flow Fail to Output the Result to Google BigQuery with an Authentication Error after Publishing to Tableau Cloud 17593363 Axis label interval changes on X-axis when viewing a dashboard using client-side rendering in Tableau Server Issue ID Description 15709870 Flow fails with the "Missing password" error message after changing connection credentials for Starburst connector by using REST API 16304880 Can't edit the description of a flow published with the REST API 17264034 Virtual Connections are Not Working Intermittently in Tableau Cloud on Hyperforce 15306879 Flow failed with error "System error: An error occurred while communicating with data source 'PrepDataSource'" intermittently. 16287266 Error "The client credentials are invalid" Starting Tableau Bridge Client on Linux Using Named Pools 17052752 Workbook Auto-Save Functionality Not Working Consistently when Web Authoring on Tableau Cloud Hyperforce 15990722 In Tableau Desktop 2024.1 and newer versions, search box for shared google drives is missing 16863061 Tableau Bridge Client rolls back to the previous custom pool after deleting any bridge client from Default pool 17267244 Amazon Redshift Timestamp with Timezone data type fields are not found when published to Tableau Cloud 15486870 Add User to Site method does not return 409 (User conflict) when sending a request with authSetting="TableauIDWithMFA" / "SAML" 16298604 Difference in data shown when opening a workbook in Mac OS vs Windows. 17135752 Some Data Source Connection Options Unexpectedly Don't Appear Intermittently When Authoring Prep Flows in Tableau Cloud on Hyperforce 16121893 Tableau Cloud - Incremental Refresh Data is not updating until the "refresh data in this view" option is clicked 16997121 The Parameter Value Is Not Displayed In Full After Tableau Cloud Was Upgraded To 2024.3. 17268300 Unable to find the datasource in project if there are more than 100 projects with the same name 15583131 When reopening a Saved Flow that is linked to SAP HANA, the schema appears greyed out in the output step and defaults to the first schema listed. 17152178 Tableau Cloud - "Could not find the private key for Snowflake KeyPair Auth" when publishing or editing Snowflake datasource 12859054 Error "Incorrect data type real, getting expected integer type." Occurs immediately When Accessing Views 16199514 Tableau Cloud - "Server Error" When Enabling Extract Encryption And Clicking Generate New Key Before Clicking Save 17017912 Intermittent "Tableau experienced an unexpected server error" or "401 unauthorized" Occurs When Viewing an Embedded Tableau Cloud View 16325940 "Uncaught TypeError" on dashboard with Sankey chart and action filter 17553323 Tableau Bridge Extracts Fail Intermittently with an "Operation Timed Out" Error During Peak Hours on Tableau Cloud 17241137 Error Occurs When Using Published Data Source in a Site with CJK Site Name or by a User with CJK in Username on Tableau Server 2024.2.3 and Newer 15141370 Tableau Cloud - WorksheetFields returns no values on GraphQL when worksheet contains one measure 16253351 Error while querying the metadata API against Tableau Cloud sites. 17026932 Image broken after Tableau Cloud upgrade using Image role for Image URLs that contains “%25” 16782503 Unable to retrieve Job Status Using JWT-based Authentication 15217189 OAuth Error Message Rather Than API Limit Error In Tableau Connector When Ingesting Data into Data Cloud. 17033896 Error "Client unable to establish connection...” When Connecting to Microsoft SQL Server in Flows and Virtual Connections on Hyperforce Original source