My function started failing an hour ago. It took a bit to figure out the cause but it looks like prod changed the requirements on what a storage key can be. Yesterday this was a valid key:
10005abrega.com (3e5ac782-ad3f-4ea5-a5d5-448b6c2a7539).har10193
Today it is not. There seems to be nothing relevant at https://developer.atlassian.com/platform/forge/changelog/#
And the error is:
ERROR 10:34:43.418 a6c5619a-acf9-45a4-a354-d636c952972c Error: APIError: Key should match the pattern "/^(?!\s+$)[a-zA-Z0-9:._\s-#]+$/"
at APIError.forErrorCode (/private/var/folders/n9/49zt1xp97n16k_k7hndfwkvc0000gn/T/tunnel-83195-xIz5I5I4yTf0/bundled/processHar.js:1444:16)
at assertNoErrors (/private/var/folders/n9/49zt1xp97n16k_k7hndfwkvc0000gn/T/tunnel-83195-xIz5I5I4yTf0/bundled/processHar.js:1467:33)
at GlobalStorage.mutation (/private/var/folders/n9/49zt1xp97n16k_k7hndfwkvc0000gn/T/tunnel-83195-xIz5I5I4yTf0/bundled/processHar.js:1580:9)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async GlobalStorage.delete (/private/var/folders/n9/49zt1xp97n16k_k7hndfwkvc0000gn/T/tunnel-83195-xIz5I5I4yTf0/bundled/processHar.js:1537:9)
at async /private/var/folders/n9/49zt1xp97n16k_k7hndfwkvc0000gn/T/tunnel-83195-xIz5I5I4yTf0/bundled/processHar.js:8244:11
at async Object.resolve [as handler] (/private/var/folders/n9/49zt1xp97n16k_k7hndfwkvc0000gn/T/tunnel-83195-xIz5I5I4yTf0/bundled/processHar.js:1082:28)
at async /private/var/folders/n9/49zt1xp97n16k_k7hndfwkvc0000gn/T/tunnel-83195-xIz5I5I4yTf0/processHar.js:1:192362
at async process.<anonymous> (/Users/boris/.nvm/versions/node/v18.18.0/lib/node_modules/@forge/cli/node_modules/@forge/node-runtime/out/sandbox/sandbox-runner.js:8:20)
Which unhelpfully doesn’t even tell you WHICH api is failing.
Additionally, if you adjust the code to conform to the new requirement, you now have legacy storage entries that are forever unreachable.
Can someone explain how this is considered GA?