Radish alpha
r
rad:z39mP9rQAaGmERfUMPULfPUi473tY
Radicle terminal user interface
Radicle
Git
lib: Update dependencies and remove tui-realm-textarea
Merged did:key:z6MkswQE...2C1V opened 2 years ago
8 files changed +144 -582 652720da 0e8f3495
modified Cargo.lock
@@ -163,6 +163,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"

[[package]]
+
name = "base64"
+
version = "0.21.7"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+

+
[[package]]
name = "base64ct"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -192,12 +198,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"

[[package]]
-
name = "block"
-
version = "0.1.6"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
-

-
[[package]]
name = "block-buffer"
version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -232,12 +232,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"

[[package]]
-
name = "bytecount"
-
version = "0.6.3"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c"
-

-
[[package]]
name = "byteorder"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -311,31 +305,6 @@ dependencies = [
]

[[package]]
-
name = "cli-clipboard"
-
version = "0.4.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "04087c1d4a2aa259784a563932aee09cbb0869d490775e051096174b070f3e3d"
-
dependencies = [
-
 "clipboard-win",
-
 "objc",
-
 "objc-foundation",
-
 "objc_id",
-
 "wl-clipboard-rs",
-
 "x11-clipboard",
-
]
-

-
[[package]]
-
name = "clipboard-win"
-
version = "4.5.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362"
-
dependencies = [
-
 "error-code",
-
 "str-buf",
-
 "winapi",
-
]
-

-
[[package]]
name = "const-oid"
version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -385,31 +354,6 @@ dependencies = [
]

[[package]]
-
name = "crossterm"
-
version = "0.25.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67"
-
dependencies = [
-
 "bitflags 1.3.2",
-
 "crossterm_winapi",
-
 "libc",
-
 "mio",
-
 "parking_lot",
-
 "signal-hook",
-
 "signal-hook-mio",
-
 "winapi",
-
]
-

-
[[package]]
-
name = "crossterm_winapi"
-
version = "0.9.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
-
dependencies = [
-
 "winapi",
-
]
-

-
[[package]]
name = "crypto-bigint"
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -516,17 +460,6 @@ dependencies = [
]

[[package]]
-
name = "derive-new"
-
version = "0.5.9"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535"
-
dependencies = [
-
 "proc-macro2",
-
 "quote",
-
 "syn 1.0.109",
-
]
-

-
[[package]]
name = "digest"
version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -539,12 +472,6 @@ dependencies = [
]

[[package]]
-
name = "downcast-rs"
-
version = "1.2.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
-

-
[[package]]
name = "dyn-clone"
version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -637,16 +564,6 @@ dependencies = [
]

[[package]]
-
name = "error-code"
-
version = "2.3.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21"
-
dependencies = [
-
 "libc",
-
 "str-buf",
-
]
-

-
[[package]]
name = "fastrand"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -675,12 +592,6 @@ dependencies = [
]

[[package]]
-
name = "fixedbitset"
-
version = "0.4.2"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
-

-
[[package]]
name = "flate2"
version = "1.0.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -691,12 +602,6 @@ dependencies = [
]

[[package]]
-
name = "fnv"
-
version = "1.0.7"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-

-
[[package]]
name = "form_urlencoded"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -717,16 +622,6 @@ dependencies = [
]

[[package]]
-
name = "gethostname"
-
version = "0.2.3"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e"
-
dependencies = [
-
 "libc",
-
 "winapi",
-
]
-

-
[[package]]
name = "getrandom"
version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -805,12 +700,6 @@ dependencies = [

[[package]]
name = "hashbrown"
-
version = "0.12.3"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-

-
[[package]]
-
name = "hashbrown"
version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
@@ -865,22 +754,12 @@ dependencies = [

[[package]]
name = "indexmap"
-
version = "1.9.3"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-
dependencies = [
-
 "autocfg",
-
 "hashbrown 0.12.3",
-
]
-

-
[[package]]
-
name = "indexmap"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
dependencies = [
 "equivalent",
-
 "hashbrown 0.14.3",
+
 "hashbrown",
]

[[package]]
@@ -1001,15 +880,15 @@ dependencies = [

[[package]]
name = "lexopt"
-
version = "0.2.1"
+
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "478ee9e62aaeaf5b140bd4138753d1f109765488581444218d3ddda43234f3e8"
+
checksum = "baff4b617f7df3d896f97fe922b64817f6cd9a756bb81d40f8883f2f66dcb401"

[[package]]
name = "libc"
-
version = "0.2.147"
+
version = "0.2.153"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"

[[package]]
name = "libgit2-sys"
@@ -1030,6 +909,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"

[[package]]
+
name = "libredox"
+
version = "0.0.2"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607"
+
dependencies = [
+
 "bitflags 2.4.1",
+
 "libc",
+
 "redox_syscall 0.4.1",
+
]
+

+
[[package]]
name = "libz-sys"
version = "1.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1057,52 +947,18 @@ dependencies = [
]

[[package]]
-
name = "lock_api"
-
version = "0.4.10"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
-
dependencies = [
-
 "autocfg",
-
 "scopeguard",
-
]
-

-
[[package]]
name = "log"
version = "0.4.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"

[[package]]
-
name = "malloc_buf"
-
version = "0.0.6"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
-
dependencies = [
-
 "libc",
-
]
-

-
[[package]]
name = "memchr"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"

[[package]]
-
name = "memoffset"
-
version = "0.6.5"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
-
dependencies = [
-
 "autocfg",
-
]
-

-
[[package]]
-
name = "minimal-lexical"
-
version = "0.2.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-

-
[[package]]
name = "miniz_oxide"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1112,18 +968,6 @@ dependencies = [
]

[[package]]
-
name = "mio"
-
version = "0.8.8"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
-
dependencies = [
-
 "libc",
-
 "log",
-
 "wasi 0.11.0+wasi-snapshot-preview1",
-
 "windows-sys 0.48.0",
-
]
-

-
[[package]]
name = "multibase"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1144,28 +988,6 @@ dependencies = [
]

[[package]]
-
name = "nix"
-
version = "0.24.3"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
-
dependencies = [
-
 "bitflags 1.3.2",
-
 "cfg-if",
-
 "libc",
-
 "memoffset",
-
]
-

-
[[package]]
-
name = "nom"
-
version = "7.1.3"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
-
dependencies = [
-
 "memchr",
-
 "minimal-lexical",
-
]
-

-
[[package]]
name = "nonempty"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1173,9 +995,9 @@ checksum = "9ff7ac1e5ea23db6d61ad103e91864675049644bf47c35912336352fa4e9c109"

[[package]]
name = "nonempty"
-
version = "0.8.1"
+
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "aeaf4ad7403de93e699c191202f017118df734d3850b01e13a3a8b2e6953d3c9"
+
checksum = "995defdca0a589acfdd1bd2e8e3b896b4d4f7675a31fd14c32611440c7f608e6"
dependencies = [
 "serde",
]
@@ -1235,35 +1057,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"

[[package]]
-
name = "objc"
-
version = "0.2.7"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
-
dependencies = [
-
 "malloc_buf",
-
]
-

-
[[package]]
-
name = "objc-foundation"
-
version = "0.1.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
-
dependencies = [
-
 "block",
-
 "objc",
-
 "objc_id",
-
]
-

-
[[package]]
-
name = "objc_id"
-
version = "0.1.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
-
dependencies = [
-
 "objc",
-
]
-

-
[[package]]
name = "once_cell"
version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1276,16 +1069,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"

[[package]]
-
name = "os_pipe"
-
version = "1.1.4"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177"
-
dependencies = [
-
 "libc",
-
 "windows-sys 0.48.0",
-
]
-

-
[[package]]
name = "p256"
version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1324,29 +1107,6 @@ dependencies = [
]

[[package]]
-
name = "parking_lot"
-
version = "0.12.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-
dependencies = [
-
 "lock_api",
-
 "parking_lot_core",
-
]
-

-
[[package]]
-
name = "parking_lot_core"
-
version = "0.9.8"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
-
dependencies = [
-
 "cfg-if",
-
 "libc",
-
 "redox_syscall 0.3.5",
-
 "smallvec",
-
 "windows-targets 0.48.1",
-
]
-

-
[[package]]
name = "paste"
version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1377,16 +1137,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"

[[package]]
-
name = "petgraph"
-
version = "0.6.3"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4"
-
dependencies = [
-
 "fixedbitset",
-
 "indexmap 1.9.3",
-
]
-

-
[[package]]
name = "phf"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1401,7 +1151,7 @@ version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
dependencies = [
-
 "siphasher",
+
 "siphasher 0.3.10",
]

[[package]]
@@ -1514,17 +1264,19 @@ dependencies = [
[[package]]
name = "radicle"
version = "0.2.0"
-
source = "git+https://github.com/radicle-dev/heartwood#59f506dbb5591d3fe68e638038495730c455d72a"
+
source = "git+https://github.com/radicle-dev/heartwood#fe55de181d4320a0cd7a6ebd2820764280ae9adc"
dependencies = [
 "amplify",
+
 "base64 0.21.7",
 "crossbeam-channel",
 "cyphernet",
 "fastrand",
 "git2",
+
 "libc",
 "localtime",
 "log",
 "multibase",
-
 "nonempty 0.8.1",
+
 "nonempty 0.9.0",
 "once_cell",
 "radicle-cob",
 "radicle-crypto",
@@ -1532,7 +1284,7 @@ dependencies = [
 "radicle-ssh",
 "serde",
 "serde_json",
-
 "siphasher",
+
 "siphasher 1.0.0",
 "sqlite",
 "tempfile",
 "thiserror",
@@ -1542,12 +1294,12 @@ dependencies = [
[[package]]
name = "radicle-cob"
version = "0.2.0"
-
source = "git+https://github.com/radicle-dev/heartwood#59f506dbb5591d3fe68e638038495730c455d72a"
+
source = "git+https://github.com/radicle-dev/heartwood#fe55de181d4320a0cd7a6ebd2820764280ae9adc"
dependencies = [
 "fastrand",
 "git2",
 "log",
-
 "nonempty 0.8.1",
+
 "nonempty 0.9.0",
 "once_cell",
 "radicle-crypto",
 "radicle-dag",
@@ -1560,7 +1312,7 @@ dependencies = [
[[package]]
name = "radicle-crypto"
version = "0.2.0"
-
source = "git+https://github.com/radicle-dev/heartwood#59f506dbb5591d3fe68e638038495730c455d72a"
+
source = "git+https://github.com/radicle-dev/heartwood#fe55de181d4320a0cd7a6ebd2820764280ae9adc"
dependencies = [
 "amplify",
 "cyphernet",
@@ -1578,7 +1330,7 @@ dependencies = [
[[package]]
name = "radicle-dag"
version = "0.2.0"
-
source = "git+https://github.com/radicle-dev/heartwood#59f506dbb5591d3fe68e638038495730c455d72a"
+
source = "git+https://github.com/radicle-dev/heartwood#fe55de181d4320a0cd7a6ebd2820764280ae9adc"
dependencies = [
 "fastrand",
]
@@ -1600,7 +1352,7 @@ dependencies = [
[[package]]
name = "radicle-ssh"
version = "0.2.0"
-
source = "git+https://github.com/radicle-dev/heartwood#59f506dbb5591d3fe68e638038495730c455d72a"
+
source = "git+https://github.com/radicle-dev/heartwood#fe55de181d4320a0cd7a6ebd2820764280ae9adc"
dependencies = [
 "byteorder",
 "log",
@@ -1621,7 +1373,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9403736ddf2be5e7de42928f94a5f68ef0785916171d009809d19b4202b58d83"
dependencies = [
 "anyhow",
-
 "base64",
+
 "base64 0.13.1",
 "flate2",
 "git2",
 "log",
@@ -1635,7 +1387,7 @@ dependencies = [
[[package]]
name = "radicle-term"
version = "0.1.0"
-
source = "git+https://github.com/radicle-dev/heartwood#59f506dbb5591d3fe68e638038495730c455d72a"
+
source = "git+https://github.com/radicle-dev/heartwood#fe55de181d4320a0cd7a6ebd2820764280ae9adc"
dependencies = [
 "anstyle-query",
 "anyhow",
@@ -1643,7 +1395,7 @@ dependencies = [
 "inquire",
 "libc",
 "once_cell",
-
 "termion 2.0.1",
+
 "termion 3.0.0",
 "unicode-display-width",
 "unicode-segmentation",
 "zeroize",
@@ -1663,11 +1415,11 @@ dependencies = [
 "serde",
 "serde_json",
 "simple-logging",
-
 "textwrap 0.16.0",
+
 "termion 3.0.0",
+
 "textwrap",
 "thiserror",
 "timeago",
 "tui-realm-stdlib",
-
 "tui-realm-textarea",
 "tuirealm",
]

@@ -1742,15 +1494,21 @@ dependencies = [
]

[[package]]
-
name = "redox_termios"
-
version = "0.1.2"
+
name = "redox_syscall"
+
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8440d8acb4fd3d277125b4bd01a6f38aee8d814b3b5fc09b3f2b825d37d3fe8f"
+
checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
dependencies = [
-
 "redox_syscall 0.2.16",
+
 "bitflags 1.3.2",
]

[[package]]
+
name = "redox_termios"
+
version = "0.1.3"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "20145670ba436b55d91fc92d25e71160fbfbdd57831631c8d7d36377a476f1cb"
+

+
[[package]]
name = "regex"
version = "1.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1836,12 +1594,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"

[[package]]
-
name = "scopeguard"
-
version = "1.2.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-

-
[[package]]
name = "sec1"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1881,7 +1633,7 @@ version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
-
 "indexmap 2.1.0",
+
 "indexmap",
 "itoa",
 "ryu",
 "serde",
@@ -1909,36 +1661,6 @@ dependencies = [
]

[[package]]
-
name = "signal-hook"
-
version = "0.3.17"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
-
dependencies = [
-
 "libc",
-
 "signal-hook-registry",
-
]
-

-
[[package]]
-
name = "signal-hook-mio"
-
version = "0.2.3"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
-
dependencies = [
-
 "libc",
-
 "mio",
-
 "signal-hook",
-
]
-

-
[[package]]
-
name = "signal-hook-registry"
-
version = "1.4.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
-
dependencies = [
-
 "libc",
-
]
-

-
[[package]]
name = "signature"
version = "1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1972,6 +1694,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"

[[package]]
+
name = "siphasher"
+
version = "1.0.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "54ac45299ccbd390721be55b412d41931911f654fa99e2cb8bfb57184b2061fe"
+

+
[[package]]
name = "smallvec"
version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2089,12 +1817,6 @@ dependencies = [
]

[[package]]
-
name = "str-buf"
-
version = "1.0.6"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0"
-

-
[[package]]
name = "strum"
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2193,14 +1915,15 @@ dependencies = [
]

[[package]]
-
name = "textwrap"
-
version = "0.15.2"
+
name = "termion"
+
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b7b3e525a49ec206798b40326a44121291b530c963cfb01018f63e135bac543d"
+
checksum = "417813675a504dfbbf21bfde32c03e5bf9f2413999962b479023c02848c1c7a5"
dependencies = [
-
 "smawk",
-
 "unicode-linebreak",
-
 "unicode-width",
+
 "libc",
+
 "libredox",
+
 "numtoa",
+
 "redox_termios",
]

[[package]]
@@ -2282,20 +2005,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"

[[package]]
-
name = "tree_magic_mini"
-
version = "3.0.3"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "91adfd0607cacf6e4babdb870e9bec4037c1c4b151cfd279ccefc5e0c7feaa6d"
-
dependencies = [
-
 "bytecount",
-
 "fnv",
-
 "lazy_static",
-
 "nom",
-
 "once_cell",
-
 "petgraph",
-
]
-

-
[[package]]
name = "tui"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2303,7 +2012,6 @@ checksum = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1"
dependencies = [
 "bitflags 1.3.2",
 "cassowary",
-
 "crossterm",
 "termion 1.5.6",
 "unicode-segmentation",
 "unicode-width",
@@ -2311,36 +2019,16 @@ dependencies = [

[[package]]
name = "tui-realm-stdlib"
-
version = "1.2.0"
+
version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "66f252bf8b07c6fd708ddd6349b5f044ae5b488b26929c745728d9c7e2cebfa6"
+
checksum = "a14fa5a0376ef64b93b484f811716b73422803df91c9ce7f83c50cc391230426"
dependencies = [
-
 "textwrap 0.15.2",
+
 "textwrap",
 "tuirealm",
 "unicode-width",
]

[[package]]
-
name = "tui-realm-textarea"
-
version = "1.1.2"
-
source = "git+https://github.com/erak/tui-realm-textarea.git#e9dc23b6bfbaca0501cdb23c2641c0deae110027"
-
dependencies = [
-
 "cli-clipboard",
-
 "lazy-regex",
-
 "tui-textarea",
-
 "tuirealm",
-
]
-

-
[[package]]
-
name = "tui-textarea"
-
version = "0.2.0"
-
source = "git+https://github.com/erak/tui-textarea.git?branch=textwrap#2381ef729a8d2199f99cfa611116a6b6cd485011"
-
dependencies = [
-
 "crossterm",
-
 "tui",
-
]
-

-
[[package]]
name = "tuirealm"
version = "1.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2520,65 +2208,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"

[[package]]
-
name = "wayland-client"
-
version = "0.29.5"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715"
-
dependencies = [
-
 "bitflags 1.3.2",
-
 "downcast-rs",
-
 "libc",
-
 "nix",
-
 "wayland-commons",
-
 "wayland-scanner",
-
 "wayland-sys",
-
]
-

-
[[package]]
-
name = "wayland-commons"
-
version = "0.29.5"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902"
-
dependencies = [
-
 "nix",
-
 "once_cell",
-
 "smallvec",
-
 "wayland-sys",
-
]
-

-
[[package]]
-
name = "wayland-protocols"
-
version = "0.29.5"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6"
-
dependencies = [
-
 "bitflags 1.3.2",
-
 "wayland-client",
-
 "wayland-commons",
-
 "wayland-scanner",
-
]
-

-
[[package]]
-
name = "wayland-scanner"
-
version = "0.29.5"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53"
-
dependencies = [
-
 "proc-macro2",
-
 "quote",
-
 "xml-rs",
-
]
-

-
[[package]]
-
name = "wayland-sys"
-
version = "0.29.5"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4"
-
dependencies = [
-
 "pkg-config",
-
]
-

-
[[package]]
name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2595,15 +2224,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"

[[package]]
-
name = "winapi-wsapoll"
-
version = "0.1.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e"
-
dependencies = [
-
 "winapi",
-
]
-

-
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2751,55 +2371,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"

[[package]]
-
name = "wl-clipboard-rs"
-
version = "0.7.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "981a303dfbb75d659f6612d05a14b2e363c103d24f676a2d44a00d18507a1ad9"
-
dependencies = [
-
 "derive-new",
-
 "libc",
-
 "log",
-
 "nix",
-
 "os_pipe",
-
 "tempfile",
-
 "thiserror",
-
 "tree_magic_mini",
-
 "wayland-client",
-
 "wayland-protocols",
-
]
-

-
[[package]]
-
name = "x11-clipboard"
-
version = "0.7.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "980b9aa9226c3b7de8e2adb11bf20124327c054e0e5812d2aac0b5b5a87e7464"
-
dependencies = [
-
 "x11rb",
-
]
-

-
[[package]]
-
name = "x11rb"
-
version = "0.10.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "592b4883219f345e712b3209c62654ebda0bb50887f330cbd018d0f654bfd507"
-
dependencies = [
-
 "gethostname",
-
 "nix",
-
 "winapi",
-
 "winapi-wsapoll",
-
 "x11rb-protocol",
-
]
-

-
[[package]]
-
name = "x11rb-protocol"
-
version = "0.10.0"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "56b245751c0ac9db0e006dc812031482784e434630205a93c73cfefcaabeac67"
-
dependencies = [
-
 "nix",
-
]
-

-
[[package]]
name = "xattr"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2809,12 +2380,6 @@ dependencies = [
]

[[package]]
-
name = "xml-rs"
-
version = "0.8.16"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "47430998a7b5d499ccee752b41567bc3afc57e1327dc855b1a2aa44ce29b5fa1"
-

-
[[package]]
name = "zeroize"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
modified Cargo.toml
@@ -13,7 +13,7 @@ path = "bin/main.rs"
[dependencies]
anyhow = { version = "1" }
inquire = { version = "0.6.2", default-features = false, features = ["termion", "editor"] }
-
lexopt = { version = "0.2" }
+
lexopt = { version = "0.3.0" }
log = { version = "0.4.19" }
radicle = { git = "https://github.com/radicle-dev/heartwood" }
radicle-term = { git = "https://github.com/radicle-dev/heartwood", package = "radicle-term" }
@@ -22,8 +22,8 @@ simple-logging = { version = "2.0.2" }
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0" }
timeago = { version = "0.4.1" }
+
termion = { version = "3" }
textwrap = { version = "0.16.0" }
thiserror = { version = "1" }
-
tuirealm = { version = "1.9.0", default-features = false, features = [ "with-termion" ] }
-
tui-realm-stdlib = { version = "1.2.0", default-features = false, features = [ "with-termion" ] }
-
tui-realm-textarea = { git = "https://github.com/erak/tui-realm-textarea.git", default-features = false, features = [ "with-termion", "clipboard" ] }
+
tuirealm = { version = "^1.9.0", default-features = false, features = ["termion", "ratatui", "derive"] }
+
tui-realm-stdlib = { version = "1.3.1", default-features = false, features = ["termion", "ratatui"] }
modified src/context.rs
@@ -1,18 +1,16 @@
use std::fmt::Display;

-
use radicle_term as term;
-

use radicle::cob::issue::{Issue, IssueId};
use radicle::cob::patch::{Patch, PatchId};
use radicle::crypto::ssh::keystore::{Keystore, MemorySigner};
use radicle::crypto::Signer;
-
use radicle::identity::{Id, Project};
+
use radicle::identity::{Project, RepoId};
use radicle::profile::env::RAD_PASSPHRASE;
use radicle::storage::git::Repository;
use radicle::storage::{ReadRepository, ReadStorage};
-

use radicle::Profile;

+
use radicle_term as term;
use term::{passphrase, spinner, Passphrase};

use inquire::validator;
@@ -37,7 +35,7 @@ impl Display for Rev {
/// needed to render it.
pub struct Context {
    profile: Profile,
-
    id: Id,
+
    rid: RepoId,
    project: Project,
    repository: Repository,
    issues: Option<Vec<(IssueId, Issue)>>,
@@ -46,8 +44,8 @@ pub struct Context {
}

impl Context {
-
    pub fn new(profile: Profile, id: Id) -> Result<Self, anyhow::Error> {
-
        let repository = profile.storage.repository(id).unwrap();
+
    pub fn new(profile: Profile, rid: RepoId) -> Result<Self, anyhow::Error> {
+
        let repository = profile.storage.repository(rid).unwrap();
        let project = repository.identity_doc()?.project()?;
        let issues = None;
        let patches = None;
@@ -55,7 +53,7 @@ impl Context {

        Ok(Self {
            profile,
-
            id,
+
            rid,
            project,
            repository,
            issues,
@@ -85,8 +83,8 @@ impl Context {
        &self.profile
    }

-
    pub fn id(&self) -> &Id {
-
        &self.id
+
    pub fn rid(&self) -> &RepoId {
+
        &self.rid
    }

    pub fn project(&self) -> &Project {
@@ -110,18 +108,6 @@ impl Context {
        &self.signer
    }

-
    // pub fn reload(&mut self) {
-
    //     use crate::cob::issue;
-
    //     use crate::cob::patch;
-

-
    //     if self.issues.is_some() {
-
    //         self.issues = Some(issue::all(&self.repository).unwrap_or_default());
-
    //     }
-
    //     if self.patches.is_some() {
-
    //         self.patches = Some(patch::all(&self.repository).unwrap_or_default());
-
    //     }
-
    // }
-

    pub fn reload_patches(&mut self) {
        use crate::cob::patch;
        self.patches = Some(patch::all(&self.repository).unwrap_or_default());
modified src/ui.rs
@@ -108,7 +108,7 @@ pub fn tabs(_theme: &Theme, tabs: Vec<Widget<Label>>) -> Widget<Tabs> {

pub fn app_info(context: &Context) -> Widget<AppInfo> {
    let project = label::default(context.project().name()).style(style::cyan());
-
    let rid = label::default(&format!(" ({})", context.id())).style(style::yellow());
+
    let rid = label::default(&format!(" ({})", context.rid())).style(style::yellow());

    let project_w = project
        .query(Attribute::Width)
modified src/ui/cob.rs
@@ -3,7 +3,7 @@ pub mod format;
use radicle_surf;

use tuirealm::props::{Color, Style};
-
use tuirealm::tui::text::Spans;
+
use tuirealm::tui::text::Line;
use tuirealm::tui::widgets::Cell;

use radicle::node::{Alias, AliasStore};
@@ -344,13 +344,13 @@ impl ListItem for IssueItem {
        let (state, state_color) = format_issue_state(&self.state);

        let lines = vec![
-
            Spans::from(vec![
+
            Line::from(vec![
                label::default(&state)
                    .style(Style::default().fg(state_color))
                    .into(),
                label::title(&self.title).into(),
            ]),
-
            Spans::from(vec![
+
            Line::from(vec![
                label::default("   ").into(),
                match &self.author.alias {
                    Some(_) => label::alias(&format_author(
modified src/ui/layout.rs
@@ -46,7 +46,8 @@ pub fn v_stack(
    let layout = Layout::default()
        .direction(Direction::Vertical)
        .constraints(constraints)
-
        .split(area);
+
        .split(area)
+
        .to_vec();

    widgets.into_iter().zip(layout).collect()
}
@@ -68,7 +69,8 @@ pub fn h_stack(
    let layout = Layout::default()
        .direction(Direction::Horizontal)
        .constraints(constraints)
-
        .split(area);
+
        .split(area)
+
        .to_vec();

    widgets.into_iter().zip(layout).collect()
}
@@ -161,6 +163,7 @@ pub fn headerless_page(area: Rect) -> Vec<Rect> {
        .horizontal_margin(margin_h)
        .constraints([Constraint::Length(content_h)].as_ref())
        .split(area)
+
        .to_vec()
}

pub fn root_component_with_context(area: Rect, context_h: u16, shortcuts_h: u16) -> Vec<Rect> {
@@ -179,6 +182,7 @@ pub fn root_component_with_context(area: Rect, context_h: u16, shortcuts_h: u16)
            .as_ref(),
        )
        .split(area)
+
        .to_vec()
}

pub fn centered_label(label_w: u16, area: Rect) -> Rect {
modified src/ui/widget/form.rs
@@ -1,7 +1,6 @@
use std::collections::LinkedList;

use tuirealm::command::{Cmd, CmdResult};
-
use tuirealm::props::Style;
use tuirealm::tui::layout::{Constraint, Direction, Margin, Rect};
use tuirealm::{AttrValue, Attribute, Frame, MockComponent, Props, State, StateValue};

@@ -20,11 +19,13 @@ pub struct TextField {

impl TextField {
    pub fn new(theme: Theme, title: &str) -> Self {
-
        let input = tui_realm_textarea::TextArea::default()
-
            .wrap(false)
-
            .single_line(true)
-
            .cursor_line_style(Style::reset())
-
            .style(style::reset());
+
        // TODO: activate again
+
        // let input = tui_realm_textarea::TextArea::default()
+
        //     .wrap(false)
+
        //     .single_line(true)
+
        //     .cursor_line_style(Style::reset())
+
        //     .style(style::reset());
+
        let input = tui_realm_stdlib::Textarea::default();
        let container = crate::ui::container(&theme, Box::new(input));

        Self {
@@ -66,23 +67,25 @@ impl WidgetComponent for TextField {
        }
    }

-
    fn perform(&mut self, _properties: &Props, cmd: Cmd) -> CmdResult {
-
        use tui_realm_textarea::*;
-

-
        let cmd = match cmd {
-
            Cmd::Custom(Form::CMD_PASTE) => Cmd::Custom(TEXTAREA_CMD_PASTE),
-
            _ => cmd,
-
        };
-
        let result = self.input.perform(cmd);
-

-
        if let State::Vec(values) = self.input.state() {
-
            if let Some(StateValue::String(input)) = values.first() {
-
                self.show_placeholder = values.len() == 1 && input.is_empty();
-
            } else {
-
                self.show_placeholder = false;
-
            }
-
        }
-
        result
+
    fn perform(&mut self, _properties: &Props, _cmd: Cmd) -> CmdResult {
+
        // TODO: activate again
+
        // use tui_realm_textarea::*;
+

+
        // let cmd = match cmd {
+
        //     Cmd::Custom(Form::CMD_PASTE) => Cmd::Custom(TEXTAREA_CMD_PASTE),
+
        //     _ => cmd,
+
        // };
+
        // let result = self.input.perform(cmd);
+

+
        // if let State::Vec(values) = self.input.state() {
+
        //     if let Some(StateValue::String(input)) = values.first() {
+
        //         self.show_placeholder = values.len() == 1 && input.is_empty();
+
        //     } else {
+
        //         self.show_placeholder = false;
+
        //     }
+
        // }
+
        // result
+
        CmdResult::None
    }
}

@@ -94,11 +97,13 @@ pub struct TextArea {

impl TextArea {
    pub fn new(theme: Theme, title: &str) -> Self {
-
        let input = tui_realm_textarea::TextArea::default()
-
            .wrap(true)
-
            .single_line(false)
-
            .cursor_line_style(Style::reset())
-
            .style(style::reset());
+
        // TODO: activate again
+
        // let input = tui_realm_textarea::TextArea::default()
+
        //     .wrap(true)
+
        //     .single_line(false)
+
        //     .cursor_line_style(Style::reset())
+
        //     .style(style::reset());
+
        let input = tui_realm_stdlib::Textarea::default();
        let container = crate::ui::container(&theme, Box::new(input));

        Self {
@@ -153,24 +158,26 @@ impl WidgetComponent for TextArea {
        }
    }

-
    fn perform(&mut self, _properties: &Props, cmd: Cmd) -> CmdResult {
-
        use tui_realm_textarea::*;
-

-
        let cmd = match cmd {
-
            Cmd::Custom(Form::CMD_PASTE) => Cmd::Custom(TEXTAREA_CMD_PASTE),
-
            Cmd::Custom(Form::CMD_NEWLINE) => Cmd::Custom(TEXTAREA_CMD_NEWLINE),
-
            _ => cmd,
-
        };
-
        let result = self.input.perform(cmd);
-

-
        if let State::Vec(values) = self.input.state() {
-
            if let Some(StateValue::String(input)) = values.first() {
-
                self.show_placeholder = values.len() == 1 && input.is_empty();
-
            } else {
-
                self.show_placeholder = false;
-
            }
-
        }
-
        result
+
    fn perform(&mut self, _properties: &Props, _cmd: Cmd) -> CmdResult {
+
        // TODO: activate again
+
        // use tui_realm_textarea::*;
+

+
        // let cmd = match cmd {
+
        //     Cmd::Custom(Form::CMD_PASTE) => Cmd::Custom(TEXTAREA_CMD_PASTE),
+
        //     Cmd::Custom(Form::CMD_NEWLINE) => Cmd::Custom(TEXTAREA_CMD_NEWLINE),
+
        //     _ => cmd,
+
        // };
+
        // let result = self.input.perform(cmd);
+

+
        // if let State::Vec(values) = self.input.state() {
+
        //     if let Some(StateValue::String(input)) = values.first() {
+
        //         self.show_placeholder = values.len() == 1 && input.is_empty();
+
        //     } else {
+
        //         self.show_placeholder = false;
+
        //     }
+
        // }
+
        // result
+
        CmdResult::None
    }
}

modified src/ui/widget/label.rs
@@ -1,7 +1,7 @@
use tuirealm::command::{Cmd, CmdResult};
use tuirealm::props::{Alignment, AttrValue, Attribute, Color, Props, Style};
use tuirealm::tui::layout::{Constraint, Direction, Layout, Rect};
-
use tuirealm::tui::text::{Span, Spans, Text};
+
use tuirealm::tui::text::{Line, Span, Text};
use tuirealm::{Frame, MockComponent, State, StateValue};

use crate::ui::layout;
@@ -312,7 +312,7 @@ impl WidgetComponent for Textarea {
        self.scroll_percent = Self::scroll_percent(self.offset, self.len, self.height);

        if display_progress {
-
            let progress = Spans::from(vec![Span::styled(
+
            let progress = Line::from(vec![Span::styled(
                format!("{} %", self.scroll_percent),
                style::border(focus),
            )]);