8 DONE - ip check and time limit
10 DONE . temporary table limitation
12 DONE - usermgmt extension
13 DONE - add close button
14 DONE - add apprentice icon
15 - guarantee for apprentice
28 . study how to move login delta injection
31 DONE . Guarantes for certified-only (buttons choice managed)
32 DONE . Tables for certified-only
34 . Placing for certified-only
37 DONE . BAN and BLACK lists added
38 DONE . update method to SIGHUP manager
39 DONE . create constructor refactored
41 - PLACEMENT-NORMALIZATION
42 DONE . Normalize previous points
43 DONE . Denormalize "Info" view
44 DONE . Denormalize explained matches
45 DONE . Check placement
46 DONE . Distinguish between inherited mult and local mult
49 DONE . Terms Of Service acceptance
50 DONE . print date of hard switch
52 DONE . user TOS acceptance (db field)
53 DONE . show TOS ([show me later, yes, no]/[yes, no])
54 DONE . switch-off date
57 DONE . show current TOS
58 DONE . disable user reason integer field and remove SUSPEND state (db, php)
60 DONE . opt - download TOS
61 . opt - checkbox for anonimous users with message when not checked
62 . opt - button enabled when arrived to the bottom of the TOS only
63 . opt - check TOS version between config file and TOS file
64 DONE . show guarantee (/guar <login> command)
66 DONE . command documentation
67 DONE . manage disagreeding users investigation
68 DONE . self guaranteed
69 . DONE New Users Guarantee Procedure
70 . DONE Change guarantee workflow
74 -------------------------------------------------------------------------
82 -------------------------------------------------------------------------
95 -------------------------------------------------------------------------
104 -------------------------------------------------------------------------
107 -------------------------------------------------------------------------
109 DONE . More user info in the list
110 DONE . Manage date to display when a user was required
111 . Email-address expiration check
115 DONE - CONTINUE FEATURE
116 DONE . replace explicit strings with multilanguage array
117 DONE . add a php downloader with filtering on allowed requests
118 DONE . save points every game
119 DONE . modify points calculation to include order and mazzo
120 DONE . exclude not standard types from statistics
121 DONE . daily reports (1 for each active tournament)
122 DONE . monthly stats (for normal match only)
123 DONE . show current match ID when created
124 DONE . add info about continue to the info page
125 DONE . add command to continue
126 DONE . check consistency of the request
127 DONE . rearrange users and game status to continue the selected match
128 DONE . investigate user reordering ??
130 - WEBSOCKET TRANSPORT
131 . refactoring $enc attribute management
132 DONE . reintroduced $enc = 'plain' for websocket
133 DONE . fallback for not correct WS version
134 DONE . fini of ws stream
135 DONE . reactivate compression
136 DONE . fix xynt_test01
137 DONE M2: brisk working
138 DONE . manage multiport apache config
139 DONE . manage headers correctly in sac-a-push
140 DONE . manage transport.close method where required
141 DONE . xynt_stream: manage fallback to multiple ports
142 DONE . manage fini for ws
143 POST . server: manage input data from clients
144 POST . manage ping/pong (seems not required)
146 DONE . client (xynt_streaming.js)
147 DONE . server (transport.phh)
149 DONE M1: xynt_test01.php working
153 . db update (add components, maybe single string)
154 . filter in index.php
155 . filter in index_wr.php
158 . prefs_assign(content): assign json content as output var
159 . prefs_apply(prefs_new): apply new content to g_prefs and system
160 . prefs_load(content): load json content and apply to g_prefs and system
162 . prefs_update: update preferences temporarly
163 . prefs_save: save to the server the new prefs
165 - preferences (listen into preferences)
166 // js var, volatile server, (db server || cookie)
167 temporary: js var, volatile server
168 permanent: js var, volatile server, (db server || cookie)
170 . data from db OR, if missing, from cookies
174 . MANAGE NOT AUTH USERS
176 - preferences (with "modifiable S")
177 . Mod. S: new flag into database
178 . graph infrastructure
179 . new box to edit color
183 - BUG: some connection to the named socket fails
184 - Not simultaneous more then one stream
189 WIP - try to be more antivirus-friendly
190 - multiple rows between games
191 - packetize and automatize php-ancillary and apache module
192 - DISABLED_TO_FIX: DNS access (perform blocking dns requests, must be fixed)
197 DONE - temporarly server hung not reflected on user timeouts
198 DONE - timeouted users are still be able to sit down (only the first at the table is banned)
199 DONE - page still opened after the server restart
200 DONE - log_legal address fix
201 DONE - manage too fast reload in xynt-streaming
202 DONE - add xhr as transport layer and manage different streams better
203 TEST - BUG: pari + 72 non fa 4x ma attualmente fa 3x, da correggere
204 TEST - BUG: lurker are logged out (and remain a pending socket opened (look the spush log)
205 DONE - save/restore database
206 DONE - into the room local step remains -1
207 DONE - centralize all '<script ...' incapsulation to allow multiple transport system.
208 DONE - BUG: access with password from 2 diff browsers the second go in strange "page not found"
209 in the first tentative, the second works
210 DONE - BUG: access with password from 2 diff browsers place the first in a strict loop (the
211 problem was a call to a static parent method instead of the overrided child method,
212 substitute self:: with the dynamically get class::)
213 DONE - garbage management
215 DONE/FROZEN - problem with getpeer (HOSTADDR)
217 DONE - slow cards distribution
218 DONE - substr to mb_substr
219 DONE - parametrizations:
220 . parametrization of $DOCUMENT_ROOT var in brisk-spush.phh file
221 . parametrization of SITE_PREFIX(_LEN) define
222 . move the name of the named socket into the configuration file
223 DONE - manage and test cross forwarder between table and room
224 DONE - setcookie (for tables only and persist prefs)
225 DONE - images flickering on slow windows: try to poll stream every 300 ms (seems to be download problem)
226 DONE - database connection fails after a while, check close and try PGSQL_CONNECT_FORCE_NEW.
227 DONE - unneeded garbage_time.expired access
228 DONE - BUG: fast loop on stream index_rd_ifra page (js watchdog start without timeout corrupt counts)
229 DONE - BUG: logout failed (fixed with a garbage_collector wrapper at sac-a-push level
230 DONE - 404 wrong page management (remove directories redirections (es. brisk/))
231 DONE - configuration file management
232 DONE - app level keep-alive
233 DONE - index_wr other issues
234 DONE - from room to table
235 DONE - from table to room
237 DONE - bug: read from a not resource handle (already closed because a new socket substitute it)
238 DONE - partial write for normal page management
239 DONE - index_rd_ifra: last_clean issue
240 DONE - fwrite failed error management (select, buffer where store unsent data, and fwrite check and retry)
241 DONE - bug: after restart index_rd.php receive from prev clients a lot of req
242 DONE - index_wr.php::chat
243 DONE - index_wr.php::exit
244 DONE - index_rd.php porting
245 DONE - generic var management from internet
246 DONE - index.php auth part
247 ABRT - index_wr.php::reload - reload is js-only function
248 ABRT - keepalive management - not interesting for our purposes
253 - STEP MANAGEMENT VERIFY
255 DONE - move the garbage timeout on file
256 DONE - in index_rd load all data only when required
258 DONE . extern del garb_timeout
259 DONE . user_load parameters verify
260 DONE . Bin5::load_data and Bin5::save_data refactoring with
262 . move many function into "Bin5 class"
263 - garbaging of .step files
266 DONE - configurabilità file o db
267 DONE - aggiornare le funz di gestione db in modo che prevedano anche il flag DISABLE
268 DONE - travasatore file to pg
269 DONE - travaso punteggi
270 DONE - memorizzazione nuovi i punteggi nel db
271 DONE - gestione classifiche in SQL
276 DONE - points archiver
279 DONE - partial usability if database go down.
282 - sistema di inserimento nuovi utenti (riversatore da form di inserimento)
286 - ripristino password
289 - comunicazioni di aggiornamento (stato salvato sul server)
291 DONE - var $G_base aggiunta per gestire include in include da path differenti
297 DONE (WOW!) - js object with infos
298 DONE - main logic at login (cookie check in index_rd.php; show_message and createCookie via snippets with block
299 to prevent fast reload)
300 DONE - cookie per non assillare e visualizz.
301 DONE - graphical donameter
302 WIP content (in conf.)
304 DONE - numero di tavoli auth-only nel .brisk-install
306 TEST - ricalcolo delle persone in piedi quando si cambia modalità
307 DONE - se si e' in isolation non si può cambiare nick perdendo l' auth
308 DONE - non leggere le chat di quelli non autenticati (in isolation)
309 DONE - regole per passare alla modalita' (in piedi o ai tavoli autenticati)
310 DONE - treni non auth da nascondere
311 DONE - verso gli altri ??: uguale a prima
313 finire multilingua (briskin5/index_wr.php e altri se ce ne sono)
316 placing limits to config file
320 - come vengono aggiornate le classifiche: ogni giorno alle 23:58
322 - cosa cambia tra le tre coppie di classifiche:
323 ci sono le classifiche dell' ultima settimana, quelle dell' ultimo mese, e quelle dell' ultimo trimestre,
324 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.
326 - 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.
328 Un esempio per chiarire:
330 l'utente 'pippo' che è nuovo gioca 4 partite nell'ultima settimana con i seguenti punteggi:
332 lo score viene { [ (-2) + (1) + (2) + (1) ] / 4 } * 100 = 50.0
334 a parità di score tra utenti va più in alto chi ha giocato più partite.
336 Se dopo quelle 4 partite 'pippo' non ne giocherà più, passata una settimana dall'ultima giocata
337 sparirà dalla classifica settimanale e rimarrà in quelle mensili e trimestrali.
348 DONE - paste da demauroparavia
349 DONE - recupero partita per re-login con password
350 DONE - problema "|" nei nomi (manca enhance degli script lato server)
351 - problema col treno se mouse sopra mentre stringe (verif)
361 DONE - skin della textarea
363 DONE - init client (read from cookie) - ALWAYS BY SERVER
365 DONE - after cookie check auth-only when no-auth case
366 DONE - aggiungi info accanto a "Chat"
368 DONE - img dei comandi
370 DONE - form per garantire utenti (accoda in un file nel formato corretto)
371 DONE - process request
375 DONE - process form js side
377 DONE - documentazione in help
381 DONE - aggiornare help
382 DONE - overflow management
387 - notify for long pages
390 - silenziastolti vari (fino al buddy import)
391 - restrict challenge per IP
392 - restricted charset for login
401 - studiare un anti-dos
416 DONE - questione "a monte" che:
417 DONE - lascia fuori il bottone
418 DONE - scrive à e compagnia
419 DONE - refresh act_table when unauthorized
420 DONE - problema ghost autenticato (ne prendi il posto ovunque sia)
424 DONE - refactoring of the owner name (auth attr for owner name)
426 DONE - at chat input line
427 DONE - in the chat output line
428 DONE - deauth management
430 DONE - at chat input line
431 DONE - in the chat output line
432 DONE - for user area of other users
433 DONE - deauth management
434 DONE - alart to one user
439 DONE - strong ban: "expire time|IP|session|(nick if authenticated)"
440 DONE - login: se auth - verifica solo gli expire per quel nick
441 DONE - se non auth - verifica gli expire per IP e sessione
442 DONE - riscrivere messaggi
446 DONE - richiede per l' utente un token (tutta la parte backend va un minimo studiata)
447 DONE - lo legge, ci hasha la password
448 DONE - invia la pass al server hashata
450 DONE - check del login e return corretto
451 DONE - oggetto in shm single table con ( "ip", "login", timestamp ) e suo management
452 DONE - rename ghost if logged
453 DONE - onunload_cb e onbeforeunload_cb !!!
454 DONE - da change attrs a change class (input field)
455 DONE - colore del bg per arrivare ad essere omogeneo
456 DONE - cambiare path e file di config
457 DONE - login with or without pass
458 DONE - registered nick notice (METTERE IL MSG NELLA PAG DI LOGIN)
459 DONE - segnalare tavoli solo per auth
460 DONE - rename restriction at auth table
461 DONE - change nick (strcasecmp)
462 DONE - refact js tables to handle flags
463 DONE - room javascript refactoring
465 DONE - work background
466 DONE - reserved tables
473 URGENT - tables spawn
474 DONE - link with photos
475 DONE - top banner in Etc file
476 DONE - spawn of a table
477 DONE - data to cookies (removed table_idx from xhr calls also)
478 DONE - set subst to shutdowner/shutdowned
479 DONE - return to index.php
481 DONE - recover of corrupted table data
482 DONE - closure of a table
483 DONE - flush of the table
484 DONE - security checks for right scope access
485 DONE - garbage collector management
486 DONE - recursive garbage - howto ?
487 DONE - stat & subst in browser
488 DONE - laccwr setting and exit if all players are unactive for some time
489 DONE - the list of test case
491 DONE - remove unused parts
494 DONE - cambiare titolo al tavolo
495 DONE - shutdowning lock tables
497 DONE - public announcements
498 DONE - 10 sec to exit from table
502 TRAIN - DONE - add again in reload
503 DONE - wag_set refact
504 DONE - filtra char speciali per title
505 DONE - chatt_send refact
506 DONE - elenco dei giocatori
507 DONE - documentazione online
508 DONE - timeout management
509 LATER - border color a muzzo
512 NORM - public announcements
513 NORM - 10 sec to exit from table
514 NORM - moving label for tables click
516 ----------------- join -----------------
519 NORM - restart preload img
520 NORM - tools dir with a main and some pages where check briscola tools.
523 NORM - chat vecchie in reload (forse)
528 - user assistant (with button to enable disable)
534 NORM - internationalization
535 NORM - img -> div + css
540 - link to stable/unstable
542 -------------------------------------------------------------------
546 ABORTED - asta: highlight buttons (css hover) - change pointer when over
548 DONE - special chars in js
549 DONE - ban temporaneo dai tavoli
550 DONE - flash player to play sound
551 DONEBUG - (aum. il timeout) - carte giocate che restano girate
552 Sembra non migliorare di molto la cosa, gestita la cache
553 correttamente, sono apposto.
555 DONE - one player reject a game, to less points (<= 2)
557 DONE - test di download per la cache
558 DONE - se passano tutti tranne l'ultimo l'asta va al penultimo.
559 Corretto il codice, occorre verificare se questo
560 ingenera qualche problema.
561 DONE - raddoppiato il numero di righe nella chat
562 DONE - corretto bug del /nick
563 DONE - carosello pubblicità altout
565 DONE - unload of the stream
566 DONE - standup centrati
567 DONE - current player - in info
568 DONE - HELP butt con ABOUT, REGOLE, VERSIONE
569 DONE - welcome lines in the chats (room and table)
570 DONE - welcome lines in the chats (room and table)
571 DONE - nomi in primo piano se vai sul quadrato
572 DONE - to pass explicit config file to INSTALL.sh
573 DONE - flag to create a config file
574 ABRT - bottoni => immagini
575 DONE - aggiungere bottone al login
576 DONE - nomi in primo piano se vai sul quadrato
577 DONE - installer to set cookie path
579 DONE - automatic and manual logout
580 DONE - cache problems solved via .htaccess
581 DONE - all players out of the auction
582 DONE - time to send cards
583 DONE - hide cards before sends at a new game
584 DONE - well recognization of the browser and O.S.
585 DONE - login consistency !!!!
586 DONE - functionalization of garbage
587 DONE - call garbage function into login
589 DONE - manage the reload from scratch of the table page
591 DONE - sendcard => card_send(idx, ....)
592 DONE - show table for game
593 DONE - points calculation
594 DONE - make-up of the chooser
595 DONE - where place the briscola on the table
597 DONE - show current auction position
598 DONE - table with internal management of the transition between pages.
599 DONE - server side page abort management
600 DONE - cookie problem with Ajax
601 DONE - spostare il tasto "esco"
602 DONE - to pass explicit config file to INSTALL.sh
604 DONE - safety out management
605 DONE - info enhancement and related button (how win the last game and
606 with how much points ?)
617 Page abort (reload on http streaming case)
623 .htaccess AllowOverwrite mode for Cache-Control directive