Contributor portal: Submit button click does nothing — TypeError "Cannot read properties of undefined (reading 'find')" in production JS, submission dialog never opens
STEPS TO REPRODUCE
1. Select a fully completed asset with the title, keywords, and category filled in and a green checkmark displayed.
2. Confirm that the Submit button is green and active.
3. Click Submit.
RESULT
The click is registered. The telemetry event "show-content-submission-dialog" is sent, and /log/event returns HTTP 204.
However:
- the confirmation dialog never opens;
- no moderation submission request is created;
- the asset remains in Uploads.
The HTTP 204 response belongs only to the telemetry request. It is not a response from the moderation submission endpoint.
CONSOLE ERROR
Uncaught (in promise) TypeError:
Cannot read properties of undefined (reading 'find')
at h (main.a6ec8041f56484dbcbcb.js:14:85808)
at A (main.a6ec8041f56484dbcbcb.js:14:92090)
ROOT CAUSE OBSERVED IN THE DEPLOYED BUNDLE
The failing production function executes logic equivalent to:
function h(e) {
let t = a[e.language || 1];
let s = new Set(e.keywords);
return !!t.find(keyword => s.has(keyword));
}
During reproduction, the lookup:
a[e.language || 1]
resolves to undefined.
The code then calls:
t.find(...)
Calling .find() on undefined throws the TypeError and rejects the Promise inside the submission workflow.
The exception occurs after the Submit click is registered but before the confirmation dialog is rendered. Therefore, the dialog never opens and no actual SUBMIT_ASSETS_FOR_MODERATION request is created.
LANGUAGE SELECTION TEST
I changed the Keyword Language to multiple different values available in Adobe's official dropdown.
After every change, I saved the metadata and retried Submit.
The result was the same for every tested language:
- the lookup still resolved to undefined;
- the same .find() exception was thrown;
- the confirmation dialog did not open;
- no moderation submission request was created.
This suggests that the language mapping is missing, incomplete, or not initialized when the submission readiness check runs. It is not resolved by selecting another language from the dropdown.
NOT A BROWSER ISSUE
The issue was reproduced after:
- deleting all Adobe cookies and site data;
- signing out and signing back in;
- restarting the browser and computer;
- updating Google Chrome;
- performing a hard refresh;
- testing the English interface;
- selecting only one asset;
- testing multiple Keyword Language values;
- disabling VPN;
- confirming that no ad blocker is active.
The HAR file shows that Adobe receives the Submit click but creates no moderation submission request.
SUGGESTED FIX
Add defensive validation before accessing the language-specific keyword list:
function h(e) {
const languageKeywords = a?.[e.language ?? 1] ?? [];
const assetKeywords = new Set(e.keywords ?? []);
return languageKeywords.some(keyword =>
assetKeywords.has(keyword)
);
}
Adobe engineering should also investigate why values selected from the official Keyword Language dropdown do not resolve in the language mapping.
Please escalate this issue to the Adobe Stock Contributor engineering team.
HAR file, console log, screenshots, and the relevant deployed JavaScript bundle are available on request.
