Inilabas ang update
Kaagad pagkatapos ng CSV import release, ipinagpatuloy naming pinakinis ang product backlog — kung paano ito naramdaman sa iyong mga kamay at kung paano kumikilos ang backstage sa ilalim ng load. Tinatapos ng release na ito ang round na iyon.
⚡ Pakiramdam na mas magaan ang product backlog list
Nagdagdag kami ng tatlong composite indexes na sumasaklaw sa mga query na ipinapasa ng product backlog list, at ang default-sort ng server ay hindi na nangangailangan ng dagdag na pass para muling ayusin ang mga rows. Mas malaki ang PBI count ng iyong proyekto, mas maramdaman mo.
Habang nandoon kami, nilinis din namin ang loading window: makikita mo na ngayon ang row skeleton (mga banayad na ipininta na placeholders) sa maikling paghihintay sa initial mount at paglipat ng tab. Dati, maaaring lumitaw ang “zero rows” overlay sa puwang na iyon — lalo na kitang-kita sa real-world network latency. Wala na ang multo na pagkislap na iyon.
🎯 Talagang nagbabalik lang ang Incomplete tab ng mga incomplete na item
Kung pinili mo ang Incomplete tab sa product backlog list, ang mga completed PBIs ay paminsan-minsan ay maaaring sumiksik. Ang tab selection ay hindi laging itinutulak pababa sa server-side filter; ngayon ay laging itinutulak. Maaari kang tumuon sa incomplete na trabaho nang hindi nagdududa sa listahan.
Ang “refinement candidates” widget sa dashboard ay nag-aapply na ngayon ng parehong server-side filter: ang mga kandidato ay kinukuha nang direkta mula sa incomplete set, kaya ang mga high-volume na proyekto ay hindi tahimik na nagbabaha ng mga incomplete PBIs palabas ng tanawin.
🧭 Itinago ang completed-epic cards sa mga proyektong naka-off ang Epic
Ang “Completed epics” card sa stats dashboard at ang “Achieved epics” card sa overall stats detail page ay hindi na nag-rerender para sa mga proyekto kung saan naka-off ang Epic feature.
Ang UI ay itinago na ang mga katabing seksyon, ngunit ang isang render-timing window ay maaari pa ring mag-flash ng card, at ang underlying data ay nababasa sa pamamagitan ng ibang mga daan. Ngayon parehong nananatiling naka-lock ang display at ang data sa mga proyektong naka-on ang Epic.
🛡 Tinanggal ang nakakapagpalitong suffix sa mga completed rows
Inalis namin ang “PBI-XXXXXX” suffix na lumitaw sa tabi ng mga completed na item. Mukhang sequential ID, ngunit talagang kinuha mula sa dulo ng isang internal identifier at maaaring magkataong tumugma sa katabing row. Para maiwasan ang misreads, inalis namin nang lubusan ang display.
Ang “N araw ang nakalipas na natapos” na relative timestamp sa Completed tab ay wala na rin. Ang pag-edit ng natapos na PBI dati ay tahimik na muling nagsusulat sa value na iyon, kaya mukhang authoritative ito ngunit maaaring tahimik na lumihis. “Kailan natapos ito” ay iniwan na ngayon sa Sprint column, na may dala ng kahulugan na iyon nang tapat.
🔒 Mas mahigpit na public-redirect targets
Hinigpit namin ang paghawak ng redirect sa paligid ng login. Ang public host at HTTP/HTTPS scheme ay naka-pin na ngayon sa server-side, kaya ang isang spoofed na header ay hindi na maaaring magbalik-tao sa mga user sa isang attacker-controlled na domain. Isang bihirang kaso kung saan ang isang internal port number ay maaaring tumagas sa redirect URL ay nareresolba na rin.
🧱 Mas tahimik na backstage — tahasang DB connection at request-timeout limits
Para hindi makapanikip ng mga mabibigat na spikes (tulad ng CSV imports) sa shared database connection budget, at para mapigilan ang mga matagal na nakabitin na request na hawak ang server resources, naglagay kami ng tahasang upper bounds:
- Ang bilang ng DB connections na hawak per API instance ay na-externalize na ngayon sa environment variables, at ang server ay fail fast sa startup kung ang mga values ay hindi naka-set o hindi valid (kaya ang safety net ay hindi tahimik na ma-disable dahil sa misconfiguration).
- Ang mga GraphQL request ay may 30-segundong timeout. Ang paglampas dito ay nagbabalik ng dedikadong error code na maaaring makilala mula sa authentication errors. Ang real-time subscription connections ay exempt at patuloy na nananatiling bukas para sa mahahabang sessions, gaya ng dati.
- Naka-pin din namin ang HTTP server read/write timeouts para gawing matatag laban sa Slowloris-style na TCP resource exhaustion.
Ang normal-load response times (CSV import ng 1,000 rows ay karaniwang natatapos sa 5–10 segundo) ay hindi apektado.
📦 Security-advisory dependency updates
In-update namin ang next, mermaid, ws, protobufjs, postcss, at brace-expansion sa kanilang advisory-patched versions. Walang user-facing na functional change — kasunod lang ng upstream fixes.
📮 Makipag-ugnayan sa amin
Kung mayroon kang mga katanungan o feedback, huwag mag-atubiling makipag-ugnayan.
- ✉️ Email: info@on-your-side.llc