Various SDK improvements (#18115)
## Summary - **Refactor frontend metadata loading architecture**: Split the monolithic `EagerMetadataLoadEffect` into focused provider effects (`UserMetadataProviderEffect`, `ObjectMetadataProviderEffect`, `ViewMetadataProviderEffect`) orchestrated by `MetadataProviderEffects`. Replaced `UserProvider` + `ObjectMetadataItemsProvider` with a single `MetadataGater` that gates rendering on `isAppMetadataReadyState`. The metadata store now validates view-object consistency before promoting views, and `updateDraft` skips no-op updates via deep equality checks. - **SDK CLI improvements**: Added `app:typecheck` command, improved error handling in API sync (extracts GraphQL error messages), added `serializeError` utility for human-readable error output, added `error` file status to dev mode orchestrator with UI support, and fixed ClickHouse migration/seed commands to use `transpile-only`.
This commit is contained in:
@@ -207,7 +207,6 @@ Core metadata states used by record-table, record-board, views, etc.
|
||||
```
|
||||
object-metadata/states/lastFieldMetadataItemUpdateState.ts
|
||||
object-metadata/states/objectMetadataItemsState.ts
|
||||
object-metadata/states/shouldAppBeLoadingState.ts
|
||||
```
|
||||
|
||||
### Selectors (12 files)
|
||||
|
||||
@@ -45,6 +45,7 @@ export const createStateV2 = <ValueType>({
|
||||
useCookieStorage.cookieKey,
|
||||
defaultValue,
|
||||
storage,
|
||||
{ getOnInit: true },
|
||||
) as StateAtom<ValueType>;
|
||||
} else if (useLocalStorage) {
|
||||
baseAtom = atomWithStorage<ValueType>(
|
||||
|
||||
Reference in New Issue
Block a user