Änderungsprotokoll

NeoFrag Reborn 1.2.24

Luandre 4 Okt. 2026 4 Min. Lesezeit 39
Inhaltsverzeichnis
Inhaltsverzeichnis

NeoFrag Reborn öffnet sich auf GitHub. Der Code des CMS (NeoFragReborn/neofrag), die Addons à la carte (NeoFragReborn/extensions) und der Discord-Bot (NeoFragReborn/bot-discord) werden dort mit der Geschichte ihrer Versionen veröffentlicht — seit 1.0.0 für das CMS und die Addons, seit 0.1.0 für den Bot: der Code jeder Version, ihre Hinweise und die Pakete ab 1.2.23.

Geändert

  • Die angegebenen Datenbanken sind die getesteten: Jede Version installiert sich und besteht ihre ganze Testsuite, mit PHP 8.2 und 8.5, auf MySQL 5.7, 8.0 und 8.4 und auf MariaDB 10.5, 10.6, 10.11, 11.4 und 11.8 — der Installationsleitfaden nennt diese Versionen, und nicht mehr „5.7+“ und „10.5+“.
  • Die Leitfäden sagen, wo man das Projekt findet: das Installationspaket und das Archiv des Bots auf ihrer Seite der Versionen, die Addons à la carte und ihren Katalog auf der von extensions, den Code für alle, die beitragen wollen. Im Wiki führen Verweise auf ein Dokument des Repositorys (Bereitstellung, Architektur, Werkzeuge) zu diesem Dokument auf GitHub, statt nur seinen Titel zu behalten.

Behoben

  • Die Einstellungen der Module öffnen sich wieder: Das Fenster „Konfiguration“ der Module Forum, Rekrutierung, News, Galerie, Ereignisse, Kalender und Artikel antwortete bei jedem Öffnen „Fehler 500“, auf jeder Website, seit der 1.2.0: Das Feld „Zahl“ lehnte eine Ganzzahl ab (seine Schrittweite und den aus der Datenbank gelesenen Wert), seit der Code auf strikte Typisierung umgestellt hat.
  • Teams: Die Option „Gespielte Matches anzeigen“ lässt sich wieder abwählen. Das Speichern der Einstellungen schrieb das Wort „Array“ statt eines Ja oder Nein, was immer als „Ja“ gelesen wurde.
  • Die Einstellungen eines nie konfigurierten Authentifizierungsdienstes (Google, Discord, GitHub) öffnen sich, ohne acht Warnungen ins Protokoll zu schreiben.
  • Das Dashboard und die Statistiken einer Website ohne Artikel, Bugtracker oder Forum schreiben nicht mehr bei jedem Öffnen Warnungen ins Protokoll: Die Karten dieser Module erscheinen nur, wenn sie installiert sind, und keine fehlende Tabelle wird mehr abgefragt.
  • Der Installationsassistent liest die Konfiguration, die er gerade geschrieben hat, neu: Bei einem Hoster, dessen PHP-Cache Dateien nicht erneut prüft, las ein zweiter Versuch des Schritts „Datenbank“ noch die alte config/db.php.
  • Eine aus git bereitgestellte und über den Web-Assistenten installierte Website funktioniert: Der Assistent schrieb config/neofrag.php nicht (das Paket trägt sie, ein Klon hat nur ihre Vorlage), und jede Seite antwortete „Fehler 500“, ohne eine einzige Zeile im Protokoll.
  • Das Beispiel nginx.conf startet: Die Regel für TinyMCE, ohne Anführungszeichen, ließ nginx die ganze Konfiguration ablehnen („missing closing parenthesis“). Seine Umleitungen tragen nicht mehr den internen Parameter request_url.
  • Hochgeladene Dateien werden unter Apache mit PHP als Modul ausgeliefert: Der Schutz von upload/ verwendete eine in einer .htaccess verbotene Direktive, und dieser ganze Ordner — Avatare, Galerie, Mediathek — antwortete „Fehler 500“.
  • Unter Caddy werden hochgeladene Dateien, die keine Bilder sind (ein PDF der Mediathek), ausgeliefert: Das Beispiel lieferte nur Bilder aus.
  • /index.php führt zur Startseite (dauerhafte Umleitung) statt zu einer nicht gefundenen Seite; und eine Adresse mit einer Endung, die keine Seite ausliefert (/newsletter/.env, das Bots versuchen), antwortet 404, ohne eine Anomalie ins Protokoll zu schreiben.
  • tools/check-all.php unter PHP 8.2: Jede Prüfung zählte dort als Fehlschlag, auch wenn sie bestand — der Rückgabecode wurde einmal zu oft gelesen, was PHP erst ab 8.3 erlaubt. Für alle, die unter PHP 8.2 beitragen.

Sicherheit

  • Der Installationsassistent öffnet sich nicht mehr auf einer installierten Website, deren Datenbank nicht antwortet. War die Sperre install/db.txt verschwunden, öffnete ein vorübergehender Ausfall der Datenbank den Assistenten wieder, dessen Schritt „Datenbank“ config/db.php neu schreibt: Ein Besucher hätte die Website dann auf seine eigene Datenbank umleiten können. Die Website zeigt jetzt „vorübergehend nicht verfügbar“. Und der Schritt „Administrator“ weigert sich, ein Konto anzulegen, sobald die Website eines hat.
  • Apache führt jetzt nur noch die index.php im Stammverzeichnis aus: Die Umschreiberegel ließ jede Datei index.php eines Unterordners direkt laufen (mehr als achtzig interne Controller).

Hinzugefügt

  • Vier weitere Prüfungen: check-assistant durchläuft den Installationsassistenten von Anfang bis Ende, wie ein Besucher, für jedes Profil (Bildschirme, Ablehnungen, angelegtes Konto, Anmeldung mit dem eingegebenen Passwort, stilles Protokoll); check-reglages öffnet den Einstellungsbildschirm jedes Addons, speichert ihn unverändert und öffnet ihn erneut; check-serveur-web testet Apache, nginx und Caddy mit den mitgelieferten Konfigurationen, indem es Sonden platziert (verbotene Ordner und Dateien, Skripte, die nicht laufen dürfen, Umschreibung, Sicherheits-Header); check-nouveau-venu folgt der README und dem Leitfaden für Mitwirkende wortwörtlich auf einer sauberen Maschine. Die Workflows installation.yml und nouveau-venu.yml führen sie jede Woche erneut aus.
  • Die Befehle der README funktionieren auf einer frischen Maschine: Ihr Block „Entwickeln“ endete mit einer Testsuite, die mangels Testdatenbank fehlschlug; er verweist jetzt auf den Leitfaden für Mitwirkende, der diese Datenbank anlegt (php tools/prepare-test-db.php).
Geschrieben von Luandre Alle Beiträge

Auch lesenswert

0
Kommentare

Meine Cookies verwalten

Die Website speichert nur die Cookies, die sie zum Funktionieren braucht: Dafür ist Ihre Zustimmung nicht erforderlich. Die anderen Dienste gehören anderen Unternehmen; sie werden nur geladen, wenn Sie sie akzeptieren. Ihre Wahl wird sechs Monate gespeichert, und Sie können sie jederzeit ändern.

Für die Website erforderlich Immer aktiv

  • __Host-session Hält Sie angemeldet und schützt die Formulare vor betrügerischen Übermittlungen. Bis zum Schließen des Browsers; ein Jahr mit „Angemeldet bleiben“
  • nf_consent Speichert die Entscheidungen, die Sie in diesem Fenster treffen. 6 Monate
  • nf_fuseau Zeigt Datum und Uhrzeit in Ihrer Zeitzone an. 1 Jahr
  • Browser-Speicher Speichert Ihre Wahl zwischen Tag- und Nachtmodus sowie die für die Artikelliste gewählte Darstellung. Bis Sie ihn leeren

Videos

In Seiten eingebettete Videos: Der Player stammt von der Plattform, die Ihre IP-Adresse erhält und ihre Cookies speichern kann.

Musik

In Seiten eingebettete Titel und Playlists: Der Player stammt von der Plattform, die Ihre IP-Adresse erhält und ihre Cookies speichern kann.