This repository was archived by the owner on Oct 26, 2026. It is now read-only.
Repository navigation
refactor(providers)!: retire the DataSourceProvider, MetadataProvider and ThemeProvider trio and fix the guides that taught them (objectui#13453, part 2) - #13507
Merged
Conversation
… and ThemeProvider trio The three providers and their hooks duplicated names @object-ui/react and @object-ui/app-shell publish with different implementations, and nothing but examples/byo-backend-console read them. That example now takes its theme and ambient data source from @object-ui/react (ThemeProvider, SchemaRendererProvider). UploadProvider and the upload adapters stay. READMEs and docs/ARCHITECTURE.md teach the replacements. Claude-Session: https://claude.ai/code/session_011yfYeuX2ptMSCcYZiq61tS Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011yfYeuX2ptMSCcYZiq61tS Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011yfYeuX2ptMSCcYZiq61tS Co-authored-by: Claude <noreply@anthropic.com>
…path check-skills-paths reads this guide and the file it named is gone. Claude-Session: https://claude.ai/code/session_011yfYeuX2ptMSCcYZiq61tS Co-authored-by: Claude <noreply@anthropic.com>
…nner project-setup.md and architecture.md taught the retired providers trio and `@object-ui/runner` as a published runtime. They now point at SchemaRendererProvider / ThemeProvider from @object-ui/react, MetadataProvider from @object-ui/app-shell, UploadProvider for uploads, and the `objectui dev` CLI for a standalone app. Claude-Session: https://claude.ai/code/session_011yfYeuX2ptMSCcYZiq61tS Co-authored-by: Claude <noreply@anthropic.com>
Contributor
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
Contributor
Author
席位核对 — ACCEPT (Tier H, awaits GOVERNED_APPROVERS) · PR #13507 @
|
os-zhuang
approved these changes
Oct 25, 2026
os-zhuang
marked this pull request as ready for review
October 25, 2026 12:57
os-zhuang
enabled auto-merge
October 25, 2026 12:57
Contributor
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
This was referenced Oct 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Elon · project thread
Part of objectstack-ai/objectstack#25921
Clause-②: no (nothing added a consumer or author can target)
Metadata-protocol: none
维护者速读(草稿)
@object-ui/providers删掉三个和别的包重名的 Provider:DataSourceProvider、MetadataProvider、ThemeProvider(连同useDataSource/useMetadata/useTheme和四个类型)。包里只留上传用的UploadProvider/useUpload。同时改好引用它们的地方:byo 示例、README 和架构文档、贡献者技能指南里的一句话、对外发布的skills/objectui两篇指南。另外把 refactor!: retire nine zero-consumer modules, make runner private, take test-only reset helpers off the barrels (objectui#13453, part 1) #13506 已改成私有的 runner 从这几篇指南里拿掉。@object-ui/react(数据源、主题)和@object-ui/app-shell(元数据)里都有同名但实现不同的版本,console 用的都是那两个包的。providers 这份在三个仓里没有任何代码引用,只出现在文档和一个示例里,AI 和开发者照着文档写,很容易引错包。minor,changeset 里写明删了哪些名字,并给出迁移路径。cloud 和外部 npm 依赖方没有测量到。回滚就是 revert 这一个 PR,没有数据或接口协议上的影响。What this removes
Second of the two PRs the claim amendment (comment 6393918010) cuts on the governed line; PR 1 (#13506, Tier S) merged at
0063f22. This one is Tier H because it edits.claude/skills/objectui-contributor/guides/console-development.mdandskills/objectui/**.1. The providers trio.
packages/providers/src/{DataSourceProvider,MetadataProvider,ThemeProvider}.tsx,types.ts, and their two tests (spec-symbol-batch7.test.ts,theme-mode-spec-parity.test.tsx) are deleted. The barrel keeps only the upload surface (UploadProvider,useUpload, the upload adapters), with a note on what retired and where each replacement lives. Removed names:DataSourceProvider,useDataSource,MetadataProvider,useMetadata,ThemeProvider,useTheme, and the typesDataSourceProviderProps,MetadataProviderProps,ThemePreferenceProviderProps,ThemePreference.Premise correction carried from the claim:
@object-ui/reactdoes not exportDataSourceProvider,useDataSourceorMetadataProvider. The replacements are:@object-ui/providers)DataSourceProvider/useDataSourceSchemaRendererProvider(dataSourceprop),@object-ui/reactThemeProvider/useThemeThemeProvider/useTheme,@object-ui/react(defaultMode; the oldsystemisauto;persistkeeps the choice inlocalStorage)MetadataProvider/useMetadataMetadataProvider/useMetadata,@object-ui/app-shell2. The one code consumer, the byo example.
examples/byo-backend-console/src/App.tsxnow wraps inThemeProvider defaultMode="light" persist storageKey=…andSchemaRendererProviderfrom@object-ui/react; its@object-ui/providersdependency and the lockfile entry go. Its README follows.3. Docs and exemptions that named the trio.
README.md,docs/ARCHITECTURE.md(its compiled snippets now import the replacements),examples/README.md,packages/providers/README.md, thetypes/src/theme.tscomments, and two test comments that pointed at the deleted files:p2-spec-exports.test.ts, and theKNOWN_COLLISIONSnote inone-authority-per-exported-name-6273.test.ts(no entry changes; it now records that react'sThemeProvideris the only one left).docs/audits/2901-spec-enum-renderer-coverage.mdunlinks the deletedThemeProvider.tsxpath (read bycheck-doc-links).4. Governed text.
.claude/skills/objectui-contributor/guides/console-development.md: the paragraph that calledMetadataProvider"the one name with two hits" now says the app-shell one is the only one left (check-skills-pathsreads the deleted path).skills/objectui/guides/project-setup.md: the provider section and the decision matrix teachSchemaRendererProvider/ThemeProvider(react),MetadataProvider(app-shell) andUploadProvider(providers); the@object-ui/runnersection becomes "useobjectui dev", since refactor!: retire nine zero-consumer modules, make runner private, take test-only reset helpers off the barrels (objectui#13453, part 1) #13506 made runner a private workspace app.skills/objectui/guides/architecture.md: the integration-package bullets follow the same split and drop runner.skills/objectui/README.md: runner leaves the Integration package list.Census before deleting (lit controls)
packages/providers/src0063f22(main)git grepfor every removed name and forfrom '@object-ui/providers'examples/byo-backend-console/src/App.tsx(the only code import)UploadProviderimports from@object-ui/providerslit in the console5874d25@object-ui/providers@object-ui/lit in 150 filesa7faf81@object-ui/providers@object-ui/lit in 5 filesChangeset
13453-providers-retire-trio.md:@object-ui/providersminor, every removed name listed, with the migration above. Nevermajor, per the version policy.Verification (local, on this head)
turbo run type-check --continueunder the verify lock, filters providers, types, console, the byo example; 39 tasks with dependencies): 39 successful.packages/providers,p2-spec-exports.test.ts,one-authority-per-exported-name-6273.test.ts,check-skills-paths.test.ts,check-doc-links.test.ts,quick-reference-commands-4149.test.ts,check-skill-examples.test.ts: 7 files, 318 tests passed.check-doc-links,check-changeset-no-major,check-changeset-fixed, andpnpm exec changeset status --since=origin/mainall exit 0.check:readme-exportsandcheck:doc-snippets(need every package'sdist); CI runs them.Still on objectstack-ai/objectstack#25921 after this
resetActionKeyWarningsandclearSharedDiscoveryCachewait for Bulk update on a 100-row list takes ~100 s: every per-row update refetches and re-renders the whole list, and bulkUpdate drops per-row errors so apps can't avoid the per-row path #13442.plugin-aiand foldingUploadProviderare out of scope (maintainer's call).Generated by Claude Code