Status-react: 0.9.32 mobile release

Created on 27 Nov 2018  ·  117Comments  ·  Source: status-im/status-react

We will use this issue to manage 0.9.32 release.

open issues and PRs for release: https://github.com/status-im/status-react/labels/release

release

Most helpful comment

Is it so risky to have group chats enabled by default?

It's not. As Andrea said "with that, the only reason to have them in dev mode would be to warn users that is a beta-feature." (more in https://github.com/status-im/status-react/issues/6882). But having in mind that Status is still kind of beta, I think we can leave them enabled by default.

All 117 comments

@chadyj can we fill description of this issue with:
1) Go to dev person who will take care of cutting the release branch and doing hot-fixes
2) QA person responsible for release testing
3) Product person to coordinate the release with marketing, etc.

Also, are we going to release next week? If yes, can we cut the release/0.9.32 tomorrow? We have group chats that we should release asap as they will minimize the impact of PFS release in the future.

Enabling PFS for 1-to-1 will be a breaking change, but if we release group chats (or pairing, or both ) next week, those clients will be already compatible, so it will give us a bit more time for users to upgrade, making the upgrade less painful.
https://github.com/status-im/status-react/issues/6882#issuecomment-441974577

@mandrigin any comments for the above?

@jeluard Mentioned that this release needs to be out by Sunday Nov 2nd, so lets hustle!

@jeluard Is everything in develop and ready to go? What are the Kyber changes needed?

@chadyj Some commits are still missing. Realistically the target date would be Dec 7

I can be responsible for release testing and coordinating with test team except this Friday (nov 30).

@jeluard when missing commits will be ready, so we cut off the branch for testing? Ideally, we'd like to have 1st release build for regression testing tomorrow morning.

@annadanchenko Sounds good!

@chadyj emm, what did you want me to comment on? 😆

@chadyj emm, what did you want me to comment on? 😆

This comment https://github.com/status-im/status-react/issues/6891#issuecomment-441998313
Specifically who is the go-to dev person, and cutting the release tomorrow. Some feedback here would be good too.

Well, I can fix some bugs for this release.

@mandrigin can you create 0.9.32 release build, please? Should also have version 0.9.32 in the app

Translation string updates are ready for testing and review https://github.com/status-im/status-react/issues/6891

cc @Blockchain-Islander @pablanopete @j-zerah Take a look. If all goes well well we can release Monday or Tuesday.

@corpetty @mandrigin guys, do we need to do anything extra from security pov on the release 0.9.32 built today? like review again dependencies, as https://github.com/status-im/status-react/issues/6906 is not done yet.

according to @cammellos we need to cherry pick https://github.com/status-im/status-go/pull/1293 into the release if we want to have group chats in it.

If it's a low impact change on status-go side then I'm fine with it. Any opinions on it @adambabik @mandrigin @chadyj ?

If it's a low impact change on status-go side then I'm fine with it. Any opinions on it

I'd love to see group chats #6882 in the release if this is a low impact change.

Btw, I've been checking average battery consumption in nightlies for the last 20 days and it looks stable. For measurements, I used https://github.com/status-im/status-react/pull/6692 with some reference tests like creating new account, sending message, etc. Screenshot of latest results.

Kudos @lukaszfryc for checking battery consumption!!!

Release 0.9.32 builds (https://ci.status.im/job/status-react/job/release/job/release%252F0.9.32/2/) has the (9999) version both on iOS and Android:
Version 0.9.32 (9999); node 27700aa2

https://github.com/status-im/status-react/issues/6881 is related and it's fix already in progress: https://github.com/status-im/status-react/pull/6894

@jakubgs, @mandrigin we'll need to add it in release/0.9.32 as well in order to have app version with new format.

@corpetty @mandrigin guys, do we need to do anything extra from security pov on the release 0.9.32 built today? like review again dependencies, as #6906 is not done yet.

Do we have a timeframe on getting #6906 done? I don't have anything else that is incredibly pressing for this release.

I made it work on macOS just fine, on Linux npm behaves weirdly :( fixing that now...

6894 has been merged into develop.

@mandrigin could we cherry pick it release also please?

and https://github.com/status-im/status-react/pull/6917 is also ready to be merged and cherry picked @mandrigin

@corpetty @annadanchenko #6906 — let's switch to yarn instead. I'll work on it, but it shouldn't stop the release. We can check the modified package-lock file for release builds separately, if needed.

6894 — cherry-picked to release/0.9.32

6917 — merged to develop and cherry-picked to release/0.9.32

FYI There's a bunch of extensions related commits that will have to be cherry picked.

@mandrigin There are 2 branches: release/0.9.32 and releases/0.9.32. Which one is the right one?

release/0.9.32, there is a typo in the second one

@mandrigin Could you delete it so that I don't mixup both ? :)

done

Release notes for 0.9.32 so far are:

0.9.32

Added

  • Private group chats with increases security using Signal's double ratchet algorithm (In beta. Still being tested. Feedback welcome!)
  • Device pairing and syncing with perfect forward secrecy (in dev mode)

Changed

  • Support multi-extensions store
  • Restyled wallet onboarding flow, main wallet screen, and sent-transaction screen
  • Faster sign-in

Fixed

  • Rransaction history fixes
  • Updating enabled tokens before navigating to wallet

All changes

@rachelhamlin @jeluard anything you'd like to add for the new extensions work? Notes can be edited here https://notes.status.im/mobile-release-notes?edit

@chadyj @mandrigin it looks to me like a release blocker https://github.com/status-im/status-react/issues/6944 if agree, please add release label to it

agreed

adding https://github.com/status-im/status-react/issues/6903 to the release scope (as according to @yenda it's same case as reported in #6944 )

regarding https://github.com/status-im/status-react/issues/6903

Fix to make it work properly on nigthly side is relatively simple (recalculate old id, store it along with message, use both message-id and old-message-id in order to fetch the reference).

In order to make it work on both sides, we can always send an old message id as a reference id. Though IMO this will only complicate things.

The simplest way for us is to introduce breaking change in 0.9.32 and also add (again) random message-id so that we will not need to have similar issues in future.

@rasom I'm in favor of breaking change as long as we now pass the message-id with the message to avoid that type of problem the next time we change message-id generation

I 100% agree with @yenda. It has bitten us before, and it will bite us in the future unless we fix it now.

re breaking changes, I think we may have another one when PFS is implemented. Am I right @cammellos? If yes, maybe we should release both things at once?

@lukaszfryc we can make it compatible, and i'm going to introduce the change for this during next hours

There is a release blocker: https://github.com/status-im/status-react/issues/6963
Which is already fixed in the scope of https://github.com/status-im/status-react/pull/6932

@mandrigin @chadyj since #6932 is not in the scope of release we could go with: a) Include #6932 in scope of release or b) Cherry-pick commit fixing issue #6963 in the release. What's the best option for us at this moment? (I'd go with (b) case)

I'll make it easy for everyone, I will just cherry pick the small fix (it's a one line change), and then if we want to include the whole PR we can decided later

When https://github.com/status-im/status-react/pull/6932 is merged, it will contain fixes for #6963 and #6965.

So apart from #6903 (not a blocker?) we are almost done. We just need to re-test some areas of the app on Monday.

@jeluard You all set?

I’d love to have #6957 too but I am AFK. @flexsurfer can you handle that?

Le 30 nov. 2018 à 16:21, Chad Jackson notifications@github.com a écrit :

@jeluard You all set?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

When #6932 is merged, it will contain fixes for #6963 and #6965.

That's fine, agree.
Ideally, I'd exclude #6932 from cherry-picking, though. Because mostly it contains additional features we are about to include after release branch cut off (PR #6935 fixed original release blocker #4868)

Are we targeting Tuesday for release @chadyj?

cc @j-zerah

Are we targeting Tuesday for release @chadyj?

Ideally yes, but could run late with testing and more fixes.

When #6932 is merged, it will contain fixes for #6963 and #6965.

That's fine, agree.
Ideally, I'd exclude #6932 from cherry-picking, though. Because mostly it contains additional features we are about to include after release branch cut off (PR #6935 fixed original release blocker #4868)

TBH, I don't see a reason why we should not include #6932 in the release. It contains useful feature for group chats and is all tested. cc @Serhy @cammellos

Anyway, we need to retest some parts of the app before the regression.

TBH, I don't see a reason why we should not include #6932 in the release. It contains useful feature for group chats and is all tested. cc @Serhy @cammellos

The reason, in a nutshell, is to follow the plan in what we about to release (the new features and bugfixes we stick to by release branch cut off).
It makes sense to include fixes to outstanded regressions, but not really makes sense to include new features (what for to cut off the release branch then?)

@lukaszfryc @cammellos let's cherry-pick #6932 in release/0.9.32, this is the part we were aimed to retest anyway.
But lets agree (and keep in release notes) afterwards, the rules we try to follow in relation to similar questions in future.
cc @chadyj

@Serhy thanks, cherry-picked

TBH, I don't see a reason why we should not include #6932 in the release. It contains useful feature for group chats and is all tested. cc @Serhy @cammellos

The reason, in a nutshell, is to follow the plan in what we about to release (the new features and bugfixes we stick to by release branch cut off).
It makes sense to include fixes to outstanded regressions, but not really makes sense to include new features (what for to cut off the release branch then?)

@lukaszfryc @cammellos let's cherry-pick #6932 in release/0.9.32, this is the part we were aimed to retest anyway.
But lets agree (and keep in release notes) afterwards, the rules we try to follow in relation to similar questions in future.
cc @chadyj

@lukaszfryc totally agree with @Serhy here. Also if u are proposing something to be included - make sure averyone impacted is aware. This is the first time i hear about this nice feature to be a part of release. cc @annadanchenko

@rachelhamlin @j-zerah
There was a comment here about needing Decentraland in the dapp listing by December 10. Is that still required? It needs to be in this release or it won't make the deadline.

@chadyj @rachelhamlin - yes if we can add decentraland to the list in this release, it would be much appreciated. We are launching comms for a joint campaign on december 10

Hey devs! Can anyone help bringing decentraland back? We used to have it and was removed in this PR so you can grab assets and info https://github.com/status-im/status-react/pull/4232/files#diff-3f0aba2b3c8741a870b1cffc6357607dL188

GitHub
fixes #4218 Summary: Removed older DApps status: ready

@chadyj we are waiting for https://github.com/status-im/status-react/pull/6987 to be tested and merged to release branch. Then we can do final testing i guess, since i am not aware of any other commits to be included. What was the agreed deadline for the Asia Roadshow build?

cc @Serhy @churik @annadanchenko @mandrigin @jeluard @rachelhamlin

@asemiankevich EthSinpapore hackathon starts on Dec 6.

@mandrigin i believe https://ci.status.im/job/status-react/job/upload_release_ios/ requires the same fix, could you please assist here too?

the job is fixed and the build is submitted to Apple to be reviewed

hackathon starts on Dec 6.

are you sure @jeluard ? on https://ethsingapore.co/ 7 Dec is a start date and 9:30PM is listed as time when it's officially begins

@annadanchenko you're right, it's Friday the 7th.

Looks like group chats are enabled in release builds by default. I think it's not expected as we wanted to keep them under development mode for release builds. @cammellos could you fix it?

It was probably introduced in https://github.com/status-im/status-react/commit/5795ca8d1a58ff3e7efbefa1e4c2f9b509e7e9ec

@lukaszfryc we tested this and this is done intentionally as far as i know. @annadanchenko ?

Looks like group chats are enabled in release builds by default. I think it's not expected as we wanted to keep them under development mode for release builds. @cammellos could you fix it?

It was probably introduced in 5795ca8

I'd rather not touch release anymore unless there are functional issues. Is it so risky to have group chats enabled by default? @chadyj @lukaszfryc @cammellos

Is it so risky to have group chats enabled by default?

It's not. As Andrea said "with that, the only reason to have them in dev mode would be to warn users that is a beta-feature." (more in https://github.com/status-im/status-react/issues/6882). But having in mind that Status is still kind of beta, I think we can leave them enabled by default.

@chadyj any news about apple review?

@chadyj @annadanchenko review passed as i can see in iTunesConnect

submitted new "2018120516" build to Apple review and got Approve, so it's fine on this side and can be pushed to public testing as soon as we are done with final testing on 2018120516 TestFlight build and Android release from https://ci.status.im/job/status-react/job/release/job/release%252F0.9.32/26/

Nice job everyone! 🎉

I expired the older build so we only have the latest available.
I also added the release notes and its ready to go.

@j-zerah @Blockchain-Islander @pablanopete Let's aim to release 3CST/9EST tomorrow. Sound good?

Sounds good to me! cc @Blockchain-Islander the blog is ready to go for that time if you're good on social copy as well.

Thanks all! Will get this live at 3pm CST 👍

Hey team, it would be really great to include https://github.com/status-im/status-react/pull/7019/files to the release. There is a tiny chance that without this fix some users which had message duplicates because of issues with message-id calculation BEFORE 0.9.31 still have duplicates in their DB and migrations will not pass without this change. It only checks if the message with a new message-id has been added and removes duplicate. The same way it removes duplicates from user-status entity.

I'm really sorry for making this late update, but as it hasn't been reproduced during testing it was a bit hard to spot this possible issue.

GitHub
status: wip

Thanks for the fix Roman. Agree we should include this.

Try again, it looks like saucelabs was down for some reason.

Yup: https://status.saucelabs.com/

Welcome to Sauce Labs Inc's home for real-time and historical data on system performance.

its fine now :thisisfine:

@chadyj could you please expire previous build in TestFlight? I submitted one more with Roman's commit. And also add release notes. Can't find how to do this myself :(

Expired. Here is the screenshot of what to press on the build page. (not sure about permissions though)

Also remember that if you upload a new build please grab the "what's new" from the old build or release notes.

screen shot 2018-12-06 at 9 36 19 am

@chadyj i dont have rights( thanks for assistance

Heya are we good with the 2018120610 build? @asemiankevich @annadanchenko We are scheduled to ship in an hour.

@chadyj no blockers found, basic checks went fine

unfortunately, new blocker was found when doing minor checks: https://github.com/status-im/status-react/issues/7027

@chadyj @mandrigin do you want to postpone the release because of #7027 and fix it or we can release with (9999) in ios version?

having another thought on it - only users with diawi access can install ios builds, so typical user will have TestFlight version anyway so might not be a blocker really, unless it can influence future upgrades

We have the fix merged https://github.com/status-im/status-react/pull/7028 so may as well run a new build.

@chadyj we may but I'm not sure if other changes in upload release job are fine and would rather stay with 9999 as exception for this release. Unless developers will say that 9999 in the version can impact future upgrades cc @mandrigin @rasom @cammellos

@j-zerah @Blockchain-Islander @pablanopete Apologies for the delay.

There have been some tech issues and we don't have consensus on how to proceed. Hopefully we will have an update within the hour.

@j-zerah @Blockchain-Islander @pablanopete looks like we got consensus and will push the release in 10 minutes from now.

ok thank you. Please let us know when comms can go out

@j-zerah @Blockchain-Islander @pablanopete both iOS and Android releases for 0.9.32 are published. Please, send comms cc @chadyj

Ok, thanks!

Comms are out!
https://our.status.im/v0-9-32/
https://twitter.com/ethstatus/status/1070710037415428096

Thanks y'all! Seeya next time 🍻

Our Status
Version 0.9.32 Introducing beta support for Private group chats! There is also alpha support of pairing (with development mode on) between mobile and desktop clients for messages and contacts syncing.
Twitter
“Version 0.9.32 has been released! Private group chats, device syncing and more are included in this release. Check out the release notes for more details. https://t.co/faPiNDD8EK”

Re-opening as there are multiple reports of "unknown status-go error"

https://twitter.com/carlos_molotov/status/1070711892505698304?s=21

cc @mandrigin @annadanchenko

Twitter
@ethstatus Getting this all the time. Any idea why?”

Shortly after the release we saw reports of an "unknown status-go error" from 3 users upgrading to 0.9.32. After investigating @Serhy could reproduce the issue for account passwords that contained a special character (such as -/:;()$&@“.,?!’[]{}#%^*+=_\|~<>€£¥•.,?!’) and it was discovered that passwords may not be escaped properly in some circumstances. @cammellos is working on a hotfix which we are aiming to release within the next hour.

Thanks @cammellos and @Serhy for working on and finding this issue. Can I please suggest we create post-mortem on this, so that we can understand how this slipped through and ensure this kind of error doesn't slip into future releases. The template can be found in this Discuss post: https://discuss.status.im/t/post-mortems-learning-from-our-mistakes/581

Status.im
Our recent TestFairy blunder has shed some light on a scary reality. As an organisation, we are not ready for primetime. Incidents like this at scale damages reputation, for the most part, beyond repair. Using 3P services has been a known concern for months now. However what is most surprising about this incident, is that this is the second time a bug in TestFairy has caused seed phrases to be leaked. Making the same mistake twice, especially for an organisation so focused on Security and Priva...

This happened to me and my password does have a special character.

I downloaded version 0.9.32 to my iPhone and I was getting pink bubble appearing above my password when I entered it to launch the app and the bubble said, "Unkown Status-go error" So I deleted the app and reloaded it. But now when I enter my Recovery Phrase and Password then hit "Sign In" nothing happens except the Seed Phrase and password entry bubbles are blanked out. I entered my seed phrase multiple times. Now I can't get on status to get help. So that is why I am posting here.

That was my experience. Looking forward to the hot fix. Thanks all

Update: A fix to this issue has been made and we are currently building and testing the changes. If all goes well a hotfix will be released in the next 1-2 hours. A post-mortem will also be published.

@jbostick00 Thanks for the feedback. Hang tight a fix is on its way.

@mandrigin @jakubgs @rasom We could use some help. The iOS upload job keeps failing. @cammellos Has the fix but we can't publish.

Failed to download from DigitalOcean Bucket, checking GitHub...
Failed to download from GitHub!
......
......
unzip: cannot find zipfile directory in one of modules/react-native-status/ios/RCTStatus/status-go-ios-0.16.14.zip or
modules/react-native-status/ios/RCTStatus/status-go-ios-0.16.14.zip.zip, and cannot find modules/react-native-status/ios/RCTStatus/status-go-ios-0.16.14.zip.ZIP, period.

https://ci.status.im/job/status-react/job/upload_release_ios/65/console

Just to add some context, the build is not on DO but it is on github, the link for ios is correct, it either times out or there's some other issue

End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found onss the last disk(s) of this archive.

It seems like the zip is corrupted, but I downloaded it by hand and it unpacks just fine.

I started a build to upload that again, let's see if that helps:
https://ci.status.im/job/status-go/job/parallel/169/

Edit: Just started it with the right branch and RELEASE checked: https://ci.status.im/job/status-go/job/parallel/169/parameters/

@jakubgs I think it just fails to download it
"unzip: cannot find zipfile directory i"

yes, it managed to download, thanks

The hot fix has been published.
iOS build 2018120621 and Android build 2018120619 are now live.

Kudos team for working late to get this sorted.

The post-mortem draft has started here https://notes.status.im/U7gkLuCiSly3faDXKzRbmQ

@pablanopete Please let us know here if there are any more issues that pop up over night.

Thanks all

Hey @chadyj @annadanchenko @cammellos - both Ben & I are still getting this status-go error. We've just updated to 0.9.32 now.

@rachelhamlin looking into this, pinged you on status with a few questions

Was this page helpful?
0 / 5 - 0 ratings

Related issues

annadanchenko picture annadanchenko  ·  4Comments

alwx picture alwx  ·  4Comments

rachelhamlin picture rachelhamlin  ·  3Comments

andytudhope picture andytudhope  ·  4Comments

mfekadu picture mfekadu  ·  3Comments