Status Desktop client made in Nim & QML
https://status.app
89f4fa7440
An explanation why we keep track of `timestamp` and `localTimestamp` here,
introduction of those two actually fixes the following issues:
- https://github.com/status-im/status-desktop/issues/6004
- https://github.com/status-im/status-desktop/issues/7058
We should always refer to `whisperTimestamp` as it is set for a message by the network
in order they are sent (that solves the issue #6004), but another issue #7058 is happening
cause `whisperTimestamp` has one second accuracy (which is a very big timeframe for messages).
That further means that all messsages sent by user A within 1000ms will be received with the
same `whisperTimestamp` value on the side of user B, in that case to differ the order of
those message we're using localy set `timestamp` on the sender side which is received unchanged
on the receiver side.
Now a question why don't we use only locally set `timestamp` may araise... the answer is...
because of issue #6004, cause it can be that users A and B send a message in almost the same
time in that case message sent by user A will be immediatelly added to the message list, while
message sent by user B will arrive like a less then a second later and in that case user A may
see user B message before or after his message and the same for user B, depends on local time
of those 2 users which is set for `timestamp` time in the moment they sent a message.
If we anyhow find a way to have here accutacy higher than 1 second, then we can go on only
with `whisperTimestamp`
|
||
---|---|---|
.github | ||
app | ||
ci | ||
cmake | ||
libs | ||
resources | ||
scripts | ||
spellchecking@f1a88d1147 | ||
src | ||
test | ||
test-scripts | ||
ui | ||
vendor | ||
.clang-format | ||
.clang-tidy | ||
.gitignore | ||
.gitmodules | ||
.npmrc | ||
.yarnrc | ||
AppRun | ||
AppRun-cpp | ||
CMakeLists.txt | ||
I18N.md | ||
Info.dev.plist | ||
Info.plist | ||
LICENSE.md | ||
Makefile | ||
QtWebEngineProcess.plist | ||
README.md | ||
VERSION | ||
build-linux.sh | ||
cacert.pem | ||
conanfile.txt | ||
config.nims | ||
docker-linux-app-image.sh | ||
env.sh | ||
fleets.json | ||
nim-status.desktop | ||
nim.cfg | ||
nim_status_client.nimble | ||
package-lock.json | ||
package.json | ||
screenshot.png | ||
status-dev.icns | ||
status-dev.svg | ||
status-macos-dev.svg | ||
status-macos.ico | ||
status-macos.svg | ||
status.desktop | ||
status.icns | ||
status.ico | ||
status.iss | ||
status.svg | ||
windows-install.txt |
README.md
Status-desktop
Desktop client for the Status Network built with Nim and Qt
Dev Docs: https://hackmd.io/@status-desktop/B1naRjxh_/https%3A%2F%2Fhackmd.io%2F%40status-desktop%2FB1eOaf-nd