debian openssl documentation

Dear developers,
as you recommend I would like to use Openssl. I followed the documentation posted here: https://opendistro.github.io/for-elasticsearch-docs/docs/security-configuration/tls/#openssl
and tried to adapt it for debian stretch.
These are my installed packages. As far as I understand libapr1 should provide the APR.
ii  openssl                              1.1.0j-1~deb9u1                   amd64        Secure Sockets Layer toolkit - cryptographic utility
ii  libapr1:amd64                        1.5.2-5                           amd64        Apache Portable Runtime Library
ii  libaprutil1:amd64                    1.5.4-3                           amd64        Apache Portable Runtime Utility Library
ii  libnetty-tcnative-java               1.1.33.Fork26-1                   all          Tomcat native fork for Netty
ii  libnetty-tcnative-jni                1.1.33.Fork26-1                   amd64        Tomcat native fork for Netty (JNI library)

I used the libnetty-tcnative and plan to use systemd's ExecStartPre to copy the current jar into the opendistro-security directory so I don't have to manually update it.
-rw-r--r-- 1 root root 70760 Jun 13 08:44 /usr/share/elasticsearch/plugins/opendistro_security/netty-tcnative.jar
MD5SUM:
ab4c77c0dc2590547fc96608d4136f2d  /usr/share/elasticsearch/plugins/opendistro_security/netty-tcnative.jar

But opendistro-security does not pick it up:
[2019-06-13T09:06:05,237][INFO ][c.a.o.s.s.DefaultOpenDistroSecurityKeyStore] [mes-any-mailsearch-dev002-mes_any_mailsearch1] OpenSSL not available (this is not an error, we simply fallback to built-in JDK SSL
) because of java.lang.ClassNotFoundException: io.netty.internal.tcnative.SSL

I can change the error by using netty-tcnative-2.0.25.Final-linux-x86_64.jar from
https://repo1.maven.org/maven2/io/netty/netty-tcnative/2.0.25.Final/netty-tcnative-2.0.25.Final-linux-x86_64.jar.
This is the error when using the other netty-tcnative version:
[2019-06-13T09:34:52,425][INFO ][c.a.o.s.s.DefaultOpenDistroSecurityKeyStore] [mes-any-mailsearch-dev002-mes_any_mailsearch1] OpenSSL not available (this is not an error, we simply fallback to built-in JDK SSL
) because of java.lang.IllegalArgumentException: Failed to load any of the given libraries: [netty_tcnative_linux_x86_64, netty_tcnative_linux_x86_64_fedora, netty_tcnative_x86_64, netty_tcnative]

Please help me understand how to use Openssl with debian.
I installed opendistro via the elasticsearch plugin manager and use the elasticsearch puppet module https://forge.puppet.com/elastic/elasticsearch
ES: 6.7.1
Opendistro: <IP_ADDRESS>
Thank you!

Hi @gna582, thanks a bunch for reporting. I'm able to reproduce on both RHEL and Debian, so I'm working with the development team to figure out what the heck the plugin is looking for. 😕
I'll let you know what I find out/modify the documentation as appropriate.

Hi @gna582, for now, we're recommending a statically-linked JAR that has OpenSSL, APR, and netty-tcnative. I'm not wild about the solution---people should be able to use system packages---so I'm leaving this issue open until we can get better steps into the documentation or a cleaner solution into the product. In the meantime, you can grab the file you need here and drop it into plugins/opendistro_security. I've also updated the docs.

Hi @aetter,
thank you for the quick reply and the fast clarification!
Tested that static jar and it does indeed enable openssl in opendistro_security.
I must admit that the thought of having to keep up with openssl and netty security update cycles to keep that static jar safe is unappealing.
I'll have a read how insecure CBC actually is and maybe test if performance without openssl is sufficient. (Context: https://github.com/floragunncom/search-guard/issues/310#issuecomment-372145935)
Thank you!

For the people who came here via google you should also note that openssl 1.1.0 doesn't support tls1.3, so it also needs to be disabled like this:
opendistro_security.ssl.http.enabled_protocols:
- "TLSv1.1"
- "TLSv1.2"

If you don't do that, you will see errors like this on the master:
[2019-06-14T15:44:01,281][WARN ][i.n.c.ChannelInitializer ] [mes-any-mailsearch-dev002-mes_any_mailsearch1] Failed to initialize a channel. Closing: [id: 0xc6c3f2c4, L:/<IP_ADDRESS>:9200 - R:/<IP_ADDRESS>:3729
4]
java.lang.IllegalArgumentException: Protocol TLSv1.3 is not supported.
        at io.netty.handler.ssl.ReferenceCountedOpenSslEngine.setEnabledProtocols(ReferenceCountedOpenSslEngine.java:1516) ~[netty-handler-4.1.32.Final.jar:4.1.32.Final]
        at com.amazon.opendistroforelasticsearch.security.ssl.DefaultOpenDistroSecurityKeyStore.createHTTPSSLEngine(DefaultOpenDistroSecurityKeyStore.java:525) ~[opendistro_security_ssl-<IP_ADDRESS>.jar:<IP_ADDRESS>]
        at com.amazon.opendistroforelasticsearch.security.ssl.http.netty.OpenDistroSecuritySSLNettyHttpServerTransport$SSLHttpChannelHandler.initChannel(OpenDistroSecuritySSLNettyHttpServerTransport.java:115)
~[opendistro_security_ssl-<IP_ADDRESS>.jar:<IP_ADDRESS>]
        at io.netty.channel.ChannelInitializer.initChannel(ChannelInitializer.java:115) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.ChannelInitializer.handlerAdded(ChannelInitializer.java:107) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:637) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.DefaultChannelPipeline.access$000(DefaultChannelPipeline.java:46) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask.execute(DefaultChannelPipeline.java:1487) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.DefaultChannelPipeline.callHandlerAddedForAllHandlers(DefaultChannelPipeline.java:1161) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.DefaultChannelPipeline.invokeHandlerAddedIfNeeded(DefaultChannelPipeline.java:686) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:514) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.AbstractChannel$AbstractUnsafe.register(AbstractChannel.java:480) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:80) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.SingleThreadEventLoop.register(SingleThreadEventLoop.java:74) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.MultithreadEventLoopGroup.register(MultithreadEventLoopGroup.java:86) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.channelRead(ServerBootstrap.java:255) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.nio.AbstractNioMessageChannel$NioMessageUnsafe.read(AbstractNioMessageChannel.java:93) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:656) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:556) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:510) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:470) [netty-transport-4.1.32.Final.jar:4.1.32.Final]
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:909) [netty-common-4.1.32.Final.jar:4.1.32.Final]
        at java.lang.Thread.run(Thread.java:834) [?:?]

I think this also relates to https://github.com/opendistro-for-elasticsearch/security-ssl/pull/10

Hi @gna582, @hardik-k-shah mentioned that commit to me, and I wasn't sure why he brought it up. Thanks for the clarification. It's worth noting that if you're using Java 11, performance is apparently quite similar to OpenSSL. It's just that OpenSSL has a large advantage over Java 8.

At this point, our recommendation is essentially "use Java 11," so I've made a minor change to that page and am going to close this issue out.


Tokens as Constructable Stylesheets

In order to avoid CSS variable leakage, we should not register tokens on :root, at least not by default. Instead we should use a shared stylesheet instance which loads the token variables into :host for each component.
This should enable all components to share the same variables without increasing bundle size or impacting performance, while also not leaking any variables outside of the shadow roots.

Merging this with the vision branch locally, because this now has bits of main in it 🤦


Include omit_in function in colls.py to omit key-value pairs in deeply nested collections

I recently had to add another function to the family of get_in, update_in and set_in from the funcy.colls module. The goal here is to omit the key-value pair at path. I think that the implementation and docstring speak by themselves:
def omit_in(coll, path):
    '''Create a copy of `coll` with value omitted at `path`.

    For example:
    >>> omit_in({'a': {'b': 0, 'c': 1}}, ['a', 'c'])
    {'a': {'b': 0}}
    >>> omit_in({'a': {'b': 0, 'c': 1}}, ['a'])
    {}
    >>> omit_in({'a': {'b': 0, 'c': 1}}, ['c'])
    {'a': {'b': 0, 'c': 1}}
    '''
    *path, key = path

    current = get_in(coll, path, {})
    omitted = omit(current, {key})

    return set_in(coll, path, omitted)

This is almost like omit({'a': 0, 'b': 1}, 'a'), but it also works with deep paths.
If you are interested in adding this to Funcy, I would gladly submit a PR :smile:
And, if that is the case, some points I'd like to ask you what exceptions should be raised in case: (1) path is empty, so that *path, key = path fails with ValueError: not enough values to unpack (expected at least 1, got 0); and (2) path is not a valid path for the collection coll (see 3rd example in the docstring).

There are a couple of issues with this:

the API does not permit omitting several things, like omit() does.
what about of projecting instead of omitting? Do we also need project_in()?
what if we want to filter keys by some predicate? Do we need select_keys_in()?

So we come to combinatoric explosion, which is traditionally solved with composition. In this case we can pass things to update_in():
update_in({'a': {'b': 0, 'c': 1}}, ['a'], rpartial(omit, {'c'}))

# if we expect path may not always be present
update_in(coll, path, rpartial(omit, keys), default={})

# several things to omit
update_in(coll, path, rpartial(omit, {'c', 'd'}))

# whitelist keys on path
update_in(coll, path, rpartial(project, {'a', 'b'}))

# ...

If you happen to do any particular of these operations a lot you may write a one-line helper. I am not sure that one should be included into funcy just yet.

Wow, I think I just didn't spend enough time toying around with update_in to realize how powerful it is. Even set_in is defined in terms of update_in. Very clever!
I would close this issue now since I agree with you that it doesn't seem worth the trouble, but there's still something bothering me here:

if you wish to do d.get(...) or d[...] in a deep/nested collection, you use get_in
if you wish to do d[...] = ... in a deep/nested collection, you use set_in
if you wish more general operations, perhaps update_in is the answer

So, loosely speaking, we have dict.__getitem__ and dict.__setitem__ available through get_in and set_in. However, the analogous to del d[...] (or dict.__delitem__) is still missing. I know that it can be easily implemented using update_in (as you showed), but then also can set_in. It was this "del_in" analogous that I had in mind and felt that was missing in funcy when I wrote omit_in.
Having the complete set of basic dict operations would be nice, but I also think that it may indeed be too much trouble for too little value (since nobody else seemed to need this feature up to now). I'll leave this issue open for now if you wish to add any closing remarks, but I'm satisfied with tweaking update_in.

Ok, if you frame it as adding del_in() then it makes sense for completeness and symmetry. It will need to support lists though for the same reasons. I'll mark this with looking for more interest label for now.


Chore:  Makes sure merge is made before CMS sync

What's the purpose of this pull request?

When running cli faststore cms-sync, runs generate to ensure that sections and content-types files are merged or check if anything else is needed before calling cms-sync.

We were having some issues because the mergeCMSFiles were only called when running yarn dev in the application, and the users couldn't see the changes made on the repository when sync with CMS. To avoid issues like that, it would be nice if faststore cms-sync checked it beforehand.

Thanks @ArthurTriis1 , for helping out! 🚀 🚀
We have to update the documentation!!!!
How to test it?
You can test using this PR: https://github.com/vtex-sites/starter.store/pull/119
On this repository run yarn cms-sync

You should be able your CMS changes applied in the workspace, without running yarn dev.

More updates coming on https://github.com/vtex/faststore/pull/1881


Adding items to list - Drag Drop

Hi Mike,
The drag and drop function does not work - this means no items to add to the list. Maybe a simple text entry or item id would be sufficient.

 I had to fix this a few versions ago too. Guess they changed it again.
Get Outlook for iOShttps://aka.ms/o0ukef

From: sp3sh<EMAIL_ADDRESS>Sent: Friday, September 27, 2019 2:44:02 PM
To: miketheitguy/Vendomatic-Classic<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [miketheitguy/Vendomatic-Classic] Addint items to list (#1)
Hi Mike,
The drag and drop function does not work - this means no items to add to the list. Maybe a simple text entry or item id would be sufficient.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmiketheitguy%2FVendomatic-Classic%2Fissues%2F1%3Femail_source%3Dnotifications%26email_token%3DACEGG3NIEXPT6Z2BPEGAVFDQLZ5CFA5CNFSM4I3LFSUKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HOIIURA&data=02|01||46694e0935574ad6c1f208d74393d06c|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637052174437627120&sdata=YFiiKBCsOiiuY2ZQmlpvgYJv9sfZl1Lwdgve%2FtIkl5U%3D&reserved=0, or mute the threadhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACEGG3OD6W2QASG5CD2ZH4TQLZ5CFANCNFSM4I3LFSUA&data=02|01||46694e0935574ad6c1f208d74393d06c|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637052174437637129&sdata=nF5LB3HT2TG8bs%2FCeyHsfmBGHoibAZ2lQQQPusCxd6A%3D&reserved=0.


Provider discrepancies

Implementing Provider switching I found the Blockfrost and Kupmios behave differently when querying the Utxos of an address.
when using Blockfrost :
Query using a Address : returns the Utxos of that specific address
Query using a Credential: returns the Utxos of all addresses that are derived from that credential
When Using Kupmios :
Query using a Address : returns the Utxos of all addresses that are derived from the same credential
Query using a Credential: returns error: "No address type matched for: [object Object]"
as an example the following code works the same for my app independent of provider :
`
   const credential = "kupoUrl" in this.lucid.provider ? this.getAddress() : this.lucid.utils.getAddressDetails(this.getAddress()).paymentCredential
  this.utxos = await this.lucid.provider.getUtxos(credential)`

by changing the credential to a raw address Kupmios gives the same results as Blockfrost.
I have tried hard-coding the credentials hex in the Kupmios implementation and that works just fine.
I am not sure at what point of the code It tries to derive the address type for the credential.

Query using a Address : returns the Utxos of all addresses that are derived from the same credential

This is from the Kupo docs and this is how you query utxos by a specific address:
http://localhost:1442/matches/addr1vyc29pvl2uyzqt8nwxrcxnf558ffm27u3d9calxn8tdudjgz4xq9p

That's exactly what happens in Lucid too:
https://github.com/spacebudz/lucid/blob/1ee48a5d536f25a9b0e2c70f7ef47da2ca71ab91/src/provider/kupmios.ts#L86-L90

Query using a Credential: returns error: "No address type matched for: [object Object]"

Are you sure you are on one of the latest Lucid versions? I'm just confused that Blockfrost allows you to query by payment credential, but I introduced that at the same time for the Kupmios provider too. This is what confused me, but I cannot reproduced this exact error and in general everything is working fine for me.

Are you sure you are on one of the latest Lucid versions? I'm just confused that Blockfrost allows you to query by payment credential, but I introduced that at the same time for the Kupmios provider too. This is what confused me, but I cannot reproduce this exact error and in general everything is working fine for me.

Yes my local branch is up to data with the lucid Main
Things that might be different in my environment:
A) I am calling lucid inside a Js file(not Ts ) script
I checked the Kupmios implementation, It does seem to be perfectly in sync with what the Kupo docs say. Not sure why I returns  UTXOs that belong to other addresess with the same credential(NativeScript)
Here is an example of a Credentials that throw an error in Kupmios but works for Blockfrost
{type: 'Key', hash: '28466de8c30a02906b398cecb7d80d15613407a8e046d39b5bf1db28'}
{type: 'Script', hash: 'cd91656179c8cbb34b80722acc9cc74149d273e624885daacb1569b5'}
So I can confirm that this happens both for simple address and for Script Credentials.

Can you give it a try with this address on Preprod ?
"addr_test1xrxezetp08yvhv6tspez4nyucaq5n5nnucjgshd2ev2kndwdj9jkz7wgewe5hqrj9txfe36pf8f88e3y3pw64jc4dx6s7cmkvx"
On my side it returns Utxos for [addr_test1xrxezetp08yvhv6tspez4nyucaq5n5nnucjgshd2ev2kndwdj9jkz7wgewe5hqrj9txfe36pf8f88e3y3pw64jc4dx6s7cmkvx,
addr_test1xrxezetp08yvhv6tspez4nyucaq5n5nnucjgshd2ev2knd2c5s90hsth0fxd3ce82ml9hjjepkrmvjyv6pakkjnk6fcs8d9x2m]

I found the underline issue, Embarrassing story.....
Sorry for bothering you needlessly, closing now


Double-check boxplot scaling after filter

Scaling isn't correct, this is correct. You can argue that it would be better to extend the scale to show the whole boxplot, but then you have lots of whitespace with not data, so closing this and not change.


[VL] can you provide the release 1.0 jar package for spark 3.3?

I put a lot of effort into typing out the spark3.3 jar package based on the latest master, but the latest branch has an arrow bug that makes my jar package unusable. I find this hard to bear, can you provide a stable version of spark 3.3 jar package in release？Thank you very much.

We just uploaded gluten's 1.0.0 release jars for spark 3.3. See bottom part in the below link:
https://github.com/oap-project/gluten/releases/tag/v1.0.0.
BTW, could you please let us know your company name? Thanks!


Broken conda-forge release xarray-0.19.0-pyhd8ed1ab_0.tar.bz2

Bad release of xarray-0.19.0 is broken on conda-forge and resolving to py36 instead of py37.
This causes failure to import future annotations as below:
  File "/opt/conda/lib/python3.6/site-packages/xarray/core/computation.py", line 4
    from __future__ import annotations
                                     ^
SyntaxError: future feature annotations is not defined

This probably needs to be fixed via https://conda-forge.org/docs/maintainer/updating_pkgs.html#maint-fix-broken-packages

This should already have been fixed by conda-forge/xarray-feedstock#66 and conda-forge/conda-forge-repodata-patches-feedstock#161. Not sure why you still get the broken build? Any ideas, @dopplershift?

Are you trying to install xarray in a python 3.6 environment? We might have to mark it as broken.

The metadata for that package has been patched in conda-forge/conda-forge-repodata-patches-feedstock#161 to depend on python >=3.7, so this shouldn't be an issue any more. @kim-barker How are you installing xarray/setting up your environment? What conda commands are you running? What OS/platform architecture?

Closing, please reopen if still an issue


Setter has wrong name in typescript header

Describe the Bug
Setter has wrong name in typescript header
Steps to Reproduce
Very simple code:
impl Color {
  #[wasm_bindgen(getter)]
  pub fn r(&self) -> f64 {
    self.0
  }

  #[wasm_bindgen(setter)]
  pub fn set_r(&mut self, r: f64) {
    self.0 = r;
    self.4 = (if (self.0 > 1.) {255.} else if (self.0 < 0.) {0.} else {self.0 * 255.}) as u8;
  }
}

wasm_bindgen will generate right javascript code:

```js
class Color
    /**
    * @returns {number}
    */
    get r() {
        if (this.ptr === 0) {
            throw new Error('Attempt to use a moved value');
        }
        return wasm.color_r(this.ptr);
    }
    /**
    * @param {number} r
    * @returns {void}
    */
    set r(r) {
        if (this.ptr === 0) {
            throw new Error('Attempt to use a moved value');
        }
        _assertNum(r);
        return wasm.color_set_r(this.ptr, r);
    }
}

But typescript header is wrong:
class Color {
  get r(): number;
  // wrong, shoud be `set r(r: number): void`
  set set_r(r: number): void;
}

cc @c410-f3r, would you perhaps be interested in taking a look at this?

Ooppsss... My bad.
@alexcrichton Sure! Thanks for letting me know about this issue.

Hi, @alexcrichton, @c410-f3r
There are a little difference between js file and ts header:

If a member only has getter in js file, it shoud be readonly in ts header:

get elements() {
return []
}

readonly elements: Array;

If a member has both getter and setter, it should be a normal member:

get elements() {
xxx
}

set elements(value) {
xxx
}

elements: Array;

Thanks @c410-f3r!


Second pull request

Ask in Twitter group by giving link to this pr for review and approval. 2 approval needed.


Ability to add hooks

Would it be possible to add hooks when creating the plot?
https://github.com/flot/flot/blob/master/API.md#hooks

Hey @mebibou, sorry for being late. This is not a feature that we are planning to implement at the moment, but we welcome any contribution.


FINERACT-822 Enabling MultiVariableDeclaration check

FINERACT-822

@xurror @awasum @vorburger LGTY?

/rebase

@percyashu automatic Rebase failed. Looks like you will need to manually rebase or fix the conflicts before we can merge this. Are you on it?

OK got it


Export issues with Blender 3.1

Fix bug when width need a int value but got a float.

Hey, thank you for this PR! But please recreate it merging into the development branch, since that's the most up to date version.


GetSigningCredentials should throw Exception if Certificate is null

Apparently if a Certificate is not found, perhaps due to misconfiguration, null is returned for the SigningCredentials. This causes the JwtToken not to bo signed at all. This is unexpected behavior to me and could compromise the AuthorizationServer.
I would suggest changing the following code:
public override SigningCredentials GetSigningCredentials()
{
var cert = this.Certificate;
if (cert == null) return null;
return new X509SigningCredentials(cert);
}
to something like this:
public override SigningCredentials GetSigningCredentials()
{
var cert = this.Certificate;
if (cert == null) throw new Exception("No certificate could be found");
return new X509SigningCredentials(cert);
}

sure - feel free to change it.


Breakout Game and Pokemon Generator files added

Description 📜
Added the Breakout Game and Pokemon Generator in the appropriate format
Fixes #50 #51

Type of change 📝

Add a new project

Domain of Contribution 📊

[x] Project using HTML, CSS & JS

Checklist ✅

[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GSSoC'22 contributor

I will resolve it by tommorow


feat!: s3 symserv upload support

Adds support for uploading gzipped stream of guid identified symbol file to s3. The consumer is responsible for gzipping the file, but we check to ensure it's gzipped by peeking at the magic bytes at the beginning of the stream. Consumers can use zlib.createGzip in Node.js, and new CompressionStream('gzip') in browsers.
BREAKING CHANGE: drop support for fs.ReadableStream as it's not browser-compatible, use ReadStream.toWeb(...) to convert to web-compatible ReadableStream.

:tada: This PR is included in version 8.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add "kTopOffset" parameter to make RefreshControl work on Apps with "translucent" header bar

I've implemented the ODRefreshControl into an app that uses the "translucent = YES" setting and therefore the content appears unter the header-bar so all views of the navigation-controller start at the very top of the phone and not unter the header bar.
This parameter can be set to the pixel-height of the header (as a custom-solution might have different heights" or to 0 if the header is not translucent.

:+1: Thanks a lot! It saved me.

Thanks!

👍


data: Pal-Sandeep

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] My change requires changes to the documentation.
[x] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

@Panquesito7 please review

@Pal-Sandeep Hey, I see that the file name doesn't match your username, the capital p and s, the file name must match your GitHub username

@Aadarsh805 please review


⚠ Bofrost.fr has degraded performance

In 8916739, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1369 ms

Resolved: Bofrost.fr performance has improved in 2c95c54 after 33 minutes.


videorama = zerotube without webtorrent (join projects?)

Hi,
we work on a similar prototype like zerotube:
https://bit.no.com:43110/18SZadPsFtTEefBK5CTvRSFiBXs9TvAGEG/
We dont use webtorrent though, still many things to do and make it look better like Zerotube :)
Are you good at python/zeronet programming and like to help coding?

ZeroNet sites can't use python. Where are the video files stored for your project?

Zeronet framework uses python, so certain functionality have to be programmed in the backend.
Files are stored on each users video channel zeronet site.

I am sorry but I already have a lot of work with my work and this project. But that look interesting, do you have a github with the source code ?

@rllola https://github.com/zer0net/videorama-central .
If files are stored in the site they are limited by 10mb per channel? WebTorrent approach seems better in this case. ZeroTube could benefit from channels as well though.

@obv-mikhail Yeah I have been trying to think of way to use the merger site feature for better performance. I need to take a look at it more in depth. I am going to test it in a new project.


vendor aes12, quic-go-certificates and golang-lru

Codecov Report

Merging #1462 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #1462   +/-   ##
======================================
  Coverage    89.2%   89.2%
======================================
  Files         121     121
  Lines        8498    8498
======================================
  Hits         7580    7580
  Misses        615     615
  Partials      303     303

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 fc87fbd...7117a85. Read the comment docs.


Ncf iter issue

'origin/ncf_iterr_issue'.
To fix the ncf iters issue as the lenght of pred_per_user[user] varies.
By<EMAIL_ADDRESS>Sep. 11th, 2019
Changes to be committed:
modified:   tools/accuracy_checker/accuracy_checker/metrics/hit_ratio.py

Jenkins ok to test


enable basic auth for metadata plugin

Fixes https://github.com/projectatomic/atomic-reactor/issues/294

In the GitHub issue, @mmilata said:

I'd prefer if we didn't pass the username/password to atomic-reactor - it will get stored in the build logs and build metadata (iirc).

I have a suggestion for how plugins ought to authenticate: they can use the service account's token.
https://docs.openshift.org/latest/dev_guide/service_accounts.html#using-a-service-account-s-credentials-inside-a-container

@twaugh :+1: This way we can also get rid of the auth proxy snippet. This doesn't need the multiple secrets support that will be in 1.0.6, right?

No, it's independent of that.

I've filed #237 to track it.

Sounds good, let's close this then.


The count method does not support async

Peewee uses the scalar method to execute count, so both count and scalar are synchronous. So when you've set allow_sync to false you get an error thrown.

Apologies, now seeing that you need to use the manager to perform a count query.


TGA Loader can lose data in the alpha channel in some cases

In https://github.com/microsoft/DirectXTex/wiki/TGA-I-O-Functions#implementation-notes , there appears to be this line:

For 16-bit and 32-bit truecolor images, there is a special-case fixup if the entire alpha channel is 0 it is assumed to be fully opaque.

Is there a way to disable this behavior, or would it be possible to add one? It's not uncommon in art pipelines for alpha to have a different meaning than "transparency", and in our case, we have a behavior where the artists need a fully-zero alpha channel. The current workaround is to place a pixel with an alpha value of 1 in the top left corner, which isn't optimal.

Fair enough. I'll look at adding defaulted flags to the TGA functions


Add Windup Incidents parsing

Parse Incidents from Windup reports.
Related to https://github.com/konveyor/go-konveyor-tests/issues/2

Closing for now. Might be reopened when we need automated new application test results from legacy Windup analyzer.


Allow getting output as JSON on stdout

Will be helpful for further consumption by other tools like editor plugins.

https://github.com/gajus/canonical/issues/5


AttributeError: Can't get attribute 'DummyAgent' on <module 'joblib.externals.loky.backend.popen_loky_posix' from '/usr/local/lib/python3.8/dist-packages/joblib/externals/loky/backend/popen_loky_posix.py'>

Hi there,
I'm trying to use the  save/load functionality, but I seem to be getting an error - not sure if I'm using this as intended?
I first run train.py to save an agent:
import numpy as np
from air_hockey_challenge.framework import AirHockeyChallengeWrapper, AgentBase

class DummyAgent(AgentBase):
    def __init__(self, env_info, **kwargs):
        super().__init__(env_info, **kwargs)
        self.new_start = True
        self.hold_position = None

    def reset(self):
        self.new_start = True
        self.hold_position = None

    def draw_action(self, observation):
        if self.new_start:
            self.new_start = False
            self.hold_position = self.get_joint_pos(observation)

        velocity = np.zeros_like(self.hold_position)
        action = np.vstack([self.hold_position, velocity])
        return action

env = AirHockeyChallengeWrapper("7dof-hit")
agent = DummyAgent(env.env_info)
agent.save("./agent.msh", full_save=False)

then I update agent_builder.py to load this:
from air_hockey_challenge.framework import AgentBase

def build_agent(env_info, **kwargs):
    agent = AgentBase.load_agent("/src/2023-challenge/agent.msh", env_info)
    return agent

Unfortunately I get the error (for some reason joblib can't seem to find DummyAgent):
$ bash scripts/local_test.sh
[+] Building 0.6s (16/16) FINISHED                                                                                docker:default
...
Start Local Testing
joblib.externals.loky.process_executor._RemoteTraceback:
"""
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/joblib/externals/loky/process_executor.py", line 428, in _process_worker
    r = call_item()
  File "/usr/local/lib/python3.8/dist-packages/joblib/externals/loky/process_executor.py", line 275, in __call__
    return self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.8/dist-packages/joblib/_parallel_backends.py", line 620, in __call__
    return self.func(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/joblib/parallel.py", line 288, in __call__
    return [func(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/joblib/parallel.py", line 288, in <listcomp>
    return [func(*args, **kwargs)
  File "/src/2023-challenge/air_hockey_challenge/framework/evaluate_agent.py", line 190, in _evaluate
    agent = agent_builder(mdp.env_info, **kwargs)
  File "/src/2023-challenge/air_hockey_agent/agent_builder.py", line 25, in build_agent
    agent = AgentBase.load_agent("/src/2023-challenge/agent.msh", env_info)
  File "/src/2023-challenge/air_hockey_challenge/framework/agent_base.py", line 77, in load_agent
    agent = cls.load(path)
  File "/usr/local/lib/python3.8/dist-packages/mushroom_rl/core/serialization.py", line 100, in load
    loaded_object = cls.load_zip(zip_file)
  File "/usr/local/lib/python3.8/dist-packages/mushroom_rl/core/serialization.py", line 110, in load_zip
    cls._load_pickle(zip_file, config_path).values()
  File "/usr/local/lib/python3.8/dist-packages/mushroom_rl/core/serialization.py", line 205, in _load_pickle
    return pickle.load(f)
AttributeError: Can't get attribute 'DummyAgent' on <module 'joblib.externals.loky.backend.popen_loky_posix' from '/usr/local/lib/python3.8/dist-packages/joblib/externals/loky/backend/popen_loky_posix.py'>
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "2023-challenge/run.py", line 124, in <module>
    evaluate(build_agent, **config)
  File "/src/2023-challenge/air_hockey_challenge/framework/evaluate_agent.py", line 72, in evaluate
    data = Parallel(n_jobs=n_cores)(delayed(_evaluate)(path, env, agent_builder, chunks[i], quiet, render,
  File "/usr/local/lib/python3.8/dist-packages/joblib/parallel.py", line 1098, in __call__
    self.retrieve()
  File "/usr/local/lib/python3.8/dist-packages/joblib/parallel.py", line 975, in retrieve
    self._output.extend(job.get(timeout=self.timeout))
  File "/usr/local/lib/python3.8/dist-packages/joblib/_parallel_backends.py", line 567, in wrap_future_result
    return future.result(timeout=timeout)
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 444, in result
    return self.__get_result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
AttributeError: Can't get attribute 'DummyAgent' on <module 'joblib.externals.loky.backend.popen_loky_posix' from '/usr/local/lib/python3.8/dist-packages/joblib/externals/loky/backend/popen_loky_posix.py'>

Thanks!

Hello,
the problem is that the load function in agent_builder.py cannot find the DummyAgent class in its path. For the load function to find this class it needs to have the exact same import path in both the file where the agent is saved and where its loaded. This can be annoying for small examples as the above because saving the agent in the same class as it is declared leads to different import paths between the load and save file. So a working example would be:
A file with the Dummy Agent class air_hockey_agent/agent_builder.py:
import numpy as np
from air_hockey_challenge.framework import AgentBase

class DummyAgent(AgentBase):
    def __init__(self, env_info, **kwargs):
        super().__init__(env_info, **kwargs)
        self.new_start = True
        self.hold_position = None

    def reset(self):
        self.new_start = True
        self.hold_position = None

    def draw_action(self, observation):
        if self.new_start:
            self.new_start = False
            self.hold_position = self.get_joint_pos(observation)

        velocity = np.zeros_like(self.hold_position)
        action = np.vstack([self.hold_position, velocity])
        return action

and a file which will save this agent air_hockey_agent/train.py:
from air_hockey_challenge.framework import AirHockeyChallengeWrapper
# important import, has to be same in agent_builder
from air_hockey_agent.dummy_agent import DummyAgent

env = AirHockeyChallengeWrapper("7dof-hit")
agent = DummyAgent(env.env_info)
agent.save("./agent.msh", full_save=False)

Then you can load the agent in air_hockey_agent/agent_builder.py:
from air_hockey_challenge.framework import AgentBase
from pathlib import Path
# Important import
from air_hockey_agent.dummy_agent import DummyAgent

def build_agent(env_info, **kwargs):
    base_dir = Path(__file__).parent
    # Assume the file is in air_hockey_agent/agent.msh
    agent = AgentBase.load_agent(base_dir.joinpath("agent.msh"), env_info)
    return agent

Also in order to actually save attributes of the class you have to add them with the self._add_save_attr() call.

Many thanks for the detailed response, I've got this working now :)


Can't get the items to show after import

After installing using both .zip and .exe files I can't get the item sets to show in game. I can't get it to open League after importing either. It auto-detects my league folder but the issues still persist.

Could you submit your logs, please? The file can be found at C:/Users/YOURNAME/AppData/Roaming/Championify/championify.log.txt

championify.log.txt

Looks like you don't have your league directory selected correctly. It can't find the league executable either.

Do you have any ideas that could help? It's on my C:/ and I can find the execute file in the league of legends folder i selected but nothing happens after importing. It doesn't launch league

The itemsets are showing up in the champions folder but I can't access them game.

Where do you have League installed?

The same spot as where I select the Championify install file. C:\Riot Games\League of Legends the client.exe is there

Ah got it to work!


[ISSUE #1022]⚡Add Default trait for RocketMQTokioRwLock and RocketMQTokioMutex

Which Issue(s) This PR Fixes(Closes)

Fixes #1022
Brief Description

How Did You Test This Change?

🚀Thanks for your contribution🎉. CodeRabbit(AI) will review your code first🔥

🚀Thanks for your contribution🎉. CodeRabbit(AI) will review your code first🔥


Remove some Tinkerbell tests not supported in release-0.15

These tests were added in #5648 to align with main, but the methods called by these tests are not present in this branch.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


build: Refactoring packages and optimising imports

Codecov Report

Merging #17 (5f6b8ad) into develop (55eeb92) will increase coverage by 0.10%.
The diff coverage is 98.75%.

:exclamation: Current head 5f6b8ad differs from pull request most recent head 06d73f9. Consider uploading reports for the commit 06d73f9 to get more accurate results

@@             Coverage Diff             @@
##           develop      #17      +/-   ##
===========================================
+ Coverage    96.23%   96.33%   +0.10%
===========================================
  Files           27       26       -1
  Lines         4431     4344      -87
  Branches       295      290       -5
===========================================
- Hits          4264     4185      -79
+ Misses         167      159       -8

Impacted Files
Coverage Δ

src/lib/manager/aws/secretsManager.ts
56.52% <50.00%> (ø)

src/lib/manager/aws/s3Manager.ts
88.61% <95.83%> (ø)

src/lib/common/commonConstruct.ts
98.46% <98.11%> (-0.21%)
:arrow_down:

src/lib/common/commonStack.ts
91.55% <100.00%> (ø)

src/lib/construct/graphQLApiLambda.ts
94.20% <100.00%> (ø)

src/lib/construct/siteWithEcsBackend.ts
97.98% <100.00%> (ø)

src/lib/construct/staticSite.ts
96.47% <100.00%> (ø)

src/lib/manager/aws/acmManager.ts
92.20% <100.00%> (ø)

src/lib/manager/aws/apiManager.ts
100.00% <100.00%> (ø)

src/lib/manager/aws/appConfigManager.ts
100.00% <100.00%> (ø)

... and 17 more

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 55eeb92...06d73f9. Read the comment docs.

Coverage Report

Totals

Statements:
96.34% ( 4185 / 4344 )

Methods:
93.08% ( 148 / 159 )


[KOB-25692] Implement webrtc connectivity check tool

@tlvietdanh Todo:

Bug: no output log on sending UDP packet
Improve the readability of output messages in the client app
Ensure to exit client app on fatal error or success
Verify test cases:

Server listens on port 10000 --> Client reports sending UDP packet fails due to server firewall rejects port below 30000
Run client inside nodejs --> maybe client report error that it can't receive server packets


Hope to add a new feature: PermissionControl

Orignal Yii has AccessControl that use in Controller behavior.
It's simple for us to control page permission.
I think yii-permission should be able to implement.
usage example in controller:
public function behaviors() {

    return [
       'permission' => PermissionControl::class
       'rules' => [
           'allow' => true,
           'actions' => ['index', 'view'],
           'enforce' => [
              'user' => \Yii::$app->user->identity->id, // map to $v0
              'obj' => 'data1', // map to $v1
              'dom' => 'domain1', // map to $v2 ?
              'act' => 'read', // map to $v3 ?
           ],
       ],
    ];
}

It will check current user can read domain1's data1 , then allow actions index and view.
$v0~$v5 can be alias in config for readable.
I don’t know if anyone can experiment with my wish :heart_eyes:

This issue can be closed now.😀 @leeqvip


Click on button not triggered when DOM changes

Version
2.6.10
Reproduction link
https://jsfiddle.net/s08n4agu/2/
Steps to reproduce

Click the Save button
Red error message is shown and Save count text is 1
Type something in the text input (ex. Adrian)
Click the save on its lower part
The red error message disappears, Save button is move up, but the save count remains to 1, which indicates the click on button was not triggered at all. Only if the Save button is clicked again, the click handler is invoked and save count is incremented

What is expected?
The click handler on save button is actually invoked for step 4
What is actually happening?
The click handler is not invoked at all when the button moved up due to the fact that the red text element is removed from DOM.

That is how the click works:

the change event is triggered by mousedown outside
html renders again
button moves up
you release cursor outside of the button, so no click triggered

it's the same as if you press the mouse then move the cursor away from the button and release it

This was created from a bug we received from our testers. As a user it is annoying to have to click twice on the save button in order to actually save your data. I understand what you are saying about the click event, but you can agree that for the end user this is irrelevant, for him it is just a bug in the application which makes him click twice on save button before his data is actually saved.
Is there a workaround to fix this behavior?

Oh yeah, to be very frank: this is bad UI, but it would be the same in plain javascript that why it's not a bug. There are many ways to fix it, one is redesigning things so the button doesn't move when clicking, you could also use realtime validation, or use v-model so the error disappears right away instead of when the user clicks away.
Please, next time consider using the forum, the Discord server or StackOverflow for questions though!


Can not create account with overseas cell phone number

Describe the bug
When I want to register with an overseas cell phone number (US), I can receive the Chinese text message with the verification code normally, but when I enter my account name, it reports that my cell phone number is in the wrong format. I had to switch to a mainland China phone number again.
To Reproduce
1.create account with overseas cell phone number.
2. After verify text message code and input your account name, it will alert and fail.

oversea cell phone number has been supported, can you provide a dummy phone number and the alert info for us to verify this problem

i have the same problem, when input username after verification code
+84...
手机号码格式不正确，请重新输入
The mobile phone number format is incorrect, please re-enter it.

Well guys you don't actually need a Chinese number to register. Even if the website says so... 🤫

Well guys you don't actually need a Chinese number to register. Even if the website says so... 🤫

How did you register without a  Chinese number?

The CSDN flow is still showing
手机号码格式不正确，请重新输入

The CSDN flow is still showing
手机号码格式不正确，请重新输入

maybe try to  use one time phone number platform


ekf2: Move handling of invalid range finder data inside ecl library

PX4/Firmware side of https://github.com/PX4/ecl/pull/639 change
The ecl library EKF is able to use vehicle motion and in-air status to better determine when the default on-ground range finder reading can be used.
The description for the EKF2_MIN_RNG parameter has been updated to make its use clearer.
Requires ecl at commit 267195a or later.
TODO testing with this PX4/Firmware version

@nicovanduijn have you tested this?

I've tested a combination of things, and was not very happy with the position hold (https://review.px4.io/plot_app?log=0a0d6b14-f9e7-4550-b083-5c74fae4103d)
I'll try to dissect and figure out what's causing this. I think we can make more improvement on the PWM3901 quality metric, it's publishing invalid way too often. I was thinking to integrate the flow for a bit longer before publishing

@nicovanduijn
Height above ground before takeoff and after climbout is correct. The issue is the combined inertial and Baro errors during the transition period which results in an initial incorrect height above ground estimate before range finder data is used.

Poor position hold  post climbout is a separate issue give that the estimated bottom distance is correct and shouldn't be a reason for blocking this PR.
The ground motion test inside ecl  is there to ensure fusion of the 'faked' range finder measurement stops when takeoff starts if vehicle_land_detected.landed transition to false is delayed. This may cause more issues than it solves for vehicle that are subject to on ground vibration induced by wind and other external disturbances .  Because vehicle_land_detected.landed message goes false at takeoff without delay, I would support removal of the check.

@nicovanduijn I just noticed in your log that you have set EKF2_RNG_AID = 1. Given a range finder that doesn't work until after takeoff and a baro altitude that is subject to significant propeller disturbance, this is causing issues with setting of the baro offset during takeoff. Other options are to set  EKF2_RNG_AID  = 0 and either enable terrain hold in the position controller instead by setting MPC_ALT_MODE = 2 or force the EKF to use range finder as the default sensor by setting EKF2_HGT_MODE = 2.
The combination of a range finder that doesn't read on the ground and a noisy baro sensor with a  metre  of offset when flying out of ground effect makes switching between range finder and baro problematic.

Replay using  EKF2_RNG_AID = 0, EKF2_HGT_MODE = 2
Baro used until range finder returns valid data.

Replay using  EKF2_RNG_AID = 0, EKF2_HGT_MODE = 0
Baro is used throughout, but local position height is not stable. Cause TBD.

Replay using  EKF2_RNG_AID = 1, EKF2_HGT_MODE = 0
Switch to using range finder occurs too late after takeoff resulting in a significant baro innovation offset for two seconds prior to switching to range finder.

I think the issues I was seeing with poor performance are unrelated to this PR:

Most likely #12974 caused degrading performance and the log dropouts
The take-off issues are mostly due to tuning and platform setup, as explained by paul. Any potential remedy in software should be addressed elsewhere and also not affect this PR

Bottom line: if @priseborough agrees, LGTM

Flight test with a rebased version of this:
Log
Two things, both unlikely to be related to this PR:

#12987
"[ecl/EKF] EKF stopping navigation" followed by "[commander] Failsafe enabled: no local positon" at 219.1

Not sure yet what caused the second one.

Merged in https://github.com/PX4/Firmware/pull/12988


Can I write to a sqlite database without knowing the row number

I am a new user of SqliteDict.
I am confused about one part.  In my program, several threads will write to the same table. I do not know the row number so cannot do
product[1]={"name":value}
Can I write to the database without specifying any numbers?

Sqlitedict acts as a dict, and the keys are expected to be strings. See the README for examples: https://github.com/RaRe-Technologies/sqlitedict#usage


ROC not reporting same value as exported predictions

Please make sure that this is a bug.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): MacOS Mojave v10.14.6
GenoML installed from (source or binary): Source
GenoML version: Python v1.5
Python version: 3.7+

Describe the current behavior:
@h-leonard found an issue with RandomForestClassifier reporting an AUC in the performance metrics file that is not consistent with the ROC figure produced
Describe the expected behavior:
ROC reported should match what is output with performance metrics (seems to only be this algorithm... others seem to be working fine)
Code to reproduce the issue:
Please provide a reproducible test case that is the bare minimum necessary to generate the problem.
I was able to replicate this issue by commenting out the competing algorithms and just report RandomForestClassifier
AUC was reported at 50 and ROC reports 48
EXAMPLE

Other information or logs:
Please include any logs or source code that would be helpful to diagnose the problem.
If including tracebacks, please include the full traceback. Large logs and files should be attached and not pasted, for clarity
Not entirely sure where to start or why this is the case...

Moved issue to new repo for completeness and consistency


Fix typos

Thank you for this beautiful repo. Fixed some typos along the way. I hope you agree that they're typos—if not, I messed up!

Many thanks, @JosiahParry!!! I threw this together super fast (and am prone to typos even when slow). Absolutely appreciate your keen eye!


[LuisGen] Generating single model for multiple Dispatch files

Tool
Name: [LuisGen]
Describe the problem
We deployed a Virtual Assistant and a Skill bots of botframework-solutions in two different languages (en-us, es-mx).
Then, we connected each other using Botskills CLI Tool which during the refresh command executes the LuisGen tool.
Finally, we reviewed that there was only one model generated containing the dispatch model of the last culture executed.
Describe the solution you'd like
An unique model generated using LuisGen which appends all the different models.
Describe alternatives you've considered
Separate each created LuisGen model in different files, however, it would be difficult to identify in run time.
Additional context
This functionality was tested following the Pull Request microsoft/botframework-solutions#2131 (Multilanguage functionality for Botskills CLI Tool).
Repro steps

Deploy a bot with more than one dispatch
Execute LuisGen for each of the deployed dispatch
Check that the generated model contains the last culture/dispatch executed

skillManifest.json of the Skill used to connect in en-us and es-mx

Botskills connect command indicating to connect just in en-us

Model generated after the execution of LUISGen (which took es-mx dispatch as last model)

[enhancement]

Hi @Batta32, we have assigned a developer to look into this issue.

Hi @Batta32 , we're currently in the develop of a new tool that will replace LuisGen, we'll discuss the viability of the suggested feature for that new tool. Thank you

@hcyang and @tsuwandy I'm removing the Customer tags given that the person who opened the thread works for an internal supporting team (Southworks)

@axelsrz, any reason we should not close this issue?

Per talk with @vishwacsena we confirmed that some changes in Luis are necessary before considering taking this feature, I'm closing this issue


test(it): add customizing options for the MR and SN

What this PR does
This patch provides a way to set customized options for the metadata repository and storage nodes in
the integration testing environment. The customized options override the implicit options selected
by the testing environment.

Current dependencies on/for this PR:

main

PR #304

PR #305   👈

PR #306

This comment was auto-generated by Graphite.

Codecov Report

:exclamation: No coverage uploaded for pull request base (lint_godot_list@91eac93). Click here to learn what that means.
Patch coverage: 38.46% of modified lines in pull request are covered.

Additional details and impacted files
@@                Coverage Diff                 @@
##             lint_godot_list     #305   +/-   ##
==================================================
  Coverage                   ?   63.25%
==================================================
  Files                      ?      130
  Lines                      ?    17366
  Branches                   ?        0
==================================================
  Hits                       ?    10984
  Misses                     ?     5838
  Partials                   ?      544

Impacted Files
Coverage Δ

tests/it/config.go
50.87% <0.00%> (ø)

tests/it/testenv.go
34.44% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Basic auth endpoint fix

witnessed periodic test failure due to SSL handshake error in endpoint test.  making it retry so that we don't fail on flaky calls.  also, DNS name can be too long so make it shorter for that.

This change is

/retest

/retest

/retest

/retest

/retest

/retest

/hold

Thanks @gabrielwen let me know when this is ready for another look.

/retest

/holde cancel
@jlewi updated, thanks!

/hold cancel

One minor cleanup and then this is ready to go.

/lgtm
/approve


Feat/2255734392 overlay component

Resolves https://sovryn.monday.com/boards/2218344956/pulses/2255734392
Testable on /storybook/?path=/story/atoms-overlay--basic
Colors can be testes better when switching the preview background color n the top toolbar.

Blueprintjs overlay has fade in/out animation, as it's not in spec, I guess we are dropping them?

@creed-victor yeah, if we really need them, we can reintroduce them easily in this component later.


'listPrinters', which lacks return-type annotation, implicitly has an 'any' return type.

`Error: node_modules/thermal-printer-cordova-plugin/src/definitions.ts:56:3 - error TS7010: 'listPrinters', which lacks return-type annotation, implicitly has an 'any' return type.
56   listPrinters(data: { type: 'bluetooth' | 'usb'; }, success: (value: Printer[]) => any, error: (value: ErrorResult) => void);`

Helloo... same error here... did you find any solution for this?

@shajeermhmmd I didn't find any solution to this problem but I'm using different plugin it's https://github.com/Ans0n-Ti0/esc-pos-encoder-ionic-demo

Please add this to tsconfig.json file
"compilerOptions": {
.....
.....
"noImplicitAny": false,
.....
....
}


Sort all Cargo.toml files

Motivation
These should be kept sorted
Proposal
Sorted them using cargo sort -w
Test Plan
CI

Current dependencies on/for this PR:

main

PR #1112   👈

This comment was auto-generated by Graphite.

Merge Activity

Oct 10, 8:58 PM: @andresilva91 started a stack merge that includes this pull request via Graphite.


[jvm-packages] xgboost4j and xgboost4j-spark 1.1.1 maven release

I found there is xgboost 1.2 in pip install while latest version for xgboost4j and xgboost4j-spark on maven is 1.0.0. Any idea about when newer versions will be released in maven?

@CodingCat Can we get latest versions to Maven Central?

+1

FYI, the XGBoost project hosts latest Maven artifacts in a S3 bucket. You can access latest artifacts by adding the following to pom.xml:
<repository>
  <id>XGBoost4J Release Repo</id>
  <name>XGBoost4J Release Repo</name>
  <url>https://s3-us-west-2.amazonaws.com/xgboost-maven-repo/release/</url>
</repository>
<repository>
  <id>XGBoost4J Snapshot Repo</id>
  <name>XGBoost4J Snapshot Repo</name>
  <url>https://s3-us-west-2.amazonaws.com/xgboost-maven-repo/snapshot/</url>
</repository>

List of currently available artifacts

Out of curiosity, will the artifacts make it to Maven eventually, or are we expected to get it permanently from s3?

I will do it within the week

The versions 1.1.1 and 1.2.0 are now available on Maven Central. Thanks @CodingCat


run_vit_b_quant.py runs slower than run_bit_b.py

run_vit_b_quant.py
elapsed_time:  11.0519150390625  milliseconds
run_bit_b.py
elapsed_time:  1.2272755432128906  milliseconds
this is with int8_dynamic_activation_int8_weight

it seems torch==2.4.0 does not have the drop
run_vit_b_quant.py
elapsed_time:  1.288721923828125  milliseconds
run_bit_b.py
elapsed_time:  1.561510772705078  milliseconds
int8_weight_only
run_vit_b_quant.py
elapsed_time:  1.3892197265625  milliseconds
run_bit_b.py
elapsed_time:  1.543534698486328  milliseconds

hmm. This might be a good example of "subclass runtime overhead" given the fact that you're pointing out that you see the slowdown goes away on 2.4.0 when using unwrap_tensor_subclasses. But it would be nice to have a profiler trace that actually shows us that most of the time is spent in python overhead and not e.g. compile generating a slower artifact. @jerryzh168 any chance you can get a profile output? Also cc @IvanKobzarev

Yeah, will try to repro and profile it.

is there still a chance to do cherry-pick for 2.5 btw? this will regress the performance for huggingface as well I think

hmm. This might be a good example of "subclass runtime overhead" given the fact that you're pointing out that you see the slowdown goes away on 2.4.0 when using unwrap_tensor_subclasses. But it would be nice to have a profiler trace that actually shows us that most of the time is spent in python overhead and not e.g. compile generating a slower artifact. @jerryzh168 any chance you can get a profile output? Also cc @IvanKobzarev

@bdhirsh i thought compile would trace through the subclass, you're saying there's still a bunch of overhead for subclasses even after compile?

Found the problem. The main regression is because of dynamo fails to compile.
https://github.com/pytorch/pytorch/blob/main/torch/nn/modules/activation.py#L1286 - there is a manual check to avoid fastpath (native_multi_head_attention) if one of the arguments has torch_function handling.
But this check fail for Subclasses during compilation and compilation tries to compile fastpath via aten.native_multi_head_attention and results in NYI for subclass.
If to take not-fast-path during compilation - benchmark for me shows 1.21ms back
So there is no significant runtime overhead for subclasses, just compilation issue of MultiHeadAttention when there is a subclass as a parameter.
Now thinking on the fix how to make ao subclasses to take only non-fast-path for MultiHeadAttention during compilation.

@IvanKobzarev - You should be able to use https://pytorch.org/docs/main/backends.html#torch.backends.mha.set_fastpath_enabled to disable the fast path.

@cpuhrsch Thanks, this helps.
@jerryzh168 , I've verified, adding torch.backends.mha.set_fastpath_enabled(False) to run_vit_b_quant.py at the top gets back performance without unwrap_tensor_subclasses
elapsed_time:  1.216195556640625  milliseconds

I will leave it to you where to put torch.backends.mha.set_fastpath_enabled(False) in AO, that AO-quantized models will not take mha.fastpath.


HDDS-10937. Ozone Recon - Handle startup failure and log reasons as error due to SCM non-HA scenario

What changes were proposed in this pull request?
This PR handles Recon startup failure due to unexpected runtime error and shuts down silently without logging the actual cause of error.
Ozone Recon - Handle startup failure and log reasons as error due to SCM non-HA scenario
While ReconServer.start() method is called, if any runtime errors being thrown, those are not being logged and Recon startup fails silently without logging any reason of failure. E.g. In case of non-HA SCM case, few configurations made Recon fails to start. This scenario or any runtime exception  needs to be handled for proper logging.
In non-HA SCM case, while trying to fetch SCM DB snapshot, SCM peer roles are not being returned correctly, so the logic needs to handle.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-10937
How was this patch tested?
Tested manually and added additional integration tests in Recon for non HA SCM case.

@nandakumar131 @sumitagrawl  kindly review.

Thanks @devmadhuu for the fix and thanks to @sumitagrawl for the review!


Add support for skipping empty summaries

Closes https://github.com/evilmartians/lefthook/issues/530

:zap: Summary
Add empty_summary to values of skip_output for those cases when there's commands to run for a hook (ie all have been skipped, or there's no files matching command patterns)
:ballot_box_with_check: Checklist

[x] Check locally
[x] Add tests
[x] Update documentation

No problem, it's just integration tests, they are not supposed to cover all possible cases.

Added! I didn't see much else to document except in the skip_output section.
Feel free to make any other changes needed to land, but I'm also happy to do so.

Thank you a lot! I am going to close this issue before creating a new release, so I hope to release this change next week.


How to limit number of threads so that catfs can be used in multi-tenant environments?

From experimenting with the devel version of catfs (commit cbd7ab7), I noticed that it uses multi-threading. Looking at htop, it appears that catfs is using all(?) CPU cores by default. Is that correct?
Also, is there a way, e.g. a command-line option, to limit the number of cores that a specific catfs instance will use?
(I know zero Rust, otherwise I'd try to figure this out myself from the source code.)

From some more ps inspections, it looks like the number of threads is fixed at some large number (107?).  Using two catfs mounts as an example, I see 107 threads for each catfs process:
$ for pid in $(pgrep catfs); do echo "$pid:"; pstree "$pid"; done
25800:
catfs───107*[{catfs}]
25962:
catfs───107*[{catfs}

I see the same numbers on both an 8-core machine, and a 32-core machine.

Can you limit CPU usage via cgroups?
https://stackoverflow.com/questions/28814002/using-cgroups-to-limit-cpu-usage

Thanks for the quick reply.
Unfortunately, cgroups is out of reach. It'll require sysadms to step in to configure the hosts, which might not be possible or an option for all catfs users.  The beauty of catfs itself is that it requires no privileges.
On some systems, a non-privileged user might be able to limit the CPU usage to, say 150%, using:
systemd-run --user --scope -p CPUWeight=150 catfs ...

However, that is not supported on all systems by default.
Either way, I think using cgroups to limit the behavior of catfs will be a bit like running a Formula 1 car at full throttle all the time and controlling it's speed by breaking it from behind using some heavy tractor.  I'd believe running 100+ threads with limited CPU affinity would be inefficient for catfs itself.
More importantly, software that assumes and behaves as they have exclusive access to all CPU resources on a machine is often frowned upon by sysadms, especially so on multi-tentant systems like HPC environments, because such software tend to clog up machines. It's not unheard of that end-users suffer in the crossfire without even knowing they're using the system in a bad way.
Looking at the code, I found two instances of ThreadPool::new(<nthreads>) and both specify a hard-coded number of threads;
https://github.com/kahing/catfs/blob/cbd7ab72ea1ec7a5b0bd87a009900b1a250c6117/src/catfs/mod.rs#L126
https://github.com/kahing/catfs/blob/cbd7ab72ea1ec7a5b0bd87a009900b1a250c6117/src/pcatfs/mod.rs#L33
I have no understanding what those two thread pools are doing, but if I replace (5,100) with, say, (3,10), recompile, I get:
$ for pid in $(pgrep catfs); do echo "$pid:"; pstree "$pid"; done
20355:
catfs───15*[{catfs}]
32486:
catfs───15*[{catfs}]

so I'm pretty certain those lines of code controls then number of threads used by catfs.
My wish/feature request, would be to make it, at a minimum, possible to control those via a command-line option, e.g. --threads=3,10.


Error encountered when calculating WKS

I have a face mesh with 11510 vertices. When I run the code:
extractor = SignatureExtractor(mesh, 100, approx='beltrami')
wave_fs = extractor.signatures(128, 'wave')

It returns an error:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [5], in <cell line: 1>()
----> 1 wave_fs = extractor.signatures(128, 'wave')

File ~/mesh-signatures/signature.py:166, in SignatureExtractor.signatures(self, dim, kernel, return_x_ticks, x_ticks)
    164     return self.heat_signatures(dim, return_x_ticks, x_ticks)
    165 else:
--> 166     return self.wave_signatures(dim, return_x_ticks, x_ticks)

File ~/mesh-signatures/signature.py:137, in SignatureExtractor.wave_signatures(self, dim, return_energies, energies)
    135 phi2         = np.square(self.evecs[:, 1:])
    136 exp          = np.exp(-np.square(energies[None] - np.log(self.evals[:, None])) / (2.0 * sigma * sigma))
--> 137 s            = np.sum(phi2[..., None]*exp[None], axis=1)
    138 energy_trace = np.sum(exp, axis=0)
    139 s            = s / energy_trace[None]

ValueError: operands could not be broadcast together with shapes (11510,99,1) (1,100,128)

Seems that at line 135 the phi2 variable selects only 99 evecs, but at line 137 it requires a shape of 100

There were indeed some bugs in the wave signature computation.
I should work now.

Seems like the problem still persists in the latest version

The same problem


colorScheme.surface is not the same as card color

colorScheme.surface should be the same as a card background color. The card color should be derived from the colorScheme.
Reproduce:
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.from(
        colorScheme: const ColorScheme.dark(primary: Colors.orange),
      ),
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Card(
      child: Padding(
        padding: const EdgeInsets.all(8),
        child: Text('hey',
            style: TextStyle(
              color: Theme.of(context).colorScheme.surface,
            )),
      ),
    );
  }
}

Expected output:
You should not be able to see the text inside the card.
version:
Flutter 2.6.0-12.0.pre.624 • channel master • https://github.com/flutter/flutter.git
Framework • revision 0b0b21ecb5 (4 days ago) • 2021-11-07 01:37:35 -0700
Engine • revision 5140e30cec
Tools • Dart 2.15.0 (build 2.15.0-268.0.dev)

Hi @cedvdb, the colors are actually the same.
If you print out the values of Theme.of(context).cardColor and Theme.of(context).colorScheme.surface, you'll see the same values for both of them, like below:
Restarted application in 660ms.
flutter: Card color: Color(0xff121212)
flutter: Surface color: Color(0xff121212)

My guess as to why the text is visible is because you're using ColorScheme.dark, the text isn't visible when you use ColorScheme.light.

I'm on mobile right now so I cannot confirm but my first impression is that the overlay color should be applied to the entirety of the widget tree that is under the elevated widget.


Add grant total to this table

In admin user detail page, we need grant total added as a column

gp471

https://github.com/ledgerleapllc/devxdao-backend/pull/122
https://github.com/ledgerleapllc/devxdao-backend/pull/126

Tested and on production


Specifications on Identifier - What is it?

This might sound a generic question but I was not able to exactly understand the proper definition of the word "identifier", and the tool.
May be we might need some description about the tool first and then some usage examples for easier onboarding on it usages.

If I understand your question, it sounds like you're asking for documentation. Is that correct?
I plan on adding full documentation with examples. It's so early in development and the interfaces will change so much that I didn't want to write documentation until things are more settled.


--enable-gc and/or --enable-all

The Wabt Tools implements the command line options: --enable-gc and --enable-all. Is there an equivalent WasmFeature parameter in wabt.js?

The respective feature flag exists now, and should become available with the next successful build.

Should be on npm now, v1.0.17.


 I've also tried to remove some of transitive unused legacy code, but might have missed something....
Related issues

Close #192

Checklist

[x] I've read the guidelines for contributing to this repository.
[ ] I've added tests that prove my fix is effective or that my feature works.
[ ] I've updated the documentation with the relevant information (if needed).
[ ] I've added usage information (if the PR introduces new options)
[ ] I've included a "before" and "after" example to the description (if the PR is a user interface change).

Few comments :
Plugin interface  under pkg/configauditreport/plugin can be deleted
plugin_test.go    under pkg/configauditreport/plugin can be deleted
scanner_test.go under pkg/configauditreport/plugin can be deleted

@erikgb Few comments : Plugin interface under pkg/configauditreport/plugin can be deleted plugin_test.go under pkg/configauditreport/plugin can be deleted scanner_test.go under pkg/configauditreport/plugin can be deleted

@chen-keinan Thanks, done! PTAL!

LGTM! add one small comment


Migrate from Vue CLI to Vite

Vue CLI is in Maintenance Mode
Migrate Tooling to latest version
https://vuejs.org/guide/scaling-up/tooling.html
https://vueschool.io/articles/vuejs-tutorials/how-to-migrate-from-vue-cli-to-vite/

Not right now. I am not fluent in node polyfills and module stuff with Vue / Webpack / Vite. It's too much time consuming without any value for the project. This is on hold until someone has to do it in another project.


Update version to 1.0.20-2 on master

Update version to 1.0.20-2

🚀 [Deployed](https://github.com/Expensify/Expensify.cash
/actions/runs/765130740) 🚀 to
staging on Mon Apr 19 2021 at 22:41:56 GMT+0000 (Coordinated Universal Time)

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


feat: Use ObjectMapper constants to reduce overhead

Use MediaType constants
Remove unnecessary null check

ObjectMapper is thread-safe, a single instance is sufficient.
If you want I can switch from jackson to fastjson2, should be much faster:
https://github.com/fabienrenaud/java-json-benchmark

Perhaps it's better to have a shared single instance instead?

If you want I can switch from jackson to fastjson2, should be much faster:

It's fine. Jackson seems to be defacto standard across Java projects, and performance doesn't really play a huge role in our usecases.

Would updating to Java 17 possible?

Yep, this is still on my bucket list. I recently upgraded the plugin from 11 -> 17 and haven't had the chance to update the client library yet.

Perhaps it's better to have a shared single instance instead?

It's only a few unnecessary instances, but I can consolidate them, sure.

Yep, this is still on my bucket list. I recently upgraded the plugin from 11 -> 17 and haven't had the chance to update the client library yet.

No stress, it's great to see that projects are actively upgrading, Java 21 is awesome! 🚀


Break S3ProxyHandler into component parts

Breaking the almost 3,000 line S3ProxyHandler into component authentication, bucket, object, and multipart classes will make it easier to understand.

After adding V4 authentication the complexity of its code scares me.

For use case of "embedding into Java applications", it is better to isolate implementation of api from the source of content and authorization. This will help in case a custom application wants to provide custom implementation/source of blob data and wants to do run its own authorization logic. Further, dependency on jclouds will become optional (in this case).
So my suggestion it to create a generic java interface defining the contract between s3 api implementation and blob/authorization/provider. The default will be jclouds based impl but it can be changed (programatically) if required.
You have done similar thing with jetty. IMHO, Jclouds connection should also be loosely coupled.
Is the idea worthwhile and will you solicit such a PR?

@szquadri This issue only deals with refactoring the internal S3Proxy APIs, but please open a new issue with your suggestions for embedding.  Unfortunately most embedded uses seem to be closed-source so it is hard for me to imagine them, but I am open to making S3Proxy more useful in this way.  I suspect that disentangling S3Proxy from jclouds would be less useful than embedding users implementing the BlobStore interface directly.  Pluggable authentication seems well-scoped and could improve S3Proxy just by creating a cleaner separation of logic.

I will create a separate issue for embedding use case.
In our use case we have a SaaS document management (digital asset management) product and we want to provide raw content/files/metadata access through s3 interface as it is the most popular blob api right now. The system is multi-tenant so we need servlet request access to be able to do custom authorization and bucket determination etc.
For such a case, we do not need (or want to) implement jclouds blob store and will be better off with pure s3 implementation that simply uses servlet request / response to interface with outside world and a generic interface for data store.
I think many people may have such a requirement and having loosely coupled jclouds will help.

Interesting Hint. Is there any chance locateBlobStore() method of interface BlobStoreLocator is passed on current ServletRequest so it can take decision based on factors like hostname/virtualhost (in our case) or any other factor/info contained in request that developer can use to select BlobStore?

We can consider broadening this interface.  Let's track it in a separate issue or pull request.


Added sector-performance endpoint

Implemented stock/market/sector-performance endpoint.
For more info see https://iextrading.com/developer/docs/#sector-performance

[x] tests added / passed
[x] passes git diff upstream/master -u -- "*.py" | flake8 --diff
[ ] added entry to docs/source/whatsnew/vLATEST.txt

No problems! Thank you for this iex wrapper!


alter Words API to fix build

Thank you for taking the time to work on a Pull Request for this project!
To ensure your PR is dealt with swiftly please check the following:

[X] Your submissions are formatted according to the guidelines in the contributing guide.
[X] Your changes are made in the README file, not the auto-generated JSON.
[X] Your additions are ordered alphabetically.
[X] Your submission has a useful description.
[X] Each table column should be padded with one space on either side.
[X] You have searched the repository for any relevant issues or PRs.
[X] Any category you are creating has the minimum requirement of 3 items.

Thanks, didn't notice in PR #495 that this had failed the build before merging 🤕


[Build] Warning hinders compiling from example window-app

Build issue(s)
While compiling the window-app example, there seems to be an error with the cc1plus compiler.
There is a -Werror-conversion error:
../../../../../../src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.hpp:1854:77: error: conversion from 'std::chrono::duration<unsigned int, std::ratio<1, 1000> >::rep' {aka 'unsigned int'} to 'uint16_t' {aka 'short unsigned int'} may change value [-Werror=conversion]
1854 |         otErr         = otLinkCslSetPeriod(mOTInst, interval.count() * 1000 / OT_US_PER_TEN_SYMBOLS);
|                                                                             ^
cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics
cc1plus: all warnings being treated as errors
I dont know if this has something todo with my build system, but other examples compile just fine.
I could only workaround by adding  "-Wno-conversion" to the connectedhomeip/build/config/compiler/BUILD.gn to config("disabled_warnings") {  cflags = [ .... ,"-Wno-conversion"] }
I tried many other ways to change the cpp / cxx flags but only this one worked.
Is there a better possibility or is this a bug?
Platform
nrf connect
Anything else?
No response

what compiler are you using?


Fix hidden commit status on multiple checks

Since #22632, when a commit status has multiple checks, no check is shown at all (hence no way to see the other checks).
This PR fixes this by always adding a tag with the .commit-statuses-trigger to the DOM (the .vm is for vertical alignment).

Cc @fsologureng @zeripath @lafriks who were involved into the previous PR.
Contributed in the context of @forgejo

Marked as draft, while I am working on the tests

I added a test to ensure that the commit-statuses-trigger is present when multiple checks are present.
This requires different contexts, hence the change in the last argument of doAPICreateCommitStatus.

If there is no status, no HTML is shown at all (wrapped the whole template in if - sorry for the unreadable diff)

I think I found an almost elegant way to deal with link/span:

either a link is shown: when eq (len .Statuses) 1 then the first (and unique) status is already available in .Status and a .Status.TargetURL can be made
or a span with tabindex="0" to support for touch users and keyboard navigation

Both use the data-tippy="commit-statuses" attribute.

It makes visually no difference: the top one is a a, the bottom is a span:

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@ca445cf). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 6db8fb3 differs from pull request most recent head 4734aeb. Consider uploading reports for the commit 4734aeb to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main   #22889   +/-   ##
=======================================
  Coverage        ?   47.37%
=======================================
  Files           ?     1121
  Lines           ?   150300
  Branches        ?        0
=======================================
  Hits            ?    71205
  Misses          ?    70651
  Partials        ?     8444

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Thanks for picking up my suggestion! I went through the code and left some comments.

@oliverpool as I said in @Forgejo's devel chat; the only problem that persists, and to be fair it wasn't the aim of this fix or mine, is that the tippy list opened with hover event in desktop environment doesn't work in mobile environment; the problem is that the hover doesn't exist in mobile, so to open the status list you need to tap on the anchor, so it triggers both the navigation to the url and show the list.
The solution should separate the hover event to the click event, probably maintaining the tippy trigger whenever, but with an additional anchor for the status url. Or some similar arrangement.
Thanks for picking up my review :)

@Ryuno-Ki you are right. But if there is only one check, with a target URL,  visiting this URL is not that bad.
However it is true that having a variable behavior (depending on things invisible to the user: one or more statuses) is not the best UX. But as you noted the goal of this PR is not to make a perfect UX, but fix a UX bug (slightly improve the UX :).

Reply to chat:

Friendly ping for a 2nd maintainer review for ...

Although I am not maintainer, I can see some divergences from your side. Do you have a final consensus?

If no, nobody knows what to do. Do you still need to improve the a11y?
If yes, tell the maintainers that "OK, no more discussion, no more change".

ps: Personally, in my option, I do not think using data-tippy=xxx pattern is the generally used method in Gitea. A js-xxx selector is shorter and clearer since you only want to bind an event handler to it to show tippy, just my opinion:

The data-xxx attributes are usually used to store some data, eg: the relation between elements. Its value usually provides related information, but is not just used to be a selector.
The guideline also suggests to use js- prefix, and it has already been used in many places in Gitea.
When people read data-xxx they will pay more time to think and search what's the meaning of the value. When people read js-xxx they know immediately: oh, that's a selector for JS.

@wxiaoguang thank you for your comment.

Do you have a final consensus?

The original goal of this PR is to fix a regression. As such this PR is complete.
Accessibility (a11y) still isn't optimal, however achieving an optimal state would mean deeper changes (in appearance and functionality). Since 1.19 should be released soon, I think this PR should be merged as-is and a follow-up PR could be made to further improve this.

The guideline also suggests to use js- prefix, and it has already been used in many places in Gitea.

Which guideline are you referring to? I have looked at https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md, but wasn't able to find a recommended way.
I think creating a dedicated Styleguide.md could really help to clear such situations upfront (#22879 with gt- prefixes could also be documented there).

@oliverpool we went for gt- in the end over g-h- as it's easier to read, but my idea still stands and I think we should do it if just because the UI state is a bit of a mess right now.

I think we should do it

I also think so. And documenting it in the repo would greatly help STYLEGUIDE.md for instance? (with a link from CONTRIBUTING.md)
Otherwise it is only known to people involved in the discussion and might cause avoidable friction during PR-reviews.

Do you have a final consensus?
As such this PR is complete.

It's good to have a consensus. Otherwise I guess reviewers may worry about "If I approve this, would someone think that I do not understand a11y or do not care about a11y?"
And:

reviewing PRs loosely may introduce more problems (like a11y, like 22632)
reviewing PRs strictly may introduce more discussions and pend more PRs.

So, at the moment, Gitea's reviewing is not too loose nor too strict, that's why sometimes a few bugs come, sometimes there are a few a11y problems, and sometimes there are some pending PRs. That's a balance and a trade-off.

About Styleguide.md, about js-, about gt-

There are documents (I always write documents and comments)

https://github.com/go-gitea/gitea/blob/main/docs/content/doc/developers/guidelines-frontend.en-us.md
https://docs.gitea.io/en-us/guidelines-frontend/

Although a few of the them might be out-dated, most of them are still helpful.


Logging out and doing login again counts as "max login tries"

Install loginsecurity on your server
Register
Do /logout
Login again
Repeat this 5 times
After doing this 5 times you will get kicked for:
[LoginSecurity] Exceeded max login tries: 5
If max login tries is set to something low like 1, you will IMMEDIATELY get kicked after doing logout and logging back in.

Unfortunately I don't have time to fix this before releasing 3.2.1
I will try to get a dev build out that fixes this some time this week though


AOT exception on 2.6.2 with Unity 4.6.7f1

Since I updated to 2.6.2, I'm getting an AOT error upon deserialization on IOS devices. It happens when a BaseBehavior has a public field which is an interface type, where the interface's implementation has a public value-type auto property (like int or bool). I've traced the issue to some new code in fsReflectedConverter.TryDeserialize line 66. There is a huge TODO comment block just above the problem code.
Here is an example project that will trigger the issue if you deploy to an iPhone...
https://drive.google.com/file/d/0B3CO5RvZaNgHSHBQZy0wVVFjVFE/view?usp=sharing
Here is a partial stack trace...
System.ExecutionEngineException: Attempting to call method 'System.Reflection.MonoProperty::GetterAdapterFrame' for which no ahead of time (AOT) code was generated.
at System.Reflection.MonoProperty+GetterAdapter.Invoke (System.Object _this) [0x00000] in :0
at System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index) [0x00000] in :0
at FullSerializer.Internal.fsMetaProperty.Read (System.Object context) [0x00000] in :0
at FullSerializer.Internal.fsReflectedConverter.TryDeserialize (FullSerializer.fsData data, System.Object& instance, System.Type storageType) [0x00000] in :0

Ok, I'll take a look. Please take down the uploaded folder though, since it contains FI :). I've downloaded it.

So I'm not sure how much I can do here. I think there are a few options though for you to work around the AOT limitations:

Use Full Serializers AOT support.
Change the auto-property to a manual one with a private backing field.

Closing since this is a Full Serializer bug. Likely caused due to missing stripping.xml information. Please reopen if this is still occurring.
The TODO in fsReflectedConverter is for a future performance enhancement.


⚠ gorzdrav.org has degraded performance

In 9487cec, gorzdrav.org (https://gorzdrav.org) experienced degraded performance:

HTTP code: 200
Response time: 1479 ms

Resolved: gorzdrav.org performance has improved in 1460ed2.


ARROW-16759: [Go] backport gopkg.in/yaml.v3 security patch to v7.0.1

This PR is a backport of https://github.com/apache/arrow/pull/13322 for v7.0.1 as a follow-up to #13587
cc @kou

Thanks!


tutorial: Explain when to use pointer

biberao is learning pointers, and asked a very good question that Jou's docs do not answer...
[00:21]	biberao	i still have issues with it
[00:21]	biberao	:D
[00:21]	Akuli	what is your issue with it :)
[00:22]	biberao	usecases for pointers
[00:23]	Akuli	maybe it helps that in python, every instance of a class is a pointer?
[00:23]	Akuli	basically, you can refer to the same data in many places, instead of copying the data into many places
[00:23]	biberao	since python abstracts
[00:23]	biberao	i never pay attention
[00:23]	Akuli	 yes, but now you should, because you're learning c
[00:24]	Akuli	also lists and dicts
[00:24]	Akuli	look at this...
[00:24]	biberao	yes
[00:24]	Akuli	!py add1 = (lambda x: x.append(1)); a=[]; add1(a); add1(a); a
[00:24]	potti	Akuli: timed out
[00:24]	Akuli	!py add1 = (lambda x: x.append(1)); a=[]; add1(a); add1(a); a
[00:24]	potti	Akuli: timed out
[00:24]	Akuli	hmm
[00:24]	Akuli	!py print(1)
[00:24]	potti	Akuli: timed out
[00:24]	Akuli	:D
[00:25]	Akuli	that's what you get when you develop the bot on a more powerful desktop and run it on ancient laptop :)
[00:25]	biberao	hahah
[00:25]	biberao	:D
[00:25]	Akuli	anyway, a function call like "add1(some_list)" can append 1 to the end of a list
[00:25]	Akuli	this wouldn't work, if the list was copied, but it is passed as a pointer
[00:26]	Akuli	so the function can just look at the original list through a pointer instead of getting a copy of it
[00:26]	biberao	i see
[00:26]	Akuli	very similar to set_to_500() function
[00:26]	biberao	when not to use a pointer?
[00:26]	Akuli	when the value is small enough to be copied, or you just want to copy it
[00:27]	Akuli	for example, if your function takes an integer and prints it, just pass it an integer
[00:27]	biberao	i see
[00:27]	Akuli	you wouldn't do printf("%d\n", &my_num) for example

More good questions...
[00:30]	biberao	so whats the difference between doing int * a vs int a then do &a
[00:30]	biberao	?
[00:30]	Akuli	"int a" and then "&a" means, you get a pointer to the variable
[00:30]	Akuli	so when the function call is done, that pointer becomes invalid
[00:31]	biberao	i see
[00:31]	Akuli	"int *a" means you don't make a pointer, you get a pointer from somewhere else and use it


HealthCheck doesn't show degraded static group status

subj
If we have one or more dead static vdisks, we don't see it it hc STORAGE_GROUP level
24-1-14-hotfix-9

@vporyadke please check - there's a degraded static group at vla02, but it's not returned as hc issue


Shift clicking when inventory is full while crafting creates sound

https://user-images.githubusercontent.com/46494907/119172934-cc2f1400-ba66-11eb-8d5a-fb5a67a67bea.mp4

Currently, checking for any open inventory slots is too complicated to implement without it being a gross hack (because Mojang). Might work on this after changing when the click is detected, however for now this will remain as-is.


Replace yaml.v2 with yaml.v3

I don't see why we have to use two versions of yaml. The difference between the two versions has nothing to do with our usage.

Related:

https://github.com/go-gitea/gitea/pull/19814

that wont work as long as goldmark do use the old one

Related:

use yaml.v3 library #19814

I might know why, v2 will decode a map into interface with type map[interface{}]interface{}, but v3 will do that with map[string]interface{}, that's what I got bitten in #21831.
Not really sure, I'll take some time to figure it out.

that wont work as long as goldmark do use the old one

I saw your attempt in https://github.com/yuin/goldmark-meta/pull/6.
But I mean avoid using both versions in Gitea directly, I know we can't get rid of v2 version completely.

But at least, we can remove all direct dependencies on v2.

It has been blocked by #21831 because of the same modification, I will check it later.

There are two little differences between yaml.v2 and yaml.v3 which broke the tests:

The v2 decodes a map into interface with type map[interface{}]interface{}, but v3 does that with map[string]interface{};
The v2 decodes a string like "2022-11-21T15:32:05+08:00" into interface with type string, but v3 does that with time.Time;

There's an example: https://go.dev/play/p/PqLD6tR75xF .


simple request: thaumcraft aspects on mouse over

just that would be great.
searching by aspects in craft guide would be ideal.

I'll have to look into feasibility at some point, because those features would be rather nice to have (I hadn't considered search-by-aspect, but it seems like a decent idea).

honestly. at this point i just want ability to see aspects when i mouse over items in craftguide. it shows everything else but aspects :)
however. one SIMPLE way to support searching by aspects is to use the search bar and for example if you type
ignis
is shows every item that has ignis in it and you mouse over and you can see the aspects that way. QUICK fix :)

i gotta say i use craft guide quite a lot. in fact i never play without it. so having it even more compatible with other mods i use would be fantastic. thaumcraft is deff a popular mod and i think everyone can benefit from aspects showing up on mouse over.


Updated generalized Kubeflow on AWS links for 1.5 branch

Changed links for updated Kubeflow on AWS 1.4 release.

/close


[BUG]: diffusion docker problem

🐛 Describe the bug
Option 2: Use Docker
Mandatory, mount your prepared data to /data/scratch via -v :/data/scratch, where you need to replace  with the actual data path on your machine.
Follow this instruction I replaced the  with the /data/scratch/diffuser/laion_part0 and meet this bug:
~/data1/ColossalAI$ docker run --rm
-it --gpus all
-v $PWD:/workspace
-v </data/scratch/diffuser/laion_part0>:/data/scratch
-v :/root/.cache/huggingface
hpcaitech/diffusion:0.2.0
/bin/bash
-bash: :/data/scratch: No such file or directory
Environment
No response

</data/scratch/diffuser/laion_part0> -> /data/scratch/diffuser/laion_part0

oh, thanks!

docker run --rm
-it --gpus all
-v $PWD:/workspace
-v /data/scratch/diffuser/laion_part0:/data/scratch
-v :/root/.cache/huggingface
hpcaitech/diffusion:0.2.0
/bin/bash
-bash: hf-cache-dir: No such file or directory
So I think I can remove "   -v :/root/.cache/huggingface " this line? (Seems it works)

Download the model checkpoint from pretrained
stable-diffusion-v1-4
Our default model config use the weight from CompVis/stable-diffusion-v1-4
git lfs install
I am trying to install lfs. From the official webpage they told me "https://packagecloud.io/github/git-lfs/install#bash-deb", and use this "curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash", but I meet this:
bash: sudo: command not found
bash: curl: command not found
I think this is because I am do not have the privilege to use sudo. I am wondering, is it necessary to use this lfs?? Thanks!

Well, never mind....Maybe I can use binary package like this.. https://github.com/git-lfs/git-lfs/issues/4134

Actually, I find no way to install the binary package. I am wondering how the developer tested this diffusion... Is he/she a root user?


Running on ESP32C6

Hello again,
I'm attempting to execute code on my ESP32, but I encounter an error. It appears after flashing when I open the serial terminal.

Hi,
It looks like the chip you have is not sx127x. Thus error "SX127X_ERR_INVALID_VERSION".

The device is an SX1278. It worked on my Arduino nano and other ESP32 board with Arduino framework. I verify the pinout but the error persists

Interesting. The issue might be somewhere in the SPI configuration then. I.e. you're getting some data, but this data either is corrupted or maybe coming from the different chip. I recall you had issue with compilation #12. Is it possible that the chip is actually connected to SPI1_HOST and not SPI2_HOST?

I tried but got the same error. When you developed the example code which ESP32 you had in mind? I am using a ESP32-C6-DevKitM-1.

it was ESP32-PICO-D4 from TTGO Lora32 and Heltec Lora v2.


can chakracore.dll run on linux with dotnet core 2.0 ?

code can be run with windows . but if I publish to linux
use
dotnet publish -r ubuntu.16.04-x64  .\IdentityClinet.csproj

it will be error bellow
Unhandled Exception: System.DllNotFoundException: Unable to load DLL 'ChakraCore.dll': The specified module or one of its dependencies could not be found.
 (Exception from HRESULT: 0x8007007E)
   at ChakraHost.Hosting.Native.JsCreateRuntime(JavaScriptRuntimeAttributes attributes, JavaScriptThreadServiceCallback threadService, JavaScriptRuntime& runtime)
   at ChakraCore.Chakra.Run() in /root/ziggle/cpppp/ChakraCore/Chakra.cs:line 20
   at IdentityClinet.Program.Main(String[] args) in /root/ziggle/cpppp/ConsoleApp3/Program.cs:line 14

this is  the .csproj file
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <RuntimeIdentifiers>win10-x64;ubuntu.16.04-x64</RuntimeIdentifiers>
        <TargetFramework>netcoreapp2.0</TargetFramework>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="IdentityModel" Version="2.16.0" />
        <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
    </ItemGroup>
    <ItemGroup>
        <ProjectReference Include="..\ChakraCore\ChakraCore.csproj" />
    </ItemGroup>
</Project>

You need to compile OR download ChakraCore for Ubuntu -> https://github.com/Microsoft/ChakraCore/wiki/Building-ChakraCore
Use as is just another C/C++ library -> https://github.com/dotnet/core/issues/756

If you can succeed, please contribute a sample project to https://github.com/Microsoft/Chakra-Samples/tree/master/ChakraCore Samples

Hi @youngerier I believe @obastemur has answered your question- if you have follow ups, feel free to open new issues or hop on to our gitter channel.


Add documentation for OktaAuth.

It seems like OktaAuth has a big role in the boiler-plate yet the documentation is very sparse on the read-me and non-existent on the Boilerplate docs.

Hello @eliasingea
Thanks a lot for your feedback. You can find information about okta login directly in our readMe : https://github.com/algolia/algolia-react-boilerplate/tree/main/apps/boilerplate-front-end#-okta
The feature is deactivated by default when you're pulling our main branch. Right now the Okta connexion is just in as a test, it shouldn't affect any other feature of the app 😊.
Let me know if you need more information !

Hey Hugo, this is interesting because the reason I ran into this was that I immediately got an error when running front-end without having setup Okta. And I pulled from the main branch. I can go back to my original config and get the error if you would like.

Alright, the feature should be off by default on the main branch.
That might be an error on my side. Sorry about that !