Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Preserved skill independence — Each skill remains independently installable/referenceable (no global routing required)

### Fixed
- **Studio tests: failing CI on `main`** — Fixed several long-standing test-suite issues in `@objectstack/studio` that broke the `Test Core` CI job:
- **Broken relative paths** — Tests in `test/plugins/` used `../src/...` but were two levels deep, causing Vite/Vitest to report `Failed to resolve import "../src/plugins"`. Corrected to `../../src/...`.
- **`vitest.config.ts` missing required aliases** — The dedicated `vitest.config.ts` only declared the `@` alias while `vite.config.ts` declared ~25 more (e.g. `@objectstack/plugin-auth/objects`, node built-in stubs). Tests that transitively imported `src/mocks/createKernel.ts` failed with `"./objects" is not exported …`. `vitest.config.ts` now mirrors the full alias set used by `vite.config.ts`.
- **Removed stale tests against non-existent APIs** — Deleted `test/components/AppSidebar.test.tsx`, `test/components/ObjectDataForm.test.tsx`, `test/components/ObjectDataTable.test.tsx`. These were added as scaffolding against APIs that don't match the current components (wrong prop names, missing TanStack Router context) and never passed in CI.
- **Rewrote `test/plugins/plugin-system.test.tsx`** to match the actual `PluginRegistry` API (`getPlugins`, `getViewers`, `registerAndActivate`, etc.) and `PluginRegistryProvider` async activation lifecycle.
- **Studio: Package switcher not filtering object list** — Fixed a bug where switching packages in the Studio left sidebar did not change the displayed object list. The root cause was in `ObjectStackProtocolImplementation.getMetaItems()`: after filtering items by `packageId` via `SchemaRegistry.listItems()`, the code merged in ALL runtime items from MetadataService without respecting the `packageId` filter, effectively overriding the filtered results. The same issue existed in `HttpDispatcher.handleMetadata()` where the MetadataService fallback path also ignored `packageId`. Both paths now correctly filter MetadataService items by `_packageId` when a package scope is requested.
- **MetadataPlugin driver bridging fallback** — Fixed `MetadataPlugin.start()` so the driver service scan fallback (`driver.*`) is reached when ObjectQL returns `null` (not just when it throws). Previously, `setDatabaseDriver` was never called in environments where ObjectQL was not loaded.
- **Auth trustedOrigins test alignment** — Updated `plugin-auth` tests to match the auto-default `http://localhost:*` behavior added in PR #1152 for better-auth CORS support. When no `trustedOrigins` are configured, the implementation correctly defaults to trusting all localhost ports for development convenience.
Expand Down
149 changes: 0 additions & 149 deletions apps/studio/test/components/AppSidebar.test.tsx

This file was deleted.

188 changes: 0 additions & 188 deletions apps/studio/test/components/ObjectDataForm.test.tsx

This file was deleted.

Loading