cortesi/devd

Livereload broken on Linux in v0.8

copy opened this issue ยท 8 comments

copy commented

In v0.8:

% ./devd --debug -l . > /tmp/log &
[1] 27072
% echo foo >> index.html
% cat /tmp/log
00:44:02: Route / -> reads files from .
00:44:02: Listening on http://devd.io:8000 (127.0.0.1:8000)

In v0.7:

% ./devd --debug -l . > /tmp/log &
[1] 26755
% echo foo >> index.html
% cat /tmp/log
00:42:47: Route / -> reads files from .
00:42:47: Listening on http://devd.io:8000 (127.0.0.1:8000)
00:42:51: livereload page, files changed: [index.html]

Livereload is broken for me too with 0.8 under an up-to-date Arch Linux x64: nothing happens on file change. devd 0.7 used to work fine. Full command-line used: devd -l -p 8888 /home/ronj/blog

Experiencing the same issue with live reload on devd@0.8, macOS. Livereload works fine after rolling back to 0.7; brew switch devd 0.7.

If there's something useful I can report, let me know

Same here

#95 fixes it for me.

Same issue on Windows. Used to work in 0.7 not working in 0.8

Thanks all. This should now be fixed. Please re-open if you still have issues.

This still seems to be an issue on macOS 10.15.4 (19E287)
Using devd v0.9 from either brew or nix.
I tried to brew switch devd 0.7 but it says Error: devd does not have a version "0.7" in the Cellar.

$ devd -l ./out/
14:13:44: Route / -> reads files from ./out/
14:13:44: Listening on http://devd.io:8000 (127.0.0.1:8000)

the load http://devd.io:8000/index.html to make sure it's listening to livereload events.
that shows up on the devd log correctly as:

14:13:56: GET /
        <- 200 OK 2 B

but when I run echo 2 > out/index.html nothing happens on the devd terminal.
if i manually reload the page, it shows the updated content.

I tried to access the page with both http://devd.io:8000/ and http://devd.io:8000/index.html, using both

  • Chrome 84.0.4114.0 (Official Build) canary (64-bit)
  • 2.11.1811.52 (Stable channel) (64-bit)

but neither does live-reload.

If I use the --debug flag, I see this in the log:

14:23:52: livereload page, files changed: [out/index.html]

but regardless, no reloading happens on the pages...

Ah, problem solved I guess:

echo '<head></head>8' > out/index.html

this is the most minimal content which allows the livereload to work.

For some reason I've assumed devd would be smart enough to insert a <head> tag if it's missing, but that would be obviously a huge, unnecessary complication.