hanahmily opened a new pull request, #1232: URL: https://github.com/apache/skywalking-banyandb/pull/1232
## Canopy M4 — Query console + result views, E2E framework redesign, WHERE coverage Builds the `/query` console and its four result views against a live, seeded BanyanDB, plus a redesigned E2E testing framework and full WHERE-clause coverage. `canopy/`-only change (Go untouched; `ui/` guardrail enforced). ### Query console & result views - Visual QueryBuilder ⇄ code (BydbQL) with eject/resync + dirty-warning; ports `query-console.jsx`/`query-builder.jsx` → `bydbql.ts` codegen, `role-infer.ts`, `proto-decoder.tsx`. - Measure (table/chart), Stream (console/table + fields panel + binary inspector), Trace (span inspector + bytes decoder), Top-N (leaderboard) views — rendered from live seeded data. - Correctness fixes surfaced by review: trace flatten reads `.elements` (was `.traces` → always empty), Top-N protojson value unwrapping, stream `element_id` camelCase, fractional number formatting + adaptive chart axis, and **`TagType`/`FieldType` enums aligned to the proto** (the stale `*_INT64`/`*_FLOAT64` names were silently dropped to `UNSPECIFIED`, also affecting measure/stream/trace). ### WHERE coverage - Generator supports `= != < <= > >= IN "NOT IN" HAVING "NOT HAVING" MATCH(...)`, NULL literals, and nested AND/OR groups with correct parenthesization. - `where.test.ts` (42 cases) covers every operator and tree shape from the `test/cases/**/*.ql` conformance corpus; adds the MATCH analyzer/operator UI. ### E2E testing framework redesign (see `canopy/e2e/TESTING.md`) - Page Object Model + Playwright fixtures (DI), semantic locators, web-first assertions (no hard sleeps). - Login-once `storageState` (with `CANOPY_DEV_NOAUTH` CI fast path); HTTP `SeedFactory` + demo-data seeding wired into `global-setup`. - Specs reorganized by domain (boot/auth/shell/schema/index-rule/lifecycle/query); the ad-hoc `.mjs` probes removed; collapsed to a single `playwright.config.ts`. - VRT scoped to stable chrome regions with committed baselines + an `e2e:update-baselines` regeneration path. ### CI Full `canopy.yml` suite green locally: typecheck (shared/web/server), lint (web/server), server unit/contract test, web+server build, the CSS `:has()`/`color-mix()` preservation check, and the `ui/` guardrail; plus 362/362 web unit tests. Branch synced with `main`. > Follow-up (not in this PR): align the vite 8 / vitest 3 dependency split onto one vite major. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
