Comments (2)
Just my two cents, I agree #16578 has caused this regression which it seems I did worry about at the time.
It's been years since I've done anything with the expo sdk or objective-c, but I'd suggest at least the session setActive
call and potentially all the session
calls or the whole _updateSessionConfiguration
method should be made async and queued with dispatch_async.
I'm not sure how you'd refactor the module since it expects several methods to return NSError, presumably there is a way to notify the js of an error that wasn't directly in response to js call.
For example something like this should resolve ducking and not cause framedrops, but I haven't made any attempt to handle potential errors and I'm not sure the EX_* stuff is correct.
if (!shouldBeActive && _sessionIsActive) {
EX_WEAKIFY(self);
dispatch_async(dispatch_get_main_queue(), ^{
EX_ENSURE_STRONGIFY(self);
NSError *error;
[session setActive:NO error:&error];
if (!error) {
self->_sessionIsActive = NO;
}
// Does not handle the error
});
}
from expo.
Experiencing the same issue
from expo.
Related Issues (20)
- Upgrade Google Services Version for `expo-config` HOT 7
- Issue with decreasing device volume in iOS after expo-av recording ends HOT 1
- expo location doesn't update in the frontend HOT 1
- Expo Router is not compatible with ESLint + Bun (`Error: Cannot find module 'ajv/dist/compile/codegen'`) HOT 4
- remove tsx file HOT 1
- IOS issue for **ImagePicker.launchCameraAsync** IOS version **17 and expo SDK 50**. HOT 2
- [Android][expo-web-browser][expo-auth-session] Web based auth session is closed when user returns to the app by clicking the app icon HOT 2
- expo speech not working in iOS silent mode (reopen) HOT 2
- Expo app not starting when upgrading to SDK 51 HOT 2
- Android app crashing right after launch, iOS working, `new NativeEventEmitter()` was called HOT 1
- Multiple `_layout.tsx` Re-renders (most-recent version) HOT 1
- [SDK 51][expo-image][web][Safari] tintColor fails with images
- Unable to run on iPad and iPod after updating to Expo 51
- Expo AV totally cannot record
- As a requirement of my application under development, I need to get a unique ID for each mobile device, how can I achieve this? HOT 2
- expo-calendar "Add Only" iOS permission HOT 1
- Expo Android app crashing right after launch, iOS working, new NativeEventEmitter() was called HOT 2
- Streaming audio recording HOT 1
- expo-camera `enableTorch` prop does nothing if set to true HOT 2
- Issue with Expo 51 and Android Release Build HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from expo.