Commit Graph

76 Commits

Author SHA1 Message Date
William Casarin
3d4db820b4 i18n: make localization context non-global
- Simplify Localization{Context,Manager} to just Localization
- Fixed a bunch of lifetime issueo
- Removed all Arcs and Locks
- Removed globals
  * widgets now need access to &mut Localization for i18n

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-22 09:49:32 -07:00
Terry Yiu
3f5036bd32 Internationalize user-facing strings and export them for translations
Changelog-Added: Internationalized user-facing strings and exported them for translations
Signed-off-by: Terry Yiu <git@tyiu.xyz>
2025-07-21 12:45:29 -07:00
William Casarin
8a1398face clippy fixes
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-17 13:54:43 -07:00
William Casarin
461665f599 ui: remove show_pointer
This can just be achieved by on_hover_cursor

Didn't realize this.

Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-16 09:17:27 -07:00
kernelkind
397bfce817 add Accounts to NoteContext
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-07-14 21:34:02 -04: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
kernelkind
8e92a97a57 make selected accounts non optional
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-07-02 11:41:17 -04:00
William Casarin
400050f3fb Merge remote-tracking branches 'github/pr/877' and 'github/pr/885'
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
Fernando López Guevara
36667bc024 feat(app_images): add module to manage static app image assets 2025-06-25 09:53:31 -07:00
Fernando López Guevara
c6dbb0e856 fix(content): handle case where notes are not loaded 2025-06-24 09:15:52 -07:00
William Casarin
be9406da7b dave: initial android fixes 2025-06-16 16:11:51 -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
kernelkind
54c0fdb563 don't show zap button if no wallet
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-17 14:29:43 -04:00
kernelkind
7d2112b472 make Widget impl ProfilePic mutably
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:57:54 -04:00
kernelkind
a29277d263 propagate JobsCache
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:55:53 -04:00
kernelkind
e6212e5d17 note: remove unnecessary derive macros from NoteAction
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:54:38 -04: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
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
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
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
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
f496d4b8c4 dave: initial note rendering
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-18 17:03:59 -07:00
William Casarin
d04fc892a7 dave: constrain power for now
we will focus on more specific tools instead
2025-04-17 12:53:31 -07:00
William Casarin
7836bde868 dave: fix input box
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-17 00:16:55 -07:00
William Casarin
fbdc2527ca dave: give up on plaintext formatting
its so heavily trained to use markdown, lets just use that

Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-17 00:16:30 -07:00
William Casarin
b50bc2e988 dave: refactor a bit
pulling tokens isn't really a part of rendering,
so let's pull that out

Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-16 22:41:41 -07:00
William Casarin
4a0e2fa347 dave: tweak prompt
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-16 20:35:39 -07:00
William Casarin
e5c3bb4fe9 dave: fix bugs
fixed some bugs i introduced during the refactor

Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 16:13:40 -07:00
William Casarin
956c557851 dave: only search non-replies
I think this makes the most sense for most queries

Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 16:02:33 -07:00
William Casarin
2ed561579f dave: add a few tool docs
So that readers of this code can actually figure out
what these types actually mean.

Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 12:45:19 -07:00
William Casarin
be47a692f6 dave: remove old file
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 12:38:36 -07:00
William Casarin
d6c065694a dave: organize
move more things into their own modules

Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 12:37:25 -07:00
William Casarin
2a9c5c7848 dave: reorganize ModelConfig
start to clean up the lib.rs a bit

Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:53:52 -07:00
William Casarin
b4d1265283 dave: tweak prompt
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:30:24 -07:00
William Casarin
47e942be28 dave: fix ollama config if enabled
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:30:24 -07:00