-
Notifications
You must be signed in to change notification settings - Fork 9
/
TODO
803 lines (501 loc) · 16.7 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
readme: document docker host data
check with new BTP!
set default tournament
make bupdate in docker
CP
read support
get individual matches
test?
write individual results
Check SetRation / GameRatio etc. when writing
manual adding fix styles
undefined when manual
manual edit team competition
document docker mount volume
flags in streamcourt
test followed-by (display & order)
override TP status when a game is reset?
Test case: umpire sends result accidentally, goes back
-> should put game back on court if recently
make a backup of what we pulled every hour and save it for debugging
bts: do not use umpire name
fix handling of umpire name if no first name set
correct injury handling
include test
bts/cp: match order
log every single change
optional audio alarm once game done?
check upcoming -> Matthias Decker
write JSON once match finished
fix umpire names not being correctly transmitted! on editing
allow editing of umpire names
view of BTP, redesign status so we only update diffs
keep last result longer on screen with now_on_court
overview highlight games with cards
proxy mode so that all HTTP requests & other stuff gets proxied to the real server
correct transmission for injury / walkover!
change of Now on Court in settings should change court properties!
should be displayed bold when currently running, even when propagated from BTP
clamp times to server time when sending, log
GRI Maeare Van Dalm
add country KOS (Kosovo)
switch to async top-down
support districts?
log
configurable
show version
update function (w/ git?)
button to delete all matches
show clock times in --text output
import/export JSON
don't multi-report the same message twice
share courts with another tournament (or two BTPs?)
multiple TPs for copy
btp sync must not override colors!
switch order of finished matches
asian name flag in edit mode
export view of raw data
firstname / lastname should be stored (maybe even editable?), even for asian names
is guessed right now
ticker should resume automatically when network connection is broken
any_oci / current_oci
devices
ping, show if offline
check manual editing with asian names
tablet language from BTS settings by default
thick line between days, thin line between times
test for changed umpire name
right-align left player in matches
link to nationstats
red marker OCI
do not show/report console errors
rm now_on_court, sync court-> match ID from BTP
tournament list (and other parts): use real likns please
click umpire in match list to edit (on hover mouse cursor)
support note per match
correctly set retired/disqualified when transmitting to BTP
docker container should restart!
docker document -v
warning if clock out of sync, fix completely one day?
shortcut /s12 for streaming
why not court= change changed?
ALWAYS STORE THE GAME, DO NOT OVERWRITE UNDER ANY CIRCUMSTANCES
include #presses in stored matches
preload arrow ;)
english documentation
/u
log every sent-to-btp result with IDs, umpire name missing, error/success status
iOS 15.3 iPad Pro 10.5: blue text, large labels
android app
"Feld" should be english
latest tournament for /u
automatically get password
button to scan for BTP
configuration: "IP" should say/hint domain name
iPad: refresh logo broken, blue text
language from tournament
umpires not shown in umpires view! (and linkify that top-right)
log important events
display all logs
auto-determine password!?
public note for game (and show that in upcoming!)
per-match colors!
should be changeable during the game too
flag to stop receiving updates from BTP for a match
check bug: external edit of match in BTP should be reflected in admin view & upcoming
upcoming: only show if same date (or white block if new date)
get clocks from btp
setting 1303: pause
<LastTimeOnCourt> for players
ticker: insert bup
mario docker
Stijn CP!
public note to a game, show in upcoming and other views
/d1?dm_style=blahbah
link and test scoresheet PDF generator
unknown country esp
games without time to bottom of list
prevent crash if BTP parsing fails!
optimize docker image! no puppeteer etc.
de_at (-> mail georg)
basic to_stats
promotion in BTP
log battery+devices, red warning
sync from BTP + show in settings:
location
tournament days
show location + days in TO stats
umpire management
do not sync automatically if autosync is inactive
filtering in UI
log sent results
ticker show time of last update, and handle problems
ticker: date in local timezone
BTP status: Synchronisations-Fehler: TypeError: Cannot read property '0' of undefined at Object.get_btp_state (/home/phihag/projects/bts/bts/btp_parse.js:104:39) at Object.fetch (/home/phihag/projects/bts/bts/btp_sync.js:339:25) at send.response (/home/phihag/projects/bts/bts/btp_conn.js:117:13) at send_request (/home/phihag/projects/bts/bts/btp_conn.js:155:4) at btp_proto.decode (/home/phihag/projects/bts/bts/btp_conn.js:65:11) at decode_string (/home/phihag/projects/bts/bts/btp_proto.js:302:3) at decode_string (/home/phihag/projects/bts/bts/btp_proto.js:283:2) at Object.decode (/home/phihag/projects/bts/bts/btp_proto.js:288:2) at send_raw_request (/home/phihag/projects/bts/bts/btp_conn.js:62:13) at Socket.client.on (/home/phihag/projects/bts/bts/btp_conn.js:47:3)
btp_parse errors should be reported
srstats
ticker: iphone 7
watch ticker and alert if not changed since (or watch error)
dmu19 countries not synced
undefined appears in countries
option to reindex after deleting match in BTP!!!
compare clocks
ticker:
2 wide on large screens
seeding (-> Dario)
link to button presses ("stats")
to_stats as PDF
docker image
for ticker (include nginx)
option to delete a tournament (-> Mario)
improve all courts
upcoming
device status
onlynames: background player name instead of icon
device a warning for match started without umpire name
script to download (raw / json / ...)
test cases that loading works
load from -x XML
load from JSON
check that we sync umpire nationality
write test case
btp status should be "synchronized", not "eingeloggt"
clients should report battery + status
upcoming matches
umpire assignment
umpire + court assignment
show IP in UI
show tournament tree
queue of upcoming matches
In umpires view link to last match of each umpire (easy to find scoresheet)
provide and document make update (as an alias to deps?)
automated download should not fire all the time
fix updating settings
msg Gregor again of changes
colors for teams per match!
list devices
devices should report court, current match id, battery charging, battery level
scoresheet should show scheduled time
rework ways to save changes to BTP
export/import tournament
show duration at mouseover
cap end_ts to our time
umpire management
overview of umpires + oncourt + last match (how long ago)
include upcoming matches
button set umpire of match (read before)
option to hide match (at least from UI, maybe from umpires)
do not accept if fewer presses!
write a test case
test that realtime sync works if disconnect
correct sync of walkover
check that we sync correctly even if multiple changes (checkbox: allow changes from BTP, default on)
link to presses view
ui should show whether 0:0 or warmup
sync notes / highlights
support renaming of umpires
overview: very slightly color alternate lines
test state sync live, fetch whole state in intervals
scoresheet to PDF printing looks wonky
flash red if mark
mode international should show discipline
light referee mode
submit battery if available and flagged
submit umpire name
semi-automatic match control: show next 4 matches, flash if empty court
prevent setting a match to 0:0 (and log in console or database!) if match is already done
display next matches
autosync tournament name from BTP
check if switching to other tab and back works
ticker: allow overriding all from different tournaments (clear if != tournament)
clean umpire ui for bup
test groups btp
test resigning btp
test walkover btp
fix sync of retired
check umpire syncing after match start
make update_score async (and catch errors)
more tests for update_score (->Georg)
sync umpire nationaliy
handle no nationality correctly in edit screen
doc installation (+docker)
ticker: nicen up
ticker: show statistics
ticker: force language
doc usage (e.g. locking, handles etc.)
nationstats should include umpires
logo preview should update automatically (when somebody else changes it)
program to record and compare state
scoresheets should also update automatically
edit umpires
clear btp sync errors
umpire report (including discpline)
advanced filtering (by court etc.)
improve allscoresheets
font size
i18n doc title
should also store JSON
link to (at bottom, include nationstats as well)
mirror another instance (this checks the proto)
export URL to export everything (+ SHA256)
option to hide match from bup list, fade out in our list
bup: show nationality in choice of server / receiver
bup btsh should update event (e.g. color)
bup: dual-color everything
when deleting a match reset court if it got that match
active players list for finals
change title
logo preview should update immediately
logo preview should incorporate bg color
logo preview should show foreground color
store colors
report serror if property missing in editing but exists in current setup
display next matches
resync a match option
support http://www.cup2000.com/tournament-software/
umpire handling
swap between umpire and AR
drag&drop anywhere
promote first umpires to match
display state
automatically print (on different machine, as client)
not moved on court: lesser opacity
heartbeat, show if device is disconnected
edit shuttle count
sync highlight
changing match in bts should not destroy nationalities!
shuttle stats per day (+ number of matches, average)
referee view
link to allscoresheet
transmit device id | device name | battery state (if present)?
entering into scoresheet and going back is broken, need to back out
smaller print buttons -> Marcel
automatically print if something special happens -> Marcel
use bup's flag
bts fix changing stuff from bts and in BTP
transmit retired status to BTP
make referee view
referee view
add (ws?) API
courts
upcoming games?
flashing red when referee
highlight nearly done matches
umpire
last matches?
upcoming matches?
shortcut /r
switch to promises
order unassigned matches by date + time
should not update automatically on start
better name for qualifications
helper program to get all data from BTP, as binary or as JSON
itest changing service judge in UI
allow marking one tournament as active
better error if ticker URL is invalid
doc ticker
bup display increase font size
bup display flags
start itests?
referee-like mode remote ocntrol
changing settings should not jump, but get confirmation
debug view to see all changes sent
translate everything
clarify bup setup & update
relay to another host?
write Dockerfile
umpire stats (also by event / discipline?)
settings: use i18n names in dm_style
translate btp status / ticker status
set only one main tournament at a time
add large test suite for BTP / LP
when language changes automatically update everybody (including links to bup)
fix league + normal, add lots of test cases
umpire view (also allow to see / edit internal IDs)
bupdate
link to stats
make run should be in a loop with autorestart
feature: force language for tournament
ghost games?
Spiel-Status manuell aus btp ziehen, override our state
Ansicht Turnierbaum
editing tournament name fails
show upcoming games only
show current + upcoming games
bug: going to scoresheet fails, going back fails as well
option to hide matches without time fro main view
flag
setting btp data fails for some reason sometimes
english in tournament options
correct handling of retired
country a little larger on display
-----
referee view:
used shuttles per court
cards if any
duration
Referee
mark if duration is very long
highlight if close to end
lint
show duration for finished matches
score update freezes from time to time
BLP support
support service judges
umpire editing dialog
match throws error
technical export should be supported by bup
Dockerfile for bts
Dockerfile for btsticker
----
test ticker on mobile
add umpires / service judges UI
select service judge in UI
use websocket protocol
----
discover what happened in bts error reports
team event creation
go into match stats
scoresheet in realtime
make unnecessary matches disappear by editing them
push all changes to BTP
button "not my match!"
d/moritz: game points may not match reality
d/moritz: show court number
server identity is missing in displaymode
move BTP into separate process and only communicate differences
dedup matches
test
distinguish and handle walkovers
test undo after match end!
nicer error when network fails
add button to hide matches from umpires
separate submodules so that a crash in BTP | Ticker does not cause problems for the rest
simple mode (disallow scrolling)
----
admin-view of upcoming matches (Joanna)
put update_req in try..catch
changes after match are not taken over to BTP
mark all matches in need of sync
fetch program
fetch binary and store it
ui: raw change feed, not if significant
overload in system when loading from BTP -> move this into separate process
write script to sync manually, see diff
script to fetch manually
no-show matches
install keep screen on
9: negative timer
btp: test leaving out umpires in update requests?
----
move BTP parsing into a separate process
write a proto for incremental updates
show devices incl charging/discharging + charge state
display for match control (take off once finished)
make btp IDs configurable
btp settings change fails sometimes!
show stats from UI
tests for parsing the matches from BTP
with walkover etc.
order of upcoming matches sorts only by time, not date
connectivity problems?
backup at ticker
spinner which resolves to ok/fail
generate PDFs automatically
launch external program on match completion
game number into PDF name if present!
move off court 30s after match is finished if this match is still on court
option
better process name
Eine PDF-Datei || alle PDF-Dateien -> Momme
button to move off court
button to move on court
assert that bupdate does not leave tmp dirs
set up backup displays
new display (Moritz)
too small on Opera devices
WebSocket protocol for displays?
auto-fetch from BTP: test new code
manually make a match on court the one that is being played
---
siege
btp: calc match players directly, don't go into the tree of From
make an app for fullscreen and finding
start BTP API
on start transmit everything to BTP that's marked
transmit umpire changes to BTP
transmit court change to BTP
button to push a match now
automatically push when BTP becomes available (everything marked with needsync)
automatically resync from time to time
updated team1_won from BTP
test BTP readonly
show duration in UI
custom created matches must get a compatible match ID (and forbid changing the number)
improve BTP API
make sure to catch timeouts and other net errors, test coming and going out
make sure all catches are correct
test resigning
transmit changes to BTP
transmit changes in umpires to BTP
store whether pushing successful in our own db
allow changing btp ID in manual matches (autocalc sensibly)
go into finished match
move to court button
HTTP API: suppress cache
manually set current match on court
support groups
launch link allcourts-display
edit umpire list
allow adding new umpire for match
websocket conn for bup clients
bup listing via websocket
bup transmit via websocket
bup delta transmit
keepalives
set current match
update admin clients on match changes
bup start on match
scoresheet from UI
delete matches (with proper warning)
-------
player who is left/right not transmitted to display
keepalive for conn to ticker
ticker: update status when enabling / disabling
admin keepalive
basic left-right layout
allow to enter bup to finished match
online ticker
display one/all courts
scoresheets should get updated in real time!
move match to court via drag&drop
make an android app
bup
automatically find server IP
wakelock
fullscreen
btss: check time
all courts
online display server
show BTP match IDs in UI and allow to edit them
umpire selection: show estimated time to next
show number of shuttles used
-----
scoresheet: better PDF filenames (in tournament mode)
ticker: use websocket
transmit shuttle count
umpire management by referee
delete court (ask before)
show error upon match creation
add team (country) names on umpire sheet
support for BTP match highlight
ticker: serve state
ticker: fall back to HTTP queries if no websocket available
ticker: highlight changes
-----
search for all matches by one player (with shortcut)
grep for all TODOs
auth?
keep data in automanaged git repo?
regular backups?
test t4s laptop for a longer time (hangs?)