fixing pane in client for accounting + debug optimizations to run

This commit is contained in:
Priec
2026-08-14 07:45:36 +02:00
parent b2f141ccba
commit 85602159f4
10 changed files with 55 additions and 4 deletions

12
.cargo/config.toml Normal file
View File

@@ -0,0 +1,12 @@
# Faster linking for local dev rebuilds.
# Uses lld instead of the default bfd linker; requires `lld` from the flake
# devShell. Run `direnv reload` after changing flake.nix.
[target.x86_64-unknown-linux-gnu]
rustflags = ["-C", "link-arg=-fuse-ld=lld"]
# Build first and run the resulting binary outside Cargo. This lets client,
# server, and test builds share the target cache without a long-lived
# `cargo run` process holding up another Cargo invocation.
[alias]
watch-client = ["watch", "--delay", "0.1", "--ignore", "**/common/src/proto/**", "--exec", "build --package client", "--shell", "workspace_manifest=$(cargo locate-project --workspace --message-format plain); exec ${workspace_manifest%Cargo.toml}target/debug/client client"]
watch-server = ["watch", "--why", "--delay", "0.1", "--ignore", "**/common/src/proto/**", "--exec", "build --package server", "--shell", "workspace_manifest=$(cargo locate-project --workspace --message-format plain); exec ${workspace_manifest%Cargo.toml}target/debug/server server"]

1
.gitignore vendored
View File

@@ -12,3 +12,4 @@ tui-pages-cli/
tui-canvas-validation-core/ tui-canvas-validation-core/
WEBSITE.md WEBSITE.md
mutants*/ mutants*/
AGENT_TESTING_NOTES.md

View File

@@ -63,3 +63,15 @@ common = { path = "./common" }
[patch.crates-io] [patch.crates-io]
tui-pages = { path = "tui-pages" } tui-pages = { path = "tui-pages" }
tui-canvas = { path = "tui-canvas" } tui-canvas = { path = "tui-canvas" }
# Fast dev loop: keep both workspace crates and dependencies cheap to compile.
# Backtraces still contain symbol names, but omit source line information.
[profile.dev]
opt-level = 0
debug = 0
incremental = true
overflow-checks = true
[profile.dev.package."*"]
opt-level = 0
debug = false

View File

@@ -20,8 +20,18 @@ libraries.
Server and client: Server and client:
``` ```
cargo watch --why -x 'run --package server -- server' cargo watch-server
cargo watch -x 'run --package client -- client' cargo watch-client
```
These aliases only watch each application's local dependency tree. They build
through Cargo, then run the binary separately so concurrent tests can reuse the
same build cache.
To connect a client to a second server instance, override its gRPC endpoint:
```
GRPC_ENDPOINT='http://[::1]:50052' cargo watch-client
``` ```
Client with tracing: Client with tracing:

2
client

Submodule client updated: f8bc80a415...75221c3adb

View File

@@ -165,6 +165,9 @@ message PostTableDataResponse {
// Revision committed for the inserted row. // Revision committed for the inserted row.
int64 row_revision = 4; int64 row_revision = 4;
// Journal created or updated by automatic accounting, when applicable.
optional int64 journal_id = 5;
} }
// One row in a bulk insert request. // One row in a bulk insert request.
@@ -251,6 +254,9 @@ message PutTableDataResponse {
// Revision committed for the updated row. // Revision committed for the updated row.
int64 row_revision = 4; int64 row_revision = 4;
// Journal updated by automatic accounting, when applicable.
optional int64 journal_id = 5;
} }
message TableUpdateImpactRequest { message TableUpdateImpactRequest {

Binary file not shown.

View File

@@ -72,6 +72,9 @@ pub struct PostTableDataResponse {
/// Revision committed for the inserted row. /// Revision committed for the inserted row.
#[prost(int64, tag = "4")] #[prost(int64, tag = "4")]
pub row_revision: i64, pub row_revision: i64,
/// Journal created or updated by automatic accounting, when applicable.
#[prost(int64, optional, tag = "5")]
pub journal_id: ::core::option::Option<i64>,
} }
/// One row in a bulk insert request. /// One row in a bulk insert request.
#[derive(Clone, PartialEq, ::prost::Message)] #[derive(Clone, PartialEq, ::prost::Message)]
@@ -181,6 +184,9 @@ pub struct PutTableDataResponse {
/// Revision committed for the updated row. /// Revision committed for the updated row.
#[prost(int64, tag = "4")] #[prost(int64, tag = "4")]
pub row_revision: i64, pub row_revision: i64,
/// Journal updated by automatic accounting, when applicable.
#[prost(int64, optional, tag = "5")]
pub journal_id: ::core::option::Option<i64>,
} }
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TableUpdateImpactRequest { pub struct TableUpdateImpactRequest {

View File

@@ -13,6 +13,8 @@
in in
{ {
devShells.default = pkgs.mkShell { devShells.default = pkgs.mkShell {
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath [ pkgs.openssl ];
buildInputs = with pkgs; [ buildInputs = with pkgs; [
mermaid-cli mermaid-cli
# Rust toolchain # Rust toolchain
@@ -34,6 +36,8 @@
# C build tools (for your linker issue) # C build tools (for your linker issue)
gcc gcc
binutils binutils
# Fast linker (lld) for quicker dev rebuilds
lld
pkg-config pkg-config
# OpenSSL for crypto dependencies # OpenSSL for crypto dependencies

2
server

Submodule server updated: f83ebc802a...f57088e548