Bugfix-Tag mit 5 Commits โ Expo SDK Upgrade und kritische Fixes:
- SDK 55 - Manalink auf Expo SDK 55 aktualisiert
- Metro Fix - matrix-sdk-crypto-wasm Blocking behoben
- Reanimated - Worklets fรผr 4.2 Kompatibilitรคt
- Chat Input - Eingabeleiste nicht mehr hinter PillNavigation
Expo SDK 55 Upgrade
Manalink von Expo SDK 52 auf SDK 55 aktualisiert.
Aktualisierte Dependencies
| Package | Vorher | Nachher |
|---|---|---|
expo | ~52.0.0 | ~55.0.0 |
react-native | 0.76.x | 0.79.x |
expo-router | ~4.0.0 | ~5.0.0 |
react-native-reanimated | ~3.16.0 | ~4.2.0 |
@expo/metro-runtime | ~4.0.0 | ~5.0.0 |
Breaking Changes
- Expo Router 5: Neue Layout-API
- Reanimated 4: Worklet-System รผberarbeitet
- Metro: Strengere Module-Resolution
Metro Resolver Fix: matrix-sdk-crypto-wasm
matrix-sdk-crypto-wasm blockierte den Metro Resolver beim Bundling.
Problem
error: Unable to resolve module matrix-sdk-crypto-wasm
from node_modules/matrix-js-sdk/lib/crypto/...
Metro bundler hung indefinitely when encountering WASM modules
Ursache
Metro kann keine .wasm Module auflรถsen. Das matrix-sdk-crypto-wasm Package enthรคlt WebAssembly-Binaries, die Metro blockieren.
Lรถsung
// metro.config.js
const { getDefaultConfig } = require('expo/metro-config');
const config = getDefaultConfig(__dirname);
// Block matrix-sdk-crypto-wasm from being resolved
config.resolver.resolveRequest = (context, moduleName, platform) => {
if (moduleName === 'matrix-sdk-crypto-wasm') {
return {
type: 'empty',
};
}
return context.resolveRequest(context, moduleName, platform);
};
module.exports = config;
react-native-worklets fรผr Reanimated 4.2
Reanimated 4.2 benรถtigt react-native-worklets als separates Package.
Problem
Error: Reanimated 4.2 requires react-native-worklets-core
Lรถsung
pnpm add react-native-worklets-core --filter @manalink/mobile
// babel.config.js
module.exports = function (api) {
api.cache(true);
return {
presets: ['babel-preset-expo'],
plugins: [
'react-native-worklets-core/plugin',
'react-native-reanimated/plugin', // Muss letztes Plugin sein
],
};
};
react-native-css-interop Dependency
Neue Dependency fรผr NativeWind v4 Kompatibilitรคt mit SDK 55.
pnpm add react-native-css-interop --filter @manalink/mobile
Chat Input Bar Fix
Die Chat-Eingabeleiste wurde auf Web von der PillNavigation verdeckt.
Problem
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ Chat Messages โ
โ ... โ
โ ... โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ [Chat Input Bar] โ Verdeckt! โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โโ โโ โโ โโ โโ PillNav โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Lรถsung
/* Chat Container mit Bottom-Padding fรผr PillNavigation */
.chat-container {
padding-bottom: calc(env(safe-area-inset-bottom) + 64px);
}
Nachher
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ Chat Messages โ
โ ... โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ [Chat Input Bar] โ Sichtbar! โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โโ โโ โโ โโ โโ PillNav โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Zusammenfassung
| Bereich | Commits | Highlights |
|---|---|---|
| SDK 55 | 1 | Expo + React Native Upgrade |
| Metro | 1 | crypto-wasm Blocking Fix |
| Reanimated | 1 | Worklets Dependency |
| CSS Interop | 1 | NativeWind v4 Kompatibilitรคt |
| Chat Input | 1 | PillNavigation Overlap Fix |
Nรคchste Schritte
- Performance - Bundle Size Optimierung
- E2EE - Native Crypto-Module statt WASM
- Notifications - Push via APNs/FCM
- CI/CD - Automatische Builds bei PR