William Casarin
41053dd5a5
ui/carousel: refactor to use indices
...
This refactors our carousel control a bit, it was getting
messy
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 12:09:30 -07:00
William Casarin
e97574fcdc
Merge remote-tracking branch 'github/pr/916'
2025-07-10 09:16:17 -07:00
William Casarin
298fab6471
ui/narrow: restore padding
...
This is a bit too tight
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 09:12:08 -07:00
William Casarin
22cfaaf64a
Merge remote-tracking branch 'github/pr/928'
2025-07-10 09:10:28 -07:00
William Casarin
e4e8d7fcf3
note/action: add ScrollInfo
...
I might need this... lets add it just in case
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 09:03:39 -07:00
William Casarin
bb0262e09e
android: reapply keyboard changes
...
but gate them so they don't apply on desktop to avoid the
arrow key and backspace issues. This is a massive hack until
I get time to actually implement this properly.
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 08:30:59 -07:00
William Casarin
13021afa58
Revert "feat(note-actionbar): refine icons"
...
icons are too blurry, lets fix that
This reverts commit e1bd1d3e8b .
2025-07-09 11:18:04 -07:00
William Casarin
f25735f89e
debug: add memory debug window
...
enable with:
$ cargo build --release --features memory
and then click the memory widget on the chrome sidepanel
currently doesn't track C allocations... we should fix that
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-08 13:27:37 -07:00
William Casarin
738b5e71da
android: default app to columns
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-08 12:12:03 -07:00
William Casarin
559086bc10
Merge remote-tracking branches 'pr/9{29,30}' into master
2025-07-08 08:41:01 -07:00
William Casarin
eb76cbf671
Revert "android: fix remaining keyboard issues"
...
This reverts commit dbba0e1bb0 .
It breaks desktop
2025-07-01 11:20:23 -07:00
William Casarin
dbba0e1bb0
android: fix remaining keyboard issues
...
Fixes: https://github.com/damus-io/notedeck/issues/896
Fixes: https://github.com/damus-io/notedeck/issues/894
Fixes: https://github.com/damus-io/notedeck/issues/895
Fixes: https://github.com/damus-io/notedeck/issues/893
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-30 14:47:57 -07:00
William Casarin
400050f3fb
Merge remote-tracking branches 'github/pr/877' and 'github/pr/885'
...
CI / Rustfmt + Clippy (push) Has been cancelled
CI / Check (android) (push) Has been cancelled
CI / Test (Linux) (push) Has been cancelled
CI / Test (macOS) (push) Has been cancelled
CI / Test (Windows) (push) Has been cancelled
CI / rpm/deb (aarch64) (push) Has been cancelled
CI / rpm/deb (x86_64) (push) Has been cancelled
CI / macOS dmg (aarch64) (push) Has been cancelled
CI / macOS dmg (x86_64) (push) Has been cancelled
CI / Windows Installer (aarch64) (push) Has been cancelled
CI / Windows Installer (x86_64) (push) Has been cancelled
CI / Upload Artifacts to Server (push) Has been cancelled
Fernando López Guevara (2):
fix(content): handle case where notes are not loaded
feat(app_images): add module to manage static app image assets
2025-06-25 10:30:24 -07:00
William Casarin
5010d3662d
thread: move comment to the correct place
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-25 10:29:33 -07:00
William Casarin
a0ac4b16ad
nostrdb: bump to v0.7.0
...
includes replay fix
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-25 10:29:33 -07:00
William Casarin
48f17f91b8
log: make some routing logs into debug logs
...
CI / Rustfmt + Clippy (push) Has been cancelled
CI / Check (android) (push) Has been cancelled
CI / Test (Linux) (push) Has been cancelled
CI / Test (macOS) (push) Has been cancelled
CI / Test (Windows) (push) Has been cancelled
CI / rpm/deb (aarch64) (push) Has been cancelled
CI / rpm/deb (x86_64) (push) Has been cancelled
CI / macOS dmg (aarch64) (push) Has been cancelled
CI / macOS dmg (x86_64) (push) Has been cancelled
CI / Windows Installer (aarch64) (push) Has been cancelled
CI / Windows Installer (x86_64) (push) Has been cancelled
CI / Upload Artifacts to Server (push) Has been cancelled
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-24 08:31:25 -07:00
William Casarin
ca5ecb3777
Merge multiple hashtags in a column
...
Fernando López Guevara (1):
hashtag-column: allow multiple hashtags
William Casarin (2):
hashtag: improve sanitization function
2025-06-24 08:30:18 -07:00
William Casarin
b67a2ddc31
hashtag: improve sanitization function
...
We don't want punctuation in hashtags
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-24 08:29:37 -07:00
William Casarin
5c31bf16c8
Merge remote-tracking branch 'github/pr/899'
2025-06-23 13:48:21 -07:00
William Casarin
75fd22d8ed
thread: selected thread notes should be... selectable
...
We couldn't select text on thread notes before,
now we can
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-23 13:00:08 -07:00
William Casarin
15b4978d47
deps: switch to damus-io egui-nav
...
thanks kernel!
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-23 11:27:04 -07:00
William Casarin
7ba81d0761
Merge Threads by kernel
...
kernelkind (16):
add `NoteId` hashbrown `Equivalent` impl
unknowns: use unowned noteid instead of owned
tmp: upgrade `egui-nav` to use `ReturnType`
add `ThreadSubs` for managing local & remote subscriptions
add threads impl
add overlay conception to `Router`
add overlay to `RouterAction`
ui: add `hline_with_width`
note: refactor to use action composition & reduce nesting
add pfp bounding box to `NoteResponse`
add unread note indicator option to `NoteView`
thread UI
add preview flag to `NoteAction`
add `NotesOpenResult`
integrate new threads conception
only deserialize first route in each column
2025-06-23 10:52:00 -07:00
William Casarin
cc5a888b89
Merge 'Initial android support'
...
This gets android into a somewhat usable state.
Still news a few follow ups.
William Casarin (9):
nix: add $ANDROID_JAR helper to shell
add input context menu helper
thread: enable selectable text in threads
universe: add full tabs
android: fix build
dave: initial android fixes
android: arboard clipboard support
android: add initial ci
Merge 'Initial android support'
2025-06-17 13:20:06 -07:00
William Casarin
012ff9d53d
android: add initial ci
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-17 13:15:40 -07:00
William Casarin
c8e861812b
android: arboard clipboard support
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-16 16:11:51 -07:00
William Casarin
be9406da7b
dave: initial android fixes
2025-06-16 16:11:51 -07:00
William Casarin
505083998d
android: fix build
...
wip android keyboard fixes
wip 4.0.0 game-activity
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-16 16:11:51 -07:00
William Casarin
7b558f8f58
universe: add full tabs
...
so we can monitor replies as well
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-16 16:11:51 -07:00
William Casarin
5e1e45184b
thread: enable selectable text in threads
...
This avoids some of the nested thread loading,
but we can fix that next
Changelog-Changed: Made text in threads selectable
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-16 16:11:51 -07:00
William Casarin
9033383a29
add input context menu helper
...
We are going to want this in more places
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-16 16:11:15 -07:00
William Casarin
c6045279dd
nix: add $ANDROID_JAR helper to shell
...
So we can easily print JNI signatures via javap
javap -classpath "$ANDROID_JAR" -s android.content.ClipboardManager
This can be used to call java code with JNI
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-16 16:09:03 -07:00
William Casarin
e8d240df42
toolbar: process actions
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-07 10:19:13 -07:00
William Casarin
0ea1a92ea7
chrome: hook up toolbar actions
...
We will implement execution of these actions in the
upcoming commits!
stay tuned
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-07 10:19:13 -07:00
William Casarin
0eec6881fc
Initial tab bar
2025-06-07 10:19:13 -07:00
William Casarin
bcd9c61d46
chrome: extract more non-methods
2025-06-07 10:19:13 -07:00
William Casarin
65928bcdbb
chrome: extract method to function
...
We don't need anything from Chrome in this function, so we can just
extract it to a top-level function
2025-06-07 10:19:13 -07:00
William Casarin
6812a0e6ae
dave: add chrome toggle button
...
We were missing this, which meant we could get stuck in
dave
2025-06-05 15:39:18 -07:00
William Casarin
b139af475e
dave: small cleanup
2025-06-05 14:37:03 -07:00
William Casarin
e87b6f1905
chrome: collapsible side panel
...
This implements the initial logic that makes the side panel collapsible.
Since we don't have a proper hamburger control, we do the same thing we
do on iOS for now.
2025-06-05 12:01:55 -07:00
William Casarin
5cb0911d7e
log: less verbose unknown id logging
2025-06-05 11:59:51 -07:00
William Casarin
b186458fec
nix: emulator
...
This expression was incorrect...
2025-06-05 11:59:51 -07:00
William Casarin
f380c24649
fix note response regression
...
Fixes: 7d916805bc ("note: cleanup wide/standard implementation")
2025-06-03 11:26:18 -07:00
William Casarin
771537a4f6
android: hover post button when narrow
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-03 10:29:38 -07:00
William Casarin
7d916805bc
note: cleanup wide/standard implementation
...
Since this function was getting too big
2025-06-03 10:29:38 -07:00
William Casarin
5ef77efebb
scroll: simple fix
...
Instead of a complicated min scroll distance implementation,
we simply disable drag to scroll on carousel to fix vertical
scrolling on android
2025-06-03 10:29:38 -07:00
William Casarin
81a9ddbebc
Merge remote-tracking branches 'github/pr/87{0,1,2}'
...
Merge a few bug fixes and lint issues
Fernando López Guevara (1):
fix: skip blurring for user's own images
William Casarin (3):
clippy: fix large enum.
kernelkind (1):
bugfix: txn failed
2025-06-02 10:34:45 -07:00
William Casarin and kernelkind
0a675dfff0
clippy: fix large enum.
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-06-01 17:56:18 -04:00
William Casarin
1c3b172e21
clippy: fix large enum.
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-31 16:33:18 -07:00
William Casarin
d9b1de9d2c
Merge remote-tracking branches 'github/pr/869' and 'github/pr/868'
...
Merge some misc changes from Fernando
Fernando López Guevara (2):
feat(column): add tooltip on remove column button
feat(hashtag-column): handle new hashtag on Enter key press
2025-05-31 16:01:02 -07:00
William Casarin
fc51ddb438
Merge remote-tracking branches 'github/pr/864' and 'github/pr/866'
2025-05-31 15:53:36 -07:00
William Casarin
ee85b754dd
Fix text wrapping issues
...
Mentions were getting wrapped in a horizontal, which breaks the outer
horizontal_wrapped in note contents. When this breaks, it seems to be
breaking subsequent wrapping in notes.
Remove the horizontal to the remaining text wrapping issues!
Changelog-Fixed: Fix text wrapping glitches
Fixes: https://github.com/damus-io/notedeck/issues/33
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-20 18:09:15 -07:00
William Casarin
e75eb5ffd5
clippy: quick lint fix
2025-05-19 15:28:58 -07:00
William Casarin
163abe891a
Merge remote-tracking branch 'pr/862'
2025-05-19 15:25:56 -07:00
William Casarin
86d2a9e2e7
clippy: fix lint related to iterator
...
warning: called `Iterator::last` on a `DoubleEndedIterator`; this will
needlessly iterate the entire iterator
--> crates/notedeck/src/urls.rs:262:43
|
262 | if let Some(file_name) = path.last() {
| ^^^^^^ help: try: `next_back()`
|
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-14 09:56:06 -07:00
William Casarin
c469a0ff22
timeline: show media on universe timeline
...
Now that we have blurred images from people you don't
follow, we can enable this again
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-14 09:53:55 -07:00
William Casarin
54308c807e
Merge blurhash support
...
kernelkind (22):
add `trust_media_from_pk2` method
add hashbrown
introduce & use `JobPool`
introduce JobsCache
add blurhash dependency
introduce blur
note: remove unnecessary derive macros from `NoteAction`
propagate `JobsCache`
`ImagePulseTint` -> `PulseAlpha`
images: move fetch to fn
add `TexturesCache`
images: make `MediaCache` hold `MediaCacheType`
images: make promise payload optional to take easily
post: unnest
notedeck_ui: move carousel to `note/media.rs`
note media: only show full screen when loaded
note media: unnest full screen media
pass `NoteAction` by value instead of reference
propagate `Images` to actionbar
add one shot error message
make `Widget` impl `ProfilePic` mutably
implement blurring
2025-05-14 09:27:39 -07:00
William Casarin
b48b1e4813
release: changelog
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-05 13:54:33 -07:00
William Casarin
b072c93964
Release Notedeck Beta v0.4.0
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-03 14:42:32 -07:00
William Casarin
bdd0ef4c5c
ui: fix a bunch of missing hover pointers
...
let's try to keep on top of these
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-01 20:50:56 -07:00
William Casarin
8b7914e395
chrome: fix theme persistence
...
Fixes : #832
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-01 20:27:08 -07:00
William Casarin
a94cbb2dc0
dave: hide media in dave note previews
...
it bugs out sometimes
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-01 20:21:42 -07:00
William Casarin
2539dead1e
dave: nudge avatar when you click
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-01 20:21:30 -07:00
William Casarin
3eb9e30e8f
dave: fix sidebar click
...
Fixes : #837
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-01 19:54:02 -07:00
William Casarin
514e5748b8
dave: add trial mode
...
Fixes : #827
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-01 19:37:45 -07:00
William Casarin
6bbc20471a
dave: include anonymous user identifier in api call
...
- don't include users pubkey
This could be used to associate requests with real users,
rendering the anonymized user_id pointless
TODO: Implement a new tool call that lets dave ask for your pubkey
Fixes : #834
Fixes : #836
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-01 19:33:33 -07:00
William Casarin
093189b019
ui: make post replies selectable
...
I wanted to copy a quote from something I was replying to, I couldn't
now I can
Fixes : #835
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-01 17:28:59 -07:00
William Casarin
dbfc2804f1
chrome: switch from ALPHA to BETA
...
Fixes : #828
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-01 17:23:14 -07:00
William Casarin
5bae19fe00
mention: show username instead of display_name
...
Fixes : #833
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-01 17:23:08 -07:00
William Casarin
10a2459da2
windows: don't show terminal window
...
Looks like this got accidentally commented out in an android build
Signed-off-by: William Casarin <jb55@jb55.com >
2025-05-01 12:03:36 -07:00
William Casarin
a5f4290acf
columns: never truncate notes you're replying to
...
So you can see everything
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-30 11:00:37 -07:00
William Casarin
b83c5f7de5
columns: remove spamming info logs about writing to cache
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-30 11:00:19 -07:00
William Casarin
1931eb6558
dave: fix image in readme
2025-04-30 08:49:22 -07:00
William Casarin
1668b3701c
dave: add screenshot to readme
2025-04-30 08:44:42 -07:00
William Casarin
3dccdf2bad
chrome: use actual columns noteaction executor
...
there is code duplication here and it is causing bugs
2025-04-22 19:07:25 -07:00
William Casarin
e8a1233174
dave: bubble note actions to chrome
...
This allows chrome to pass note actions to other apps
2025-04-22 18:42:12 -07:00
William Casarin
4cedea9fdb
dave: more flexible env config
...
With this I was able to get openrouter working:
DAVE_API_KEY=$OPENROUTER_API_KEY
DAVE_ENDPOINT=https://openrouter.ai/api/v1
DAVE_MODEL="google/gemini-2.0-flash-001"
RUST_LOG=async_openai=debug,notedeck_dave=debug
./target/release/notedeck
2025-04-22 16:46:38 -07:00
William Casarin
5c0874ab85
dave: give present notes a proper tool response
...
so the ai know we actually did something
2025-04-22 16:20:26 -07:00
William Casarin
56f5151739
dave: return tool errors back to the ai
...
So that it can correct itself
2025-04-22 16:05:54 -07:00
William Casarin
9692b6b9fe
dave: add query rendering, fix author queries
2025-04-22 10:50:58 -07:00
William Casarin
5c8fba220c
ui: add ProfilePic::from_profile_or_default
...
This is yet another helper, I really need to clean this
ui widget up in terms of its possible constructors...
2025-04-22 10:50:58 -07:00
William Casarin
c4084a1fb5
ui: add note truncation
...
Truncate notes by default. We still need a show more button though
2025-04-22 10:50:58 -07:00
William Casarin
e4658df847
name: display_name before name in NostrName
...
This is technically more currect. name is more of a username for
tagging.
2025-04-22 10:47:14 -07: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
88aa78dc03
dave: ensure system prompt is included when reset
2025-04-21 17:27:38 -07:00
William Casarin
d4681801e8
dave: add new chat button
2025-04-21 17:10:03 -07:00
William Casarin
9ec5f1efa2
docs: improve top-level docs
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-21 13:36:36 -07:00
William Casarin
405b62c15a
docs: add notedeck_chrome docs
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-21 13:31:47 -07:00
William Casarin
f7e47dedee
docs: add notedeck_columns readme
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-21 13:26:02 -07:00
William Casarin
5f6a69b4b3
docs: add notedeck docs
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-21 13:21:45 -07:00
William Casarin
82c0bc0718
docs: add tokenator docs
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-21 13:16:18 -07:00
William Casarin
310a835b27
docs: remove test hallucination
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-21 13:12:29 -07:00
William Casarin
d617b688f1
docs: add some ui-related guides
...
generated using code2prompt + claude 3.7 sonnet
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-21 13:10:20 -07:00
William Casarin
0d51e25ab0
dave: improve docs with ai
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-21 12:48:33 -07:00
William Casarin
6601747eb4
dave: add readme
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-21 12:26:50 -07:00
William Casarin
2fdb36475a
dave: add a few docs
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-21 12:11:21 -07:00
William Casarin
04a11fd45d
dave: cleanly separate ui from logic
...
This is a good demo of how easy it is to build a notedeck app,
so let's detangle the ui from logic to showcase this
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-21 12:05:27 -07:00
William Casarin
5811a5f4e6
dave: improve multi-note display
2025-04-20 09:05:02 -07:00
William Casarin
a33aad1f62
note: fix from_hex crash on bad note ids
2025-04-19 19:34:12 -07:00
William Casarin
f496d4b8c4
dave: initial note rendering
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-04-18 17:03:59 -07:00
William Casarin
43310b271e
ci: bump ubuntu runner
...
Since our current runner was deprecated
Link: https://github.com/actions/runner-images/issues/11101
2025-04-17 14:13:55 -07:00