Skip to content

feat: add remote pipeline lists and manual upload - #2750

Open
Mbeaulne wants to merge 3 commits into
mb/remote-pipelines-editorfrom
mb/remote-pipelines-list
Open

Mbeaulne wants to merge 3 commits into
mb/remote-pipelines-editorfrom
mb/remote-pipelines-list

Conversation

@Mbeaulne

@Mbeaulne Mbeaulne commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

Description

List layer of the remote-pipeline stack. Base: #2749. Deployment activation remains hard-disabled until #2739.

  • Separate Remote and Local pipelines into full-width tabs with independent filters and selection. Default to Remote when remote entries exist, or Local when only local entries exist; preserve an explicitly selected tab through refreshes and uploads.
  • Show ten rows per page. Remote browsing fetches and caches cursor pages of summaries; name search, date filtering, and alternate sorting use the complete summary catalog. Remote rows omit tags and Last run, and listing does not fetch pipeline definitions or per-row runs.
  • Keep local metadata/component search, browser-local entries, and pending first uploads in Local. Hide confirmed migration backups while retaining recovery, and show cached remote entries with an incomplete-list notice during outages.
  • Preserve manual upload/retry, storage-aware row and bulk deletion, dashboard/favorites/history links, and folder navigation. The stable-ID remote Runs link is added downstream in feat: associate runs with remote pipelines #2783.

Review focus: tab and account isolation, cursor/cache behavior, and preserving local workflows while avoiding per-row remote requests.

Related pull requests

#2746#2747#2748#2749#2750#2751#2739#2780#2783

How to test

Passed at this layer: 36 hook/filter/row tests, TypeScript, targeted source lint, and Prettier checks.

pnpm exec vitest run src/components/Home/PipelineSection/usePipelineList.test.ts src/components/Home/PipelineSection/useRemotePipelineList.test.ts src/components/Home/PipelineSection/usePipelineFilters.test.ts src/components/Home/PipelineSection/PipelineRow.test.tsx
pnpm run typecheck

Coverage includes cursor navigation and cached pages, global name/date/sort filters, account changes, refresh and mutation invalidation, pending drafts, and outage fallback. Full-width layout was also verified in the complete-stack browser at 1280px and 1920px; integrated browser-suite results are tracked in #2739.

For a manual local-mode check, verify search, filters, favorites, selection, canceling row deletion, bulk deletion, and folder navigation. With the rollout enabled, switch tabs, page through more than ten remote entries, search for a later-page name, and upload a Local entry; the selected tab should remain unchanged and the confirmed upload should appear in Remote.

Change Size

Relative to mb/remote-pipelines-editor for this PR only. Changed lines = additions + deletions.

Category Files Added Removed Changed
Application code 17 +1247 -505 1752
Tests 7 +1464 -0 1464
Documentation / configuration 1 +1 -0 1
Total 25 +2712 -505 3217

Application code excludes test files. Tests include unit, component, and browser test source; test-runner configuration, CI, package scripts, compiler configuration, and documentation are counted separately.

@Mbeaulne
Mbeaulne added this pull request to stack #2752 September 18, 2026 19:28
@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown

🎩 Preview

A preview build has been created at: mb/remote-pipelines-list/e096f58

const showingCached = !!query.error && !query.data;
const cached = useQuery({
queryKey: [...queryKey, "cached"],
queryFn: () => storage.remote?.listCached() ?? Promise.resolve([]),
@Mbeaulne
Mbeaulne force-pushed the mb/remote-pipelines-list branch from b6d78da to d7aa18e Compare September 22, 2026 19:05

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant