Chat alignment works "properly", thanks to a hack
[mudsync.git] / mudsync / networking.scm
index 1c28b38dcbb4ef872c8e1663e5fa12dac2eb6329..4417cfd27e898f4061992aad69bc65f820c58216 100644 (file)
         (pk 'web-server (create-actor nm <websocket-server>
                                       #:port web-server-port
                                       #:http-handler (wrap-apply http-handler)
-                                      #:websocket-handler (wrap-apply websocket-handler)))))
+                                      #:on-ws-message (wrap-apply websocket-new-message)))))
 
 (define (view:main-display request body)
   (define one-entry
-    '(div (@ (class "stream-entry"))
-          (p "This is an entry!")
-          (p "Let's try a few paragraphs")
-          (p "okay?")))
+     '(div (@ (class "stream-entry"))
+          (p (b "<foo>") " Wow, it's so shiny!")))
 
   (define body-tmpl
     `((div (@ (id "stream-metabox"))
            (div (@ (id "stream"))
-                ,@(map (const one-entry) (iota 10))))
+                ,@(map (const one-entry) (iota 25))
+                (div (@ (class "stream-entry"))
+                     (p (b "<bar>") " Last one!"))))
       (div (@ (id "input-metabox"))
-           (p "test test")
            (input (@ (id "input"))))))
 
   (define (main-tmpl)
 
 ;; Respond to text messages by reversing the message.  Respond to
 ;; binary messages with "hello".
-(define (websocket-handler data)
-  (if (string? data)
-      (string-reverse data)
-      "hello"))
+(define (websocket-new-message websocket-server client-id data)
+  (<- (actor-id websocket-server) 'ws-send
+      client-id
+      (if (string? data)
+          (string-reverse data)
+          "hello")))