Terry Yiu (5):
Export strings for translation
Add human-readable names to locales in settings
Internationalize ShowNoteClientOptions labels
Import translations
Add Portuguese (Brazil) language and translations
Since it breaks the reply line rendering
Fixes: 0f00dcf7a7 ("fix(columns): render wide notes on narrow screen")
Signed-off-by: William Casarin <jb55@jb55.com>
- 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>
- 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>
kernelkind (9):
appease clippy
use `NwcError` instead of nwc::Error
make `UserAccount` cloneable
allow removal of Damoose account
expose `AccountCache::falback`
move select account logic to own method
bugfix: properly sub to new selected acc after removal of selected
bugfix: unsubscribe from timelines on deck deletion
bugfix: unsubscribe all decks when log out account
```
error: large size difference between variants
--> crates/notedeck_columns/src/column.rs:249:1
|
249 | / pub enum IntermediaryRoute {
250 | | Timeline(Timeline),
| | ------------------ the largest variant contains at least 280 bytes
251 | | Route(Route),
| | ------------ the second-largest variant contains at least 72 bytes
252 | | }
| |_^ the entire enum is at least 280 bytes
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant
= note: `-D clippy::large-enum-variant` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::large_enum_variant)]`
help: consider boxing the large fields to reduce the total size of the enum
|
250 - Timeline(Timeline),
250 + Timeline(Box<Timeline>),
|
error: could not compile `notedeck_columns` (lib) due to 1 previous error
```
Signed-off-by: kernelkind <kernelkind@gmail.com>
`ndb::poll_for_notes` appears to give notes as they arrive. We
need to make sure we only use the most recent for contacts
Signed-off-by: kernelkind <kernelkind@gmail.com>
```
error: large size difference between variants
--> crates/notedeck_columns/src/column.rs:249:1
|
249 | / pub enum IntermediaryRoute {
250 | | Timeline(Timeline),
| | ------------------ the largest variant contains at least 280 bytes
251 | | Route(Route),
| | ------------ the second-largest variant contains at least 72 bytes
252 | | }
| |_^ the entire enum is at least 280 bytes
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant
= note: `-D clippy::large-enum-variant` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::large_enum_variant)]`
help: consider boxing the large fields to reduce the total size of the enum
|
250 - Timeline(Timeline),
250 + Timeline(Box<Timeline>),
|
error: could not compile `notedeck_columns` (lib) due to 1 previous error
```
Signed-off-by: kernelkind <kernelkind@gmail.com>