Pelican Panel: nasze zmiany w projekcie open source
Panel do zarządzania serwerami gier na Laravelu i Dockerze, fork Pterodactyla.
- Język
- PHP
- Gwiazdki na GitHubie
- 2375
- Strona projektu
- pelican.dev
Zmiany przyjęte w Pelican Panel
Aktualizacja pluginu nie kończy się błędem po odświeżeniu wierszy i nie zostawia pluginu odinstalowanego.
- Pull request #2635scalony 10 października 2026
- Pull request #2598scalony 25 września 2026
Fix plugin update crashing after the rows are refreshed
github.com/pelican/panel/pull/2598
Jak sprawdziliśmy zmianę #2598
Doszedł test integracyjny udanej aktualizacji: udawane pobranie paczki z nową wersją, aktualizacja i sprawdzenie stanu pluginu po niej. Na gałęzi main sprzed poprawki ten test kończy się dokładnie tym samym błędem, który opisywało zgłoszenie.
Błąd, poprawka i wniosek
Skrót naszego opisu z Nowinek technicznych: co nie działało, co zmieniliśmy i co z tego wynika dla naszej pracy.
Aktualizacja pluginu kończyła się błędem
Po pobraniu nowej wersji updatePlugin() wywoływał refreshRows(), który zeruje połączenie Sushi, a potem refresh() na starej instancji modelu. Aktualizacja z panelu padała na błędzie query() on null.
Rekord pobierany od nowa
Kod pobiera plugin od nowa przez Plugin::findOrFail(), tak jak robią to zadania pluginów w tym projekcie, a API odsyła świeży obiekt.
Aktualizacja, która w połowie drogi pada, nie może zostawić systemu w gorszym stanie niż przed nią.
To samo sprawdzamy w aktualizacjach paneli, które budujemy.
Inne projekty z naszymi zmianami: PHP
20 projektów w tej technologii ma nasze przyjęte zmiany. Pasek to gwiazdki repozytorium, obok liczba naszych zmian. Każdy wiersz prowadzi do strony projektu.
Pytania o nasze zmiany w Pelican Panel
Skąd są te zmiany, kto je przyjął i czy poprawimy coś w Twojej bibliotece.
Czytaj dalej
Więcej o tej pracy i o pozostałych projektach z naszymi zmianami.
Używasz Pelican Panel w swoim projekcie?
Jeśli coś w nim nie działa, poprawimy to u źródła i zostawimy obejście do czasu wydania. Odpiszemy w godzinę.