JIT compilation using Qobj

The benefit of using JAX is the ability to JIT compile. With the setup right now, it is not clear what's the best way to make JAX recognize QuTiP objects as valid inputs since JIT only works for pure JAX arrays. There are workarounds to it, e.g., https://github.com/google/jax/blob/cc13fd1e5892a08f5360db933d4dfd64c0fc66eb/jax/experimental/lapax.py#L164. The alternative is to use the data._jxa instead of passing around quantum objects as:
def test_jit_from_jxa():
    """Test JIT of add using the _jxa array"""

    @jax.jit
    def func():
        return sigmax().to("jax").data._jxa + sigmay().to("jax").data._jxa

    assert isinstance(func(), jax.interpreters.xla.DeviceArray)

def test_jit_from_qobj():
    """Test JIT of add directly using Qobj"""

    @jax.jit
    def func():
        return sigmax() + sigmay()

    assert isinstance(func(), jax.interpreters.xla.DeviceArray)

Qobj are designed to work mixing multiple data type mixed and it's not clear that jax can find the mathematics operation in a dispatched function. The dispatcher itself is cython compiled.
We could try to register the Qobj as a pytree node when importing qutip-jax.
Also giving Qobj a way to extract the specializations and skip the dispatcher will probably be required.
We should be able to set it to work with .data.

Thank you @Ericgig and @quantshah for making this repo and pushing this forward!! This is amazing!
I just wanna add a small bit of my understanding of JAX JIT. It seems to me that JIT (and jax.grad etc.) works as long as the function-to-be-jitted only takes inputs and gives outputs that are supported by JAX, e.g jnp.arrays. Any other complication in generating this function doesn't matter as long as their compiler can go through the Python script and translate it to XLA code at the run time. So in principle, the current implementation should be sufficient as long as we are a little bit careful with the function we jit.
The following JIT example works fine for me with the current master branch.
import qutip
import qutip_jax
import jax

@jax.jit
def fun(a):
    M = qutip.sigmay().to("jax")
    N = qutip.sigmaz().to("jax")
    return (a * M.conj() * N + N).data._jxa

fun(3.)

This looks sufficient to me. The input is just numbers and the output is a JAX array.
Maybe instead of making the whole Qobj compatible with JAX JIT, we just need to add an additional wrapper that transfer the final jax array to Qobj?

We need to define what is sufficient.
Are Qobj as output only, enough?
In the example, it fails if we don't manually convert to jax.  Do we want this to be automatic?
Do we want only operation to be supported or should it work with ptrace or eigenenergies also?

Are Qobj as output only, enough?

No. This is just an example showing that even if you cannot directly jit a function that returns a Qobj. You can still define a wrapper to make it compatible fairly easily. I'm not sure how difficult it is to represent the Qobj class with a pytree. If it is too much work, maybe we can define a qutip_jax.jit that automatically transfers all the Qobj to JAX array and transfer the output, (if it is a JAX array or Pytrees of them) back to Qobj?
In the way that JAX implemented things, you cannot jit any function but only those that are pure functions. It is very likely that we can never make jax.jit work with qutip.mesolve. We can only jit a customized integrator and return the result in Qobj.

In the example, it fails if we don't manually convert to jax. Do we want this to be automatic?

Yes, that would be great. It should be feasible with some global settings? E.g. with a default dtype.

Do we want only operation to be supported or should it work with ptrace or eigenenergies also?

Yes it should also work with other Qobj operations like tensor and ptrace. But it should be just the same as adding the specialisations like adding and multiplication, no? In principle, most of them should work by replacing np with jnp. The only caveat is that jnp.array does not support NumPy in-place assignment. One has to use their own syntax.

tensor will be just adding a new specialisations, but ptrace will not. You cannot branch on input value with jit per default, so ptrace's sel will cause issues. eigenstates return a pair of eigenvalues and list of Qobj, thus I don't see how that could work...
solver and integrator cannot be jitted, nor it makes any sense to try to. But we need to think about getting grad working with solvers.

Thanks Boxi. Yes I have been using JIT by shuttling to and fro QuTiP Qobj
and it all works with the extra step of .to('jax'). The JaxArray type
registered as a PyTree works for JIT and I was hoping we could do something
like that for all Qobj when qutip_jax is imported to get rid of the extra
.to('jax').
Several things will break when we use Jax and JIT, as Eric pointed out.
Even something as simple as displace() will not work, but there are
workarounds to it. I am wondering if we can somehow mark and change all
functions that are non JITable natively and suggest a JITable qutip_jax
version. Eg, qutip_jax.ptrace() if the use calls ptrace and also wants to
JIT things.
Mesolve cannot be JITted directly of course but there again it's possible
to have a custom solver with Jax that is JIT able. I will try to post some
examples this week.
On Fri, 7 Oct 2022 at 18:12, Eric Giguère @.***> wrote:

tensor will be just adding a new specialisations, but ptrace will not.
You cannot branch on input value with jit per default, so ptrace's sel
will cause issues. eigenstates return a pair of eigenvalues and list of
Qobj, thus I don't see how that could work...
solver and integrator cannot be jitted, nor it makes any sense to try to.
But we need to think about getting grad working with solvers.
—
Reply to this email directly, view it on GitHub
https://github.com/qutip/qutip-jax/issues/6#issuecomment-1271787821, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABVFIBDWWYNELLKAUTDMGZDWCBDXDANCNFSM6AAAAAAQ7PUMZY
.
You are receiving this because you were mentioned.Message ID:
@.***>

On a second thought maybe we should just good documentation and a section
about "sharp edges" like the Jax documentation on creating functions that
are pure and only take Jax data as inputs and outputs. In the simplest use
case, I was thinking of "learning unitaries" using gradient descent. You
send in angles that define the unitary and get out some measure of fidelity
as a number. Probably that's enough for all the JITing we want to do. Let
me post a notebook and we can discuss more.
On Sun, 9 Oct 2022 at 18:45, Shahnawaz Ahmed @.***>
wrote:

Thanks Boxi. Yes I have been using JIT by shuttling to and fro QuTiP Qobj
and it all works with the extra step of .to('jax'). The JaxArray type
registered as a PyTree works for JIT and I was hoping we could do something
like that for all Qobj when qutip_jax is imported to get rid of the extra
.to('jax').
Several things will break when we use Jax and JIT, as Eric pointed out.
Even something as simple as displace() will not work, but there are
workarounds to it. I am wondering if we can somehow mark and change all
functions that are non JITable natively and suggest a JITable qutip_jax
version. Eg, qutip_jax.ptrace() if the use calls ptrace and also wants to
JIT things.
Mesolve cannot be JITted directly of course but there again it's possible
to have a custom solver with Jax that is JIT able. I will try to post some
examples this week.
On Fri, 7 Oct 2022 at 18:12, Eric Giguère @.***>
wrote:

tensor will be just adding a new specialisations, but ptrace will not.
You cannot branch on input value with jit per default, so ptrace's sel
will cause issues. eigenstates return a pair of eigenvalues and list of
Qobj, thus I don't see how that could work...
solver and integrator cannot be jitted, nor it makes any sense to try
to. But we need to think about getting grad working with solvers.
—
Reply to this email directly, view it on GitHub
https://github.com/qutip/qutip-jax/issues/6#issuecomment-1271787821,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABVFIBDWWYNELLKAUTDMGZDWCBDXDANCNFSM6AAAAAAQ7PUMZY
.
You are receiving this because you were mentioned.Message ID:
@.***>


Removed control messages

Removed steering_report, throttle_report, brake_report messages from repo.

Fixed on simulator side, so this is no longer needed.


Does this library support AMD or requirejs?

Our application is built in angular1.6 where we are using requirejs to load libraries.
We have also provided react view support.
Now one of the customer want's to use this library, So my question is does this library support requirejs?

It does not currently support requirejs but we do accept PRs!


fix acreage pct calc

@parkerziegler I think this line should be $: pctCoverage = (stats.stl_total_acres / stats.acres * 2) * 100; (i.e. move the 2 inside the parentheses)?

Good read that the calculation is off! Looking a bit closer, I think it should actually be:
$: pctCoverage = stats.stl_total_acres / (stats.acres * 2) * 100;

which Prettier will rewrite to:
$: pctCoverage = (stats.stl_total_acres / (stats.acres * 2)) * 100;

to try to disambiguate operator order (which, I absolutely needed on this one). As a quick sanity check, I punched the following into Node:
node
Welcome to Node.js v20.12.2.
Type ".help" for more information.
> // Original implementation.
undefined
> (294895.97 / 823718.64) * 2 * 100
71.60114040881726
> // Attempted fix.
undefined
> (294895.97 / 823718.64 * 2) * 100
71.60114040881726
> // Final fix.
undefined
> (294895.97 / (823718.64 * 2)) * 100
17.9002

The last agrees with the numbers you sent in Slack, so I'll push a commit with that change in real quick! Thanks for catching this eagle eyes 🙏


docs(adr): ADR-006: Poap v2

Description
This PR adds the ADR for the POAP v2 smart contract.

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] included the correct type prefix in the PR title
[ ] added ! to the type prefix if API or client breaking change
[ ] targeted the correct branch (see PR Targeting)
[ ] provided a link to the relevant issue or specification
[ ] included the necessary unit and integration tests
[ ] added a changelog entry to CHANGELOG.md
[ ] updated the relevant documentation or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed ! in the type prefix if API or client breaking change
[ ] confirmed all author checklist items have been addressed
[ ] reviewed contract logic
[ ] reviewed contract security
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

I would like to know @giorgionocera opinion about this, since he's the one that opened the issues about the current POAP implementation.


Dockerfile support

Similar to allowing to run docker-compose files, would be great to just run a Dockerfile.

@timbmg, thank you for the suggestion. My hunch is that the scope of the library would start ballooning a bit if we start introducing build steps. Having said that, you raise a good point that it's available for docker-compose as of #78.
Is there any reason why running docker build prior to spinning up your tests isn't sufficient/desirable?

I can't really imagine a workflow where this could be useful.
Surely the other dependencies will be built beforehand, and if they're not then docker-compose will build them.

Was just looking for exactly this feature - I would like to be able to start a database container, but I need it to have some additional extensions to be installed first.
The beauty of test containers is that I don't need to build anything else prior to starting my tests - I start them and it just works. But if this is not supported then I have to come up with some fixture that does that for me, perhaps using the provided docker client.

@tillahoffmann This appears to be supported in Java.
Let's reconsider this feature.

+1 :)

@tillahoffmann
+1
I have a use case where I would like to use Dockerfile.

I'm ready to contribute and implement the feature if possible

I han API designed with FastAPI and I would like to leverage the power of testcontainers to test the build and readiness of my API
My tests would look like :
def test_docker_run_with_dockerfile():
    fastapi_container = FastAPIContainer("fastapi:local", dockerfile="/workspace/my-api/", port=8000)
    with fastapi_container as fastapi:
        url = f"http://{fastapi.get_container_host_ip()}:{fastapi.get_exposed_port(fastapi.port)}/"
        r = requests.get(url)
        logging.info(r.text)
        assert r.status_code == 200
        assert "Welcome to fastapi with dockerfile!" in r.text

i dont know where it would fall on our list of priorities but i think it would be acceptable for this library to have something like:
https://github.com/testcontainers/testcontainers-java/blob/d3b0df2d89ee349890c94b0ce220a167c82ddf51/core/src/test/java/org/testcontainers/junit/DockerfileTest.java#L54-L71
    @Test
    public void dockerfileBuilderWorks() {
        ImageFromDockerfile image = new ImageFromDockerfile()
            .withFileFromClasspath("test.txt", "mappable-resource/test-resource.txt")
            .withFileFromString("folder/someFile.txt", "hello")
            .withDockerfileFromBuilder(builder -> {
                builder
                    .from("alpine:3.16")
                    .workDir("/app")
                    .add("test.txt", "test file.txt")
                    .run("ls", "-la", "/app/test file.txt")
                    .copy("folder/someFile.txt", "/someFile.txt")
                    .expose(80, 8080)
                    .cmd("while true; do cat /someFile.txt | nc -l -p 80; done");
            });

        verifyImage(image);
    }

Hello!
Can I be assigned to this one please?
I woule like to implement it if it's okay for you.
Thanks!

the potential implementation in #455 is very interesting but id like to figure out how we can do this without passing image and dockerfile separately. whereas the reference implementation from java uses a DockerImage class, we can have a union type of DockerImage (or some other name) and str - where that other type would provide an os.PathLike and an indication that it should be build with the docker client.
ill assign the issue to you for now but I think we are generally looking for feedback from any potential users or contributors about a better API design (or testing ideas).

I totally agree with you. I also had a thought about another way to implement it using a specific class for image building without changing the docker client class. I'm even more confortable with it!
I'll propose you changes with another way of doing that.

Hello @alexanderankin!
Just to let you know that I updated the PR with my new proposal. I'm open to any feedback and of course changes requests if you have.
Thanks

@alexanderankin you asked for some feedback and alternative API design, I hope you will find #559 Interesting.
I think keeping it more like the original DockerContainer is the way to go, Context manager is more pythonic and this version helps to keep it more separated.

The 1st part of the quadrilogy presented on https://github.com/testcontainers/testcontainers-python/pull/559 is ready.
I hope it will help to resolve this issues and provide the infra for:
feat(core): SrvContainer
feat(core): FastAPI module
feat(core): AWS Lambda module


Allow GoodbyeModel to work with Azure OpenAI

Discussion here:
https://discord.com/channels/1079125925163180093/1111176074991247410/1111176078803882014
@Kian1354 recently added support for using the Azure-hosted version of OpenAI:
https://github.com/vocodedev/vocode-python/pull/165
I found that this does work in general, and based on my initial tests it also seems to be a bit faster.
But, it fails when I use this flag:
end_conversation_on_goodbye=True

The error is this:
Traceback (most recent call last):
  File "/Users/shahafabileah/miniconda3/lib/python3.10/site-packages/vocode/streaming/utils/worker.py", line 167, in _run_loop
    await self.current_task
  File "/Users/shahafabileah/miniconda3/lib/python3.10/site-packages/vocode/streaming/agent/base_agent.py", line 215, in process
    goodbye_detected = await asyncio.wait_for(
  File "/Users/shahafabileah/miniconda3/lib/python3.10/asyncio/tasks.py", line 445, in wait_for
    return fut.result()
  File "/Users/shahafabileah/miniconda3/lib/python3.10/site-packages/vocode/streaming/utils/goodbye_model.py", line 63, in is_goodbye
    embedding = await self.create_embedding(text.strip().lower())
  File "/Users/shahafabileah/miniconda3/lib/python3.10/site-packages/vocode/streaming/utils/goodbye_model.py", line 70, in create_embedding
    await openai.Embedding.acreate(
  File "/Users/shahafabileah/miniconda3/lib/python3.10/site-packages/openai/api_resources/embedding.py", line 73, in acreate
    response = await super().acreate(*args, **kwargs)
  File "/Users/shahafabileah/miniconda3/lib/python3.10/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 214, in acreate
    ) = cls.__prepare_create_request(
  File "/Users/shahafabileah/miniconda3/lib/python3.10/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 83, in __prepare_create_request
    raise error.InvalidRequestError(
openai.error.InvalidRequestError: Must provide an 'engine' or 'deployment_id' parameter to create a <class 'openai.api_resources.embedding.Embedding'>

In other words, openai has already been initialized to use azure, so it expected to be given an engine anytime you call it for anything.  But here we have GoodbyeModel calling it without providing an engine, so it chokes.
A further complexity is that for GoodbyeModel we actually need a different engine.  In Azure parlance, an "engine" is kind of like a "deployment" of a particular kind of model.  The model needed by GoodbyeModel is text-embedding-ada-002, so it gets its own deployment, separate from gpt-3.5 or whatnot.
The change I made here is the minimal change that seems to work.  You just define one more environment variable (AZURE_OPENAI_TEXT_EMBEDDING_ENGINE ) with the name of the engine/deployment for embeddings, and you're good to go.
But this does raise questions about how we should manage openai setup in general, because I see it used in a few places:

chat_gpt_agent.py
goodbye_model.py
llm_agent.py
whisper_transcriber.py

BTW, note that this gets even more complicated, because at the moment Azure doesn't offer whisper (https://learn.microsoft.com/en-us/azure/cognitive-services/openai/concepts/models), so people who opt for Azure-hosted in general may still need to use OpenAI-hosted for whisper (and I don't know if the openai library can be made to work with two masters at the same time).
With ChatGPTAgent, the approach you took is to provide a ChatGPTAgentConfig, which gets some values from environment variables and some from directly-given parameters (or defaults).  It might be nice to pass that same config around wherever else it's needed, but GoodbyeModel is created by BaseAgent, which is not GPT-specific and (I think) doesn't have access to those GPT-specific config params.  Maybe it's better to move in the direction of using environment variables for all the openai setup stuff?  Or maybe it's best to consolidate openai setup somewhere, or give access to openai through a wrapper, or something.

@shahafabileah nice catch! added a small patch for setting either model or engine (was causing an issue when i set both)
Yes you're right – it's not immediately clear to me how we can address this right now with whisper not being supported but I don't think it's a huge priority (whisper is not great for streaming so I doubt anybody is using it + pairing it with Azure openAI)
worth a look again later!


CUserCmd

Cheat crashes when entering match / enabling bhop
CUserCmd is probably outdated

createmove's vtable index is updated to 14

thanks chief

createmove's vtable index is updated to 14

Doesn't seem to work, any idea what might have been changed?

the parameters has been changed too. search in unkownncheats.

the parameters has been changed too. search in unkownncheats.

couldn't find anything on UC, maybe i'm blind, any chance you could share what was changed?

i havent got time yet

couldn't find anything on UC, maybe i'm blind, any chance you could share what was changed?
xref string on ida -> createmove and count the idx or calculate with bytes

i havent got time yet to fix the base as i just received my new mainboard this week

couldn't find anything on UC, maybe i'm blind, any chance you could share what was changed?

xref string on ida -> create move and count the idx or calculate with bytes

alright i'll look into it, source2 seems much more complicated to me so been kinda having a hard time learning all of this new stuff haha

the parameters has been changed too. search in unkownncheats.

couldn't find anything on UC, maybe i'm blind, any chance you could share what was changed?

i litereally just send you the parameters and are you saying that u couldnt find it?

bool CS_FASTCALL H::CreateMove(CCSGOInput* pInput, void* unk,CUserCmd* pCmd)

bool CS_FASTCALL H::CreateMove(CCSGOInput* pInput, void* unk,CUserCmd* pCmd)

You should make a pull request with everything fixed cuz its probably going to take maecry another week to fix his shit

do it yourself bro. its not hard and even if it is, you should learn to hack game, or your wont be able to continue your project too.

do it yourself bro. its not hard and even if it is, you should learn to hack game, or your wont be able to continue your project too.

I fixed it but i was just saying for all the other ppl

uhm then why don't you make a pr 🤔but anyway i did a quick fix + updated the class, the rest will be later


[5.6] Added toString method to Optional helper

When calling optional($variable) on a string variable without any appended function call or attribute, it will throw an exception if trying to implicitly __toString it.
Real-world example:
I have a lot of objects where almost all of them have functions that i need to access, but some are just plain strings. Because I'm a really lazy programmer, here is what i did:
$array = [
    'pixel_aspect_ratio' => optional($video->get('pixel_aspect_ratio')),
    'video_codec' => optional($video->get('codec'))->getFullName(),
]
optional($video->get('codec'))->getFullName(), works just fine because it is a function call.
optional($video->get('pixel_aspect_ratio')) doesn't work because $video->get('pixel_aspect_ratio') returns a string. I would expect that wrapping a string in the optional helper should just return the string when __toStringing. As it is now, it throws an exception.
First Laravel pull request, so all edits and fixes very welcome..!

Just don't wrap it in optional to begin with?


🎮 Game Request
Game logic and basic description
Whack a Mole game using HTML, CSS, and Js. This game consists of nine dirt holes and a mole. The mole pops up from the holes randomly and player has to click on the mole to get points.
Point down the features
Game points
The points are displayed are simultaneously at the page
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @lakshmiprasannakusumanchi !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @lakshmiprasannakusumanchi 👋!
@kunjgit here,
We have this annoucement to make 📢!!
We have updated our README 🚀
Make sure you follow proper guideline to raise your next issues !!
Make sure you join our Discord🕹 if you haven't 😇
Thank you 💗!

Hey @lakshmiprasannakusumanchi 👋!
@kunjgit here,
We have this annoucement to make 📢!!
During the time of PR don't alter main index file ! 🙂
In main Readme file just use * as a game number during the time we are merging we will add number !! 👀
Make sure you join our Discord🕹 if you haven't 😇
Thank you 💗!

Hello @lakshmiprasannakusumanchi, Time's Uppp!⏰
Sorry for closing your issue!
But it's more than a week since we haven't received anything from your side 😢 .
Come up with new ideas, create a new issue and make sure you finish it within a week! 🔥
All the best! 🚀
Happy Hacking! 💗

Hey @lakshmiprasannakusumanchi ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


pip: 22.0.4 -> 22.1.2; pip-tools: 5.5.0 -> 6.6.2

Merge master and pump pip-tools (and pip) to 6.6.2

Hi @phlax
Not sure if you're open to PRs like this, but this goes on top of your PR in upstream rules_python. Otherwise I can make a PR direct to upstream if you don't have time? We both want the same thing, some dependency upgrades. I'm happy either way, I just saw your PR so I thought I would jump on top of it.


⚠ Bofrost.lu has degraded performance

In 538f1c0, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1359 ms

Resolved: Bofrost.lu performance has improved in 61f313b after 1 hour, 7 minutes.


How to express the array of objects ?

If I want to make as blow, how can I write hyper json-schema?
also, want to generate doc base on schema

json schema

    "object A":{
      "type": ["object"],
      "properties": {
        "type": {
          "$ref": "#/definitions/type"
        },
        "user": {
          "$ref": "#/definitions/user"
        },
      }
    },
    "objectB":{
      "type": ["object"],
      "properties": {
        "type": {
          "$ref": "#/definitions/type"
        },
        "friends": {
          "$ref": "#/definitions/friends"
        },
      }
    },
-----
      "targetSchema":{
        "type": "object",
        "properties": {
          "result" : {
            "type": "array",
            "items":
            {
              "$ref": "/schemata/user#/definitions/objectA",
              "$ref": "/schemata/friends#/definitions/objectB"
            }
          },
          "error" : {
            "$ref": "#/definitions/error"
          }
        }
      }

RESPONSE

{
  "result": [
      {object A},
      {obcjet B},
  ],
  "error": {
    "errorCode": 400,
    "errorMessage": "not exist"
  }
}

You'll want to use the items keyword. I see you closed this though, did you have further questions or concerns?

Well.... about question, I don't have further. Thank you for your apply :)
But, have question not related this question.
How to use render template?
I don't know how to use, and result when use renter -template !

The easiest is to just copy the existing templates and modify them as needed. Then you can pass the root schema template to the command (and from there it uses relative paths to tie everything together).


Use 4th digit in version number for CI build number

closes #369
example of working CI:
https://github.com/ASpoonPlaysGames/NorthstarLauncher/actions/runs/6076234977

Uh, no merge conflict with #542 merged but I guess this PR still needs to be updated so that run number is written to both exe and dll?
Or is this kinda done implicitly already? ^^

Uh, no merge conflict with #542 merged but I guess this PR still needs to be updated so that run number is written to both exe and dll?

Correct

another example of successful testing, going to remove the needs testing label


Discussion: improving the provisioning process

The purpose of this issue is to highlight some pain points or general problems with the existing provisioning processes in order to fuel discussion directed at improving those processes.
Disclaimer: I am most familiar with the AWS provisioning process, so my comments are most informed by that.  If others want to call out other pain points or general problems with the process for other providers, go right ahead!
discovery URLs
Generating user-data: many operators are well-acquainted with using make discovery-url to generate user-data.  What that make task does not do-- probably by design-- is it doesn't delete  / overwrite existing user-data.  The adverse affect of this is someone who has already failed in a prior attempt to provision a Deis cluster or is provisioning a second one might inadvertently re-use an etcd discovery URL without realizing they are doing so (even though they have re-run make discovery-url).
User-data and templates
Apart from provisioning scripts, we also provide "update" scripts that allow a CloudFormation template (for AWS, e.g.) to be re-run.  If an operator were to use this and in the time since provisioning a cluster, his or her user-data has changed (e.g. perhaps they altered it to stand up a second cluster) or any environment variables that have an impact on the composition of the generated template or the parameters passed to it have changed, then the result is all of these undesired changes might accidentally be applied to an existing cluster.  This isn't ideal and could in fact cause some pretty big problems.
We should probably save user-data, templates, and parameters used in the provisioning process so that they can be tweaked by an advanced operator and / or re-used by an update process as is (without the need to regenerate those artifacts).  This would allow an operator to keep the artifacts that accurately describe his or her clusters in source control.
Environment variables
The provisioning process is highly dependent on environment variables set by the operator to specify a variety of options or other required inputs.  As noted in the previous section, if these environment variables change between the time of initial provisioning and an update, some bad things can happen, but beyond that, relying on these environment variables makes for a clunky and error-prone user experience.  It is all too easy, for instance, to get all the way through the provisioning process never having set the DEIS_NUM_INSTANCES environment variable.  As a result, one ends up with an etcd cluster size of three by default.  What is five were desired, as is often the case in production?  At such a juncture, the only choice is to start over.
Virtual network topology
Currently, by default (at least in AWS) we provision a VPC for each new Deis cluster.  We do offer the option of deploying a Deis cluster into an existing VPC instead.  The problems here are threefold:

The VPCs we create only utilize two availability zones.  Quorum is more easily guaranteed in the face of inevitable network problems if the nodes of an etcd cluster are distributed across at least three zones.

As mentioned, we offer the possibility of provisioning a Deis cluster into an existing VPC, and when one does so, we also offer operators the possibility of deploying their cluster into private subnets.  IMO, this is actually a requirement for a production-worthy cluster.  The VPCs we create do not include private subnets.  IMO, this should at least be an option.

In the default case where an operator elects to let our provisioning process create the VPC for their cluster, we generate a single CloudFormation template that defines both the VPC and the Deis cluster.  This isn't ideal for a number of reasons.  For one, it means we are more rapidly approaching the limit on CF template size.  Second, it means the existence of the VPC is atomically bound to the existence of the Deis cluster.  One cannot choose to delete the Deis cluster without also deleting the VPC-- which could be problematic if additional Deis clusters have been deployed into that VPC afterwards.  Third, in many organizations, network security gurus who most likely do not have and do not require extensive knowledge of Deis are going to want to tweak certain aspects of a VPC, such as route tables and network ACLs.  For all of these reasons, it is probably best that any option we provider for establishing a VPC is decoupled from the creation of Deis clusters.

Isolating etcd and the control plane
I think this issue is well understood, so I will skip over the details, but we do recommend that in production, operators isolate both etcd and the Deis control plane to a small, fixed number of nodes, while allowing their data plane to scale more extensively.  In AWS terms, this requires two sets of user-data (which vary just slightly from one another) to be used in the launch configuration for two separate auto-scaling groups.  Although we highly recommend this, we haven't done more than document the recommendation with some modest advice on how one can achieve this themselves.  Our provisioning processes simply don't account for these recommendations, although they probably should.
Lowering the barriers for provisioning
Provisioning, again with respect to AWS, currently requires the AWS CLI to have been installed, as well as Python.  It seems there may be a growing consensus that Docker, instead, should be the lowest common denominator in terms of tooling that you assume (or hope) every operator has installed.  Containerizing the provisioning process would probably make life easier for most operators.

Add to the above:
Running Cephless
We have extensively documented what is required to run the "stateless platform" (i.e. without Ceph).  It requires the use of an external (external to the cluster) database and storage gateway.  On a platform like AWS, we could easily provide an optional provisioning process for these components to further reduce the knowledge one requires in order to run the stateless platform.

@krancour my approach with https://github.com/sgoings/rerun-deis is intended to help with the Environment variables problem as well as the "no common provisioning interface" problem. Check it out and let me know if that direction will eventually help you. :-)

Simple: we implement Deis on top of Kubernetes!
v2 dramatically simplifies the bootstrapping process so I'm going to go ahead and close this as out of date, but if we find issues with the v2 provisioning process then we should revisit this.


[Enhancement] WindowsCommandButtons separate styles

Hi, is it possible to separate styles (windows 10) from minimize, maximize and close buttons? To be able to use it when UseNoneWindowStyle = "True".

@avechuche No, cause if UseNoneWindowStyle is set to true the title bar will be collapsed and also if you use the WindowButtonCommands directly the UseNoneWindowStyle wins for all 3 buttons and collapse it. The only way is to add your own Button(s) or restyle the WindowButtonCommands.

@punker76 I think I explained wrong. What I want is that it is possible to make a style (Style={StaticResource Win10WindowCloseButton}, for example) for a button, so that it has the design of the button to close a window in Windows 10. Thx!

@avechuche You have 2 options

at the MetroWindow level

<Controls:MetroWindow.WindowButtonCommands>
        <Controls:WindowButtonCommands Template="{DynamicResource MahApps.Metro.Templates.WindowButtonCommands.Win10}" />
</Controls:MetroWindow.WindowButtonCommands>

or for all windows at the App.xaml

<!-- Win 10 style for window buttons -->
<Style TargetType="{x:Type controls:WindowButtonCommands}" BasedOn="{StaticResource MahApps.Metro.Styles.WindowButtonCommands.Win10}" />


Whether you evaluate the direct effect of different layers on zero-shot classification accuracy on the test set or on the same validation set used to calculate the mean

I would like to ask you whether you evaluate the direct effect of different layers on zero-shot classification accuracy on the test set of ImageNet or on the same validation set used to calculate the mean

In the code, it is on the same validation set (as we don't really care about the classification, and mostly want to see what are the changes when ablating ). For a real evaluation, like the waterbirds, we use a different set from the test set (specifically - imagenet validation set).

thank you for your reply.  And I would also like to ask whether you replace MLP with mean when you conduct mean-ablating experiment for MSA

In the code, it is on the same validation set (as we don't really care about the classification, and mostly want to see what are the changes when ablating ). For a real evaluation, like the waterbirds, we use a different set from the test set (specifically - imagenet validation set).

Have you done a separate experiment to keep other modules from mean-ablating and only perform mean-ablating for the last 4 MSA layers to verify its importance?
I think the verification experiment mentioned above is important since your observation that the performance starts to decrease significantly when the ablation begins at the last 4 layers may be attributed to too much absence of the previous layers

You can run it by simply modifying our code. I don't recall doing it, but my intuition is that the change will not be too big.


Automatically open/close when a user opens/closes an svg file

I thought about it previously and I'm on the fence. It so happens that sometimes I leave just the preview open as a reference. Plus markdown-preview doesn't do it either.

Could you provide it as an option?

+1


[TUBEMQ-519] Bumped version to 0.9.0-SNAPSHOT

Codecov Report

Merging #440 (8d8507e) into master (f8f41a5) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master    #440   +/-   ##
========================================
  Coverage      7.53%   7.54%
- Complexity      479     480    +1
========================================
  Files           267     267
  Lines         29378   29378
  Branches       4817    4817
========================================
+ Hits           2214    2216    +2
+ Misses        26690   26688    -2
  Partials        474     474

Impacted Files
Coverage Δ
Complexity Δ

.../producer/qltystats/DefaultBrokerRcvQltyStats.java
45.31% <0.00%> (-0.40%)
20.00% <0.00%> (-1.00%)

.../tubemq/corebase/policies/FlowCtrlRuleHandler.java
44.57% <0.00%> (+0.58%)
35.00% <0.00%> (+1.00%)

.../apache/tubemq/corebase/policies/FlowCtrlItem.java
40.00% <0.00%> (+1.11%)
9.00% <0.00%> (+1.00%)

Continue to review full report at Codecov.

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


Implement from_dict

Requires https://github.com/pyiron/pyiron_atomistics/pull/1338

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.002%) to 9.825%

Files with Coverage Reduction
New Missed Lines
%

mlip/lammps.py
3
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.002%

Covered Lines:
465

Relevant Lines:
4733

💛  - Coveralls


Properly handle the autocompletions list when switching tabs

Fixes https://github.com/mozilla/tofino/issues/1087
Depends on https://github.com/mozilla/tofino/pull/1079

Coverage increased (+0.002%) to 34.937% when pulling 966aa64767f43e9328b2e0055be4821723cec2b3 on victorporof:autocomplete-stays-open into b29fc3f6d19b35fa7baaa3d6ec9a378430afab22 on mozilla:master.

Coverage increased (+0.002%) to 34.937% when pulling 966aa64767f43e9328b2e0055be4821723cec2b3 on victorporof:autocomplete-stays-open into b29fc3f6d19b35fa7baaa3d6ec9a378430afab22 on mozilla:master.

Coverage increased (+0.002%) to 34.937% when pulling bd8913173198e992789a475556b6e8fbeb88e79c on victorporof:autocomplete-stays-open into e5af840dd03e092b03e20d1d39913e4e2b4176bd on mozilla:master.

Coverage increased (+0.002%) to 34.937% when pulling bd8913173198e992789a475556b6e8fbeb88e79c on victorporof:autocomplete-stays-open into e5af840dd03e092b03e20d1d39913e4e2b4176bd on mozilla:master.

Coverage decreased (-0.02%) to 34.302% when pulling a7d7a94b2c4496ec5d319c233b30609381e687b4 on victorporof:autocomplete-stays-open into 91f20411fd35f14c3ff64685417d5c48d617c16d on mozilla:master.

Coverage decreased (-0.02%) to 34.302% when pulling 8048f441ab6ef74979e99cfae6938432fbc5e541 on victorporof:autocomplete-stays-open into bec8c672f597d4144ba98e2c3e1da6a8fc3249a3 on mozilla:master.

Coverage decreased (-0.02%) to 34.268% when pulling 776bb28ba93bc671951947f4cb7c0434d89d6d90 on victorporof:autocomplete-stays-open into f73bc3c14dc9ba24b1d57b62f820f655b7577169 on mozilla:master.

The fact that we keep it open with the old results is interesting and different from other browsers.  In particular, afaict other browser treat the autocomplete list not as per-page but a single global thing that gets closed and cleared when switching tabs.
But I think it leads to some UX things, like when I do:

Open two tabs
Type something in URL bar A to show autocomplete list
Switch tabs (ctrl+tab)
Type something in URL bar B to show autocomplete list
Switch back (ctrl+tab)

The autocomplete isn't focused but it looks like it is (i.e. pressing down arrow doesn't switch between results).
Another existing issue that I'll file separately: the list doesn't disappear even when I click elsewhere in the browser (on another tab or even just somewhere in the nav bar).  Seems the only way to get it to go away is by pressing ESC - but once I've clicked elsewhere the URL bar loses focus so ESC doesn't close it.

I'm OK to handle the focus issue in https://github.com/mozilla/tofino/pull/1091#issuecomment-247046366 as a follow up if you want to track that separately

@bgrins the focus issue was there even before this patch. Indeed it would be a great idea to support it to make the autocompletion-list-per-page thing nice from a UX pov.

Coverage decreased (-0.02%) to 34.256% when pulling 4e575c906a191e08707d442ff3788d5a6068b884 on victorporof:autocomplete-stays-open into ab226d73b04c804a7434124e8fae7c9d39d1e414 on mozilla:master.

Coverage decreased (-0.02%) to 34.256% when pulling 4e575c906a191e08707d442ff3788d5a6068b884 on victorporof:autocomplete-stays-open into ab226d73b04c804a7434124e8fae7c9d39d1e414 on mozilla:master.


Popup ignore list request

Popup mode should have a way to exclude buffers from being effected. I want to use +all in theory but in practice there are a few packages I don't want getting abused by the popup system. Providing an list of regexes to ignore would be good.

a4e22d48b81a28dbbed054b7a7eb053555cb9ddb already implemented. My mistake.


Cannot produce "results_human_heart_9PCW" and "results_human_heart_4.5-5PCW"

Dear Professor,
I want to know how can you get the results for "results_human_heart_9PCW" and "results_human_heart_4.5-5PCW" in the Example 2 human heart dataset. I encountered some problems when I change the "results_human_heart_6PCW" code.
For producing "results_human_heart_6PCW", I use the code you provided in the tutorial, which are

It can work and produce the "results_human_heart" for 6PCW
However, when I change all the 6.5 numbers to 9, then there have some errors in my computer, it reports:

Is there any other code change for me to produce "results_human_heart_9PCW" and "results_human_heart_4.5-5PCW"? Since I want to reproduce the code in "3D visualization of STitch3D’s spatiotemporal cell-type deconvolution results" and "Differentially expressed gene analysis for developing human hearts". They all need these two datasets.
Thanks in advance!

Hi Cristal,
To run the code on other two datasets, you also need to modify the way to load the count matrices and meta information.
For example, to get results for the 9PCW human heart, the count matrices and meta information can be loaded like
for i in range(1, 7):     count_i = count[[loc.split("x")[0]==str(i+13) for loc in count.index]]     count_i.index = [(loc.split("x")[1]+"x"+loc.split("x")[2]) for loc in count_i.index]     meta_i = meta[[loc.split("x")[0]==str(i+13) for loc in meta.index]]     meta_i.index = [(loc.split("x")[1]+"x"+loc.split("x")[2]) for loc in meta_i.index]
Similarly for the 4.5-5 PCW human heart, try
for i in range(1, 5):     count_i = count[[loc.split("x")[0]==str(i) for loc in count.index]]     count_i.index = [(loc.split("x")[1]+"x"+loc.split("x")[2]) for loc in count_i.index]     meta_i = meta[[loc.split("x")[0]==str(i) for loc in meta.index]]     meta_i.index = [(loc.split("x")[1]+"x"+loc.split("x")[2]) for loc in meta_i.index]

Dear Geferi,
Thanks for your reply! However, I still encountered some problems when I ran this code for the 9PCW human heart:
# Selecting highly variable genes and building 3D spatial graph adata_st, adata_basis = STitch3D.utils.preprocess(adata_st_list,                                                   adata_ref,                                                   sample_col="experiment",                                                   rad_cutoff=1.1, c2c_dist=200., coor_key="loc_use",                                                   slice_dist_micron=[5., 115., 85., 160.,                                                                      5., 160., 5., 155.,],                                                   n_hvg_group=500)
The error is

It said, "ValueError: The length of 'slice_dist_micron' should be the number of adatas - 1 !", how to deal with this problem?
Also, for 4.5-5 PCW human heart cases. Thanks a lot!

Hi Cristal,
slice_dist_micron contains the distances between pairs of slices (in microns). For the  4.5-5 PCW data, slice_dist_micron=[5., 75., 5.,], as provided by the original publication. For the 9 PCW data, use slice_dist_micron=[5., 145., 5., 170., 5.,].

Dear Gefei,
Thanks for your reply! By the way, I want to know how to get this setting by myself, is that number by default, or can we change this number for different PCW data?
Best regards,
Cristal

Hi Cristal,
This information is usually given by the original datasets. If you do not have such information, you can also specify the distances between pairs of slices by yourself as long as in a reasonable range.

Dear Gefei,
Got it! Thanks a lot, Geifei!!
Best regards,
Cristal


SW-4041 Return permanent plot live/dead counts

The mortality rate graphs in the web app need to show live and dead plant totals
that only consider plants in permanent plots. We were already calculating those
totals on the server side since they are the inputs to the mortality rate
calculation; expose them in the observation results API payloads.

Current dependencies on/for this PR:

main

PR #1322   👈

This comment was auto-generated by Graphite.


"Script Action" doesn't work with "FreeCommand" option

Describe the bug
When choosing FreeComand option in general "Script Action", then error "Script file not loaded. Kindly select suitable file" appears while trying to run it.
It happens with all interpreters (built-in and external).
To Reproduce
Steps to reproduce the behavior:

Add "Script Action" from "General Actions"
Set any "Script Interpreter"
Choose FreeCommand in Script Action

Run Action
See error "Script file not loaded. Kindly select suitable file"

Expected behavior
Free command is executed with chosen interpreter
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Windows
Browser N/A
Version: 3.5.7

Additional context
N/A

Hi @fainagof ,
This is already fixed, you can use latest Ginger version to execute the scripts of other types like in your case its python.
We also have plugin for python, you can download and install it in Ginger to execute python scripts.
Please follow the steps to install and use plugin as mentioned in the Ginger Help Library.
Press F1 inside Ginger it will open Ginger Help Library and search for python, see below


Can you use standard Virtual Machine ARM Template options?

When I create a new SQL IAAS VM, I am able to choose all sorts of SQL options, such as enabling SQL Authentication.  I want to use these in my DevTest VMs too.
I have looked at the ARM templates produced by the standard Virtual Machines blade.  Is this transferable into the DevTest VM ARM template?

Not yet. We are working on a feature to deploy ARM templates to a lab instead of creating a VM directly. With that you can specify additional parameters to Compute to configure SQL, etc.


Rename TxType variants to UpperCamelCase (PascalCase)

Describe the feature
Enum variants are UpperCamelCase in Rust. Acronyms count as one word.
Additional context

Naming - Rust API Guidelines

In UpperCamelCase, acronyms and contractions of compound words count as one word: use Uuid rather than UUID, Usize rather than USize or Stdin rather than StdIn

Will give it a try.


Drawing performance is very low when scrolling very fast using FastScroller

When enabling the GPU Profiler on-screen bars we'll see the drawing performance. It stays nicely below/around the 60fps-mark when scrolling the RecyclerView directly.
But when using the FastScroller very fast, it'll show spikes and the app gets really laggy. This does not happen when scrolling slowly using the FastScroller.
This does not happen when scrolling fast using a fling on the RecyclerView itself.
It also does not happen in the standard-contacts-app (but I think they're using ListView?).

Does anyone have an idea on this issue?

Good question. It does show spiked, but I don't see it get laggy.
About the contacts app, I don't know.

Hello @hardysim, in my library I've added this base FastScroller, with thousands of items (normal, not with pictures...) it is smooth, I don't see any lags.

@davideas  But do you see spikes int eh GPU graph?

Yes I see them even if we are scrolling really fast from one small position to a high position and viceversa, but it's not laggy anyway.

OK, I looked more into it and I came to the conclusion that "really" laggy might be too much ;-) It gets the spikes and it gets some sort of lag but not that laggy that it's not usable anymore.
It seems that this sort of lag is not related to the lib but to the system itself (it has to render much more in such a case than when simply scrolling using a fling).
I'll close this here. Thanks for the feedback.


MAINT: special: fix a test for hyp0f1

Mpmath computes the test values in test_mpmath:test_hyp0f1_gh5764
correctly at small dps, incorrectly at medium dps, and then correctly
again at large dps. This sets the dps to be high to avoid
confusion. See https://github.com/scipy/scipy/pull/6328#discussion_r69015707.

Is this something worth reporting to mpmath, I wonder.
Looks good regardless, merging. Thanks Josh!

Backported in https://github.com/scipy/scipy/pull/6355.


 (C:\Users\cya20\Downloads\electron-quick-start\node_modules\electron\node_modules\electron-download\node_modules\nugget\node_modules\single-line-log\index.js:4:19)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
unbuild<EMAIL_ADDRESS>npm ERR! weird error 8
npm ERR! not ok code 0
`
if u have an explainantion please

(current: {"node":"v0.10.13","npm":"1.3.2"})

Your node version is years out of date.  Update to node 4.x or 6.x and it will fix this issue 👍


[rcore] Missing focus window API

Hi,
I've just found out that the API for focusing the window is missing (not the same as clearing the unfocused flag).
In one of my projects, I have to open a native open file modal to allow users to select a file. When the file is selected and the modal is closed, the raylib window should become active again. This works on all platforms, except on Windows. There if the raylib window is fullscreen, then it gets iconified when the modal is opened, so I have to manually focus it after the modal is closed to workaround the problem and get the raylib window back.

Cheers,
bzt

@bztsrc Thanks for noticing it! Added proposed function!

Thank you very much @raysan5! Now my project's raylib port is complete :-)
I would like to say, that I have ported MEG-4 to several backends, and anyone can see, the raylib backend's code is the smallest and simplest (18K, about 450 SLoc). It was by far the easiest to implement, took only a few hours, no more (in comparition, all the others took several days). This is thanks to your great API and very useful examples in the repo! I love it!
Cheers,
bzt

@bztsrc Wow! MEG-4 is really impressive! Congratulations!
Glad to know raylib backend was easy to implement! 😄
By the way, you have an amazing list of projects! Really inspiring!


Indentation rule doesn't like alignment in multiline structures

In structures such as
#loading-screen {
    // Magic animations
    visibility: hidden;
    transform: translateX(-100%);
    // Delay the visibility until we've drifted out
    transition: transform $in-out-speed,
                visibility 0s $in-out-speed;
    transition-timing-function: linear;
}

or
@font-face {
    font-family: "Freight Sans Pro";
    src: url("../fonts/FreightSansProMedium.woff") format("woff"),
         url("../fonts/FreightSansProMedium.ttf")  format("truetype");
}

scss-lint 1.5.1 complains about the overflow line's indentation:
error-pages/_fonts.scss
  4:10  error  Indentation of 9, expected 4  indentation

The only way to appease it is to reduce the overhanging line to the base indentation of the block
{
    src: url("../fonts/FreightSansProMedium.woff") format("woff"),
    url("../fonts/FreightSansProMedium.ttf")  format("truetype");
}

or put it all on one line
{
    transition: transform $in-out-speed, visibility 0s $in-out-speed;
}

neither of which I am happy with.

Thanks for flagging this up. We're aware of quite a few issues with the indentation rule and you can expect them to be addressed soon now that v1.6 is out of the door.

Thanks @wbobeirne definitely a good idea to doc it here as I've just got it in my head at the minute!

This may or may not be related to this issue, but I'm also seeing indentation issues with multiline nested structures:

That's a separate issue @natorojr could you file a new issue please so we can keep track of it a little easier. Thanks.

Fixing this would be very appreciated.

There's a few different ways people may want multiline indentation enforced.
// indent one level
{
    transition: transform $in-out-speed,
        visibility 0s $in-out-speed;
}
// perfect alignment
{
    transition: transform $in-out-speed,
                visibility 0s $in-out-speed;
}
// indent one level, enforce new line after ':'
{
    transition:
        transform $in-out-speed,
        visibility 0s $in-out-speed;
}

I've got a fork that enforces indenting one level: https://github.com/pmccloghrylaing/sass-lint/tree/indent-multiline-declaration, but it seems like there'll need to be an option for how multiline properties should be indented.

I have exactly the same issue as @DaClan008 describes. This is very annoying....

Any updates on this? It's quiet annoying not being able to use multi-line indention ...

We have the same issue here, would be great to get an update on when this will be implemented, single line multi transitions make me sad ;)

@nicklee @dominique-mueller I haven't had any time to even look at this again recently, if someone wants to work on it and fix it then be my guest. Otherwise it unfortunately will have to wait until I get time again.

@DanPurdy Not a major issue for me, but now that display: grid is widely supported, multiline rules will be incredibly common.

Just to expand on @jhpratt's comment, it's beneficial to have well-aligned, multiline values for the grid-template-areas property in particular. The arrangement of the values is expressive -- you kind of end up with ASCII-art for how your template is laid out:
grid-template-areas: "head head"
                     "nav  main"
                     "nav  foot";

As CSS Grid becomes more popular, I'm sure a lot of the community would find it beneficial to be able to lint for this situation!
Thanks!

That's exactly what I was referring to. Should've spelled it out ─ thanks for that.

Nothing yet? I'm still having the same issue.

Same here, some news?

I have the same issue:
I have temporarily disabled priority 2 but this is not really a fixed bug

Has anyone said it was fixed? I see a lot of people asking for an update but no one actually investigating a solution except a fork by @pmccloghrylaing from 4 years ago.

These days I let prettier handle the alignment rather than trying to deal with this rule.


Failure calling - verify-and-update-price-feeds

#UPDATED
Summary
I am using an updated vaas value and still not able to update the price. See script
https://gist.github.com/cipherzzz/1f457b58c30ecdf34b1474ec0395d267
Response
https://explorer.hiro.so/txid/0xa957ce50d2af061ee57369603a5ad31f08d730ab35722466c652748653941eaa?chain=mainnet

I believe the error is in my failure to RTFD... Sorry. I was using an old vaas

Nevermind, I got the latest vaas and it still fails with the same error.

Hey @cipherzzz, I see that this transaction failed, but the one you've published later succeeded, so I'm assuming you're set up?


Implement Chat protocol for backend

With this work we want to conform our chat protocol to https://github.com/Azure/azureml_run_specification/blob/chat-protocol/specs/chat-protocol/chat-app-protocol.md. The goal is to enable interop between chat frontends and backends.
Similar work was done for the Python version of this sample.
Unique to the C# sample we need to decide what we do about our additional "Blazor Clippy"/Voice chat pages. We're also unique from the Python sample in that we use Azure Functions for data ingestion / uploading your own docs and need to consider the impact here.

@luisquintanilla / @JakeRadMSFT FYI that I've updated the description based off of recent discussions. Let's hammer out the details here in this issue.


Fix package bug

Now npm publish will publish correct package to npm.
Fix #7

will publish later today

You didn't publish, did you?

You didn't publish, did you?

https://www.npmjs.com/package/coc-cl?activeTab=versions
you can check here

It shows coc-zig as a repository for a package, by the way.
Excuse me for asking, but are you going to publish soon?

I may

It shows coc-zig as a repository for a package, by the way.

fixed


Is it possible to output the archive file of a playlist with this syntax: "%(playlist_title)s/downloaded_archive.txt"

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
I want the archive file of my playlist to always be in the directory of where my music is. How to do that? Or is it even possible?
Command:
yt-dlp -i --embed-thumbnail --add-metadata --extract-audio --audio-format mp3 --output "%(playlist_title)s/%(playlist_index)s - %(title)s.%(ext)s" --download-archive "%(playlist_title)s/downloaded_archive.txt" <playlist>

Error:
ERROR: [Errno 2] No such file or directory: '%(playlist_title)s/downloaded_archive.txt'

Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

Have you tried --postprocessor-args NAME:ARGS
I haven't tried it, but perhaps this will work;
yt-dlp -i --embed-thumbnail --add-metadata --extract-audio --audio-format mp3 --output "%(playlist_title)s/%(playlist_index)s - %(title)s.%(ext)s" --download-archive "downloaded_archive.txt" --postprocessor-args "ExtractAudio+mv:-v downloaded_archive.txt %(playlist_title)s/downloaded_archive.txt" <playlist>

--postprocessor-args NAME:ARGS  Give these arguments to the postprocessors.
                                Specify the postprocessor/executable name
                                and the arguments separated by a colon ":"
                                to give the argument to the specified
                                postprocessor/executable. Supported PP are:
                                Merger, ModifyChapters, SplitChapters,
                                ExtractAudio, VideoRemuxer, VideoConvertor,
                                Metadata, EmbedSubtitle, EmbedThumbnail,
                                SubtitlesConvertor, ThumbnailsConvertor,
                                FixupStretched, FixupM4a, FixupM3u8,
                                FixupTimestamp and FixupDuration. The
                                supported executables are: AtomicParsley,
                                FFmpeg and FFprobe. You can also specify
                                "PP+EXE:ARGS" to give the arguments to the
                                specified executable only when being used by
                                the specified postprocessor. Additionally,
                                for ffmpeg/ffprobe, "_i"/"_o" can be
                                appended to the prefix optionally followed
                                by a number to pass the argument before the
                                specified input/output file, e.g. --ppa
                                "Merger+ffmpeg_i1:-v quiet". You can use
                                this option multiple times to give different
                                arguments to different postprocessors.

Or is it even possible?

Not without an external script.
Open feature request #953

Have you tried --exec [WHEN:]CMD

On repeated runs, this suggestion will prevent yt-dlp from actually checking the archive before downloading, and mv would either clobber the existing archive file or fail

This works - beware the quoting of the destination filename!
yt-dlp -i --embed-thumbnail --add-metadata --extract-audio --audio-format mp3 --output "%(playlist_title)s/%(playlist_index)s - %(title)s.%(ext)s" --download-archive "downloaded_archive.txt" --exec "after_video:/bin/cat downloaded_archive.txt | tee -a '%(playlist_title)s/downloaded_archive.txt'" https://youtube.com/playlist?list=PL0vfts4VzfNjQOM9VClyL5R0LeuTxlAR3

A word of caution: using %()s in an --exec arg is NEVER safe -- if the value contains an ' it can escape your quoting and execute arbitary shell commands

A word of caution: using %()s in an --exec arg is NEVER safe -- if the value contains an ' it can escape your quoting and execute arbitrary shell commands

Sure, but that's something that yt-dlp should manage. After all, it's yt-dlp that's expanding the values of any %()s used.

Sure, but that's something that yt-dlp should manage. After all, it's yt-dlp that's expanding the values of any %()s used.

No. You are responsible for how you use --exec. And %()q should always be used, NOT %()s.

Sure, but that's something that yt-dlp should manage. After all, it's yt-dlp that's expanding the values of any %()s used.

No. You are responsible for how you use --exec. And %()q should always be used, NOT %()s.

Ah, so yt-dlp does mitigate those sort of issues by escaping/quoting problematic values that it  expands.
Is there a documented example and explanation of why %()q should be favoured over %()s when using --exec? - I couldn't find anything, other than a passing mention of it in the README.md. :face_with_diagonal_mouth:

https://github.com/yt-dlp/yt-dlp#output-template

More Conversions:

q = a string quoted for the terminal (flag # to split a list into different arguments)

Again, though, you are responsible for how you use --exec. It is basically just running commands with your shell. Your shell's documentation doesn't come with a warning telling you not to rm -rf /


upgrade esprima to esprima-next and fixing spread operator not working

The esprima package has a bug where the spread operator does not work properly on objects (as described in this issue). There is a fork called esprima-next where this issue is fixed.

before this change, object spread operator would not work in the Sprig editor.
So, code like this would thrown an error
const sampleObject = { name: "kyle", age: 23 }
const inheritedObject = { ...sampleObject, bestCar: "Tesla" }

Error:
SyntaxError: Unexpected token ...
    at <game>:131:27


Can I do simultaneous downloads?

Hi!
Im trying to do simultaneous downloads and I got this instancing "FileChunkManager" in each item separately. But when finish first item and call "stopServer" all of the rest download finish too..
Can I do something to avoid stopping the rest of the downloads?

I can answer myself:
Using random number between 1024 - 65535, u can generate a random port number and use it in "port" attribute when start server. This way u can launch multiple downloads with differentes port and stopped them separately.


Reload .gitlab.toml

Thanks for the plugin; it looks promising.
I use a project-per-tab approach and have a lot of different repositories. The problem is that .gitlab.toml is read once at startup in the directory where nvim is started. So, after switching to another tab with a different cwd, the .gitlab.toml in that repository isn't loaded.
Is it hard to implement, or maybe it can be configured already?

Hey Loyd, thanks for filing an issue.
This plugin currently uses a .gitlab.nvim file, not a .gitlab.toml file to configure the server. So, you'd have to reload a different .gitlab.nvim file if you wanted, in order to start a new server.
It seems that you want to be able to run different Gitlab servers when you switch tabs in Neovim, without actually closing Neovim. This is not likely going to be supported in the near future. For now, you'll have to have different instances of Neovim running in different directories if you wanted different reviewers. This is being worked on here:
https://github.com/harrisoncramer/gitlab.nvim/pull/65


Could NOT find TBB (missing: Tbb_LIB_COMPONENTS tbb) (found suitable   version "2019.9", minimum required is "4.4")

I am struggling to compile openvdb on non-amd64 Debian system. Here is a possible local patch for i386 Debian system:
Local patch:
diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake
index bdf9c81e132e..6286319d184e 100644
--- a/cmake/FindTBB.cmake
+++ b/cmake/FindTBB.cmake
@@ -216,6 +216,7 @@ set(TBB_PATH_SUFFIXES

 if(UNIX)
   list(INSERT TBB_PATH_SUFFIXES 0 lib/x86_64-linux-gnu)
+  list(INSERT TBB_PATH_SUFFIXES 0 lib/i386-linux-gnu)
 endif()

 if(APPLE)

Is there a way to make it portable (eg. ppc64el, mips64el, ... ).
Ref:

https://buildd.debian.org/status/package.php?p=openvdb&suite=experimental

@mfvescovi I cannot upgrade openvdb package for now.

FYI:

https://salsa.debian.org/multimedia-team/openvdb/commit/8e49243d28f23123f78b6777e6f9a87ff82b540e

Hi @malaterre,
Thanks for reporting, we can definitely look at making this more portable. dpkg-architecture will only work for debian distros but calling something like uname might work - though I'm not too familiar with all the possible permutations of tbb's installation directories.
Have you also tried using the TBB_LIBRARYDIR variable to manually point our CMake to the location of your tbb lib? Or was this more a request for portability in general?
Cheers

@Idclip - if we accept https://github.com/AcademySoftwareFoundation/openvdb/pull/498, I think we can just use LIBDIR (https://github.com/Kitware/CMake/blob/master/Modules/GNUInstallDirs.cmake#L50)? (note that I just approved that PR).
We'll need to make this change for the find modules for Jemalloc, IlmBase and OpenEXR as well where we do the same hard-coding.
Failing that, I don't mind adding the i386 path as well or using CMAKE_SIZEOF_VOID_P to choose which one to add.

@ldclip I did not realize there was a trick to hint cmake for the location of that library. Currently here is the debian/rules I am using:

https://salsa.debian.org/multimedia-team/openvdb/blob/master/debian/rules

I'll check if there is something to do that is "smarter".
the previous debian package for openvdb was using the Makefile system which seem a bit more natural (or at least more flexible) for me. I'll continue digging into openvdb/cmake for possible simplification. thanks for your time.

@danrbailey

Failing that, I don't mind adding the i386 path as well or using CMAKE_SIZEOF_VOID_P to choose which one to add.

Pay attention that the size of pointer may not be enough information as Debian support quite some "exotic" system:

https://buildd.debian.org/status/package.php?p=openvdb&suite=experimental


[8.x] Add mergeIfExists in Request

This PR aims to provide a way to merge input if only the request fields are existing on the request. This prevents unwanted behavior of merging fields if the field does not actually exist on the request.
Consider this example I encountered in my project. I want to format my birthdate on sql standard format with my local helper sql_date() and the code looks like this.
$request->merge([
  // if birthdate does not exist, it still merges the birthdate with null value
  'birthdate' => $request->birthdate ? sql_date($request->birthdate) : null,
]);

$user = User::find($id);
$user->fill($request->all()); // this overwrite the birthdate with null which is unintended behavior
$user->save();

$request->mergeIfExists([
  // if birthdate does not exist, the birthdate field does not get merged
  'birthdate' => $request->birthdate ? sql_date($request->birthdate) : null,
]);

$user = User::find($id);
$user->fill($request->all()); // birthdate is not overwritten
$user->save();

This can be done using macros but I think it will be beneficial to others so I tried a PR for this.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


window.location.reload() or window.location.href = '...' does not reload the application.

Exokit Version: 0.0.482
OS: Windows 10 x64
I was using webpack and noticed that it did not live reload on changes, so i tried a basic example just using the following;
<html>
<head>
    <script src="https://aframe.io/releases/0.8.2/aframe.min.js"></script>
    <script>
        setTimeout(()=>window.location.href = window.location.href,5000);
    </script>
</head>
<body>
<a-scene>
    <a-entity camera position="0 1.6 0" wasd-controls="fly:true" look-controls></a-entity>
    <a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9"></a-box>
    <a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
    <a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D"></a-cylinder>
    <a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4"></a-plane>
    <a-sky color="#ECECEC"></a-sky>
</a-scene>
</body>
</html>

Glitch:
node . https://heartbreaking-windscreen.glitch.me/

might be duplicate of #434

sure is! ill close this in favor of that. my bad!


cmd/go: reserve example/ and test/ as non-stdlib path prefixes

The go command automatically fetches modules from network hosts, provided that those modules have a path whose first element includes a dot character (.).
First-elements that do not include a dot are, in general, reserved for the standard library and the Go toolchain (see #32819). Some names (std, cmd, all) have a special meaning no matter where they are used. Others (such as archive and debug) are currently standard-library prefixes but not packages, but could be made so in the future (as was done in the case of encoding).
Still others currently have no meaning, but may be assigned a special meaning in the future: for example, I would like to add mod to refer to the main module independent of its path (that would be a separate proposal).
The fact that import paths are required to contain a dot occasionally causes user consternation (#37554, #34592).
I propose that we explicitly reserve the following package paths for user code:

for general use:

local

But not localhost, which we may at some point want to treat as a hostname.

for documentation, tutorials, and bug reports:

example (along the lines of example.com, because it looks more like “something you should replace” than local does)

for tests, especially tests of tools that manipulate modules (and thus need a “clean” module to run in):

test, which we already sort-of use: https://github.com/golang/go/blob/b1a783df87069e395f0fb1a033a685b35d34b2ee/test/bench/go1/go.mod#L1

for module-graph and package-import-graph examples:

main (because it is useful to indicate "the main module", and a package main is not importable anyway), and
any valid module path that consists of a single letter, because we already use those a lot in cmd/go tests.

CC @bronze1man @DisposaBoy @mvdan @jayconrod @matloob @thepudds

Wouldn't main fall in the same category as, or perhaps be confused with, mod?
I'm overall in favor of this proposal. I seem to recall that @rogpeppe uses <IP_ADDRESS> as a module name, because it's a valid hostname and it contains dots, yet it can never be used to reach anything on the internet as it's not a usable IP. However, I have to admit that I too prefer using human-readable names like example or test, and I too have been doing it in tests.
From the tooling perspective, these rules are easy to implement, so that doesn't worry me either. The rules should be well documented, though, and probably alongside #32819.
Do you reckon that any sort of API would be useful for tools here? Similar to https://golang.org/pkg/go/token/#IsKeyword, imagine something like x/mod.IsLocal(path string) bool and x/mod.IsReserved(path string) bool. Their implementations would be pretty trivial, but the big advantage is that if we ever change the rules, we could easily bring the entire ecosystem in sync.

Wouldn't main fall in the same category as, or perhaps be confused with, mod?

Maybe? I'd be fine with omitting it from the reserved names.

Do you reckon that any sort of API would be useful for tools here?

Maybe? I'm not sure who would use them, though: I don't think we should explicitly reject other dotless paths at this point (we can break them if/when we need the name for something else, but if users are confident we'll never use their name I see little harm in letting it persist).
I guess it could be useful for linters..?

(search.IsMetaPackage is what we currently use to enumerate the actually-meaningful non-package paths, but I don't think it covers builtin which is also somewhat special.)

I'll point out a cost of implementing this change, since I don't see it mentioned here so far, is that this will increase the amount of special cases. Special cases need to be documented, taught and learned by all Go users. Users who are not aware of the special cases and run into them accidentally may be surprised.
I think it's a good idea to evaluate how often each special case is expected to be used. For example, the package name main is a special case, and it is used very often, and adds more value than cost. The package name documentation is another special case, but it is used very infrequently, and has a higher cost than value (it was kept because of backwards compatibility reasons).

What would it mean to reserve these paths? I'm guessing a documented promise to never create std packages with those prefixes?
Should we allow dotless paths using reserved prefixes in the GOPROXY protocol?

What would it mean to reserve these paths? I'm guessing a documented promise to never create std packages with those prefixes?

Yep. Specifically, we would apply the Go 1 compatibility policy to the non-existence of these paths in std.

Should we allow dotless paths using reserved prefixes in the GOPROXY protocol?

Not at this time. (We could consider it as a future change, but since these paths explicitly do not have a single source of truth, I don't think they'd be a good fit.)

  * `example` (along the lines of `example.com`, because it looks more like “something you should replace” than `local` does)

What about jusing using example.com and the other existing DNS zones (example, invalid, test) reserved for test and documentation usage? If we already rely on the DNS, why not use its existing conventions for reserved names?

@slrz What you're suggesting is already possible, it does need any work to be completed. Or are you suggesting that as a reason this proposal should not be accepted?

@slrz, IANA made the dubious decision to host an actual server on https://example.com.
While I do use those domains in examples myself, I could reasonably understand someone wanting to avoid them on security grounds: if those servers are ever compromised, they could serve go-import tags that point to malicious code.

Please leave reserve vendor for GOPATH , and remove the GOROOT/src/vendor .
I need to change the go source code when i want to upgrade golang version to make my private project works since version 1.13 (https://github.com/golang/go/issues/34068#issuecomment-540450721)

@bronze1man, vendor has had a special meaning since Go 1.6 (https://golang.org/doc/go1.6#go_command). The ship sailed on reserving that particular prefix a long time ago.

Hi @bcmills, overall, I like the proposal.
Do you think the main use cases could be addressed by picking just one?
For example, maybe just pick local, or some other singular choice? That might help keep the number of special cases smaller.
People could still then use hierarchy underneath local to perhaps address the other ones you listed (e.g., local/test, local/example, local/main, or local/foo and local/bar if desired).

@thepudds, just local could suffice. I suggested the others as well in the interest of maintaining semantic appropriateness.
For example, an “example” module in a tutorial is not really “local”. Someone following the tutorial might not understand local as a keyword that needs to be replaced with a non-local path prefix (or, really, any prefix that is not literally local), whereas the word example more clearly indicates a placeholder to be substituted by the reader.

@bcmills I think local and all single letter should be suffice.
Please do not make those reserve path prefixes can be relative resolve like vendor or ./x , it will make it difficult to find the actually package location.
GOPATH/src/local/ep and GOPATH/src/m/tmp and GOPATH/src/c/tmp looks local for me. And a single letter should be easy for different usage to end users.
Like:

GOPATH/src/m for fast execute package from command line.
GOPATH/src/c for project level config
GOPATH/src/t for project level test
GOPATH/src/l for private library only for this project.

Just as a data point, I often use foo as a temporary local module path.
$ mkdir /tmp/foo
$ cd /tmp/foo
$ go mod init foo
$ go get github.com/llir/llvm/ir
$ cat go.mod
module foo

go 1.14

require github.com/llir/llvm v0.3.0 // indirect

If prefixes were to be reserved, I'd echo @dmitshur's reflection that these special cases would need to be documented, and having many special cases increase the learning cost. As such having a very clear rule, e.g. local can be use by whoever, where ever (with arbitrary sub-directories; local/foo). All other module paths where the first element does not contain a . character are reserved for the Go standard library/project.

Let's officially reserve example and test and stop there.
That is, we would commit that we will never add $GOROOT/src/{local,example,test}
to the main tree: there will not be packages with those names, nor packages
in subdirectories of those names.
Let's not do the single-letter thing. It's fine for us to do that ourselves,
and I certainly do 'echo module m >go.mod' every time I want to play with something,
but internal tests and ephemeral things don't need a long-term guarantee.
For things that need a long-term guarantee, it is reasonable to ask people to
use longer names, and I think example and test pretty much cover the use cases.
I don't understand the need for local, or else I disagree that it's a good use.
For a long-term use, it's better to use a domain name or other prefix you control.
For example inside Google all the paths begin with "google3/" (long story).
It's not a domain name, but it's also not a name that is going to end up in the
standard library and cause a conflict. Most company names have the same property,
so if you wanted to avoid using a domain name for some reason, your company
name is exceedingly unlikely to end up in the standard library unless it is a
generic word. More importantly, another company is exceedingly unlikely to use
the same name for their paths, so there's no problem when you need to start
sharing code with them (or buy them or are bought by them or whatever).
Similar problem happens sometimes with the reserved IP spaces.
(Even if we promise not to use local/, what if you use local/ for all your stuff
and you acquire a company that also uses local/ for all their stuff?
Better to use real prefixes for real code.)

Are there any objections to "Let's officially reserve example and test and stop there."?

Reserving test and example sgtm. I also agree that local isn't a clear benefit to my mind, partially because it can be easily confused with localhost.
@rsc one that you didn't include and didn't mention why is main. Could you clarify that bit?
I have to admit that main is a bit niche compared to test and example, though. I can see it being useful for testing cmd/go itself, since making the distinction between the main module and other modules can be very important to keep a test readable. However, one could imagine naming a module test/main, or example/main for an example, and I think we would accomplish the same goal. In a way, it mirrors Go's already present support for tests and examples.

example and test seem like a reasonable enough start. (If we find that's not sufficient, it's easier to add reserved paths than to remove them.)

Are there any objections to "Let's officially reserve example and test and stop there."?

I'm open to being overruled on this, and I don't think this is a very significant change either way, but I would object at this moment because based on my evaluation of this proposal, the value it adds is too low compared to the cost of introducing this change.
The advantages of going with the suggested resolution, as I currently perceive, include:

Some modules that don't need to be downloadable from the internet and want to have a very stort module path will be able to shorten the module path by 2 or more letters (e.g., module m.test -> module test or module example.com -> module example).

The costs of going with the suggested resolution, as I currently perceive, include:

It creates a change that causes the addition of two Go-specific special cases when it comes to import paths that need to be learned  and kept in memory over time.
These special cases will affect and will need to be kept in mind both by developers and users of Go. Developers will need to remember not to use example or test as a prefix for a new Go standard library package (packages are added infrequently). Users will need to remember that example and test are safe to use, but examples or tests is not. Whenever someone uses this feature in a CL, the reviewers will be forced to learn about it. That means either this feature will never be used in modern practice (similar to the package documentation special case), or eventually all existing and future Go users will need to learn and remember this, and all future Go users will need to learn and remember this.

I think there would be a much stronger need for this proposal if the reserved TLDs .example, .test, .invalid, and .localhost did not exist. Given they do exist since 1999¹ and can be used by continuing to use the convention of using a URL for an import path, without introducing Go-specific special cases that need to be taught and learned, I think the incremental benefit offered by reserving "example" and "test" module path prefixes are not worthwhile.
¹ https://tools.ietf.org/html/rfc2606#section-2

My main hesitation about depending on the TLDs is that example.com was supposed to be the reserved name, and yet example.com has a web page. That means that go module examples using example.com make HTTPS requests. I don't trust the IETF not to create web pages for the other "reserved" TLDs.
The only thing we promise by reserving example/ and test/ is that we will never create those two directories in $GOROOT/src/. That is, there will never be a standard library package named example or example/x or test or test/x.

(That is, there's no implementation work here, just a promise not to create certain standard library package paths.)

Retitled. Based on the discussion above, this sounds like a likely accept.

No change in consensus, so accepted. This is a documentation-only change, so it could be done for Go 1.15 still.

This is a documentation-only change,

Perhaps you meant this implicitly, but I think there should also be a test (or equivalent automated mechanism) that would detect if a future CL accidentally forgets about this policy. We shouldn't rely only on human reviewers for this.

given that these are reserved names, should a better error be returned? compare
» go build
main.go:3:8: package example is not in GOROOT (/home/arccy/sdk/gotip/src/example)

» go build
main.go:3:8: no required module provides package example.com; to add it:
	go get example.com

Sorry, this is a bit late, but I presume "local" would behave the same as "_" in #37554 (ie as I have been using for all my local-only modules for a while now)? I prefer the shorter version, but as long as it worked the same as "_" (ie no network lookups) I'd be content I believe.


dart io websocket done not called when client disconnects

I am unable to check when a WebSocket client has disconnected. This is my server code:
import 'dart:io';

class VersusServer {
  Future<void> run() async {
    final PORT = 7171;

    var server = await HttpServer.bind(InternetAddress.loopbackIPv4, PORT);
    server.forEach(_handleRequest);
    print('Server listening on port $PORT.');
  }

  void _handleRequest(HttpRequest request) async {
    if (request.uri.path == '/ws') {
      var socket = await WebSocketTransformer.upgrade(request);
      print('someone connected');

      // MARK: this is the part I am trying to listen to disconnect
      socket.done.then((value) => print('someone disconnected'));
    }
  }
}

Even when the client is closed socket.done does not resolve. Is there anything I am doing wrong or is it a problem with WebSocket?

I updated Dart and now it is working.
Dart VM version: 2.8.4 (stable) (Wed Jun 3 12:26:04 2020 +0200) on "macos_x64"

OK. Thank you for confirming it works with the latest dart. Be sure to let us know if there's any future problems.


wrapping function in parentheses

I was wondering if there could be a rule for forcing parenthesis on functions if they are followed by a dot.
It seems there is one for immediately invoked function expressions. but when I use bind it does not throw any exception
// this is valid
var binded = (function() {
  // do stuff
}).bind(this);

// this is valid
var unbinded = function() {
  // do stuff
};

// this is invalid style
var binded = function() {
  // do stuff
}.bind(this);

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/26292972-wrapping-function-in-parentheses?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github).

We released 3.0 recently! We also wrote a post about how 3.0 will be our last major release (since we are deprecating the project) and that we are merging with ESLint!
Thus we won't be working on any new features moving forward which includes new rules/options. We will continue to fix bugs and work on CST/better autofixing for current rules in the upcoming months both to help JSCS users and to gain experience that we can hopefully use in ESLint. But otherwise we both teams will be working on getting ESLint feature parity with JSCS and just a nice transition for our users.
I'm putting an orphaned label to note this issue isn't planned to be worked on, but might be a good contribution as a custom rule (not in JSCS core itself).
I would encourage anyone who wants the rule to try writing it themselves: I would either write a custom rule or submit an issue to ESLint and if accepted a PR. Otherwise a custom rule that won't be in core repo itself.
JSCS rules are also very similar to ESLint rules: here are some resources to get started:

Project-specific Lint Rules with ESLint
Creating Custom Rules for ESLint
Maintaining JavaScript Code Quality with ESLint


Pre-Populating Field with altInput Format not woking

Hi there,
it seemls like pre-populating a datefield is not working if an altFormat is specified:
config = {
altInput: true,
locale: 'de',
enableTime : true,
altFormat : 'd.m.Y u\m H:i',
time_24hr : true
};
If a manually add i.e.  "15.02.2020 um 14:00" as preset value, i always get "<IP_ADDRESS>0 um 00:00" so the time-part is not working.
Is this a bug or what could be the cause of this? There is nothing mentioned in the docs regarding this problem.
Environment:

flatpickr version used: 4.5.2
Browser name and version: Chrome, Windows 10

Thanks, Daniel

@petewulf this happens because dates are prepopulated using dateFormat. You can add a dateFormat option identical to altFormat and it will work. However, at that point you may as well not use altInput :)
P.S. I personally always use dateFormat: "Z" - the ISO8601 date string - along with altInput for a more human display.

Closing due to inactivity, assuming problem is solved


IHostedService Under Load Balancer?

IHostedService Under Load Balancer
I read below line
"you can even make sure that it runs a single instance of that microservice process/container." but its confusing
I have multiple container and instance of my service under load balancer.
will this background job run in all instance or one among them??
if no how multiple instance inform that background process already started.
[edited by gewarren to add document details]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d49a03c0-a844-26eb-48a5-33a612dd3ead
Version Independent ID: 0707865f-9db7-0d71-42a5-bc1a1e89680a
Content: Implement background tasks in microservices with IHostedService and the BackgroundService class
Content Source: docs/architecture/microservices/multi-container-microservice-net-applications/background-tasks-with-ihostedservice.md
Product: dotnet-architecture
Technology: microservices
GitHub Login: @nishanil
Microsoft Alias: nanil

any one has any idea about my question ts been week i m stuck in one place

@nishanil ping


Update Schema Documentation WIki: NamedPipe

Update public schema documents to cover NamedPipe information being used.  Reference CobaltStrike sighting.
Those fields are not documented.
           {
              "behavior": "Connected to default Cobalt Strike named pipe (MSSE-*).",
              "id": "621ca01e-7e2c-47e6-80a3-2a23d58a2c92",
              "type": "NamedPipe Connected",
              "pipeName": "\\\\\\\\.\\\\pipe\\\\MSSE-5861-server",
              "parentProcess": [
                 "\\\\\\\\#{IP}\\\\ADMIN$\\\\e10a2f3.exe"
              ],
              "notes": [
                 "NamedPipes are an inter-process communication mechanism on Windows.",
                 "NamedPipe traffic that goes host-to-host is encapsulated within the SMB protocol.",
                 "NamedPipe name pattern 'MSSE-[0-9]{4}-server' is one of the default NamedPipes used by Cobalt Strike."
              ]
           },

If this is documented, close the issue


error: "You must pass in a valid --max option"

Input:
./node_modules/.bin/es-import-bulk --url http://xxxxxx --file index.json --max 1000

Output:
error: "You must pass in a valid --max option"

Installation:
npm install  elasticsearch-tools

Max argument is valid intiger.

Thanks for logging this.  I remember running into this a few months ago, but thought I had fixed it.  I might have only fixed it locally.  I'll push a fix for this later today when I get a few minutes to look at it.


preparations for js-ipfs 0.29.0

I've run the tests of this module in preparation for https://github.com/ipfs/js-ipfs/issues/1320.
All of the tests pass, however, note that the PubSub API did change, consider updating carefully. See change log in the release issue https://github.com/ipfs/js-ipfs/issues/1320

Thank you @diasdavid for the heads up, wasn't able to pull this one in, but we're now up to date with the latest (as per https://github.com/orbitdb/ipfs-log/issues/129).


correct spelling of following from "nollowing"

            No following

change the section caption from (nollowing to following) in  sourcerer.io


Documentation for AudioContextConfig.respectSilence is backwards?

Checklist

[X] I read the troubleshooting guide before raising this issue
[X] I made sure that the issue I am raising doesn't already exist

Current bug behaviour
The docs for respectSilence at https://github.com/bluefireteam/audioplayers/blob/6cd5656c0c5deaab1fb4af78a5b7632402c3a1d3/packages/audioplayers_platform_interface/lib/src/api/audio_context_config.dart#L47-L48 sound backwards: the property named respectSilence, whose default value is false (i.e. it DOES NOT respect silence) should result in the audio being played even in silent mode of the device; the docs state the contrary.
Or maybe the property name is incorrect?
Working on PR
yeah (if it means updating the docs)

Yes I think the explanation is a bit confusing, see also the test description: https://github.com/bluefireteam/audioplayers/blob/6cd5656c0c5deaab1fb4af78a5b7632402c3a1d3/packages/audioplayers/example/integration_test/lib_test.dart#L117
Maybe sth like this (?)
By default (false), means the audio will be played, even if is on silent mode.

If enabled and the device is on silent mode, the audio will not be played:

Yes, this makes perfect sense to me now. Should I create a PR or are you on it already? (I suppose that you fixing the docs will be much less work than you reviewing the PR by my?)

Just go on, we love Merge requests from the community :)


Improve about screen accessibility

Issue

no issue

Overview (Required)

Grouped items for easy reading in TalkBack.

Links

none

Screenshot
Logo

Before
After

AppVersion

Before
After

@yukilabo Thank you for your work! we'll check it 👀


Does mongo-arrow provide real zero copy in the chain mongodb->arrow->pandas?

.. or zero copy appear only between arrow->pandas but not here mongodb->arrow?
In other words are arrow data types used in mongodb?

The MongoDB -> Arrow portion is not zero copy. This library translates (copies) MongoDB's BSON document result structure into Arrow's data format. There are no native Arrow types in MongoDB. Alternatively, the app can store Arrow data as opaque BSON binary data in MongoDB but then the app looses the ability to query the data.

The MongoDB -> Arrow portion is not zero copy. This library translates (copies) MongoDB's BSON document result structure into Arrow's data format. There are no native Arrow types in MongoDB. Alternatively, the app can store Arrow data as opaque BSON binary data in MongoDB but then the app looses the ability to query the data.

Thanks a lot!
Do you know if there are plans to make something like Arrow backend in MongoDB to store all documents internally in Arrow structures as it was made in pandas 2.x and in Spark?
PS. My original question was caused by use case of batch processing of data stored in MongoDB by logic expressed in pandas. Try to find some light-weight alternative to popular solution like Spark+pandas_udf (which uses Arrow end-to-end: Spark->Arrow->pandas).

Hi @sergun, following up, no, there are no plans to change the storage format on MongoDB for alternate formats.


[incubator/sparkoperator] Upgrade version to v2.4.0-v1beta1-0.8.2

What this PR does / why we need it:
Upgraded the version of sparkoperator to v2.4.0-v1beta1-0.8.2.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @yuchaoran2011

/lgtm

@liyinan926 Thanks for pushing the fix!


Update grammar for Coq

This update is supposed to fix the issue reported here: https://github.com/mkolosick/Sublime-Coq/issues/5

Thanks @Zimmi48 - we actually update the grammars automatically on each release of Linguist. I'll be releasing a new gem later today (hopefully).


"Pielești" , "Câmpeni" , "Lânga" are listed in the drop-down menu

Description:
When user writes ”Pielești" , "Câmpeni" , "Lânga" the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Pielești"

Expected results
The location appears in the drop-down menu as "Sat Pielești, DOLJ (Pielești)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Câmpeni"

Expected results
The location appears in the drop-down menu as "Sat Câmpeni, DOLJ (Pielești)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Lânga"

Expected results
The location appears in the drop-down menu as "Sat Lânga, DOLJ (Pielești)".


modify h.js for more understandable code

use flatten function and object spread to make h.js code more standardable : )

@jabez128 Thanks! I still haven't added any tests, so this change may break something! 😞
Maybe you can help porting some of the tests from HyperApp? The catch is I don't want to use jest, instead I'd like to see how hard would it be to get the same functionality with just tape.
I'd consider other test frameworks as well!

@jbucaran ok, i'll try add some unit test with tape test framework : )

@jabez128 We are 100% test covered now, but I am still going to close here. I feel h is already as minimal and simple as it can be.