mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2025-12-24 14:12:40 +00:00
Run patch processing in parallel to prior system to attempt to narrow down not-quite-so-edge cases that did not come up prior to user testing.
This commit is contained in:
@@ -340,7 +340,7 @@ const api = {
|
||||
const brewFromClient = api.excludePropsFromUpdate(req.body);
|
||||
const brewFromServer = req.brew;
|
||||
splitTextStyleAndMetadata(brewFromServer);
|
||||
|
||||
|
||||
brewFromServer.text = brewFromServer.text.normalize();
|
||||
brewFromServer.hash = await md5(brewFromServer.text);
|
||||
|
||||
@@ -357,15 +357,20 @@ const api = {
|
||||
let brew = _.assign(brewFromServer, brewFromClient);
|
||||
brew.title = brew.title.trim();
|
||||
brew.description = brew.description.trim() || '';
|
||||
|
||||
try {
|
||||
const patches = parsePatch(brewFromClient.patches);
|
||||
brew.text = applyPatches(patches, brewFromServer.text)[0];
|
||||
// Patch to a throwaway variable while parallelizing - we're more concerned with error/no error.
|
||||
const patchedResult = applyPatches(patches, brewFromServer.text)[0];
|
||||
// brew.text = applyPatches(patches, brewFromServer.text)[0];
|
||||
} catch (err) {
|
||||
console.error('Failed to apply patches:', {
|
||||
patches: brewFromClient.patches,
|
||||
brewId: brew.editId || 'unknown'
|
||||
patches : brewFromClient.patches,
|
||||
brewId : brew.editId || 'unknown',
|
||||
error : err
|
||||
});
|
||||
throw err; // rethrow to preserve the 500 behavior
|
||||
// While running in parallel, don't throw the error upstream.
|
||||
// throw err; // rethrow to preserve the 500 behavior
|
||||
}
|
||||
|
||||
brew.text = api.mergeBrewText(brew);
|
||||
|
||||
Reference in New Issue
Block a user