mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-14 20:40:17 -05:00
Merge pull request #20979 from overleaf/jpa-handle-error
[project-history] gracefully handle errors when loading Changes GitOrigin-RevId: 214fadb3c779551ea90f38b0fdf77c58ed5df178
This commit is contained in:
parent
663f6605d7
commit
fab69a16c4
2 changed files with 37 additions and 6 deletions
|
@ -408,12 +408,20 @@ export function _processUpdates(
|
|||
)
|
||||
},
|
||||
(updatesWithBlobs, cb) => {
|
||||
const changes = UpdateTranslator.convertToChanges(
|
||||
projectId,
|
||||
updatesWithBlobs
|
||||
).map(change => change.toRaw())
|
||||
profile.log('convertToChanges')
|
||||
|
||||
let changes
|
||||
try {
|
||||
changes = UpdateTranslator.convertToChanges(
|
||||
projectId,
|
||||
updatesWithBlobs
|
||||
).map(change => change.toRaw())
|
||||
} catch (err) {
|
||||
return cb(err)
|
||||
} finally {
|
||||
profile.log('convertToChanges')
|
||||
}
|
||||
cb(null, changes)
|
||||
},
|
||||
(changes, cb) => {
|
||||
let change
|
||||
const numChanges = changes.length
|
||||
const byteLength = Buffer.byteLength(
|
||||
|
|
|
@ -390,6 +390,29 @@ describe('UpdatesProcessor', function () {
|
|||
return this.callback.should.have.been.called
|
||||
})
|
||||
})
|
||||
|
||||
describe('with an error converting changes', function () {
|
||||
beforeEach(function (done) {
|
||||
this.err = new Error()
|
||||
this.UpdateTranslator.convertToChanges.throws(this.err)
|
||||
this.callback = sinon.stub()
|
||||
|
||||
this.UpdatesProcessor._processUpdates(
|
||||
this.project_id,
|
||||
this.ol_project_id,
|
||||
this.rawUpdates,
|
||||
this.extendLock,
|
||||
err => {
|
||||
this.callback(err)
|
||||
done()
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
it('should call the callback with the error', function () {
|
||||
this.callback.should.have.been.calledWith(this.err)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
return describe('_skipAlreadyAppliedUpdates', function () {
|
||||
|
|
Loading…
Reference in a new issue