This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-07-07
Channels
- # babashka (7)
- # beginners (218)
- # boot (1)
- # chlorine-clover (2)
- # cider (36)
- # cljsrn (8)
- # clojure (71)
- # clojure-dev (9)
- # clojure-europe (11)
- # clojure-france (1)
- # clojure-italy (5)
- # clojure-nl (5)
- # clojure-uk (24)
- # clojurescript (9)
- # conjure (16)
- # cursive (65)
- # datomic (76)
- # devcards (21)
- # emacs (1)
- # etaoin (1)
- # figwheel-main (47)
- # fulcro (37)
- # hyperfiddle (9)
- # java (2)
- # kaocha (1)
- # malli (11)
- # music (14)
- # observability (8)
- # off-topic (32)
- # re-frame (13)
- # reagent (2)
- # reitit (5)
- # ring (3)
- # shadow-cljs (40)
- # slack-help (17)
- # spacemacs (15)
- # tools-deps (5)
- # xtdb (16)
Update: Well, my current workaround is to just change :barbary
in this line to :polling
, pack up a new hawk
JAR and use maven to stick in in my ~/.m2
dir. The effect is that I’m not using native Mac system events any more and so taking a battery hit, but at least the hot reloading performance is back to normal.
https://github.com/wkf/hawk/blob/master/src/main/clojure/hawk/watcher.clj#L136
wonder if it’s worth contributing some sort of PR adding a switch to hawk, if the barbary service fails then emit a warning and fall back to polling the fs.
I guess we could catch a missing-Carbon throw, and try to explicitly fall back to a polling watcher. I could document my steps on the github issue though, since making a custom hawk jar with the right version will fix all my figwheel projects on the specific machine and buy some time.
I’m a bit concerned jna -> barbary -> hawk could take a while to work through… was looking at last updates and they seem to have—to their credit—not needed to be touched in years.
is it OK to catch the specific thrown exception, or should I try something more proactive like trying to check the Mac OS version?
just in case anyone else is having trouble on macOS Big Sur betas, here’s how to monkey-patch the hawk file watcher to at least be able to get some work done https://github.com/bhauman/figwheel-main/issues/253#issuecomment-654572662
@bhauman Here’s a first cut at dealing with the mac FS events. (I’m pretty sure I have some problems around over-catching exceptions, hence draft status). https://github.com/bhauman/figwheel-main/pull/254/files Now that I understand the mechanism better, maybe this problem could be best dealt with by expanding the documentation around https://figwheel.org/config-options.html#hawk-options a bit more. Falling back to polling feels like it could have some downsides but I’m having trouble articulating what they might be.
So am I correct in understanding that if folks just switch their config to polling on Big Sur this isn’t an issue?
@bhauman yep, it looks like after all that the one-liner :hawk-options
will take care of it.
@bhauman I think I found a windows bug? I’ve had the path for the bundling command using the wrong slashes for :output-to
, ie \
instead of /
. I’m not overriding it, so it’s using whatever figwheel has defined…
I’m trying to work out how it’s happening. So if I use cursive with the repl run configuration it happens, but if I use the terminal inside intellij it doesn’t… Are you doing some environmental detection to work out what paths to use?
It’s also failing to detect that under certain circumstances, ie saying that it isn’t installed…