Co nowego
Historia wersji portalu i plan na kolejne.
Dziennik zmian — Krótkofalówka
Format: Keep a Changelog, wersje: MAJOR.MINOR.PATCH.
Każda wersja = tag w gicie (git tag), wdrażana skryptem tools/deploy.sh.
[0.58.1] — 2026-10-04
Zmienione
- „Portal w liczbach” pokazuje tylko wartości od 10 wzwyż (małe liczby na starcie zniechęcały); pojawią się same, gdy portal urośnie.
[0.58.0] — 2026-10-04
Zmienione
- Nowa kolejność strony głównej — najpierw to, co osobiste i codzienne: Twój dzień → W eterze → Nauka do egzaminu (z widocznym nagłówkiem) → Pytanie dnia → Aktualności → Najbliższe egzaminy i kategorie → Propagacja. Pytanie dnia i aktualności wyrównane do lewej jak reszta strony.
[0.57.0] — 2026-10-04
Poprawione (wygoda na telefonie)
- Na ekranach dotykowych przyciski, pola i listy mają co najmniej 40 px wysokości, pola wyboru są większe; znaczniki pasm na skali radia mają większy, niewidoczny obszar dotyku.
- „Co nowego” nie przewija się już w bok na telefonie (kolumny i tabela planu dopasowują się do ekranu); długie słowa w tekstach się łamią.
Techniczne
- Test
tools/testy/telefon.mjs: wszystkie strony z mapy strony na szerokości 390 px — poziome przewijanie, elementy wystające poza ekran, za małe cele dotykowe (dołączony dowszystko.sh).
[0.56.0] — 2026-10-04
Dodane
- Egzamin próbny zlecany przez prowadzącego kurs: termin i notka dla kursantów, odwołanie zlecenia; kursanci widzą prośbę na stronie kursów i na stronie głównej (z linkiem do egzaminu próbnego); prowadzący widzi kolumnę „Zlecony egzamin” — wynik egzaminu zrobionego po zleceniu (zdany/niezdany, punkty) albo „jeszcze nie”.
Techniczne
- Migracja
1700000026_course_exam.js(courses.exam_from/exam_until/exam_note; course_progress z ostatnim egzaminem). Test:kurs-egzamin-e2e.mjs.
[0.55.0] — 2026-10-04
Dodane
- Konkurs miesiąca „Łowca kwadratów” (zakładka w Rankingu): różne duże kwadraty lokatora, stacje, łączności i pasma z dziennika w bieżącym miesiącu (bez nasłuchów); tylko osoby ze zgodą na ranking; link do rankingu telegrafii.
Techniczne
- Widok
log_month(migracja1700000025_log_month.js). Test:miesiac-e2e.mjs.
[0.54.0] — 2026-10-04
Dodane
- Etykiety QSL do druku w dzienniku: łączności oznaczone „QSL do wysłania” drukowane na arkuszu etykiet A4 3×8 (70×37 mm) — adresat, data, UTC, MHz, emisja, RST, „TNX QSO · PSE QSL · 73 de [twój znak]” (dla nasłuchów „SWL report”); po wydruku jedno kliknięcie oznacza je jako wysłane.
Techniczne
- Test drukowania przez prawdziwy PDF (
etykiety-e2e.mjs); pomocnik testów ponawia połączenie podczas restartu serwera.
[0.53.0] — 2026-10-04
Dodane
- Pierwsza stacja (
/pierwsza-stacja/): doradca sprzętu — co chcesz robić (przemienniki, DX na KF, cyfrowe, satelity, teren, nasłuch), kategoria, budżet → rodzaj radia (ręczne UKF, mobilne/bazowe, KF, zestaw QRP, odbiornik SDR) z przykładami popularnych modeli (bez cen); kroki od świadectwa do znaku w UKE (wybór znaku, wniosek, opłaty — z linkami do aktualnych informacji UKE). Linki ze ścieżki „Od zera” i Poradnika.
[0.52.0] — 2026-10-04
Dodane
- Wyszukiwarka portalu (
/szukaj/, lupka w menu, klawisz/na każdej stronie): strony i narzędzia, pojęcia ze słowniczka, tematy egzaminu i wszystkie pytania egzaminacyjne naraz; wyróżnianie trafień, ranking (tytuł waży więcej), bez polskich znaków też działa („lacznosc” = „łączność”). Kliknięcie pytania otwiera bazę pytań z tą frazą.
Techniczne
- Spis stron
src/data/strony.ts(przy nowej stronie — dopisać!); baza pytań obsługuje?q=. Test:szukaj-portal-e2e.mjs.
[0.51.0] — 2026-10-04
Dodane
- Ranking treningu znaków w CW: wyniki zalogowanych zapisują się na koncie; w rankingu (najlepszy wynik i najwyższe tempo) tylko osoby z włączoną zgodą na ranking w profilu.
Bezpieczeństwo
- Wyniki z granicami sensowności po stronie serwera (≤ 18 000 pkt, ≤ 60 sł./min — nierealne odrzucane, test), limit 30 zapisów/h.
Techniczne
- Migracja
1700000024_cw_scores.js(cw_scores, widok cw_ranking). Test:cwrank-e2e.mjs.
[0.50.0] — 2026-10-04
Dodane
- Parki POTA w Polsce (
/pota/): mapa 2975 parków programu PL (kolor wg liczby aktywacji, czerwone — nigdy nieaktywowane), lista najbliższych twojemu QTH z odległością, filtr „tylko nigdy nieaktywowane”, wyszukiwanie po nazwie/numerze/województwie, aktywacje w Polsce na żywo (co 2 min), linki do pota.app.
Techniczne
- Hook
pota.pb.js(GET /api/kf/pota-pl): lista parków pobierana przez serwer raz na dobę i odchudzona (800 KB → 90 KB po kompresji). Polskie parki mają prefiks PL (nie SP). Test:pota-e2e.mjs.
[0.49.0] — 2026-10-04
Dodane
- Statystyki dziennika: wykres łączności w ostatnich 12 miesiącach, pora łączności (UTC) z „najlepszą godziną” dla najczęstszych pasm, rozkład pasm, emisji i najczęstszych krajów.
[0.48.0] — 2026-10-04
Dodane
- Planer anten (
/anteny/, link w Narzędziach): dipol, inverted-V, GP z radialami, pętla delta, EFHW, dipol pętlowy — wymiary do cięcia, impedancja, sposób zasilania (balun, transformator λ/4 z wybranego kabla, 49:1), wskazówki montażu, szkic SVG i tabela dla 13 pasm (160 m – 70 cm).
[0.47.0] — 2026-10-04
Dodane
- Tryb „Błędy z egzaminów próbnych” w treningu: pytania źle odpowiedziane na egzaminach próbnych (zapamiętywane w przeglądarce, także dla gości, oraz z konta); po egzaminie próbnym przycisk „Ćwicz błędy z egzaminu”. Poprawna odpowiedź na kolejnym egzaminie zmniejsza licznik błędu.
- Tryb „Ostatnia prosta”: tylko pytania jeszcze nieopanowane. Na stronie głównej w ostatnim tygodniu przed egzaminem karta „dni do egzaminu” prowadzi prosto do tego trybu.
[0.46.0] — 2026-10-04
Dodane
- Ściana sukcesów (
/sukcesy/): zdany egzamin, nowy znak, pierwsza łączność, rzadki DX, dyplom — wpis z krótkim opisem, „🎉 Gratulacje” od innych (licznik); moderacja w panelu admina (usuwanie wpisów). - Mentorzy (
/mentorzy/): w profilu „Pomogę nowym” + notka; lista mentorów od najbliższego (po lokatorze 4-znakowym) z linkiem do wyszukiwarki znaków. - Rząd „Społeczność” na stronie głównej (sukcesy, mentorzy, kursy, wydarzenia, wizytówki, od zera do QSO).
Prywatność i bezpieczeństwo
- Publicznie tylko znak/pseudonim z konta, lokator 4-znakowy i treści wpisane przez użytkownika (test: brak e-maili i dokładnego QTH); limity: 5 wpisów na dobę, 120 gratulacji/h; jedna gratulacja na wpis od osoby. Polityka prywatności uzupełniona.
Techniczne
- Migracja
1700000023_community.js(wins, win_likes, widoki wins_public i mentors; users.mentor, users.mentor_note). Test:spolecznosc-e2e.mjs.
[0.45.0] — 2026-10-04
Dodane
- Od zera do pierwszego QSO (
/start/): 10 kroków z opisem i linkami — poznaj krótkofalarstwo, nasłuch, nauka, egzamin próbny, zapis i egzamin w UKE, pozwolenie i znak, pierwsze radio, pierwsza łączność, klub. Pasek postępu, podświetlony następny krok; kroki zaliczane automatycznie: nauka (gotowość ≥ 50%), zdany egzamin próbny, znak w profilu, pierwsza łączność w dzienniku, klub w profilu. Linki ze strony głównej i działu Egzamin.
[0.44.0] — 2026-10-04
Dodane
- Kto jest w eterze (
/qrv/): ogłoszenia „słucham teraz” (30 min–4 h) i umówione łączności (do 14 dni naprzód) — częstotliwość, emisja, uwagi; lista „teraz” i „umówione”, mapa (lokator 4-znakowy), odświeżanie co minutę, zakończenie własnego ogłoszenia. Skróty na stronie głównej i na pulpicie.
Bezpieczeństwo i prywatność
- Znak przy ogłoszeniu pochodzi z konta (widok
qrv_public) — nie da się podszyć; publicznie bez e-maila i dokładnego QTH; ogłoszenie w cudzym imieniu odrzucane (test); limit 20 ogłoszeń/h; wygasłe ogłoszenia znikają z widoku automatycznie.
Techniczne
- Migracja
1700000022_qrv.js. Test:qrv-e2e.mjs.
[0.43.0] — 2026-10-04
Dodane
- Pulpit dnia (
/pulpit/, w menu): czas UTC i lokalny, SFI, Kp, QTH; potrzebne spoty (zalogowani — z porównaniem z dziennikiem); najbliższe przeloty satelitów FM nad twoim QTH; najbliższe zawody; wydarzenia klubowe; aktualności PZK i PK-UKF; skrót nauki (powtórki, cel, seria). Odświeża się samo.
Poprawione
- Kalendarz zawodów: „jutro/za N dni” liczone po dniach kalendarzowych (zawody później tego samego dnia to „dziś”).
Techniczne
- Wspólne moduły
src/scripts/contests.ts(reguły zawodów) isrc/scripts/passes.ts(najbliższe przeloty). Test:pulpit-e2e.mjs(też szerokość menu 1200–1440 px).
[0.42.0] — 2026-10-04
Dodane
- Potwierdzenia QSL w dzienniku: import pliku z LoTW (
lotwreport.adi) lub eQSL (Inbox ADIF) — rozpoznawany automatycznie; dopasowanie po znaku, paśmie, grupie emisji (fonia/CW/cyfrowe) i czasie ±30 min, jak w LoTW. Bez haseł do zewnętrznych serwisów. - Status karty papierowej: „do wysłania” / „wysłana” i „otrzymana” w formularzu; znaczki w tabeli (L — LoTW, e — eQSL, Q — karta, → — do wysłania); filtr: potwierdzone / niepotwierdzone / QSL do wysłania.
- Dyplomy: przeprowadzone i potwierdzone — DXCC i kontynenty liczone też z samych potwierdzonych łączności.
- Eksport ADIF z polami LOTW_QSL_RCVD i EQSL_QSL_RCVD.
Techniczne
- Migracja
1700000021_qsl_conf.js(qsos.lotw_rcvd,qsos.eqsl_rcvd). Test:qsl-conf-e2e.mjs.
[0.41.0] — 2026-10-04
Dodane
- „Potrzebne!” w spotach (zalogowani): każdy spot DX i POTA porównany z twoim dziennikiem — „nowy kraj” (brak łączności z tym krajem) lub „nowe pasmo” (kraj jest, ale nie na tym paśmie), podświetlenie wierszy, filtr „tylko potrzebne”.
- Powiadomienia w przeglądarce o nowym potrzebnym spocie (po włączeniu przyciskiem, gdy karta jest otwarta).
- „+ log” przy spocie: otwiera dziennik z wypełnionym znakiem, częstotliwością, pasmem i emisją oraz podpowiedzią kraju.
- Kraje i kontynenty spotów (także POTA) według BIG cty.dat, po polsku.
[0.40.0] — 2026-10-04
Dodane
- Polskie krótkofalarstwo (
/linki/, pomysł Błażeja): aktualności na żywo z kanałów RSS PZK, PK-UKF i Krótkofalowców Dębica (tylko nagłówki z linkami do źródeł, odświeżane co 30 min, wpisy starsze niż rok ukryte) + katalog polskich serwisów w kategoriach (organizacje, zawody i dyplomy, nauka/media/kluby); serwisy światowe niżej. - Aktualności na stronie głównej: 3 najnowsze komunikaty PZK i świeże wpisy innych serwisów.
Poprawione
- Link SP DX Contest prowadzi znów do spdxcontest.pzk.org.pl (spdxc.org to SP DX Club — inna organizacja; pomyłka z v0.21).
Techniczne
- Hook
pocketbase/pb_hooks/news.pb.js(GET /api/kf/news): pobieranie RSS przez serwer, przekodowanie ISO-8859-2 (PZK), pamięć w kolekcjicache. Wszystkie adresy w katalogu sprawdzone (HTTP 200). Test:linki-e2e.mjs.
[0.39.0] — 2026-10-04
Dodane
- Wyszukiwarka znaków (
/znak/): dla dowolnego znaku — kraj (DXCC, prefiks), kontynent, strefy CQ/ITU, kierunek anteny i odległość od twojego lokatora (krótka i długa droga), twoje łączności z tą stacją, wizytówka użytkownika portalu, linki QRZ.com, HamQTH, QRZCQ, PSK Reporter. Szukanie użytkowników także po numerze SWL, pseudonimie i „innym znaku”. - Pole profilu „Inny znak lub identyfikator” (np. Plan Awaryjny, CB) — widoczne i wyszukiwalne tylko w publicznej wizytówce.
- Znaki w spotach i w dzienniku prowadzą do wyszukiwarki.
Prywatność
- Polityka uzupełniona o kursy (prowadzący widzi postęp kursanta) i nowe pola profilu.
Techniczne
cty.json: strefy CQ/ITU i współrzędne kraju; migracja1700000020_other_call.js. Test:szukaj-e2e.mjs.
[0.38.0] — 2026-10-04
Dodane
- „Twój dzień” na stronie głównej: dla nowego gościa przewodnik w 3 krokach (trening, plan, konto); dla uczącego się — ile pytań czeka teraz na powtórkę, postęp dziennego celu, seria, opanowane i jeszcze niewidziane pytania, dni do egzaminu (wyróżnione w ostatnim tygodniu). Każda karta prowadzi prosto do działania.
- Wyzwanie tygodnia dla wszystkich: wspólny cel odpowiedzi w treningu (pon.–niedz.), pasek postępu, liczba uczących się; cel rośnie o 20% względem poprzedniego tygodnia (min. 1000).
Techniczne
/api/kf/stats: polaweek,prevWeek,weekLearners,weekGoal. Test:dzien-e2e.mjs.
[0.37.0] — 2026-10-04
Dodane
- CB radio i PMR (
/cb-pmr/, pomysł Błażeja; skrót na stronie głównej w „W eterze”): CB 27 MHz bez pozwolenia — pasmo, moce (AM/FM 4 W, SSB 12 W PEP), kanał 9 ratunkowy i 19 drogowy, tabela 40 kanałów w normie PL („zera”) i EU („piątki”) z uwagą o kanałach 23–25, antena i strojenie SWR, ASQ/RF Gain, AM czy FM, żargon CB; PMR446 — 16 kanałów, 0,5 W, stała antena, podkanały CTCSS/DCS (to filtr, nie prywatność), dPMR/DMR446, ostrzeżenie dla radiotelefonów amatorskich; zachęta do egzaminu i klubów. - Linki z Pasm i strony FT-70DE.
Poprawione (narzędzia testowe)
admin_lokalny.pyodnawia wygasłą sesję admina — wcześniej sprzątanie kont testowych po cichu nie działało, przez co kolejne testy nie mogły założyć kont.
[0.36.0] — 2026-10-04
Dodane
- Słowniczek (
/slownik/): 73 pojęcia — anteny i linie, propagacja, technika, emisje, operowanie, przepisy i bezpieczeństwo; wyszukiwarka, spis liter, linki do haseł (#hasło). - „Pojęcia:” pod wyjaśnieniem pytania w treningu, bazie pytań i egzaminie próbnym — linki do haseł z danego pytania (447 z 521 pytań kat. 1), z definicją w podpowiedzi po najechaniu.
[0.35.0] — 2026-10-04
Dodane
- Nauka ze słuchu (
/egzamin/sluchanie/): syntezator mowy czyta pytanie i odpowiedzi A/B/C, czeka 3–8 s na odpowiedź w myślach, podaje poprawną z wyjaśnieniem; najpierw nieopanowane pytania; wybór kategorii, przedmiotu lub tematu i tempa mowy; jednostki czytane po polsku (Ω → omów, MHz → megaherców…); pytania z rysunkami pomijane. Test z atrapą syntezatora:sluchanie-e2e.mjs.
[0.34.0] — 2026-10-04
Dodane
- Znaki wywoławcze w CW (
/cwiczenia/znaki-cw/) w stylu RufzXP: 25 znaków (polskie, zagraniczne lub mieszane), tempo startowe 12–35 słów/min, +2 po poprawnym odbiorze, −2 po błędzie; punkty = długość znaku × tempo (połowa przy powtórce F6); tabela z podświetlonymi błędnymi znakami; rekord w przeglądarce. Test:rufz-e2e.mjs.
[0.33.0] — 2026-10-04
Dodane
- Szara linia i warunki (
/propagacja/): mapa świata z nocą i szarą linią liczonymi na żywo (położenie Słońca w przeglądarce), zegar UTC i lokalny, wschód/zachód Słońca w twoim QTH i alarm „szara linia!”, dane NOAA (SFI, Kp, klasa promieniowania X / rozbłyski, szansa zorzy) i orientacyjna ocena pasm 160–10 m z uwzględnieniem pory dnia, SFI i burz geomagnetycznych.
Bezpieczeństwo
- CSP: dopisane
services.swpc.noaa.gov(dane NOAA, CORS) — sprawdzone testem CSP.
[0.32.0] — 2026-10-04
Dodane
- Kursy klubowe (
/kurs/): prowadzący tworzy kurs (kat. 1 lub 3) i dostaje 6-znakowy kod; kursanci dołączają kodem. Prowadzący widzi dla każdego kursanta: gotowość (S-metr i szansa zdania), opanowane pytania, najsłabszy przedmiot, odpowiedzi w 7 dni, egzaminy próbne, ostatnią aktywność; może usunąć kursanta lub kurs. Kursant widzi swoje kursy i może je opuścić. - Tryb rzutnika (
/egzamin/rzutnik/, przycisk przy każdym temacie): pełny ekran, ściąga tematu i pytania dużą czcionką, spacja odsłania odpowiedź z wyjaśnieniem, strzałki i klawisz F.
Prywatność i bezpieczeństwo
- Postęp kursanta widzi wyłącznie prowadzący jego kursu i tylko po dołączeniu kodem (zgoda opisana przy formularzu). Lista kursów nie jest publiczna; dołączenie tylko przez serwer (
POST /api/kf/kurs/dolacz, wymaga logowania, limit 20/min). Testy: obcy i anonim nie widzą kursów ani postępów, nie da się dopisać bez kodu.
Techniczne
- Migracja
1700000019_courses.js(courses, course_members, widok course_progress), hookkurs.pb.js. Testy:kurs-e2e.mjs,rzutnik-e2e.mjs.
[0.31.0] — 2026-10-04
Poprawione (znalezione przez nowy pełny test)
- Profil konta: dane doczytywane z serwera w tle nie nadpisują już pól, które właśnie edytujesz, a „Zapisz profil” jest aktywny dopiero po wczytaniu profilu (wcześniej szybki zapis mógł wyczyścić znak lub pseudonim).
- Kluby: czytelny komunikat przy próbie dołączenia do 11. klubu (limit 10) zamiast błędu technicznego.
Dodane (narzędzia)
- Pełny test portalu
tools/testy/wszystko.sh: „klikacz” (66 stron, ~250 kliknięć każdego przycisku jako zalogowany użytkownik, kontrola 144 linków i obrazków) + 14 testów funkcji; podsumowanie OK/BŁĄD. Lokalnie na czas testów podnosi limity rejestracji i przywraca je po zakończeniu.
[0.30.0] — 2026-10-04
Dodane
- Przypomnienia w kalendarzu telefonu (.ics, bez powiadomień push): codzienna nauka o wybranej godzinie aż do dnia egzaminu i termin egzaminu w UKE (przypomnienie dzień i 2 godziny wcześniej) — w planie nauki; przelot satelity z przypomnieniem 10 minut przed — na stronie satelitów.
tools/panele-serwera.command— panele NPM, Portainer i Uptime Kuma przez tunel SSH (przygotowanie do zamknięcia ich portów w zaporze).
Techniczne
src/scripts/ics.ts(wspólny generator kalendarza). Test:tools/testy/ics-e2e.mjs.
[0.29.0] — 2026-10-04
Dodane
- Fiszki (
/cwiczenia/fiszki/): kod Q, skróty operatorskie, alfabet ITU i kod Morse’a z powtórkami (Leitner), tryb odwrotny, skróty klawiszowe (spacja, 1, 2), postęp w przeglądarce. Test:tools/testy/fiszki-e2e.mjs.
[0.28.0] — 2026-10-04
Dodane
- Karty QSL z dziennika: przycisk „QSL” przy każdym wpisie — karta PNG 1500×950 (proporcje 140×90 mm) do druku lub wysłania: mój znak/numer SWL, pseudonim, lokator, adresat, tabela DATE/UTC/MHz/BAND/MODE/RST. Dla nasłuchów karta nasłuchowa („SWL report — Heard you in QSO with …”, PSE QSL).
Techniczne
src/scripts/qslcard.ts.
[0.27.0] — 2026-10-04
Dodane
- Dziennik nasłuchów (SWL) w dzienniku łączności: przełącznik „Nasłuch (SWL)” — usłyszana stacja, jej korespondent i mój raport odbioru; włącza się sam dla kont z numerem nasłuchowym bez znaku. W tabeli oznaczenie SWL i „↔ korespondent”.
- ADIF: pole
SWL=Y, korespondent w komentarzu („QSO z …”, odczytywany przy imporcie), znak stacji = numer nasłuchowy, gdy brak znaku; CSV z kolumnami swl i qso_with.
Techniczne
- Migracja
1700000018_swl.js(qsos.swl,qsos.qso_with). Test:tools/testy/swl-e2e.mjs.
[0.26.0] — 2026-10-04
Bezpieczeństwo
- Content-Security-Policy: skrypty, style i czcionki wyłącznie z portalu; z zewnątrz tylko kafelki OpenStreetMap, panel propagacji hamqsl.com i API spotów (HamQTH, POTA);
object-src 'none',base-uri/form-action 'self',frame-ancestors 'self',upgrade-insecure-requests. Sprawdzone na 20 stronach — zero naruszeń. - Nowe nagłówki:
Permissions-Policy(GPS tylko dla portalu; kamera, mikrofon, płatności wyłączone),Cross-Origin-Opener-Policy, HSTS zincludeSubDomains. - Nagłówki bezpieczeństwa także dla plików z
/data/,/sw.jsi plików statycznych (wcześniejadd_headerw tych sekcjach je kasował). - Twarde limity zapytań na adres IP: logowanie admina 5/min, logowanie użytkowników 20/min, rejestracje 10/h, zgłoszenia błędów 20/h, nowe kluby 5/h, licznik odwiedzin 60/min.
- Przegląd reguł dostępu: anonim nie widzi kont, postępów, egzaminów, zgłoszeń ani statystyk; nie da się założyć konta oznaczonego jako zweryfikowane.
Techniczne
nginx-security.conf(produkcja) inginx-security.local.conf(bez HSTS i wymuszania https), dołączane jako/etc/nginx/snippets/security.conf. Migracja1700000017_security.js. Test CSP:tools/testy/csp-local.mjs.
[0.25.1] — 2026-10-04
Bezpieczeństwo
- Linki podane przez użytkowników (strona wydarzenia, strona klubu) w panelu admina i na stronie wydarzeń przepuszczane tylko jako http(s) — adres
javascript:nie może uruchomić kodu po kliknięciu (zgłoszenie automatycznego przeglądu bezpieczeństwa).
[0.25.0] — 2026-10-04
Dodane
- Panel admina po polsku (
/panel/w PocketBase, tylko przez tunel): odwiedzający i wyświetlenia (wykres 30 dni, najczęściej oglądane strony, skąd przychodzą), konta, wydarzenia do zatwierdzenia (Zatwierdź/Odrzuć), zgłoszenia błędów w pytaniach (Przyjęte/Odrzucone), kluby dodane przez użytkowników (Usuń), kopie zapasowe (lista + „Utwórz kopię teraz”). - Uruchamianie dwuklikiem:
Panel admina.commandw folderze krotkofalowka — sam zestawia tunel SSH i otwiera panel. - Odwiedzający dziennie (osoby) obok wyświetleń stron — przeglądarka pamięta, że dziś już się policzyła; serwer nie dostaje identyfikatora.
Zmienione
- Polityka prywatności: administrator danych Błażej Wiecha, blazej.wiecha@pm.me; informacja o dziennikach serwera.
- „Portal w liczbach”: odwiedziny = osoby, osobno wyświetlenia stron.
Techniczne
pocketbase/pb_public/panel/index.html(PocketBase--publicDir); publiczny portal przekazuje do PocketBase tylko/api/, więc/panel/i/_/nie są dostępne z internetu. Migracja1700000016_visitors.js.
[0.24.0] — 2026-10-04
Dodane
- Polskie nazwy krajów DXCC (307 z 340; rzadkie wysepki po angielsku) — w dyplomach i dzienniku.
- Kraj przy znaku w tabeli dziennika i podpowiedź podczas wpisywania: kraj, kontynent i „nowy kraj w dzienniku!”.
- „Twój tydzień” na stronie konta: odpowiedzi w 7 dni (z porównaniem do poprzedniego tygodnia), dni z nauką, najlepszy egzamin próbny tygodnia, szansa zdania i przyrost opanowanych pytań względem migawki sprzed tygodnia, wskazówka, co ćwiczyć.
Techniczne
tools/cty_pl.mjs: dopasowanie nazw cty.csv do kodów ISO przezIntl.DisplayNames+ ręczny słownik regionów DXCC (Rosja europejska/azjatycka, Anglia, Sardynia…). Kolejność aktualizacji:build_cty.py→cty_pl.mjs.- Migawki gotowości w
localStorage(kf-week-snaps, 30 dni, osobno dla kat. 1 i 3). Test:tools/testy/v024-e2e.mjs.
[0.23.0] — 2026-10-04
Dodane
- Wydarzenia klubowe (
/wydarzenia/): lista nadchodzących zbiórek, kursów, field day, aktywności i spotkań z mapą. Zalogowani zgłaszają wydarzenia (miejsce można zaznaczyć na mapie); publicznie widoczne dopiero po zatwierdzeniu przez administratora, autor widzi swoje zgłoszenie i może je wycofać. - Linki z Klubów i Kalendarza zawodów.
Bezpieczeństwo
- Autor nie może sam zatwierdzić ani zmienić zatwierdzonego wydarzenia (reguły API, test); limit 5 zgłoszeń na godzinę; wydarzenia usuwane razem z kontem autora.
Techniczne
- Migracja
1700000015_events.js. Test:tools/testy/wydarzenia-e2e.mjs.
[0.22.0] — 2026-10-04
Dodane
- Kraje DXCC i kontynenty w dyplomach dziennika (cele 10/25/50/100 krajów jak dyplom DXCC; 6 kontynentów jak WAC). Rozpoznawanie kraju ze znaku według BIG cty.dat (country-files.com, licencja MIT): 340 krajów, 6290 prefiksów, 21 100 znaków specjalnych; obsługa OK/SP9ABC, /P, /MM.
Techniczne
tools/build_cty.py→public/data/cty.json(94 KB po kompresji, ładowany tylko w dzienniku) +public/data/cty-licencja.txt. Źródło:data/cty/(rozpakowany bigcty ZIP).
[0.21.0] — 2026-10-04
Dodane
- Portal w liczbach na stronie głównej: odwiedziny łącznie i dziś, konta, odpowiedzi w treningu, egzaminy próbne, łączności w dziennikach (same sumy; liczby zerowe ukryte; serwer przelicza co 5 min — hook
pocketbase/pb_hooks/stats.pb.js,GET /api/kf/stats). - Satelita AO-123 (ASRTU-1) na stronie satelitów; uwagi o stanie PO-101 i AO-27 według listy AMSAT.
Zmienione
- Link SP DX Contest prowadzi do oficjalnej strony spdxc.org.
[0.20.0] — 2026-10-04
Dodane
- Anonimowe statystyki odwiedzin: dzienne liczniki wyświetleń każdej strony, udział telefonów i domeny odsyłające. Bez IP, bez cookies, bez identyfikatora; roboty i przeglądarki testowe pomijane. Podgląd tylko w panelu admina (
hits,hits_daily).
Prywatność
- Polityka prywatności opisuje liczenie odwiedzin.
Techniczne
- Hook
pocketbase/pb_hooks/hits.pb.js(POST /api/kf/hit,navigator.sendBeaconwBase.astro), migracja1700000014_hits.js. Test:tools/testy/hit-e2e.mjs.
[0.19.0] — 2026-10-04
Dodane
- Publiczne wizytówki (
/znak/?c=ZNAK, katalog/znak/): znak, pseudonim, opis „O mnie”, sprzęt, kluby, lokator 4-znakowy, liczby z dziennika (łączności, stacje, pasma, kwadraty) i nauki (opanowane pytania, zdane egzaminy próbne). Włączane przełącznikiem w profilu — domyślnie wyłączone. - Pola profilu „Sprzęt” i „O mnie”.
Prywatność
- Widok
cardspokazuje tylko konta z włączoną wizytówką i tylko wymienione pola; dokładny lokator i e-mail nigdy. Opisane w polityce prywatności.
Techniczne
- Migracja
1700000013_cards.js. Test:tools/testy/znak-e2e.mjs; sprzątanie kont testowych:tools/testy/sprzatanie_lokalne.sh.
[0.18.0] — 2026-10-04
Dodane
- Sekcja „W eterze” na stronie głównej: skróty do spotów, satelitów, zawodów i dziennika.
- Seria pytania dnia — licznik kolejnych dni z odpowiedzią (w przeglądarce).
Serwer
- Portal widoczny z całego świata (wyjątek w geo-blokadzie NPM tylko dla tej subdomeny) — potrzebne dla Google Search Console i indeksowania.
[0.17.0] — 2026-10-04
Dodane
- Przełącznik motywu w stopce: automatyczny (wg systemu) → jasny → ciemny; wybór zapamiętany w przeglądarce, ustawiany przed wyrenderowaniem strony (bez mignięcia).
[0.16.0] — 2026-10-04
Dodane
- Pytanie dnia na stronie głównej: jedno pytanie kat. 1 dziennie (to samo dla wszystkich, wybierane z daty), odpowiedź z wyjaśnieniem „Dlaczego?”.
[0.15.1] — 2026-10-04
Zmienione
- Eksport przemienników do ADMS-10 (FT-70DE) oznaczony jako wersja eksperymentalna (format tonu i przesunięcia do potwierdzenia na radiu).
[0.15.0] — 2026-10-04
Kalendarz zawodów.
Dodane
- Kalendarz zawodów (
/zawody/): 12 najbliższych dużych zawodów (SP DX Contest, CQ WW, CQ WPX, IARU HF, IARU R1 VHF/UHF, ARRL DX) z czasem polskim, odliczaniem, oznaczeniem trwających, opisem wymiany i linkiem do regulaminu. - Eksport do kalendarza telefonu (.ics, pojedynczo lub wszystkie) z przypomnieniem 2 h przed startem.
- Linki w Narzędziach i na stronie Spoty.
[0.14.0] — 2026-10-04
Widoczność w wyszukiwarkach i ładne podglądy linków.
Dodane
sitemap.xml(wszystkie strony publiczne + 30 tematów, bez konta, offline, 404 i panelu prowadzącego quizu) irobots.txt.- Podglądy linków (Open Graph / Twitter): tytuł, opis, obrazek
og.png1200×630 w kolorach portalu — Facebook, Discord, Messenger, WhatsApp. - Adres kanoniczny na każdej stronie; dane strukturalne
WebSite(schema.org) na stronie głównej.
Techniczne
sitewastro.config.mjs= adres publiczny (można nadpisaćSITE_URL). Obrazek generujetools/testy/og-image.mjs(Playwright, kroje portalu).
[0.13.0] — 2026-10-04
Dyplomy i cele z dziennika.
Dodane
- Dyplomy i cele w dzienniku łączności: prefiksy (zasady WPX), duże kwadraty lokatora, okręgi SP0–SP9, różne polskie stacje, pasma, emisje — gwiazdki za progi, pasek postępu do następnego progu, lista zaliczonych.
Zmienione
- Licznik prefiksów w statystykach dziennika liczy według zasad WPX (
src/scripts/awards.ts).
[0.12.0] — 2026-10-04
Satelity FM.
Dodane
- Przeloty satelitów (
/satelity/): ISS, SO-50, AO-91, PO-101, AO-27 nad QTH (lokator, GPS lub lokator z profilu), 12/24/48 h, filtr wzniesienia. Szczegóły przelotu: tor na niebie (wykres azymut/wzniesienie), pozycja na żywo, częstotliwości odbioru i nadawania z poprawką Dopplera na początek/środek/koniec, tony CTCSS, poradnik pierwszej łączności z ręcznym radiem. - Linki do satelitów i spotów w Narzędziach i na stronie Spoty.
Zmienione
- Menu nie zawija się na ekranach 1180–1460 px.
Techniczne
- Pierwszy hook PocketBase:
pocketbase/pb_hooks/tle.pb.js—GET /api/kf/tlezwraca elementy orbitalne z CelesTrak (grupa amateur), pobierane przez serwer najwyżej co 12 h i trzymane w kolekcjicache(migracja1700000012_cache.js, bez reguł = tylko serwer). Dockerfile kopiujepb_hooks,--hooksDirw entrypoint. - Biblioteka
satellite.js(SGP4) — obliczenia w przeglądarce, 48 h dla 5 satelitów ~45 ms. Test:tools/testy/sat-e2e.mjs.
[0.11.0] — 2026-10-03
Przemienniki prosto do radia.
Dodane
- Eksport przemienników do radia (strona Przemienniki, sekcja „Wgraj przemienniki do radia”): z bieżącej listy (filtry, od najbliższego QTH/GPS), tylko dostępne analogowym FM i niewyłączone; 20/50/100/wszystkie, numer pierwszego kanału.
- CHIRP CSV — Baofeng, Quansheng, Kenwood, Icom i inne: przesunięcie +/−, ton CTCSS, krok kanału, opis z miejscowością i lokatorem.
- Yaesu ADMS-10 (FT-70DE) — wersja testowa: 900 pozycji po 53 pola jak w pliku odczytanym z radia, tylko 2 m i 70 cm.
- Link z poradnika FT-70DE do eksportu.
[0.10.0] — 2026-10-03
Kopie zapasowe poza serwerem.
Dodane
- Codzienne pobieranie kopii bazy kont z VPS na MacBooka (launchd
pl.krotkofalowka.kopie, 10:00 lub po wybudzeniu):~/KopieKrotkofalowka/serwer, 90 dni historii, test integralności ZIP, powiadomienie macOS, gdy kopia jest uszkodzona lub od 3 dni nie ma połączenia. - Skrypty:
tools/kopie_na_maca.sh,tools/zainstaluj_kopie_mac.sh.
[0.9.0] — 2026-10-03
Statystyki trudności pytań i monitoring.
Dodane
- Najtrudniejsze pytania (
/egzamin/trudne/): ranking pytań, na których najczęściej mylą się uczący się w portalu (osobno kat. 1 i 3), z poprawną odpowiedzią, rysunkiem i wyjaśnieniem. - Tryb treningu „Najtrudniejsze” — algorytm powtórek na puli trudnych pytań (≥ 35% uczących się pomyliło się choć raz).
- Oznaczenie „trudne: X% osób się myliło” przy pytaniu w treningu.
- Monitoring:
/healthzodpowiada 200 tylko wtedy, gdy działa i serwer stron, i baza — do monitora w Uptime Kuma.
Prywatność
- Statystyki są zbiorcze i anonimowe: publikowane tylko dla pytań przerobionych przez co najmniej 3 osoby. Opisane w polityce prywatności (razem z dziennikiem łączności i źródłami spotów).
Techniczne
- Migracja
1700000011_q_stats.js: widok SQLq_stats(json_each poprogress.data). Modułsrc/scripts/difficulty.ts(pamięć podręczna 30 min w sessionStorage). Test:tools/testy/trudne-e2e.mjs. - Poczta przeniesiona do v0.10 — czeka na konfigurację SMTP.
[0.8.0] — 2026-10-03
W eterze: dziennik łączności i spoty.
Dodane
- Dziennik łączności (
/log/, w menu „Dziennik”): szybki wpis (domyślnie bieżący czas UTC, pasmo z częstotliwości, RST zależny od emisji, zapamiętana ostatnia częstotliwość/emisja/moc), podpowiedź przy ponownej łączności z tą samą stacją (uzupełnia imię, QTH, lokator), wyszukiwanie i filtr pasma, edycja i usuwanie, statystyki (łączności, stacje, pasma, prefiksy, najdalsza łączność z lokatora w profilu), mapa łączności. - Eksport ADIF 3.1 (dla LoTW/TQSL, eQSL, QRZ, Club Log) i CSV; import ADIF z WSJT-X, N1MM, Log4OM (pomija duplikaty, obsługuje MODE/SUBMODE i znaki wielobajtowe).
- Spoty (
/spoty/): DX Cluster (HamQTH) i aktywacje parków POTA, filtry pasma, emisji i kontynentu, wyszukiwanie, odświeżanie co 2 minuty, znak prowadzi do QRZ.com. SOTA (SOTAwatch) i APRS (aprs.fi) jako linki — regulamin API SOTA nie pozwala na integrację bez zgody.
Zmienione
- Poradnik FT-70DE przeniesiony z menu do Poradnika („Pierwsza stacja”), żeby zmieścić nowe pozycje.
- Mapy Leaflet nie przykrywają już przyklejonego nagłówka.
Techniczne
- Migracja
1700000010_log.js: kolekcjaqsos(dostęp tylko właściciela, usuwana razem z kontem). Modułsrc/scripts/adif.ts. Test end-to-end:tools/testy/log-e2e.mjs.
[0.7.0] — 2026-10-03
Rywalizacja: ranking, wyzwanie klubów i quiz na zbiórki.
Dodane
- Ranking (
/ranking/): osoby i kluby wg liczby odpowiedzi z ostatnich 7 dni (cotygodniowe wyzwanie klubów), plus opanowane pytania. Udział wyłącznie za zgodą — przełącznik w profilu konta; widoczne tylko znak/pseudonim i liczby. - Quiz klubowy (
/quiz/prowadzacy/dla prowadzącego,/quiz/dla uczestników): prowadzący (zalogowany) wybiera kategorię, przedmiot lub temat, liczbę pytań i czas; uczestnicy dołączają z telefonu 4-cyfrowym kodem bez konta. Pytania na żywo (realtime), odliczanie, automatyczne odsłonięcie po odpowiedziach wszystkich, rozkład odpowiedzi, wyjaśnienie „Dlaczego?”, tabela prowadzących i podium. Punkty 500–1000 za poprawną odpowiedź zależnie od szybkości, liczone zegarem serwera.
Bezpieczeństwo
- Punkty zapisuje tylko prowadzący; uczestnik nie może ustawić punktów, odpowiedzieć poza pytaniem, dwa razy ani do cudzego pokoju; odpowiedzi widzi tylko prowadzący (testy reguł API).
- Wyższe limity zapytań dla odpowiedzi w quizie (cała sala za jednym routerem).
Techniczne
- Migracja
1700000009_ranking_quiz.js:users.ranking_optin, widoki SQLrankingiclub_ranking, kolekcjequiz_rooms,quiz_players,quiz_answers. Test end-to-end:tools/testy/quiz-e2e.mjs.
[0.6.0] — 2026-10-03
Ćwiczenia praktyczne: łączność, literowanie, telegrafia.
Dodane
- Ćwiczenia (
/cwiczenia/) w menu głównym (Linki przeniesione do stopki). - Symulator łączności QSO: 4 scenariusze — odpowiedź na CQ (stacja zagraniczna), własne wywołanie, praca przez przemiennik, stacja w niebezpieczeństwie. Losowe znaki, imiona, QTH i raporty; wybór relacji, wyjaśnienie po każdym kroku, zapis przebiegu łączności, opcjonalne czytanie relacji na głos.
- Alfabet ITU: trzy tryby — słuchaj i wpisz znak (synteza mowy), czytaj i wpisz znak, przeliteruj znak (akceptuje warianty: alpha/alfa, juliet/juliett, x-ray).
- Trener telegrafii (
/cwiczenia/cw/): metoda Kocha z automatycznym awansem przy ≥ 90%, nowy znak częściej w sesji, wykres trafności sesji, najczęściej mylone znaki, zapis na koncie.
Techniczne
- Wspólny moduł
src/scripts/morse.ts(Narzędzia i trener CW),src/scripts/qso.ts,src/scripts/cwprogress.ts; migracja1700000008_cw.js(progress.cw).
[0.5.0] — 2026-10-03
Aplikacja na telefon i nauka bez internetu.
Dodane
- PWA: manifest, ikony (w tym maskowalna i dla iOS), instalacja z przeglądarki („Zainstaluj aplikację” w stopce i na stronie
/aplikacja/z instrukcją dla Androida i iPhone’a), skróty do treningu, szybkiej sesji, egzaminu próbnego i konta. - Tryb offline (service worker generowany przy budowie,
/sw.js): po pierwszej wizycie działają bez sieci trening, baza pytań, egzamin próbny, tematy, plan, terminy, poradnik, pasma i narzędzia; strona/offline/dla niezapisanych stron; pasek „Brak internetu”. - Synchronizacja po powrocie zasięgu: postęp treningu i wyniki egzaminów próbnych zrobione offline trafiają na konto automatycznie.
Techniczne
- Strategie pamięci: strony i
/data/— najpierw sieć, potem pamięć;/_astro/, rysunki, fonty — najpierw pamięć;/api/zawsze przez sieć. Nazwa pamięci z numerem wersji — stara usuwana przy aktualizacji. sw.jszCache-Control: no-cache. Test w Chromium (Playwright w kontenerze): instalacja, 49 stron/danych + 73 zasoby w pamięci, 5 stron i odpowiedź w treningu bez sieci.
[0.4.0] — 2026-10-03
Nauka blokami i plan do terminu egzaminu.
Dodane
- Tematy (
/egzamin/tematy/): 30 mini-lekcji — każde z 878 pytań przypisane ręcznie do tematu (prawo Ohma, decybele, anteny, propagacja, kod Q, pozwolenia…). Ściąga na jeden ekran, postęp tematu, „Ćwicz ten temat”, nawigacja między tematami. - Filtr tematu w treningu (
?temat=…, baner z linkiem do ściągi) i w bazie pytań. - Plan nauki (
/egzamin/plan/): wybór sesji z harmonogramu UKE (najpierw z Twojego miasta) lub dowolnej daty; liczba dni, pytań do opanowania, potrzebnych odpowiedzi dziennie (z przyciskiem „Ustaw jako dzienny cel”), Twoje tempo z 7 dni, dwa S-metry (dziś / w dniu egzaminu przy obecnym tempie) i harmonogram: rezygnacja (−14 dni), zapisy (−7 dni), ostatnie 3 dni egzaminów próbnych, dzień przed, egzamin. Termin zapisywany na koncie. - Nowe skróty na stronie głównej (tematy, plan, szybkie 5 minut) i w dziale egzaminu.
Poprawione
- Pliki danych (
/data/*.json) nie są już trzymane w pamięci przeglądarki przez godzinę — po wdrożeniu nowa baza pytań wczytuje się od razu. - Panel konta pokazuje komunikat zamiast pustej strony, gdy serwer kont chwilowo nie odpowiada.
Techniczne
- Migracja
1700000007_exam_plan.js(users.exam_date,users.exam_place). Tematy:data/tematy/tematy.json(ściągi) +data/tematy/przydzial.txt(przydział pytań), łączone wtools/build_bank.py.
[0.3.0] — 2026-10-03
Motywacja: widać postęp i chce się wracać codziennie.
Dodane
- S-metr gotowości (S1 … S9+40) w treningu i na koncie — szacowana szansa zdania egzaminu: dla każdego przedmiotu prawdopodobieństwo ≥ 6/8 z poziomu opanowania pytań, potem iloczyn. Paski szans dla 4 przedmiotów, wskazanie najsłabszego.
- Dzienny cel (10/20/40/60 odpowiedzi, zapisywany na koncie) i seria dni z kalendarzem ostatnich 5 tygodni; powiadomienie po wykonaniu celu.
- Odznaki (14): pierwsze odpowiedzi, 100 i 1000 odpowiedzi, serie 3/7/30 dni, opanowanie każdego przedmiotu, S9, pierwszy zdany próbny, 3 zdane z rzędu, egzamin bez błędu. Powiadomienie przy zdobyciu.
- Karta QSL (PNG) do pobrania po zdanym egzaminie próbnym (także z historii na koncie) — ze znakiem/SWL, wynikami przedmiotów i lokatorem.
- Lokalna historia egzaminów próbnych — odznaki działają także bez konta.
Techniczne
- Migracja
1700000006_motivation.js:progress.days(dzienne liczniki),users.daily_goal. - Nowe moduły:
src/scripts/stats.ts(gotowość, seria, odznaki, S-metr SVG),src/scripts/qsl.ts(karta QSL na canvasie).
[0.2.0] — 2026-10-03
Szybsza nauka: wyjaśnienia do każdego pytania i krótkie tryby treningu.
Dodane
- „Dlaczego?” — własne wyjaśnienie do każdego z 878 pytań (przy obliczeniach rozwiązanie krok po kroku). Widoczne po odpowiedzi w treningu, po odsłonięciu w bazie pytań, w przeglądzie egzaminu próbnego i w „trudnych pytaniach” na koncie.
- Tryby treningu: „Szybkie 5 minut” (10 pytań z wynikiem), „Tylko moje błędy”, „Tylko pytania ze schematami”. Tryb zapamiętywany w adresie (
?tryb=…). - „Zgłoś błąd w pytaniu” pod każdym pytaniem — zgłoszenia trafiają do bazy (kolekcja
reports, widoczna tylko dla administratora). - Numer wersji w stopce i strona „Co nowego” (
/zmiany/) z historią wersji i planem rozwoju. - Wersjonowanie w gicie z tagami (
v0.1.0,v0.2.0…).
Zmienione
- Trening: licznik „przerobione / opanowane” i trójkolorowy pasek postępu; komunikat, gdy użytkownik nie jest zalogowany.
- Algorytm powtórek dopracowany pod najszybsze opanowanie (symulacja 300 odpowiedzi: 92 przerobione / 73 opanowane, wcześniej 75 / 62).
[0.1.0] — 2026-10-03
Pierwsza wersja publiczna (https://krotkofalowka.blazej-ora-cloud.ddnsgeek.com).
Dodane
- Baza 878 pytań UKE (kat. 1: 521, kat. 3: 357) z wyszukiwarką i 66 schematami z PDF; własny klucz odpowiedzi (9 spornych oznaczonych).
- Trening z powtórkami w rosnących odstępach (przeplatanie, priorytet błędów, wyrównywanie tempa przedmiotów).
- Egzamin próbny wg zasad od 1.05.2026 (4×8 pytań, 8 min, próg 6/8).
- Konta (PocketBase): profil, znak wywoławczy/SWL, lokator, kluby; statystyki egzaminów i nauki.
- Terminy egzaminów 2026 (235 sesji), przepisy (Dz.U. 2026 poz. 406), proces uzyskania pozwolenia, formularze UKE.
- Pasma (KTPC + bandplan IARU R1) ze skalą strojenia, 600 przemienników z mapą (przemienniki.eu), 539 klubów (rejestr UKE).
- Narzędzia: kalkulatory, lokator QTH, trener CW, zegar UTC; poradnik operatora; strona FT-70DE.
- Wdrożenie: nginx + PocketBase w Dockerze, za Nginx Proxy Managerem; HTTPS wymuszone; kopie zapasowe bazy codziennie.
Plan rozwoju
Kolejność ustalona 2026-10-03. Każdy punkt = osobna wersja, po wdrożeniu odhaczamy i dopisujemy do CHANGELOG.md.
| Wersja | Zakres | Status |
|---|---|---|
| v0.1 | Pierwsza wersja publiczna | ✅ wdrożona |
| v0.2 | „Dlaczego?” — wyjaśnienia do pytań · szybkie tryby (5 min, moje błędy, schematy) · „Zgłoś błąd w pytaniu” | ✅ wdrożona |
| v0.3 | S-metr gotowości, serie dni, dzienny cel, odznaki · karta QSL za zdany egzamin próbny | ✅ wdrożona |
| v0.4 | Mini-lekcje tematyczne (ściągi + trening tematu) · plan nauki do terminu egzaminu i prognoza zdania | ✅ wdrożona |
| v0.5 | Aplikacja na telefon (PWA, nauka offline) | ✅ wdrożona |
| v0.6 | Symulator łączności QSO · trener alfabetu ITU ze słuchu · trener CW z postępem na koncie | ✅ wdrożona |
| v0.7 | Ranking i wyzwania klubowe · quiz na zbiórki klubowe | ✅ wdrożona |
| v0.8 | Dziennik łączności online z eksportem ADIF · spoty DX/POTA (SOTA i APRS jako linki) | ✅ wdrożona |
| v0.9 | Statystyki trudności pytań · monitoring (/healthz + Uptime Kuma) | ✅ wdrożona |
| v0.10 | Kopie zapasowe poza serwerem (automatycznie na MacBooka) | ✅ wdrożona |
| v0.11 | Eksport przemienników do FT-70DE (ADMS) i CHIRP (najbliższe wg GPS były już od v0.1) | ✅ wdrożona — ADMS jako „eksperymentalna”, Błażej sprawdzi format później |
| v0.12 | Przeloty satelitów FM (ISS, SO-50, AO-91…) z poprawką Dopplera | ✅ wdrożona |
| v0.13 | Dyplomy z dziennika (prefiksy WPX, kwadraty, okręgi SP, pasma, emisje) — DXCC później | ✅ wdrożona |
| v0.14 | SEO: sitemap, podglądy linków (Open Graph), dane strukturalne | ✅ wdrożona — zgłosić w Google Search Console (Błażej) |
| v0.15 | Kalendarz zawodów z eksportem .ics | ✅ wdrożona |
| później | Poradnik C4FM/WIRES-X (najpierw potwierdzić obsługę WIRES-X w FT-70DE i polskie pokoje) · Kraje DXCC w dyplomach (tabela prefiksów — sprawdzić licencję cty.dat / country-files.com) · Publiczna wizytówka znaku (opt-in) · wydarzenia klubowe · statystyki odwiedzin bez cookies (Umami) | |
| ⏸ | Poczta (reset hasła, weryfikacja, przypomnienia) — czeka na dane SMTP | |
| ✅ | Dane administratora w polityce prywatności (RODO) — v0.25 |
Jak wznowić pracę (gdy limit przerwie sesję)
Otwórz nową rozmowę w folderze krotkofalowka i napisz: „kontynuuj roadmapę z portal/docs/ROADMAP.md”. Stan każdej wersji: CHANGELOG.md, docs/NOTATKI.md, git log/git tag. Wdrożenie: tools/deploy.sh.
Kolejka (zlecona 2026-10-04, robić po kolei)
- ✅ v0.32 Kursy klubowe: grupa z kodem, prowadzący widzi postęp i gotowość kursantów (za ich zgodą przez dołączenie) · tryb „rzutnik” ze ściągami tematów
- ✅ v0.33 Szara linia i warunki na pasmach (mapa dnia/nocy, zegar UTC, SFI/Kp, które pasmo otwarte)
- ✅ v0.34 Trening odbioru znaków wywoławczych w CW (jak RufzXP) z wynikami
- ✅ v0.35 Nauka ze słuchu (czytanie pytań i odpowiedzi na głos)
- ✅ v0.36 Słowniczek pojęć z linkami z pytań
- ✅ v0.37 Podstrona dla CB i PMR (pomysł Błażeja): kanały, zasady, sprzęt, przepisy, kody, przemienniki/grupy
Pomysły na kolejne sesje (zapisane 2026-10-04)
-
✅ v0.16: pytanie dnia na stronie głównej.
-
✅ v0.17: przełącznik motywu jasny/ciemny.
-
✅ v0.31: pełny test portalu (klikacz + testy funkcji), poprawki profilu i klubów.
-
✅ v0.29–v0.30: fiszki; przypomnienia w kalendarzu telefonu (.ics).
-
✅ v0.26–v0.28: bezpieczeństwo (CSP, nagłówki, limity), dziennik nasłuchów SWL, karty QSL i SWL z dziennika.
-
✅ v0.25: panel admina (dwuklik), odwiedzający dziennie, dane administratora RODO.
-
✅ v0.24: polskie nazwy krajów, kraj przy znaku i podpowiedź „nowy kraj”, raport „Twój tydzień”.
-
✅ v0.23: wydarzenia klubowe z moderacją.
-
✅ v0.22: kraje DXCC i kontynenty w dyplomach.
-
✅ v0.21: „Portal w liczbach” na stronie głównej; AO-123 w satelitach.
-
✅ v0.20: anonimowe statystyki odwiedzin (zamiast Umami — lżej, bez nowego kontenera).
-
✅ v0.19: publiczne wizytówki znaku (opt-in).
-
✅ v0.18: „W eterze” na stronie głównej, seria pytania dnia; geo-blokada zdjęta dla portalu (Google).
-
Szybkie (1 krótka sesja): przypięcie wyniku egzaminu próbnego do profilu publicznego.
-
Średnie: poradnik C4FM/WIRES-X; polskie zawody krajowe w kalendarzu (kalendarz PZK).
-
Czeka na Błażeja: SMTP (poczta), monitor Uptime Kuma, format ADMS z radia, Google Search Console.
Priorytety Błażeja (2026-10-04)
- Bezpieczeństwo. 2. To, co zachęca do odwiedzin i powrotów. 3. Jak najlepsze zdawanie egzaminu. 4. Łatwa obsługa portalu.
Kolejka po 13:45 (2026-10-04)
- ✅ v0.51 Ranking treningu znaków CW (RufzXP)
- Mapa kursów i klubów z najbliższymi zajęciami
- ✅ v0.56 Egzamin próbny zlecany grupie kursu (prowadzący zleca, widzi wyniki)
- ✅ v0.38 Zachęty do powrotów: wyzwanie tygodnia, „Twój dzień” (powtórki, cel, seria, dni do egzaminu), przewodnik dla nowych
- ✅ v0.47 Zdawalność: ostatnia prosta, błędy z egzaminów próbnych · (zostało: pytanie dnia z najsłabszego przedmiotu, egzamin na żywo dla grupy)
- Obsługa: wyszukiwarka całego portalu, przegląd użyteczności na telefonie
Codzienny pulpit krótkofalowca i integracje (pomysł Błażeja 2026-10-04 — PRIORYTET)
- ✅ v0.41 „Potrzebne!” w spotach: DX-y i parki POTA, których nie masz w dzienniku (nowy kraj / pasmo / emisja) — wyróżnione na żywo; klik w spot → gotowy wpis do dziennika.
- ✅ v0.39 Wyszukiwarka znaku: kraj, kontynent, strefy CQ/ITU, odległość i azymut anteny (krótka i długa droga) od twojego lokatora, historia twoich łączności z tą stacją, wizytówka z portalu, linki QRZ/HamQTH/QRZCQ.
- ✅ v0.42 Potwierdzenia QSL z LoTW i eQSL: import pliku potwierdzeń (lotwreport.adi / eQSL ADIF) → status „potwierdzone” w dzienniku; dyplomy liczone osobno: przeprowadzone / potwierdzone (DXCC wymaga potwierdzeń). Bez przechowywania haseł do zewnętrznych serwisów.
- ✅ v0.42 (bez druku seryjnego) Status QSL w dzienniku: wysłane / otrzymane (papier, LoTW, eQSL), lista „do wysłania”, druk kart seryjnie.
- ✅ v0.43 Pulpit dnia (/pulpit/): zegar UTC, warunki, „potrzebne” spoty, najbliższy przelot ISS, zawody w ten weekend, wydarzenia w okolicy, przemienniki w pobliżu — wszystko na jednym ekranie.
- ✅ v0.50 Parki POTA w Polsce na mapie + aktywacje na żywo
- Później (wymaga kluczy/zgód serwisów): wysyłka do QRZ Logbook kluczem API, Club Log — tylko jeśli da się bez przechowywania haseł.
Pomysły Claude — „portal, który przyciąga” (2026-10-04)
Na żywo / codziennie:
- „Potrzebne!” w spotach (nowy kraj/pasmo dla ciebie) + powiadomienie w przeglądarce, gdy pojawi się potrzebny DX
- Pulpit dnia: UTC, warunki, potrzebne spoty, ISS, zawody w weekend, wydarzenia w okolicy
- ✅ v0.44 Mapa „kto teraz słucha/nadaje” (QRV)
- Aktualności krótkofalarskie: zbiorczy kanał z RSS (PZK, UKE, AMSAT, DX-newsy) z podsumowaniem — tylko nagłówki i linki
- Kalendarz DX-peditions (nadchodzące wyprawy z linkiem do źródła) Społeczność:
- ✅ v0.44 „QRV dziś wieczorem”: umawianie łączności (sked)
- ✅ v0.46 Ściana sukcesów z gratulacjami
- ✅ v0.46 Mentorzy
- ✅ v0.55 Konkurs miesiąca: łowca kwadratów Dla świeżaków:
- ✅ v0.45 Ścieżka „od zera do pierwszego QSO” z odhaczaniem etapów (egzamin → pozwolenie → radio → antena → przemiennik → pierwsza łączność)
- ✅ v0.53 Doradca „jakie radio na start”
- ✅ v0.53 Krok po kroku: wniosek o pozwolenie w UKE Dla wyjadaczy:
- ✅ v0.48 Planer anten (bez Yagi — do dodania z pewnym źródłem wymiarów)
- ✅ v0.49 Statystyki dziennika
- ✅ v0.54 Etykiety QSL do druku (A4 3×8)
- Kalkulator mocy ERP/EIRP i zgodności z przepisami (PEM)