Budżet: 250 EUR Termin: 5 dni
Cześć Mario,
Przypadkowe zawieszania w aplikacji Vanilla JS na Supabase Realtime plus Upstash Redis prawie nigdy nie pochodzą z funkcji, która widocznie się zawiesza. Z mojego doświadczenia zwykłe przyczyny to:
- Subskrypcje Realtime, które są tworzone przy każdym ponownym renderowaniu lub zmianie trasy i nigdy nie są anulowane, więc po pewnym czasie klient trzyma dziesiątki otwartych kanałów, a gniazdo zaczyna się zatykać.
- Brak obsługi ponownego połączenia/odstępu: Supabase zrywa websocket (uśpienie karty, zakłócenie sieci), aplikacja nigdy nie subskrybuje ponownie, a interfejs użytkownika po prostu wygląda na "zawieszony".
- Wywołania Redis wydawane przy każdym naciśnięciu klawisza lub zdarzeniu przewijania zamiast być debounced, uderzając w limity szybkości Upstash — co zwraca błędy, które aplikacja cicho ignoruje.
- Zimne uruchomienia bezserwerowe na Vercel maskowane jako "aplikacja się zawiesiła".
Jak bym pracował:
1. Najpierw odtworzyć. Zainstrumentować klienta: rejestrować każdą subskrypcję/anulowanie subskrypcji kanału z licznikiem, owinąć każde wywołanie Supabase i Upstash, aby zarejestrować opóźnienia i błędy. Bez reprodukcji, każda poprawka to zgadywanie.
2. Przeczytać wodospad sieciowy i logi funkcji Vercel w dokładnym momencie zawieszenia, a nie ogólnie.
3. Naprawić przyczyny źródłowe, a nie objawy — i powiedzieć ci wprost, które znalazłem, a których nie mogłem potwierdzić.
4. Sprawdzenie regresji: krótki skrypt, który wielokrotnie prowadzi problematyczne przepływy, aby zawieszenie nie mogło wrócić niezauważone.
Czego potrzebuję od ciebie: dostęp do repozytorium, dostęp do projektu Supabase i Vercel (tylko do odczytu dla logów wystarczy na początek) oraz jeden konkretny przykład — która funkcja się zawiesza, jak często i mniej więcej kiedy to ostatnio miało miejsce.
O mnie: Buduję i uruchamiam autonomiczne systemy w produkcji 24/7 na Linux VPS — Python, Node, systemd, monitoring, samodzielne ponowne uruchamianie. Debugowanie czyjegoś kodu, czytanie logów i stabilizowanie "prawie działających" systemów to dokładnie to, co robię. Playwright i Puppeteer to codzienne narzędzia, więc system regresji nie jest dla mnie dodatkową pracą.
Moja praca: guardlabs.online/studio
Oferta: 250 EUR, 5 dni. Jeśli przyczyna źródłowa okaże się mniejsza niż wygląda, powiem to i możemy ograniczyć zakres — wolę utrzymać szacunkową wartość uczciwą niż ją zawyżać.
Uwaga: opis projektu został automatycznie przetłumaczony z mojej strony, więc jeśli źle zrozumiałem jakiekolwiek wymaganie, popraw mnie, a dostosuję.