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