23 Commits

Author SHA1 Message Date
William Casarin
3aa4d00053 clippy: fix lint errors
Signed-off-by: William Casarin <jb55@jb55.com>
2025-08-19 09:45:36 -07:00
William Casarin
af2c556700 post: set client tag to Damus Android on android
Signed-off-by: William Casarin <jb55@jb55.com>
2025-08-03 16:48:34 -07:00
kernelkind
b04f50a9f6 insert space after mention selection
closes: https://github.com/damus-io/notedeck/issues/985

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-07-30 18:11:27 -04:00
kernelkind
173972f920 mentions: don't lose focus after select mention
Closes: https://github.com/damus-io/notedeck/issues/728

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-07-30 17:45:09 -04:00
William Casarin
ba4198eeec enostr: rename to_bech to npub
a bit more clear as to what this is
2025-04-22 10:46:51 -07:00
William Casarin
9c9b4199f5 ui crate and chrome sidebar
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:29:01 -07:00
William Casarin
50cf75b8bc lint: fix lint issue
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 12:36:39 -08:00
kernelkind
83caa9f814 exit mention on double space
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-03-02 15:05:48 -05:00
kernelkind
ea4217d4c8 only show mention hints if prev char is whitespace or at first char
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-03-02 15:05:44 -05:00
kernelkind
615e27c1de fix mention crash
closes: https://github.com/damus-io/notedeck/issues/747

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-25 17:49:19 -05: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
7abf1c9c15 ui: user can upload images
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-01-24 15:43:48 -05:00
Daniel Saxton
bc7a3c8927 Handle punctuation better 2024-12-24 19:14:46 -06:00
Daniel Saxton
7916961bf4 Fix emoji hashtags 2024-12-18 19:07:31 -06:00
Daniel Saxton
659ce458e0 Add test and format 2024-12-18 18:53:39 -06:00
Daniel Saxton
f6e0ec7f79 Use HashSet, lowercase, and add emoji tests 2024-12-18 15:02:22 -06:00
Daniel Saxton
7b21d3895d Add t tags for hashtags 2024-12-18 10:46:43 -06:00
William Casarin
74c5f0c748 split notedeck into crates
This splits notedeck into crates, separating the browser chrome and
individual apps:

* notedeck: binary file, browser chrome
* notedeck_columns: our columns app
* enostr: same as before

We still need to do more work to cleanly separate the chrome apis
from the app apis. Soon I will create notedeck-notebook to see what
makes sense to be shared between the apps.

Some obvious ones that come to mind:

1. ImageCache

We will likely want to move this to the notedeck crate, as most apps
will want some kind of image cache. In web browsers, web pages do not
need to worry about this, so we will likely have to do something similar

2. Ndb

Since NdbRef is threadsafe and Ndb is an Arc<NdbRef>, it can be safely
copied to each app. This will simplify things. In the future we might
want to create an abstraction over this? Maybe each app shouldn't have
access to the same database... we assume the data in DBs are all public
anyways, but if we have unwrapped giftwraps that could be a problem.

3. RelayPool / Subscription Manager

The browser should probably maintain these. Then apps can use ken's
high level subscription manager api and not have to worry about
connection pool details

4. Accounts

Accounts and key management should be handled by the chrome. Apps should
only have a simple signer interface.

That's all for now, just something to think about!

Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-11 11:24:29 -08:00