Issue #6: Redefine on-error / on-close with final handlers only after open
#6: Rework fix to avoid race conditions associated with redefining handlers
#6: Pass errors straight through during EDN and JSON decode; use a bidirectional channel (with write end closed) for passing connect-time errors
Abstracting 'try-read' out - quite a lot of similarity between EDN/JSON
Not sure why I ever called these 'read-from/write-to-ch!'
Would probably have put this comment in a commit message
Re-naming combine-chs -> bidi-ch - 'combine' is quite ambiguous, in hindsight
fixup! Not sure why I ever called these 'read-from/write-to-ch!'
Adding the error cause to 'try-read'
Bumping to 0.4.0-SNAPSHOT, and updating a couple of deps
Adding .nrepl-port to .gitignore
Adding CLJX to the project - it's about time we had some common code...
Abstracted out channels and format into two CLJX namespaces, no more copy-pasta :)
Whitespace
Implementing CLJS side as a state machine, to mirror the state machine we're abstracting over
Splitting out part of the example application
Updating the example app to use the new connection error handling
[example] Including Chord main in the source paths for quick development
[example] Refactoring and documenting the example project - moving away from one monolithic namespace
Updating the README with the examples from the breaking change