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

2.7 KiB

  • 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

    • 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

    • 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

    • 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