kernelkind
5168d50257
add info statements
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-16 18:13:09 -04: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
kernelkind
efae62024e
migrate to check following through Contacts::is_following
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-14 21:34:33 -04:00
kernelkind
142aa879c3
make Contacts::is_following use bytes instead of Pubkey
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-14 21:34:08 -04: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
8c71e154f4
allow body on unknown profile
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-14 15:26:07 -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
kernelkind
dca9d3eeab
send contact list event on account creation
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:47:32 -04:00
7b9db55a05
add UI for (un)follow
...
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:30 -04:00
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
00d6651533
send kind 3 event
...
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:25 -04:00
kernelkind
6741ea8a01
construct NoteBuilder from existing note
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:47:23 -04:00
kernelkind
8a77ba5f8f
move styled_button_toggleable to notedeck_ui
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:47:19 -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
497c102af1
expose AccountSubs
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:45:42 -04:00
kernelkind
1100e28233
use Contacts in AccountData
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:45:39 -04:00
kernelkind
9b7033e208
add Contacts
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:45:27 -04:00
kernelkind
4014d122c9
add constructor for AccountData
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:45:23 -04:00
kernelkind
c99b99ed52
AccountData: decouple query from constructor
...
the ndb query must be as close to the subscription as possible to
avoid events falling through the cracks
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:45:20 -04:00
kernelkind
6c951d1a29
move polling responsibility to AccountData
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:45:13 -04:00
kernelkind
e4beb954db
bump nostrdb
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:45:03 -04:00
kernelkind
b41f4c3359
decouple RelayView UI from state mutation
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:46:09 -04:00
kernelkind
10c4ac80a1
Revert "tmp: temporary AccountCache"
...
This reverts commit 726da7dabf5bf089a463309c41be3f6e11d0c43d.
2025-07-02 15:46:05 -04:00
kernelkind
a73596df48
Clarify & enforce selected-only behavior in Accounts subscription
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:46:01 -04:00
kernelkind
f0158f71b2
don't expose mutable access to UserAccount
...
it's not preferable that the full mutable access is available to
`ZapWallet`, but this PR is becoming too big already
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:45:57 -04:00
kernelkind
61e47323ab
move modify_advertised_relays into accounts/relay.rs
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:45:54 -04:00
kernelkind
03c7d11351
move update_relay_configuration to account/relay.rs
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:45:51 -04:00
kernelkind
11edde45f4
split AccountStorage into reader & writer
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:45:47 -04:00
kernelkind
329385bd90
move AcountData into UserAccount
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:45:44 -04:00
kernelkind
a962d67536
tmp: temporary AccountCache
...
will be removed before PR ends
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:45:37 -04:00
kernelkind
f357935cca
move (de)serialization of wallets & accounts to own structs
...
for easy cloning
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:45:31 -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
d092f5c23e
move switching related actions from notedeck -> columns
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:29 -04:00
kernelkind
b9cfe87974
wallet: remove unnecessary mut
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:26 -04:00
kernelkind
84026824b2
enostr: add equivalence between Pubkey & bytes
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:20 -04:00
kernelkind
8e92a97a57
make selected accounts non optional
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:17 -04:00
kernelkind
9cacb6bb69
add AccountCache
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:13 -04:00
kernelkind
f318bbb19a
remove unnecessary method
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:10 -04:00
kernelkind
2fb2940d56
accounts: make fallback pk non optional
...
Note: this commit alone is *incorrect* and will cause crashes.
It is part of a greater plan to upgrade accounts. It was done this
way to break commits to smaller, more digestable chunks
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:06 -04:00
kernelkind
4914c637ce
move FALLBACK_PUBKEY
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:03 -04:00
kernelkind
320dedc8bd
add RelayDefaults
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:00 -04:00
kernelkind
41e141d9a9
move aux code to bottom
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:40:56 -04:00
kernelkind
e8d833bf89
accounts: move mute stuff to own module
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:40:52 -04:00
kernelkind
10ed593b6d
accounts: move relay stuff to own file
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:40:44 -04:00
kernelkind
e91684a7d5
accounts: move accounts to own module
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:40:39 -04:00
kernelkind
e29ea35ee5
remove duplicate UnknownIds initialization
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:40:33 -04:00
kernelkind
86d68e786a
threads: fix other replies not rendering in presence of one muted
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-23 16:32:34 -04:00
kernelkind
589a8a904c
fix log messages
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-23 16:32:28 -04:00
kernelkind
b7d6e3b2f1
only deserialize first route in each column
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:03:13 -04:00
kernelkind
d560e84eab
integrate new threads conception
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:03:13 -04:00
kernelkind
f6753bae97
add NotesOpenResult
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:03:13 -04:00
kernelkind
87b4b5fc70
add preview flag to NoteAction
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:03:09 -04:00
kernelkind
b3569e90d6
thread UI
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:01:20 -04:00
kernelkind
51476772c4
add unread note indicator option to NoteView
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:00:42 -04:00
kernelkind
ea91f582ed
add pfp bounding box to NoteResponse
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:00:40 -04:00
kernelkind
b7bab1d29f
note: refactor to use action composition & reduce nesting
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:00:37 -04:00
kernelkind
c3b8823f72
ui: add hline_with_width
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:00:35 -04:00
kernelkind
41c2c048a8
add overlay to RouterAction
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:00:33 -04:00
kernelkind
e0dd09dd5f
add overlay conception to Router
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:00:29 -04:00
kernelkind
cdcca0ba35
add threads impl
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:00:26 -04:00
kernelkind
3c31e1a651
add ThreadSubs for managing local & remote subscriptions
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:00:23 -04:00
kernelkind
faa40bb616
tmp: upgrade egui-nav to use ReturnType
...
remove when damus-io/egui-nav merges
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:00:18 -04:00
kernelkind
a77fe6ca00
unknowns: use unowned noteid instead of owned
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-18 14:39:05 -04:00
kernelkind
6da10c4faf
add NoteId hashbrown Equivalent impl
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-18 14:38:26 -04: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
kernelkind
2d55c8fb06
add search improvements
...
- '@' symbol brings up mention picker
- search for npub1, note1, and hashtags work
closes: https://github.com/damus-io/notedeck/issues/83
closes: https://github.com/damus-io/notedeck/issues/85
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-26 16:52:19 -04:00
kernelkind
9387fe4973
stop error log spam
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-26 16:32:21 -04:00
kernelkind
58b15d99d7
add SearchType
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-26 16:32:18 -04:00
kernelkind
64d3a0842e
add NoteId::from_bech method
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-25 18:26:44 -04:00
kernelkind
a1ac0cd2c8
appease clippy
...
not sure why this warning is only now showing up
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-25 18:25:34 -04:00
kernelkind
db5e10656d
set variable for scroll offset
...
necessary to maintain scroll positions across popup & Nav
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-22 20:33:20 -04:00
kernelkind
3cb2dd88b6
use popup sheet for CustomZapView
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-22 20:33:18 -04:00
kernelkind
c36a22828d
use router action
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-22 20:33:15 -04:00
kernelkind
a44667ef1a
nav: move process nav response to own method
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-22 20:33:12 -04:00
kernelkind
f452a9010b
nav: move action processing to own method
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-22 20:33:10 -04:00
kernelkind
08a720b860
add SingletonRouter
...
used for popup
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-22 20:33:06 -04:00
kernelkind
99aa50c120
TMP: use new egui-nav with popup
...
replace with damus-io/egui-nav when merged
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-22 20:32:33 -04:00
kernelkind
5598cc8ba0
use CustomZapView
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-17 14:41:48 -04:00
kernelkind
a9a819f742
add CustomZapView
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-17 14:41:26 -04:00
kernelkind
68b5c32e7f
method to get current default zap amount
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-17 14:30:21 -04:00
kernelkind
16e2c9d5b0
make styled button toggleable
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-17 14:30:19 -04:00
kernelkind
d2158a6482
display name should wrap
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-17 14:30:15 -04:00
kernelkind
54c0fdb563
don't show zap button if no wallet
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-17 14:29:43 -04:00
kernelkind
98cb082fb4
hotfix: can login again
...
adds fallback pubkey as account and selects it when there are
no accounts
closes: https://github.com/damus-io/notedeck/issues/855
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-16 15:50:31 -04:00
kernelkind
b2abe495ca
implement blurring
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:57:57 -04:00
kernelkind
7d2112b472
make Widget impl ProfilePic mutably
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:57:54 -04:00
kernelkind
640bf742c0
add one shot error message
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:57:51 -04:00
kernelkind
929099c15f
propagate Images to actionbar
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:57:48 -04:00
kernelkind
e7c3755a08
pass NoteAction by value instead of reference
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:57:45 -04:00
kernelkind
953496fc74
note media: unnest full screen media
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:57:43 -04:00
kernelkind
01636786be
note media: only show full screen when loaded
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:56:48 -04:00
kernelkind
379d6c0307
notedeck_ui: move carousel to note/media.rs
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:56:45 -04:00
kernelkind
258ac3de29
post: unnest
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:56:42 -04:00
kernelkind
def9de0dc0
images: make promise payload optional to take easily
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:56:38 -04:00