We give a friendly message now. If you need to run as debug,
use `cargo run -- --debug` or `./target/debug/notedeck --debug`
We also remove the callstack feature because it doesn't seem
like you need it for widget callstacks.
Fixes: aafddf5acb ("debug: add crate features which enable egui DebugOptions")
Signed-off-by: William Casarin <jb55@jb55.com>
Not too many breaking changes. I updated egui-nav and egui-tabs as well.
Fixes: https://github.com/damus-io/notedeck/issues/315
Changelog-Fixed: Fixed crash when navigating in debug mode
Changelog-Changed: Migrated to egui v0.29.1
Signed-off-by: William Casarin <jb55@jb55.com>
Updated navigation to use a custom title renderer for more flexible
rendering of navigation titles. This change decouples the rendering
logic from predefined formats, enabling dynamic title compositions
based on application context and data.
This includes:
- Refactoring `NavResponse` to introduce `NotedeckNavResponse` for
handling unified navigation response data.
- Adding `NavTitle` in `ui/column/header.rs` to handle rendering
of navigation titles and profile images dynamically.
- Updating route and timeline logic to support new rendering pipeline.
- Replacing hardcoded title rendering with data-driven approaches.
Benefits:
- Simplifies navigation handling by consolidating title and action
management.
- Improves scalability for new navigation features without modifying
core logic.
- Enhances visual customization capabilities.
Signed-off-by: William Casarin <jb55@jb55.com>
--features debug-widget-callstack
Show callstack for the current widget on hover if all modifier keys
are pressed down
--features debug-interactive-widgets
Show an overlay on all interactive widgets
Notes:
- debug-widget-callstack asserts `egui:callstack` feature when enabled
- Only works in debug builds, compile error w/ release builds
Update nostrdb to gracefully handle mapsizes that
are too large and fail to create nostrdb files.
We now keep shrinking the mapsize until database creation
succeeds. We still use the default mapsize of 32GiB on
windows, which is a bit annoying until we have nostrdb
resizing like monero.
Fixes: https://github.com/damus-io/notedeck/issues/491
Pick a few fixes from #380
Link: https://github.com/damus-io/notedeck/pull/380
Ken Sedgwick (5):
build: Cargo.lock updates to mitigate num_enum_derive problem
add .rustfmt.toml to specify edition
Fix parsing of subscription id for RelayMessage::Event
Skip adding relays that are already in the pool
canonicalize relay urls to avoid false duplicates
This adds local nostrdb thread subscriptions. When navigating to a
thread, we first check to see if we have any active nostrdb
subscriptions for that thread. If not, we create a new subscription. If
we do, we re-use that subscription.
This works by storing thread state in the Threads struct in the Damus
application state.
When we pop a route, we check to see if its a thread route. If it is,
then we try to unsubscribe, but only if that is the last remaining
subscriber for that thread, as there could be more than one.
Signed-off-by: William Casarin <jb55@jb55.com>
Also fix a few nav clipping bugs
From egui-nav:
William Casarin (5):
add forward nav support
fix body overlapping header
fix transition clipping when in a smaller container
fix forward nav clipping in small containers
fix background layer having the wrong UI id
Signed-off-by: William Casarin <jb55@jb55.com>