Improve TODO.md & add section about Qt future

This commit is contained in:
miruka 2019-12-12 11:48:16 -04:00
parent 82e4dff2ab
commit 5dc228f197

97
TODO.md
View File

@ -1,7 +1,10 @@
# TODO
- invite keybind & context menu
- better cancel for all boxes
- Media
## Media
- Handle set avatar upload errors
- Support encrypted m.file
- Confirmation box after picking file to upload
@ -21,7 +24,8 @@
- EventFile & Downloading (right click on media > save as...)
- Prevent using upload keybinds in rooms with no perms
- Refactoring
## Refactoring
- Use a singleton for utils.js
- Use HBox for Profile
- Get rid of all `currentSpacing` stuff
@ -31,7 +35,8 @@
- Room Sidepane save/load size & keybinds
- Fixes
## Bug fixes
- Pausing uploads doesn't work well with matrix.org
- Quickly posting with another account leads to sync stop
- CPU usage
@ -55,7 +60,8 @@
- Terrible performance using `QT_QPA_PLATFORM=wayland-egl`, must use `xcb`
- Quote links color in room subtitles (e.g. "> http://foo.orgA)" )
- UI
## Interface
- Scrollable popup
- HDrawer snapping
- Make theme error/etc text colors more like name colors
@ -124,19 +130,8 @@
- Custom file picker for Linux (...)
- Major features
- E2E
- Device verification
- Edit/delete own devices
- Request room keys from own other devices
- Auto-trust accounts within the same client
- Provide help when undecryptable messages occur, including:
- Trigger `nio.AsyncClient.request_room_key`
- Option to export-logout-login-import to fix one-time key problems
- Read receipts
- Status message and presence
## Backend
- Client improvements
- Refetch profile after manual profile change, don't wait for a room event
- Prevent starting multiple client instances, causes problems with E2E DB
@ -158,26 +153,82 @@
- Animate RoomEventDelegate DayBreak apparition
- Live-reloading accounts.json
- nio
- E2E
- Device verification
- Edit/delete own devices
- Request room keys from own other devices
- Auto-trust accounts within the same client
- Provide help when undecryptable messages occur, including:
- Trigger `nio.AsyncClient.request_room_key`
- Option to export-logout-login-import to fix one-time key problems
- Read receipts
- Status message and presence
## Nio contributions
- Dedicated error for invalid password on key import
- Running blocking DB function calls in executor
- `AsyncClient.share_group_session`: send device batches concurrently
- RoomMessageMedia and RoomAvatarEvent info attributes
- `m.room.aliases` events
- MatrixRoom invited members list
- Verify room has correct name when creating direct chat and peer hasn't
accepted the invite yet
- Left room events after client reboot
- `org.matrix.room.preview_urls` events
- Support "Empty room (was ...)" after peer left
- Previewing room without joining
- Get content repo config API
- Add the `resume()` method
- Add the `resume()` account "login" method
- See if we can turn all the Error classes into actual exceptions
- Distribution
## Distribution
- Include python dependencies in binary with rcc?
- README.md
- Improve the README.md
## Notable changes for future Qt version upgrade
### [Qt 5.13](https://wiki.qt.io/New_Features_in_Qt_5.13)
- Added `SplitView`
- Added `cache` property to icon
### [Qt 5.14](https://wiki.qt.io/New_Features_in_Qt_5.14)
- Applications can now opt-in to use non-integer scale factors.
Use `QGuiApplication::highDpiScaleFactorRoundingPolicy`.
- Added `qmlRegisterSingletonInstance` function.
This allows to expose a QObject as a singleton to QML, without having to
create a factory function as required by `qmlRegisterSingletonType`.
It is meant as a type safe replacement of `setContextProperty`.
- Added `qmlRegisterAnonymousType` as a replacement for `qmlRegisterType`.
It allows to specify the URI and major version for better tooling support.
- qmllint gained an experimental -U option. If run with it, it warns about
about accesses to unqualified identifiers
- `Text` and `TextEdit` now support Markdown format
(CommonMark and GitHub dialects) as an alternative to HTML.
Includes the GitHub checklist extension, such that you can click to toggle
checkboxes in a `TextEdit`.
- `TextEdit` uses an I-beam cursor by default, and a pointing-hand cursor when
hovering a checkbox or a link
- Added `WheelHandler`, an Event Handler for the mouse wheel, and optionally
for emulated mouse wheel events coming from a trackpad.
- Added `BoundaryRule` in Qt.labs.animation: a `PropertyValueInterceptor` that
restricts the range of values a numeric property can have, applies
"resistance" when the value is overshooting, and provides the ability to
animate it back within range. It's particularly useful in combination with
`WheelHandler`, to provide similar physics as Flickable has.
- `Image` and `BorderImage` now have the same `currentFrame` and `frameCount`
properties that `AnimatedImage` has; this allows choosing an individual icon
from an .ICO file that contains multiple icons, for example.
In the future it's intended to support other multi-page formats such as
PDF, TIFF and WEBP.