William Casarin
db6103d448
router: fix router selection
...
Many times we get the router selection wrong. This fixes that
Changelog-Fixed: Fix some routing issues when routing from the Chrome
Fixes: https://github.com/damus-io/notedeck/issues/1024
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-24 12:11:19 -07:00
Fernando López Guevara
da6ede5f69
feat(settings): add settings view
2025-07-23 15:33:17 -03: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
8a1398face
clippy fixes
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-17 13:54:43 -07:00
William Casarin
c0c2120f74
android: fix back button
...
Fixes: https://github.com/damus-io/notedeck/issues/972
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-17 09:18:34 -07:00
kernelkind
cc92fc2082
make TimelineCache::timelines private
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-16 18:13:07 -04:00
Fernando López Guevara
4bf75c95de
feat(note-view): show note client
2025-07-16 17:09:59 -03:00
William Casarin
461665f599
ui: remove show_pointer
...
This can just be achieved by on_hover_cursor
Didn't realize this.
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-16 09:17:27 -07:00
Fernando López Guevara
ab43bdb65a
fix(deck): show column picker when deck has no columns
2025-07-15 14:42:32 -07:00
William Casarin
119456e2b3
columns: switch to bitflag app options
...
we're adding a ScrollToTop bool for an updating change
to the toolbar, but we have too many flags now. Let's switch
to bitflags
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 12:42:20 -07:00
William Casarin
744483fbc0
ui: don't auto-repaint that often
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 08:28:33 -07: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
6596e89e29
anim: animate on compose button hide
...
before we were just nuking it
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-11 14:23:50 -07:00
William Casarin
ade6f57fd5
anim: animate show/hide of compose button
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-11 14:21:26 -07: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
26d027f03e
nav: nav to accounts view for actions that require key
...
Fixes: https://github.com/damus-io/notedeck/issues/936
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 16:17:08 -07:00
William Casarin
605f6f4711
android: hide new post button when navigating
...
Fixes: https://github.com/damus-io/notedeck/issues/898
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 15:45:33 -07:00
William Casarin
4bdfbc6400
onboarding: restore demo deck
...
for some reason it was getting overwritten ?
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 14:54:48 -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
William Casarin
e0f2e467d2
args: switch to oot_bitset for arg flags
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 13:34:24 -07: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
Fernando López Guevara
ec25413433
feat(mobile): improve layout and behavior on narrow screens
2025-07-08 16:20:51 -07: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
329385bd90
move AcountData into UserAccount
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 15:45:44 -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
8e92a97a57
make selected accounts non optional
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:17 -04:00
kernelkind
4914c637ce
move FALLBACK_PUBKEY
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-02 11:41:03 -04:00
kernelkind
d560e84eab
integrate new threads conception
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-06-22 16:03:13 -04:00
William Casarin
e8d240df42
toolbar: process actions
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-07 10:19:13 -07:00
William Casarin
e87b6f1905
chrome: collapsible side panel
...
This implements the initial logic that makes the side panel collapsible.
Since we don't have a proper hamburger control, we do the same thing we
do on iOS for now.
2025-06-05 12:01:55 -07:00
William Casarin
5cb0911d7e
log: less verbose unknown id logging
2025-06-05 11:59:51 -07:00
William Casarin
771537a4f6
android: hover post button when narrow
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-03 10:29:38 -07: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
badf3070c8
introduce JobsCache
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-05-04 12:54:26 -04:00
William Casarin
e8a1233174
dave: bubble note actions to chrome
...
This allows chrome to pass note actions to other apps
2025-04-22 18:42:12 -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
William Casarin
50dec5b5d5
context: implement note broadcasting
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-14 16:02:43 -07:00
William Casarin
9c9b4199f5
ui crate and chrome sidebar
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-14 11:29:01 -07:00
William Casarin
54deb2dd88
switch to profiling crates
...
This switches to the profiling crate for compatible
profiling between rust libraries.
To enable:
$ cargo build --release --features puffin
Feel free to experiment with other profiling backends
as well! Would be great to get tracy working.
2025-03-23 11:30:18 -07:00
William Casarin
7b9e6f180c
disable large scale unknown id detection
...
its slow
2025-03-23 09:40:46 -07:00
kernelkind
ad90a9565a
canonize UserAccount
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-03-22 00:06:49 -04: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
William Casarin
adb3359bd8
debug: fix debug crash when adding columns
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-03-17 16:44:51 -07:00
kernelkind
0461a98d5d
handle UrlCache io
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-02-25 16:49:00 -05:00
kernelkind
33fdf647e3
migrate to using Images instead of MediaCache directly
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-02-25 16:49:00 -05:00
kernelkind
888a933e56
support multiple media cache files
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-02-25 16:49:00 -05:00
kernelkind
4f4a0feb8c
rename ImageCache -> MediaCache
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-02-25 16:49:00 -05:00