7 . Terms Of Service acceptance
8 DONE . print date of hard switch
10 DONE . user TOS acceptance (db field)
11 DONE . show TOS ([show me later, yes, no]/[yes, no])
12 DONE . switch-off date
15 DONE . show current TOS
16 DONE . disable user reason integer field and remove SUSPEND state (db, php)
18 DONE . opt - download TOS
19 . opt - checkbox for anonimous users with message when not checked
20 . opt - button enabled when arrived to the bottom of the TOS only
21 . opt - check TOS version between config file and TOS file
22 DONE . show guarantee (/guar <login> command)
24 DONE . command documentation
25 DONE . manage disagreeding users investigation
26 DONE . self guaranteed
32 DONE - CONTINUE FEATURE
33 DONE . replace explicit strings with multilanguage array
34 DONE . add a php downloader with filtering on allowed requests
35 DONE . save points every game
36 DONE . modify points calculation to include order and mazzo
37 DONE . exclude not standard types from statistics
38 DONE . daily reports (1 for each active tournament)
39 DONE . monthly stats (for normal match only)
40 DONE . show current match ID when created
41 DONE . add info about continue to the info page
42 DONE . add command to continue
43 DONE . check consistency of the request
44 DONE . rearrange users and game status to continue the selected match
45 DONE . investigate user reordering ??
48 . refactoring $enc attribute management
49 DONE . reintroduced $enc = 'plain' for websocket
50 DONE . fallback for not correct WS version
51 DONE . fini of ws stream
52 DONE . reactivate compression
53 DONE . fix xynt_test01
54 DONE M2: brisk working
55 DONE . manage multiport apache config
56 DONE . manage headers correctly in sac-a-push
57 DONE . manage transport.close method where required
58 DONE . xynt_stream: manage fallback to multiple ports
59 DONE . manage fini for ws
60 POST . server: manage input data from clients
61 POST . manage ping/pong (seems not required)
63 DONE . client (xynt_streaming.js)
64 DONE . server (transport.phh)
66 DONE M1: xynt_test01.php working
70 . db update (add components, maybe single string)
72 . filter in index_wr.php
75 . prefs_assign(content): assign json content as output var
76 . prefs_apply(prefs_new): apply new content to g_prefs and system
77 . prefs_load(content): load json content and apply to g_prefs and system
79 . prefs_update: update preferences temporarly
80 . prefs_save: save to the server the new prefs
82 - preferences (listen into preferences)
83 // js var, volatile server, (db server || cookie)
84 temporary: js var, volatile server
85 permanent: js var, volatile server, (db server || cookie)
87 . data from db OR, if missing, from cookies
91 . MANAGE NOT AUTH USERS
93 - preferences (with "modifiable S")
94 . Mod. S: new flag into database
95 . graph infrastructure
96 . new box to edit color
100 - BUG: some connection to the named socket fails
101 - Not simultaneous more then one stream
106 WIP - try to be more antivirus-friendly
107 - multiple rows between games
108 - packetize and automatize php-ancillary and apache module
109 - DISABLED_TO_FIX: DNS access (perform blocking dns requests, must be fixed)
114 DONE - temporarly server hung not reflected on user timeouts
115 DONE - timeouted users are still be able to sit down (only the first at the table is banned)
116 DONE - page still opened after the server restart
117 DONE - log_legal address fix
118 DONE - manage too fast reload in xynt-streaming
119 DONE - add xhr as transport layer and manage different streams better
120 TEST - BUG: pari + 72 non fa 4x ma attualmente fa 3x, da correggere
121 TEST - BUG: lurker are logged out (and remain a pending socket opened (look the spush log)
122 DONE - save/restore database
123 DONE - into the room local step remains -1
124 DONE - centralize all '<script ...' incapsulation to allow multiple transport system.
125 DONE - BUG: access with password from 2 diff browsers the second go in strange "page not found"
126 in the first tentative, the second works
127 DONE - BUG: access with password from 2 diff browsers place the first in a strict loop (the
128 problem was a call to a static parent method instead of the overrided child method,
129 substitute self:: with the dynamically get class::)
130 DONE - garbage management
132 DONE/FROZEN - problem with getpeer (HOSTADDR)
134 DONE - slow cards distribution
135 DONE - substr to mb_substr
136 DONE - parametrizations:
137 . parametrization of $DOCUMENT_ROOT var in brisk-spush.phh file
138 . parametrization of SITE_PREFIX(_LEN) define
139 . move the name of the named socket into the configuration file
140 DONE - manage and test cross forwarder between table and room
141 DONE - setcookie (for tables only and persist prefs)
142 DONE - images flickering on slow windows: try to poll stream every 300 ms (seems to be download problem)
143 DONE - database connection fails after a while, check close and try PGSQL_CONNECT_FORCE_NEW.
144 DONE - unneeded garbage_time.expired access
145 DONE - BUG: fast loop on stream index_rd_ifra page (js watchdog start without timeout corrupt counts)
146 DONE - BUG: logout failed (fixed with a garbage_collector wrapper at sac-a-push level
147 DONE - 404 wrong page management (remove directories redirections (es. brisk/))
148 DONE - configuration file management
149 DONE - app level keep-alive
150 DONE - index_wr other issues
151 DONE - from room to table
152 DONE - from table to room
154 DONE - bug: read from a not resource handle (already closed because a new socket substitute it)
155 DONE - partial write for normal page management
156 DONE - index_rd_ifra: last_clean issue
157 DONE - fwrite failed error management (select, buffer where store unsent data, and fwrite check and retry)
158 DONE - bug: after restart index_rd.php receive from prev clients a lot of req
159 DONE - index_wr.php::chat
160 DONE - index_wr.php::exit
161 DONE - index_rd.php porting
162 DONE - generic var management from internet
163 DONE - index.php auth part
164 ABRT - index_wr.php::reload - reload is js-only function
165 ABRT - keepalive management - not interesting for our purposes
170 - STEP MANAGEMENT VERIFY
172 DONE - move the garbage timeout on file
173 DONE - in index_rd load all data only when required
175 DONE . extern del garb_timeout
176 DONE . user_load parameters verify
177 DONE . Bin5::load_data and Bin5::save_data refactoring with
179 . move many function into "Bin5 class"
180 - garbaging of .step files
183 DONE - configurabilità file o db
184 DONE - aggiornare le funz di gestione db in modo che prevedano anche il flag DISABLE
185 DONE - travasatore file to pg
186 DONE - travaso punteggi
187 DONE - memorizzazione nuovi i punteggi nel db
188 DONE - gestione classifiche in SQL
193 DONE - points archiver
196 DONE - partial usability if database go down.
199 - sistema di inserimento nuovi utenti (riversatore da form di inserimento)
202 - aggiornare le funz di gestione db in modo che prevedano anche il flag SUSPEND
204 - ripristino password
207 - comunicazioni di aggiornamento (stato salvato sul server)
209 DONE - var $G_base aggiunta per gestire include in include da path differenti
215 DONE (WOW!) - js object with infos
216 DONE - main logic at login (cookie check in index_rd.php; show_message and createCookie via snippets with block
217 to prevent fast reload)
218 DONE - cookie per non assillare e visualizz.
219 DONE - graphical donameter
220 WIP content (in conf.)
222 DONE - numero di tavoli auth-only nel .brisk-install
224 TEST - ricalcolo delle persone in piedi quando si cambia modalità
225 DONE - se si e' in isolation non si può cambiare nick perdendo l' auth
226 DONE - non leggere le chat di quelli non autenticati (in isolation)
227 DONE - regole per passare alla modalita' (in piedi o ai tavoli autenticati)
228 DONE - treni non auth da nascondere
229 DONE - verso gli altri ??: uguale a prima
231 finire multilingua (briskin5/index_wr.php e altri se ce ne sono)
234 placing limits to config file
238 - come vengono aggiornate le classifiche: ogni giorno alle 23:58
240 - cosa cambia tra le tre coppie di classifiche:
241 ci sono le classifiche dell' ultima settimana, quelle dell' ultimo mese, e quelle dell' ultimo trimestre,
242 per ognuno di questi lassi di tempo poi c'è la classifica di chi ha giocato più di TOT partite o meno di TOT partite, con TOT che cambia a seconda del lasso di tempo.
244 - come vengono calcolate le classifiche: per ogni utente vengono presi tutti i punti fatti ai tavoli con lucchetto nel lasso di tempo preso in considerazione (ultima settimana, ultimo mese o ultimo trimestre), sommati e divisi per il numero di partite fatte in quello stesso lasso di tempo per normalizzare i valori; poi siccome la gente quando vede 0.18734 sbarella ho deciso di moltiplicare il tutto per 100.
246 Un esempio per chiarire:
248 l'utente 'pippo' che è nuovo gioca 4 partite nell'ultima settimana con i seguenti punteggi:
250 lo score viene { [ (-2) + (1) + (2) + (1) ] / 4 } * 100 = 50.0
252 a parità di score tra utenti va più in alto chi ha giocato più partite.
254 Se dopo quelle 4 partite 'pippo' non ne giocherà più, passata una settimana dall'ultima giocata
255 sparirà dalla classifica settimanale e rimarrà in quelle mensili e trimestrali.
266 DONE - paste da demauroparavia
267 DONE - recupero partita per re-login con password
268 DONE - problema "|" nei nomi (manca enhance degli script lato server)
269 - problema col treno se mouse sopra mentre stringe (verif)
279 DONE - skin della textarea
281 DONE - init client (read from cookie) - ALWAYS BY SERVER
283 DONE - after cookie check auth-only when no-auth case
284 DONE - aggiungi info accanto a "Chat"
286 DONE - img dei comandi
288 DONE - form per garantire utenti (accoda in un file nel formato corretto)
289 DONE - process request
293 DONE - process form js side
295 DONE - documentazione in help
299 DONE - aggiornare help
300 DONE - overflow management
305 - notify for long pages
308 - silenziastolti vari (fino al buddy import)
309 - restrict challenge per IP
310 - restricted charset for login
319 - studiare un anti-dos
334 DONE - questione "a monte" che:
335 DONE - lascia fuori il bottone
336 DONE - scrive à e compagnia
337 DONE - refresh act_table when unauthorized
338 DONE - problema ghost autenticato (ne prendi il posto ovunque sia)
342 DONE - refactoring of the owner name (auth attr for owner name)
344 DONE - at chat input line
345 DONE - in the chat output line
346 DONE - deauth management
348 DONE - at chat input line
349 DONE - in the chat output line
350 DONE - for user area of other users
351 DONE - deauth management
352 DONE - alart to one user
357 DONE - strong ban: "expire time|IP|session|(nick if authenticated)"
358 DONE - login: se auth - verifica solo gli expire per quel nick
359 DONE - se non auth - verifica gli expire per IP e sessione
360 DONE - riscrivere messaggi
364 DONE - richiede per l' utente un token (tutta la parte backend va un minimo studiata)
365 DONE - lo legge, ci hasha la password
366 DONE - invia la pass al server hashata
368 DONE - check del login e return corretto
369 DONE - oggetto in shm single table con ( "ip", "login", timestamp ) e suo management
370 DONE - rename ghost if logged
371 DONE - onunload_cb e onbeforeunload_cb !!!
372 DONE - da change attrs a change class (input field)
373 DONE - colore del bg per arrivare ad essere omogeneo
374 DONE - cambiare path e file di config
375 DONE - login with or without pass
376 DONE - registered nick notice (METTERE IL MSG NELLA PAG DI LOGIN)
377 DONE - segnalare tavoli solo per auth
378 DONE - rename restriction at auth table
379 DONE - change nick (strcasecmp)
380 DONE - refact js tables to handle flags
381 DONE - room javascript refactoring
383 DONE - work background
384 DONE - reserved tables
391 URGENT - tables spawn
392 DONE - link with photos
393 DONE - top banner in Etc file
394 DONE - spawn of a table
395 DONE - data to cookies (removed table_idx from xhr calls also)
396 DONE - set subst to shutdowner/shutdowned
397 DONE - return to index.php
399 DONE - recover of corrupted table data
400 DONE - closure of a table
401 DONE - flush of the table
402 DONE - security checks for right scope access
403 DONE - garbage collector management
404 DONE - recursive garbage - howto ?
405 DONE - stat & subst in browser
406 DONE - laccwr setting and exit if all players are unactive for some time
407 DONE - the list of test case
409 DONE - remove unused parts
412 DONE - cambiare titolo al tavolo
413 DONE - shutdowning lock tables
415 DONE - public announcements
416 DONE - 10 sec to exit from table
420 TRAIN - DONE - add again in reload
421 DONE - wag_set refact
422 DONE - filtra char speciali per title
423 DONE - chatt_send refact
424 DONE - elenco dei giocatori
425 DONE - documentazione online
426 DONE - timeout management
427 LATER - border color a muzzo
430 NORM - public announcements
431 NORM - 10 sec to exit from table
432 NORM - moving label for tables click
434 ----------------- join -----------------
437 NORM - restart preload img
438 NORM - tools dir with a main and some pages where check briscola tools.
441 NORM - chat vecchie in reload (forse)
446 - user assistant (with button to enable disable)
452 NORM - internationalization
453 NORM - img -> div + css
458 - link to stable/unstable
460 -------------------------------------------------------------------
464 ABORTED - asta: highlight buttons (css hover) - change pointer when over
466 DONE - special chars in js
467 DONE - ban temporaneo dai tavoli
468 DONE - flash player to play sound
469 DONEBUG - (aum. il timeout) - carte giocate che restano girate
470 Sembra non migliorare di molto la cosa, gestita la cache
471 correttamente, sono apposto.
473 DONE - one player reject a game, to less points (<= 2)
475 DONE - test di download per la cache
476 DONE - se passano tutti tranne l'ultimo l'asta va al penultimo.
477 Corretto il codice, occorre verificare se questo
478 ingenera qualche problema.
479 DONE - raddoppiato il numero di righe nella chat
480 DONE - corretto bug del /nick
481 DONE - carosello pubblicità altout
483 DONE - unload of the stream
484 DONE - standup centrati
485 DONE - current player - in info
486 DONE - HELP butt con ABOUT, REGOLE, VERSIONE
487 DONE - welcome lines in the chats (room and table)
488 DONE - welcome lines in the chats (room and table)
489 DONE - nomi in primo piano se vai sul quadrato
490 DONE - to pass explicit config file to INSTALL.sh
491 DONE - flag to create a config file
492 ABRT - bottoni => immagini
493 DONE - aggiungere bottone al login
494 DONE - nomi in primo piano se vai sul quadrato
495 DONE - installer to set cookie path
497 DONE - automatic and manual logout
498 DONE - cache problems solved via .htaccess
499 DONE - all players out of the auction
500 DONE - time to send cards
501 DONE - hide cards before sends at a new game
502 DONE - well recognization of the browser and O.S.
503 DONE - login consistency !!!!
504 DONE - functionalization of garbage
505 DONE - call garbage function into login
507 DONE - manage the reload from scratch of the table page
509 DONE - sendcard => card_send(idx, ....)
510 DONE - show table for game
511 DONE - points calculation
512 DONE - make-up of the chooser
513 DONE - where place the briscola on the table
515 DONE - show current auction position
516 DONE - table with internal management of the transition between pages.
517 DONE - server side page abort management
518 DONE - cookie problem with Ajax
519 DONE - spostare il tasto "esco"
520 DONE - to pass explicit config file to INSTALL.sh
522 DONE - safety out management
523 DONE - info enhancement and related button (how win the last game and
524 with how much points ?)
535 Page abort (reload on http streaming case)
541 .htaccess AllowOverwrite mode for Cache-Control directive