Troubleshooting
Changes to JS code aren't registering in the browser?
- make sure you are watching the directory
- make sure you did
|commit %home
(the ) -
use
Cmd-Shift-R
(Mac) orCtrl-Shift-R
(PC/Linux) in Chrome/Brave to force a reload.
Safari usesCmd-Option-R
. -
Gall keeps running an old version of my app!
- if there's a compile error, it will run an old version until a new version successfully compiles.
- Gall will not throw the same compile error twice in a row. This can be confusing if you
don't get an error message, but still see that you're running the same version
Helper Core Note
If you have a helper core, you'll generally declare it inside your agent like so:
+* hc ~(. +> bowl)
If you have an arm inside the helper core like write-file
, remember to access it inside your agent as
write-file:hc
, and not just write-file
. Your agent would find the
write-file
arm in the subject, but it wouldn't have its sample set to the current
bowl
–it would just have the default bowl
sample. This can cause some weird errors and
unexpected behavior.
If you are referring to a helper core arm from another helper core arm, then the bowl
sample
will already be replaced, and so you should just refer to write-arm
(or whatever the arm's name
is).
scry errors
scry failed for
ford: %hood failed for /~zod/home/0/app/...
Solution: run |commit %home
mint-lost: Handle All State Cases
Usually caused by adding a new state, but not having a ?-
case to handle it.
Reloading an App
As soon as you execute |start %yourapp
, the app is started forever. It doesn't
matter whether it had errors upon loading. The only way to "remove" an app and have Gall stop monitoring
it is to create a new ship and load the code in there.
My App Compiled, but then I Got an Error Right After
Most likely you changed your state variable's structure without giving an on-load
transition. If
this is a development app, just delete your ship and set it up again. If not, then write the proper transition in
on-load
.
I Don't See an Error, but My App Doesn't Work
Doesn't Throw Same Error Twice
Once Gall throws an error in compilation, it won't throw the same error again. This means that even if your app
still has problems, you won't see an error after '|commit'.
Because of this, I usually leave an on-load
print debug in while developing. If I see the
'on-load' message print, it means that my app compiled successfully. If not, it means that I need to keep
debugging the prior error.
Needs to Reload a Dependency
Sometimes dependencies, like a recently updated types file in /sur
, don't get recognized. In these
cases, just run :goad %force
, and the dependencies will reload, throwing any new errors that may arise.