1. On devices less than xhdpi request a 1x image from MapTiler (such devices are generally old, slower and with little memory so avoiding to get the 2x image only to have to shrink it later could help).
2. Coerce too big width/height combos within the API limits keeping the aspect ratio (this will allow requests on big horizontal displays to succeed).
3. Don't crash when given weird width/height combos (i.e. zero or negative).
4. Introduce interfaces to hide this whole logic and make it easier for forks to implement their own.
Related to:
- https://github.com/vector-im/element-meta/issues/1678
In an effort to make it easier for forks to (a) use their own
API keys (b) change map styles or maybe even providers, move
the MapTiler key out of the source code and pass it in via
env var or property.
Also refactor the utility classes slightly to keep all the URL
related functions together, to reduce the chance of collisions
when maintaining such forks.
Search for users to start a new DM.
Hooks up the create room UI to the matrix client to get
search results. Searches are debounced for 500ms and
only executed when 3 or more characters are entered.
Wrap the result state so we can distinguish between
"no results because we haven't searched yet" and
"no results because the API returned nothing", and
add a "No results found" message in the UI for the
latter case.
Closes#95
Adds a CTA on the room list to view invites if there are any.
The invite list presents each invite with accept/decline buttons
and (for room invites) the sender details.
Fixes#102
The rustsdk library wasn't included in the gradle build because
it still used a groovy build file (and settings.gradle includes
projects based on `build.gradle.kts` existing).
Also reword the onboarding docs slightly to clarify the deps
that need changing