Runtime vykonava strom, prokliky z widgetu, oprava ukladani rozlozeni

Runtime: `src/runtime/executor.ts` jde krok po kroku, u podminky se vetvi,
do poli dosadi parametry, akci pusti pres runScript a vystupy pripise do
kontextu pro dalsi krok. Cely prubeh jde do logu ticketu vcetne toho, co
sluzba vratila. Pouzivaji ho obe cesty: akce na ticketu i webhook.

Opraveno: rozlozeni dashboardu s vlastnim widgetem se NEDALO ULOZIT.
`validateLayout` znala jen vestaveny katalog, takze kazdy pokus skoncil
hlaskou "widget v katalogu neexistuje" - presne to, co hlasil uzivatel.
Katalog je ted jedna funkce a pouziva ji nabidka i kontrola. Zaroven je
za konkretni firmu, driv slo polozit dlazdici jedne firmy na dashboard druhe.

Prokliky: z widgetu lidi na cloveka, ze seskupeni na vyfiltrovany seznam
ticketu. Odkazy sklada server, protoze on jediny zna filtr widgetu. Seznam
ticketu cte filtr z adresy a umi filtrovat na typ, tag a skupinu.

Tabulky: spolecna `TicketTable` pro seznam i detail osoby. Na mobilu se
neposouva do strany, uzka obrazovka dostane karty. Detail osoby ma velkou
tabulku se zalozkami "ma u sebe" a "vyresil" a prepinacem pohledu.

Odebrano: simulace vcetne tlacitka, dialogu i endpointu. Trojice pohledu
nad tickety - vyber firmy je select, "moje" je prepinac, driv to delalo
totez dvakrat.

Pridan zmereny rozbor kapacity pro 200 firem (19-kapacita-200-firem.md):
soucasny stav to nezvladne, protoze data jsou v pameti a vypis je linearni.
Zmereno na 5 000 ticketech, vcetne toho, co s tim a kolik serveru to chce.

Overeno 7 kontrolami proti bezicimu serveru.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
JiriUhlir
2026-08-13 15:54:17 +02:00
co-authored by Claude Opus 5
parent 29de584df8
commit 5d186dcd2e
27 changed files with 1357 additions and 1201 deletions
+44
View File
@@ -2,6 +2,50 @@
Nejnovejsi nahore.
## 2026-08-13 - runtime, prokliky z widgetu a kapacitni rozbor
### Pridano
- `src/runtime/executor.ts`: **strom se konecne vykonava**. Jde krok po kroku,
u podminky se vetvi, do poli dosadi `{{parametry}}`, akci pusti pres
`runScript` a vystupy pripise do kontextu, aby na ne mohl dalsi krok
odkazat. Cely prubeh jde do logu ticketu vcetne toho, co sluzba vratila.
Pouzivaji ho **obe** cesty: akce na ticketu i webhook automatizace.
- Z widgetu se da prokliknout na to, co je za cislem: z lidi na cloveka,
ze seskupeni na uz vyfiltrovany seznam ticketu. Odkazy sklada **server**,
protoze on jediny zna filtr widgetu.
- Seznam ticketu cte filtr z adresy (`?typeId=`, `?tag=`, `?assignee=`, ...),
takze proklik vede na spravny vyber a odkaz jde poslat kolegovi.
- Seznam ticketu umi filtrovat na typ, tag a skupinu.
- Spolecna `TicketTable`: jedna tabulka pro seznam i pro detail osoby.
**Na mobilu se neposouva do strany**, uzka obrazovka dostane karty.
- [19-kapacita-200-firem.md](19-kapacita-200-firem.md): zmereny rozbor toho,
co se stane pri 200 firmach, a co to bude chtit za server.
### Opraveno
- **Rozlozeni dashboardu s vlastnim widgetem se nedalo ulozit.** `validateLayout`
znala jen vestaveny katalog, takze kazdy pokus skoncil hlaskou, ze widget
v katalogu neexistuje. Katalog je ted jedna funkce (`widgetCatalog`) a pouziva
ji nabidka i kontrola.
- Katalog widgetu je za konkretni firmu, ne za vsechny firmy uzivatele. Driv
slo polozit dlazdici jedne firmy na dashboard druhe, kde k ni data nikdy
neprisla.
### Odebrano
- **Simulace** vcetne tlacitka, dialogu i endpointu `/api/simulate`. Provoz se
ted dela prijmem udalosti, ktery je skutecny.
- Trojice pohledu nad tickety. Vyber firmy je select, "moje" je prepinac -
driv to delalo totez dvakrat.
### Overeno
7 kontrol proti bezicimu serveru: ulozeni rozlozeni s vlastnim widgetem,
oddeleni katalogu po firmach, vykonani stromu akce i webhooku, zapis behu do
logu, odkazy z widgetu a filtrovani podle nich. K tomu mereni na 5 000
ticketech, ze ktereho vychazi rozbor kapacity.
## 2026-08-13 - ticketovaci system: udalosti, externi ID, statistiky, widgety
Popis v [18-ticketovaci-system.md](18-ticketovaci-system.md).