Commitebb5b9edRecorded24 Oct 2026Repositoryfolio
Use the exported channel-send and channel-receive APIs
Changed
src/folio/tools.sgl | 8 ++++----
test/test-writer-serialization.sgl | 14 +++++++-------
2 files changed, 11 insertions(+), 11 deletions(-)Diff
src/folio/tools.sglmodified
@@ -2192,10 +2192,10 @@
2192
(define writers (make-channel 1)) 2193
(define (serialize-writer handler) 2194
(lambda (args)−2195
(receive writers)−2196
(guard (exn (else (send writers #t) (raise exn)))+2195
(channel-receive writers)+2196
(guard (exn (else (channel-send writers #t) (raise exn))) 2197
(let ((result (handler args)))−2198
(send writers #t)+2198
(channel-send writers #t) 2199
result)))) 2200
(define (register! name description schema handler) 2201
(let ((safe-handler@@ -2206,7 +2206,7 @@
2206
safe-handler 2207
(serialize-writer safe-handler))))) 2208
−2209
(send writers #t)+2209
(channel-send writers #t) 2210
2211
;; Inbox 2212
(register!test/test-writer-serialization.sglmodified
@@ -33,16 +33,16 @@
33
(jsonrpc-request id: id method: "tools/call" 34
params: (dict name: "folio/note-edit" 35
arguments: (dict name: "writer" append: marker))))))−36
(send done reply)))+36
(channel-send done reply))) 37
(register-folio-tools! server store idx) 38
(with-async 39
(go 40
(with-index-transaction idx 41
(lambda ()−42
(send ready #t)−43
(receive release))))+42
(channel-send ready #t)+43
(channel-receive release)))) 44
(go−45
(receive ready)+45
(channel-receive ready) 46
(go (append! 1 "first-marker\n")) 47
(let wait ((attempt 0)) 48
(unless (or (string-contains? (read-file-string file) "first-marker")@@ -53,9 +53,9 @@
53
(go (append! 2 "second-marker\n")) 54
(sleep 0.1) 55
(set! second-waited? (not (string-contains? (read-file-string file) "second-marker")))−56
(send release #t)−57
(assert-true (jsonrpc-response? (receive done)))−58
(assert-true (jsonrpc-response? (receive done)))))+56
(channel-send release #t)+57
(assert-true (jsonrpc-response? (channel-receive done)))+58
(assert-true (jsonrpc-response? (channel-receive done))))) 59
(assert-true first-visible?) 60
(assert-true second-waited?) 61
(let ((content (read-file-string file)))