RNBW.wiki
🇩🇪
🇷🇺Русский 🇬🇧English 🇪🇸Español 🇨🇳中文 🇩🇪Deutsch

Alle Einträge

Drei Zeilen gegen die hängende Aktualisierungsanzeige — und ein Patch für React Native selbst

15. Oktober 2026

Drei Zeilen gegen die hängende Aktualisierungsanzeige — und ein Patch für React Native selbst

Die Änderung #7873 wurde am 14. Oktober übernommen. Sie ist winzig: eine Datei, 21 hinzugefügte Zeilen gegenüber vier entfernten, davon eigentlicher Code drei. Interessant ist nicht die Größe, sondern wo sie liegt.

Gepatcht wird nicht die eigene App, sondern React Native

Die Datei heißt patches/react-native+0.81.6.patch. Das ist ein Patch für die Quellen der Plattform, auf der die App geschrieben ist. So verfährt man, wenn der Fehler nicht im eigenen Code steckt, sondern darunter — und auf eine Behebung von oben zu warten keine Option ist.

Was kaputt war

Man zieht die Liste nach unten, die Aktualisierung beginnt. Man wechselt auf einen anderen Bildschirm. Die Aktualisierung endet, während dieser Bildschirm weg ist. Man kommt zurück: die Anzeige steht noch da, ausgeklappt, und zwar für immer.

Warum das passierte

Wenn eine Aktualisierung endet, tut die App zwei Dinge nacheinander: zuerst vermerkt sie intern, dass sie vorbei ist, dann bittet sie das System, die Anzeige wegzunehmen. Und diese Bitte beginnt mit einer Prüfung: ist der Bildschirm gerade nicht zu sehen, still zurückkehren und nichts tun.

Mehr braucht es nicht. Der Vermerk steht bereits, also wird dieser Weg nie wieder betreten: dafür müsste sich der Zustand ändern, und er hat sich schon geändert. Das System bleibt derweil in der Stellung «ich aktualisiere».

Das Merkwürdigste ist, warum das jahrelang niemandem auffiel. Die Gegenrichtung, das Starten, hat ein Netz: kam eine Aktualisierung nicht zustande, startet sie beim ersten Neuzeichnen erneut. Der Fall «nicht rechtzeitig begonnen» wurde also bedacht, der Fall «nicht rechtzeitig beendet» nicht.

Was ergänzt wurde

Drei Zeilen in dem Moment, in dem der Bildschirm zurückkehrt: sagen unsere eigenen Daten, die Aktualisierung sei vorbei, während das System sie noch für laufend hält, dann beenden. Die aufgeschobene Bitte greift genau dann, wenn die Bedingung, an der sie scheiterte, endlich erfüllt ist.

Die Sorgfalt verdient eine Erwähnung

In derselben Datei lag bereits ein anderer Patch, zur Eckenrundung. Der Autor hat seinen nicht einfach danebengesetzt, sondern den Kopf der Datei neu geschrieben und die beiden Einträge getrennt: jeder trägt nun seine eigene Bedingung, unter der er entfernt werden darf.

Ein Patch an fremdem Code ist eine Schuld. Steht die Bedingung zum Tilgen geschrieben, fasst ihn ein Jahr später jeder ohne Furcht an.

Wen das betrifft

Jede Liste, die sich durch Ziehen aktualisiert. Nicht einen Bereich, sondern die ganze App auf einmal — solche Änderungen gab es in den letzten Wochen nicht viele.

Ist es schon in der App

Noch nicht. Die zuletzt veröffentlichte Version ist 2.0.46 vom 8. Oktober, übernommen wurde die Änderung am 14. In welcher Version sie erscheint, kündigt Rainbow nicht im Voraus an.

Was sich im Code der Wallet ändert: rnbw.wiki/pulse

$RNBW #RNBW

Diese Einträge erscheinen im Kanal @RNBWwiki.