As a desktop user, I want to fetch messages so that I can read offline messages.
Type: Bug
Summary: Since Cryptolife offline messages have been broken for several people.
The app says "could not connect to mail server. Tap to reconnect" then "fetching messages... (2 requests left)" but no messages are fetched.
I tried the usual tricks of restarting or changing mail servers but it didn't help.
The app seems to receive messages when online though.
Offline messages downloaded
No offline messages downloaded
Just grab the nightly. No older messages are downloaded.
I did some testing and can reproduce every time with this:
cc @siphiuel @MaxRis @vkjr @churik @PombeirP @cammellos @yenda @adambabik
(sorry for the mass ping but wanted to get visibility and obviously I can't use Status :P )
I tried looking for problems but this log file is gnarly!
Also tried logging out, creating a new account, joining public chats, but still didn't download history.
i saw that and reinstalled status for today's nightly and finally was able to get some messages
Geth.log by request :)
Steps to reproduce with new public chat:
#testone)123)#testone Expected result:
messages are fetched
Actual result:
no messages, constant "Fetching messages"
Reproducible only for desktop.
Status.log
geth.log
Tried to repro on latest android nightly, and mobile works ok. As far as I can see it is desktop only.
yes, so far it feels almost like mobile & desktop are running two different versions of status-go, but investigating
figured out the reason, desktop pulls a version which is generated by github automatically.
That means that it is not pulling the code you uploaded, but the code of status-go at the time you created a release (therefore it might not be the same in mobile, and also we can't really choose which code desktop is bundled with).
@cammellos currently, the URL of status-go sources is obtained there https://github.com/status-im/status-react/blob/develop/modules/react-native-status/desktop/CMakeLists.txt#L41 as
URL https://github.com/status-im/status-go/archive/v${STATUS_GO_VERSION}.zip
where ${STATUS_GO_VERSION} gets the value from file https://github.com/status-im/status-react/blob/develop/STATUS_GO_VERSION and at the moment it's 0.16.4-4-gaf1f6eb5
GitHub
a free (libre) open source, mobile OS for Ethereum - status-im/status-react
GitHub
a free (libre) open source, mobile OS for Ethereum - status-im/status-react
@cammellos great find! We are pulling the release from e.g. https://github.com/status-im/status-go/archive/v0.16.4-4-gaf1f6eb5.zip, and not https://github.com/status-im/status-go/releases/download/v0.16.4-4-gaf1f6eb5/status-go-0.16.4-4-gaf1f6eb5.aar (in case of Android). Why would they be different?
@siphiuel @MaxRis basically to give a concrete example:
We created a release based on a branch on jenkins excluding a commit in develop, as it gives this error on the mailserver. This commit was therefore excluded from the ios/android artifact.
We then created a release on github uploading the artifacts (without that commit), but the archive that desktop uses is created automatically on github based on the state of the develop branch at the moment you create the release, so the commit was included.
For now I have made it so that the code needs to be explicitly uploaded by us https://github.com/status-im/status-react/pull/6566/files , but I think it's time to automate this, so likely I will be working on it next.
GitHub
status: ready
Some time ago I had started https://github.com/status-im/status-go/pull/1208 to harmonize the way we build mobile and desktop (to download prebuilt status-go on both cases), but for some reason that wasn't merged and then I got started on the Windows port effort.
Most helpful comment
@siphiuel @MaxRis basically to give a concrete example:
We created a release based on a branch on jenkins excluding a commit in develop, as it gives this error on the mailserver. This commit was therefore excluded from the ios/android artifact.
We then created a release on github uploading the artifacts (without that commit), but the archive that desktop uses is created automatically on github based on the state of the develop branch at the moment you create the release, so the commit was included.
For now I have made it so that the code needs to be explicitly uploaded by us https://github.com/status-im/status-react/pull/6566/files , but I think it's time to automate this, so likely I will be working on it next.