Skip to content
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

iOS 16 Support #163

Closed
stefanceriu opened this issue Aug 23, 2022 · 8 comments
Closed

iOS 16 Support #163

stefanceriu opened this issue Aug 23, 2022 · 8 comments
Labels
A-DevX Anything that can improve the DevX A-Timeline X-Needs-iOS16 Z-BBQ-Alpha Required for ElementX - BBQ - Alpha

Comments

@stefanceriu
Copy link
Member

stefanceriu commented Aug 23, 2022

The app is currently crashing on iOS 16, most likely because of the changes Apple has made to the SwiftUI List component. We need to fix that and whatever else comes along.

ElementX's deployment target will be 16, so let's please switch to that as soon as feasible.

@Johennes
Copy link
Contributor

With current develop it's not crashing for me but all the timelines are empty.

simulator_screenshot_2E05939B-7356-4DCC-88A3-A97992A69D9A

When I send a message on ElementX, it's displayed in the timeline. But messages from others don't show up.

@Johennes
Copy link
Contributor

Hm, actually I see the same problem in a 15.2 simulator ... but not in all rooms so maybe this isn't related. 🤔

@stefanceriu
Copy link
Member Author

Might be worth enabling more rust logs (like so) and see if there's anything useful there.

@Johennes
Copy link
Contributor

Hm, I quickly tried with the RUST_BACKTRACE environment variable and noticed this on launch:

thread '<unnamed>' panicked at 'No User ID found', bindings/matrix-sdk-ffi/src/client.rs:230:66
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic_display
   3: core::panicking::panic_str
   4: core::option::expect_failed
   5: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
   6: _matrix_sdk_ffi_19cc_Client_avatar_url
   7: $s13MatrixRustSDK6ClientC9avatarUrlSSyKFSo0B6BufferVSpySo0B10CallStatusVGXEfU_
             at ./Users/jm/Library/Developer/Xcode/DerivedData/ElementX-dvqbtesgfaufmcewidmrlxhjtang/SourcePackages/checkouts/matrix-rust-components-swift/Sources/MatrixRustSDK/matrix_sdk_ffi.swift:604:21
   8: $s13MatrixRustSDK04makeB4Call33_D13DA838D267D18EF7DBCAF4C15FEA09LL_12errorHandlerxxSpySo0bE6StatusVGXE_s5Error_pSo0B6BufferVKXEtKlF
             at ./Users/jm/Library/Developer/Xcode/DerivedData/ElementX-dvqbtesgfaufmcewidmrlxhjtang/SourcePackages/checkouts/matrix-rust-components-swift/Sources/MatrixRustSDK/matrix_sdk_ffi.swift:258:23
   9: $s13MatrixRustSDK17rustCallWithError33_D13DA838D267D18EF7DBCAF4C15FEA09LLyxq_m_xSpySo0bE6StatusVGXEtKAA12FfiConverterACLLR_So0B6BufferV0Q4TypeRt_s0G005SwiftT0Rp_r0_lF
             at ./Users/jm/Library/Developer/Xcode/DerivedData/ElementX-dvqbtesgfaufmcewidmrlxhjtang/SourcePackages/checkouts/matrix-rust-components-swift/Sources/MatrixRustSDK/matrix_sdk_ffi.swift:253:9
  10: $s13MatrixRustSDK6ClientC9avatarUrlSSyKF
             at ./Users/jm/Library/Developer/Xcode/DerivedData/ElementX-dvqbtesgfaufmcewidmrlxhjtang/SourcePackages/checkouts/matrix-rust-components-swift/Sources/MatrixRustSDK/matrix_sdk_ffi.swift:603:17
  11: $s13MatrixRustSDK6ClientCAA0D8ProtocolA2aDP9avatarUrlSSyKFTW
  12: $s8ElementX11ClientProxyC23loadUserAvatarURLStrings6ResultOySSAA0bC5ErrorOGyYaFAIyYbcfU_
             at ./Users/jm/Code/element-x-ios/ElementX/Sources/Services/Client/ClientProxy.swift:191:49
  13: $sScT8ElementXs5NeverORszACRs_rlE8dispatch2on8function_qd__So03OS_C6_queueC_SSqd__yYbctYalFZyScCyqd__ACGXEfU_yyYbcfU_
             at ./Users/jm/Code/element-x-ios/ElementX/Sources/Other/Extensions/Task.swift:35:48
  14: $sIegh_IeyBh_TR
  15: __dispatch_call_block_and_release
  16: __dispatch_client_callout
  17: __dispatch_queue_override_invoke
  18: __dispatch_root_queue_drain
  19: __dispatch_worker_thread2
  20: __pthread_wqthread
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
2022-09-28T07:34:30.318166Z ERROR uniffi::ffi::rustcalls: Caught a panic calling rust code: "No User ID found"    

Nothing shows when entering a room though.

@stefanceriu
Copy link
Member Author

As bad as it looks that one is actually okay, it just means that that particular user doesn't have an avatar. We're abusing uniffi and letting it transform expectations into errors for us. This shouldn't be expected and we have a point on our cleanup list to fix it.

@Johennes
Copy link
Contributor

Johennes commented Sep 28, 2022

Might be worth enabling more rust logs (like so) and see if there's anything useful there.

Unfortunately, that didn't turn up more helpful messages either outside of the occasional INFO matrix_sdk::sliding_sync: main client processed.

I wonder if it could have anything to do with the room's home server The Element iOS room appears to work fine but all my private test rooms on element.io remain empty. 🤔

Anyway, it looks like this is not iOS 16 specific. So I'll stop spamming this issue.

@stefanceriu
Copy link
Member Author

Oh, that can very well be it, the sliding sync proxy is only available for matrix.org afaik

@stefanceriu
Copy link
Member Author

We have now switched to iOS 16

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-DevX Anything that can improve the DevX A-Timeline X-Needs-iOS16 Z-BBQ-Alpha Required for ElementX - BBQ - Alpha
Projects
None yet
Development

No branches or pull requests

2 participants