Bug Tracking page

YODX-HF 2024 Software
DEV / OPS TEAM

Look mom, there is a bug in YODX log WebApp!

YO8RXP

Developer

PHP, HTML, JS, MariaDB SQL pentru Front/Backend.

Linux Bash + Python3 pentru Ajax Live Uploaded Logs processor si fetchMail.

YO7EY

Debug & Browser intensive testing

Foarte mult timp dedicat <br>pentru Debug si teste in diferite browsere web.​

YO7FWS

Developer

Functii de validare scrise de el: Date/time, Freq in Band si Contest date interval.

  • Lista cu logurile primite este in format tabelar cu scroll vertical in interiorul elementului html, iar tabela are headerul sticky.
  • Am adaugat o functie de cautare indicativ, cautare care lucreaza automat odata cu inceperea tastarii, cautare care face scroll automat in tabela.
  • In loc sa generez un json care sufera de concurenta, testez un fetch() remote API care din SQL returneaza json. In acest fel, fiecare log nou primit este scris in MariaDB care stie sa gestioneze Insert sau Update concurential fara ca threadurile Apache sa se bata pe acelasi fisier. 
  • FIXED cu  SQL database unde  indicativul este ca cheie UNIQUE pentru afisare realtime. Threadul Apache nu mai este blocat pentru cei care fac upload simultan, iar lista este extrasa si afisata cu javascript Async .
  • Pentru fisierul original si reconstruit, generez MD5 checksum atasat in email body in caz ca operatorul reclama jurizare gresita..
  • Pagina de logcheck are 2 butoane in caz de succes , Back pentru reeditare informatii sau Finish pentru trimiterea confirmarii plus multumirile de rigoare. Adaugat si tagul Soapbox original.
  • Fisierul original este redenumit cu data si ora trimiterii (de inlocuit cu UTC in loc de server time)

Single qoute si Double quote nu fac escape in campurile Club si Extra. si se sterge tot ce urmeaza dupa ele.

  • Am facut escape complet la acele varibile in PHP cu htmlentities().

In cazul in care userul introduce o adresa de email care contine spatiu gol la inceput, pe parcurs sau la sfarsit, patternul detecteaza format email incorect pe buna dreptate. Insa spatiile goale nu prea sunt vizibile deci userul isi va pierde rabdarea.

  • De implementat o functie in JS legata de eventul “oninput” care sa stearga automat aceste spatii goale chiar in momentul tastarii sau copy/paste
  • Am reutilizat aceeasi functie si la indicativ

In caz de log error si se face BACK, indiferent ce category operator era selectat, revine pe SIngle-Op
Acest fix + o modificare, a reparat si flip flop Overlay la apasarea butonului BACK. semnalat de YO7EY

In caz de eroare si click back , fieldul Extra sterge tot ce urmeaza dupa spatiu gol desi fiserul cabrillo regenerat contine tot stringul. De testat acelasi lucru cu field CLUB:
<li>Input value nu era incadrat intre ghilimele

Counterul de loguri primite via uploader nu sorteaza alphanumeric fisierele.

  • Valorile fiind case sensitive, am introdus pipe catre sort –ignore-case

<li>De atasat fisierul original in email.
<li>De scanat si adaugat tag-ul LOCATION, NAME, ADDRESS*, GRID-LOCATOR, SOAPBOX si CREATED-BY in rezultatul final.</li>

Categoria CHEKLOG necesita completarea tuturor campurilor
<li>Checklog + SWL nu mai necesita completarea urmatoarelor campuri, ele apar ca disabled in momentul selectiei.

In Firefox, indiferent ce banda /mod / putere se selecteaza, ele se intorc pe prima optiune din lista.
<li>Firefox nu stie sa faca debounce la onmousedown event. Am facut toggle flip-flop zero sau 1 pentru functia de reset options</li>

indicativele cu /P (portabil) genereaza eroare la validare !
<li>De facut escape la caracterul ‘/’ </li>

Fisierul regenerat nu contine timestamp ci duplicat la data – De verificat daca populez cu variabila gresita

Windows 7 + Firefox – Nu se poate face resubmit; – de verificat daca session cookie inca este prezent dupa aterizarea in index.php </strong><br>
const result = cookieStore.delete(“username”); –
<strong>Uncaught ReferenceError: cookieStore is not defined</strong>
Windows 10 + FIrefox
<li> In loc de metoda cookieStore.delete(cookie name) care nu este disponibila in FF, am abordat tehnica clasica cu expiry date.</li>

Necesar validare data cu anul curent + luna August pentru a preveni upload fisier valid dar din anii precedenti. De implementat isValiddate()
in conjunctie cu date(“Y-08”);

Validarea frecventei si timestamp este doar ca integer, – De scris functie de validare timestamp plus inband freq check.

  • O conditie lipsa a generat imposibilitatea categoriei CHECKLOG sa selecteze puterea, motiv care blocheaza uploadul cu succes.
  • Utilizarea translate page genereaza formatea headurului Cabrillo in limba respectiva. Am dezactivat optiunea de translate insa doar pentru Dropdown Selector.

21 Comments

gabriel@yo8rxp.com · June 13, 2024 at 9:44 am

Inca lucrez la afisarea in real time caci am un lock file intre cei care fac upload simultan, as vrea sa scap de treaba asta prima data. La ce zici tu le modific titul, nu e mare jmekerie.
Insa last upload date nu vad ce relevanta ar avea, mai bine adaug upload date in tabla pentru fiecare concurent.
Ajung si la Rules, anul trecut am dat copy paste la ce am primit, nici formatarea nu arata prea bine.
Remediem. 73 si multumesc pentru implicarea deosebita !

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *