diff --git a/bugafriend/room.scm b/bugafriend/room.scm index 598ed21..63fc1e5 100644 --- a/bugafriend/room.scm +++ b/bugafriend/room.scm @@ -1,6 +1,7 @@ (define-module (bugafriend room) #:use-module (goblins) #:use-module (goblins actor-lib pubsub) + #:use-module (goblins actor-lib methods) #:export (^room ^room-presence)) (define (^room bcom creator-presence) diff --git a/bugafriend/ui.scm b/bugafriend/ui.scm index 796f180..6d43ac3 100644 --- a/bugafriend/ui.scm +++ b/bugafriend/ui.scm @@ -1,5 +1,6 @@ (define-module (bugafriend ui) #:use-module (bugafriend utils registry) + #:use-module (bugafriend room) #:use-module (goblins) #:use-module (goblins vat) #:use-module (goblins ocapn ids) @@ -47,7 +48,7 @@ (位 (args) (define my-presence (spawn ^room-presence "user")) (set! room-actor (spawn ^room my-presence)) - (format #t "Room ID: ~a\n" ($ ocapn-registry 'register room)) + (format #t "Room ID: ~a\n" ($ ocapn-registry 'register room-actor)) (loop! #t))) (make-console-command "/me" @@ -126,7 +127,7 @@ (set-readline-prompt! " 馃悶 > ") (with-vat vat - (format #t "Connecting to relay...\n") + (format #t "Connecting to relay... ~s\n" setup-sref) (on (prelay-sref->mycapn-registry setup-sref) (位 (r) (set! ocapn-registry r) diff --git a/bugafriend/user.scm b/bugafriend/user.scm index 7ac9873..b91cd05 100644 --- a/bugafriend/user.scm +++ b/bugafriend/user.scm @@ -1,7 +1,11 @@ (define-module (bugafriend user) #:use-module (bugafriend utils registry) + #:use-module (bugafriend room) #:use-module (goblins) + #:use-module (goblins ocapn ids) + #:use-module (goblins actor-lib methods) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) #:export (^user)) (define-record-type @@ -13,24 +17,24 @@ (define (^user bcom name registry joined-room-data) (methods [(make-room) - (define my-presence (spawn ^room-presence name)) - (define room (spawn ^room my-presence)) - (define room-data (make-room-data room my-presence)) - (on (<- registry 'register room) - (位 (id) - (format #t "New room ID: ~a\n" (ocapn-id->string id)))) - (bcom (^user bcom name registry room-data))] + (let* ((my-presence (spawn ^room-presence name)) + (room (spawn ^room my-presence)) + (room-data (make-room-data room my-presence))) + (on (<- registry 'register room) + (位 (id) + (format #t "New room ID: ~a\n" (ocapn-id->string id)))) + (bcom (^user bcom name registry room-data)))] [(join-room room) - (define my-presence (spawn ^room-presence name)) - (when joined-room-data - (<-np (room-data-room joined-room-data) 'kick-user (room-data-presence joined-room-data)) - (on (<- room 'add-user my-presence) - (位 (_) - (format #t "Joined room.\n"))) + (let ((my-presence (spawn ^room-presence name))) + (when joined-room-data + (<-np (room-data-room joined-room-data) 'kick-user (room-data-presence joined-room-data)) + (on (<- room 'add-user my-presence) + (位 (_) + (format #t "Joined room.\n"))) - (define room-data (make-room-data room my-presence)) - (bcom (^user bcom name registry room-data)))] + (define room-data (make-room-data room my-presence)) + (bcom (^user bcom name registry room-data))))] [(leave-room room) (when (eq? room (room-data-room joined-room-data))