Legend: E: easy. Just GUI stuff, no algorithmics involved. That does not mean it's easy to come up with. M: medium, either because it's a big task, or because it needs to understand a lot of code. H: hard. Needs digging deep into libretroshare, possibly involving some crypto. [ ] pending [/] half-done, someone's on it [-] cancelled [X] done PS: no tabs in this file,thx ;-) ----------------------------------------- TODO list ---------------------------------------------- GUI E [ ] Implement creation of a default (signed) gxs id in startup wizard. Needs to show to the user a proper separation between nodes (network layer) and GXS ids (service layer). E [ ] fix posted GUI. Needs to be more handy and more appealing. E [ ] add RS links for GXS identities, so that they can be transferred easily between nodes in forums, etc E [ ] enable people dialog E [ ] fix RSButtonOnText::eventFilter, and fix all places where RSButtonOnText gets deleted E [ ] find all places where the deprecated(in Qt5) Q_WS_WIN and other Q_WS* macros are used, and replace with something else E [ ] add tooltips in in permission matrix when hovering over the top most button/service name explain what the service does and the dependencies E [ ] Make RS fully compatible with High DPI screens. M [ ] improve comments in channels. Comments should be more available, more visible, and easier to handle. M [ ] Merge the various help systems. there's 3 of them now. Lots of duplicate code, etc. M [ ] New and consistent icon set (Purplehaze420 said he would provide a consistent set of icons. Is that still alive?) M [ ] add in options->Network a way to select which network interface is used to talk (choice between "auto" or selected from a list) M [ ] add a RS link for encrypted messages (encrypt for multiple GXS ids at once). Messages will appear as a link when encrypted and be automatically decrypted when a suitable GXS id is available for it. Could be a way to securely post something in a public place. File transfer (all 3 tasks are related) H [ ] implement a new file list management, with new info such as access time,total upload, popularity, etc H [ ] implement a new file list sharing service based on auto-sync system M [ ] get rid of the old cache system (remove CacheStrapper, CacheSource,etc) DHT H [ ] improve DHT lookups to find masquerading peers using fake peers. First experiments (by cyril) do not prove very efficient. GXS M [/] create a tunnel service from distant chat code to make it (1) more generic (2) resistant to packet loss. M [ ] optimise GXS sync BW. For the moment too much is sent between nodes. H [/] add the ability to use anonymous identities into circles. Needs new distribution model using items encrypted for multiple GXS keys. H [ ] use different and incompatible classes for public and private keys in GxsSecurity VOIP H [ ] use proper video encoding. What we have now is decent for video, but sound should be prioritized. Experiments with QtAV seem to work nicely. Finish and integrate! Messages H [ ] make the mail system re-send failed emails notified by the global router. This is hard because it needs a proper management of duplicate messages Libretroshare E [ ] make sure at least one location is kept when removing old locations as it avoids lots of connection problems. M [ ] improve serialisation system. Lots of serialisation tasks (header, verifications, serialiser=>template, can be factored) M [ ] separate chat stuff from rsmsgs.h into rschat.h M [ ] crash at shutdown due to memory management already cleared while new objects keep being requested. #0 0x0000000000da52eb in RsMemoryManagement:¿mallObject:¿mallObject() () #1 0x0000000000da3694 in RsItem::RsItem(unsigned int) () #2 0x0000000000dcb365 in RsRawItem::RsRawItem (this=0x0, t=33559555, size=38) at ./serialiser/rsserial.h #3 0x0000000000fc1643 in RsServiceSerialiser::deserialise(void*, unsigned int*) () #4 0x0000000000da4451 in RsSerialiser::deserialise(void*, unsigned int*) () #5 0x0000000000fb5b4b in pqistreamer::handleincoming_locked() () #6 0x0000000000fb4b3e in pqistreamer::tick_recv(unsigned int) () #7 0x0000000000fb744a in pqithreadstreamer::data_tick() () #8 0x0000000000e19b27 in RsTickingThread::runloop (this=0x7fffb004e7e8) at util/rsthreads.cc:196 #9 0x0000000000e19748 in RsThread::rsthread_init (p=0x7fffb004e7e8) at util/rsthreads.cc:63 #10 0x00007ffff4006f6b in start_thread () from /lib64/libpthread.so.0 #11 0x00007ffff351c7ed in clone () from /lib64/libc.so.6 Channels E [ ] allow to set a download directory per channel Posted E [ ] Show an info page for unsubscribed posted threads (same as forums) E [ ] Make the GUI of Posted more sexy: more compact items, remove unecessary text, use consistent icons,... Forums E [ ] do we keep "Getting Started" ? the look needs to be improved. Any help doing this is welcome! E [ ] some widgets in the GUI do not follow the system style => GUI looks bad on these systems Bugs E [ ] find the bug that shows some peers online in Network although they are not. M [ ] Selecting different options in messages composer -> contact list then come back, shows disappearing / re-appearing people. What causes this??? Settings E [ ] add default sounds for Friend go online, New Chat Message, Message arrived, Download complete M [ ] make sure sound is working for users on linux. We also need a "test sound" button in config->sound. Packaging E [ ] Sound files should be part of the install package at least on ubuntu (put them in /usr/share) List of pending non backward compatible changes =============================================== * RsGxsGrpMetaData::deserialis should use a proper TLV_STR_TYPE_NAME instead of 0 for mGroupName and mMsgName, in rsgxsdata.cc * p3IdService::service_CreateGroup() should convert the mPgpSign member to radix64!! For now it is hard-coded in binary in a string.