Jwt AuthN filter dynamic remote_jwks: http_uri or local_jwks: file_name

Dynamic JWT provider jwks configuration to validate JWT token based on claim values from JWT header.
Description:

We would like to validate the JWT token based on dynamic remote_jwks: http_uri configuration or local_jwks:file_name

Instead of validating against multiple public keys at the JWKS endpoint, we would like to fetch the right public key based on the x_policy claim value(from the header)

We can write a pre-filter in Lua before JWT authn filter which reads the JWT token "x_policy" value from the header and set jwks endpoint value or local file_name value to DynamicMetaData so that the next filter JWT AuthN will use the configuration to load the configuration to validate the JWT token

Please let me know whether the same functionality can be achieved with any other existing configuration

[optional Relevant Links:]
https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/jwt_authn/v3/config.proto#envoy-v3-api-msg-extensions-filters-http-jwt-authn-v3-jwtprovider
https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/jwt_authn/v3/config.proto#extensions-filters-http-jwt-authn-v3-filterstaterule

Any extra documentation required to understand the issue.

Could you create multiple providers based on your  x_policy claim values. And then choose right provider for every request based on the RequirementRule match?

cc @lizan

@wbpcode
I tried that approach, there are two problems

There are no way to configure the requirement rule match based on JWT header value to choose the right provider

( I mean, the match: prefix: / URL is same for all the requests, i need to chose the provider based on decode jwt header value )

If configure the filter with multiple require provider configurations, In future for any new providers I have to update the envoyfilter with new providers list
`# Example 3: require A or B
requires_any:
requirements:

provider_name: provider-A
provider_name: provider-B
`
In case of Lua, the pre-lua filter always construct the dynamic remote_jwks: uri value based on the JWT decoded header claim, so need to rollout new filters to production for every new providers list

CC: @lizan

With the current implementation Lua is probably the best way to do it. This requirement rules seems too complex, having a token exchange (via ext_authz perhaps) might be a better solution overall though.

Your idea of dynamic "remote_jwks" will not work.  Normally, remote jwks is fetched at the start of Envoy, and periodically re-fetched in a interval at the main thread, worker threads of processing requests are read-only for these remote jwks data.

Thanks @qiwzhang for the update, I got the point that we cannot use the remote_jwks endpoint dynamically.
Is it possible to use local_jwks: file_name: <<file_path>> configuration dynamically.
I mean, in Lua filter I can download all the public keys into the envoy file system during startup,
For instance,
/var/lib/publickeys/A_key.pem
/var/lib/publickeys/B_key.pem, etc
Is there any way to modify the envoy proxy code, to change the file_name value based on the request fields?
Client Request -> Lua Pre Filter -> JWT AuthN filter
Lua PreFilter:
Download all the public keys during startup and write to the envoy file system
Read JWS header fields and update the DynmicMetadData map, to set which local_jwks:file_name: A_key.pem to use.
CC: @lizan  @wbpcode

Jwks from local_jwks: file_name is only loaded at Envoy start-up time.


Run out of memory

I have 8 gpu card with 12 GB memory, but even I set batch-size to be 8, it always give error run out of memory. I use pytorch 3.1 and python 3.5, I don't know where is the problem?

Hi, I got the same problem when running this code. How did you solve this problem?


Feature request: global configuration to automate key imports to container to remove the need to ddev auth ssh for each site

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem?
Problem: I frequently spin down docker containers and restarting them each day which necessitates running ddev auth ssh frequently. In fact, I try sshing with Drush enough that I often run three commands to get to sshing into the server.
TL;DR Running into forgetting to run ddev auth ssh consistently because of how often I spin down Docker.
Describe your solution
I'm not sure the situation for local development where you would worry about importing ssh keys in your web container. Allow for configuration (global) to override default and automate importing keys into the container.
Describe alternatives
N/A
Additional context
N/A

Just FYI, ddev auth ssh only needs to be done once after DDEV is started, not for each site. But I think you already understand that. ddev poweroff must be a fundamental part of your workflow.
Do you actually need the keys inside the container? If not, don't worry about ddev auth ssh.
In some environments you may also be able to just mount the ssh socket into the container, https://stackoverflow.com/a/74033072/215713
You may also be able to just copy your keys into the container, https://stackoverflow.com/a/61485062/215713
But you could do this:
hooks:
  post-start:
    exec-host: ddev exec ssh-add -l || ddev auth ssh

If you had that in your projects it would always make sure you did ddev auth ssh, but only if you needed it.
Since good ssh keys have a password, the only way I actually know to automate entering the password is via expect, which is what DDEV automated tests do, for example, https://github.com/ddev/ddev/blob/b0ba7ff9086b4cb107c3251cba8a1134794ef90d/pkg/ddevapp/testdata/TestAcquiaPull/ddevauthssh.expect - but that has security implications if you care about your ssh keys.

@rfay First, thanks for the speedy response.

Just FYI, ddev auth ssh only needs to be done once after DDEV is started

You are right. I didn't realize this before, I guess. (I like to spin down Colima after work to prevent battery drainage on laptops.)

Do you actually need the keys inside the container?

It might not be terribly necessary down the road, but now it's handy because I run Drush inside the containers because I do both Drupal 7 and Drupal 9, with different versions of PHP. I have to use drush for accessing sites on hosting.
I was able to get the post-start hook to work. But I might look at those other options so I don't have to update a bunch of ddev configs at the project level.
Also, in case anyone else needs it, I had to tweak the post-start a little to get it to work for me. Here's what I did:
hooks:
  post-start:
    - exec-host: ddev auth ssh

FYI: Docksal used to auto-import ssh keys. I'd be curious to know why Ddev doesn't do this.

I forgot I use other tools, like Terminus and BLT, that require ssh. So, it's just kind of handy to be able to have the SSH keys already in the container.

DDEV doesn't import your private keys directly because it seems like a security violation. Maybe not, but copying private keys (into container) isn't really the best idea.
I think you'll find with colima that if you aren't running any projects you won't have any battery usage. So ddev stop -a will stop all ddev projects but leave the ddev-ssh-agent running. If you use that workflow you'll have good battery and not have to ddev auth ssh so often.
I don't think your changed hook will be completely satisfying, as start on each project will require entering the passwords. That's why I suggested what I did.

It looks like everything is resolved here, so I'll close this. Happy to continue the conversation here or elsewhere.


Vsync FAST support?

Hello, I've got an interesting question.
I've been using your FPS unlocker tool for Sekiro too, and that worked wonderfully with vsync set to FAST in the NVIDIA control panel -- fps went well above 60, and I had no tearing on my screen.
However in Elden Ring (with vsync set to fast), I still only get 60 fps max. If I do set vsync to off though like the readme says, the fps is unlocked but basically the tearing makes the game unenjoyable (I don't have a g-sync/freesnyc capable monitor).
Is there any reason why the vsync fast method does not work in Elden Ring?

According to this nvidia article Fast Sync does not work with DirectX12 games. If you use dxvk with vkd3d dll you may have some success using fast sync (which I guess would force it to use mailbox presentation)

According to this nvidia article Fast Sync does not work with DirectX12 games. If you use dxvk with vkd3d dll you may have some success using fast sync (which I guess would force it to use mailbox presentation)

Thank you, that's interesting. I tried running the game with DXVK or VKD3D but sadly the game crashes immediately with either of those. :/

Try not to use DXVK or VKD3D but together. Copy dxgi.dll from DXVK and copy d3d12.dll from VKD3D (don't forget to disable EAC) and it should work, that way it works for me at least.

Try not to use DXVK or VKD3D but together. Copy dxgi.dll from DXVK and copy d3d12.dll from VKD3D (don't forget to disable EAC) and it should work, that way it works for me at least.

Thanks, I tried that but then the game just hangs and freezes at the white screen. Do you have an NVIDIA card?


⚠ Processors has degraded performance

In 4766fc4, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 62 ms

Resolved: Processors performance has improved in 93d4d6f.


binja: fix up analysis for the al-khaser_x64.exe_ file

This provides a better fix for #2507 by fixing up the binja analysis (i.e., manually defining the function at 0x14004b4f0)
This issue also exposes a bug when I previously introduced the optimization in https://github.com/mandiant/capa/commit/b6763ac5fe72034cf841d401a1188c06bf0a0af3. It is not fixed in this PR as well

Checklist

[ ] No CHANGELOG update needed

[ ] No new tests needed

[ ] No documentation update needed

Great, thanks!


Migration 0005 doesn't use selected database

When trying to create a new database via syncdb (or migrate) we get the following error:
File "/home/doctormo/www.inkscape.org/pythonenv/lib/python2.7/site-packages/MySQLdb/cursors.py", line 205, in execute
self.errorhandler(self, exc, value)
File "/home/doctormo/www.inkscape.org/pythonenv/lib/python2.7/site-packages/MySQLdd/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
django.db.utils.OperationalError: (1054, "Unknown column 'cms_page.level' in 'field list'"
The command was manage.py migrate --database=local and the local database is a postgresql database. But the error above looks like it's trying to contact the mysql database (which is 'default')

I had the same issue when having two different databases (MySQL and PostgreSQL) - the fix was to remove the MySQL DB temporary (by commenting out the entry).

Same problem here.
We have a test database that we use --database=test to select based on instruction from official docs. However, 0005 picks up default database instead. And because 0006 (which removes the level column) was ran on the default database already, 0005 errors out when referencing the removed column level.
A simple way to demonstrate this:
# Edit migrations/0005_auto_20140924_1039.py
from django.db import router
using = router.db_for_write(Page)
print(using)

Run ./manage.py migrate --database=anything_other_than_default.

@doctormo @nagyv
I've pushed a PR to fix this https://github.com/divio/django-cms/pull/5601.
I'd really appreciate it if you could test in your setups.
This will likely land on 3.3.3 as 3.3.2 is on code freeze.

@czpython The fix does not seem to be merged into the 3.3.x branch?

The tests did pass my end. I may have forgotten to update this issue. Sorry cz

I accidentally deleted the branch and thus the PR was closed.. 😭
Will push a new PR today. Thanks for the feedback!

Pushed new PR https://github.com/divio/django-cms/pull/5731
This will be backported to 3.3.x


Add support for ARMv6 devices and build fwatchdog as part of template

Add support for ARM 32bit v6 devices like Raspberry Pi Zero.  Also including building of fwatchdog as part of template.
Expected Behaviour
Add template for ARMv6 devices e.g. python3-armv6
Additional, build fwatchdog as part of template build process
Current Behaviour
No template available for ARMv6.
Possible Solution
Working example:
https://github.com/ZeoX06/templates/blob/arm32v6_support/template/python3-armv6/Dockerfile
I'm not ready with reading the guide to make a pull request ;)
Steps to Reproduce (for bugs)
python3-armhf template not running on ARMv6 devices
Context
Like to use template directly and make it easy for other people to run openfaas on Raspberry Pi Zero devices.
Your Environment

Docker version docker version (e.g. Docker 17.0.05 ):
18.06.1-ce

Are you using Docker Swarm or Kubernetes (FaaS-netes)?
Docker Swarm

Operating System and version (e.g. Linux, Windows, MacOS):
Linux

Hi @ZeoX06 thank you for your interest
OpenFaaS will run on Raspberry Pi Zero but in practice it is not practical and the ecosystem made it a burden for me to maintain on my own.
See more here:
https://github.com/openfaas/faas/issues/501
I'm going to close the issue, but you're welcome to build the code from source - there is nothing I am aware of that should prevent armv6 working.
Alex

Please see my blog on building an ARM cluster here -> https://blog.alexellis.io/build-your-own-bare-metal-arm-cluster/

Hi Alex,
next time I will have a better look on the closed issues.
Thanks you for sharing your blog post.

I think you'll find the RPi3 much easier to work with for instance it can run the whole of OpenFaaS on Swarm.
If you'd like to join Slack to chat in our ARM / RPi channel please email<EMAIL_ADDRESS>


"has_notified" doesn't work as expected

has_notified  is a field on the BasePolicy model. A BasePolicy represents a policy, and there is only one instance of each policy. It does not represent a proposal, and it is not tied to specific action or proposal. The first time a policy is ever evaluated, has_notified gets set to True, and remains that way for all future evaluations.
I think the intent of has_notified is to determine whether or not a specific Policy<>Action combination has run the notify block yet.  In order to do that, we'd need to create a relationship between Policies and Actions (or Proposals).

@amyxzhang can you provide any insight on what the has_notified flag is supposed to mean?

removed in https://github.com/amyxzhang/policykit/pull/300 in favor of passing a is_first_evaluation boolean to policy eval


Unable to add both ECC and RSA certificates for a single domain (Service_HTTPS, TLS_Server)

Environment
Application Services Version: 3.28.0
BIG-IP Version: <IP_ADDRESS>
BIG-IQ Version: <IP_ADDRESS>

Summary
Unable to add two certificates for the same domain to a single TLS_Server / client SSL profile
Steps To Reproduce

Create a declaration using the Service_HTTPS class, a single TLS_Server object which in its turn references two certificate objects (one RSA and one ECC certificate).
Deploy the application
The result will be Virtual Server with two Client SSL profiles attached.

Expected behavior
In this specific case, the certificates should be added to a single Client SSL profile.
Defining multiple certificates in a TLS_Server object results in multiple client SSL profiles on the BIG-IP. For website using multiple domain names and SNI this works just fine.
But when we need to configure both Elliptic Curve Cryptography and RSA certificates on a single virtual server, these certificates should end up in one and the same client SSL profile on the BIG-IP.
Resulting config should probably look like:
ltm profile client-ssl webtest_443/webtest_certs-1- {
    ...
    cert-key-chain {
        set1 {
            cert webtest_443/ecc_cert_1.crt
            chain webtest_443/ecc_cert_1-bundle.crt
            key webtest_443/ecc_cert_1.key
        }
        set0 {
            cert webtest_443/rsa_cert_1.crt
            chain webtest_443/rsa_cert_1-bundle.crt
            key webtest_443/rsa_cert_1.key
        }
    }
    ...
}

I've encountered this exact issue on AS3 3.29, BIGIP <IP_ADDRESS>.
The problem can easily be simulated with the example declaration that is meant to clarify this exact functionality:
Using multiple SSL/TLS certificates in a single profile
Unlike the description in the Schema Reference, the example declaration description and our expectations the result is two clientSSL profiles ("webtls" and "webtls-1-"), completely in line with the behavior described by @PhobicShades

The description on that example is incorrect. I am working with our technical writer to update it.
This is currently working as designed. I am changing this issue to a feature request to support the use case of multiple certificates types with a single domain.

Hello
do you have any information when this feature may get implemented?
Kind regards Artur

Also waiting for this feature.
Since I did not find the repository where the NodeJS of AS3 is stored, I built a diff file how this could look like. I'm adding an additional boolean field "hybrid" (optional, default: false) to TLS_Server in order to have all certificates added to a single clientssl profile - with the limitation that you must not have two or more certificates of the same type (RSA/ECDSA/...) assigned to the same TLS_Server. Likewise, you cannot have more than one clientssl profile assigned to a Service_HTTPS or similar, simply because that reference is not designed as a list and setting hybrid to true generates only a single clientssl profile.
Any dev feel free to pick it up and propose it in the right place to the right folks :smiley:
If you would like to test the diff, then you would need to apply it to /var/config/rest/iapps/f5-appsvcs and run bigstart restart restnoded. Note that the patch binary is missing on the BIG-IP so you would need to download the content of f5-appsvcs to a local directory and the run patch -ruN -d <local_location_of_f5-appvscs> -p 1 < hybrid_v2.patch and upload the patched files lib/map_as3.js, schema/latest/adc-schema.json, schema/latest/as3-schema.json and schema/latest/core-schema.json, pay attention to file ownership and permissions.
Please see below the content of hybrid_v2.patch:
diff '--color=auto' -ruN a/lib/map_as3.js b/lib/map_as3.js
--- a/lib/map_as3.js    2022-01-19 23:05:24.000000000 +0100
+++ b/lib/map_as3.js    2022-03-03 13:30:50.688761100 +0100
@@ -140,7 +140,10 @@
                         } else {
                             profName = i === 0 ? n : `${n}-${i}-`;
                         }
-                        item.profiles.push({ name: profName, context });
+
+                        if (!(profileDef.hybrid || false) || i === 0) {
+                            item.profiles.push({ name: profName, context });
+                        }
                     });
                 }
             } else {
@@ -1121,28 +1124,56 @@

         updateTlsOptions(item, context);

-        item.certificates.forEach((obj, index) => {
+        if (item.hybrid || false) {
             const tlsItem = Object.create(item);

-            let itemName;
-            if (item.namingScheme === 'certificate') {
-                itemName = obj.certificate.split('/').pop();
-            } else {
-                itemName = index === 0 ? itemId : `${itemId}-${index}-`;
-            }
-            const path = util.mcpPath(tenantId, appId, itemName);
+            let itemName = itemId;

-            tlsItem.certificates = [];
-            genCert(tlsItem, obj.certificate, 'SERVER');
-            genCert(tlsItem, obj.proxyCertificate, 'CA');
+            tlsItem['sni-default'] = true;
+            tlsItem.matchToSNI = false;
+            tlsItem.mode = false;

-            tlsItem['sni-default'] = index === 0;
-            tlsItem.matchToSNI = obj.matchToSNI || 'none';
-            tlsItem.mode = obj.enabled;
+            tlsItem.certificates = [];
+            item.certificates.forEach((obj, index) => {
+                genCert(tlsItem, obj.certificate, 'SERVER');
+                genCert(tlsItem, obj.proxyCertificate, 'CA');
+
+                if (item.namingScheme === 'certificate' && index === 0) {
+                    itemName = obj.certificate.split('/').pop();
+                }
+                if (obj.matchToSNI && !tlsItem.matchToSNI) {
+                    tlsItem.matchToSNI = obj.matchToSNI;
+                }
+                tlsItem.mode = tlsItem.mode || obj.enabled;
+            });
+            tlsItem.matchToSNI = tlsItem.matchToSNI || 'none';

+            const path = util.mcpPath(tenantId, appId, itemName);
             configs.push(normalize.actionableMcp(context, tlsItem, 'ltm profile client-ssl', path));
-        });
+        } else {
+            item.certificates.forEach((obj, index) => {
+                const tlsItem = Object.create(item);
+
+                let itemName;
+                if (item.namingScheme === 'certificate') {
+                    itemName = obj.certificate.split('/').pop();
+                } else {
+                    itemName = index === 0 ? itemId : `${itemId}-${index}-`;
+                }
+                const path = util.mcpPath(tenantId, appId, itemName);

+                tlsItem.certificates = [];
+                genCert(tlsItem, obj.certificate, 'SERVER');
+                genCert(tlsItem, obj.proxyCertificate, 'CA');
+
+                tlsItem['sni-default'] = index === 0;
+                tlsItem.matchToSNI = obj.matchToSNI || 'none';
+                tlsItem.mode = obj.enabled;
+
+                configs.push(normalize.actionableMcp(context, tlsItem, 'ltm profile client-ssl', path));
+            });
+        }
+
         if (item.ldapStartTLS) {
             const clientLdapProfile = {
                 activationMode: item.ldapStartTLS
diff '--color=auto' -ruN a/schema/latest/adc-schema.json b/schema/latest/adc-schema.json
--- a/schema/latest/adc-schema.json     2022-01-19 23:05:24.000000000 +0100
+++ b/schema/latest/adc-schema.json     2022-03-02 15:39:38.424597900 +0100
@@ -7889,6 +7889,12 @@
             }
           ]
         },
+        "hybrid": {
+            "title": "Hybrid Client-SSL Proflie",
+            "description": "Forces all certificates to be part of a single Client-SSL profile. Requires that all certificates are of different types (e.g. RSA, ECDSA).",
+            "type": "boolean",
+            "default": false
+        },
         "ldapStartTLS": {
           "title": "Client-LDAP Profile",
           "description": "Creates a client LDAP profile with the specified activation mode STARTTLS.",
diff '--color=auto' -ruN a/schema/latest/as3-schema.json b/schema/latest/as3-schema.json
--- a/schema/latest/as3-schema.json     2022-01-19 23:05:24.000000000 +0100
+++ b/schema/latest/as3-schema.json     2022-03-02 15:39:17.921988400 +0100
@@ -8187,6 +8187,12 @@
             }
           ]
         },
+        "hybrid": {
+            "title": "Hybrid Client-SSL Proflie",
+            "description": "Forces all certificates to be part of a single Client-SSL profile. Requires that all certificates are of different types (e.g. RSA, ECDSA).",
+            "type": "boolean",
+            "default": false
+        },
         "ldapStartTLS": {
           "title": "Client-LDAP Profile",
           "description": "Creates a client LDAP profile with the specified activation mode STARTTLS.",
diff '--color=auto' -ruN a/schema/latest/core-schema.json b/schema/latest/core-schema.json
--- a/schema/latest/core-schema.json    2022-01-19 23:05:24.000000000 +0100
+++ b/schema/latest/core-schema.json    2022-03-02 15:38:54.156155900 +0100
@@ -5394,6 +5394,12 @@
                         { "$ref": "#/definitions/Pointer_Data_Group" }
                     ]
                 },
+                "hybrid": {
+                    "title": "Hybrid Client-SSL Proflie",
+                    "description": "Forces all certificates to be part of a single Client-SSL profile. Requires that all certificates are of different types (e.g. RSA, ECDSA).",
+                    "type": "boolean",
+                    "default": false
+                },
                 "ldapStartTLS": {
                     "title": "Client-LDAP Profile",
                     "description": "Creates a client LDAP profile with the specified activation mode STARTTLS.",

Hi just want to ask if there is an update?

hi again
i saw that in f5-appsvcs-3.33.0-4.noarch the feature of adding two certificates was added. I used the  feature and did a rollout. But i found out that it doesn't work as i thought. It creates two SSL-Profiles which is a problem is my environment.
I have a cipher list like this:  so ECC certificate should be prefered
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-CBC-SHA
But with the F5 implementation of AS3 there will be a SSL-profile with only a RSA certificate attached:

When F5 uses this SSL-Profile F5 will reply with a RSA cipher and not with a ECC-cipher.
see test with curl when i fix the ciphers to ECC certificates.
curl https://example.com/ -vI --ciphers ECDHE-ECDSA-AES256-GCM-SHA384
...................

TCP_NODELAY set
Connected to services.sg103.prd.sctv.ch (ip) port 443 (#0)
ALPN, offering h2
ALPN, offering http/1.1
Cipher selection: ECDHE-ECDSA-AES256-GCM-SHA384
successfully set certificate verify locations:
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
TLSv1.3 (OUT), TLS handshake, Client hello (1):
TLSv1.3 (IN), TLS alert, handshake failure (552):
error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
Closing connection 0
curl: (35) error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure

So i want two actions from F5:

Confirm is this is really implemented
fix the implementation; best way would be to add two certificates into one SSL-Profile

If you are still looking for this feature, please reach out to us at<EMAIL_ADDRESS>in order to prioritize


Update retry-request to 3.3.1

This is to enable not needing to call setTimeout when making a followup request. See https://github.com/googleapis/nodejs-bigtable/pull/17#discussion_r156229018 for more details

Coverage remained the same at 100.0% when pulling 33795db57faae64dc10d1679798a330c227f9215 on kolodny:patch-1 into 41f370b43b54c61714d0705ddfaf4e86f9925008 on GoogleCloudPlatform:master.

Thanks, I was just doing this :)


Python: Issue 2431

Motivation and Context
This is an implementation for #2431
The echo completion service allows for easier unit testing of prompt constructions (e.g. through skill chaining), and a way to easier debug prompt construction issues.
The key motivation for writing up this echo is because the final prompt is constructed by _function delegate within SKFunction that does not record constructed prompts. Thus they are not available for introspection.
Description
The changes are minimal, the introduced classes satisfy the Base interface and simply echo back the prompt.
Contribution Checklist

[x] The code builds clean without any errors or warnings
[x] The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
[x] All unit tests pass, and I have added new tests where possible
[x] I didn't break anyone :smile:

@microsoft-github-policy-service agree

Thanks again for the PR @a-little-srdjan -- I'm going to mark it as Draft for now until we get confirmation in the issue #2431 that this is something we want to make available by default. I definitely understand the desire, I've built this myself in my projects. But we may not choose to ship this in the core kernel. cc @shawncal

hey @lemillermicrosoft of course.  To your point, I've had to do it a few times as well, so that internally we can post the prompts to OpenAI wrapper APIs, hence the idea. Nevertheless, pausing on this makes perfect sense. I was also thinking if it makes more sense to move the code under test module that way it is clearer that it is not some sort of a core functionality.
Thanks again for the write up

@moonbox3 can you see if this is something that is still needed.

Closing this PR as we are going to use pre/post hooks to support this. Thank you for your effort, @a-little-srdjan!


Remove mention of Live Share from the Codespaces docs

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/codespaces/developing-in-a-codespace/working-collaboratively-in-a-codespace
What part(s) of the article would you like to see updated?
The following article will need to be deleted -
"Working collaboratively in a codespace"
as well as the references to it:

content/codespaces/developing-in-a-codespace/index.md
content/codespaces/guides.md
content/codespaces/overview.md

Additional information
No response

Websters styles ss_1shot  photog _X_X~*

📸✖™_X hello 👋

Hi @nguyenalex836. I created a PR for this issue. It's #34507.

Removing help wanted label for now as it is unclear whether we still need a PR to resolve this issue 💛 attempting to get more info, will update once received

Closing.
See https://github.com/github/docs/pull/34507#issuecomment-2333445582


[Event Request] Codeunit 22 Item Jnl.-Post Line - function CheckItemTracking

Dear,
I request for below Integration

Definition of Integration as below

thanks & regards
Ashwini Tripathi

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Overview

Hi,
is it possible somewhere to find an overview of how to work with geographical data in Julia, and what functionality is implemented? Thanks a bunch!

Cross ref https://discourse.julialang.org/t/overview-of-geo-tools/1844

That's right, I realized that the julia-geo mailing list had migrated to discourse, posted it there instead, then came here to delete the issue because I thought the discourse post was more appropriate. When I couldn't delete it I just closed the issue. Thanks for adding the x-ref.

No worries, thanks for posting on discourse. I'll add a response later if no one beats me to it.
Not sure how others see the function of this meta repo exactly, but I suppose it is more geared to the JuliaGeo github org, whilst https://discourse.julialang.org/c/domain/geo is for broader discussion.


Allow selection of which errors to log in the attribute declaration

It'd be nice if we could optionally log 400 and 404s. I understand the reasoning in #13, but everyone's use case is different.
What about [ElmahHandleErrorApi(LoggedErrors="400,500-999")] or similar?

Hi @voltagex, did you ever end up solving this? I was thinking something along the lines of:
[ElmahHandleErrorApi(Include.AllExcept, 404, 403, 401)]

[ElmahHandleErrorApi(Include.AllExcept, HttpErrorCodeRange.5xx, HttpErrorCodeRange.4xx)]

[ElmahHandleErrorApi(Include.Only, HttpErrorCodeRange.5xx)]

Or multiple attributes working together:
[ElmahHandleErrorApi, Include(HttpErrorCodeRange.5xx), Exclude(500)]

I also ran into this today too. I would like to see 400 errors. For example, when there is a bad request a 400 error is returned. In my case these requests are coming from an Angluar app, which doesn't log error responses. So if I get a support ticket that the user got "some weird error", I could at least go and see this in Elmah and determine if there is a bug in the UI code.


cadre: init at 1.0.4

Motivation for this change
Adding cadre because I want to use it for Ruby development under NixOS
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build cadre

@joachifm so... good to go?


Fix issue with DiscordClient.SocketClosed in combination with DiscordClient.Connect

Naamloos#2887 @ Naamloos' chat (Channel: spam) reported:
Fix issue with DiscordClient.SocketClosed in combination with DiscordClient.Connect to reconnect.
Example: http://prntscr.com/d0xxsq

Legacy - Obsolete


Hover for completions in the interactive window don't follow when the window resizes

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.63.0-insiders
OS Version: macOS Monterey

Steps to Reproduce:

In the input box of the interactive window type something like import sys and sys. to bring up the completion hover
Then shrink down the size of the interactive window, the hover will not move with it

.

What was the fix here? I seem to just be no longer to adjust the interactive window height but it could also be because my interactive window is still not fully working.

@eleanorjboyd the interactive window height can be adjusted by open and hide the panel.
Verifier: please test that when open/hide the panel through keybindings, the suggest widget is dismissed.

This mostly works, except for this issue when I show the hover using the keyboard

I'll still call it verified, this is an unusual case, @rebornix lmk if I should open an issue for this.


Fancy Zones "Override Windows snap" works just opposite to intuition

Love the feature, one simple issue/fix, though:

…"Override Windows snap shortcut" is on
…Just two zones are defined - left and right halves of screen

✔ Expected result
Pressing Win+Left snaps a window to the LEFT zone
Pressing Win+Right snaps a window to the RIGHT zone
❌ Actual result`
Actually does the opposite (probably based on zone index)

In 0.21, Win + arrows will offer this functionality https://github.com/microsoft/PowerToys/issues/2303


top position behaviour different in firefox vs non suported browsers

I want the sticky to be offset from the top of browser by 20 px, so I do top: 20px, this works fine in firefox but in chrome for example sticky is also offset inside it's parent, so it does not line up with siblings correctly, when scrolling down the sticky reaches the top and it's correctly offset 20px but the problem is initial state before scrolling is different then behaviour in firefox.
Is this a bug or do I need to initialize it differently?

I've a similar problem, I'm using position: sticky and is everything a paradise on Chrome.
Site structure...
____________________________________
|          My Fixed Header         | height: 110px
|----------------------------------|
|          My Sticked Element      | is inside site-body and must stay on top
|----------------------------------|
|          My Site Body            | others elements on site-body
|                                  |
|__________________________________|

The problem is Internet Explorer, The Sticked Element are staying over the header. How can I pass a position for Stickyfill? Something like:
Stickyfill.add(element, {top: '110px'});

Sorry for the late reply, I didn’t have much time to work on my personal projects lately.
@iwebnaut my guess is that you have position: relative set to one of the ancestors of your sticky element. If this issue is still relevant, please provide a live reproduction (link to the site/codepen/jsfiddle).
@KaduAmaral I need a live reproduction of this to help you.


k8s_test.go tries to defer It() blocks and assumes test ordering

Code reading k8s_test.go, it's trying to do things like deferring It() calls, which makes no sense given ginkgo's approach to collecting specs.
The correct way to run teardown code is in an AfterEach or AfterSuite block.
Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

libcalico-go version:
Operating System and version:
Link to your project (optional):

@fasaxc what is the impact of this? Could it result in flaky tests?
Could you assign a priority to this issue?

Depends how we run ginkgo.  If ginkgo is configured to randomise the order of these specs then the deferred It() may run out-of-order.  If not, then the test will do what the developer expected (run the tear down test last), but for the wrong reason.

I'd put it at a P2: it's wrong and it could cause confusing hard to understand failures later but it's not causing any immediate harm.

@doublek you wrote these tests, would you be able to fix them up at some point?


Add search bar to top right of app when there is sufficient UI space

To search, the user currently has to open the hamburger menu/click search on the left to navigate to a whole page dedicated to searching.
It would be nice to add a search box to the top right of the window where there is sufficient UI space, and show search result candidates as a suggestion box.  If they hit enter, move to the full search result page.
The sort of design/behavior I am talking about is what the Store app does.

Not a big fan. My main usage is not to search for new podcasts.
I would prefer move the search in the hamburger (like groove) and use it to search inside my library (or both??)

Could have the auto suggest box prioritize podcasts in your library, and if there are no results, either surface online results, or have a single entry saying "we couldn't find that in your library, search for new podcasts", and have that open up the main search page?

Love it

@o0rebelious0o are you doing a PR on this?

Up?


Auto photo credits on image pulled from CSS attributes on images

Similar to https://github.com/4site-interactive-studios/engrid/issues/198 but the goal is to provide photo credits on top of the image.
Idea: Allow CSS attributes on photos. On page load, these can then be read with JS and then added in a way that overlays the image.
e.g. <img data-image-attribution-overlay="© John Doe" data-image-attribution-overlay-position="bottom right" src="...." />

data-image-attribution-overlay - The text to overlay on the image
data-image-attribution-overlay-position - The location of the overlay on top of the image (see background-position)

Allow for all background-position values

left top
left center
left bottom
right top
right center
right bottom
center top
center center
center bottom
x% y%
xpos ypos

These position options might need to be refined given that the output will not be a background image but on a DOM object overlaid over the image.

Merged into #198


chore: go-demo-6 to 1.0.372

chore: Promote go-demo-6 to version 1.0.372

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


POST /transactions response extras field inconsistent

extras field is not consistent/possible for all POST /transactions responses. It makes it difficult to deserialize response in static typed languages.
Desired response for success:
{
  "_links": {
    "transaction": {
      "href": "https://horizon-testnet.stellar.org/transaction/4a16460475232245d87668a4cad0d138e307751f9cd60dde2397cad906e2d895"
    }
  },
  "hash": "4a16460475232245d87668a4cad0d138e307751f9cd60dde2397cad906e2d895",
  "ledger": 1303790,
  "extras": {
    "envelope_xdr": "AAAAAIyonCip/4Rbc4iC5/6/DIsQuFOzuHlwCH0OjQ8fqaiMAAAAZAAT38MAAAAFAAAAAAAAAAEAAAAWdGVzdCBhY2NvdW50IGZvciBNaWZvcwAAAAAAAQAAAAEAAAAAjKicKKn/hFtziILn/r8MixC4U7O4eXAIfQ6NDx+pqIwAAAAAAAAAANX/d4TJeTOjZlQ+w08cdTqBQkFJWEOZox1nFa4aAAv8AAAAAAvrwgAAAAAAAAAAAR+pqIwAAABAkCqOe0wnUSsmLfjXl2FjObCGf30OQ/5fLMyODEku+MwP+9E7yk+RN3b/MFN61XIrJ6OThzxqUKkiH2fl0jxUAg==",
    "result_xdr": "AAAAAAAAAGQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA=",
    "result_meta_xdr": "AAAAAAAAAAEAAAACAAAAAAAT5O4AAAAAAAAAANX/d4TJeTOjZlQ+w08cdTqBQkFJWEOZox1nFa4aAAv8AAAAAAvrwgAAE+TuAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAT5O4AAAAAAAAAAIyonCip/4Rbc4iC5/6/DIsQuFOzuHlwCH0OjQ8fqaiMAAAAFzCfYgwAE9/DAAAABQAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA"
  }
}

I think adding status field would be helpful too.

Current success response:
{
  "_links": {
    "transaction": {
      "href": "https://horizon-testnet.stellar.org/transaction/4a16460475232245d87668a4cad0d138e307751f9cd60dde2397cad906e2d895"
    }
  },
  "hash": "4a16460475232245d87668a4cad0d138e307751f9cd60dde2397cad906e2d895",
  "ledger": 1303790,
  "envelope_xdr": "AAAAAIyonCip/4Rbc4iC5/6/DIsQuFOzuHlwCH0OjQ8fqaiMAAAAZAAT38MAAAAFAAAAAAAAAAEAAAAWdGVzdCBhY2NvdW50IGZvciBNaWZvcwAAAAAAAQAAAAEAAAAAjKicKKn/hFtziILn/r8MixC4U7O4eXAIfQ6NDx+pqIwAAAAAAAAAANX/d4TJeTOjZlQ+w08cdTqBQkFJWEOZox1nFa4aAAv8AAAAAAvrwgAAAAAAAAAAAR+pqIwAAABAkCqOe0wnUSsmLfjXl2FjObCGf30OQ/5fLMyODEku+MwP+9E7yk+RN3b/MFN61XIrJ6OThzxqUKkiH2fl0jxUAg==",
  "result_xdr": "AAAAAAAAAGQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA=",
  "result_meta_xdr": "AAAAAAAAAAEAAAACAAAAAAAT5O4AAAAAAAAAANX/d4TJeTOjZlQ+w08cdTqBQkFJWEOZox1nFa4aAAv8AAAAAAvrwgAAE+TuAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAT5O4AAAAAAAAAAIyonCip/4Rbc4iC5/6/DIsQuFOzuHlwCH0OjQ8fqaiMAAAAFzCfYgwAE9/DAAAABQAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA"
}

Current failure response:
{
  "type": "https://stellar.org/horizon-errors/transaction_failed",
  "title": "Transaction Failed",
  "status": 400,
  "detail": "The transaction failed when submitted to the stellar network. The `extras.result_codes` field on this response contains further details.  Descriptions of each code can be found at: https://www.stellar.org/developers/learn/concepts/list-of-operations.html",
  "instance": "horizon-testnet-001.prd.stellar001.internal.stellar-ops.com/70Gr0Hs0dw-075866",
  "extras": {
    "envelope_xdr": "AAAAAIyonCip/4Rbc4iC5/6/DIsQuFOzuHlwCH0OjQ8fqaiMAAAAZAAT38MAAAAHAAAAAAAAAAEAAAAWdGVzdCBhY2NvdW50IGZvciBNaWZvcwAAAAAAAQAAAAEAAAAAjKicKKn/hFtziILn/r8MixC4U7O4eXAIfQ6NDx+pqIwAAAAAAAAAAMbyMPLD8paRfdTrc3mYx5wN+0BTHSxMKMqGIi0+e2HoAAAAAAvrwgAAAAAAAAAAAR+pqIwAAABAOXesHeFUzU2pVhihs97L1YabbU/e2s1TPzuNqSwIENLHyCr1nCBE67Q4KdbWqNBTVXKI1RTh2BTbY/ntYY3qDw==",
    "result_codes": {
      "transaction": "tx_failed",
      "operations": [
        "op_already_exists"
      ]
    },
    "result_xdr": "AAAAAAAAAGT/////AAAAAQAAAAAAAAAA/////AAAAAA="
  }
}

Success and failure are two distinct response types.  This decision is made intentionally to clearly segregate success and failure responses.  Clients should be checking the HTTP status code to determine what type to deserialize the json into.
Horizon uses the normal means of indicating success/failure for an http response, namely: Any response with a code where 200 <= code < 300 should be considered a success, and any code where 400 <= code < 600 should be considered a failure.
I'm going to close this issue.  Feel free to re-open it with some additional justification.

Also note:  the failure response is the same across the API, regardless of endpoint.  See https://www.stellar.org/developers/horizon/learn/errors.html


change database in editor doesn't refresh tables in the left pane

Issue Type: Bug
When I change the database it doesn't refresh the tables/db objects in the left pane.
SQL Operations Studio version: sqlops 0.30.6 (df7e3ec7d52a82febee5b597a1019cabf021b883, 2018-06-19T21:34:32.192Z)
OS version: Darwin x64 17.6.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-4288U CPU @ 2.60GHz (4 x 2600)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledvpx_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 3

Memory (System)
8.00GB (0.39GB free)

Process Argv
/Applications/SQL Operations Studio.app/Contents/MacOS/Electron -psn_0_6358544

Screen Reader
no

VM
0%

Extensions: none

@idisciple this is currently by design. Object Explorer browsing is independent from any & all editor / dashboard windows. Could you explain what your desired scenario is - what do you want to happen? We could turn this into a feature request if we understand specifically what you want to do


mysqld don't exist

mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.

2017-08-04T23:31:36.417787Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.

2017-09-11T19:58:47.965407Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.


Handle CertificateAuthenticator through SPI

Related to issue #2117 to some extent
Allows customization of the "CERTIFICATE" authentication method by registering plugins (similar to PasswordAuthenticator)
This can be useful in many cases, when some additional security checks must be done using the certificate's data (serial number, subject alternative names, etc.) besides only obtaining the principal
One specific use case that I'm looking at is service mesh native integration (e.g. Consul Connect), where once mutual TLS is established at a JKS level, the serial number & spiffeId must be obtained and vaildated for authorization by means of an API call to a service agent

@electrum this should be ready for review now, squashed everything into 1 commit, had some trouble when rebasing but it has been fixed now.

reopen

dffdf

commenting to reopen

commenting to reopen

@electrum had some trouble when rebasing and squashing, seems to have messed up the PR, so I
created another one with the clean code which is all set & ready for further review: https://github.com/prestosql/presto/pull/2959
BTW, all observations have been already addressed.


Hidden component: React has detected a change in the order of Hooks called by WithWidth(HiddenJs)

React has detected a change in the order of Hooks called by WithWidth(HiddenJs). This will lead to bugs and errors if not fixed. For more information, read the Rules of Hooks: https://fb.me/rules-of-hooks
   Previous render            Next render
   ------------------------------------------------------
1. useContext                 useContext
2. useState                   useState
3. useLayoutEffect            useLayoutEffect
4. useContext                 useContext
5. useState                   useState
6. useEffect                  useEffect
7. useContext                 useContext
8. useState                   useState
9. useEffect                  useEffect
10. useContext                useContext
11. useState                  useState
12. useEffect                 useEffect
13. useContext                useContext
14. useState                  useState
15. useEffect                 useEffect
16. useContext                useContext
17. useState                  useState
18. useEffect                 useEffect
19. undefined                 useContext
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

in WithWidth(HiddenJs) (created by Hidden)
in Hidden (created by Tags)
in Tags (created by Candidates)
in tr (created by ForwardRef(TableRow))
in ForwardRef(TableRow) (created by WithStyles(ForwardRef(TableRow)))
in WithStyles(ForwardRef(TableRow)) (created by TableBase)
in tbody (created by ForwardRef(TableBody))
in ForwardRef(TableBody) (created by WithStyles(ForwardRef(TableBody)))
in WithStyles(ForwardRef(TableBody)) (created by TableBase)
in table (created by ForwardRef(Table))
in ForwardRef(Table) (created by WithStyles(ForwardRef(Table)))
in WithStyles(ForwardRef(Table)) (created by TableBase)
in div (created by TableBase)
in div (created by TableBase)
in div (created by TableBase)
in TableBase (created by ConnectFunction)
in ConnectFunction (created by Context.Consumer)
in withRouter(Connect(TableBase)) (created by WithTheme(withRouter(Connect(TableBase))))
in WithTheme(withRouter(Connect(TableBase))) (created by WithWidth(WithTheme(withRouter(Connect(TableBase)))))
in WithWidth(WithTheme(withRouter(Connect(TableBase)))) (created by WithStyles(WithWidth(WithTheme(withRouter(Connect(TableBase))))))
in WithStyles(WithWidth(WithTheme(withRouter(Connect(TableBase))))) (created by _class)
in _class (created by Context.Consumer)
in injectIntl(_class) (created by Candidates)
in Candidates (created by ConnectFunction)
in ConnectFunction (created by Context.Consumer)
in withRouter(Connect(Candidates)) (created by WithStyles(withRouter(Connect(Candidates))))
in WithStyles(withRouter(Connect(Candidates))) (created by WithTheme(WithStyles(withRouter(Connect(Candidates)))))
in WithTheme(WithStyles(withRouter(Connect(Candidates)))) (created by _class)
in _class (created by Context.Consumer)
in injectIntl(_class) (created by Context.Consumer)
in Route (created by RootRouter)
in Switch (created by RootRouter)
in RootRouter (created by Root)
in div (created by Root)
in div (created by Root)
in div (created by Root)
in Root (created by WithTheme(Root))
in WithTheme(Root) (created by WithStyles(WithTheme(Root)))
in WithStyles(WithTheme(Root)) (created by ConnectFunction)
in ConnectFunction (created by Context.Consumer)
in Route (created by PrivateRoute)
in PrivateRoute (created by ConnectFunction)
in ConnectFunction (created by AppRouter)
in Switch (created by AppRouter)
in div (created by AppRouter)
in Router (created by AppRouter)
in AppRouter (created by ConnectFunction)
in ConnectFunction (created by WithStyles(undefined))
in WithStyles(undefined) (created by Context.Consumer)
in injectIntl(WithStyles(undefined)) (created by IntlApp)
in IntlApp (created by ConnectFunction)
in ConnectFunction (created by Context.Consumer)
in injectIntl(Connect(IntlApp)) (created by ThemableApp)
in ThemeProvider (created by ThemableApp)
in IntlProvider (created by IntlProvider)
in IntlProvider (created by ConnectFunction)
in ConnectFunction (created by ThemableApp)
in ThemableApp (created by ConnectFunction)
in ConnectFunction (created by WithTheme(undefined))
in WithTheme(undefined) (created by App)
in Provider (created by App)
in MuiPickersUtilsProvider (created by App)
in ErrorBoundary (created by App)
in App

Please provide a full reproduction test case. This would help a lot 👷 .
A live example would be perfect. This codesandbox.io template may be a good starting point. Thank you!

I examined the source code and in the WithWidth function a hook called within a loop. I think in a way that will cause my problem (I can't reproduce it, it sometimes appear).
Why do you suppress he hook warning (at line 56 of withWidth.js)?
See: https://reactjs.org/docs/hooks-rules.html

This happens for example as the theme is changed.

We are seeing something similar in our web application, but instead of a different order, React complains that more hooks were rendered than during the previous render.
This issue has started to happen on a somewhat small scale two days ago. I haven't been able to find any changes in the MUI source code that could cause this, and we are not able to reproduce it on our machines. It does come from MUI's withWidth, according to the stack traces we've seen so far.
It mostly seems to trigger when a user navigates away. On some navigations, we change the theme, but not on all. This issue has also occurred when a user started a navigation that did not change the theme, so my guess is that it occurs whenever there's a lot of rendering going on.
Right now, my guess is that this is a browser issue. All of the events we've seen of this so far have occurred in Chrome (which might be a bias due to our user base). However, this bug's appearance coincides very nicely with the release of Chrome 80, so I feel that there's a regression in there causing this.
Really not sure how to go about this.

The way we implement withWidth is with the assumption that the number of breakpoints doesn't change. If they change then the number of hook calls.
IMO this HOC should not use hooks at all and be reverted to the previous version following the principle of least surprise.

That would probably work. The weird thing about this issue though is that we're not changing the number of breakpoints in our theme; we only update some colors.  While I agree with your opinion that this code should not be using hooks, it also should not be throwing errors here as the number of breakpoints remains unchanged (in our case at least).

@eps1lon Regarding the breakpoint issue, reverting is one option, I think that we could also consider
2. warning against dynamic change of breakpoints (least surprise & explicit no support)
3. removing the Hidden component (CSS version to be replaced with the system, JS version to be replaced with a component version of useMediaQuery).

I think using using media queries for this is misguided. Did we try it with a simple resize listener?

@eps1lon I don't remember trying with a resize listener, we should probably consider the tradeoff.
I think that the main pros of using media queries for this is that idea to rely on a single "infrastructure". I mean, if we consider tests and server-side rendering. These two need to be configured to play, more or less, nicely with the idea to JS conditionally render based on the size of the screen.
From what I remember, the initial hook version hadn't a limitation with dynamic breakpoints. It was dropped in https://github.com/mui-org/material-ui/pull/16343/files#diff-33a03947dab1f076cc15415d619e4987L55, in exchange for a simpler useMediaQuery logic. I think that we did the right move, and that we could explicitly not support dynamic breakpoint values in the theme. "You set it once, and you stick to it", this sounds to me like an approach we could recommend.
Maybe this issue is another of (same type) #16580? 🤔 But without a reproduction, it's impossible to tell.

I think that the main pros of using media queries for this is that idea to rely on a single "infrastructure". I mean, if we consider tests and server-side rendering.

Excellent point. It seems like there isn't a perfect solution for this. For now I'd say we add a helpful warning if we know that the number of calls changes.
I wouldn't be surprised if hot-reloading or react-fresh have issues with the loop call though.

We encountered the same error Rendered more hooks than during the previous render.

Any workaround for this? It's happening a lot in my production now

It's hard to reproduce, but I'm pretty sure hooks aren't supposed to be used like that in a non-react function.
https://medium.com/@jonchurch/how-to-fix-react-error-rendered-fewer-hooks-than-expected-e6a378985d3c

Any workaround for this? It's happening a lot in my production app now

No, we could not reproduce this case.
We will try to reproduce this error by modifying the file withWidth.js.
I will write here if we find out the reason

Because our system is going in production as well, I had to rewrite the useWidth function. Also I had update the Hidden component and the withMobileDialog because they have a dependency on this function.
I did this a few days ago and since then I don't have the error anymore.

It's happening because hooks (useState and useEffect) are being called from a function that's not rendered as a react component.

https://reactjs.org/docs/error-decoder.html/?invariant=310
"Rendered more hooks than during the previous render."
https://github.com/mui-org/material-ui/blob/master/packages/material-ui/src/useMediaQuery/useMediaQuery.js#L44

hashwin Whether a function is rendered as a React component or not does not matter too much; you can write your own hook that uses useState (or other hooks) and it'll work just fine, even though it isn't rendered directly by React. Although the usage of a hook in reduce is debatable, it really should work fine if you don't change the number of breakpoints.

Over the past few days, we've seen this error pop up more and more in our error logging tools. All cases have occurred in Chrome 80, and our first case coincides with its release. The release notes state that some 'higher-order functions were optimized' and I still have suspicions that this may have something to do with this issue.

https://www.reddit.com/r/webdev/comments/f26mbn/chrome_80_introduces_a_new_bug/

Oh wow, a broken .reduce method in Chrome 80 would explain the errors 😮.

https://www.reddit.com/r/webdev/comments/f26mbn/chrome_80_introduces_a_new_bug/

Thanks a lot!

Since this was fixed in chrome (though unreleased) I'm closing.
We do have leverage detecting an order change if the breakpoints length changed but this was not the cause here.

This worked for me:
Source: StackOverflow
makeStyles returns a hook which you are passing to withStyles. This is what throws you that error. You should just pass on the styles to withStyles instead without the use of makeStyles
const styles = (theme) => createStyles({...});

...

export default withStyles(styles)(CreateCategory);

Has this been fixed since? I've run into this issue a few hours ago.


Make the Maven Repository Server Plugin thread save

Using this Plugin concurrent, results in wrong values in the
maven-metadata.xml
followed by checksum errors
followed by try to download inexisting artifacts
Added test for MetadataRepositoryItem
Fixed use of SimpleDateFormat

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests


fix: proper implementation of the force select method

Description

Fixes: An incomplete implementation of the Force Select method.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Run the runtime unit test

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


New metadata implementation of "Coverage" need to include Projection and Unit as sub-elements

Currently, core science metadata implementation of "Coverage" does not include Projection and Unit as sub elements, and they need to be included as sub-elements of spatial coverage. Pabitra said it will be an easy fix and asked me to file a bug on this issue.

Verified the fix and closing the issue.


Issue #2140: Note that only modelines control syntax highlighting.

A docs update to clarify that .gitattributes is only for language stats. See #2140 for the discussion.

Sorry about this @deviantintegral - we definitely used to say this (quoting from here):

Please note that the overrides currently only affect the language statistics for a repository and not the syntax-highlighting of files.

I think this most have got lost in the re-shuffle of our README and contributing guidelines.


[mesheryctl] Bash script: Improve UX when invalid platform is given

See mesheryctl Command Tracker for current status of commands.
Current Behavior
Invalid platforms passed to Meshery's bash script installer are not handled as well as they could be:
➜  ~ curl -L https://git.io/meshery | PLATFORM=bob bash -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
100  6661  100  6661    0     0   3188      0  0:00:02  0:00:02 --:--:--  168k
Invalid platform: bob

This does not provide useful information to the user.
Desired Behavior
The user should be notified that the platform entered is invalid and should be prompted to enter a new value for the platform parameter from the available platforms (docker or kubernetes). This behavior should mimic the UX when no platform is entered.
➜  ~ curl -L https://git.io/meshery | bash -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
100  6661  100  6661    0     0   3331      0  0:00:01  0:00:01 --:--:--  3331
Enter a platform to deploy Meshery. Available platforms [docker, kubernetes]:

Contributor Resources

⌨ mesheryctl Contributing Guide
Beginner's guide to contributing to Meshery and mesheryctl
mesheryctl Command Tracker
Meshery CLI Commands and Documentation
🙋🏾🙋🏼 Questions: Layer5 Discussion Forum and Layer5 Community Slack

@cpepper96 fyi

@leecalcote Can I try this issue?

@leecalcote I can take this up

@cpepper96 excellent.


Reorganize logging jars [was: experimental: spark with delta]

Description
Part of https://github.com/stackabletech/spark-k8s-operator/issues/354
Definition of Done Checklist

Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
Please make sure all these things are done and tick the boxes

- [ ] Changes are OpenShift compatible
- [ ] All added packages (via microdnf or otherwise) have a comment on why they are added
- [ ] Things not downloaded from Red Hat repositories should be mirrored in the Stackable repository and downloaded from there
- [ ] All packages should have (if available) signatures/hashes verified
- [ ] Does your change affect an SBOM? Make sure to update all SBOMs

Thank you very much for your help with this image, I confirm that it works perfectly.
In my case, in my proof of concept I needed to adjust the configurations so Spark is able to write to S3, however because by default it recognizes that the file system does not support mutual exclusion, plus certain limitations with concurrent writes, I had to explicitly add a couple of settings to the LogStore and the implementation type, this made me no longer throw any errors as before.

I admit that it took me some work to find the solution as this is not explained in the Delta Lake documentation anywhere, at least not in a clear and direct way for me.

So I attach the final yaml file that I used which includes the small adjustments to make it work.... as you can see I am using the reference connection to that points to a S3Bucket resource, and this works great.
For the rest, just a comment, if you plan to leave a version that is compatible with delta lake officially, I think it may make sense to install by default PIP dependencies especially for those who want to work with pyspark but for Scalar I think it would work out of the box.
Thanks again!
apiVersion: spark.stackable.tech/v1alpha1
kind: SparkApplication
metadata:
  name: spark-delta-test-3
  namespace: infrastructure
spec:
  version: "1.0"
  sparkImage:
    custom: docker.stackable.tech/sandbox/spark-k8s:3.5.0-stackable0.0.0-delta3.1.0
    productVersion: "3.5.0"
  mode: cluster
  mainApplicationFile: local:///stackable/spark/jobs/spark_test.py
  s3connection:
    reference: spark-s3-bucket
  deps:
    requirements:
    - importlib-metadata
    - delta-spark==3.1.0
  sparkConf:
    spark.hadoop.fs.s3a.aws.credentials.provider: org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider
  logFileDirectory:
    s3:
      prefix: sparklogs/
      bucket:
        reference: spark-s3-bucket
  driver:
    config:
      volumeMounts:
      - mountPath: /stackable/spark/jobs
        name: script
  executor:
    replicas: 1
    config:
      volumeMounts:
      - mountPath: /stackable/spark/jobs
        name: script
  volumes:
  - name: script
    configMap:
      name: spark-delta-test-script
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: spark-delta-test-script
  namespace: infrastructure
data:
  spark_test.py: |
    from datetime import datetime, date
    from pyspark.sql import Row, SparkSession
    from delta import *

    def main():
        builder = SparkSession.builder.appName("MyApp") \
            .config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension") \
            .config("spark.sql.catalog.spark_catalog", "org.apache.spark.sql.delta.catalog.DeltaCatalog") \
            .config("spark.hadoop.fs.s3a.impl", "org.apache.hadoop.fs.s3a.S3AFileSystem") \
            .config("spark.delta.logStore.class", "org.apache.spark.sql.delta.storage.S3SingleDriverLogStore") \
            .config("spark.hadoop.delta.enableFastS3AListFrom", "true")

        spark = configure_spark_with_delta_pip(builder).getOrCreate()

        df = spark.createDataFrame([
            Row(a=1, b=2., c='string1', d=date(2000, 1, 1), e=datetime(2000, 1, 1, 12, 0)),
            Row(a=2, b=3., c='string2', d=date(2000, 2, 1), e=datetime(2000, 1, 2, 12, 0)),
            Row(a=4, b=5., c='string3', d=date(2000, 3, 1), e=datetime(2000, 1, 3, 12, 0))
        ])

        location = "s3a://lab-dataplatform-heidelberg-production/lab/spark-delta-test"

        df.write.format("delta").mode("overwrite").save(location)

    if __name__ == "__main__":
        main()

For a deeper analysis of the root cause see the  followup issue: https://github.com/stackabletech/spark-k8s-operator/issues/354

Closing as an operator bugfix makes it unnecessary.


[ObjectBox] sent messages sometimes appear in wrong order

sometime when sending a message, the message will appear above the recent messages sent from the recipient, so the outgoing messages are in order relative to each other, but the entire group is above the group of recent messages from the recipient)
When backing out and reopening the chat, everything fixes itself so it seems to store in the database correctly

Issue created by BlueBubbles Bot in the BlueBubbles commnity on behalf of @icanflyit in #support.

Could #635 be related?

cannot reproduce this, considering this fixed


gradle-completion: modernize, add update script

Format with nixfmt-rfc-style
Use various best practices
Add update script

This is preparation for the proposed Java team adopting the package in https://github.com/NixOS/nixpkgs/pull/352938.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Rebased onto master and dropped the by-name migration commit, since that was done automatically.

@ofborg build gradle-completion


Add usability to status page

This adds functionality to automatically update the jobs status page in
real time. It does this by adding a new ActionCable channel to monitor
scrape objects, as well as moving everything over to Stimulus styling.
This adds a few new routes to add Turbo functionality to make everything
click together. It also adds basic pagination.
To test:

Start server using ./bin/dev
Start up Redis and Sidekiq
Go to job status page
Open new tab in app and archive a url using the manual process
Go back to the status page and you should see a new "pill" appear
showing new number of scrapes
click on the pill, the table should reload
Click next and previous to scroll through pages

Closes https://github.com/TechAndCheck/zenodotus/issues/288

Update: Maybe the Active Jobs table just never works? Can't tell… when archiving URLs, the pill appears but the number never increments, the pill always says "NaN", and clicking it always throws the jobs is null JS error.

Arg... yes, I should never have put this up for review apparently. That's my bad. I'll get this fixed up this morning/afternoon and back in for review.

It's great that we have this functionality coming! I did run into a few bugs:

Active Jobs' "Next Page" link is always active, even when there are no jobs.

This is fixed now

The pill button for Active Jobs says "NaN new jobs submitted…" instead of the actual number. Active Scrapes seems correct.

This is also now fixed up

The "Queued Jobs#:" and "Jobs Submitted #:" don't seem to update as new jobs/scrapes come in. (Also I think you can ditch the #.) You have to refresh the page to get an accurate number.

This is coming

Clicking the pill button to refresh the table has the consequence of erroring out if, between generating the pill and clicking it, the number of jobs or scrapes zeroes out. E.g., I saw the "new jobs submitted" pill, clicked it, and then got a JS error on click->jobs-status#reloadJobs complaining that TypeError: jobs is null. I think that clicking the pill to reload the tables isn't an ideal UI anyway, I feel like the table should just update automatically. I recognize that may be hard to square with pagination, but… I think we'd rather have an over-long table (no pagination) that auto-updated than this UX.

this should be fixed, since the pill will not appear if the difference in jobs is 0 or less

I haven't done a code review yet because I wanted to check UX first. Let me know if you want to tag me in on any of this!

@reefdog this should address all your concerns (jobs count may still be wonky, but since 90% of the code is duplicated between jobs and scrapes, let's test this out first if that's cool).

@cguess Looks like some issues have been fixed, but these remain:
Jobs table:

"Queued Jobs" count now reads undefined when it changes (rather than just staying 0)
"NaN" in the jobs pill remains
Clicking the jobs pill still throws the same JS error

Scrapes table:

Mostly it works! The pill shows up and increments, and the "Jobs Submitted" increments.
However, clicking either of the individual scrape actions (Delete or Resubmit) causes the table to blank out.

@cguess Whoops, I missed your comment about job count being broken for a bit. Apologies! The job count thing, then, would be fixing that job pill clicking, since I don't think that's job count related?

Good call, thanks for the quick update.

However, clicking either of the individual scrape actions (Delete or Resubmit) causes the table to blank out.

@reefdog this is now fixed in the newest commit. Feel free to try again!

Okay, that works! The only thing I'm seeing remaining is that, for some reason, the "Jobs Submitted" under Active Scarpes — despite the name, this is the scrapesCount — doesn't decrement as you delete scrapes. It does automatically increment as you archive new ones from another tab, though.

Ah damn, good call. Fix incoming
On Tue, Aug 9, 2022 at 13:05 Justin Reese @.***> wrote:

Okay, that works! The only thing I'm seeing remaining is that, for some
reason, the "Jobs Submitted" under Active Scarpes — despite the name, this
is the scrapesCount — doesn't decrement as you delete scrapes. It does
automatically increment as you archive new ones from another tab, though.
—
Reply to this email directly, view it on GitHub
https://github.com/TechAndCheck/zenodotus/pull/291#issuecomment-1209705420,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACOYQXAFRHZ2CNJE54YCT3VYKMVHANCNFSM55UDKB6Q
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
-Christopher Guess
@.***
US/WhatsApp/Signal: +1<PHONE_NUMBER>
PGP: AAE7 5171 0D82 B45B

@cguess Okay, woo, this works! If you can go ahead and apply the Scrapes functionality fixes to the Jobs section (and up the page count to the real amount, I think we'll be ready for one last review!

@reefdog OK, final review time. as discussed active jobs are removed and the number is now at 10 per page.


rerender after jaraco.text upload

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I've rerendered the recipe as requested, but nothing actually changed.

@conda-forge-admin, please restart ci


Add instrumentation and logging to GCS sink.

Acceptance criteria:

Analysis of metrics for GCS sink.
Implementation.
Tracing.

Metrics:

record_write_count , tags : filename(partition+uuid)
file_open_total
file_closed_total, tags: success(true/false)
file_closing_time_milliseconds
file_size_bytes_total
file_upload_total , tags: success(true/false)
file_upload_time_milliseconds
file_upload_bytes

Discussion:
1. Distribution of the file size.
2. upload time.
3. success/failures of upload.
4. how many open files are there
5. time taken to close parquet files.
6. messages read/messages per parquet file.
7. No of Error messages or dlqed.
8. Think about completeness/freshness/deduplication.

added metrics:

record_write_count
tags : filename(partition+uuid)
file_open_total
file_closed_total
tags: success(true/false)
file_closing_time_milliseconds
file_size_bytes_total
file_upload_total
tags: success(true/false)
file_upload_time_milliseconds
file_upload_bytes

For file_upload_total, do we want to add error type as tag?

filename as tag shouldn't be there, as that won't be useful, imo we shouldn't choose something as a tag which is unique as time proceeds

Remove file-name from tag.
validate topics in the path.
validate key for the writermap.
metric for local file storage failure.
add topic as tags.
error type as tags.


Logic for handling git dependencies

Reopened to trigger Circle CI checks

Closing because private dependencies means you can't do publicly verifyable builds


Example using vuex modules

I've used Vuex before but never in this module sense. I am purely trying to use the vuex Counter that this package ships with. I've tried the following to no resolve any help would be nice.
/src/renderer/store/modules/Counter.js
const state = {
  main: 0
}

const mutations = {
  DECREMENT_MAIN_COUNTER (state) {
    state.main--
  },
  INCREMENT_MAIN_COUNTER (state) {
    state.main++
  }
}

const actions = {
  someAsyncTask ({ commit }) {
    // do something async
    commit('INCREMENT_MAIN_COUNTER')
  }
}

export default {
  state,
  mutations,
  actions
}

/src/renderer/views/Welcome.vue
<template lang="pug">
  button(@click="test")
</template>

<script>
export default {
  name: 'Welcome',
  data () {
    return {

    }
  },
  methods: {
    test () {
      // what I expect to work
      this.$store.dispatch('someAsyncTask')
      // what I expected with "modules"
      this.$store.dispatch('Counter.someAsyncTask')
      // another attempt
      this.$store.Counter.dispatch('someAsyncTask')
    }
  }
}
</script>

import { createNamespacedHelpers } from 'vuex'

[vuex] module namespace not found in mapActions(): Counter

[vuex] module namespace not found in mapActions(): Address

<template>
    <div class="b-view">
         ...
    </div>
</template>

<script>
  import { createNamespacedHelpers } from 'vuex';
  import Viewer from './Viewer';
  import DTabPane from './tabs/pane';

  const { mapState, mapActions, mapGetters } = createNamespacedHelpers('Address');

  export default {
    name: 'BrowserView',
    components: {
      DTabPane,
      Viewer,
    },
    data() {
      return {
      };
    methods: {
      ...mapActions(['ADDRESS_UPDATE']),
      onDidNavigate(event) {
        this.ADDRESS_UPDATE(event.url);
      },
    },
  };
</script>

const state = {
  link: '',
};

const mutations = {
  ADDRESS_UPDATE(state, newLink) {
    state.link = newLink;
  },
};

const actions = {
  ADDRESS_UPDATE({ commit }, newLink) {
    commit('ADDRESS_UPDATE', newLink);
  },
};

export default {
  state,
  mutations,
  actions,
};

@RogerPaladin And ... error in this :

I was able to get this approach to work as well, but what if you want to use multiple modules in the same vue file? For example from the code above I want to access both the Counter and Address modules in the same file.

Just a quick note that namespaced: true must be added to the export of the module, at least that's what fixed it for me.
export default {
    state,
    mutations,
    actions,
    namespaced: true
  }


[Bug] CallbackDataParams type doesn't have axisValue, axisValueLabel properties

Version
5.2.2
Link to Minimal Reproduction
https://echarts.apache.org/examples/en/editor.html?c=bar-simple&lang=ts&version=5.2.2&code=PYBwLglsB2AEC8sDeAoW7YCIzGAG0hEwC5k0MLsAnCAc1oFMqSsBDADwgGdMAaciukwduABWARoYJi1SD5WLtFZFSYKgFcG_BYOwBPEAxaYuAC1YATYAHdMAwQF8dCzADNgVALasw05qQAFCCsVKxeXKQMAMYWVGBcAHQAIgxurBoEADKsAEYMeABinj5-TADCrHh4uazRANaioeFcAJQIAHxkuujRMFz4DIl4wLSBmE1hEbCkfLAhU20O8lQMYBpUcJgAEgUj9rqODs4OmOwAgpw8pADayxhyPUJghsaz0b4MtJ76fPfywiuABUIA1ZP8eqYzLYWOk8FwGBCKCcnkJLL5WCw7qi9ECGFwwLAAIx_HGUPEE2AAJlJZKEFMJAGZaXTMAzYAAWFlktn4wkAVgOqIAuhCjhRhS4hPpLtwsRDHk8DEYTAA3KpabnIhyS04Imj4-W6RWQ5ReN5YABCoVg5TihIZWtcLxVs1qzClkPRYExtyRriJiQADEGnUqqcHQ56cZhGZGw5COfHo6jMPz4_70LqY3g8gVwXShOYYWpNIiceKFJWs57MH0RgFYNjXABiAAcVPO5QAnIUhTWUI4gA
Steps to Reproduce

Go to the above echarts link
Hover on the axis in chart, You see params is being printed in console
Compare the value of params vs the type of params from echarts documentation i.e. CallbackDataParams

Current Behavior
The value of CallbackDataParams type is containing properties like axisValue, axisValueLabel etc... But the CallbackDataParams type definition is not showing those properties
Expected Behavior
CallbackDataParams should also contain the properties like axisValueLabel, axisValue, axisDim, axisIndex etc...
Environment
- OS:
- Browser:
- Framework:

Any additional comments?
No response

I can see axisValue, axisValueLabel in the console.

How to reproduce?

I am saying in the type definition I am not seeing those properties which is giving me typescript error. I am pointing to CallbackDataParams type? do I need to refer to a different data type?

@manojkannekanti
u can change it in echarts.ComposeOption like:
import * as echarts from 'echarts/core';
import type {
  TooltipComponentOption,
  DefaultLabelFormatterCallbackParams,
  TooltipComponentFormatterCallback,
} from 'echarts';
import {
  GridComponentOption,
  LegendComponentOption,
  ToolboxComponentOption,
} from 'echarts/components';
import {
  LineSeriesOption,
} from 'echarts/charts';

export type LineOption = echarts.ComposeOption<
  | ToolboxComponentOption
  | GridComponentOption
  | LegendComponentOption
  | LineSeriesOption
> & {
  tooltip?: TooltipOption | TooltipOption[];
};

type TooltipFormatterParams = DefaultLabelFormatterCallbackParams & {
  axisId: string;
  axisIndex: number;
  axisType: string;
  axisValue: string | number;
  axisValueLabel: string;
};
type TooltipOption = Omit<TooltipComponentOption, 'formatter'> & {
  formatter?:
    | string
    | TooltipComponentFormatterCallback<TooltipFormatterParams | TooltipFormatterParams[]>;
};

@cinic  I wasn't able to reproduce your solution. Could you please provide a link to an example?

+1
Is there a solution to this? It seems that these properties exist on formatter params but attempting to access them results in a type error


Azure WAF (v2): Website Rendering Issues

Greetings.
We have an Azure WAF (v2) deployed in detection mode. Each listener is mapped to a backend pool consisting of two web servers. We are using session affinity and each backend pool member is returning a healthy status. We are experiencing regular issues with inconsistent page loads. Sometimes the background doesn't load, other times frames are out of order, and we have also experienced half-loaded pages. Can these issues be attributed to the WAF (v2) still being in Public Preview?
Thank you.

@jdcreek can you please provide us with the link to the documentation you are referring to so we can better assist

@jdcreek It is unlikely it is due to the V2 SKU, and unfortunately the best way to prove it is to configure your application using a V1 Application Gateway. You can also try disabling the WAF functionality (this can be done easily in the portal), wait 10 minutes, and see if the issue persists.
If you can rule out any issues with slowness from your servers, and that the app gateway is the likely source of the bottleneck, your best bet is to open a support request to look into this further. If you do not have a support plan, please let me know!

@jdcreek We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Tooltip prevents any clickable item of firing click event

I followed your sample and the description from https://www.xamboy.com/2019/03/01/showing-tooltips-in-xamarin-forms/ and the tool tip working perfect. But, after showing the tooltip, the click event of any element showing a tool tip is not fired. Even removing the click-event from the effect does not help.

Please forget about - i got it working with a Task.Delay(time) and then FindAndDismiss()


Improvment on OCR ability?

After testd, the vision model are really weak at OCR ability. By saying OCR, means understand images contains characters, but this vision model lack of it.
Any idea to improve it?

Hi, thanks for the feedback! We currently removed this part in the introduction of OmniLMM. Stronger OCR capability is on the way. This could be achieved by learning more from OCR supervision during pretraining. Thanks!

@yaoyuanTHU  Please pin me if new ocr calability improved!


setup

Seems to be a good work, but not everybody have access to his server.
Like me i think lots of people cant use your work because of that.
Personnaly i only have access to ftp & mysql.

@Ronanzzzzzzzzzz Hello. What do you mean by access to his server? To blizzard server? There's all information about how to getting started with the Blizzard dev API.

i dont get how you instal your api without having to run cmd on server

You can download this library as ZIP archive and then put it on test server via FTP.

oh ok, its just the composer thing that i belived was necessary since it was the exemple.

Well, composer is necessary there for other dependencies (which listed in composer.json) but you can download them too.
Initially this package is designed with using composer.

Ok thx for your help !

Np, good luck with that. But generally i suggest you to get ssh access and use the composer :)


[WiP] Introducing FileWidget

WiP, broken, missing tests, hackish code, just a PoC, do not merge.
This is an ongoing experimentation around #192.

Note that kinto-attachment doesn't supports multiple files per records just yet.

This lib should remain fully agnostic from Kinto anyway.

This lib should remain fully agnostic from Kinto anyway.

Yes sure.

This is now ready :dancer:


How to understand _rle2voxel  function

Hello, I have some misunderstandings about the truth processing of the nyu dataset. In this _rle2voxel function:
def _rle2voxel(rle, voxel_size=(240, 144, 240), rle_filename=""):
    seg_label = np.zeros(
        int(voxel_size[0] * voxel_size[1] * voxel_size[2]), dtype=np.uint8
    )  # segmentation label
    vox_idx = 0
    for idx in range(int(rle.shape[0] / 2)):
        check_val = rle[idx * 2]
        check_iter = rle[idx * 2 + 1]
        if check_val >= 37 and check_val != 255:  # 37 classes to 12 classes
            print("RLE {} check_val: {}".format(rle_filename, check_val))

        seg_label_val = (
            seg_class_map[check_val] if check_val != 255 else 255
        )  # 37 classes to 12 classes
        seg_label[vox_idx : vox_idx + check_iter] = np.matlib.repmat(
            seg_label_val, 1, check_iter
        )
        vox_idx = vox_idx + check_iter
    seg_label = seg_label.reshape(voxel_size)  # 3D array, size 240 x 144 x 240

Firstly, why index rle by odd or even numbers, check_val looks like a target label, How to understand check_iter? Does it represent dimension? How does it correspond to class label on RGB images.
Hope to receive your reply, thank you.

Hi, I used the code from this source. I guess the implementation of the RLE format is based on the method described in the initial SSC paper.

Hi, I used the code from this source. I guess the implementation of the RLE format is based on the method described in the initial SSC paper.

Now that I have RGB and depth images captured by a depth camera, as well as semantic information annotated on the images, how should I train your project.

To incorporate depth information into a 3D scene, similar to the approach used in BundleFusion, start by integrating the depth data. After this integration, convert the scene into a voxelized format. Assign semantic labels to each voxel using the semantic labels derived from the corresponding images.

To incorporate depth information into a 3D scene, similar to the approach used in BundleFusion, start by integrating the depth data. After this integration, convert the scene into a voxelized format. Assign semantic labels to each voxel using the semantic labels derived from the corresponding images.

ok,thank you very much for your answer. I will try the method you mentioned

To incorporate depth information into a 3D scene, similar to the approach used in BundleFusion, start by integrating the depth data. After this integration, convert the scene into a voxelized format. Assign semantic labels to each voxel using the semantic labels derived from the corresponding images.

I learned a lot from your response. By the way, could you show more detail about converting the scene into a voxelized format?

Hi @xyIsHere, I suggest using this repository: https://github.com/andyzeng/tsdf-fusion-python. It converts a set of depth and RGB images into a voxelized TSDF scene.


"Open camera" click action on the webpage is throwing exception and not working as expected. This happening only in Android and fine in iOS.

I am attaching an image for your reference. Please advise how to fix this issue. This is blocker in our application to release.

Thanks for your response and quick support!

Your can also, find the image here.
https://i.stack.imgur.com/FNHPz.jpg
https://stackoverflow.com/questions/77597649/why-i-am-getting-this-error-when-i-tried-to-open-a-url-through-flutter-inappwebvx

This is a javascript error, it's not coming from Flutter plugin.
Maybe this doesn't depend on you but on the javascript used in that Website.
For WebRTC setup, check https://inappwebview.dev/docs/web-rtc

For camera inputs, check: https://inappwebview.dev/docs/intro#enable-camera-for-html-inputs

Thanks for your inputs, I have already requested for all the needs permissions. Also this works perfectly in iOS. Any suggestion on what could changed at the javascript end to get this sorted?

I don't know, this is out of scope of the plugin.
If possible, you should debug the javascript code

@ananthkumar-gavstech can you send ios code actually in ios phone not working android fine

Same thing happening to us


Resolve iDynTree deprecation warnings and require iDynTree v10.0.0

This PR resolves all the iDynTree warnings and requires iDynTree v10.0.0

Thanks a lot!

Peculiar error on windows
D:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\osqp\lin_sys\direct\qdldl\qdldl_sources\src\qdldl.c : fatal error C1041: cannot open program database 'D:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\osqp\build\lin_sys\direct\qdldl\qdldl_sources\out\Debug\qdldl.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS [D:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\osqp\build\lin_sys\direct\qdldl\qdldl_sources\qdldlstatic.vcxproj]

Peculiar error on windows
D:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\osqp\lin_sys\direct\qdldl\qdldl_sources\src\qdldl.c : fatal error C1041: cannot open program database 'D:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\osqp\build\lin_sys\direct\qdldl\qdldl_sources\out\Debug\qdldl.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS [D:\a\bipedal-locomotion-framework\bipedal-locomotion-framework\osqp\build\lin_sys\direct\qdldl\qdldl_sources\qdldlstatic.vcxproj]

It is probably flaky. The root for the problem I guess is the same of https://github.com/robotology/robotology-superbuild/issues/1083, it was fixed in osqp master but that has not seen a release in a long time.


Inaccurate ratings of Professors with legacy floating point ratings.

The professor.get_ratings() method returns inaccurate rounded down ratings for professors who have floating point value reviews.
Details:
These floating point reviews get wonky translated values when queried through the API. In the picture below the actual review for ECT584 is a 2.5, but in the API it gets a value of 1. Quite a breaking issue when trying to obtain the rating distribution.

what code produces:
[('ALLCLASES', [3]), ('CS521', [3]), ('CSC200', [5]), ('CSC210', [4]), ('CSC478', [3, 2, 2]), ('CSC480', [2, 4]), ('CSC575', [1, 5]), ('DS575', [4]), ('DSC478', [1, 4]), ('ECT584', [5, 1, 5, 5, 5, 5]), ('HON207', [3]), ('IT130', [3]), ('LSP110', [3, 4])]
Bamshad Mobasher {'5 stars': 7, '4 stars': 5, '3 stars': 6, '2 stars': 3, '1 star': 3}
I even went priitive with the code to make sure I wasnt being dumb b/c my dictionary implementation produced incorrect ratings so i swapped to regualr if statement which still produced the wrong distribution, then I looked at the API code only to find that the rating is of type int and its rounding things differntly than the website does.
prof = rmp.Professor(582550)
        course_ratings = [(course.name, [rating.rating for rating in prof.get_ratings(course.name)]) for course in prof.courses]
        print(course_ratings)

        course_ratings = [[rating.rating for rating in prof.get_ratings(course.name)] for course in prof.courses]
        for ratings in course_ratings:
            for rating in ratings:
                if rating == 1:
                    one_count += 1
                elif rating == 2:
                    two_count += 1
                elif rating == 3:
                    three_count += 1
                elif rating == 4:
                    four_count += 1
                elif rating == 5:
                    five_count += 1

        print(prof.name, {"5 stars": five_count, "4 stars": four_count, "3 stars": three_count, "2 stars": two_count, "1 star": one_count})

This is me realizing the ratings don't tie directly to the professors actual rating distribution. Bummer that theres now way to get the rating distro for the professor (at least i dont think) so I extended the API with this nonsense to get the rating distro for a professor.

    def _get_distro(self, professor_id: int):
        url = "https://www.ratemyprofessors.com/graphql"
        headers = {
            "Content-Type": "application/json",
            "Referer": f"https://www.ratemyprofessors.com/ShowRatings.jsp?tid={professor_id}",
            "Authorization": "lol",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
        }

        query = """
        query GetTeacherDetails($id: ID!) {
          node(id: $id) {
            ... on Teacher {
              firstName
              lastName
              numRatings
              ratingsDistribution {
                r1
                r2
                r3
                r4
                r5
                total
              }
            }
          }
        }
        """

        encoded_id = base64.b64encode(f"Teacher-{professor_id}".encode()).decode()
        variables = {'id': encoded_id}

        response = requests.post(url, json={'query': query, 'variables': variables}, headers=headers)

        if response.status_code != 200:
            print(f"Failed to fetch data: {response.status_code}, {response.text}")
            return

        try:
            data = response.json()
            print(json.dumps(data, indent=4))
        except json.JSONDecodeError:
            print("Failed to decode JSON from response:", response.text)