- Moved media related logic into notedeck instead of the ui crate,
since they pertain to Images/ImageCache based systems
- Made RenderableMedia owned to make it less of a nightmware
to work with and the perf should be negligible
- Added a ImageMetadata cache to Images. This is referenced
whenever we encounter an image so we don't have to
redo the work all of the time
- Relpaced our ad-hoc, hand(vibe?)-coded panning and zoom logic
with the Scene widget, which is explicitly designed for
this use case
- Extracted and detangle fullscreen media rendering from inside of note
rendering. We instead let the application decide what action they
want to perform when note media is clicked on.
- We add an on_view_media action to MediaAction for the application to
handle. The Columns app uses this toggle a FullscreenMedia app
option bits whenever we get a MediaAction::ViewMedis(urls).
Signed-off-by: William Casarin <jb55@jb55.com>
Whats new
=========
- Swipe nav on full screen media
- Made action buttons bigger
- Fix zap button not appearing
- Allow removal of Damoose account
- Profile is now clickable from side bar
- New settings view:
* Resize zoom level
* Clear cache
* Change locale
- Localization support
* German
* Spanish
* French
* Chinese
* Thai
Log
---
Fernando López Guevara (3):
feat(full-screen-media): add swipe navigation
feat(settings): add settings view
fix(columns): prevent crash when switching to account with no columns
Terry Yiu (9):
Add Fluent-based localization manager and add script to export source strings for translations
Add French, German, Simplified Chinese, and Traditional Chinese translations
Add Spanish (Latin America and Spain) translations
Add Thai translations
Add localization documentation to notedeck DEVELOPER.md
Clean up time_ago_since, add tests, and internationalize strings
Fix export_source_strings.py to adjust for tr! and tr_plural! macro signature changes
Internationalize user-facing strings and export them for translations
Update Chinese, French, and German translations
William Casarin (15):
args: add --locale option
debug: add startup query debug log
fix missing zap button
fix one missing home string
gitignore: remove cache
i18n: always have en-XA available
i18n: disable bidi for tests
i18n: disable broken tests for now
i18n: make localization context non-global
media/trust: always show if its yourself
ripgrep: add ignore file for ftl files
settings: fix route to relay
ui/note: make buttons larger
ui/note: small refactor to use returns instead of break
wallet: remove unused flag in note context
kernelkind (14):
add ChromePanelAction::Profile & use for pfp
add new Accounts button to chrome sidebar
allow removal of Damoose account
appease clippy
bugfix: properly sub to new selected acc after removal of selected
bugfix: unsubscribe all decks when log out account
bugfix: unsubscribe from timelines on deck deletion
expose `AccountCache::falback`
fix: sometimes most recent contacts list wasn't used
make `UserAccount` cloneable
move select account logic to own method
use `NwcError` instead of nwc::Error
use saturating sub
name added removed commits
kernelkind <kernelkind@gmail.com> +328 -50 14
Fernando López Guevara <fernando.lguevara@gmail.com> +802 -36 3
William Casarin <jb55@jb55.com> +1603 -1297 15
Terry Yiu <git@tyiu.xyz> +7547 -1024 9
Signed-off-by: William Casarin <jb55@jb55.com>
- 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>
Changelog-Added: Added Fluent-based localization manager and added script to export source strings for translations
Signed-off-by: Terry Yiu <git@tyiu.xyz>
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
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>
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>
- 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: #834Fixes: #836
Signed-off-by: William Casarin <jb55@jb55.com>
We want to render notes in other apps like dave, so lets move
our note rendering to notedeck_ui. We rework NoteAction so it doesn't
have anything specific to notedeck_columns
Signed-off-by: William Casarin <jb55@jb55.com>