Stop iterating ServiceType.values() against the resolved catalog

FixSecurityService
Ya
9 Agosti 2026, 01:46 UTC
Mwandishi
Kamo
Ahadi ya
698ae2c

resolveAll() omits the deprecated aliases that share an id with a live app (DOC_MANAGER/DOCS, AI_CHAT/AI_SUPPORT), because those have no catalog row of their own. Every consumer here looped over ServiceType.values() and dereferenced catalog.get(st), so those two constants returned null — an NPE on the account Apps page, the /available endpoint, the platform catalog tab, and org auto-provisioning. They iterate the resolved map instead, which cannot produce a key the map has no entry for. serializeFeatures additionally tolerates a null entry rather than throwing, and now does one lookup instead of five.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei