Cloud sync: shared provider architecture, capabilities engine, streaming & dashboard#34
Merged
Cloud sync: shared provider architecture, capabilities engine, streaming & dashboard#34
Conversation
…ing & dashboard improvements Major sync from lasso-cloud (2826269..b72a0c7, Feb 10-21). Core changes: - Shared provider architecture: catalog, instance_id, instance_state, instance_supervisor, probe_coordinator, candidate_listing - Capabilities engine replaces per-provider adapters (7 adapters removed, generic adapter + YAML capabilities) - BlockSync refactoring: instance-scoped workers with new initializer - Streaming: instance_subscription_manager/registry replacing upstream_subscription_manager/registry - Circuit breaker and request pipeline improvements - Selection, transport, and WebSocket connection fixes Dashboard: - Performance improvements (input change detection, metrics-only updates) - New diagnostics panel and activity feed - Network topology status via push_event (reduces LiveView diffs) - Provider details: refactored block height resolution and sync data - Metrics store overhaul Other: - rpc_controller: round_robin → load_balanced, dynamic WS URL - Finch pool tuning (longer idle times, TLS session reuse) - Cowboy drainer for graceful shutdown - Documentation updates Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Conflicts: # config/profiles/default.yml # lib/lasso/core/health_probe/batch_coordinator.ex # lib/lasso/core/providers/adapter_helpers.ex # lib/lasso/core/providers/adapters/1rpc.ex # lib/lasso/core/providers/adapters/alchemy.ex # lib/lasso/core/providers/adapters/drpc.ex # lib/lasso/core/providers/adapters/generic.ex # lib/lasso/core/providers/adapters/llamarpc.ex # lib/lasso/core/providers/adapters/merkle.ex # lib/lasso/core/providers/provider_pool.ex # lib/lasso/core/request/request_pipeline/failover_strategy.ex # lib/lasso/core/request/request_pipeline/observability.ex # lib/lasso/core/selection/strategies/load_balanced.ex # lib/lasso/core/support/circuit_breaker.ex # lib/lasso/core/support/error_classification.ex # lib/lasso_web/dashboard/components/chain_details_panel.ex # lib/lasso_web/dashboard/components/metrics_tab.ex # lib/lasso_web/dashboard/components/provider_details_panel.ex # lib/lasso_web/dashboard/endpoint_helpers.ex # lib/lasso_web/dashboard/formatting.ex # lib/lasso_web/dashboard/status_helpers.ex # test/integration/health_probe_integration_test.exs # test/integration/http_inclusion_with_ws_disconnect_integration_test.exs # test/integration/request_pipeline_integration_test.exs # test/integration/transport_failure_reporting_integration_test.exs # test/lasso/core/health_probe/probe_classification_test.exs # test/lasso/core/request/request_pipeline/failover_strategy_test.exs
- Update NetworkTopology.nodes_display call to pass pre-computed topology_data instead of removed connections/selected_profile/cluster_circuit_states attrs - Fix undefined variable chain in provider_details_panel.ex - Remove ProviderPool-dependent tests for deleted module - Update capabilities integration tests to iterate over actual profile files and skip providers without capabilities blocks Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.
Summary
Major sync from lasso-cloud (
2826269..b72a0c7, Feb 10-21, ~50 commits).Shared provider architecture — providers are now shared across profiles via a catalog with instance-based dedup. Replaces per-profile
ProviderPoolwithCatalog,InstanceSupervisor,ProbeCoordinator,CandidateListing,InstanceState, andInstanceId.Capabilities engine — replaces 7 per-provider adapters (Alchemy, Cloudflare, dRPC, etc.) with a single generic adapter + declarative YAML capabilities. Adapter classification now driven by
capabilities.ex+adapter_filter.ex.Streaming refactoring —
InstanceSubscriptionManager/InstanceSubscriptionRegistryreplaceUpstreamSubscriptionManager/UpstreamSubscriptionRegistryfor instance-scoped WebSocket subscription management.BlockSync — new
Initializermodule, instance-scoped workers, improved HTTP/WS strategies.Dashboard — performance improvements (input change detection, metrics-only LiveView updates), new diagnostics panel and activity feed, network topology status via push_event, metrics store overhaul.
Other —
round_robin→load_balancedstrategy rename, Finch pool tuning, Cowboy drainer, circuit breaker improvements, WebSocket connection fixes.Files changed
Skipped (diverged)
lib/lasso_web/dashboard/dashboard.ex— 52 proprietary markers (auth, billing, entitlements woven throughout)Verification
mix compile)mix formatclean🤖 Generated with Claude Code