- Fix GPS returning nan on duplicate positions.
- Distinguish between all parsers passing and failing.
- Improve several comma related parse errors.
- Ignore metatables in textutils.serialize.
- Detect common audio containers in "speaker".
Co-authored-by: Wojbie <Wojbie@gmail.com>
The main purpose of this is to backport the improved parse/runtime
errors to older versions. I think they're sufficiently useful that we
should try to make it as widely available as possible.
We've been running them for a week now on SC3 and the released version
and not seen any issues, so I think it's probably stable enough.
This is a pretty lazy commit: I ended up copying the whole ROM over and
then picking up a few other related changes along the way.
- Trim spaces from file paths (b8fce1eecc)
- Correctly format 12AM/PM with
%I (9f48395596)
- Fix http.request and htpt.websocketAsync not handling a few failure
edge-cases correctly (3b42f22a4f).
- Move the internal modules into the main package path, hidden under
cc.internal (34a31abd9c).
- Gather code coverage in Java instead of
Lua (28a55349a9).
- Make error messages in edit more
obvious (8cfbfe7ceb).
- Make mcfly's test methods global. This means we don't need to pass
stub everywhere (7335a892b5).
- Improve runtime and parse errors. This comes from numerous commits,
but chiefly a12b405acf, and
5502412181.
- Hide the internal redirect methods in
multishell (33b6f38339).
Note this does /not/ include the shebang changes (sorry Emma!). I've
tried to avoid adding any user-controllable features, mostly because I
don't know how to handle the versioning otherwise :).
- Add a new file_transfer event. This has the signature
"file_transfer", TransferredFiles.
TransferredFiles has a single method getFiles(), which returns a list
of all transferred files.
- Add a new "import" program which waits for a file_transfer event and
writes files to the current directory.
- If a file_transfer event is not handled (i.e. its getFiles() method
is not called) within 5 seconds on the client, we display a toast
informing the user on how to upload a file.
I was going to do something productive tonight, but then this happened.
Whatever, I'm retired, I'm allowed to make my entire existence just
adding 50px to things. Heck, maybe I'll do the same tomorrow too.
- Start making the summary lines for modules a little better. Just say
what the module does, rather than "The X API does Y" or "Provides Y".
There's still a lot of work to be done here.
- Bundle prism.js on the page, so we can highlight non-Lua code.
- Copy our local_ips wiki page to the main docs.
A little dubious, but apparently CC used to support it. This means we're
consistent with methods like io.write or string.len which accept strings
or numbers.
Fixes#591
Control characters become escaped as JSON requires
Non-ASCII characters get escaped as well for better interoperability
We assume here that lua strings represent only first 256 code points of unicode
No clue how we're going to do this for the dynamic peripheral system
if/when that ships, but this is a good first stage.
Like the Java APIs, this relies on stub files, so we can't link to the
implementation which is a bit of a shame. However, it's a good first
step.
Unfortunately we can't apply the config changes due to backwards
compatibility. This'll be something we may need to PR into Forge.
CraftTweaker support still needs to be added.