@rip-lang/server 1.1.13 → 1.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/server.rip +7 -22
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rip-lang/server",
3
- "version": "1.1.13",
3
+ "version": "1.1.15",
4
4
  "description": "Pure Rip application server — multi-worker, hot reload, HTTPS, mDNS",
5
5
  "type": "module",
6
6
  "main": "server.rip",
package/server.rip CHANGED
@@ -746,7 +746,7 @@ class Server
746
746
  port = p
747
747
  while port < p + 100
748
748
  try
749
- return Bun.serve(Object.assign({ port, idleTimeout: 8, fetch: fetchFn }, opts))
749
+ return Bun.serve(Object.assign({ port, idleTimeout: 255, fetch: fetchFn }, opts))
750
750
  catch e
751
751
  throw e unless e?.code is 'EADDRINUSE'
752
752
  port++
@@ -755,7 +755,7 @@ class Server
755
755
  if httpOnly
756
756
  if @flags.httpPort is 0
757
757
  try
758
- @server = Bun.serve({ port: 80, idleTimeout: 8, fetch: fetchFn })
758
+ @server = Bun.serve({ port: 80, idleTimeout: 255, fetch: fetchFn })
759
759
  catch e
760
760
  throw e unless e?.code in ['EADDRINUSE', 'EACCES']
761
761
  @server = startOnPort(5700)
@@ -767,7 +767,7 @@ class Server
767
767
 
768
768
  if not @flags.httpsPort or @flags.httpsPort is 0
769
769
  try
770
- @httpsServer = Bun.serve({ port: 443, idleTimeout: 8, tls, fetch: fetchFn })
770
+ @httpsServer = Bun.serve({ port: 443, idleTimeout: 255, tls, fetch: fetchFn })
771
771
  catch e
772
772
  throw e unless e?.code in ['EADDRINUSE', 'EACCES']
773
773
  @httpsServer = startOnPort(5700, { tls })
@@ -872,19 +872,6 @@ class Server
872
872
  registerWatch: (prefix) ->
873
873
  return if @watchGroups.has(prefix)
874
874
  @watchGroups.set prefix, { sseClients: new Set() }
875
- @startHeartbeat()
876
-
877
- startHeartbeat: ->
878
- return if @_heartbeat
879
- @_heartbeat = setInterval @pingAll.bind(@), 5000
880
-
881
- pingAll: ->
882
- for [prefix, group] as @watchGroups
883
- dead = []
884
- for client as group.sseClients
885
- try client.ping()
886
- catch then dead.push(client)
887
- group.sseClients.delete(c) for c in dead
888
875
 
889
876
  handleWatch: (prefix) ->
890
877
  group = @watchGroups.get(prefix)
@@ -893,14 +880,12 @@ class Server
893
880
  client = null
894
881
  new Response new ReadableStream(
895
882
  start: (controller) ->
896
- write = (data) ->
897
- try controller.enqueue encoder.encode(data)
883
+ send = (event) ->
884
+ try controller.enqueue encoder.encode("event: #{event}\ndata:\n\n")
898
885
  catch then null
899
- client =
900
- send: (event) -> write "event: #{event}\n\n"
901
- ping: -> write ":\n\n"
886
+ client = { send }
902
887
  group.sseClients.add(client)
903
- client.send('connected')
888
+ send('connected')
904
889
  cancel: ->
905
890
  group.sseClients.delete(client) if client
906
891
  ),