moment/TODO.md
miruka 62ec4a9ae8 Caught up to the old backend
Lines before (PyQt):

Language     files   blank   comment   code
Python       21      787     114       2076
QML          49      393     14        1689
JavaScript   2       59      3         177
SUM:         72      1239    131       3942

Lines now (pyotherside, asyncio):

Language     files   blank   comment   code
QML          59      516     159       1962
Python       11      306     53        739
JavaScript   5       64      24        211
C++          1       6       2         18
SUM:         76      892     238       2930
2019-07-08 13:32:53 -04:00

79 lines
2.7 KiB
Markdown

- Refactoring
- Don't bake in size properties for components
- Bug fixes
- Past events loading (limit 100) freezes the GUI - need to move upsert func
to a WorkerScript
- `MessageDelegate.qml:63: TypeError: 'reloadPreviousItem' not a function`
- Horrible performance for big rooms
- UI
- "Rejoin" LeftBanner button if room is public
- Daybreak color
- Html links color
- [debug mode](https://docs.python.org/3/library/asyncio-dev.html)
- `pyotherside.atexit()`
- Way to put sidepane back to auto-sizing (snap)
- Better look for arrows when sidepane collapsed
- Don't put own messages to the right past certain width
- Invite to room
- Accounts delegates background
- SidePane delegates hover effect
- Server selection
- Register/Forgot? for SignIn dialog
- Scaling
- See [Text.fontSizeMode](https://doc.qt.io/qt-5/qml-qtquick-text.html#fontSizeMode-prop)
- Add room
- Leave room
- Forget room warning popup
- Prevent using the SendBox if no permission (power levels)
- Spinner when loading past room events, images or clicking buttons
- Better theming/styling system
- See about <https://doc.qt.io/qt-5/qtquickcontrols2-configuration.html>
- Settings page
- Multiaccount aliases
- Message/text selection
- Major features
- E2E
- Device verification
- Edit/delete own devices
- Request room keys from own other devices
- Auto-trust accounts within the same client
- Import/export keys
- Uploads
- QQuickImageProvider
- Read receipts
- Status message and presence
- Links preview
- Client improvements
- Filtering rooms: search more than display names?
- Initial sync filter and lazy load, see weechat-matrix `_handle_login()`
- See also `handle_response()`'s `keys_query` request
- Direct chats category
- On sync, check messages API, if a limited sync timeline was received
- Markdown: don't turn #things (no space) and `thing\n---` into title,
disable `__` syntax for bold/italic
- Push instead of replacing in stack view (remove getMemberFilter when done)
- `<pre>` scrollbar on overflow
- When inviting someone to direct chat, room is "Empty room" until accepted,
it should be the peer's display name instead.
- See `Qt.callLater()` potential usages
- Animate RoomEventDelegate DayBreak apparition
- Room subtitle: show things like "*Image*" instead of blank, etc
- Missing nio support
- MatrixRoom invited members list
- Invite events are missing their timestamps (needed for sorting)
- Left room events after client reboot
- `org.matrix.room.preview_urls` event
- `m.room.aliases` event
- Support "Empty room (was ...)" after peer left
- Previewing room without joining
- Distribution
- List dependencies
- README.md