feat(hubble): modernize graph workbench experience#743
Merged
Conversation
- add route-first GraphSpace and graph selection\n- preserve recent context without cross-space leakage\n- expose source-specific loading errors and retries\n- cover dual-mode, concurrency, and accessibility contracts
- link mode-aware Schema, data source, and import steps - distinguish failed requests from honest empty states - isolate stale responses and pause failed polling - verify real datasource mutation and dual-mode routes
- separate history and favorite loading and retry state - isolate late responses across graph context changes - pause async polling after failures and while pending - add task-result retry and explicit empty states
- add cached semantic zoom thresholds for dense graph labels - fit force layouts after final layout completion - preserve hovered labels across viewport changes - cover density and zoom boundary contracts
- redesign login as a balanced accessible desktop shell - align workspace navigation, surfaces, controls and spacing - simplify compact graph card labels without changing full graph views - share the topbar height token and preserve document scrolling
- include URL hash in request-time login redirects - cover HTTP and business 401 redirect contracts - verify login restores query and hash context - assert unauthorized requests are not replayed
- label ten icon-only graph controls with localized text - keep accessible names aligned with existing tooltips - add regression coverage for query and algorithm tools
- apply the shared ring to discrete workbench controls - move skip-link activation into the main workspace - scope navigation topbar workspace and login styles - add DOM and stylesheet regression contracts
- release submit loading after validation or request failures - preserve password fields for non-200 responses and retries - cover validation, rejection, business error, and success paths
- serialize create, edit, and auth submissions - clear stale account detail and form state - ignore late identity responses after switching users - cover pending, race, and failure recovery
- compact the My profile and password forms with Workbench tokens - give 404 recovery a bounded surface and direct workspace return - preserve async task context with a graph-scoped return entry - cover surface, routing, i18n, and form-alignment contracts
- improve login balance and brand rendering - clarify navigation information architecture - expose unavailable operations as coming soon - render profile empty values consistently
- default fresh sessions to English - share language fallback across UI and requests - keep explicit login language selections persistent - focus graph canvas for fullscreen shortcuts
- restore workbench route title helpers and styles\n- keep internal test routes development-only\n- remove duplicated task action definition
- retain query hash across expired-session redirects\n- surface actionable Loader task creation errors\n- cover both recovery contracts with focused tests
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
- build a retry-safe 41-vertex literature graph - expose the demo from the graph action menu - link official MovieLens Small resources - restore complete ASF headers for CI checks - keep local Codex task state out of the PR
- control the active query result view - select Table for results beyond 300 nodes or edges - reset normal results to the graph canvas - cover result transitions with a regression test
- expose quick demos from the data import page - gray out unavailable operations before navigation - localize built-in graphspace and admin labels - preserve user-defined nicknames and import boundaries
- fetch the complete PD GraphSpace collection explicitly - reconcile missing GraphSpace and graph deep links - discard stale graph responses after context switches - cover PD, non-PD, retry, and race scenarios
- locate graph import journey by stable key - provide valid graph context in topbar request tests - preserve navigation and auth behavior assertions
- create Red Chamber vertices with the name primary key - verify the actual schema builder avoids custom string IDs - distinguish unavailable Dashboard services from Coming Soon
- integrate frontend favorite-name validation hardening - preserve query shortcuts, pending guards, and dashboard capability states - include Docker build and dependency-license updates from master
- update the runtime language smoke for the Radio switcher - restore complete ASF headers on newly added source files - guard task and graph-detail responses against null values - add a reusable local license-eye check command
- detect the selected English radio by its checked input - avoid relying on the former Select option label - preserve the existing smoke report contract
- remove data-plane secrets from GraphSpace views - bind permission checks to each target GraphSpace path - preserve actual snapshot dates across aggregate metrics - cover secret filtering, permissions, and mixed dates
- align GraphSpace, graph and account permission semantics - improve Gremlin, schema, import and algorithm workflows - add resilient error states, defaults and field guidance - cover backend authorization and ingestion transaction safety - add regression tests and original UX requirements
- name schema creation retry constants - preserve existing retry behavior and coverage - add before and current UI evidence for PR summary - include navigation and graph-list screenshots
- clarify query shortcuts, empty states, and compact results - correct Schema navigation and documentation paths - explain operations metrics and external Dashboard scope - add contextual sidebar expansion and onboarding links
- restore Schema template and in-graph application flows - clarify query, algorithm, and demo-data interactions - adapt standalone operations navigation and node metrics - align topbar, language, and sidebar responsive behavior
- prevent long labels from overlapping form controls - prefill graphspace resource limits with defaults - keep nickname validation aligned with server rules - cover layout and submitted default values
- replace three abbreviated test headers with the standard Apache-2.0 text\n- align the files with license-eye header validation\n- keep runtime code and test behavior unchanged
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #743 +/- ##
=============================================
- Coverage 62.49% 42.04% -20.46%
- Complexity 1903 3667 +1764
=============================================
Files 262 599 +337
Lines 9541 26973 +17432
Branches 886 2921 +2035
=============================================
+ Hits 5963 11341 +5378
- Misses 3190 14614 +11424
- Partials 388 1018 +630 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
- expose stable language and GraphSpace title test anchors\n- update browser smoke selectors for the current toggle UI\n- cover both anchors with focused frontend tests
- load runtime config during API-backed browser authentication - validate PD and non-PD graphspace landing contracts separately - cover config injection and failure handling with Node tests
zyxxoo
approved these changes
Jul 21, 2026
imbajin
added a commit
to apache/hugegraph
that referenced
this pull request
Jul 21, 2026
Provide the minimum Server/PD compatibility and security boundary needed by Hubble native monitoring and GraphSpace administration. Matching Hubble work: apache/hugegraph-toolchain#743
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Before -> After
follow #632, enhance the UI/UX + monitor/auth....
Review map
Scope