Zum Hauptinhalt springen

Zurรผck zum Devlog

Samstag, 07. Mรคrz 2026

Bugfix

5 Commits

4 min Lesezeit

Manalink SDK 55 Upgrade & Fixes

Manalink auf Expo SDK 55 aktualisiert, matrix-sdk-crypto-wasm Metro Blocking Fix, Reanimated 4.2 Kompatibilitรคt und Chat Input Bar Fix.

T

Till Schneider

Autor

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

PackageVorherNachher
expo~52.0.0~55.0.0
react-native0.76.x0.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

BereichCommitsHighlights
SDK 551Expo + React Native Upgrade
Metro1crypto-wasm Blocking Fix
Reanimated1Worklets Dependency
CSS Interop1NativeWind v4 Kompatibilitรคt
Chat Input1PillNavigation Overlap Fix

Nรคchste Schritte

  1. Performance - Bundle Size Optimierung
  2. E2EE - Native Crypto-Module statt WASM
  3. Notifications - Push via APNs/FCM
  4. CI/CD - Automatische Builds bei PR

Tags

#matrix #manalink #expo-sdk-55 #react-native #metro