William Casarin
c27aff6bec
debug: add startup query debug log
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-22 13:02:29 -07:00
William Casarin
3d4db820b4
i18n: make localization context non-global
...
- Simplify Localization{Context,Manager} to just Localization
- Fixed a bunch of lifetime issueo
- Removed all Arcs and Locks
- Removed globals
* widgets now need access to &mut Localization for i18n
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-22 09:49:32 -07:00
3f5036bd32
Internationalize user-facing strings and export them for translations
...
Changelog-Added: Internationalized user-facing strings and exported them for translations
Signed-off-by: Terry Yiu <git@tyiu.xyz >
2025-07-21 12:45:29 -07:00
William Casarin
28065ec4a3
fix one missing home string
...
Fixes: f39d554c96 ("rename Contacts to Home")
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-20 16:54:31 -07:00
William Casarin
c421f8f8ff
profile: fetch new metadata when visiting profiles
...
This ensures we always have the latest data
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-17 14:49:16 -07:00
William Casarin
8a1398face
clippy fixes
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-17 13:54:43 -07:00
William Casarin
a4c1b38116
introduce HybridFilter
...
This introduces a new filter construct called HybridFilter. This allows
filters to have different remote filter than local ones. For example,
adding kind0 to the remote for keeping profiles up to date on your
timeline, but only subscribing to kind1 locally.
Only home/contact filters use this feature for now.
Fixes: https://github.com/damus-io/notedeck/issues/995
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-17 13:54:43 -07:00
kernelkind
cc92fc2082
make TimelineCache::timelines private
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-16 18:13:07 -04:00
kernelkind
dc4e3d7510
increment sub count when necessary
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-16 18:13:04 -04:00
kernelkind
95e9e4326a
add TimelineCache helper methods
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-16 18:13:00 -04:00
kernelkind
4db6f37017
track all timeline related subscriptions in TimelineSub
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-16 18:12:58 -04:00
kernelkind
6544d43d02
replace MultiSubscriber with TimelineSub
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-16 18:12:46 -04:00
William Casarin
a517bc69bc
Merge is_following fixes from kernel
...
kernelkind (4):
add `Accounts` to `NoteContext`
remove `MuteFun` prop
make `Contacts::is_following` use bytes instead of `Pubkey`
migrate to check following through `Contacts::is_following`
2025-07-16 08:50:58 -07:00
William Casarin
ac22fc7072
columns: enable toolbar scroll to top
...
Fixes: https://github.com/damus-io/notedeck/issues/969
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 13:30:40 -07:00
William Casarin
074472eec9
columns/timeline: include column index in timeline view_id
...
might fix weird scroll issues on profiles
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 13:02:05 -07:00
kernelkind
a7f5319fde
remove MuteFun prop
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-14 21:34:05 -04:00
kernelkind
397bfce817
add Accounts to NoteContext
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-14 21:34:02 -04:00
kernelkind
b5d56f7831
remove unnecessary FilterState::NeedsRemote filter
...
all NeedsRemote states are contact lists currently, which is
managed by `Accounts`
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-12 16:52:01 -04:00
kernelkind
46633d0513
use AccountSubs for timeline contact sub
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-12 16:48:20 -04:00
William Casarin
e8444f10b3
Revert "Unify sub for contacts in accounts & timeline"
...
Since its causing contact timelines to not load
eg: ./target/release/notedeck --datapath new3 -c contacts
This reverts commit 9940537897 .
2025-07-11 13:49:47 -07:00
William Casarin
96cb5e26ce
Merge follow/unfollow from kernel
...
Jakub Gladysz (1):
ui: add follow button
kernelkind (14):
bump nostrdb
move polling responsibility to `AccountData`
`AccountData`: decouple query from constructor
add constructor for `AccountData`
add `Contacts`
use `Contacts` in `AccountData`
expose `AccountSubs`
Unify sub for contacts in accounts & timeline
move `styled_button_toggleable` to notedeck_ui
construct NoteBuilder from existing note
send kind 3 event
add actions for follow/unfollow
add UI for (un)follow
send contact list event on account creation
2025-07-11 13:06:24 -07:00
William Casarin
b6348b1507
note/options: simplify flag logic
...
simpler, less macro magic
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 14:29:56 -07:00
kernelkind
a883ac8c34
add actions for follow/unfollow
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
Co-authored-by: Jakub Gladysz <jakub.gladysz@protonmail.com >
Co-authored-by: William Casarin <jb55@jb55.com >
2025-07-10 13:47:28 -04:00
kernelkind
9940537897
Unify sub for contacts in accounts & timeline
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:47:07 -04:00
kernelkind
10d6d740b8
migrate accounts to be referenced through pks instead of indices
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:33 -04:00
kernelkind
8e92a97a57
make selected accounts non optional
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:17 -04:00
William Casarin
400050f3fb
Merge remote-tracking branches 'github/pr/877' and 'github/pr/885'
...
CI / Rustfmt + Clippy (push) Has been cancelled
CI / Check (android) (push) Has been cancelled
CI / Test (Linux) (push) Has been cancelled
CI / Test (macOS) (push) Has been cancelled
CI / Test (Windows) (push) Has been cancelled
CI / rpm/deb (aarch64) (push) Has been cancelled
CI / rpm/deb (x86_64) (push) Has been cancelled
CI / macOS dmg (aarch64) (push) Has been cancelled
CI / macOS dmg (x86_64) (push) Has been cancelled
CI / Windows Installer (aarch64) (push) Has been cancelled
CI / Windows Installer (x86_64) (push) Has been cancelled
CI / Upload Artifacts to Server (push) Has been cancelled
Fernando López Guevara (2):
fix(content): handle case where notes are not loaded
feat(app_images): add module to manage static app image assets
2025-06-25 10:30:24 -07:00
William Casarin
5010d3662d
thread: move comment to the correct place
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-25 10:29:33 -07:00
Fernando López Guevara
c6dbb0e856
fix(content): handle case where notes are not loaded
2025-06-24 09:15:52 -07:00
Fernando López Guevara
f214e97382
hashtag-column: allow multiple hashtags
...
Changelog-Changed: Allow multiple hashtags in hashtag columns
2025-06-24 08:16:10 -07:00
kernelkind
d560e84eab
integrate new threads conception
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:03:13 -04:00
kernelkind
cdcca0ba35
add threads impl
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:00:26 -04:00
William Casarin
7b558f8f58
universe: add full tabs
...
so we can monitor replies as well
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-16 16:11:51 -07:00
William Casarin
5e1e45184b
thread: enable selectable text in threads
...
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 >
2025-06-16 16:11:51 -07:00
kernelkind
91c9cfc34f
bugfix: txn failed
...
`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 >
2025-06-01 17:56:22 -04:00
William Casarin
c469a0ff22
timeline: show media on universe timeline
...
Now that we have blurred images from people you don't
follow, we can enable this again
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-14 09:53:55 -07:00
kernelkind
a29277d263
propagate JobsCache
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:55:53 -04:00
kernelkind
e453c742de
add trust_media_from_pk2 method
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:53:49 -04:00
William Casarin
c4084a1fb5
ui: add note truncation
...
Truncate notes by default. We still need a show more button though
2025-04-22 10:50:58 -07:00
William Casarin
8af80d7d10
ui: move note and profile rendering to notedeck_ui
...
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 >
2025-04-17 12:34:43 -07:00
kernelkind
5917bc16fd
propagate current account
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-04-08 22:50:00 -04:00
William Casarin
23c93e1028
perf: reduce timeline overscan
...
I think I did this for image preloading, but it renders more things than
we need.
2025-03-23 11:30:18 -07:00
William Casarin
26b58683b8
feat: integrate nostrdb relay indexing
...
- 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 >
2025-03-21 16:20:37 -07:00
kernelkind
a9f473e3c9
introduce NoteContext
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-03-08 14:57:32 -05:00
William Casarin
c2545d17e7
route: add Search route and hook up SearchView
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-03-07 13:24:52 -08:00
William Casarin
d19e4b1d2b
search: improve search column header
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-03-07 13:24:52 -08:00
William Casarin
f7c1a39bc1
args: add search column argument
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-03-07 13:24:52 -08:00
William Casarin
e09df3e7c3
timeline: add nip50 search timelines
...
Fixes: https://github.com/damus-io/notedeck/issues/456
Signed-off-by: William Casarin <jb55@jb55.com >
2025-03-07 13:24:41 -08:00
William Casarin
4365839242
Revert driller
...
This reverts commit cec49c83bd .
Revert "update NoteContentsDriller to NoteContext"
This reverts commit 65bd6a65f9 .
Revert "introduce the driller"
This reverts commit 95d618e7fe .
2025-03-07 12:53:34 -08:00
William Casarin
cec49c83bd
fix formatting
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-03-07 12:36:26 -08:00