Commit Graph
100 Commits
Author SHA1 Message Date
William Casarin 31aae7f315 dave: auto-reply, initial avatar anim
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:16:43 -07:00
William Casarin 80f02d829a clippy fixes
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:16:43 -07:00
William Casarin 0b4807f62d dave: tools working even better
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:16:42 -07:00
William Casarin 4dfb013d6a dave: toolcall parsing
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:16:13 -07:00
William Casarin 6e2c4cb695 dave: tweak prompt
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:16:13 -07:00
William Casarin 56534af698 dave: use local llama for testing for now
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:16:13 -07:00
William Casarin 89b96aeab3 dave: remove shader since we do it inline now
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:16:13 -07:00
William Casarin e7241353bb dave: add background to user messages
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:16:13 -07:00
William Casarin c3bdde59a9 dave: fix prompt and token concat 2025-04-14 11:16:13 -07:00
William Casarin d3d6a0c805 dave: only re-render dave if he's moving
we can be smarter about re-rendering in the future.
we really only need to re-render when he's moving
2025-04-14 11:16:13 -07:00
William Casarin 32f7d484f8 dave: rotation tweaks
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:16:13 -07:00
William Casarin 343f2ce410 dave: cube lighting
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:16:13 -07:00
William Casarin 968d9bc245 dave is alive
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:16:12 -07:00
William Casarin a701275460 nostrdb: only use 2 ingester threads
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:15:10 -07:00
William Casarin f0763b1278 zaps: fix invalid zaps
p tags needs to be the zap target
2025-04-12 15:39:07 -07:00
William Casarin 499bac5ca4 fix again 2025-03-23 18:49:04 -07:00
William Casarin 3cc46b8a7d attempt macos fix 2025-03-23 18:45:14 -07:00
William Casarin a2a119ec5c nostrdb: add author_kind index 2025-03-23 13:00:20 -07:00
William Casarin 23c93e1028 perf: reduce timeline overscan
I think I did this for image preloading, but it renders more things than
we need.
2025-03-23 11:30:18 -07:00
William Casarin a21a3c079c theme: fix window styles
the headers are way too big
2025-03-23 11:30:18 -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
William Casarin d1f38c3d19 Merge right click paste #507
jglad (1):
      #507 add right click paste in search
2025-03-21 16:46:49 -07: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 a7f34a9dc7 Merge bump to 0.31.1
commit 2d801408b2
Author: William Casarin <jb55@jb55.com>
Date:   Mon Mar 17 18:05:01 2025 -0700

    egui: bump to 0.31.1
2025-03-18 09:41:25 -07:00
William Casarin 4d98b996ba Merge add padding to relay view
commit fddddba618
Author: jglad <jakub.gladysz1@gmail.com>
Date:   Tue Mar 18 09:29:22 2025 +0100

    #761 add padding to relay view
2025-03-18 09:38:07 -07:00
William Casarin 2d801408b2 egui: bump to 0.31.1 2025-03-17 19:45:26 -07:00
William Casarin beece0eb95 filter: fix memory leak in nostrdb Filter
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-17 16:44:51 -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
William Casarin 0b22ca345c column: inline some things because why not 2025-03-17 16:44:51 -07:00
William Casarin fdd202741a Merge linux package fixes from ken 2025-03-14 12:52:24 -07:00
William Casarin 71f6d3014a Merge fullscreen images from jglad
jglad (3):
      #716 add full screen images
      #716 move goto button one level down
      #716 store full size img, add zoom & pan
2025-03-13 10:31:01 -07:00
William Casarin c93c2242b1 ui: fix deprecated rounding routines in search ui
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 11:00:03 -07:00
William Casarin 2e991a9aa5 fix a few compile issues after rebase
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:55:15 -07:00
William Casarin 8467de2b5d android: attempt initial keyboard visibility fix
This isn't the right approach, but I keep it here as a reminder
of what we need to do next

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:53:15 -07:00
William Casarin 33f570678d android: switch to android-activity out of path
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:53:15 -07:00
William Casarin bd85233120 android: capture current keyboard height
expose a new virtual_keyboard_height function under notedeck::platform::android

which gets the current height of the virtual keyboard. We can use this
to tranlate the view out of the way

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:53:13 -07:00
William Casarin 09ad354d24 android: add push configs to readme
This wasn't documented, let's fix that

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:52:29 -07:00
William Casarin 0a2a3f2bff android: improve make commands
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:52:29 -07:00
William Casarin 1dec07afe8 android: expand logs
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:52:29 -07:00
William Casarin a168a38760 android: misc testing
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:52:29 -07:00
William Casarin 51457a0260 android: update to latest winit/egui/android-activity
so we can start fixing this shit

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:51:56 -07:00
William Casarin da9b2bcd46 android: 0.30.0 game activity
still no text input, at least it's not crashing

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:47:32 -07:00
William Casarin b33346a25d update to egui 0.30.0 2025-03-11 10:47:32 -07:00
William Casarin b21e39dea9 android: get GameActivity to launch
For some reason there are no touch inputs though

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:47:32 -07:00
William Casarin 9ce2b4da2c remove extra crap from manifest
still not launching, thought this might have been why. nope

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:47:32 -07:00
William Casarin d85c6043b7 search: auto-focus search field on navigate
I'm going to add a search changelog on this commit since I forgot
to do so previously.

Fixes: https://linear.app/damus/issue/DECK-538/auto-focus-search-field-on-search-view
Changelog-Added: Added fulltext search ui
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 16:02:35 -08:00
William Casarin 63f8790380 FIX BUILD YET AGAIN
because i'm retarded

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 14:06:07 -08:00
William Casarin e72a3f11fe Merge Cmd-Enter binding 2025-03-07 14:01:36 -08:00
William Casarin e92e78126f windows: fix build due to outdated nostrdb-rs bindings
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 13:59:34 -08:00
William Casarin 1953496019 search: hook up nav actions
Fixes: https://linear.app/damus/issue/DECK-537/hook-up-search-query-view-responses
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 13:24:52 -08:00
William Casarin c2545d17e7 route: add Search route and hook up SearchView
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 13:24:52 -08:00
William Casarin 9edc9bf4a5 ui: add SearchView and SearchQueryState
Introduce a new view for searching for notes.

Fixes: https://linear.app/damus/issue/DECK-510/initial-search-query-view
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 13:24:52 -08:00
William Casarin 5fde3277a1 notedeck: add debouncer util
I wanted this separate from the timed serializer so I could use it for
other things

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 13:24:52 -08:00
William Casarin d19e4b1d2b search: improve search column header
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 13:24:52 -08:00
William Casarin f7c1a39bc1 args: add search column argument
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 13:24:52 -08:00
William Casarin e09df3e7c3 timeline: add nip50 search timelines
Fixes: https://github.com/damus-io/notedeck/issues/456
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 13:24:41 -08:00
William Casarin 62a1571dea search: show icon again
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 12:58:42 -08:00
William Casarin 23285e7d76 nevernest some note posting code
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 12:58:42 -08:00
William Casarin 873b0e0dcc nav: ocd updates
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 12:58:42 -08:00
William Casarin 4365839242 Revert driller
This reverts commit cec49c83bd.

Revert "update NoteContentsDriller to NoteContext"

This reverts commit 65bd6a65f9.

Revert "introduce the driller"

This reverts commit 95d618e7fe.
2025-03-07 12:53:34 -08:00
William Casarin 50cf75b8bc lint: fix lint issue
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 12:36:39 -08:00
William Casarin cec49c83bd fix formatting
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 12:36:26 -08:00
William Casarin 65bd6a65f9 update NoteContentsDriller to NoteContext
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 12:30:53 -08:00
William Casarin d3bae69465 Merge avoid duplicate crates by rex4539 #746 2025-02-28 15:26:22 -08:00
William Casarin 95affa2245 ui: fix bounciness when loading pfps
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-27 10:37:07 -08:00
William CasarinandGrok3 94e31ff715 add_column: add a bit of padding between title and desc
Co-authored-by: Grok3
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-26 19:48:04 -08:00
William Casarin 9713503d9e add_column: use weak color for descriptions
This matches the figma

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-26 19:41:08 -08:00
William Casarin cee8ab792c algo: fix algo feed icon
temporary placeholder, but at least its less ugly

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-26 19:32:19 -08:00
William Casarin b4cb44a3d5 gif: don't allow retries
seems to be spamming

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-26 12:49:32 -08:00
William Casarin a524bbd5a4 Merge GIF support by kernel
kernelkind (20):
      use bincode
      update ehttp to 0.5.0
      introduce UrlMimes
      use mime_guess
      add SupportedMimeType
      rename ImageCache -> MediaCache
      Use TexturedImage in MediaCache
      render MediaCache method
      move MediaCache rendering to render_media_cache call
      support multiple media cache files
      introduce Images
      render Images method
      migrate to using Images instead of MediaCache directly
      URL mime hosted completeness
      handle UrlCache io
      introduce gif animation
      handle gif state
      integrate gifs
      use SupportedMimeType for media_upload
      render gif in PostView
2025-02-26 12:29:39 -08:00
William Casarin 660b7cc8b7 feat: add --no-media flag to disable media display
- Introduced a new "no_media" boolean in ColumnsArgs to capture the
  --no-media flag.

- Updated NoteOptions to include a setting for hiding media, configured
  from parsed arguments.

- Refactored Damus to consolidate note options (textmode, scramble, and
  no-media) into a single NoteOptions field.

- Modified navigation UI rendering to pass the unified note_options.

This change allows users to disable media display via the --no-media flag.

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-22 14:39:33 -08:00
William Casarin bd352f76d4 feat: add scramble flag for development text scrambling
This commit introduces a new scramble option to help reduce distractions
during development by scrambling text using rot13. When enabled via the
new `--scramble` flag, text displayed in various views is transformed,
making it easier to focus on layout and behavior without reading the
actual content.

App & Args Updates

  - Added a `scramble: bool` field to the main application state (in `app.rs`).

  - Extended argument parsing (in `args.rs`) to recognize the `--scramble` flag.

NoteOptions Enhancement

  - Introduced a new bit flag `scramble_text` in `NoteOptions` with
    corresponding setter/getter methods.

UI Adjustments

  - Propagated the scramble flag through note rendering functions across
    navigation, timeline, and note view modules.

  - Updated several UI components (e.g., in `nav.rs`, `route.rs`, and
    `contents.rs`) to accept and apply the new note options.

Rot13 Implementation

  - Implemented a helper function (`rot13`) to scramble text
    conditionally when the scramble option is enabled.

This feature is intended for development builds only, offering a way to
obscure text content during UI tweaks and testing.

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-22 14:30:38 -08:00
William Casarin 32c7f83bd7 Merge hide nsec in account panel
jglad (2):
      fix compilation
      hide nsec in account panel
2025-02-21 12:13:35 -08:00
William Casarin d82d7fd00d Merge relay debug view fixes & more strict args #711
Ken Sedgwick (5):
      drive-by compiler warning fixes
      drive-by clippy fixes
      add derive Debug to some things
      panic on unknown CLI arguments
      move RelayDebugView to notedeck crate and restore --relay-debug

William Casarin (4):
      clippy: fix lint
      args: skip creation of vec
      nix: fix android build

Link: https://github.com/damus-io/notedeck/pull/711
2025-02-10 17:03:23 -08:00
William Casarin 353a3c87c3 nix: fix android build
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-10 17:01:57 -08:00
William Casarin 6fb720e0c5 args: skip creation of vec
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-10 16:57:50 -08:00
William Casarin 44181e24db clippy: fix lint
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-10 16:57:18 -08:00
William Casarin 7f0d0106d9 Merge remote-tracking branch 'github/pr/724' 2025-02-10 16:52:56 -08:00
William Casarin 56f19b155d changelog: add unreleased section
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-10 16:52:05 -08:00
William Casarin c4b56a48af Merge ctrl-enter to post
Ethan Tuttle (1):
      feat: ctrl+enter when creating a new note, sends the note, the same way clicking the "Post Now" button.
2025-02-10 16:46:24 -08:00
William Casarin d0be18c80e clippy: fix enum too large issue
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-10 16:33:58 -08:00
William Casarin 194fa68641 profilesearch: add some padding
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-10 16:08:19 -08:00
William Casarin a95bc6ad5e egui: replace with damus-io repo
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-10 15:57:50 -08:00
William Casarin 8c49e6e5f6 Merge explicitly activate and deactivate account relay/muted list #678
Ken Sedgwick (4):
      drive-by compiler warning fixes
      improve debug logging, comments, and variable names for clarity
      explicitly activate and deactivate account relay list subs
      explicitly activate and deactivate account muted list subs
2025-02-07 11:07:17 -08:00
William Casarin 0d22debb05 Merge multiple image uploading
kernelkind (1):
      allow multiple media uploads per selection
2025-02-06 16:51:01 -08:00
William Casarin 36dc28451a Merge fix file logging #718
kernelkind (1):
      fix file logging
2025-02-06 14:00:55 -08:00
William Casarin c32a42f9b9 clippy: fix naming lint
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-06 12:17:48 -08:00
William Casarin fd030f5b5c Merge rewrite deck serialization, timeline cache, add algo timelines #712
William Casarin (19):
      algos: introduce last_n_per_pubkey_from_tags
      wip algo timelines
      Initial token parser combinator
      token_parser: unify parsing and serialization
      token_serializer: introduce TokenWriter
      token_parser: simplify AddColumnRoute serialization
      tokens: add a more advanced tokens parser
      tokens: add AccountsRoute token serializer
      tokens: add PubkeySource and ListKinds token serializer
      tokens: add TimelineRoute token serializer
      tokens: initial Route token serializer
      add tokenator crate
      note_id: add hex helpers for root notes
      tokens: add token serialization for AlgoTimeline
      tokens: add token serialization for TimelineKind
      tokens: switch over to using token serialization
      Switch to unified timeline cache via TimelineKinds
      hashtags: click hashtags to open them
2025-02-05 18:46:16 -08:00
William Casarin ac10c7e5b2 hashtags: click hashtags to open them
Fixes: https://github.com/damus-io/notedeck/issues/695
Fixes: https://github.com/damus-io/notedeck/issues/713
Changelog-Added: Add ability to click hashtags
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-05 18:43:09 -08:00
William Casarin 0cc1d8a600 Switch to unified timeline cache via TimelineKinds
This is a fairly large rewrite which unifies our threads, timelines and
profiles. Now all timelines have a MultiSubscriber, and can be added
and removed to columns just like Threads and Profiles.

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-05 18:30:45 -08:00
William Casarin ae85f2dd34 version: bump to 0.3.1
Just a binary fix for ubuntu

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 11:51:16 -08:00
William Casarin 74801098f3 ci: upload artifacts step
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 11:18:21 -08:00
William Casarin d46e526a45 tokens: switch over to using token serialization
This removes all of the old serialization code

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00
William Casarin 5ba06986db tokens: add token serialization for TimelineKind
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00
William Casarin d108df86b4 tokens: add token serialization for AlgoTimeline
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00
William Casarin d85b610cf4 note_id: add hex helpers for root notes
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00
William Casarin ed455f7ea4 add tokenator crate
also remove a lot of the "advanced" token parsing style
which was a bit too verbose for my tastes

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00
William Casarin 29491cca05 tokens: initial Route token serializer
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00
William Casarin 4e87ed7065 tokens: add TimelineRoute token serializer
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00