mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-23 17:33:51 +02:00
After the cloud's OAuth-style 302 callback, the local UI mounted `CloudUpstream` with `selectedCompany` still null because the CompanyContext hadn't hydrated yet. `applyCompanyPrefix(path, null)` returns the unprefixed `/company/settings/cloud-upstream`, the React router refused to match it, and the user was bounced to `/<defaultCompany>/dashboard` with `token_status` stuck at `pending`. Derive the prefix from `location.pathname` first (which is already prefixed because the cloud sent us back to `/<PREFIX>/company/settings/ cloud-upstream?code=...`), and only fall back to the selected-company issue prefix when the URL has none. Same memoized `settingsPath` is used for both the post-finish `replaceState` and the start-connect `redirectUri`, so both halves stay aligned. Co-Authored-By: Paperclip <noreply@paperclip.ing>
@paperclipai/ui
Published static assets for the Paperclip board UI.
What gets published
The npm package contains the production build under dist/. It does not ship the UI source tree or workspace-only dependencies.
Storybook
Storybook config, stories, and fixtures live under ui/storybook/.
pnpm --filter @paperclipai/ui storybook
pnpm --filter @paperclipai/ui build-storybook
Typical use
Install the package, then serve or copy the built files from node_modules/@paperclipai/ui/dist.