Submit validation not working anymore ?

Hello,
The submit validation example page (http://erikras.github.io/redux-form/#/examples/submit-validation) doesn't seems to work anymore.
On my local dev, I get "Uncaught (in promise) TypeError: Cannot read property 'submitError' of null" when I submit my form.
Not sure if It's related though.

Same error here, even the API returns 200 OK and promise is resolved.

Looks like the commit that introduced this bug is ee7a64f20a39bd147c80623d2dd0e682827f39dc

Also experiencing this issue. Getting a touch  but no validation :-(

@VinSpee use v4.0.1 for now. It's working.

I get same error in both 4.0.1 and 4.0.3 - "Uncaught (in promise) TypeError: Cannot read property 'submitError' of null"

Thanks guys. :+1: I will investigate. :mag:

Ahhh thanks so much @hnordt I just spent 2+ hours wrestling this (new to redux-form and trying to dive straight into server side validation and hitting a wall with this error) and I was beginning to think I was just crazy. Downgraded my version to v4.0.1 and now it is working exactly as expected :+1:
Lesson learned: Consult GitHub Issues before Google. Thanks!

I believe the issue is the dreaded "null is an object" javascript quirk.
If I change line 11 of setErrors.js  in v4.0.3 from
   if (typeof state === 'object') {
to
   if (state && typeof state === 'object') {
then the error goes away for me and validation works as expected. Not sure if that's the best way to do the null check because I'm not sure I fully understand the recursion logic that's going on here.

Excellent catch, @box-turtle! I've been bitten by that quirk more than once.

What puzzles me is how these tests are passing, even with this broken.

@erikras It doesn't look like those tests actually check about asynchronous validation on form submission?

Fixed published. Problem in example was (at least partially) an actual bug in the example.

@erikras I'm not sure if this push caused it, but the docs aren't loading now: http://erikras.github.io/redux-form/
store.js:9 Uncaught Error: Cannot find module "redux-form"

Idiot error on my part. Thanks.
Apparently it helps to run npm install when you upgrade your library version. Who knew!? :see_no_evil:

Thanks erikras, but I still have the issue :  Uncaught (in promise) TypeError: Cannot read property 'submitError' of null when I submit my form and there are no errors.
In line 23 of setErrors.js.
If I replace :
if (state[destKey]) {
with
if (state && state[destKey]) {
It seems to work but not sure why state is null here.

@yleclanche Try v4.0.5.

Yep, 4.0.5 fixes it, thanks !


Add weekStart option support

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Add new option weekStart support

Closing because you did not follow the PR instructions.
Additionally, this option is not needed. The first day of the week is already controlled by end users locale when using moment.js See moment i18n documentation


Stubber.__exit__ has incorrect type

Describe the bug
Similar to #185 Stubber.__exit__ is missing type annotations and is thus not compatible with e.g. contextlib.ExitStack.enter_context. Fix will be similar to a26cf63313f4212b9fc6111dd4836a7b54e0bc0d but for Stubber.
To Reproduce
Steps to reproduce the behavior:

Install boto3-stubs[...]
Run mypy/pyright on the following code sample

import contextlib

import boto3

with contextlib.ExitStack() as stack:
    dynamodb_stub = stack.enter_context(Stubber(boto3.client("dynamodb")))

Actual output
Argument 1 to "enter_context" of "ExitStack" has incompatible type "Stubber"; expected "AbstractContextManager[<nothing>]"

Expected output
No type error.

Additional context
Your OS, boto3-stubs installation method, boto3 version, etc.

Thank you for the report!
Fixed in botocore-stubs 1.29.93.post1. Please test this new release and let me know if it works as expected.

Works!


Output Schema missing in Custom Tool[BUG]

I have Flowise installed directly on my machine using pnpm. I have the latest version 1.7.2.
I'm trying to use the custom tool node along with Open AI Chat, Tool Agent and Buffer Memory.
When I'm editing the Custom tool, it seems I only have 'INPUT SCHEMA' as an option, but all tutorials I've seen state an expected 'OUTPUT SCHEMA'
I have a javascript function that returns text in JSON format, but have no way to map the output.
When i run the tool, I can see in journalctl -f -u flowise  (i have flowise set as a service)
that pnpm is executing the tool, and i even see the JSON right there in the logs.
In the chat, even if I confirm what tools are in the context - it replies that yes, it has my tool....when i ask it to execute the tool, it responds that no response is recieved - yet, i see the tool execute, and the output appears in the pnpm logs as described.
I'm thinking because I can't state the OUTPUT SCHEMA in the custom tool node, maybe that's why? See screenshot that shows only an INPUT SCHEMA input.
for the sake of completeness, and in case my function is wrong for tool use somehow, here is the code for my tool (and yes, i read the docs and pnpm installed the axios module to the project):
const axios = require('axios');

// Base URL for the Shelly 4PM device
const BASE_URL = "http://<IP_ADDRESS>/rpc/";

const getSwitchConfig = async (switchId) => {
  const url = `${BASE_URL}Switch.GetConfig?id=${switchId}`;
  try {
    const response = await axios.get(url);
    return response.data;
  } catch (error) {
    throw new Error(`Error fetching config for switch ${switchId}: ${error.message}`);
  }
};

const getSwitchStatus = async (switchId) => {
  const url = `${BASE_URL}Switch.GetStatus?id=${switchId}`;
  try {
    const response = await axios.get(url);
    return response.data;
  } catch (error) {
    throw new Error(`Error fetching status for switch ${switchId}: ${error.message}`);
  }
};

const getAllSwitches = async () => {
  const switches = [];
  for (let switchId = 0; switchId < 4; switchId++) {  // 4 switches with IDs 0, 1, 2, 3
    const config = await getSwitchConfig(switchId);
    const status = await getSwitchStatus(switchId);

    if (config && status) {
      const switchInfo = {
        id: switchId,
        name: config.name || `Switch ${switchId}`,
        is_on: status.output || false,
        power: status.apower || 0  // Active power in watts
      };
      switches.push(switchInfo);
    }
  }
  return switches;
};

const main = async () => {
  try {
    const switches = await getAllSwitches();
    const result = switches.length > 0 ? JSON.stringify(switches, null, 2) : JSON.stringify({ error: "No switches found or unable to connect to the device." }, null, 2);
    console.log(result);
    return result;
  } catch (error) {
    console.error(error);
    return `Error: ${error.message}`;
  }
};

main();

this returns JSON such as can be seen from the flowise logs here:
May 17 16:04:24 fedora pnpm[131603]:   {
May 17 16:04:24 fedora pnpm[131603]:     "id": 0,
May 17 16:04:24 fedora pnpm[131603]:     "name": "Pool Pump",
May 17 16:04:24 fedora pnpm[131603]:     "is_on": false,
May 17 16:04:24 fedora pnpm[131603]:     "power": 0
May 17 16:04:24 fedora pnpm[131603]:   },
May 17 16:04:24 fedora pnpm[131603]:   {
May 17 16:04:24 fedora pnpm[131603]:     "id": 1,
May 17 16:04:24 fedora pnpm[131603]:     "name": "Pool Heater",
May 17 16:04:24 fedora pnpm[131603]:     "is_on": false,
May 17 16:04:24 fedora pnpm[131603]:     "power": 0
May 17 16:04:24 fedora pnpm[131603]:   },
May 17 16:04:24 fedora pnpm[131603]:   {
May 17 16:04:24 fedora pnpm[131603]:     "id": 2,
May 17 16:04:24 fedora pnpm[131603]:     "name": "Switch 2",
May 17 16:04:24 fedora pnpm[131603]:     "is_on": false,
May 17 16:04:24 fedora pnpm[131603]:     "power": 0
May 17 16:04:24 fedora pnpm[131603]:   },
May 17 16:04:24 fedora pnpm[131603]:   {
May 17 16:04:24 fedora pnpm[131603]:     "id": 3,
May 17 16:04:24 fedora pnpm[131603]:     "name": "Water Tank Pump",
May 17 16:04:24 fedora pnpm[131603]:     "is_on": false,
May 17 16:04:24 fedora pnpm[131603]:     "power": 0
May 17 16:04:24 fedora pnpm[131603]:   }
May 17 16:04:24 fedora pnpm[131603]: ]

The term 'output schema' is referring to the output the LLM needs to produce in order to call the function. So basically it's your tools input schema.

But for my tool, there is no schema required. The tool is called, and it returns information. Also, the Docs: https://docs.flowiseai.com/integrations/langchain/tools/custom-tool
Show "OUTPUT SCHEMA" in the custom tool node, so hence, for a new user like me - this is very confusing.

It should work without imput schema:

@Sebastiaan76
Did u fix this issue?
If not, check what LangChain says about how an agent needs to query a tool. It basically says that playing with name a description in case the Agent does not what to use the funcion may help.

Interesting read here:
https://js.langchain.com/v0.2/docs/concepts/#tools

I was able to get your time example working fine. So it's likely the 'bug' is between the keyboard and chair in my case :). Will take a look at my code and try and figure out why it's not working in the agent. It works perfectly from the command line though, so it's definitely got me stumped - but it seems not really a bug.

Will be closing for now, thanks @toi500 for helping!


1142 v6 scan

Implementation of v6 scan api

here are the commits since the last review:
https://github.com/ngageoint/scale/compare/a610d16d56b6189d14937e5c4abc338e41ae3179...1142-v6Scan

I made the logic/json changes for strike config btw


Authentication flows

We need to allow authentication through two methods:

[ ] An admin token to manage events using a single shared token. (#3)
[ ] Tequila, for the users, ref: https://tequila.epfl.ch/download/2.0/docs/writing-clients.pdf

I've discussed with some people from the DSI from EPFL, and it turns out that the new SSO (Microsoft Entra) will be available by the end of the summer. Thus, we can skip Tequila and directly implement it. In the meantime, we may want to add a dummy login button to emulate a user session.


Demonstrate invalid reference.

I was able to create a scenario that throws com exceptions.  SolidWorks functions different then I expected.  Getting the name of the body while in the configuration where it is deleted doesn't cause an exception.  But when you go back to the original configuration and try to get the name it throws an exception.  And now if you call the get bounding box function it throws the disconnected COM exception.  I don't understand why but there you have it.
Next I wanted to prove that your persistent function would avoid the com exception but I couldn't get it to compile when I tried to call it.  Maybe one of you functional programming pros can figure it out :-)

Super, thanks a lot.
The compiler error was my fault, I didn't make it an extension method.
So the fix was just to add this to the first parameter.
I'll push it soon.


Fixed canvas size

This fixes the canvas size that was always square, now it adapts to the resulting image ratio. It also moves the temp canvas creation into a new function to remove the duplicated code for the Blob and DataURI images. Fixes issue #22

I have wedding today, will check this tomorrow, have you tested this on all codepens?

Sorry for the late reply, I have been on and off the web lately. Yes it works correctly on all of the Codepens.


Deploy docker image with Procfile

I was trying to deploy a RoR application together with a Sidekiq worker from a docker image together with a Procfile using deis pull ... --procfile=$(cat Procfile) and got the followin: Error response from daemon: Container command '/app/bin/bundle exec puma -p 3000 -e production' not found or does not exist.
So it seems that it's reading the part from Procfile as whole string instead of cmd + args
If i deploy the docker image without Procfile, it's running without any problem
My current workaround for this is to put the cmd + arg from the Procfile into a shell script and just call the shell script instead

Kubernetes version: 1.4.7
Deis version: 2.9.0
Docker base image: ruby-2.3.3-alpine

cat Procfile
cmd: /app/bin/bundle exec puma -p 3000 -e production
worker: /app/bin/bundle exec sidekiq -C /app/config/sidekiq.yml

for deployment: (docker image has the same CMD as in the Procfile)
deis create --no-remote foo
deis pull myimage --procfile="$(cat Procfile)" -a foo

deis ps -a foo
=== foo Processes
--- cmd:
foo-cmd-2233846394-n1ytl error (v4)

kubectl describe pod foo-cmd-2233846394-n1ytl -n foo
Name:		foo-cmd-2233846394-n1ytl
Namespace:	foo
Node:		gke-default-pool/<IP_ADDRESS>
Start Time:	Wed, 25 Jan 2017 17:03:21 +0700
Labels:		app=foo
		heritage=deis
		pod-template-hash=2233846394
		type=cmd
		version=v4
Status:		Running
IP:		<IP_ADDRESS>
Controllers:	ReplicaSet/foo-cmd-2233846394
Containers:
  foo-cmd:
    Container ID:	docker://ab2662de262883203b78e88925ccc83b31487983b63c3f5ba33ec7ae02641d21
    Image:		myimage
    Image ID:		docker://sha256:18d8a1383715c346f18ced3c8dac7932e2454269e65c8873b7161b1008faf0b2
    Port:
    Args:
      /app/bin/bundle exec puma -p 3000 -e production
    State:		Waiting
      Reason:		CrashLoopBackOff
    Last State:		Terminated
      Reason:		ContainerCannotRun
      Exit Code:	127
      Started:		Wed, 25 Jan 2017 17:09:31 +0700
      Finished:		Wed, 25 Jan 2017 17:09:31 +0700
    Ready:		False
    Restart Count:	6
    Readiness:		tcp-socket :3000 delay=5s timeout=5s period=5s #success=1 #failure=1
    Volume Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-lc8sw (ro)
    Environment Variables:
      DEIS_APP:				<set to the key 'deis-app' in secret 'foo-v4-env'>
      PORT:				<set to the key 'port' in secret 'foo-v4-env'>
      WORKFLOW_RELEASE:			<set to the key 'workflow-release' in secret 'foo-v4-env'>
      WORKFLOW_RELEASE_CREATED_AT:	<set to the key 'workflow-release-created-at' in secret 'foo-v4-env'>
      WORKFLOW_RELEASE_SUMMARY:		<set to the key 'workflow-release-summary' in secret 'foo-v4-env'>
Conditions:
  Type		Status
  Initialized 	True
  Ready 	False
  PodScheduled 	True
Volumes:
  default-token-lc8sw:
    Type:	Secret (a volume populated by a Secret)
    SecretName:	default-token-lc8sw
QoS Class:	BestEffort
Tolerations:	<none>
Events:
  FirstSeen	LastSeen	Count	From								SubObjectPath			Type		Reason		Message
  ---------	--------	-----	----								-------------			--------	------		-------
  11m		11m		1	{default-scheduler }										Normal		Scheduled	Successfully assigned foo-cmd-2233846394-n1ytl to gke-default-pool
  11m		11m		1	{kubelet gke-default-pool}	spec.containers{foo-cmd}	Normal		Pulling		pulling image "myimage"
  10m		10m		1	{kubelet gke-default-pool}	spec.containers{foo-cmd}	Normal		Pulled		Successfully pulled image "myimage"
  10m		10m		1	{kubelet gke-default-pool}	spec.containers{foo-cmd}	Normal		Created		Created container with docker id eaae0e95e60a; Security:[seccomp=unconfined]
  10m		10m		1	{kubelet gke-default-pool}	spec.containers{foo-cmd}	Warning		Failed		Failed to start container with docker id eaae0e95e60a with error: Error response from daemon: Container command '/app/bin/bundle exec puma -p 3000 -e production' not found or does not exist.

working solution:

cat Procfile
cmd: /app/bin/bootpuma
worker: /app/bin/bootsitekiq

cat /app/bin/bootpuma
#!/bin/sh
/app/bin/bundle exec puma -p 3000 -e production

I am running into this exact same issue. I have a Dockerfile with a default CMD of:
CMD ["/bin/bash"]

and am attempting to deploy a docker image to a deis app and run the equivalent of
CMD ["yarn", "start-service"]

When I deploy my app (I'm using the 2.2 controller API):
curl -sS "https://deis.example.com/v2/apps/<app>/builds/" -H "Authorization: token <token>" -H "Content-Type: application/json" -d @- << EOF
{
  "image": "<image>",
  "procfile": {
    "cmd": "yarn start-service"
  }
}
EOF

The container won't start and I get this in the logs for that pod:
Failed to start container with docker id ddd22e48a70a with error: Error response from daemon: Container command 'yarn start-service' not found or does not exist.
When I run the identical command on the identical image locally, it works:
docker run -t -e ... -e ... us.gcr.io/<project>/<image>:<tag> yarn start-service
I'm assuming that yaml manifest is being written like this:
command:
  - yarn start-service

Rather than like this:
command:
   - yarn
   - start-service

You can see someone with the underlying yaml issue described here: https://github.com/kubernetes/kubernetes/issues/22631
It seems as @wuvs suggested, when using a Dockerfile or Docker image in a deis app, spaces should be split into separate args.

@cristiangraz can you provide a Procfile that replicates this behaviour? From last time I saw this, it was because the procfile commands were encased in single quotes, which caused the controller to interpret the entire command as a single argument.
related: https://github.com/deis/workflow/issues/743#issuecomment-284445893

Hi @bacongobbler,
I don't have an actual Procfile in my app -- I set/update it in our CI environment on each deploy using the API call above. The API call above is exactly what I used to replicate this issue -- you can see there are no single quotes.
@wuvs posted a Procfile above though, and that one doesn't have any single quotes either.
cmd: /app/bin/bundle exec puma -p 3000 -e production
worker: /app/bin/bundle exec sidekiq -C /app/config/sidekiq.yml

I wasn't able to figure out how to actually grab the yaml file generated to confirm the issue, but it sounds like @wuvs and I both ran into the same issue using different ways of passing the Procfile into workflow.

Can you tell me what version of workflow you're running? On v2.12.0 example-dockerfile-procfile-http works without issue, and I don't see it being appended to the command field. I see it as a single argument to /bin/bash -c as implemented since v2.2:
- args:
    - while true; do echo hello world; sleep 10; done
    command:
    - /bin/bash
    - -c

If you can post your cluster's information as well as give a solid set of instructions with one of the example apps, I can try to reproduce it again.

version info:
><> deis version --all
Workflow CLI Version:            v2.12.0
Workflow CLI API Version:        2.3
Workflow Controller API Version: 2.3
><> kd get deploy deis-controller -o yaml | grep v2
    component.deis.io/version: v2.12.0
        image: quay.io/deis/controller:v2.12.0

Hmm so I was eventually able to reproduce this with the following:
><> cat Procfile
cmd: python -m SimpleHTTPServer 5000
><> deis pull deis/example-dockerfile-python
...

Output of pod info:
args:
- python -m SimpleHTTPServer 5000

It appears that the cmd process type ignores and does not create an entrypoint. I've got a fix incoming.

Thanks @bacongobbler. Sounds like you've found the issue, here's the deis version I'm running in case it's helpful in any way:
deis version --all
Workflow CLI Version:            v2.7.0
Workflow CLI API Version:        2.3
Workflow Controller API Version: 2.3


Make object documentation less verbose

What package is the feature request related to?
typedoc-plugin-markdown
Background
I have an exported variable that is a deeply nested const object.
Using "expandObjects": true, I get a very pleasant code representation of my object in the docs.
However, every property gets listed in a way that is very noisy (every property gets its own title and section, as well as every sub-property, etc etc).
Example: https://happychain.pages.dev/react/api/variables/chains#type-declaration
Proposed solution
An option that lets us choose between

the current behaviour
not rendering documentation (sections) for any property
only rendering documentation (sections) for properties that have their own docstring

Thank you. This does seem like a reasonable suggestion and will have a look at including some kind of configuration around this.

@norswap I have been having a look at this. One thing I am exploring is simply replacing the entire "Type declaration" section with the source from the ts compiler exposed by the option typeDeclarationFormat: "source".
In your use-case you would see something like this:

Would you find this kind of solution satisfactory?

Yes, that seems perfect :)

ok went for a slightly different approach in the end.
<EMAIL_ADDRESS>exposes an additional property "typeDeclarationVisibility" that can be set to "compact" which hopefully improves things in your use case, but let me know. Docs here https://www.typedoc-plugin-markdown.org/docs/options/display-options#--typedeclarationvisibility


meta-issue with the new issue checklist: add "chruby" to ruby env managers, clarify ruby Q&A

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
The issue template for fastlane asks:
"Do you use bundler, rbenv or rvm?"
This should be split into two questions:

"Do you use bundler? y/n"
"Do you use chruby, rbenv, or rvm to manage your ruby versions?"

Agreed. What do you think about the following language:

Do you use bundler to execute fastlane (i.e. bundle exec fastlane)?
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)?

👍  seems good!


Can't mount a volume

Hello 😃 ,
I'm using the hpe plugin to create dynamically volumes on a Nimble storage.
I followed this link https://developer.hpe.com/blog/doryd-a-dynamic-provisioner-for-docker-volume-plugins and ended with these configuration files :
---
kind: Pod
apiVersion: v1
metadata:
  name: pod-test
spec:
  containers:
        - image: httpd:latest
          name: httpd
          volumeMounts:
            - name: httpd-persistent-storage
              mountPath: /data
  volumes:
        - name: httpd-persistent-storage
          persistentVolumeClaim:
            claimName: pvc-test
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-test
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 1Gi
  storageClassName: sc-test
---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
 name: sc-test
 annotations:
  storageclass.kubernetes.io/is-default-class: "true"
provisioner: dev.hpe.com/nimble
parameters:
  description: "Volume provisioned sc-test StorageClass"
  folder: "data-test"

The StorageClass and the PersistenceVolumeClaim are working as I can see the volume created in the folder data-test on the Nimble's side.
However I'm still having the error 32 when the volume is binded to the Pod/Container :

Normal
Scheduled
Successfully assigned default/pod-test to ste1ppoc3
14 minutes ago

Warning
FailedMount
MountVolume.SetUp failed for volume  "sc-test-a5e937af-9c05-11e9-aa73-1c98ec2bb718" : mount command failed,  status: Failure, reason: rc=32
a minute ago

Warning
FailedMount
Unable to mount volumes for pod  "pod-test_default(4cc17710-9c0f-11e9-b6c3-1c98ec2bb718)": timeout  expired waiting for volumes to attach or mount for pod  "default"/"pod-test". list of unmounted  volumes=[httpd-persistent-storage]. list of unattached  volumes=[httpd-persistent-storage default-token-jvh54]
a few seconds ago

Important thing to notice, when I execute the following command I get :
sudo curl -XPOST --unix-socket /run/docker/plugins/nimble.sock http:/Plugin.Activate
{"implements":["VolumeDriver"],"Err":""}

Have you any idea on where this issue could came from ?
Regards 👍

More config files :
[root@* dev.hpe.com~nimble]# cat nimble.json {     "logFilePath": "/var/log/dory.log",     "logDebug": false,     "stripK8sFromOptions": true,     "dockerVolumePluginSocketPath": "/run/docker/plugins/nimble.sock",     "createVolumes": true,     "enable1.6": false,     "listOfStorageResourceOptions" :    ["size","sizeInGiB"],     "factorForConversion":<PHONE_NUMBER>,     "defaultOptions": [{"mountConflictDelay": 30}, {"manager": "k8s"}] }

Hello @pcasis, there could be a number of things. What you're doing here, what it looks like, is combining the upstream dory/doryd sources with our NLT driver. It could a number of side effects.
NLT bundles the flexvolume driver when installed with --docker and --flexvolume. The driver gets installed under the hpe.com~nimble prefix, not dev.hpe.com~nimble. Therefor it's important to get doryd to listen on the same prefix.
So, if you change the provisioner in your StorageClass to hpe.com/nimble and installed the provisioner from this gist, I think it might just work for you.
What version or packaging of K8s are you using?

It works like a charm ! 😍


for some reason i couldn't get the confirmation mail

Hello Pujitha, did you check the terminal? The API is currently using the console email backend.

Hello Pujitha, did you check the terminal? The API is currently using the console email backend.

yeah but needed to verify from actual email isn't it??

If an email service is set up, then indeed, you should receive the confirmation in your inbox. However, since we currently have the email backend configured as console, the confirmation will be displayed in your terminal.

Hello Pujitha, did you check the terminal? The API is currently using the console email backend.

yeah but needed to verify from actual email isn't it??

If an email service is set up, then indeed, you should receive the confirmation in your inbox. However, since we currently have the email backend configured as console, the confirmation will be displayed in your terminal.

Yes, I understand... I assumed that since you're using Twilio for phone number verification, we could also use it for email, right?

Hello Pujitha, did you check the terminal? The API is currently using the console email backend.

yeah but needed to verify from actual email isn't it??

If an email service is set up, then indeed, you should receive the confirmation in your inbox. However, since we currently have the email backend configured as console, the confirmation will be displayed in your terminal.

Yes, I understand... I assumed that since you're using Twilio for phone number verification, we could also use it for email, right?

Absolutely, your assumption is reasonable. However, currently, we have the email verification process set up differently from the phone number verification. While Twilio is handling phone number verification, we're using a separate approach for email confirmation.

Hello Pujitha, did you check the terminal? The API is currently using the console email backend.

yeah but needed to verify from actual email isn't it??

If an email service is set up, then indeed, you should receive the confirmation in your inbox. However, since we currently have the email backend configured as console, the confirmation will be displayed in your terminal.

Yes, I understand... I assumed that since you're using Twilio for phone number verification, we could also use it for email, right?

Absolutely, your assumption is reasonable. However, currently, we have the email verification process set up differently from the phone number verification. While Twilio is handling phone number verification, we're using a separate approach for email confirmation.

oh okay.


[APP-2867] Fix project structure to push to cocoapods and SPM from one codebase

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Tests
[x] Other

Jira Link
What's new?

Moved public headers to the/include folder. Cocoapods support is not affected since it relies on the umbrella header.
Added template file
Added PrivacyInfo.xcprivacy(previously added only for 0.4.5)

Testing

Tested on the 4 targets
Tested on local projects for SPM and Cocoapods

Screenshots

Chatted with Vald on this. Looks great!
My only request is to split out changing the version from meaningful code commits. Let's remove the version change from here and make that in a release commit.

Chatted with Vald on this. Looks great!
My only request is to split out changing the version from meaningful code commits. Let's remove the version change from here and make that in a release commit.

Sure @jasonaden. I'll revert the bump version from here and then raise a new PR for that.


Improve container health check

The current health check is "pinging" Kamilio which leads to confusing log messages.
This should be improved.
An option would be to use kamctl monitor or other kamctl commands.
Those however require the mi_fifo module:
loadmodule "mi_fifo.so"

and also see https://kamailio.org/docs/modules/4.4.x/modules/mi_fifo.html.

The health check was improved to check the rtpengine and Kamilio service status from supervisorctl.


Fixes DF-1569

For financial report pages, changes PDF minicon to Download minicon.
Doubles margin above funding sources.
Additions

Adds code comment at beginning of file.

Removals

Excess whitespace.

Changes

Changes financial reports PDF minicons to Download minicons.
Changes color of minicons to blue from black.
Doubles margin above financial reports.

Testing

Visit /budget/funding-request/ and /budget/financial-report/

Review

@jimmynotjim
@sebworks
@duelj

Preview

Notes

I added an offset for the line-height, like in https://github.com/cfpb/cfgov-refresh/pull/342, we may want to develop a pattern for dealing with this offset overall.

@anselmbradford , do you think we should revisit our overall strategy on line heights? Seems like a lot of css one-offs for alignment purposes.

@sebworks That sounds like a smart idea. Would a new utility class be the right way to do it?

LTGM, you'll need to pull down the flapjack branch and re-run grunt before merging.

@sebworks Yeah in my general CSS cleanup PR from earlier I noticed there are a large number of places where there are offsets for line-height to make the gaps visually the right width. My guess is those offset values could be moved to constants. Opened https://github.com/cfpb/cfgov-refresh/issues/353

@jimmynotjim Are you finished reviewing? Good to squash n merge?

Yes, sorry, noticed that space issue after OK'ing the PR.

:+1:


FIxing a bug

Fixes #

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: mklemons sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


TS-4460: Remove record conversion from RecSetRecord.

RecSetRecord manually converts a record value from a string. It
could just use RecDataSetFromString. The only place this semantic
is called from is clustering, so it could probably be removed
altogether.

Testing new auth token.


RFC: Rename to Request-Id

Thanks for making an effort in building up the PSR middleware ecosystem.
I was wondering why you choose to name this package UUID. It seems its more about assigning identity to individual requests than about the particular ID used.

This middleware not only identify the request but also the response returned, so it's usefult for debug purposes. The UUID specification guarantee uniqueness across space and time, so I think it's a good name to identify a request->response cycle.
Thoughts @middlewares/contributors ?

I think it would be good to rename this package, or have a separate middlewares/request-identity package that would allow for both UUID and custom identifiers via interface:
interface RequestIdentityInterface
{
    public function getRequestIdentity(Request $request): string;
}

I don't know if it's possible to rename this package without break other things (like dependents). If it's problematic, a new package that deprecates this could be ok.


Added API allowing user to choose settings at runtime

Description

Test Steps

Checklist:

[ ] I have tested my changes. No regression in existing tests.
[ ] I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@AniruddhaKanhere and @htibosch -
Here's the modifications to the API and a fix for #50 that I'm now using.
https://github.com/FreeRTOS/Lab-Project-FreeRTOS-FAT/compare/main...phelter:Lab-Project-FreeRTOS-FAT:runtime-init-settings?expand=1
Feel free to use this or modify it as needed.
For all implementations but Zynq.2019.3 - uses original implementation - both WithSettings version and not do the same thing.  For the Zynq.2019.3 version - you have full control.

Closing this in favor of: https://github.com/FreeRTOS/Lab-Project-FreeRTOS-FAT/pull/51


UI balance buttons on bridge page

Description
Can we balance the height, width, and sizes between these three buttons?

The height, width and the sizes of the buttons are now balanced.


Failed to post news on facebook

Cannot get an extended facebook access token
Traceback (most recent call last):
  File "/base/data/home/apps/s~mobicagecloudhr/48.400715093888759503/solutions/common/bizz/news.py", line 324, in schedule_post_to_social_media
    facebook_access_token = facebook.extend_access_token(facebook_access_token)
  File "/base/data/home/apps/s~mobicagecloudhr/48.400715093888759503/mcfw/rpc.py", line 149, in typechecked_return
    result = f(*args, **kwargs)
  File "/base/data/home/apps/s~mobicagecloudhr/48.400715093888759503/mcfw/rpc.py", line 127, in typechecked_f
    return f(**kwargs)
  File "/base/data/home/apps/s~mobicagecloudhr/48.400715093888759503/solutions/common/bizz/facebook/__init__.py", line 58, in extend_access_token
    extended_token = fb.extend_access_token(app_id, app_secret)['access_token']
  File "/base/data/home/apps/s~mobicagecloudhr/48.400715093888759503/facebook/__init__.py", line 367, in extend_access_token
    args=args)
  File "/base/data/home/apps/s~mobicagecloudhr/48.400715093888759503/facebook/__init__.py", line 314, in request
    raise GraphAPIError(result)
GraphAPIError: fb_exchange_token parameter not specified

It seems like this issue happens when an empty access token is provided, will check for access token if "Post to facebook" is checked.


Default stream for TTY-check is stderr

When checking if output stream is a TTY, use the default stream for logging (stderr)

Coverage increased (+2.1%) to 93.659% when pulling 300ffa8ccefa54f503a1fa96872c9ad188274b14 on EpicWink:default-tty-check-stderr into<PHONE_NUMBER>bc39057f824c545f2decab49c019ad on xolox:master.

Your changed line should be :
use_colors = terminal_supports_colors(stream) or terminal_supports_colors(sys.stderr)
I put it into my fork, since I need the isatty=True forcing to use the ColoredFormatter for travis and Jupyter,
You might check it out.
Xolox seems to be busy ...
Robert

Your changed line should be :
use_colors = terminal_supports_colors(stream) or terminal_supports_colors(sys.stderr)

Are you sure?
In this PR it appears that sys.stderr should be checked/used only if there is no stream (according to setting the handler below).
Maybe this should get clarified by having an if handler: block.

ok, will look into it - but dont like it very much anyway ;-)

By default (if isatty is None), humanfriendly.terminal.terminal_supports_colors checks if std-out is a TTY, but also by default (if stream is None), a std-err stream handler is used. Currently, this is what happens:

isatty is None or True

stream is None: coloredlogs enabled on std-err if std-out is a TTY
stream is a TTY: coloredlogs enabled on given stream
stream is not a TTY: coloredlogs disabled, log on given stream

isatty is False

stream is None: coloredlogs disabled, log on std-err
stream is a TTY: coloredlogs disabled, log on given stream
stream is not a TTY: coloredlogs disabled, log on given stream

This PR changes it so in the first scenario ( isatty is None or True, and stream is None), std-err is checked to be a TTY, then std-err is logged to

I think it would be worth to redesign that whole part to have a more clear structure.
however, its not my project, so I am fine now with isatty=True forcing the ColoredFormatter.

Hi all, thanks for the feedback and sorry for the messy behavior. This (bad) experience was never intended, the override was always intended to bypass any auto detection check. Today I published coloredlogs release 14.1 which fixes the override to bypass the auto detection check (as well as the bug that confused stdout versus stderr).


scroll bar keeps scrolling  down exceeding  contents length

Make sure these boxes are checked before submitting your issue -- thank you!

[ ] Check FAQ and Caveats
[ ] Search if there's already one reported in Issues
[ ] Prepare a JSFiddle reproducing the issue

perfect-scrollbar JSFiddle

[ ] Provide a page or source code where the issue can be checked

issue no 756  this did not fix the issue , I have latest changes but still it does not works

Still actual issue for containers with border even if box-sizing: border-box

This seems to work, though if your content is uneven, you may have to scroll one extra tick to catch the last bit of content, which may feel unnatural at first
options={{ wheelPropagation: false }}
https://perfectscrollbar.com/options.html
Notably, the documentation says this is false by default, but it's set to true by default for me, using "react-perfect-scrollbar": "^1.5.8",

SOLUTION:
I modified the included js file: in my case perfect-scrollbar.js from dist folder.
1- I added a new integer variable member 'maxScroll' in the perfect-scrollbar constructor function:
var PerfectScrollbar = function PerfectScrollbar(element, userSettings) {
...
...
this.maxScroll = 0;     // BUG-FIX: Infinite scrolling BUG, avoid scrolling after the last item
// (used in updateGeometry(i) function)
...
...
}
2- Then modified the updateGeometry(i) function TO FIX the BUG:
function updateGeometry(i) {
var element = i.element;

/* ----- BUG-FIX BEGIN: Infinite scrolling BUG, avoid scrolling after the last item ----- ***/

if (!i.settings.wheelPropagation) { // This BUG doesn't occur if "wheelPropagation" option is activated (= true).

    // 1- Reinitialize the maximum scroll height value when items are added dynamically in the container to scroll
    if ((i.maxScroll !== 0) && (element.scrollTop + element.offsetHeight < element.scrollHeight)) {
      i.maxScroll = 0;
    }

    // 2- Set the maximum scroll height value when we reach the last item of the container
    if ((element.scrollTop + element.offsetHeight >= element.scrollHeight) && i.maxScroll === 0) {
      i.maxScroll = element.scrollTop;
    }

    // 3- Stop scrolling down when we reach the last item of the container
    if ((i.maxScroll !== 0) && (element.scrollTop > i.maxScroll)) {
      return;
    }

}

/* ----- BUG-FIX END ----- ***/

...
...
}
That's it!
I hope this helps.

Never set a border on the container on which it acts. Otherwise, this kind of problem will occur. However, this problem has not been solved until now.


publish for Scala 2.13.0-M3, please?

ScalaCheck's in the hot seat, as usual!

2.13.0-M3 release notes: https://github.com/scala/scala/releases/tag/v2.13.0-M3

@SethTisue I've published Scala 2.13.0-M3 builds of ScalaCheck 1.12.6 and 1.13.5 now. Only JVM builds for now, as ScalaJS doesn't seem to have M3 builds.

@rickynils you need to update ScalaJS to 0.6.22 to get the 2.13.0-M3 support, the previous versions will not have builds for M3.

Maybe merge #38 and then take the opportunity to cut a new release, 1.14.0?  This will give a 2.13.0-M3 build for scalajs.

@rickynils thanks for the publish... it seems to be working in the projects I've tried it in. Scala.js support is pretty important though — Scala.js is practically ubiquitous now in the library ecosystem

I'll see if bumping ScalaJS to 0.6.22 works now. It didn't work first time I tried, because there were no M3 build available.

@SethTisue Scala 2.13.0-M3 builds of ScalaCheck 1.12.6 and 1.13.5 for ScalaJS have been published now.

wonderful, thank you!


Correct DOB18 logic in rule 205b

Also changed in 205c for consistency - because that rule has same python code (even if that value isn't actually used).
Closes #626

Hi @SLornieCYC could you help me by just briefly explaining what's wrong with the logic of the rule and why the change fixes it? I trust you're right, it'll just speed up my review a bit!

Hi @SLornieCYC could you help me by just briefly explaining what's wrong with the logic of the rule and why the change fixes it? I trust you're right, it'll just speed up my review a bit!

Hi @WillLP-code - see discussion in comments on the linked issue!


[BUG]  The "0" values are displayed on the "G$ Per Claimer" graph on the dashboard

Description: The "0" values are displayed on the "G$ Per Claimer" graph on the dashboard
Steps to reproduce:

Open https://dashboard.gooddollar.org/
Pay attention to the "G$ Per Claimer" graph

Expected result:
The correct values are displayed on the "G$ Per Claimer" graph on the dashboard
Actual result:
The "0" values are displayed on the "G$ Per Claimer" graph on the dashboard
Environment: PROD 1.21.0  // QA 1.21.0-3  // DEV 1.21.0
Devices list: Desktop // Windows 10 // Chrome v.87.0.4280.88
Attachment:

we are migrating our dashboard to a new platform.
no need to report dashboard issues

we are migrating our dashboard to a new platform.
no need to report dashboard issues


Installer

Really need an installer to make this easier for people to use. We have made one in this PR here https://github.com/google/project-gameface/pulls
See the comments in that PR if you want to try it. Note we have to move the config and log directory to your username\Gameface directory. Is there anywhere better?
Note too - ITS NOT SIGNED. Maintainers will have to do that in a GH Action

Need to

Offer portable mode
Check we can install /silent ly (see #29 )
Offer option to install and set "run as admin" (see #10 - maybe easier to do at install stage)
Provide option to "Run at startup" ( https://engineertips.wordpress.com/2020/08/05/inno-setup-auto-run-at-startup/ )


Using a vpn, youtube-dl become pretty long to get the video url

Hi i noticed when using a vpn youtube-dl need a lot more time to find a video url. For example this url https://www.facebook.com/video.php?v=1013279448695114 3 sec to get url without vpn more than 15 s with it. Even worse on youtube for example http://youtu.be/NLD-lqpPtEU take 38 s with vpn against 2 s without it.
When i enable verbose output i notice that youtube stay stuck after the [debug] Proxy map: {} message.

I have the same issue I think.
When I do a ping or mtr, I see nothing wrong or packet loss etc.
I have no problem using the youtube.com website, no delays, no bufferings it's "snappy" etc.
But when using youtube-dl, it just.. nothing happens for like 5 minutes after the
[youtube] Setting language

output is displayed (using -v)
and a couple of minutes for the next few lines with output, and then the download starts at 2MiB/s
I would be glad to debug this further to track down what's causing the slowness; Any pointers on where to start?

@qzio But that's a completely different issue! @mac1202 is seeing some slowdown, you are seeing a really large timeout. Please open a new issue entry. In that new issue, please include the full output you get with -v in the following cases:

just add -v
add -v -4
add -v -C
add -v --socket-timeout 2

In all cases, feel free to cancel with Ctrl+C after, say, 15 seconds. Thanks!

It's look like exactely the problem i had. My speed was good with or without vpn, it just youtube-dl get stuck to find the video url with the vpn so it's pretty long. I think the 2 bug report can be merged. By the way i stop using a vpn so i can't help anymore.

encountering the same issue here.
My VPN server to youtube is about 1M/s, tested using youtube-dl on my VPN server.
My client to VPN server is about 500-800kb/s, tested by scp a big file from VPN server to my client.
Only when I use youtube-dl, speed is about 50kb/s
This is really weird. I get 10x speed by youtube-dl on my VPN server then scp to my client.
I use PPTP.

I've just ran into this issue while using OpenVPN. Passing --block-ipv6 to openvpn seems to fix it, I don't know why.


Does valign="middle" work at all?

I'm using a fresh installation of Foundation for Email, and have the following test set up:
<container>

  <wrapper>
    <row>
      <columns large="5" valign="middle">

      </columns>
      <columns large="7" valign="middle">

Thanks for your order!

      </columns>
    </row>
  </wrapper>

</container>

I expected the logo and the title to be vertically centered in their container. However, as you can see in the screenshot, there is extra white space at the bottom:

Even the example in the documentation seems to be working incorrectly. The items are not vertically aligned in the center of their container.
What am I missing here? Why doesn't the valign attribute function as the documentation suggests?
That screenshot is not from an email client. It's just the browser preview of the message. Using Chrome on Mac.

I think it's being caused by the padding here:
https://github.com/zurb/foundation-emails/blob/develop/scss/grid/_grid.scss#L69

I think it's being caused by the padding here:
https://github.com/zurb/foundation-emails/blob/develop/scss/grid/_grid.scss#L69

Without editing the core framework files, that value can be changed in the _settings.scss file.
https://github.com/zurb/foundation-emails/blob/develop/scss/settings/_settings.scss#L45

But shouldn’t that padding be set to be equal top and bottom when something is supposed to be aligned in the middle? I’m just confused why the framework even offers a valign=middle option if it doesn’t actually place the content in the middle.

Like I said even the example in the docs doesn’t look to be working correctly.

But shouldn’t that padding be set to be equal top and bottom when something is supposed to be aligned in the middle? I’m just confused why the framework even offers a valign=middle option if it doesn’t actually place the content in the middle.

Not necessarily. I find it easier to set the $column-padding-bottom to 0 and simply use spacers between rows.
You also need to take into account typography has margin bottom set on it:
https://github.com/zurb/foundation-emails/blob/develop/scss/settings/_settings.scss#L72-L73
Also if you inspect the code used within example, 'Headline' and 'Subheadline' have the margin bottom set to 0 which aligns with the 250x250 image perfectly. But as per the second image I've attached the 'Bottom' text isn't aligned to the bottom of the 250x250 image because it still has the margin bottom set. Hopefully this clears things up for you.

This issue has been mentioned on Foundation Open Source Community. There might be relevant details there:
https://foundation.discourse.group/t/foundation-emails-vertical-alignment-not-working/3139/3


Configurable listening port

Currently the web server behind the captive portal listens on port 80. Add an option for making the listening port configurable.
There will be no rules added to route all the traffic from port 80 to the configured port. That means that a third-party application should listen on port 80:

reverse proxy that routes the traffic to the specified port
application that uses the JSON API we provide. It may or may not reuse our UI. Currently our JSON API is unofficial and may change before before we make it so (which will be soon). The JS file of our UI can be used as a reference.

if I specify a port, other than 80, the captive portal wont auto load.


Rethink UIDArray.__getitem__()

Currently, it takes the vast majority of time in make_new_cases():

(See https://github.com/starsimhub/starsim/issues/422 for more performance tests.)
Is there a way we could use more standard Numpy operations to make this faster, or reduce some of the checking? It's already Numbafied, so can't get any additional speed increases there.
Another option would be to go back to not removing agents, so the UID is also just the array index.

Another benchmarking:
import sciris as sc
import starsim as ss

with sc.cprofile(sort='selfpct') as cpr:
    sim = ss.demo(n_agents=100e3, start=2000, end=2100, diseases='sis', plot=False)

sim.diseases.sis.plot()

gives
                                                  func    cumpct     selfpct  cumtime    selftime  calls                                         path
0                                       _get_vals_uids   35.5618  3.5518e+01   1.5462  1.5443e+00   1317                                 states.py:83
1    <method 'permutation' of 'numpy.random._genera...   12.5981  1.2597e+01   0.5478  5.4770e-01    102                                            ~
2                                       make_new_cases   61.5934  8.5633e+00   2.6780  3.7233e-01    101                               disease.py:255
3                                      __array_ufunc__    8.2585  8.1880e+00   0.3591  3.5601e-01   3950                                states.py:267
4                                                  rvs   27.3114  4.3405e+00   1.1875  1.8872e-01    509                         distributions.py:440
5                                            add_pairs   19.5998  4.1161e+00   0.8522  1.7897e-01    102                               network.py:497
6    <method 'lognormal' of 'numpy.random._generato...    3.0262  3.0262e+00   0.1316  1.3158e-01    102                                            ~
7                                          beta_per_dt    2.3906  2.3694e+00   0.1039  1.0302e-01    202                               network.py:288
8    <method 'random' of 'numpy.random._generator.G...    2.0724  2.0724e+00   0.0901  9.0107e-02    406                                            ~
9           <method 'reduce' of 'numpy.ufunc' objects>    1.6476  1.6434e+00   0.0716  7.1452e-02    821                                            ~
10                                           end_pairs    6.6629  1.1970e+00   0.2897  5.2043e-02    101                               network.py:324

No easy fixes here, pure NumPy is slightly slower than Numba. But considering that 35% of the entire sim time is spent on this function, I wonder if we would be better off not removing agents and just going back to array indexing with UID == position in array.

Frustratingly, this parallelized version is 3x faster for large sims but 2x slower for small ones!
    @staticmethod
    @nb.njit(cache=True, parallel=False)
    def _get_vals_uids(vals, key, uid_map):
        """
        Extract values from a collection of UIDs

        This function is used to retrieve values based on UID. As indexing a UIDArray returns a new UIDArray,
        this method also populates the new UID map for use in the subsequently created UIDArray, avoiding the
        need to re-compute it separately.

        :param vals: A 1D np.ndarray containing the values
        :param key: A 1D np.ndnarray of integers containing the UIDs to query
        :param uid_map: A 1D np.ndarray of integers mapping UID to array position in ``vals``
        :return: A tuple of (values, uids, new_uid_map) suitable for passing into the UIDArray constructor
        """
        len_key = len(key)
        out = np.empty(len_key, dtype=vals.dtype)
        new_uid_map = np.full(uid_map.shape[0], fill_value=INT_NAN, dtype=np.int64)

        for i in nb.prange(len_key):
            kv = key[i]
            idx = uid_map[kv]
            out[i] = vals[idx]
            new_uid_map[kv] = i
        return out, key, new_uid_map

Added a switch between the two ... not perfect but seems to work!

Readded priority label given that the current approach doesn't work with deaths; see #296

Explored NumPy masked_array, but insanely inefficient:
import numpy as np
import sciris as sc

reps = 100
n = int(1e7)
m = int(1e5)

a = np.random.rand(n)
inds = np.random.randint(n, size=m)

with sc.timer('indexing'):
    for r in range(reps):
        a[inds].sum()

mask = np.ones(n)
mask[inds] = False
b = np.ma.masked_array(a, mask)

with sc.timer('masked'):
    for r in range(reps):
        b.compressed().sum()

indexing: 16.8 ms
masked: 0.366 s

One option:
import numpy as np
import sciris as sc
np.random.seed(1)

class LittlePeople:
    def __init__(self, n):
        self.n = n
        self.uid = np.arange(n)
        self.age = np.random.uniform(0, 100, n)
        self.sex = np.random.rand(n) < 0.5
        self.inds = np.arange(n)

    def __getattribute__(self, key):
        if key in ['age', 'sex']:
            return super().__getattribute__(key)[self.inds]
        else:
            return super().__getattribute__(key)

    def get(self, key, inds):
        return super().__getattribute__(key)[inds]

    def reset(self):
        self.inds = np.arange(self.n)

class View:
    def __init__(self, ppl):
        self.ppl = ppl
        self.inds = sc.dcp(self.ppl.inds)

    def __getattribute__(self, key):
        if key in ['age', 'sex', 'uid']:
            return self.ppl.get(key, self.inds)
        else:
            return super().__getattribute__(key)

    def filter(self, cond, verbose=True):
        if verbose:
            print(f'Running filter: len={len(cond)}, true={sum(cond)}')
        self.inds = self.inds[cond]
        return self

    def __call__(self, cond):
        return self.filter(cond)

ppl = LittlePeople(100)
ppl.inds = np.arange(50)
vi = View(ppl)
print(vi.age)

max_age = 20
sex = 1
uids = vi(vi.age < max_age)(vi.sex==sex).uid

assert all(ppl.age[uids] < max_age)
assert all(ppl.sex[uids] == sex)

On my machine, running sim = ss.demo(n_agents=100e3, start=2000, end=2100, diseases='sis', plot=False) the parallel version takes around 7.4s and the non-parallel version takes 6.7s. So it might not be generally beneficial to have that parallel switching? On my other computer it's 3.6s non-parallel and 3.4s parallel so there is a small benefit but seems only marginal (and presumably this would be lost if running sims in parallel anyway?)
It would be important though to also test the use cases that we originally envisaged for removing dead agents since the performance tradeoff might be different for those

Closed by #456


USBDevice  Fails to build on the F411RE

As of 6th October 2014, Mbed's USBDevice library  fails to build on the Nucleo_F411RE. Reports the following errors for  pins PA_8, PA_9, PA_10, PA_11 & PA_12.:

Error: Too few arguments in invocation of macro "STM_PIN_DATA" in "USBDevice/USBDevice/USBHAL_STM32F4.cpp", Line: 58, Col: 42
Error: Expected an expression in "USBDevice/USBDevice/USBHAL_STM32F4.cpp", Line: 58, Col: 24

I also get two warnings:
-Warning: Integer operation result is out of range in "USBDevice/USBDevice/USBHAL_STM32F4.cpp", Line: 230, Col: 50
-Warning: Integer operation result is out of range in "USBDevice/USBDevice/USBHAL_STM32F4.cpp", Line: 256, Col: 49
These errors occur when building the USBMouse example in the online compiler. Same errors occur when building the USBDevice library for the Nucleo_F411RE using the offline Python build system.

To be close


Remove tomcat-embed-logging-log4j from Tomcat 8.5.3 on

Due to the following thread:
http://tomcat.10.x6.nabble.com/ANN-Apache-Tomcat-8-5-3-available-td5051828.html
Fixes #369

Thanks @boris-petrov for this PR, I was thinking of fixing something like this for #369 , you saved my day :-)
@akhikhl Is this some thing you can merge and release near future?

This PR (and many, many more fixes) have been implemented in the fork.


Fix some URL operations which don't work when the base url has no "/" at the end

Some URL operations didn't work correctly when the root URL doesn't  have a slash at the end. The new variant uses the JavaScript URL constructor. I tested it on my custom domain and it worked correctly. Of course it's still working on localhost too.

@bb1950328 at a glance this seems to be part of #33 , right?

@bb1950328 at a glance this seems to be part of #33 , right?

@onweru yeah, looks like I messed up again...
My branch "optimisations" (PR #33) should have been created from "master" instead of "url_bugfix" (this PR).

@onweru yeah, looks like I messed up again...
My branch "optimisations" (PR #33) should have been created from "master" instead of "url_bugfix" (this PR).


Is the language option de_CH really needed?

Hi, I'm Nate.
I'm testing this Engine since two days and I pretty like it.
But I don't understand why there is the Swiss-German language option, because there is no grammar of Swiss-German that means in Switzerland we just write in German...
As result if you select de_CH as language you won't get some translations unlike German (de).

This is actually an interesting problem. It's be probably nice if de_CH could use de for all the missing translation! I wonder if there is a concept of "language variation". To my knowledge (I live in the north east Switzerland) some words differ between High German and Swiss German, perhaps the entire swiss translation should be emptied and only the different words should be filled in, and for the rest it should default to de.
Id appreciate thoughts on this !

As far as I know, there are just differences between German and Swiss German words in the case of a ß, (for example : groß - gross).
In that case we could just replace the ß with ss
Is that right or are there more differences?

The option exists because one translator added it (see contact info in https://github.com/godotengine/godot/blob/master/editor/translations/de_CH.po).
Translations are at https://hosted.weblate.org/projects/godot-engine/godot/
IMO. it's always a bad idea to start a custom translation for a language variant on such a massive translation catalog. The focus should be on finishing the "standard" language translation, and then this translation can possibly be copied and edited for regional variants which may use different words.
Depending on the actual language and/or the translators though, some disagree with this and start a parallel translation. It's not always clear whether they know it because they have a deep understanding of the differences between language variants and think it's better to treat them as fully separate languages, or if it's because they just felt that their country/region needs representation.
We currently have de_CH which is indeed likely worth removing, as it's only 3% complete, and I don't think the differences with the 100% de warrant this situation.
We also have pt_PT which was started as a copy of pt_BR once both were ~20% complete or so. Now both are 100% complete, but IMO translators would gain time by focusing on a common pt translation before adapting it to their regional variants.
Same with es_AR, whose purpose is not very clear to me.
This is even worth on the massive godot-docs repo: https://hosted.weblate.org/projects/godot-engine/godot-docs/
pt_PT was forked from pt_BR, and did not advance much since. es_MX with 4% vs the 52% complete es seems like a very bad idea.
But for these things we have to defer to the actual speakers of the language to estimate whether branching off (or starting from scratch) is worth the effort. I would personally discourage any fr variant from starting translations.

This is actually an interesting problem. It's be probably nice if de_CH could use de for all the missing translation!

That could likely be implemented, yes. We load all translations in the editor so it would be possible in theory for de_CH to fallback to de strings when there is no translation.
That would be nice to have, though I think in this very case the best solution is likely to remove the always empty de_CH translation, and let Swiss German translators help their German speak improve the quality of the common Hochdeutsch translation.

That would be nice to have, though I think in this very case the best solution is likely to remove the always empty de_CH translation, and let Swiss German translators help their German speak improve the quality of the common Hochdeutsch translation.
Then if regional variants warrant branching off, it should likely be done by starting from the 100% complete de translation catalog.

@puppetmaster- If I'm not mistaken you're the one who added the de_CH translation. Do you agree with the above proposal?

@akien-mga No problem, I wanted to do this a long time ago myself, unfortunately it didn't work out because of problems with permission.

Any progress on this? I can still see the de_CH translation here: https://hosted.weblate.org/projects/godot-engine/godot/de_CH/

I'll remove it next time I sync translations.
Here's the current version of de_CH.po as backup, if it can be used to retrieve some CH-specific translations to improve a new version forked from de.po (which is 100% complete) - again, after assessing if there's really a use case for a de_CH translation in the first case instead of the pangermanic de.

I would no longer offer a swiss translation. In the Vivaldi Browser it has one too but it reads badly and is very dialect dependent. Don't think that anyone uses it in an editor.


Help

How do i change the form action inside a iframe from the parent window? Please help!

The examples be clear ... You can move an object, for example:

Source: view-source:http://sandbox.ternarylabs.com/porthole/

Thanks! But unfortunately that page is not responding.

See the source code of this page for an example of execution, as it sends an object between them with post


Symfony-demo example

https://github.com/symfony/symfony-demo

In order to handle this issue we decided to use external repository.
@jhryniuk is working on it here https://github.com/PGS-dev/php-docker-skeleton
whole conversation should have place here

I decided to move an example to new organization.
https://github.com/PGS-php/php-docker-skeleton-integration

Done.


Various fixes to django.contrib.gis.geoip2.

@orf Here's an initial follow up to https://github.com/django/django/pull/14215#issuecomment-813108040.
I noticed that we don't seem to run any coverage on Jenkins for much of the gis stuff. When I did so locally I found that there were a few bits of dead code and that there is a lot of code smell and oversights in this wrapper layer. We also leak exceptions from the underlying library, e.g.geoip2.errors.AddressNotFoundError. I've clean some things up, but there are other oddities such as _reader vs _country_or_city - I think we should prefer the information from the city database over the country database if it is available.
A part of me wonders whether we should just deprecate django.contrib.gis.geoip2 and advise use of geoip2 directly. It has a nice API and certain features are inhibited by this wrapper, e.g. locales. (Even if we decide to do that, we can still tidy up in the interim.)
Closes django/django-docker-box#14

@ngnpope Thanks :+1: I moved some of those cleanups to a separate PR #15146, please rebase.

@ngnpope Thanks 👍 I moved some of those cleanups to a separate PR #15146, please rebase.

Thanks. 🏅
Will have a look at this next week.

@ngnpope Do you have time to keep working on this?

I did continue with this, but now it needs a post-black rebase and a couple of test tweaks. It is slowly progressing, I promise! 😅

Closing due to inactivity.
@ngnpope  Feel-free to send a new patch when you have time, thanks.


Best practice for common org settings

We have a few settings we add in every new repo. Things like "enableCodeCop":  true and "gitHubRunner":  "self-hosted".
Currently, we are making the changes manually in every new repo, but is there a smarter way?
I thought of forking Al-Go, creating new template repos, but then there is one more thing to maintain and the risk of really breaking something.

Great, looking forward to that. Perfectly timed question then.
But please not AlGoSettings, we already have enough problems with Al-Go-Settings and Al-Go/settings. "did you update Al-Go-Settings? Yes I updated Al-Go/settings...". 🤯
To me there are: project-settings, repo-settings, and soon org-settings. Maybe the naming could reflect that? Small thing, but we have stumbled over frequently.

ALGoOrgSettings maybe then - it needs to be something that doesn't conflict with other things (hence the ALGo)

With the org settings you would be able to create an org setting called AZURE_CREDENTIALSSECRETNAME = 'somesecretname' to use a different secret for all repos.

Yes, the org settings will make a lot possible. It is just a lot of indirection. You have built something really powerful, and I'm impressed with the speed of progress and your attention to issues. For day to day operations, it is fantastic.
The learning curve when it comes to setting it up initially, even with prior GH experience, is tough when it comes to figuring out the layers of settings/secrets in Al-Go-Settings, Al-Go/settings, repo-secrets, org-secrets and key-vault. The HOL slides and videos did help a lot though.
I just discovered the roadmap - great stuff - you should link to that in the readme.md.
Sorry for the side track, I'm just becoming a bit invested in this - in a good way 😀

Thanks
You are right, that there are a TON of possibilities, but for a lot of simple repositories, it is actually really simple.
I am looking for ways to make the learning curve simpler.

I just discovered the roadmap - great stuff - you should link to that in the readme.md.
Will do:-)

Will close this as a duplicate of https://github.com/microsoft/AL-Go/issues/372 (converted to issue from the roadmap)

Org and Repo variables are now included in the settings matrix.


Invalid binfmt.emulatedSystems breaks bash

Describe the bug
On x system, after setting boot.binfmt.emulatedSystems = [ "x" ];, bash stops working for any command:
-bash: /run/current-system/sw/bin/ls: Too many levels of symbolic links

Steps To Reproduce
Steps to reproduce the behavior:

Given aarch64-linux system
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
nixos-rebuild switch
bash breaks, unable to rollback from the terminal.

Expected behaviour
Such values of boot.binfmt.emulatedSystems should be disallowed.

the way to fix this would be to use type = types.listOf (types.enum [ ... ]); but it would have to be kept up to date manually

No, it's about having the current system listed in boot.binfmt.emulatedSystems. I also ran into this when converting an existing x86_64-linux install to aarch64-linux (the original config had aarch64-linux in boot.binfmt.emulatedSystems). We just need to add a simple assertion to fix this.

I also just ran into this. This can easily break the boot of a remote system, making it inaccessible.

We just need to add a simple assertion to fix this.

Yes that would be great.


Database scaling

To Do

[ ] Fix our current syncing issues
[ ] Checking query statistics so we can do query optimization
[ ] Load testing, e.g., test with 10 million domains to make sure it can handle that amount
[ ] Sharding our RDS instance so it can handle more data. Make sure our RDS instance + ElasticSearch setup can handle all the domains it has

Starting working on Task 2 - Query optimization.  Seeing if we squeeze more from existing before scaling the database up

@epicfaace - It looks like the mostCommonVulnerabilities query call in /backend/src/api/stats.ts is returning a count of the entire table but these returns aren't displayed anywhere on the main page. This might be the cause of the slow querying.  I added the .limit(MAX_RESULTS) statement like you did for the other queries but am not able to test locally with only the generated data.
I'm going to look to add more data to make it analogous to the production version and see what happens.

Ah I see, thanks! @mbachtell-nais feel free to modify the generation code to generate a larger amount of data if that is helpful -- https://github.com/cisagov/crossfeed/blob/master/backend/src/tasks/syncdb.ts#L49

@epicfaace -
I'm certain that adding the .limit(MAX_RESULTS) to the mostCommonVulnerabilities query will not interfere with anything else on the page but am going to conduct one last sweep through the app to verify.  I only see stats.tsx called once on the main page.

I've clicked on every page in the Crossfeed app and verified that the stats.ts page is only used on the Overview (main) page of the site.  There are other slow queries (mainly in search.ts) but this is a good litmus test to see if we can speed things up by supplying a limit.

@epicfaace - I'm certain that adding the .limit(MAX_RESULTS) to the mostCommonVulnerabilities query will not interfere with anything else on the page but am going to conduct one last sweep through the app to verify. I only see stats.tsx called once on the main page.

Thanks!

I've modified the syncdb.ts file with an alphanumeric string has in the domain and organization names to allow for the generation of more samples. Without this collisions were happening in the database and the sample data would break.
The domains look like this now - silly-herschel.4wv7t.crossfeed.local

Great!
--
Ashwin Ramaswami
On Wed, Apr 12, 2023 at 8:57 AM Matthew Bachtell @.***>
wrote:

I've modified the syncdb.ts file with an alphanumeric string has in the
domain and organization names to allow for the generation of more samples.
Without this collisions were happening in the database and the sample data
would break.
The domains look like this now - silly-herschel.4wv7t.crossfeed.local
—
Reply to this email directly, view it on GitHub
https://github.com/cisagov/crossfeed/issues/1763#issuecomment-1505230765,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAM4MX4WOVLNN2A4SE44QMLXA2RERANCNFSM6AAAAAAWRTFZAM
.
You are receiving this because you were mentioned.Message ID:
@.***>

I suggest this be broken in to discrete issues.  I'm going to move this to done and then new issues can be entered individually as they are worked on.


Mapping TMDB Lists

I've always dreamed of having the ability to map certain TMDb lists of my choosing to my home screen (Trending today, this week, popular, etc), then adding another list like Genres for example, or studios, and then maybe adding continue watching. And to have the freedom to the view (appearance) for each (poster, card, button, banner, etc).
I know this sounds complicated but I hope it is not. I imagine some sort of a customize button in the home screen, where it would take me to the Home Screen Customizer Window. Where i can choose the the visible lists or hide some, and I could add another list from a pre-loaded list available on TMDb, and choose what view (appearance) to use for it, change the order of my lists, etc.
There are public lists that are interesting on TMDb like (Best of Horror, Shutup and watch, Mindfu#k movies, Classical Collections, etc)
I hope my feature requests get supporters from other people who want to see this in Cronica I would love to have this flexibility

Hi, I have removed the option to sync with personal TMDB list on the latest update to work better on this and actually deliver a good experience.
But I'm interested in this public lists. Doesn't seem complicated to add support to these public lists, if the API support it (I think it do, but I need to check it). Can you link some of these lists so I can test them?
On the "choose what view (appearance)", do you mean customize each horizontal list on the home by card or poster individually?

If you are interested in public lists, then TMDb is bot the best destination. The biggest player here is Trakt.tv, which becomes 10x better with mdblist (also has a solid public lists + user customized lists (based on filters, genre, rating, etc). Another destination is tvDB. Of course, this needs to be randomized so the the movies don't show the same each time they load and would be randomized on each load... it becomes much more interesting.
Regarding my previous request regarding the UI. Yes, this is basically allowing the user to customize his own setup. For example:

Imagine Cronica has the ability to load TMDb, Trakt.tv, mdblist, and tvDb into the app model. (Based on each user API key).
The user can go to the proposed "Windows Customization Window" and chooses what "Widget" to use and where. By "Widget" I am just referring to a HStack of movies.

Home Tab : 1st Widget "Up Next", 2nd Widget "Trending today", 3rd Widget "Popular", 4th Widget "Because You watched"
Movies Tab: 1st Widget "Genres", 2nd Widget "Adaptive based on user selection in 1st widget, and so on and on.

Appearance customization: Now it will boring to have all widgets in Poster style for example. So the user can choose the style of each widget (Banner, button, poster, card, etc).

Basically, we gave the user the freedom to add/remove/reorder the widgets in each tab. And make his setup some what personal to his use and preference.


Workflow advancements

We want to make improvements in the usability of workflows. There is information in the workflow objects that we can use to provide better information to help guide the user. We can make these improvements in the generic WorkflowWrapper class. Later we can think about building a higher level API.

The Workflow object (i.e., the model object, workflow.Workflow, not the application object, workflow) has a TaskList which contains all it's "child" tasks. Each TaskObject also contains such a TaskList.

@prmukherj I was writing this earlier in the week and got distracted without saving it. The above description is not complete, but I have it all noted mentally. Another point was that we can deduce relationships between task from outputs and required inputs of commands associated with tasks. I realise that I haven't attached anything yet.

consider also #816

@prmukherj
We have added an object-based workflow interface. However, there are still some stringy aspects to that interface that we should look into and design a way to eliminate the strings from the interface.

@prmukherj
The current proposal is that we should completely separate the new- and old-style interfaces. So:
# Old style
workflow.InitializeWorkflow(...)
workflow.TaskObject...
workflow.TaskObject[...].Arguments...
workflow.TaskObject[...].CommandArguments...
workflow.import_geometry # RAISES!

# New style
workflow.watertight()
workflow.import_geometry...
workflow.TaskObject # raises

Prior to adding the new interface, we also added a task(task_name) which is now redundant.
With this separation cleanly in place, we can then analyse the new interface and understand better what else needs to be changed. We can go through the process to achieve that together, step by step.

@prmukherj

Currently required changes

N.b. these are NOT regressions.

[ ] The dir() function for the object returned by meshing.watertight() (NewMeshingWorkflow) needs to be cleaned up.

The returned list contains these extraneous items:
Camel case workflow commands (e.g., CreateCompositeTask)
Out-of-scope application objects (e.g., fault_tolerant, part_management)
Camel case datamodel methods (e.g., setState())
The following are missing:
Specific task objects (e.g., import_geometry)

[ ] Datamodel methods are all missing from NewMeshingWorkflow even though they are in the dir() result. We need to add only the snake case methods.  N.b. task objects (e.g., import_geometry) are actually available while missing from the dir() result.
[x] We are forced to retain snake case datamodel methods in OldMeshingWorkflow for consistency
[ ] For the arguments dict, we could transform all the key to snake case. flobject.py is doing this.


Allow 5-digit splashtag #s

Allow number to go up to 99999 insteas of 9999. There are a couple occurrences of this in my battle JSONs:

Maybe a bug by Nintendo, but if we don't allow it, the battles can't be uploaded.

Docs will have to be updated too: https://github.com/fetus-hina/stat.ink/wiki/Spl3-API:-Post-v3-battle

The number may not limited to 5 digits and may be incremental or something.
If more than 5 digits appear on SplatNet or on the game, I would merge this, but if not, I would prefer to expect it to be sent mod 10000 on the sender side.

I checked; The 5 digits does appear on both splatnet and in battle replays ingame.

@fetus-hina Fixed author info stuff. Feel free to squash the commit to make the history less messy.
And thanks for the confirmation @Adrthegamedev that it appears in-game too! It certainly appears on SplatNet, just rarely.

OK, merge this now.


Accelerate for M1 and M2 Macs

I have no idea how to test if this works, but it compiles on my end. Would love for you all to check it to see if it makes sense.

This feature is in the dev branch of Eigen, should we merge?

This feature is in the dev branch of Eigen, should we merge?

That's your call. From what I saw, Accelerate is limited to the DEV branch of Eigen. Not sure if that will create compatibility issues elsewhere. And yes, I did turn off MKL by default as this was for Apple's ARM. Ideally, cmake should identify the architecture and make the correct choices. If you want, I can try to figure that out. I know very little about cmake. However, I think you first need to decide to merge to main or have it as a separate branch based on the Eigen DEV requirement.


Checkpoint interface in Buffer plugin

The default buffer of the Data Prepper is a blocking queue. The blocking queue has buffer_size which is the capacity of the buffer.
Concern
When the processors read from the buffer the records in the buffer become inflight and we accept more requests. This is brings in a situation where the inflight requests are more than the actual buffer size. In general we should make sure Data Prepper doesn't have more records than the buffer capacity.
Ideas
We should introduce the interface checkpoint() and have counter based implementation for the blocking queue variant.

@erosas @yadavcbala feel free to add your thoughts.


Fix defaultStorageManager.ReadRefreshToken() methodology

Want to get additional tests to have that break our current setup.  That way we will know the new changes are working.  Assigning to Bogdan for the test we should add.
The code comment for this bug:
The algorithm is a bit more complex than this, I assume there are some tests covering everything. I would keep the order as is.
The algorithm is
If application is NOT part of the family, search by client_ID
If app is part of the family or if we DO NOT KNOW if it's part of the family, search by family ID, then by client_id (we will know if an app is part of the family after the first token response).
https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/blob/311fe8b16e7c293462806f397e189a6aa1159769/src/client/Microsoft.Identity.Client/Internal/Requests/Silent/CacheSilentStrategy.cs#L95

I'm going to assign this to @keegan-caruso  as I do not have time to ramp up with Go. It may be that we already have the coverage mentioned here, perhaps in Integration tests.


⚠ Bofrost.at has degraded performance

In b7ebd27, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2364 ms

Resolved: Bofrost.at performance has improved in 8c4fdb8.


feat: added parameters field to datasets and code

Added a kitfile manifest/config file that kit CLI uses to package AI/ML artifacts for model -> datasets section of the kitfile.
Linked issues
Fixes #478

@gorkem @javisperez you can review it now!

@amisevsk i think he meant you :)

@amisevsk i think he meant you :)

Ops, yes!! Sorry sorrryyyyy!

@gorkem @amisevsk you forgot to add hacktoberfest and hacktoberfest-accepted labels

@RS-labhub added


How to generate B-spline curves from discrete points

How to generate B-spline curves from discrete points?
What's the difference from the B-spline basis function

"How to generate...from discrete points?" Do you mean how do you create control points and build a B-spline curve from them? Code for this is in the file BSplineCurve.h. Or do you mean how do you fit a B-spline curve to an ordered collection of points? Code for this is in the file BSplineCurveFit.h with a mathematical description Least-Squares Fitting of Data with B-Spline Curves. A sample application for the fitting is in the folder GeometricTools/Samples/Mathematics/BSplineCurveFitter.
A B-spline basis function is a scalar-valued function of a scalar input. B-spline curves (and NURBS curves) are built as a combination of control points where the coefficients are B-spline basis functions. This is a large topic that I cannot describe in this forum, so you might want to research the topic online.


Model compare failed on a server with FIPS switched on

We use Sqlite lib in our web api and faced with the following error:
ERROR GenericHandler [(null)] - System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
at System.Security.Cryptography.SHA512Managed..ctor()
at SQLite.CodeFirst.Utility.HashCreator.CreateHash(String data)
at SQLite.CodeFirst.SqliteDropCreateDatabaseWhenModelChanges1.IsSameModel(TContext context)    at SQLite.CodeFirst.SqliteDropCreateDatabaseWhenModelChanges1.InitializeDatabase(TContext context)
at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action)
at System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization()
at System.Data.Entity.Internal.RetryAction1.PerformAction(TInput input)    at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action1 action)
at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
at System.Data.Entity.Internal.Linq.InternalSet1.Initialize()    at System.Data.Entity.Internal.Linq.InternalSet1.get_InternalContext()
at System.Data.Entity.Infrastructure.DbQuery1.System.Linq.IQueryable.get_Provider()    at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable1 source, Expression`1 predicate)
The problem is in SHA512Managed which is not supported by FIPS.
Possible solution is just replace SHA512Managed with SHA512CryptoServiceProvider in HashCreator.CreateHash method.

Will not fix this as
a) It is not security relevant which hash algorithm SQLite.CodeFirst uses.
b) It is possible to break existing functionality (generates a different hash than the current function)


Update README.md

Questions
Answers

Description?
Update README with a How to test section for QA

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
N/A

How to test?
Check README.md

@Hlavtox or @tleon could you please apply the proposed changes 🙏 we're busy 😁
Thanks in advance 🙏


View team advance request revamp

Note

These were Sandeep's changes, we had to revert due to some issues faced during the release
Previously approved PR - https://github.com/fylein/fyle-mobile-app/pull/1082

Changes I've made:

Used the previously done changes
Added a bunch of refactoring
Fixed the bugs which were faced during testing last time

Note - This is a new PR checked out from the latest master, I've manually added the previous changes to this branch


A new channel/use existing channel in core framework to support processors, sampling and persistence.

full ServerChannel is ported to .net core. Closing this.


fix typo in setHeaders

Thank you very much, comes from an old refactoring to comply with PSR2 naming conventions


Update Datatables.php

Switched remaining $columns to $this->columns in doOrdering()

@lisa-fehr, thanks! Released on v3.6.10.


Callaway SantAnna estimator

Hi and thanks again for this package!
I'd like to use it for my research project. Is there a chance this package can implement the estimator in DiD.R?

@azev77 Hi! Thank you for your interest. I should do that at some point of time (although probably in a separate package). This used to be something of high priority. Unfortunately, the implementation of the doubly robust estimator is postponed. I couldn't say for sure when it will be done at this moment but I will definitely get back to it.

Thanks, I’d really like to use for my research if possible


Stabilize edition key and add cargo new --edition

This commit stabilizes the edition key in Cargo.toml, both in the
[package] section and inside subtargets. Additionally the cargo new and
cargo init subcommands have been enhanced with a --edition flag to allow
explicitly specifying the edition to be generated.
This commit does not yet change the default edition that's generated.
Closes #5980

r? @matklad
(rust_highfive has picked a reviewer for you, use r? to override)

r? @ehuss
cc @Mark-Simulacrum

Tweak (or drop?) the section in src/doc/src/reference/unstable.md?

I also think we should land this now and upstream into rust-lang/rust, we can discuss and land the default change separately since it seems like we don't have consensus there.

@dwijnand an excellent point! The docs should be updated now (and tests hopefully passing)

@bors r+

:pushpin: Commit 3d0290398ad4e9c20609ada5155a0f872569a36f has been approved by ehuss

:hourglass: Testing commit 3d0290398ad4e9c20609ada5155a0f872569a36f with merge 56ee6204de6da133e1c0e5064dfb24065dc41ff7...

:sunny: Test successful - status-appveyor, status-travis
Approved by: ehuss
Pushing 56ee6204de6da133e1c0e5064dfb24065dc41ff7 to master...


[KAFKA-8658] A way to configure the jmx rmi port

Please see https://issues.apache.org/jira/browse/KAFKA-8658 for description.

@ijuma You want to take a look at this?

Retest this please.


Pressing escape does not cancel search

When I press escape while typing a query, the query is run like I pressed enter instead of cancelled. I think it should be cancelled.

I have to ask: are you using the latest version? This was fixed 5 weeks ago.

I've updated, and indeed it's fixed. Thanks!

Phew. :-)


fix parsing /proc/version to get gcc version

Using rpi-source with this /proc/version :
Linux version 4.0.7-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.8.3 20140303 (prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03) ) #801 SMP PREEMPT Tue Jun 30 18:38:23 BST 2015

Give the following error :
ERROR:
gcc version check: mismatch between gcc (4.8.4) and /proc/version (4.0.7)
Skip this check with --skip-gcc

Help: https://github.com/notro/rpi-source/wiki

There is a confusion between the kernel version and the gcc version used to build it.
This pull request looks for gcc version in /proc/version.

Thanks for this I had to make a small change https://github.com/notro/rpi-source/commit/b025ca57b715b8d4aeb47998afdda7218aa0e80a


Adds convenience method to clear/invalidate a cookie

Adds convenience method to clear/invalidate a cookie. Looks up a cookie by name and sets its expiration in the past.
Signed-off-by: Santiago Pericasgeertsen<EMAIL_ADDRESS>

Issue #3030


result_meta dimension in aggregate_spatial

The devtelco of this afternoon led me to this " total_count and valid_count" feature of aggregate_spatial I was not aware of.
https://github.com/Open-EO/openeo-processes/blob/b81e96b454b808e32aa94128ba71daf5b06daa19/aggregate_spatial.json#L81

The computation also stores information about the total count of pixels (valid + invalid pixels) and the number of valid pixels  for each geometry. These values are added as a new dimension with a dimension name derived from target_dimension by adding the suffix _meta. The new dimension has the dimension labels total_count and valid_count.

I'm not sure this makes sense: you can not just "add a new dimension" to append metadata
For example, assume the input raster cube is a 2D (x,y) raster cube
Purely looking at the aggregation results, the output is also a 2D vector cube with a vector dimension (with a label for each geometry) and a "result" dimension (with just a single item, e.g. label "aggregation"). Attempt to visualize:

"aggregation"

geom1
1.23

geom2
4.56

...
...

First observation: the "result" dimension is actually not necessary, the result could just be a 1D vector cube.
Now about the result_meta dimension and its labels total_count and valid_count. If you simply "add" this dimension, then you get a 3D vector cube, with dimensions:

vector dimension (labels geom1, geom2, ...)
"result" dimension (single label, e.g. "aggregation")
"result_meta" dimension (labels "total_count", "valid_count")

but your aggregations are lost here: at what coordinates in this cube is the original aggregation stored?  This result cube has only metadata.
I think what is intended is that total_count and valid_count should be new labels in the "result" dimension.
So the "result" dimension would have labels "aggregation", "total_count", "valid_count"

related to https://github.com/openEOPlatform/architecture-docs/issues/84

also related to the discussion around https://github.com/Open-EO/openeo-processes/issues/341#issuecomment-1067886942

Yes, I also stumbled across this recently and it needs to be rephrased based also on the vector cube definition later.
One potential solution is indeed what you proposed and is also given as an example in the mentioned discussion: https://github.com/Open-EO/openeo-processes/issues/341#issuecomment-1068179876

is also given as an example in the mentioned discussion: https://github.com/Open-EO/openeo-processes/issues/341#issuecomment-1068179876

with the difference, I think, that the "result" and "band" dimension should be separate, instead of flattened as in that example

How should that work? You did argue above that this doesn't work if I understood it correctly?

How should that work?

It's like my original example, but one additional dimension:
start from 3D raster cube: (x, y, bands)
output should be (I think): 3D vector cube:

vector dimension
band dimension (like original input)
"result" dimension with labels "aggregation" (or something alike), "total_count", "valid_count"


Integrate toygraphql - Update URLs

Requirements
EntityViewer does not work on internal-2020.ensembl.org if accessed through https
Type

[ ] Bug fix
[ ] New feature
[ ] Improvement to existing feature
[x] BE service Integration

Related JIRA Issue(s)
https://www.ebi.ac.uk/panda/jira/browse/ENSWBSITES-691
Importance
Description
Toy-GraphQL URL http://hx-rke-wp-webadmin-14-worker-1.caas.ebi.ac.uk:31770 is the internal URL of WP-k8s cluster this can be access over HTTP only. This causes problem with EntityViewer on  internal-2020.ensembl.org over https.
Toy GraphQL URLs
https://internal-2020.ensembl.org/toygraphql
https://staging-2020.ensembl.org/toygraphql
Views affected
EntityViewer
Other effects
None

[ ] I have checked any requirements for Google Analytics
[ ] I have created any required tests
[ ] The PR has as its final commit a WASM/JS update commit if any Rust files were updated.

Possible complications
None

Please do not Merge this PR until further notice. There is an issue while accessing GrahQL from staging, internal.

This can be merged now.


Integrated westes

This is a pull request explaining all the changes done during preparing PoC of so called integrated WES-TES, so an environment, that uses shared local file system (shared PVC in K8s) instead of FTP for intermediate storage between WES and TES and for final results.
I open that Pull Request to illustrate the changes, that were necessary to make integrated WES-TES happen. The changes are really tiny and I hope we will find a solution to keep one common code base.
But..

At least one change will break authenticated version compatibility (cwl-tes without authetication).
Changes are unfortunately not in separate PRs per discovered issue, but in a bulk - as we were aiming at getting things done for particular March deadline.
3 Contributing guide expects the code to lint, but even the upstream code does not go through pylint (at least for me).
That is why, I expect this particular PR to be rejected and replaced with code, that works for both sides. If we agree, which changes are OK to go to WES-ELIXIR we will prepare small proper PRs once again.

The easier way to go through the PR is to compare changes and not commits.
What it contains:

Our Gitlab CI YAML. That is a biggest puzzle for me, how to keep a common code base and still have CI/CD code in the repo. Any ideas?
Dockerfile that fixes cwltool version to the one, that works for integrated WES-TES without changes in WES-ELIXIR code.
Newest cwl-tes as a requirement. That probably will have to be replaced with cwl-tes with authentication applied, as otherwise it is going to break authenticated WES-TES.
Optional configuration -> that is not strictly necessary, as an empty remote-storage-url works in the same way as no remote-storage-url
Logging mongoDB connection details - as we had some issues, passing those parameters correctly. Also probably not necessary, as such.
Outputs parser, that fishes for outputs in a different way and that works for our full portfolio of working CWL workflows (hashsplitter, cmsearch, RD workflow - https://github.com/EMBL-EBI-TSI/WesCli/tree/master/examples) and some tests for output parser. That is necessary for one of the workflows for which outputs were empty in the GET run results (issue reported).

[x] .gitlab-ci.yml: okay to add; should not be a big problem as currently we use Travis CI, not GitLab; however, should be possible to have multiple GitLab CI/CD files if we need later on
[x] requirements.txt: should be okay to use the one in current dev (updated cwltool version and others!), but please check
[x] Dockerfile: should be okay to use the one in current dev (updated!), except .netrc file needs to be present in root (can be empty); compare with changes in requirements.txt
[x] wes_elixir_test/celery_task_monitor_test.py: in principle okay to add, but please but in tests/ rather than wes_elixir_test
[x] wes_elixir_test/misc_test.py: in principle okay to add, but please but in tests/ rather than wes_elixir_test
[x] wes_elixir_test/resources/HashSplitter_output.txt: in principle okay to add, but please but in tests/ rather than wes_elixir_test
[x] wes_elixir_test/resources/Maxim_output.txt: in principle okay to add, but please but in tests/ rather than wes_elixir_test
[x] wes_elixir_test/resources/failed_output.txt: in principle okay to add, but please but in tests/ rather than wes_elixir_test
[ ] build.sh: would rather not have in repo as it has hardcoded values; if you want to keep, please put somewhere in deployment/ rather than root directory

Haven't checked these more tricky ones yet, will do next week:

[ ] `wes_elixir/config/config_parser.py
[ ] `wes_elixir/config/override/app_config.dev.yaml
[ ] `wes_elixir/database/register_mongodb.py
[ ] `wes_elixir/ga4gh/wes/endpoints/run_workflow.py
[ ] `wes_elixir/tasks/celery_task_monitor.py
[ ] `wes_elixir/utils.py

One thing I noticed is that there's no update to README.md. Would be good to have instructions for integrated WES/TES deployment in root README.md and/or deployment/README.md.

Closing this for now. If we revisit that, can be useful to look at.


no method named available found for struct Client in the current scope

Sorry for the inconvenience. I'm not very experienced in programming and more a photographer who wants to build and compile the following project: https://github.com/FruitieX/negative_scanner
I succeded with installing opencv-rust on Manjaro Linux (Arch Linux) and compile succesfully a test with opencv (https://www.delftstack.com/howto/rust/opencv-rust)
But compiling FruitieX-project I get the same error as in issue #400, only opencv-version is the newest (0.94.4):
error[E0599]: no method named available found for struct Client in the current scope
--> /home/silverpixel/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.93.4/build/generator.rs:140:33
|
140 |                 let available_jobs = client.available().unwrap_or(0);
|                                             ^^^^^^^^^ method not found in Client

I see, looks like the minimum version requirement got lost at some point, I'm going to release the fix momentarily, but for now you should be able to run cargo update in the project directory and it should build successfully afterwards. Although I'm pretty confident that the code in negative_scanner will need to be adjusted too, there were a lot of changes between 0.63.1 and 0.94.4 versions.

Should now be fine again in 0.94.5