require('./highlight.pack') fails with "ReferenceError: hljs is not defined"

var <any-name-hljs-included> = require('./highlight.pack'); fails with ReferenceError: hljs is not defined. when executed in node.js.
This happens when downloading and extracting highlight.zip from https://highlightjs.org/download/ (tested both the default selected languages or with just one - javascript)
But it doesn't fail (and I can later use it nicely) if I build it on my own with node tools/build.js javascript or any other languages which I tried.
This happens with 9.50 but also happened with 9.40 (worked when I build it, didn't from the download).
Looking at highlight.pack.js - both the downloaded and the one which I built, it seems that the code is supposed to work also in a module environment (tests for exports availability at the beginning - identical first few LOC at both files), but it doesn't with the download.
Is it a bug? expected? IMO it should be possible to require it also with the downloaded package.

We have different build targets for node.js and for the browser/AMD environment. The highlight.pack.js you're getting from the site is the browser variant. Have a look here: http://highlightjs.readthedocs.io/en/latest/building-testing.html

I know. I'm saying that if you build for the browser, like so: node tools/build.js -t browser :common then the resulting highlight.pack.js can still be used with node, but if you download it from the site then it cannot be used with node.

Aha… Then it might be due to the bug #1220 that I fixed just yesterday. Could you please check again?

I just check. It still cannot be used from node when downloading from the site, but can be used from node when building locally for the browser (with 9.6.0 - same as it was on 9.5.0 and 9.4.0).
At the site download, I selected a single language: javascript and clicked download.
Inside the downloaded zip I opened highlight.pack.js in an editor, and it starts with /*! highlight.js v9.6.0 | BSD3 License | git.io/hljslicense */ so this is the latest version.
I created a test file test.js which contains a single line: var x = require('./highlight.pack');
It fails with the downloaded highlight.pack.js, but works with highlight.pack.js which I built myself for the browser.
I then unminified (or at least beautified) highlight.pack.js which I downloaded - using http://jsbeautifier.org/
This code is at the global scope (towards the end of the file):
hljs.registerLanguage("javascript", function(e) {
    return {
    // ... the rest of the javascript support is here

However, there's no global object hljs, so it fails.
When I build it myself for the browser, it doesn't try to use a global hljs object. Instead, the registration looks like this, and it's inside the big function where e exists:
    }, e.registerLanguage("javascript", function(e) {

and it works in node.

Where is the website code which composes the package which is then downloaded?

Quick fix for anyone else having this problem:
(highlight.pack.js)
!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof exports?
->
!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"!=typeof undefined?

A quick update. This is due to a discrepancy between the browser build and the CDN build. The site uses the latter to construct zips on the fly using simple concatenation of pre-compressed highlight.js and language files. At some point the real browser build started putting languages inside the contents of highlight.js. I'm not yet sure how best to fix it.
Out of curiosity, why would you want to use a browser build from node?

Because it's simpler/quicker/easier to check boxes and download a custom pack instead of building it.
I have a small node script which highlights source code for the console and uses hljs as backend (still not public but It'll be at some stage) and it doesn't have other dependencies, so you just drop the pack at the same dir as the script and it works - except it doesn't now due to this issue.
I wanted to let users pick the languages they need and download the latest package themselves instead of asking them to build the node package or providing packages myself.

Seems reasonable enough, even if unusual. And I want this fixed anyway. In the meantime however, you could probably just use the actual node build? If you need to constrain languages used in auto-detection it's as simple as hljs.configure({languages: [ ...]}) or pass the same language list as a second argument to highlightAuto() http://highlightjs.readthedocs.io/en/latest/api.html#highlightauto-value-languagesubset

Yeah, I could always just create a pack with all the languages and post it someplace and update it when hljs updates - it's not a big file anyway, so this issue is not blocking me in any way.
Re auto detection, I actually found it a bit slow (relatively speaking), and found out that if I maintain a map of file extensions to languages as config then it works quite a bit faster than auto-detection (but I still have auto-detection as fallback).

I could always just create a pack with all the languages and post it someplace and update it when hljs updates

Why not the actual node package from npm https://www.npmjs.com/package/highlight.js? It has zero dependencies, just as the browser one.

+1, I ran into the same issue described above and would love the fix to be in place for downloading the custom pack of languages, based on check box selections, instead of having to build it manually.
Thanks for creating this great tool, @isagalaev.

well  i think the method that @entibo provided was just amazing! I just can't believe it could work.
good job and can i ask why?

So just to be clear, this page downloads a broken version of the library for browsers? And it's been like that for many months? What's going on??

@entibo suggestion worked for me (using in Laravel 5.5)
in app.js
...
require('./highlight.pack.js').initHighlightingOnLoad();
...

Is this resolved now?  If not could someone please summarize the issue?  Is this just a duplicate of "please include a binary distributable with npm packages"?

Closing due to inactivity and no one responding here.  If this is still an issue please let us know and we can always reopen this.
Although I'm pretty sure the right answer is to simply NOT use the browser build for nodejs includes... That seems wrong to me vs just requiring the library via npm which should "just work". If this was a big demand we could perhaps have another build target, but judging from the lack of response here it seems no such real demand.
Also moving forward we might do more "browser" specific things (better dynamic loading of languages) in the browser version are purposely very different from the Node.js version... ie, there is a reason we have two build targets...  They aren't expected to be interchangeable.

Sorry, missed the question in October.
The issue is still unresolved, I just tried with the default download from https://highlightjs.org/download/ and it still fails in the same way.
The summary and steps to reproduce are described exactly at the first post.
Please ask if you don't understand something, but I think the issue is pretty clear and easy to reproduce. The only question is if the project wants to fix it. Judging by the several thumbs-up on this issue, I'd say others would like it fixed too.

Just to be clear, the steps to reproduce are as follows:

Download a pack from https://highlightjs.org/download/ (the default or any other combination of supported languages).
extract the zip.
Create a file test.js with a single line in it: var x = require('./highlight.pack');
Run node test.js

Expected result: nothing interesting happens.
Actual result: the following error is shown:
$ node test.js
highlight.pack.js:2
!function(e){var n="object"==typeof window&&window||"object"==typeof self&&self;"undefined"==typeof exports||exports.nod
eType?n&&(n.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return n.hljs})):e(exports)}(function
(a){var f=[],i=Object.keys,b={},u={},n=/^(no-?highlight|plain|text)$/i,l=/\blang(?:uage)?-([\w-]+)\b/i,t=/((^(<[^>]+>|\t
|)+|(?:\n)))/gm,r={case_insensitive:"cI",lexemes:"l",contains:"c",keywords:"k",subLanguage:"sL",className:"cN",begin:"b"
,beginKeywords:"bK",end:"e",endsWithParent:"eW",illegal:"i",excludeBegin:"eB",excludeEnd:"eE",returnBegin:"rB",returnEnd
:"rE",variants:"v",IDENT_RE:"IR",UNDERSCORE_IDENT_RE:"UIR",NUMBER_RE:"NR",C_NUMBER_RE:"CNR",BINARY_NUMBER_RE:"BNR",RE_ST
ARTERS_RE:"RSR",BACKSLASH_ESCAPE:"BE",APOS_STRING_MODE:"ASM",QUOTE_STRING_MODE:"QSM",PHRASAL_WORDS_MODE:"PWM",C_LINE_COM
MENT_MODE:"CLCM",C_BLOCK_COMMENT_MODE:"CBCM",HASH_COMMENT_MODE:"HCM",NUMBER_MODE:"NM",C_NUMBER_MODE:"CNM",BINARY_NUMBER_
MODE:"BNM",CSS_NUMBER_MOD

ReferenceError: hljs is not defined
    at Object.<anonymous> (highlight.pack.js:2:10771)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (test.js:1:71)
    at Module._compile (module.js:624:30)

I'm pretty sure it should be fairly trivial to fix, but the issue doesn't happen locally when I build for the browser, so I don't know how to reproduce and fix it locally.
It only happens when when downloading from your site, and I don't know where is the code which is responsible for that composition of the content.

Also note that your README.md does suggest CommonJS should work with the browser build:

You can get highlight.js as a hosted, or custom-build, browser script or as a server module. Right out of the box the browser script supports both AMD and CommonJS.

And it does work when building for the browser locally, but doesn't work when you download a browser build from your site.

And it does work when building for the browser locally, but doesn't work when you download a browser build from your site.

How are you building the browser build locally exactly?  Are you using :common?

Also note that your README.md does suggest CommonJS should work with the browser build:

I think it's referring to the core library, not the BUNLDED library - which is very different.  But it's obvious this could be cleared up or explained better.

How are you building the browser build locally exactly? Are you using :common?

https://github.com/highlightjs/highlight.js/issues/1245#issuecomment-238776019

I think it's referring to the core library, not the BUNLDED library - which is very different. But it's obvious this could be cleared up or explained better.

But why not just fix it? the code clearly tries to detect the environment also when you download it from the site. It just fails to detect it correctly.
I've asked few times before, where is the code which is responsible for creating the download and/or concatenating the fragments into a single download?
I'm willing to have a go at it, but I don't know how to reproduce it except by downloading it from the site, but I need the actual source code of it to submit a patch.

But why not just fix it? the code clearly tries to detect the environment also when you download it from the site. It just fails to detect it correctly.

I'm not saying we won't, first we have to clearly understand the issue - your exact steps were helpful.  But my point before does stand that the browser build is NOT necessarily intended to be the same as a NPM build.  These things may diverge in the future and if it's never worked quite right this might be a blessing in disguise.

I've asked few times before, where is the code which is responsible for creating the download and/or concatenating the fragments into a single download?

You'd think it was the build process, but it seems the results are different.  Only @isagalaev knows I think.  The code generated on the website is putting hljs.registerLanguage OUTSIDE the original enclosure and the code generated by the build process places it inside. @isagalaev Is the website using a special build system instead of the one in the repo for some reason?  hljs as a global only works in the web environment (where anything on window is treated as a global), so that is why it's failing in node.js.

I'm willing to have a go at it, but I don't know how to reproduce it except by downloading it from the site, but I need the actual source code of it to submit a patch.

Yeah, I'm not sure it's fixable by any chances to the repo.

@egor-rogov Any thoughts?  If the browser build is NOT truly the browser build but more of a general purpose build then it should be renamed accordingly.  Right now my understanding is that the browser build ONLY needs to work well in the browser environment (and I think this is a good limitation for that build).  That's also the same assumption that's embedded in our tests currently.
Node build are tests with node, browser builds are tested in a fake browser environment.

This has implications on future development and the new build system.

Obviously the discrepancy here needs to be resolved I think, but I'm asking more about this idea that the browser build should "just work" as a node require.  I think that idea might be misguided.

Thanks for the reply. Would you mind reopening this issue? It's still valid IMO, and apparently others are interested in it as well.
I think it should either get fixed, or stated clearly that the browser build cannot be used with node, or stay open until one of those happen.

Opening a new issue to track the actual discrepancy between local and website builds (which should NOT be the case IMHO).

I think it should either get fixed, or stated clearly that the browser build cannot be used with node, or stay open until one of those happen.

Agree with your either/or here.

One example: Future browser builds might come in ES5, ES6, ES* flavors.  Once we had a build process that could do such things one could imagine a new feature supported by browsers before it was supported by Node (or where we purposely wanted a longer compatibility curve with Node)... and therefore the browser build might include newer technology.
Obviously maintaining two forks would likely not be worth the effort, but if the build process did all this for us automatically it seem far more plausible.

FWIW, I think it would be easiest to manage if the code is as unified as possible. Handling different code for different scenarios will only create more overhead IMO.
But let's first wait for a way to reproduce/build the bad bundle locally, and then we can assess what can be done.

FWIW, I think it would be easiest to manage if the code is as unified as possible. Handling different code for different scenarios will only create more overhead IMO.

We already produce 3 different builds... browser, CDN, node.js... it's easy, and automated.  I wouldn't want to maintain 3 sets of code by hand, but there are definitely reasons to build and package the code differently for different environments.

But let's first wait for a way to reproduce/build the bad bundle locally

I assigned isagalaev to the other issue, so we'll have to see.  I bet the server is simply using a slightly different/older build process and it really should be brought into alignment with the local build tools.

I bet the server is simply using a slightly different/older build process and it really should be brought into alignment with the local build tools

Hopefully, because that sounds like it would be very easy to fix.
Thanks again for your comments and the other issue.

Hopefully, because that sounds like it would be very easy to fix.

Well, we will see. :)  I think the server is running Python, not JS... so that might be a small issue...

@egor-rogov Do you have a problem saying that what the website builds is for WEB usage, and not Node?  If someone wants to use Highlight.js with Node they should be using the npm package.
That's my gut feeling at least.
The exact issue that resulting in the creation of this issue isn't theoretically hard to fix (thought it'll require server changes that only isagalaev can do) but I think long-term I can see the web build as being a distinct thing from the node build.
They are honestly different environments and with smarter build tools I could imagine auto-magically delivering different optimized versions for each.  So if this has NEVER worked (the website version has never worked in Node)... and only a few people are asking for it, I think it's worth considering if it's a good idea vs saying "just use NPM"... and whether this will prevent us from doing nice things in the future.

I agree. We have different build targets for different purposes, and requiring a compatibility can prove restrictive.

I think it should either get fixed, or stated clearly that the browser build cannot be used with node , or stay open until one of those happen. [emphasis mine]

See comments above... So we're going to close this as "won't fix, working correctly"... but where exactly would you have expected to see this stated clearly?  When you built the library on the website?
I have no issues with making this clearer and explaining the logic behind it.

requiring a compatibility can prove restrictive.

If it's relatively easy to solve so that the web build can work in node, then you can always say that it works for now but not guaranteed to be maintained in the future. Afteral, there is some value in being able to use a single file instead of depending on npm or build deps.

If it's relatively easy to solve so that the web build can work in node, then you can always say that it works for now but not guaranteed to be maintained in the future.

But we already know the long-term plan is likely to diverge - and then that would be a breaking change - which we do try to avoid except for major releases.  So we'll just say it never worked and it likely never will. :-)

Afteral, there is some value in being able to use a single file instead of depending on npm or build deps.

If it's a node.js project why wouldn't you simply put it in packages.json and track it as a proper dependency?  You're free to hack together whatever you want, but right now I don't think we actually would want to encourage doing things the way you are suggesting.  Perhaps I just don't understand your use case.


Building without strip internals is failing

https://travis-ci.org/basarat/byots/builds/192877485#L815
src/services/completions.ts(5,104): error TS4078: Parameter 'log' of exported function has or is using private name 'Log'.

As always :rose: :heart:

Build was still failing https://travis-ci.org/basarat/byots/builds/193920355#L796 so PR posted https://github.com/Microsoft/TypeScript/pull/13610 :) :rose:


Ensure indentation works properly in rich text

Ensure indentation works properly in rich text
Fixes #29810.

Please make the commit message more descriptive.

A tip for commit logs: the first line (title) should be terse but explicit, and indicate in English what the commit does. References to issues being fixed can go in the commit log's body, and use relevant keywords: https://help.github.com/en/articles/closing-issues-using-keywords

Thanks!

Should be cherry-picked only if #29785 gets cherry-picked.


PropType not defined for updateProgress in ProgressBar

Hi
Please check this line
PropType is missing for updateProgress in ProgressBar component.
Is it intentionally done ?

@nidsnitesh Hi! Yeah, it was intentional. Because ProgressBar does not access updateProgress as this.props.updateProgress(), but instead it passes all of the props to handleProps(). If you add it as a propType, ESLint would throw following error:
'updateProgress' PropType is defined but prop is never used

I'm not sure if it is a bug on ESLint's part. But you're right. updateProgress is never accounted for in propTypes. Do you think you can get to the bottom of this?


set interface metric high

though we changed to use the NRPT - the interface metric on the tun is still very low (usually is set to 5). Because of this the TUN is constantly considered the 'main' adapter and as such the DNS server on this adapter is used as the default adapter. This results in all DNS traffic still landing on the ziti tun.
manually set the interface metric to a very high value - 255 so that it will be very low on the list of interfaces (likely below even localhost which is generally set to 75) see https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/automatic-metric-for-ipv4-routes for additional information

closed with 1.9.1


validation reason

It would be helpful for users of the API and app developers to see a reason for is_valid = false. Potentially add a field or change is_valid to be a tuple, although I'm not sure if the latter makes sense.
cc: @cokes518

Fixed by https://github.com/helium/blockchain-etl/pull/111


Add dynamic return type extension for ValidatorResolver

Adds return-type hints for ValidatorResolver->createValidator()

Perfect. Looks good to me @MK-42.
Thank you for your contribution!


Remove  from AndroidManifest.xml

Since TextFieldBoxes is a library, it should not have an  element in the AndroidManifest.xml file. This actually causes it to interfere with attributes in a real application's AndroidManifest.xml file.
Thanks!

fixed in release 1.3.2 :)


TensorRT int8

Is it possible to export model using TensorRT to int8. If so how?

Yes, rtdetr can using tensorrt with int8.

For paddle model please reference this.
or
You should check nv trt doc or thirdpart tutorial for x -> onnx -> tensorrt


Adding a license file during clarification doesn't work for nested files

Describe the bug
When I try to add multiple license files to the license-files field, and the path of one of those license files is nested in a subdirectory, I'm getting a "unable to locate specified license file" message.
To Reproduce
I'm adding a clarification for rustls-webpki. My clarification looks like:
[[licenses.clarify]]
name = "rustls-webpki"
expression = "BSD-3-Clause AND MPL-2.0"
license-files = [
    { path = "LICENSE", hash = 0x001c7e6c },
    { path = "third-party/chromium/LICENSE", hash = 0x001c7e6c },
]

The first license file is the MPL-2.0 and the second is the BSD-3-Clause. The path for the second file exists in the published crate. See https://docs.rs/crate/rustls-webpki/0.100.1/source/third-party/chromium/LICENSE.
Note that the hash for the second file is wrong; I don't know what it is yet to add it.
My output:
error[unlicensed]: rustls-webpki = 0.100.1 is unlicensed
   ┌─ /Users/NAME/repos/REPO/deny.toml:44:14
   │
44 │     { path = "third-party/chromium/LICENSE", hash = 0x001c7e6c },
   │              ------------------------------ unable to locate specified license file
   │
   ┌─ rustls-webpki 0.100.1 (registry+https://github.com/rust-lang/crates.io-index):2:9
   │
 2 │ name = "rustls-webpki"
   │         ^^^^^^^^^^^^^ a valid license expression could not be retrieved for the crate
 3 │ version = "0.100.1"
 4 │ license = ""
   │            - license expression was not specified
 5 │ license-files = [
 6 │     { path = "LICENSE", hash = 0x001c7e6c, score = 0.85, license = "ISC" },
   │                                                    ---- low confidence in the license text
   │
   = rustls-webpki v0.100.1
     └── rustls v0.21.0
         ...

warning[license-exception-not-encountered]: license exception was not encountered
   ┌─ /Users/NAME/repos/REPO/deny.toml:58:8
   │
58 │ name = "rustls-webpki"
   │        ^^^^^^^^^^^^^^^ unmatched license exception

licenses FAILED

Expected behavior
I would expect an error telling me that the crate is unlicensed, giving me the hash of the second license file, which I would then include.
Device:

OS: macOS 13.4

Oh and even better, later versions of rustls-webpki also just correctly set the license field so clarifications are not even needed.


Bump Update

Why:
Closes:

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[x] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline.

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[x] For content changes, I have completed the self-review checklist.

@sulaiman-coder Thanks for the PR! However, these are changes to files we don't generally accept contributions to, so I'm going to go ahead and close it 💛
Please take a look at our help wanted section to find open issues you can work on.


[Q] How to configure log-uniform sweep parameter with 0 as an option

I have a number of regularization parameters in sweeps that I run that I would like to sample from a log-uniform distribution, but also include 0 as a possible value. For example, see Appendix B of "Tabular Data: Deep Learning is not All You Need" at https://arxiv.org/pdf/2106.03253.pdf that shows some parameters that the authors sample like this.
I've tried configuring the sweep parameters with distribution: log_uniform_values and min: 0 but the wandb sweeps command returns a 400 error when I try to set this up.
Is there any way to configure a sweep parameter like this?

Hi @thomasj02 , our distributions table for sweep configs summarizes how values will be distributed. When using log_uniform_values, we return inclusive values between log(min) and log(max). Log(0) is undefined and produces the error. I reviewed Appendix B and non of the Log-Uniform distribution search spaces have a min value of 0.

Hi @MBakirWB
Thanks for the response. One example of the kind of distribution I'm hoping to configure is in Appendix B.2 (XGBoost), parameter Alpha. This has a distribution of (0, Log-Uniform distribution [e^-16, e^2]), which I believe means that the parameter is either 0, or is drawn from the log-uniform distribution described.
HyperOpt has similar functionality, as you can see in the first example in the tutorial (https://github.com/hyperopt/hyperopt/wiki/FMin#2-defining-a-search-space) where a conditional parameter is either drawn from 1 + hp.lognormal('c1', 0, 1) or from hp.uniform('c2', -10, 10).
I thought wandb uses hyperopt when I choose bayesian optimization - is there any way to configure more advanced parameter draws like this?

Hi @thomasj02 , at this time this type of configuration isn't available. However, we are expanding sweeps custom search strategies and plan on releasing new feature in the near feature. I added your notes above for engineering to review. I will update you when there has been movement.


PHP Fatal error:  Uncaught Error: Class 'Slim\Middleware\HttpBasicAuthentication' not found

Im having a strange error.
On my localhost (windows10 with xampp) all my slim api is working fine, but when i put it on my server (ubuntu) i've got the error:
PHP Fatal error:  Uncaught Error: Class 'Slim\Middleware\HttpBasicAuthentication' not found /var/www/html ...
Some useful notes:
My composer.php
{
"require": {
"slim/slim": "^3.9",
"tuupola/slim-basic-auth": "^3.0",
"slim/middleware": "*",
"firebase/php-jwt": "^5.0",
"tuupola/slim-jwt-auth": "^3.0",
"tuupola/base62": "^0.10.0",
"tuupola/cors-middleware": "^0.7.0"
}
}
My bootstrap.php
$app->add(new \Tuupola\Middleware\HttpBasicAuthentication([
"users" => [
    "root" => "toor"
],
"path" => ["/"],
/**
 * Whitelist - Protege todas as rotas e só libera as de dentro do array
 */
"passthrough" => ["/auth"]

]));
Can you please give some tips?
Thank you

The error message has a line number. What code is there?

First of all, thank you for your attention.
Here is the complete error line:
[:error] [pid 26751] [client <IP_ADDRESS>:10400] PHP Fatal error:  Uncaught TypeError: Return value of Tuupola\Middleware\HttpBasicAuthentication::uservoid, none returned in /var/www/html/api/vendor/tuupola/slim-basic-auth/src/HttpBasicAuthentication.php:236\nStack trace:\n#0 [internal function]: Tuupola\Middleware\HttpBasicAuthenticatiupola/slim-basic-auth/src/HttpBasicAuthentication.php(171): call_user_func(Array, Array)\n#2 /var/www/html/api/vendor/tuupola/slim-basic-auth/src/HttpBasicAuthentication.php(55): Tuupola\My)\n#3 /var/www/html/api/public/bootstrap.php(13): Tuupola\Middleware\HttpBasicAuthentication->__construct(Array)\n#4 /var/www/html/api/public/index.php(8): require('/var/www/html/a...')/tuupola/slim-basic-auth/src/HttpBasicAuthentication.php on line 236
Many thanks

This is different error. In the original post the error you mentioned was:
Uncaught Error: Class 'Slim\Middleware\HttpBasicAuthentication' not found
This error message is above is.
PHP Fatal error: Uncaught TypeError: Return value of Tuupola\Middleware\HttpBasicAuthentication::uservoid, none returned in...
It looks like the output is garbled or there is a copy paste mistake. The HttpBasicAuthentication::uservoid part does not make any sense. In any case the error message you posted in the last message looks similar to https://github.com/tuupola/slim-basic-auth/issues/60. Which PHP version you are running? Minimum requirement is PHP 7.1.

My bootstrap.php code is:
...
`$app->add(new Tuupola\Middleware\HttpBasicAuthentication([
// "users" => [
//     "root" => "toor"
// ],
"path" => ["/"],
"secure" => false,      // HTTPS -ATTENTION
"passthrough" => ["/auth", "/generatepass"],
"authenticator" => new PdoAuthenticator([
"pdo" => $pdo,
"table" => "user",
"user" => "username",
"hash" => "password"
])
]));`

The error message has a filename and a line number. What is the code in that line?

Thank you for your sugestion.
I've reinstaled the slim and Authentication on the linux server and all worked well.


No desktop option in button drop down

I've implemented this on a testing page on my website: https://jkp-ads.com/excel-name-manager-js_testing.asp
Even though I've set desktopSupported=true, the button only has an option to open in Excel on-line. Is that by design?
Please note I do not have a video yet, so I've left the garage project sample in there for now.
Another note: For some reason the dropdown doesn't "drop" on my website. Some clash of the CSS?

Hi @jkpieterse , can you try the latest version? Before desktop was not supported yet. Currently it is supported. Any issue, feel free to let us know.


[OTHER] Recording RTSP camera

Is the picamera2 compatible to record an IP camera ?
Like: camera.startRecording("rtsp://<IP_ADDRESS>:554/media") ?

You would need some other module, package or software to handle the RTSP side of things for you, such as FFmpeg or vlc. I'm sure there are other solutions too but I'm not really familiar with them.


Closes #122 - Include feedUrl, podcastGuid in /episodes/byfeedurl, /episodes/bypodcastguid, /episodes/byfeedid

Closes #122
Changes

Update item_podcast.yaml to reference feedUrl and podcastGuid
run yarn build to generate postman docs
Version bump from 1.12.0 to 1.12.1

Before/After

Notes

I didn't make any changes to /episodes/byitunesid because that endpoint doesn't actually return the podcastGuid and feedUrl like the others. Based on https://github.com/Podcastindex-org/docs-api/pull/94/commits/27e6c3a3261b8a5a483d117dfe2e8211633b6358 , it looks like not returning those fields is by design.

Thanks!


[RFC] Exposing EctoStrategy.cast/1 to support view insertion

We have many views in our system and would like to utilize the ease of factories when testing them.
In practice, this requires us to create additional insert functions, such as insert_view/1, which takes the view backed schema as its sole argument. Within the function, we define all the logic required to persist the view; i.e. population of all the component tables. The one stumbling block though, is casting the schema to get all the ex_machina magic. We've worked around the issue by exposing EctoStrategy.cast/1 in our fork.
Is this a proper approach, or are we going about this all wrong?
If it is agreed this approach is suitable, we have submitted a PR to address.

In this case we have a Location view that projects the composition of 3 tables; 1 primary table projects, and 2 join tables project_clients and project_client_servicers.  The Location schema defines belongs_to assocs for each primary_client and client_service.
Note, this is been reduced some for the example. ;)
Definition

This can be modularized, but have kept it in single module for clarity.

defmodule CoreAPI.EctoViewStrategy do
  use ExMachina.Strategy, function_name: :insert_view

  def handle_insert_view(%Location{} = record, _opts) do
    # Here is where we use the cast
    record = record |> EctoStrategy.cast

    timestamps = %{created_at: NaiveDateTime.utc_now, updated_at: NaiveDateTime.utc_now}

    # Split out project specific attrs and persist.
    {project_attrs, rest} = Map.split(record, unquote(@project_attrs))
    project_attrs = Map.merge(project_attrs, timestamps)
    {1, [%{id: id}]} = Repo.insert_all "projects", [project_attrs], returning: [:id]

    # Define anon function for building joins
    build_view_joins = fn (foreign_key, value) ->
      case foreign_key do
        :primary_client_id ->
          join = Map.merge(%{project_id: id, client_id: value, primary_contact: true}, timestamps)
          Repo.insert_all "project_clients", [join]
        :client_service_id ->
          join = Map.merge(%{project_id: id, client_service_id: value, active: true}, timestamps)
          Repo.insert_all "project_client_servicers", [join]
        _ -> nil
      end
    end

    # Define joins and iterate over, building where required.
    joins = [{:primary_client_id, :primary_client, :id},
             {:client_service_id, :client_service, :id}]

    Enum.each(joins, fn ({foreign_key, assoc_key, primary_key}) ->
      value = if value = Map.get(rest, foreign_key) do
                value
              else
                case Map.get(rest, assoc_key) do
                  %{__meta__: %{state: :built}} = assoc ->
                    assoc = insert(assoc)
                    Map.get(assoc, primary_key)
                  %{__meta__: %{state: :loaded}} = assoc ->
                    Map.get(assoc, primary_key)
                  _ -> nil
                end
              end

      if value, do: build_view_joins.(foreign_key, value)
    end)

    # Query and return view
    Repo.get(Location, id)
  end
  ...
end

Usage
We use the view factories in the standard way.
def setup_location do
  client = insert(:client, status: :designer_offer)
  client_service = insert(:employee)
  location = insert_view(:location, primary_client: client, client_service: client_service)

 [location: location]
end

The strategy has been very effective for us; granted, it's not quite as simple as a 1:1 with a record. We'd rather not have to recreate the logic already contained within EctoStrategy, hence the req to expose.
If calling EctoStrategy.cast is too dirty (I think it might be), would you consider extracting the casting logic from the strategy into an ExMachina.Ecto module, which could then be utilized by any Ecto backed strategy?


Audit DB Cache

I think unnecessary things like special predicates may be getting put in the database atom cache.
Check this out and make sure we don't waste memory.

They are getting put in, but it will take me a bit more pondering to decide how to handle them.
Perhaps we should establish the semantic that special predicates are all resolved at grounding time and therefore never need to get cached.
Ideally we could resolve them all at the grounding query phase and never even need to reference them after.

Special predicates are making into the atom cache (you can see them instantiated in RDBMSDatabase.getAtom().
It will take some more pondering to decide how to handle them.
Ideally we could handle them fully at grounding time and never even need to cache them.
(Or even better if we could specifically deal with them at the grounding query time.)

Complete in 4a814d759e38e3944a41898f613cb8803e7f6ffd.
SpecialPredicate has been renamed GroundingOnlyPredicate and the semantics have been added that they are only evaluated at the grounding-query level.


chore: create release v1.32.0 [DO NOT MERGE]

8770737b feat: handle ChainTypes and ChainAdapterManager removal (#2033)
412cef3a feat: coinbase pay onramp (#2013)
f35ac0b6 fix: get started button alignment on foxPage (#2034)
aaad18e2 feat(Confirm): add not enough gas alert (#2019)
be615423 feat: add parseGovernanceData tests (#2032)
dad9b31a fix: added translation ordinal number support for all languages (#2029)
cb3e1ade Merge branch 'main' into develop
56669919 Merge remote-tracking branch 'origin/main' into develop

Closing this as it is mainly developer-facing changes. We'll do a release that includes it tomorrow.


Colib.net - Maintain consistency in the layout

Description of the bug:
Lack of consistency in the layout.
Affected pages:

About
Teams and community
Pi Line Model
Flywheel Model
Control Block - Diagrams
Contact

To Reproduce:
Open colib.net
Go to affected pages (mentioned above)
Expected Behavior:
Consistency throughout the layout
Screenshot: NA

Created branch: 90_maintain_consistency_layout
Modified
pages/about/index.md
pages/about/team.md
pages/contact/index.md
pages/models/controlBlocks/2limitedProportionalIntegralController/index.md
pages/models/controlBlocks/absoluteValue/index.md
pages/models/controlBlocks/deadband/index.md
pages/models/controlBlocks/hysteresis/index.md
pages/models/controlBlocks/integrator/index.md
pages/models/controlBlocks/integratorVariableLimits/index.md
pages/models/controlBlocks/limitedIntegrator/index.md
pages/models/controlBlocks/limitedProportionalIntegralController/index.md
pages/models/controlBlocks/limiter/index.md
pages/models/controlBlocks/limiterVariableBounds/index.md
pages/models/controlBlocks/proportionalIntegralController/index.md
pages/models/controlBlocks/switch/index.md
pages/models/controlBlocks/timer/index.md
pages/models/controlBlocks/transferFunction/index.md
pages/models/lines/piLine.md
pages/models/storages/flywheel.
Changes pending:
Need changes to Control Blocks - Algebraic equation

Changes are integrated to main


Pretty printing of units with prefixes and exponents

Right now, we have
> toString (kilo gram .^ 2.0)
"Mg²"

... which is okay, if it is read as M(g²). However, this is not the typical way that units are parsed. The correct output would be kg².

Fixed via 1578532ddc784eece676da996e7ea248d1cebd71


MSSQL time zone change

As per recommendation, we have created the data pump daemon user with a GMT timezone. However, The date-time timezone in MSSQL tables is GMT and our service now is local time zone 'Asia/Singapore'.
We would like to standardize on local timezone, is it possible for data pump to copy the date time data in local timezone from SN than in GMT?
Looking at documentation of timezone in datapump, there does not seem to be an option like
set time_zone = 'US/Eastern';  in MSSQL.
Please advise

Just to clarify, ServiceNow always stores date/time values in GMT, regardless of the configured system time zone. The REST API always returns date/time values in GMT. It sounds like you are requesting that SNDML use the database local timezone (instead of GMT) when writing date/time values to the database.
I did a bit of investigation. GMT is currently hard-coded. You will see it if you look at the file main/java/sndml/datamart/DatabaseStatement.java line 32. It should be possible to make the code more flexible by switching to a soft-coded time zone that could be changed via a property in the connection profile.
Unfortunately, I am not currently able to test this change. I will need to spin up an MSSQL database. I will put this on the list of enhancements for the next release.


Incorrect signature of GdipGetRegionScansCount

Count parameter should be a uint pointer instead of an int pointer

Fixed in https://github.com/mono/libgdiplus/pull/326


[Launch] Next Build Maintenance Banner

Description
We need to confirm that the maintenance banner is working in next-build as it currently is not showing as an empty container on the page.
Production left, Next Build right

Acceptance Criteria

[ ] Maintenance banner works as expected

It is enough here to drop in the div that handles this on Content Build, found here:

This should be dropped into <Wrapper /> either directly or better as its own component.

relating PR.


Response code should be 400, got 403, data:  (DELETE /api/events/11/sheets/C/498/reservation ) error occurs because of race condition

This is reported during the extra game.

This phenomenon becomes a trouble only after webapp marks very high score like > 100,000. It looks the possibility that this phenomenon occurs is very low in slow webapp.

Workaround-ed via #5.


Retry au * * autocmd if in cmd line and it throws E1155

See issue https://github.com/tmux-plugins/vim-tmux-focus-events/issues/33
Code change discussed with @bruno-
thx,
-m

I added a redraw! if it threw, because without this nvim doesn't display anything until you exit the cmdline or esc.

@bruno- I think we need to re-think this.  If I get into this situation by typing / too quickly then the autocmd never works and the retry loop just keeps retrying forever.

Do we need to autocmd * here ?  Or would CmdLineChanged work ?  It seems an autocmd is added and then in the delayed_checktime() the autocmd is removed ?  Is that right ?  Why that instead of just calling delayed_checktime() or just checktime inside a try/catch ?


无法正常使用米游社工具箱

Checklist

[X] My issue was not mentioned by others, and it is not a duplicate issue.

Description
如标题所述，我的米游社工具箱在登陆账号后无法正常使用，所有数据都无法刷新与查看，包括原神与崩坏：星穹铁道。在2023年还可以正常使用，即使换设备重新登陆也不行。手机端米游社数据全部正常且可查看与刷新
Reproduction Steps
新设备正常登陆账号  选择“米游社工具箱”  显示“暂无数据”  刷新后崩铁错误码与提示为10035与“账号异常”，无“校验”按钮。原神错误码与提示为5003与“账号异常”，点击"校验"后页面白屏且提示“当前帐号存在风险，暂无数据”。手机端米游社数据全部正常且可查看
Expected Behavior
No response
Screenshots
No response
Starward Version
0.11.2
Windows Version
Windows 11家庭中文版 24H2 26058.1100
Log
[13:02:42.318] [INFO]
Welcome to Starward v0.11.2
System: Microsoft Windows NT 10.0.26058.0
Command Line: D:\Starward_Portable_0.10.4_x64\Starward\app-0.11.2\Starward.dll

[13:02:42.361] [INFO] Starward.Services.DatabaseService
Database path is 'D:\Starward_Portable_0.10.4_x64\Starward'

[13:02:42.393] [INFO] Starward.Services.DatabaseService
Database version is 7, target version is 8.

[13:02:42.477] [INFO] Starward.Pages.MainPage
Last game region is None

[13:02:43.026] [EROR] Starward.Pages.MainPage
Update background image
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'Unknown region None')
   at Starward.Core.Launcher.LauncherClient.GetLauncherContentAsync(GameBiz biz, String lang, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\Launcher\LauncherClient.cs:line 60
   at Starward.Services.LauncherContentService.GetLauncherContentAsync(GameBiz gameBiz, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward\Services\LauncherContentService.cs:line 51
   at Starward.Services.LauncherContentService.GetBackgroundImageAsync(GameBiz gameBiz, Boolean disableCustom) in D:\a\Starward\Starward\src\Starward\Services\LauncherContentService.cs:line 124
   at Starward.Pages.MainPage.UpdateBackgroundImageAsync(Boolean force) in D:\a\Starward\Starward\src\Starward\Pages\MainPage.xaml.cs:line 374

[13:02:44.053] [INFO] Starward.Services.UpdateService
Start to check update (Preview: False, Arch: X64)

[13:02:44.877] [INFO] Starward.Services.UpdateService
Current version: "0.11.2", latest version: "0.11.2", ignore version: null

[13:02:51.186] [INFO] Starward.Pages.MainPage
Change game region to StarRail

[13:02:51.193] [INFO] Starward.Pages.MainPage
Navigate to "LauncherPage" with param hkrpg_cn

[13:02:51.313] [INFO] Starward.Pages.LauncherPage
Game install path of hkrpg_cn: "D:\崩坏：星穹铁道"

[13:02:51.358] [INFO] Starward.Pages.LauncherPage
Acutal version and gamebiz of hkrpg_cn is "2.0.0", None.

[13:03:17.282] [INFO] Starward.Pages.MainPage
Change game region to GenshinImpact

[13:03:17.285] [INFO] Starward.Pages.MainPage
Navigate to "LauncherPage" with param hk4e_cn

[13:03:17.390] [INFO] Starward.Pages.LauncherPage
Game install path of hk4e_cn: null

[13:03:17.392] [INFO] Starward.Pages.LauncherPage
Acutal version and gamebiz of hk4e_cn is null, None.

[13:03:20.074] [INFO] Starward.Pages.MainPage
Change game region to Honkai3rd

[13:03:20.076] [INFO] Starward.Pages.MainPage
Navigate to "LauncherPage" with param bh3_cn

[13:03:20.203] [INFO] Starward.Pages.LauncherPage
Game install path of bh3_cn: null

[13:03:20.204] [INFO] Starward.Pages.LauncherPage
Acutal version and gamebiz of bh3_cn is null, None.

[13:03:22.024] [INFO] Starward.Pages.MainPage
Change game region to StarRail

[13:03:22.027] [INFO] Starward.Pages.MainPage
Navigate to "LauncherPage" with param hkrpg_cn

[13:03:22.143] [INFO] Starward.Pages.LauncherPage
Game install path of hkrpg_cn: "D:\崩坏：星穹铁道"

[13:03:22.173] [INFO] Starward.Pages.LauncherPage
Acutal version and gamebiz of hkrpg_cn is "2.0.0", None.

[13:03:47.023] [INFO] Starward.Services.GameService
Start game (hkrpg_cn)
path: "D:\崩坏：星穹铁道\StarRail.exe"
arg: null

[13:03:48.726] [INFO] Starward.Pages.LauncherPage
Game started ("StarRail", 1788)

[13:03:50.739] [INFO] Starward.Services.PlayTimeService
Start to log playtime (hkrpg_cn, 1788)

[14:02:19.983] [INFO] Starward.Pages.MainPage
Change game region to GenshinImpact

[14:02:19.994] [INFO] Starward.Pages.MainPage
Navigate to "LauncherPage" with param hk4e_cn

[14:02:20.301] [INFO] Starward.Pages.LauncherPage
Game install path of hk4e_cn: null

[14:02:20.303] [INFO] Starward.Pages.LauncherPage
Acutal version and gamebiz of hk4e_cn is null, None.

[14:02:21.014] [INFO] Starward.Pages.MainPage
Change game region to StarRail

[14:02:21.021] [INFO] Starward.Pages.MainPage
Navigate to "LauncherPage" with param hkrpg_cn

[14:02:21.273] [INFO] Starward.Pages.LauncherPage
Game install path of hkrpg_cn: "D:\崩坏：星穹铁道"

[14:02:21.285] [INFO] Starward.Pages.LauncherPage
Game is running ("StarRail", 1788)

[14:02:21.295] [INFO] Starward.Pages.LauncherPage
Acutal version and gamebiz of hkrpg_cn is "2.0.0", None.

[14:02:22.982] [INFO] Starward.Pages.MainPage
Navigate to "GachaLogPage" with param hkrpg_cn

[14:02:26.432] [INFO] Starward.Services.Gacha.StarRailGachaService
Last gacha log id of uid 116444408 is<PHONE_NUMBER>000195708

[14:03:03.096] [INFO] Starward.Pages.MainPage
Last game region is hkrpg_cn

[14:03:03.103] [INFO] Starward.Pages.MainPage
Navigate to "LauncherPage" with param hkrpg_cn

[14:03:04.107] [INFO] Starward.Pages.LauncherPage
Game install path of hkrpg_cn: "D:\崩坏：星穹铁道"

[14:03:04.126] [INFO] Starward.Pages.LauncherPage
Game is running ("StarRail", 1788)

[14:03:04.137] [INFO] Starward.Pages.LauncherPage
Acutal version and gamebiz of hkrpg_cn is "2.0.0", None.

[14:03:05.855] [INFO] Starward.Services.UpdateService
Start to check update (Preview: False, Arch: X64)

[14:03:18.618] [INFO] Starward.Pages.MainPage
Navigate to "GachaLogPage" with param hkrpg_cn

[14:04:45.866] [EROR] Starward.Pages.MainPage
Check update
System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.
 ---> System.TimeoutException: The operation was canceled.
 ---> System.Threading.Tasks.TaskCanceledException: The operation was canceled.
   at System.Net.Http.Http2Connection.Http2Stream.<>c.<WaitForDataAsync>b__88_0(Object s, CancellationToken cancellationToken)
   at System.Threading.CancellationTokenSource.Invoke(Delegate, Object, CancellationTokenSource)
   at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean)
   at System.Threading.TimerQueueTimer.Fire(Boolean )
   at System.Threading.TimerQueue.FireNextTimers()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
   at System.Threading.Thread.StartCallback()
--- End of stack trace from previous location ---
   at System.Net.Http.Http2Connection.Http2Stream.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16)
   at System.Net.Http.Http2Connection.Http2Stream.ReadDataAsync(Memory`1, HttpResponseMessage, CancellationToken)
   at System.IO.Compression.BrotliStream.<ReadAsync>g__Core|25_0(Memory`1, CancellationToken)
   at System.Net.Http.Json.LengthLimitReadStream.<ReadAsync>g__Core|13_0(ValueTask`1)
   at System.Text.Json.Serialization.ReadBufferState.ReadFromStreamAsync(Stream, CancellationToken, Boolean )
   at System.Text.Json.Serialization.Metadata.JsonTypeInfo`1.DeserializeAsync(Stream, CancellationToken)
   at System.Text.Json.Serialization.Metadata.JsonTypeInfo`1.DeserializeAsObjectAsync(Stream, CancellationToken)
   at System.Net.Http.Json.HttpClientJsonExtensions.<FromJsonAsyncCore>g__Core|12_0[TValue,TJsonOptions](HttpClient, Task`1, Boolean, CancellationTokenSource, Func`4, TJsonOptions, CancellationToken)
   --- End of inner exception stack trace ---
   --- End of inner exception stack trace ---
   at System.Net.Http.Json.HttpClientJsonExtensions.<FromJsonAsyncCore>g__Core|12_0[TValue,TJsonOptions](HttpClient, Task`1, Boolean, CancellationTokenSource, Func`4, TJsonOptions, CancellationToken)
   at Starward.Core.Metadata.MetadataClient.CommonGetAsync[T](String url, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\Metadata\MetadataClient.cs:line 55
   at Starward.Core.Metadata.MetadataClient.GetVersionAsync(Boolean isPrerelease, Architecture architecture, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\Metadata\MetadataClient.cs:line 98
   at Starward.Services.UpdateService.CheckUpdateAsync(Boolean disableIgnore) in D:\a\Starward\Starward\src\Starward\Services\UpdateService.cs:line 42
   at Starward.Pages.MainPage.CheckUpdateAsync() in D:\a\Starward\Starward\src\Starward\Pages\MainPage.xaml.cs:line 116

[14:23:00.119] [INFO] Starward.Services.Gacha.StarRailGachaService
Last gacha log id of uid 116444408 is<PHONE_NUMBER>000847608

[14:23:06.153] [INFO] Starward.Pages.MainPage
Navigate to "LauncherPage" with param hkrpg_cn

[14:23:06.225] [INFO] Starward.Pages.LauncherPage
Game install path of hkrpg_cn: "D:\崩坏：星穹铁道"

[14:23:06.231] [INFO] Starward.Pages.LauncherPage
Acutal version and gamebiz of hkrpg_cn is "2.0.0", None.

[14:23:07.547] [INFO] Starward.Pages.MainPage
Navigate to "GameSettingPage" with param hkrpg_cn

[14:23:07.605] [INFO] Starward.Services.GameSettingService
Voice language of game hkrpg_cn is null

[14:23:14.749] [INFO] Starward.Pages.MainPage
Change game region to GenshinImpact

[14:23:14.755] [INFO] Starward.Pages.MainPage
Navigate to "GameSettingPage" with param hk4e_cn

[14:23:15.580] [INFO] Starward.Pages.MainPage
Change game region to Honkai3rd

[14:23:15.582] [INFO] Starward.Pages.MainPage
Navigate to "GameSettingPage" with param bh3_cn

[14:23:17.180] [INFO] Starward.Pages.MainPage
Change game region to GenshinImpact

[14:23:17.185] [INFO] Starward.Pages.MainPage
Navigate to "GameSettingPage" with param hk4e_cn

[14:23:17.716] [INFO] Starward.Pages.MainPage
Change game region to StarRail

[14:23:17.722] [INFO] Starward.Pages.MainPage
Navigate to "GameSettingPage" with param hkrpg_cn

[14:23:17.751] [INFO] Starward.Services.GameSettingService
Voice language of game hkrpg_cn is null

[14:23:25.296] [INFO] Starward.Pages.MainPage
Navigate to "HoyolabToolboxPage" with param hkrpg_cn

[14:23:25.311] [INFO] Starward.Services.GameRecordService
Change region to China.

[14:24:15.200] [EROR] Starward.Pages.HoyolabToolbox.LoginPage
Log in (web mode)
System.Net.Http.HttpRequestException: An error occurred while sending the request.
 ---> System.IO.IOException: Unable to read data from the transport connection: 远程主机强迫关闭了一个现有的连接。.
 ---> System.Net.Sockets.SocketException (10054): 远程主机强迫关闭了一个现有的连接。
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError, CancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16)
   at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken, Int32)
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16)
   at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](Memory`1, CancellationToken)
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16)
   at System.Net.Http.HttpConnection.SendAsync(HttpRequestMessage, Boolean, CancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnection.SendAsync(HttpRequestMessage, Boolean, CancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage, Boolean, Boolean, CancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage, Boolean, CancellationToken)
   at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage, Boolean, CancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage, HttpCompletionOption, CancellationTokenSource, Boolean, CancellationTokenSource, CancellationToken)
   at Starward.Core.GameRecord.GameRecordClient.CommonSendAsync[T](HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\GameRecordClient.cs:line 149
   at Starward.Core.GameRecord.HyperionClient.GetGenshinGameRolesAsync(String cookie, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 113
   at Starward.Core.GameRecord.HyperionClient.GetAllGameRolesAsync(String cookie, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 81
   at Starward.Services.GameRecordService.AddGameRolesAsync(String cookie, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward\Services\GameRecordService.cs:line 100
   at Starward.Pages.HoyolabToolbox.LoginPage.Button_Finish_Click(Object sender, RoutedEventArgs e) in D:\a\Starward\Starward\src\Starward\Pages\HoyolabToolbox\LoginPage.xaml.cs:line 244

[14:24:27.594] [EROR] Starward.Pages.HoyolabToolbox.SimulatedUniversePage
Get simulated universe data ("hkrpg_cn", 116444408).
Starward.Core.miHoYoApiException:  (10035)
   at Starward.Core.GameRecord.GameRecordClient.CommonSendAsync[T](HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\GameRecordClient.cs:line 163
   at Starward.Core.GameRecord.HyperionClient.GetSimulatedUniverseInfoAsync(GameRecordRole role, Boolean detail, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 335
   at Starward.Services.GameRecordService.GetSimulatedUniverseInfoAsync(GameRecordRole role, Boolean detail) in D:\a\Starward\Starward\src\Starward\Services\GameRecordService.cs:line 356
   at Starward.Pages.HoyolabToolbox.SimulatedUniversePage.GetSimulatedUniverseInfoBasicAsync(Boolean detail) in D:\a\Starward\Starward\src\Starward\Pages\HoyolabToolbox\SimulatedUniversePage.xaml.cs:line 128

[14:24:31.356] [EROR] Starward.Pages.HoyolabToolbox.ForgottenHallPage
Refresh forgotten hall data ("hkrpg_cn", 116444408).
Starward.Core.miHoYoApiException:  (10035)
   at Starward.Core.GameRecord.GameRecordClient.CommonSendAsync[T](HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\GameRecordClient.cs:line 163
   at Starward.Core.GameRecord.HyperionClient.GetForgottenHallInfoAsync(GameRecordRole role, Int32 schedule, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 271
   at Starward.Services.GameRecordService.RefreshForgottenHallInfoAsync(GameRecordRole role, Int32 schedule, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward\Services\GameRecordService.cs:line 432
   at Starward.Pages.HoyolabToolbox.ForgottenHallPage.RefreshDataAsync() in D:\a\Starward\Starward\src\Starward\Pages\HoyolabToolbox\ForgottenHallPage.xaml.cs:line 111

[14:24:38.160] [EROR] Starward.Pages.HoyolabToolbox.PureFictionPage
Refresh pure fiction data ("hkrpg_cn", 116444408).
Starward.Core.miHoYoApiException:  (10035)
   at Starward.Core.GameRecord.GameRecordClient.CommonSendAsync[T](HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\GameRecordClient.cs:line 163
   at Starward.Core.GameRecord.HyperionClient.GetPureFictionInfoAsync(GameRecordRole role, Int32 schedule, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 296
   at Starward.Services.GameRecordService.RefreshPureFictionInfoAsync(GameRecordRole role, Int32 schedule, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward\Services\GameRecordService.cs:line 496
   at Starward.Pages.HoyolabToolbox.PureFictionPage.RefreshDataAsync() in D:\a\Starward\Starward\src\Starward\Pages\HoyolabToolbox\PureFictionPage.xaml.cs:line 111

[14:24:41.513] [INFO] Starward.Pages.MainPage
Change game region to GenshinImpact

[14:24:41.516] [INFO] Starward.Pages.MainPage
Navigate to "HoyolabToolboxPage" with param hk4e_cn

[14:24:41.527] [INFO] Starward.Services.GameRecordService
Change region to China.

[14:24:43.526] [EROR] Starward.Pages.HoyolabToolbox.SpiralAbyssPage
Refresh abyss data ("hk4e_cn", 262870134).
Starward.Core.miHoYoApiException:  (5003)
   at Starward.Core.GameRecord.GameRecordClient.CommonSendAsync[T](HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\GameRecordClient.cs:line 163
   at Starward.Core.GameRecord.HyperionClient.GetSpiralAbyssInfoAsync(GameRecordRole role, Int32 schedule, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 138
   at Starward.Services.GameRecordService.RefreshSpiralAbyssInfoAsync(GameRecordRole role, Int32 schedule, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward\Services\GameRecordService.cs:line 212
   at Starward.Pages.HoyolabToolbox.SpiralAbyssPage.RefreshDataAsync() in D:\a\Starward\Starward\src\Starward\Pages\HoyolabToolbox\SpiralAbyssPage.xaml.cs:line 120

[14:24:54.627] [EROR] Starward.Pages.HoyolabToolbox.SpiralAbyssPage
Refresh abyss data ("hk4e_cn", 262870134).
Starward.Core.miHoYoApiException:  (5003)
   at Starward.Core.GameRecord.GameRecordClient.CommonSendAsync[T](HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\GameRecordClient.cs:line 163
   at Starward.Core.GameRecord.HyperionClient.GetSpiralAbyssInfoAsync(GameRecordRole role, Int32 schedule, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 138
   at Starward.Services.GameRecordService.RefreshSpiralAbyssInfoAsync(GameRecordRole role, Int32 schedule, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward\Services\GameRecordService.cs:line 212
   at Starward.Pages.HoyolabToolbox.SpiralAbyssPage.RefreshDataAsync() in D:\a\Starward\Starward\src\Starward\Pages\HoyolabToolbox\SpiralAbyssPage.xaml.cs:line 120

[14:25:03.469] [INFO] Starward.Pages.MainPage
Navigate to "LauncherPage" with param hk4e_cn

[14:25:03.547] [INFO] Starward.Pages.LauncherPage
Game install path of hk4e_cn: null

[14:25:03.548] [INFO] Starward.Pages.LauncherPage
Acutal version and gamebiz of hk4e_cn is null, None.

[14:25:05.572] [INFO] Starward.Pages.MainPage
Change game region to StarRail

[14:25:05.574] [INFO] Starward.Pages.MainPage
Navigate to "LauncherPage" with param hkrpg_cn

[14:25:05.644] [INFO] Starward.Pages.LauncherPage
Game install path of hkrpg_cn: "D:\崩坏：星穹铁道"

[14:25:05.652] [INFO] Starward.Pages.LauncherPage
Acutal version and gamebiz of hkrpg_cn is "2.0.0", None.

[14:28:08.588] [INFO] Starward.Pages.MainPage
Navigate to "HoyolabToolboxPage" with param hkrpg_cn

[14:28:08.598] [INFO] Starward.Services.GameRecordService
Change region to China.

[14:30:31.895] [EROR] Starward.Pages.HoyolabToolbox.SimulatedUniversePage
Get simulated universe data ("hkrpg_cn", 116444408).
Starward.Core.miHoYoApiException:  (10035)
   at Starward.Core.GameRecord.GameRecordClient.CommonSendAsync[T](HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\GameRecordClient.cs:line 163
   at Starward.Core.GameRecord.HyperionClient.GetSimulatedUniverseInfoAsync(GameRecordRole role, Boolean detail, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 335
   at Starward.Services.GameRecordService.GetSimulatedUniverseInfoAsync(GameRecordRole role, Boolean detail) in D:\a\Starward\Starward\src\Starward\Services\GameRecordService.cs:line 356
   at Starward.Pages.HoyolabToolbox.SimulatedUniversePage.GetSimulatedUniverseInfoBasicAsync(Boolean detail) in D:\a\Starward\Starward\src\Starward\Pages\HoyolabToolbox\SimulatedUniversePage.xaml.cs:line 128

[14:31:04.339] [EROR] Starward.Pages.HoyolabToolbox.SimulatedUniversePage
Get simulated universe data ("hkrpg_cn", 116444408).
Starward.Core.miHoYoApiException:  (10035)
   at Starward.Core.GameRecord.GameRecordClient.CommonSendAsync[T](HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\GameRecordClient.cs:line 163
   at Starward.Core.GameRecord.HyperionClient.GetSimulatedUniverseInfoAsync(GameRecordRole role, Boolean detail, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 335
   at Starward.Services.GameRecordService.GetSimulatedUniverseInfoAsync(GameRecordRole role, Boolean detail) in D:\a\Starward\Starward\src\Starward\Services\GameRecordService.cs:line 356
   at Starward.Pages.HoyolabToolbox.SimulatedUniversePage.GetSimulatedUniverseInfoBasicAsync(Boolean detail) in D:\a\Starward\Starward\src\Starward\Pages\HoyolabToolbox\SimulatedUniversePage.xaml.cs:line 128

[14:31:12.410] [EROR] Starward.Pages.HoyolabToolbox.SimulatedUniversePage
Get simulated universe data ("hkrpg_cn", 116444408).
Starward.Core.miHoYoApiException:  (10035)
   at Starward.Core.GameRecord.GameRecordClient.CommonSendAsync[T](HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\GameRecordClient.cs:line 163
   at Starward.Core.GameRecord.HyperionClient.GetSimulatedUniverseInfoAsync(GameRecordRole role, Boolean detail, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 335
   at Starward.Services.GameRecordService.GetSimulatedUniverseInfoAsync(GameRecordRole role, Boolean detail) in D:\a\Starward\Starward\src\Starward\Services\GameRecordService.cs:line 356
   at Starward.Pages.HoyolabToolbox.SimulatedUniversePage.GetSimulatedUniverseInfoBasicAsync(Boolean detail) in D:\a\Starward\Starward\src\Starward\Pages\HoyolabToolbox\SimulatedUniversePage.xaml.cs:line 128

[14:31:18.436] [EROR] Starward.Pages.HoyolabToolbox.SimulatedUniversePage
Get simulated universe data ("hkrpg_cn", 116444408).
Starward.Core.miHoYoApiException:  (10035)
   at Starward.Core.GameRecord.GameRecordClient.CommonSendAsync[T](HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\GameRecordClient.cs:line 163
   at Starward.Core.GameRecord.HyperionClient.GetSimulatedUniverseInfoAsync(GameRecordRole role, Boolean detail, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 335
   at Starward.Services.GameRecordService.GetSimulatedUniverseInfoAsync(GameRecordRole role, Boolean detail) in D:\a\Starward\Starward\src\Starward\Services\GameRecordService.cs:line 356
   at Starward.Pages.HoyolabToolbox.SimulatedUniversePage.GetSimulatedUniverseInfoBasicAsync(Boolean detail) in D:\a\Starward\Starward\src\Starward\Pages\HoyolabToolbox\SimulatedUniversePage.xaml.cs:line 128

[14:31:20.433] [EROR] Starward.Pages.HoyolabToolbox.ForgottenHallPage
Refresh forgotten hall data ("hkrpg_cn", 116444408).
Starward.Core.miHoYoApiException:  (10035)
   at Starward.Core.GameRecord.GameRecordClient.CommonSendAsync[T](HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\GameRecordClient.cs:line 163
   at Starward.Core.GameRecord.HyperionClient.GetForgottenHallInfoAsync(GameRecordRole role, Int32 schedule, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 271
   at Starward.Services.GameRecordService.RefreshForgottenHallInfoAsync(GameRecordRole role, Int32 schedule, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward\Services\GameRecordService.cs:line 432
   at Starward.Pages.HoyolabToolbox.ForgottenHallPage.RefreshDataAsync() in D:\a\Starward\Starward\src\Starward\Pages\HoyolabToolbox\ForgottenHallPage.xaml.cs:line 111

[14:32:08.721] [INFO] Starward.Pages.MainPage
Change game region to GenshinImpact

[14:32:08.726] [INFO] Starward.Pages.MainPage
Navigate to "HoyolabToolboxPage" with param hk4e_cn

[14:32:08.734] [INFO] Starward.Services.GameRecordService
Change region to China.

[14:32:10.604] [EROR] Starward.Pages.HoyolabToolbox.SpiralAbyssPage
Refresh abyss data ("hk4e_cn", 262870134).
Starward.Core.miHoYoApiException:  (5003)
   at Starward.Core.GameRecord.GameRecordClient.CommonSendAsync[T](HttpRequestMessage request, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\GameRecordClient.cs:line 163
   at Starward.Core.GameRecord.HyperionClient.GetSpiralAbyssInfoAsync(GameRecordRole role, Int32 schedule, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward.Core\GameRecord\HyperionClient.cs:line 138
   at Starward.Services.GameRecordService.RefreshSpiralAbyssInfoAsync(GameRecordRole role, Int32 schedule, CancellationToken cancellationToken) in D:\a\Starward\Starward\src\Starward\Services\GameRecordService.cs:line 212
   at Starward.Pages.HoyolabToolbox.SpiralAbyssPage.RefreshDataAsync() in D:\a\Starward\Starward\src\Starward\Pages\HoyolabToolbox\SpiralAbyssPage.xaml.cs:line 120

[14:34:36.571] [INFO] Starward.Pages.MainPage
Navigate to "LauncherPage" with param hk4e_cn

[14:34:36.658] [INFO] Starward.Pages.LauncherPage
Game install path of hk4e_cn: null

[14:34:36.659] [INFO] Starward.Pages.LauncherPage
Acutal version and gamebiz of hk4e_cn is null, None.

Additional Context
No response

参考 #669


Aggregate connections are not being removed in combination with own connection class

Describe the bug
snc_redis has its own connection class \Snc\RedisBundle\Client\Predis\Connection\ConnectionWrapper. \Predis\Connection\Aggregate\RedisCluster::remove method apparently doesn't count with that and doesn't remove faulty connections

To Reproduce
Steps to reproduce the behavior:
snc_redis.yaml config
snc_redis:
    clients:
        bl_domain:
            type: predis
            dsn:
              - redis://<IP_ADDRESS>:9999 #purposefully wrong port
              - redis://<IP_ADDRESS>:6380
            options:
                cluster: redis

then run some redis query
Expected behavior
Predis should remove such connections as well, so that it can failover to next connection in pool.
Versions (please complete the following information):

Predis: 1.1.10
PHP 8.1.4
Redis Server 6.0.15
OS Debian 10

@ostrolucky: Feel free to open a PR.


Presentation - Lidi & Guy (current)

Lidi - build skeleton
Guy - share research slides.

The power point presentation draft is available in project_presentation (main - based) branch. Please pay attention , there is a new directory called 'presentation' under repo root that contain  presentation and results template files (to update with final scores and put as images into the relevant powerpoint slides)
@GuyYar1  @AlonShm  Guy and Alon, please fill in slides describing data processing , data pipeline and model architecture (especially the last one describing improvements - which need to be extended , maybe with citings and so on)


Don't understand how to recurse

I have read the tutorial and write the code according to example but it doesn't work. I took several hours to try different patterns with v() or without v() but still don't figure out how to use it.  So I came here to find some help, here is the code.
#define _GetUnderlyingType(LayerNumber,CurrentType)															\
	std::enable_if_t<_IsEligibleType<CurrentType,LayerNumber,_default_index>::value,									\
	typename _IsEligibleType<CurrentType,LayerNumber,_default_index>::underlying_type>

#define _ConstructGetUnderlyingType(TotalLayer,StartLayer,T) ML99_natMatchWithArgs(TotalLayer, v(_ConstructGetUnderlyingType_),StartLayer,T)
#define _ConstructGetUnderlyingType_Z_IMPL(StartLayer,T) v(T)
#define _ConstructGetUnderlyingType_S_IMPL(TotalLayer,StartLayer,T)												\
	_GetUnderlyingType(StartLayer-TotalLayer+2,_ConstructGetUnderlyingType(v(TotalLayer),StartLayer,T))

	ML99_EVAL(_ConstructGetUnderlyingType(v(1), v(1), v(T)));

Thank you very much for you answer.
I tried to use ML99_call at the time but it didn't work, now it seems that I forgot to use v() to wrap the metafunction. So all parameters and return values except metafunction name has to be wrapped in v() once? I suggest this should be explained in the tutorial, otherwise it will be confusing to use.

So all parameters and return values except metafunction name has to be wrapped in v() once?

Not necessarily: you should use v(...) whenever you want Metalang99 to copy-paste everything within the parenetheses as-is. However, if you want it to compute some term, v(expr) would just stop evaluation of expr and paste it as-is.

I suggest this should be explained in the tutorial, otherwise it will be confusing to use.

Good point! I've just updated the tutorial: https://hirrolot.gitbook.io/metalang99/syntax-and-semantics#appendix-the-use-of-v. Does it look alright now?

Good point! I've just updated the tutorial: https://hirrolot.gitbook.io/metalang99/syntax-and-semantics#appendix-the-use-of-v. Does it look alright now?
Eh, I do see the anchor in the link, but it doesn't jump to it and I don't see the addition.

Try this: https://hirrolot.gitbook.io/metalang99/syntax-and-semantics.
The last section is about using v(...).

Try this: https://hirrolot.gitbook.io/metalang99/syntax-and-semantics. The last section is about using v(...). By the way, you may need to reload your page.

Oh, I can see now. Great👍.

Closing as resolved. Feel free to ask if you have any additional questions.

Hi, I noticed that with more TotalLayer the output is wrong.
ML99_EVAL(_ConstructGetUnderlyingType(v(2), v(1), v(T)));
std::enable_if_t<_IsEligibleType<std::enable_if_t<_IsEligibleType<T,1-1+2,_default_index>::value, typename _IsEligibleType<std::enable_if_t<_IsEligibleType<T,1-1+2,_default_index>::underlying_type> ;

As you can see, the number of < is not equal to the number of >.

On my computer, it just fails:
test.c:17:1: error: macro "_GetUnderlyingType_IMPL" passed 7 arguments, but takes just 2
   17 | ML99_EVAL(_ConstructGetUnderlyingType(v(2), v(1), v(T)));
      | ^~~~~~~~~~~~~~~~~~~~~~~

This is because _GetUnderlyingType reduces to commas, which are treated as macro arguments. To fix it, you can wrap the call using ML99_tuple and then ML99_UNTUPLE them:
#define _GetUnderlyingType_IMPL(LayerNumber, CurrentType)                                          \
    v(std::enable_if_t<                                                                            \
        _IsEligibleType<ML99_UNTUPLE(CurrentType), LayerNumber, _default_index>::value,            \
        typename _IsEligibleType<ML99_UNTUPLE(CurrentType), LayerNumber, _default_index>::         \
            underlying_type>)

#define _ConstructGetUnderlyingType(TotalLayer, StartLayer, T)                                     \
    ML99_natMatchWithArgs(TotalLayer, v(_ConstructGetUnderlyingType_), StartLayer, T)
#define _ConstructGetUnderlyingType_Z_IMPL(StartLayer, T) v(T)
#define _ConstructGetUnderlyingType_S_IMPL(TotalLayer, StartLayer, T)                              \
    ML99_call(                                                                                \
        _GetUnderlyingType,                                                                        \
        v(StartLayer - TotalLayer + 2),                                                            \
        ML99_tuple(_ConstructGetUnderlyingType(v(TotalLayer), v(StartLayer), v(T))))

ML99_EVAL(_ConstructGetUnderlyingType(v(2), v(1), v(T)));

The expansion output:
std::enable_if_t< _IsEligibleType<std::enable_if_t< _IsEligibleType<T, 1 - 0 + 2, _default_index>::value, typename _IsEligibleType<T, 1 - 0 + 2, _default_index>:: underlying_type>, 1 - 1 + 2, _default_index>::value, typename _IsEligibleType<std::enable_if_t< _IsEligibleType<T, 1 - 0 + 2, _default_index>::value, typename _IsEligibleType<T, 1 - 0 + 2, _default_index>:: underlying_type>, 1 - 1 + 2, _default_index>:: underlying_type>;

Hope this helps.

Thank you for you help, I still got one more question.
`#define _GetFirst(...)			ML99_listHead(VA_ARGS)
#define _GetRest(...)			ML99_variadicsTail(VA_ARGS)
#define _GetBeginFrom(n,...)	ML99_listDrop(n,ML99_list(VA_ARGS))
#define _GetNthElement(n,...)	_GetFirst(_GetBeginFrom(n,VA_ARGS))
#define _GetUnderlyingTypeWithPosition_IMPL(LayerNumber,CurrentType,TypeIndex)
v(std::enable_if_t<_IsEligibleType<ML99_UNTUPLE(CurrentType),LayerNumber,ML99_UNTUPLE(TypeIndex)>::value,
typename _IsEligibleType<ML99_UNTUPLE(CurrentType),LayerNumber,ML99_UNTUPLE(TypeIndex)>::underlying_type>)
#define _ConstructGetUnderlyingTypeWithPosition(TotalLayer,StartLayer,T,...) ML99_natMatchWithArgs(TotalLayer, v(ConstructGetUnderlyingTypeWithPosition),StartLayer,T,##VA_ARGS)
#define _ConstructGetUnderlyingTypeWithPosition_Z_IMPL(StartLayer,T,...) v(T)
#define _ConstructGetUnderlyingTypeWithPosition_S_IMPL(TotalLayer,StartLayer,T,...)
ML99_call(_GetUnderlyingTypeWithPosition,
v(StartLayer-TotalLayer+2),
ML99_tuple(_ConstructGetUnderlyingTypeWithPosition(v(TotalLayer),v(StartLayer),v(T),v(VA_ARGS))),
_GetNthElement(v(TotalLayer), v(VA_ARGS)))
ML99_EVAL(_ConstructGetUnderlyingTypeWithPosition(v(1), v(0x10), v(T),v(1,Byte)));
I have problem on the similar pattern.
#define _ConstructGetUnderlyingTypeWithPosition(TotalLayer,StartLayer,T,...) ML99_natMatchWithArgs(TotalLayer, v(ConstructGetUnderlyingTypeWithPosition),StartLayer,T,ML99_tuple(VA_ARGS))
#define _ConstructGetUnderlyingTypeWithPosition_Z_IMPL(StartLayer,T,Tuple) v(T)
#define _ConstructGetUnderlyingTypeWithPosition_S_IMPL(TotalLayer,StartLayer,T,Tuple)
ML99_call(_GetUnderlyingTypeWithPosition,
v(StartLayer-TotalLayer+2),
ML99_tuple(_ConstructGetUnderlyingTypeWithPosition(v(TotalLayer),v(StartLayer),v(T),ML99_UNTUPLE(Tuple))),
ML99_tuple(_GetNthElement(v(TotalLayer), ML99_UNTUPLE(Tuple))))
`
And I also tried this form, both doesn't work.

You call ML99_UNTUPLE on the TypeIndex parameter in _GetUnderlyingTypeWithPosition_IMPL, but you don't ML99_tuple it beforehand. In _ConstructGetUnderlyingTypeWithPosition_S_IMPL, you need to use ML99_tuple(_GetNthElement(v(TotalLayer), v(__VA_ARGS__))) as an argument to _GetUnderlyingTypeWithPosition.
Also, you don't need _GetNthElement; there's a function in the standard library called ML99_listGet:
#define _GetNthElement(n, ...) ML99_listGet(n, ML99_list(__VA_ARGS__))

Sorry I forgot to restore _GetUnderlyingTypeWithPosition_IMPL, that's actually for the second version. I want to show you I have tried, but both doesn't work.
#define _GetNthElement(n,...)	ML99_listGet(n, ML99_list(__VA_ARGS__))

#define _GetUnderlyingTypeWithPosition_IMPL(LayerNumber,CurrentType,TypeIndex)								\
	v(std::enable_if_t<_IsEligibleType<ML99_UNTUPLE(CurrentType),LayerNumber,ML99_UNTUPLE(TypeIndex)>::value,		\
	typename _IsEligibleType<ML99_UNTUPLE(CurrentType),LayerNumber,ML99_UNTUPLE(TypeIndex)>::underlying_type>)

#define _ConstructGetUnderlyingTypeWithPosition(TotalLayer,StartLayer,T,...) ML99_natMatchWithArgs(TotalLayer, v(_ConstructGetUnderlyingTypeWithPosition_),StartLayer,T,##__VA_ARGS__)
#define _ConstructGetUnderlyingTypeWithPosition_Z_IMPL(StartLayer,T,...) v(T)
#define _ConstructGetUnderlyingTypeWithPosition_S_IMPL(TotalLayer,StartLayer,T,...)									\
	ML99_call(_GetUnderlyingTypeWithPosition,																\
	v(StartLayer-TotalLayer+2),																			\
	ML99_tuple(_ConstructGetUnderlyingTypeWithPosition(v(TotalLayer),v(StartLayer),v(T),v(__VA_ARGS__))),				\
	ML99_tuple(_GetNthElement(v(TotalLayer), v(__VA_ARGS__))))

ML99_EVAL(_ConstructGetUnderlyingTypeWithPosition(v(1), v(0x10), v(T),v(1,Byte)));

Neither this nor removing ML99_UNTUPLE and ML99_tuple of TypeIndex and _GetNthElement will work.

Why it doesn't work? What's the expected output? I receive the following expansion:
std::enable_if_t< _IsEligibleType<T, 0x10 - 0 + 2, 1>::value, typename _IsEligibleType< T, 0x10 - 0 + 2, 1>::underlying_type>;

Oh, It's my fault, forget it.😂
Thank you for you patience.

Oh, it's my fault, forget it.
Thanks for you patience.

We could do the trick with some variadics metaprogramming:
#define _ConstructTemplateParameters_S_IMPL(Total, Current, ...)

By the way, there's a more neat way to do the same:
#define _PARAM_T typename
#define _PARAM_V auto

#define _ConstructTemplateParameters(...)                                                          \
    ML99_LIST_EVAL_COMMA_SEP(ML99_listMapI(v(_GenTemplateParam), ML99_list(v(__VA_ARGS__))))

#define _GenTemplateParam_IMPL(x, i) v(_PARAM_##x x##i)
#define _GenTemplateParam_ARITY      2

_ConstructTemplateParameters(T, V, T, V)

Output:
typename T0 , auto V1 , typename T2 , auto V3

With your patience and help I finally finished my own project, thank you very much.


Does it work in codecademy editor? (Monaco editor)

Description and repro
I'm testing it with chrome and Emacs and it works in most palces (gmail, stack overflow, github etc) but nothing happens in
Browser(s) tried
chrome
Editor(s) tried
emacs (WSL2)

I also tried in linux (ubuntu) and again it does not work from the codecademy editor.

Specify what happens. Do you see any errors? Does it let you select the field? Any message on screen?

Duplicate of https://github.com/fregante/GhostText/issues/283


Skip batching pipeline for unbatchable mutations.

Ranged Deletes and large mutations (by bytes or cells) are not batchable,
so skip the entire batching pipeline for them.
This adds a step which filters mutations into two streams: those which can be batched, which are then passed on to the existing (serialize/sample/assign Partition/group by parttion/batch) pipeline, and those which by definition can not be batched -- ranged delete operations, large mutation groups...
These are then merged into one stream (Flatten) and then written to Spanner.

@chamikaramj
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---
---
---
---
---

Java

Python

---

---
---
---
---

R: @nithinsujir

R: @biswanag

Can we close this PR given that https://github.com/apache/beam/pull/6478 includes this ?

yes, closed.


Remainder

How do I get informed when updated is released.

It'll be posted to the Google Developers blog :)

Issues and PRs will be posted and updated for the TensorFlow Lite plugin :)

Thank you


fix pom for protostuff serialization

What is the purpose of the change
fix pom for protostuff serialization
Brief changelog
dubbo-all/pom.xml
dubbo-bom/pom.xml
dubbo-dependencies-bom/pom.xml
dubbo-distribution/pom.xml
dubbo-serialization/dubbo-serialization-protostuff/pom.xml
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[ ] Run mvn clean install -DskipTests & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #2700 into master will increase coverage by 0.05%.
The diff coverage is n/a.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a777aec...bba1d13. Read the comment docs.


[test] fix testing failures relate to 0x0x

relate to #15 #19
现在 cargo xtest 时所有测试在我的机器都能跑过了

我的机器上报错
cargo test -p move-stdlib --test move_unit_test

thread '<unknown>' has overflowed its stack
fatal runtime error: stack overflow
error: test failed, to rerun pass '--test move_unit_test'

你遇到这问题没 @jiangying000

我没遇到，刚跑的日志，cargo test -p move-stdlib --test move_unit_test
ubuntu 18.04
warning: unused import: `ed25519::signature::Signature`
  --> language/move-prover/interpreter/crypto/src/lib.rs:16:5
   |
16 |     ed25519::signature::Signature, PublicKey as Ed25519PublicKey, Signature as Ed25519Signature,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default

warning: `bytecode-interpreter-crypto` (lib) generated 1 warning
warning: unused variable: `sub_status`
  --> language/move-binary-format/src/errors.rs:66:28
   |
66 |             (major_status, sub_status, location)
   |                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sub_status`
   |
   = note: `#[warn(unused_variables)]` on by default

warning: `move-binary-format` (lib) generated 1 warning
warning: field is never read: `id`
    --> language/move-vm/runtime/src/loader.rs:1386:5
     |
1386 |     id: ModuleId,
     |     ^^^^^^^^^^^^
     |
     = note: `#[warn(dead_code)]` on by default
note: `Module` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
    --> language/move-vm/runtime/src/loader.rs:1384:10
     |
1384 | #[derive(Debug)]
     |          ^^^^^
     = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: field is never read: `struct_refs`
    --> language/move-vm/runtime/src/loader.rs:1398:5
     |
1398 |     struct_refs: Vec<usize>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^
     |
note: `Module` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
    --> language/move-vm/runtime/src/loader.rs:1384:10
     |
1384 | #[derive(Debug)]
     |          ^^^^^
     = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: field is never read: `owner`
    --> language/move-vm/runtime/src/loader.rs:2040:5
     |
2040 |     owner: usize,
     |     ^^^^^^^^^^^^
     |
note: `FieldInstantiation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
    --> language/move-vm/runtime/src/loader.rs:2036:10
     |
2036 | #[derive(Debug)]
     |          ^^^^^
     = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: `move-vm-runtime` (lib) generated 3 warnings
warning: use of deprecated associated function `itertools::Itertools::fold1`: Use `Iterator::reduce` instead
   --> language/move-model/src/exp_generator.rs:153:14
    |
153 |         args.fold1(|a, b| self.mk_bool_call(oper.clone(), vec![a, b]))
    |              ^^^^^
    |
    = note: `#[warn(deprecated)]` on by default

warning: field is never read: `type_arg_names`
    --> language/move-model/src/model.rs:2852:5
     |
2852 |     type_arg_names: Vec<Symbol>,
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: `#[warn(dead_code)]` on by default
note: `FunctionData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
    --> language/move-model/src/model.rs:2831:10
     |
2831 | #[derive(Debug)]
     |          ^^^^^
     = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: field is never read: `result_type`
  --> language/move-model/src/builder/exp_translator.rs:41:5
   |
41 |     pub result_type: Option<Type>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
note: `ExpTranslator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
  --> language/move-model/src/builder/exp_translator.rs:29:10
   |
29 | #[derive(Debug)]
   |          ^^^^^
   = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: field is never read: `loc`
  --> language/move-model/src/builder/model_builder.rs:67:5
   |
67 |     pub loc: Loc,
   |     ^^^^^^^^^^^^
   |
note: `SpecFunEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
  --> language/move-model/src/builder/model_builder.rs:65:10
   |
65 | #[derive(Debug, Clone)]
   |          ^^^^^  ^^^^^
   = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: field is never read: `var_id`
  --> language/move-model/src/builder/model_builder.rs:79:5
   |
79 |     pub var_id: SpecVarId,
   |     ^^^^^^^^^^^^^^^^^^^^^
   |
note: `SpecVarEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
  --> language/move-model/src/builder/model_builder.rs:75:10
   |
75 | #[derive(Debug, Clone)]
   |          ^^^^^  ^^^^^
   = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: field is never read: `name`
  --> language/move-model/src/builder/model_builder.rs:88:5
   |
88 |     pub name: QualifiedSymbol,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
note: `SpecSchemaEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
  --> language/move-model/src/builder/model_builder.rs:85:10
   |
85 | #[derive(Debug)]
   |          ^^^^^
   = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: field is never read: `is_resource`
   --> language/move-model/src/builder/model_builder.rs:107:5
    |
107 |     pub is_resource: bool,
    |     ^^^^^^^^^^^^^^^^^^^^^
    |
note: `StructEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
   --> language/move-model/src/builder/model_builder.rs:102:10
    |
102 | #[derive(Debug, Clone)]
    |          ^^^^^  ^^^^^
    = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: field is never read: `fun_id`
   --> language/move-model/src/builder/model_builder.rs:118:5
    |
118 |     pub fun_id: FunId,
    |     ^^^^^^^^^^^^^^^^^
    |
note: `FunEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
   --> language/move-model/src/builder/model_builder.rs:114:10
    |
114 | #[derive(Debug, Clone)]
    |          ^^^^^  ^^^^^
    = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: field is never read: `module`
  --> language/tools/move-bytecode-viewer/src/source_viewer.rs:23:5
   |
23 |     module: CompiledModule,
   |     ^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(dead_code)]` on by default
note: `ModuleViewer` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
  --> language/tools/move-bytecode-viewer/src/source_viewer.rs:18:10
   |
18 | #[derive(Debug, Clone)]
   |          ^^^^^  ^^^^^
   = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)

warning: `move-model` (lib) generated 8 warnings
warning: `move-bytecode-viewer` (lib) generated 1 warning
    Finished test [unoptimized + debuginfo] target(s) in 0.39s
     Running tests/move_unit_test.rs (target/debug/deps/move_unit_test-e237a29b4a972627)

running 1 test
BUILDING MoveStdlib
Running Move unit tests
[ PASS    ] 0x1::HashTests::sha2_256_expected_hash
[ PASS    ] 0x1::HashTests::sha3_256_expected_hash
[ PASS    ] 0x1::BCSTests::bcs_address
[ PASS    ] 0x1::FixedPoint32Tests::create_div_zero
[ PASS    ] 0x1::BCSTests::bcs_bool
[ PASS    ] 0x1::FixedPoint32Tests::create_from_rational_max_numerator_denominator
[ PASS    ] 0x1::BCSTests::bcs_u128
[ PASS    ] 0x1::CapabilityTests::test_delegate_failure_after_revoke
[ PASS    ] 0x1::BCSTests::bcs_u64
[ PASS    ] 0x1::OptionTests::borrow_mut_none
[ PASS    ] 0x1::EventTests::test_event_128
[ PASS    ] 0x1::FixedPoint32Tests::create_overflow
[ PASS    ] 0x1::BitVectorTests::empty_bitvector
[ PASS    ] 0x1::ASCIITests::printable_chars_dont_allow_newline
[ PASS    ] 0x1::BCSTests::bcs_u8
[ PASS    ] 0x1::FixedPoint32Tests::create_underflow
[ PASS    ] 0x1::BCSTests::bcs_vec_u8
[ PASS    ] 0x1::CapabilityTests::test_delegate_success
[ PASS    ] 0x1::VectorTests::append_empties_is_empty
[ PASS    ] 0x1::FixedPoint32Tests::create_zero
[ PASS    ] 0x1::BCSTests::encode_128
[ PASS    ] 0x1::OptionTests::borrow_mut_some
[ PASS    ] 0x1::FixedPoint32Tests::divide_by_zero
[ PASS    ] 0x1::BitVectorTests::index_bit_out_of_bounds
[ PASS    ] 0x1::ASCIITests::printable_chars_dont_allow_tab
[ PASS    ] 0x1::CapabilityTests::test_failure
[ PASS    ] 0x1::FixedPoint32Tests::divide_overflow_large_numerator
[ PASS    ] 0x1::EventTests::test_event_256
[ PASS    ] 0x1::FixedPoint32Tests::divide_overflow_small_divisore
[ PASS    ] 0x1::CapabilityTests::test_success
[ PASS    ] 0x1::BCSTests::encode_256
[ PASS    ] 0x1::OptionTests::borrow_with_default
[ PASS    ] 0x1::ErrorsTests::errors_state
[ PASS    ] 0x1::FixedPoint32Tests::exact_divide
[ PASS    ] 0x1::BitVectorTests::longest_sequence_no_set_nonzero_index
[ PASS    ] 0x1::VectorTests::append_respects_order_empty_lhs
[ PASS    ] 0x1::GUIDTests::test_basics
[ PASS    ] 0x1::ASCIITests::test_ascii_chars
[ PASS    ] 0x1::FixedPoint32Tests::exact_multiply
[ PASS    ] 0x1::BCSTests::encode_257
[ PASS    ] 0x1::GUIDTests::test_delegation
[ PASS    ] 0x1::EventTests::test_event_257
[ PASS    ] 0x1::FixedPoint32Tests::multiply_overflow_large_multiplier
[ PASS    ] 0x1::OptionTests::destroy_none
[ PASS    ] 0x1::GUIDTests::test_id
[ PASS    ] 0x1::FixedPoint32Tests::multiply_overflow_small_multiplier
[ PASS    ] 0x1::BitVectorTests::longest_sequence_no_set_zero_index
[ PASS    ] 0x1::FixedPoint32Tests::multiply_truncates
[ PASS    ] 0x1::EventTests::test_guid_wrapper_backward_compatibility
[ PASS    ] 0x1::VectorTests::append_respects_order_empty_rhs
[ PASS    ] 0x1::ASCIITests::test_ascii_push_char_pop_char
[ PASS    ] 0x1::BitVectorTests::longest_sequence_one_set_zero_index
[ PASS    ] 0x1::OptionTests::destroy_none_some
[ PASS    ] 0x1::ASCIITests::test_ascii_push_chars
[ PASS    ] 0x1::VectorTests::append_respects_order_nonempty_rhs_lhs
[ PASS    ] 0x1::BitVectorTests::longest_sequence_two_set_nonzero_index
[ PASS    ] 0x1::OptionTests::destroy_some
[ PASS    ] 0x1::ASCIITests::test_invalid_ascii_characters
[ PASS    ] 0x1::BitVectorTests::longest_sequence_with_break
[ PASS    ] 0x1::VectorTests::borrow_out_of_range
[ PASS    ] 0x1::OptionTests::destroy_some_none
[ PASS    ] 0x1::BitVectorTests::set_bit_out_of_bounds
[ PASS    ] 0x1::ASCIITests::test_nonvisible_chars
[ PASS    ] 0x1::VectorTests::destroy_empty
[ PASS    ] 0x1::OptionTests::destroy_with_default
[ PASS    ] 0x1::ASCIITests::test_printable_chars
[ PASS    ] 0x1::BitVectorTests::shift_left_at_size
[ PASS    ] 0x1::OptionTests::extract_none
[ PASS    ] 0x1::VectorTests::destroy_empty_with_pops
[ PASS    ] 0x1::BitVectorTests::shift_left_more_than_size
[ PASS    ] 0x1::OptionTests::extract_some
[ PASS    ] 0x1::BitVectorTests::single_bit_bitvector
[ PASS    ] 0x1::VectorTests::destroy_non_empty
[ PASS    ] 0x1::OptionTests::fill_none
[ PASS    ] 0x1::BitVectorTests::test_set_bit_and_index_basic
[ PASS    ] 0x1::OptionTests::fill_some
[ PASS    ] 0x1::VectorTests::get_set_work
[ PASS    ] 0x1::OptionTests::get_with_default
[ PASS    ] 0x1::VectorTests::index_of_empty_not_has
[ PASS    ] 0x1::OptionTests::option_borrow_none
[ PASS    ] 0x1::OptionTests::option_borrow_some
[ PASS    ] 0x1::VectorTests::index_of_nonempty_has
[ PASS    ] 0x1::OptionTests::option_contains
[ PASS    ] 0x1::VectorTests::index_of_nonempty_has_multiple_occurences
[ PASS    ] 0x1::OptionTests::option_none_is_none
[ PASS    ] 0x1::OptionTests::option_some_is_some
[ PASS    ] 0x1::VectorTests::index_of_nonempty_not_has
[ PASS    ] 0x1::OptionTests::swap_none
[ PASS    ] 0x1::VectorTests::length
[ PASS    ] 0x1::OptionTests::swap_or_fill_none
[ PASS    ] 0x1::OptionTests::swap_or_fill_some
[ PASS    ] 0x1::VectorTests::pop_out_of_range
[ PASS    ] 0x1::OptionTests::swap_some
[ PASS    ] 0x1::VectorTests::pop_push_back
[ PASS    ] 0x1::VectorTests::push_back_and_borrow
[ PASS    ] 0x1::VectorTests::remove_empty_vector
[ PASS    ] 0x1::VectorTests::remove_nonsingleton_vector
[ PASS    ] 0x1::VectorTests::remove_nonsingleton_vector_last_elem
[ PASS    ] 0x1::VectorTests::remove_out_of_bound_index
[ PASS    ] 0x1::VectorTests::remove_singleton_vector
[ PASS    ] 0x1::VectorTests::reverse_singleton_vector
[ PASS    ] 0x1::VectorTests::reverse_vector_empty
[ PASS    ] 0x1::VectorTests::reverse_vector_nonempty_even_length
[ PASS    ] 0x1::VectorTests::reverse_vector_nonempty_odd_length_non_singleton
[ PASS    ] 0x1::VectorTests::swap_different_indices
[ PASS    ] 0x1::VectorTests::swap_empty
[ PASS    ] 0x1::VectorTests::swap_out_of_range
[ PASS    ] 0x1::VectorTests::swap_remove_empty
[ PASS    ] 0x1::VectorTests::swap_remove_end_of_vector
[ PASS    ] 0x1::VectorTests::swap_remove_inside_vector
[ PASS    ] 0x1::VectorTests::swap_remove_out_of_range
[ PASS    ] 0x1::VectorTests::swap_remove_singleton
[ PASS    ] 0x1::VectorTests::swap_same_index
[ PASS    ] 0x1::VectorTests::test_empty_is_empty
[ PASS    ] 0x1::VectorTests::test_natives_with_different_instantiations
[ PASS    ] 0x1::VectorTests::test_singleton_contains
[ PASS    ] 0x1::VectorTests::test_singleton_len
[ PASS    ] 0x1::VectorTests::vector_contains
[ PASS    ] 0x1::BitVectorTests::test_set_bit_and_index_odd_size
[ PASS    ] 0x1::BitVectorTests::test_shift_left
[ PASS    ] 0x1::BitVectorTests::test_shift_left_specific_amount
[ PASS    ] 0x1::BitVectorTests::test_shift_left_specific_amount_to_unset_bit
[ PASS    ] 0x1::BitVectorTests::unset_bit_out_of_bounds
Test result: OK. Total tests: 123; passed: 123; failed: 0
BUILDING MoveStdlib
BUILDING MoveNursery
Running Move unit tests
[ PASS    ] 0x1::RoleTests::test_assign_failure
[ PASS    ] 0x1::ACLTests::test_add_failure
[ PASS    ] 0x1::RoleTests::test_revoke_failure
[ PASS    ] 0x1::ACLTests::test_remove_failure
[ PASS    ] 0x1::CompareTests::equality_of_simple_types
[ PASS    ] 0x1::RoleTests::test_success
[ PASS    ] 0x1::ACLTests::test_success
[ PASS    ] 0x1::CompareTests::greater_than_with_natural_ordering
[ PASS    ] 0x1::CompareTests::greater_than_without_natural_ordering
[ PASS    ] 0x1::CompareTests::inequality_of_simple_types
[ PASS    ] 0x1::CompareTests::less_than_with_natural_ordering
[ PASS    ] 0x1::CompareTests::less_than_without_natural_ordering
Test result: OK. Total tests: 12; passed: 12; failed: 0
test move_unit_tests ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.68s


Add a note on inviting users

This question popped up several times so I decided to add this to the docs. If you can think of other places where this could be added, feel free to turn it into a snippet and propagate.

Hi, @MelissaKaulfuss - plz green-checkmark this one when the tests pass & you have a moment. Thanks!