diff --git a/docs/package.json b/docs/package.json index cf62e6b3a2..c6d84a1479 100644 --- a/docs/package.json +++ b/docs/package.json @@ -21,7 +21,6 @@ "@perspective-dev/viewer": "workspace:", "@perspective-dev/client": "workspace:", "@perspective-dev/server": "workspace:", - "blocks": "workspace:", "puppeteer": "catalog:", "superstore-arrow": "catalog:" }, diff --git a/docs/src/data/projects/blocks.ts b/docs/src/data/projects/blocks.ts index 06fe9a5a0e..49c47e5697 100644 --- a/docs/src/data/projects/blocks.ts +++ b/docs/src/data/projects/blocks.ts @@ -70,7 +70,6 @@ export const SUPERSTORE_PROJECTS: Project[] = [ "underneath.", source: SUPERSTORE, workspace: { - version: "5.2.0", active: "PERSPECTIVE_GENERATED_ID_1", layout: { type: "split-layout", @@ -103,7 +102,6 @@ export const SUPERSTORE_PROJECTS: Project[] = [ }, panels: { PERSPECTIVE_GENERATED_ID_0: { - version: "5.2.0", columns_config: {}, plugin: "Y Bar", plugin_config: {}, @@ -120,7 +118,6 @@ export const SUPERSTORE_PROJECTS: Project[] = [ aggregates: {}, }, PERSPECTIVE_GENERATED_ID_1: { - version: "5.2.0", columns_config: { Profit: { number_fg_mode: "label-bar", @@ -142,7 +139,6 @@ export const SUPERSTORE_PROJECTS: Project[] = [ aggregates: {}, }, PERSPECTIVE_GENERATED_ID_2: { - version: "5.2.0", columns_config: {}, plugin: "Treemap", plugin_config: {}, @@ -190,7 +186,6 @@ export const OLYMPICS_PROJECTS: Project[] = [ name: "olympics", }, workspace: { - version: "5.2.0", active: "PERSPECTIVE_GENERATED_ID_0", layout: { type: "split-layout", @@ -661,7 +656,6 @@ export const SF_PROJECTS: Project[] = [ name: "evictions", }, workspace: singlePanel({ - version: "5.2.0", columns_config: {}, plugin: "Map Scatter", plugin_config: { diff --git a/docs/src/data/projects/dashboards.ts b/docs/src/data/projects/dashboards.ts index 990ba108c6..daf8c2de79 100644 --- a/docs/src/data/projects/dashboards.ts +++ b/docs/src/data/projects/dashboards.ts @@ -77,7 +77,6 @@ export const DASHBOARD_PROJECTS: Project[] = [ description: TRADING_DESK_DESCRIPTION, source: MARKET_SOURCE, workspace: { - version: "5.2.0", active: "PERSPECTIVE_GENERATED_ID_0", layout: { type: "split-layout", @@ -172,7 +171,6 @@ export const DASHBOARD_PROJECTS: Project[] = [ description: TRADING_DESK_DESCRIPTION, source: MARKET_SOURCE, workspace: { - version: "5.2.0", active: "PERSPECTIVE_GENERATED_ID_2", layout: { type: "split-layout", @@ -303,7 +301,6 @@ export const DASHBOARD_PROJECTS: Project[] = [ description: VIDEO_WALL_DESCRIPTION, source: WEBCAM_SOURCE, workspace: { - version: "5.2.0", layout: { type: "split-layout", children: [ @@ -335,7 +332,6 @@ export const DASHBOARD_PROJECTS: Project[] = [ }, panels: { PERSPECTIVE_GENERATED_ID_0: { - version: "5.2.0", columns_config: {}, plugin: "Heatmap", plugin_config: {}, @@ -356,7 +352,6 @@ export const DASHBOARD_PROJECTS: Project[] = [ aggregates: {}, }, PERSPECTIVE_GENERATED_ID_1: { - version: "5.2.0", columns_config: {}, plugin: "Y Bar", plugin_config: {}, @@ -378,7 +373,6 @@ export const DASHBOARD_PROJECTS: Project[] = [ aggregates: {}, }, PERSPECTIVE_GENERATED_ID_2: { - version: "5.2.0", columns_config: {}, plugin: "X/Y Scatter", plugin_config: {}, diff --git a/docs/src/data/projects/market_layouts.json b/docs/src/data/projects/market_layouts.json index 7bcfe441c2..675ca53839 100644 --- a/docs/src/data/projects/market_layouts.json +++ b/docs/src/data/projects/market_layouts.json @@ -97,7 +97,6 @@ "aggregates": { "bucket(\"timestamp\", 'm')": "dominant" } }, { - "version": "5.2.0", "columns_config": { "Diff from market open": { "number_fg_mode": "bar", @@ -140,7 +139,6 @@ "aggregates": {} }, { - "version": "5.2.0", "columns_config": { "if(\"side\"=='buy'){-1}else{1}": { "aggregate_depth": 1, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b06dbfd8cc..8768f3ca39 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -251,9 +251,6 @@ importers: '@perspective-dev/viewer-datagrid': specifier: 'workspace:' version: link:../packages/viewer-datagrid - blocks: - specifier: 'workspace:' - version: link:../examples/blocks puppeteer: specifier: 'catalog:' version: 24.26.1(typescript@5.9.3) @@ -274,34 +271,6 @@ importers: specifier: 'catalog:' version: 5.9.3 - examples/blocks: - dependencies: - '@perspective-dev/client': - specifier: 'workspace:' - version: link:../../rust/perspective-js - '@perspective-dev/server': - specifier: 'workspace:' - version: link:../../rust/perspective-server - '@perspective-dev/viewer': - specifier: 'workspace:' - version: link:../../rust/perspective-viewer - '@perspective-dev/viewer-charts': - specifier: 'workspace:' - version: link:../../packages/viewer-charts - '@perspective-dev/viewer-datagrid': - specifier: 'workspace:' - version: link:../../packages/viewer-datagrid - superstore-arrow: - specifier: 'catalog:' - version: 3.2.0 - devDependencies: - '@zip.js/zip.js': - specifier: 'catalog:' - version: 2.8.8 - esbuild: - specifier: 'catalog:' - version: 0.25.11 - examples/esbuild-clickhouse-virtual: dependencies: '@clickhouse/client-web': diff --git a/rust/metadata/main.rs b/rust/metadata/main.rs index 2b10e8d4d6..f7f0ea61e7 100644 --- a/rust/metadata/main.rs +++ b/rust/metadata/main.rs @@ -40,8 +40,8 @@ use perspective_js::TypedArrayWindow; use perspective_viewer::config::{ ClientOptions, CustomNumberFormatConfig, DatetimeColorMode, DatetimeFormatType, ExportMethod, ExportOptions, FormatMode, GetClientOptions, GetTableOptions, Notation, NumberFormatStyle, - PanelOptions, PluginStaticConfig, RestoreOptions, StringColorMode, ViewerConfig, - ViewerConfigInitial, ViewerConfigUpdate, WorkspaceConfig, WorkspaceConfigUpdate, + PanelOptions, PluginStaticConfig, RestoreOptions, SaveWorkspaceOptions, StringColorMode, + ViewerConfig, ViewerConfigInitial, ViewerConfigUpdate, WorkspaceConfig, WorkspaceConfigUpdate, }; use ts_rs::TS; @@ -70,6 +70,7 @@ pub fn generate_type_bindings_viewer() -> Result<(), Box> { GetClientOptions::export_all_to(&path)?; PluginStaticConfig::export_all_to(&path)?; OnUpdateData::export_all_to(&path)?; + SaveWorkspaceOptions::export_all_to(&path)?; // The column-format wire types (`columns_config` values): the // flattened style/notation families export separately (ts-rs cannot diff --git a/rust/perspective-python/perspective/tests/table/test_column_paths.py b/rust/perspective-python/perspective/tests/table/test_column_paths.py index 66e2134dbc..eba64ae973 100644 --- a/rust/perspective-python/perspective/tests/table/test_column_paths.py +++ b/rust/perspective-python/perspective/tests/table/test_column_paths.py @@ -73,7 +73,6 @@ def test_column_paths_split_by_range(self, superstore): paths = view.column_paths(start_col=1, end_col=2) assert paths == [ "Second Class|Sales", - "Standard Class|Sales", ] view.delete() @@ -82,7 +81,6 @@ def test_column_paths_split_by_range(self, superstore): paths = view.column_paths(end_col=1) assert paths == [ "First Class|Sales", - "Second Class|Sales", ] view.delete() diff --git a/rust/perspective-server/cmake/modules/FindInstallDependency.cmake b/rust/perspective-server/cmake/modules/FindInstallDependency.cmake index b8c103f72c..ac6f12671f 100644 --- a/rust/perspective-server/cmake/modules/FindInstallDependency.cmake +++ b/rust/perspective-server/cmake/modules/FindInstallDependency.cmake @@ -49,7 +49,9 @@ function(psp_build_dep name cmake_file) set(ARROW_WITH_ZSTD ON) set(ARROW_WITH_LZ4 ON) set(ARROW_NO_EXPORT ON) - set(ARROW_CXXFLAGS "-Wno-documentation" CACHE STRING "" FORCE) + if(NOT WIN32) + set(ARROW_CXXFLAGS "-Wno-documentation" CACHE STRING "" FORCE) + endif() set(ARROW_DEPENDENCY_SOURCE "BUNDLED" CACHE STRING "override arrow's dependency source" FORCE) if(PSP_WASM_BUILD) set(ARROW_ENABLE_THREADING OFF) diff --git a/rust/perspective-viewer/src/rust/custom_elements/viewer.rs b/rust/perspective-viewer/src/rust/custom_elements/viewer.rs index fe747a3094..e69fbde6b3 100644 --- a/rust/perspective-viewer/src/rust/custom_elements/viewer.rs +++ b/rust/perspective-viewer/src/rust/custom_elements/viewer.rs @@ -206,6 +206,7 @@ impl PerspectiveViewerElement { } async fn workspace_config(this: Self, full_palette: bool) -> ApiResult { + this.workspace.effects().settle().await; let mut panels: std::collections::BTreeMap = Default::default(); for id in &this.workspace.panel_ids() { let panel = this.workspace.panel(id).into_apierror()?; @@ -1266,6 +1267,7 @@ impl PerspectiveViewerElement { let PanelOptions { panel: name } = parse_options(options); let this = self.clone(); let fut = ApiFuture::new(async move { + this.workspace.effects().settle().await; let panel = this.resolve_panel(name)?; let viewer_config = panel .renderer diff --git a/tools/bench/python_suite.mjs b/tools/bench/python_suite.mjs index e04117f1f4..f1727fdfa3 100644 --- a/tools/bench/python_suite.mjs +++ b/tools/bench/python_suite.mjs @@ -42,16 +42,19 @@ const CLIENT_VERSION = { "3.3.0": "perspective-3-3-0", "3.2.0": "perspective-3-2-0", "3.1.0": "perspective-3-1-0", - "3.0.3": "perspective-3-0-0", - "2.10.1": "perspective-2-10-0", - "2.9.0": "perspective-2-9-0", - "2.8.0": "perspective-2-8-0", - "2.7.0": "perspective-2-7-0", - "2.6.0": "perspective-2-6-0", - "2.5.0": "perspective-2-5-0", - "2.4.0": "perspective-2-4-0", - "2.3.2": "perspective-2-3-0", - "2.3.1": "perspective-2-3-0", + + // TODO(texodus): These suites are legacy broken with python 3.9+ and can't + // run in CI anymore, need to add python sandboxing to support them. + // "3.0.3": "perspective-3-0-0", + // "2.10.1": "perspective-2-10-0", + // "2.9.0": "perspective-2-9-0", + // "2.8.0": "perspective-2-8-0", + // "2.7.0": "perspective-2-7-0", + // "2.6.0": "perspective-2-6-0", + // "2.5.0": "perspective-2-5-0", + // "2.4.0": "perspective-2-4-0", + // "2.3.2": "perspective-2-3-0", + // "2.3.1": "perspective-2-3-0", }; fs.mkdirSync(path.join(__dirname, "./dist"), { recursive: true });