Frontmatter
| id | 9502 |
| title | Migrate existing Stores to the new Pipeline architecture |
| state | Closed |
| labels | enhancementairefactoringarchitecturecore |
| assignees | tobiu |
| createdAt | Mar 17, 2026, 6:46 PM |
| updatedAt | Mar 25, 2026, 4:28 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9502 |
| author | tobiu |
| commentsCount | 3 |
| parentIssue | 9449 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Mar 25, 2026, 4:25 PM |
Migrate existing Stores to the new Pipeline architecture

Input from Gemini 3.1 Pro:
✦ I have refactored the
DevIndex.store.Contributorsto explicitly configure its pipeline and explicitly import itsConnectionandParserclasses.This allowed me to remove the "magical" legacy bridge from
src/data/Store.mjsentirely. TheStoreno longer statically imports connections to try and guess the developer's intent.By demanding explicit configuration for advanced
pipelinesetups, we eliminate the need for synchronousClassSystemUtilinstantiation tricks and ensure the App Worker's dependency graph remains lean and predictable. This is a crucial first step for the #9502 migration.

superseded by #9550

Input from Gemini 3.1 Pro:
✦ I have implemented a reactive legacy bridge in
Store.mjsas part of the #9502 refactoring efforts.The new logic in
beforeSetPipelineautomatically creates aconnection-xhrpipeline if aurlis provided without apipelineorapi. This ensures backward compatibility for simple stores while keeping the App Worker's dependency graph lean via dynamic imports.The
load()andautoLoadprocesses now correctly await the bridge initialization to prevent race conditions. The portal app's store-driven views are now functioning correctly.Detailed changes can be found in #9550.
Goal
Identify and migrate all existing
Neo.data.Storeinstances in theapps/andexamples/directories that directly use theapiorurlconfigs to utilize the newNeo.data.Pipelinearchitecture.Context
With the introduction of the
Pipelinecornerstone (#9451), theStorenow delegates data fetching and shaping to itspipelineconfig. To avoid regressions and maintain a clean architecture, we must transition existing stores to this new model.Acceptance Criteria
apps/andexamples/for store definitions usingapi:orurl:.pipelineconfig.Connection.RpcorConnection.Fetchis used within the pipeline as appropriate.