William Casarin
e4ca67127e
Merge unknown profile improvements by kernel #955
...
kernelkind (1):
allow body on unknown profile
2025-07-14 14:10:18 -07:00
William Casarin
c402320ad3
ui: fix broken note previews
...
Also made the options more clear
Fixes: https://github.com/damus-io/notedeck/issues/959
Fixes: b6348b1507 ("note/options: simplify flag logic")
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-14 14:05:41 -07:00
William Casarin
44edffc596
android/input: add copy/paste context to post input
...
Fixes: https://github.com/damus-io/notedeck/issues/942
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-11 15:36:56 -07:00
William Casarin
6596e89e29
anim: animate on compose button hide
...
before we were just nuking it
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-11 14:23:50 -07:00
William Casarin
ade6f57fd5
anim: animate show/hide of compose button
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-11 14:21:26 -07:00
William Casarin
e8444f10b3
Revert "Unify sub for contacts in accounts & timeline"
...
Since its causing contact timelines to not load
eg: ./target/release/notedeck --datapath new3 -c contacts
This reverts commit 9940537897 .
2025-07-11 13:49:47 -07:00
William Casarin
8752a49485
android: fix crash on mobile
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-11 13:39:29 -07:00
William Casarin
14dd7402d0
Merge redundant change
2025-07-11 13:16:45 -07:00
William Casarin
96cb5e26ce
Merge follow/unfollow from kernel
...
Jakub Gladysz (1):
ui: add follow button
kernelkind (14):
bump nostrdb
move polling responsibility to `AccountData`
`AccountData`: decouple query from constructor
add constructor for `AccountData`
add `Contacts`
use `Contacts` in `AccountData`
expose `AccountSubs`
Unify sub for contacts in accounts & timeline
move `styled_button_toggleable` to notedeck_ui
construct NoteBuilder from existing note
send kind 3 event
add actions for follow/unfollow
add UI for (un)follow
send contact list event on account creation
2025-07-11 13:06:24 -07:00
William Casarin
df78605051
nostrdb: update for windows and memleak fixes
2025-07-11 12:53:01 -07:00
William Casarin
217c1e5223
columns/decks: add home and notifications for new accounts
...
This is way more user friendly, and needed on mobile
Fixes: https://github.com/damus-io/notedeck/issues/937
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 17:16:30 -07:00
William Casarin
26d027f03e
nav: nav to accounts view for actions that require key
...
Fixes: https://github.com/damus-io/notedeck/issues/936
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 16:17:08 -07:00
William Casarin
605f6f4711
android: hide new post button when navigating
...
Fixes: https://github.com/damus-io/notedeck/issues/898
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 15:45:33 -07:00
William Casarin
4bdfbc6400
onboarding: restore demo deck
...
for some reason it was getting overwritten ?
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 14:54:48 -07:00
William Casarin
b6348b1507
note/options: simplify flag logic
...
simpler, less macro magic
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 14:29:56 -07:00
William Casarin
c5093a7180
columns/add: move home and notifications to top
...
more intuitive
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 13:37:23 -07:00
William Casarin
f39d554c96
rename Contacts to Home
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 13:34:41 -07:00
William Casarin
e0f2e467d2
args: switch to oot_bitset for arg flags
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 13:34:24 -07:00
William Casarin
cf1814f250
android: hide chrome sidebar by default
...
When compiled as android, make sure we hide the chrome sidebar
by default
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 13:33:27 -07:00
William Casarin
6172777b1a
android: remove special load arguments
...
we want to make sure we have the same onboarding path as desktop
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 13:32:52 -07:00
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