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