- Added `SoftKeyboardContext` enum and support for calculating keyboard insets from both virtual and platform sources - Updated `AppContext` to provide `soft_keyboard_rect` for determining visible keyboard area - Adjusted UI rendering to shift content when input boxes intersect with the soft keyboard, preventing overlap - Modified `MainActivity` and Android manifest to use `windowSoftInputMode="adjustResize"` and updated window inset handling - Introduced helper functions (`include_input`, `input_rect`, `clear_input_rect`) in `notedeck_ui` for tracking focused input boxes - Fixed Android JNI keyboard height reporting to clamp negative values Together, these changes allow the app to correctly detect and respond to soft keyboard visibility on Android, ensuring input fields remain accessible when typing. Fixes: https://github.com/damus-io/notedeck/issues/946 Fixes: https://github.com/damus-io/notedeck/issues/1043
121 lines
5.6 KiB
TOML
121 lines
5.6 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
package.version = "0.6.0"
|
|
members = [
|
|
"crates/notedeck",
|
|
"crates/notedeck_chrome",
|
|
"crates/notedeck_columns",
|
|
"crates/notedeck_dave",
|
|
"crates/notedeck_notebook",
|
|
"crates/notedeck_ui",
|
|
"crates/notedeck_clndash",
|
|
|
|
"crates/enostr", "crates/tokenator", "crates/notedeck_dave", "crates/notedeck_ui", "crates/notedeck_clndash",
|
|
]
|
|
|
|
[workspace.dependencies]
|
|
opener = "0.8.2"
|
|
chrono = "0.4.40"
|
|
base32 = "0.4.0"
|
|
base64 = "0.22.1"
|
|
rmpv = "1.3.0"
|
|
bech32 = { version = "0.11", default-features = false }
|
|
bitflags = "2.5.0"
|
|
dirs = "5.0.1"
|
|
eframe = { version = "0.31.1", default-features = false, features = [ "wgpu", "wayland", "x11", "android-game-activity" ] }
|
|
egui = { version = "0.31.1", features = ["serde"] }
|
|
egui-wgpu = "0.31.1"
|
|
egui_extras = { version = "0.31.1", features = ["all_loaders"] }
|
|
egui-winit = { version = "0.31.1", features = ["android-game-activity", "clipboard"] }
|
|
egui_nav = { git = "https://github.com/damus-io/egui-nav", rev = "de6e2d51892478fdd516df166f866e64dedbae07" }
|
|
egui_tabs = { git = "https://github.com/damus-io/egui-tabs", rev = "6eb91740577b374a8a6658c09c9a4181299734d0" }
|
|
#egui_virtual_list = "0.6.0"
|
|
egui_virtual_list = { git = "https://github.com/jb55/hello_egui", rev = "a66b6794f5e707a2f4109633770e02b02fb722e1" }
|
|
ehttp = "0.5.0"
|
|
enostr = { path = "crates/enostr" }
|
|
ewebsock = { version = "0.2.0", features = ["tls"] }
|
|
fluent = "0.17.0"
|
|
fluent-resmgr = "0.0.8"
|
|
fluent-langneg = "0.13"
|
|
hex = { version = "0.4.3", features = ["serde"] }
|
|
image = { version = "0.25", features = ["jpeg", "png", "webp"] }
|
|
indexmap = "2.6.0"
|
|
log = "0.4.17"
|
|
md5 = "0.7.0"
|
|
nostr = { version = "0.37.0", default-features = false, features = ["std", "nip49"] }
|
|
nwc = "0.39.0"
|
|
mio = { version = "1.0.3", features = ["os-poll", "net"] }
|
|
nostrdb = { git = "https://github.com/damus-io/nostrdb-rs", rev = "2b2e5e43c019b80b98f1db6a03a1b88ca699bfa3" }
|
|
#nostrdb = "0.6.1"
|
|
notedeck = { path = "crates/notedeck" }
|
|
notedeck_chrome = { path = "crates/notedeck_chrome" }
|
|
notedeck_clndash = { path = "crates/notedeck_clndash" }
|
|
notedeck_columns = { path = "crates/notedeck_columns" }
|
|
notedeck_dave = { path = "crates/notedeck_dave" }
|
|
notedeck_notebook = { path = "crates/notedeck_notebook" }
|
|
notedeck_ui = { path = "crates/notedeck_ui" }
|
|
tokenator = { path = "crates/tokenator" }
|
|
once_cell = "1.19.0"
|
|
robius-open = "0.1"
|
|
poll-promise = { version = "0.3.0", features = ["tokio"] }
|
|
puffin = { git = "https://github.com/jb55/puffin", package = "puffin", rev = "c6a6242adaf90b6292c0f462d2acd34d96d224d2" }
|
|
puffin_egui = { git = "https://github.com/jb55/puffin", package = "puffin_egui", rev = "c6a6242adaf90b6292c0f462d2acd34d96d224d2" }
|
|
serde = { version = "1", features = ["derive"] } # You only need this if you want app persistence
|
|
serde_derive = "1"
|
|
serde_json = "1.0.89"
|
|
strum = "0.26"
|
|
strum_macros = "0.26"
|
|
thiserror = "2.0.7"
|
|
tokio = { version = "1.16", features = ["macros", "rt-multi-thread", "fs"] }
|
|
tracing = { version = "0.1.40", features = ["log"] }
|
|
tracing-appender = "0.2.3"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
tempfile = "3.13.0"
|
|
unic-langid = { version = "0.9.6", features = ["macros"] }
|
|
url = "2.5.2"
|
|
urlencoding = "2.1.3"
|
|
uuid = { version = "1.10.0", features = ["v4"] }
|
|
sha2 = "0.10.8"
|
|
bincode = "1.3.3"
|
|
mime_guess = "2.0.5"
|
|
pretty_assertions = "1.4.1"
|
|
jni = "0.21.1"
|
|
profiling = "1.0"
|
|
lightning-invoice = { version = "0.33.1", features = ["serde"] }
|
|
secp256k1 = "0.30.0"
|
|
hashbrown = "0.15.2"
|
|
openai-api-rs = "6.0.3"
|
|
re_memory = "0.23.4"
|
|
oot_bitset = "0.1.1"
|
|
blurhash = "0.2.3"
|
|
android-activity = { git = "https://github.com/damus-io/android-activity", rev = "092a83b747937a2890ac219617a4252c001842ea", features = [ "game-activity" ] }
|
|
|
|
[profile.small]
|
|
inherits = 'release'
|
|
opt-level = 'z' # Optimize for size
|
|
lto = true # Enable link-time optimization
|
|
codegen-units = 1 # Reduce number of codegen units to increase optimizations
|
|
panic = 'abort' # Abort on panic
|
|
strip = true # Strip symbols from binary*
|
|
|
|
|
|
[patch.crates-io]
|
|
#egui = { path = "/home/jb55/dev/github/emilk/egui/crates/egui" }
|
|
#eframe = { path = "/home/jb55/dev/github/emilk/egui/crates/eframe" }
|
|
#egui-winit = { path = "/home/jb55/dev/github/emilk/egui/crates/egui-winit" }
|
|
#egui_extras = { path = "/home/jb55/dev/github/emilk/egui/crates/egui_extras" }
|
|
#epaint = { path = "/home/jb55/dev/github/emilk/egui/crates/epaint" }
|
|
|
|
egui = { git = "https://github.com/damus-io/egui", rev = "c1f9e565aa17a7a8b40736602b6ea8a52876f46f" }
|
|
eframe = { git = "https://github.com/damus-io/egui", rev = "c1f9e565aa17a7a8b40736602b6ea8a52876f46f" }
|
|
egui-winit = { git = "https://github.com/damus-io/egui", rev = "c1f9e565aa17a7a8b40736602b6ea8a52876f46f" }
|
|
egui-wgpu = { git = "https://github.com/damus-io/egui", rev = "c1f9e565aa17a7a8b40736602b6ea8a52876f46f" }
|
|
egui_extras = { git = "https://github.com/damus-io/egui", rev = "c1f9e565aa17a7a8b40736602b6ea8a52876f46f" }
|
|
epaint = { git = "https://github.com/damus-io/egui", rev = "c1f9e565aa17a7a8b40736602b6ea8a52876f46f" }
|
|
puffin = { git = "https://github.com/jb55/puffin", package = "puffin", rev = "c6a6242adaf90b6292c0f462d2acd34d96d224d2" }
|
|
puffin_egui = { git = "https://github.com/jb55/puffin", package = "puffin_egui", rev = "c6a6242adaf90b6292c0f462d2acd34d96d224d2" }
|
|
#winit = { git = "https://github.com/damus-io/winit", rev = "701a43d3c6479b0a3869acd2cebbfd410d399a59" }
|
|
#winit = { path = "/home/jb55/dev/github/rust-windowing/winit" }
|
|
#android-activity = { git = "https://github.com/damus-io/android-activity", rev = "f56c974aa5182d5fbd361879f5899eb8f11a37ec" }
|
|
#android-activity = { path = "/home/jb55/dev/github/rust-mobile/android-activity/android-activity" }
|