fixed ansible-runner dockerfile to reduce image size

Signed-off-by: Jayadeep KM<EMAIL_ADDRESS>What this PR does / why we need it:
Optimizes the ansible-runner dockerfile to reduce image size from 627MB to just 298MB.
fixes litmuschaos/litmus#832
Changes:

added tag - bionic to base image ubuntu (good practice)
cleanup apt cache after installing dependencies
added --no-install-recommends to apt install command to avoid installing optional dependencies
added python-setuptools to apt-install command. (Earlier it was being installed along with optional dependencies. It is required for ansible setup)

With these minor changes the image size was reduced drastically.
I will run a full experiment with the new image and post the logs soon
Checklist

[x] Does this PR have a corresponding GitHub issue?
[ ] Have you included relevant README for the chaoslib/experiment with details?
[ ] Have you added debug messages where necessary?
[ ] Have you added task comments where necessary?
[ ] Have you tested the changes for possible failure conditions?
[ ] Have you provided the positive & negative test logs for the litmusbook execution?
[ ] Does the litmusbook ensure idempotency of cluster state?, i.e., is cluster restored to original state?
[ ] Have you used non-shell/command modules for Kubernetes tasks?
[ ] Have you (jinja) templatized custom scripts that is run by the litmusbook, if any?
[ ] Have you (jinja) templatized Kubernetes deployment manifests used by the litmusbook, if any?
[ ] Have you reused/created util functions instead of repeating tasks in the litmusbook?
[ ] Do the artifacts follow the appropriate directory structure?
[ ] Have you isolated storage (eg: OpenEBS) specific implementations, checks?
[ ] Have you isolated platform (eg: baremetal kubeadm/openshift/aws/gcloud) specific implementations, checks?
[ ] Are the ansible facts well defined? Is the scope explicitly set for playbook & included utils?
[ ] Have you ensured minimum/careful usage of shell utilities (awk, grep, sed, cut, xargs etc.,)?
[ ] Can the limtusbook be executed both from within & outside a container (configurable paths, no hardcode)?
[ ] Can you suggest the minimal resource requirements for the litmusbook execution?
[ ] Does the litmusbook job artifact carry comments/default options/range for the ENV tunables?
[ ] Has the litmusbooks been linted?

Special notes for your reviewer:

Also fixes #588

Awesome! @kmjayadeep - this was a long pending technical debt. Can you confirm that you are able to run experiments successfully post these changes?

Awesome! @kmjayadeep - this was a long pending technical debt. Can you confirm that you are able to run experiments successfully post these changes?

I'm looking into it. Will run and post logs by evening

@ksatchit
Here is the log from pod-delete which is ran using the new image
ansible-playbook 2.7.3
  config file = None
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible
  executable location = /usr/local/bin/ansible-playbook
  python version = 2.7.15+ (default, Oct  7 2019, 17:39:04) [GCC 7.4.0]
No config file found; using defaults
/etc/ansible/hosts did not meet host_list requirements, check plugin documentation if this is unexpected
/etc/ansible/hosts did not meet script requirements, check plugin documentation if this is unexpected
statically imported: /experiments/generic/pod_delete/pod_delete_ansible_prerequisites.yml

PLAYBOOK: pod_delete_ansible_logic.yml *****************************************
1 plays in ./experiments/generic/pod_delete/pod_delete_ansible_logic.yml

PLAY [localhost] ***************************************************************
2019-10-10T14:31:31.272060 (delta: 0.032407)         elapsed: 0.032407 ********
===============================================================================

TASK [Gathering Facts] *********************************************************
task path: /experiments/generic/pod_delete/pod_delete_ansible_logic.yml:2
2019-10-10T14:31:31.281063 (delta: 0.008973)         elapsed: 0.04141 *********
ok: [<IP_ADDRESS>]
META: ran handlers

TASK [Identify the chaos util to be invoked] ***********************************
task path: /experiments/generic/pod_delete/pod_delete_ansible_prerequisites.yml:1
2019-10-10T14:31:36.125229 (delta: 4.844138)         elapsed: 4.885576 ********
changed: [<IP_ADDRESS>] => {"changed": true, "checksum": "c272806e35212135d7ba563c282a0ab52a9d56a4", "dest": "./chaosutil.yml", "gid": 0, "group": "root", "md5sum": "d138cf6836284fb164fe8bdf4032cafc", "mode": "0644", "owner": "root", "size": 54, "src": "/root/.ansible/tmp/ansible-tmp-1570717896.15-180831474772323/source", "state": "file", "uid": 0}

TASK [include_vars] ************************************************************
task path: /experiments/generic/pod_delete/pod_delete_ansible_logic.yml:21
2019-10-10T14:31:36.546563 (delta: 0.421313)         elapsed: 5.30691 *********
ok: [<IP_ADDRESS>] => {"ansible_facts": {"c_util": "/chaoslib/litmus/pod_failure_by_litmus.yml"}, "ansible_included_var_files": ["/experiments/generic/pod_delete/chaosutil.yml"], "changed": false}

TASK [Construct chaos result name (experiment_name)] ***************************
task path: /experiments/generic/pod_delete/pod_delete_ansible_logic.yml:27
2019-10-10T14:31:36.600929 (delta: 0.054277)         elapsed: 5.361276 ********
ok: [<IP_ADDRESS>] => {"ansible_facts": {"c_experiment": "engine-nginx-pod-delete"}, "changed": false}

TASK [include_tasks] ***********************************************************
task path: /experiments/generic/pod_delete/pod_delete_ansible_logic.yml:34
2019-10-10T14:31:36.669696 (delta: 0.068733)         elapsed: 5.430043 ********
included: /utils/runtime/update_chaos_result_resource.yml for <IP_ADDRESS>

TASK [Generate the litmus result CR to reflect SOT (Start of Test)] ************
task path: /utils/runtime/update_chaos_result_resource.yml:3
2019-10-10T14:31:36.745188 (delta: 0.075398)         elapsed: 5.505535 ********
changed: [<IP_ADDRESS>] => {"changed": true, "checksum": "762fa33f316adce43a6b17b938253877f285396a", "dest": "./chaos-result.yaml", "gid": 0, "group": "root", "md5sum": "16f40e6ba355987016c0dcb2d50b31dc", "mode": "0644", "owner": "root", "size": 342, "src": "/root/.ansible/tmp/ansible-tmp-1570717896.78-178101241777002/source", "state": "file", "uid": 0}

TASK [Apply the litmus result CR] **********************************************
task path: /utils/runtime/update_chaos_result_resource.yml:12
2019-10-10T14:31:36.986564 (delta: 0.24127)         elapsed: 5.746911 *********
changed: [<IP_ADDRESS>] => {"changed": true, "cmd": "kubectl apply -f chaos-result.yaml -n litmus", "delta": "0:00:00.834665", "end": "2019-10-10 14:31:38.031345", "failed_when_result": false, "rc": 0, "start": "2019-10-10 14:31:37.196680", "stderr": "", "stderr_lines": [], "stdout": "chaosresult.litmuschaos.io/engine-nginx-pod-delete created", "stdout_lines": ["chaosresult.litmuschaos.io/engine-nginx-pod-delete created"]}

TASK [Update the litmus result CR to reflect EOT (End of Test)] ****************
task path: /utils/runtime/update_chaos_result_resource.yml:22
2019-10-10T14:31:38.087055 (delta: 1.10046)         elapsed: 6.847402 *********
skipping: [<IP_ADDRESS>] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [Apply the litmus result CR] **********************************************
task path: /utils/runtime/update_chaos_result_resource.yml:31
2019-10-10T14:31:38.136998 (delta: 0.0499)         elapsed: 6.897345 **********
skipping: [<IP_ADDRESS>] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [Verify that the AUT (Application Under Test) is running] *****************
task path: /experiments/generic/pod_delete/pod_delete_ansible_logic.yml:41
2019-10-10T14:31:38.182087 (delta: 0.04503)         elapsed: 6.942434 *********
included: /utils/common/status_app_pod.yml for <IP_ADDRESS>

TASK [Get the container status of application.] ********************************
task path: /utils/common/status_app_pod.yml:2
2019-10-10T14:31:38.254200 (delta: 0.072072)         elapsed: 7.014547 ********
changed: [<IP_ADDRESS>] => {"attempts": 1, "changed": true, "cmd": "kubectl get pod -n litmus -l run=\"myserver\" -o custom-columns=:..containerStatuses[].state --no-headers | grep -w \"running\"", "delta": "0:00:00.465507", "end": "2019-10-10 14:31:38.849731", "rc": 0, "start": "2019-10-10 14:31:38.384224", "stderr": "", "stderr_lines": [], "stdout": "map[running:map[startedAt:2019-10-10T14:30:46Z]]", "stdout_lines": ["map[running:map[startedAt:2019-10-10T14:30:46Z]]"]}

TASK [Checking {{ application_name }} pod is in running state] *****************
task path: /utils/common/status_app_pod.yml:13
2019-10-10T14:31:38.905819 (delta: 0.651584)         elapsed: 7.666166 ********
changed: [<IP_ADDRESS>] => {"attempts": 1, "changed": true, "cmd": "kubectl get pods -n litmus -o jsonpath='{.items[?(@.metadata.labels.run==\"myserver\")].status.phase}'", "delta": "0:00:00.464719", "end": "2019-10-10 14:31:39.507914", "rc": 0, "start": "2019-10-10 14:31:39.043195", "stderr": "", "stderr_lines": [], "stdout": "Running", "stdout_lines": ["Running"]}

TASK [include_tasks] ***********************************************************
task path: /experiments/generic/pod_delete/pod_delete_ansible_logic.yml:52
2019-10-10T14:31:39.555676 (delta: 0.649822)         elapsed: 8.316023 ********
included: /chaoslib/litmus/pod_failure_by_litmus.yml for <IP_ADDRESS>

TASK [Derive chaos iterations] *************************************************
task path: /chaoslib/litmus/pod_failure_by_litmus.yml:1
2019-10-10T14:31:39.625542 (delta: 0.069835)         elapsed: 8.385889 ********
ok: [<IP_ADDRESS>] => {"ansible_facts": {"chaos_iterations": "3"}, "changed": false}

TASK [Set min chaos count to 1 if interval > duration] *************************
task path: /chaoslib/litmus/pod_failure_by_litmus.yml:5
2019-10-10T14:31:39.684111 (delta: 0.058539)         elapsed: 8.444458 ********
skipping: [<IP_ADDRESS>] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [Kill application pods randomly for the specified duration] ***************
task path: /chaoslib/litmus/pod_failure_by_litmus.yml:10
2019-10-10T14:31:39.721339 (delta: 0.037192)         elapsed: 8.481686 ********
skipping: [<IP_ADDRESS>] => (item=1)  => {"changed": false, "item": "1", "skip_reason": "Conditional result was False"}
skipping: [<IP_ADDRESS>] => (item=2)  => {"changed": false, "item": "2", "skip_reason": "Conditional result was False"}
skipping: [<IP_ADDRESS>] => (item=3)  => {"changed": false, "item": "3", "skip_reason": "Conditional result was False"}

TASK [Kill application pods randomly for the specified duration] ***************
task path: /chaoslib/litmus/pod_failure_by_litmus.yml:20
2019-10-10T14:31:39.789518 (delta: 0.068149)         elapsed: 8.549865 ********
changed: [<IP_ADDRESS>] => (item=1) => {"changed": true, "cmd": "kubectl get pods -l run=myserver -n litmus --no-headers -o custom-columns=:metadata.name | shuf -n 1 | xargs kubectl delete pod -n litmus\n sleep 5", "delta": "0:00:07.570562", "end": "2019-10-10 14:31:47.508054", "item": "1", "rc": 0, "start": "2019-10-10 14:31:39.937492", "stderr": "", "stderr_lines": [], "stdout": "pod \"myserver-54c896dd7b-lfcrs\" deleted", "stdout_lines": ["pod \"myserver-54c896dd7b-lfcrs\" deleted"]}
changed: [<IP_ADDRESS>] => (item=2) => {"changed": true, "cmd": "kubectl get pods -l run=myserver -n litmus --no-headers -o custom-columns=:metadata.name | shuf -n 1 | xargs kubectl delete pod -n litmus\n sleep 5", "delta": "0:00:15.148389", "end": "2019-10-10 14:32:02.756118", "item": "2", "rc": 0, "start": "2019-10-10 14:31:47.607729", "stderr": "", "stderr_lines": [], "stdout": "pod \"myserver-54c896dd7b-hnb52\" deleted", "stdout_lines": ["pod \"myserver-54c896dd7b-hnb52\" deleted"]}
changed: [<IP_ADDRESS>] => (item=3) => {"changed": true, "cmd": "kubectl get pods -l run=myserver -n litmus --no-headers -o custom-columns=:metadata.name | shuf -n 1 | xargs kubectl delete pod -n litmus\n sleep 5", "delta": "0:00:09.892644", "end": "2019-10-10 14:32:12.764518", "item": "3", "rc": 0, "start": "2019-10-10 14:32:02.871874", "stderr": "", "stderr_lines": [], "stdout": "pod \"myserver-54c896dd7b-55dg8\" deleted", "stdout_lines": ["pod \"myserver-54c896dd7b-55dg8\" deleted"]}

TASK [Verify AUT liveness post fault-injection] ********************************
task path: /experiments/generic/pod_delete/pod_delete_ansible_logic.yml:58
2019-10-10T14:32:12.816159 (delta: 33.026607)         elapsed: 41.576506 ******
included: /utils/common/status_app_pod.yml for <IP_ADDRESS>

TASK [Get the container status of application.] ********************************
task path: /utils/common/status_app_pod.yml:2
2019-10-10T14:32:12.899939 (delta: 0.083743)         elapsed: 41.660286 *******
changed: [<IP_ADDRESS>] => {"attempts": 1, "changed": true, "cmd": "kubectl get pod -n litmus -l run=\"myserver\" -o custom-columns=:..containerStatuses[].state --no-headers | grep -w \"running\"", "delta": "0:00:00.457167", "end": "2019-10-10 14:32:13.492276", "rc": 0, "start": "2019-10-10 14:32:13.035109", "stderr": "", "stderr_lines": [], "stdout": "map[running:map[startedAt:2019-10-10T14:32:09Z]]", "stdout_lines": ["map[running:map[startedAt:2019-10-10T14:32:09Z]]"]}

TASK [Checking {{ application_name }} pod is in running state] *****************
task path: /utils/common/status_app_pod.yml:13
2019-10-10T14:32:13.544018 (delta: 0.644051)         elapsed: 42.304365 *******
changed: [<IP_ADDRESS>] => {"attempts": 1, "changed": true, "cmd": "kubectl get pods -n litmus -o jsonpath='{.items[?(@.metadata.labels.run==\"myserver\")].status.phase}'", "delta": "0:00:00.434568", "end": "2019-10-10 14:32:14.106480", "rc": 0, "start": "2019-10-10 14:32:13.671912", "stderr": "", "stderr_lines": [], "stdout": "Running", "stdout_lines": ["Running"]}

TASK [set_fact] ****************************************************************
task path: /experiments/generic/pod_delete/pod_delete_ansible_logic.yml:67
2019-10-10T14:32:14.155817 (delta: 0.611768)         elapsed: 42.916164 *******
ok: [<IP_ADDRESS>] => {"ansible_facts": {"flag": "pass"}, "changed": false}

TASK [include_tasks] ***********************************************************
task path: /experiments/generic/pod_delete/pod_delete_ansible_logic.yml:77
2019-10-10T14:32:14.218250 (delta: 0.062331)         elapsed: 42.978597 *******
included: /utils/runtime/update_chaos_result_resource.yml for <IP_ADDRESS>

TASK [Generate the litmus result CR to reflect SOT (Start of Test)] ************
task path: /utils/runtime/update_chaos_result_resource.yml:3
2019-10-10T14:32:14.288352 (delta: 0.070068)         elapsed: 43.048699 *******
skipping: [<IP_ADDRESS>] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [Apply the litmus result CR] **********************************************
task path: /utils/runtime/update_chaos_result_resource.yml:12
2019-10-10T14:32:14.328276 (delta: 0.039891)         elapsed: 43.088623 *******
skipping: [<IP_ADDRESS>] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [Update the litmus result CR to reflect EOT (End of Test)] ****************
task path: /utils/runtime/update_chaos_result_resource.yml:22
2019-10-10T14:32:14.365674 (delta: 0.037368)         elapsed: 43.126021 *******
changed: [<IP_ADDRESS>] => {"changed": true, "checksum": "7bd582f3deb9392050eef348952bd8ab5c04664b", "dest": "./chaos-result.yaml", "gid": 0, "group": "root", "md5sum": "0e766db40cb0d0418c002f63e27d264b", "mode": "0644", "owner": "root", "size": 339, "src": "/root/.ansible/tmp/ansible-tmp-1570717934.4-225032957175293/source", "state": "file", "uid": 0}

TASK [Apply the litmus result CR] **********************************************
task path: /utils/runtime/update_chaos_result_resource.yml:31
2019-10-10T14:32:15.015535 (delta: 0.64983)         elapsed: 43.775882 ********
changed: [<IP_ADDRESS>] => {"changed": true, "cmd": "kubectl apply -f chaos-result.yaml -n litmus", "delta": "0:00:00.496585", "end": "2019-10-10 14:32:15.628181", "failed_when_result": false, "rc": 0, "start": "2019-10-10 14:32:15.131596", "stderr": "", "stderr_lines": [], "stdout": "chaosresult.litmuschaos.io/engine-nginx-pod-delete configured", "stdout_lines": ["chaosresult.litmuschaos.io/engine-nginx-pod-delete configured"]}
META: ran handlers
META: ran handlers

PLAY RECAP *********************************************************************
<IP_ADDRESS>                  : ok=20   changed=10   unreachable=0    failed=0

2019-10-10T14:32:15.655633 (delta: 0.64006)         elapsed: 44.41598 *********
===============================================================================

And chaosresult
Name:         engine-nginx-pod-delete
Namespace:    litmus
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"litmuschaos.io/v1alpha1","kind":"ChaosResult","metadata":{"annotations":{},"name":"engine-nginx-pod-delete","namespace":"li...
API Version:  litmuschaos.io/v1alpha1
Kind:         ChaosResult
Metadata:
  Creation Timestamp:  2019-10-10T14:31:38Z
  Generation:          2
  Resource Version:    223401
  Self Link:           /apis/litmuschaos.io/v1alpha1/namespaces/litmus/chaosresults/engine-nginx-pod-delete
  UID:                 ab0acae0-eb6a-11e9-9684-025000000001
Spec:
  Experimentstatus:
    Phase:    <nil>
    Verdict:  pass
Events:       <none>

The experiment i ran
Name:         pod-delete
Namespace:    litmus
Labels:       <none>
Annotations:  <none>
API Version:  litmuschaos.io/v1alpha1
Description:
  Message:  Deletes a pod belonging to a deployment/statefulset/daemonset

Kind:  ChaosExperiment
Metadata:
  Creation Timestamp:  2019-10-10T14:30:24Z
  Generation:          1
  Resource Version:    223149
  Self Link:           /apis/litmuschaos.io/v1alpha1/namespaces/litmus/chaosexperiments/pod-delete
  UID:                 7f15c04d-eb6a-11e9-9684-025000000001
Spec:
  Definition:
    Args:
      -c
      ansible-playbook ./experiments/generic/pod_delete/pod_delete_ansible_logic.yml -i /etc/ansible/hosts -vv; exit 0
    Command:
      /bin/bash
    Env:
      Name:   ANSIBLE_STDOUT_CALLBACK
      Value:  default
      Name:   TOTAL_CHAOS_DURATION
      Value:  15
      Name:   CHAOS_INTERVAL
      Value:  5
      Name:   LIB
      Value:
    Image:    kmjayadeep/ansible-runner:latest
    Labels:
      Name:  pod-delete
Events:      <none>

and the docker image I used for testing
REPOSITORY                                            TAG                            IMAGE ID            CREATED             SIZE
kmjayadeep/ansible-runner                             latest                         bc926e06b879        10 hours ago        298MB

@ksatchit @chandankumar4 Could you please take a look?


DD-783 Use new DANS collections termURIs

Fixes DD-783
When applied it will

[x] replace non latin chars in URI in skosmos file
[x] deploy ttl on skosmos server

Where should the reviewer @DANS-KNAW/easy start?
How should this be manually tested?
Related pull requests on github

repo
PR
note

dd-dtap
PR#176
..

New vocabulary has been deployed on tweb11.


Initialize with init for mutable builtins.

This moves the initialization from the arguments into __init__. dict already did this, this just fixes the behavior for list and set.

Fixed #1782

There's still a couple more (bytearray as a builtin and deque and maybe others in collections) and I'll get to those in a later PR.


Sink Analyser: Create new sink analyser for analysing sink functions in project

ICreate new constant to store possible function sink list of supported language.
Issue #670
Signed-off-by: Arthur Chan<EMAIL_ADDRESS>

I think I'd prefer to have these as part of the .py module for the given analysis plugin. Could we store them in the module we place in https://github.com/ossf/fuzz-introspector/tree/main/src/fuzz_introspector/analyses ? Is the plan to extend https://github.com/ossf/fuzz-introspector/blob/main/src/fuzz_introspector/analyses/function_call_analyser.py or create a new module one?

I think just keep it like that temporary. Will move them when the crawler and collectio are working.

Please fix CI and then I'll merge


Script as a Service

Hi Alexander,
In your scenario, has the perl script (perl /opt/zdba/zdba.pl /opt/zdba/conf/config.pl) been configured to start together with the system as a service? After running, if the terminal session is terminated, the script is also finished.

hi @coutodiogo
there's init script that you can use to enable automatic startup of zdba see /initd/zdba in repo, but don't forget to review it before implementing it into your system
also you can run script manually in background by adding & at the end (standard shell functionality)

Hi @anetrusov
I configure the script as a service, but when i execut "service zdba start" the error above is shown in /opt/zdba/log/zdba.err :
"Can't locate forks.pm in @INC (you may need to install the forks module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at /opt/zdba/ZabbixDBA.pl line 6.
BEGIN failed--compilation aborted at /opt/zdba/ZabbixDBA.pl line 6."
If I run the script manually, the monitor works. I had this same problem previously, running the script manually, and you suggested me to reinstall the forks module (I commented on your youtube video with doubts).
What do you think it could be? Would it be appropriate to reinstall the forks?  The manual script works, only the parameterized via service that does not.

did you configure RUN_AS variable properly? if it is currently running as root it doesn't see perlbrew and can't find installed modules.
also, you can add source /path/to/perl5/perlbrew/etc/bashrc at the beginning of /etc/init.d/zdba and it should work.

I follow your instructions and didn't work. I run the command "perl /opt/zdba/zdba.pl /opt/zdba/conf/config.pl" as root and works.

but it works when you run it manually, so the issue is with environment variables.
in order perl to work properly it requires PERL5LIB environment variable which contains paths to libraries.
just try to add source /path/to/perl5/perlbrew/etc/bashrc at the beginning of the file and run it again.

Doc1.docx

@anetrusov this attachment contains some prints. I have already tried to add all the paths below in the file:
source / path / to / perl5 / perlbrew / etc / bashrc
source ~ / perl5 / perlbrew / etc / bashrc
source root / perl5 / perlbrew / etc / bashrc

just like I said - it didn't load paths. just look at the list of directories aftter @INC contains: - it doesn't contain perlbrew paths
also, /path/to/perl5/perlbrew/etc/bashrc is not valid, I just didn't know where you've installed perlbrew
as I see in your comment on YT, it should be source /root/perl5/perlbrew/etc/bashrc
and send me output of perlbrew list, please.

The output is  perl-5.26.0

@anetrusov I tried using the command source /root/perl5/perlbrew/etc/bashrc but it did not work

UPDATE:
I've fixed it by doing the following (Red Hat 6.8):

vim /etc/init.d/zdba

#Add this line:
source /root/perl5/perlbrew/etc/bashrc

vim ~/.bash_profile

#Add this line:
source /root/perl5/perlbrew/etc/bashrc

service zdba start

@lpossamai thanks for update!


RuntimeError: Failed to run torchgraph see error message

how to use visualize custom vision models like unet using torchview, when I try to visualize my model, it throws the following error:
.
.
.
.
.
RuntimeError: Failed to run torchgraph see error message

Did you find a solution ?

What is the whole error ?


Validations should be numbered and reference the field in error

This:
<%= validate_form('#project-form', :project) do -%>
  <%= validate_field(:name, empty: 'Please provide the projects name') %>
  <%= validate_field(:provider_arn, provider_arn: message) %>
<%- end -%>

Results in:

Which isn't very readable.
Naturally I might be using this incorrectly :see_no_evil:

In that example, the message is being copied verbatim into the validation errors. You need to provide a message which suits the purpose better.
Might be a good idea to make the errors show as dot points though (numbering is cool but the numbers would have no meaning at all).

Dot points would suffice, just needs to be visually broken up better


Feature/insert

I made some small updates to the Fly.source allowing to pass in options to globby/node-glob.
The big feature I added starts on 377 in lib/fly.js it adds the ability to modify the path before a file is output so that you can easily manage mono repos.
I added tests for it, updated the docs, as well as added an example for how it can be useful.

Honestly, this whole insert option screams "plugin!" to me. I don't see this being useful to the 95%. @bucaran what do you think?

@lukeed I would make it into a plugin but I don't think there's a way to do it since the information that's passed into filters doesn't contain the path info only contains the data and the filename

I don't disagree with @lukeed that in most cases it's not going to be used. But I just started a monorepo in the same way that Babel did with their packages and I took their Gulpfile.js and added a few more things to in to support other output folders in nested packages and before i knew it the gulpfile was 100+ lines and doing some strange things which is the reason I abbandonded gulp in the first place. With this small addition I was able to reduce 100+ lines down into a small very manageable 20 lines.
import path from 'path'
const packages = (folder) => path.join('packages', '*', folder, '**', '*.js')

export default async function build() {
  await this
    .source(packages('src'), packages('app')))
    .target('packages', { insert: 'dist' })

  const others = [ 'scripts', 'tools', 'test' ]
  const promises = []

  for (let other of others) {
    this
      .source(packages(`${other}-src`))
      .target('packages', { insert: `${other}` })
    promises.push(other)
  }

  await Promise.all(promises)
}

Yeah, filter doesn't expose those things that well, but there are ways to write plugins.
this.pluginName = (options) => {
  console.log(this._); // access to `_`, including `globs`
  this.unwrap(files => files.map(file => console.log(file))); // full filepath
}

@tjbenton @bucaran I came up with something that is a very minimal change, but allows for easy target() adjustments like this.
It's also highly reusable & solves some work-arounds I was implementing in other plugins.

@tjbenton With #172 in place, this is all you have to do:

function modify(dir, name) {
  dir = dir.split(path.sep);
  dir[2] = name;
  return dir.join(path.sep);
}

exports.default = function * () {
  yield this.source('packages/*/{app,src}/**/*.js')
    .filter((data, opts) => {
      opts.file.dir = modify(opts.file.dir, 'dist');
      return data;
    })
    .target('packages');
};

I left room for that modify to be a bit more refined.
This produces:
\packages
  \pkg1
    app\scripts\1-app.js
    src\scripts\1-src.js
    dist\scripts
      1-app.js
      1-src.js
  \pkg2
    app\scripts\2-app.js
    src\scripts\2-src.js
    dist\scripts
      2-app.js
      2-src.js

Thanks for contributing @tjbenton, but does @lukeed's #172 help you achieve what you needed now?

@bucaran Yeah it looks like that fixes my issue. In a much better way.
I can remove my code around the feature/insert and just add the rename functionality that was mentioned in #90

Cool! I go ahead and merge that in, which will close this.
As for rename, I'm not sure a new prototype method is needed. Since the full pathObject is exposed within each filter, that allows for easy filename, extension, and directory adjustments (as above), as well as filename filtering too.
Once again, a plugin would suit that really well, just so that other people won't need to redeclare or figure out that logic on their own. But otherwise it's a simple filter and I think Fly should stop at offering the base, extendable filter () rather than embed specific filter actions.
Thanks very much for contributing! I'm sure we'll get something of yours in next time =)
If you're interested, I can post my to-do list. I havent been very good about sharing that/writing it down.


How to set access_type - or how to get refresh_token

From the google docs:
Step 1: Set authorization parameters

access_type

Recommended
Indicates whether your application can refresh access tokens when the user is not present at the browser. Valid parameter values are online, which is the default value, and offline.

Set the value to offline if your application needs to refresh access tokens when the user is not present at the browser. This is the method of refreshing access tokens described later in this document. This value instructs the Google authorization server to return a refresh token and an access token the first time that your application exchanges an authorization code for tokens.

I don't find how to set this in the library. Thank you
What i need is to exchange the authorization code for an access_token, thank you

You've linked to documents for implementing OAuth authentication directly; the Flutter team doesn't maintain any libraries at that level.
If you are using a lower-level authentication library you'll need to direct this request to the authors of that library.

Ok, thank you


The first html-to-draftjs color style does not work

html-to-draftjs/src/index.js
// const html = '
123
'
// Note This line is replaced with the following to see the effect
const html = '
123
'

Sorry for the delay @chinacoolboyzz , I will check this.

It does seems to work, at-least in the latest code.

@jpuri I also have this problem.  "html-to-draftjs": "^1.4.0"


DateOnly, TimeOnly supports for Calendar/DatePicker/TimePicker

🙋 Feature Request
DateOnly supports for Calendar/DatePicker
TimeOnly supports for TimePicker
🤔 Expected Behavior
@bind-Variable or else variable takes DateOnly? or TimeOnly?
😯 Current Behavior
@bind-Variable binds only with DateTime
💁 Possible Solution
Since @bind-Variable is already taken, introduce another variable of DateOnly? or TimeOnly?
🔦 Context
DatePicker is for picking a date, it is reasonable to support DateOnly data type.
TimePicker is for picking a time, it is reasonable to support TimeOnly data type.

Hi,
At the moment, these components are created like this, by design.
Another reason is that we could create a "combined" component including date and time.
This could be an evolution in a future release, but it would mean we'd have two "Value" properties.
And I don't think that's very easy to use.
In the meantime, you can create a SelectedValue property that converts your DateOnly:
private DateOnly? MyDate = DateOnly.FromDateTime(DateTime.Today.AddDays(-2));    // Sample initial value

private DateTime? SelectedValue
{
    get => MyDate?.ToDateTime(TimeOnly.MinValue);
    set => MyDate = (value is null ? null : DateOnly.FromDateTime(value ?? DateTime.MinValue));
}

And for the TimeOnly:
private TimeOnly? MyTime = null;    // Sample initial value

private DateTime? SelectedValue
{
    get => MyTime is null ? null : DateTime.Now.Date.Add(MyTime?.ToTimeSpan() ?? TimeSpan.Zero);
    set => MyTime = (value is null ? null : TimeOnly.FromDateTime(value ?? DateTime.MinValue));
}

Closing this as not planned and workaround available

@vnbaaij I just stumbled upon this also and I would say that it makes a lot of sense to incorporate that functionality into components, especially now that a lot of developers are using DateOnly and TimeOnly fields and this workaround looks really ugly if we have to use multiple fields in our component. Do you think that this would make it into planning or another workaround is possible?
My example is that I would use separate fields for time period, start date + start time and end date + end time, so I would have to have 4 custom private properties with manual mapping to my model, which seems a bit too excess code for such a simple binding.
What do you think?

Also, why is it required that the bind-Value must be nullable DateTime? If I define in my model that it cannot be nullable (usually default is set to today) and I try to bind to my model, then I get the error saying:

"Argument 2: cannot convert from 'Microsoft.AspNetCore.Components.EventCallback<System.DateTime>' to 'Microsoft.AspNetCore.Components.EventCallback'"

Is there a reason I'm forced to use nullable DateTime?

Otherwise you can't clear the field

I'll take a look to see if we can make it generic so you could use both nullable and non-nullable

Hmm, that's a valid point, but many are used to having an option of preventing user clearing the field (they don't have X/clear button), in which case if they try to remove value or enter invalid one, it's reverted.
Example is that user is filtering results of a search, where the main parameter is date (today or tomorrow), so it makes no sense to be able to clear that field, but just set the required value.
I'm maybe too picky, but I'm just sharing what I'm used to while building apps.
Thank you, having option of both nullable and non-nullable would be amazing!

Until we find a more sustainable solution, to simplify the use of DateTime, DateOnly and TimeOnly, we could add the extension methods ToDateTime, ToDateOnly and ToTimeOnly (in the lib). The usage will be:

If your variable is of type Nullable<DateTime>, you can continue to use @bind-Value.
For other types, you must use the syntax value="..." ValueChanged="..."

I find this an interesting alternative, until we find a better solution using the generic.
And, it doesn't cause any breaking changes in existing (and future) code.

<FluentDatePicker @bind-Value="@MyDate0" />

<FluentDatePicker Value="@MyDate1" ValueChanged="@(e => MyDate1 = e.ToDateTime())" />
<FluentDatePicker Value="@MyDate2.ToDateTime()" ValueChanged="@(e => MyDate2 = e.ToDateOnly())" />
<FluentDatePicker Value="@MyDate3.ToDateTime()" ValueChanged="@(e => MyDate3 = e.ToDateOnly())" />

@(MyDate0?.ToString("yyyy-MM-dd"))

@(MyDate1.ToString("yyyy-MM-dd"))

@(MyDate2?.ToString("yyyy-MM-dd"))

@(MyDate3.ToString("yyyy-MM-dd"))

@code
{
    private DateTime? MyDate0 = DateTime.Today;
    private DateTime MyDate1 = DateTime.Today;
    private DateOnly? MyDate2 = DateOnly.FromDateTime(DateTime.Today);
    private DateOnly MyDate3 = DateOnly.FromDateTime(DateTime.Today);
}

Part of extension methods:
public static DateTime ToDateTime(this DateOnly value) => value.ToDateTime(TimeOnly.MinValue);
public static DateTime ToDateTime(this DateOnly? value) => value == null ? DateTime.MinValue : value.Value.ToDateTime(TimeOnly.MinValue);
public static DateTime ToDateTime(this DateTime? value) => value == null ? DateTime.MinValue : value.Value;
public static DateOnly ToDateOnly(this DateTime? value) => value == null ? DateOnly.MinValue : DateOnly.FromDateTime(value.Value);

@dvoituron This looks good to me, thank you 👍

After a few "long" weeks, this PR could be useful: #1500


grab listfile from releases instead

See https://github.com/wowdev/wow-listfile/blob/839cc13b286e79941ef8a430a0fda7e2d40092c9/README.md.

There are many ways to achieve this, so I was curious if this is good enough, or if a better and more robust approach is desired?
I assume it's specifically this line that is the culprit:
https://github.com/lua-wow-tools/luadbd/blob/main/luadbd/dbds.lua#L20
If the line is replaced with this:
local latestrelease = fetchHttp('https://api.github.com/repos/wowdev/wow-listfile/releases/latest')
local listfileurl = latestrelease:match('"browser_download_url":%s*"([^"]-community%-listfile%.csv)"')
local listfile = fetchHttp(listfileurl)```

Is this good enough of a fix for this issue?

The fix is present in luadbd-0.7.


ionic serve --prod causes Injector error for StatusBar bug:

Bug Report
When I'm building production version of application, I got next issue in browser and on device.
After some time, I found, that error caused by StatusBar.
Also, if I update all @ionic-native/ packages to 5.4.0, this issue appears even in development mode (ionic serve)
Ionic version:
[x] 4.2.0
Current behavior:
ERROR Error: StaticInjectorError[t -> e]:
StaticInjectorError(Platform: core)[t -> e]:
NullInjectorError: No provider for e!
at t.get (main.07ad7339a45cda797fab.js:1)
at main.07ad7339a45cda797fab.js:1
at t (main.07ad7339a45cda797fab.js:1)
at t.get (main.07ad7339a45cda797fab.js:1)
at main.07ad7339a45cda797fab.js:1
at t (main.07ad7339a45cda797fab.js:1)
at t.get (main.07ad7339a45cda797fab.js:1)
at La (main.07ad7339a45cda797fab.js:1)
at t.get (main.07ad7339a45cda797fab.js:1)
at Ts (main.07ad7339a45cda797fab.js:1)
Expected behavior:

Steps to reproduce:

Related code:

insert short code snippets here

Other information:
{
  "name": "My-app",
  "version": "0.0.12",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "external-serve": "ng run app:serve --host=<IP_ADDRESS> --port=8101 --disable-host-check --live-reload false"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "^7.2.6",
    "@angular/core": "^7.2.6",
    "@angular/fire": "^5.1.1",
    "@angular/forms": "^7.2.6",
    "@angular/http": "^7.2.6",
    "@angular/platform-browser": "^7.2.6",
    "@angular/platform-browser-dynamic": "^7.2.6",
    "@angular/router": "^7.2.6",
    "@ionic-native/app-version": "^5.2.0",
    "@ionic-native/camera": "^5.2.0",
    "@ionic-native/core": "^5.2.0",
    "@ionic-native/date-picker": "^5.2.0",
    "@ionic-native/facebook": "^5.2.0",
    "@ionic-native/firebase": "^5.2.0",
    "@ionic-native/native-storage": "^5.2.0",
    "@ionic-native/network": "^5.2.0",
    "@ionic-native/splash-screen": "^5.2.0",
    "@ionic-native/status-bar": "^5.2.0",
    "@ionic/angular": "^4.2.0",
    "@ionic/angular-toolkit": "^1.5.0",
    "@ionic/storage": "^2.2.0",
    "@ngx-translate/core": "^11.0.1",
    "@ngx-translate/http-loader": "^4.0.0",
    "angular": "^1.7.4",
    "angularfire2": "^5.1.1",
    "cordova": "8.1.2",
    "cordova-android": "7.1.4",
    "cordova-android-play-services-gradle-release": "^2.0.0",
    "cordova-ios": "4.5.5",
    "cordova-plugin-camera": "^4.0.3",
    "cordova-plugin-device": "^2.0.2",
    "cordova-plugin-facebook4": "^3.2.0",
    "cordova-plugin-file": "^6.0.1",
    "cordova-plugin-file-transfer": "^1.7.1",
    "cordova-plugin-firebase": "2.0.5",
    "cordova-plugin-ionic": "^5.3.0",
    "cordova-plugin-ionic-keyboard": "^2.1.3",
    "cordova-plugin-ionic-webview": "^2.3.3",
    "cordova-plugin-network-information": "^2.0.1",
    "cordova-plugin-splashscreen": "^5.0.2",
    "cordova-plugin-statusbar": "^2.4.2",
    "cordova-plugin-whitelist": "^1.3.3",
    "cordova-sqlite-storage": "^2.6.0",
    "cordova-support-google-services": "^1.1.0",
    "core-js": "^2.5.3",
    "d3": "^5.7.0",
    "firebase": "^5.9.1",
    "ionic": "^4.12.0",
    "rxjs": "6.3.3",
    "zone.js": "^0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/architect": "~0.10.5",
    "@angular-devkit/build-angular": "~0.10.5",
    "@angular-devkit/core": "~7.0.5",
    "@angular-devkit/schematics": "~7.0.5",
    "@angular/cli": "~7.0.3",
    "@angular/compiler": "~7.0.3",
    "@angular/compiler-cli": "~7.0.3",
    "@angular/language-service": "~7.0.3",
    "@ionic/ng-toolkit": "^1.0.0",
    "@ionic/schematics-angular": "^1.0.0",
    "@types/d3": "5.0.1",
    "@types/jasmine": "~2.8.6",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~10.9.2",
    "codelyzer": "~4.4.2",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.0.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.0",
    "karma-jasmine": "~1.1.1",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.4.0",
    "style-loader": "^0.23.1",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.1.6"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "cordova-plugin-whitelist": {},
      "cordova-plugin-statusbar": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-ionic-keyboard": {},
      "cordova-sqlite-storage": {},
      "cordova-plugin-ionic-webview": {
        "ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
      },
      "cordova-plugin-facebook4": {
        "APP_ID": "",
        "APP_NAME": "",
        "FACEBOOK_ANDROID_SDK_VERSION": "4.37.0"
      },
      "cordova-plugin-network-information": {},
      "cordova-plugin-camera": {},
      "cordova-plugin-ionic": {
        "APP_ID": "",
        "CHANNEL_NAME": "Master",
        "UPDATE_METHOD": "background",
        "UPDATE_API": "https://api.ionicjs.com",
        "MAX_STORE": "2",
        "MIN_BACKGROUND_DURATION": "30"
      },
      "cordova-plugin-file": {},
      "cordova-plugin-file-transfer": {},
      "cordova-plugin-firebase": {}
    },
    "platforms": [
      "android",
      "ios"
    ]
  }
}

Ionic info:

Ionic:

   ionic (Ionic CLI)             : 4.12.0
   Ionic Framework               : @ionic/angular 4.2.0
   @angular-devkit/build-angular : 0.10.7
   @angular-devkit/schematics    : 7.0.7
   @angular/cli                  : 7.0.7
   @ionic/angular-toolkit        : 1.5.0

Cordova:

   cordova (Cordova CLI) : 8.1.2<EMAIL_ADDRESS>   Cordova Platforms     : android 7.1.4, ios 4.5.5
   Cordova Plugins       : cordova-plugin-ionic 5.3.0, cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 2.3.3, (and 10 other plugins)

System:

   Android SDK Tools : 26.1.1 (/Users/admin/Library/Android/sdk)
   ios-deploy        : 1.9.4
   NodeJS            : v10.15.0 (/Users/admin/.nvm/versions/node/v10.15.0/bin/node)
   npm               : 6.9.0
   OS                : macOS Mojave
   Xcode             : Xcode 10.1 Build version 10B61

@askona, have you aded StatusBar in the providers array of app.module.ts?

@carlesferreiro No, because of this error

That's weird, I'm using this. How is the StatusBar imported?
import { StatusBar } from '@ionic-native/status-bar/ngx';

I think that you are importing it without /ngx

@carlesferreiro You're right, but even with StatusBar added to providers list, issue still here, serving with --prod causes error.

But status bar is a plugin for cordova. As far as I know you can't use status bar in the browser.
If you remove status bar from the projects the error disappears? If I were you I'd try two things:

Remove status bar from the project and see if the error disappears
Start a blank project and add only the status bar

Anyway, I think that it's not an Ionic bug.

@carlesferreiro after rm -rf node_modules and reinstall latest one, everything works

@askona nice! so, you should close the issue now :)


Missing highlight in assume attribute

Checklist

[x] This problem exists even with the setting "C_Cpp.enhancedColorization": "Disabled"

The code with a problem is:
int x{};
[[assume(true)]];
[[assume(sizeof x == 4)]];

It looks like:
The theme is Default Dark Modern.

Expression in assume attribute is not highlighted.
It should look like:
Expression in assume attribute should be highlighted consistently with the expressions outside.

Is assume part of the C++ spec? I'm not familiar with it

Is assume part of the C++ spec? I'm not familiar with it

Yes, attribute assume is part of C++23.

Is assume part of the C++ spec? I'm not familiar with it

https://en.cppreference.com/w/cpp/language/attributes/assume


fix(button-toggle): Provide better docs for ngModel in wqbutton-toggle-group multiple

For issue #1039.
R: @jelbourn

LGTM


n.extends is not a function

I am using the latest version of videojs (8.0.4) and after including the css and js of silvermine i get the error (n.extends is not a function)

This is addressed in v1.3.1 of this plugin. Thanks!


JSON strings don't survive setItem/getItem roundtrip

Describe the bug
When saving a string that is valid JSON with setItem, then loading it with getItem, the returned value isn't the original string, but the value obtained by parsing it as JSON.
To Reproduce
Run the following test:
const storage = new EncryptStorage('verysecret');
const value = '{}';
storage.setItem('foo', value);
expect(storage.getItem('foo')).toEqual(value);

The test fails, also with other JSON values such as 42, "a string", true, [] and null.
Expected behavior
getItem should reproduce the original string saved using setItem.
Desktop:

OS: Windows
Browser: Chrome
Version: 124.0.6367.119

Additional context
This behavior occurs because values with a type different from object (e.g. string) aren't JSON.stringify'd by setItem, but saved as is. getItem then tries to parse those values as JSON and returns the original string only if parsing fails. Now if the original string happens to be valid JSON, this roundtrip doesn't work.
I guess it would make sense to always JSON.stringify in setItem, even for primitive values.

Good morning @ms-tng,
This happens because the library performs the data conversion internally.
For this test to pass effectively, its JSON.stringfy would have to be redone, as shown below.
const storage = new EncryptStorage('verysecret');
const value = '{}';
storage.setItem('foo', value);
const parsedValue = JSON.stringfy(storage.getItem('foo'));
expect(parsedValue).toEqual(value);

At first, it may seem like a bug.
But it is the nature of the library to return converted data, including typed data, as demonstrated in the documentation.
Hope this helps.
If you have any questions or problems, do not hesitate to respond to the issue.
And sorry for the delay.

Hi @michelonsouza, thanks for the explanation!
I understand that the library is supposed to deal with any kind of data in a typed way, and so it applies JSON.stringify when saving (except for strings, which is a problem - see below) and JSON.parse when loading. That's why saving and loading a non-string value such as {} works perfectly fine:
const storage = new EncryptStorage('verysecret');
const value = {};
storage.setItem('foo', value);
expect(storage.getItem('foo')).toEqual(value); // passes

(note that value is {} in this example, not '{}').
Now if we want the library to really be able to deal with any value, it must also be able to deal with strings, and indeed it does:
const storage = new EncryptStorage('verysecret');
const value = 'some string';
storage.setItem('foo', value);
expect(storage.getItem('foo')).toEqual(value); // passes

However, in this case it shouldn't matter what the content of the string is, so 'some string' and '{}' (note the quotes) should both work the same. But '{}' fails as demonstrated by my initial example above.
The issue is not that I want to do the serialization and deserialization myself - the library does that for me just fine. The point is that I also want to be able to save and load arbitrary strings, regardless of whether they happen to be valid JSON.
Imagine the following use case, which should be quite common: You want to save a password (which is an arbitrary string) entered by the user in local storage in encrypted form. Now the if the user chooses abcd as their password, everything works fine, but if they choose "abcd" (just randomly including quotes to make it harder to guess), it fails because the quotes get lost along the way.
Your suggestion on how to make the test pass doesn't work in general, because I would either have to apply JSON.stringify or not depending on what the original value was, but I don't know that, because e.g. 'abcd' and '"abcd"' produce the same value when going through the save/load roundtrip. The problem is that the library saves string values verbatim, relying on the assumption that when loading them later, they will fail to parse and then be returned verbatim, which is just not true in general, because they could successfully parse as JSON even though they were originally just strings.
Wouldn't it be very easy to fix (and even make the code simpler) by just not treating strings in a special way, but instead just always applying JSON.stringify when saving and applying JSON.parse when loading (which would then always succeed)? Then,

{} would be saved as '{}' and loaded back as {}, just as it is now
'{}' would be saved as "'{}'" and loaded as '{}'
"abcd" would be saved as "\"abcd\"" and loaded as "abcd" and so on.

Anyway, it doesn't block me because I can solve my password use case by just saving an object {password: 'abcd'} instead of just the password itself, which avoids the special handling of strings.

In the new version that I have just published, 2.13.02, there is an option so that this does not happen and it is up to the developer to parse it.
For your problem, I did not create type tests to assess these cases.
Because if it is not possible to perform the conversion, it returns the data from the jet that was in storage.
I'm sorry for this complication.
It's just that JSON.parse of '{}' is an object...
Both numbers and '[]' are valid for Parse, that's why they are converted.
Which complicates this comparison.
Sorry for the English, I'm Brazilian and I'm using Google translate.


Support pietsmiet.de

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

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

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running yt-dlp version 2022.10.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and am willing to share it if required

Region
No response
Example URLs
Videos:

https://www.pietsmiet.de/videos/73314-das-rasenmaher-rennen-wreckfest
https://www.pietsmiet.de/videos/73314
http://ptsmt.de/v/73314

Playlists:

https://www.pietsmiet.de/videos/playlists/1874-wreckfest
https://www.pietsmiet.de/videos/playlists/1874
http://ptsmt.de/p/1874

Provide a description that is worded well enough to be understood
PietSmiet.de is the video portal by the German webvideo group PietSmiet. It would be nice to see yt-dlp supporting this site.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://www.pietsmiet.de/videos/73314-das-rasenmaher-rennen-wreckfest']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.10.04 [4e0511f] (win32_exe)
[debug] Python 3.8.10 (CPython 64bit) - Windows-10-10.0.19045-SP0
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 4.3.1-2021-01-01-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.09.24, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1690 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.10.04, Current version: 2022.10.04
yt-dlp is up to date (2022.10.04)
[debug] [generic] Extracting URL: https://www.pietsmiet.de/videos/73314-das-rasenmaher-rennen-wreckfest
[generic] 73314-das-rasenmaher-rennen-wreckfest: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] 73314-das-rasenmaher-rennen-wreckfest: Extracting information
[debug] Looking for Brightcove embeds
[debug] Looking for embeds
[debug] Identified a twitter:player iframe
[debug] [generic] Extracting URL: https://www.pietsmiet.de/embed/player?video=73314
[generic] player?video=73314: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] player?video=73314: Extracting information
[debug] Looking for Brightcove embeds
[debug] Looking for embeds
ERROR: Unsupported URL: https://www.pietsmiet.de/embed/player?video=73314
Traceback (most recent call last):
  File "yt_dlp\YoutubeDL.py", line 1477, in wrapper
  File "yt_dlp\YoutubeDL.py", line 1553, in __extract_info
  File "yt_dlp\extractor\common.py", line 672, in extract
  File "yt_dlp\extractor\generic.py", line 3062, in _real_extract
yt_dlp.utils.UnsupportedError: Unsupported URL: https://www.pietsmiet.de/embed/player?video=73314

Can this side please be supported it would be great.


GA Migration SQL PreCommit

As part of the migration of Precommit and Postcommit Jobs from Jenkins to GA in self-hosted runners, this PR contains:
Migrated workflow job-precommit-sql.yml
The migrated workflow was removed from .test-infra/jenkins/README.md and added to CI.md
DO NOT MERGE until the effort to use self-hosted runners is completed https://github.com/apache/beam/pull/22703
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Waiting for JIRA tickets to be created.


Fix Symfony 3 deprecated param usage.

Symfony 3 outputs deprecated param usage message when container param is not in quotes.
Updated code - use single quotes.

Thanks, I will create a new release with your fixes!


[Block: 5927] - '/osmosis.gamm.v1beta1.MsgSwapExactAmountIn'.

Summary
This block fails on pre-validation through all 3 current MsgSwapExactAmountIn parsers due to the events not being in the expected form.
The solution will be to analyze the message for the alternate format of this message type and build an alternate parser for it.
Deeper Analysis
The format for the events contains the AmountOut value in a later event in the event array, we need to get this value instead of what the other 3 parsers are attempting to get.

I have already fixed this one in my branch.
I have added an alternate parser for this message type that takes into account the event format found for TX BB954377AB50F8EF204123DC8B101B7CB597153C0B8372166BC28ABDAA262516 in this block.

This one keeps popping up because we are approaching the SwapExactAmountIn events in the wrong manner. We keep looking for specific events in the transfer event that fit the broken TXes as they keep popping up.
I have pushed a new commit to my branch that should take care of this going forward. The last element in the transfer event always contain the final transfer from the pool to the user based on their desired denom_out. So I have improved the parser from commit f7662392 by just looking for the final transfer event and validating.


chore(main): release 4.0.0

:robot: I have created a release beep boop
4.0.0 (2024-09-29)
⚠ BREAKING CHANGES

device: rollback and improve send/recv socket exception (#304)

Bug Fixes

device: rollback and improve send/recv socket exception (#304) (7083464)

This PR was generated with Release Please. See documentation.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 39.97%. Comparing base (7083464) to head (9f2c241).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #305   +/-   ##
=======================================
  Coverage   39.97%   39.97%
=======================================
  Files          84       84
  Lines        7597     7597
=======================================
  Hits         3037     3037
  Misses       4560     4560

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

:robot: Created releases:

v4.0.0
:sunflower:


Relationship is empty after using hasAttached() with model that $touches its parent

Laravel Version: 9.41.0
PHP Version: 8.1.11
Database Driver & Version: SQLite 3.37.0 and MySQL 8.0.30

Description:
Using the hasAttached() factory method to relate models, if either model $touches the relationship, the model instances will not be related correctly after being created—their relations to each other will be loaded but empty.
Steps To Reproduce:

New Laravel app demonstrating this issue: https://github.com/bakerkretzmar/laravel-has-attached-touches-bug (see this test)

Failing laravel/framework test case: https://github.com/laravel/framework/compare/9.x...bakerkretzmar:framework:fix-factory-relations-with-touches

You have two Eloquent models, e.g. User and Group, connected with a BelongsToMany relationship. We want users to have their timestamps updated any time any of their groups are updated, so the Group model contains protected $touches = ['users'].
In a test, you create a user and group and attach them:
$user = User::factory()->create();
$group = Group::factory()->hasAttached($user)->create();

$this->assertCount(1, $group->users);

That assertion fails.
The users relation is set on the new $group model, as if it was just loaded from the database, but it's an empty collection (output from dump($group) inside the above test):

This only happens when one of the models has the relationship listed in its $touches property.

Hello @bakerkretzmar @driesvints
I worked on a fix for this, but I'm not sure if this is correct so IDK if I should create the PR already here or not, can you help me check and guide me if I should create this PR or not?

@WendellAdriel that looks like it might work... but I'm actually not so sure anymore whether this is a bug. It might just be how $touches works, although to me it was quite unintuitive. Here's another example that's weird but I guess correct if I think about it:
$user = User::create();

// Because of `$touches`, this automatically loads the `users` relationship, which is empty
$group = Group::create();

// This attaches the user correctly but does not reload the relationship
$group->users()->attach($user);

// Empty collection, because it uses the already-loaded (empty) relationship
dump($group->users);

Is that expected? Just something people need to be aware of and account for when using $touches?

@bakerkretzmar that's interesting. IDK either if that's a bug or not TBH
I worked on that fix but we would need to know the expected behaviour first to be able to check if that's a bug or not and what would be the best solution for that. I think we have to wait on more feedback on this. But that's a good catch and it was good for me to start looking at how things work on this side of the framework since I'm just starting out to try to contribute to it


Compatibility with aeson-2.0

See https://hackage.haskell.org/package/aeson-<IP_ADDRESS>/changelog.
If I use --allow-newer to build aeson-yaml with aeson-<IP_ADDRESS>, I get this error:
src/Data/Aeson/Yaml.hs:92:59: error:
    • Couldn't match type ‘Data.Aeson.KeyMap.KeyMap Value’
                     with ‘HashMap.HashMap Text Value’
      Expected type: HashMap.HashMap Text Value
        Actual type: Object
    • In the first argument of ‘HashMap.toList’, namely ‘hm’
      In the second argument of ‘($)’, namely ‘HashMap.toList hm’
      In the second argument of ‘map’, namely
        ‘(sortOn fst $ HashMap.toList hm)’
   |
92 |         map (keyValue level) (sortOn fst $ HashMap.toList hm)
   |                                                           ^^

@patrickmn, I'd appreciate a release, no matter what the status of that quoting issue is. :)

Ack, really sorry this took so long, Simon. I had a dream about doing this!
Released aeson-yaml-<IP_ADDRESS> now. (Not sure if that's the correct application of PvP in this case.)

Thank you, @patrickmn! And no worries! :)


Add 3.x regex prefix for HTTPRoute

What this PR does / why we need it:
https://github.com/Kong/kong/pull/9022 requires that regular expression paths in Kong routes include a ~ prefix. If we receive an HTTPRoute with a regular expression path (whose canonical Gateway API form is the regex as-is, with no prefix) or some other path type that we convert into a regex (for example, exact match), prepend the prefix.
Which issue this PR fixes:
This addresses the error @randmonkey found in the 3.0 test logs:
2022/08/24 17:02:36 [error] 2142#0: *558 [lua] handler.lua:1153: could not rebuild router via timer: /usr/local/share/lua/5.1/kong/router/atc_compat.lua:417:  --> 1:23
  |
1 | (http.path ^= "/regex-\d{3}-httpbin")
  |                       ^---
  |
  = expected str_char or str_esc, context: ngx.timer

Special notes for your reviewer:
HTTPRoutes have a pretty clear path to handling this: they have a designated regular expression match type, and its canonical form is a regex without our special prefix. If we're using 3.x and we have a regex match, we prepend our prefix when creating the Kong route path.
Ingress is a bit less clear. There's no dedicated regex path type, just ImplementationSpecific. We could read that as requiring that you do provide the path in the exact form the Implementation expects, i.e. that you need to prepend the ~ yourself, but that's not obvious and presents an upgrade path nightmare. If we prepend it for you, it'll break configuration for anyone that reads Gateway docs and does prepend it themselves.
Checking to see if the prefix is present and adding it if not does seem fine though. Regular expressions without the prefix but with ~ as their first actual match character will not work, but these shouldn't occur since that's not a reserved character and should be vanishingly uncommon given that paths usually begin with / (apparently paths that do not are valid per the path-rootless in https://www.rfc-editor.org/rfc/rfc3986#section-3.3, but I don't think those are relevant to HTTP at least). Worst case if you need a regex that begins with ~ you can write your own ~~ to provide both that and the prefix.
Lastly, although we do not know if ImplementationSpecific paths are regexes or not, using the old Kong heuristic seems a valid approach. AFAICT this was a performance optimization on the gateway's side, not something discarded because it wasn't working.
PR Readiness Checklist:
Complete these before marking the PR as ready to review:

[ ] the CHANGELOG.md release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR

I think the cause is https://github.com/Kong/kong/pull/9027, not 9022 (wrong link in the description?)

fixes https://github.com/Kong/kubernetes-ingress-controller/issues/2876

Closed in favor of https://github.com/Kong/kubernetes-ingress-controller/pull/2883 to discard the mountain of force push/test/add label events. Ask me if you want the original branch with separated (if not particularly well-organized) commits.


Use correct error format

Use correct http error format in mev-boost as part of #95

thanks, this is great!


label height for multi line text

Label height should be fixed based on content & max height should be dynamic not static

How can we add constraints to view because when rotate device it's not working properly y because we set CGRECT values to view and also how to implement scrollview?


Update token_handler.py

Type
enhancement, bug_fix

Description

Introduced error handling in _get_system_user_tokens to return -1 when an exception occurs, enhancing robustness.
Minor formatting fix in count_tokens method without altering its functionality.

Changes walkthrough
Relevant filesError handling

token_handler.pyEnhance Token Calculation with Error Handling

pr_agent/algo/token_handler.py
Wrapped token calculation logic in _get_system_user_tokens with a try-except block.  Returns -1 if an exception occurs during token calculation.  No change in the logic of count_tokens method, just formatting adjustment.

+10/-7

✨ PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

/help


Create and Edit adaptivity element forms

Closes #328

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

5 of 30 (16.67%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 86.863%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

Presentation/Components/Forms/Element/CreateAdaptivityElementForm.razor
0
25
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.2%

Covered Lines:
9667

Relevant Lines:
11129

💛  - Coveralls


"Animate" button not working

Looks like 'animate' function was conflicting with a already existing function on some Browsers. This patch should do the trick: https://github.com/yiom/sketchpad/commit/0256ee93a283e84e4a0f48c133618eed1dd824ca


Handling missing group sizes in detection function fitting vs density estimation

ABUND's approach:
In the event that a sighting occurs during systematic effort but no valid school size estimate is given for that sighting, the ABUND default is to assign a school size of 1. This happens for a handful of sightings in CNP 1986-2020.
LTabundR
In LTabunR, we implemented a new approach that we may want to revise. Currently the approach is this:
(1) sightings with missing school sizes are flagged and excluded from detection function fitting when LnTotSS is specified as a covariate;
(2) during abundance estimation, those sightings are given the average school size for their respective survey.
This is probably the wrong way to go. It is problematic to estimate abundance with a detection function that does not include the sightings used to estimate abundance. But it would also be problematic to exclude the sightings from abundance estimation simply because they were missing data needed to included in the detection function model.
A better option may be somehow interpolating/inferring missing school size before detection function fitting so it can be included.

Fortunately, such sightings have not yet been at play for abundance estimation, but it would be good to work through the best approach. One point of clarification, does average group size assignment in step 2 override the average ESW assignment described in Issue #11?

@ericmkeen - one other clarifying question. For the sightings column ss_valid, which indicates whether a valid best estimate is available, you previously mentioned: "The current system is: If the best is not available, the low estimate is used. If the low is not available either, best is coerced to 1. Based on our notes here it sounds like we want to keep this system and simply update the data (or use coded edits) if we have specific sightings we wish to correct." That sounds good, with the clarifying question that if the low estimate or coerced value of 1 is used, does ss_valid remain FALSE? Is that how those sightings get triggered for step 1 above? Trying to evaluate how this has all come together.

@amandalbradford: to answer your question, "if the low estimate or coerced value of 1 is used, does ss_valid remain FALSE?": yes, ss_valid is FALSE in the case when the low estimate needs to be used as the best estimate AND in the case that the best estimate value is coerced to 1.

@amandalbradford: a proposed solution to this issue as well as issue #11 (a similar question about how to handle missing Bft values), issue #8 (similar question about mixed species sightings with no percentages), and issue #9 (similar question about missing Bft values and impacts on group size calibration):
(1) Within the lta() function, let's not perform any interpolation of any missing values. If rows have missing data for columns that are being used as covariates in the detection function, then those rows are removed and the function presses on. So, if LnSsTot is a candidate covariate, any sighting with ss_valid==FALSE is removed from both detection function fitting and abundance estimation; if Bft is a covariate, any sighting with Bft==NA is removed from both df fitting and abundance estimation. This is even the case for sightings from the focal year of interest for the abundance estimate.
(2) We add a function (working title lta_checks()) that lets you quickly check for missing data in sightings from your focal year. The function can use the same input lists df_settings, fit_filters, and estimates that are provided to the lta() function. It tells the analyst which sightings have missing data, which allows the analyst to prepare coded edits that fill in gaps within the cruz object before they run lta(). This gives the analyst full discretion for how to fill in missing values (e.g., interpolation or some other solution of their own choice); the vignette could then provide examples for how to do this for missing group size estimates and missing Bft values.
I think this solution will simplify the lta() code (and code in other functions too) and help users feel more in control over how missing data are handled.
What do you think?

@ericmkeen - I agree that your proposed solution is the way to go. We are most worried about treatment of sightings in our focal survey/year, as opposed to "imperfect" sightings from previous surveys/years that could join the sightings pool. I like the check function and allowing the user to specify their own correction method. The user will have to be careful to track the potential for "missing" incomplete sightings, but we can make this clear in the vignette. Thank you!

I have implemented this change.  In the process I have improved/streamlined the code for determining whether or not a sighting has ss_valid = TRUE or ss_valid = FALSE.  Changes were made in process_sightings(), group_size(), and group_size_calibration(),
To make sure the method for assigning the ss_valid status is clear, here is an outline of the workflow for determining it:
For each sighting, loop through each's observer's estimate of group size:

optional: apply a calibration adjustment to the observer's best estimate; if any part of the calibration adjustment process fails, the original estimates are used (observer ss_valid is still TRUE for the observer-sighting).
if the observer's best estimate is NA or less than 0, the low estimate is used as the best estimate and the observer's ss_valid becomes FALSE.
If the low estimate is NA or less than 0, the best estimate is coerced to 1 and the observer's ss_valid remains FALSE.
After all observer estimates have been processed, filter to estimates where observer ss_valid is TRUE. If at least one observer estimate remains, the sighting's overall ss_valid status is TRUE; if no estimates remain, the overall ss_valid status becomes FALSE and best size estimate becomes NA.
If ss_valid is TRUE after this filter, the remaining observer estimates are used to find the geometric mean (or geometric weighted mean) estimate of group size. If that mean estimate is less than 0 or NA for any reason, overall ss_valid becomes FALSE and the geometric (weighted) mean of the raw low estimates is used. If the low estimate has to be used and it is less than 0 or NA, the best estimate becomes 1.0 and overall ss_valid remains FALSE.
For mixed-species groups, if any species is missing a valid percentage estimate from any of the observers, their best estimate becomes NA and their ss_valid status becomes FALSE.

Working on lta_checks() now; once all changes are made I will test the workflow with the WHICEAS analysis.

Hi @ericmkeen - this looks good, but I want to discuss the last bullet. I don't know if we want to totally discount observer estimates for mixed-species groups if they don't include a percentage. Sometimes observers have a total group size, but they don't have a good feel for percentages by species. Since the process has been to average the best estimates, then average the percentages, and then apply the proportions to the estimates, I still think their estimates could be used. The issue here comes when NO observers provide percentages. What do you think?

Thanks @amandalbradford, I think my language was confusing on that last bullet point, so here's an attempt at clarification:

If multiple percentage estimates are available for a species in a mixed-species group, the average of those percentage estimates will be used.
If only a single percentage estimate is available for a species in a mixed-species group, that single percentage estimate will be used (ss_valid will not be changed.)
If no percentage estimate is available for a species in a mixed-species group, then the best estimate for that species will become NA and ss_valid will become FALSE if it is not already.

Does this clarify? Very possible I am still confused!

Thanks @ericmkeen - that's great and reflects how we've handled percentages in the past, while offering a better way for flagging ones without (ABUND used to simply remove them).

Sounds good! I implemented these changes and re-ran the WHICEAS analysis to look for any bugs and discrepancies, and everything looks good. Closing this issue.


[oap-data-source][arrow] Add metric: output_batches

The metric should be available in both v1 & v2

v2 part is now resolved by #1547 . Thanks @zhouyuan !


Update Styles

Cleans up some unused dependencies
Applies the CodeIgniter coding standard

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

142 of 145 (97.93%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 97.931%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Pool.php
54
57
94.74%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
142

Relevant Lines:
145

💛  - Coveralls


Fix use of "can_load()" in run_tests.pl. Fixes #3563.

Fix use of "can_load()" in run_tests.pl.
Fixes #3563.

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

If you think this is a trivial patch (I do), then please add the following line to your commit message:
CLA: Trivial

If you don't know git very much, a very quick way to change the last commit is this:
git commit --amend

Then you can git push -f your change.

Yes, this is a trivial commit.
Amended commit message with "CLA: Trivial" and "Fixes #3563.".
Thanks for the hint.

Merged.
master: 418bb7b31bb7cfca6e419a5aa7bf161784f61059
1.1.0: 0efb6d94cdc3bc10a30206b95c0621f399e0cc79


Fix resource shared when duplicating an instanced scene

Fix #45350, fix #47918.
Depends on #65011.
For resources with resource_local_to_scene enabled in the subscene, the resource is already set when the subscene is instantiated, so does not need to be set again.

There is also a similar situation here https://github.com/godotengine/godot/pull/64999#issuecomment-1229569123

The build seems to fail.

Yes, here uses the copy_from after the modified in #65011.

@Rindbee, you may want to rebase this PR on top of the other one this depends on so CI build passes. When the other one is merged, this one will get automatically trimmed down to the only additional commit.

I think there are fewer records about the correlation between resources between tscn.
All the related (merged and not yet merged) PRs are based on a judgment: Resources with local-to-scene enabled on the same property of the same object that recorded in the main scene, is  a copy of the source resource which recorded in the sub-scene.
In most cases, this may be correct. But in fact, this situation cannot be ruled out: Really hope to use new resources to cover the resources on the scene.

Your PR currently contains 2 commits with the same description.

#65011 should be merged first as this PR builds on top.

Yes, but the second commit here is still wrong 🙃

Sorry, I misunderstood the PR, as this is only the change in node. In this case, Its as I mentioned, you have to duplicate the children nodes manually if they have editable children flag set.

Okay, the cases of enabling/disabling Editable Children has been completed for scene initialization and node duplication. I think it's ready to be reviewed again.

Node::_duplicate() does not seem to be a suitable place to remap resources. It seems more appropriate to modify the mapping logic in SceneTreeDock::paste_nodes().
I'll try to modify the mapping logic there later.


Support switching of active Tenant in UI and API Calls

[x] Tenant-switch on UI -> active tenant
[x] active tenant in Header for all API call
[x] filter all data by active tenant
[x] support "all tentants"-Filter?

needs API update first

@ChrEggenberger I released the API a few days ago and today I updated the reference in the UI project, so you could start tackle this issue

filter all data by active tenant is done on server side


hover effect bug.

https://github.com/RikisuT/Youtube-Fluent-Theme/assets/99123839/cacd1eb2-54e9-44f9-9e82-758ce0b0f832
until click on some were on the page the hover effect does not work.

also can you make the notification section bit more dark? the text is hard to see

thanks

#contentWrapper.tp-yt-iron-dropdown > *{
min-width: fit-content;
background-color: #00000042 !important;
}|
fix for the notif panel

As for the query above the 2nd comment. I tried the version you have used, I am unable to replicate the issue.
I think a complete rewrite of the theme would be good
You could also use my personal backups, they should work well if there are any other issues that are present in the old ones.


Update task-list.html

Finalise right hand details text

Branched out, so I do not commit to the master.


date-time-picker & reactive Forms

Hi. Can i use date-time-picker with reactiveForms ?

@lazysatyr25
I have not tested it yet. But I will test it tomorrow. I would let you know once I go through all those tests.
Thanks.

@lazysatyr25
I just used dateTimePicker in the Angular Reactive Example. And it works well.

@DanielYKPan sorry to reopen the issue, but I try to use dateTimePicker with reactiveForms but when I select the date, the dialog doesn't close and the value doesn't set.
So how did you do your test?
And did you try to use a pipe date?

@RaphyLi I got this working by hooking into the dateTimePickerChange event.
<input     class="form-control ml-2"     [ngModel]="viewModel.myDate | date: 'medium'"     [dateTimePicker]="viewModel.myDate"     [viewFormat]="'DD/MM/YYYY HH:mm'"     [mode]="'dropdown'"     (dateTimePickerChange)="onSetMyDate($event)"     formControlName="myDate"     readonly>
Then I manually set the value on the formControl
onSetMyDate(date: any): any {     this.myForm.controls['myDate'].setValue(date);     return date;   }
Not sure if this is the right way to go about this, but it works....

@suggy75
Sweet...That is how I tested it...

@suggy75 thx for you help.
I try this and a can't use [ngModel] so a I use [value]="viewModel.myDate | date: 'medium'"  but when the date change the filter doesn't apply :(

@suggy75 thx for you response.
I try this solution but I have a problem. I can't use [ngModel] because in my component I subscribe the value changes of my form like this : this.form.valueChanges.debounceTime(2000).map((data) => this.save()).subscribe(); and the input date trigger change value so save is called.
To bypass this I change [ngMode] by [value] and my code is: <input class="date-picker-input" name="startDate" [ngModel]="campaign.startDate | date:'yyyy-MM-dd'" [(dateTimePicker)]="campaign.startDate"               (dateTimePickerChange)="setStartDate($event)" [mode]="'dropdown'" [viewFormat]="'yyyy-MM-dd'" [locale]="'fr'" [theme]="'#009FE3'"                [pickerType]="'date'" readonly placeholder="Date de début" />.
All works but when I change the date in my ts code the format of my input date mess up.

I am facing issue while using formcontrolname
<input [owlDateTime]="feedStartDate" formControlName="startDate" [owlDateTimeTrigger]="feedStartDate"
             placeholder="Start Date" class="validate" id="feedStartDate">
            <owl-date-time #feedStartDate></owl-date-time>

and here is
this.addFeedForm = new FormGroup({
      title: new FormControl("", Validators.compose([Validators.required])),
      startDate: new FormControl("2019-04-15", Validators.compose([Validators.required])),
});

but this is not getting selected by default? Am I missing something?


[Feature Request] API - Create /admin/auths endpoints

Feature Description
I think it would be better to be able to configure authentication sources with API because I would like to fully automate deployment of Gitea in my server.

GET /admin/auths
POST /admin/auths/
GET /admin/auths/{id}
DELETE /admin/auths/{id}
PATCH /admin/auths/{id}

Screenshots
No response

Alternatively I could add authentication sources to database directly.

Hello,
Any updates about this feature requests?
Kind regards,
JM


refactor: Add facade around AnalyzerMessage

This is a follow-up on #162, and depends on it. ~Don't review this until #162 i smerged, I will fix the commit history.~
This PR extracts the previously internal SoraldAbstractProcessor.Bug class into a separate sorald.sonar.RuleViolation class, which is just a thin facade around org.java.sonar.AnalyzerMessage. Depending on how we proceed with #156, we may not have access to the actual AnalyzerMessage (but some higher-level abstraction instead), and so this PR is a precaution.
Since the facade was essentially already there in form of the Bug class, this change was very little effort, and also coincidentally cleans up some of the code base. With this change, the only sonar internals we touch in sorald are the check classes, but it doesn't seem reasonable at the moment to put adapters around them. I think we'll leave them be.

@fermadeiral Ready for review! Code coverage drop is due to removal of code.

@slarse, thank you for this refactoring.
I noticed you have added documentation in the source code since previous PRs. That is great!

@fermadeiral Glad you like it! I tend to add documentation to most of my code. I enjoy being tidy :)
Sometimes I add too much documentation as I like writing, so you may want to be on the lookout for overly verbose docs where something less verbose would do just fine.


How to calculate the deconvolution and BN layers？

Nice work, however, it seems that this tool doesn't support calculate the params and Flops of deconvolution and BN layers. Is there any solution?
Thanks a lot.

It does.
https://github.com/belltailjp/chainer_computational_cost/blob/master/DETAILS.md#deconvolution2dfunction
https://github.com/belltailjp/chainer_computational_cost/blob/master/DETAILS.md#fixedbatchnormalization
Or ain't they what you need?

Thanks a lot. I'm sorry, I didn't say it clearly. Since I need to calculate the 3D deconvolution.
And the detail is as follow:
/usr/local/lib/python3.5/dist-packages/chainer_computational_cost/computational_cost_hook.py:251: UserWarning: chainer.functions.normalization.batch_normalization.BatchNormalization is not yet supported by ComputationalCostHook, ignored
"ComputationalCostHook, ignored".format(fqn))
/usr/local/lib/python3.5/dist-packages/chainer_computational_cost/computational_cost_hook.py:251: UserWarning: chainer.functions.connection.deconvolution_nd.DeconvolutionND is not yet supported by ComputationalCostHook, ignored
"ComputationalCostHook, ignored".format(fqn))
/usr/local/lib/python3.5/dist-packages/chainer_computational_cost/computational_cost_hook.py:251: UserWarning: chainer.functions.noise.dropout.Dropout is not yet supported by ComputationalCostHook, ignored
"ComputationalCostHook, ignored".format(fqn))

For BN, FixedBatchNormalization (BN in validation mode) is supported so please use chainer.using_config('train', False) when running the forward pass, as shown in the README (See the Quickstart chapter).
For Convolution/DeconvolutionND, right, it's not supported yet, but I'm open to any contributions.
Here's the implementation of deconv2d, which is not that complicated and shouldn't be different from deconvNd that much, I guess.
https://github.com/belltailjp/chainer_computational_cost/blob/master/chainer_computational_cost/cost_calculators/connection.py#L131-L165

Thanks for your help.


Frequent restarts of alb-ingress-controller

Hi,
we are experiencing regular restarts of our alb-ingress-controller pods. Below is an example of the kubectl describe pod output. As you can see it just fails the liveness check and exits with exit code 0. The logs (we are using the args -v=5 and --aws-api-debug) don't show anything unusual. It happens for both the active "leader" pod and the inactive ones which are waiting for a lease.
Namespace:      kube-system
Priority:       0
Node:           ip-10-145-87-71.eu-west-1.compute.internal/<IP_ADDRESS>
Start Time:     Wed, 13 Nov 2019 15:03:47 +0100
Labels:         app=alb-ingress-controller
                pod-template-hash=c9d5df7b4
Annotations:    ad.datadoghq.com/i6y-alb-ingress-controller.check_names: ["prometheus"]
                ad.datadoghq.com/i6y-alb-ingress-controller.init_configs: [{}]
                ad.datadoghq.com/i6y-alb-ingress-controller.instances:
                  [
                    {
                      "name": "i6y-alb-ingress-controller",
                      "prometheus_url": "http://%%host%%:10254/metrics",
                      "namespace": "i6y",
                      "metrics": [
                        "aws_alb_ingress_controller_*"
                      ]
                    }
                  ]
                kubernetes.io/psp: eks.privileged
Status:         Running
IP:             <IP_ADDRESS>
IPs:            <none>
Controlled By:  ReplicaSet/alb-ingress-controller-c9d5df7b4
Containers:
  i6y-alb-ingress-controller:
    Container ID:  docker://f9f84a059bd86afa8861b3787da308fcdffef0ff5104ffa911122b496e393c29
    Image:         XX.dkr.ecr.eu-west-1.amazonaws.com/aws-alb-ingress-controller:v1.1.3
    Image ID:      docker-pullable://XXX.dkr.ecr.eu-west-1.amazonaws.com/aws-alb-ingress-controller@sha256:fba9891494bbf109822344f767311c857d992feaee58c220516c0dbbb06705bb
    Port:          <none>
    Host Port:     <none>
    Args:
      --ingress-class=alb
      --cluster-name=s24-infinity-cluster-0
      --max-concurrent-reconciles=10
      -v=5
      --aws-api-debug
    State:          Running
      Started:      Thu, 14 Nov 2019 07:03:02 +0100
    Last State:     Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Thu, 14 Nov 2019 00:56:41 +0100
      Finished:     Thu, 14 Nov 2019 07:03:02 +0100
    Ready:          True
    Restart Count:  3
    Liveness:       http-get http://:10254/healthz delay=3s timeout=1s period=3s #success=1 #failure=3
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from alb-ingress-token-b5j9t (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  alb-ingress-token-b5j9t:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  alb-ingress-token-b5j9t
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     dedicated=system
                 node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                 From                                                 Message
  ----     ------     ----                ----                                                 -------
  Warning  Unhealthy  10m (x71 over 24h)  kubelet, ip-10-145-87-71.eu-west-1.compute.internal  Liveness probe failed: Get http://<IP_ADDRESS>:10254/healthz: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

How can we further troubleshoot this and find out why the pods are failing the liveness check? Sometimes all of the pods in a cluster go into a crash loop so it's really a problem for us.
Thank you

hi, the current healthz is actually make two calls to AWSAPI: DescribeTags and ListServerCertificatesInput.  So it may not complete within 1 second and cause healthz failure.
Please increase the timeout and healthz. I'm considering remove the AWSAPI and monitor the queue healthy in next release


Feature/microk8s

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 71.082%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1143

Relevant Lines:
1608

💛  - Coveralls


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter iopooleco for common errors and appropiate suggestions to keep this adapter up to date.
This check is based the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.iopooleco
   -
ERRORS:

[ ] :heavy_exclamation_mark: [E033] @iobroker/adapter-core 3.0.3 specified. 3.1.4 is required as minimum, 3.1.6 is recommended. Please update dependencies at package.json
[ ] :heavy_exclamation_mark: [E036] @iobroker/testing 4.1.0 specified. 4.1.3 is required as minimum,  4.1.3 is recommended. Please update devDependencies at package.json
[ ] :heavy_exclamation_mark: [E157] js-controller 3.3.22 listed as dependency but 4.0.24 is required as minimum, 5.0.19 is recommended. Please update dependency at io-package.json.
[ ] :heavy_exclamation_mark: [E254] Version "0.2.2" listed at common.news at io-package.json does not exist at NPM. Please remove from news section.

WARNINGS:

[ ] :eyes: [W028] Minimum node.js version 18 recommended. Please adapt "{'engines' : { 'node' >= '16' } }" at package.json.
[ ] :eyes: [W040] "keywords" within package.json should contain "ioBroker"
[ ] :eyes: [W048] devDependency should not require a specific version. Use "~1.2.3" or "^1.2.3" syntax. Please update "@iobroker/adapter-react:2.0.22"
[ ] :eyes: [W135] "common.tier" is required in io-package.json. Please check https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/objectsschema.md#adapter.
[ ] :eyes: [W181] "common.license" in io-package.json is deprecated. Please define object "common.licenseInformation"
[ ] :eyes: [W184] "common.main" is deprecated and ignored. Please remove from io-package.json. Use "main" at package.json instead.
[ ] :eyes: [W184] "common.title" is deprecated and replaced by "common.titleLang". Please remove from io-package.json.

:thumbsup: No suggestions found
Please review issues reported and consider fixing them as soon as appropiate.
Errors reported by repository checker should be fixed as soon as possible. Some of them require a new release to be considered as fixed. Please note that errors reported by checker might be considered as blocking point for future updates at stable repository.
Warnings reported by repository checker should be reviewed. While some warnings can be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
You may start a new check or force the creation of a new issue at any time by adding the following comment to this issue:
@iobroker-bot recheck
@iobroker-bot recreate
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence
Last update at Fri, 13 Sep 2024 11:30:36 GMT based on commit 0e6158f68ce83ffaaa64098c97e9e30464708d7c
ioBroker.repochecker 3.0.5

This issue has been updated by ioBroker Check and Service Bot
The following issues have been fixed
[W184] "common.main" is deprecated and ignored. Please remove from io-package.json. Use "main" at package.json instead.
:thumbsup:Thanks for fixing the issues.
The following issues are new and have been added
[W184] "common.main" is deprecated and ignored. Please remove from io-package.json. Executable is defined by entry "main" at package.json.


Introduction to Android background services

@gronnbeck I have rephrased and introduced Torbjørns blogposts regarding beacons and mobile.
We have however decided to wait a bit before releasing this blogpost.
(Reminder to myself, rename filename date before merging in the future)


Review Quiz

Hi.
I have a project about Creating quiz for user.

Step 1: super admin compose Quiz by Surveyjs Builder. I have an event "survey.onTestSurveyCreated.add" to get KEY of quiz.
Step 2: after user took quiz, super admin review that quiz. I want to show KEY for each QUESTIONS (include matrix field) to easily review.
How can i do that ?

*** My idea
Your plugin has correctAnswer property in question JSON.

How can i store correctAnswer in "survey.onTestSurveyCreated.add" event ?
How can i show correctAnswer value below each question in REVIEW view of super admin. NOTE: i don't want to show in QUIZ view of user.
Thanks so much

Sorry my bad. I didn't see correctAnswer property when compose question. So i don't need an event to store it.
My question is: Following the example https://surveyjs.io/Examples/Library/?id=survey-displaymode&platform=jQuery&theme=default , it let end-user can review their quiz, but they can't know which quiz right. How can i show CorrectAnswer below each question (NOTE: there are matrix fields, possible show in each ROW question ?) ?

@ltrtuan I would recommend you to use onAfterRender and onMatrixAfterCellRender events
Here is the example of using onAfterRender event
Thank you,
Andrew

Thanks for your supporting.
How can I detect TYPE OF QUESTION in onAfterRenderQuestion event ?

@ltrtuan
survey.onAfterRenderQuestion.add(sender, options) {
  if(options.question.getType() !== "text") return;
 ...
});

Thank you,
Andrew

You're the best.
My past question. How can i REMOVE "correctAnswer" property IN RENDER QUESTION, not IN BUILDER.
Thanks. Below is my JSON layout data. Because i SHOW this data in HTML field, so i want to remove correctAnswer, i don't want end-user to see it.
{
"pages": [
{
"name": "page1",
"elements": [
{
"type": "matrixdropdown",
"choices": [
1,
2,
3,
4,
5
],
"columns": [
{
"name": "col",
"title": "Answer",
"cellType": "dropdown"
}
],
"correctAnswer": {
"Question 1": {
"col": 4
},
"Question 2": {
"col": 5
}
},
"name": "question1",
"rows": [
"Question 1",
"Question 2"
],
"title": "This is question"
}
]
}
]
}

Hi andrew.
Why can i not get correctAnswer property in onMatrixAfterCellRender event ?
survey
.onMatrixAfterCellRender
.add(function (survey, options) {
	var correctAnswer = options.question.correctAnswer ;
	console.log(correctAnswer);
});

@ltrtuan Here is the code you have to write.
Thank you,
Andrew


AssertionError: your model failed to follow instructions and make API calls.

how did you Solve this problem


precede each entity with a common name.

Hi,
Most integrations typically have a sensor.<integration_name>_tank_percentage_full format.
Can we have integration_name set to the name we gave our tank? So for me, this might be:
sensor.garden_tank_percentage_full for example or perhaps sensor.watchman_garden_tank_percentage_full which would make it easy to find/use the entities?

It’s a good idea thought it’s a significant change as it could break automations for people who already have the current names. The integration would need to only construct new names on first use or non reconfiguration.

Agh, fair enough - I’ll change mine manually.
Thanks!


Kahn's Algorithm

Is your feature request related to a problem? Please describe.
I will be implementing Kahn's Algorithm in  C++.
Describe the solution you'd like
Step-1:  Compute in-degree (number of incoming edges) for each of the vertex present in the DAG and initialize the count of visited
nodes as 0.
Step-2:  Pick all the vertices with in-degree as 0 and add them into a queue (Enqueue operation)
Step-3:  Remove a vertex from the queue (Dequeue operation) and then.
Increment the count of visited nodes by 1.
Decrease in-degree by 1 for all its neighbouring nodes.
If the in-degree of neighbouring nodes is reduced to zero, then add it to the queue.
Step 4:  Repeat Step 3 until the queue is empty.
Step 5:  If the count of visited nodes is not equal to the number of nodes in the graph then the topological sort is not possible for the given graph.
Additional context
Add any other context or screenshots about the feature request here.

@kapil4457 Could you implement this in all four languages & under what category should this algorithm be included (Eg: Graph or Sorting

It is a sorting algorithm implemented on graphs.
I can do this in c++ , c and java.

I can see that this issue is a duplicate of issue #113


Do we need separate network for coarse and fine sampling

In NeRF's original paper, they are optimizing two separate networks for coarse and fine samples in hierarchical sampling. In this repo, I found only a single model is used to compute density/radiance for both coarse and fine samples.
https://github.com/ashawkey/torch-ngp/blob/65a940835846908beb527d576e88a310ae977ee2/nerf/renderer.py#L155
https://github.com/ashawkey/torch-ngp/blob/65a940835846908beb527d576e88a310ae977ee2/nerf/renderer.py#L181
Do we need separate network for coarse and fine samples? Or the Hash encoding allows us to model the coarse and fine samples with a single network?

Thsi repo follows the implementation of instant-ngp, which only uses one network. Besides, hierarchical sampling is not used in instant-ngp's ray marching (--cuda_ray mode in this repo).

Closed if no other problems.