Repository navigation
Integrations soft launch: no error without a server, a new-feature note, experimental toggle behind a facilitator unlock - #1835
michielbdejong wants to merge 3 commits into
Conversation
…p server queries without a server The demo workspace (and any drive on an origin with no node) no longer asks /query for its connections, which on app.atomic.place returned the app's HTML and showed "Connection query failed". A note at the top says the feature is new. The "Show experimental plugins" toggle is only offered to users who already turned it on, or who unlocked it on this device through /integrations?preview=plugins during a user-testing session. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The demo spec now serves `/query` the SPA's HTML, the way the hosted origin with no node answers it, waits for the page to go quiet, and checks there is no error alert, no query was sent, the new-feature note shows and the experimental toggle does not. On develop it fails on the "Connection query failed" alert. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merge-risk triage (2026-09-28). This is a read-only review of this PR's own diff. The rule it applies: nothing that works today may break for existing users or clients, and new behaviour is added alongside the old. The stack is being rebased onto Verdict: RISKY: hold for a maintainer decision It removes behaviour current users have, and ships a hidden unlock to staging:
The 🤖 Generated with Claude Code |
Conflicts only in the translation catalogs, where both sides appended entries at the end; kept both and confirmed with a vite run that the result is the extractor's fixed point. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Develop is merged in (469bcc0), and this merges cleanly again. The only conflicts were in the |
… chat, search, CI) (#2060) Combines #1530, #1638, #1663, #1835, #1869, #1896, #1898, #1911, #1912, #1913, #1914, #1918, #1919, #1929, #1931, #1949, #1958, #1959, #1961, #1963, #1968, #1975, #1981, #1985, #1988, #2038, #2041, #2047 and #2050, tested in one full Mancave run on the exact head (run 4999, green).
|
Landed on develop in the combined batch #2060 (95707c0), tested together in one full run. Closing as included. Generated by Claude Code |
For the integrations soft launch on app.atomic.place.
What changes
Error: Connection query failed; refusing to infer an empty collection:IntegrationStoreasked/queryfor the drive's connections, and on app.atomic.place (no node behind the origin) that returns the SPA's HTML. A newdriveHasServer(store, drive)(false for a local-only drive such as the demo workspace, and for an origin probed as having no node) now skips the connection and installation queries, which leaves the lists empty and shows no alert. The/plugin-catalogfetch is skipped on a nodeless origin for the same reason.Facilitator unlock (user-testing sessions)
On the tester's device, open:
That stores
integration-preview-unlocked:<agent DID>=trueinlocalStorageand shows the "Show experimental plugins" checkbox on Integrations and in Settings → plugins. It is per agent and per device. Nothing in the UI links to it, so ordinary users won't find it. Anyone who flips the switch keeps it, so it can't disappear while they're using it. To lock the device again, turn the toggle off and remove thatlocalStoragekey.Left for phase 2
The default integration proxy URL is unchanged, and
VITE_INTEGRATION_PROXY_URLis not set. That waits until the proxy is deployed (ontola/atomic-saas#149).Tests
e2e/tests/integration-demo.spec.ts: opens the demo workspace, answers/querywith HTML as app.atomic.place does, and checks for no alert, no query, the note, and no toggle. It fails on develop on the error alert and passes here.e2e/tests/integration-visibility.spec.ts: covers the unlock, the missing toggle for ordinary users, and the missing toggle in Settings. All 5 pass locally. One run had a flake in "visibility toggles are hidden when the catalog enables nothing" (catalog stuck on "Loading integrations…"). It passed on 3 reruns.integrationVisibility.test.ts,driveData.test.ts(driveHasServer),useIntegrationVisibility.test.ts. Typecheck andpnpm run lintare clean. The only lint output is warnings of kinds that already appear in this code..pocatalogs are at the dev server's fixed point: no churn after a clean.wuchaleand a vite run.Screenshots
These show the no-server demo workspace with
/queryanswered by HTML. Before and after at desktop and 375 px, plus the facilitator-unlocked state. They are attached in the comments below or shared in chat.🤖 Generated with Claude Code