Refresh token on every request

Hi,
My API refreshes token on every request and sends the new token in Response Authorization header. however, the localstorage is not getting updated with new token.
Do I need to write my own response interceptor to update the new token in local storage?

Yes I believe you will need to create your own http interceptor. Looking at the docs here are all the supported methods:
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
  return {
    // optional method
    'request': function(config) {
      // do something on success
      return config;
    },

    // optional method
   'requestError': function(rejection) {
      // do something on error
      if (canRecover(rejection)) {
        return responseOrNewPromise
      }
      return $q.reject(rejection);
    },

    // optional method
    'response': function(response) {
      // do something on success
      return response;
    },

    // optional method
   'responseError': function(rejection) {
      // do something on error
      if (canRecover(rejection)) {
        return responseOrNewPromise
      }
      return $q.reject(rejection);
    }
  };
});

Satellizer only takes care of request and responseError. On every request, it will grab a token from Local Storage and and attach to headers. You will need another interceptor with response method that parses HTTP headers and saves that new token.

You can take a look at Satellizer's http interceptor, last thing in satellizer.js. You can also disable, copy it and paste it and add just one http interceptor that handles both request and response.

I added my own response interceptor performed a string replace to remove Bearer  and stored the token. things work fine. Thanks!

Hi Sahat,
I've added the following response interceptor, to refresh the token in the storage. However, I get 'invalid token' response from my API. (I'm sure that API works fine). Am I doing anything wrong here?
.factory('ResponseHttpInterceptor', function ($window) {
        return {
            response: function (response) {
                if (response.headers('Authorization') != null) {
                    $window.localStorage.setItem('todevs_token', response.headers('Authorization').replace('Bearer ', ''));
                }
                return response;
            }
        }
    })

@Vishal0203 I don't understand, are you getting "invalid token" response from your API instead of Authorization header or are you saying you are seeing invalid token error in the Dev Console?
Your http interceptor looks correct. If it's a back-end PHP related issue I don't know how to help there, if it's failing on the client-side, it can only fail for "invalid token" reason in isAuthentication method. Although I already have a try/catch there, so it should be pretty safe and not throw an exception.
var token = storage.get(tokenName);

          // A token is present
          if (token) {
            // Token with a valid JWT format XXX.YYY.ZZZ
            if (token.split('.').length === 3) {
              // Could be a valid JWT or an access token with the same format
              try {
                var base64Url = token.split('.')[1];
                var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
                var exp = JSON.parse($window.atob(base64)).exp;
                // JWT with an optonal expiration claims
                if (exp) {
                  var isExpired = Math.round(new Date().getTime() / 1000) >= exp;
                  if (isExpired) {
                    // FAIL: Expired token
                    storage.remove(tokenName);
                    return false;
                  } else {
                    // PASS: Non-expired token
                    return true;
                  }
                }
              } catch(e) {
                // PASS: Non-JWT token that looks like JWT
                return true;
              }
            }
            // PASS: All other tokens
            return true;
          }
          // FAIL: No token at all
          return false;
        };

@Vishal0203 I like your code, but I refectored it and I used it as below:
$auth.setToken(response.headers('Authorization').replace('Bearer ', ''));

@francisrod01, If I use $auth in HttpInterceptor, it throws circular dependency issue:

Circular dependency found: $http <- SatellizerLocal <- $auth <- ApiInterceptor <- $http <- $templateFactory <- $view <- $state

Hi @prashant-pokhriyal what's up?
Here how you solve circular dependency issues
https://stackoverflow.com/a/19368367/3332734


Karpenter is not respecting per-node Daemonsets

Version

Karpenter: v0.7.2

Kubernetes: v1.21.5
Context
We run several different daemonsets on a per-nodes basis: metrics, logging, EBS CSI, secrets-store CSI.
These need to be present on every node as they provide their functionality to every pod on a node.
(This could be a configuration / unset flag issue, looking for more information)
Expected Behavior
When choosing an instance type to provision for pending pods, Karpenter should take into account any Daemonsets that will be running on the node, not just the pending service pods that it will schedule there.
Actual Behavior
This is most noticeable in a brand new cluster, but has also been seen with mature clusters:
When Karpenter brings up a node, it will correctly calculate the resources required to support the new service pod / replica. The aws-node and kube-proxy pods will be started and then the service pod.
When using a larger metrics / logging / CSI pod with requests of e.g 1Gb RAM / 0.5-1 CPU each, these pods will be perpetually stuck in a pending state and will never start, as there isn't enough room on the node for them.
This was most noticeable when creating a new cluster when the aws-load-balancer-controller was deployed, which only requires 0.05 CPU. Therefore even with 3 replicas, Karpenter spun up a t3a.small instance to support these.
Even when adding more replicas (tested with 25 replicas), it continued to spin up t3a.small instances, presumably because they were the cheapest option, but leaving all the daemonset pods in a pending state, apart from one node where there was only one aws-load-balancer-controller pod - in this case one of the daemonset pods started, the rest were stuck in pending.
I believe this is due to how Karpenter is scheduling the pods on the node (something about node-binding in the docs?):

As aws-node and kube-proxy are in the system-node-critical priority_class, they are always scheduled first
Potentially Karpenter is then scheduling the service pod next
The other daemonsets, some with a much higher priority_class, are not scheduled until after the service pod and therefore get stuck in a pending state if there is not enough room for them

Steps to Reproduce the Problem

Create a fresh cluster with Karpenter deployed and a default provisioner
Create n daemonsets with a highish resource consumption that will run on every node
Create a service deployment for a service with very low resource consumption, using the node selector for a karpenter provisioner
Karpenter should select an instance-type suitable for the service pods, but not able to support the daemonset(s)

Resource Specs and Logs

### Default Provisioner
apiVersion: karpenter.sh/v1alpha5
kind: Provisioner
metadata:
  annotations:
    meta.helm.sh/release-name: karpenter-default-provisioner-chart
    meta.helm.sh/release-namespace: default
  labels:
    app.kubernetes.io/managed-by: Helm
  name: karpenter-default
spec:
  labels:
    env: karpenter-default
  provider:
    apiVersion: extensions.karpenter.sh/v1alpha1
    kind: AWS
    launchTemplate: <launch_template>
    subnetSelector:
      Service: Private
      kubernetes.io/cluster/<cluster_name>: '*'
  requirements:
  - key: karpenter.sh/capacity-type
    operator: In
    values:
    - on-demand
    - spot
  - key: kubernetes.io/arch
    operator: In
    values:
    - amd64
  ttlSecondsAfterEmpty: 30

Logs
Do not have access to these logs at this time - but it was correctly trying to schedule the pending pods, and calculating the instance size based on the service pod requests

I believe this was fixed in v0.7.3. Can you try upgrading to the latest v0.8.1 and see if that fixes this issue?

This may also be related to the issue outlined in https://github.com/aws/karpenter/issues/1573 .  Which was fixed by https://github.com/aws/karpenter/pull/1616, but not yet released.

This may also be related to the issue outlined in #1573 . Which was fixed by #1616, but not yet released.

@dewjam is probably correct in what you're seeing @snorlaX-sleeps . This patch will be released next week in v0.8.2

Thanks @dewjam @bwagner5 - the issue outlined in https://github.com/aws/karpenter/issues/1573 sounds like it touches upon some of the same areas, so I am glad there is a fix in 🙂
I will test it out when it gets released and close this issue out after.

Hey @snorlaX-sleeps !
v0.8.2 is out now.  When you get a moment, would you be willing to test out the new version to make sure the issue is resolved?
https://github.com/aws/karpenter/releases/tag/v0.8.2
Thanks again for reporting the problem!

We are still seeing this behaviour after deploying v0.8.2

Hey @snorlaX-sleeps ! v0.8.2 is out now. When you get a moment, would you be willing to test out the new version to make sure the issue is resolved?
https://github.com/aws/karpenter/releases/tag/v0.8.2
Thanks again for reporting the problem!

@dewjam - I deployed the update on 4/14 but didn't get testing the change. I will get back to you once I can test it

Hey @dewjam / @bwagner5
After testing v0.8.2 (with Helm Chart v0.8.2) the issue is still occurring.
Using the same initial deployments + daemonsets mentioned in the original comment, I created a new provisioner for these services and redeployed them.
Initially this looked fine, until all the pods had been restarted and some were stuck in a pending state (daemonsets with a lower or no priority_class)
I deleted and redeployed the Helm Charts for all these services to recreate a fresh deployment for testing (the initial conditions for this error) and it is again creating t3a.small instance sizes, with pods failing to be scheduled.
Deleting all the instances created with this provisioner (call it rebalancing), still causes the issue to occur - it would bring up 3 t3a.small instances and 2 t3a.medium instances, due to PDBs for some of the services.
Several of these t3a.small nodes are running only the daemonsets and a single service pod - if they are batched as 2+ pods, then at least one of the daemonset pods fail to start.
Errors on the daemonset pods are generally one of the following:
Warning  FailedScheduling  38s (x13 over 11m)  default-scheduler  0/9 nodes are available: 1 Insufficient memory, 8 node(s) didn't match Pod's node affinity/selector

or
Warning  FailedScheduling  34s (x6 over 2m17s)  default-scheduler  0/10 nodes are available: 1 Insufficient memory, 1 Too many pods, 9 node(s) didn't match Pod's node affinity/selector

It seems to pick larger instances that will also support all of the daemonsets, it's only at the smaller instance sizes - but again that could be down to CPU/mem thresholds separating the different instance types, rather than as part of the calculation.
As a note, using Terraform with the Helm and K8s providers for controlling the deployment of these services (so everything gets deployed in batches)

@snorlaX-sleeps  Can you point me to a helm chart that has one of these daemon sets so I can try to reproduce, or paste the YAML for the daemonset?

Hey @tzneal
We are deploying the following Daemonsets:

aws-node as we are in AWS
kube-proxy
secrets-store-csi-driver (Helm Chart)
Datadog (Helm Chart)
AWS EBS CSI Driver (As an EKS add-on but a Helm Chart is available here
In house fluentd logging

Datadog resources
{
    cpu_requests    = "200m"
    cpu_limits      = "1"
    memory_requests = "256Mi"
    memory_limits   = "1Gi"
  }

Also deploying the ALB ingress controller as 3 replicas via Helm (creating the small instance sizes), but this could be replaced with any other small pod definition
{
    cpu_requests    = "50m"
    cpu_limits      = "300m"
    memory_requests = "50Mi"
    memory_limits   = "256Mi"
  }

Hey there @snorlaX-sleeps ,
I'm working on reproducing this with the daemon sets you provided.  I'll let you know what I find.

Thanks @dewjam - as I said in the initial post, there are ways to work around it (deploying everything, then destroying all the nodes, but thats only good for non-critical / non-production clusters), but I just want to help identify this issue 👍

As a note, using Terraform with the Helm and K8s providers for controlling the deployment of these services (so everything gets deployed in batches)

Do you think it's possible Deployments are being applied to the cluster before some of the DaemonSets?

To give some context on my question above:
Karpenter usually only takes action when it sees pending pods.  For a Deployment, Karpenter will look at the resource requests/limits of pending pods to determine which instance type to launch.  When it comes to Pods managed by DaemonSets, Karpenter instead has to look at the PodSpecTemplate for DaemonSets to get resource request/limit info (because the pods have yet to be created).
In short, DaemonSets should be applied before Deployments, otherwise DaemonSet pods may remain in a Pending state.

Do you think it's possible Deployments are being applied to the cluster before some of the DaemonSets?
That could be potentially true during the initial deployment, however I have seen this happening when deleting an existing Karpenter managed node to get it recreated as well.

Karpenter only takes action when it sees pending pods. For a Deployment, Karpenter will look at the resource requests/limits of pending pods to determine which instance type to launch. When it comes to Pods managed by DaemonSets, Karpenter instead has to look at the PodSpecTemplate for DaemonSets to get resource request/limit info (because the pods have yet to be created).
In short, DaemonSets should be applied before Deployments, otherwise DaemonSet pods may remain in a Pending state

I understand.
AFAICT, when deploying the services and seeing this issue, the "bound" service pods (the ones that are scaled) seem to start before daemonsets of a similar priority (or even slightly higher priority), going by the fact they don't schedule.
I can rerun the tests again tomorrow and make sure I haven't missed something (something like missing limits or whatever, it's very late here)

Thanks for the info.  If you don't mind, I would like to see the manifest for <big_logging_pod>-774bd5cf76-lb4m6.  Mainly curious about Tolerations and Priority Class (as you mentioned).

I see no mention of it in the Karp logs

Do you have debug logging enabled in Karpenter?
https://karpenter.sh/v0.8.2/development-guide/#change-log-level

Do you have debug logging enabled in Karpenter?
No, but I now know thats a thing!!!

Mainly curious about Tolerations and Priority Class (as you mentioned)
It doesn't have tolerations.
It's a 2 replica deployment given the same priority_class as the fluentd daemonset, as they are both part of the logging setup.
I believe it was the priority-class - I downgraded it's priority class to be lower than the daemonsets (secrets-csi and datadog) and everything correctly scheduled.

After that change I have been unable to repeat the error

That makes perfect sense.  As you identified, if a pod has a higher priority-class than a DaemonSet Pod, then the DS Pod could end up displaced.  Which would leave it in Pending state.
I think you're right that you probably were seeing multiple issues.  Some were fixed by updating priority-class, but others likely were fixed through the v0.8.2 release.
Let me know if we can close this out.  Thanks again for reporting the issue!

Thanks for your help with this @dewjam, sorry for making you test stuff yesterday :(
Thanks for releasing v0.8.2 so quick, I will close this out

I want to reopen the issue since the daemon set related to EBS CSI does not start on the node provisioned by Karpenter.

@thanh-tran-techx Can you create a new issue to track the problem you are running into? Yours may be something different.

In short, DaemonSets should be applied before Deployments, otherwise DaemonSet pods may remain in a Pending state.

This is limitation presents a serious problem - it means that new DaemonSet workloads can never be reliably scheduled on existing clusters. If the workaround is that all daemonsets need to have a PriorityClass assigned, that should probably be documented at a minimum.

Hey, what's the current situation? Is it intended that new DaemonSet pods will be Pending forever instead of making room for them by migrating other pods to new nodes?
Can't this behavior already be justified with the current spec.consolidation.enabled field?
I just tried creating a test DaemonSet, pods were Pending. Then re-applied with spec.template.spec.priorityClassName: system-node-critical, same result.
If there is a clear workaround (not that it's ever logical to make pods Pending by design imo), please document it.

Hey, what's the current situation? Is it intended that new DaemonSet pods will be Pending forever instead of making room for them by migrating other pods to new nodes?
Can't this behavior already be justified with the current spec.consolidation.enabled field?
I just tried creating a test DaemonSet, pods were Pending. Then re-applied with spec.template.spec.priorityClassName: system-node-critical, same result.
If there is a clear workaround (not that it's ever logical to make pods Pending by design imo), please document it.

Facing exactly the same issue. Existing nodes will not have room for DaemonSets added in later helm chart installation. With consolidation enabled nothing will trigger Karpenter at the moment to create a new larger node to replace the old one. Anything else required to make this happen automatically?

Facing this problem. Not sure Karpenter is ready for prime time (Honoring daemonset is foundational)

Facing this problem. Not sure Karpenter is ready for prime time (Honoring daemonset is foundational)

Karpenter does calculate daemonset resources and take them into account for any future node launches.  What it currently does not do is terminate running nodes that were launched prior to the daemonset being created if the daemonset can't run on the node.  This behavior may not be desired by all customers and normally isn't an issue since daemonsets typically have a high priority and will evict running pods so that they can run.

@tzneal  In my case these are brand new nodes, I am not patching the old nodes with new daemonset.
In the below image Karpenter namespace runs in Fargate Profile

@missourian55 If you think that Karpenter is not calculating daemonset resources correctly for daemonsets that existed prior to the node being launched, please file another issue and include Karpenter logs and daemonset specs.  This particular issue is about daemonsets that were created after the nodes were already launched.

@marcofranssen Thank you. I will look into the priority class. However, for EKS add-ons like amazon-guardduty not sure how to set the priority class for those (we Enable addon in console or CF template it just deploys the daemonsets. I don't have control over it)

normally isn't an issue since daemonsets typically have a high priority and will evict running pods so that they can run.

There's nothing inherent to daemonsets that makes this statement true, users have to specifically attribute a priorityclass to their daemonsets to make it so.

There's nothing inherent to daemonsets that makes this statement true

That's a good point. I think generally we see that users tend to put priority classes on their daemonsets to guarantee that they schedule. Otherwise, it's possible, even if the DS is running ahead of time to get pre-empted by some other pod with a higher priority and Karpenter won't trigger a scale-up for that DS that is now pending.

Karpenter won't trigger a scale-up for that DS that is now pending.

This seems like the core issue, no? Requiring a high priorityclass for daemonsets is a workaround for this behaviour. I guess it's possible that users could encounter a similar condition on non-karpenter clusters, but since karpenter tries to right-size nodes users are significantly more likely to encounter it on karpenter nodes.

This seems like the core issue, no?

I agree with this. It's not something that Karpenter (or other autoscalers) support today, but I'd love to see some design work to make this happen.

I'd love to see some design work to make this happen

Agreed. We've had some ideas around consolidation/drift that would enable us to discover that a DS is stuck in a pending state and then spin up a new node that would expand the capacity of the current node to make sure that all the pods that need to be scheduled on the node will get scheduled.

@jonathan-innis It will be great if even if you deploy DS after, karpenter be able to detect such situation and re-combine pods and nodes to make sure that new DS is running as expected.
When do you plan to release this new logic?

We're seeing this issue in our dev environment, as we're deploying our telemetry sensor as a deamon set this issue hit us hard as no new nodes are added for additional capacity when a developer deploys into a newly created namespace.
Are there recommended work arounds for such cases? We have (for ex.) ~20 deamonsets running per node. It's possible that sum(deamonset.requirments) will outgrow the node capacity. This case does not initiats a scale up for karpenter and leaves the cluster in non usable state.

@maximveksler you should set your provisioner to have at least the capacity to host your deamonsets

@maximveksler you should set your provisioner to have at least the capacity to host your deamonsets

Thanks, do you mean setting the machine type selection to fit in such a way that there will remain place for the deamonsets or is there a way to configure the provisioner to allocate "extra" space on the planning (which is a better option for a workaround I'd consider).
An example here would be helpful IMHO.
For reference here is my installation https://gist.github.com/maximveksler/38ec0cefa0ca2acccab748e71e5aebc0

- key: "karpenter.k8s.aws/instance-cpu"
      operator: Gt
      values:
        - '10'

This would be all I would tweak.
You know what you want to always load on your nodes in terms of DS, so set a minimum of cpu and/or RAM in your provisioner

I'm closing this issue since it looks like the original issue was resolved by v0.8.2. We are tracking some of the discussion around daemonset-driven consolidation through: #3256  and we have updated our docs around daemonset priority and ordering here.


Some new fix makes OBSI not support hex values in HeaderClassifier match

Specifically I send 0x800 as ethtype and get an error. The error comes from line 34 where you do int(value) and value is '0x800' in this case.

Please attach a JSON with the message to reproduce the error.
On Jan 28, 2016 13:59, "Yotam Harchol"<EMAIL_ADDRESS>wrote:

Assigned #29 https://github.com/OpenBoxProject/obsi/issues/29 to
@pavel-lazar https://github.com/pavel-lazar.
—
Reply to this email directly or view it on GitHub
https://github.com/OpenBoxProject/obsi/issues/29#event-529562963.

It was never supported before(see the spec).
See new PR for support.

Oh sorry, so it just somehow worked before.
Thanks


docs: add live preview mode

Codecov Report

:exclamation: No coverage uploaded for pull request base (jeanregisser/shortcuts-docs@0e3d622). Click here to learn what that means.
The diff coverage is n/a.

@@                      Coverage Diff                       @@
##             jeanregisser/shortcuts-docs     #162   +/-   ##
==============================================================
  Coverage                               ?   91.37%
==============================================================
  Files                                  ?       29
  Lines                                  ?      591
  Branches                               ?       59
==============================================================
  Hits                                   ?      540
  Misses                                 ?       47
  Partials                               ?        4

Continue to review full report in Codecov by Sentry.

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


refactor(blocklist): separate utility function & kill switch for validating data in blocklist

Type of Change

[ ] Bugfix
[ ] New feature
[ ] Enhancement
[x] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description

Refactoring the way blocklist is written making the code separated into utility functions rather that being on the core flow itself.
Moreover this will allow us to enable and disable the blocklist feature based on each merchant's requirements.
The steps to test out this feature can be found in the mentioned issue.
Additional Changes

[x] This PR modifies the API contract
[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context

How did you test it?

Checklist

[x] I formatted the code cargo +nightly fmt --all
[x] I addressed lints thrown by cargo clippy
[x] I reviewed the submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

Also postman tests are failing. Please check these.

Hey @vspecky, I feel that the error should be handled gracefully by passing a field or a flag saying that the payment method is blocked and all the further steps should read this value and skip the step if payment method is blocked, the status should then be updated in the payment_response_update_tracker. What do you feel about this?

Hey @vspecky, I feel that the error should be handled gracefully by passing a field or a flag saying that the payment method is blocked and all the further steps should read this value and skip the step if payment method is blocked, the status should then be updated in the payment_response_update_tracker. What do you feel about this?

@Narayanbhat166 I don't think there's an issue with early return. If we wanted to do it gracefully, we'd have to add guards everywhere in the subsequent flows in the form of if !blocked { do stuff and return data } else { return some default data }. I don't see a point in going through all that dev trouble and processing if we know we're gonna return an (irrecoverable) error.

@vspecky the problem lies in the way this error is raised, in fact this is not an application error, but we are made to handle it as an application error to short circuit the flow and save some of the dev effort.

@vspecky the problem lies in the way this error is raised, in fact this is not an application error, but we are made to handle it as an application error to short circuit the flow and save some of the dev effort.

@Narayanbhat166 That makes sense. In the first place, do we even want to send an error? We should probably be sending a PaymentsResponse with the status as failed right? (return Ok() from payments_operation_core)


Generator process updates

Alaska Airlines Pull Request
Fixes: #17, #24, #25, #27
Summary:

resolves #17; removes the dependency on Gulp
resolves #24; the practice of using a shape.json file to generate local design tokens
resolves #25; the process of managing package version from the package template file
resolves #27; support for the custom namespacing of a component

Type of change:
Please delete options that are not relevant.

[ ] New capability
[x] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Minor fixes to packaging

Make sure universal binaries are built by default.
It seems the latest setuptools expects the keywords to be a list, otherwise each character of the string becomes a keyword in itself (managed to mess up a release thanks to this).

👍


Documentation: List of supported DBs an versions.

Could you please make a list of supported databases and minimal versions? Right now it just says 80+ and lists some flavours.

Partially you can see this list here: https://dbeaver.com/databases/
You can see all databases and drivers in the new connection wizard (first page, tab "All").

Thank you, will try that!
I'm asking because I want to survey if it supports older Microsoft SQL Servers. It would be nice to document so people can see this without installing the product first.


Replace initializations of default lists with List.of() calls

Well, defaults in SpringBoot properties most time got overwritten by new instances. So extending if not using JAVA configuration is not possible. IMHO using new List.of() methods is more "beautiful" and reduces imports.


[Feedback requested] Reorg. of the code

Hi everyone!
The code of the project mixes many different concepts: data, transformation, ui, app stuff…
Viewing the hierarchy doesn't help to easily and quickly find things:

In red: data-related (DB, transformation, background tasks, queries…)
In blue: UI-related (mainly screens + widgets)
In green: app-related (entrypoints + main)
Before proposing any change, I would like to know if I'm the only one in the situation of always wondering "where should I put this, or that?".
And if true, do you have any suggestions to improve this?

background might be renamed background_tasks
A lot of files don't mean a lot to me, the wording is not always the same as elsewhere (eg server)
When naming files, I tend to put the common part first for better legibility (kp already follow this convention):
helper_toto
helper_tata
helper_totorototoro

I haven't been in the codebase myself for a while, but yes, it has often been said, especially by new contributors, that it is difficult to find the right files.
I think suggestions for changes are good for now. The only question is how we can do it without making too many changes


Apparent variable substitution

g :: Comp (UInt 5)
g = do
  a <- input Private
  b <- input Private
  c <- reuse $ a * b
  return $ c .&. 5

yields
Right R1CS {
  Constriant (31):
    Ordinary constraints (11):

      $0 +<PHONE_NUMBER>102430251236801561344621993261920897571225600$18 = 0
<PHONE_NUMBER>102430251236801561344621993261920897571225600$1 = 0
      $2 +<PHONE_NUMBER>102430251236801561344621993261920897571225600$20 = 0
<PHONE_NUMBER>102430251236801561344621993261920897571225600$3 = 0
<PHONE_NUMBER>102430251236801561344621993261920897571225600$4 = 0
<PHONE_NUMBER>102430251236801561344621993261920897571225600$18 + $23 = 0
<PHONE_NUMBER>102430251236801561344621993261920897571225600$19 + $24 = 0
<PHONE_NUMBER>102430251236801561344621993261920897571225600$20 + $25 = 0
<PHONE_NUMBER>102430251236801561344621993261920897571225600$21 + $26 = 0
<PHONE_NUMBER>102430251236801561344621993261920897571225600$22 + $27 = 0
      $16 * $17 = $34

    Boolean constraints (15):

      $0 = $0 * $0
        ...
      $4 = $4 * $4
      $6 = $6 * $6
        ...
      $15 = $15 * $15

    Binary representation constraints (5):

      $5 = $0 + 2$1 + ... + 2^4$4
      $16 = $6 + 2$7 + ... + 2^4$10
      $17 = $11 + 2$12 + ... + 2^4$15
      $33 = $18 + 2$19 + ... + 2^4$22
      $34 = $23 + 2$24 + ... + 2^9$32

  Variables (35):

    Output variables: $0 ... $5
    Private Input variables: $6 ... $17

}

, which is correct but there are apparent variable substitutions: $0 = $18 = $23, $2 = $20 = $24, etc.
Doing this at some stage of the optimization pipeline, preferably recursively, would result in much less constraints.
A mininal example is:
h :: Comp (UInt 5)
h = input Private

Right R1CS {
  Constriant (18):
    Ordinary constraints (6):

      $0 +<PHONE_NUMBER>102430251236801561344621993261920897571225600$6 = 0
      $1 +<PHONE_NUMBER>102430251236801561344621993261920897571225600$7 = 0
      $2 +<PHONE_NUMBER>102430251236801561344621993261920897571225600$8 = 0
      $3 +<PHONE_NUMBER>102430251236801561344621993261920897571225600$9 = 0
      $4 +<PHONE_NUMBER>102430251236801561344621993261920897571225600$10 = 0
      $5 +<PHONE_NUMBER>102430251236801561344621993261920897571225600$11 = 0

    Boolean constraints (10):

      $0 = $0 * $0
        ...
      $4 = $4 * $4
      $6 = $6 * $6
        ...
      $10 = $10 * $10

    Binary representation constraints (2):

      $5 = $0 + 2$1 + ... + 2^4$4
      $11 = $6 + 2$7 + ... + 2^4$10

  Variables (12):

    Output variables: $0 ... $5
    Private Input variables: $6 ... $11

}

Also, it would be better to print p - 1 as -1, as older versions did.
By doing the operations above, it will be easier for humans to verify the correctness of the generated R1CS circuit.

Result of compilation as of:

compiler: https://github.com/btq-ag/keelung-compiler/commit/24f8f52ef32944c02dacd670574ae5b6f2678352
language: https://github.com/btq-ag/keelung/commit/8caf12f8f8ad550a4946603d9888e0bba99eb7db

Note:

All UInts are now represented as bit arrays only, without any associating field elements.
Bit int multiplication has not been implemented yet, so the following constraints won't work when the field size is too small.

Right R1CS {
  Constriant (21):
    Ordinary constraints (6):

      $0 - $20 = 0
      - $1 = 0
      $2 - $22 = 0
      - $3 = 0
      - $4 = 0
      ($5 + 2$6 + 4$7 + 8$8 + 16$9) * ($10 + 2$11 + 4$12 + 8$13 + 16$14) = 32$15 + 64$16 + 128$17 + 256$18 + 512$19 + $20 + 2$21 + 4$22 + 8$23 + 16$24

    Boolean constraints (15):

      $0 = $0 * $0
        ...
      $14 = $14 * $14

  Variables (29):

    Output variables: $0 ... $4
    Private Input variables: $5 ... $19
    Other variables: $15 ... $24

}


Clinvar but better

Fixes

Closes #147
Closes #149

Context

Acute-Care results with the MOI changes but unchanged Clinvar
Acute-Care results with MOI changes AND clinvar changes
Previous results, same joint call, no changes

Proposed Changes
This is PR is a superset of #148 - #148 is just the single script that generates a manual summary file from the raw submissions. That PR will be closed, but could be cleaner when viewed in isolation 🤷 I meant to separate this PR into stacked stages but forgot. From the other PR:

This script takes pointers to a file of individual submissions and the file of variant <-> locus <-> alleles
Clusters all submissions by allele, applies the manual reconciliation process here to all submissions on a single allele
Makes a decision based on retained submissions at an allele, discarding alleles which don't cleanly fall into Benign or Pathogenic conclusions (See Issues)
Sorts all decisions based on a dual-layered sort (contig, position)
Iterates over contigs in order, and generates a per-contig Hail Table from the list of dictionaries
Progressive merging of the single-contig hail tables into one large table
Write that out to GCP

Additional Content:

The Hail field-audit content has now been pulled out into a separate file, making it more accessible to other usages and reducing the overall line count for the Hail methods file.
Removed the AB ratio test and a string formatting method, neither were in use
Hail/Classification stage now understands a private_clinvar optional config entry. If this exists, the Hail table it points to is loaded, and the filtering proceeds with the imported annotations. If it doesn't exist, the extant annotations from VEP are used (as before)
Filtering is done to remove any entries where the clinvar status is Benign and stars > 0
2 boolean Summary values are created: clinvar_aip (Pathogenic at any confidence) and clinvar_aip_strong (Pathogenic and > 0 stars) - these are checked in downstream logic instead of the triple condition clinvar_significance.lower() contains pathogenic and doesn't contain conflicting and stars > 0 - hopefully this should speed up the category checks, and slightly offset the longer duration from the new clinvar lookup
When filtering against gnomad rare, we now allow variants over the threshold if they have the clinvar_aip flag

MOI filtering changes:

The Gnomad Rare/Hom count/Hemi count conditions are applied to both candidate variants in a compound-het, instead of only the primary variant
For every MOI-Gnomad AF test, we allow Cat 1 to qualify even if high af

TESTS

lots of tests added and altered to incorporate the above changes

Checklist

[x] Related Issue created
[x] Tests covering new change
[x] Linting checks pass

Future

A lot of the Clinvar loading/filtering could be optimised using Pandas - might be a good side project for some pandas-savvy individual with time to burn 🐼
Gnomad v2 AF checks aren't currently included. We are checking against both gnomad exomes & genomes for Hom/Hemi counts. Within hail we could take the highest AF value in Gnomad 2/3(/4) and use this for downstream AF checks if we definitely want to consider the worst AF across multiple datasets.

I'm closing this... but there is a weird semi-non deterministic unit test issue I couldn't really understand

There is a session-scoped test fixture which reads a 2-variant VCF, annotates in some blank clinvar annotations, and writes the resultant MT to a temp location -> the fixture returns this temp path
2 tests use this fixture, one which tests the default behaviour (no private clinvar annotations added), and one which makes clinvar annotation tables on the fly and uses them as annotation
Even though each of these test runs reads the MT from disc fresh, the annotations persist from the custom annotation case into the default case UNLESS the default case is first in execution order.

I suspect this is due to hail's runtime being scoped to the full pytest execution rather than each test, and there is crossover from the referenced objects.


[CHORE] Add green pill component

Also adds a 'squared' prop to make the pill have sharper corners.

Per https://www.figma.com/file/EWu17C9ZGqJ5vBlGXIOcEl/Location-Requirements?node-id=61%3A3341
I know squaring it technically makes it not a "pill", but functionally these seemed like the same components, so I thought it made more sense to add it here.

What's the status on this?  We're running into another instance where we need this green one.


Add profile.proto and third party directory

Proto imported from https://github.com/google/pprof

@ofrobots PTAL.

Since the file doesn't contain a copyright, can you include the LICENSE file from the upstream project into the third_party/proto directory. Also include a README.google file documenting the upstream location this file was copied from.
/cc @rauls5382

@ofrobots PTAL.

Lgtm
On Jan 29, 2016 2:53 PM, "Matthew Loring"<EMAIL_ADDRESS>wrote:

@ofrobots https://github.com/ofrobots PTAL.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/cloud-profiler-nodejs/pull/1#issuecomment-177008017
.


Remove SCAN projects

Now that SCAN study has ended sample collection, we can
remove the associated REDCap projects from this app.

 Cleanup SCAN Projects: English, Spanish, Vietnamese, Russian, Traditional Chinese

Deployed.


”Godeanu”, ”Marga”, ”Păunești”, ”Șiroca” are listed in the drop-down menu

Description:
When user writes ”Godeanu”, ”Marga”, ”Păunești”, ”Șiroca” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Godeanu"

Expected results
The location appears in the drop-down menu as "Sat Godeanu, MEHEDINȚI (Godeanu)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Marga"

Expected results
The location appears in the drop-down menu as "Sat Marga, MEHEDINȚI (Godeanu)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Păunești"

Expected results
The location appears in the drop-down menu as "Sat Păunești, MEHEDINȚI (Godeanu)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Șiroca"

Expected results
The location appears in the drop-down menu as "Sat Șiroca, MEHEDINȚI (Godeanu)".


Issue when running CLI

We have created a small test which looks like this

using janono.ado.testcase.associate;
namespace LFAutomation;
[TestFixture]
[janono.ado.testcase.associate.Organization("QET")]
public class TestCase1
{
[Test]
[janono.ado.testcase.associate.TestCase(185)]
public void Test1()
{
Assert.Pass();
}
}
Note : We have used [TestFixture] instead of [TestClass] as it was not working and also [TestMethod] was not working so we used [Test]
We have created the build successfully and the test also run successfully.

After that we download the lasted version of CLI for windows 64 and then ran the command as mentioned but got an error.Pls see the screeshot

@nimishbhuta hi it looks like runtime .net 7.0 is missing or project suppose to be compiled to .net 6.0.
In mean time I added new cli version https://github.com/JanuszNowak/janono.ado.testcase.associate.cli/releases/tag/0.4.1 working also with .net 8.0

@JanuszNowak  Thanks this issue is resolved once I downloaded  the current CLI as you mentioned and installed .net 8.0 runtime.
But faced with another issue where it does not map the test method with the test case. I will open a new issue.


Landmark should not be a subclass of PhysicalIdentifiableItem

A landmark can be a place which is not a discrete physical object, such as a cemetery or battle site.

That's a fair point, if we start with the term 'landmark' and ask what it might mean. So if we care most about the term and want it to include cemeteries, then it needs to be not a subclass.  If we care more about the intended meaning, and if the intended meaning was to indeed be a subclass of PhysicalIdentifialeObject, then we leave the definition as it is and decide what to do about the term. Options include:

leave it as it is and have a scopeNote clarifying that this is a narrow interpretation of 'landmark'
change the term from 'landmark' to something else. I cannot think of anything at the moment.

In any event, landmark is less a kind of a thing that could have inclusion criteria, and more how a thing is used (e.g. to give directions).  A fire hydrant is not fundamentally a Landmark, but it can be used as one. In that sense, its a role class.  Every tree in every forest could be a landmark, but relatively few trees are ever used as landmarks, for example:  (the lone tree).
This makes me wonder if we need this class at all.
M.

Funny, I changed my mind after reading dictionary definitions and thought I didn't submit the issue. Most definitions say something along the lines of "A landmark is a recognizable natural or artificial feature used for navigation, a feature that stands out from its near environment and is often visible from long distances. In modern use, the term can also be applied to smaller structures or features, that have become local or national symbols." (Wikipedia)
Merriam-Webster, Cambridge English Dictionary, Collins, Dictionary.com, Macmillan, ... are all in agreement.

I've closed this - @uscholdm please add a new issue if you want to pursue removal of the class. I'm in favor. I wonder if anyone's ever used it.


Cupertino design for iOS and MacOs

Is your feature request related to a problem? Please describe.
Hi,
it would be nice for iOS and macOS to draw the UI in an native look and feel. In my opinion this is what Apple users want.
Describe the solution you'd like
Cupertino design should be available like metal or fluent.
Describe alternatives you've considered
No response
Additional context
No response

I started on this long ago, but it's a huge amount of work.
It's something best left to the community to create rather than the core team.

Perhaps Avalonia can convert/copy the themes from flutter. I don't know if this is possible.

It's possible but nothing we plan to do. Check awsome-avalonia for how other style libs look like. If someone wants to create such a theme, it can be added to awsome-avalonia.

You can make the controls look like pretty much anything. Someone made a Windows 7 theme awhile back.
https://github.com/Splitwirez/avalonia-aero-theme
But making things look native is a lot of work. A lot of design languages are not publicly documented.


Bot getting muted, distube.play read properties

I'm having two problems:
First, the bot is simply muting in the middle of the song, and this could be linked to the second problem.
Second would be that he is not able to use "distube.play" he ends up returning me an error in the bot "Cannot read properties of undefined (reading 'play')"

DisTube version: ^4.0.4
discord.js version: ^14.7.1
Node.js version: v17.0.1
Operating system: Windows 10

Player:

        client.distube.play(voiceChannel, string, {
            member: message.member,
            textChannel: message.channel,
            message,
          })
          .catch((err) =>
            message.channel.send({
              content: `${client.emoji.warning} | An error encountered: ${err
                .toString()
                .slice(0, 1974)}`,
            })
          );

Distube config:
client.distube = new DisTube(client, {
  leaveOnStop: false,
  emitNewSongOnly: true,
  emitAddSongWhenCreatingQueue: false,
  emitAddListWhenCreatingQueue: false,
  nsfw: true,
  youtubeCookie: client.important.YOUTUBE_COOKIE,
  //   searchSongs: 5,
  plugins: [
    new SpotifyPlugin(),
    Spoti(client),
    new SoundCloudPlugin(),
    new YtDlpPlugin()
  ],
});

Your first problem is related to @discordjs/voice, upgrade it to 0.15.0 or above.
The second problem is not related to distube, check your code if you use client.distube = undefined or delete client.distube or you haven't run client.distube = new DisTube() after creating your client


test: Add  tests in Incoming Payment Controller

Context

closes (or fixes) #682

Test in IncomingPaymentController
Changes
We've added tests to the IncomingPaymentController.
You can check the changes.
@aosccode

@rico191013  @raducristianpopa  @Tymmmy  Can you check it please ?

@Tymmmy @rico191013 changes submited, can you review it again ?

@Tymmmy @rico191013  changes submited, can you review it again ?

We will merge this after the Interledger Summit. Thank you @jocaetano1 @trupakufi . Follow announcements for all hacktober updates here: https://community.interledger.org/devcer/hacktoberfest-with-interledger-join-the-open-payments-movement-3bkd

Thank you for Contributing to Interledger during Hacktoberfest. If you have any accepted PRs, You can claim your Swag here. Last date to fill up the form is December 10th, 2023. @jocaetano1


Tweak asv workflow next

Seemed like some strange hangs were occasionally happening since adding the deallocate. From testing, these tweaks appear to make the workflow more robust.

Thanks, merged


Missing Parameter in door sync code

Cogito and Godot Engine Version:
Godot 4.2.2.stable, Cogito beta 202404.01
Description:
Upon adding a door to the "Doors to sync with" array in a cogito_door, the game breaks with a missing parameter error in cogito_door.gd line 110: object.open_door()
Reproduction steps:
As per description
Expected behavior:
Synced doors open and close without errors, I guess.
Fix
I'm new to Godot and GDscript, but it seems like this issue is readily fixed by passing the 'interactor' variable into object.open_door() function in cogito_door.gd line 110 and object.close_door() in line 117.
Please feel free to tell me I'm just doing it wrong, I only picked up Cogito yesterday.

Thanks for flagging this, looking into it.

Could you take a look at https://github.com/Phazorknight/Cogito/commit/d2132c7d6a739cd8f614103707f5cf5798e9e996 ? should hopefully fix that issue.

Could you take a look at d2132c7 ? should hopefully fix that issue.

Yes this works, and it's how I fixed it too. However, I see that the close_door() function doesn't actually use the interactor at all, and open_door() only uses it for bidirectional swings. Maybe it would be cleaner to make these functions accept null values for interactor, and have open_door() only check for its value for bidirectional doors? Then again, maybe interactor will find more use in those functions in future.

Closing this as issue has been fixed.


ctrl v/p don't work between leapdroid and host

I want to past some texts with the latest leapdroid 1.6.
but ctrl v/p in leapdroid don't work, just insert a space in text editor.
if hold the cursor in editor, the android style "paste" pop up, click it,
the text can be put in editor.
How to check it and fix it. thanks.

we are considering to add ctrl c/v support in VM. Thanks for your feedback.

Pls add ctrl c/v function, we need it.


feat: adds zksync era testnet

Adds zksync era tesnet
Updates public RPC urls for both zksync era mainnet and testnet

Verified the changes. Looks good to me. @saihaj can u please release this in the next cli version release

Hi, in the list of supported networks, the network name for zksync testnet is zksync2-testnet, not zksync-era-testnet, could you please confirm which one is correct? @uF4No

hey @cryptoliang pushing changes to align around the zksync-era-testnet name, as in this original PR


Remove grid usize overflow tests

Fixes #3682
Just a hotfix to make tests pass on 32-bit architectures. Ideally, we'd use unit tests in Rust instead to test this. For now, removing the test is enough.

When I first saw the issue title with Alpine Linux I thought "what cursed thing is going on now?" But 32-bit makes sense of course.


Uncaught Error: ENOENT: no such file or directory, lstat '~/Documents\Privat\Fastlane\HTML CSS\Ud...

[Enter steps to reproduce:]

Deleted one File
...

Atom: 1.50.0 x64
Electron: 5.0.13
OS: Unknown Windows version
Thrown From: Atom Core
Stack Trace
Uncaught Error: ENOENT: no such file or directory, lstat 'C:\Users\kaang\Documents\Privat\Fastlane\HTML CSS\Udemy Course\Web Developement\HTML-Personal Site\inputs.html'
At fs.js:122

Error: ENOENT: no such file or directory, lstat 'C:\Users\kaang\Documents\Privat\Fastlane\HTML CSS\Udemy Course\Web Developement\HTML-Personal Site\inputs.html'
    at Proxy.realpathSync (fs.js:1512:7)
    at Proxy.fs.realpathSync (electron/js2c/asar.js:300:40)
    at TreeView.moveEntry (~/AppData/Local/atom/app-1.50.0/resources/app/static/<embedded>:14:969251)
    at TreeView.onDrop (~/AppData/Local/atom/app-1.50.0/resources/app/static/<embedded>:14:976180)
    at HTMLDivElement.<anonymous> (~/AppData/Local/atom/app-1.50.0/resources/app/static/<embedded>:14:949811)

Commands
     -9:50.9.0 core:select-all (input.hidden-input)
     -9:50.2.0 core:copy (input.hidden-input)
     -0:31.5.0 tree-view:remove (span.name.icon.icon-file-text)

Non-Core Packages
atom-beautify 0.33.4
atom-html-preview 0.2.6
atom-ternjs 0.20.0
autoclose-html 0.23.0
csslint 1.2.0
emmet 2.4.3
language-ejs 0.4.0
linter 2.3.1
linter-eslint 8.5.5
pigments 0.40.2
Sublime-Style-Column-Selection 1.7.5

Thanks for reaching out!
We require the template to be filled out on all new issues and pull requests. We do this so that we can be certain we have all the information we need to address your submission efficiently. This allows the maintainers to spend more time fixing bugs, implementing enhancements, and reviewing and merging pull requests.
Thanks for understanding and meeting us half way 😀


How to setup?

Hey!
I probably missed the instructions somewhere, or I've messed something up. Exactly how do I install this? It looks incredible (sounds like it too), but I have no clue how to get this working. With no errors in the error console, and nothing to see for a blind eye, I'm completely lost. I did notice that you have us using the "test" database on MySQL, but I accidentally deleted it, and I have no knowledge with MySQL. Can you give me step-by-step instructions on how to get everything up and working please?

The installation happens automatically if you pass the auto_install flag (default true).
https://github.com/ionutvmi/master-comments-system/blob/master/comments.class.php#L65
Before calling this code you need to ensure that the database exists. It doesn't have to be named test.

Alright. The flag is enabled, I've cleared my root password, and I haven't touched any other file. There's no error in the Chrome Dev Tools, and yet my comment section is still playing hide and seek with me. Any other clues of what to do?

Try to debug it and see if it gets to the install method.
You should validate that the DB credentials are correct and the permissions for your mysql user.

I have given ALL permissions to my user, and I am 100% positive that my DB cred are correct. Now how do I debug the php file?

Just installed php7.0-mysql, still having the same error

GOT IT! I had to download the php extension of mysql, then enable it in my php.ini Thanks for all the support!


Replaced fork of the headers module by an in-tree handler for the Accept-Encoding header

Description
It isn’t necessary to fork headers module just to implement handling of a single header, it can be done externally. I’ve moved and simplified the relevant code from the headers-accept-encoding module into the tree, this should make upgrading to a current version of the headers module considerably simpler.
Note that the original code had issues, clippy in particular complained about quite a few things. For example, I made ContentCoding implement the standard From, FromStr and Display traits. Iterator chains were also unnecessarily complicated in a few cases.
As to parsing, I didn’t merely drop configuration of separators for reasons of simplicity. Parsing was also incorrect, it allowed quoting comma-separated values which Accept-Encoding header doesn’t. Also, ;q= isn’t actually a separator, it’s a parameter. The syntax allows whitespace between ; and q=, and the syntax also in principle allows for other parameters to be present. There is still an issue with the range: in principle, this code allows arbitrarily large values for q, and the values up to 65.535 will also be treated differently (everything above that value is considered the same). I didn’t consider that worth fixing.
I’ve also added ContentCoding::ANY (corresponds to Accept-Encoding: *). This is a valid value which probably needs to be considered by SWS at some point.
Tests are largely unchanged. I changed method names (prefered_encoding => preferred_encoding, from_str => from, try_from_str => from_str), added quality_values::tests::multiple_values_whitespace test and some tests for ContentCoding::ANY.
Licensing is still an open question, I didn’t look into it. headers module is licensed under MIT, I don’t know whether their code can be licensed under Apache-2.0 as well.
Related Issue
This is a step towards fixing #340.
How Has This Been Tested?
All tests pass.

All done I think.


Custom Metric: Race Conditions?

Checklist:

[x] I've included the version.
[x] I've included reproduction steps.
[x] I've included the workflow YAML.
[x] I've included the logs.

What happened:
Running the example workflow for custom metrics with multiple concurrent workflows results in errors like
An error has occurred while serving metrics:

2 error(s) occurred:
* collected metric "argo_workflows_result_counter" { label:<name:"name" value:"flakey" > label:<name:"status" value:"Succeeded" > counter:<value:9 > } was collected before with the same name and label values
* collected metric "argo_workflows_result_counter" { label:<name:"name" value:"flakey" > label:<name:"status" value:"Failed" > counter:<value:11 > } was collected before with the same name and label values

What you expected to happen:
Workflow metrics should be successfully collected.
How to reproduce it (as minimally and precisely as possible):
Install the latest version of Argo (v2.8.1) in whatever environment you'd like (I git cloned argo @ the latest release), enable metrics config so you can inspect the metrics page, and run the following:
for i in {1..40}; do (argo submit -n argo --serviceaccount argo examples/custom-metrics.yaml &); done

Anything else we need to know?:
No.
Environment:

Argo version:

$ argo version

argo: v2.7.3
  BuildDate: 2020-04-15T22:52:59Z
  GitCommit: 66bd0425280c801c06f21cf9a4bed46ee6f1e660
  GitTreeState: clean
  GitTag: v2.7.3
  GoVersion: go1.13.4
  Compiler: gc
  Platform: darwin/amd64

Kubernetes version :

$ kubectl version -o yaml

clientVersion:
  buildDate: "2020-04-16T23:35:15Z"
  compiler: gc
  gitCommit: 52c56ce7a8272c798dbc29846288d7cd9fbae032
  gitTreeState: clean
  gitVersion: v1.18.2
  goVersion: go1.14.2
  major: "1"
  minor: "18"
  platform: darwin/amd64
serverVersion:
  buildDate: "2020-04-30T20:19:45Z"
  compiler: gc
  gitCommit: 52c56ce7a8272c798dbc29846288d7cd9fbae032
  gitTreeState: clean
  gitVersion: v1.18.2
  goVersion: go1.13.9
  major: "1"
  minor: "18"
  platform: linux/amd64

Message from the maintainers:
If you are impacted by this bug please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

Was able to reproduce... looking into this

Found the bug, fix incoming


[ENG-44] Add google analytics tracking for when hypothesis side panel is opened

Ticket
https://openscience.atlassian.net/browse/ENG-44
Purpose
To add GA tracking to MFR to track when users click open the Hypothesis panel.
Changes

In mfr/extensions/pdf/templates/viewer.mako, we add GA tracking imports.
In mfr/server/static/js/mfr.child.hypothesis.js, we set window.hypothesisConfig to use the onLayoutChange() callback provided by hypothesis to watch for opening of annotation panel.
Add GA tracking ID to settings and use that in renderer.

Side effects
None
QA Notes
Check to make sure the event is only tracked when users open the panel for the first time on that page. Page refresh counts as a new page. User is counted by browser, not OSF User. So if the same OSFUser opens two browser and opens the panel in both, it counts as two events.
Deployment Notes
Add GOOGLE_ANALYTICS_TRACKING_ID for to staging/prod settings.

Coverage increased (+0.03%) to 71.145% when pulling a539d458e0183e21d6b642dfa38f6dadaad0d8cf on adlius:feature/google-analytics into 1c9b11d4366b3c07ccbcbb7921b9ecc3ea4bcd44 on CenterForOpenScience:develop.

Coverage increased (+0.03%) to 71.145% when pulling a539d458e0183e21d6b642dfa38f6dadaad0d8cf on adlius:feature/google-analytics into 1c9b11d4366b3c07ccbcbb7921b9ecc3ea4bcd44 on CenterForOpenScience:develop.

@felliott Comment is added.


add is-failed slot and failed state

Hi,awesome lib.
I add this feature to enable the lib to support display a failed component when there is a network or request error.now we can use $state.failed() to show the is-failed component just like no-result and no-more;

This is great

Thanks for your PR! But sorry, the unit tests was failed so I cannot merge it.


Modify: optimize compose，support more args

const logger1 = (next, ctx) => action => {
    console.log(ctx);
    console.log('logger1 >>>')
    next(action)
    console.log('logger1 <<<')
}

const logger2 = (next, ctx) => action => {
    console.log(ctx);
    console.log('logger2 >>>')
    next(action)
    console.log('logger2 <<<')
}

const dispose = action => {
   console.log(action)
}

const compose = funcs => {
   return funcs.reduce((a, b) => (next, ...rest) => a(b(next, ...rest), ...rest))
}

const newDispose = compose([logger1, logger2])(dispose, 'ctx')
newDispose('action')

middleware function can support more agrs by…rest.

Appreciate the PR, but there's no reason to make changes to compose at this time.

Sorry, Maybe I can not agree.
Some times, i need some context in every middleware, it  need pass all agrs to every middleware.
In origin code,
a(b(...args))

function a just receive one arg, but b receive all args, params not equal i every middleware, so maybe i think it is a bug.

Appreciate the PR, but there's no reason to make changes to compose at this time.
Sorry, Maybe I can not agree.
Some times, i need some context in every middleware, it need pass all agrs to every middleware.

In origin code,
a(b(...args))
function a just receive one arg, but b receive all args, params not equal i every middleware, so maybe i think it is a bug.

Appreciate the PR, but there's no reason to make changes to compose at this time.

Sorry, Maybe I can not agree.
Some times, i need some context in every middleware, it need pass all agrs to every middleware.
In origin code,
a(b(...args))
function a just receive one arg, but b receive all args, params not equal i every middleware, so maybe i think it is a bug.


[FEATURE] List all available NIC on vlan setting page

Detect all phycial NIC on each node (maybe can use command ip by ansible?), then list these NIC to maybe a combobox. Then administrator could select the NIC by click mouse instead of typing NIC name manully.
Please take this into consideration.

duplicate and will be track on https://github.com/harvester/harvester/issues/1273


'flutter build ios' fails on a new flutter project

Steps to Reproduce

Created a new project named temp by running 'flutter create temp'
Change bundle identifier to random com.workozy.ios
Run flutter build ios

Expected results:
Actual results:

Logs

Ayushs-MacBook-Air:temp ayushpgupta$ flutter build ios

Building com.workozy.ios for device (ios-release)...
Signing iOS app for device deployment using developer identity: "Mac Developer: Ayush P Gupta (875YDMVCY2)"
Running Xcode build...

 └─Compiling, linking and signing...                         3.0s
Xcode build done.                                           12.6s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    ld: framework not found Flutter
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    ld: framework not found Flutter
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    note: Using new build system
    note: Planning build
    note: Constructing build description

Encountered error while building for device.

Ayushs-MacBook-Air:temp ayushpgupta$ flutter analyze
Analyzing temp...
No issues found! (ran in 5.2s)

Ayushs-MacBook-Air:temp ayushpgupta$ flutter doctor -v
[✓] Flutter (Channel dev, 1.18.0-11.1.pre, on Mac OS X 10.15.4 19E287, locale en-GB)
    • Flutter version 1.18.0-11.1.pre at /Users/ayushpgupta/development/flutter
    • Framework revision 2738a1148b (12 days ago), 2020-05-13 15:24:36 -0700
    • Engine revision ef9215ceb2
    • Dart version 2.9.0 (build 2.9.0-8.2.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/ayushpgupta/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C505
    • CocoaPods version 1.9.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.8052
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[✓] VS Code (version 1.45.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.10.2

[✓] Connected device (3 available)
    • macOS      • macOS      • darwin-x64     • Mac OS X 10.15.4 19E287
    • Web Server • web-server • web-javascript • Flutter Tools
    • Chrome     • chrome     • web-javascript • Google Chrome 81.0.4044.138

• No issues found!

Even running a new project on iphone simulator gives error:
Launching lib/main.dart on iPhone 8 Plus in debug mode...
Running Xcode build...
Xcode build done.                                           26.4s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    ld: framework not found Flutter
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    note: Using new build system
    note: Planning build
    note: Constructing build description

Could not build the application for the simulator.
Error launching application on iPhone 8 Plus.```

Hi @apgapg
Following the steps, successfully builds the app

Building com.workovy.ios for device (ios-release)...
Automatically signing iOS for device deployment using specified development team in Xcode project: X38L7X7WSM
Running Xcode build...

 └─Compiling, linking and signing...                        24.7s
Xcode build done.                                           54.3s
Built /Users/tahatesser/AndroidStudioProjects/temp/build/ios/iphoneos/Runner.app.

Please  make sure bundle id and team is proper selected before building
Thank you

I updated xcode command line tools manually to 11.5 without updating xcode to 11.5. My xocde version is still 11.3
May be thats caused this issue. because after this i am not able to run my any working project

i am also facing the same issue, did anyone solve?

i am also facing the same issue, did anyone solve?

Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.

Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


SymPy.Sym to julia method

Hi, this is not really an issue but more of a feature request. I was thinking the other day that some might want to use the result of a symbolic computation to define a function in julia.
I shouldn't be to hard (for simple expressions) to convert the string to a julia function (probably making some string substitution and using eval). I don't know it this seem reasonable and I'm aware that in some cases it won't work out of the box but I wanted to open the issue you to fiddle around with the idea.

There is a convert method for expressions into functions. So basically x*y*z becomes (x,y,z) -> x*y*z. The order of the variables comes from free_symbols. Is there anything else that might be useful to add?

As far as I can see convert(Function, f::Sym) seems to return something like
(x::Sym,y::Sym,z::Sym) -> x*y*z

I was thinking instead on a way to define the function f(x::Number, y::Number, z::Number) = x*y*z from the SymPy expression. Probably even something like exp(-IM*PI*x)*sin(PI*x), where x::Sym, and convert it to f(x::Number) = exp(-im*π*x) * sin(π*x).
I guess it is probably too much, but the scenario I had in mind was doing some sort of symbolic calculation for a function, get another function in return, translate the result to a julia function using SymPy and use the final julia method for some fast calculations.
Just to be clear, I just wanted to discuss the posibility of implementing something of the sort. If it turns in the end to be a real pain to have anything like, we can close the issue.

No, that isn't quite right. The convert(Function, xyz) doesn't require the inputs to be symbolic, they can be numbers. The output is symbolic though. However, you can compose with the N function to get what you want: pablos_fn(ex::Sym) = (args...) -> N(convert(Function, ex)(args...)). (Or if you know the output type, convert it directly and bypass N which is not type stable.)
But, as you know, that isn't going to be fast. In SymPy itself you can "lambdify" functions which is really what you are asking for here-- creating a function that bypasses the trip to SymPy and back. For that, I'd have to see how the expression is stored in SymPy. Maybe there is a simple enough way to translate that into Julia code.

Seems like this page http://docs.sympy.org/dev/tutorial/manipulation.html gives some direction as to how this could be done. Something to think about....

It would be nice to see a SymPy -> Julia code generator implemented in SymPy itself (SymPy can already generate code for other languages like C, Fortran, and Matlab).

Yeah, that would be great. I guess that given the infrastructure already in place shouldn't be to hard to write one. Maybe also a code generator that generates it in form of a Julia's Expr.

This would be great @asmeurer ! In the meantime, @pabloferz something hacky like this could be extended:

_func(x) = (x.x)[:func]
_funcname(x) = _func(x)[:__name__]
_args(x) = (x.x)[:args]
_srepr(x) = sympy_meth(:srepr, x)

val_map = Dict(
               "NegativeOne" => :(-1),
               "Pi" => :pi,
               "Exp1" => :e,
               "Infinity" => :Inf,
               "NegativeInfinity" => :(-Inf),
               "ImaginaryUnit" => :im
               )
fn_map = Dict(
              "Add" => :+,
              "Sub" => :-,
              "Mul" => :*,
              "Div" => :/,
              "Pow" => :^,
              "sin" => :sin,
              "cos" => :cos,
              "tan" => :tan,
              "exp" => :exp,
              "log" => :log,
              )

function walk_expression(ex, domap=true)

    fn = _funcname(ex)

    if fn == "Symbol"
        return symbol(string(ex))
    elseif fn in ["Integer" , "Float"]
        return N(ex)
    elseif haskey(val_map, fn)
        return val_map[fn]
    end

    as = _args(ex)
    if domap
        return Expr(:call, fn_map[fn], [walk_expression(a, domap) for a in as]...)
    else
        return tuple(fn, [walk_expression(a, domap) for a in as]...)
    end
end

function lambdify(ex::Sym)
    eval(Expr(:function,
              Expr(:call, gensym(), map(symbol,free_symbols(ex))...),
              walk_expression(ex)))
end

Yeah, I was thinking in writing something similar. I guess it is just a matter of writing the Dict with as most equivalences as possible.

I've only dabbled in Julia so far, so I'm probably not the best person to write it, but pull requests are welcome. It should be easy to write a JuliaCodePrinter assuming you know all the right Julia function conversions.  That would generate a Julia expression (string) for a SymPy expression. It would then assumedly be easy for SymPy.jl or anyone else for that matter to take that and wrap it in a Julia function (with a type signature and whatnot).  There's also improvements happening in SymPy now that would allow writing code printers in SymPy to generate the full Julia code, including the function definitions (see https://github.com/sympy/sympy/pull/10486 if you are interested in that).

I pushed the hack for lambdify with e0a8985 . When I find time, I'll look into the sympy issue 10486.

The SymPy issue sympy/sympy#10486 is still a work in progress. Just letting you know about it since here will likely be interested in the project.

The partial solution works for me now. But I can give it a go and implement JuliaCodePrinter over sympy.

Now that https://github.com/sympy/sympy/pull/10556 is merged future versions of SymPy.jl's lambdify can leverage SymPy's new julia_code for example.

I'm curious which will be faster. I don't really have a system where I can experiment with the underlying sympy setup. Can you benchmark? The alternative if the current lamdify is faster would be to make a print call to generate the expression, like jprint and not eval this into a function, but leave that as an option for a user. I'm pretty sure your work is more general.

With 362d0ff I added support for julia_code, when present. Can you test? Thanks for doing this!


Check that rename to cmakepp will not break anything

Hi Tobias.
I have seen your blog post on reddit, congratulations! This is so great.
About project renaming, I noticed the biicode block toeb/cmakepp is empty :( Completely empty.
Also last week we featured biicode badges, you can get them in the settings page of the block. Here's an example:

yeah I'm trying to fix it.  just takes a little time ;)


Text contrast is bad in Dark/Dracula mode

Describe the bug
Text contrast is too low in Dark/Dracula mode, mostly when selecting fields from suggestions.
To Reproduce
Go to the Settings and change the Theme to Dark/Dracula
Expected behavior
The text color is changed to be easily seen in dark background.
Screenshots

Desktop (please complete the following information):

OS: Windos 11
Browser: Chrome v102
Platform: Chrome extension
Version 4.5.0

Do you have any plugins installed? Remove them and restart the application

Do you have any plugins installed? Remove them and restart the application

Which "plugin" do you mean? I only install the extension from the Chrome's Web store

Yeah I can confirm the same without plugins. I'll take a look.


Removes unnecessary code

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (246c2a8) 84.24% compared to head (7c5c2ab) 84.07%.

Files
Patch %
Lines

onnx_extended/tools/einsum/blas_lapack.py
98.07%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #147      +/-   ##
==========================================
- Coverage   84.24%   84.07%   -0.18%
==========================================
  Files          56       56
  Lines        7022     6945      -77
==========================================
- Hits         5916     5839      -77
  Misses       1106     1106

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


How I can get device I’d or serial no

How can  i get immutable device id or serial no
I tried many packages every tim id is change after device update or factory data reset

Please see flutter.dev/community for other resources where you can ask general questions; the issue tracker is for Flutter bug reports and feature requests.


add ethan zuckerman quote from media lab statements

Bassel worked to connect Syria with the rest of the world, and to ensure that all Syrians... could make their voices heard online.

Bassel’s work is in the best spirit of Civic Media, working to connect contemporary Syrians to global conversations while preserving Syria’s rich history and culture.

Great and should let him know when live so he tweets it. Actually all
should be notified publicly on twitter when live ao they retweet and we get
more signers.
On Monday, February 8, 2016, Christopher Adams<EMAIL_ADDRESS>wrote:

Bassel worked to connect Syria with the rest of the world, and to ensure
that all Syrians... could make their voices heard online.
Bassel’s work is in the best spirit of Civic Media, working to connect
contemporary Syrians to global conversations while preserving Syria’s rich
history and culture.
—
Reply to this email directly or view it on GitHub
https://github.com/freebassel/freebassel.org/issues/105#issuecomment-181211368
.

New one:

Bassel's life and work represent the open source movement at its most generous and creative. Ending his imprisonment should be a priority for anyone concerned about openness, collaboration and intellectual freedom.

http://freebassel.org/campaign/quotes/#ethan-zuckerman


⚠ Bofrost.es has degraded performance

In b64ba33, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1634 ms

Resolved: Bofrost.es performance has improved in a186dc1 after 6 minutes.


Lumen ^6.0

Fast open controller in web.php not working

Enabling Facades ✔
Adding the Service Provider ✔

But doesn't auto-complete support in the route string require support for the IDE itself, like https://plugins.jetbrains.com/plugin/7532-laravel

PHP/Route: Controller completion and goto

Not sure what ide-helper can do here or am I missing something 🤔

I think

I am facing the same issue for Lumen 7 and "barryvdh/laravel-ide-helper": "^2.8",


Use actual node resource utilization by consuming kubernetes metrics

Extend LowNodeUtilization with getting nodes and pod usage from kubernetes metrics.
Policy configuration:
apiVersion: "descheduler/v1alpha2"
kind: "DeschedulerPolicy"
metricsCollector:
  enabled: true
profiles:
- name: ProfileName
  pluginConfig:
  - name: "LowNodeUtilization"
    args:
      thresholds:
        "cpu" : 20
        "memory": 20
        "pods": 20
      targetThresholds:
        "cpu" : 50
        "memory": 50
        "pods": 50
      metricsUtilization:
        metricsServer: true
  plugins:
    balance:
      enabled:
        - "LowNodeUtilization"

Fixes: https://github.com/kubernetes-sigs/descheduler/issues/225

/lgtm

/retest-required

/retest-required

/lgtm

Thanks!
/lgtm

Squashing commits.

any idea on when this might be released @ingvagabund ? I see it's not in any of the release notes yet

Currently targeted for v0.32.0

the e2e tests fail frequently, can someone take a look? thanks
https://prow.k8s.io/view/gs/kubernetes-ci-logs/pr-logs/pull/kubernetes-sigs_descheduler/1570/pull-descheduler-test-e2e-k8s-master-1-31/1867751211424288768

Process did not finish before 40m0s timeout


Causes checkboxes to disappear.

Codepen with issue displayed

This is intended.  This reset is very aggressive and requires a dev to apply their own styling to all elements.

This is intended. This reset is very aggressive and requires a dev to apply their own styling to all elements.

Thank you!


Swift Command-line Tool executableTarget

Context 🕵♀
Has the possibility of creating an executableTarget been considered?
This would allow a command-line-interface in order to read and write project pbx.
https://www.swift.org/getting-started/cli-swiftpm/
What 🌱
We've like to support Renovate upgrading our Xcode project dependencies.
https://github.com/renovatebot/renovate/issues/9735
In order to parse our pbxproj files we need a tool such as XcodeProj to be a distributable binary which could be added a dependency with Node Package Manager.

I'm going to look into this as and try create a simple interface for XodeProj.
I wonder if there has been any existing thoughts surround this?

Stale? It’s only a couple weeks old??

Comment on liked issue also suggested perhaps adding wasm which I suppose would avoid distributed binary

Stale? It’s only a couple weeks old??

This is terrible. I removed it.

Has the possibility of creating an executableTarget been considered?
This would allow a command-line-interface in order to read and write project pbx.
https://www.swift.org/getting-started/cli-swiftpm/

We never considered it. How would you imagine the API being? What kinds of operations would you expect to do through that executable?


Wrap marker setIcon execute in try/catch to avoid crash in host app

Markers may be invalidated and bitmaps disposed after the initial marker has been created, this can result in a fatal IllegalArgumentException. The exception can cause the host cordova app to crash therefore catching it (and warning via Log) is necessary.

Very good. @wf9a5m75 I'd like to merge this one here.


Applications should not fetch secrets from KeyVault directly

It is both an anti-pattern, and unnecessary application code complication.
Instead applications should leverage AppService and KeyVault integration

From a service development perspective, fetching KeyVault secrets in-application is a cheap-way for services to implement auto-secret rotation by polling KeyVault periodically. Obviously, this is not a scalable solution, and a push-model is likely to be chosen if there are high number of service/instances per KeyVault. This would be one reason to stick to KeyVault polling in-application. However, we currently do not implement this correctly either.
I do think that defining application settings without the late in-app expansion is worth doing as it simplifies the app model which simplifies app development when it comes to config. It also allows better flexibility in switching development between environments. My proposal would be:

All settings are stored in App Configuration. App Configuration is a standalone offering of App Service settings, is meant for app configuration, and also allows integration to KeyVault for storing secrets.
The environment settings contains an App Configuration URL setting that allows to fetch all settings if needed.
As part of azd provision, we will hydrate local development settings from App Configuration via environment variables.
A standalone azd command to refresh settings for a given environment. This also allows switching environments.

I think this helps simplify where configuration is stored, how configuration is delivered to the application, and a quick way to switch between environments. This is common if developers want to test changes between environments.

@jongio Do you know if there's been discussions around Azure SDK to support this, and/or who we should talk to? Given that it's a lib, and we need to target a wide variety of languages, I don't think it's feasible for azd to be driving it completely.
From a user that isn't familiar with Azure, it wouldn't be immediately clear for them why the ToDo templates don't just set the environment variable directly. This could lead users to think that they shouldn't store secrets as app service settings.

Azure SDK to support this

Some sdk libraries do expose local-only operations, for some languages.
For example, Key Vault client in Java and Net comes with local crypto operations to create keys locally.
But for other languages, every api exposed in the sdk client should have a 1:1 or 1:Many APIs to Azure services. And local operations should be avoid.
If we would introduce azd app start , we could use azd for doing the job. azd would start the API server, for example, within a enviroment where secrets are already set.


Option to ignore untrusted or self signed certificates

Some internal systems might use a self signed or untrusted TLS certificate. It would be nice if there was an option in the plan to indicate untrusted certificates should be ignored and allow the test to continue. Right now it generates the following error message:
==== ny-puppet02: https://ny-puppet02:8140/production/status/no_key DNS=<IP_ADDRESS> (200 T)
ERROR: x509: certificate signed by unknown authority

merged in #17


Uptime Graph

Description
Just something like uptime kuma built into Homarr or uptime kuma integration even?
It could look like the Normal App Icons with the Indicator if its up or not or like the Download Graph displaying the avarage uptime.
Thank you in advance :D
Priority
Low (Nice-to-have)

Yes, uptime Kuma integration is planned at some point, someone was working on it but unfortunately they stopped.

Duplicate of #814.
Uptime Kuma is a long time coming but we want to add it in soon.


ENSO index calculation from SST data

Provide the means to perform an El Niño-Southern Oscillation (ENSO) index calculation from SST. This may either be provided as a standard built-in operation or as a demonstration for a user-supplied plug-in.
A more sophisticated version of this operation is the Multivariate ENSO Index (MEI), see issue #75.

It was mentioned during the IPM2 it was mentioned that ENSO 3.4 should be used.

the index is called Niño3.4 or N3.4 index and is one of the Standard ENSO indices it is defined as the
normalized5-month running mean of the anomaly of N3.4 mean SST
N3.4 Region is a rectangular region in the equatorial Pacific (120–170°W, 5°S–5°N)
sometimes different rules for regional delineation or smoothing/standardization are used

Does this mean we have to have the 'long term average' tool or climatology to be able to get the anomaly of mean SST over N3.4 in order to calculate the indices?

yes, the index calculation was the reason for starting the climatology discussion

@lkeupp Are there 'climatology' datasets available somewhere that I could use to try and do UC06 without developing the long-term averages tool first? As in, if I understand correctly, I'm interested in long-term monthly average reference data for SST.
Correct me if I'm wrong and I need something else in addition to SST reference data. Or if I need something else completely!

I wrote an email to Kevin to ask regarding an adequate SST reference data set.
When searching myself, I found These datasets from the NOAA ESRL:
Sea Surface Temperature Long Term Means
1961-1990 or
1971-2000  from  http://www.esrl.noaa.gov/psd/data/gridded/data.noaa.oisst.v2.html
Soil Moisture 	Monthly Long Term Means 1981-2010 from http://www.esrl.noaa.gov/psd/data/gridded/data.cpcsoil.html
http://www.esrl.noaa.gov/psd/data/gridded/data.noaa.oisst.v2.html


Credit card icons

Describe the requested icon
A creditcard with different logos written on top of.
These icons could be used in the checkout process to make it clear which providers businesses support.
Additional context
Mastercard
Visa
Amex

Tough to write full words at the scales we are working at, but we'll look into it! Or at least their logos.

Up.


How does this file-name come from? Thank you very much!

googled00b2374bf121c64.html
@ljvmiranda921

At Google search console, select URL prefix as the verification type.


[Polyfill] Make XMLHttpRequest compatible to whatwg-fetch

Described in #69 , when replacing window.XMLHttpRequest react-native fetch becomes malfunction. Though it's still possible to use our fetch but we should still consider make XMLHttpRequest compatible to whatwg-fetch.

[x] Fetch replacement
[x] FileReader polyfill implementation
[x] Test cases
[x] Documentation

It turns out if we are going to do this, we have to implement a FileReader.
W3C document

This feature is now available in 0.9.0-beta.1

close on 0.9.0 release


Page Does not exist when page exists in parent and child folder

Category
[x] Bug
[ ] Enhancement
Problem Area
[ ] Page Transformation: Error during the setup/use of the Page Transformation UI solution (did you check our troubleshooting guide?)
[x] Page Transformation: Error during the use of page transformation from PnP PowerShell
[ ] Page Transformation: Error during the use of page transformation from .Net
[ ] Page Transformation: Page is not looking correct after transformation
[ ] Modernization Scanner: something went wrong...
Expected or Desired Behavior
In my Pages library I have a folder called 'Information Management' and within that folder I have a subfolder called Archive. Each of these two folders has a file called Cats.aspx.
When I run the migration to convert the Cats.aspx file in the Folder 'Information Management' it fails with the message 'Page CATS.aspx does not exist.
Debugging through, i see this is beacause in PagePipeBind.cs the Caml query foundd the two files and its only expecting one:

f I have a file named CATS.aspx If you are reporting a bug, please describe the expected behavior. If you are suggesting an enhancement please
describe thoroughly the enhancement, how it can be achieved, and expected benefit.
Observed Behavior
If you are reporting a bug, please describe the behavior you expected to occur when performing the action. If you are making a suggestion, you can delete this section.
Steps to Reproduce
If you are reporting a bug please describe the steps to reproduce the bug in sufficient detail to allow testing. Only way to fix things properly, is to have sufficient details to reproduce it. If you are making a suggestion, you can delete this section.
Submission Guidelines
Delete this section after reading

All suggestions or bugs are welcome, please let us know what's on your mind.
If you checked the "Page Transformation: Error during the setup/use of the Page Transformation UI solution" checkbox then please provide:

The output of the following 2 PnP PowerShell statements: Get-PnPStorageEntity and Get-PnPTenantServicePrincipalPermissionGrants
The errors listed inside the browser's developer tools window (F12), if possible tested with Chrome as browser
The versions of the sharepointpnp-pagetransformation-client-solution and sharepointpnp-pagetransformation-central-solution solutions in your SharePoint tenant app catalog

If you checked the "Page Transformation: Error during the use of page transformation from PnP PowerShell" checkbox then please provide:

The output you see in your PowerShell session
The output generated by calling Get-PnPException
The PnP PowerShell version. Run get-module -Name SharePointPnPPowerShellOnline and copy the version info

If you checked the "Page Transformation: Error during the use of page transformation from .Net" checkbox then please provide:

The exact error message you get
The stack trace of the error
The version of the SharePointPnP.Modernization.Framework.dll assembly

Thanks for your contribution! Sharing is caring.

Hi @russgove ,
For the page in the lowest level you could add -Folder "Information Management\Archive" but specifying -Folder "Information Management" indeed does still find both pages. This is a bug that we should address for the  next release

Fixed in PS dev version: https://github.com/SharePoint/PnP-PowerShell/commit/4ca7952fc1c34a85a96dd0c27207bcace443a0d7
We now take the first page we see, so below two commands to take the correct page:

Thankyou!
On Tue, Apr 23, 2019 at 12:57 PM Bert Jansen<EMAIL_ADDRESS>wrote:

Fixed in PS dev version: SharePoint/PnP-PowerShell@4ca7952
https://github.com/SharePoint/PnP-PowerShell/commit/4ca7952fc1c34a85a96dd0c27207bcace443a0d7
We now take the first page we see, so below two commands to take the
correct page:
[image: image]
https://user-images.githubusercontent.com/7451219/56600673-87bbba80-65f9-11e9-83c7-bf645b04e60d.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SharePoint/sp-dev-modernization/issues/129#issuecomment-485887744,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AASNDHC3DBIIAXYUKPYC4VLPR45V3ANCNFSM4HHPZ7CA
.


Flutter: Dynamic Views

Description 📜
Add a README File, which explains basic views and view groups,
Reference:
https://flutter.dev/docs
For the structure of folders and files, view previous commits by other contributors

Domain of Contribution 📊

[x] Android Dev (Flutter, Java, Kotlin)

/assign


[HOW TO] How to inject user session in react native webview?

Hello, Thank you for this amazing SDK.
Currentlly i am working in an app that is using webview capabilty, which requires session injection to prevent UC Prompts reappear in the webview.
I am using this stack:

<EMAIL_ADDRESS><EMAIL_ADDRESS>
I am able to inject user session data in iOS by following this guide, where i have done:
injectUCSessionData = () => {
    const sessionData = this.props.userSessionData;
    return `
    window.UC_UI_USER_SESSION_DATA = ${sessionData};
    `;
  };

  // later in webview
  <Webview
    injectedJavaScriptBeforeContentLoaded={this.injectUCSessionData()}
  // ...other props
  />

but in android, the prompt keep reappearing in the webview.
What is the proper way to inject session data in Android? what idea was wanted to be achieved when we want to inject this user session data?

I think you have to do 2 things
first: In your Inject method, return true as well  return
return ` window.UC_UI_USER_SESSION_DATA = ${sessionData};
true; `

We also added {} as well in the return
second: Add sharedCookiesEnabled to true for webview
<Webview
    injectedJavaScriptBeforeContentLoaded={this.injectUCSessionData()}
  sharedCookiesEnabled=true
  />

Actually i have tried added true at the end of my injected script, and added sharedCookiesEnabled as well to Webview props, but the UC prompts keep reappears in Android.
i am intrigued by

We also added {} as well in the return

what did you mean by that?

return {${injectCode} true;}
where inject code is window.UC_UI_USER_SESSION_DATA = ${usercentricsSession};
and usercentricsSession == JSON.stringify(usercentricsSession || {})
and userCentricsSession was retreieved from == payload.usercentricsSession
I do have one hint which helped me a lot. Are you passing the information as String or Object?

btw, it was the problem of my react-native-webview. i just realized i run<EMAIL_ADDRESS>and i apply this diff.
as this comment i made
my problem was solved :)

as for the sessionData,
i passed the this.props.userSessionData was gotten from Usercentrics.getUserSessionData() that i store in redux (as that was async function, but i need it ready before the page is loading).
I think Usercentrics.getUserSessionData() returns a JSON

So you can close this bug? I are with you that we are using updated version of webview

yes, i can close this bug. The way i handled the injected script is fine, what is not there was no handler in the Native Webview component.
thank you