Stuck Topic + observation about stuck before size failure

User wrote about this topic being stuck: https://topics.mediacloud.org/#/topics/5603/summary?focusId&snapshotId=6406. It appears not to have been updated for 4 days.
I notice that this one is going to fail due to size. It does seem anecdotally that a frequent case in stuck topics is headed towards size-related failure, but haven't hit that failure point yet. Is there a way to speed that up?

I've been wondering if we can help guide users to more targeted search queries to avoid these cases too. Are you thinking that this topic will fail because there are over 100K links in queue? I'm thinking we can set up some guardrails based on our experiences as it's super annoying for users to hit this and taxing on our system.

@jtotoole / @pypt -- can we unstick this topic?

I clicked on the "Quick Create & Spider" button to create a new version, let's see if it works now after me redeploying everything on Friday.

This user wrote back again and his topic never failed, just stayed stuck. Can we cancel it for him so he can start a new one?

I've created a new version. Hope it works this time!

Oh I think he wants to change his query and parameters, so he just wants
this one canceled so he can start another. Is there a way to do that, or we
just wait for this to fail on its own?
On Tue, Apr 27, 2021, 10:54 AM Dennis Jen @.***> wrote:

I've created a new version. Hope it works this time!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mediacloud/web-tools/issues/2053#issuecomment-827669805,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJHJTK2LJ4II2ZADQMKYADLTK3FYZANCNFSM4XW6ZHCQ
.

I don't believe there's a way to cancel a topic unfortunately, unless @pypt knows of something I don't.

Gotcha, thanks. I recall now that we've said that is difficult (impossible
maybe) to do. I thought we had set it that users could create multiple
topics at once, but I've received severa cancellation requests recently
which makes me think normal users cannot create a new topic while they
have one running. Can we clarify this?
On Tue, Apr 27, 2021 at 10:59 AM Dennis Jen @.***>
wrote:

I don't believe there's a way to cancel a topic unfortunately, unless
@pypt https://github.com/pypt knows of something I don't.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mediacloud/web-tools/issues/2053#issuecomment-827674534,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJHJTK7EHICDWSYWVVAUKOLTK3GOTANCNFSM4XW6ZHCQ
.

--
Emily Boardman Ndulue
Senior Researcher
Media Cloud project
Media Ecosystems Analysis Group (MEAG)

I just tested this out with a non-admin test account and believe that one can create multiple topics at once. I've created two that are in queue:

Great, thanks for doing that. So I will let the user know he should go
ahead and create a new topic while this one fails.
On Tue, Apr 27, 2021 at 11:29 AM Dennis Jen @.***>
wrote:

I just tested this out with a non-admin test account and believe that one
can create multiple topics at once. I've created two that are in queue:
[image: Screen Shot 2021-04-27 at 11 28 47 AM]
https://user-images.githubusercontent.com/5265058/116268914-c0904c00-a74b-11eb-8132-cac82c07e517.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mediacloud/web-tools/issues/2053#issuecomment-827700105,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJHJTK5EVK6RNFD4475GLF3TK3J5NANCNFSM4XW6ZHCQ
.

--
Emily Boardman Ndulue
Senior Researcher
Media Cloud project
Media Ecosystems Analysis Group (MEAG)


WIP: Fix potential SCA vulnerability in some EC_METHODs

This commit addresses a potential side-channel vulnerability in the
internals of some elliptic curve low level operations.
The side-channel leakage appears to be tiny, so the severity of this
issue is rather low.
The issue was reported by David Schrammel and Samuel Weiser.
Responsible disclosure
The initial security assessment evaluated the severity of this issue to be quite low, hence the fix is released with a public PR.
WIP
The PR is marked as WIP as we will need to include fixes for nistz256 across the various asm implementations.
Ping to @davidben for feedback on this point.
Once this is out of WIP we might want to discuss backporting to older branches.
PerlASM fixes for nistz256
In commit a9d6606 I cherry picked the nistz256 changes for the x86_64 perlasm from the BoringSSL commit by @davidben
Unfortunately I am not proficient enough to apply those changes to the other perlasm implementations (nor to make sure that they all need them).
The 32-bit x86 implementation definitely requires them: https://github.com/openssl/openssl/blob/a9d6606943cff5e12489de48000d1f4b59626c9a/crypto/ec/asm/ecp_nistz256-x86.pl#L1513-L1535
but applying the patchset even here is not in my comfort zone.
TODO

[x] ecp_nistz256.c (reference implementation updated)
[x] ecp_nistz256-x86_64.pl
[x] ecp_nistz256-x86.pl
[x] ecp_nistz256-avx2.pl (no need)
[x] ecp_nistz256-armv4.pl
[ ] ecp_nistz256-armv8.pl
[ ] ecp_nistz256-ppc64.pl
[ ] ecp_nistz256-sparcv9.pl

Evaluation
Automatic evaluation of the effectiveness of this fix in the C code is non-trivial, and so far is limited to my manual analysis of the disassembled output of the compiler (gcc 7.4.0, clang-3.9, clang-7, clang-8) to make sure that the bitwise masking is not being undone in the optimization step reintroducing early jumps.
The reporters might have some automatic tooling that could ease validation of the fix across different platforms more rigorously.

Related commit from BoringSSL: https://github.com/google/boringssl/commit/12d9ed670da3edd64ce8175cfe0e091982989c18

PerlASM fixes for nistz256
In commit a9d6606 I cherry picked the nistz256 changes for the x86_64 perlasm from the BoringSSL commit by @davidben
Unfortunately I am not proficient enough to apply those changes to the other perlasm implementations (nor to make sure that they all need them).
The 32-bit x86 implementation definitely requires them: https://github.com/openssl/openssl/blob/a9d6606943cff5e12489de48000d1f4b59626c9a/crypto/ec/asm/ecp_nistz256-x86.pl#L1513-L1535
but applying the patchset even here is not in my comfort zone.
TODO

[x] ecp_nistz256-x86_64.pl
[ ] ecp_nistz256-x86.pl
[ ] ecp_nistz256-avx2.pl
[ ] ecp_nistz256-armv4.pl
[ ] ecp_nistz256-armv8.pl
[ ] ecp_nistz256-ppc64.pl
[ ] ecp_nistz256-sparcv9.pl

ecp_nistz256-avx2.pl should be fine. It only implements point_add_affine (which simply gives the wrong answer on double and assumes the doubling case never happens), not point_add. I expect all the others do indeed need it fixing, however.

In commit a9d6606 I cherry picked the nistz256 changes for the x86_64 perlasm from the BoringSSL commit by @davidben

For completeness: the OpenSSL project is welcome to consider that change as covered under the CLA.

The reporters might have some automatic tooling that could ease validation of the fix across different platforms more rigorously.

We used a modified version of DATA for finding this issue. We have validated that the current fixes (the first two commits in this pull request) indeed fix the leak. Tested for nistp(224,256,521) and nistz256-x86, all on a 64-bit system with gcc-8.3.0.
Here is a screenshot of the tool showing the unfixed leak in OpenSSL for P-521. If you want, we can assist you with setting up the tool for validating these fixes on your own.

The reporters might have some automatic tooling that could ease validation of the fix across different platforms more rigorously.

We used a modified version of DATA for finding this issue. We have validated that the current fixes (the first two commits in this pull request) indeed fix the leak. Tested for nistp(224,256,521) and nistz256-x86, all on a 64-bit system with gcc-8.3.0.
Here is a screenshot of the tool showing the unfixed leak in OpenSSL for P-521. If you want, we can assist you with setting up the tool for validating these fixes on your own.

Sorry for the delay in answering, I somehow missed the notifications for replies in this PR.
Thanks, I have been planning to try DATA out for quite a while now, but have always been short on time.
I will try to setup things tomorrow, in the meantime could you tell me if it would be possible to use the same tool on x86 32-bit and maybe arm32/arm64 ?
At some point we will need to validate the patches to the nistz asm implementations on non x86 platforms.

@mattcaswell or @davidben before I ping the whole project, could you help me with the ASM for the other nistz implementations?

in the meantime could you tell me if it would be possible to use the same tool on x86 32-bit and maybe arm32/arm64 ?

@romen Unfortunately the underlying instrumentation framework "Pin" only supports Intel's own acrchitectures: IA-32, x86-64, and Intel Xeon Phi. I believe there used to be a version of Pin with ARM support, but it's no longer maintained.

@levitte might be a better ping for the asm stuff.

@levitte could you help me complete this pr?

Maybe @dot-asm could help?

Regarding ppc, sparcv9 and arm, note that the code is very similar to the x86_64 code, at least in this regard.  I only had to search for in1infty || in2infty to find a very similar coding pattern.  I'm not savvy enough to suggest opcode changes from the top of my head, but with sufficient instruction lists, it should be doable...  but to suggest something, I need to understand the x86_64 changes, and I currently don't...

I just force pushed to rebase onto current master after including changes provided by @bernd-edlinger (thanks a lot!!).
@bernd-edlinger also tested his changes on the actual architectures he worked on, and I can as well reconfirm for x86-i386.
I also addressed some comments, about extra comments in the p224 implementation.
I will now update the checklist.

BTW: theoretically the point double could be inlined, and executed unconditionally
and just use the double result in a copy_conditional(res_x, dbl_x, equal);
At least the first intermediate result Z^2 is computed twice if point_double is called.

BTW: theoretically the point double could be inlined, and executed unconditionally
and just use the double result in a copy_conditional(res_x, dbl_x, equal);
At least the first intermediate result Z^2 is computed twice if point_double is called.

Maybe @davidben can give us more feedback about this?

While you certainly could do that, I don't believe there are many shared intermediate results, so each addition would pay for the cost of an addition plus a doubling. The performance cost would be significant.

OTOH Using a montgomery ladder would avoid this side channel since it is does always
one addition and one doubling in each step.

OTOH Using a montgomery ladder would avoid this side channel since it is does always
one addition and one doubling in each step.

The whole point of the windowed representation is to not need an addition at every iteration. :-p
A window size of w only needs to add every w doublings, at the cost of a 2^w or so lookup table. And then signed windows let you increase the window size by one without increasing the table size, by taking advantage of inversion being cheap on a curve.

The amount of cascading fixups is almost intolerable, so I am tempted to force-push a rebase with the next commit.
I am currently trying to work on the armv8 nistz asm, as I could test that on my own.
If I manage to accomplish that, we would be left with sparcv9 asm and ppc64 asm,
I don't even have access for testing to those platforms: @levitte @bernd-edlinger could you try to tackle those two and also take care of the testing? Or would we need to ping someone else asking for help?

@davidben I forgot to tag you in the previous comment, would you be able to help with spacrv9 and/or ppc64 platforms?

@davidben I forgot to tag you in the previous comment, would you be able to help with spacrv9 and/or ppc64 platforms?

I'm quite hosed this week, so I won't be able to do anything until next week at the earliest. Also I have no familiarity with SPARC. I've done a tiny bit of ppc64 at one point. (I only patched x86_64 because the only one of those files we carry is the x86_64 one.)

Ping.
On my part I did not manage yet to port the nistz changes to armv8 asm, has anyone else had any progress?

I have rebased on latest master and squashed the fixup commits.
This has been taken now out of WIP even if we don't include in this PR a fix for the nistz256 PerlASM specific for sparcv9 and ppc64, as in the last f2f meeting it was decided to merge the available fixes and seek the help of the community for the remaining architectures (see the updated PR description for links to the issues created to track the missing architectures).
I also went ahead and merged @zorrorffm contribution from #10729 into this PR, I took the liberty of editing the original commit message to reflect the fact that it will be part of this PR instead.

@zorrorffm , sorry I did not wait for you answer to

Would it be fine for you @zorrorffm if I cherry-picked your commit from #10729 as I wrap this PR up for approval?

Of course if you don't agree with me merging your PR into this I can revert that change.
I just went ahead assuming you would not oppose and to be able to update this PR before today's festivities!

@zorrorffm , sorry I did not wait for you answer to

Would it be fine for you @zorrorffm if I cherry-picked your commit from #10729 as I wrap this PR up for approval?

Of course if you don't agree with me merging your PR into this I can revert that change.
I just went ahead assuming you would not oppose and to be able to update this PR before today's festivities!

@romen ,  sorry for the delayed response due to my one day leave.  Yes,  definitely, you can merge my PR as you wish.

Note: I don't know if either of our approvals count as "OTC" approval.

Note: I don't know if either of our approvals count as "OTC" approval.

Congratulations! And welcome to the club :-).
FWIW: @romen and I agreed to wait until https://github.com/openssl/web/pull/146 has been formally voted on and merged.

Perfect, I see @mspncp already fixed the labels (I did also reset the approval: done label so that we can later use it to time the 24h grace period).
By the way @bernd-edlinger I was utterly convinced you were in the OMC so I did not even check :stuck_out_tongue:

@mattcaswell could you have another look at this and give an OMC approval?

I just did an extra round of testing after the last rebase on the platforms I have access to and I can confirm this builds and runs flawlessly on both latest master and 1.1.1-stable.
I am experiencing some technical difficulties pushing to the openssl main repository, but as soon as they are resolved I will merge this to both branches.

Merged to master with:

0164bf812f Fix potential SCA vulnerability in some EC_METHODs
90b797f00e Avoid leaking intermediate states in point doubling special case.
1645df672f Fix side channel in ecp_nistz256-x86.pl
1c5bc7b85a Fix side channel in ecp_nistz256-armv4.pl
5578ad1f0b Improve side channel fix in ecp_nistz256-x86_64.pl
45a405382b Fix side channel in the ecp_nistz256.c reference implementation
3b5a5f995e Fix side channel in ecp_nistz256-armv8.pl

Merged to OpenSSL_1_1_1-stable with:

1f60c1c788 Fix potential SCA vulnerability in some EC_METHODs
6f52dbb68f Avoid leaking intermediate states in point doubling special case.
969ee51182 Fix side channel in ecp_nistz256-x86.pl
75738b9433 Fix side channel in ecp_nistz256-armv4.pl
ec7c1fd322 Improve side channel fix in ecp_nistz256-x86_64.pl
38be93f6bf Fix side channel in the ecp_nistz256.c reference implementation
940c5888a2 Fix side channel in ecp_nistz256-armv8.pl

Thanks to everyone involved in this: it took a lot of time and a lot of contributors!


Label tooltip

Exposed onMouseOver, onMouseOut and onClick events to the config. This allows adding tooltip for label quite easily.
Might include an example of this once I got time or maybe modifying the existing Demo to showcase this?

@jpetitcolas just thought to let you know about the PR with some additional features. I have done this on a few EventDrop charts and then when someone opened an issue I thought it would be handy to include it.
Also maybe update the NPM version. I guess the dependencies should maybe be bumped as well?

Reverted the changelog additions. The change from * to - was done by husky and not me.
This is for exposing mouse events on the label tooltip and not the drops themselves.
This is quite handy if one has very long label names, as they can be shortened and for example, show a tooltip on hover.

You want to show a tooltip when a user hovers on a tooltip? I'm not sure I understand. Could you be more specific about a possible use case?

Meant label and not label tooltip, this PR is in response to #272 so if you have a look at that you will see what the intuition behind it is.
It exposes the onMouseOver, onMouseOut and onClick events on the line-labels. Which is very handy if you have long line-label descriptions and say want to add a tooltip.


Fix danger message for wrong PR title message

What have changed?
Change the wrong PR title error message for a better format
How to test:
Prints for layout changes:
Extras:

          1 Error

:no_entry_sign:
The PR title should follow the title convetion.
JIRA-XXX - ${Some description here}

          2 Messages

:book:
This PR does not include any JIRA tasks in the title. (e.g. [TICKET-1234])

:book:
You and the size of your PR are awesome! 🚀

Current coverage for MercadoPagoSDKV4.framework is 2.89%
✅ No files affecting coverage found

Powered by xcov

  Generated by :no_entry_sign: Danger

          1 Error

:no_entry_sign:
The PR title should follow the title convetion.
JIRA-XXX - ${Some description here}

          2 Messages

:book:
This PR does not include any JIRA tasks in the title. (e.g. [TICKET-1234])

:book:
You and the size of your PR are awesome! 🚀

Current coverage for MercadoPagoSDKV4.framework is 2.89%
✅ No files affecting coverage found

Powered by xcov

  Generated by :no_entry_sign: Danger


Add  false  to the csproj file of the Shared project template

Using the templates, I have UITests.Shared, UITests.Android, and UITests.Windows. When I compile, though, I get a CS0579: Duplicate 'AssemblyVersion' attribute error for Android and Windows, because the Android and Windows test projects have the same assembly version. I discovered that if I remove the obj folder from the Shared project that I can get a clean build. If I try to rebuild, I get the error back, and I have to delete the obj folder from the Shared project in order to build.
Turns out that in the Shared project I have to add  <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>  to prevent that error from occurring, which also prevents the obj folder from being generated as well. I found my solution here - though there are related answers here as well. You may wish to review the various answers because it seems that adding the templates the way I did caused me issues with running them, but others may have their own issues different from what I experienced.
ETA: this was for the xunit project templates.

Interesting, thanks for reporting this, I will have a look! Just to be super clear on what you did... How did you add these to your solution? Visual Studio? CLI?

I added them via Visual Studio.


Updating readme to say Chaos Monkey has been tested with GCE projects

A Medium blog post detailing the process will be coming soon (within the next week).

@lorin PTAL


[New Theme Request] Stash

This is an upcoming project for a web-based organizer for cough adult media. It has a few things that require smoothening out, but the work being done is excellent (especially on building out and connecting to a backend metadata provider like TPDB or Stash-Box). I honestly think this is one of the coolest apps being developed, if you don't mind the nature or stigma around its theme. I listed out its main competitor below as well
https://github.com/stashapp/stash
https://github.com/boi123212321/porn-vault

Closing this as I dont plan on theming this in the foreseeable future :)


Adding emphasis on Static IP requirement

Proposed changes
Static IP is so fundamental to UCP's functionality especially for managers.  Change could affects many parts of the system.
However, many users are used to dynamic IP on cloud providers.  For this reason, this should be emphasized and leave no room for misunderstanding/oversight.
Unreleased project version (optional)
UCP 3.0.x
Related issues (optional)
n/a

Deploy preview for modest-edison-79d82e ready!
Built with commit 21d316d0f3821f4a100818ce75331c0fc5fdf1d8
https://deploy-preview-7276--modest-edison-79d82e.netlify.com

@ekitagawa I agree with you, but I'd like to have more text giving warning and details rather than just bolding it. Could I have you write a note to fix it?
I wrote this, so let me know how it sounds.
"NOTE: Docker recommends having static IP addresses for UCP's functionality. Dynamic IP address changes affects many parts of UCP, especially the manager nodes."

I like how you warn the customer the consequences.  Not sure if "recommends" is good choice since static ip is required.  How about: "UCP requires static IP for its functionality"?


How to create config file

How can i create config file? like will it detect by itself?

How can i create config file? like will it detect by itself?

https://skidfuscator.dev/docs/


Collections don't maintain natural order

Maybe this is intentional, but this certainly goes against my expectations. When creating an entity with a collection of child entities, the order of those child entities is not maintained.
Example code:
[Entity]
public interface IQuote
{
    string Id
    {
        get;
    }

    [InverseProperty("Quote")]
    ICollection<IQuoteItem> Items
    {
        get;
        set;
    }
}

[Entity]
public interface IQuoteItem
{
    string Id
    {
        get;
    }

    string Name
    {
        get;
        set;
    }

    IQuote Quote
    {
        get;
        set;
    }
}

using (var context = new MyEntityContext(connectionString))
{
    var quote = context.Quotes.Create();
    var item = context.QuoteItems.Create();
    item.Name = "First";
    quote.Items.Add(item);
    item = context.QuoteItems.Create();
    item.Name = "Second";
    quote.Items.Add(item);
    item = context.QuoteItems.Create();
    item.Name = "Third";
    quote.Items.Add(item);

    context.Quotes.Add(quote);
    context.SaveChanges();
}

using (var context = new MyEntityContext(connectionString))
{
    var quote = context
        .Quotes
        .FirstOrDefault();

    foreach (var item in quote.Items)
    {
        Console.WriteLine(item.Name);
    }
}

Console.WriteLine("DONE");

Output (changes run-to-run):
Second
First
Third
DONE

I was, of course, expecting them in order (first, second, third).
I guess this has to do with the underlying storage mechanism but I wanted to ask the question anyway. Obviously I could get around this by storing some other "order" property for each item, but that seems naff.

Because BrightstarDB is built on top of RDF, it inherits RDF's lack of ordering. There are approaches to modelling ordered lists in RDF but they end up being heavy and hard to query. I think in general taking an application-specific approach to ordering (like adding an order property) is probably the way to go. It might be something to come back and revisit in 2.0 though.

Fair enough - I suspected as much. I've just supplemented my entities with an Index property which I use to order them. Works fine and only the data layer "knows" about it.


Incremental Sync Javascript ?

Can someone tell me whether there is somekind of incremental sync in Javascript SDK?
If not.. What about the system properties ? They dont come by default on the requests as i see.
Is there a way to get the most recent UpdatedAt value from the sdk?
Also, is there a way to set updatedAt to come on every request ? Even on add/update ?

There is no sync code built on our JS SDK at this time.  All the system properties are present, since they are part of the server (And JS does support OC)  To get the values on your queries, you need to use the table.systemProperties option, or add a "__systemProperties=*" to your querystring.
updatedAt should be set automatically for you via a SQL trigger.  If you made the columns yourself/brought your own table, you could create a dummy table & inspect it to see the default triggers placed on it.
To get the most recent updatedAt for a table, you should be able to order by __updatedAt and set top to 1 in your query.  Just also set the systemProperty I mention above or the column will be hidden from you.

I see.
I have already implemented custom incremental sync saving data to local storage for now.
Again i would appreciate a honest response to whether is going to be a stable implementation soon :)

Can you be more specific about "stable implementation"?  Many of our features are supported in the JavaScript SDK, but unfortunately offline sync is not yet one of them. The JavaScript SDK is considered release quality, so if there's a specific bug, we'll definitely investigate!

Yeah actually im asking whether offline sync will be supported? If so, do you have a date estimation  ?

The long-term plan is to support the feature on JavaScript, but we have no ETA. In the meantime, I recommend a solution such as BreezeJS.


Reschedule MP whitepaper Tweets

Scheduled for the rest of the year after it disappeared on the scheduled tweet deck.
Have you read the #MicroProfile Technical White Paper yet? Lars Röwekamp @mobileLarson explains why NOW is the best time for developers & users to adopt the #MicroProfileAPIs when developing #microservices. Read more https://bit.ly/2PHFNzl
#MPWhitePaper #opensource #OSS

Thank you Ryan!!!
fixing issues with "surprise" deletions on media pushed https://github.com/eclipse/microprofile-marketing/issues/305


ioBroker states wrong version in latest repository

The file http://repo.iobroker.live/sources-dist-latest.json indicates v2.0.1 for the hue-extended adapter, even though the version v1.1.5 is latest on npm (see https://www.npmjs.com/package/iobroker.hue-extended).
Though, I accidentally pushed v2.0.1 to npm earlier but overrode it afterwards:

Apparently ioBroker is not retrieving the latest version but probably the highest number?
Is it possible to fix that? I would not want to push a version v2.0 of my adapter to npm just because I accidentally pushed a wrong version earlier.
Thanks in advanced for your help.

@Apollon77 sorry for pinging, but could you help on this? I was looking through all the code but can't find any evidence that leads to the wrong version number.
https://registry.npmjs.org/iobroker.hue-extended holds the correct value.
By the way, running node build --versions throws following error at the end:
C:\Users\Zefau\Projects\ioBroker.repositories\lib\build.js:272
                updatePublishes((latest, stable) => {
                ^

TypeError: updatePublishes is not a function
    at getStats (C:\Users\Zefau\Projects\ioBroker.repositories\lib\build.js:272:17)
    at Request.request [as _callback] (C:\Users\Zefau\Projects\ioBroker.repositories\lib\build.js:29:9)
    at Request.self.callback (C:\Users\Zefau\Projects\ioBroker.repositories\node_modules\request\request.js:185:22)
    at Request.emit (events.js:198:13)
    at Request.<anonymous> (C:\Users\Zefau\Projects\ioBroker.repositories\node_modules\request\request.js:1161:10)
    at Request.emit (events.js:198:13)
    at IncomingMessage.<anonymous> (C:\Users\Zefau\Projects\ioBroker.repositories\node_modules\request\request.js:1083:12)
    at Object.onceWrapper (events.js:286:20)
    at IncomingMessage.emit (events.js:203:15)
    at endReadableNT (_stream_readable.js:1145:12)

@GermanBluefox

@GermanBluefox I would highly appreciate your feedback on this. Why does http://repo.iobroker.live/sources-dist-latest.json hold the wrong version number?
I was looking through the source code and looks fine to me.
npm view iobroker.hue-extended version returns 1.1.5, which is correct. Though, iobroker states a wrong version (v2.0.1).

I contacted the npm support to get the version 2.0.1 deleted from npm. Bug still exists in iobroker.

then we leasve this issue open

Very similar to https://github.com/ioBroker/ioBroker.repositories/issues/527

Actually this issue is fixed.


Add -s option, like -m, -s sets the console-script to execute

Today the only way to choose console-scripts after the build is
complete is to set PEX_SCRIPT env var.

@izissise you can do much better. What do you think of this?:
You'd create something like this  - here in src/pex_busybox.py:
import argparse
import code
import os
import sys
from collections import OrderedDict
from importlib.metadata import entry_points

def main():
    argv0 = sys.argv[0]
    exe_name = os.path.basename(argv0)
    console_scripts = OrderedDict(
        (ep.name, ep)
        for ep in sorted(entry_points().get("console_scripts", ()), key=lambda ep: ep.name)
    )

    # BusyBox-style execution (dispatch based on link name):
    if exe_name in console_scripts:
        os.environ["PEX_SCRIPT"] = exe_name
        os.execv(argv0, sys.argv)

    # Manual entrypoint execution with extra ergonomics:
    parser = argparse.ArgumentParser(description=f"A {exe_name} PEX busy box.")
    subparsers = parser.add_subparsers()
    for console_script in console_scripts:
        subparser = subparsers.add_parser(console_script)
        subparser.set_defaults(script=console_script)

    args, rest = parser.parse_known_args()
    script = vars(args).get("script")
    if script:
        os.environ["PEX_SCRIPT"] = script
        os.execv(argv0, [argv0, *rest])

    # PEX interpreter style execution (single file venv repl):
    code.interact()

if __name__ == "__main__":
    main()

Then build a PEX using that file as your entry point and include whatever distributions you want.  Presumably this is better than adding -s into Pex itself and then having to tell users what scripts were available in your particular PEX file out of band:
PEX file venv-repl mode:
$ ./busybox.pex
Python 3.9.5 (default, May 24 2021, 12:50:35)
[GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> import isort
>>> import black
>>>
now exiting InteractiveConsole...

Self discovery of entrypoints in the most obvious way:
$ ./busybox.pex -h
usage: busybox.pex [-h] {black,black-primer,blackd,isort,isort-identify-imports} ...

A busybox.pex PEX busy box.

positional arguments:
  {black,black-primer,blackd,isort,isort-identify-imports}

optional arguments:
  -h, --help            show this help message and exit

Actually use one of those scripts listed via --help:
$ ./busybox.pex black --version
python -m busybox, version 21.5b2

And you can setup BusyBox style aliases:
$ ln -s busybox.pex isort
$ ./isort --version

                 _                 _
                (_) ___  ___  _ __| |_
                | |/ _/ / _ \/ '__  _/
                | |\__ \/\_\/| |  | |_
                |_|\___/\___/\_/   \_/

      isort your imports, so you don't have to.

                    VERSION 5.8.0

Wow, awesome that exactly the usage I need! Thanks :)
Is there a chance that it could be integrated as a new build flag (--busybox?), so it's directly available at build time? I'm willing to do the necessary changes in a new MR.

Furthering this line of thought - this is getting close to correct:
src/busybox.py:
$ cat src/busybox.py
import argparse
import code
import os
import sys
from collections import OrderedDict

try:
    try:
        from importlib.metadata import entry_points
    except ImportError:
        from importlib_metadata import entry_points

    def iter_console_scripts():
        return entry_points().get("console_scripts", ())

except ImportError:
    from pkg_resources import iter_entry_points

    def iter_console_scripts():
        return iter_entry_points("console_scripts")

def main():
    argv0 = sys.argv[0]
    exe_name = os.path.basename(argv0)
    console_scripts = OrderedDict(
        (ep.name, ep)
        for ep in sorted(iter_console_scripts(), key=lambda ep: ep.name)
    )

    # BusyBox-style execution (dispatch based on link name):
    ep = console_scripts.get(exe_name)
    if ep:
        return ep.load()()

    # Manual entry point execution with extra ergonomics:
    parser = argparse.ArgumentParser(
        description="A {exe_name} busy box.".format(exe_name=exe_name)
    )
    subparsers = parser.add_subparsers()
    for console_script, ep in console_scripts.items():
        subparser = subparsers.add_parser(console_script, description=console_script)
        subparser.set_defaults(ep=ep)

    args, rest = parser.parse_known_args()
    ep = vars(args).get("ep")
    if ep:
        sys.argv = [argv0] + rest
        return ep.load()()

    # No entry point specified; so drop to a repl:
    code.interact()

if __name__ == "__main__":
    main()

And then to build a multi-interpreter busybox using Pex:
$ pex \
--interpreter-constraint ">=2.7" \
--python-shebang "/usr/bin/env python" \
'setuptools; python_version <= "3.5"' \
'importlib-metadata; python_version == "3.6" or python_version == "3.7"' \
isort \
coverage \
-D src/ \
-ebusybox:main \
-obusybox.pex

If busybox (or python-busybox) were a distribution out on PyPI; this would just be:
$ pex \
--interpreter-constraint ">=2.7" \
--python-shebang "/usr/bin/env python" \
busybox \
isort \
coverage \
-cbusybox \
-obusybox.pex

So nothing built into Pex itself, but you can turn any PEX file into a busybox by adding the busybox requirements and specifying an entry point console script of -cbusybox.

Wow it's awesome that it can be done without depending on pex!
Thanks a lot for this !

Alright, you can now use conscript to do this: https://pypi.org/project/conscript/
$ pex \
--interpreter-constraint ">=2.7" \
--python-shebang "/usr/bin/env python" \
conscript \
isort \
coverage \
-c conscript \
-o busybox.pex

Which nets:
$ ./busybox.pex -h
usage: busybox.pex [-h] [PROGRAM]

A busybox.pex busy box.

positional arguments:
  PROGRAM     The program to execute.

              The following programs are available:
              + coverage
              + coverage-3.9
              + coverage3
              + isort
              + isort-identify-imports

optional arguments:
  -h, --help  Show this help message and exit.
^jsirois@gill ~/dev/jsirois/conscript (main) $ ./busybox.pex isort --version

                 _                 _
                (_) ___  ___  _ __| |_
                | |/ _/ / _ \/ '__  _/
                | |\__ \/\_\/| |  | |_
                |_|\___/\___/\_/   \_/

      isort your imports, so you don't have to.

                    VERSION 5.9.1

Of course this also works with shiv (and anything else):
$ shiv \
-p "/usr/bin/env python" \
conscript \
isort \
coverage \
-c conscript \
-o busybox.shiv
Collecting conscript
  Using cached conscript-0.1.1-py2.py3-none-any.whl (7.5 kB)
Collecting isort
  Using cached isort-5.9.1-py3-none-any.whl (105 kB)
Collecting coverage
  Using cached coverage-5.5-cp39-cp39-manylinux2010_x86_64.whl (243 kB)
Installing collected packages: isort, coverage, conscript
Successfully installed conscript-0.1.1 coverage-5.5 isort-5.9.1

Which nets:
$ ./busybox.shiv -h
usage: busybox.shiv [-h] [PROGRAM]

A busybox.shiv busy box.

positional arguments:
  PROGRAM     The program to execute.

              The following programs are available:
              + coverage
              + coverage-3.9
              + coverage3
              + easy_install
              + easy_install-3.8
              + isort
              + isort-identify-imports
              + pip
              + pip3
              + pip3.8
              + shiv
              + shiv-info

optional arguments:
  -h, --help  Show this help message and exit.
$ ./busybox.shiv pip --version
pip 21.1.3 from /home/jsirois/.venv/shiv/lib/python3.9/site-packages/pip (python 3.9)


Find is not working correctly

For many cases "Find & Replace" does not work properly and lead us to believe that term/phrase that we searched does not exist but it still there.
It's really tricky to reproduce. Here is an example term i.e. "Check on Fifth Avenue".

This phrase was existing in my document-1 and document-2.
Now when I tried to search phrase(copied from document-2) in document-1, it does not find.

Here is the screenshot for reference.

I also tried to edit phrases by removing last word "Avenue" and now Atom matches both... Strange!!!

I am using Atom on Mac.

Same issue - snap package on ubuntu - atom 1.47.0 and 1.48.0

I can't seem to reproduce the bug. I am running on
Atom: 1.48
MacOs: 10.15.5

Have you tried to run atom on safe mode and see whether you can reproduce the bug.


Is it possible to use this with react-native for IOS

Please provide possible solution to integrate it through react-native for IOS.

It should definitely be possible but might require an adapter. https://www.npmjs.com/package/react-native-canvas could probably be used to get this to work.
I don't use react native, and I'm not interested in learning it just for this issue. If someone else wants to work on it contributions are welcome.

I'm interested in this issue. I have never used smartcrop, but since it can be used in the browser, I think it can easily be used in React Native using a WebView and onMessage.

I have successfully used smartcrop in React Native by implementing it on the backend with Node.js and calling the API from the frontend, achieving good results.


make cover sorting more deterministic

Sorting by x and y in case of a tie doesn't produce better results, but it does produce more consistent output.
This avoid test failures like https://github.com/mapbox/carmen/issues/540

[x] :eyes: @yhahn

@ansis :+1: this is a typical node-pre-gyp project so you should be able to follow the flow in https://github.com/mapbox/carmen-cache/blob/master/CONTRIBUTING.md#publishing-node-pre-gyp-binaries for release.


Update sql-database-cloud-migrate-determine-compatibility-sqlpackage.md

Fix a couple of reported issues (from Comments)

Hi @ErikEJ, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

@ErikEJ : Thanks for your contribution to the Azure documentation! The author, @CarlRabeler, has been notified to review your proposed change.

#sign-off


chore: release  @contract-case/case-connector 0.6.7

:robot: I have created a release beep boop
0.6.7 (2024-01-06)
Bug Fixes

Update documentation slightly (1845322)

Dependencies

The following workspace dependencies were updated

dependencies

@contract-case/case-boundary bumped from 0.9.1 to 0.9.2

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/case-contract-testing/contract-case/releases/tag/%40contract-case/case-connector-v0.6.7 :sunflower:


⚠ Everything Hub has degraded performance

In 16c65cb, Everything Hub (https://hub.everythingbagel.me) experienced degraded performance:

HTTP code: 200
Response time: 9234 ms

Resolved: Everything Hub performance has improved in 34c935f after 8 minutes.


[3.4] Fix Buffer methods

Scope & Purpose

[x] Bug-Fix for devel-branch (i.e. no need for backports?)
[x] Bug-Fix for a released version (did you remember to port this to all relevant release branches?)

devel version: https://github.com/arangodb/arangodb/pull/9070
Related Information

This issue was reported via the ArangoDB community slack

Testing & Verification
This PR adds tests that were used to verify all changes:

[x] Added Regression Tests (Only for bug-fixes)

~~http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/4579/~~
http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/4584/
Documentation

[x] Added a Changelog Entry

New build because the old one uncovered a test failure. See devel version of this PR for details.

Jenkins expired before i could check:
https://jenkins.arangodb.biz/view/PR/job/arangodb-matrix-pr/4670/

@mchacki I've recreated the build: http://jenkins.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/4741/

Closed in favor of a new backport pending #9229.


Fixed logical evaluation of PRESENT intrinsics on Array variables

During inlining_member_procedures, PRESENT intrinsics are evaluated according the the actual presence of the concerned variables in the caller arguments.
However, this evaluation always returns false when evaluating Array variables.
This is due to the fact that we compare the array in the PRESENT call which has only the array's name, with the array declaration (from call.arg_map) which includes the dimensions.
I propose to correct that checking the existence of the variable in the list of variables names from call.arg_map, instead of checking directly in the variables from call.arg_map.


Formatting broken under "Remarks"

Quoting:
Any I/O completion processing that needs to be performed at IRQL < dispatch_level="" cannot="" be="" performed="" directly="" in="" the="" postoperation="" callback="" routine.="" instead,="" it="" must="" be="" posted="" to="" a="" work="" queue="" by="" calling="" a="" routine="" such="" as="">FltDoCompletionProcessingWhenSafe or FltQueueDeferredIoWorkItem.

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

ID: 7c54609f-5bac-41f9-cc9b-65f40e4900dc
Version Independent ID: fbf86498-496a-fed8-76f0-9a62457db534
Content: PFLT_POST_OPERATION_CALLBACK (fltkernel.h) - Windows drivers
Content Source: wdk-ddi-src/content/fltkernel/nc-fltkernel-pflt_post_operation_callback.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @lorihollasch
Microsoft Alias: loriwhip

@contentmaudlin, thanks for reporting this issue - it is now fixed!


Add support for CommunityToolkit

Description
This adds better support for Ollama References.

Provides an ability to specify a specific model to use
Adds a new extension method for an Ollama Reference to make it easier to specify the Ollama reference. This ensures that we provide the appropriate ConnectionString name, and we can optionally provide a value for a Model to use
Updates the web project so that we ensure that when using the Community Toolkit we remove the Endpoint= prefix which will result in an exception on startup.
Updates to Aspire 9.0

Issues

closes #6
closes #7

Thanks for submitting this! We aim to review this during the next week.


Fixed broadcast message problem.

With newer Node versions, the setBroadcast(true) is necessary to send Broadcast messages.

Already merged your first commit and fixed the lint issues :)
Thx for the PR 👍

Thanks


NpgSQL has a security bulletin CVE-2024-32655

Describe the bug
Not exactly a bug but a security vulnerability
To Reproduce
Running through our depenency track is causing our project that includes your project to fail a build
Expected behavior
Updating npgSQL to > 7.0.18 will clear the issue
Screenshots
none
Desktop (please complete the following information):
None
Smartphone (please complete the following information):
None
Additional context
See
CVE-2024-32655 or GHSA-x9vc-6hfv-hg8c
Thank you for your project and when you look at this.

@ShannonRichardLaivly Could you please provide a PR for this fix?


Adding multi-stage build to the Docker recipe

What kind of changes does this PR include?

New or updated content

Description
This PR extends the Docker recipe by adding a multi-stage build to the present Dockerfile example, which makes sure that the npm dependencies do not get reinstalled on every code change.
I'm aware that right below the Dockerfile is a note saying:

These are just examples of Dockerfiles. You can customize them to your needs.

and that the devs could implement the multi-stage build themselves, but I still think this new example is a good idea, since most of the devs will most likely just copy the Dockerfile.
E.g. in our team we blindly copied the previous Dockerfile example, it worked right out of the box and because of that, we didn't bother to modify it, even though we could've save ~3 minutes on each deploy by using this exact multi-stage build config (our deploy time went from ~4 minutes to ~1 minute, because the dependencies do not need to be reinstalled on each source code change).

I was thinking that maybe the text above the Dockerfile example should briefly mention the used multi-stage build technique, it's advantages and maybe a link to the official Docker docs.

Hey @sentisso, thank you so much for putting time and effort in this PR!
While I do agree that a multi-stage build is a way better way of writing and deploying your project, this might be a little bit to complicated for 'newcomers' to both Astro and Docker.
Maybe it would be better to leave the old Dockerfile as is, and create a new section with a header especially for multi-stage builds.
What do you think of that @sentisso

Hello @ElianCodes, yes I agree that it would be better to have those two sections.
The old one basically saying: "these are the minimal steps, that will get the app running" and the new one: "here's a more advanced setup, that takes the advantage of some ✨ docker magic ✨, which will make the deploys more efficient".
Now there's a question on how to phrase this... I was thinking that something like this could work:
SSR
This minimal Dockerfile will build your site and serve it using Node.js on port 3000 and therefore requires the Node adapter installed in your Astro project.
insert old Dockerfile...
Multi-stage build (not sure about this header)
Here's an example of a more advanced Dockerfile that will, thanks to Docker's multi-stage builds, build your site in a more efficient way, reducing the build time sometimes even by minutes.
By taking advantage of the mutliple build stages we make sure that the npm dependencies do not get reinstalled unnecessarily when only the source code changes.
insert new Dockerfile...

Hey @sentisso, thanks for taking the time to discuss and think about this!
I can certainly see multi-stage build being a header. I think the location for this would be best under ### static.
Everything else you mentioned; I agree with!

Hello @ElianCodes , I've updated the fork with the new multi-stage build section and reverted the old Dockerfile.
I've also modified the text a little bit, so now it sounds a bit better.
Lemme know, if any changes or corrections should made. Otherwise I'm quite satisfied with the current version.
Thanks!


Any idea to support IBM iSeries database?

Tried to make it work for IBM DB2 but it finally gave me this error:
[01000] [unixODBC][Driver Manager]Can't open lib '/opt/ibm/iaccess/lib/libcwbodbc.so' : file not found (0) (SQLDriverConnect)
For the dockerfile I added
# Install IBM driver
RUN curl https://public.dhe.ibm.com/software/ibmi/products/odbc/rpms/ibmi-acs.repo | tee /etc/yum.repos.d/ibmi-acs.repo
RUN yum install -y ibm-iaccess
RUN export CFLAGS="-I/opt/ibm/iSeriesAccess/include $CFLAGS"
RUN export LDFLAGS="-L/opt/ibm/iSeriesAccess/lib64 $LDFLAGS"
And in my code I also updated the LD_LIBRARY_PATH but still lambda can not find (or load?) that .so file. Do you have any thoughts?

No idea, sorry.


AXIS 1465-LE9 support acap?

I tried to update the firmware, but I don't know how to let docker enter the camera.
{
"apiVersion": "1.3",
"data": {
"propertyList": {
"Architecture": "aarch64",
"ProdNbr": "P1465-LE",
"HardwareID": "930",
"ProdFullName": "AXIS P1465-LE Bullet Camera",
"Version": "11.9.60",
"ProdType": "Bullet Camera",
"SocSerialNumber": "",
"Soc": "Axis Artpec-8",
"Brand": "AXIS",
"WebURL": "http://www.axis.com",
"ProdVariant": "9mm",
"SerialNumber": "",
"ProdShortName": "AXIS P1465-LE",
"BuildDate": "Feb 23 2024 21:36"
}
},
"context": "Client defined request ID"
}
I try to use this example
https://github.com/AxisCommunications/acap-computer-vision-sdk-examples/tree/main/hello-world-python
My host platform is windows
Use powershell to run,
But Set your device IP address and clear Docker memory I don’t know how to do it

Hi @Shaiken,
Could you please provide more details on what you have tried and what settings you are using for the Docker ACAP application.

Thank you for your assistance. I've tried the examples from acap-native-sdk-examples and they all work, but integrating into my own docker is a bit difficult. In addition to the Dockerfile, I also need to pay attention to the Makefile. It doesn't go very well when converting c to cpp and using vod +opencv because I want to use a piecewise model, so can't just use axoverlay either.
Later I saw that acap-computer-vision-sdk-examples can use flask to call each other. Although it seems that it cannot be compared with the speed of acap-native, I don’t know how to start when implementing this.

Since the issue does not seem to be related to the operation of the Docker ACAP application as such, I suggest you ask the question in Axis Communications Discussions.
You could also check the Computer vision on device in the ACAP Developer Documentation.


Git hook ignores config file

The git hook seems to ignore my config file. In particular, the skip option.

I found out that you can place .isort.cfg into subdirectories, and the hook will apply those settings to the files inside that directory. Solves my use-case. Thanks!


Use _Py_DebugOffsets instead of hardcoded offsets when possible

Python 3.13 adds a new _Py_DebugOffsets structure to _PyRuntimeState which tells us more or less everything that we need to know in order to decode the interpreter's data structures. Look for this structure and, if we find it, use the offsets contained in it rather than the offsets compiled into pystack at build time.
This allows us to decode stacks for interpreters with different build time sizes of different structures, including those running in a python3.13t free-threaded interpreter.

@pablogsal I've addressed all of your suggestions. I've also rebased this on main, and fixed conflicts that arose due to the fix for handling shim frames. Take another look when you get a chance, please.


Remove hard coded file paths

Added a config file under config/settings.cfg that contains the main settings for the application.
Added a config.py module that will be used by the other modules to simplify access to the values in the config file (has a single method get('key'))


Swapping in construction nodes results in invalid queries

Description
During the saturating process, Ontop reuses query definitions defined for an object property to define any inverseOf object property. It usually works as intended, but I ran across a specific use case where the generated query is not bound correctly.
The method it.unibz.inf.ontop.spec.mapping.transformer.impl.TMappingSaturatorImpl.MappingAssertionConstructionNodeTransformer#updateConstructionNodeIri will generate a ConstructionNode that simply swaps the subject and object of the child tree. However, as I understand the definition of ConstructionNode, it is illegal to have a variable in the domain and range of the Substitution. In my use case, it causes the childVariables to be empty. Therefore, every variable is considered as not required and is removed by it.unibz.inf.ontop.iq.node.normalization.impl.NotRequiredVariableRemoverImpl.
I'm not so sure that my proposition goes in the spirit of the rest of the code base, but I would change the ConstructionNode constructor to permit the specific case when the construction node is used to make a swap. I made a Pull Request for an example of this proposition.
Steps to Reproduce

I defined a test in my fork to illustrate the behaviour.
An example of Tree that are currently invalid is :

CONSTRUCT [s, p, o] [s/o, p/<http://example.org/iri>, o/s]
   UNION [s, o]
      CONSTRUCT [s, o] [s/RDF(http://example.org/dom1/{}(v0),IRI), o/RDF(http://example.org/range1/{}(v1),IRI)]
         VALUES [v0, v1] ("1"^^STRING,"2"^^STRING)
      CONSTRUCT [s, o] [s/RDF(http://example.org/dom2/{}(v2),IRI), o/RDF(http://example.org/range2/{}(v3),IRI)]
         VALUES [v2, v3] ("3"^^STRING,"4"^^STRING)

Expected behavior: [What you expect to see]
The tree should be valid and, therefore, could be optimized as follows:
CONSTRUCT [s, p, o] [p/<http://example.org/iri>, s/RDF(v1,IRI), o/RDF(v0,IRI)]
   VALUES [v0, v1] ("http://example.org/dom1/1"^^STRING,"http://example.org/range1/2"^^STRING) ("http://example.org/dom2/3"^^STRING,"http://example.org/range2/4"^^STRING)

Actual behavior: [What actually happens]
The tree is invalid, and the required variables are not considered. Therefore, they are deleted during the optimization :
CONSTRUCT [s, p, o] [s/o, p/<http://example.org/iri>, o/s]
   VALUES [] () ()

Reproduces how often: [Does it happen every time?]
Every time.
Versions
Ontop version5 (5.2.0) on commit f46dabab12aa1e0f0ab9a2b78b16393bee49b9c5

Hi @samdus,
Thanks for reporting the issue with the mapping saturator and proposing a solution.
The example tree is indeed invalid for several reasons:

There is a circular dependency between s and o (i.e. which one provides a definition to the other?)
A variable definition in the substitution of a construction node cannot be present in the subtree (there is no notion of overriding a column in this algebra).
It is also self-contradicting: the union sub-tree produces values for s and o that are always different while the top construction node is supposed to build the same values for s and o.

Such a tree clearly violates the IQ semantics and should never be produced. It is a bug.
If you could provide us with a high-level test (mapping + ontology + SPARQL query) reproducing it, that would be great.
Benjamin

Thank you for the rapid answer! I'm surprised that this is considered a circular dependency because I understood the substitution like multiple assignments (i.e., where the assignments are made in parallel independently of one another). This would make the right end-side of the substitution always calculated solely from the subtree, and therefore, it would not represent a circular dependency.
I don't think the situation that generates this bug can be reproduced only with Ontop. It happens in my project because I am working on a derivation of Ontop generating relational tuples rather than RDF. I will not go into more detail since it is not relevant to the conversation.  I will change my implementation so the variable is renamed in the subtree, and this case will not happen.
Thank you again for your time!

If you have questions related to IQs, please do not hesitate to contact me.
If you want to read more about it, I suggest the following two publications:

Guohui Xiao, Davide Lanti, Roman Kontchakov, Sarah Komla-Ebri, Elem Güzel-Kalayci, Linfang Ding, Julien Corman, Benjamin Cogrel, Diego Calvanese, and Elena Botoeva. The Virtual Knowledge Graph System Ontop. International Semantic Web Conference (Resource Track), 2020.
Guohui Xiao, Roman Kontchakov, Benjamin Cogrel, Diego Calvanese, and Elena Botoeva. Efficient Handling of SPARQL OPTIONAL for OBDA.  International Semantic Web Conference (Research Track), 2018.

There is also a documentation page giving an overview on IQs.

Thank you very much for your time!


Feat: Add typescript definitions on npm

Hey thanks for the great work you've put out here.
It would be great to get built in types.

Hello,
Oh yes, it was on my roadmap.
I need some time to do it. Feel free to open a pull request, even if it is not perfect. It will help me a lot.
Here were my initial notes on it:
declare module 'rock-req' {
  import { Agent } from 'http';
  import { RequestOptions as HttpRequestOptions } from 'https';
  import { Writable, Readable } from 'stream';

  export interface RequestOptions extends HttpRequestOptions {
    maxRedirects?: number;
    maxRetry?: number;
    retryDelay?: number;
    keepAliveDuration?: number;
    retryOnCode?: number[];
    retryOnError?: string[];
    beforeRequest?: (options: RequestOptions) => RequestOptions;
    json?: boolean;
    form?: any;
    output?: (options: RequestOptions, response: Response) => Writable;
    remainingRetry?: number;
    remainingRedirects?: number;
    body?: string | Buffer | Readable;
    prevError?: Error;
    prevStatusCode?: number;
  }

  export function rock(opts: RequestOptions | string, directBody?: any, cb?: (err: Error | null, response?: Response, data?: any) => void): any;
  export function extend(defaultOptions?: RequestOptions): typeof rock;

  export interface Rock {
    get: typeof rock;
    post: typeof rock;
  }
}


Error - unable to generate code for table: %s, primary key column: [%d] %s has unsupported type: %s / %s

gen --version
v0.9.27 (08/04/2020)
I am trying like:
gen --sqltype=mysql \
   	--connstr "correct_conn_str" \
   	--database some_db  \
   	--gorm \
   	--guregu \
   	--out ./out \
   	--generate-dao \
   	--overwrite

Then getting:
Error - unable to generate code for table: %s, primary key column: [%d] %s has unsupported type: %s / %s

Yes, my primary key column is a varbinary
Is there a way to fix this?
Thanks

gen doesn't know how to map varbinary to a go type.
Maybe you should define your mapping.json just like:
{
      "sql_type": "date",
      "go_type": "time.Time",
      "json_type": "Text",
      "protobuf_type": "google.protobuf.Timestamp",
      "guregu_type": "*models.Time",
      "go_nullable_type": "time.Time",
      "swagger_type": "time.Time"
    }

@smallnest
After doing more research, it seems gen understands varbinary and converts it to []byte but problem occurred (Error thrown) when  varbinary is a primary key.

what error? paste the error stack please

I am getting like(As in the first comment)
Error - unable to generate code for table: %s, primary key column: [%d] %s has unsupported type: %s / %s
Sorry, I don't have stack ATM.

I have add some code to support varbinary but have not test with a mysql database.


icd: Add vkGetMemoryFdKHR support

Allows MockICD test to return a non-negative fd for vkGetMemoryFdKHR

CI Vulkan-Tools build queued with queue ID 72154.

CI Vulkan-Tools build queued with queue ID 72154.

CI Vulkan-Tools build # 1246 running.

CI Vulkan-Tools build # 1246 passed.


Julia/unit tests

Updates https://github.com/DataDog/integrations-core/pull/3801 with some minor fixes

Perhaps it would be good to also update the example below to further make clear the support for regex:
# queue_patterns:
#  - '^DEV.*$'
#  - '^SYSTEM.*$'

Good idea, i've put one of each

@goodgrits this branch is now passing tests, if you want you can merge it into your PR

Perhaps it would be good to also update the example below to further make clear the support for regex:
# queue_patterns:
#  - '^DEV.*$'
#  - '^SYSTEM.*$'

Good idea, i've put one of each

Updated to this, since the intent is also to match the dot in DEV. and SYSTEM..
    #   - '^DEV\..*$'          # match queues starting with "DEV."
    #   - '^SYSTEM\..*$'       # match queues starting with "SYSTEM."

Added some Additional Notes in PR desc:
Warning
Using regex for queue_patterns instance configuration instead of MQ pattern will change the matching behavior for existing configurations.
Existing patterns like DEV.* using MQ pattern should be translated to ^DEV\..*$ regex pattern in order to match "queue names starting with DEV.".
If existing patterns like DEV.* are not updated to regex pattern, it will math "queue names that contain DEV". So, more queues might be matched because of that, there for more metrics will be collected.
If existing patterns like DEV.FOO* are not updated to regex pattern, will also match more than expected e.g. DEV9FOO123 since the . will match anything.
The only case where using regex will match less queues is a pattern like DEV.FOO*BAR. In regex, the * will match only 1 character, but in MQ pattern, it will many any number of character.

Also, this change provides regex support for the queue_patterns configuration (overcoming MQ's right-side-wildcard-only pattern treatment).

@goodgrits Do you mind describing the use case or giving an example about the need for regex support ?

Because of the following case, changing the queue_patterns configuration might be a breaking change for some users. So I would like to understand a bit more the use case and check if there is an alternative way to provide regex support (e.g. adding another configuration option like queue_regex)

A case where using regex will match less queues is a pattern like DEV.FOO*. In regex, the * will match only 1 character, but in MQ pattern, it will many any number of character.

Because of the following case, changing the queue_patterns configuration might be a breaking change for some users. So I would like to understand a bit more the use case and check if there is an alternative way to provide regex support (e.g. adding another configuration option like queue_regex)

That's a good point.  Perhaps a better option would be to have queue_patterns match by MQ-pattern, and a new, separate configuration for queue_regex as you mention.
When I was first looking into the code to address issues related to my evaluation of the integration, it was not clear to me whether the intent of the original implementation was to support MQ-pattern or regex.  I went with regex since it is more capable when making my changes for the purpose of my evaluation.  Lack of queue name match by regex is not a deal-breaker but a nice to have.
In my experience, most of the tools in the IBM MQ ecosystem support MQ-pattern, not regex, for object selection.  That said, support in some manner for regex in addition to MQ-pattern could be a +1 for DataDog.

I went with regex since it is more capable when making my changes for the purpose of my evaluation. Lack of queue name match by regex is not a deal-breaker but a nice to have.

Do you mean, for your evaluation, you have a use case where you need to match things that can't be done using MQ's right-side-wildcard-only pattern ?
Could you share that example case, if possible. Thanks.

@goodgrits Thanks a lot for your feedbacks. I updated the PR. So to recap what this PR does now:

Add config queue_regex (no change to queue_pattern)
Support pymqi.CMQC.MQQT_LOCAL and pymqi.CMQC.MQQT_MODEL
Revert changes about DISALLOWED_QUEUES to avoid changing existing behavior

If this implementation works for you. If yes, the PR should be ready for a last review, then merged.

@AlexandreYang & @hithwen: This looks good from my POV.
@dsahni: Feel free to let me know when ready to beta test (as before).
Thanks, all.

-- So where would regex fit in? --
I don't think regex is a must-have if the final decision is to keep the PREDEFINED deftype filter in place. Excluding those queues that are not PREDEFINED would eliminate AMQ. queues and most queues that start with SYSTEM. This would satisfy the needs of my organization.
Thinking about this further: What I can't be sure of is what queues other organizations may seek to monitor. Another approach that may give a greater level of control is to not have the PREDEFINED filter (or perhaps add a separate config to include/exclude PREDEFINED) and add queue_regex. Then orgs can achieve a similar result with:
- queue_regex:
  - '^(?!SYSTEM\.).*$'
  - '^(?!AMQ\.).*$'

In case an organization would want metrics for SYSTEM. or AMQ. queues, it would have that option. This would also mean that the organization would be responsible for excluding (name by regex) any queues that would fail on PCF inquiry if desiring to prevent excessive errors in the integration log.

An update on this following beta-testing (version 3.0.0):
In case an organization would want to exclude all 'system' queues and avoid errors like the following from filling the integration check log ...
2019-06-23 03:40:38 UTC | CORE | WARN | (pkg/collector/py/datadog_agent.go:148 in LogMessage) | (ibm_mq.py:164) | Error getting queue stats for MQAI.REPLY.5D0EE8AD20044169: MQI Error. Comp: 2, Reason 2085: FAILED: MQRC_UNKNOWN_OBJECT_NAME

2019-06-23 03:40:38 UTC | CORE | WARN | (pkg/collector/py/datadog_agent.go:148 in LogMessage) | (ibm_mq.py:77) | Cannot connect to queue MQAI.REPLY.5D0EE8AD20044169: PYMQI Error: not open

... an adequate queue identification configuration would be ...
  queue_regex:
    - '^(?!(SYSTEM)|(AMQ)|(MQAI)\.).*$'

... in the absence of an additional configuration capability to exclude queues whose deftype is not PREDEFINED.
(The following will not work as I suggested earlier ...
  queue_regex:
    - '^(?!SYSTEM\.).*$'
    - '^(?!AMQ\.).*$'

... as it would be useless since the two patterns cancel each other out when applied over a set of queue names independently.)
Note that if auto-discovery is used for queue identification with this version, there will be lots of WARNings like those shown above in the integration check log example.  Given this, a further/future conversation on introducing configuration to exclude queues based on deftype (apart from queue identification by name) might be worthwhile.

Thanks for the feedback on v3.0.0.
It seems that the issue is that we are trying to get a stats from queues that doesn't provide stats, for example queues like MQAI.REPLY.* and other system queues listed in DISALLOWED_QUEUES.
Using DEFINITION_TYPE == PREDEFINED could exclude those queues as you already tested before, but I would like to make sure that this is the right filter and we are not excluding more than necessary.
I will dig into that a bit more and let you know if there is a better way. Please let me know if you think that DEFINITION_TYPE is definitely the right one or there is another way to filter.

Yes.  I suspect that failing PCF executions when seeking to obtain queue metrics on certain queues was the original motivation for the DISALLOWED_QUEUES list.
I think the most common use case when using auto-discovery will be to include only those queues  where DEFTYPE is PREDEFINED.  PREDEFINED queues are the only type that we use in our organization.
Here's the documentation on DEFTYPE (scroll down a bit to get there):

https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.1.0/com.ibm.mq.ref.adm.doc/q086270_.htm

DataDog  may want to reach out to other customers to gauge their use.

I think the most common use case when using auto-discovery will be to include only those queues where DEFTYPE is PREDEFINED. PREDEFINED queues are the only type that we use in our organization.

Yes, agree with your point, seems to be reasonable to filter PREDEFINED using auto-discovery.

DataDog may want to reach out to other customers to gauge their use.

I will double check @dsahni about other users, then if everything is ok, I will create a PR to implement this filter (what you proposed in your initial PR).


Issues with multiple streams

I recently upgraded the amount of streams I'm able to have from my provider. I updated the number of streams in both locations, but anytime I try to start a second stream the first one stops working.
OS: Debian
Intel 64 Bit
xTeVe Version: 2.1.2
To reproduce: start a stream on Plex and then go to a different device and try to start a different stream.  The first stream will stop working almost immediately.
22020-06-14 20:36:09 [xTeVe] Channel Name:          <Channel stream #1>
2020-06-14 20:36:09 [xTeVe] Client User-Agent:     Lavf/58.27.104
2020-06-14 20:36:10 [xTeVe] Streaming Status:      Playlist: M3U - Tuner: 1 / 3
2020-06-14 20:36:10 [xTeVe] Streaming Type:        [HLS / M3U8]
2020-06-14 20:36:10 [xTeVe] Streaming URL:         http://:826/live///109500.m3u8
2020-06-14 20:36:10 [xTeVe] Streaming Status:      HTTP Response Status [200] OK
2020-06-14 20:36:10 [xTeVe] Content Type:          application/x-mpegurl
2020-06-14 20:36:11 [xTeVe] Streaming Status:      HTTP Response Status [200] OK
2020-06-14 20:36:11 [xTeVe] Content Type:          video/mp2t
2020-06-14 20:36:16 [xTeVe] Buffer:                true [xteve]
2020-06-14 20:36:16 [xTeVe] Buffer Size:           8192 KB
2020-06-14 20:36:16 [xTeVe] Channel Name:          <Channel stream #2>
2020-06-14 20:36:16 [xTeVe] Client User-Agent:     Lavf/58.27.104
2020-06-14 20:36:16 [xTeVe] Streaming Status:      Playlist: M3U - Tuner: 2 / 3
2020-06-14 20:36:16 [xTeVe] Streaming Type:        [HLS / M3U8]
2020-06-14 20:36:16 [xTeVe] Streaming URL:         http://:826/live///109446.m3u8
2020-06-14 20:36:17 [xTeVe] Streaming Status:      HTTP Response Status [200] OK
2020-06-14 20:36:17 [xTeVe] Content Type:          application/x-mpegurl
2020-06-14 20:36:17 [xTeVe] Streaming Status:      HTTP Response Status [200] OK
2020-06-14 20:36:17 [xTeVe] Content Type:          video/mp2t
2020-06-14 20:36:18 [xTeVe] Content Type:          text/html; charset=UTF-8
2020-06-14 20:36:18 [xTeVe] Streaming Status:      HTTP Response Status [403] Forbidden
2020-06-14 20:36:18 [xTeVe] Error with this URL:   http://:25461/live///109500.m3u8?token=
2020-06-14 20:36:18 [xTeVe] [ERROR] Forbidden (This error message comes from the provider) - EC: 4004
2020-06-14 20:36:18 [xTeVe] Streaming Status:      Playlist: M3U - Tuner: 1 / 3
2020-06-14 20:36:18 [xTeVe] [ERROR] Forbidden () - EC: 0
2020-06-14 20:41:28 [xTeVe] Buffer:                true [xteve]
2020-06-14 20:41:28 [xTeVe] Buffer Size:           8192 KB

You have to ask your provider, the stream ends with the message Forbidden.
2020-06-14 20:36:18 [xTeVe] [ERROR] Forbidden (This error message comes from the provider) - EC: 4004


ChatBot

Pull Request Template
script name - Chat bot
Brief about script
Issue no.(must) - #604
Self Check(Tick After Making pull Request)

[x]   This issue was assigned to me.

[x] One Change in one Pull Request

[x] My file is in proper folder (Name of folder should be in lowercase with no space in between) (E.g. meet_schedular)

[x] I am following clean code and Documentation and my code is well linted with flake8.

[x] I have added README.md and requirements.txt (Include version numbers too e.g. pandas==0.0.1) with my script

[ ] Just including required dependencies in requirements.txt (Don't include Python version too)

If issue was not assigned to you Please don't make a PR. It will marked as invalid.

Hey add python file not jupyter one


Allow installing into an existing directory

@derekgreenberg pointed out a good use case where you would have a directory already created and would like to install ignite into it.
This will happen when people create the repo first on github.
react-native init will prompt you first and then install it.  We should do the same.

To be clear, you mean warn the user before overwriting the directory versus ignite attach?

Currently we don't let people create ignite into an existing directory.  It always creates it in a sub-directory.
To be honest, that's a limitation of react-native init, but we could move it back a directory once it's finished.
So he basically wanted ignite new Derek . =)

In my opinion, since react-native init doesn't support this, I don't think we should. I vote to wontfix this. :)

Sold.


Modify x11_requirement.rb check whether linuxbrew/xorg/xorg is installed

You may want to create a new file xorg_requirement.rb and add a line to x11_requirement.rb to switch over to xorg_requirement automatically unless OS.mac?. Also disable the hack in xquartz.rb.
See #527

This issue was moved to Linuxbrew/brew#5


Default chapter should be configurable

...without re-deploying the frontend. So perhaps there could be some sort of admin interface that let us control such things:

default chapter
user management
group management
extraction of plagiarism reports (perhaps)
contest voting management (perhaps)

CLI tool perhaps?

I would suggest that the playground chapter/library options just be saved locally (along with the other fields such as the editor value. This way we don't even need to manually configure the default chapter.

If im not wrong thats already the case! default source level only comes into play if it cant find the config in local storage!


connectForm and API refinements

This PR introduces a connectForm HOC to inject form state into components.
It also has a variety of fixes and refinements to the Form api.

@alexyuly Review please 😄

@grantga Good call on recompose, was using it earlier but not anymore. I'll try to introduce some shivs in future commits 😜


Allow "select all" and "deselect all" in filters with checkbox options

UX crash
You can now only click "select all" – which is blocking when you've accidentally checked 50 filter boxes or want to work quickly. Allow "select all" and "deselect all" from filters button.
Context
Steps to reproduce

Open filter with checkbox options, such as "year"

Click "select all"

Selecting one year now requires you to

A: refresh the page, which resets all filters, and you have to completely start over with your filter set.
B: uncheck each box you accidentally activated, which can take ages as well.

Note; you could argue clicking next to the box without hitting "apply" and clearing the list, but this pattern is also counter-productive. See #844.
Expected behaviour
Change the button to "deselect all"

@mietcls what you prefer as label at startup?
i.e. you load the page with some filters already enabled. e.g. filter "biblio status" has been set to "draft".
Set to "deselect all" when any is checked?

On start (clean page, no bookmarks), there will be no filters enabled (and you will see all unfiltered results) -> "Select all"
The moment some are selected (this also applies when you surf to a bookmarked page with filters) -> "Deselect all" (like a reset, as you suggested)
When all of them are selected -> "Deselect all" (reset)
When none of them are selected, after the "Deselect all" action (reset), it is the same as on start -> "Select all"

Does this help / is it clear?

Is this one done?

I guess so.


[GAL-38] Implement Markdown shortcut buttons

Implement Markdown shortcut buttons
This PR creates buttons for three Markdown formatting options: bolding text, creating list items, and adding links.
The Markdown shortcut buttons are present in 1. the edit user info modal and 2. the collector's note textarea.
https://user-images.githubusercontent.com/13339581/167713041-2c018f02-8722-43e8-b08f-ca7b5ae69295.mov
Behind the scenes, <MarkdownShortcuts /> is handling the

Text selection, e.g. where your cursor is, and what it is highlighting, and
Change events, e.g. it creates a CustomEvent that can be passed to onChange so that the addition/removal of Markdown is rendered as a change event in the same way that editing text would be.

Then, each of the Markdown options are in their own components: <Bold />, <List />, and <Link />. These are a bit complex because they handle a lot of different cases. <List /> in particular is sort of a beast. (Yet again illustrating why as much testing as possible would be appreciated 🙏)
Two things that would be helpful before merging:
Try to break things
Each of the three Markdown Shortcuts are pretty complicated in nature, so as much testing as you can do to break things will be appreciated. You can play around with the shortcuts in your collectors notes or edit user info modal.
Help me fix my Typescript errors pls
There are two in particular:

Getting the addition of Markdown to trigger onChange (from the parent) was complicated enough, because it didn't trigger a ChangeEvent on the textarea. I ended up creating a CustomEvent that mimics that can be passed into onChange so everything works, but now I'm getting a Typescript error. (This is my first time using CustomEvent, could def move away from this solution if anyone has ideas). This leads to a TypeScript error here.
Passing the textAreaRef to <MarkdownShortcuts />. There is some issue here with passing a ref from a forwardRef. It is pretty confusing. This leads to a TypeScript error here.

@kaitoo1 These comments have been addressed and the bugs you mentioned in Threads are also accounted for 👍
We can do some more stress testing, and then could we look into the TypeScript errors I mentioned? Still perplexed by those

connor, incredible work so far, holy crap 💪 💪 💪
the functionality is fantastic. i couldn't break the actual logic of the text area!!
gonna leave some purely design feedback:

looks like the inputs now have a new off-white background color that we should be using, both for the header as well as the text area. the button also looks bigger in the spec

this PR
spec

same comment as above for the collector's note. also note that the save button now says SAVE NOTE

the icons should be vertically and horizontally the same distance away from the edges

this PR
spec

other than that, insaneeee work

ah, i think the end-result needs a design pass as well.
putting the following in:

results in this, for bio the "bio" field and the "collection description" fields:

okay LAST comment for the night-
the forwardRef typescript thing should be fixed by this: https://github.com/gallery-so/gallery/pull/752
it was explained from here: https://stackoverflow.com/questions/65876809/property-current-does-not-exist-on-type-instance-htmldivelement-null
i made the PR against this branch, so if it looks good to you, feel free to merge!

@connorrothschild wanna slap on a feature flag so we can merge?!

@Robinnnnn yessssssir i totally forgot, on it


Rider - detect bad install + disable global warning

LGTM. Kudos for removing the message about installing csharpier globally that I keep getting all the time 🗡