hanahmily opened a new pull request, #1233:
URL: https://github.com/apache/skywalking-banyandb/pull/1233

   ## What
   
   Adds the Property milestone to the Canopy web console, ported from the 
handoff prototype (`property-query.jsx`, `doc-list.jsx`, `property-form.jsx`):
   
   - **PropertyQuery** — builder⇄code console scoped to one collection (FROM 
locked to `PROPERTY name IN group`, no TIME), reusing the shared 
QBSection/QBChips + CodeEditor; code mode stays executable via `pqParseCode`.
   - **DocList** — document cards with adaptive JSON/text/scalar value cells, 
type pills, pagination, role-gated Edit/Delete.
   - **PropertyForms** — create/delete collection + Apply/Edit/Delete document 
with the key-value tag editor (type dropdown + CodeArea for JSON/long strings).
   - **PropertyDetailPage + /properties routes + PropertyNav** sidebar tree.
   - **Data layer** — property schema Create/Delete (database/v1 registry) + 
document Apply (PUT) / Delete / Query (POST `/v1/property/data/query`); 
builder-state → structured Query request (id leaves→ids, others→criteria, 
SELECT→tagProjection, ORDER BY→orderBy, LIMIT→limit).
   
   Live-verified corrections: property is **not** schema-free server-side, so 
Apply auto-grows the collection's declared TagSpecs; Apply uses 
`STRATEGY_REPLACE` so the full-document form can drop tags (MERGE silently kept 
them).
   
   ## Fixes
   
   - **TagType/FieldType enum mismatch** (pre-existing, affected 
Measure/Stream/Trace too): the shared enums used stale 64-suffixed names the 
live grpc-gateway silently dropped to UNSPECIFIED. Corrected to the proto: 
TagType STRING/INT/STRING_ARRAY/INT_ARRAY/DATA_BINARY/TIMESTAMP, FieldType 
STRING/INT/FLOAT/DATA_BINARY. Updated form dropdowns, ResourceDetailPage 
labels, role-infer + tests.
   - **E2E harness** (product code was fine): 
`SeedFactory.createPropertySchema` synthesizes a `_placeholder` TagSpec 
(Property.Tags min_items=1); `seedPropertyDoc` declares tag keys before Apply, 
mirroring the product's auto-grow; PropertyPage POM targets the code textarea 
by role.
   - **react-router v8**: fix a stale `react-router-dom` import in 
PropertyDetailPage after #1232.
   
   ## Tests
   
   - Unit: property-bydbql (round-tripped vs the .ql corpus), DocList, 
PropertyForms — 413/413 web tests pass, tsc + lint clean.
   - E2E: `properties.spec.ts` (@property) + PropertyPage POM — all 5 property 
tests pass against a live BanyanDB.
   - Live Apply/Query/Delete round-trip verified on the demo deployment.


-- 
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]

Reply via email to