25.08.2026 09:39

Album kosztuje tyle, co jego zawartość

⏱️ 4 min read
Share:

Kilka dni temu opisaliśmy, jak ceny pojedynczych utworów przestały być czymś, co autor wpisuje w formularz, i stały się jednym z trzech poziomów ustalanych przez platformę. Zostało dokończyć to samo dla albumów. Przy okazji zajrzeliśmy w kod, którego dawno nikt nie odwiedzał, i znaleźliśmy tam cztery rzeczy, o których nie mieliśmy pojęcia.

Album to jego utwory

Pole ceny albumu przyjmowało dowolną liczbę i nie miało górnej granicy. Można było wpisać milion. Nikt tego nie zrobił, ale rzecz nie w tym, co ktoś zrobił, tylko w tym, co pole w ogóle dopuszcza.

Trzy poziomy z utworów tu nie pasują, bo trzyutworowa epka i dwupłytowy album nie powinny kosztować tyle samo. Zamiast tego album bierze cenę ze swojej zawartości: sumujemy ceny utworów, które się na nim znajdują, i mnożymy przez współczynnik. Autor wybiera jeden z dwóch: pełną cenę, czyli 80% tej sumy, albo promocyjną, czyli 60%. Album zawsze wychodzi taniej niż kupowanie po jednym, bo tak jest zbudowany, a nie dlatego, że ktoś o tym pamiętał.

Dopóki album nie jest wydany, kwota podąża za listą utworów — dorzucasz piosenkę, album jest wart więcej. Od momentu wydania cena zostaje przypięta i może już tylko spaść. Kiedy utwór z albumu potanieje, bo minął mu rok od premiery, potanieje też album.

Zakup albumu wreszcie daje utwory z albumu

A teraz część, która nam się nie podobała najbardziej. Zakup albumu zapisywał zamówienie i na tym się kończył. Nic nie łączyło tego zamówienia z dostępem do piosenek. Można było kupić cały album i dalej płacić za słuchanie każdego utworu z niego z osobna.

Teraz posiadanie albumu znaczy posiadanie jego utworów. Idzie za tym druga rzecz: jeśli zanim kupiłeś album, słuchałeś już z niego pojedynczych piosenek albo kupiłeś którąś osobno, to wszystko odejmuje się od ceny albumu. Za tę samą muzykę płaci się raz.

Cztery ciche awarie

Żadna z nich się nie objawiała. Wszystkie siedziały w kodzie i czekały.

Tabela obserwujących album nigdy nie powstała. Kod pytał bazę o listę osób obserwujących album, a takiej tabeli po prostu nie było. Zapytanie leciało wyjątkiem wewnątrz bloku, który wyjątki połyka i zapisuje do logu, więc na zewnątrz wszystko wyglądało normalnie. Skutek: wydanie albumu nie trafiało do tablicy nikogo, kto go obserwuje. Cisza, o której nikt by się nie dowiedział, bo formalnie nic się nie psuło.

Kwota zamówienia była liczbą całkowitą. Wszystkie inne kolumny pieniężne trzymają cztery miejsca po przecinku; ta jedna została przeoczona podczas porządkowania i została przy liczbach całkowitych. Album za 12,50 monety kosztował dwanaście. Ceny wyliczane z zawartości są z natury ułamkowe, więc trzeba to było naprawić, zanim cokolwiek ruszy.

Odpowiedź po udanym zakupie wywalała się na brakującym imporcie. Monety schodziły z konta, zamówienie się zapisywało, a potem serwer próbował sformatować datę klasą, której w tym miejscu nie widział, i zwracał błąd. Z perspektywy kupującego: zapłaciłem i dostałem komunikat o awarii.

Do zakupu albumu nie prowadziła żadna trasa. Metody obsługujące zakup i pre-order istniały w kodzie od dawna, ale nic ich nie wywoływało — nie było adresu, pod który przeglądarka mogłaby się zgłosić. To zresztą wyjaśnia, dlaczego trzy poprzednie usterki nigdy nikogo nie dotknęły: albumu i tak nie dało się kupić. Teraz trasy są podpięte, a wszystko po drodze naprawione.

Dlaczego o tym piszemy

Można było wydać poprawki po cichu. Wolimy inaczej: kiedy w grę wchodzą cudze pieniądze, warto pokazywać nie tylko to, co dodaliśmy, ale też co znaleźliśmy przy zaglądaniu pod podłogę. Nikt nie stracił na tym ani grosza — sprawdziliśmy — i właśnie dlatego można o tym opowiedzieć spokojnie.

📚 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.