/user/<nickname> — Each registered user gets a public profile page showing their nickname, name, federation, FIDE ID, "Player" / "Organizer" badges, and lists of tournaments they played in or organized. Profile URLs are short and shareable (e.g. my.chesspairings.org/user/mario.rossi)./giocatore.php — Logged-in users now have their own dashboard showing every tournament they're registered for, split into four sections: Open registrations, Live, Finished, Withdrawn. Reachable from the user dropdown menu when "Show me as a player" is enabled.half_bye with source pairing) since they are always legitimate by design (the player requested them at registration time).rating_floor setting; it just wasn't fully respected when the value was 0. Now setting it to 0 truly means "unrated players stay at 0" throughout the inscription, public registration, and TRF generation flows.Surname,Name[,Elo|FideID]. Surname required, name with at least an initial, third column numeric (0-3500 = Elo, >3500 = FIDE ID lookup). Final report shows lines read, players enrolled, and per-line errors with reason. No file upload — paste only, for security..form-group: tighter label-to-input gap, generous spacing between groups. Labels now visually belong to their own field instead of looking attached to the previous one. Affects every form in the platformlocalStorage per tournament. Useful for projecting on TV or reading many tables at a glance✓ Registration → ✓ Start → Round 1/5 → End<select> to jump between rounds instantly, replacing the numbered circles1 for White wins, 2 for draw, 3 for Black wins. The cursor automatically advances to the next boardDelete to clear a result. Bye rows are automatically skipped& character in tournament URLs. All uploads now succeed correctly/demo.php creates a Swiss tournament with 10 top FIDE GMs (Carlsen, Nakamura, Firouzja, etc.). Auto-deletes after 48 hours via cron. Limited to 1 demo per user@ in the editor to see an autocomplete dropdown of users who participated in the thread. Mentioned users receive an in-app notification with a link to the post<link rel="alternate" hreflang="..."> tags for all 6 languages plus x-default, and a self-referencing <link rel="canonical"> per language. Tags are correctly placed inside <head>/forum/ where registered users can start discussions, reply to threads, and quote messages. Categories include Announcements, Introductions, General Discussions, Tournaments, Suggestions, Bug Reports, FAQ & Knowledge Base, and Showcase/forum/en/). Forum content is automatically translated into all supported languagesrel="nofollow noopener" with only http/https URLs allowedcss/public.css, reducing page weight and improving maintainability<br> tags as text__js() helper for script contexts and __js_attr() for inline HTML event handlers (onclick, onsubmit). Fixed ~120 instances across 13 files: torneo, tornei, marathon, dashboard, giocatori_circolo, torneo_squadre, simulazione, footer, and all public-facing pages$e->getMessage()). Error details are still logged server-side for debugging