Added eagain_not_error and noblock config options

When using ZMQ::SNDTIMEO with ZeroMQ logstash output
this will produce error messages with return code ZMQ::EAGAIN.
The eagain_not_error configuration parameter allows to ignore these
error messages.
Without ZMQ::SNDTIMEO ZeroMQ logstash output will not respond to
Ctrl+C interrupt if in send_string and there is no connection
to the peer (PUSHPULL).
If noblock is set to true, send_string will use ZMQ::DONTWAIT.
This allows to send without blocking in PUSHPULL.
Fixes #12

Jenkins standing by to test this. If you aren't a maintainer, you can ignore this comment. Someone with commit access, please review this and clear it for Jenkins to run; then  say 'jenkins, test it'.

@purbon You are kidding me, right?
There are no tests at all at the moment:
https://github.com/logstash-plugins/logstash-output-zeromq/blob/master/spec/outputs/zeromq_spec.rb

This plugin does not have any tests at the moment and I am not able to provide all the tests for this plugin.

@breml

You are kidding me, right?

I'm not kidding :smile:
is good to have test, and never is late to have them. We're trying hard to improve the different plugins quality and test coverage.
I will try to provide some scaffolding for tests here you might pick up. before I can do that, another way would be other people can test this in real life, so please dear community! let us know if this change works :+1:

I did not intend to offend you.
I would be very happy if you could provide some scaffolding for the tests.

I did not intend to offend you.

no offence taken man! much appreciate all your efforts here!! you are staying everywhere :+1:, I'm sorry however it takes some time to merge all things, so many thing to do in some small hours.

@purbon Do you have some scaffolding for the tests for me?

@avishai-ish-shalom would be awesome if you could review this patch. We can then merge https://github.com/logstash-plugins/logstash-input-zeromq/pull/18 as @breml mentioned

I'm putting this PR on hold until logstash-mixin-zeromq is integrated

Ok, i'm finally read to integrate this. @breml, what is the merit of non-blocking mode? if it's crucial to have ctrl+c working, should we even allow blocking mode? is there an alternate way to have ctrl+c working?

@avishai-ish-shalom You work quite hard on the ZeroMQ Logstash plugins today. Thanks a lot.
If I remember correctly, the current behavior is to block on sending. Because I did not want to change the default behavior, I implemented non-blocking as a new flag.
If ZeroMQ is unable to setup the connection, the send operation blocks in such way that Logstash does no longer respond correctly to ctrl+c (maybe to other signals as well).
But, if we use only the non-blocking mode, this plugin has to handle  EAGAIN error properly, otherwise events may be lost.
In general, Logstash is designed such that output-plugins, unable to process their events, will stop the whole queue within Logstash from being processed. This is a design decision, made very early in the development of Logstash. Consequently, the normal mode of operation for the ZeroMQ output plugin should be blocking (but still responding to ctrl+c).
On the other hand, there are situation, where the user is willing to accept some loss of events to prevent the whole queue being blocked.
Our use case for non blocking mode is the following:
We use ZeroMQ for transport of events from Logstash to Logstash over internet-VPN. In our case we keep all events (full details) on the sender side (e.g. elasticsearch), but for statistical reasons we do want to have some aggregated values on the receiving end as well. In our use case it is better to have some data loss than to block the whole Logstash queue.
We use the High Water Mark (HWM) feature of ZeroMQ to buffer events and let ZeroMQ compensate for small to medium sized interrupts on the VPN. Because we use HWM with non blocking sending, Logstash does not get blocked, even if our VPN has an interrupt.
Bottom line: I think the ZeroMQ output plugin should allow both modes, blocking and non blocking, because they serve different requirements.
We should further improve the blocking mode to be still responsive to ctrl+c.
I hope these explanations are clear. I am on holidays this week. I will followup on this next week.

The ZeroMQ topology suitable for lossy sending is pubsub and it should work well in blocking mode. pushpull socket isn't designed for lossy messaging, even in non-blocking mode.
As far as termination behaviour is concerned, I think using timeout and/or closing the zeromq context may achieve this.

@avishai-ish-shalom The pubsub topology is indeed suitable for lossy sending, BUT it really only best effort, which means even small network interrupts will lead to loss of log messages. This is not good enough for us (our use case), because we do observe quite frequent small interrupts on our internet based VPN connection.
For us the solution with pushpull topology combined with the high water mark allows us to easily compensate for small to medium interrupts (up to half an hour) and we would be quite unhappy to loose this option.
In my opinion the user of the ZeroMQ Logstash plugins should have both options: blocking and non-blocking.

@avishai-ish-shalom Could you please tell me, how we can precede with this PR?
CC: @suyograo

@breml this relates to the shutdown issues on logstash-mixin-zeromq. Also, wouldn't it be better to use zeromq poller for the non-blocking?

@avishai-ish-shalom What do you exactly mean by using the zeromq poller? How would this fit into the current zeromq output plugin?

I'm thinking perhaps we should just ditch the blocking mode and have only a poller based non-blocking mode. That would require a rewrite of course.


Productivity with jsverify vs unit testing

First I just want to say I really like this library and the idea of property-based testing.
However I tried using jsverify for a few days along side my unit tests and I wanted to come back and share what I found.

Setup
This was pretty smooth. I could use the jsverify right from within my established unit test suites. For the project I am currently working on I am using Mocha, Chai, Sinon and testing client side javascript as part of a React/Redux/ImmutableJs project. Jsverify does well to not care what your setup is, so well done!
First steps
a)  I am using Babel to transpile to ES5 and therefore am using the ES6 modules syntax. There wasn't any documentation on the readme for a quick reference importing from jsverify (which would be useful and quick to add) but it was fairly straightforward.

b) The reason for the jsc references (although answered in a FAQ at the bottom of the readme) were vague, especially when I just want to write my first test.

API documentation
a) I didn't find the API documentation to be as helpful as it easily could be. I suggest having a dedicated API documentation page(s), that can be linked to from the readme. It should be well structured, have clear function signatures, and at least a small code example for each function. I know this stuff is tedious, but it's a big time saver for those of us just picking up the library for the first time!

b) The example code shows forall used with the DSL but the API docs only describe using arbitrary objects directly. This is a bit confusing but not a big blocker. The idea of the DSL is actually really cool and I like it a lot, although I didn't really use it as I found it too hard to make complex structures (more on this further down).
c) The property function, although a helpful, looks like it should just make things easier rather than simpler. I learnt more about how the library worked by avoiding it and writing out explicit, assert and forall statements.
d) The readme in general feels very bloated.  I suggest breaking the different sections into their own pages.

Complex arbitrary structures
a) The first test I wrote was a dummy run to get things working. I used the forall DSL, defined a function, generated some arbitrary data, put it all together and yep, it worked fine. Next I turned to testing some simple functions in my code base. The first function took a plain object. I managed to track down the documentation for defining a record in the DSL so no problems there (although not quite as quick and easy as I had hoped).

The real problem hit when I needed some more complex data structure, which is common in a lot of real world apps. I don't know how well equipped the DSL is for this kind of thing, e.g. an array of objects with nested arrays and objects. I tried for some time but couldn't get it to work the way I needed it to. I found the arbitrary type and found I could construct my own, great!
I spent a fair amount of time getting these to work, small steps at a time but feeling frustrated as the function I was testing was simple. I stayed away from combinators as all I could see was a list of function signatures and nothing else (maybe these were what I needed?).
b) The idea of 'blessing' an object was new to me. It took a fair amount of time to realise that it returned the arbitrary I needed. Without it I was passing in an object with a single generator function to forall and would get cryptic error messages about smap etc. Lesson: Good error messages are good.
c) The ideas behind shink need to be more clearly communicated. Maybe this is something used in QuickCheck? Or is a general property-based testing concept? I got a bit lost (and bored) by the point that I might need to use them. Are there external references to articles that might help newbies get to grips with these concepts? Perhaps a quick intro to property based testing with jsverify would be helpful?

Performance
a) After getting a few tests up and running I could see that the performance of these tests weren't great. Some taking up to 700ms to run on a complex arbitrary structure. My whole test suite would fly until it reached the jsverify tests and then would stutter over them. In the end my tests were still quick enough that I could run them all and not be bothered too much. But I only had a handful of jsverify tests. It didn't encourage me to write more. The default number of tests for forall is 100 I think, I changed this to help but found that the default was very high. Is there a reason why 100 is the default?
Workflow
I understand that property-based testing lends itself well to testing functions that have well defined boundaries (what they accept and what they return). I like that it encourages programmers to write code like this. Although I found that, once I was more comfortable making complex arbitraries, my workflow and feedback loop had ground to a crawl.

a) I wasn't confident that any errors I saw was my code not behaving as expected, rather than that I had just built the arbitrary incorrectly.
b) I had to shift my testing style to assert only 1 thing inside the forall function. If the test failed it was hard to know why if there were multiple things I was checking. It would also feel crowded and confusing.
c) Writing complex arbitraries felt like slow work. Maybe the DSL could help there?
d) I spent a lot of time with jsverify but it was not clear what benefit I was gaining versus simply unit testing a few cases most of the time.
Sorry for the lengthy explanation. I will try and edit this and make my points more concise. Hopefully it makes sense. I'm interested to hear what your thoughts are on the all the above.
Thanks for making this cool library.

This is quite long, and I'm not sure what are the issue(s). Please make separate issues for separate things, so I (or others) can try to work on them (I'm very busy right now, and haven't time to work on jsverify, sorry for that).
For the documentation:

To make it better, I'm open for concrete proposals.

(Also) generating it into separate page would make sense, yet I like that it's on the npm package site. Adding examples is simple: make a PR.

Writing complex arbitraries: give an example, we can work on it, and eventually add to the docs. I cannot develop this if I don't know the direction or needs.

Cannot really comment much on the benefits of property-based-testing vs. example-unit-tests. (The discussion is often similar to comparing static types vs. dynamic types).
With (well written) properties you need less "tests". when you are fluent with property-based-testing way of thinking, it's a powerful tool. And it's worth pointing out: it's not an alternative to example-based-testing, it's an addition, to get more confidence that you have covered all possibilities. I often want to say forall natural numbers, with unit-tests I'm forced to pick few examples. Yet few examples are good to for pointing out few clear edge-case or to provide counter-examples for properties which don't hold.

I had to shift my testing style to assert only 1 thing inside the foral function.

Yes that's an idea. It's also bad TDD style to have (too) many asserts in single test
describe("myfunction", function () {
    it("works", function () {
        // works for numbers
        assert.equals(myfunction(1), 1);

        // works for strings
        assert.equals(myfunction("1"), 1)
    });
});

It might also be that you write functions which are bad fit to be tested with jsverify (i.e. too "big" or "complex").

There is a DSL, the documentation about it is quite terse though.
You can generate quite complex arbitraries already.
Real world examples (or ideas) would help here.

blessing is indeed tricky. Would be nice to have functions with prototypes.

I second that the API docs are lacking. It's hard to find a justifiable reason to include this in a project if someone can't just pick it up and use it within 5 minutes considering there are alternatives that allow that.

I repeat myself: I have no time for docs improvements. If someone wants the situation to change, please contribute.


Why LifoQueue and not simply Queue (or custom LifoQueue)?

During some profiling, I found out one slow operation is self.pool.get() in _get_conn().
In urllib3, in connectionpool.ConnectionPool, requests uses LifoQueue (which uses a list instead of a much faster deque):
https://github.com/kennethreitz/requests/blob/master/requests/packages/urllib3/connectionpool.py#L64
My suggestion is one could use a custom LifoQueue as:
class LifoQueue(Queue):
    def _get(self):
        return self.queue.pop()

or simply use a Queue, if Lifo is not really needed.

The LIFO property of the LifoQueue is very much needed: this is to ensure the increased likelihood of using a warm TCP connection, which provides substantial efficiency bonuses. The reason it's a queue, instead of just a deque, is to get the thread-safety guarantees that the queue module provides.
You are welcome to attempt to optimise this, but those two semantics need to be preserved. I suspect you'll find that the major performance cost is actually the locking, and by the time you reintroduce that the perf gains are minimal.

Further the code you're linking to is actually in urllib3, thus making this not only an invalid defect report but also one on the wrong project.


Getting error with npm start with Node 5.4.1

I tried to use this starter kit with latest Node JS, v5.4.1 stable, but it could not execute the npm start properly.
I received a lengthy error message, that goes like this:
ERROR in ./src/containers/Root.js
Module not found: Error: Cannot resolve 'file' or 'directory' /home/alayek/Documents/Awesome-App-Ideas/Markpad/node_modules/babel-preset-react-hmre/node_modules/react-transform-catch-errors/lib/index.js in /home/alayek/Documents/Awesome-App-Ideas/Markpad/src/containers
 @ ./src/containers/Root.js 33:14-165

ERROR in ./src/containers/Root.js
Module not found: Error: Cannot resolve 'file' or 'directory' /home/alayek/Documents/Awesome-App-Ideas/Markpad/node_modules/babel-preset-react-hmre/node_modules/react-transform-hmr/lib/index.js in /home/alayek/Documents/Awesome-App-Ideas/Markpad/src/containers
 @ ./src/containers/Root.js 41:14-156

ERROR in ./src/containers/Root.js
Module not found: Error: Cannot resolve 'file' or 'directory' /home/alayek/Documents/Awesome-App-Ideas/Markpad/node_modules/babel-preset-react-hmre/node_modules/redbox-react/lib/index.js in /home/alayek/Documents/Awesome-App-Ideas/Markpad/src/containers
 @ ./src/containers/Root.js 29:13-148

ERROR in ./src/views/HomeView/HomeView.js
Module not found: Error: Cannot resolve 'file' or 'directory' /home/alayek/Documents/Awesome-App-Ideas/Markpad/node_modules/babel-preset-react-hmre/node_modules/redbox-react/lib/index.js in /home/alayek/Documents/Awesome-App-Ideas/Markpad/src/views/HomeView
 @ ./src/views/HomeView/HomeView.js 30:13-148

ERROR in ./src/views/HomeView/HomeView.js
Module not found: Error: Cannot resolve 'file' or 'directory' /home/alayek/Documents/Awesome-App-Ideas/Markpad/node_modules/babel-preset-react-hmre/node_modules/react-transform-catch-errors/lib/index.js in /home/alayek/Documents/Awesome-App-Ideas/Markpad/src/views/HomeView
 @ ./src/views/HomeView/HomeView.js 34:14-165

ERROR in ./src/views/HomeView/HomeView.js
Module not found: Error: Cannot resolve 'file' or 'directory' /home/alayek/Documents/Awesome-App-Ideas/Markpad/node_modules/babel-preset-react-hmre/node_modules/react-transform-hmr/lib/index.js in /home/alayek/Documents/Awesome-App-Ideas/Markpad/src/views/HomeView
 @ ./src/views/HomeView/HomeView.js 42:14-156

ERROR in ./src/views/NotFoundView/NotFoundView.js
Module not found: Error: Cannot resolve 'file' or 'directory' /home/alayek/Documents/Awesome-App-Ideas/Markpad/node_modules/babel-preset-react-hmre/node_modules/redbox-react/lib/index.js in /home/alayek/Documents/Awesome-App-Ideas/Markpad/src/views/NotFoundView
 @ ./src/views/NotFoundView/NotFoundView.js 28:13-148

ERROR in ./src/views/NotFoundView/NotFoundView.js
Module not found: Error: Cannot resolve 'file' or 'directory' /home/alayek/Documents/Awesome-App-Ideas/Markpad/node_modules/babel-preset-react-hmre/node_modules/react-transform-catch-errors/lib/index.js in /home/alayek/Documents/Awesome-App-Ideas/Markpad/src/views/NotFoundView
 @ ./src/views/NotFoundView/NotFoundView.js 32:14-165

ERROR in ./src/views/NotFoundView/NotFoundView.js
Module not found: Error: Cannot resolve 'file' or 'directory' /home/alayek/Documents/Awesome-App-Ideas/Markpad/node_modules/babel-preset-react-hmre/node_modules/react-transform-hmr/lib/index.js in /home/alayek/Documents/Awesome-App-Ideas/Markpad/src/views/NotFoundView
 @ ./src/views/NotFoundView/NotFoundView.js 40:14-156

I am using Linux Mint 17.2, and this works with my default Node JS version v4.1.0.

Can you please post your npm version? It should be >3, so it's strange that those packages aren't being flattened:
Markpad/node_modules/babel-preset-react-hmre/node_modules/react-transform-hmr/lib/index.js

hi @davezuko When I do nvm use 5.4.1, it switches to Node version 5.4.1, with npm being v3.3.12

You need NPM > 3.5. Do an npm install -g npm.

@neverfox I can make this work (as I am doing right now) with Node ^v4.2.4, which has npm version less than 3.0. Is it a bug in npm?

That's because NPM 3 is a complete paradigm shift, and it had some rough edges out of the gate, so NPM 2 works fine. I'm just saying that, yes, early NPM 3 has bugs, so if you're going with a Node 5/NPM 3 combo, make sure it's 3.5+

ok thanks! I would recommend adding this to the README. If you want, I can raise a PR.

Ohh, I can see it's been already added yesterday. Ok, I am closing this issue as of now.


⚠ Thumbnails API Endpoint has degraded performance

In ac8b569, Thumbnails API Endpoint (https://thumbnails.roblox.com/v1/assets?assetIds=82738847&format=Png&isCircular=false&size=30x30) experienced degraded performance:

HTTP code: 200
Response time: 1107 ms

Resolved: Thumbnails API Endpoint performance has improved in 9d20bbc after 12 minutes.


do not require FORM_TYPE field in FilledForm

The FillableForm API is the most convenient way of filling out a
form. Currently only forms with a FORM_TYPE can be filled, due to a restriction
in FillableForm. This makes filling out untyped forms very cumbersome.
This commit removes the required FORM_TYPE when using FilledForm (and therefor FillableForm).
Some subclasses of FilledForm already check that the correct FORM_TYPE is set using
FilledForm#ensureFormType()

Thanks, applied to the 4.4 branch as https://github.com/igniterealtime/Smack/commit/d4d2a7a6d8a519cc51175320251c222ad5e27fa3


PP Pipeline Improvements

Render Pass function
Render pass function should not always give pass color texture and depth texture. The user should be able to decide what input he wants. We probably want to acces stuff like depth texture, normal buffer etc  within the shader, as a part of the shader library.
Shader Library
As mentioned in the issue above we want to make use of the shader library within post processing effects. We also want to add functionalities like depthTexture to the library.
Effect exectuion order
Priority is ambiguous (for me at least), is a low number low prio, or high prio?
I would change up the name or the variable to make that more clear or change the way effect execution order is handled.

Most of these are already fixed; However as of now with the current postprocessing stage I'm not going to fix this since I'm first busy with a rebuild of Core. after that the entire renderer will get another look over again as well so the way post processing effects work might change entirely.


How to use halm 3 with microk8s claster?

I installed halm 3 and tried to install Postgres and got Error: Kubernetes cluster unreachable. In debug logs, I found that helm tries to connect to cluster by 8080 port but cluster work on a different port.  Seems that helm cant find kubeconfig file and use default settings. Where I can find kubeconfig file?

https://microk8s.io/docs/commands#microk8s.config
Pipe the output of microk8s.config view --raw into a file and point kubectl at that file. Typically you'd use ~/.kube/config. See more details here on managing your kube config files: https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/

getopt: unrecognized option '--raw'
Try `getopt --help' for more information.

--raw is important?

Looks like it is not.. I was referring to old/out of date documentation. This should work:
microk8s.kubectl config view > $HOME/.kube/config

raw is not deprecated.  There was just a mistake in the command.  It should have been something like this microk8s.kubectl config view --raw > /tmp/kubeconfig.yaml

@balchua Thanks - not enough sleep for me I guess. I combined 2 commands. The repo's README had the correct command the whole time... https://github.com/ubuntu/microk8s
Sorry for the confusion.

The problem is solved. Thank you all for your help.


Adding release notes to Slack

Summary
To be up-to-date about the newest design system release, we would like to add this information to the Slack channels:
- design-system-focus
- rebranding-ext

Justification
Alignment between different teams, stakeholders.
Must-have functionality

Newest Changelog in Slack

Specific timeline issues / requests

When ever the time is ready – but as latest end of July

Available extra resources
Channel ID
- design-system-focus Channel ID: C02QQ4TTKRB
- rebranding-ext Channel ID: C02P8SA1Y2D

Maybe helpful – https://github.com/integrations/slack/issues/397

done


feat(action): update action to run with node16

:tada: This PR is included in version 1.4.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


on Zoom Rubber line / Elastic line will get redrawn in different location : Using ImagePoint on Zoom redraw and webpoint on draw

Hi All,
When i try to draw the Rubber line using overlay canvas the elastic line is drawn in different position .
On zoom line is redrawn in the different location
I am using 1)  webpoint to draw the line and  imagepoint on zoom to redraw the saved previous line
textAnnotationData.push : used to save and redraw the previous elastic line on zoom in and zoom out
step 1: Getting the Start point X,Y in canvas press
viewer.addHandler('canvas-press', function (event) {
    var webPoint1 = event.position;

    var viewportPoint1 = viewer.viewport.pointFromPixel(webPoint1);

    var imagePoint1 = viewer.viewport.viewportToImageCoordinates(viewportPoint1);

    startX = event.position.x;

    startY = event.position.y;
    isDown = true;

    textAnnotationData.push({ id: ++id, type: "line", data: "", startPoint: { webPoint: webPoint1, imagePoint: imagePoint1 }, endPoint: {} });
});

Step 2 : Creating the elastic line using drag
viewer.addHandler('canvas-drag', function (event) {

    if (!isDown) {
        return;
    }
  context2d.clearRect(0, 0, canvas.width, canvas.height);

    drawLine(event.position.x, event.position.y, context2d);
});

step 3: Getting the end point and save in the textAnnotation object and redraw it
    viewer.addHandler('canvas-release', function (event) {

       var webPoint2 = event.position;

        var viewportPoint2 = viewer.viewport.pointFromPixel(webPoint2);

        var imagePoint2 = viewer.viewport.viewportToImageCoordinates(viewportPoint2);

        if (!isDown) {
            return;
        }
        isDown = false;

       /// overlay.onRedraw(false);

        var lastData = textAnnotationData[id - 1];

        if (lastData.type == "line" && jQuery.isEmptyObject(lastData.endPoint)) {

            textAnnotationData[id - 1].data = "1";

            textAnnotationData[id - 1].endPoint = { webPoint: webPoint2, imagePoint: imagePoint2 };
        }
        drawLine(event.position.x, event.position.y, context2d);

    });

function drawLine(toX, toY, contextOver) {
    overlay.onRedraw(false);

    contextOver.beginPath();

    contextOver.moveTo(startX, startY);

    contextOver.lineTo(toX, toY);

    contextOver.stroke();

    //if (viewer.viewport.getZoom() > deafultZoom) {
    //    overlay.onRedraw(false);
    //}
    //else {
    //    overlay.onRedraw(true);
    //}

}

I assume you're using this plugin?
https://github.com/altert/OpenSeadragonCanvasOverlay
I believe it uses the image coordinate system, so you need to convert. Instead of:
startX = event.position.x;

...it should be:
startX = imagePoint1;

...and so on.

Hello iangilman,
thanks for the reply
I have tried with imagePoint1 but it is not working
i have created code pin
https://jsfiddle.net/vinay0727/ueyqmmhg/5/
Steps to Reproduce the issue

Click on canvas image and drag on it to draw a line

Zoom the canvas image

Again drag on canvas image
issue 1: on Drag older line will get clear because we are using overlay.clear();  (Do not resale the mouse click )

Question : How to clear only the present / Current drawing line in the canvas ,so we can get Rubber-ed / Elastic line ?
`  viewer.addHandler('canvas-drag', function (event) {
    if (!isDown) {
        return;
    }
    overlay.clear();
  drawLine(event.position.x, event.position.y,overlaycontext);
});`

issue 2: Previous drawn line is not redrawn on the canvas .Once we zoom in on canvas it will get redrawn (with out zoom in, line should get redrawn on canvas after mouse release event )
issue 3: Some times older / Previous line position get changes on redrawn i am using image point to redrawn
Please Check the code pin and any suggestion will be helpful
Thanks

I see you're calling overlay.onRedraw() in the canvas-release handler. That's the right idea, but it doesn't set up the transforms properly. Instead you need to call overlay._updateCanvas(). Technically this is not part of the API; I've filed https://github.com/altert/OpenSeadragonCanvasOverlay/issues/8 to propose that it be made public. Meanwhile you can still use it (just knowing that it might change in the future).
You should also call it from the canvas-drag handler, so the other lines stay visible while you drag.

Thanks a ton ....work perfectly.
But facing new issue with  constrainDuringPan
I need to enable  constrainDuringPan based on some condition . Even if constrainDuringPan is true based on condition .it was not reflecting with viewer
if(lineAnnotationenable == true){
viewer.visibilityRatio = 500;
viewer.constrainDuringPan = true;
}
else{
viewer.visibilityRatio = 0;
viewer.constrainDuringPan = false;
}
Here is the code for the same
https://jsfiddle.net/vinay0727/et7o404n/2/
Please Check the code pin and any suggestion will be great helpful
Thanks

Got resolved with
viewer.constrainDuringPan = true;
viewer.viewport.visibilityRatio = 50;
Thank you

Good to hear :-)


gem: Using Fibers with ranges

This is one of my favorite features in D, but it took me a while to discover this.
This allows one to write pretty sophisticated lazy algorithms by just saving keeping a reference to the stack.
Ali had a great talk about this year -> http://dconf.org/2016/talks/cehreli.html
import std.concurrency: Generator,yield;
auto r = new Generator!int(
{
    foreach (i; 1 .. 10)
        yield(i);
});

import std.range: iota;
import std.algorithm.comparison: equal;
assert(r.equal(iota(1, 10)));

https://dlang.org/library/std/concurrency/generator.html

That's a good one. There is already fiber's section maybe it fits  there.

This issue was moved to dlang-tour/english#7


remove command name restrictions

Leave it up to the developers and users what they deem acceptable.
Why?

The tight restrictions cause errors on scripts where users can set their own command names for example.
"Umlaute" or other kind of reasonable chars are currently not accepted but may be required by some
I had an issue when implementing <prefix>!stop (!!stop) for example

This change is backwards compatible.

it should at least check for whitespace chars this could break a few things when handling commands

Yeah, you're right 👍 I'll add that.


[KIWI-1755] Fix known vulnerabilities

Proposed changes
Fix known node vulnerabilities

Closing this as the ticket has been closed and this PR doesn't contain meaningful changes


[Adblock BUG] Describe bug.

Describe bug
i still have ads between my musics
Steps to replicate
Necessary screenshots

Spicetify and Spotify Version
spotify: 8.9.36
spicetify : 2.36.8
Config file:

same


Resources

List of resources here

https://www.infoq.com/presentations/security-iot-2017?utm_source=infoq&utm_medium=QCon_EarlyAccessVideos&utm_campaign=QConLondon2017

http://www.pewresearch.org/fact-tank/2015/11/10/key-takeaways-mobile-apps/

https://www.amazon.com/Ask-Building-Consent-Kitty-Stryker-ebook/dp/B075RH642S/ref=sr_1_1?ie=UTF8&qid=1508806460&sr=8-1&keywords=ask+building+consent+culture

danielleleong.com/recommended-readings


ENH: integrate.cubature: support non-rectangular regions of integration

Reference issues

#20252
Builds on:

#21330
#21473

What does this implement/fix?

The implementation still does "true cubature" by performing subdivisions in $\mathbb R^n$, unlike nquad which will treat the integral as a nested series of 1D integrals. To achieve this, if any limits are infinite or are functions of the preceding variables, it will apply an appropriate variable transformation to convert the integral into one over a rectangle, and perform subdivisions like normal. In the case of infinite limits, the transformations used are the same as those used by quad_vec.
This PR:

Allows infinite limits to be specified by including $\pm \infty$ in a or b,
Allows regions described by function limits through a new region argument, details of which are included in the additional information section.
Add a points argument to cubature which can be used like it is in quad_vec to avoid evaluating the integrand at singularities or other problematic points.
Maintains Array API support (although tests are not passing with jax.numpy when using infinite or function limits because of index assignment errors).
Improves documentation by tidying up the "Examples" section of the cubature docstring and also addressing a problem raised in #20252 where the docs in the "Return" section referred to a private object. Now the attributes of this object are included in the public docstring. A few style and formatting issues in the docstring have also been addressed.
Renames CubatureRegion to CubaturePatch in the source of cubature to avoid a naming clash with the new region= argument.
Adds more tests for infinite limits and limits that are functions, and a few of the existing tests have been modified so they are faster. Tests have also been added for cases when a and b are empty, a and b are the same, or a > b.

     # For example, 4 different densities:
...     return (x_0**2 + x_1**2)[:, np.newaxis] / np.arange(1, 5)[np.newaxis, :]
>>> # density takes arrays of shape (npoints, 2) and returns arrays of shape
>>> # (npoints, 4)
>>> density(np.array([[-0.5, 0.5], [1, 1]]))
 array([[0.5       , 0.25      , 0.16666667, 0.125     ],
		[2.        , 1.        , 0.66666667, 0.5       ]])
>>> res = cubature(
...     density,
...     # Outer limits:
...     a=[-1],
...     b=[1],
...     # Inner limits. In the problem there is only one pair of function limits, so
...     # region is a list of length 1.
...     region=[
...           # This function takes the value of the outer variables, which in this
...           # case is the value of x_0. It then returns the new limits for the
...           # inner variables, which in this case is just x_1.
...           #
...           # In general, there might be more outer variables and more inner
...           # variables, and new limits might need to be calculated for several
...           # different values of outer variables at once. This means x_arr is of
...           # shape (npoints, num_outer) and it needs to return a tuple of arrays
...           # of shape (npoints, num_inner).
...           lambda x_arr: (
...               -np.sqrt(1-x_arr[:, 0]**2)[:, np.newaxis],
...                np.sqrt(1-x_arr[:, 0]**2)[:, np.newaxis],
...           ),
...     ],
... )
>>> res.estimate
 array([1.57079633, 0.78539816, 0.52359878, 0.39269908])

3D integral over a sphere with region
$$
\int^{ 1 } _ { -1 } \int^{ \sqrt{1-x _ 0^2} }_{ -\sqrt{1-x _ 0^2} } \int^{ \sqrt{1-x _ 0^2-x _ 1^2} } _ { -\sqrt{1-x _ 0^2-x _ 1^2} } 1 \text dx _ 2 \text dx _ 1 \text dx _ 0
$$
>>> res = cubature(
...     lambda x_arr: np.ones(x_arr.shape[0]),
...     a=[-1],
...     b=[1],
...     rtol=1e-5,  # Reduce tolerance, can be slow otherwise
...     region=[
...         lambda x_arr: (
...             -np.sqrt(1-x_arr[:, 0]**2)[:, np.newaxis],
...              np.sqrt(1-x_arr[:, 0]**2)[:, np.newaxis],
...         ),
...         lambda x_arr: (
...             -np.sqrt(1-x_arr[:, 0]**2-x_arr[:, 1]**2)[:, np.newaxis],
...              np.sqrt(1-x_arr[:, 0]**2-x_arr[:, 1]**2)[:, np.newaxis],
...         ),
...     ],
... )
>>> res.estimate  # True value 4*pi/3
 4.188792

Returning multiple limits at once using region
In the above uses of region, each function in the list has returned an array of shape (npoints, 1). In the previous example, it is not possible to combine these two functions into one:
>>> # Won't work:
>>> res = cubature(
...     lambda x_arr: np.ones(x_arr.shape[0]),
...     a=[-1],
...     b=[1],
...     rtol=1e-5,
...     region=[
...         lambda x_arr: (
...             [
...                 -np.sqrt(1-x_arr[:, 0]**2),
...                 -np.sqrt(1-x_arr[:, 0]**2-x_arr[:, 1]**2),
...                 #                         ^^^^^^^^^^^
...                 # This will cause an error since x_arr[:, 1] depends on the
...                 # value of the previous limit, which has not yet been returned.
...             ],
...             [
...                 np.sqrt(1-x_arr[:, 0]**2),
...                 np.sqrt(1-x_arr[:, 0]**2-x_arr[:, 1]**2),
...                 # Also a problem here:   ^^^^^^^^^^^
...             ],
...         ),
...     ],
... )
Traceback (most recent call last):
 ...
IndexError: index 1 is out of bounds for axis 1 with size 1

This is because the expression np.sqrt(1-x_arr[:, 0]**2-x_arr[:, 1]**2) depends
on the value of x[:, 1] which will not be known when this function is called. This is because the limits for x[:, 1] cannot be determined without calling this function.
If you have an integral where a group of limits do not depend on one another, you can return them together.

For $i > n$, the inner variables are mapped via the transformation:
$$
x _ i = \frac{ B _ {i}(x _ 1, \ldots, x _ {i-1}) + A _ {i}(x _ 1, \ldots, x _ {i-1}) }{2} + t _ i \frac{ B _ {i}(x _ 1, \ldots, x _ {i-1}) - A _ {i}(x _ 1, \ldots, x _ {i-1}) }{2}
$$
To specify this type of integral programatically, the outer limits should be included in a and b and a list of callables region should describe the function limits.
a = [a_1, ..., a_n]
b = [b_1, ..., b_n]

region = [
	region_func_1,
	...,
	region_func_k,
]

Each region_func_i should accepts arrays of shape (npoints, num_preceding_variables) and return a tuple of two arrays, one for the next set of lower limits given the values of the preceding variables, and one for the next set of upper limits given the values of the preceding variables. Both of the returned arrays should have shape (npoints, num_new_variables).
Then cubature would be called like so:
cubature(f, a, b, region=region)

Why this interface?
Some of the other interfaces considered for limits with functions included:
# Mixing numbers and callables together in `a` and `b`
cubature(
    f,
    [-1, lambda x: -np.sqrt(1 - x**2), lambda x, y: -np.sqrt(1 - x**2 - y**2)],
    [ 1, lambda x:  np.sqrt(1 - x**2), lambda x, y:  np.sqrt(1 - x**2 - y**2)],
)

# Having `a_func` and `b_func` arguments
cubature(
    f,
    [-1],
    [ 1],
    a_func=[lambda x: -np.sqrt(1 - x**2), lambda x, y: -np.sqrt(1 - x**2 - y**2)],
    b_func=[lambda x:  np.sqrt(1 - x**2), lambda x, y:  np.sqrt(1 - x**2 - y**2)]
)

# Mixing numbers and callables together in `a` and `b`, but the callables are vectorized
cubature(
    f,
    [-1, lambda x: -np.sqrt(1 - x[:, 0]**2), lambda x: -np.sqrt(1 - x[:, 0]**2 - x[:, 1]**2)],
    [ 1, lambda x:  np.sqrt(1 - x[:, 0]**2), lambda x:  np.sqrt(1 - x[:, 0]**2 - x[:, 1]**2)],
)

All of these have their own pros/cons. For example, mixing numbers and callables together might look the most natural but this means that a lot of work might be unnecessarily repeated if the limits are symmetric and it's not easy to return the values of multiple limits for multiple variables at the same time. In all the interfaces above, if the limits get more complicated, it will be difficult to refactor.
Definitely open to suggestions!
Acknowledgements
Many thanks to @izaid and @ev-br, who have provided lots of help in making this PR, and thanks to @lucascolley for help with the array API support.

Thanks, this looks cool!
One question with the chosen interface, maybe I am misunderstanding, but what if I had $\int_0^1\int_0^{z^2}\int_0^1 f(x,y,z)\  \text{d}x\text{d}y\text{d}z$? Would the inner $[0,1]$ have to be a callable?
This is quite big PR (lots of cool features!) potentially it might be helpful to break it up into smaller PRs if possible as there is quite a lot going on here.

@j-bowhay Thanks! Yes, at the moment, the inner $[0, 1]$ would have to be a callable. It would be possible to allow something like
cubature(
  f,
  [0],
  [1],
  region=[
    lambda x: (np.zeros((x.shape[0], 1)), (x[:, 0]**2)[..., np.newaxis]),
    (0, 1),
  ]
)

and the transformation would not be applied for $x \in (0, 1)$.
I'm happy to split it up into smaller PRs if that would be easier to review. Would the following work?

Doc improvements and additional tests for existing functionality
Support for infinite limits and points argument (these need to be together as the infinite limits transformation introduces a singularity at the origin)
Support for region argument

Also, I think that now the CI failures above are unrelated.

That would be perfect thanks!

Thanks, this looks cool!
One question with the chosen interface, maybe I am misunderstanding, but what if I had ∫ 0 1 ∫ 0 z 2 ∫ 0 1 f ( x , y , z )   d x d y d z ? Would the inner [ 0 , 1 ] have to be a callable?
This is quite big PR (lots of cool features!) potentially it might be helpful to break it up into smaller PRs (eg. doc improvements, infinite limits, then regions) if possible as there is quite a lot going on here.

Yep, that's correct. On the interface, we really went through a lot of possible options. It's really not easy to find something that actually works mathematically and can fit with array vectorization. I'm also not a fan of mixing functions and numbers / arrays in lists, I think it's confusing. Ultimately, we picked what we thought was the best.

Thanks, this looks cool!
One question with the chosen interface, maybe I am misunderstanding, but what if I had ∫ 0 1 ∫ 0 z 2 ∫ 0 1 f ( x , y , z )   d x d y d z ? Would the inner [ 0 , 1 ] have to be a callable?
This is quite big PR (lots of cool features!) potentially it might be helpful to break it up into smaller PRs (eg. doc improvements, infinite limits, then regions) if possible as there is quite a lot going on here.

Yep, that's correct. On the interface, we really went through a lot of possible options. It's really not easy to find something that actually works mathematically and can fit with array vectorization. I'm also not a fan of mixing functions and numbers / arrays in lists, I think it's confusing. Ultimately, we picked what we thought was the best.

I agree the argument about not mixing functions and numbers / arrays in lists is compelling. Also I guess in many practical uses Fubini's theorem applies so the order of integration can be exchanged to get back to the form proposed here.
I would change the order of the function signature to be (and add * to force kwarg only)
def cubature(f, a, b, *, region=None, rule="gk21", rtol=1e-8, atol=0, max_subdivisions=10000,
             args=(), workers=1, points=None):

so that also the documentation on defining the region of integration appears together.

@j-bowhay I'm just about to open a new PR just for the doc improvements. Should I close this one?

We can leave it open for visibility and in case anyone wants to take it for a test drive


how to view result?

do you have any demo?  to view the result of several videos

We do not include the visualization code as part of this repo, though it should be straightforward to code up one.

Closed due to inactivity.

Closed due to inactivity.

@happyharrycn  Can you provide visual code for learning now? Thank you so much.


Build upon the default configuration

When I supply an empty configuration file, the defaults are being run.
Now I want to suppress the MagicNumber rule:
style:
  MagicNumber:
    active: false

It seems that detekt now runs nothing at all. Is it possible to use detekt so it only disables this one but keeps all the other defaults?
I trust in this library to provide good defaults and only want to suppress some, without copy-pasting a 500-line configuration and updating each time you change your recommendations / add rules.

Thats actually a valid point and I would expect the same.
I will look into this.

I ran into the same problem. Not good documented but it already works. Try this:
# Enable all rules by default
failFast: true

# Configure rules and override default values
style:
  MagicNumber:
    active: false

As far as I understand this does not enable the defaults. It rather just enables everything.

Isn't everything enabled the default?

Nope
If you don't set a config this is being used:
https://github.com/arturbosch/detekt/blob/master/detekt-cli/src/main/resources/default-detekt-config.yml
And that's whati want to build upon.

But everything in default detekt config is generated from the KDoc of the rules which is based on the hard coded defaults in the rule itself. So what @passsy writes should be what you want?


Fixed indentation in PostgreSQLDatabaseConfig.swift

I’m so, so sorry for creating possibly the tiniest, least important PR ever 🙇♂
The OCD is real.

haha, thanks!

Hey @Cellane, you just merged a pull request, have a coin!
You now have 79 coins.


OCPVE-346: fix: remove build cache mount

removes a wrongly introduced mount for the docker build cache that was committed by accident

Codecov Report

Merging #439 (e40a190) into main (b805863) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #439   +/-   ##
=======================================
  Coverage   57.65%   57.65%
=======================================
  Files          20       20
  Lines        1547     1547
=======================================
  Hits          892      892
  Misses        539      539
  Partials      116      116

/lgtm
/approve


fix: add @sinclair/typebox to devDependencies

When I'm trying to initialise project by using pnpm typebox dependency is missing due to strictness in pnpm.
This PR adds @sinclair/typebox to devDependencies
Before submitting a Pull Request, please test your code.
If you created a new feature, then create the unit test function, too.
# COMPILE
npm run build

# RE-WRITE TEST PROGRAMS IF REQUIRED
npm run test:template

# BUILD TEST PROGRAM
npm run build:test

# DO TEST
npm run test

Learn more about the CONTRIBUTING

I have a question that, why are you installing this repository through pnpm?
I prefer to use pnpm for all projects that I'm trying contribute. In typia repository I didn't found any lock file - so I decided to try pnpm

Oops, I've missed package-lock.json file.


Documentation:  setup of developer environment

Please select a category the issue is focused on?
Developer Guides
Let us know where something needs a refresh or put your idea here!
I LOVE replacing renv() with devtools::install_dev_deps() !!! I start an RStudio session, clone the repo and do devtools::install_dev_deps() and everything (except lintr, stylr, ???) is in place. For example, I can run all the tests without needing to remember to install admiraldev, pharmaversesdtm.
I looked around in admiraldev to see where this is documented and I am not finding it.

I was about to post a new issue, but I believe it is more linked to this so thought I'd put in here instead. Currently in the Programming Strategy we've got

However, I don't believe we do have this anymore?

Correct!  No longer using renv - where did you find this blurb?

In the programming strategy vignette.
(But the updates that have been made to that look really good - and was a useful refresh, thank you!)

Thanks - we need to remove this https://pharmaverse.github.io/admiraldev/dev/articles/programming_strategy.html#r-and-package-versions-for-development


ensure RNVersionNumber exists for unit tests (with updated flow types)

This is based off of @evanjmg's work in #16. I've added flow type updates to reflect the potential void value.

Can you guys solve the conflicts?
@evanjmg I just made you collaborator, so feel free to merge this and ping me for the release 😉

@alvaromb should be resolved now

Any chance of this getting merged in? Looks like the issues have been resolved.

https://github.com/APSL/react-native-version-number/releases/tag/v0.3.2


Add that elapsed_time in CharFXTransform resets when RichTextLabels text has changed

Bugsquad edit: Closes https://github.com/godotengine/godot-docs/issues/5292

Cherry-picked for 3.4.


Failed to invoke callback System.Action

Hi, when calling the GetPurchaserInfo method, I get the error: "Failed to invoke callback System.Action`1[System.String] with arg {"success":{"access_levels":{},"subscriptions":{},"non_subscriptions":{},"profile_id":"07d28733-8695-4663-ba6a-22e505df02c7"}}: Exception has been thrown by the target of an invocation. --> The given key 'premium' was not present in the dictionary."
Also sometimes there is an error with Make Purchase and RestorePurchases:
"Failed to invoke callback System.Action`1[System.String] with arg {"error":{"code":2,"message":"The operation couldn’t be completed. (SKErrorDomain error 2.)","adapty_code":2,"domain":"SKErrorDomain"}}: Exception has been thrown by the target of an invocation. --> Object reference not set to an instance of an object.
Stacktrace is not supported on this platform."
Unity 2021.3.3f1, Cocoapods Adapt 1.17.6, Unity Plugin 1.0.1, iOS 15.3.1

Hi, @OlegGrizzly!
Looks like something from within your completion blocks throws an exception. For example, as I see, you have an empty AccessLevels dictionary and you trying to get the value by the key 'premium', which leads to the KeyNotFoundException.
I think you should try to use the TryGetValue method or check the key existence before.
Adapty.AccessLevelInfo accessLevel;
if (purchaserInfo != null && purchaserInfo.AccessLevels != null && purchaserInfo.AccessLevels.TryGetValue("premium", out accessLevel)) {
    var isActive = accessLevel.IsActive;
    // grant the access if active
}

I already tried this method but i always get null.  when there is even a subscription.
Отправлено из мобильной Почты Mail.ru
Monday 18 July 2022 at 17:11 +0900 from @.***  @.***>:

Hi,  @OlegGrizzly !
Looks like something from within your completion blocks throws an exception. For example, as I see, you have an empty AccessLevels dictionary and you trying to get the value by the key 'premium', which leads to the KeyNotFoundException.
I think you should try to use the TryGetValue method or check the key existence before.
Adapty.AccessLevelInfo accessLevel;
if (purchaserInfo != null && purchaserInfo.AccessLevels != null && purchaserInfo.AccessLevels.TryGetValue("premium", out accessLevel)) {
var isActive = accessLevel.IsActive;
// grant the access if active
}
—
Reply to this email directly,  view it on GitHub , or  unsubscribe .
You are receiving this because you were mentioned. Message ID:  <adaptyteam/AdaptySDK-Unity/issues/5/1186898040 @ github . com>

Could you please print all the purchaserInfo object? There should be a non-empty Subscriptions dictionary, in case you did some successful purchases before.


Support of pip/wheel package

First of all, let me say thank you for this great software!
I have 2 questions about pip package of OpenVINO.

Does the community have a plan to support a python pip/wheel package for OpenVINO?
Currently, I couldn't find a pip/wheel package for OpenVINO though Intel-numpy and other packages are registered in PyPI.
I would like to know whether the community has a plan to release it in the future.
Can I publish a pip/wheel package for OpenVINO?
I have created a wheel package of OpenVINO for my personal use, but I'm not sure whether I can publish it in PyPI or on my own web page.
If I should not publish it, please let me know.

Again, thank you very much for the great software!
Regards,
Murase

Dear @masamitsu-murase ,
About the first question. Yes, the community have a plan to support a python pip package for OpenVINO in the future.
About the second question, yes , you can publish in your own web page. And it will be very great, if you provide instructions on how  you create pip/wheel package of OpenVino. This will help us enable pip package more faster.

Thank you very much for your reply.
I understood the current status.
I will publish the pip package in the following repositories soon.

https://github.com/masamitsu-murase/openvino-python
https://github.com/masamitsu-murase/openvino-rt

Regards,
Murase

@antonrom23
This is just for your information.
I comitted changesets to create a pip package for OpenVINO on Windows in the following repository.
https://github.com/masamitsu-murase/openvino-python
setup.py has some changes to include prebuilt *.pyd files in the pip package.
I hope this implementation helps you in the future.
Regards,
Murase


Add support of --raid-level parameter

Commit  https://github.com/scylladb/scylla/commit/42fd73d0332d034809c6cd228785bff82e1845aa added support to create
raid 5 by passing parameter --raid-leve to scylla_setup and scylla_raid_setup.
Need add support SMI scripts to create different raid configuration with aws ami and gce images

Closed via https://github.com/scylladb/scylla-machine-image/pull/266


MXNet-TRT: Add PrePartition param caching - move init_tensorrt_params logic

Description
This PR upgrades the MXNet TensorRT integration to use the new TensorRT 7.0 API and refactor it to fully use the new Partition API (described in #17623 and previous related PRs).
This allows the user to use the new optimize_for method to run the full optimization (graph partitioning + TensorRT creation) in a single pass instead of the previous get_backend_symbol + init_tensorrt_params two stage optimization.
Changes:

Update the TensorRT API calls to TensorRT 7.0
The new Partition API adds a PrePartition member function to SubgraphProperty that allows us to modify the graph before the partitioning and Subgraph optimization pass. It also give us a way to access the params (args and aux) during the partitioning.
Add PrePartition to the TensorRT partitioning backend and change to logic to pass the params to the TensorRT backend directly during the optimization (hence making obsolete init_tensorrt_params).
Update the tests to use optimize_for instead of get_backend_symbol.

:warning: This PR requires #18378, #18405 and #18350 to be merged.

@mxnet-bot run ci [centos-cpu]

@mxnet-bot run ci [unix-gpu]

@mxnet-bot run ci [clang]

@samskalicky Is this ready to be merged?


feat: Add Hybrid section with local cluster on Outposts

Description

Add Hybrid section with local cluster on Outposts

Motivation and Context

This is to transition this over to blueprints as the first pattern with two more planned for this year

This has been updated to use AL2023 and also require users to supply the ARN of the Outposts rack since that is a hard requirement

How was this change tested?

[ ] Yes, I have tested the PR using my local account setup (Provide any test evidence report under Additional Notes)
[x] Yes, I have updated the docs for this feature
[x] Yes, I ran pre-commit run -a with this PR

Additional Notes

pending access to the lab to do final validation


[BACKLOG-14601] - Eliminating spaces and Migrating code to DET project

Eliminated space in the link
Migrating code to check for the warning to the DET project for it to be check at the same time you push the entry point

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -f ui/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  ui/src/org/pentaho/di/ui/core/dialog/messages/messages_en_US.properties
  ui/src/org/pentaho/di/ui/spoon/ExpandedContentManager.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.ui.spoon.ExpandedContentManager

Branch Change:  + 13.33%
Complexity Change:  + 7.63%
Instruction Change:  + 5.85%
Line Change:  + 6.70%
Method Change:  + 5.57%

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/ui/src/org/pentaho/di/ui/spoon/ExpandedContentManager.java

:heavy_exclamation_mark: Unused import - org.pentaho.di.ui.core.dialog.BrowserEnvironmentWarningDialog. at Line: 36 Column: 8

:heavy_exclamation_mark: Unused import - org.pentaho.di.ui.util.EnvironmentUtils. at Line: 38 Column: 8

https://github.com/pentaho/pentaho-det-ee/pull/363

@pentaho/bobafett please review

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -f ui/build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  ui/src/org/pentaho/di/ui/core/dialog/messages/messages_en_US.properties
  ui/src/org/pentaho/di/ui/spoon/ExpandedContentManager.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.ui.spoon.ExpandedContentManager

Branch Change:  + 13.33%
Complexity Change:  + 7.63%
Instruction Change:  + 5.85%
Line Change:  + 6.70%
Method Change:  + 5.57%

Will merge once the related pr gets fixed


more return types

What does this PR do?
Fixes #191
Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes?
[x] Did you write any new necessary tests? [not needed for typos/docs]
[x] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review

[x] Is this pull request ready for review? (if not, please submit in draft mode)

Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

@aniketmaurya mind check collision :]

Sure @Borda

Note that this should be handled inside a Postprocess, not in the predict_step

Note that this should be handled inside a Postprocess, not in the predict_step

@carmocca are you suggesting to put postprocess in the data_pipeline? Or pass the arguments in predict func and a separate postprocess func should take care of it? Because I see that data_pipeline has to be passed by user as argument and it will not be convenient for users to create data_pipeline for printing classes/raw probs.

DataPipeline was completely revamped lately. It now includes Preprocess and Postprocess objects.
These return conversions are now expected to be encapsulated by the postprocess part. What is your use case exactly?
For example, this is an example setting a custom Preprocess
https://github.com/PyTorchLightning/lightning-flash/blob/master/flash/core/classification.py
cc: @tchaton

Hi @aniketmaurya, great work on this PR :smiley: I've now added multiple return types in #229 (with some inspiration from your work) so closing this.
Please feel free to provide your thoughts on #229


nixos/networking-scripted: restore bridge slaves dynamically added by…

Motivation for this change
Another attempt to do something with disappearing slaves
History is here https://github.com/NixOS/nixpkgs/pull/26765 and https://github.com/NixOS/nixpkgs/issues/26342
The use case is not to destroy VM's network on nixos-rebuild switch on the host, when network-setup.service stops then starts, not just reloads.
['ssh',
 '-oControlPath=/run/user/1000/nixops-ssh-tmpqgre9163/master-socket',
 '-oLogLevel=quiet',
 '-oUserKnownHostsFile=/dev/null',
 '-oGlobalKnownHostsFile=/dev/null',
 '-oStrictHostKeyChecking=no',
 '-oCheckHostIP=no',
 '-X',
 '-t'<EMAIL_ADDRESS> '--',
 '/nix/store/dz2yl580fbs7h1qq0m1z9fpm28c5472x-nixos-system-x1-17.09.git.d9ad651/bin/switch-to-configuration switch']
updating GRUB 2 menu...
stopping the following units: network-setup.service
activating the configuration...
setting up /etc...
setting up tmpfiles
starting the following units: network-setup.service

This fix is for libvirt only, nixos-container is not covered (here is a similar fix for containers).
There is also https://github.com/NixOS/nixpkgs/pull/26765 which helps for both libvirt and nixos-container (and any not yet known software which enslaves interfaces dynamically), which might be a better option. I stuck to this libvirt-bound solution because of ease of existing installations upgrade: it works right from the first nixos-rebuild switch, while upgrading networking scripts to ones with saving-support requires an extra restart on which the slaves will be lost.
cc @globin @fpletz @kampfschlaefer @mxxz

I deployed it into production few days ago.
But.
There is also concept of network in libvirt which I never used.
It might have references to the bridges and this is not covered by this code.

@volth This should work just fine. Networks are basically bridges that are fully managed by libvirt. libvirt takes care of setting up the interface, starting a dnsmasq for DHCPv4, setting up NAT etc. These networks/bridges can't be the same as those managed by the NixOS configuration. I suspect things will break on system activation anyway.

I meant those bridges might be mentioned in other places of xml

Hey, same problem here.
Patchset works for me, please merge.

up


FirebaseMessaging fails to build sqlite3.h header import

When the pod 'YapDatabase/SQLCipher', '3.0.2' is added to the Podfile, FirebaseMessaging fails to build:
/Users/paulbeusterien/firebase/quickstart-ios/messaging/Pods/FirebaseMessaging/Firebase/Messaging/FIRMessagingRmq2PersistentStore.m:19:9: fatal error: 'sqlite3.h' file not found
#import "sqlite3.h"
        ^~~~~~~~~~~
1 error generated.

A workaround is to change to #import <sqlite3.h>
System headers probably should have brackets, but why does it stop getting found when another pod that includes the header, that shouldn't be referenced in the FirebaseMessaging pod, is added?
Reported on stackoverflow.
cc: @chliangGoogle

SQLCipher ships its own copy of sqlite3.h and publishes it as a public header.
It seems likely that after adding SQLCipher when Xcode builds the header map it now knows that the sqlite3.h header is part of that framework but sees you're not actually dependent on that framework so it treats that file as not found instead of falling back on the system version.
If I add this to the FirebaseMessaging.podspec the build works again without changing #import "sqlite3.h" to #import <sqlite3.h>
s.dependency 'SQLCipher', '~> 3.4.2'

But why 2.2.0 worked with SQLCipher? No SQLite in previous FirebaseMessaging version?


Versioning or unique object identifiers in storage

Feature Request
I want to synchronize my local files with different cloud storages. So, for this I would like to have some mechanism to check if a file in the cloud differs from my file. Unfortunately, I could not find any appropriate feature in libcloud.
I propose using the same hash method for all storage drivers and make it public, so anyone can check if file is the same in a local system and in any cloud.
However, this approach doesn't allow to determine where the file was changed, so, alternatively, we can use modify_time from os.stat(file).st_mtime or, maybe, you have a better idea.

If you choose hash option, it seems pretty easy, because most of the providers use data_hash from StorageDriver._upload_object, except LocalDriver, which uses md5(modify_time), and, maybe, some else.


Showcase: Pano Gnome extension

Same as #46 but for the extension Pano, that also uses many types and is fully typed ❤

Thank you, this will certainly be a great help for others to get started


Letter spacing

@rowild points out a useful resource for adding custom letter spacing functionality.
http://stackoverflow.com/questions/8952909/letter-spacing-in-canvas-element/14991381

Awesome. No point recreating the wheel?
Sent from my iPhone

On 25/02/2016, at 8:50 AM, BenjaminDRichards<EMAIL_ADDRESS>wrote:
@rowild points out a useful resource for adding custom letter spacing functionality.
http://stackoverflow.com/questions/8952909/letter-spacing-in-canvas-element/14991381
—
Reply to this email directly or view it on GitHub.


Missing Image for Cumulative Update 06 for Microsoft Dynamics 365 Business Central on-premises

hi,
Just searched on :
You can retrieve a list of all available tags for businesscentral/sandbox at https://mcr.microsoft.com/v2/businesscentral/sandbox/tags/list
But didn't find any tags related to this CU.
thx for an answer

sandbox containers have updates
onprem containers have cu's

docker pull mcr.microsoft.com/businesscentral/onprem:1810-cu6-w1-ltsc2019

Great, thx Freddy.
Met vriendelijke groeten,
Sincères salutations,
With kind regards,
Frank

Frank Neeckx | project team
t: +32 9 296 31 14
[astena logo - website]https://www.astena.be/nl/erp-software/
[8 inspiratiesessies voor het bouwbedrijf van de toekomst]https://www.astena.be/nl/event/12-unieke-inzichten-voor-het-bouwbedrijf-van-de-toekomst/?utm_source=Mail&utm_medium=Signature&utm_campaign=8sessies
Van: Freddy Kristiansen<EMAIL_ADDRESS>Verzonden: donderdag 25 april 2019 13:48
Aan: Microsoft/nav-docker<EMAIL_ADDRESS>CC: Frank Neeckx<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Onderwerp: Re: [Microsoft/nav-docker] Missing Image for Cumulative Update 06 for Microsoft Dynamics 365 Business Central on-premises (#353)
docker pull mcr.microsoft.com/businesscentral/onprem:1810-cu6-w1-ltsc2019
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/nav-docker/issues/353#issuecomment-486639440, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AC2WJ6E3ST6EQIC5NFD7FWDPSGK7ZANCNFSM4HIDTLLQ.

Can we have any hint how to determine which version is what? As example 1810, 13.3.27908.29339, 14.0.29537.31923.

docker inspect of an image or a container will give you a labels section with all the info about what's inside.
Spring release looks like:
            "Labels": {
                "country": "W1",
                "created": "201904241403",
                "cu": "",
                "eula": "https://go.microsoft.com/fwlink/?linkid=861843",
                "legal": "http://go.microsoft.com/fwlink/?LinkId=837447",
                "maintainer": "Dynamics SMB",
                "nav": "",
                "osversion": "10.0.17763.437",
                "platform": "14.0.29530.0",
                "tag": "<IP_ADDRESS>",
                "version": "14.0.29537.0"
            }

You can get the same without downloading the image with navcontainerhelper
Get-NavContainerImageLabels mcr.microsoft.com/businesscentral/onprem:1810-cu6-w1-ltsc2019

Thank you that helps me a lot!


Update sctk dnd

This adds support for custom DnD and widget based DnD and copy-paste to iced-sctk. todos_sctk contains an example of usage of a text input supporting copy/paste and DnD

I'm gonna convert to draft because I've just noticed that a bunch of stuff in text_input needs to be feature gated for wayland

Hm, sctk-drag seems to be someone inconsistent in receiving Drag? Though Enter appears consistently.

Do you mean Drop? It seems pretty consistent to me :sweat_smile: . Maybe I should add a border radius color around the target when it is being hovered by a drag?

Yeah, Drop.
I tried the same example on sway, dragging the bottom text to the top several times, and got:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }', /home/ian/src/pop/libcosmic/iced/sctk/src/event_loop/mod.rs:1005:64
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

So we need to handle an IO error in the flush call. Though this probably shouldn't be failing here, so I'm not sure what's going on...

ahh ok i've only tested these dnd examples in cosmic-comp. I'll test them in sway too

Ok testing in sway after the latest commit, I think sctk-drag worked maybe 20x in a row for me and i stopped testing.

wl_data_offer@4278190081: error 0: Cannot finish a data offer that has not been dropped.
Protocol error 0 on object wl_data_offer@4278190081:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Backend(Protocol(ProtocolError { code: 0, object_id:<PHONE_NUMBER>, object_interface: "wl_data_offer", message: "" }))', /home/ian/.cargo/git/checkouts/softbuffer-b53d51e2579e9817/98b9099/src/wayland/mod.rs:84:63
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

wl_data_offer@4278190081: error 0: Cannot finish a data offer that has not been dropped.
Protocol error 0 on object wl_data_offer@4278190081:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Backend(Protocol(ProtocolError { code: 0, object_id:<PHONE_NUMBER>, object_interface: "wl_data_offer", message: "" }))', /home/ian/.cargo/git/checkouts/softbuffer-b53d51e2579e9817/98b9099/src/wayland/mod.rs:84:63
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Ok I will try looking more into this

wl_data_offer::receive

This request may happen multiple times for different mime types, both before and after wl_data_device.drop. Drag-and-drop destination clients may preemptively fetch data or examine it more closely to determine acceptance.

This sounds complicated. But I guess can technically be handled by the current implementation here? I presume an cross-platform drag-and-drop API in winit and upstream Iced would look a bit different, though I'm not sure exactly what the common set of functionality is.

wl_data_offer::receive

This request may happen multiple times for different mime types, both before and after wl_data_device.drop. Drag-and-drop destination clients may preemptively fetch data or examine it more closely to determine acceptance.

This sounds complicated. But I guess can technically be handled by the current implementation here? I presume an cross-platform drag-and-drop API in winit and upstream Iced would look a bit different, though I'm not sure exactly what the common set of functionality is.

Ya, I did try to make sure this was possible.

Dragging a bunch of times in a row in sctk-drag, for some reason it seems to end up with an empty string? It looks like it tries to create a 0x0 drag surface, which causes a protocol error:
[ 828566.234]  -> wl_shm@72.create_pool(new id wl_shm_pool@73, fd 12, 0)
[ 828566.253]  -> wl_shm_pool@73.create_buffer(new id wl_buffer@74, 0, 0, 0, 0, 0)
[ 828566.276]  -> wl_shm@72.create_pool(new id wl_shm_pool@75, fd 14, 0)
[ 828566.287]  -> wl_shm_pool@75.create_buffer(new id wl_buffer@76, 0, 0, 0, 0, 0)
[ 828566.304]  -> wl_surface@70.attach(wl_buffer@74, 0, 0)
[ 828566.313]  -> wl_surface@70.damage_buffer(0, 0, 0, 0)
[ 828566.323]  -> wl_surface@70.commit()
[ 828566.359]  -> wl_data_source@33.destroy()
[ 828572.390] wl_buffer@30.release()
[ 828572.427]  -> wl_surface@14.attach(wl_buffer@30, 0, 0)
[ 828572.436]  -> wl_surface@14.damage_buffer(0, 0, 130, 112)
[ 828572.444]  -> wl_surface@14.commit()
[ 828572.463] wl_pointer@18.leave(112328, wl_surface@14)
[ 828572.472] wl_pointer@18.frame()
[ 828574.699] wl_pointer@28.leave(112328, wl_surface@14)
[ 828574.725] wl_pointer@28.frame()
[ 828591.538] wl_display@1.error(wl_shm@72, 1, "invalid wl_shm_pool size")
wl_shm@72: error 1: invalid wl_shm_pool size
Protocol error 1 on object wl_shm@72:
Protocol error 1 on object wl_shm@72:
Protocol error 1 on object wl_shm@72:
Protocol error 1 on object wl_shm@72:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Backend(Protocol(ProtocolError { code: 1, object_id: 72, object_interface: "wl_shm", message: "" }))', /home/ian/.cargo/git/checkouts/softbuffer-b53d51e2579e9817/98b9099/src/wayland/mod.rs:84:63
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

(Softbuffer shouldn't allow this, but that would just turn it to to panic or error for the size being zero.)

I am not sure how the string ended up being empty, but I've added dnd_icon size checks and some logging for the errors

Dragging the text to gedit or gnome-terminal seems to be breaking the Wayland connection with Io error: Broken pipe (os error 32) on cosmic-comp but not anvil or sway...
So that one is probably a compositor side issue.

Dragging the text to gedit or gnome-terminal seems to be breaking the Wayland connection with Io error: Broken pipe (os error 32) on cosmic-comp but not anvil or sway...

Why can't I recreate any of these issues :cry: Dragging from the sctk-drag example to gedit and gnome-terminal seems to work ok for me in cosmic-comp

That one seemed to be more consistent, until I started trying to carefully test it with different builds of cosmic-comp, and it decided to become less reliable? But when it failed gedit was getting a flood of related events event after sctk-drag had crashed. So it looks like that's at least partly a compositor issue.
I still occasionally see error 0: Cannot finish a data offer that has not been dropped. And the issue where it ends up pasting an empty string.
I'm trying to debug that last one. Maybe something relating to the ordering of the event source callbacks in SendDndData and RequestDndData? If .cur_write and .cur_read ended up being used by more than one source at a time, that would cause issues presumably. But that doesn't seem to be what's happening here, although it could happen if the application sent RequestDndData twice. Now if the write end of the pipe is ever closed without writing anything to it, that would result in an empty string...

error 0: Cannot finish a data offer that has not been dropped.

I'm thinking that tracking the state internally for each DnD offer or source in iced-sctk might be good. It could do its own sanity checking and just ignore actions that don't work for the current state of the offer or source (plus log a warning), but I guess that doesn't fix the underlying issue here.

Internal "sanity checking" like that could prevent this error. But it may still be possible to finish a newer offer than the one the code meant to finish, if it had been dropped by that point. I guess if the finish action took an ID of some sort for the data offer? Not sure how else to do it while still being flexible for the different ways the Wayland drag-and-drop protocol can be used.

Latest should fix the issue with finishing offers which haven't been dropped, and some cases of the empty string. I think empty strings are possible if https://wayland.app/protocols/wayland#wl_data_source:event:cancelled or StartDnD action is received just before receiving a https://wayland.app/protocols/wayland#wl_data_source:event:send for the old DnD and it has no choice but to ignore it.

I guess Iced Sctk could also check the received data to see if it is empty and ignore it in that case. Then if the offer is also dropped at this point, it could send a leave event, signalling the end of the drag.

Might empty data be considered valid in some cases? At least with certain mime types? But anyway, if we are providing empty data, that could confuse other applications too.
Since wl_data_source::send doesn't specify an explicit way to indicate that you have sent data (or have not), is it basically implied that if you offer a mime type, you must be prepared to write it on a send?

Might empty data be considered valid in some cases? At least with certain mime types? But anyway, if we are providing empty data, that could confuse other applications too.

I think maybe we could special case these mime types? Would that be an ok solution?

Since wl_data_source::send doesn't specify an explicit way to indicate that you have sent data (or have not), is it basically implied that if you offer a mime type, you must be prepared to write it on a send?

Yes, I believe so.

Maybe applications could send a boxed trait object at the beginning of the drag that has a method for getting the data given a mime type

Something like that may be necessary to avoid relying on the application's logic to always serve data as requested. But does seem to clash a bit with the elm architecture.
I think we need to handle the possibility that more than one wl_data_offer exist at once, since that should be possible even if only one can be in the state of having entered a surface at a time. With wl_data_device that's only the case if we create one while another exists, but that can happen unless we block drag operations until the previous wl_data_device has been finished.

I think we need to handle the possibility that more than one wl_data_offer exist at once, since that should be possible even if only one can be in the state of having entered a surface at a time. With wl_data_device that's only the case if we create one while another exists, but that can happen unless we block drag operations until the previous wl_data_device has been finished.

I think really there should only ever be one drag offer at a time if we are handling a single seat. The only exception is if we are still reading data from one when another appears. I guess that is an edge case that is currently handled by throwing away the read and the old offer.

I've removed filtering of empty data in iced-sctk

I worry that handling multiple at a time might complicate things a lot.

Yeah, it could definitely complicate things. I'm just concerned (and somewhat uncertain) about what is possible with different compositors, or dragging to/from a different application. And then keeping the application logic in sync with what's going on within iced_sctk and the Wayland connection.
Looks like things are working better. I think the Broken pipe issue and some other things may need a fix in Smithay. I'm looking at what's going on there now.

It looks like the GTK application (Gnome Terminal or Gedit) is repeatedly calling set_actions in response to actions, and smithay unlike wlroots is resending action (https://github.com/Smithay/smithay/pull/981). Possibly the food of action events is filling the socket buffer before sctk reads them, and the compositor breaks the connection? That would explain a Broken pipe without a protocol error message.
Need to test a bit more to verify the Smithay PR fixes it.

Swapping between cosmic-comp with and without that patch, I'm able to reproduce the Broken pipe issue on the old version but not the new one. So as far as I can tell my explanation is correct, and that's fixed with that Smithay PR. So this generally seems to be working correctly now.


Non-standard install location broken on Sierra 10.12.1

When upgrading to Sierra 10.12.1, a previously working ~/.homebrew installation seems to break.
Specifically, brew link now seems to be using a prefix of /usr/local even though it was previously using /Users/$(whoami)/.homebrew.  This persists even after reinstalling:
15:39:37-zachwalton ~ 💫  git clone https://github.com/Homebrew/brew ~/.homebrew
Cloning into '/Users/zachwalton/.homebrew'...
remote: Counting objects: 73590, done.
remote: Compressing objects: 100% (136/136), done.
remote: Total 73590 (delta 2224), reused 2162 (delta 2162), pack-reused 71292
Receiving objects: 100% (73590/73590), 17.59 MiB | 3.35 MiB/s, done.
Resolving deltas: 100% (52538/52538), done.
Checking connectivity... done.
15:42:37-zachwalton ~ 💫   ~/.homebrew/bin/brew --version
Homebrew 1.1.2-31-g29aa1c8
Homebrew/homebrew-core (git revision 6dba9; last commit 2016-12-05)
15:39:49-zachwalton ~ 💫  ~/.homebrew/bin/brew --prefix
/usr/local

This causes new packages and symlinks (via brew link) to be installed to /usr/local.
From the docs, it seems that this is "magically" set by the install location. Am I missing something or is this broken?

Somehow this fixed it:
15:48:43-zachwalton ~ 💫 ~/.homebrew/bin/brew --prefix
/usr/local
15:48:46-zachwalton ~ 💫 find /usr/local/bin/ -type l | xargs rm
15:48:48-zachwalton ~ 💫 ~/.homebrew/bin/brew --prefix
/Users/zachwalton/.homebrew

Any idea what symlink in /usr/local/bin could cause this behavior?
Anyway, I'm good now. Leaving this open in case you want to investigate but feel free to close if not.

Any idea what symlink in /usr/local/bin could cause this behavior?

/usr/local/bin/brew would cause this behaviour as it takes that to mean you're able to write to /usr/local and therefore would rather use /usr/local/Cellar and get access to our binary packages.


[move-toy-yul] Native function generators.

This PR wires up a design to define generators for native functions (new module native_functions.rs). It implements one of those functions, namely Evm::sign, which is needed to create tests for resources.
This function is used in a first resource test which, however, does not yet pass in this PR, and is handled with in a followup.
The PR also:

setups our test suite to be able to include evm/stdlib and move-stdlib
fixes the issue with yul errors when multiple @use-src are present

Motivation
EVM
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Baseline

/land


Fast-path dynamicCast from a class instance in an existential contain…

What's in this pull request?
Fast-path dynamicCast from a class instance in an existential container to AnyObject
This patch splits the time we spend in the runtimes in half by avoiding unnecessary work in this case.
rdar://26981164

@swift-ci Please smoke-test

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test OS X platform

@swift-ci Please test and merge


When will Containerd 2.0 be officially released?

Hi, maintainers. Sorry for using issue to ask this question.
I'd like to know about when Containerd 2.0 will be released ? Is there a timeline ?
Thank you !

already was asked here - https://github.com/containerd/containerd/discussions/10726


Yet another project, a minimalist distraction-free browser

hey! again a new different project here @PardesiCat it's a project inspired in a minimalist way to browse, distraction-free. try it out! There're a lot of things to do, but it's a work in progress! and it's working!...

Namaste ,  yess good work again  its working  fine
the python version

Install the C++ version ... it's much better ... and I'm improving the code in C++ a lot ... I'm thinking that maybe I will discontinue the Python version... I don't know yet ... But the C++ version is much better... try it out! on AUR it's known as 'novanav-cpp' .. let me know what you think ...

Hei  i already say c version and tested here c version ss ... its also working great for me

I gave the Python feedback in the first place because I can understand some Python codes (because I was trying to learn Python).

Hei i already say c version and tested here c version ss ... its also working great for me

I gave the Python feedback in the first place because I can understand some Python codes (because I was trying to learn Python).

Great ... it's actually C++ .. not C .. I'm improving a lot the code now actually... soon will be much better the C++ version ....

oke got it ... when new version will release i will test it and give feedback

Hei i already say c version and tested here c version ss ... its also working great for me

I gave the Python feedback in the first place because I can understand some Python codes (because I was trying to learn Python).

if that's so, maybe you can help me to improve the Python version while I'm improving the code in the C++ version ... what do you think? ...

yess i can help as much i can.... but am totally newbie in python, idk how much i can help..
but I can try.

Hi man, @PardesiCat I created the repo on Aur of arch Linux for the Python version - so I was thinking that maybe you wanna be part of it as a co-maintainer, what do you think?

Sure. i can help as much i able to help.

Sure. i can help as much i able to help.

Do you have an account in AUR?

NO But i made a aur account
my user name is  Pardesi_Cat
mail<EMAIL_ADDRESS>

NO But i made a aur account
my user name is Pardesi_Cat mail<EMAIL_ADDRESS>
Done. You're in!.


ACK: receiving a serial greater than expected

We've seen this happening for a ton of users for OfferUp. Right now we're working around it (see https://github.com/ably/ably-ios/pull/598/commits/4b9b19639c33bc458a862166883ccbcf06705aa6) but we don't know the root cause.
We've got some reports of it back in Sentry now: https://errors.ably.io/ably/ably-ios/?query=is%3Aunresolved receiving a serial greater than expected

@ricardopereira did you look at the errors.  Did it help unearth anything?

I'm looking at a ARTRealtime ACK: receiving a serial greater than expected report but I can't see the full log. @tcard Where do you see the history log that was uploaded?

@ricardopereira Hmm, that's weird. It's in "breadcrumbs", but some events to have breadcrumbs and some don't, I don't know why.
This one has them.

@ricardopereira any update?

@ricardopereira Hmm, that's weird. It's in "breadcrumbs", but some events to have breadcrumbs and some don't, I don't know why.
This one has them.

@mattheworiordan What does a ACK with count: 0 mean? All failures happened while the client was processing ACK messages with count: 0. cc @tcard
protocolMessages
recv <ARTProtocolMessage: 0x7fd132686b00> {
 count: 0,
 id: (null),
 action: 1 (Ack),
 channel: (null),
 channelSerial: (null),
 connectionId: (null),
 connectionKey: (null),
 connectionSerial: 0,
 msgSerial: 2,
 timestamp: (null),
 flags: 0,
 messages: (null)
}
16:42:09
protocolMessages
recv <ARTProtocolMessage: 0x7fd132c48f60> {
 count: 0,
 id: (null),
 action: 1 (Ack),
 channel: (null),
 channelSerial: (null),
 connectionId: (null),
 connectionKey: (null),
 connectionSerial: 0,
 msgSerial: 1,
 timestamp: (null),
 flags: 0,
 messages: (null)
}
16:42:09
protocolMessages
recv <ARTProtocolMessage: 0x7fd132b35a90> {
 count: 0,
 id: (null),
 action: 4 (Connected),
 channel: (null),
 channelSerial: (null),
 connectionId: iUGuY-S4da,
 connectionKey: e02zQiA7AA74fc!...,
 connectionSerial: -1,
 msgSerial: 0,
 timestamp: (null),
 flags: 0,
 messages: (null)
}

Can we check that the raw message has count 0?

@tcard I will raise an internal issue if we can confirm the count is in fact zero in the raw protocol message.

Actually, not my brightest moment there. Those reports are from the test suite. facepalm I'll make sure we don't send Sentry reports from tests.
OK, apparently this hasn't actually happened in production: https://errors.ably.io/ably/ably-ios/?query=is%3Aunresolved receiving a serial greater than expected environment%3Aproduction

So I've finally found something interesting about this. The msgSerial property of ARTProtocolMessage is a NSNumber object. However, it was a primitive int type before. Primitive types aren't reference-counted, so the property was declared as assign, ie. assignment to it is just a bitwise memory copy. But when we converted the property to NSNumber, we forgot to change this assign to strong so that we would treat it as the reference-counted pointer it is; instead, we were just keeping the pointer as a primitive int value without increasing its refcount. So the NSNumber object would likely be freed, and then our raw pointer would point at some random memory, and thus it was completely undefined what would happen when using it. It could easily cause all kinds of crashes, or just get some random value, or launch the nuclear missiles.
The fact that the type-checker was just OK with all this is a pretty good argument for why Objective-C needs to die in a fire.
This is fixed in e9da6bf808d5a7c33cbfcd209bb75bd36397acab and probably fixes this issue as well.

In fact, I'm reviewing the other two crashes we were investigating and it's very likely this was causing them as well, as the crashes were happening when accesing msgSerial and when printing the just-decoded protocol messages, so both operations would use-after-free the NSNumber. So, yeah, nothing to do with thread-safety after all.

@tcard bravo, good find :)


CIImage doesn't retain its CGImage :(

CIImage wasn't retaining the CGImage returned from UIImage. This patch manually retains it.

Ouch. :+1:


Webhook throwing up error when source_type is API

When configuring the OPAL server to get policy documents from a URL and set POLICY_SOURCE is API the webhook is throwing below error.
File "/usr/local/lib/python3.10/site-packages/opal_server-0.5.0-py3.10.egg/opal_server/policy/webhook/api.py", line 75, in trigger_webhook
urls = git_changes.urls
└ []
AttributeError: 'list' object has no attribute 'urls'
Raised a PR https://github.com/permitio/opal/pull/438 which fix the bug.

Thanks for the input and PR !
@roekatz please review.

Hi @roekatz  and @orweis
Can someone please approve the PR

Well done @urspraveen2001 !


property restrictions with properties declared in another namespace

Seems like this would be typical in OBO vocabs.  The obo1 namespace is commonly used and various properties are declared in that namespace and then referenced by other vocabs also in that namespace, e.g. GO.  owl2rdf needs to be modified so these properties are prefixed instead of appearing declared in the local vocab.

owl2rdf modified, tag 1.0.1.  Needs to be deployed to NCI servers.


no donation page

xd just putting this here like we discussed earlier so we can make the button for donations sometime in the future

you're right derek! This is a great idea!

Here! Have some tabs for bass!

Added this task to project's Backlog for now


refactor: update pull  lifecycle

Coverage increased (+0.04%) to 70.994% when pulling 33ff869c2663c65c91946eeab8db4c251695a30f on Yang03:lifecycle into aaeaa7803455b1ec06c44e8ba08bef05ebecfb0f on ZhonganTechENG:dev.


User Profile Bug

Please, go through these steps before you submit a PR.

[x] My Pod Leader knows I'm working on this Pull Request
[x] I've explained what the Pull Request is adding.
[x] I've explained why this is important.

@Preet1406 hey I have dropped a comment at #12 here's the link https://github.com/MLH-Fellowship/prep-portfolio-22.OCT.PREP.2/issues/12#issuecomment-1272286624
shall we do it?

Yeah always up!


InstanceID on vbox not returning properly

This was built from 5e76e6155d5e60892bf96897363b40ff0d23904c.
- attachments:
  - devicename: ""
    mountpoint: ""
    instanceid: =5a8952a5-da91-4eaf-baa6-2425adaf9b7c

The instanceID on vbox looks to have an extra equals sign.

Hi @clintonskitson,
In cases to do with the instance ID, what would be super helpful is for you or anyone else to use the executor binary and provide the output of lsx-$GOOS $DRIVER instanceID. With output from that I can then create a test to proof out the marshal/unmarshal issues of a specific driver.
Thanks.


Create nfl.R file with get_nfl_team_info function

@aqsmith08 This reminded me that the API should have an individual teams fetch by slug ...
/teams?team_id=nfl-ne
or
/teams/nfl-ne
But until then, this is the only way to get the info for a specific team.

Had a few questions, but all in all this is exactly how I see the R wrapper growing - dedicated specific helpers that make it easier to do common tasks. Great stuff. 👏
If no feedback from the rest of the team in a bit, I'll merge in by morning.

If you look at the branch helpers, I am going down this path.  I just started putting in basketball tonight, and am hoping to blow through the helpers like these over the next few days and get something wrapped up over the weekend.  To that end, you are spot on with going down this route and any/all feedback welcome.

Thanks for merging! :)


ValueError raised by caculating SSIM at the end of the first epoch

Here is the backtrace
(naf) ➜  naf_cbct git:(main) python train.py --config ./config/chest_50.yaml

/environment/miniconda3/envs/naf/lib/python3.9/site-packages/torch/functional.py:568: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at  ../aten/src/ATen/native/TensorShape.cpp:2228.)
  return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
[Start] exp: chest_50, net: Basic network
epoch=0/1500, loss=0.000609, lr=0.001: :  98% 49/50 [00:00<00:00, 84.86it/s]Traceback (most recent call last):
  File "/home/featurize/work/Reconstruction/naf_cbct/train.py", line 100, in <module>
    trainer.start()
  File "/home/featurize/work/Reconstruction/naf_cbct/src/trainer.py", line 108, in start
    loss_test = self.eval_step(global_step=self.global_step)
  File "/home/featurize/work/Reconstruction/naf_cbct/train.py", line 76, in eval_step
    'ssim_3d': get_ssim_3d(image_pred, image),
  File "/home/featurize/work/Reconstruction/naf_cbct/src/util/util.py", line 85, in get_ssim_3d
    ssim = structural_similarity(arr1_d[i], arr2_d[i])
  File "/environment/miniconda3/envs/naf/lib/python3.9/site-packages/skimage/metrics/_structural_similarity.py", line 194, in structural_similarity
    raise ValueError(
ValueError: Since image dtype is floating point, you must specify the data_range parameter. Please read the documentation carefully (including the note). It is recommended that you always specify the data_range anyway.

Well, I find this issue is caused by this commit of scikit-image
To fix the problem, use python package scikit-image<=0.19

Thanks a lot for your help. I have specified versions of all the packages to avoid possible conflicts.
Ruyi


when is the training code available?

when is the training code available?

Hey @tiger55cn thanks for your interest. Have you tried #59 ? Let me know if you would like to test it and I'd be happy to welcome you as a collaborator!

Hey @ShishirPatil , I'd like to test this code and I'll keep you posted thanks!


Improve labels

Codecov Report

Merging #33 (bee5366) into master (b9852a4) will not change coverage.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##             master      #33   +/-   ##
=========================================
  Coverage     70.68%   70.68%
  Complexity      418      418
=========================================
  Files            75       75
  Lines          1409     1409
  Branches        141      141
=========================================
  Hits            996      996
  Misses          360      360
  Partials         53       53

Impacted Files
Coverage Δ

src/main/java/seedu/address/ui/PersonCard.java
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Flow choosing incorrect overload.

Given this code defined in a library:
  /**
   * Get the value of style properties for the first element in the set of matched elements.
   *
   * @param propertyName A CSS property.
   */
  css(propertyName: string): string;
  /**
   * Set one or more CSS properties for the set of matched elements.
   *
   * @param propertyName A CSS property name.
   * @param value A value to set for the property.
   */
  css(propertyName: string, value: string | number): JQuery;
  /**
   * Set one or more CSS properties for the set of matched elements.
   *
   * @param propertyName A CSS property name.
   * @param value A function returning the value to set. this is the current element. Receives the index position of the element in the set and the old value as arguments.
   */
  css(propertyName: string, value: (index: number, value: string) => string | number): JQuery;
  /**
   * Set one or more CSS properties for the set of matched elements.
   *
   * @param properties An object of property-value pairs to set.
   */
  css(properties: Object): JQuery;

And this code leveraging that method:
$this.css('max-height', folderClosedMaxHeight + 'px')
     .addClass('is-folder')
     .after('
Show More
');

I get the error: property addClass Property not found in String

Since there is two arguments being passed, there's no good reason it should choose an overload that only has one parameter.

You can either

sort the overloadings by the number of arguments desc

Bad
declare function f(a: string): number;
declare function f(a: string, b: string): string

f('a', 'b').trim() // <= error property `trim`. Property not found in Number

Good
declare function f(a: string, b: string): string
declare function f(a: string): number;

f('a', 'b').trim() // <= ok

add a fake rest argument

declare function f(a: string, ...rest: Array<void>): number;
declare function f(a: string, b: string, ...rest: Array<void>): string

f('a', 'b').trim() // <= ok

Option 1 seems to do the trick. I understand why Flow does this (kind of), but wouldn't it make more sense to need to explicitly define rest parameters rather than "block" them as above? It seems to defeat the purpose of strict typing and other specifications.


[Feature sheet] Show record previews inline on feature sheet

Instead of record list

Duplicate of #352.