Commit Graph

658 Commits

Author SHA1 Message Date
William Casarin
194fa68641 profilesearch: add some padding
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-10 16:08:19 -08:00
Ethan Tuttle
8aaaa336e2 feat: ctrl+enter when creating a new note, sends the note, the same way clicking the "Post Now" button.
This button combination is common enough in "power user" apps for multiline input that I think this is a good default and could likely be configurable in the future.
2025-02-08 21:48:00 -05:00
jglad
4aefe1f1fe refactor 2025-02-08 10:59:15 +01:00
jglad
8588600a2c fix: handle missing file [#715] 2025-02-08 10:52:37 +01:00
kernelkind
0e21611645 cache LayoutJob
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05:00
kernelkind
bc8ed2c642 color mentions in PostView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05:00
kernelkind
a3e975d133 implement TextBuffer -> PostBuffer downcasting
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05:00
kernelkind
b9501ad572 add mention tags to post note
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05:00
kernelkind
c0662798a2 add PostView mentions UI
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05:00
kernelkind
e7ada80876 mentions logic
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05:00
kernelkind
48933c2488 use dev dep pretty assertions
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05:00
kernelkind
c375146658 add SearchResultsView impl
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05:00
kernelkind
c1c4c1cc7a supply inner_rect for PostView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05: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
kernelkind
0aa70239fe remove # char if user inserted it
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-06 16:50:25 -05:00
kernelkind
d916021179 fix file logging
closes: https://github.com/damus-io/notedeck/issues/572

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-06 16:38:54 -05:00
kernelkind
7efb31c145 allow multiple media uploads per selection
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-06 15:55:53 -05:00
Ken Sedgwick
091c638eb1 move RelayDebugView to notedeck crate and restore --relay-debug 2025-02-06 12:25:37 -08:00
Ken Sedgwick
480f98eda4 panic on unknown CLI arguments
Currently silently ignores which is not helpful ...
2025-02-06 12:25:31 -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
Ken Sedgwick
201cfb2db1 add derive Debug to some things 2025-02-06 10:32:50 -08:00
Ken Sedgwick
2ddc53faa5 drive-by clippy fixes 2025-02-06 10:32:49 -08:00
Ken Sedgwick
345324a2f6 drive-by compiler warning fixes 2025-02-06 10:32:49 -08:00
Ken Sedgwick
482313f883 add relay hints to Mention::{Profile,Event} and UnknownIds 2025-02-06 10:08:01 -08:00
Ken Sedgwick
f0588a7f6b drive-by compiler warning fixes 2025-02-06 10:08:00 -08:00
Ken Sedgwick
38da6c9eaf explicitly activate and deactivate account muted list subs
This is the same treatment to muted as applied to relay lists in #678
2025-02-06 10:02:06 -08:00
Ken Sedgwick
9ce4c2891e explicitly activate and deactivate account relay list subs
- ensures only one active at a time
- stops leaking relay list subs
2025-02-06 10:02:05 -08:00
Ken Sedgwick
2fcfed4dd5 improve debug logging, comments, and variable names for clarity 2025-02-06 10:02:04 -08:00
Ken Sedgwick
e8c0b903a8 drive-by compiler warning fixes 2025-02-06 10:02:04 -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
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
William Casarin
70a39ca69c tokens: add PubkeySource and ListKinds token serializer
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00
William Casarin
6b57401e14 tokens: add AccountsRoute token serializer
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00
William Casarin
00ef3082f3 tokens: add a more advanced tokens parser
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00
William Casarin
efa5b7e32f token_parser: simplify AddColumnRoute serialization
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00
William Casarin
4f89d95aef token_serializer: introduce TokenWriter
This simplifies token serialization

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00
William Casarin
61b3a92792 token_parser: unify parsing and serialization
This reduces the number of things we have to update in our token parser
and serializer. For payloads, we we have to handle the payload cases
different, but we now have a structure that can deal with that
efficiently.

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00
William Casarin
005ecd740d Initial token parser combinator
In an attempt to make our deck serializer more localized,
comprehensible, and less error-prone, we introduce a new parser
combinator based around string tokens.

This replaces the Selection-based intermediary types so that we have a
more direct serialization style.
2025-02-04 08:08:08 -08:00
William Casarin
662755550f wip algo timelines
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-04 08:08:08 -08:00