Please add default support for Azure endpoints

Please add support to support OpenAI endpoints from Azure.
Thank you

Currently, you can use a custom api endpoint in the api settings. Is the Azure endpoint not working as a custom endpoint?

Currently, you can use a custom api endpoint in the api settings. Is the Azure endpoint not working as a custom endpoint?

It seems that Azure's API specification requires sending the key with "api-key: TOKEN" in the header instead of "Authorization: Bearer TOKEN". Therefore, even if you set up the Azure endpoint, it will result in a 401 unauthorized error.

In addition, here is an example - we need to include the engine parameters:
response = openai.ChatCompletion.create(
engine="researchProject",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
{
"role": "assistant",
"content": "Yes, customer managed keys are supported by Azure OpenAI.",
},
{
"role": "user",
"content": "Do other Azure Cognitive Services support this too?",
},
],
)

We will add support for the api-key: TOKEN in the headers for azure endpoints. I believe that the engine parameter is for the python usage method. In the REST method, there is no engine parameter.

Hi, thanks for adding that!  We recommend you to check your free API endpoint.

I am sure that the API Key and Endpoint is correct on my end.
I think the issue is specifically in the Rest code below and it is in the example of the Rest on the website
curl $OPENAI_API_BASE/openai/deployments/gpt-35-turbo/chat/completions?api-version=2023-03-15-preview
-H "Content-Type: application/json"
-H "api-key: $OPENAI_API_KEY"
-d '{"messages":[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},{"role": "user", "content": "Do other Azure Cognitive Services support this too?"}]}'
I should be able to insert the gpt-35-turbo and api-version=2023-03-15-preview from the frontend of BetterGPT.
The gpt-35-turbo is the deployment name and that is different for different users and similarly with the api-version, that is different.
On the BetterChatGPT frontend these fields can be added for Azure?
Thanks again.

You can try adding the entire thing $OPENAI_API_BASE/openai/deployments/gpt-35-turbo/chat/completions?api-version=2023-03-15-previe to the custom endpoint.

We will add support for the api-key: TOKEN in the headers for azure endpoints. I believe that the engine parameter is for the python usage method. In the REST method, there is no engine parameter.

Thank you for your work. I have confirmed that it works without any issues using the Azure OpenAI Service endpoint.

Do it support chat completions api?

keep show error when use $OPENAI_API_BASE/openai/deployments/GPT4/chat/completions?api-version=2023-06-01-preview
It is working for my own python script with this api url

看code似乎是因为 model name 写死了..., azure api的deployments_id 不是确定的.
我们GPT4只能部署一个model, 我没办法改名字了


Allow restoring currently running rtc (lost time on initialization)

Hi, I came across a problem when using the Rtc.
The problem is that if the microcontroller is reset, some time will be lost due to the reinitialization of the oscillator.
In order to solve this, I added methods restore_or_new, restore_or_new_lsi, restore_or_new_hse.
These methods check whether the rtc is enabled and the source is correct. If this is the case, the initialization is skipped.
After testing this, (for now, only with lse) it worked as intended, no time was lost anymore and the rtc was still counting.
What do you think about this? Are there any other things needed to be done, or should I change the behavior somehow?

Maybe some example of usage?

Maybe some example of usage?

I could add that.
But just in case it's not clear: This should just replace the Rtc::new, and the difference is that the Rtc won't be reset, when it's already running (in case the battery is connected and it was already initialized). The previously selected frequency should remain intact as well.
Maybe I should also let the user know whether the Rtc is restored, or initialized, as that could allow for something like this:
let rtc = match Rtc::restore_or_new(...) {
  Restored(rtc) => rtc, // The rtc is restored from previous configuration
  New(rtc) => { // The rtc was just initialized, the clock source selected, period is one second
    // Initialize the rtc with desired parameters
    rtc.select_frequency(2.Hz());
    rtc
  }
};

or
let (rtc, rtc_restored) = Rtc::restore_or_new(...);
if !rtc_restored { // The rtc was just initialized, the clock source selected, period is one second
  // Initialize the rtc with desired parameters
  rtc.select_frequency(2.Hz());
}

(not sure which one makes more sense)
I imagine that "restoring" should be the dominant usecase, as users probably don't want to have their time lack behind when resetting. And in case battery is not connected, the rtc will be initialized again. I am surprised that something like this was not implemented so far, maybe people weren't using this crate for something that needed persistent clock so far?

You can add these examples in documentation of rtc module and/or existing example/rtc.rs

squash commit, please

Right, sorry about that.

bors r+

bors r+


No sourcefile available when debug gem is required inside an eval and breaking into the debugger inside

Your environment

ruby -v: ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-linux]
rdbg -v: rdbg 1.4.0

Describe the bug
I decided to try out the new debug gem bundled with ruby 3.1.0, but it looks like I did too much black magic with how I load my code and it broke. I'm not 100% sure this is valid usage of this gem though, so feel free to close this issue if it is invalid.
To Reproduce
I have two files, a.rb:
require 'debug'
def foo; binding.debugger; end

and b.rb:
eval File.read('a.rb'), binding, 'a.rb'
foo

Running ruby b.rb, I get:
# No sourcefile available for a.rb
=>#0    Object#foo at a.rb:2
  #1    <main> at b.rb:2

If I require debug in b.rb, it works. If I use require_relative 'a' instead of File.read+eval, it works. If I require debug in a separate eval in b.rb, it also works. So does ruby -rdebug b.rb, and rdbg b.rb, obviously.
Expected behavior
It should display the source properly:
[1, 2] in a.rb
     1| require 'debug'
=>   2| def foo; binding.debugger; end

Additional context
Sorry.

Thank you for your report. I'll investigate it.
BTW binding.debugger you only use debugger.

Ah, this is from Ruby 3.1 changes. I'll fix it soon (maybe in Jan).

I was curious about this so spent a little time investigating.
@ko1 do you think this is happening because the TracePoint.new(:script_compiled) call occurs after the file a.rb has already been loaded? So the debugger can't see the script as it has already been compiled?
Also, as an aside, while investigating this I found TracePoint.trace which looks like a helper method that does both the TracePoint.new and TracePoint.enable calls, and could be used in the :script_compiled case as well as a few other spots in the codebase. Let me know if it would be useful for me to make that PR.

Your investigation is correct. However, if a file name is given for eval method, debugger should try to check the given file name (and if debugger can find a file, debugger should show the existing file). #544 fixes it.


Spritebatch and Shaders disordering.

Hello, I've opened the following issue: https://github.com/libgdx/libgdx/issues/2367
It was then closed and I reposted and got no response from it.
I don't know exactly if I was supposed to create a new issue or not, sorry if wasn't. So, could someone clarify these points?
I would be very glad.
Thank you.
The actual comment I posted on the previous issue ->
I think there is something pretty strange with the behavior of the framebuffer. I tried to boil it down for testing and I apparently found a new issue.
The blending functions here are the same I used on my game (http://www.mediafire.com/download/x7qqa3z5h4ilbsu/jogo37_frameskip=10-shadow=true.jar), which is running fine on windows.
The code went like that:
final static String VERT =
		"attribute vec4 "+ShaderProgram.POSITION_ATTRIBUTE+";\n" +
		"attribute vec4 "+ShaderProgram.COLOR_ATTRIBUTE+";\n" +
		"attribute vec2 "+ShaderProgram.TEXCOORD_ATTRIBUTE+"0;\n" +

		"uniform mat4 u_projTrans;\n" +
		" \n" +
		"varying vec4 vColor;\n" +
		"varying vec2 vTexCoord;\n" +

		"void main() {\n" +
		"	vColor = "+ShaderProgram.COLOR_ATTRIBUTE+";\n" +
		"	vTexCoord = "+ShaderProgram.TEXCOORD_ATTRIBUTE+"0;\n" +
		"	gl_Position =  u_projTrans * " + ShaderProgram.POSITION_ATTRIBUTE + ";\n" +
		"}";

final static String FRAG =
		//GL ES specific stuff
		  "#ifdef GL_ES\n" //
		+ "#define LOWP lowp\n" //
		+ "precision mediump float;\n" //
		+ "#else\n" //
		+ "#define LOWP \n" //
		+ "#endif\n" + //
		"//texture 0\n" +
		"uniform sampler2D u_texture;\n" +
		"\n" +
		"//our screen resolution, set from Java whenever the display is resized\n" +
		"uniform vec2 resolution;\n" +
		"\n" +
		"//screen color RGB(Intensity)\n" +
		"uniform LOWP vec4 ambient; \n" +
		"\n" +
		"//\"in\" attributes from our vertex shader\n" +
		"varying LOWP vec4 vColor;\n" +
		"varying vec2 vTexCoord;\n" +
		"\n" +
		"//RADIUS of our vignette, where 0.5 results in a circle fitting the screen\n" +
		"const float RADIUS = 0.75;\n" +
		"\n" +
		"//softness of our vignette, between 0.0 and 1.0\n" +
		"const float SOFTNESS = 0.75;\n" +
		"\n" +
		"void main() {\n" +
		"	//sample our texture\n" +
		"	vec4 texColor = texture2D(u_texture, vTexCoord);\n" +
		"		\n" +
		"	//1.  GRAYSCALE\n" +
		"	\n" +
		"	//convert to grayscale using NTSC conversion weights\n" +
		"	float gray = dot(texColor.rgb, vec3(0.299, 0.587, 0.114));\n" +
		"	\n" +
		"	//create our sepia tone from some constant value\n" +
		"	vec3 sepiaColor = vec3(gray) * ambient.rgb;\n" +
		"		\n" +
		"	//again we'll use mix so that the sepia effect is at somewhere\n" +
		"	texColor.rgb = mix(texColor.rgb, sepiaColor, ambient.a);\n" +
		"		\n" +
		"	//final colour, multiplied by vertex colour\n" +
		"	gl_FragColor = texColor * vColor;\n" +
		"}";

@Override
public void resize(int width, int height) {
	oc.setToOrtho(false, width, height);
	batch.setProjectionMatrix(oc.combined);
}
@Override
public void create(){
	shader = new ShaderProgram(VERT, FRAG);
	batch = new SpriteBatch();
	frameBuffer = new FrameBuffer(Format.RGBA8888, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);
	oc = new OrthographicCamera();
	oc.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
}
public ShaderProgram shader = null;
public SpriteBatch batch = null;
public FrameBuffer frameBuffer = null;
OrthographicCamera oc = null;
@Override
public void render() {
	Gdx.gl.glClearColor(0f, 0f, 0f, 0f);
    Gdx.gl.glClear(Gdx.gl.GL_COLOR_BUFFER_BIT);

    Texture mario1 = new Texture(Gdx.files.internal("data/mario.png")),
    		mario2 = new Texture(Gdx.files.internal("data/mario.png")),
    		mario3 = new Texture(Gdx.files.internal("data/mario.png")),
    		mario4 = new Texture(Gdx.files.internal("data/mario.png")),
    		mario5 = new Texture(Gdx.files.internal("data/mario.png")),
    		mario6 = new Texture(Gdx.files.internal("data/mario.png"));

    shader.begin();
	shader.setUniformf("ambient", 1.2f, 1.0f, 0.8f, 1.0f);

	batch.setBlendFunction(GL20.GL_SRC_ALPHA,
            GL20.GL_ONE_MINUS_SRC_ALPHA);
	Gdx.gl20.glBlendFuncSeparate(GL20.GL_SRC_ALPHA,
            GL20.GL_ONE_MINUS_SRC_ALPHA, GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);

	batch.setProjectionMatrix(oc.combined);

	batch.begin();

	//1
    batch.draw(mario1, 0, 0);

    frameBuffer.begin();

    //2
    batch.draw(mario2, mario1.getWidth(), 0);

    batch.setShader(shader);

    //3
    batch.draw(mario3, mario1.getWidth()*2, 0);

    batch.setBlendFunction(GL20.GL_SRC_ALPHA,
            GL20.GL_ONE); //ignore the batch blend function
    Gdx.gl20.glBlendFuncSeparate(GL20.GL_SRC_ALPHA,
            GL20.GL_ONE, GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);

    //4
    batch.draw(mario4, 0, mario1.getHeight());

    batch.setBlendFunction(GL20.GL_SRC_ALPHA,
            GL20.GL_ONE_MINUS_SRC_ALPHA); //ignore the batch blend function
    Gdx.gl20.glBlendFuncSeparate(GL20.GL_SRC_ALPHA,
            GL20.GL_ONE_MINUS_SRC_ALPHA, GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);

    Sprite fB = new Sprite(frameBuffer.getColorBufferTexture());
    fB.flip(false, true);
    batch.draw(fB, 0, 0, frameBuffer.getColorBufferTexture().getWidth(), frameBuffer.getColorBufferTexture().getHeight());
    frameBuffer.end();

    //5
    batch.draw(mario5, mario3.getWidth(), mario1.getHeight());

    batch.setShader(null);

    //6
    batch.draw(mario5, mario3.getWidth()*2, mario1.getHeight());

    batch.end();

	mario1.dispose(); mario2.dispose(); mario3.dispose(); mario4.dispose(); mario5.dispose(); mario6.dispose();
}

@Override
public void pause() {

}

@Override
public void resume() {
	// TODO Auto-generated method stub

}

@Override
public void dispose() {
	// TODO Auto-generated method stub

}

And I get this (look, only the mario 5 and 6 are being "rendered").
http://s15.postimg.org/qifzzor23/mario1.png
when I take the frameBuffer.begin() and frameBuffer.end() lines and remove them, I get this:
http://s28.postimg.org/6dtbws1yl/mario1.png
Where all marios appear on the screen.
By removing the blendfunctions, all of them, and also keeping the frameBuffer.begin() and frameBuffer.end(). I get this:
http://s21.postimg.org/q71ziamsn/mario1.png
Mario 1, 2 and 3 do not appear.
Is this supposed to happen?
If I shift the frameBuffer.being() priorly to the batch.being(), I also get the same previous screen.
If I keep the blendfunctions deleted and the lines frameBuffer.begin() and frameBuffer.end() intact and I dont use the shader, then I get the following result:
http://s29.postimg.org/nb5aaub5z/mario1.png
My question is: Is that supposed to happen? Mario 1, 2, 3 and also 4 not being rendered? If so, why that?
Thank you in advance.
PS.: I was running on a windows 8 for now.
Heres the mario png if necessary: http://s30.postimg.org/qvhwvvt35/novo.png
PS2.: Libgdx 1.3.1

Closing this out as there's no further activity.


Status code errors become warnings

400 and 500 status codes aren't "errors", they can be perfectly valid responses. A client checking if a product exists in a store with a GET doesn't want an error logged when it doesn't.

Do you? :P

@dlebech on a more Conversio-selfish note, I'm trying to get rid of these https://rpm.newrelic.com/accounts/895456/applications/8575264/traced_errors/2a036d6f-e48b-11e6-b863-f8bc124250a8_1032_2421?tw[end]=1485519819&tw[start]=1485516219


[WIP] turn Makie into a mono repo with all backends etc

After realizing, that with MakieRecipes + MakieCore we'll have two new core packages, that will get releases in lockstep with the other packages, @jkrumbiegel and I realized that it's maybe time to create a Makie mono repo, which would solve lots of problems.
I didn't realize this was easily possible in Julia, but after some digging it seems like julia 1.5 has fairly solid support for it :)

[x] merge packages
[ ] update CI scripts to make sense
[ ] update readmes
[ ] update docs
[ ] auto tag all touched sub repositories on merge to master
[ ] manually update urls in registry

Just curious, what does this mean with respect to a lightweight recipe package, i.e., ￼￼https://github.com/JuliaPlots/Makie.jl/issues/996?

Good news it means ;) You could almost say, that #996 triggered this, since I wanted to add MakieRecipes + MakieCore, without having greater maintenance burden for tagging packages etc.


WIP: enable test suite

Something that was tricky in the staged-recipes PR.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

It seems even the non-cuda test suite fails on the absence of a GPU?
E         File "$PREFIX/lib/python3.9/site-packages/torch/distributed/rpc/backend_registry.py", line 211, in _tensorpipe_exchange_and_check_all_device_maps
E           raise ValueError(
E       ValueError: Node worker0 has source devices with invalid indices in its device map for worker1
E       device map = {device(type='cuda', index=0): device(type='cuda', index=1)}
E       device count = 0

It seems even the non-cuda test suite fails on the absence of a GPU?
E         File "$PREFIX/lib/python3.9/site-packages/torch/distributed/rpc/backend_registry.py", line 211, in _tensorpipe_exchange_and_check_all_device_maps
E           raise ValueError(
E       ValueError: Node worker0 has source devices with invalid indices in its device map for worker1
E       device map = {device(type='cuda', index=0): device(type='cuda', index=1)}
E       device count = 0

(I'm only loosely attached to fairscale these days, cc @anj-s for a more up to date perspective) It's very possible that most of fairscale is not very useful without a GPU indeed, and that as a consequence most tests do require one.

It's very possible that most of fairscale is not very useful without a GPU indeed, and that as a consequence most tests do require one.

Thanks for chiming in! In that case, I need to wonder if a CPU-only package of fairscale even makes sense? I mean, yes, I can skip GPU specific tests, but that's a game of whack-a-mole that's not fun to play.
Have you considered using the new python-wrappers for cuda from NVIDIA that recently reached general availability? This would presumably be an excellent tool to use to determine dynamically whether the GPU can actually be used.
@anj-s, what would you think about adding a check (possibly conditional on its availability) that the GPU tests are only run in the drivers & GPU can be found?

Alrighty! This is starting to look much better! :)
Linux passes, OSX has a few failures - as far as I can tell from a quick look, all are due to RuntimeError: Error on Node 0: Can't find class id in custom class type map

To move on with #2, I'm going to merge this now without testing osx (which is not great but builds have already been published anyway), and will open another PR afterwards.

Thank you for the pointer to the wrapper! Is it somehow different than using PyTorch's torch.cuda.is_available?

Sorry, I don't know the difference, but my suspicion is that the cuda-python one goes deeper (and is therefore probably more accurate), as it's built by NVIDIA itself.

From what I understand, we skip tests if GPUs are not available at least on circleCI. Are you seeing something different?

The comment you were responding to was already outdated; after the release of 0.4.3 (#4), I rebased this feedstock and the test suite passed on linux. After merging this PR, I then rebased #2, which also passed the test suite (despite not having GPU hardware). I'm quite happy with that, but you're more than welcome to download the GPU artefacts from conda-forge and report back if anything isn't working as intended. 🙃


allow loading schemas from files with any extension

should fix #11 and #13

Coverage increased (+0.1%) to 92.308% when pulling 2bb4ba23a8f2d536ce0e5d2b8a9725285b3b18f9 on andreineculau:diff-ext into ee006968a8114d38e7601c25161a0061b461da93 on jessedc:master.

I think it's a bit rough approach?... I'd only require .js files and parse everything else and report errors if it doesn't parse rather than throw exception.
If JSON file has syntax error it would simply throw.

not only that would be a breaking change since today I can pass on "path/to/schema" as an argument and the require call would find "path/to/schema.js" and load that instead (similarly, since you give the option of loading node modules, I would prefer to write schemas in coffeescript, and just run ajv-cli via node -r coffee-script/register path/to/bin/ajv-cli.js), but that's also a different improvement altogether

Yes, it makes sense. I guess what I really didn't like is that it would have to parse JSON file twice to understand there is an issue with it... Also try inside try looks a bit weird.
I think the breaking change could be to explicitly specify via some option that require has to be used rather than JSON.parse. E.g. use -S (or -D) for require and -s/-d for JSON parse

in 0.9.0


Stencil support

Let's get started on stencils (required for urgent HPAT features). I created a branch called stencil for a quick first iteration. Here is an example code for start:
@numba.njit(parallel=True)
def f(A, B):
    numba.stencil(A, B, lambda a: 0.25 * (a[0,1] + a[1,0] + a[0,-1] + a[-1,0]))
    return B

@ninegua @DrTodd13

For reference, the API we had in ParallelAccelerator for Julia would translate to the following python API:
runStencil(kernel_function, buffer1, buffer2, ..., iteration = N, boundary = STYLE)

An example would be:
@numba.njit(parallel=True)
def f(A, B):
    def kernel(b, a):
        b[0,0] = 0.25 * (a[0,1] + a[1,0] + a[0,-1] + a[-1,0])
        return a, b
    numba.stencil(kernel, B, A)

There are several advantages to this design:

kernel function is given in the first argument, so that the list of buffers can be varargs, and we can leave iteration count and boundary handling to be keyword arguments. This also helps if we want to have a reference implementation of the same API as a pure Python function (i.e., without using Numba).

The list of buffers would match the argument list of the kernel function, in which they are relatively indexed with positive or negative integer constants.

There can be multiple inputs and outputs too, and the list of buffers given as arguments to stencil call do not differentiate between input/output. They are only differentiated in the kernel function: outputs are on the left-hand-side, and only accessed by 0-index, and outputs can also be inputs (which can actually happen, as in the case of 3DFD stencil). So it is very flexible.

In case of iterative stencil (where iteration argument is given), the kernel function must have a return statement that returns a list of buffers that serves as a rotation of buffers. In the example above, the kernel function takes in (a, b) and returns (b, a), which means buffer is swapped. It is also entirely possible to keep some buffers at a fixed position so that they do not rotate (while enjoying the same convenience of relative indice as other buffers).

The boundary argument can be one of the following string:

'oob_skip': Writing to output is skipped when input indexing is out-of-bound.
'oob_wraparound': Indexing is "wrapped around" at the array boundaries so they are always safe.
'oob_dst_zero': Write 0 to the output array when any of the input indices is out-of-bounds.
'oob_src_zero': Assume 0 is returned by a read operation when indexing is out-of-bounds.

Having both iteration and boundary as keyword argument to stencil call is an enabler to more advanced optimizations (e.g., combining time-skewing and space-blocking) that is hard to do with a plain loop over single-step stencils.

Possible drawbacks to this API design are:

Some iterative stencil terminates based on a conditional rather than an iteration count, which is hard to express here. The fallback would be to have a while-loop over single step stencil call.

Python's lambda forbids assignments or multi-line statements, so the kernel has to be defined separately as an inner function.

Consider the flexibility this API allows, I'd still recommend taking this approach, or consider simple lambdas (where a single scalar value is returned instead of a buffer list) as a degenerated case.


Ingress controller[Question]

Hi Team,
I am new to AKS and currently exploring to pick the right ingress controller for my cluster. I am curious why Traefik is picked in this reference implementation compare to other open source ingress controller(nginx/ambassador/kong etc)?
Also how about AGIC? Given AGIC is a solution more closely aligned with Azure Gateway which can be the choice for standard load balancer, shouldn't that be seen as a good fit for AKS?
Please provide any reference/ experience in production with different ingress controller use.

Hey there @r1sharma -- you are correct in identifying that you have many choices when it comes to ingress controllers.  The workload wasn't the focus of this reference implementation, so our requirements were pretty wide open in selection choices. As a reminder, this reference implementation is focused on the infrastructure side of AKS, not workload (which ingress is a significant factor in).  As for the reasons we chose Traefik here.

We wanted to show OOS being part of the overall solution (as many customers like to Bring Their Own Solution to this area).
We wanted to show how Key Vault can be used securely for certificates in an ingress controller, and Traefik works well enough to tell that story.  Traefik (or any third party OSS solution) allowed us to show off some of the features of the cluster a bit more directly.
At the time of creating this reference implementation, AGIC was in preview and support was not a strong as support available for Traefik (which has both a community option and a paid option).
Many advanced deployment techniques are well documented for Traefik (and other OOS) ingress controller, such as blue/green. AGIC doesn't have as many rich examples in that space, so to allow folks to have more self-help solutions for interesting deployment situations, we wanted to pick something that had a wider reach.

Ultimately, the ingress controller you use for your workloads should align with the support expectations, ability to manage to an SLO you need to achieve, and of course match up against all functional and other non-functional requirements for your workload.  AGIC can be a great fit if your use cases align, as can any of the other ingress controllers mentioned.  Ultimately the answer is "we had to pick one, and we picked one that would be interesting/relevant to show and start conversations :)"

Going to close the question at this point.  If you have any more questions, don't hesitate to reach out.  Thanks!

Going to close the question at this point.  If you have any more questions, don't hesitate to reach out.  Thanks!


MGDOBR-1230: Switch to the "v2" TS SDK

JIRA: https://issues.redhat.com/browse/MGDOBR-1230

Hi @vpellegrino, @ppadti, you can start reviewing this PR when you have time.
I've removed all the breaking stuff. I've left some code in the processors area because it wasn't causing any issue. We can eventually decide to keep it or scrap it when we start coding the new processors pages.
Let me know what you think.
@Srihari1192 , @sjamboro, I've skipped all the cypress tests that are not applicable anymore. I don't think we can reuse any of them as they are, so another good option would be to delete them. I'll wait for your opinion on this.

dev tests are failing because the v2 APIs are responding with error 500 at the moment.

dev tests are failing because the v2 APIs are responding with error 500 at the moment. I'll look into it next week.

Follow-up, V2 APIs are not yet ready on dev. We'll have to skip the e2e tests there for now.

@kelvah I think its better to skip all the cypress tests for now and keep, it may help for reference during implementation of v2 tests. Once v2 UI e2e tests added will delete all these skipped tests.
@sjamboro wdyt?

@kelvah I think its better to skip all the cypress tests for now and keep, it may help for reference during implementation of v2 tests. Once v2 UI e2e tests added will delete all these skipped tests. @sjamboro wdyt?

Hi @kelvah,
I agree with @Srihari1192. It is better to skip tests. The report shows that there are skipped test. So there is a simple reminder that test suite is not ready. We can delete them later.

The failed test was a problem of this timeout. It is set to 10 secs. I have meassured similar duration localy (9.9)

The failed test was a problem of this timeout. It is set to 10 secs. I have meassured similar duration localy (9.9)

Thanks @sjamboro for looking into it. Did you already create a jira for it? Or do you prefer to fix it here?

@kelvah I have taken a look at cypress tests. Please let me know when the PR will be finall I will check locally that the feature which is covered by the "flaky" tests is ok.


best_center.pt not found

I trained model but when predict it ask this file which is not available after training torch.load(self.model_dir + "best_center.pt")
Where to find this file which contains distance and radius?

Ran into the same issue, not sure what generates best_center.pt, but it appears to be a serialized hyperlog checkpoint. If you disable hyperlog then you don't need the file.
options["hypersphere_loss"] = False

Generally, it calculates hypersphere_loss after at least 10 iterations you can update it or train model for at least 10 iterations to get best_center.pt


Copy Permalink: Does not work in multi-root workspace

Steps to Reproduce:

have more than one folder in VSCode (multi root)
select Copy Permalink on a file of the first root

=> the URL is built with the second folder.
I think the extension is not multi-root ready. Not sure if that is only specific to this command or entirely.

Previously, the repo was whatever was selected in the SCM view.
Now, for file related issue actions, it should use the repo for the file you are in.

@alexr00 yeah seems to work better now, but I notice a huge slowdown for any copy/open operation, up to 10s before something happens, is that known?

Yes, that is this bug. I merged  a work around for it today, and am working on add more git extension API to improve it further. With the work around you should <3s.

Ok let me know when I can test your change from a new nightly release.

@bpasero, I made a new nightly release so that you could try out the work around for the slowness. In a repo where this is slow, it will not use the slower way to get the "best" remote (so if you have a fork with an "upstream" remote, you will not get a permalink in the upstream, but in the fork). For repositories where this isn't slow, it will still try to make a permalink for the "best" remote.


TKGI 1.8 with NSX-T Firewall Ports & Protocol : Documentation update request

Hello Team,
As per the below document of firewall ports and protocol requirement, one key port requirement is missing in documentation ,
https://docs.pivotal.io/tkgi/1-8/ports-protocols-nsx-t.html
During one of the implementation found out I was not able to prepare ESXi host with NSX-T , was getting below error  ,
Later after spending hours troubleshooting understand that from esxi vmknic/edge nodes to NSX-T manager port 1234 (NSX messaging) is to be opened , and the issue was resolved.
Details of firewall requirement for NSX-T can also be found on the below link
https://ports.vmware.com/home/NSX-T-Data-Center
Attached is the NSX-T Firewall port requirements and the error snapshots
Kindly update the document to include from ESXI & EDGE Transport Nodes to NSX Manager port 1234 is also required .
Thanks
Prashant

vmware_ports (1).xlsx

this is addressed, closing


Permission denied - directory named "ext"

A brief description
If a directory or file be named "ext", you cannot open it.
After re-install Windows 10, this error was disappeared.
But after install a vaccine program, this error was appeared again.
Now, I suspect this vaccine program would make this error.
Your Windows build number
Version 1703
OS Build 15063.138
Update KB4015583
Steps / All commands required to reproduce the error

SUNJOONG-DESKTOP ~ # mkdir ext
SUNJOONG-DESKTOP ~ # touch ext/file1
SUNJOONG-DESKTOP ~ # ls ext
ls: cannot open directory 'ext': Permission denied
SUNJOONG-DESKTOP ~ # mv ext ext1
SUNJOONG-DESKTOP ~ # ls ext1
file1
SUNJOONG-DESKTOP ~ # mv ext1 ext
SUNJOONG-DESKTOP ~ # rm -rf ext
rm: cannot remove 'ext': Permission denied
SUNJOONG-DESKTOP ~ # ls -l
total 0
drwxr-xr-x 0 root root 512 Apr 17 05:44 ext
SUNJOONG-DESKTOP ~ # whoami
root
SUNJOONG-DESKTOP ~ #

Strace of "ext":

open("ext", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 EACCES (Permission denied)

Strace of "ext1":

open("ext1", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3

--

Same as the file named "ext"

SUNJOONG-DESKTOP ~ # echo line1 > ext
bash: ext: Permission denied
SUNJOONG-DESKTOP ~ # echo line1 > ext1
SUNJOONG-DESKTOP ~ # cat ext1
line1
SUNJOONG-DESKTOP ~ # mv ext1 ext
SUNJOONG-DESKTOP ~ # cat ext
cat: ext: Permission denied
SUNJOONG-DESKTOP ~ #

@sunjoong - I am unable to reproduce this locally.  Did you do anything else prior to these steps that could explain the permissions error?

@benhillis - Thank you for you comment. I had tested it again step by step and found this error occurs after installation of a vaccine program, B_Clean. That program cannot be disabled but only can be removed, and re-installation need an authentication. So, I had hesitated to test it again after removing. After removing that, this error was not seen until now.


Add release-drafter workflow for generating changelogs

Automatically generate changelogs using release-drafter
https://github.com/release-drafter/release-drafter . This will
categorize PR's into different sections of the changelog based
on labels (breaking/bug/feature etc).

thanks for the review @mikemckiernan - I've updated the whitespace before $CHANGES . I'm betting we'll need some tweaks to this, but I thought we could use NVT as a proof of concept while we iron out the bugs -


Not working with iOS 15.1

I believe this does not work with iOS 15.1 anymore. It was working before, now it is not working on multiple devices and in the emulator.
Also I found someone with the same problem:
https://github.com/apache/cordova-ios/issues/1205
I don't have any details or prove that this is the cause. But I keep you updated.

Never mind... I remove cordova-plugin-whitelist because it is deprecated for android. It is still needed for iOS!


apt-get fails on repository

On running 'sudo apt-get upgrade' on my Mint 17.3 system I see the following error:
W: Failed to fetch https://storage.googleapis.com/download.dartlang.org/linux/debian/dists/stable/main/binary-amd64/Packages  server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
I think there have been recent certificate package updates in Mint so I went back to the Dart install instructions and tried to reimport the server certificate, just in case. That threw this error:
sudo sh -c 'curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -'
[sudo] password for :
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
gpg: no valid OpenPGP data found.
Have I missed out on something along the way or is the certificate actually missing from the server?

This is a duplicate of #30512
The repository we create is old-fashioned, and only has a Release file, not an InRelease file.  I am contacting the owner of the creator tool, to see how this can be fixed.


Failed to add second ipvlan interface with IP.

Distribution: Ubuntu
Distribution version: 19.10
The output of "lxc info" or if that fails:

Kernel version: 5.3.0-29-generic
LXC version: 3.20
LXD version: 3.20
Storage backend in use: dir

Issue description
Adding second ipvlan nic device with setting IP adress causing conteiner start error.
It seems, that lxc trying to add second default gateway.
If add ipvlan nic device without setting IP - container starts normally.
Steps to reproduce
lxc init ubuntu:18.04 test
sysctl -w net.ipv4.conf.ens160.forwarding=1
sysctl -w net.ipv4.conf.ens192.forwarding=1
lxc config device add test eth0 nic name=eth0 nictype=ipvlan parent=ens160 ipv4.address="<IP_ADDRESS>"
lxc config device add test eth1 nic name=eth1 nictype=ipvlan parent=ens192 ipv4.address="<IP_ADDRESS>"
lxc start test

Information to attach
lxc info --show-log test output:
Name: test
Location: none
Remote: unix://
Architecture: x86_64
Created: 2020/02/07 15:49 UTC
Status: Stopped
Type: container
Profiles: default
Log:
lxc test<PHONE_NUMBER>5001.952 WARN     cgfsng - cgroups/cgfsng.c:chowmod:1525 - No such file or directory - Failed to chown(/sys/fs/cgroup/unified//lxc.payload/test/memory.oom.group,<PHONE_NUMBER>, 0)
lxc test<PHONE_NUMBER>5002.258 ERROR    network - network.c:lxc_setup_netdev_in_child_namespaces:3789 - File exists - Failed to setup ipv4 gateway to network device "eth1"
lxc test<PHONE_NUMBER>5002.258 ERROR    network - network.c:lxc_setup_network_in_child_namespaces:3892 - Failed to setup netdev
lxc test<PHONE_NUMBER>5002.258 ERROR    conf - conf.c:lxc_setup:3570 - Failed to setup network
lxc test<PHONE_NUMBER>5002.258 ERROR    start - start.c:do_start:1321 - Failed to setup container "test"
lxc test<PHONE_NUMBER>5002.264 ERROR    sync - sync.c:__sync_wait:62 - An error occurred in another process (expected sequence number 5)
lxc test<PHONE_NUMBER>5002.327 ERROR    lxccontainer - lxccontainer.c:wait_on_daemonized_start:873 - Received container state "ABORTING" instead of "RUNNING"
lxc test<PHONE_NUMBER>5002.336 ERROR    start - start.c:lxc_abort:1122 - Function not implemented - Failed to send SIGKILL to 3561
lxc test<PHONE_NUMBER>5002.336 ERROR    start - start.c:__lxc_start:2039 - Failed to spawn container "test"
lxc<PHONE_NUMBER>5002.999 WARN     commands - commands.c:lxc_cmd_rsp_recv:135 - Connection reset by peer - Failed to receive response for command "get_state"

@kautMaks this is because ipvlan type NICs add a default device route to the container pointing to the device's interface, so adding two will try and add 2 default gateways to different interfaces.
What is the use case you are trying to achieve here? Are you trying to connect the container to two different physical networks, would one of these need to be the default gateway only?

@kautMaks I notice in your example that the 2 IPs also appear to be in the same subnet but will be connected to different parent interfaces, is this intentional?

@tomponline Those IP's are only example. Problem reproduces with any IP's/networks. I will use IP's from different networks (parent interfaces are vlans).
I am trying to use different networks inside container with advanced policy routing.
It is necessary to add the ability not to create a default gateway for some interfaces, or to make sure that it does not break container start.

@kautMaks yes indeed, @stgraber do you have any comment on naming for such an option in the NIC device config, perhaps gateway=none with the default being gateway=dev?
I imagine this is something that may also be relevant to the routed device type, which similarly adds default gateways.

@tomponline  sounds good, thank you :)

@tomponline ipv4.gateway and ipv6.gateway supporting none or auto (default)?

@stgraber yep that would work, then auto will map to the correct type of gateway being added for ipvlan and router NICs in liblxc (the former having gateway dev and the latter having link-local addresses set).
For none both types will just have no gateways set and its up to the container's internal config to define one as needed.

@kautMaks btw, did you know you can add multiple addresses to a single ipvlan NIC?
i.e
lxc config device add test eth0 nic name=eth0 nictype=ipvlan parent=ens160 ipv4.address="<IP_ADDRESS>, <IP_ADDRESS>"


fix: Climate heating value fix

The climate heating option -> value match should be the changed version (at least in CA). See the attached caught command.

I will merge. I can't seem to find the spot where I had found it was a 1.   Could you try the other combos to confirm descriptions match?

Just checked all the options, confirmed that "steering wheel only" is 3. Fixed in the latest commit.
All options are checked in CA.


Rewrite rules for conversions

Avoid jumping through Rational unnecessarily. Most of the standard types have these rewrite rules already in place. We'll probably want to/from Float and Double, at least.

toDouble has a RULE, but I couldn't figure out how to get a fromDouble RULE working.


Provide script to upload a certificate in the APIM CA Certificate store

Is your feature request related to a problem? Please describe.
Provide script to upload a certificate in the APIM CA Certificate store.
This allows you to upload public certificates of partners/clients to allow client certificate validation in the APIM policy using the following snippet:
<!-- Validate the client certificate in the inbound request -->
        <choose>
            <!-- Below condition verifies if the request contains a client certificate + if the certificate can be validated against 1 of the available certificates in the CA Certificates-store. -->
            <when condition="@(context.Request.Certificate == null || !context.Request.Certificate.Verify())">
                <return-response>
                    <set-status code="403" reason="Invalid client certificate" />
                </return-response>
            </when>
        </choose>

Describe the solution you'd like
In order to upload a certificate, you need to perform these steps:

Load the certificate and create a new AzApiManagementSystemCertificate
Get APIM Context
Add the newly created systemCertificate to the APIM Context
Update the APIM Context

Would be useful to have this as a function to which you only need to provide the following parameters:

ResourceGroupName (resource group containing the APIM instance)
ServiceName (name of the APIM instance)
CertificateFilePath (full path to the location of the public certificate)

See example: https://github.com/mbraekman/Powershell/blob/master/Azure/APIM-UploadCACertificate.ps1
This does take quite a long time to upload, if it would be possible to state whether to wait for the result or to immediately return, would be a nice addition, otherwise, a release pipeline might be waiting up to 20minutes for this script to finish.
Or if there is a better solution, which doesn't take as long, that would be even better.
Target-module:

Arcus.Scripting.ApiManagement

Describe alternatives you've considered
Manually uploading the certificate.

We could include the uploading functionality in a Start-Job based on a -PassThru argument or so; so it immediately returns or not?

We could include the uploading functionality in a Start-Job based on a -PassThru argument or so; so it immediately returns or not?

Aha yes, that should work indeed.
Perhaps use the switch -WaitForCompletion instead of -PassThru as it perhaps better indicates what it does? But depending on what's being used in other Arcus-related artifacts of course, in regards to aligning the approach/naming conventions.

Aha, seems like the Set-AzApiManagement already has a -AsJob parameter 😉 . Let's use that one.


Added Netstandard2.0

I am on a Mac so I only compiled for netstandard, did not change any code so net452 etc should be fine. Please note that I changed version (in Handlebars.csproj) and added some lines in travis.yml and appveyor.yml that you might wanna discard.
Regards, Uffe

My guess is that the build failed since it is using net sdk 1.0.1 and not 2.0.
Found a fix here: https://codeblog.jonskeet.uk/2017/08/15/using-net-core-2-0-sdk-on-travis/ by J Skeet since you probably want net core 1.0 support as well.

Ok, waiting for green

@rexm is it ok? If it is all good, can you release a new version to nuget after accepting?

Will aim to get it out this weekend.


Automatic Link Detection

See also #24
Label
The label for a link is generally the same as the URL itself.
We could however omit the protocol for web URLs  (http:// or https://)  starting with www..
Protocols
In order to simplify link detection I think it makes sense to limit automatic link detection to the most common ones.
AsciiDoc does this too:
http://asciidoctor.org/docs/asciidoc-writers-guide/#external-links
Brackets
We need to have some heuristics around brackets ({}, [] and ()).
The best approach I have seen so far is to include all brackets inside the URL if they're balanced.
Example
The Wikipedia article on the "Slow Loris" attack (https://en.wikipedia.org/wiki/Slowloris_(computer_security)) is really interesting.

Rendered as:
The Wikipedia article on the "Slow Loris" attack (https://en.wikipedia.org/wiki/Slowloris_(computer_security)) is really interesting.

I am in favor of allowing the omitting of the protocol. I think it strikes a nice balance between being too strict, giving the user too much manual work, and being to lean, generating false positives.
Also, I advise to not go any further with the allowed omitting. If we allow only google.com, for instance, we are going to have a hard time figuring out what should be an URL and what shouldn't. I think in this regard, it's better to be a bit conservative.

What do you think of allowing URLs starting with www. to omit the protocol?

Speaking of being to lax: Look at how github linkifies www. 😅

I think we need some additional heuristics around dots and (maybe) commas which might me at the end of an URL but are more likely part of the text (end of sentence) than the URL

What kind of sensible URL has dots and commas at the end though?

I think that this should be in its own little section in the spec.


Update observable.ttl

added property shape to observable:MutexFacet and definition to observable:mutexName

@nsxtas , thank you!  CI's churning along.  We'll run it through the administrivia review checklist soon (which for this will mainly help ensure it is documented in the release notes).

Ah, sorry for the surprise, the checklist's first step is making sure the PR is filed against develop, per the branching model this repository uses ("Git-flow" branching).
The Github interface causes a constraint that has tripped up enough people I'm going to suggest to the OC that we change the "Primary" branch to develop instead of master.
Are you able to force-push your changes as a patch so they start from the current state of develop instead of master?

@ajnelson-nist , added the changes to develop branch. should be good to go

Thanks, @nsxtas !
I'm closing this PR as superseded by PR 472.


Cannot view PDF over 1,5MB

I tested this solution and found 1 big issue for me:
It doesnt show contents of PDF files over 1,5MB in file size.
Do You have some solution for that?

Looks like the browser can't render large PDFs as Base64 objects. I found the same problem even when using locally created HTML.
To fix this, I converted the Base64 object to a blob URL.
Fix is merged.
https://github.com/Drakonian/bc-pdf-viewer-full/pull/4


Installing shell commands on OSX

I can't install shell commands on OSX. I use Atom IDE , and I have installed platformio-ide package, and I clicked on Install shell commands but nothing happened, and the pio and platformio commands don't work. Atom 1.4.3

Duplicate of https://github.com/platformio/platformio-atom-ide/issues/35


jax vs numpy array inconsistent behavior in matplotlib histograms

There's inconsistent behavior when using jax.numpy arrays vs numpy arrays when plotting histograms in matplotlib. I'm guessing this is a result of some differing property of the two objects thats not immediately obvious to me. They have the same shape. Its easy to fix by just converting to a regular numpy array (as below), but I thought I would report in case this is indicative of something that might cause problems in other situations
import matplotlib.pyplot as plt
import jax.numpy as np
import numpy as onp

a = onp.random.rand(100)

plt.figure()
_ = plt.hist(np.array(a))

plt.figure()
_ = plt.hist(onp.array(a))

gives:

This looks like a duplicate of #8899 - unfortunately, it’s not something that can be fixed within JAX, but rather an issue with how matplotlib treats non-numpy inputs. The best workaround is to convert your JAX arrays to numpy arrays before passing them to matplotlib.

This is fixed now in matplotlib: https://github.com/matplotlib/matplotlib/pull/22018

It seems this issue is fixed in matplotlib-3.5.2, but exist in earlier versions of matplotlib.


Ability to control the auto-update of the tab list

When a group contains more than a screenful of tabs the auto-update keeps repositioning the view even when the list content did not change.
Either the previous center of the view should be preserved or a configuration added that would allow to control the auto-update (reduce frequency or disable/enable).

This was re-enabled with better scrolling behaviour, let me know if you face any issues.


Link to session 1

thanks a lot
On Saturday, August 1, 2015, Alyssa Quek<EMAIL_ADDRESS>wrote:

You can view, comment on, or merge this pull request online at:
https://github.com/mgajda/mentorship/pull/1
Commit Summary

Link to session 1

File Changes

M README.md
https://github.com/mgajda/mentorship/pull/1/files#diff-0 (2)

Patch Links:

https://github.com/mgajda/mentorship/pull/1.patch
https://github.com/mgajda/mentorship/pull/1.diff

—
Reply to this email directly or view it on GitHub
https://github.com/mgajda/mentorship/pull/1.

--
Pozdrawiam
Michał


[Arc] The "Arc history" command needs to be updated with the actual history data.

Extension
https://www.raycast.com/the-browser-company/arc
Description
The "Arc history" command needs to be updated with the actual history data.
Steps To Reproduce

Visit some sites from the Arc browser
Run "Arc history"
Obeserve the issue

Current Behaviour
History records are up-to-date.
Expected Behaviour
History records aren't up-to-date.

Hey, everyone. I will close this since reinstalling the Arc browser fixed the issue.


Kore hiding text square brackets

I found strange behavior.
I've plugin installed on Kodi that allows you to watch movies in different qualities and this quality is in square brackets

So in Kodi everything shows as expected, but in Kore this text just ignored

Kore is removing text inside [ ] intentionally.
I'm not sure why...

Can't check right now, but IIRC that's being done to remove some markup like [red].

[red] is not acceptable BBCode markup so ideally it should only remove known BBCode from strings, like [COLOR red] or [COLOR=red].


RandomWrapperAesCounterRandomTest.testThreadSafety failing

testThreadSafety passes when run on an AesCounterRandom directly, but not when the AesCounterRandom is used through a RandomWrapper.

Now seems to be fixed.


Add config for C&C Generals ZH (solve crashing + performance increase )

Solved the problem of the game crashing when it starts loading saved missions or skirmish, especially for Mods

Huge performance increase.
Solve Alt tab crashing.

For anyone who might not be aware, this is actually a d3d8 game.
@anoosi "d3d9.textureMemory", "2048" seems a bit excessive to say the least... and so does the value for d3d9.maxAvailableMemory. How did you come up with these numbers?

For anyone who might not be aware, this is actually a d3d8 game.
thanks for mention that.
+using d3d8to9
@anoosi "d3d9.textureMemory", "2048" seems a bit excessive to say the least... and so does the value for d3d9.maxAvailableMemory. How did you come up with these numbers?
P.S.: You can use "d3d9.textureMemory", "0" to disable the limit entirely, if that's what you're after.
If you play with ai like map 8 players, there will be a large amount of texture that must be loaded, especially if it is a replay file or a saved skirmish, missions,
some mod, contains high resolution textures and the size of files much bigger , also some mods contains high poly  3d objects,
i tested so many times d3d9.maxAvailableMemory = 4GB sometimes crashing if you play mods like CWC with a long session playing.

For anyone who might not be aware, this is actually a d3d8 game.
@anoosi "d3d9.textureMemory", "2048" seems a bit excessive to say the least... and so does the value for d3d9.maxAvailableMemory. How did you come up with these numbers?
P.S.: You can use "d3d9.textureMemory", "0" to disable the limit entirely, if that's what you're after.

If you play with ai like map 8 players, there will be a large amount of texture that must be loaded, especially if it is a replay file or a saved skirmish, missions,
some mod, contains high resolution textures and the size of files much bigger , also some mods contains high poly  3d objects,
i tested so many times d3d9.maxAvailableMemory = 4GB sometimes crashing if you play mods like CWC with a long session playing.

Which of these variables are you saying help with crashing?
d3d9.maxAvailableMemory caps at 4GB which is already default so the value you set doesn't do anything (the value is in megabytes).
If not raising d3d9.textureMemory makes the game crash then I'd like you to make an issue.
I assume you are using d8vk or d3d8to9 with it for it to work with dxvk?

Which of these variables are you saying help with crashing? d3d9.maxAvailableMemory caps at 4GB which is already default so the value you set doesn't do anything (the value is in megabytes). If not raising d3d9.textureMemory makes the game crash then I'd like you to make an issue.
I assume you are using d8vk or d3d8to9 with it for it to work with dxvk?

maybe the problem with d3d9.textureMemory only
d8vk and d3d8to9 same problem.

d3d9.maxAvailableMemory caps at 4GB which is already default so the value

True, but note it still needs a "d3d9.memoryTrackTest", "True" to actually enforce that limit IIRC.
I only have the base game (or the addon, rather) and haven't noticed any problems even on the largest maps, however I don't use any mods, so can't comment on that front.

d3d9.maxAvailableMemory caps at 4GB which is already default so the value

True, but note it still needs a "d3d9.memoryTrackTest", "True" to actually enforce that limit IIRC.
I only have the base game (or the addon, rather) and haven't noticed any problems even on the largest maps, however I don't use any mods, so can't comment on that front.

if you start the game like skirmish there is no issue,  but, if you load a replay or saved skirmish or mission it will get crash!
i faced this in the game without mods in sometimes, but it's happen always with mods that contains 3d objects with high resolution textures.

i update the configuration (Remove d3d9.maxAvailableMemory)

if you start the game like skirmish there is no issue, but, if you load a replay or saved skirmish or mission it will get crash! i faced this in the game without mods in sometimes, but it's happen always with mods that contains 3d objects with high resolution textures.

FWIW, I've tried my best to make the vanilla game (& addon) crash with loading games/replays from large maps, but it never did in my case. Alt+tabbing seems to cause a crash on refocus, but none of the suggesting config options fix it (not that I expected them to).
I also get no performance benefit with any of these options. Again, I've only tested things unmodded, but it would be rather strange if the game's engine would behave differently when modded. The only thing I can think of is that the game's hard limited to 31.2 fps by default, so if any mods change that perhaps some engine bottlenecks become more apparent.
If you mention the game's crashing during long play sessions, are you sure you're using a LAA executable (or Proton, which enables LAA globally)? Issues solved by tweaking d3d9.maxAvailableMemory / d3d9.memoryTrackTest don't usually manifest in time, but are rather more abrupt.


Allow Python xDS interop client to be configured for EmptyCall

This is an interesting bug. Python's generator can only be looked once for A in B syntax.
foo = iter((1, 2, 3))
assert 1 in foo  # ok
assert 1 in foo  # fail

In code, because EmptyCall is always the second item in _SUPPORTED_METHODS, so it's check will never be true. This bug didn't show in the existing xDS tests, because all existing test cases are setting client to send UnaryCall...

My assumption in https://github.com/grpc/grpc/pull/26801 is completely wrong.


Scroll-behavior = smooth

Is your feature request related to a problem? Please describe.

Describe the solution you'd like:

Describe alternatives you've considered:

Additional context:

Hello Felippe, could you tell us more what you are missing or hat the issue is?

Hi.. apparently you can’t use the smooth-scroll with Microsoft Edge, and I really would like to know more about it. Thank you very much for your attention!
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows
From: Christian @.>
Sent: Wednesday, November 24, 2021 10:42 AM
To: @.>
Cc: Felippe @.>; @.>
Subject: Re: [microsoft/vscode-edge-devtools] Scroll-behavior = smooth (Issue #680)
Hello Felippe, could you tell us more what you are missing or hat the issue is?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode-edge-devtools/issues/680#issuecomment-977890233, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATARPQLS623EPROZDLJO7PDUNTTS7ANCNFSM5IPSNOXQ.

Hi there,
your issue seems to be with Edge, the browser, not with this extension. However, it does work here. If you go to my demo page and hit any of the "cats, dogs, sheep…" items you will see that the page scrolls down smoothly.
https://codepo8.github.io/a11y-demos/page-with-errors.html
Could it be that you turned off animations in your OS/your device or that you have the simulation turned on?
https://docs.microsoft.com/en-us/microsoft-edge/devtools-guide-chromium/accessibility/test-reduced-ui-motion


Provide public cancellation API

This issue meant to fix the situation when the gradle daemon is killed by executing CTRL+C command in the terminal along with the underlying process itself. The fix has been merged into 4.8 rc1 however the issue still appears when running a server using gradle, for example, an instance of local google app engine.
An example project:
https://github.com/denisk20/appengine-test

Run ./gradlew appengineRun
Wait for INFO: Dev App Server is now running line to appear
Click CTRL+C
Wait a 4-5 seconds for the "Java" task to disappear
Run ./gradlew appengineRun again. Notice Starting Daemon line briefly appearing -- that means that the daemon has just been killed with CTRL+C.

The problem here is that the appEngine task doesn't use exec/javeExec (which supports cancellation), but runs some custom thread that Gradle doesn't know about and can't control. To fix this we'll probably need a public cancellation API for plugin authors.

For the case of Google App Engine the problem can be mitigated if one uses ./gradlew appengineStop to stop the dev server. This way the next ./gradlew appengineRun usually leverages the daemon.

I think that is the route that most plugins have gone down for application startup and teardown. I've seen a few different ways that applications or plugins handle it:

Gradle --continuous mode support built-in for deployment reloading that "cancel" on signal/Ctrl + C

Ratpack supports this
Gradle's built-in Play Support

separate tasks for lifecycle start and stop with the "background" task running separate from Gradle.

AppEngine example above
Gretty

application is aware of changes itself and hot reloads on change detection

[vert.x CLI option that watching filesystem and runs ./gradlew classes on each change] (https://github.com/vert-x3/vertx-examples/tree/master/gradle-redeploy)
ktor reloads of classfiles, for example by running ./gradlew classes -t alongside the application itself

Also, this sounds similar to https://github.com/gradle/gradle/issues/1128

In Gradle 6.0, task threads will be interrupted when the build is cancelled, allowing tasks to react to that signal and wrapping up quickly.

Perfect to work with coroutines since runBlocking will cancel the coroutine if the blocked thread is interrupted!
https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/run-blocking.html


Annotation deployment.kubernetes.io/revision is not set

We have 2 new errors in e2e tests since -rc1:
error: desired revision (17) is different from the running revision (0)
https://github.com/kubewarden/kubewarden-controller/actions/runs/9239179924/job/25418050052

error: invalid argument "null" for "--revision" flag: strconv.ParseInt: parsing "null": invalid syntax
https://github.com/kubewarden/kubewarden-controller/actions/runs/9223813521/job/25377883248

Errors are triggered by this code in e2e tests:
revision=$(kubectl -n $NAMESPACE get "deployment/policy-server-default" -o json | jq -r '.metadata.annotations."deployment.kubernetes.io/revision"')
wait_rollout -n $NAMESPACE --revision $revision "deployment/policy-server-default"

I was digging more and found out that our policy-server-default sometimes does not have deployment.kubernetes.io/revision annotation set for couple seconds.

The deployment.kubernetes.io/revision annotation is set by the Kubernetes deployment controller. Therefore, the Kubewarden controller should not set this annotation. But for some reason, the kubernetes controller is taking longer now. At the first glance, the only more obvious change we did between v1.12.0 and v1.13.0-rc1 was that change of the verb used to update the policy server deployment from patch to update verb. I'm not sure if this is related. But just in case, I've fixed (#746 ) that to keep the same behavior and avoid other issue that may cause that we haven't notice yet.

It seems that the use of patch verb to update the deployments helps with this issue. After merging #746, we can see two successful test executions.

I tried it locally, bug is fixed in latest controller. Nightly e2e should pass for -rc2, closing.


chore: migrate from game service to env service tokens

Changes

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1054  👈
#1053
#1052
#1051
#1049
#1048
#1047
#1046
#1045
#1044
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @NathanFlurry and the rest of your teammates on  Graphite


Combo TPU/TFRecords for model.evaluate is not working

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Google Colab
TensorFlow installed from (source or binary):
TensorFlow version (use command below): 1.14
Python version: 3.6.8
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:
GPU model and memory: TPU Colab

Describe the current behavior
On a TPU (colab) running model.evaluate on a tf.data.Dataset build with TFRecords throw :
Compilation failure: Dynamic Spatial reduce window is not supported: %reduce-window.21 = f32[1,127,127,3]{3,2,1,0} reduce-window(f32[1,256,256,3]{3,2,1,0} %reshape.12, f32[] %constant.16), window={size=1x3x3x1 stride=1x2x2x1}, to_apply=%max_F32.17, metadata={op_type="MaxPool" op_name="max_pooling2d_4/MaxPool"}
TPU compilation failed
The fit method work perfectly with the same dataset.
Evaluation working perfectly if i rebuild the model and load the weights on a CPU/GPU instance.
I don't have this issue on TPU if the tf.data.Dataset is not built from TFRecords
Describe the expected behavior
model.evaluate should work and provide a result close from the last fit iteration
Code to reproduce the issue
Put it on Colab and replace GOOGLE_BUCKET_TO_DEFINE by a real bucket (2 occurrences)
import tensorflow as tf
import numpy as np

#get a image as input data for model : tensorflow logo
!curl https://avatars0.githubusercontent.com/u/15658638?s=256 --output tensor_logo.png

#build 8 tfrecords based on the logo downloaded
def build_tf_records():
  def serialize_example_pyfunction(image, label):
    feature = {
        'image': tf.train.Feature(bytes_list=tf.train.BytesList(value=[image.numpy()])),
        'label': tf.train.Feature(int64_list=tf.train.Int64List(value=[label.numpy()]))
    }
    example_proto = tf.train.Example(features=tf.train.Features(feature=feature))
    return example_proto.SerializeToString()

  def tf_serialize_example(image, label):
    tf_string = tf.py_function(
      serialize_example_pyfunction,
      (image, label),  # pass these args to the above function.
      tf.string)      # the return type is `tf.string`.
    return tf.reshape(tf_string, ())# The result is a scalar

  dataset = tf.data.Dataset.from_tensor_slices(['/content/tensor_logo.png' for x in range(8)])
  dataset = dataset.map(lambda x : (tf.read_file(x), 0))
  dataset = dataset.map(tf_serialize_example)
  return dataset

#write tf records to disc and move on a google bucket
with tf.Session() as sess:
  filename = 'tfrecord.test'
  writer = tf.data.experimental.TFRecordWriter(filename)
  writting = writer.write(build_tf_records())
  sess.run(writting)

!ls

from google.colab import auth
auth.authenticate_user()

!gsutil cp tfrecord.test gs://GOOGLE_BUCKET_TO_DEFINE/

# the aim is to quickly build 8 items (x, y=0) with x of shape (256, 256, 3)
def train_input_fn_dummy_data():
  dataset = tf.data.Dataset.from_tensor_slices(([0 for x in range(8)]))
  dataset = dataset.map(lambda x : (tf.random.normal((256, 256, 3)), [0]))
  dataset = dataset.batch(8)
  return dataset

def train_input_fn_from_tf_records():
  # Create a description of the features.
  feature_description = {
    'image': tf.FixedLenFeature([], tf.string),
    'label': tf.FixedLenFeature([], tf.int64, default_value=0)
  }

  def _parse_function(example_proto):
    # Parse the input tf.Example proto using the dictionary above.
    return tf.parse_single_example(example_proto, feature_description)

  def _process_string_image(dic):
    image_string = dic['image']
    image_decoded = tf.image.decode_png(image_string, channels=3)
    image_decoded = tf.cast(image_decoded, tf.float32)/255.
    return image_decoded, tf.cast([dic['label']], tf.int32)

  list_files = tf.data.Dataset.list_files('gs://GOOGLE_BUCKET_TO_DEFINE/tfrecord.test')
  raw_tfrecords = tf.data.TFRecordDataset(list_files)
  files_as_dict = raw_tfrecords.map(_parse_function)
  files = files_as_dict.map(_process_string_image)
  files = files.batch(8, drop_remainder=True)

  return files

#basic check to compare train_input_fn_dummy_data, train_input_fn_from_tf_records
#can't be run after TPU initialisation
with tf.Session() as sess:
  batch = train_input_fn_dummy_data().make_one_shot_iterator().get_next()
  while True:
      try:
          records = sess.run(batch)
          print('shape of dummy items :', records[0].shape, records[1].shape)
      except tf.errors.OutOfRangeError: break
  batch = train_input_fn_from_tf_records().make_one_shot_iterator().get_next()
  while True:
      try:
          records = sess.run(batch)
          print('shape of tfrecords items :', records[0].shape, records[1].shape)
      except tf.errors.OutOfRangeError: break

##shape of dummy items : (8, 256, 256, 3) (8, 1)
##shape of tfrecords items : (8, 256, 256, 3) (8, 1)

#initialize tpu only once
if not('strategy' in globals()):
  resolver = tf.contrib.cluster_resolver.TPUClusterResolver()
  tf.contrib.distribute.initialize_tpu_system(resolver)
  strategy = tf.contrib.distribute.TPUStrategy(resolver)

#build model and compile
with strategy.scope():
  inputs = tf.keras.layers.Input(shape=(256, 256, 3))
  x = tf.keras.layers.MaxPooling2D((3, 3), strides=(2, 2))(inputs)
  output = tf.keras.layers.GlobalAveragePooling2D()(x)
  output = tf.keras.layers.Dense(1, activation = 'sigmoid')(output)
  model = tf.keras.Model(inputs=inputs, outputs=output)
  model.compile('adam', loss='binary_crossentropy', metrics=['binary_accuracy'])

model.summary()

# fit the model, no issue
print('train dummy')
model.fit(train_input_fn_dummy_data(), epochs= 1, steps_per_epoch=1)
print('train tfrecords')
model.fit(train_input_fn_from_tf_records(), epochs= 1, steps_per_epoch=1)
print('evaluate dummy')
model.evaluate(train_input_fn_dummy_data(), steps=1)
print('evaluate tfrecords')
model.evaluate(train_input_fn_from_tf_records(), steps=1)

##train dummy
##WARNING:tensorflow:Expected a shuffled dataset but input dataset `x` is not shuffled. ##Please invoke `shuffle()` on input dataset.
##WARNING:tensorflow:From /usr/local/lib/python3.6/dist-##packages/tensorflow/python/keras/engine/training_distributed.py:411: Variable.load (from ##tensorflow.python.ops.variables) is deprecated and will be removed in a future version.
##Instructions for updating:
##Prefer Variable.assign which has equivalent behavior in 2.X.
##1/1 [==============================] - 0s 397ms/step - loss: 0.3180 - ##binary_accuracy: 1.0000
##train tfrecords
##1/1 [==============================] - 1s 786ms/step - loss: 0.4993 - ##binary_accuracy: 1.0000
##evaluate dummy
##1/1 [==============================] - 1s 1s/step
##1/1 [==============================] - 1s 1s/step
##evaluate tfrecords
##---------------------------------------------------------------------------
##UnimplementedError                        Traceback (most recent call last)
##/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py in _do_call(self, ##fn, *args)
##   1355     try:
##-> 1356       return fn(*args)
##   1357     except errors.OpError as e:
##
##10 frames
##UnimplementedError: From /job:worker/replica:0/task:0:
##Compilation failure: Dynamic Spatial reduce window is not supported: %reduce-window.21 ##= f32[1,127,127,3]{3,2,1,0} reduce-window(f32[1,256,256,3]{3,2,1,0} %reshape.12, f32[] ##%constant.16), window={size=1x3x3x1 stride=1x2x2x1}, to_apply=%max_F32.17, ##metadata=##{op_type="MaxPool" op_name="max_pooling2d_4/MaxPool"}
##	TPU compilation failed
##	 [[{{node TPUReplicateMetadata_3}}]]
##
##During handling of the above exception, another exception occurred:

Other info / logs
The fit method work perfectly with the same dataset.
Evaluation working perfectly if i rebuild the model and load the weights on a CPU/GPU instance.
I don't have this issue on TPU if the tf.data.Dataset is not built from TFRecords
Full StackTrace :
UnimplementedError                        Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
1355     try:
-> 1356       return fn(*args)
1357     except errors.OpError as e:
10 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py in _run_fn(feed_dict, fetch_list, target_list, options, run_metadata)
1340       return self._call_tf_sessionrun(
-> 1341           options, feed_dict, fetch_list, target_list, run_metadata)
1342
/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py in _call_tf_sessionrun(self, options, feed_dict, fetch_list, target_list, run_metadata)
1428         self._session, options, feed_dict, fetch_list, target_list,
-> 1429         run_metadata)
1430
UnimplementedError: From /job:worker/replica:0/task:0:
Compilation failure: Dynamic Spatial reduce window is not supported: %reduce-window.21 = f32[1,127,127,3]{3,2,1,0} reduce-window(f32[1,256,256,3]{3,2,1,0} %reshape.12, f32[] %constant.16), window={size=1x3x3x1 stride=1x2x2x1}, to_apply=%max_F32.17, metadata={op_type="MaxPool" op_name="max_pooling2d_4/MaxPool"}
TPU compilation failed
[[{{node TPUReplicateMetadata_3}}]]
During handling of the above exception, another exception occurred:
UnimplementedError                        Traceback (most recent call last)
 in ()
6 model.evaluate(train_input_fn_dummy_data(), steps=1)
7 print('evaluate tfrecords')
----> 8 model.evaluate(train_input_fn_from_tf_records(), steps=1)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py in evaluate(self, x, y, batch_size, verbose, sample_weight, steps, callbacks, max_queue_size, workers, use_multiprocessing)
902             sample_weight=sample_weight,
903             steps=steps,
--> 904             callbacks=callbacks)
905
906     batch_size = self._validate_or_infer_batch_size(batch_size, steps, x)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training_distributed.py in evaluate_distributed(model, x, y, batch_size, verbose, sample_weight, steps, callbacks)
168   if distributed_training_utils.is_tpu_strategy(model._distribution_strategy):
169     return experimental_tpu_test_loop(
--> 170         model, dataset, verbose=verbose, steps=steps, callbacks=callbacks)
171   else:
172     return training_arrays.test_loop(
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training_distributed.py in experimental_tpu_test_loop(model, dataset, verbose, steps, callbacks)
562     callbacks._call_batch_hook(mode, 'begin', current_step, batch_logs)
563     try:
--> 564       _, batch_outs = K.batch_get_value([test_op, output_tensors])
565     except errors.OutOfRangeError:
566       warning_msg = 'Make sure that your dataset can generate at least '
/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/backend.py in batch_get_value(tensors)
3008     raise RuntimeError('Cannot get value inside Tensorflow graph function.')
3009   if tensors:
-> 3010     return get_session(tensors).run(tensors)
3011   else:
3012     return []
/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py in run(self, fetches, feed_dict, options, run_metadata)
948     try:
949       result = self._run(None, fetches, feed_dict, options_ptr,
--> 950                          run_metadata_ptr)
951       if run_metadata:
952         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
1171     if final_fetches or final_targets or (handle and feed_dict_tensor):
1172       results = self._do_run(handle, final_targets, final_fetches,
-> 1173                              feed_dict_tensor, options, run_metadata)
1174     else:
1175       results = []
/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)
1348     if handle is None:
1349       return self._do_call(_run_fn, feeds, fetches, targets, options,
-> 1350                            run_metadata)
1351     else:
1352       return self._do_call(_prun_fn, handle, feeds, fetches)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
1368           pass
1369       message = error_interpolation.interpolate(message, self._graph)
-> 1370       raise type(e)(node_def, op, message)
1371
1372   def _extend_graph(self):
UnimplementedError: From /job:worker/replica:0/task:0:
Compilation failure: Dynamic Spatial reduce window is not supported: %reduce-window.21 = f32[1,127,127,3]{3,2,1,0} reduce-window(f32[1,256,256,3]{3,2,1,0} %reshape.12, f32[] %constant.16), window={size=1x3x3x1 stride=1x2x2x1}, to_apply=%max_F32.17, metadata={op_type="MaxPool" op_name="max_pooling2d_4/MaxPool"}
TPU compilation failed
[[node TPUReplicateMetadata_3 (defined at :8) ]]
Original stack trace for 'TPUReplicateMetadata_3':
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py", line 16, in
app.launch_new_instance()
File "/usr/local/lib/python3.6/dist-packages/traitlets/config/application.py", line 658, in launch_instance
app.start()
File "/usr/local/lib/python3.6/dist-packages/ipykernel/kernelapp.py", line 477, in start
ioloop.IOLoop.instance().start()
File "/usr/local/lib/python3.6/dist-packages/tornado/ioloop.py", line 832, in start
self._run_callback(self._callbacks.popleft())
File "/usr/local/lib/python3.6/dist-packages/tornado/ioloop.py", line 605, in _run_callback
ret = callback()
File "/usr/local/lib/python3.6/dist-packages/tornado/stack_context.py", line 277, in null_wrapper
return fn(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/zmq/eventloop/zmqstream.py", line 536, in
self.io_loop.add_callback(lambda : self._handle_events(self.socket, 0))
File "/usr/local/lib/python3.6/dist-packages/zmq/eventloop/zmqstream.py", line 450, in _handle_events
self._handle_recv()
File "/usr/local/lib/python3.6/dist-packages/zmq/eventloop/zmqstream.py", line 480, in _handle_recv
self._run_callback(callback, msg)
File "/usr/local/lib/python3.6/dist-packages/zmq/eventloop/zmqstream.py", line 432, in _run_callback
callback(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/tornado/stack_context.py", line 277, in null_wrapper
return fn(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/ipykernel/kernelbase.py", line 283, in dispatcher
return self.dispatch_shell(stream, msg)
File "/usr/local/lib/python3.6/dist-packages/ipykernel/kernelbase.py", line 235, in dispatch_shell
handler(stream, idents, msg)
File "/usr/local/lib/python3.6/dist-packages/ipykernel/kernelbase.py", line 399, in execute_request
user_expressions, allow_stdin)
File "/usr/local/lib/python3.6/dist-packages/ipykernel/ipkernel.py", line 196, in do_execute
res = shell.run_cell(code, store_history=store_history, silent=silent)
File "/usr/local/lib/python3.6/dist-packages/ipykernel/zmqshell.py", line 533, in run_cell
return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/IPython/core/interactiveshell.py", line 2718, in run_cell
interactivity=interactivity, compiler=compiler, result=result)
File "/usr/local/lib/python3.6/dist-packages/IPython/core/interactiveshell.py", line 2828, in run_ast_nodes
if self.run_code(code, result):
File "/usr/local/lib/python3.6/dist-packages/IPython/core/interactiveshell.py", line 2882, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 8, in
model.evaluate(train_input_fn_from_tf_records(), steps=1)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training.py", line 904, in evaluate
callbacks=callbacks)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training_distributed.py", line 170, in evaluate_distributed
model, dataset, verbose=verbose, steps=steps, callbacks=callbacks)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training_distributed.py", line 520, in experimental_tpu_test_loop
_test_step_fn, args=(test_input_data,))
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/distribute/tpu_strategy.py", line 249, in experimental_run_v2
return _tpu_run(self, fn, args, kwargs)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/distribute/tpu_strategy.py", line 196, in _tpu_run
maximum_shapes=maximum_shapes)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/tpu/tpu.py", line 592, in replicate
maximum_shapes=maximum_shapes)[1]
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/tpu/tpu.py", line 854, in split_compile_and_replicate
num_replicas=num_replicas, use_tpu=use_tpu, **metadata_kwargs)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/gen_tpu_ops.py", line 6039, in tpu_replicate_metadata
name=name)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/op_def_library.py", line 788, in _apply_op_helper
op_def=op_def)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
return func(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/ops.py", line 3616, in create_op
op_def=op_def)
File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/ops.py", line 2005, in init
self._traceback = tf_stack.extract_stack()

Could able to reproduce the issue on colab with TF 1.14.Please see the gist here. Thanks!

Hello,
In your attempt to reproduce the issue, you used google drive but TFRecords/TPU are not compatible with google drive or local disk. A google bucket from google cloud service is mandatary.
Then you will be able to have the error i got, currently, you have :
UnimplementedError: From /job:worker/replica:0/task:0:
File system scheme '[local]' not implemented (file: '/content/drive/My Drive/tfrecord.test')
[[{{node list_files_3/MatchingFiles}}]]
Indeed, TPU don't accept (yet) local source file.
The error i raised is also an UnimplementedError but with another root cause.

@anhmeow Can you try TF1.15.0rc1 and let us know if the issue persists? Thanks!

The TPU version must match the version of TensorFlow you are installing with pip install. Are you creating a TF with --version=1.15?

@frankchn my initial problem is with TF 1.14 on collab which is in line with TPU, am i right?
i think testing on 1.15 is finally worthless as long as TPU is expecting TF 1.14, do you agree or am i missing something?

Yeah, in general you need to match the TF versions between the TPU and the Colab/VM instance that you are using. We don't support TF1.15 on Colab and 1.14 on the TPU (or any other combination).
Coming back to your original question, it looks like the XLA compiler doesn't support this feature right now: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/compiler/xla/service/dynamic_dimension_inference.cc#L712
@jvishnuvardhan Can you assign this to someone on the XLA team to see if they know more?

This should have been fixed in our internal branch. @rxsang is there a way to disable dynamic shape for this case?

You can call "dataset = dataset.batch(8, drop_remainder=True)" to disable the dynamic shape here.

@yunxing @rxsang In the code i provided to reproduce the issue, i've already put
files = files.batch(8, drop_remainder=True)

Unfortunately, i doesn't work for the evaluate method with TFRecords

Facing a similar issue here. In tf1.15 on calling fit, the training step runs smoothly in the first epoch then breaks at the validation step. fit without validation runs smoothly all the way.
In tf2.2, the error pops up in fit method, with or without validation.

What's the error popping up? I guess that may be a different issue than the previous comment, I'd like to know more details. Thanks!

So it's a conv-net, with the batch size set to 128 and the drop_remainder argument set to True. The error I get is:
Compilation failure: Dynamic Spatial Convolution is not supported: lhs shape is f32[16,<=262,<=262,3]
It's the same error in both the evaluate step in tf1.5 and train step in tf2.2. Since the last 3 dimensions are definitely okay, my intuition is that it's something to do with the dataset distribution among the tpu cores, but I don't know how to fix it without writing a custom training loop.

It seems you get this error because your image size is dynamic (from the error message, the dimension which has an upper bound of 262), which we don't support it yet). Can you share your input pipeline code? If it is not intended that you have dynamic image size, maybe some dataset ops produce dynamic image size in your case.

Dynamic image size is the next thing we are going to support. For now
making images static will make the test pass.
On Tue, Apr 21, 2020, 6:27 PM rxsang<EMAIL_ADDRESS>wrote:

It seems you get this error because your image size is dynamic (from the
error message, the dimension which has an upper bound of 262), which we
don't support it yet). Can you share your input pipeline code? If it is not
intended that you have dynamic image size, maybe some dataset ops produce
dynamic image size in your case.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/32868#issuecomment-617469873,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHYOWIQPHCPT4N546TAYELRNZBWRANCNFSM4I3DV4KQ
.

That worked. There was a tf.image.decode_jpeg in the pipeline, so I added a tf.reshape after it. Gracias.

Hi There,
We are checking to see if you still need help on this, as you are using an older version of tensorflow which is officially considered end of life . We recommend that you upgrade to the latest 2.x version and let us know if the issue still persists in newer versions. Please open a new issue for any help you need against 2.x, and we will get you the right help.
This issue will be closed automatically 7 days from now. If you still need help with this issue, please provide us with more information.


Proposal: Decentralized Identity (DID) Integration for Kaia

Description:
This project proposes integrating Decentralized Identity (DID) functionality on Kaia, allowing users to create and manage verifiable digital identities. By utilizing cryptographic keys and verifiable credentials, users will have more control over their data while interacting with Kaia DApps. This will enhance privacy, security, and user experience, especially for DeFi and NFT use cases, where trust and identity verification are critical.
Bounty Track: DeFi/DApps, Identity.

what are your deliverables for this proposal?

To start with, My deliverables for this proposal will reflect the key outcomes and milestones that will result from integrating Decentralized Identity (DID) functionality into the platform. Below are the lists of the well structured potential that if implemented, will bring improvements and growth to the Kaia blockchain network.

User Onboarding for DID: This brings about building a seamless interface for users to easily register and manage their decentralized identities.

Implementation of Frameworks for DID: To develop and integrate a decentralized identity framework that allow users to create and manage their identities on Kaia using cryptographic keys.

Security Audits: Security is the the most paramount in any blockchain ecosystem. So , we have to conduct a comprehensive security audits of the DID integration to  ensure protection against vulnerabilities.

Documentation and Tutorials: Provide detailed documentation and tutorials to help users and developers integrate DID functionalities into there applications.

what are your deliverables for this proposal?

To start with, My deliverables for this proposal will reflect the key outcomes and milestones that will result from integrating Decentralized Identity (DID) functionality into the platform. Below are the lists of the well structured potential that if implemented, will bring improvements and growth to the Kaia blockchain network.
User Onboarding for DID: This brings about building a seamless interface for users to easily register and manage their decentralized identities.
Implementation of Frameworks for DID: To develop and integrate a decentralized identity framework that allow users to create and manage their identities on Kaia using cryptographic keys.
Security Audits: Security is the the most paramount in any blockchain ecosystem. So , we have to conduct a comprehensive security audits of the DID integration to ensure protection against vulnerabilities.
Documentation and Tutorials: Provide detailed documentation and tutorials to help users and developers integrate DID functionalities into there applications.

Are you just giving me ChatGPT answers?
I need a descriptive explanation on your deliverables. What is DID? smart contracts, backends? How does it work roughly?


fix: Update deprecated list() for terraform 0.15

PR o'clock
Description
This fixes #1303
Checklist

[ ] CI tests are passing
[ ] README.md has been updated after any changes to variables and outputs. See https://github.com/terraform-aws-modules/terraform-aws-eks/#doc-generation

Duplicate of #1165

Terraform 0.15 is supported in version v15.0.0 that has been just released.
For the previous version of Terraform please use this module version ~> 14.0.
Let us know if there are any issues with this release.


Update _params.py

The description of the CLI az keyvault create --enable-rbac-authorization parameter currently reads:

--enable-rbac-authorization
Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value of false. Note that management actions are always authorized with RBAC.
Accepted values: false, true
Default value: True

This PR corrects the param description.
Related command
az keyvault create
Description
Updated param description to specify that enableRbacAuthorization=True as of Azure CLI 2.61.0.
Testing Guide
az keyvault create -g myResourceGroup -n rbac-test-cli
Note the absence of "--enable-rbac-authorization". Created key vault will have this property:
    "enableRbacAuthorization": true,

Thank you for your contribution! We will review the pull request and get back to you soon.


BUG UploadField hijacking return key

The bug was originally reported on stackoverflow and I can confirm it exists in the latest stable release of 3.1.
"I have page/form in the SS 3 CMS that has an uploadfield on it - when I hit enter on other fields the popup to attach a file automatically shows, how can I stop this behaviour?"
http://stackoverflow.com/questions/23988952/silverstripe-3-uploadfield-stop-upload-popup-appearing-when-enter-is-pressed
To reproduce
Create a Page/DataObject.
Add a TextField and UploadField
Focus on the TextField then press the return key.
If you haven't uploaded an image, it will trigger the modal to select a file.
If you have uploaded an image it will trigger the edit form of the upload field.

@micmania1 Can you confirm this against 3.1?
I could not reproduce it. Maybe a CMS issue?

My bug report at #1288 may be a duplicate.

My bug report at https://github.com/silverstripe/silverstripe-cms/issues/1288 (corrected for CMS repository) may be a duplicate of this. However, work is needed on both repositories, it appears. Ping @kinglozzer

@micmania1 @pedro2555 @kinglozzer
Ok, this was a combined fix applied to 3.1 on the CMS and framework, since the general underlying issue affected both repositories. See below for legend.

CMS:

Issue: https://github.com/silverstripe/silverstripe-cms/issues/1288
PR: https://github.com/silverstripe/silverstripe-cms/pull/1290

Framework:

Issue: https://github.com/silverstripe/silverstripe-framework/issues/3181 (you are here)
PR: https://github.com/silverstripe/silverstripe-framework/pull/4651

@kinglozzer  This issue should be since it has now been resolved by https://github.com/silverstripe/silverstripe-framework/pull/4662 :+1: (duplicate of my CMS issue https://github.com/silverstripe/silverstripe-cms/issues/1288)


Fixes #2162

For cases like #2162, there are other property source wrappers like jasypt, so we won't be able to decide whether to trigger this change or not.
So it's better just to trigger it as it is idempotent.

Codecov Report

Merging #2173 into master will decrease coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #2173      +/-   ##
============================================
- Coverage     49.95%   49.93%   -0.03%
+ Complexity     1981     1978       -3
============================================
  Files           401      401
  Lines         12401    12395       -6
  Branches       1275     1273       -2
============================================
- Hits           6195     6189       -6
  Misses         5763     5763
  Partials        443      443

Impacted Files
Coverage Δ
Complexity Δ

...pring/property/AutoUpdateConfigChangeListener.java
92% <ø> (-0.86%)
14 <0> (-3)

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 05a3229...232dd15. Read the comment docs.


[WIP] Excluding unused stages from API response

The aim of this PR is to clean up the API response for GET /api/v1/contests as follows: The venues field should only contain stages that are actually used in the contest, i.e. that have associated performances from that contest.

@denisw I'm not sure how to best tackle this. Do I need a subquery when preloading the contest's stages (the association runs contest -> host -> stages), which fetches that contest's performances and checks if any of them is associated with the stage? Or can it be done with some elaborate joins? I've added a failing test to illustrate what I'm trying to achieve here.


Allow using POST method to request /search API

According to the following documentation, CloudSearch seems to allow submitting search requests using POST method.
https://docs.aws.amazon.com/cloudsearch/latest/developerguide/submitting-search-requests.html

You can use any method you want to send HTTP requests directly to your domain's search endpoint—you can enter the request URL directly in a Web browser, use cURL to submit the request, or generate an HTTP call using your favorite HTTP library. To specify your search criteria, you specify a query string that specifies the constraints for your search and what you want to get back in the response. The query string must be URL-encoded. The maximum size of a search request submitted via GET is 8190 bytes, including the HTTP method, URI, and protocol version. You can submit larger requests using HTTP POST; however, keep in mind that large, complex requests take longer to process and are more likely to time out. For more information

And, when using Aws::CloudSearchDomain::Client of aws-sdk ruby, Aws::Plugins::CSDSwitchToPost is applied, so a POST request is sent.
So, I tried changing search API to accept POST method, what do you think?

Thanks for the pull request. I don't see a reason not to allow this :)

@dany1468 how about you update the README.txt to add your contribution and I'll make a v1.2.1 release for this?


Improving logging to Slack from GH actions

Right now we get false SUCCESS logged for actions when one sub-task is OK and a subsequent one fails.
We should try to log only for last task in the chain as that is dependent on the others. That could work, but needs to be tested.

Setting this on hold until due to priority


Cleanup the dws job example

I suggest to make the example minimal to reduce the chance of issues in case the node-pool name does not match the label. The node selector is not needed for the example to work, because Cluster Autoscaler (CA) will pick a node pool created with --enable-queued-provisioning.
In case there are multiple node-pools, per machine type, the preferred way of choosing the node pool would be using  cloud.google.com/gke-accelerator label configured at the Kueue's ResourceFlavor level.

cc @kisieland @mwielgus @alculquicondor

The node selector however sets a good example how to do it in more advanced/real environment. Without node selector, job may land on any node-pool, not necessairly the one from dws. So in order for the example to work, you need to modify resource falvor as weel.

The node selector however sets a good example how to do it in more advanced/real environment.

Maybe the real-world example with multiple nodepools (or machine types) fits better the gke-batch-refarch folder (but currently it does not mention DWS)?
In the current version, the yaml files here assume the DWS node-pool is named consistently, but the node-pool is created based on the docs in https://cloud.google.com/kubernetes-engine/docs/how-to/provisioningrequest, and users of the tutorial may not be aware of the connection, renaming the node-pool (or changing the accelerator type for the node-pool if we switch to  cloud.google.com/gke-accelerator).

Without node selector, job may land on any node-pool, not necessairly the one from dws. So in order for the example to work, you need to modify resource falvor as weel.

IIUC CA will choose a node-pool only from the DWS ones (those with --enable-queued-provisioning), so I think this example will work as long as the user has at least one DWS node pool. cc @kisieland to keep me honest here, but I've tested this on my cluster and it bound the DWS nodepool even though the default nodepool was also present.

/close
In favor of https://github.com/GoogleCloudPlatform/ai-on-gke/pull/597


Update whisper-quickstart.md

Update documentation to correct reference name.

@eric-urban
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Results Grid Row Indicator Zero Based

SQL Operations Studio Version: 0.32.2 August Insider Preview

Results grid row Indicator starts with row 0 should start with row 1
Steps to Reproduce:

Run any Query
Results grid shows 0 as first row in row indicator column.

I repro'ed this as well on same version on Windows.