-
-
Notifications
You must be signed in to change notification settings - Fork 651
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Avatars don't work on iOS 14, except in message list #4365
Comments
Thanks for the detailed report, @titanous! @gnprice, you mentioned here the possibility of upgrading your test device's iOS version to 14. Did you end up doing that, or would it be best to keep it on its current version while plenty of people are still using that version? 🙂 (The latter has been my strategy for my iPhone lately; it's on 13.7, which I don't mind.) |
Thanks @titanous for the detailed report! I just tried this in an iOS 14 test device, and it's working. That's:
I see the profile picture there, and there's a margin below those five bottom icons. One other variable which could affect this behavior is the type of avatar -- Zulip avatars can be hosted in a few different ways and places, and we've had bugs in the past which affected one or another type differently. In particular there's:
I just tried the first two of these cases, and both worked. Studying the set of configurations you tested:
One test that would help narrow things down is to try it built from source at v27.157, but on the same physical device where the version from the App Store works. That will isolate whether it's the source vs. App Store, or physical vs. simulated device, that's making that difference. (Either of which would be puzzling and call for further investigation.)
This sounds like an unrelated bug. Does it have the exact same pattern of working vs. not working (in those configurations you tested) as the missing-avatar bug? That'd be very interesting, just because it sounds so unrelated. On its own, that symptom sounds like a case of #3066, which is an old bug that I have to admit I'm a bit embarrassed we haven't fixed yet. |
I saw the same thing for both of these variants:
I did this test, and v27.157 built locally is broken on the same physical device where the App Store version is working. I wonder if perhaps the App Store version was built against an older SDK version or with an older version of Xcode and so there's a compatibility layer that's being inserted?
Indeed, after further testing, it is an unrelated bug. It only reproduces in the simulator for the 12/12 Pro/12 Pro Max and on my physical 12. The simulator 12 mini, and various models of the 11 have the correct margin. This is another case where the App Store version has the correct margin on my physical 12, but all local builds are broken. |
Fascinating.
Yeah, quite plausible. On the machine I use for App Store builds, I have:
so that's consistent with that theory. (I believe I haven't upgraded Xcode since building the v27.157 release; certainly I haven't downgraded it.) I guess the next step is I should see if I can reproduce with that Xcode 11.7. |
Cool. Filed that one as #4369. |
I think the answer is... that I can't run that test! When I try to run the app from source on that device, I get an error saying "The current device configuration is unsupported. This iPhone XR is running iOS 14.3 (18C66), which is not supported by Xcode 11.7. To run on this device, please update to a version of Xcode that supports iOS 14.3." Awkward because it appears that once I upgrade to Xcode 12, the next release I build will bring this bug to all users with affected devices... so I'd like to stay on Xcode 11 until this issue is resolved. (I only have the one Mac.) I just took a look through the iOS 14 release notes, and didn't find any change there that I could recognize as likely to be related to this issue. I think the next step is to take a configuration where it's broken, and do some debugging there. Some debugging questions that might be helpful to answer to narrow things down:
|
Oh, and a correction on this part: I actually did upgrade Xcode (chat thread) the week after building that release. Previously it was Xcode 11.3. |
Missing here.
Missing here.
The button working.
Works here. I'll dig further on this after I put together the PR for another fix I'm working on. |
Sounds great! Interpreting a bit that pattern of observations:
In the first category, all those spots in the app ultimately use our In the second category, the RN code that's putting together the HTML supplies an avatar URL (see e.g. See also #4367 -- that edits At this point it seems possible that the bug we're looking at is in RN, in the implementation of |
This is facebook/react-native#29279 and facebook/react-native#29215, fixed in facebook/react-native@123423c (v0.64) and facebook/react-native@b6ded72 (v0.63.2). |
This is blocked by #4245. |
In this commit: - Update "react-native", "react", and "flow-bin" in package.json. Run `pod update Folly --no-repo-update` to move past an error on the `pod install` step of the `postinstall` script [1]. After this step, the Podfile.lock file is much changed, as expected. There is also a change in the project.pbxproj file. - Update .flowconfig with the new Flow version, and address one new warning by removing a `$FlowFixMe` that we shouldn't have needed in the first place. (Usually this part is much more complicated!) - Update "jest-expo" in package.json, to oblige a peer-dependency constraint on "react". - Make a change to the Podfile, according to facebook/react-native@a35efb940. - Instead of spelling out all the Pods from RN (all the non-Flipper-related Pods, that is -- we'll handle the Flipper ones in a later commit), call a function defined by React Native, `use_react_native!`, newly exposed in RN v0.63. - Since we're still using React-RCTPushNotification (pending the resolution of zulip#4163), take care to keep React-RCTPushNotification. It apparently hasn't yet been removed from React Native, but it understandably isn't handled by `use_react_native!`. See the PR thread [2] for the list of RN commits affecting the template app and how we've chosen to propagate the template-app changes into our project. See also the RN v0.62 -> v0.63 upgrade guide [3], which gives a visual representation of the changes to the template app. It mostly matches the changes we've made; important deviations should have been explained in the commit list in the PR thread [4]. We know of one bug that's directly solved by taking this upgrade: issue zulip#4365. I've just tested, and I do indeed start to see avatars on a simulator running iOS 14, where I didn't see them before. [1] See zulip#4420 (comment) for more details on this. [2] zulip#4420 (comment) [3] https://react-native-community.github.io/upgrade-helper/?from=0.62.2&to=0.63.4 [4] As always, the guide does show some changes that don't appear in the template app. I think this noise is an effect of how the guide is generated (with react-native-community/rn-diff-purge) and can safely be ignored. It's a diff between a fresh app created with `react-native init --version=$CURRENT` and a fresh app created with `react-native init --version=$NEXT`, for the selected values of `$CURRENT` and `$NEXT`. In particular: - I believe that some dependency version range changes in package.json, including for @babel/core and @babel/runtime, might be caused by different versions for those dependencies being available when the `react-native init` commands are run. - Some changes in ordering and unique ID values always seem to show up in the project.pbxproj file. Fixes: zulip#4245 Fixes: zulip#4365
Hmm, well -- we landed that RN upgrade last week (to v0.63.4), which we expected would fix this. But with #4431, we have a report of what sound like the same symptoms still appearing. @titanous Would you try this again with a current version from master, and confirm whether it still reproduces for you? If it does, then I wonder if something went wrong with that bugfix in RN upstream, or if we're seeing some other bug that happens to have overlapping symptoms. |
Also reopening this issue -- given that report, seems safest to regard it as open until we have some confirmation that the fix seemed to work 🙂 |
In this commit: - Update "react-native", "react", and "flow-bin" in package.json. Run `pod update Folly --no-repo-update` to move past an error on the `pod install` step of the `postinstall` script [1]. After this step, the Podfile.lock file is much changed, as expected. There is also a change in the project.pbxproj file. - Update .flowconfig with the new Flow version, and address one new warning by removing a `$FlowFixMe` that we shouldn't have needed in the first place. (Usually this part is much more complicated!) - Update "jest-expo" in package.json, to oblige a peer-dependency constraint on "react". - Make a change to the Podfile, according to facebook/react-native@a35efb940. - Instead of spelling out all the Pods from RN (all the non-Flipper-related Pods, that is -- we'll handle the Flipper ones in a later commit), call a function defined by React Native, `use_react_native!`, newly exposed in RN v0.63. - Since we're still using React-RCTPushNotification (pending the resolution of zulip#4163), take care to keep React-RCTPushNotification. It apparently hasn't yet been removed from React Native, but it understandably isn't handled by `use_react_native!`. See the PR thread [2] for the list of RN commits affecting the template app and how we've chosen to propagate the template-app changes into our project. See also the RN v0.62 -> v0.63 upgrade guide [3], which gives a visual representation of the changes to the template app. It mostly matches the changes we've made; important deviations should have been explained in the commit list in the PR thread [4]. We know of one bug that's directly solved by taking this upgrade: issue zulip#4365. I've just tested, and I do indeed start to see avatars on a simulator running iOS 14, where I didn't see them before. [1] See zulip#4420 (comment) for more details on this. [2] zulip#4420 (comment) [3] https://react-native-community.github.io/upgrade-helper/?from=0.62.2&to=0.63.4 [4] As always, the guide does show some changes that don't appear in the template app. I think this noise is an effect of how the guide is generated (with react-native-community/rn-diff-purge) and can safely be ignored. It's a diff between a fresh app created with `react-native init --version=$CURRENT` and a fresh app created with `react-native init --version=$NEXT`, for the selected values of `$CURRENT` and `$NEXT`. In particular: - I believe that some dependency version range changes in package.json, including for @babel/core and @babel/runtime, might be caused by different versions for those dependencies being available when the `react-native init` commands are run. - Some changes in ordering and unique ID values always seem to show up in the project.pbxproj file. Fixes: zulip#4245 Fixes: zulip#4365
We may have it. @Gautam-Arora24, the author of #4431, said,
|
The profile picture in the bottom tab bar is missing on local builds targeting the current version of iOS (see screenshot below). Additionally, the margin for the "home swipe bar" appears to be missing. I have tested this in a few different configurations, and here's what I found:
Working
Broken
The text was updated successfully, but these errors were encountered: