···112112 onStateChange={this.onStateChange}
113113 extraStyles={extraStyles}
114114 onLayout={e => {
115115- const {height} = e.nativeEvent.layout
116116- this.setState({viewHeight: height})
117117- this.updateLayout()
115115+ if (isIOS15) {
116116+ const {height} = e.nativeEvent.layout
117117+ this.setState({viewHeight: height})
118118+ }
119119+ if (Platform.OS === 'android') {
120120+ // TEMP HACKFIX: I had to timebox this, but this is Bad.
121121+ // On Android, if you run updateLayout() immediately,
122122+ // it will take ages to actually run on the native side.
123123+ // However, adding literally any delay will fix this, including
124124+ // a console.log() - just sending the log to the CLI is enough.
125125+ // TODO: Get to the bottom of this and fix it properly! -sfn
126126+ setTimeout(() => this.updateLayout())
127127+ } else {
128128+ this.updateLayout()
129129+ }
118130 }}
119131 />
120132 </Portal>
···44import {useLingui} from '@lingui/react'
5566import {toNiceDomain} from '#/lib/strings/url-helpers'
77-import {ServerInputDialog} from '#/view/com/auth/server-input'
87import {atoms as a, tokens, useTheme} from '#/alf'
98import {Button, ButtonIcon, ButtonText} from '#/components/Button'
109import {useDialogControl} from '#/components/Dialog'
1010+import {ServerInputDialog} from '#/components/dialogs/ServerInput'
1111import {Globe_Stroke2_Corner0_Rounded as GlobeIcon} from '#/components/icons/Globe'
1212import {PencilLine_Stroke2_Corner0_Rounded as PencilIcon} from '#/components/icons/Pencil'
1313import {Text} from '#/components/Typography'