Commit Graph
100 Commits
Author SHA1 Message Date
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 94be9ccc3e Revert "relay: make multicast a desired relay"
there seems to be a bug where the relay list fails to get
created if multicast fails to connect

This reverts commit 5eae9a55ec.
2025-07-20 15:59:47 -07:00
William Casarin 2c1a42efd4 v0.5.5
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-20 10:23:41 -07:00
William Casarin c306ab2912 chrome/readme: mention signer
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-17 14:52:26 -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 8d2da86f1f enostr: remove raw event type
we rely on the event type for multicast logic,
so remove raw since its not really needed anymore

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-17 14:20:33 -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
William Casarin d2994fa340 gitignore: ignore logcat
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-17 11:30:29 -07:00
William Casarin 5eae9a55ec relay: make multicast a desired relay
so we can delete everything except multicast and have
multicast accounts

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-17 11:03:20 -07:00
William Casarin 1a7154fab6 reply: add some space after reply box
we need more room on mobile

Fixes: https://github.com/damus-io/notedeck/issues/991
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-17 11:02:59 -07:00
William Casarin 61f4d6b532 db: fix bad query bug in author-kind queries
it was matching authors it shouldn't have

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-17 11:01:58 -07:00
William Casarin 51d2b4414b ui/note: refactor reply line into a function
this is a bit neater

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-17 09:37:20 -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
William Casarin db6f02084d input: halve long press input duration
people were saying long press was too long

Fixes: https://github.com/damus-io/notedeck/issues/981
2025-07-16 18:01:48 -07:00
William Casarin 99646f8ff5 ui/mention: fix weird mention text size
Fixes: https://github.com/damus-io/notedeck/issues/975
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-16 17:36:35 -07:00
William Casarin a603685fac multi_subscriber: switch to debug statements
info is not really the right level for this
2025-07-16 16:36:26 -07:00
William Casarin 64ac06791a Merge show-note-client option by fernando
We should move this somewhere else before we turn it on
officially

Fernando López Guevara (2):
      refactor: use Margin:ZERO
      feat(note-view): show note client
2025-07-16 14:07:42 -07:00
William Casarin a6a89307f1 v0.5.4
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-16 11:41:32 -07:00
William Casarin 872aadf279 debug: fix memory debugger
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-16 11:17:13 -07:00
William Casarin 953848ff9a anim: reduce gif fps
it's brrrring my cpu on my 240hz monitor. we don't need 240hz gifs...

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-16 10:07:37 -07: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
William Casarin f27b1fe957 Merge chrome sidebar features from fernando
Fernando López Guevara (2):
      fix(compose-button): apply icon_color to compose button edge circles & add hover text
      fix(chrome): add hover text and pointer cursor to sidebar elements
2025-07-16 09:01:55 -07:00
William Casarin 45803b6bb0 readme: we're in beta status
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-16 08:59:59 -07:00
William Casarin a5bbe79c4b readme: fix link
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-16 08:59:23 -07:00
William Casarin 3637dbd5c3 Merge readme changes from elsat 2025-07-16 08:58:31 -07:00
William Casarin 551afb2772 readme: tweaks
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-16 08:58:19 -07:00
William Casarin e8db7444c3 gitignore: include junk so that git clean can handle it
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-16 08:55:24 -07: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 e2d79af632 Merge remote-tracking branch 'fernando/feat/full-screen-media-dots' 2025-07-16 08:31:57 -07:00
William Casarin 23d02a9dd2 note/options: remove redundant has function
there is a contains function generated by the bitflags macro

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 14:35:14 -07:00
William Casarin fa545bc077 ui/note: fix weird ... placement regression
Fixes: c402320ad3 ("ui: fix broken note previews")
Fixes: https://github.com/damus-io/notedeck/issues/974
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 14:33:46 -07:00
William Casarin 4735529731 update lock
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 14:19:36 -07:00
William Casarin 5c603cd56b v0.5.3
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 14:15:16 -07:00
William Casarin 6bf6af7f9e profile: fix crash with ProfileState defaults
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 14:14:50 -07:00
William Casarin e9ee1b5094 v0.5.2
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 13:41:31 -07:00
William Casarin fb6456bdee v0.5.1
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 13:37:25 -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
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 cd560cb7bf chrome: make toolbar smaller
its a bit chonky

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 12:40:04 -07:00
William Casarin baff14bbf0 ui/column: include pfp in back response
We were missing the pfp in the back response

Fixes: https://github.com/damus-io/notedeck/issues/923
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 10:51:02 -07:00
William Casarin 0cc64da1ca columns/profile: only mutate profile state after navigating
The code currently mutates the profile state during nav rendering,
which screws up profile state updates. This syncs ProfileStates
in the ui. before it was getting out of sync.

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 10:15:21 -07:00
William Casarin f2adb949f6 columns/nav: ocd nevernest
no behavior changed

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 09:29:34 -07:00
William Casarin 6f266fc91d columns/profile: rename process -> process_profile_action
lets start clarifying these names for easier searching

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 09:28:41 -07:00
William Casarin 443d356cc7 ui/column: remove move/remove column buttons on narrow
It doesn't make sense to move columns in narrow mode

Fixes: https://github.com/damus-io/notedeck/issues/960
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 08:35:07 -07:00
William Casarin a714bef690 ui/profile: fix dubious profile editing
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 08:28:37 -07:00
William Casarin 4e3fcad709 ui/note: show full link type in unhandled mentions
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-15 08:28:33 -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
William Casarin e2295172a2 fix target sdk
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-14 16:15:29 -07:00
William Casarin 45bb00426f andriod: add app icons
Fixes: #958
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-14 16:02:49 -07:00
William Casarin 3a25f3b245 tweak minSdk
24 is lowest vulkan ... so target that

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-14 16:01:48 -07:00
William Casarin c5b6bf2883 gitignore: ds_store
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-14 16:01:39 -07:00
William Casarin c4084c4117 note_follows: remove unneeded derefence
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-14 14:16:05 -07:00
William Casarin e4ca67127e Merge unknown profile improvements by kernel #955
kernelkind (1):
      allow body on unknown profile
2025-07-14 14:10:18 -07:00
William Casarin c402320ad3 ui: fix broken note previews
Also made the options more clear

Fixes: https://github.com/damus-io/notedeck/issues/959
Fixes: b6348b1507 ("note/options: simplify flag logic")
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-14 14:05:41 -07:00
William Casarin 44edffc596 android/input: add copy/paste context to post input
Fixes: https://github.com/damus-io/notedeck/issues/942
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-11 15:36:56 -07: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 8752a49485 android: fix crash on mobile
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-11 13:39:29 -07:00
William Casarin 14dd7402d0 Merge redundant change 2025-07-11 13:16:45 -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 df78605051 nostrdb: update for windows and memleak fixes 2025-07-11 12:53:01 -07:00
William Casarin 217c1e5223 columns/decks: add home and notifications for new accounts
This is way more user friendly, and needed on mobile

Fixes: https://github.com/damus-io/notedeck/issues/937
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-10 17:16:30 -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 c5093a7180 columns/add: move home and notifications to top
more intuitive

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-10 13:37:23 -07:00
William Casarin f39d554c96 rename Contacts to Home
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-10 13:34:41 -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
William Casarin cf1814f250 android: hide chrome sidebar by default
When compiled as android, make sure we hide the chrome sidebar
by default

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-10 13:33:27 -07:00
William Casarin 6172777b1a android: remove special load arguments
we want to make sure we have the same onboarding path as desktop

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-10 13:32:52 -07:00
William Casarin 41053dd5a5 ui/carousel: refactor to use indices
This refactors our carousel control a bit, it was getting
messy

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-10 12:09:30 -07:00
William Casarin e97574fcdc Merge remote-tracking branch 'github/pr/916' 2025-07-10 09:16:17 -07:00
William Casarin 298fab6471 ui/narrow: restore padding
This is a bit too tight

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-10 09:12:08 -07:00
William Casarin 22cfaaf64a Merge remote-tracking branch 'github/pr/928' 2025-07-10 09:10:28 -07:00
William Casarin e4e8d7fcf3 note/action: add ScrollInfo
I might need this... lets add it just in case

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-10 09:03:39 -07:00
William Casarin bb0262e09e android: reapply keyboard changes
but gate them so they don't apply on desktop to avoid the
arrow key and backspace issues. This is a massive hack until
I get time to actually implement this properly.

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-10 08:30:59 -07:00
William Casarin 13021afa58 Revert "feat(note-actionbar): refine icons"
icons are too blurry, lets fix that

This reverts commit e1bd1d3e8b.
2025-07-09 11:18:04 -07:00
William Casarin f25735f89e debug: add memory debug window
enable with:

$ cargo build --release --features memory

and then click the memory widget on the chrome sidepanel

currently doesn't track C allocations... we should fix that

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-08 13:27:37 -07:00
William Casarin 738b5e71da android: default app to columns
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-08 12:12:03 -07:00
William Casarin 559086bc10 Merge remote-tracking branches 'pr/9{29,30}' into master 2025-07-08 08:41:01 -07:00
William Casarin eb76cbf671 Revert "android: fix remaining keyboard issues"
This reverts commit dbba0e1bb0.

It breaks desktop
2025-07-01 11:20:23 -07:00
William Casarin dbba0e1bb0 android: fix remaining keyboard issues
Fixes: https://github.com/damus-io/notedeck/issues/896
Fixes: https://github.com/damus-io/notedeck/issues/894
Fixes: https://github.com/damus-io/notedeck/issues/895
Fixes: https://github.com/damus-io/notedeck/issues/893
Signed-off-by: William Casarin <jb55@jb55.com>
2025-06-30 14:47:57 -07: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
William Casarin a0ac4b16ad nostrdb: bump to v0.7.0
includes replay fix

Signed-off-by: William Casarin <jb55@jb55.com>
2025-06-25 10:29:33 -07:00
William Casarin 48f17f91b8 log: make some routing logs into debug logs
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
Signed-off-by: William Casarin <jb55@jb55.com>
2025-06-24 08:31:25 -07:00
William Casarin ca5ecb3777 Merge multiple hashtags in a column
Fernando López Guevara (1):
      hashtag-column: allow multiple hashtags

William Casarin (2):
      hashtag: improve sanitization function
2025-06-24 08:30:18 -07:00
William Casarin b67a2ddc31 hashtag: improve sanitization function
We don't want punctuation in hashtags

Signed-off-by: William Casarin <jb55@jb55.com>
2025-06-24 08:29:37 -07:00
William Casarin 5c31bf16c8 Merge remote-tracking branch 'github/pr/899' 2025-06-23 13:48:21 -07:00
William Casarin 75fd22d8ed thread: selected thread notes should be... selectable
We couldn't select text on thread notes before,
now we can

Signed-off-by: William Casarin <jb55@jb55.com>
2025-06-23 13:00:08 -07:00
William Casarin 15b4978d47 deps: switch to damus-io egui-nav
thanks kernel!

Signed-off-by: William Casarin <jb55@jb55.com>
2025-06-23 11:27:04 -07:00
William Casarin 7ba81d0761 Merge Threads by kernel
kernelkind (16):
      add `NoteId` hashbrown `Equivalent` impl
      unknowns: use unowned noteid instead of owned
      tmp: upgrade `egui-nav` to use `ReturnType`
      add `ThreadSubs` for managing local & remote subscriptions
      add threads impl
      add overlay conception to `Router`
      add overlay to `RouterAction`
      ui: add `hline_with_width`
      note: refactor to use action composition & reduce nesting
      add pfp bounding box to `NoteResponse`
      add unread note indicator option to `NoteView`
      thread UI
      add preview flag to `NoteAction`
      add `NotesOpenResult`
      integrate new threads conception
      only deserialize first route in each column
2025-06-23 10:52:00 -07:00
William Casarin cc5a888b89 Merge 'Initial android support'
This gets android into a somewhat usable state.

Still news a few follow ups.

William Casarin (9):
      nix: add $ANDROID_JAR helper to shell
      add input context menu helper
      thread: enable selectable text in threads
      universe: add full tabs
      android: fix build
      dave: initial android fixes
      android: arboard clipboard support
      android: add initial ci
      Merge 'Initial android support'
2025-06-17 13:20:06 -07:00
William Casarin 012ff9d53d android: add initial ci
Signed-off-by: William Casarin <jb55@jb55.com>
2025-06-17 13:15:40 -07:00
William Casarin c8e861812b android: arboard clipboard support
Signed-off-by: William Casarin <jb55@jb55.com>
2025-06-16 16:11:51 -07:00
William Casarin be9406da7b dave: initial android fixes 2025-06-16 16:11:51 -07:00