setPosts() runs in the Qt thread, through postToObject(). It copied the whole post array a fourth time and then sorted it there, so for a channel with a few thousand posts the interface was frozen for the duration of both. Move the sort into the loader thread in update_posts(), where the array is already sitting after the service call, and have setPosts() take its argument by rvalue reference so the array is moved in rather than copied. The sort is kept in setPosts() as a safety net: on an already ordered array it only runs comparisons and moves nothing. Combined with the libretroshare side making posts movable, the array is now handed from the data store to the model without a single deep copy of a thumbnail. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .github/workflows | ||
| .reuse | ||
| build_scripts | ||
| data | ||
| jsonapi-generator | ||
| libbitdht@4355ea96b2 | ||
| libretroshare@cafaaa1964 | ||
| LICENSES | ||
| openpgpsdk@40db9d6bfe | ||
| plugins | ||
| retroshare-friendserver | ||
| retroshare-gui | ||
| retroshare-service | ||
| retroshare-webui@a28d77fe9a | ||
| supportlibs | ||
| tests | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .gitmodules | ||
| .travis.yml | ||
| BUILD-cmake.md | ||
| CMakeLists.txt | ||
| COPYING | ||
| README.md | ||
| retroshare.pri | ||
| RetroShare.pro | ||
RetroShare
RetroShare is a decentralized, private, secure, cross-platform, communication toolkit. RetroShare provides file sharing, chat, messages, forums, channels, boards and more.
Get the source
Clone this repository, enter the directory and then get the submodules with the following command
git submodule update --init --remote --force libbitdht/ libretroshare/ openpgpsdk/
Compilation
Short of comprehensive and updated documentation on how to build RetroShare (for the many supported platforms it runs on), scripts and recipes are provided in the aim of creating packages for the supported platforms (and more) in the build_scripts directory of this repository.
Compilation on Windows
Follow this file : WindowsMSys2_InstallGuide
With QtCreator : Windows-QtCreator-InstallGuide
Compilation on MacOSX
Follow this file : MacOS_X_InstallGuide
Compilation on Linux
Follow this file : Linux_InstallGuide
Releases
Latest release here
Other Builds RetroShare Downloads