Closed chadyj closed 5 years ago
Conversation about scope from Slack:
rachel / Dense Immaterial Mantis [17:57]
- ENS entry point from the profile screen, with updated URL. Assuming the release will happen on the 22nd, we should have the DApp in shape by then.
- Extensions work from @jeluard
- HTTP server fix from @andrey - https://github.com/status-im/status-react/issues/6228
- Sidechain/RPC connection from @goranjovic - https://github.com/status-im/status-react/issues/6250
Here’s what would be nice, if we can address in the limited time that we have:
- Ropsten support for Gitcoin trophies—Gitcoin team said they’d deploy to testnet on Friday 12/10
- Addition of a network list to the HTTP server (no issue yet)
We will not change the URL for Bounties Network to prague.bounties.network, but we can do a quick test of the DApp. Bounties Network ran smoothly at ETHBerlin so let’s hope for the best.
Andy:
- Registration DApp: https://github.com/status-im/hackathon-registration-dapp (will be ready to test this week)
- Sidechain with POA/DAIChain integrated into RPC connections (cc @goranjovic @adamb for how theire experiments are going there)
- prague.bounties.network tested (Simona will provide stuff to test against by the 12th)
- Gitcoin kudos integration (Julien, Rachel and I are tracking that, will hopefully have code to test against by the 12th).
- Extensions and JS API working well in Status (@jeluard and @rachel / Dense Immaterial Mantis to discuss that)
- Might need something specific for @divan's work on Whisper visualisation w/ Alethio, but doubt it.
@andytudhope @rachelhamlin Where are we on the move items? If there are issues can you please add the release
tag or create issues?
The release was supposed to be cut tomorrow so please indicate which ones are must-haves and which ones are optional.
cc @divan @jeluard @goranjovic @adambabik mentioned above ^
0.9.30 releases updated here in the release notes doc.
Do we have a nightly or a build which has that sidechain configured? I checked the RPC endpoints for some popular methods and they were fine but I don't have a full suite to test everything.
ENS entry point from the profile screen, with updated URL. Assuming the release will happen on the 22nd, we should have the DApp in shape by then.
In the nightly & tested.
HTTP server fix from @Andrey - #6228
This is small. Team is prioritizing extensions work, but this will actually be @alwx and he's planning to take a look later today.
Extensions work from @jeluard
Will tag relevant issues; Nastya is testing.
Sidechain/RPC connection from @goranjovic - #6250
I'm not sure about this.
Ropsten support for Gitcoin trophies—Gitcoin team said they’d deploy to testnet on Friday 12/10
There are some issues with the display of these tokens. If we can't get a PR in today, probably will have to drop it.
Addition of a network list to the HTTP server (no issue yet)
Not required.
Do we have a nightly or a build which has that sidechain configured? I checked the RPC endpoints for some popular methods and they were fine but I don't have a full suite to test everything.
I don't believe so. @goranjovic?
Update from release sync:
The team is aiming to cut the release end of day Tuesday Oct 16. Please try to get your PR's merged before then.
Also thanks in advanced to the team for getting this issues done quickly, reviewing quickly, and testing quickly. Cheers!
Ping @j-zerah @kimjf for release notes
We have a PR with the heavy lifting needed for the sidechain change (#6260). With it merged, I can post the PR that actually adds those sidechains.
Regarding mailservers:
Previously the app was blindly firing requests for all topics. It was using some heuristics to guesstimate when the mailserver was done sending the requests based on how much time has passed since the last expired message arrived (mailserver send expired messages, in the sense that the whisper network would have considered these messages expired and discarded them). The problem with that approach is that there is now a timeout on requests and after that timeout expires, the mailserver stops sending messages (to confirm @pilu @adambabik). This means that with the current approach, not only does the app tells the user it is fetching messages when it is actually done for up to 10 seconds, but also some of the history might never be fetched.
Recently signals were introduced to notify status react when a request is completed (all messages for the request have been confirmed to be received) or expired (the timeout, 10 sec by default, has been reached before all messages could be sent). I made a couple of PRs that started using these signals instead of the heuristic mentioned in the previous point. However this PR has made a few underlying problems more visible:
The problem with that approach is that there is now a timeout on requests and after that timeout expires, the mailserver stops sending messages (to confirm @pilu @adambabik).
@yenda the timeout is only a client-side timer in status-go. after 10 seconds it's fired if the client hasn't receive the response yet. The mail server itself never times out. It receives the request, it sends messages 1 by 1, and at the end it sends the "response" message. This means that even if status-go fires the timeout, the server can continue to send messages.
we can only request one topic per request (soon fixed by @pilu PR and will require PR on status-react to use it, this will allow us to greatly reduce the number of requests when the user have many chats (only 1 request for n chats per day instead of n). release blocker
@yenda the PR in status-go is already merged. I added an issue for you to use it in status-react https://github.com/status-im/status-react/issues/6334
mailservers that are far away are timing out a lot. For America, Europe and Asia this is less problematic because they can luckily find their local server or manually select it, but other part of the world will have terrible history retrieval performances. My guess is that there is some kind of acknowledgments and waiting between messages sent so the higher the ping the more likely the request is to timeout before all the messages have been sent. This is a release blocker IMO. We need to find why the mailserver is so slow at sending messages, if it waits for some kind of acknowledgement or something.
@yenda was it always like this or we introduced it somehow recently? If the upcoming release does not introduce regressions in this area I'd say it's not a release blocker. Anyway, it's worth to fix asap.
Team, with the recent mail server issues and reports of reliability problems we will need to delay this release until we are absolutely certain Status is working reliably.
At the Hackathon and Devcon we are showcasing Status to the wider community so performance has to be flawless, and we should take the time to ensure this.
@chadyj is it final decision? How about registration dapp and other things mentioned by @rachelhamlin (https://github.com/status-im/status-react/issues/6311#issuecomment-429775679)? I suppose we can cherry pick at least some of them if we won't make a normal release.
Hey @lukaszfryc it wasn't a decision but an observation. There are several existing release issues that are still open, plus the new mail server issues. Although if there are ways to remedy the issues, salvage the release and have a quality build for hackathon/devcon then lets do it.
I'd say let's aim for the standard release but with a 1 or 2 days delay, submitting the iOS build on Monday.
Backup plan: cherry pick and release only couple of changes like the registration app to support the hackaton. But, I'm not sure which PRs we will be able to cherry pick as many of them may be dependent on on things that are already in develop branch.
cc @chadyj @annadanchenko @rachelhamlin @andytudhope.
Makes sense.
In the event that we cherry-pick, I learned there's one more item that marketing needs:
And this item for ENS support is not listed in the must-haves above, but would also need to be included:
I propose that we remove Instabug from this release too. It doesn't pass the test as essential software and can expose us to security or privacy incidents. I added the release tag but if anyone feels we should keep it then please holla https://github.com/status-im/status-react/issues/6346
Update:
We have 3 PR's left.
Everything is assigned and in progress.
If all goes well we can cut the release tomorrow and start testing.
Yenda:
mailservers that are far away are timing out a lot. For America, Europe and Asia this is less problematic because they can luckily find their local server or manually select it, but other part of the world will have terrible history retrieval performances. My guess is that there is some kind of acknowledgments and waiting between messages sent so the higher the ping the more likely the request is to timeout before all the messages have been sent. This is a release blocker IMO.
Pilu:
the timeout is only a client-side timer in status-go. after 10 seconds it's fired if the client hasn't receive the response yet. The mail server itself never times out. It receives the request, it sends messages 1 by 1, and at the end it sends the "response" message. This means that even if status-go fires the timeout, the server can continue to send messages.
@yenda @pilu Is there action required for this? Next steps?
The remaining PR for sidechains is here #6388
Just a small note that it is so much easier to track everything here than in Slack.
@chadyj mailserver timing out doesn't mean that you won't receive all the messages anyway, because, as I understand, it is not a p2p timeout, it is our waiting time to receive all the messages.
@chadyj we already fixed these things in the last days in status-go
. Now the mail server sends back an error message, and envelopes can be packed in single messages. The client-side timeout is still needed though in case the mailserver doesn't send the response or in case of connectivity problems
I think we need to calculate timeout starting from the last message received from the mailserver and not from the actual request time. Maybe we also might want to show how many messages are received.
looks like more extensions PR will need to be added according to @jeluard :
jeluard [10:12] We are still missing some bits for extensions otherwise they are essentially unusable.. Also need to push one PR to add kickback to the DApp list
@jeluard @rachelhamlin Help us out and tag any essentials with the release
tag as well as ping us in this thread.
Have another release issue https://github.com/status-im/status-react/issues/6402 Can someone please grab that?
@chadyj Already tagged, will tag more. I'll let you know once everything is out
@chadyj @alwx is on #6402
Heads up everyone! There are several new PR's today. Appreciate any help in testing/reviewing/merging 🍻
Release has been cut so testing can commence. Here is what we've got https://github.com/status-im/status-react/compare/release/0.9.29...release/0.9.30
Builds for testing are building here https://jenkins.status.im/job/status-react/job/release/job/release%252F0.9.30/
We will cherry pick the other PR's when done.
@jakubgs @rasom all existing 5 builds in https://jenkins.status.im/job/status-react/job/release/job/release%252F0.9.30/ failed. Are you fixing it?
FYI, battery consumption looks similar to what it was on latest release (0.9.29). At least on Android device we always used to measure it (Samsung Galaxy S8). ~0.42% (avg of 2 experiments) battery was consumed in a 15 min test. Previously it was ~0.41%.
All results are here.
I cherry-picked the relevant PRs we merge after the cut. We are expecting another PR for extensions.
@jeluard great. what PR is left?
@rachelhamlin A PR restricting the number of extensions installable to 1
@jakubgs @rasom any update on jenkins issues?
We can get to the android/ios builds here https://jenkins.status.im/job/status-react/job/release/job/release%252F0.9.30/8/ so not a blocker, but we still have blocking issue with https://jenkins.status.im/job/status-react/job/upload_release_ios/ that uploads iOS build to TestFlight because we need it for testing iOS upgrades cc @jakubgs @rasom @mandrigin
There is a commit in the previous release branch that fixes upload iOS job. I think I never backported it to develop :(
https://gist.github.com/rasom/f0fdf66339184b3ff3fc113edc86ec73 well we also have some slack related error there, probably fixed, checking now
GistGitHub Gist: instantly share code, notes, and snippets.
Ha that is sorta my fault. When I quit Slack it must have broke the Fastlane<>Slack integration which is throwing errors.
We need to remove the Slack actions from the Fastfile like:
slack(
message: "New release build uploaded to TestFlight",
slack_url: ENV["SLACK_URL"],
default_payloads: []
)
Last PR we would like to be part of the release: https://github.com/status-im/status-react/pull/6428
Current state (Sunday evening):
I'll take a look at (2) tomorrow, Apple still doesn't look at the test builds on weekends, so the earliest review we can get is tomorrow evening (European time) anyway.
Alex is looking at #6428 this morning.
Will test uploading to TestFlight now.
upload_release_ios
is fixed on 0.9.30, will fix the develop
now.
Thanks @mandrigin. I got the TestFlight build and was able to install.
Still have 2 PR's in progress from @goranjovic @alwx.
Heads up that there is also a suggestion to add PR's https://github.com/status-im/status-react/pull/6425 and https://github.com/status-im/status-react/pull/6448 to the release. I added the release tags @rasom can you please take a look and see if we should include it?
Good luck with the regression testing, testteam!
https://github.com/status-im/status-react/issues/6460 - one more regression we need to include in 0.9.30 release
This is an issue to list and discuss remaining issues for the 0.9.30 release.
Remaining issues can be viewed with the
release
tag. https://github.com/status-im/status-react/labels/releaseThe 0.9.30 release has several improvements for #cryptolife and Devcon.
Using this issue to manage the release as team comms are split between Status and Slack cc @status-im/clojure @rachelhamlin @andytudhope @annadanchenko @lukaszfryc