Skip to content

Hotloader needs special treatment for gitpod #202

Open
@catmando

Description

@catmando

This works:

module Hyperstack
  class Hotloader
    def connect_to_websocket(port)
      if `window.location.host` =~ /\d+-([a-f0-9\-]+\..+\.gitpod.io)/
        ws_url = "#{port}-#{$1}"
      else
        host = `window.location.host`.sub(/:\d+/, '')
        host = '127.0.0.1' if host == ''
        ws_url = "#{host}"
      end
      puts "Hot-Reloader connecting to #{ws_url}"
      protocol = `window.location.protocol` == 'https:' ? 'wss:' : 'ws:'
      ws = `new WebSocket(#{protocol} + '//' + #{ws_url})`
      `#{ws}.onmessage = #{lambda { |e| reload(e) }}`
      `setInterval(function() { #{ws}.send('') }, 10000)` if @ping
    end
  end
end

maybe put the gitpod on some configuration switch

Metadata

Metadata

Assignees

No one assigned

    Labels

    Gitpod integrationGitpod allows people unfamiliar with Rails to quickly set up a free virtual environment

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions