Zedis is a Rust-based Redis/Valkey GUI client that ships as a native desktop application (macOS/Windows/Linux) built on GPUI - Zed's UI framework - plus a WebAssembly build that communicates over HTTP with a companion `zedis-bridge` server. The bridge provides multi-user capabilities (roles, invitations, signups, audit logging, MCP tokens) and optional PostgreSQL/MySQL storage, making the web deployment a self-hosted multi-user front-end. The desktop and web builds share the same view layer; a heavy `cfg(target_family = "wasm")` gating strategy (documented in ADRs 9-18) separates the two runtimes, and the browser build deliberately omits topology and some desktop-only panels. The workspace is cleanly layered: `crates/zedis-connection` implements all Redis operations (pooled clients, cluster/sentinel, SSH tunnels, TLS, typed per-data-type operations, dump/restore, key scanning); `crates/zedis-core` holds GUI-free logic (from-scratch Redis RDB parsing, binary codec detection, fuzzy search, JSONPath, CSV, diffs, TTL/score validation); `crates/zedis-db` persists local metadata (key tags, notes, favorites, Lua script library, trash) in redb; `crates/zedis-ui` provides reusable GPUI widgets; `zedis-bridge` is the HTTP server/RESP forwarder for the web build; `zedis-cmd-builder` generates Redis command metadata from upstream source. The view layer never touches Redis directly - it routes through a `ServerDb` abstraction that resolves to either pooled clients (desktop) or bridge HTTP transport (web). The feature surface covers the Redis admin lifecycle: typed editors for every data structure (string, list, set, zset, hash, stream, bitmap, HLL, geo, JSON, time series, probabilistic filters, vector sets), cluster topology with resharding including Valkey 9 atomic slot migration, Sentinel management, ACL editor, config editor, slowlog/MONITOR/COMMANDLOG, classic and sharded pub/sub, Lua scripts and functions, memory analysis with offline RDB parsing, server-to-server comparison/copy, and import/export via DUMP/RESTORE, readable JSON/CSV, and a custom versioned .zdis binary format. Server-flavor compatibility (Redis, Valkey, Dragonfly, Garnet, KeyDB, Kvrocks) is managed through a version-floor capability matrix with documented regression windows, plus live integration tests running against real server topologies. The engineering discipline is unusually high for a GUI tool: Architecture Decision Records referenced directly from code, a source-scanning view-layering ratchet test that forbids Redis protocol knowledge from leaking into views, command-floor and read-only classification test suites, Criterion benchmarks for hot paths (RDB parsing, fuzzy scan, JSONPath, key segmentation), future-size tests guarding async stack overflows, and security-conscious design throughout (Argon2id password hashing, AES-GCM secret encryption, severity-tiered command-danger classification, audit-log secret redaction, crash reporting, self-update with checksum verification). Acknowledged seams: wasm/desktop divergence creates cfg sprawl, PostgreSQL/MySQL bridge statements must stay in sync manually, and several source-scanning tests are sensitive to formatting changes - but the project is actively maintained, tracks bleeding-edge Redis/Valkey versions, and is far beyond a hobby tool in craftsmanship.
This repository is a monorepo for Microsoft's SQL Server extensions for Visual Studio Code, primarily the `ms-mssql.mssql` extension. It provides a comprehensive suite of database development tools including connection management, object explorer, query execution with rich result grids, schema and table designers, execution plan visualization, schema comparison, database project management (SQL projects, DACPAC), deployment wizards (local containers, Azure SQL, Fabric), backup/restore, and GitHub Copilot integration for natural language querying and schema exploration. The extension follows a client-server architecture where the VS Code extension communicates with a SQL Tools Service (STS) backend via JSON-RPC for language services, metadata, and query execution. The UI is built with React and Fluent UI components rendered in webviews, with state management using a reducer/action pattern over RPC. The monorepo also includes supporting packages: an extension-toolkit providing DI, telemetry, and localization primitives; a performance testing harness (perftest) for measuring extension latency; and companion extensions for data-workspace and database-management-keymap. The codebase demonstrates strong engineering practices with extensive unit and e2e tests, custom ESLint rules, localization infrastructure, and CI/CD pipelines.