Recently we've seen an issue with AEM 6.4+ with saving user preferences. This includes the following routes to modify them:
- My Preferences
- Product Navigation (tooltip/tutorial)
When trying to save these settings, or clicking the Don't show this again box in the tooltip the following error message can be seen in the Chrome and FireFox consoles.
foundation.86b0963b45172609c47052c59f7c7aed.js:1893 Uncaught Error: Error saving user preferences: action param is missing
at updateServer (foundation.86b0963b45172609c47052c59f7c7aed.js:1893)
at Object.setAll (foundation.86b0963b45172609c47052c59f7c7aed.js:1987)
at Object.set (foundation.86b0963b45172609c47052c59f7c7aed.js:1969)
at saveOpenAgainState (shell.f7274ca997ab8a0da5d4c5ee86485b67.js:1965)
at HTMLElement.<anonymous> (shell.f7274ca997ab8a0da5d4c5ee86485b67.js:2033)
at HTMLElement.dispatch (jquery.5e8d3382f82b03b0bf3fea3024eecd61.js:5226)
at HTMLElement.elemData.handle (jquery.5e8d3382f82b03b0bf3fea3024eecd61.js:4878)
at HTMLElement.Coral.Component.trigger (coralui3.ca4a4faaf6a7b3db2efbd7209e55a52b.js:7040)
at HTMLElement._onInputChange (coralui3.ca4a4faaf6a7b3db2efbd7209e55a52b.js:12976)
at HTMLElement._onTargetInputChange (coralui3.ca4a4faaf6a7b3db2efbd7209e55a52b.js:10286)
The error appears to be in this updateServer method of the identified foundation***.js file.
function updateServer(modified, deleted, action) {
if (!action) {
throw new Error("Error saving user preferences: action param is missing");
}
deleted.forEach(function(v) {
modified[v + "@Delete"] = "";
});
$.post({
url: action,
data: modified
}).fail(function(xhr, textStatus, errorThrown) {
// eslint-disable-next-line no-console
console.error("Error saving user preferences:", textStatus, errorThrown);
});
}