air-verse/air

bug: live reload do not work for tmpl files

arejula27 opened this issue · 7 comments

I tried the new live reload feature with an existing project. Instead of using the go templates I use https://templ.guide/ as HTML engine. When modifying a tmpl file the web do not changed on the browser.

Hi @arejula27, is air reloading when the tmpl file content changes? Are you accessing the proxy port? Can you send here your air version and your config file?

I have the same issue, I always have to reload the browser page to see the changes, but as far as I know this is an expected behaviour(?)
Air version: 1.51.0 built with Go go1.22.2

Two things could be happening: 1. you're not accesing the proxy port on the browser, try to inspect the html page and confirm that you see a script <script>new EventSource... before the end of the body tag. 2. air is proxying an old dangling process running in the background. To check this, stop running air, and see if you can access the app port. If you can access the app, you need to kill it and run air again. lsof -i :8080 (assuming the app port is 8080) and kill PID. See if you can access the app port, at this point you shouldn't. Then run air again and see if that fixes the issue

Hi @arejula27, is air reloading when the tmpl file content changes? Are you accessing the proxy port? Can you send here your air version and your config file?

Probably my issue is that i am not accessing the proxy.

root = "."
testdata_dir = "testdata"
tmp_dir = "tmp"

[build]
  args_bin = []
  bin = "./main"
  cmd = "make build"
  delay = 1000
  exclude_dir = ["assets", "tmp", "vendor", "testdata"]
  exclude_file = []
  exclude_regex = ["_test.go", ".*_templ.go"]
  exclude_unchanged = false
  follow_symlink = false
  full_bin = ""
  include_dir = []
  include_ext = ["go", "tpl", "tmpl", "html", "templ"]
  include_file = []
  kill_delay = "0s"
  log = "build-errors.log"
  poll = false
  poll_interval = 0
  post_cmd = []
  pre_cmd = []
  rerun = false
  rerun_delay = 500
  send_interrupt = false
  stop_on_error = false

[color]
  app = ""
  build = "yellow"
  main = "magenta"
  runner = "green"
  watcher = "cyan"

[log]
  main_only = false
  time = false

[misc]
  clean_on_exit = false

[screen]
  clear_on_rebuild = false
  keep_scroll = true

Executing the version flag:

  __    _   ___
 / /\  | | | |_)
/_/--\ |_| |_| \_ v1.52.0, built with Go go1.22.3

Yes, after adding

[proxy]
  enabled = true
  proxy_port = 3001
  app_port = 3000

This feature works

@xiantang you can close the issue.

@xiantang you can close the issue.

ok