Repository navigation
Refactor and enhance metaforge-ui and web application structure - #970
Merged
Merged
Conversation
- move the vue console application from core/datacap-ui to core/datacap-web - repurpose core/datacap-ui as a standalone component library package - add pnpm workspace at core/ linking datacap-ui and datacap-web - point datacap-server frontend build and resources at datacap-web
- rename all datacap-* module directories to metaforge-* - move java packages from io.edurt.datacap to org.devlive.metaforge - rename bootstrap classes DataCap/DataCapCli to MetaForge/MetaForgeCli - update maven coordinates, service loader files, docker and schema configs - re-sort java imports for the new package ordering (checkstyle)
- build all Mf-prefixed components with pure tailwind utilities - add --mf-* design tokens (light/dark) mapped via tailwind @theme inline - add runtime theme api (presets, applyMfTheme, MfConfigProvider) - ship 19 components: button, input, select, checkbox, radio, switch, card, tag, alert, badge, avatar, spinner, divider, space, modal, tooltip, textarea, config provider, radio group - add playground with light/dark and primary color switching
…ette - align tokens with design/ui-color-system.md (MetaForge green identity) - add form (rules validation), menu, tabs, table, tree, drawer, dropdown, popover, pagination, skeleton, breadcrumb, result, upload, input-number and checkbox-group components - add MfMessage imperative toast api - rewrite MfSelect with multiple and group support, add password toggle to MfInput and segmented variant to MfRadioGroup
- add tailwind v4 via @tailwindcss/vite and import metaforge-ui styles - register metaforge-ui plugin alongside antd during the migration - apply metaforge light/dark tokens from useTheme alongside antd theme - mark metaforge-web package as esm for the tailwind vite plugin
- render custom #tab slot labels and honor pane disabled state in MfTabs - add loading indicator to MfSelect trigger and empty list - hide trailing separator on the last breadcrumb item - accept numeric size on MfAvatar and expose focus/blur on MfInput
- rewrite header menu, breadcrumb, footer, language switcher - replace metadata sidebar tree/context menus and profile sidebar menu - map a-layout shells to plain tailwind containers - add antd-to-mf migration guide under docs/
- replace antd tables, forms, tabs, selects with Mf equivalents - rebuild role-menu checkable tree with MfCheckbox cascade semantics - convert editable-card tabs and pagination size switching patterns
- map upload, steps indicator, table body cells and pagination - keep bodyCell slot contract for the shared DataTable component - adapt nested form validation and switch checked-value mapping
- split a-table body cells into per-column slots and shared DataTable usage - rewrite adhoc controls with radio-button variant and multiple selects - adapt validators and switch value mapping to MfForm rules
- keep DataTable bodyCell slot contract with internal selection column - port metadata tree async loading and editor flow layout - replace spin wrappers with overlay or conditional spinners
- searchable/filterOption and tags creation on MfSelect - checkedValue/uncheckedValue on MfSwitch, color on MfTag, shape on MfButton, closable on MfDrawer, array type rule on MfForm - migrate grid and visual shared components, restore source select search and workflow tags entry
- drop a-config-provider, antd global plugin and locale composable - serve theme purely through --mf-* tokens from useTheme - remove ant-design-vue dependency and stale column comments
- point readme logos at metaforge-web assets after the ui/web split - replace the stale View UI Plus badge with Vue 3 + Tailwind - list metaforge-ui in the developer module overview - add UI component and token conventions to the frontend spec - expand metaforge-ui readme with the full component inventory
- expose /api/v1/setup status, environment, test and install apis - ship idempotent schema and baseline seed scripts on the classpath - create the wizard administrator with bcrypt password and admin role - permit /api/v1/setup/** in the security whitelist
- guard DataSetConfigure load and scheduler runner against missing tables - exclude legacy oauth tables from the setup schema - reload dataset configure after install so no restart is needed
MfFormItem read the bound model from the form context which was never provided, so required/min/max rules always failed; expose a computed model from MfForm and consume it in items and validators.
- three step wizard: environment check, administrator account, install - guard every navigation: not installed redirects to /setup and back - remove the legacy compiled utilities bundle, now that real tailwind generates all utilities (its unlayered preflight was overriding token-based component styles)
- fall back to an embedded H2 store when no datasource is configured (h2 pinned to 1.4.200, the line compatible with boot 2.7 hibernate) - ship classpath defaults for every metaforge.* property - install into a chosen target: embedded h2 file store or external mysql, persisting the datasource to ./config/application.properties which spring boot loads by default on the next boot - add an h2 dialect schema and rewrite the DATE jpql to CAST so both dialects pass startup query validation
- choose current datasource, embedded storage or external mysql with connection test before installing - show restart guidance and the persisted config path when the target differs from the running datasource
- probe the datasource before context refresh and fall back to an embedded store, exposing the degraded state to the setup wizard - append classpath defaults under spring.config.location so partial external configs still boot - write the installed datasource into the pinned config location when the launcher passed one instead of the default ./config - refuse installing onto the throwaway fallback store and hide the current-database option in the wizard while degraded
Keep the temporary H2 startup store separate from installation targets. Skip startup database tasks until installation completes and include the current runtime configuration and history schema in fresh installs. Validate with nine regression tests, Checkstyle, frontend type checks and build, and an isolated embedded installation followed by a server restart.
Exclude local Claude and Codex memory directories from version control.
Apply focus rings to the complete input control and present connection failures with concise guidance and expandable driver details. Keep the setup form and step indicator readable on narrow screens. Validation: UI and web type checks, production build, and desktop/mobile browser checks.
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.
Changelog category (leave one)
Changelog entry (Details of this change)
Affected version
latest version