Skip to content

v2.0.0 work - #2

Merged
sphildreth merged 66 commits into
mainfrom
sph.2026-05-18.02
May 30, 2026
Merged

v2.0.0 work#2
sphildreth merged 66 commits into
mainfrom
sph.2026-05-18.02

Conversation

@sphildreth

Copy link
Copy Markdown
Owner

Summary
Upgrades Decent Bench to DecentDB v2.8.0 and delivers the v2.0.0 feature set: modular import system, data quality suite, ERD viewer, structured logging, schema explorer optimization, and hardened SQLite/Excel/SQL-dump import paths.
Highlights
DecentDB v2.8.0 Upgrade

  • Pinned dependency bumped from v2.6.0 → v2.8.0 with auto-download of the matching native library
  • Rich structured error diagnostics (subcode, sqlstate, retryable, docAnchor) parsed from engine JSON
  • Process coordination metrics (sys.process_coordination, sys.process_readers, sys.process_lock_metrics)
  • v2.8.0 benchmark/profile labels documented (informational — not exercised as Decent Bench is a workbench, not a harness)
    Import System Overhaul
  • Modular architecture — TOML module manifests declare per-format detection, capabilities, adapters, and fixture contracts
  • Per-table transactions — SQLite imports no longer use a single giant transaction; each table commits independently, eliminating WAL exhaustion stalls on large databases
  • .ddb extension enforcement — all import target paths validated/rejected if they don't end with .ddb
  • Timestamp resilience — empty strings and zero-dates (0000-00-00 00:00:00) map to NULL or epoch-zero instead of crashing the import
  • Cancellation cleanup — cancelled/failed imports now remove orphaned .ddb, -wal, -shm, and .coord files
    Logging
  • Replaced DecentDB-backed application logging with JSON.CLEF file-based session logging
  • New LogViewerDialog with file list (newest-first) and selectable content viewer
  • Configurable log directory via [logging] log_directory in TOML config (defaults to logs/)
    Schema Explorer Performance
  • loadSchema() and getToolingMetadata() now fire concurrently (was sequential)
  • ToolingMetadata.columnTypeFor() uses O(1) map lookup (was O(n) linear scan)
  • SchemaSnapshot.tables/.views cached in constructor (were computed getters allocating new lists on every access)
  • indexesForObject()/triggersForObject() use map-based lookup (were .where().toList() per call)
    Other
  • Read-only ERD viewer with PNG/JPG export
  • Data quality profiling and validation suite
  • Searchable command palette and in-app Help Center
  • Window placement persistence
  • Configurable query timeouts
  • Screenshot carousel in assets/screenshots.html
    Testing
  • flutter analyze — 0 issues
  • flutter test — 649/649 passed
  • Navidrome SQLite import (17K rows, 24 tables) verified end-to-end via headless CLI
    Intentionally Excluded
  • TDE/security benchmarking — Decent Bench is a workbench, not a security benchmark
  • Cross-process WAL stress testing — single-process embedded app; coordination surfaced as read-only metrics
  • Browser/WASM/mobility — desktop-only app
  • Prepared batch API — Dart binding doesn't expose it yet
    Stats
    440 files changed, ~68K insertions, ~7K deletions across 55 commits.

sphildreth added 30 commits May 18, 2026 14:15
…ucture

Refactor the `DecentDbBridge` worker isolate into a `_BridgeWorkerState`
class to improve encapsulation and maintainability. This change replaces
procedural dispatch with dedicated handler methods for database
operations and encapsulates database/cursor state.

Additionally, improve the test suite and CI pipeline by:
- Grouping tests logically using `group()` blocks across unit, widget,
  and integration tests.
- Introducing fixture helpers to reduce boilerplate in test setup.
- Enabling coverage collection and Codecov integration in the GitHub
  Actions workflow.
- Updating the CI cache key strategy for Flutter dependencies.

Includes a new design document outlining future improvement goals.
Introduce a series of Architecture Decision Records (ADRs) to define the
technical direction for upcoming features, including inline table
editing, workspace management, and data visualization.

Additionally, revise the `FUTURE_WINS.md` roadmap to establish a ranked
backlog prioritized by user impact. This update clarifies the project's
strategic direction and provides a structured plan for vNext
development.

ADRs added:
- 0028: Inline table data editor
- 0029: Workspace project file and query library
- 0030: Charting library and visualization contract
- 0031: Parquet and Excel export dependency strategy
- 0032: Database snapshot and safe run
- 0033: Computed column transforms during import
Introduce the Command Palette (`Ctrl+Shift+P`) to allow users to quickly
find and execute any registered menu command. The palette features a
fuzzy-search interface, keyboard navigation, and displays command
metadata including icons and keyboard shortcuts.

- Create `CommandPalette` widget and integrate into `WorkspaceScreen`
- Add `view_command_palette` to default keybindings and command registry
- Implement fuzzy search filtering over the `MenuCommandRegistry`
- Include widget tests for command filtering and execution flow
- Update changelog and project roadmap to reflect implementation status
Implement comprehensive error catching and logging for configuration
loading, state persistence, and platform integrations. This ensures
that failures in non-critical operations (like native menu detection
or config parsing) are recorded without crashing the application,
while providing better diagnostic context for state save failures.

- Add logging for workspace state persistence failures
- Inject logger into shell controller to monitor preference updates
- Provide fallback to default config on parsing errors in AppConfigStore
- Log platform-specific and archive extraction errors in the UI layer
…tracts

Enable first-class support for the DecentDB v2.5.1 engine by surfacing
native semantic types, tooling metadata, and query contracts. This
update allows the workbench to provide type-aware cell rendering,
schema-drift warnings via fingerprints, and structured parameter input.

- Support ENUM, IPADDR, MACADDR, temporal, and spatial types
- Add query contract integration for parameter hints and result metadata
- Implement persistent query history with a new results subtab
- Add streaming JSON and NDJSON export functionality
- Introduce SQL risk assessment for destructive DML operations
- Upgrade DecentDB dependency to v2.5.1 and update roadmap docs

BREAKING CHANGE: Persisted workspace state bumped to schema version 3.
Update all application manifests, metadata, and runner configurations to
reflect the version 2.0.0 milestone. This release finalizes the
integration of DecentDB v2.5.1 features and stabilizes the integration
testing infrastructure to ensure reliable CI runs.

- Bump version to 2.0.0 in pubspec.yaml, app_metadata.dart, and native runners
- Update theme compatibility constraints to support the 2.x.x range
- Refactor integration tests to centralize setup and improve teardown reliability
- Synchronize CHANGELOG, README, and design docs with the 2.0.0 shipping state
Synchronize documentation with the latest application capabilities,
covering new import formats, workbench enhancements, and CLI flags.

- Add NDJSON and archive-wrapped sources to supported formats
- Detail the command palette and per-tab history in SQL Workbench
- Add section for SQL risk classification and query contracts
- Update CLI usage examples with --help and --version
- Remove obsolete status section from table of contents
…tructure

Introduce the foundation for DecentDB native branching and snapshot
management, including UI integration for the branch workbench and
state tracking in the controller.

- Add WorkspaceBranchInfo, WorkspaceSnapshotInfo, and WorkspaceBranchDiff
  domain models
- Extend WorkspaceDatabaseGateway with branch and snapshot operations
- Integrate branch workbench controls into the app menu and toolbar
- Add branch label to the status bar for active context visibility
- Enhance spatial data handling with WKT and GeoJSON copy options in
  the results grid
- Improve SQL parameter input with type-aware validation based on
  native type descriptors
- Update design documents and ADRs to reflect revised feature priorities

This implementation provides the UI and controller logic for the
branching workflow while the bridge layer handles cases where the
underlying Dart bindings for native operations are pending.
Introduce a comprehensive suite of features for data introspection,
transformation, and export to finalize the v2.0.0 workbench foundation.

- Add result charts (bar, line, pie, scatter) and EXPLAIN plan visualization
- Implement row-level import transforms for filters and computed columns
- Add Excel (.xlsx) export support using a native XML-based writer
- Introduce column and database statistics for deeper data analysis
- Implement a persistent saved-query library and project manifest system
- Add schema-first SDK generation prototype for TypeScript output
- Support import/export profiles for repeatable headless workflows
- Enable type-aware inline table editing for single-table results
- Update design documentation and ADRs to reflect implemented v2.0.0 logic
Introduce design documentation and architectural decision record for a
read-only ERD viewer. This feature facilitates schema discovery and
navigation without enabling DDL mutations.

- Add ADR-0035 for read-only ERD viewer and image export
- Update PRD and SPEC to include ERD viewer requirements
- Create ERD UI implementation plan
- Reprioritize ERD viewer in future roadmap documentation
Expand the ERD technical specification to address edge cases in foreign
key visualization and UI scalability.

- Specify synthetic grouping logic for multi-column foreign keys
- Define column truncation and responsive display density rules
- Add placeholder node behavior for missing schema references
- Limit initial scope to table objects, excluding views
- Detail search filtering and empty state UI requirements
…ints

Revise ERD implementation guidance to prioritize shipping a usable first slice
over pursuing production-grade graph layout. Introduce conservative raster export
size limits to prevent out-of-memory crashes on large diagrams.

- Replace aspirational Sugiyama layout with simple deterministic layered-grid
  approach scoped to initial slice
- Add timebox boundary for layout complexity; defer to dependency ADR if custom
  layout becomes untenable
- Enforce 8192 px and 64 megapixel limits on image export canvas allocation
- Clarify fallback strategies for export scale violations and future tiled export
- Update ADR and spec to reflect pragmatic first-implementation constraints
… patterns

Establish comprehensive implementation guidance for ERD viewer covering canvas
rendering strategies, node/edge interaction models, and performance optimization
techniques. Document best practices for handling large diagrams and user feedback
mechanisms to support the initial production release.
…h image export

Add complete ERD viewer implementation including deterministic schema-relationship
graph generation, layered-grid layout algorithm, navigation-pane UI with search
and neighborhood mode, workspace menu/command integration, and PNG/JPG raster
export with safe pixel limits. Update dependencies to include image package v4.3.0
for raster encoding, integrate with existing table-preview navigation, and mark
all six implementation phases as complete in the design guide.
…ormat-version upgrade

Implement safe copy-based migration for legacy DecentDB files that fail to open
due to unsupported format versions. The workflow detects format-version errors,
runs the official `decentdb-migrate` tool into a new destination, and opens the
migrated database after success. Add migration service, dialog UI, native tool
resolution from PATH/environment/bundle/release asset, and staging helper support
for packaging. Update workspace controller to gracefully handle missing tooling
metadata. Extend native library resolver and release asset logic to support
migration tool discovery and caching alongside the native library.
…RD layout

- Update `decentdb_bridge` to resolve foreign keys defined at the table level
  by scanning the table's foreign key constraints when serializing columns.
- Increase ERD node heights for wide and medium densities to improve
  visibility of column lists.
- Add smoke tests for table-level foreign key resolution.
- Add widget tests for ERD table card column overflow behavior.
Update the DecentDB Dart binding and runtime dependency from v2.5.1 to
v2.6.0. This alignment includes updating internal documentation, ADRs,
and version tracking across the repository.

A new enhancement plan is added to track the adoption of v2.6.0 surfaces
such as queued writes, operational metrics, and SQL/PRAGMA parity. Test
fixtures and expectations are also updated to reflect the new engine
version.
Introduce ADR-0038 through ADR-0042 to define the technical approach for
integrating new DecentDB v2.6.0 capabilities, including queued writes,
the local web console companion process, reactive stream management,
sync diagnostics, and the Lua extension trust model.

The enhancement plan is updated with a phase map that links these
architectural decisions to the project's implementation workstreams,
formalizing the roadmap for feature adoption following the initial
dependency alignment.
Introduce support for DecentDB v2.6.0 operational metrics, optional
queued write execution for table edits, and a managed Web Console
companion process with CLI resolution.

Update the SQL editor with v2.6 parity for PRAGMA metadata, system
schema views, and schema qualifiers. Mark ADR-0038 through ADR-0042
as accepted and transition the enhancement plan to implemented.
Apply project-specific branding to the Linux, macOS, and Windows desktop
runners. This includes implementing runtime asset resolution for the
Linux GTK window icon and updating the native asset collections for
macOS and Windows.

Also, remove the implemented DECENTDB_2_6_ENHANCEMENT_PLAN.md and update
the changelog to reflect the branding changes.
Improve the handling of DecentDB v2.6 operational metrics by detecting
Dart binding limitations regarding 'sys.*' inspection views. Instead of
reporting individual access errors for each metric, the bridge now
collapses these into a single informative note explaining the current
paging path restriction.

This prevents the diagnostics view from being cluttered with redundant
error messages when running against environments where the Dart binding
cannot yet page results from the system schema.

- Add detection for schema-qualified boundary errors in the bridge.
- Implement a consolidated summary view for unavailable system metrics.
- Add smoke test to verify collapsing behavior.
- Update CHANGELOG.md to reflect improved diagnostics handling.
…ment

Enable comprehensive database branching and snapshot workflows via the
DecentDB bridge. This includes support for creating, listing, deleting,
and diffing branches, as well as executing queries against specific
branches.

Additionally, implement standard file lifecycle operations (Save, Save
As, Close) to manage workspace state, query libraries, and
configurations with explicit durability.

- Connect UI commands to native branch and snapshot APIs.
- Implement workspace state persistence and file duplication logic.
- Resolve DecentDB system metrics using paged inspection views.
- Switch DecentDB dependency to a local path for integrated builds.
- Add architectural documentation and menu command contract tests.
Implement comprehensive testing for application-menu keybindings to
ensure every default shortcut targets a valid command and respects
activation state.

- Verify shortcut-to-command mappings in the menu contract audit.
- Add UI smoke tests for global shortcut dispatch (Ctrl+Shift+P, F1,
  Ctrl+Q) within the production shell.
- Enforce constraints against duplicate accelerator assignments and
  deferred command bindings.
- Remove obsolete ERD UI implementation and planning documents to
  clean up the design directory.
Introduce a comprehensive Help Center accessible via Help > Documentation
or the F1 key. This replaces the previous static documentation dialog
with a dynamic, searchable interface powered by bundled Markdown
articles.

- Add `flutter_markdown_plus` dependency for rich content rendering.
- Implement Help Center UI with support for local search and topic
  navigation.
- Integrate bundled Markdown assets into the application.
- Add domain, infrastructure, and presentation layers for help content
  management.
- Update release guidelines to include documentation maintenance
  procedures.
- Add widget tests to verify Help Center accessibility and navigation.
Reduces visual clutter by replacing the expansive command toolbar with a
compact set of essential actions. Most commands are moved to the
application menus or the command palette.

- Consolidate import commands into a single `PopupMenuButton`.
- Limit toolbar buttons to New, Open, Import, and Commands.
- Update widget tests to reflect the new UI structure and use keys for
  more robust selection.
- Update CHANGELOG to document the UI simplification.
…ation

Refreshes the product and engineering priority index by consolidating
suggestions from multiple coding agents.

- Reorganizes the document structure to focus on agent-driven feedback.
- Implements new consolidation rules to group overlapping ideas and
  workflow-based enhancements.
- Updates the purpose and review basis to reflect the new roadmap
  methodology.
- Removes deprecated v2.0.0 status in favor of an agent feedback
  consolidation refresh.
Introduce architectural decision records and a validation plan for
data quality profiling.

- Add WIN_DATA_QUALITY_PROFILING_VALIDATION_PLAN.md
- Add ADR for data quality persistence and project contracts
- Add ADR for data quality execution and paging contracts
- Add ADR for data quality report privacy contracts
…hive wrappers

Update READMEs, help assets, and design documents to reflect expanded
import capabilities, including new archive wrapper support (tar/gzip/bzip2)
and a more comprehensive list of supported delimited and structured
formats.

- Update project READMEs with expanded import format lists
- Refine help center documentation for delimited, JSON, XML, and HTML imports
- Update import support plan status to reflect completed features
- Clarify archive wrapper routing logic in technical documentation
sphildreth added 28 commits May 22, 2026 18:28
Enables the data quality suite to analyze the output of saved queries
by materializing them into temporary tables. High-latency validation
rules like regex and similarity checks are now executed in background
isolates to prevent UI blocking.

- Add "Run Quality Profile" button to successful import summaries
- Persist preferred quality profiles and modes in workspace files
- Implement temporary table lifecycle for query profiling
- Offload non-SQL checks to multi-threaded background workers
- Expand test coverage with dashboard integration and domain unit tests
- Prune completed roadmap items from documentation
Adds regression tests for isolate-backed validation rules to ensure they
correctly persist violation details for paged retrieval. Marks the
Data Quality Profiling & Validation suite as 100% complete in the
tracking documentation.

- Add test case for successful validation runs with zero failures
- Validate that regex and near-duplicate rules support paged detail loading
- Update design document checklist to reflect full implementation status
- Document final performance strategies for large-table validation flows
Refine DataQualityController state management to provide accurate
lifecycle tracking and robust data synchronization.

- introduce canCancelRun getter for precise UI control
- track execution via cancellation tokens instead of persisted status
- synchronize current run with repository state after completion
- detect stale 'running' statuses in freshness computation
- add error handling for result persistence failures
Reorganize import system documentation to align with the modular
architecture and improve clarity for both users and developers.

- delete design/IMPORT_FORMATS.md and design/IMPORT_SUPPORT_PLAN.md
- migrate the supported format list to the bundled Help Center
- unify the future format backlog in WIN_IMPORT_FORMAT_EXPANSION_PLAN.md
- update ADRs, PRD, and project READMEs to reflect the new structure
- refactor documentation validation tests to target help assets
…ation

Add a "Testing Tooling Policy" to the import expansion plan to guide the
creation of test fixtures using containerized tools.

- mandate Docker for format-specific tools like PostgreSQL and DuckDB
- preserve dependency-free execution for standard test runs
- require pinned image tags and documented cleanup procedures
- define preferred tooling for Parquet, ODS, and SQL dump formats
Update the import format implementation plan to clarify prioritization
logic and document strategies for new target formats.

- add implementation complexity to factors influencing wave movement
- clarify Wave 1 and Wave 2 definitions to distinguish between bounded
  implementation paths and those requiring ADRs or worker decisions
- expand the fixture generation table with specific tooling strategies
  for Microsoft Access, DBF/FoxPro, Markdown, YAML, and XZ/7-Zip
- bump last-reviewed timestamp to 2026-05-23
Complete the implementation of several Wave 1 import formats, moving
them from planned/investigate status to fully supported features. This
includes new generic wizards, specialized infrastructure support, and
UI integration for clipboard-based ingestion.

- add support for clipboard tables (TSV, CSV, Markdown, HTML)
- implement fixed-width text, ODS, and SpreadsheetML importers
- add structured log support for JSON streams and common templates
- support Markdown pipe tables and HAR browser archives
- expand SQL dump support to include PostgreSQL plain dumps and COPY
- implement XZ archive extraction and routing
- update help documentation and internal module catalog
- add ADR-0054 for Parquet runtime requirements
Introduce cross-platform window management to preserve application
position, size, and display state (normal, maximized, or fullscreen)
between sessions. This ensures the workspace environment is
consistently restored on Linux, macOS, and Windows.

- introduce native platform channels for window geometry synchronization
- enable background persistence of window state to the TOML configuration
- bump configuration schema to version 3 to accommodate window metadata
- add ADR-0055 documenting the window placement persistence design
- update changelog and project specifications for workspace persistence
- ensure state restoration occurs during early application bootstrap
- implement periodic and lifecycle-triggered state capture in Dart
Refactor the monolithic `WorkspaceController` and `WorkspaceDatabaseGateway` to improve maintainability and testability by introducing specialized controllers and interfaces.

- Extract `BranchController` to manage branch and snapshot state and workflow logic.
- Decompose `WorkspaceDatabaseGateway` into single-responsibility interfaces: `DatabaseLifecycleGateway`, `SchemaIntrospectionGateway`, `QueryExecutionGateway`, `ExportGateway`, `ImportGateway`, and `BranchWorkflowGateway`.
- Update `WorkspaceController` to delegate branch operations to the new `BranchController`.
- Upgrade `decentdb` dependency to v2.7.0 via git reference.
- Implement a global error boundary in `main.dart` to capture unhandled Flutter and asynchronous errors.
- Update documentation and changelog to reflect architectural changes and dependency upgrades.
Improve responsiveness and reliability of branch-related operations by introducing specific timeouts and non-blocking state updates.

- Introduce `_branchRequestTimeout` (10s) to `DecentDbBridge` requests to prevent long-running branch operations from hanging indefinitely.
- Use `unawaited` for `refreshBranchState` in `WorkspaceController` to prevent blocking the main workspace restoration flow.
- Update `DecentDbBridge` methods to utilize the new branch-specific timeout.
Introduce a configurable timeout mechanism for all database operations to prevent indefinite hangs when worker isolates become unresponsive.

- Add `query_timeout_seconds` to `AppConfig` (default: 60s) and update TOML schema to version 4.
- Implement timeout support in `DecentDbBridge` and `WorkspaceDatabaseGateway` interfaces.
- Update `WorkspaceController` to enforce timeouts on queries, pagination, and exports.
- Add `updateQueryTimeout` method to allow runtime configuration updates.
- Update integration and unit tests to support the new `timeout` parameter in gateway mocks.
…ogic

Refactor the workspace and import features to improve maintainability and performance.

- Refactor `DecentDbBridge` to use a generic `_ImportOperation` instead of multiple specialized operation classes, reducing code duplication in import handling.
- Implement a size limit for ZIP archives in `ImportDetectionService` to prevent excessive memory usage during in-memory processing.
- Optimize `WorkspaceController` by introducing a cache for `queryHistory` to avoid redundant computations.
- Clean up `WorkspaceController` by removing redundant private logging methods.
- Update several ADRs to reflect status changes (Accepted/Superseded).
- Add new tests for import application logic and branch controller.
Add a collection of sample datasets for testing different text-based
import formats, including:
- CSV (Comma-Separated Values)
- GZ (Compressed CSV)
- Fixed-width text files
- PSV (Pipe-Separated Values)
- TSV (Tab-Separated Values)
Decompose the monolithic workspace domain models into granular,
specialized files to improve maintainability and organization.

Changes include:
- Splitting `workspace_models.dart` and `app_config.dart` into
  individual model files (e.g., `appearance_settings_model.dart`,
  `query_phase_models.dart`, `schema_models.dart`).
- Renaming `test-data/text_seperated_values` to
  `test-data/text_separated_values` to correct the spelling.
- Updating test fixtures and documentation to reflect the new
  directory structure.
- Updating `THIRD_PARTY_NOTICES.md` to bump `decentdb` dependency
  to `v2.7.0`.
Update the pinned DecentDB Dart binding and runtime dependency from
v2.7.0 to v2.8.0 to leverage new engine capabilities and diagnostics.

- Implement structured error diagnostic support by parsing rich JSON
  output from the engine, including subcodes, retryability, and
  documentation anchors.
- Add support for new operational metrics including process
  coordination, process readers, and process lock metrics.
- Improve import reliability by implementing better cleanup of
  temporary database files (WAL, SHM, journal, etc.) on completion
  or failure.
- Enhance SQLite import with savepoint-based transaction management
  for better atomicity during multi-table imports.
- Update documentation, changelogs, and test suites to reflect the
  v2.8.0 alignment and new engine features.
…e refresh

Add calls to `refreshBranchState()` in workspace controller tests to
ensure the branch state is correctly synchronized after database
initialization or opening. This ensures that assertions regarding
`canUseNativeBranchWorkflow` and `branchState` are tested against
the most current state.
…logging

Replace the DecentDB-based logging mechanism with a file-based `ClefAppLogger`
that generates timestamped session logs. This change includes:

- Updating `AppLogger` to use `logDirectoryPath` and `sessionLogFilePath`
  instead of a single database path.
- Implementing `ClefAppLogger` for managing text-based log files.
- Adding `log_directory` support to `AppConfig` and `LoggingSettings`.
- Introducing a `LogViewerDialog` to allow users to view log files via the
  UI.
- Integrating logging into the SQLite import worker for better traceability
  of background tasks.
- Updating existing tests to reflect the new logging architecture.
…mport worker

Update the SQLite import logic to use explicit transactions for each table
instead of savepoints. This improves reliability and changes how
transaction state is tracked during the import process.

- Replace `savepoint` and `releaseSavepoint` with `begin` and `commit`
  for each table.
- Update `transactionOpen` flag management to reflect the new
  transactional structure.
- Refactor logging to provide granular feedback per table completion.
- Adjust the progress update sequence to occur after the final
  checkpointing phase.
Improve the robustness of the SQLite import worker by adding specialized
handling for malformed or empty timestamp values.

- Return epoch zero for empty strings when target type is TIMESTAMP.
- Add validation to treat strings consisting only of separators (e.g.,
  "---", "::", "T") as null to prevent parsing errors.
Add validation to ensure that import operations (headless CLI,
generic import dialog, and workspace controller imports) use the
correct `.ddb` extension for target files.

- Implement `validateDecentDbTargetPath` to check for empty paths
  and incorrect extensions.
- Integrate validation into the headless import runner, import
  dialog, and Excel/SQL/SQLite import workflows.
- Prevent users from attempting to import into standard `.db` files
  by providing descriptive error messages.
Improve the reliability and performance of the schema refresh process in the `WorkspaceController` and enhance metadata lookup logic.

- Parallelize `loadSchema` and `getToolingMetadata` calls using `Future.wait` to reduce refresh latency.
- Encapsulate tooling metadata fetching in a safe wrapper to prevent metadata failures from blocking schema loading.
- Update `ToolingMetadata.getColumnTypeIndex` to fallback to iterating over `columnTypeMetadata` if the index map is empty, ensuring more robust type lookups.
Update documentation to reflect changes in how application logs are handled, moving from a DecentDB-backed log database to structured JSON.CLEF files stored in a per-session `logs/` directory.
Add a lint ignore comment for `use_null_aware_elements` when spreading
the `actions` list to resolve static analysis warnings in the
PanelCard widget.
Simplify the PanelCard widget implementation by using Material instead
of DecoratedBox. This replaces manual BoxDecoration properties with
Material's built-in shape and color handling, streamlining the widget
structure.
Replace ColoredBox with Material in the _HelpNavigationPane to ensure
proper elevation and ink effects within the help center dialog.
Update GitHub Actions workflows to download and configure both the
Dart-native assets and the DecentDB runtime assets. This includes
setting up environment variables for the migration tool and CLI
to ensure they are available during build and release processes.
@sphildreth
sphildreth merged commit 98879f0 into main May 30, 2026
4 checks passed
@sphildreth
sphildreth deleted the sph.2026-05-18.02 branch May 30, 2026 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant