Generic Exception test code and test code dependency

For any exception class that we have, we run the same test code using the same constructors. We can implement all this once using reflection based on a Class<? extends OtsException>. Test code from one project is however not available in another project. There are 3 possible solutions:

Provide this test in production code. This is misuse of production code; no test code should end up in published jars.
Copy the generic code. This requires manual maintenance.
Make test code available by the method described below.

At https://maven.apache.org/guides/mini/guide-attached-tests.html it is described how test code from one project, can be made available in another project. In summary:
Property <maven.jar.version>3.4.2</maven.jar.version> is made available in the main pom.
In the main pom the following plugin is added:
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${maven.jar.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

In the pom of any project that needs the generic code (assumed to be in ots-base) the following can be added:
    <dependency>
      <groupId>org.opentrafficsim</groupId>
      <artifactId>ots-base</artifactId>
      <version>${ots.version}</version>
      <classifier>tests</classifier>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>

This dependency is not forwarded to further dependent projects. Each individual project that needs it, needs to define this dependency.
Projects that a project depends on are listed under maven dependencies in the package explorer. Normally this is followed by [without test code]. This disappears for ots-base with the above addition. Test code in ots-base is now available only in test code of the depending project.
I'm not sure what this does in the background. If it does not affect published jars, this would be a convenient way to do it.
Should we do this?

The following code implements a generic test for exceptions. Note that we have to use Class<? extends Exception> rather than Class<? extends OtsException> because OtsRuntimeException has to extend RuntimeException and therefore cannot extend OtsException.
    /**
     * Test exception class on constructors: empty, only message, only Throwable, message and Throwable.
     * @param clazz exception class to test.
     */
    private void testExceptionClass(final Class<? extends Exception> clazz)
    {
        try
        {
            Constructor<? extends Exception> constructor = clazz.getConstructor();
            try
            {
                throw constructor.newInstance();
            }
            catch (Exception e)
            {
                checkRightException(e, clazz);
                assertNull(e.getMessage());
            }

            constructor = clazz.getConstructor(String.class);
            try
            {
                throw constructor.newInstance("abc");
            }
            catch (Exception e)
            {
                checkRightException(e, clazz);
                assertEquals("abc", e.getMessage());
            }

            constructor = clazz.getConstructor(Throwable.class);
            try
            {
                throw constructor.newInstance(new IllegalArgumentException());
            }
            catch (Exception e)
            {
                checkRightException(e, clazz);
                assertTrue(e.getMessage().contains("IllegalArgumentException"));
                assertTrue(e.getCause() instanceof IllegalArgumentException);
            }

            constructor = clazz.getConstructor(String.class, Throwable.class);
            try
            {
                throw constructor.newInstance("abc", new IllegalArgumentException("def"));
            }
            catch (Exception e)
            {
                checkRightException(e, clazz);
                assertEquals("abc", e.getMessage());
                assertTrue(e.getCause() instanceof IllegalArgumentException);
                assertEquals("def", e.getCause().getMessage());
            }
        }
        catch (SecurityException | NoSuchMethodException ex)
        {
            fail("Class " + clazz + " is missing standard and accessible exception constructor.");
        }
    }

    /**
     * Test exception class type.
     * @param e thrown exception
     * @param clazz class of exception that should have been thrown
     */
    private void checkRightException(final Exception e, final Class<? extends Exception> clazz)
    {
        if (!e.getClass().equals(clazz))
        {
            fail("Right exception not thrown");
        }
    }


Importing version from version.py makes building conda-forge packages awkward

First of all thank you for µfmt, it is a really useful addition to my CI pipelines. So useful, that I am in the process of packaging it for conda-forge.
While creating the package I, however, ran into an issue that makes the build process less optimal than it could be. As µfmt is using flit_core as metadata backend, the pip build process will run flit_core during build time. As a step of this, flit is trying to determine the package version from __init__.py. It does so using two passes:

An AST-based pass that tries to find an assignment of the form __version__ = "x.y.z"
An import based pass that loads the package and then inspects the __version__ variable.

For µfmt, pass 1) fails as the version variable is defined in __version__.py. This leads to pass 2) being run, which succeeds. However in the conda-forge build environment, runtime dependencies are not installed by default, leading to a build failure. Thus, as a workaround, we need to add the relevant runtime dependencies to the build step, which is non-ideal but works.
Please consider defining __version__ directly in __init__.py to allow making the conda-forge package more straightforward.
Link to the conda-forge pull request for reference: https://github.com/conda-forge/staged-recipes/pull/20527
P.S.: the same behavior can be observed for trailrunner and stdlibs. For the latter no failure happens as there are no additional dependencies though. Please let me know in case you consider a change and I can open separate issues.

The version is in a separate file so that it can be easily generated/written by the "attribution" tool that also manages the changelog and git tags. There might be alternatives to make this work in flit-core, and I'll look into that and let you know.

This should be resolved when building with the latest version of flit-core.


removed tunnelName & tunnelOwner

main focus was the cmd line references. Secondary focus was documentation and examples. Left saucectl alone.
Description
tunnelName and tunnelOwner only work on RDC and are causing problems.
Motivation and Context
not supported across all products
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Documentation fix (typos, incorrect content, missing content, etc.)

Checklist

[x] I have read the contributing document.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Hi @mdsauce -- I have piggy-backed on your PR to edit all other files that contained references to tunnel-name and tunnel-owner. I think this is now a comprehensive reversion to pre-name-change. If you could please give it a sanity check, I will merge it as soon as you give the thumbs up.


Document & support upgrade steps for LitmusChaos

Litmus as a project is at a stage where we can/should support seamless upgrades across versions.
The elements for upgrade at this point include:

Chaos Operator (rbac, env, images)
Chaos CRDs (validations, fields in .spec & .status)
Chaos Charts (Changes to .spec.definition items defaults inside the CR)
ChaosEngine CR (.spec items defaults)
Experiment level RBAC

Scenarios under which upgrades may have to considered:
Note: These are added for discussion purposes and don't indicate the final supported scenarios.

Chaos in progress
Chaos aborted, but ChaosEngine is live with engineStatus: stopped
Chaos completed, but ChaosEngine is live with engineStatus: completed
Idle, i.e., no ChaosEngine is present in the cluster

Upgrade mechanism:

via kubectl patch
via helm upgrade

Potential changes needed:

Operator workflow
e2e scenarios
Doc sections

Platforms:

Support for upgrades on K8s versions, platforms

Litmus has introduced a centralized control plane for chaos management, which is the first upgrade target via helm/kubectl,  with guided steps for upgrade of the chaos execution infrastructure. It is documented here: https://docs.litmuschaos.io/docs/user-guides/upgrade


Update Trillian to v1.6.1

Update Trillian to v1.6.1

/retest

@JasonPowr I think cachi2 may be failing because we're using go 1.22 now with these updates.

/retest

@lance I think that may have just been an intermittent issue, prefetch seems to be passing now and it was before

Closing this and opening a new one as there seems to be a lot of conflicts now


[Feature]: Removing the admin role from a user does not remove admin privileges in orgs and spaces

What happened?

Create a user
Assign that user the cf-admin role by creating a role binding in the root cf namespace to the cluster role korifi-controllers-admin
See that the rolebinding is propagated to existing orgs and spaces so that the new user has admin privileges in all orgs and spaces.
Remove the admin role from the new user by deleting the rolebinding in the cf namespace
See that the rolebindings are not deleted in the orgs and spaces, so the user still has admin privileges in all orgs and spaces.

Note that this also applies to setting a user as an org-manager, and then unsetting that role.
What you expected to happen
When a rolebinding has been propagated to descendent org and space namespaces, deletion of the rolebinding in the original namespace should also propagate to the descendent org and space namespaces.
Acceptance Criteria
GIVEN there exists a user with a rolebinding to the korifi-controllers-admin role in the cf namespace
AND there are some existing orgs and spaces
WHEN I remove admin privileges from the user by deleting the rolebinding in the cf namespace
THEN propagated rolebindings for that user in the orgs and spaces are also deleted
AND
GIVEN there exists a user with a rolebinding to the OrgManager role in some org
WHEN I remove the rolebinding for that user in the org namespace
THEN propagated OrgManager rolebindings for that user are removed from the spaces in that org.
How to reproduce it (as minimally and precisely as possible)
E.g. against a local KinD deployment
cf api https://localhost --skip-ssl-validation
cf login # as cf-admin
cf create org org1
cf create space -o org1 space1
./scripts/create-new-user jim
kubectl -n cf create rolebinding jim-admin --user jim --clusterrole korifi-controllers-admin
# see the 'jim-admin' rolebinding copied to the namespaces for org1 and space1
kubectl -n cf delete rolebinding jim-admin
# see the copied 'jim-admin' rolebindings have not been deleted from the org1 and space1 namespaces

Anything else we need to know?
If 'jim' was an ordinary user before being made admin, there would be a default-root-ns rolebinding in the cf namespace, and this is sufficient for significant mischief to be made with the remaining admin rolebindings via the cf CLI or by curling the API.
Environment
Revision of codebase: e93439eb98e8438761a5be2529eaf5aba06af583
Kubernetes version (use kubectl version):
Cloud provider or hardware configuration:
Others:
Dev Notes

How about secrets? Maybe we don't expect secrets to get deleted?
As of right now, cf unset-org-role doesn't work through the CLI, since we get a 404 when the CLI calls the API to look up the user. So this isn't testable via cli. Maybe we want to make a separate story for that action?

I'm wondering if we could manage this by adding a finalizer to the root level rolebinding when we get notified about its creation. That might allow us to get notified about its disposition before it's totally gone and we can no longer find out what it was, and maybe would mean we don't have to inspect the entire tree each time a rolebinding gets deleted.

It would definitely be an efficient way. It might suffer from a race where a space is created during the finalisation, and a new copy of the thing we are trying to delete is created and not deleted by the finalisation code. And then nothing would trigger its deletion while the new space exists.

A/C passed


can't install helm chart with helm 3

Describe the bug:
Can't install the helm chart using helm 3 I have this error when I follow the steps in the doc: Error: the namespace from the provided object "kube-system" does not match the namespace "cert-manager". You must pass '--namespace=kube-system' to perform this operation.
Expected behaviour:
Chart installation success
Steps to reproduce the bug:
With helm 3 in a fresh k8s cluster
# Install the CustomResourceDefinition resources separately
kubectl apply -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.8/deploy/manifests/00-crds.yaml

# Create the namespace for cert-manager
kubectl create namespace cert-manager

# Label the cert-manager namespace to disable resource validation
kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true

# Add the Jetstack Helm repository
helm repo add jetstack https://charts.jetstack.io

# Update your local Helm chart repository cache
helm repo update

# Install the cert-manager Helm chart
helm install \
  --name cert-manager \
  --namespace cert-manager \
  --version v0.8.0 \
  jetstack/cert-manager

Anything else we need to know?:
Environment details::

Kubernetes version (e.g. v1.10.2): v1.14.2
Cloud-provider/provisioner (e.g. GKE, kops AWS, etc): Scaleway
cert-manager version (e.g. v0.4.0): v0.8.0
Install method (e.g. helm or static manifests): helm

/kind bug

This is a known issue with the helm 3 alpha and is tracked in issue helm/helm#5628. A tempory workaround is to set the namespace in your kubectl context to the namespace you want to install to then run the helm install command.
kubectl config set-context CONTENT_NAME --namespace NAMESPACE

I changed already the current context to be with the namespace cert-manager as you can see here
kubectl config get-contexts
CURRENT   NAME                          CLUSTER      AUTHINFO           NAMESPACE
*         kubernetes-admin@kubernetes   kubernetes   kubernetes-admin   cert-manager

Helm needs to somehow workaround this. IMO, it is perfectly valid for a single chart to install resources into more than one namespace, and it's something that has previously worked in Helm 2 for a longwhile.
There isn't really anything we can do to work around this, as this resource must be created in order for cert-manager to function.
Could you open an issue on the Helm repo to explain the problem you're running into, so they are aware of our use-case and the regression between Helm 2 and 3? 😄

This was most likely an overlooked regression, and we will look into why Helm is failing on resources that hard-code the namespace in their metadata. As @munnerz mentioned, that is a perfectly valid use case, and probably is something we should capture in a test case going forward.
I think this has also affected the prometheus-operator chart, so this isn't a one-off kinda thing either.

I think we can close this one and follow up in the help repository, since I was in a hurry, I reverted to Helm2 temporary :D

Is installing cert-manager manually the best workaround, or did anyone found a better helm-3 way... :)

See https://github.com/helm/helm/pull/6046 for a fix.

So, the original error now has gone away, but has been replaced with another known bug in Helm 3. Following up in https://github.com/helm/helm/issues/5654.
Reproduction steps using Kubernetes 1.15.0 deployed via minikube:
><> kubectl apply -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.8/deploy/manifests/00-crds.yaml
customresourcedefinition.apiextensions.k8s.io/certificates.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/challenges.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/clusterissuers.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/issuers.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/orders.certmanager.k8s.io created
><> kubectl create namespace cert-manager
namespace/cert-manager created
><> kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true
namespace/cert-manager labeled
><> kubectl config set-context minikube --namespace=cert-manager
Context "minikube" modified.
><> helm template cert-manager jetstack/cert-manager --version v0.8.0
Error: apiVersion "apiregistration.k8s.io/v1beta1" in cert-manager/charts/webhook/templates/apiservice.yaml is not available

Never mind. I forgot that helm template does not establish a connection to Kubernetes for schema validation, so this error seems in line with the expectation.
The following steps now work on dev-v3, so this seems safe to close at this point.
><> kubectl apply -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.8/deploy/manifests/00-crds.yaml
><> kubectl create namespace cert-manager
><> kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true
><> kubectl config set-context minikube --namespace=cert-manager
><> helm install cert-manager jetstack/cert-manager --version v0.8.0

Thanks for working on this @bacongobbler 😄 glad to hear it! We'll get our CI updated to include Helm 3 over the coming weeks.

It turns out that my previous comment was due to a discovery cache invalidation bug. It has since been fixed with https://github.com/helm/helm/pull/6332 and https://github.com/helm/helm/pull/6486, and the fixes are both available in 3.0.0-beta.4. cert-manager should now install without issue. :)


Alternative answer for from_str.rs

Here is my solution for conversions/from_str.rs, may be you'd like to add it to the answers:
impl FromStr for Person {
    type Err = String;
    fn from_str(s: &str) -> Result<Person, Self::Err> {
        match s.split(',').collect::<Vec<&str>>()[..] {
            [name, age] if name.len() > 0 => age
                .parse()
                .map(|age| Self {
                    name: name.to_string(),
                    age,
                })
                .map_err(|x| "failed".to_string()),
            _ => Err("failed".to_string()),
        }
    }
}

Thank you. I've published it https://github.com/alexxroche/rustlings-idiomatic-solutions/blob/master/exercises/conversions/from_str.rs_/from_str_condensed.rs and called it "condensed" because it is 300 characters smaller than the average of the existing solutions.
I did hesitate for a moment, to add this because I wondered if it was too advanced for beginners to parse and understand the logic flow in such a tidy package. I concluded that it was a lovely example of method chaining that can only benefit those learning.


Incorrect rending of riverbank around Fargo, ND

The riverbank of the Red river next to Fargo, ND appears to have some problems.  It has incorrect, angular projections into the city area (see attached picture), which seem to change from viewing to viewing at with zoom level.
I am using version 1.7.2 of the map editor.
An example can be seen around the the site of the former Cardinal Muench Seminary at 46.924229, -96.766882.

Looks like #1201

Yes, I think so.  I wonder if we should just fetch missing multipolygon parts while the iD.connection is sitting idle.
re: #2284 too


Saving to mysql very slow, is it expected?

I am thankful that qtpylib gives me something to work on quickly. It seems mysql is very slow. I tried to save 10 days of AAPL 1min bars. It took 1 second to save to csv file, but about 25 minutes to save to mysql. Is it expected or maybe I did something wrong?

The saved csv file size is only 700k, and there are 10081 rows in the table.

That shouldn't be the case at all. Can you post your MySQL settings here?

I am not familiar with MySQL, could you list exactly what setting items you are looking for. I'll dig them out. I am on window 10. I  installed MySQL following installation instructions. I did not create a dedicated user because I was not sure what I should use to replace 'localhost', so I just used root to access qtpy. I checked the content of the DB, it did save the information, just slow. My laptop has 12G memory, intel i5, 4 core 1.6G CPU.


feat(sticky-header): Initial version of sticky header

add support to 'optional 'cdkStickyRegion' input '

Comments addressed. Please take another look~ :+1:

Comments addressed. Please take another look~ :+1:

@jelbourn @andrewseguin , Comments addressed. Please take another look~ :+1:

Comments Addressed .
And Added [using 'position:sticky' and check whether browser support it. If not , use the original implementation of sticky-header.']
Please take another look~ :+1:

Comments Addressed. Please take another look~ :+1:
Added consideration on Safari, Chrome, Firefox, Opera, IE on both laptop and mobile devices.

Comments Addressed :+1:
Please take another look~ (-^o^-)~*

Comments addressed~ (^o^)~
Please take another look :+1:

Comments Addressed. :+1:
Please take another look~


Allow session reuse

Regarding this code:
import json
import requests

username =<EMAIL_ADDRESS>password = "bad_password"

hostname="https://tccna.honeywell.com"
url=hostname + "/WebAPI/api/Session"

postdata = {'Username': username, 'Password': password, 'ApplicationId': '91db1612-73fd-4500-91b2-e63b069b185c'}
headers = {'content-type': 'application/json'}

response = requests.post(url, data=json.dumps(postdata), headers=headers)
print(response.text)

It gives:
[{
    "code": "EmailOrPasswordIncorrect",
    "message": "The email or password provided is incorrect."
  }]

Regarding this code:
import json
import requests

username =<EMAIL_ADDRESS>password = "bad_password"

hostname="https://tccna.honeywell.com"
url=hostname + "/WebAPI/api/Session"

postdata = {'Username': username, 'Password': password, 'ApplicationId': '91db1612-73fd-4500-91b2-e63b069b185c'}
headers = {'content-type': 'application/json'}

response = requests.post(url, data=json.dumps(postdata), headers=headers)
print(response.text)
response.raise_for_status()

It gives:
[{
    "code": "EmailOrPasswordIncorrect",
    "message": "The email or password provided is incorrect."
}]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/srv/hass/lib/python3.6/site-packages/requests/models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://tccna.honeywell.com/WebAPI/api/Session

OK great thanks - The check for Unauthorized that I've put in is probably correct then...

Sorry, I have a habit of posting, and then extensively editing...

OK great thanks - The check for Unauthorized that I've put in is probably correct then..

No, I'm saying the opposite!
The good news is that I've finished editing that post now.

Sorry, I have a habit of posting, and then extensively editing...

OK great thanks - The check for Unauthorized that I've put in is probably correct then..

No, I'm saying the opposite!
The good news is that I've finished editing that post now.

Maybe I've misunderstood then - I sent a call with valid credentials but an invalid sessionId but got back:
[{
    "code": "Unauthorized",
    "message": "Unauthorized"
}]

So I take that as being that's when I should be retrying (because the sessionId has expired), but if we'd just supplied invalid credentials then we'd get a different message. I guess I could be more specific in checking the code field, rather than just looking for the string...

Oh, that's a co-incidence (I didn't know the JSON), but maybe like this:
Instead of:
if response.status_code == requests.codes.unauthorized and retry:
    # Attempt to refresh session id if request was unauthorised
    if 'Unauthorized' in response.text:
        do_retry()

I suggest:
if response.status_code == requests.codes.unauthorized and retry:
    # Attempt to refresh session id if request was unauthorised
    if 'code' in response.text:  # don't use response.json() here!
        if response.json()['code'] = "Unauthorized":
            do_retry()
        else:
            message = ("HTTP Status = " + str(response.status_code) + ", Response = " + response.text)
            raise requests.HTTPError(message)

And the final response.raise_for_status() needs to move left four spaces, so that an exception if always raised, if status != SUCCESS (2xx).

And the final response.raise_for_status() needs to move left four spaces, so that an exception if always raised, if status != SUCCESS (2xx).

Thanks. I've just pushed an update to address these comments...

OMG, something happened at my end & I can't submit a PR, so:
    def _do_request(self, method, url, data=None, retry=True):
        if method == 'get':
            func = requests.get
        elif method == 'put':
            func = requests.put
        elif method == 'post':
            func = requests.post

        response = func(url, data=data, headers=self.headers)

        # catch 401/unauthorized since we may retry
        if response.status_code == requests.codes.unauthorized and retry:        # pylint: disable=no-member
            # Attempt to refresh sessionId if it has expired
            if 'code' in response.text:  # don't use response.json() here!
                if response.json()['code'] == "Unauthorized":
                    # Get a new sessionId
                    self.user_data = None
                    self._populate_user_info()
                    # Set headers with new sessionId
                    session_id = self.user_data['sessionId']
                    self.headers['sessionId'] = session_id

                    response = func(url, data=data, headers=self.headers)

        # display error message if the vendor provided one
        if response.status_code != requests.codes.ok:                            # pylint: disable=no-member
            if 'code' in response.text:  # don't use response.json()!
                message = ("HTTP Status = " + str(response.status_code)
                           + ", Response = " + response.text)
                raise requests.HTTPError(message)

        response.raise_for_status()

        return response

Sorry, I'm asking to take something out, after having asked to put in, but this is a better piece of code (and it does the same job)

OMG, something happened at my end & I can't submit a PR, so:
    def _do_request(self, method, url, data=None, retry=True):
        if method == 'get':
            func = requests.get
        elif method == 'put':
            func = requests.put
        elif method == 'post':
            func = requests.post

        response = func(url, data=data, headers=self.headers)

        # catch 401/unauthorized since we may retry
        if response.status_code == requests.codes.unauthorized and retry:        # pylint: disable=no-member
            # Attempt to refresh sessionId if it has expired
            if 'code' in response.text:  # don't use response.json() here!
                if response.json()['code'] == "Unauthorized":
                    # Get a new sessionId
                    self.user_data = None
                    self._populate_user_info()
                    # Set headers with new sessionId
                    session_id = self.user_data['sessionId']
                    self.headers['sessionId'] = session_id

                    response = func(url, data=data, headers=self.headers)

        # display error message if the vendor provided one
        if response.status_code != requests.codes.ok:                            # pylint: disable=no-member
            if 'code' in response.text:  # don't use response.json()!
                message = ("HTTP Status = " + str(response.status_code)
                           + ", Response = " + response.text)
                raise requests.HTTPError(message)

        response.raise_for_status()

        return response

Sorry, I'm asking to take something out, after having asked to put in, but this is a better piece of code (and it does the same job)

Just pushed...

So I take that as being that's when I should be retrying (because the sessionId has expired), but if we'd just supplied invalid credentials then we'd get a different message. I guess I could be more specific in checking the code field, rather than just looking for the string...

Sorry to butt in here as it looks like you guys have this figured out, but I don't think there should be any ambiguity in working out whether an HTTP/1.1 401 Unauthorized response means incorrect username/password vs invalid or timed out session-id, because the URL that is being request at the time will be different...
During username/password authentication the URL is POST /WebAPI/api/Session..... so a 401 response there can only mean wrong username or password.
If the session id has expired the 401 response will come from a query like GET /WebAPI/api/locations?userId=...... so the error is the same but in response to a different kind of request... Or did I miss something ? :)
I see there is a lot of reworking of the V1 automatic re-authentication here so I'm going to go through my test cases again to make sure all situations are still working.
I like the new error reporting btw. Instead of the more generic error I log in evohome-munin now when an API query fails, I'll be able to pass through the string that says it was rate limited, username/password was incorrect etc...

During username/password authentication the URL is POST /WebAPI/api/Session..... so a 401 response there can only mean wrong username or password.

@DBMandrake That's a very good point. Based on the testing so far, it looks like there is an explicit message for bad username/password, but if we find that's not sufficient we can be testing the URL.
I'm glad that the error reporting that @zxdavb has contributed is improving your plugin too. Unless anything serious comes up in the next couple of days I'll merge this into master and cut a new release on pypi

I've continued to keep up to date with the further commits and all seems to be good here. (Although I see many of them look to be unit test updates that won't be affecting me anyway)
Apart from some 500 Server errors for a period yesterday (presumably due to actual server overloading) I haven't seen any request failures on either API so the session_id/access_token save and restore process seems solid.
On the V1 API polling every 5 minutes it managed to keep the same session id in use for more than a day, it only finally ended up having to get a new one after the 500 Server error outage where it wasn't able to get through for over 15 minutes, allowing the session id to time out. And it seamlessly obtained a new session id once the 500 error period was over and maintained that session id.
The V2 API likewise has been working well, polling every 5 minutes and only having to authenticate once every 30 minutes, and when there is only one authentication per 30 minutes I'm not hitting any rate limiting.
The only thing I've noticed really is the inconsistent exception error reporting between the V1 and V2 API's, where the V1 got new error reporting while the V2 API didn't seem to. For example here is rate limiting as reported by both API's:
Traceback (most recent call last):
  File "./evohome_V1", line 9, in <module>
    for device in client.temperatures():
  File "build/bdist.linux-armv6l/egg/evohomeclient/__init__.py", line 117, in temperatures
  File "build/bdist.linux-armv6l/egg/evohomeclient/__init__.py", line 78, in _populate_full_data
  File "build/bdist.linux-armv6l/egg/evohomeclient/__init__.py", line 109, in _populate_user_info
  File "build/bdist.linux-armv6l/egg/evohomeclient/__init__.py", line 197, in _do_request
requests.exceptions.HTTPError: HTTP Status = 429, Response = [
  {
    "code": "TooManyRequests",
    "message": "Request count limitation exceeded, please try again later."
  }
]

pi@pi1monitor:~ $ ./evohome_V2
Traceback (most recent call last):
  File "./evohome_V2", line 6, in <module>
    client = EvohomeClient('**************', '***********')
  File "build/bdist.linux-armv6l/egg/evohomeclient2/__init__.py", line 69, in __init__
  File "build/bdist.linux-armv6l/egg/evohomeclient2/__init__.py", line 72, in _login
  File "build/bdist.linux-armv6l/egg/evohomeclient2/__init__.py", line 193, in user_account
  File "build/bdist.linux-armv6l/egg/evohomeclient2/__init__.py", line 79, in _headers
  File "build/bdist.linux-armv6l/egg/evohomeclient2/__init__.py", line 116, in _basic_login
  File "build/bdist.linux-armv6l/egg/evohomeclient2/__init__.py", line 147, in _obtain_access_token
  File "/usr/local/lib/python2.7/dist-packages/requests/models.py", line 840, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 429 Client Error: Too Many Requests for url: https://tccna.honeywell.com/Auth/OAuth/Token

And here is invalid username/password as reported by both API's:
pi@pi1monitor:~ $ ./evohome_V1
Traceback (most recent call last):
  File "./evohome_V1", line 9, in <module>
    for device in client.temperatures():
  File "build/bdist.linux-armv6l/egg/evohomeclient/__init__.py", line 117, in temperatures
  File "build/bdist.linux-armv6l/egg/evohomeclient/__init__.py", line 78, in _populate_full_data
  File "build/bdist.linux-armv6l/egg/evohomeclient/__init__.py", line 109, in _populate_user_info
  File "build/bdist.linux-armv6l/egg/evohomeclient/__init__.py", line 197, in _do_request
requests.exceptions.HTTPError: HTTP Status = 401, Response = [
  {
    "code": "EmailOrPasswordIncorrect",
    "message": "The email or password provided is incorrect."
  }
]

pi@pi1monitor:~ $ ./evohome_V2
Traceback (most recent call last):
  File "./evohome_V2", line 6, in <module>
    client = EvohomeClient('************', '*********')
  File "build/bdist.linux-armv6l/egg/evohomeclient2/__init__.py", line 69, in __init__
  File "build/bdist.linux-armv6l/egg/evohomeclient2/__init__.py", line 72, in _login
  File "build/bdist.linux-armv6l/egg/evohomeclient2/__init__.py", line 193, in user_account
  File "build/bdist.linux-armv6l/egg/evohomeclient2/__init__.py", line 79, in _headers
  File "build/bdist.linux-armv6l/egg/evohomeclient2/__init__.py", line 117, in _basic_login
ValueError: Bad Username/Password, unable to continue.

I wonder if it was an oversight for the error reporting on the V2 API not to be updated to the same style as the V1 API now uses ?
I'm only using the V1 API in evohome-munin now and I'm just printing the error report pretty much as is from the exception without trying to interpret the fields - the indented json appearance is perfectly readable in a log file:
            try:
                client = EvohomeClient(self.username, self.password, user_data=user_data)
                for device in client.temperatures():
                    data.append(device)
            except Exception as error:
                sys.stderr.write('Connection failed: ' + str(error) + '\n')
                sys.exit(1)


Heap out of bounds read - WASM_OP_I64_LOAD32_S: wasm_interp_call_func_bytecode (wasm_interp.c:1176)

Environment

Questions
Answers

Related Binary
./iwasm (linux build)

Commit
commit 9a02c49d7c2bb2012fe8d2bd2b9cb2bdaf88ba79

Vulnerability/issue
Heap out of bounds read in wasm_interp_call_func_bytecode (wasm_interp.c:1176)
case: WASM_OP_I64_LOAD32_S
Steps to reproduce the behavior

Download:
PoC.zip

Run:
./iwasm PoC.wasm

Fixed with c47baf221fa8139ee45cd31e7dbf1a8310669d8e


Issue installing after latest update 2.5.2

Update messed up  Tab nine, is no longer being invoked, popping up with errors that the bianaries are not found.
Will post update soon

@AlikanakelaKarwowski What os are you using?


MatplotlibDeprecationWarning: savefig() got unexpected keyword argument "facecolor" which is no longer supported as of 3.3 and will become an error two minor releases later

Description
A deprecation warning with savefig()  has been displayed for a long time and has not been solved.
/Users/yk/anaconda3/lib/python3.11/site-packages/proplot/figure.py:469: MatplotlibDeprecationWarning: savefig() got unexpected keyword argument "facecolor" which is no longer supported as of 3.3 and will become an error two minor releases later
return func(self, *args, **kwargs)
Steps to reproduce
import proplot as pplt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)

fig, ax = pplt.subplots()
ax.plot(x,y)
ax.format(xlabel='x axis', ylabel='y axis')
fig.savefig('test.pdf')

Expected behavior: No warning
Actual behavior:
/Users/yk/anaconda3/lib/python3.11/site-packages/proplot/figure.py:469: MatplotlibDeprecationWarning: savefig() got unexpected keyword argument "facecolor" which is no longer supported as of 3.3 and will become an error two minor releases later
return func(self, *args, **kwargs)
/Users/yk/anaconda3/lib/python3.11/site-packages/proplot/figure.py:469: MatplotlibDeprecationWarning: savefig() got unexpected keyword argument "edgecolor" which is no longer supported as of 3.3 and will become an error two minor releases later
return func(self, *args, **kwargs)
/Users/yk/anaconda3/lib/python3.11/site-packages/proplot/figure.py:469: MatplotlibDeprecationWarning: savefig() got unexpected keyword argument "orientation" which is no longer supported as of 3.3 and will become an error two minor releases later
return func(self, *args, **kwargs)
Proplot version
matplotlib: 3.4.3
proplot: 0.9.7
python: 3.11
Computer: macbook pro, m2pro

Fixed with https://github.com/proplot-dev/proplot/pull/459#issuecomment-2291293343


[python-bindings,c-api] Update COREWireableGetModuleDef to reflect C++ API name change

COREWireableGetModuleDef -> COREWireableGetContainer

@leonardt, is this still an issue?

Fixed by https://github.com/rdaly525/coreir/compare/dev...patch-COREWireableGetModuleDef?expand=1


6play.fr No video formats found

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
France
Provide a description that is worded well enough to be understood
6play.fr does not work with error:  No video format found
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://www.6play.fr/la-grande-semaine-p_25643/emission-2-partie-1-c_13064741']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [ff0779267] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.22631-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 7.0-full_build-www.gyan.dev (setts), ffprobe 7.0-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.20.0, brotli-1.1.0, certifi-2024.02.02, curl_cffi-0.5.10, mutagen-1.47.0, requests-2.31.0, sqlite3-3.35.5, urllib3-2.2.1, websockets-12.0
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets, curl_cffi
[debug] Loaded 1810 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp)
[6play] Extracting URL: https://www.6play.fr/la-grande-semaine-p_25643/emission-2-partie-1-c_13064741
[6play] 13064741: Downloading JSON metadata
ERROR: [6play] 13064741: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
Traceback (most recent call last):
  File "yt_dlp\YoutubeDL.py", line 1606, in wrapper
  File "yt_dlp\YoutubeDL.py", line 1762, in __extract_info
  File "yt_dlp\YoutubeDL.py", line 1821, in process_ie_result
  File "yt_dlp\YoutubeDL.py", line 2809, in process_video_result
  File "yt_dlp\YoutubeDL.py", line 1104, in raise_no_formats
yt_dlp.utils.ExtractorError: [6play] 13064741: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

The site requires you to be logged in, but you are not passing cookies.
Even if you were, you probably couldn't download from the site anymore because they added DRM. https://github.com/yt-dlp/yt-dlp/issues/2005
If you can confirm that the site still has non DRM videos, please write so in #2005


Update GUI codebase to handle GeometryPath refactoring

Fixes issue #<0>
Brief summary of changes
Update bindings to be consistent with opensim-core post GeometryPath refactoring
Testing I've completed
Built and launched the GUI on windows and visualized a model with muscles and another without muscles
CHANGELOG.md (choose one)

no need to update because internal

Need to test the artifacts on windows and Mac before merging.

@carmichaelong if you can test it would be great. Note that the ubuntu build due to out-of-space on ci build machine is unrelated and has been there since forever. Thank you

@aymanhab I have tested on windows loading different models and everything seems to work properly.

Testing on both Windows and Mac, models seem to load OK, but either "Show"ing or "Hide"ing muscles does not seem to do anything (no error messages either)

Thanks @carmichaelong as it turns out the GUI code was counting on Property name being GeometryPath in a couple places, now changed to use "path" instead and utilize the hasVisualPath() hack. Will need another round when we have actual models with non GometryPath paths but for now this fix handles the show/hide/edit as far as I can tell.  You can review now or when ci is finished.

LGTM, tested with the Mac artifact

Thanks @carmichaelong , @AlbertoCasasOrtiz  considering testing same behavior on windows by myself, will merge.


Generated test data will no longer be added to the repository in the future.

Coverage increased (+0.2%) to 99.159% when pulling 861f197487b60bad1a6ee9ef6fc21e7ebf399b96 on wwe_del_gen into 9e7ae79d5ada0ff64a6c5efd1000e1aeef307dcd on master.


Support for monitor_metrics

Is there an existing issue for this?

[X] I have searched the existing issues

Description
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster#monitor_metrics
(Optional) Specifies a Prometheus add-on profile for the Kubernetes Cluster. A monitor_metrics block as defined below.
New or Affected Resource(s)/Data Source(s)
azurerm_kubernetes_cluster
Potential Terraform Configuration
No response
References
No response

Consider this related provider issue:
https://github.com/hashicorp/terraform-provider-azurerm/issues/20702


🐛 [FirebaseAnalytics] Semantic Issue when building for iOS

Bug report
Describe the bug
I am trying to build a Flutter project that uses Firebase services on my M1 Macbook Air. When I try to build for iOS, I get a number of Semantic Issue (Xcode): Use of undeclared identifier 'FIRAnalytics' - see the full message below.
Semantic Issue (Xcode): Use of undeclared identifier 'FIRAnalytics'
/Users/macos/.pub-cache/hosted/pub.dev/firebase_analytics-10.4.4/ios/Classes/FLTFirebaseAnalyticsPlugin.m:86:5

I have tried running pod deintegrate and then pod install/pod update but that has not solved my issue.
Steps to reproduce
Steps to reproduce the behavior:

Create a new flutter project
Run flutterfire configure to connect to existing firebase project
Run flutter pub add firebase_core
Run flutter pub add firebase_auth
Try to build and run the project on iOS emulator (observe that build works)
Run flutter pub add firebase_analytics
Try to build and run the project on iOS emulator (observe that build fails)

Expected behavior
The project is successfully built and run on the target iOS device (whether emulator or real device).
Sample project
Just basic Flutter counter app, with firebase services added to pubspec.yaml

Additional context
My environment is as follows:

MacOS 12.4
XCode 13.4
Flutter Firebase packages:

firebase_core: ^2.15.0
firebase_auth: ^4.7.2
firebase_analytics: ^10.4.4

Flutter doctor
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.10.2, on macOS 12.4 21F79 darwin-arm64, locale en-VN)
[!] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 13.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.80.0)
[✓] Connected device (2 available)
[✓] Network resources

! Doctor found issues in 1 category.

Flutter dependencies
Click To Expand
Dart SDK 3.0.2
Flutter SDK 3.10.2
test 1.0.0+1

dependencies:
- cupertino_icons 1.0.5
- firebase_analytics 10.4.4 [firebase_analytics_platform_interface firebase_analytics_web firebase_core firebase_core_platform_interface flutter]
- firebase_auth 4.7.2 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.15.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]

dev dependencies:
- flutter_lints 2.0.2 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- _flutterfire_internals 1.3.4 [collection firebase_core firebase_core_platform_interface flutter meta]
- async 2.11.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- characters 1.3.0
- clock 1.1.1
- collection 1.17.1
- fake_async 1.3.1 [clock collection]
- firebase_analytics_platform_interface 3.6.4 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_analytics_web 0.5.4+4 [_flutterfire_internals firebase_analytics_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- firebase_auth_platform_interface 6.16.1 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.6.2 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser js meta]
- firebase_core_platform_interface 4.8.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.6.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- js 0.6.7 [meta]
- lints 2.1.1
- matcher 0.12.15 [async meta stack_trace term_glyph test_api]
- material_color_utilities 0.2.0
- meta 1.9.1
- path 1.8.3
- plugin_platform_interface 2.1.5 [meta]
- sky_engine 0.0.99
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test_api 0.5.1 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.2 [collection]
- vector_math 2.1.4

Hi @calebcng, I run the code sample in the repo that you shared and it worked just fine for me.
I noticed you are using an older version of xcode, can you try upgrading to the latest version of xcode to see if you still have this issue?

As I'm still on MacOS 12, I haven't been able to update my XCode beyond the version stated in my post. Let me try to update and I'll report back, thanks!

Closing this as solved.


Use NavLink instead of Link in MenuItemLink component

To be able to highlight current resource

Fixed by #1490


[Feature Request] Add link to demo package file in examples in the docs

Usage example, including component, action, motion, or utility API
No response
Possible implementation - describe how the feature can be implemented
From https://github.com/svelteuidev/svelteui/issues/231#issuecomment-1327208082
Modify the Configurator component in the demos package to include a link to the demo package file, so that it is possible to access the code where the component is being used
Do you want to contribute this feature and create a pull request
Yes

Could you give a brief example of what you think this should look like?

Could you give a brief example of what you think this should look like?

Perhaps some button similar to what we have to collapse/expand the code, still have to try it out

Okay, I can experiment with that.


Environment Variable CI_COMMIT_AUTHOR_EMAIL is wrong

Component
server, agent
Describe the bug
I am running Gitea with Woodpecker CI. I have noticed that for some time now, the built in CI_COMMIT_AUTHOR_EMAIL environment variable is wrong. I have setup a sample project, with nothing more than a simple pipeline.
Here is the git log from the CLI:
commit 3d6d4085e41d1a044a67c15ddb99a7ea4746ded7 (HEAD -> main, origin/main, origin/HEAD)
Author: Philip Kozeny<EMAIL_ADDRESS>Date:   Tue Dec 19 10:32:26 2023 +0000

    Update .woodpecker.yml

Here is the woodpecker.yml
steps:
  build:
    image: alpine:edge
    commands:
      - echo $CI_COMMIT_AUTHOR
      - echo $CI_COMMIT_AUTHOR_EMAIL

Here is the output after running the pipeline:
+ echo $CI_COMMIT_AUTHOR
philip.kozeny
+ echo $CI_COMMIT_AUTHOR_EMAIL
<EMAIL_ADDRESS>
System Info
{"source":"https://github.com/woodpecker-ci/woodpecker","version":"2.0.0"}
Powered by Gitea Version: 1.21.2

Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]
[X] Check that this is a concrete bug. For Q&A join our Discord Chat Server or the Matrix room.

I have further investigated the issue and I can see that in the web hook gitea sends something strange.
For the commits, head_commit, etc. the info is correct, the pusher data has the wrong mail though. So this might be an Gitea issue.
Example of the payload:
{
  "ref": "refs/heads/main",
  "before": "a930081ca449a21d4416bdeb345bc4d3181b916e",
  "after": "3d6d4085e41d1a044a67c15ddb99a7ea4746ded7",
  "compare_url": "xxxx/compare/a930081ca449a21d4416bdeb345bc4d3181b916e...3d6d4085e41d1a044a67c15ddb99a7ea4746ded7",
  "commits": [
    {
      "id": "3d6d4085e41d1a044a67c15ddb99a7ea4746ded7",
      "message": "Update .woodpecker.yml\n",
      "url": "xxxx/commit/3d6d4085e41d1a044a67c15ddb99a7ea4746ded7",
      "author": {
        "name": "Philip Kozeny",
        "email"<EMAIL_ADDRESS>        "username": "philip.kozeny"
      },
      "committer": {
        "name": "Philip Kozeny",
        "email"<EMAIL_ADDRESS>        "username": "philip.kozeny"
      },
      "verification": null,
      "timestamp": "2023-12-19T10:32:26Z",
      "added": [],
      "removed": [],
      "modified": [
        ".woodpecker.yml"
      ]
    }
  ],
  "total_commits": 1,
  "head_commit": {
    "id": "3d6d4085e41d1a044a67c15ddb99a7ea4746ded7",
    "message": "Update .woodpecker.yml\n",
    "url": "xxx/commit/3d6d4085e41d1a044a67c15ddb99a7ea4746ded7",
    "author": {
      "name": "Philip Kozeny",
      "email"<EMAIL_ADDRESS>      "username": "philip.kozeny"
    },
    "committer": {
      "name": "Philip Kozeny",
      "email"<EMAIL_ADDRESS>      "username": "philip.kozeny"
    },
    "verification": null,
    "timestamp": "2023-12-19T10:32:26Z",
    "added": [],
    "removed": [],
    "modified": [
      ".woodpecker.yml"
    ]
  },
...
  "pusher": {
    "id": 1,
    "login": "philip.kozeny",
    "login_name": "",
    "full_name": "Philip Kozeny",
    "email"<EMAIL_ADDRESS>    ...
  },
  "sender": {
    "id": 1,
    "login": "philip.kozeny",
    "login_name": "",
    "full_name": "Philip Kozeny",
    "email"<EMAIL_ADDRESS>    ...
    "username": "philip.kozeny"
  }
}

IIRC:

commiter email: the email in your git commit
pusher email: the user email of the Gitea user

More context: go-gitea/gitea#28532

For Woodpecker wouldn't it make more sense to set environment variables like CI_COMMIT_AUTHOR_... to the author of the commit, not the user who did the push?

This is also happening to me. Is there some updates on this or reasons why the CI_COMMIT_AUTHOR_... variables should not contain the actual commiter's data?

Likely a bug on the first look. Contributions welcome.

i'm seeing this with a mirrored repo (gitlab pushing to forgejo) where the data is set according to the user used by gitlab to authenticate against forgejo  (a bot account on forgejo i've created for this purpose) rather than the expected data of the committer.


Fix fan_out that is different from other frameworks.

I fixed fan_out in initializer.py that is different from other frameworks.
I think get_fans is based on keras implementation and keras used shape[0] as fan_out, but it is fixed in https://github.com/fchollet/keras/pull/2252
Other implementation of fan_out:

Caffe
https://github.com/BVLC/caffe/blob/master/include/caffe/filler.hpp#L193
Tensorflow
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/layers/python/layers/initializers.py#L126

Thank you for reporting the problem. As fchollet mentioned in the original PR, this change can affect the existing training process. So could you have time to think of it?

One option I come up with is to adopt this change in the next major release.

@beam2d Could you check this PR?

Thank you for the proposal. I'm wondering what should be the definition of fan out. Should the equation fan_out = shape[0] * receptive_field_size be the definition? A popular explanation would be the number of output edges from each input unit, though it does not match to the equation for Convolution layer with a stride larger than one. I think it's reasonable to align the behavior with other frameworks and I don't mean I'm against this PR, but I'm just curious about this point.

As mentioned in fchollet/keras#2252, it is described in the paper from He et al (http://arxiv.org/abs/1502.01852).
I think \hat{n} = k^2 d after the equation (14) is the definition of fan out. (k is kernel size and d is output channel size.)
Please see the paper for details.

I agree with merging this PR to v2.


WIP - Tile grid split

This is a work in progress on splitting CLBs into individual SLICEs for the VPR.
The idea is to split each column of the FPGA tile grid so for each CLB column there will be two SLICE columns. There are 4 tile types in the grid. Each of them is split in two so in the end we have 8 tile types:
CLBLL_L -> CLBLL_L_SLICEL_X0Y0, CLBLL_L_SLICEL_X1Y0
CLBLL_R -> CLBLL_R_SLICEL_X0Y0, CLBLL_R_SLICEL_X1Y0
CLBLM_L -> CLBLM_L_SLICEM_X0Y0, CLBLM_L_SLICEL_X1Y0
CLBLM_R -> CLBLM_R_SLICEM_X0Y0, CLBLM_R_SLICEL_X1Y0

The split is implemented by introducing a kind of "overlay" to the prjxray database. There are new Python scripts added which do the split. These scripts take tilegrid.json, tileconn.json and relevant tile_type_*.json files, process them and saves them into a separate folder. All of the prjxray_*.py utility scripts were modified so they access the database through that overlay. So they operate on a splitted grid and new tile types.
The process of grid splitting is integrated into the build system. So far I've managed to generate a fasm file for the xc7/tests/counter project. The bitstream cannot be generated yet as new tile types are not recognized by the fasm2frames.py utility. It is still a WIP.

The bitstream cannot be generated yet as new tile types are not recognized by the fasm2frames.py utility. It is still a WIP.

There should be no need to modify fasm2frames.py to accomplish this.  I will not accept a PR that requires a change in fasm2frames.py

Should we end up with just a single SLICEL and SLICEM types? If the split means we still have multiple tile types then it is not going to achieve the outcome we are after.

@litghost I don't plan to modify fasm2frames.py. I'm going to change fasm prefixes instead.

@mithro Making only tile types SLICEL and SLICEM requires more effort. Even if now there are two identical SLICEs in CLB they have different wire names that come out of the CLB. I would need to rename all the wires.

@mithro Making only tile types SLICEL and SLICEM requires more effort. Even if now there are two identical SLICEs in CLB they have different wire names that come out of the CLB. I would need to rename all the wires.

I don't think this is a true statement, but instead a weakness of this particular approach.

This PR it significantly more complicated than required.  There is a significantly simpler approach if you abandon the "overlay" approach as written.  Please pause and rethink your approach, this is not a fruitful direction.

Right. I know that this is not the best option, however there are issues preventing me from taking a different approach. One of them is that there are many python scripts that do prjxray database import. And all those scripts make use of same information from the db (eg the tile grid) which has to be stored somewhere.
Tomorrow (my time) I'll prepare a document describing what I want to change and how I am planning to do it. I will share it with you.

So after recent discussion we decided that the approach in this PR should not be progressed further. I'am closing this PR.


Update atomic-bisect.yml

test

@unity-together : You have not been authorized to pentest this organization, and it is out of scope from our bug bounty program.
Cease immediately any more test without prior approval.


ioccheck: fix build

Description of changes

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.05 Release Notes (or backporting 23.05 and 23.11 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.

I tested the PR and build the pkg, it does work, however the tool has been archived and will not receive upstream updates, I believe : https://github.com/ranguli/ioccheck

Result of nixpkgs-review pr 281457 run on x86_64-linux 1

2 packages built:

ioccheck
ioccheck.dist


[Optimization] [SQL] Optimize Dinky task's statement column length to avoid sql statement too long error

Purpose of the pull request

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

Do other data source types need to be changed?

Do other data source types need to be changed? such as : h2 and pg

No change needed for Postgres, because its 'text' type can store strings of any length.
PS: I'm not familiar with H2...

h2 也可指定为 MEDIUMTEXT


python311Packages.html5-parser: 0.4.11 -> 0.4.12

Diff: https://github.com/kovidgoyal/html5-parser/compare/refs/tags/v0.4.11...v0.4.12
Description of changes

Things done

Built on platform(s)

[ ] 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.05 Release Notes (or backporting 23.05 and 23.11 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

[ ] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 271232 run on x86_64-linux 1

6 packages built:

calibre
python310Packages.html5-parser
python310Packages.html5-parser.dist
python311Packages.html5-parser
python311Packages.html5-parser.dist
unbook


Logout still a GET request

but, it's a POST actually.

Many are facing this problem: hasura/support#286 hasura/support#314

The old version of docs has been deprecated and all endpoints have been updated under Users & Authentication section. Here's the link to the current version - https://docs.hasura.io/0.15/manual/users/index.html


Licensing conflicts

Any content uploaded is licensed under the Creative Commons Attribution-ShareAlike 2.0 Generic license immediately from upload.

Most licenses dictate that the content must remain under the original license. We'll need to change how uploaded resources are licensed.

0ffa8ac7084b44d53845f3df96898d87d5888319
a3af65c57c125618dd450bb4e9f300e003966d99


Code Refactor

In this MR I refactor the plugin based off of work from an adjacent project
Changes:

Added optional Sender argument for sent events and SenderFilter for listening for events. Allowing you to filter events by actors who emit the event
Added PayloadFilter argument to ListenForEvent, allowing you to only accept events that have a payload of a specific struct type
Updated StopListeningForEvent functions to cover the most common use cases I found so far
Added an async action allowing you to wait for an event to happen in BP
Moved all files one folder up so that you can now clone the repo straight into your plugins folder

Was curious what copilot code reviews would look like. Merging this MR anyways but hoping to add tests in the near future to help the auto review process along.


2 tasks based on atoms / the periodic table

This is two simple tasks based on the model's knowledge of chemistry.
periodic_elements: Map from atomic number to element name
periodic_elements_shift: Do simple manipulations of elements by adding or removing a proton, or moving up or down on the periodic table.

Thank you for submitting your task! We are in the process of pairing submissions with task reviewers and will be in touch soon.

I am one of the reviewers assigned to review this task.
I think the idea of doing domain-specific tests, especially in scientific subfields, is a great way of testing the knowledge learned from language models. I think the task should be included as a benchmark, but have some minor concerns:

I'm concerned that the first task, "Periodic Elements", does not meet the criterion of "Not solvable by memorizing the Internet". Elements and their corresponding number are of course readily available on the internet, and I am concerned the A-A format is generic enough that this task will have seen very similar sequences in its training set. However, if this first task is to simply establish the most basic domain knowledge in Chemistry, I think its simplicity is fine when paired with the second task.
In the second task, the phrasing "What element is just below X on the periodic table?" (and similarly for above) was slightly confusing for me. My first inclination to answer this question would be the element spatially below element X in the periodic table (e.g. the element below Hydrogen is Lithium). I am not a trained chemist, so I'm not sure if talking about the periodic table in such a way is standard. Would the phrasing "What element is before X on the periodic table?" be less ambiguous? As a side note, it might be interesting to also test such spatial understanding of the periodic table.

Hey @kaitken17 sorry for the delay!

I chatted with @cdfreeman-google a bit about this. I agree it is borderline in this respect. I doubt every exact Q/A pair is shown but I expect some of them are. At the same time, if this was the case I would have expected perf to be better on this task but it is not. It sounds like we are on the same page to leave it though as it provides insight into how task 2 is behaving.

I am in fact testing spacial reasoning on the periodic table. There are 4 tested directions -- left, right up and down. I am using the strings:

left: "What element contains one less proton than XX"?
right: "What element contains one more proton than XX"?
up: "What element is just above XX on the periodic table?"
down: "What element is just below XX on the periodic table?"
I could switch to be more explicit:
"What element is located just {above, bellow, to the right, to the left} of XX on the periodic table?"
Does this sound better to you? If so I can make the change.
Thanks for the review!

@lukemetz, I think the explicit "What element is located just {above, below, to the right, to the left} of XX on the periodic table?" sounds the least ambiguous to me. This could be in addition to the questions like "What element contains one {less, more} proton than XX?". The former sounds like it would test spatial understanding of the periodic table while the latter is more explicitly a chemistry question. I think both of these would be great to include in the task.

@stanislavfort You are the second reviewer on this PR. Please provide feedback before Friday, March 26th.

Reassigning @vedant as the second reviewer on this task. Please provide feedback and then tag me with comment to "accept" or "reject" by Friday, March 26th.

@lukemetz Thank you for this submission! I'm one of your assigned reviewers.

Correctness: The automated tests pass for periodic_elements but not for periodic_elements_shift. The metric "accuracy" is not supported. Furthermore, the answers in task.json are not correct. E.g. the "below" and "above" questions seem to have target answers that actually correspond to elements with +/-1 in atomic number rather than elements in the same group but with larger/smaller period. Furthermore, once this is corrected, additional attention must be paid to the fact that the canonical location of the Lanthanoid and Actinoid series is underspecified in Mendeleev's table. E.g. the element that appears under Rutherfordium might be Lanthanum in some tables, but Cerium in other tables, depending on how the Lanthanides and Actinides are displayed.
Specificity: The task combines basic recall of factual world knowledge about Mendeleev's periodic table with simple spatial/tabular reasoning. This is a specific capability.
Thoroughness: This task quantifies its targets in a robust and unambiguous way.
Difficulty: The author specifies that this task was difficult for internal google LMs and T5.
Not solvable by memorizing the internet: While periodic_elements can be solved completely by memorizing the internet, this is less likely to be the case for the periodic_elements_shift task.
Novelty: To my knowledge there are no chemistry-specific tasks in BIG-Bench already.
Justification: The task is motivated by the goal of probing knowledge of chemistry.
Size: Size should not be a problem.
Compute resources: Compute resources should not be a problem.

@chiafullo: Requires additional work, such as fixing metrics for periodic_elements_shift and correcting the answers in task.json. Once this is fixed, the task should be good to accept.

@lewkowycz for meta review and merge (if acceptable)

(FYI: I am working to update with the changes suggested this moment. Will be done shortly.)

@vedant: Thanks for the review.
Correctness: A few things went on. First there was a bug that slipped through my tasks generation that messed up some of the outputs. This has been fixed. There are now 6 types of "shifts" increase a proton, decrease a proton (these are based on atomic number), and the 4 cardinal directions (up down left right). When there is ambiguity (e.g. the f-block as you pointed out) I do not include them. For left right this also includes removing element 56, 88 when shifting right, and 71, 103 when shifting left. Shifting left and right are a subset of the 1 more and 1 less proton. Originally I was assuming the extended, 32 column periodic table, but I think there are enough elements just to drop the f-block all together for clarity sake.
Tests: Sigh, I thought the default presubmit test was covering this. Tested both tasks locally now when run via pytest.
@kaitken17: I have updated the periodic_elements_shift task to be like we talked about (including both "types" of tasks).

@vedant What are your thoughts are the last commits?

Hello, I am meta reviewing this task. Before merging, could you put the two tasks in the same folder as directed in https://github.com/google/BIG-bench/blob/main/docs/doc.md#creating-a-json-task-with-subtasks and could you add a keyword for memorization?

@lewkowycz Done.

Souds good, will merge.


script.mrknow.urlresolver conflicting with script.module.urlresolver

@mrknow I'm hearing from people that sometimes when an addon imports urlresolver, if they have mrknow.urlresolver installed it picks it up instead of script.module.urlresolver as the devleoper intended.
if you are going to continue insisting on maintaining your own version, can you fix that? The most straightforward way would be to rename lib/urlresolver in mrknow.urlresolver to something different so that it doesn't match import urlresolver. If not, we'll be forced to make your repo incompatible with TVA addons.

@tknorris
OK i fix this i this weekend

Done, renamed to  urlresolver9


Fade into next shape

Let cloud smoother change when mesh has refresh.
Maybe needs two cloud mesh data group to cross fading.

Needs to modify ami's core code to render more one or two cloud layers at same time.
Work in progress.

Can't implement due to a fact that low alpha cloud face will show sky instead of other faces behind.
The dev branch (https://github.com/Rivmun/SuperFancyCloudsRefabricated/tree/dev/1.6.0) will pended.
I will solve other issue first.

https://github.com/Rivmun/SuperFancyCloudsRefabricated/tree/dev/fading-feature
Sadly, I cannot implement this feature without any issue for now:

[ ] cloud will flicker when position offset increase.
[ ] fading cloud face will show sky instead of other faces behind.

Will merged this branch and marked this feature by Experimental in #44


Title Bar and Plot Container

Title bar with link to home page if you click on the Imp-Vis icon.
A plot container with basic buttons and sliders. This will require an update when other people's sliders and buttons are done, as they can then be replaced with those.
A basic Plotly demonstration component.

Can parse in a list of buttons and sliders to the plot and these will be automatically displayed, although work will need to be done with whatever plot is used, to link buttons as these buttons/sliders could have various uses, however examples of boolean inputs are provided with the default props.
Will also need to be updated to include different plot types, when these are developed.
You may need to do "npm install plotly.js --save" to get plotly to work
The title bar component, where the logo in the top-right, redirects to the home page.

The plot container component with the basic demonstration plotly plot and the default buttons and sliders for demonstration.

Closing because wrong branch


[Identity] Stop using deprecated datetime methods

The datetime methods utcfromtimestamp and utcnow are deprecated, so this PR is adjusting where we use these.

API change check
API changes are not detected in this pull request.


Adding support for pre-releases and semantic versioning (PowerShell Gallery)

This fixes #68.
The code of System.Management.Automation.SemanticVersion has been taken from PowerShell 7 and slightly modified to run in PowerShell 5.
Setting Pester version to 4.10.1 as the tests are not working with Pester 5.

One thing just came to my mind. This is a braking change that prevents working with 4-digit version numbers. I can do a TryPrase to identify the kind of version we are dealing with and cast either to System.Version or S.M.A.SemanticVersion. Let's wait with the merge.

@RamblingCookieMonster, I have added compatibility for versions and semantic versions in 'PSGalleryModule.ps1'. I have added tests as well.

On a quick pass this lgtm, and looks like error handling will make it a non-breaking change (you had mentioned this above)?  If it's working for you, I'm good to merge!

Have just tested with the DscWorkshop all works as expected. Without adding a prelease version and / or using latest and parameter 'AllowPrerelease', the behavior does not change and nothing breaks.


Set linkopts "-w" instead of "-w -s" when building go binaries

What this PR does / why we need it:
In https://github.com/jetstack/cert-manager/pull/4169, the "-w" and "-s" flags were introduced when building go binaries.
These options remove both the DWARF tables and the symbol tables from the binary. However, removing the symbols table from the binaries causes some issues https://github.com/jetstack/cert-manager/pull/4169#issuecomment-873947733.
@SgtCoDFish noticed that the binary size reduction is mostly thanks to removing the DWARF tables.
Results for the kubectl plugin:

no flags: 74M
"-w": 62M
"-w", "-s": 49M

This PR removes the "-s" flag and only keeps the "-w" flag for building go binaries.
Release note:

reduce binary sizes by adding "-w" as ldflag

\kind feature

\cc @irbekrm

I'm confused, if the user having issues is already modifying cert-manager to link against some CGo stuff, why can't they patch their build config as well?

/assign @irbekrm

/ok-to-test

I'm confused, if the user having issues is already modifying cert-manager to link against some CGo stuff, why can't they patch their build config as well?

For context: the issue that Irbe was talking about is related to using the boringcrypto branch of Go, which uses a different crypto library so that cert-manager might be used in environments which require FIPS compliance.
It's not really changing cert-manager itself - just building in a different environment.
The issue arises afterwards, when we use https://pkg.go.dev/rsc.io/goversion to verify that we're using the FIPS-compliant crypto libs. That tool requires the symbol table to be intact to be able to detect the crypto libraries used, and there are definitely reasons that people might want to make those checks on the cert-manager binaries [1].
There's maybe a case to be made that for the cert-manager kubectl plugin specifically, we could use both -s -w - but the simplest thing to do today is to build everything with -w for now, and maybe revisit in the future.
I guess at the core of it, -w seems like an entirely uncontroversial default for all binaries currently, whereas we have a case where -s breaks things. So, we use -w for now, and then can look at -s on a case-by-case basis.
[1] Since FIPS is bit rubbish, it might be reasonable for a user to want to verify that their cert-manager install was not built with boringcrypto - which is hard to do without the symbol table :smile:

Agree with Ashley that it may still be useful for folks to be able to inspect the binaries.
I guess we can get back to this if there's a strong argument for it?
We are still aiming to remove Bazel from cert-manager at which point this part of the codebase will go away anyway and it should be easier to create a custom build config that isn't too different from how the standard images are built.
/lgtm

/kind cleanup


BUG: Scrolling up button moves towards right on hovering

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
KrishiConnect.webm
On hovering bottom to top button it moves towards right . It should stay at the same place as it was before hovering.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Hi @H1mang1 !
This issue is already  been fixed by someone.
Happy Coding ✨


Define USE_OPEN_GRAPH before opening  tag

Open Graph tags are rendered by default by setting USE_OPEN_GRAPH = True
if USE_OPEN_GRAPH is not defined. Moving set USE_OPEN_GRAPH to
immediately before the opening  tag enables the og and fb
namespaces by default also.
Change the namespace syntax from XHTML to the prefix attribute for valid
HTML5.

Thanks, good catch!


update composer.json (psr/simple-cache v2 and v3)

Ha, I completely forgot about this despite the fact that was a PR of mine a couple years ago: https://github.com/php-fig/simple-cache/pull/18. However, since the current version 5.x supports only PHP 8.1+, I'll update it with the according type hints. For v4.x I'll add the version switch as you suggested to allow upgrading.

I'll cherry pick this to v4.x and add type hints for v5.x. Thank you for your contribution!

@codemasher
Could you please release a new version incorporating these changes?

I just realized that this won't work for v4.x as the updated interfaces would break compatibility when installed under PHP 8+, so I'll leave this one untouched. I'm currently working on upgrading v5.x and will tag it as 5.1 as soon as I'm finished with it.

@bahramsadin I have tagged a new release 5.1.0. I had to adjust the requirement to "psr/simple-cache": "^2.0 || ^3.0" as v1.0 could break compatibility in certain cases (e.g. when a consumer library has 1.0 as the only requirement but would try to install 5.1.x).
As an implementer I cannot simply specify a version range (an exception in this case is psr/simple-cache v2 to v3 as the only changes between them are return types). On the other hand, a consumer library may specify any version that is able to satisfy the needs, to allow flexibility, e.g. to switch out a library - the specifics of the implementations are not necessarily relevant as long as the interface methods remain compatible.


Meta-issue equation labels

[x] minlabelspace #1190
[x] Overlapping labels: #1031, #596, #957, #1189
[x] display-align: #961

All done for now. If new issues are opened, we can re-open this.


firebaseUtils deepCopy treating Date object as a common object

In firebaseUtils module src/utils/utils.js, deepCopy function the first line check if a property is not an object and return it, if isn't. But, a Date is a object that not be treated as an array or an regular object "{}", and must returned in the first line as well a simple value is.
Update: stripDollarPrefixedKeys function have the same problem.
Version info
Angular: 1.5.3
Firebase: 3.5.3
AngularFire: 2.1.0
Test case
http://jsfiddle.net/2e6syt5k/2/

Please resubmit and follow the issue template. Also, include reasoning on why this is a problem. Date format conversions and storage techniques are proprietary and vary wildly. Unclear why utils.js should be expected to handle this.

This seems like an actual bug to me and I think @henriquesobral provided a good repro for us to work with. Our $firebaseUtils.deepCopy() method should be able to handle Date objects and I don't think it's that hard for us to support. I'm re-opening this issue.
What @katowulf is alluding to though is that Date objects are rarely what you want to store in the Firebase Realtime Database since Firebase itself does not handle them (e.g. do ref.set(new Date()) and you'll see what I mean). You are better off storing timestamps generated from a Date object in Firebase instead of the Date object itself.
That being said, our utils function should still behave properly.

We would gladly accept a PR for this if you want to give it a shot!

Yep, I was confused here : ( Thanks for kicking the soup Nazi out of the kitchen!

First, sorry about late reply, I don't know why, but I'm not receiving any update emails from Github.
Second, sorry about my English, it's not my native language.
What I'm trying to explain, is that deepCopy function cannot treat JS Date object as a regular JS Object, iterating over and copying properties.
I'm using $bindTo to make 3-way databind and I have a Date field (type=date) in my form and in my model. So I'm pointing ng-model to a function that treat my Date before saves it, but because $bindTo uses deepCopy, my function always receives an empty Object instead a JS Date.
Function in $firebaseObject.$extend binded on form used to treat JS Date:
getterSetterBirthday: function (value) {
  if (arguments.length) {
    tempDate.setTime(this.personalInfo.birthday = value.getTime());
  } else {
    tempDate.setTime(this.personalInfo.birthday);
  }
  return tempDate;
}

The adjustments that I made on utils.js to make my app works, first to the first line of deepCopy function:
before:
if( !angular.isObject(obj) ) { return obj; }

after:
if( !angular.isObject(obj) || angular.isDate(obj) ) { return obj; }

and to the first line of stripDollarPrefixedKeys function:
before:
if( !angular.isObject(data) ) { return data; }

after:
if( !angular.isObject(data) || angular.isDate(data) ) { return data; }


Add timeout parameter to download_dsyms

Feature Request
Motivation Behind Feature
At the moment download_dsyms wait for 5 minutes (this value is hardcoded) until dSYM files appear on AppStoreConnect. Sometimes generating dSYM files takes more than 5 minutes, so fastlane logs an error and continues without downloading dSYM files
https://github.com/fastlane/fastlane/blob/b0ab18b6b1ba509660fb3d490633ccda160a5b08/fastlane/lib/fastlane/actions/download_dsyms.rb#L103-L112
Here is a typical log:
[19:03:14][Step 5/5] [12:03:14]: Looking for dSYM files for 'my.app.com' on platform ios v1.0.7 (304)
[19:03:18][Step 5/5] [12:03:18]: Waiting for dSYM file to appear...
[19:03:49][Step 5/5] [12:03:49]: Waiting for dSYM file to appear...
[19:04:20][Step 5/5] [12:04:20]: Waiting for dSYM file to appear...
[19:04:51][Step 5/5] [12:04:51]: Waiting for dSYM file to appear...
[19:05:21][Step 5/5] [12:05:21]: Waiting for dSYM file to appear...
[19:05:52][Step 5/5] [12:05:52]: Waiting for dSYM file to appear...
[19:06:23][Step 5/5] [12:06:23]: Waiting for dSYM file to appear...
[19:06:54][Step 5/5] [12:06:54]: Waiting for dSYM file to appear...
[19:07:24][Step 5/5] [12:07:24]: Waiting for dSYM file to appear...
[19:07:55][Step 5/5] [12:07:55]: Waiting for dSYM file to appear...
[19:08:26][Step 5/5] [12:08:26]: Could not find any dSYM for 304 (1.0.7)
[19:08:26][Step 5/5] [12:08:26]: No dSYM URL for 304 (1.0.7)
[19:08:26][Step 5/5] [12:08:26]: No dSYM files found on App Store Connect - this usually happens when no recompiling has happened yet

Feature Description
Add a parameter, let's call it wait_for_dsym_processing_timeout. Which will specify how long fastlane will wait until dSYM files appear on AppStoreConnect. By default, it's 5 minutes.
Alternatives or Workarounds
Add a sleep before calling download_dsym.

Duplicate of https://github.com/fastlane/fastlane/issues/15385


gateway packs LICENSE file contains some jar names that is no there in the pack

Description:
Need to verify the LICENSE.txt content with the files actually shipped in the pack
Suggested Labels:

Suggested Assignees:

Affected Product Version:
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

Updated gateway pack license https://github.com/wso2/product-apim/pull/2040/commits/61c999cb179ef4e8cb59caba9d64282cfbf9549a


Roll angle calculations fails

with the kernels loaded automatically from the synced folder on pub099 the roll angle calculations fails:
    # load the test kernel
    from stixcore.data.test import test_data
    _spm = SpiceKernelManager(test_data.ephemeris.KERNELS_DIR)
    sp = Spice(_spm.get_latest_mk())
    # DOES WORK
    pos = sp.get_orientation(date=datetime(2020, 10, 7, 12), frame='SOLO_HEEQ')
    print(pos)
    # DOES NOT WORK
    try:
        pos = sp.get_orientation(date=datetime(2021, 10, 7, 12), frame='SOLO_HEEQ')
        print(pos)
    except Exception as e:
        print(e)

    # load the latest kernel on pub099
    _spm = SpiceKernelManager(Path("/data/stix/spice/kernels/"))
    sp = Spice(_spm.get_latest_mk())
    sp.meta_kernel_path
    # DOES NOT WORK
    try:
        pos = sp.get_orientation(date=datetime(2020, 10, 7, 12), frame='SOLO_HEEQ')
        print(pos)
    except Exception as e:
        print(e)

returns
<Quantity 1.10233721 deg>, <Quantity -6.59174806 deg>, <Quantity -52.53633971 deg>
Spice returns not found for function: ckgp
Spice returns not found for function: ckgp

Just to keep track I think this issue is due to the kernels and not the code but we should probably put a try catch somewhere perhaps in the get_orientation function?
With fresh kernels zip downloaded from here
spp = Spice('<path/to/unziped/kernels/mk/solo_ANC_soc-flown-mk_v107_20220411_001.tm')
spp.get_orientation(date=datetime(2020, 10, 7, 12), frame='SOLO_HEEQ')
(<Quantity 1.10233721 deg>,
 <Quantity -6.59174806 deg>,
 <Quantity -52.53633971 deg>)

I think this can be close now @nicHoch?

fixed in: #204


Add Blueprint for CockroachDB

Signed-off-by: Rajat Gupta<EMAIL_ADDRESS>Change Overview
Added Blueprint for CockroachDB for Full Cluster Backup, Restore and Deletion of the Backup
Pull request type
Please check the type of change your PR introduces:

[ ] :construction: Work in Progress
[ ] :rainbow: Refactoring (no functional changes, no api changes)
[ ] :hamster: Trivial/Minor
[ ] :bug: Bugfix
[x] :sunflower: Feature
[ ] :world_map: Documentation
[ ] :robot: Test

Issues

fixes #issue-number

Test Plan

[ ] :muscle: Manual
[ ] :zap: Unit test
[ ] :green_heart: E2E

Hi Rajat, welcome to the team and thanks for your first contribution.
Please add the following to the PR description: issue #1361, briefly describe the process/commands used in the blueprint and a detailed test plan.
As a follow up we would have to add an integration test to cover this blueprint.


The kernel appears to have died. It will restart automatically.

Note: Please read this guide detailing how to provide the necessary information for us to reproduce your bug.
Minimal code sample (that we can run without your data, using public data)
# Your code here
# add modulefiles
module load anaconda3/4.8.2
module load cell2location/0.1

#conda activate cell2loc_env (python 3.9)

jupyter notebook --no-browser --port=8896 --ip "*"  \

# jupyter code following as https://cell2location.readthedocs.io/en/latest/notebooks/cell2location_short_demo.html
# [1]to[9] codes from the TUTORIAL go smoothly.
# bugs happen after run [10] codes
adata_vis_plt = adata_vis.copy()

# Log-transform (log(data + 1))
sc.pp.log1p(adata_vis_plt)

# Find highly variable genes within each sample
adata_vis_plt.var['highly_variable'] = False
for s in adata_vis_plt.obs['sample'].unique():

    adata_vis_plt_1 = adata_vis_plt[adata_vis_plt.obs['sample'].isin([s]), :]
    sc.pp.highly_variable_genes(adata_vis_plt_1, min_mean=0.0125, max_mean=5, min_disp=0.5, n_top_genes=1000)

    hvg_list = list(adata_vis_plt_1.var_names[adata_vis_plt_1.var['highly_variable']])
    adata_vis_plt.var.loc[hvg_list, 'highly_variable'] = True

# Scale the data ( (data - mean) / sd )
sc.pp.scale(adata_vis_plt, max_value=10)
# PCA, KNN construction, UMAP
sc.tl.pca(adata_vis_plt, svd_solver='arpack', n_comps=40, use_highly_variable=True)
sc.pp.neighbors(adata_vis_plt, n_neighbors = 20, n_pcs = 40, metric='cosine')
sc.tl.umap(adata_vis_plt, min_dist = 0.3, spread = 1)

with mpl.rc_context({'figure.figsize': [8, 8],
                     'axes.facecolor': 'white'}):
    sc.pl.umap(adata_vis_plt, color=['sample'], size=30,
               color_map = 'RdPu', ncols = 1, #legend_loc='on data',
               legend_fontsize=10)

[The kernel appears to have died. It will restart [automatically.]]

After google, this issue seems from new conda version or python 3.9, I tried the solution as below:
conda install freetype=2.10.4

But, this issue still happens.
When I run [10] separetely, it shows the information as below:
NameError                                 Traceback (most recent call last)
Input In [1], in <cell line: 1>()
----> 1 adata_vis_plt = adata_vis.copy()
      3 # Log-transform (log(data + 1))
      4 sc.pp.log1p(adata_vis_plt)

NameError: name 'adata_vis' is not defined

Hope these information can help to understand the issue, I am not sure this issue caused by the matplotlib.
Looking forward your reply ;)
Thank you very much!

Hi @lifan18
sorry for the delayed response.

Please use the new tutorial https://cell2location.readthedocs.io/en/latest/notebooks/cell2location_tutorial.html - the analysis step the notebook fails in is not necessary and is not present in the most up-to-date tutorial.

Dead kernel is most likely due to running out of RAM. This step densifies data requiring substantial RAM:

# Scale the data ( (data - mean) / sd )
sc.pp.scale(adata_vis_plt, max_value=10)

Thank you very much for your response! I am clear now, thx!


Adjust a regular expression

First of all, thanks for sharing the code.
In the strictjson/base.py, line 40
38  # if all is good, we then extract out the fields
39  # Use regular expressions to extract keys and values
40  pattern = fr",*\s*['|\"]{delimiter}([^#]*){delimiter}['|\"]: "

The regular expression ends with a space symbol.
However, sometimes LLM generates dictionary strings without Spaces after the colon.
For example: {"###name###":"Bob"}
The pattern can be changed to fr",*\s*['|\"]{delimiter}([^#]*){delimiter}['|\"]:\s*" for better adaptability.

This should be changed already in StrictJSON v3.1.0, and this fixed quite a lot of JSON bugs :)
Thank you for your inputs!


LIKE predicate not supported as part of join clause

Only queries with comparison operators in JOIN clause are allowed now in Presto.
E.g. query like:
select customer.custkey ck, orders.orderkey ok from customer join orders on customer.custkey = orders.custkey and orders.comment like 'ala%';

willl fail with Non-equi joins not supported: ("orders"."comment" LIKE 'ala%') error.

@martint I would like to pursue this one. This is intermediate step in making TPC-H Q13 work.
Followup would be to support at least simple cases of non-equality predicates in condition for OUTER JOINS. I created #3889 issue for that.
Is anyone working on that right now. Or does it make sense for me to work on this one?
cc: @ilfrin

We do support some limited forms of non-equi joins. I'm curious about why this form doesn't work. There's no one working on this, yet. Go for it!

fixed


BlurView Conflict

Bug
Because the actionsheet is using the BlurView library, other areas that I use BlurView in are triggering the following error.

I installed using npm install @react-native-community/blur@latest
Environment info

Library
Version

@alessiocancian/react-native-actionsheet
"^2.4.2"

react-native
"0.67.4",

"@react-native-community/blur": "^4.3.2"

Steps To Reproduce
I was not able to run the sample app, and I am working in a private repo. But this is the component causing the error.
Describe what you expected to happen:
1.I expect to be able to add a BlurView in my app without it conflicting with the actionsheet
Reproducible sample code
`            <BlurView
              style={{
                position: 'absolute',
                top: 0,
                left: 0,
                bottom: 0,
                right: 0,
              }}
              // viewRef={this.state.viewRef}
              blurType="dark"
              blurAmount={100}
              reducedTransparencyFallbackColor={AppStyle.colorTheme.black}
            />
            {Platform.OS === 'ios' && (
              <BlurView
                style={{
                  position: 'absolute',
                  top: 0,
                  left: 0,
                  bottom: 0,
                  right: 0,
                }}
                // viewRef={this.state.viewRef}
                blurType="dark"
                blurAmount={100}
                reducedTransparencyFallbackColor={AppStyle.colorTheme.black}
              />
            )}`

                  <ActionSheet
        ref={actionsheetRef}
        options={options}
        cancelButtonIndex={2}
        destructiveButtonIndex={1}
        onPress={index => imagePickerOption(index)}
      />

+1 same error


backend is not displayed in the browser

Good afternoon
Hello brother can you help me
See that I added the file app.js and run but on access see that the backend is not displayed in the browser like you display

resolved
https://github.com/illuspas/Node-Media-Server/issues/209


feat: timeline init

preview: https://vishnusanal.github.io/kochifoss.github.io/

superseded by #7


MJs BUG

@vueform/multiselect doesn't appear to be written in CJS, but also doesn't appear to be a valid ES module (i.e. it doesn't have "type": "module" or an .mjs extension for the entry point). Please contact the package author to fix.
when npm run prod
nuxt 3

Thanks, fixed in 2.4.0


[Bug]: Contact Page Issue : Nav Bar missing

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Contact Page Issue 🚫

Nav Bar Missing
Div overflow
Social links jittering

Video clip :
https://github.com/user-attachments/assets/74fbbe6f-7fd8-493c-83fe-920daf10d31d
Add Screenshots
No response
What browsers are you seeing the problem on?
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

@mansiruhil13


[Event Request] table 36 "Sales Header" - OnRecreateReservEntryOnBeforeValidateLocationCode

We would like to add a new event OnRecreateReservEntryOnBeforeValidateLocationCode in the following trigger. We don't understand that when using item reservation, order tracking, order-to-order production planning, assemble to order or ,even worse, item tracking lines that you want to change the "Location Code" back to the header default. You get some not so pleasing results:
local procedure RecreateReservEntryReqLine(var TempSalesLine: Record "Sales Line" temporary; var TempATOLink: Record "Assemble-to-Order Link" temporary; var ATOLink: Record "Assemble-to-Order Link")
var
    IsHandled: Boolean;
begin
    repeat
        TestSalesLineFieldsBeforeRecreate;
        //A108F0026.Event18.03.ns
        IsHandled := false;
        OnRecreateReservEntryOnBeforeValidateLocationCode(Rec, xRec, SalesLine, IsHandled);
        if not IsHandled then
            //A108F0026.Event18.03.ne
            if (SalesLine."Location Code" <> "Location Code") and (not SalesLine.IsNonInventoriableItem) then
                SalesLine.Validate("Location Code", "Location Code");
        TempSalesLine := SalesLine;
        if SalesLine.Nonstock then begin
            SalesLine.Nonstock := false;
            SalesLine.Modify();
        end;

        if ATOLink.AsmExistsForSalesLine(TempSalesLine) then begin
            TempATOLink := ATOLink;
            TempATOLink.Insert();
            ATOLink.Delete();
        end;

        TempSalesLine.Insert();
        OnAfterInsertTempSalesLine(SalesLine, TempSalesLine);
        SalesLineReserve.CopyReservEntryToTemp(TempReservEntry, SalesLine);
        RecreateReqLine(SalesLine, 0, true);
        OnRecreateReservEntryReqLineOnAfterLoop(Rec, SalesLine);
    until SalesLine.Next() = 0;
end;

Event Signature:
[IntegrationEvent(false, false)]
local procedure OnRecreateReservEntryOnBeforeValidateLocationCode(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; IsHandled: Boolean)
begin
    //A108F0026.Event18.03
end;

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. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.