Commit Graph

1113 Commits

Author SHA1 Message Date
William Casarin
2929bfaf0c Merge seen note perf improvements by kernel #1174
kernelkind (2):
      fix(notif-indicator): more performant impl
      refactor(NoteFreshness): remove now unnecessary `NoteFreshness`
2025-10-20 11:21:53 -07:00
kernelkind
fc248ac389 refactor(NoteFreshness): remove now unnecessary NoteFreshness
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-19 19:51:03 -04:00
kernelkind
0344ea866f fix(notif-indicator): more performant impl
the previous unseen notification indicator only ran once a few
seconds, but when it did it often took > 5ms because of ndb::query,
which is unacceptable.

This commit removes the ndb::query entirely and relies on the
ndb::poll_for_notes which is already being used every time there is
a new event from a relay

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-19 19:50:53 -04:00
kernelkind
11611a11d8 feat(reaction): user can send reactions
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-17 15:35:39 -04:00
kernelkind
3f5264b4ab feat(action): add NoteAction::React
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-17 15:35:35 -04:00
kernelkind
83753ccc7d feat(ui): add like button
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-17 15:35:32 -04:00
kernelkind
c66c5725ce feat(event): add send_reaction_event
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-17 15:35:29 -04:00
kernelkind
041e333a5c feat(ui-state): add reaction_sent_id
will be used in the UI for whether to show the filled/unfilled
react icon in the actionbar. Temporary until ndb metadata lands

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-17 15:35:26 -04:00
kernelkind
48a52d3860 feat(action): add ReactAction
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-17 15:35:21 -04:00
kernelkind
e86db45111 feat(assets): add like icon
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-17 15:35:18 -04:00
kernelkind
d3326d2e33 refactor(assets): rename like icon -> filled version
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-17 15:35:15 -04:00
kernelkind
fdaec37212 chrome: ui polish
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-17 01:04:54 -04:00
kernelkind
5490c513db assets: add accounts image
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-17 01:04:51 -04:00
kernelkind
ba83976166 refactor: rename assets
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-17 01:04:48 -04:00
kernelkind
9b1f7680aa refactor: move galley_centered_pos to notedeck_ui
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-17 01:04:45 -04:00
kernelkind
2ce5fb007a drawer: only use drag on mobile
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-16 21:22:25 -04:00
kernelkind
df5cf8a1fc fix: nav drawer shadow extends all the way vertically
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-16 21:22:23 -04:00
William Casarin
34c5153618 Merge quote reposts, share links by kernel
kernelkind (17):
      add `ProfileContext`
      add `RenderNavAction::RepostAction` & render `RepostDecisionView`
      add `after_action` to `SingletonRouter`
      add repost fns
      feat: copy damus.io link to clipboard
      fix: custom zap wrapping
      fix: profile wrapping
      process popup after action
      refactor: move profile.rs -> url.rs to new module
      refactor: move shared context stuff up in scope
      refactor: rename `NoteAction::Quote` -> `Repost`
      render profile context button
      route: add CloseSheetThenRoute `RouterAction`
      route: add `RepostDecision`
      split popup correctly for repost & update egui-nav
      ui: add `ProfileContextWidget`
      ui: add `RepostDecisionView`
2025-10-06 08:56:02 -07:00
kernelkind
f54d3b1596 feat: copy damus.io link to clipboard
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-06 11:52:11 -04:00
kernelkind
14b35c45c2 render profile context button
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-05 15:37:14 -04:00
kernelkind
813b92a414 ui: add ProfileContextWidget
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-05 15:35:55 -04:00
kernelkind
6d426cf2c4 add ProfileContext
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-05 15:35:18 -04:00
kernelkind
d8e027490c refactor: move shared context stuff up in scope
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-05 15:32:51 -04:00
kernelkind
3ccd6a97a4 refactor: move profile.rs -> url.rs to new module
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-05 13:44:49 -04:00
kernelkind
2cf6679418 fix: custom zap wrapping
text was flowing off screen for this npub:
npub1uqxkqdq3xngndgwlck03hje0u25uu7ql9nakh63yjk2m63thczkszeffca

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-05 13:28:20 -04:00
kernelkind
bd6b819118 fix: profile wrapping
zap url for this npub was long, causing it to flow off screen &
causing the content below it to flow off screen as well
npub1pm5z0gmw3wcvl3yreuv8y7q3stz2zmzc4jar4ckhk927qdcwjwuq3txe07

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-05 13:16:26 -04:00
kernelkind
dc23f8fe1e split popup correctly for repost & update egui-nav
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-04 18:09:27 -04:00
kernelkind
6e50e7ee5b process popup after action
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-04 18:09:24 -04:00
kernelkind
181e508f70 add RenderNavAction::RepostAction & render RepostDecisionView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-04 18:09:21 -04:00
kernelkind
4bb60c6240 refactor: rename NoteAction::Quote -> Repost
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-04 18:09:18 -04:00
kernelkind
36845c6305 route: add RepostDecision
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-04 18:09:15 -04:00
kernelkind
3b735d0ef9 ui: add RepostDecisionView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-04 18:09:12 -04:00
kernelkind
f2857a9d58 add repost fns
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-04 17:44:51 -04:00
kernelkind
872bd35142 route: add CloseSheetThenRoute RouterAction
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-04 17:44:48 -04:00
kernelkind
3c5bab24ba add after_action to SingletonRouter
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-04 17:44:38 -04:00
William Casarin
e20861f8d6 Merges notification filters, perf & crash fixes by kernel
kernelkind (6):
      feat: "All" & "Mentions" notifications tabs like Damus iOS
      fix: WalletView don't request keyboard focus if narrow
      fix: crash on startup
      add `load_texture_checked`
      use `load_texture_checked` over `load_texture`
      add clippy rule to disallow the usage of `load_texture`
2025-10-03 13:32:24 -07:00
kernelkind
5469140332 add clippy rule to disallow the usage of load_texture
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-03 16:14:15 -04:00
kernelkind
242317a915 use load_texture_checked over load_texture
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-03 16:10:50 -04:00
kernelkind
8da999998a add load_texture_checked
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-03 16:10:04 -04:00
kernelkind
b632d6fbc0 fix: crash on startup
```
wgpu error: Validation Error

Caused by:
  In Device::create_texture, label = 'egui_texid_Managed(65)'
    Dimension X value 10986 exceeds the limit of 8192
```

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-03 16:03:51 -04:00
kernelkind
55b59c982a fix: WalletView don't request keyboard focus if narrow
on android it kept popping up the keyboard even when i close it

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-02 16:38:30 -04:00
kernelkind
af53dd4852 perf: improve filter generation performance
for some reason the filter here was taking ~6ms to create...

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-02 16:19:39 -04:00
kernelkind
810b4c1990 profiling: add more profile markup
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-02 16:19:04 -04:00
kernelkind
62ffe9b219 feat: "All" & "Mentions" notifications tabs like Damus iOS
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-02 16:13:46 -04:00
William Casarin
3a8d06cb82 Merge tracy profiling by kernel
kernelkind (1):
      add tracy support
2025-10-02 12:33:36 -07:00
kernelkind
f59ec017c9 chrome: readd click to toggle nav drawer
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-01 21:47:47 -04:00
kernelkind
9ff12cc11a render chrome nav drawer
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-01 21:47:45 -04:00
kernelkind
65b7cfec94 cargo: expose egui-nav to chrome
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-01 21:47:42 -04:00
kernelkind
dd2960d266 add nav drawer router
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-01 21:47:37 -04:00
kernelkind
3540290f0a make update return AppResponse instead of Option<AppAction>
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-01 21:47:31 -04:00