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