23.08.2026 09:53

Moonlight na telefonie: instalacja, powiadomienia i czytanie bez zasięgu

⏱️ 3 min read
Share:

Platforma, której sercem jest czytanie webtoonów, przez długi czas nie miała żadnego wsparcia dla telefonu jako aplikacji. Czyta się głównie w ruchu — w autobusie, w kolejce, przed snem — a my oferowaliśmy kartę przeglądarki z paskiem adresu.

To się zmieniło w trzech warstwach, z których każda jest warunkiem następnej.

Instalacja

Moonlight da się dodać do ekranu głównego. Otwiera się wtedy jak aplikacja: pełny ekran, własna ikona, bez paska adresu.

Napisaliśmy to ręcznie, zamiast wziąć gotowy przepis, bo dwie cechy tego serwisu psują gotowce. Nawigacja dociąga treść renderowaną przez serwer, więc strony muszą przychodzić zawsze świeże. Pliki publikujemy przez atomową podmianę katalogu, więc z pamięci urządzenia wolno podawać wyłącznie te, których nazwa niesie odcisk wersji.

Przy okazji znikła stara uciążliwość: karta otwarta przed wdrożeniem prosiła o plik, którego już nie ma, i fragment strony zostawał pusty. Teraz strona przeładowuje się raz sama.

Powiadomienia, które docierają

Tu liczba mówi wszystko: 57 z 61 rodzajów powiadomień trafiało wyłącznie do dzwonka w serwisie. Czyli tylko wtedy, gdy ktoś sam wrócił na stronę i kliknął. Nowy rozdział obserwowanego autora nie docierał nigdzie.

Teraz może dotrzeć na telefon. W ustawieniach rozdzieliliśmy dwie rzeczy, które łatwo pomylić: zgodę przeglądarki, która należy do konkretnego urządzenia, i wybór tematów, który należy do konta. Można więc być zapisanym na telefonie i widzieć na laptopie przycisk „włącz". To działa zgodnie z zamysłem: zgoda dotyczy urządzenia, przy którym siedzisz.

Powiadomienie w serwisie zostaje zawsze. Push jest drogą dodatkową.

Czytanie bez zasięgu

Rozdział można zapisać na urządzeniu i przeczytać w samolocie. Obejmuje to także treści płatne, i tutaj podjęliśmy decyzję, którą warto nazwać wprost: dostęp, który się kończy, ma faktycznie przestać działać. Przy każdym uruchomieniu aplikacja pyta serwer, które z zapisanych rozdziałów wolno jeszcze czytać, i kasuje resztę. Bez połączenia rozstrzyga zapisany termin ważności.

Strony animowane są jawnie pomijane, z komunikatem. Scena to działający program z dźwiękiem, a obiecanie jej offline dałoby puste płótno zamiast animacji.

Dwie rzeczy znalezione po drodze

Przy okazji wyszło, że powiadomienia o odpowiedzi w obserwowanym wątku i o wzmiance na forum nie docierały w ogóle — kod wołał adresy stron, które przestały istnieć przy przenoszeniu forum, a całe zadanie wywalało się po cichu w tle.

Druga rzecz dotyczyła autorów z dużą publicznością. Sześć miejsc w kodzie po wysłaniu powiadomienia szukało go z powrotem w bazie, osobnym zapytaniem dla każdego odbiorcy. Przy dwóch tysiącach obserwujących to dwa tysiące dodatkowych zapytań przy jednej publikacji. Teraz publikacja rozdziału nie zamula serwisu nikomu.

Uwaga: powiadomienia push wymagają jeszcze konfiguracji kluczy po naszej stronie. Do tego czasu panel mówi wprost, że push nie jest gotowy, zamiast udawać, że działa.

📚 Related posts

27.08.2026 20:55

Data, której nie cofniemy nawet my

Każdy certyfikat autorstwa dostaje datę zapisaną w blockchainie Bitcoina — takiej nie podważy nikt, my też nie. Sprawdzisz ją bez konta i bez Moonligh...
Continue reading →
27.08.2026 19:35

Twój kolor, wszędzie

Trzy tryby i siedem akcentów, wspólnych dla strony i Moonlight Animate. Motyw jedzie z kontem, profil pokazuje gościom Twoje kolory, a harmonogram sam...
Continue reading →
27.08.2026 18:31

Kto moderuje i na jakiej podstawie

Moderator to teraz osobna rola z własnym zakresem, a nie administrator w przebraniu. Odrzucenie treści wymaga powodu, który trafia do autora razem z d...
Continue reading →

📧 Stay up to date!

Join the waitlist to get notified about new Dev Blog posts and Moonlight platform launch.