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>
This switches to the profiling crate for compatible
profiling between rust libraries.
To enable:
$ cargo build --release --features puffin
Feel free to experiment with other profiling backends
as well! Would be great to get tracy working.
- Upgrade `nostrdb` to v0.6.1 with relay metadata support
- Switch to `nostr::RelayUrl` for typed relay URLs
- Use `process_event_with()` to pass relay info during ingestion
- Update `Relay`, `RelayPool`, and unknown ID logic accordingly
This enables richer indexing with relay provenance in events.
Signed-off-by: William Casarin <jb55@jb55.com>
expose a new virtual_keyboard_height function under notedeck::platform::android
which gets the current height of the virtual keyboard. We can use this
to tranlate the view out of the way
Signed-off-by: William Casarin <jb55@jb55.com>