forked from awslabs/pidgin-chime
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
81 lines (54 loc) · 2.72 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
• CHAT ROOMS / IM
The chat functionality is fairly complete, but some parts are
exposed rather clumsily or not at all due to the limitations of the
Pidgin/libpurple APIs. The good news is that when we publish this
plugin as open source, we can improve those APIs to expose our
functionality in a saner way. Things we don't support yet for this
reason — but which we *could* expose somehow in the meantime if
there is demand for it — include:
• Removing chat room members.
• Deleting / administration of / leaving chat rooms.
• Notification settings for IM/chat (always/mention/never).
• Displaying full name of users who are not "buddies".
• List of chat rooms with unread message counts, especially in the
buddy list.
• Creating new group chats (not rooms).
Other TODO items which are less constrained by the Pidgin APIs:
• Automatically populate buddy list with chat rooms, as we do for
contacts.
• Markdown support: this works for incoming but you have to
explicitly type "/md ... " in your outbound messages to send it.
This is the same as the web client but we should do better and
convert from HTML generated by Pidgin's UI editor/formatter.
• FILE TRANSFER
• We support receiving photo attachments, but complete support for
sending/receiving arbitrary attachments is being worked on in a
Github PR.
• MEETINGS
Basic meeting handling is functional — we can schedule meetings and
join them, and the participant list is displayed.
• Audio
This is now basically working, but needs cleanup. In particular
the transport code needs to be properly implemented so that it
can handle reconnects, and use DTLS in preference to the TCP
websocket.
• Screen share
Implementing screen share RX and representing it as an incoming
video stream in Pidgin should be relatively simple. Outbound also
shouldn't be so hard, based on libshadow and the code in the Lync
plugin.
• Video
Video is mostly RTP-based, so should be a lot easier to throw
together than audio was.
• DIRECT MEDIA CALLS
The Chime app gives you a way to make audio/video calls directly to
individuals. We can currently receive those calls, since they
basically show up as meetings. We need to work out the protocol
API which set up such a 1:1 call, and implement them so that you
can make an audio/video call directly to an IM contact.
• PRESENCE / AVAILABILITY
Investigate and properly implement the device availability workflow,
use the 'Automatic' status instead of 'Available', and ensure we
have coverage of the other states that a peer can be in.
• PIDGIN 3.x
Port to Pidgin 3.x