Commit Graph

1067 Commits

Author SHA1 Message Date
kernelkind
fdde0244e2 feat(reactions): use ProfileKey when possible for performance
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-24 13:00:39 -04:00
kernelkind
892d77d4e3 chore(profiling): markup composite render path
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-24 11:42:03 -04:00
kernelkind
9ccbaf2db8 chore(tracy): repaint every frame
since we stop rendering when there is no user input, tracy sees
big hangs, and it's annoying to parse through which frames are
actual performance issues and which are due to no user input.

So just repaint every frame while using tracy.

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-10-24 11:42:03 -04:00
William Casarin
8bfe8916ea Merge send reactions by kernel #1170 2025-10-20 11:22:54 -07:00
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