This avoids some of the nested thread loading,
but we can fix that next
Changelog-Changed: Made text in threads selectable
Signed-off-by: William Casarin <jb55@jb55.com>
`ERROR notedeck_columns::timeline: setup_new_timeline:
database error: Transaction failed`
Reproduce by creating column, deleting it, then trying to create
it again. Before this fix, it was blank. Now it displays correctly
Signed-off-by: kernelkind <kernelkind@gmail.com>
We want to render notes in other apps like dave, so lets move
our note rendering to notedeck_ui. We rework NoteAction so it doesn't
have anything specific to notedeck_columns
Signed-off-by: William Casarin <jb55@jb55.com>
- Upgrade `nostrdb` to v0.6.1 with relay metadata support
- Switch to `nostr::RelayUrl` for typed relay URLs
- Use `process_event_with()` to pass relay info during ingestion
- Update `Relay`, `RelayPool`, and unknown ID logic accordingly
This enables richer indexing with relay provenance in events.
Signed-off-by: William Casarin <jb55@jb55.com>
This reverts commit cec49c83bd.
Revert "update NoteContentsDriller to NoteContext"
This reverts commit 65bd6a65f9.
Revert "introduce the driller"
This reverts commit 95d618e7fe.
This commit introduces a new scramble option to help reduce distractions
during development by scrambling text using rot13. When enabled via the
new `--scramble` flag, text displayed in various views is transformed,
making it easier to focus on layout and behavior without reading the
actual content.
App & Args Updates
- Added a `scramble: bool` field to the main application state (in `app.rs`).
- Extended argument parsing (in `args.rs`) to recognize the `--scramble` flag.
NoteOptions Enhancement
- Introduced a new bit flag `scramble_text` in `NoteOptions` with
corresponding setter/getter methods.
UI Adjustments
- Propagated the scramble flag through note rendering functions across
navigation, timeline, and note view modules.
- Updated several UI components (e.g., in `nav.rs`, `route.rs`, and
`contents.rs`) to accept and apply the new note options.
Rot13 Implementation
- Implemented a helper function (`rot13`) to scramble text
conditionally when the scramble option is enabled.
This feature is intended for development builds only, offering a way to
obscure text content during UI tweaks and testing.
Signed-off-by: William Casarin <jb55@jb55.com>
This is a fairly large rewrite which unifies our threads, timelines and
profiles. Now all timelines have a MultiSubscriber, and can be added
and removed to columns just like Threads and Profiles.
Signed-off-by: William Casarin <jb55@jb55.com>
People are spamming hashtags with AI CP. Let's disable this until we
at least have image blurring.
Alternatively we could only show the link for people you don't follow.
Signed-off-by: William Casarin <jb55@jb55.com>
This is an initial implementation of note multicast, which sends posted
notes to other notedecks on the same network.
This came about after I nerd sniped myself thinking about p2p nostr on
local networks[1]
You can test this exclusively without joining any other relays by
passing -r multicast on the command line.
[1] https://damus.io/note1j50pseqwma38g3aqrsnhvld0m0ysdgppw6fjnvvcj0haeulgswgq80lpca
Signed-off-by: William Casarin <jb55@jb55.com>