• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

share / sharedb / 918 / 1
96%
master: 97%

Build:
Build:
LAST BUILD BRANCH: dependabot/github_actions/actions/checkout-6
DEFAULT BRANCH: master
Ran 15 Nov 2018 12:16PM UTC
Files 24
Run time 1s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Nov 2018 12:15PM UTC coverage: 95.392% (-0.1%) from 95.509%
918.1

Pull #259

travis-ci

web-flow
Catch synchronous errors in `Doc._otApply`

Fixes https://github.com/share/sharedb/issues/257

As outlined in the above issue, calling `Doc.submitOp` can sometimes
`throw` a synchronous error, for example when submitting an invalid op
that causes `type.apply` to `throw`.

This is surprising behaviour, because an error handler should already be
provided in the callback supplied to `submitOp`. What's more, the doc
could be left partially mutated and out-of-sync with the server, which
could lead to confusing behaviour.

This change wraps all internal usage of `Doc._otApply` in `try`/`catch`
blocks. If an error is thrown in this method, then we attempt to
recover with `Doc._hardRollback`, which will attempt to reset the
document and then call the callbacks of the pending ops with the error.

This change also prevents `Doc._hardRollback` from emitting an error if
at least one pending op callback was invoked, so that we don't branch
error handling behaviour.
Pull Request #259: Catch synchronous errors in `Doc._otApply`

1087 of 1311 branches covered (82.91%)

2298 of 2409 relevant lines covered (95.39%)

134.74 hits per line

Source Files on job 918.1
  • Tree
  • List 0
  • Changed 16
  • Source Changed 1
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 897
  • Travis Job 918.1
  • bb52c08a on github
  • Prev Job for on otapply-rollback (#912.2)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc