Dynamic fanout fanin fails with error

Hi,
I was trying to use the dynamic fanout fanin example, https://github.com/argoproj-labs/hera-workflows/blob/main/examples/dynamic_fanout_fanin.py and I get the following error message, when trying to run it.
    raise ServiceException(http_resp=r)
argo_workflows.exceptions.ServiceException: (500)
Reason: Internal Server Error
HTTP response headers: HTTPHeaderDict({'Date': 'Wed, 15 Jun 2022 15:15:35 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Trailer': 'Grpc-Trailer-Content-Type'})
HTTP response body: {"code":2,"message":"templates.dynamic-fanout.tasks.fanin failed to resolve {{tasks.fanout.outputs.parameters}}"}

Any ideas on what might be happening. Does it require a newer Argo installation?
EDIT: The following Argo workflow works, and is similar to what I wanted to do. Is it then a Hera issue?
apiVersion: argoproj.io/v1alpha1

kind: Workflow
metadata:
  namespace: argo-data
  generateName: fanin-example
  labels:
    workflows.argoproj.io/archive-strategy: "false"
  annotations:
    workflows.argoproj.io/description: |
      Test fanin

spec:
  serviceAccountName: argo
  parallelism: 5

  entrypoint: loop-param-result-example
  templates:
    - name: loop-param-result-example
      steps:
        - - name: generate
            template: gen-number-list
        - - name: write
            template: output-number
            arguments:
              parameters:
                - name: number
                  value: "{{item}}"
            withParam: "{{steps.generate.outputs.result}}"
        - - name: fan-in
            template: fan-in
            arguments:
              parameters:
                - name: numbers
                  value: "{{steps.write.outputs.parameters}}"

    - name: gen-number-list
      script:
        image: python:alpine3.6
        command: [python]
        source: |
          import json
          import sys
          json.dump([i for i in range(20, 31)], sys.stdout)

    - name: output-number
      inputs:
        parameters:
          - name: number
      container:
        image: alpine:latest
        command: [sh, -c]
        args: ["echo {{inputs.parameters.number}} > /tmp/number.txt"]
      outputs:
        parameters:
          - name: number
            valueFrom:
              path: /tmp/number.txt

    - name: fan-in
      inputs:
        parameters:
          - name: numbers
      container:
        image: alpine:latest
        command: [sh, -c]
        args: ["echo received {{inputs.parameters.numbers}}"]

Hello @vikramsg! What version of Argo Workflows are you currently running? I tested the example on 3.3.3

Hi @flaviuvadan unfortunately we are on an older Argo install, 2.12.10.
But is there any reason why the Argo workflow above should work but not Hera.

Ok, so I tried to replace the above steps based YAML to a dag based one. And I again encounter an error. I suspect this maybe related. Does the YAML make sense?
FATA[2022-06-16T15:33:49.391Z] Failed to submit workflow: templates.loop-param-result-example.tasks.write failed to resolve {{steps.generate.outputs.result}}

Below is the YAML.
apiVersion: argoproj.io/v1alpha1

kind: Workflow
metadata:
  namespace: argo-data
  generateName: fanin-example
  labels:
    workflows.argoproj.io/archive-strategy: "false"
  annotations:
    workflows.argoproj.io/description: |
      Test fanin

spec:
  serviceAccountName: argo
  parallelism: 5

  entrypoint: loop-param-result-example
  templates:
    - name: loop-param-result-example
      dag:
        tasks:
          - name: generate
            template: gen-number-list
          - name: write
            template: output-number
            depends: generate
            arguments:
              parameters:
                - name: number
                  value: "{{item}}"
            withParam: "{{steps.generate.outputs.result}}"
          - name: fan-in
            template: fan-in
            depends: write
            arguments:
              parameters:
                - name: numbers
                  value: "{{steps.write.outputs.parameters}}"

    - name: gen-number-list
      script:
        image: python:alpine3.6
        command: [python]
        source: |
          import json
          import sys
          json.dump([i for i in range(20, 31)], sys.stdout)

    - name: output-number
      inputs:
        parameters:
          - name: number
      container:
        image: alpine:latest
        command: [sh, -c]
        args: ["echo {{inputs.parameters.number}} > /tmp/number.txt"]
      outputs:
        parameters:
          - name: number
            valueFrom:
              path: /tmp/number.txt

    - name: fan-in
      inputs:
        parameters:
          - name: numbers
      container:
        image: alpine:latest
        command: [sh, -c]
        args: ["echo received {{inputs.parameters.numbers}}"]

And this is what Hera creates with the dynamic fanout fanin example. I can't see any issues as such.
metadata:
  name: fanin-hera0c0fq
spec:
  entrypoint: fanin-hera0c0fq
  parallelism: 5
  service_account_name: argo
  templates:
    - dag:
        tasks:
          - arguments:
              artifacts: []
              parameters: &id001 []
            name: generate
            template: generate
          - arguments:
              artifacts: []
              parameters:
                - name: value
                  value: "{{item.value}}"
            dependencies:
              - generate
            name: fanout
            template: fanout
            with_param: "{{tasks.generate.outputs.result}}"
          - arguments:
              artifacts: []
              parameters:
                - name: values
                  value: "{{tasks.fanout.outputs.parameters}}"
            dependencies:
              - fanout
            name: fanin
            template: fanin
      name: fanin-hera0c0fq
      parallelism: 5
      service_account_name: argo
      steps: []
    - daemon: false
      inputs:
        artifacts: []
        parameters: *id001
      metadata:
        annotations: {}
        labels: {}
      name: generate
      outputs:
        artifacts: []
        parameters: []
      script:
        command:
          - python
        env: []
        env_from: []
        image: container
        image_pull_policy: Always
        name: generate
        resources:
          limits:
            cpu: "1"
            memory: 4Gi
          requests:
            cpu: "1"
            memory: 4Gi
        source: 'import json

          import sys

          # this can be anything! e.g fetch from some API, then in parallel process
          all entities; chunk database records

          # and process them in parallel, etc.

          json.dump([{"value": i} for i in range(10)], sys.stdout)

          '
        volume_mounts: []
      tolerations: []
    - daemon: false
      inputs:
        artifacts: []
        parameters:
          - name: value
            value: "{{item.value}}"
      metadata:
        annotations: {}
        labels: {}
      name: fanout
      outputs:
        artifacts: []
        parameters:
          - name: fanout
            value_from:
              path: /tmp/number
      script:
        command:
          - python
        env: []
        env_from: []
        image: container
        image_pull_policy: Always
        name: fanout
        resources:
          limits:
            cpu: "1"
            memory: 4Gi
          requests:
            cpu: "1"
            memory: 4Gi
        source:
          "import json\ntry: value = json.loads('''{{inputs.parameters.value}}''')\n\
          except: value = '''{{inputs.parameters.value}}'''\n\nprint(f\"Received value:\
          \ {value}!\")\nwith open(\"/tmp/number\", \"w\") as f:\n    f.write(str(value))\n"
        volume_mounts: []
      tolerations: []
    - daemon: false
      inputs:
        artifacts: []
        parameters:
          - name: values
            value: "{{tasks.fanout.outputs.parameters}}"
      metadata:
        annotations: {}
        labels: {}
      name: fanin
      outputs:
        artifacts: []
        parameters: []
      script:
        command:
          - python
        env: []
        env_from: []
        image: container
        image_pull_policy: Always
        name: fanin
        resources:
          limits:
            cpu: "1"
            memory: 4Gi
          requests:
            cpu: "1"
            memory: 4Gi
        source: 'import json

          try: values = json.loads(''''''{{inputs.parameters.values}}'''''')

          except: values = ''''''{{inputs.parameters.values}}''''''

          print(f"Received values: {values}!")

          '
        volume_mounts: []
      tolerations: []
  volume_claim_templates: []
  volumes: []

Ok, so weirdly if I replace the python script in the YAML, it works. This seems weird.

@vikramsg is there something about Argo ~2.12.10 and scripts maybe? 🤔

Hi @flaviuvadan I haven't looked at this since then. I suspect it is an Argo version issue. I will close it for now. Thanks for the help.


FAQ: Corrections needed to update of "[Apple/iOS]: ENErrorDomain-Error 13"

Where to find the issue
"[Apple/iOS]: ENErrorDomain-Error 13" https://www.coronawarn.app/en/faq/#ENError13
"[Apple/iOS]: ENErrorDomain-Fehler 13" https://www.coronawarn.app/de/faq/#ENError13
Describe the issue

Both the English and the German error messages are included in the English FAQ and German FAQ.
The English error message in the English FAQ is incorrect.

Suggested change
FAO @dsarkar & @loki-cui
In https://www.coronawarn.app/en/faq/#ENError13 (English version of FAQ)

Remove the text "German error message: "Fehler 13: Ihre Risiko-Ermittlung für den heutigen Tag wurde bereits durchgeführt. Bitte versuchen Sie es in 24 Stunden erneut.""
Remove the text "English error message:"
Change the text of the English error message to "Error 13: Your exposure logging for today has already been carried out. Please try again in 24 hours." to correspond to the requested text in the original issue in https://github.com/corona-warn-app/cwa-website/issues/713.

In https://www.coronawarn.app/de/faq/#ENError13 (German version of FAQ)

Remove the text "Deutsche Fehlermeldung:"
Remove the text "Englische Fehlermeldung: "Error 13: Your exposure logging for today has already been carried out. Please try again in 24 hours."

@MikeMcC399, thanks. Will correct English the error message. Having both messages, in English and German in both FAQ entries might help the users to find. What´s your thought on this? Thanks, DS

@dsarkar

Will correct English the error message.

Thank you!

Having both messages, in English and German in both FAQ entries might help the users to find. What´s your thought on this?

The disadvantages outweigh any benefits. Including both language error messages in each language:

makes each article longer to read
makes this FAQ entry different from every other FAQ entry
may be irritating to readers who only understand English or only understand German

So I would still suggest keeping to one language in each article and removing the other language in each article.

Fixed in #719

@heinezen
Could you please check, because there are 0 files changed in
https://github.com/corona-warn-app/cwa-website/pull/719
and I can't see any change on https://www.coronawarn.app/en/faq/#ENError13 either.

@MikeMcC399, ok, agreed.

@heinezen / @dsarkar
The English error message in https://www.coronawarn.app/en/faq/#ENError13 is still incorrectly rendered as:
"Error 13: Your exposure to today has already been carried out. Please try again in 24 hours."
whereas, according to the original post https://github.com/corona-warn-app/cwa-website/issues/713 it should be:
"Error 13: Your exposure logging for today has already been carried out. Please try again in 24 hours."


Improve Plist and JSON Encoder/Decoder resilience to errors thrown during coding

_JSONDecoder internal state could be corrupted by trying to decode failing nested object. Fix this by ensuring storage stack pop after error throw.

Resolves SR-6408.

Now SR-6078 should be fixed too.
I didn't invest much time in setting up build/test environment, should work on it more

Looks like this was covered by #13879.  If I'm wrong about that, please reopen this and rebase it to fix the merge conflicts.

Should be fixed by #13879, thanks for looking at it.


missing .gitattributes

The .gitattributes is missing is powerjobs-sample repository and therefore the ps1 files are treated as binary files. That means the commit history doesn't do the diff of what was changed in the commits.
@christiangessner Is that intentional? I believe it is a case of oversight.
Add .gitattributes to this repository.

Hi Wangdu, you are right, this is not intentional. Please feel free to change the .gitattributes to solve this issue.
Thanks,
Christian

The problem was with the encodings. Saved the ps1 file with UTF-8 encodings and now the GitHub doesn't treat the file as binary anymore.


Added Styled Toast

Fixes: #9
Description:
Added a Personalized and Themed Toast Layout with respect to the default color of the app. This will probably improve the app in terms of User Experience.
Screenshot Before:

Sample Demo of Styled Toast:

No updates from the contributor.


Not working.......

I have built this thing and followed the guide with my build. I used the instructibles guide as the tutorial.
I never could get mine to work. The Nextion display has the correct screens but the STM32 code never worked at all. I loaded the .bin file correctly (i think). I am not sure how to go in and rework the source code and program the STM32. Is there a guide to this?

Hi there @Cabinfourus,
you're wasting your time (and mine also) with that kind of feedback: "not working...." or "never worked at all"
I can recommend you something like:

check wiring again,
have you tried turning off and on again?
that's odd my is working.....

Please put some efford to figure out yours build issue, I don't have crystal ball.
No time bandwidth here and motivation to help you when you are so lazy to find and read how to debug or how to flash stm32.
Kind Regards


Missing lazy_import in model to_multipart()

Describe the bug
In the end-to-end tests, the file golden-record/my_test_api_client/models/body_upload_file_tests_upload_post.py passes type checking, but would fail in a runtime call in a call to BodyUploadFileTestsUploadPost.to_multipart() at the following point:
    def to_multipart(self) -> Dict[str, Any]:
        some_file = self.some_file.to_tuple()

        some_object = (None, json.dumps(self.some_object.to_dict()).encode(), "application/json")

        some_nullable_object: Union[None, Tuple[None, bytes, str]]
        if isinstance(self.some_nullable_object, BodyUploadFileTestsUploadPostSomeNullableObject):  # raises NameError
            some_nullable_object = (None, json.dumps(self.some_nullable_object.to_dict()).encode(), "application/json")
        else:
            some_nullable_object = self.some_nullable_object

The exception raised is NameError: name 'BodyUploadFileTestsUploadPostSomeNullableObject' is not defined.
The analogous point in to_dict() is avoided because the required model is imported:
    def to_dict(self) -> Dict[str, Any]:
        from ..models.body_upload_file_tests_upload_post_some_nullable_object import (
            BodyUploadFileTestsUploadPostSomeNullableObject,
        )

        some_file = self.some_file.to_tuple()

        some_object = self.some_object.to_dict()

        some_nullable_object: Union[Dict[str, Any], None]
        if isinstance(self.some_nullable_object, BodyUploadFileTestsUploadPostSomeNullableObject):
            some_nullable_object = self.some_nullable_object.to_dict()
        else:
            some_nullable_object = self.some_nullable_object

It appears that model.py.jinja needs to be updated to include the necessary lazy imports:
    def to_dict(self) -> Dict[str, Any]:
        """Convert to a dict"""
    {% for lazy_import in model.lazy_imports | sort %}
        {{ lazy_import }}
    {% endfor %}
        {{ _to_dict() | indent(8) }}

{% if model.is_multipart_body %}
    def to_multipart(self) -> Dict[str, Any]:
        {{ _to_dict(multipart=True) | indent(8) }}
{% endif %}

Looking again, is there a reason why the check for if TYPE_CHECKING: is present at the top of model.py.jinja when importing the model's lazy imports?


CSS in JS snippets do not work from Extension, only User Snippets

VSCode Version: 1.33.1
OS Version: 10.14.4

Steps to Reproduce:

Install an extension I created - styled-components-snippets
Reload VSCode
Create a .js file
Try imsc snippet to make sure extension is installed.
Try sc snippet to create a Styled-Component.

At this point you should have this
import styled from 'styled-components';

const StyledDiv = styled.div`

`;

Try scp inside the template literal like this

const StyledDiv = styled.div`
  scp
`;

Does anything happen? It does not for me, and others.

Place cursor inside template literal like Step 6, open Command Palette -> Developer: Inspect TM Scopes.

Confirm it says language: css.

Preferences -> User Snippets -> css.json

Add the following
"Use props inside styled-component": {
	"prefix": "scp",
	"body": "${props => props.${1}};",
	"description": "Use props inside styled-component"
}

Save, Reload VSCode, and try step 6 again. It should work! The User Snippet works, but the extension does not.

Confirm the extension is correctly mapped to the CSS language on Github.

If you can confirm Step 11, and Step 12, why else would the extension fail here? Thank you.

Does this issue occur when all extensions are disabled?: Unable to answer as I need the extension to test it.

@jrieken Hey 👋 Yes, it is caused by an extension. It is an extension I built. I am trying to fix it, but VSCode seems to ignore it.

hm... that's a valid argument ;-)

@jonkwheeler I see this error on the console
ERR FileOperationError: Unable to read file (Error: File not found (/Users/jrieken/.vscode-oss-dev/extensions/jonkwheeler.styled-components-snippets-0.2.5/snippets/css.snippets.json.))
    at FileService.<anonymous> (file:///Users/jrieken/Code/vscode/out/vs/workbench/services/files/common/fileService.js:344:27)
    at Generator.throw (<anonymous>)
    at rejected (file:///Users/jrieken/Code/vscode/out/vs/workbench/services/files/common/fileService.js:17:65) file:///Users/jrieken/.vscode-oss-dev/extensions/jonkwheeler.styled-components-snippets-0.2.5/snippets/css.snippets.json

Yepp - the paths are invalid because they have a trailing dot, e.g. https://github.com/jonkwheeler/styled-components-snippets-vscode/blob/master/package.json#L45

Holy crap

Trying again on v0.2.7, adding styled-css, in addition to css. So far I'm noticing it show up 10% of the time now.

I now receive Manifest is not found jonkwheeler.styled-components-snippets

It installs just fine for my but I see this
extensionService.js:643 [jonkwheeler.styled-components-snippets]: Unknown language in `contributes.styled-components-snippets.language`.  Provided value: styled-css

That was me trying to mess with this. Let me remove it, and see if that helps this lag.

v0.2.8 going up

Really odd to see in your terminal
Unknown language in `contributes.styled-components-snippets.language`. Provided value: styled-css

That shows as a legit language in vscode.

@jrieken any insight here? 🤠
2 Things.

The snippets take over 10 seconds to show up, each time a component is created.
Your error is displaying an language as unknown even though vscode says it's legit. How can I view these messages you're receiving?

that can happen when another extension takes its time to compute suggestions. generally we wait for all suggestions to be computed before showing them

that happens when the language that is being referred to hasn't been registered yet, e.g no extension has added this languaging (using the languages-contribution point)


{fname}.txt._norm is an empty file.

Hello,
First of all, I would like to express my appreciation for your diligent efforts in successfully releasing IndicTrans2. AI4Bharat's commitment to continual advancement on the India AI Stack is commendable and greatly valued in the community.
Onto the issue– I am running fairseq inference with source language as hin_Dev and target language as eng_Latn. On running the python interface, I seem to always getting the output as -
["The"]
Following is what I sent to the model.batch_translate() in the sents parameter -
sents = ['मेरा नाम संभव है']
On delving a bit deeper, I found that the files IndicTrans2/inference/normalize_punctuation.sh and IndicTrans2/normalize-punctuation.perl write to the {fname}.txt._norm. This file comes out to be empty for some reason. Because of this, all downstream preprocessing, inference, and post-processing steps consume only empty string objects.
Any guidance on how to resolve this is appreciated. TIA.
EDIT 1: Created an incomplete issue by mistake
EDIT 2: Formatting.
Here's my complete main.py file that runs the python interface -
from inference.engine import Model
import os

base_dir = os.path.dirname(__file__)

ckpt_dir = f'{base_dir}/IndicTrans2/models/indic-en-deploy/fairseq_model'

model = Model(ckpt_dir)

sents = ['मेरा नाम संभव है']

# for a batch of sentences
print(model.batch_translate(sents, "hin_Deva", "eng_Latn"))

# # for a paragraph
# model.translate_paragraph(text, 'hin_Deva', 'eng_Latn')

In addition to this, an added functionality could be added to return empty string requests as empty string objects after doing some basic preprocessing like removing multiple whitespaces/punctuations etc.

Hi @sambbhav-kooapp
We attempted to replicate the installation setup on another system using the code block you provided, and it seems to be working well for us. To ensure that we are on the same page, we kindly request you to follow the steps outlined in the install.sh (link) and try setting up the environment once more. If you encounter the same issue, please let us know. It would also be very helpful if you could provide the details of your installation setup and the commands you've been using.
Yes, we will shortly update the inference scripts to handle the empty string requests cases.
Thank you!

Hi @sambbhav-kooapp
Please let us know, if you are still encountering this issue or has this been resolved at your end ?

@PranjalChitale I need to try this once more. I will get back to you on this. Meanwhile, if you'd like to close this issue due to lack of activity – please feel free. I can always raise another issue quoting this one. Either way is fine. :)

Closing due to inactivity


Contact Venue AV company

Dinis to introduce Jemma to CP contact

Spoken with Anna Forrester this morning around tech support and AV for venue

Quote provided to Dinis

Quote authorised by @DinisCruz. AV team will be at the venue on Sunday. All borrowed laptops need to be available and in the venue by 1pm to run tech tests


Persist partial QAA form in local storage

The QAA form can be very long, and intermittent issues may prevent submission.
When create a "New" QAA submission - let's store the QAA state in local storage so when the browser is refreshed, we can recover the progress.
We should also add a button to clear the form, if we no longer need to keep the local stored state.

Here is PR
https://github.com/savantly-net/franchise-manager/pull/118


Attempted import error: 'isDataViewLike' is not exported from 'vis-data'

Overview
build fails with error:
Failed to compile
./node_modules/react-vis-timeline/node_modules/vis-timeline/esnext/esm/vis-timeline-graph2d.js
Attempted import error: 'isDataViewLike' is not exported from 'vis-data/esnext/esm/vis-data.js'.
Package versions
"react-vis-timeline": "^2.0.3",
"vis": "^4.21.0-EOL",
Steps to reproduce
I just added the sample code to my project and it fails.  I can comment out the code and it builds fine with my other components.  Below is the code from the sample that I added.  I have removed my components so you can see the offending code.  Am I missing an import or package?
Code Snippet
import React from "react";
import Timeline from "react-vis-timeline";

class Sample extends React.Component {
  constructor(props) {
    super(props);
  }

  render() {
    const items = [
      {
        id: 1,
        group: 1,
        start: "2014-04-20",
        end: "2014-04-26",
        content: "Test 1",
      },
      {
        id: 2,
        group: 2,
        start: "2014-04-22",
        end: "2014-04-29",
        content: "Test 2",
      },
    ];

    const groups = [
      {
        id: 1,
        content: "Group 1",
      },
      {
        id: 2,
        content: "Group 2",
      },
    ];

    const options = {
      width: "100%",
      height: "450px",
    };
    return (
      <div>
        <Timeline
          options={options}
          initialItems={items}
          initialGroups={groups}
        />
      </div>
    );
  }
}

export default Sample;

Upon investigating I see the same issue was reported on the visjs repo https://github.com/visjs/vis-timeline/issues/744 and it looks like in ur package you just have to update the vis-data module.
Also, I have tried the code above, and the exact sample in ur example directory.  I have also tried with v2.0.0, v2.0.2, and of course the latest v2.0.3 and the issue exists in each of them.

I'm having the same issue when i try to add the package to my project.
Running the example from cloned repo works fine though.

As a short-term fix, adding this in my project's package.json fixed the issue:
  "resolutions": {
    "vis-data": "^7.1.2"
  }

hey, i am just using npm. Any way I can apply this workaround? @vjpr

Using this package solved the problem for me. https://www.npmjs.com/package/react-vis-timeline-2

I cannot get this working for me. I have tried:
yarn add react-vis-timeline-2
yarn add https://github.com/razbensimon/react-vis-timeline.git
yarn add https://github.com/ChadJPetersen/react-vis-timeline.git
I can see vis-data 7.1 is installed:
<EMAIL_ADDRESS>
but I still get the error in my react 17 application:

TypeError: (0 , vis_data_esnext_esm_vis_data_js__WEBPACK_IMPORTED_MODULE_2__.isDataViewLike) is not a function
isDataViewLike
http://localhost:8000/mf-dep____vendor.c6eb21c4.js:878040:91
new Timeline
http://localhost:8000/mf-dep____vendor.c6eb21c4.js:892776:36
Timeline.componentDidMount
http://localhost:8000/mf-dep____vendor.c6eb21c4.js:792845:16
is the current version working?


Add package command introductions in compile_guide.md - [closed]

In GitLab by @sokril on Nov 9, 2017, 09:26
Merges md -> dev

In GitLab by @wknet123 on Nov 13, 2019, 10:09
closed


perf: use async animations module

#475  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


added ffmpeg viewer

added ffmpeg block to ADCore
added ffmpeg widget tag
pulled in webGUI v1.7.11 (adds ffmpeg widget)
added aravis manager block (includes ffmpeg block)

Codecov Report

Merging #294 into master will increase coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #294      +/-   ##
==========================================
+ Coverage    92.5%   92.54%   +0.03%
==========================================
  Files         207      207
  Lines       10751    10818      +67
==========================================
+ Hits         9945    10011      +66
- Misses        806      807       +1

Impacted Files
Coverage Δ

malcolm/core/tags.py
96.25% <100%> (+0.04%)
:arrow_up:

malcolm/modules/ADCore/blocks/__init__.py
100% <100%> (ø)
:arrow_up:

malcolm/modules/aravisGigE/blocks/__init__.py
100% <100%> (ø)
:arrow_up:

malcolm/compat.py
93.87% <0%> (ø)
:arrow_up:

malcolm/core/__init__.py
20.83% <0%> (ø)
:arrow_up:

...olm/modules/builtin/controllers/basiccontroller.py
100% <0%> (ø)
:arrow_up:

malcolm/core/context.py
95.08% <0%> (ø)
:arrow_up:

malcolm/modules/pandablocks/pandablocksclient.py
93.93% <0%> (ø)
:arrow_up:

...lcolm/modules/pandablocks/parts/pandabussespart.py
98% <0%> (ø)
:arrow_up:

malcolm/core/hook.py
94.95% <0%> (-0.85%)
:arrow_down:

... and 1 more

Continue to review full report at Codecov.

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

@blondejamtart please could you rebase on master and merge this?

Codecov Report

Merging #294 into master will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #294   +/-   ##
=======================================
  Coverage   92.32%   92.33%
=======================================
  Files         212      212
  Lines       10884    10887    +3
=======================================
+ Hits        10049    10052    +3
  Misses        835      835

Impacted Files
Coverage Δ

malcolm/core/tags.py
96.25% <100.00%> (+0.04%)
:arrow_up:

malcolm/modules/ADCore/blocks/__init__.py
100.00% <100.00%> (ø)

malcolm/modules/aravisGigE/blocks/__init__.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


example cloud-controller manifests are missing RBAC rules

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened: I deployed ccm using https://github.com/kubernetes/cloud-provider-openstack/blob/master/manifests/controller-manager/openstack-cloud-controller-manager-ds.yaml However, that file is missing all of the clusterrole rbac rules. There are quite many things that needs to be added and in my opinion it is not perfect way to just give cluster-admin for ccm.
What you expected to happen: I except that we could have example what kind of rules is needed.
How to reproduce it (as minimally and precisely as possible): Deploy example file

ok, the cluster-admin permissions does not help either:
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: cloud-controller-manager
  namespace: kube-system
  labels:
    k8s-addon: openstack.addons.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    k8s-addon: openstack.addons.k8s.io
  name: system:openstack
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'
- nonResourceURLs:
  - '*'
  verbs:
  - '*'
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  labels:
    k8s-addon: openstack.addons.k8s.io
  name: system:openstack
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: system:openstack
subjects:
- kind: ServiceAccount
  name: cloud-controller-manager
  namespace: kube-system
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  namespace: kube-system
  name: openstack-cloud-provider
  labels:
    k8s-app: openstack-cloud-provider
    k8s-addon: openstack.addons.k8s.io
spec:
  updateStrategy:
    type: RollingUpdate
  selector:
    matchLabels:
      name: openstack-cloud-provider
  template:
    metadata:
      labels:
        name: openstack-cloud-provider
    spec:
      hostNetwork: true
      nodeSelector:
        node-role.kubernetes.io/master: ""
      securityContext:
        runAsUser: 1001
      serviceAccountName: cloud-controller-manager
      tolerations:
      - key: node.cloudprovider.kubernetes.io/uninitialized
        value: "true"
        effect: NoSchedule
      - key: node-role.kubernetes.io/master
        effect: NoSchedule
      - key: "CriticalAddonsOnly"
        operator: "Exists"
      containers:
      - name: openstack-cloud-controller-manager
        image: jesseh/occm:latest
        args:
          - /bin/openstack-cloud-controller-manager
          - --v=2
          - --cloud-config=/etc/kubernetes/cloud.config
          - --cloud-provider=openstack
          - --use-service-account-credentials=true
          - --address=<IP_ADDRESS>
        volumeMounts:
        - mountPath: /etc/kubernetes/cloud.config
          name: cloudconfig
          readOnly: true
      volumes:
      - hostPath:
          path: /etc/kubernetes/cloud.config
        name: cloudconfig

logs https://gist.github.com/zetaab/643ac691542c75686bb7a27b86398728

The RBAC manifests are here https://github.com/kubernetes/cloud-provider-openstack/blob/master/cluster/addons/rbac

great! thanks.


Feature Request: exchange modifier keys

Checklist

[X] I have read the plugin's documentation.
[X] The feature would be useful to more users than just me.

Feature Requested
to use ⌘⏎ to reveal file in finder, ⌥⏎ to move the file to the front finder window.
The reasoning is of consistency: ⌘⏎ for reveal in finder is default for alfred.
Relevant Screenshot
No response

While I can see that can be annoying, switching around modifier keys would also be annoying for all the people already used to other the current ones. (And then make this workflow inconsistent with more than a dozen other ones which use a different modifier, etc.)
I think the better solution would be to advocate at the Alfred forum to make modifier keys customizable for users in general, since this issue cannot be satisfactorily addressed in Alfred workflows.


The screen does not jump when the app is launched

When I launch the app, the screen doesn't automatically jump, it stays on a blank screen, I have to tap the phone screen with my hand to jump, and I had the same problem running Compose - Destinations. My phone system version is Android12

Can you upload a video of the device while this happens?
Can we access the code also?

https://user-images.githubusercontent.com/32577970/181867052-6b842889-23e2-4573-8abf-e0a364aa4710.mp4
I ran your Sample app. After starting the app, you must click the blank screen, and then the content can be displayed

This is the weirdest thing I’ve seen 😅
Do you mind trying it in the emulator? I’ve run this sample on multiple different devices it is working fine 🤔

Yes, can you try this mobile phone system, only this phone has this problem, my other phones are OK

If it only happens on one device, i don’t know what I can do 🤷♂
Seems like an issue which would happen also with official compose navigation? Have you tried that?

I’ll close this as I really don’t think this is an issue with this library. Let me know if you find it also does this with official navigation (pretty sure it will)

At first I thought it was a problem with the official navigation, but after I tried it, it was fine, so I asked the question

Does it only happen with my sample app?

I compared the official demo and found that I had to add this code to make the screen jump OK when the App started, but I don't know why😅


Do we have any way to get the pipeline reports in email?

We need a pipeline daily summary at EOD in email. Which can include all the files available on the pipeline page.

Please help

Hi @piyush-ranjan-daloopa I've passed this idea along to our product team, and will close for now as it isn't really a documentation issue.


[Network] Default table output for public IPs doesn't display their IP address

Simply running the az network public-ip list command doesn't display the actual IP addresses. It would be great to get this information without needing to resort to a custom query/format type.

The address is listed in the table as 'IpAddress'. It might be that when you tried to list the public IPs that the IP address had not been determined, but it is shown by default.

@tjprescott Ah that's a good point. The issue was probably that my PIPs were dynamic, and hadn't been reserved an IP at the time I queried them. I'll close this for now since I'm sure you're right, and I'll re-open if needed. Thanks!


Update ad-fs-single-sign-on-settings.md

This Doc talks about SSO and PSSO making no differentiation between AD FS 20012 R2 and 2016.
What confuses customers is the SSO and PSSO; in-fact, at the beginning of the article it talks about 2012 AD FS says that PSSO is 7 days by default but moving to the next section where it talks about Single Sign-On and authenticated devices, it says: PSSO is max 90 days within a 14 days windows. This is correct but for 2016.
Have this run through PG for final validation
<EMAIL_ADDRESS>

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

Hi @billmath , Can you approve this for me? Thanks

Hi Corey,
is this update still pending?
Thanks
Michele

Hi Michele, Bill owns the topic. Waiting for his sign-off. @billmath, can we merge this?

Verifying these changes with PMs.
#hold-off

Thanks guys!
Let me know if PM suggest any additional variation
Michele
Sent from my phone
Michele Ferrari | PFE | Microsoft Secure Infrastructure - NorCal
Office: +1<PHONE_NUMBER>
Mobile: +1<PHONE_NUMBER>
<EMAIL_ADDRESS>
From: Bill Mathers<EMAIL_ADDRESS>Sent: Thursday, October 25, 2018 5:45 AM
To: MicrosoftDocs/windowsserverdocs
Cc: Michele Ferrari; Author
Subject: Re: [MicrosoftDocs/windowsserverdocs] Update ad-fs-single-sign-on-settings.md (#1613)
Verifying these changes with PMs.
#hold-off
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fwindowsserverdocs%2Fpull%2F1613%23issuecomment-433035889&data=02|01|michele.ferrari%40microsoft.com|ac71f023cd4b49cdc84a08d63a77c22a|72f988bf86f141af91ab2d7cd011db47|1|0|636760683377526062&sdata=k4%2BWawyzkwlHx33wP5Jdqmx1sMv0tr%2FzGopB1hInl9o%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAOoTh7C8TOWKe4ZHH0EWhAP7BM_OSyzfks5uobJdgaJpZM4XOPbt&data=02|01|michele.ferrari%40microsoft.com|ac71f023cd4b49cdc84a08d63a77c22a|72f988bf86f141af91ab2d7cd011db47|1|0|636760683377536070&sdata=Uup2XNjx853jwOoqcc1EdbMBH6Cn%2FatjPbbjF4%2FfdyE%3D&reserved=0.

Are we still waiting to get this approved?

#sign-off


Feature suggestion - Display full URL in link menu

Chrome has a very nice feature for displaying the full URL on the top of link/image menu:

Observe that Chrome also makes the URL field scrollable when the URL is very long.
Imo, this feature also increases security, because knowing the entire link is very important for avoiding malicious sites.

It also would be nice if bookmarks, history and address bar suggestions had an option to cut URLs in the second line rather than the first, so longer URLs can be visualized better — or, if technically possible, allow horizontal scroll of the URL.


Feat/graph aqi updater

 Create a scheduled service that automatically updates current AQI to graph (from the output file of AQI processor)


Create a reference architecture for automotive industry

The automotive industry has gone through major advancements with the use of technology and having a reference architecture to build an effective technology platform would be useful for solution architects

This is fixed with commits 5090a8f8d7a407d6518c9e39958c21acf5cf8fca and a590096c46083fe9573fa79c9888bb5758771a95

This is fixed with commits 5090a8f8d7a407d6518c9e39958c21acf5cf8fca and a590096c46083fe9573fa79c9888bb5758771a95


Update to Java 17 or 21?

Newer Java language features such as records, pattern matching, sealed classes, etc., improve the developer experience. What do we think about updating Chicory to a newer Java version?

Thanks for this question @electrum , we are constantly re-evaluating our position on this subject.
So far we have been pretty conservative over the Java version to make sure that this project can be embedded even in legacy codebases.
Another aspect of it is the fact that we know this codebase runs on Android.
That said, I would be open to re-evaluate when we have compelling reasons.

As mentioned in #295 , we're trying to stay widely compatible at the moment and we're not ready to upgrade the Java version just yet. I do think we can revisit this next year, and in the meantime we're happy to discuss any individual problems that might be associated regarding compatibility with newer javas.


python3 ./bin/iepy_rules_runner.py -> Relation 'xxxx' not found

hi, i got quit frustrated with this tool.
i have copy the example rules.py to the project directory, but when i executepython3 ./bin/iepy_rules_runner.py, it tells me
'Relation 'was born' not found'
drwxrwxr-x 2 ubuntu ubuntu   4096 Aug  4 12:08 bin/
-rw-rw-r-- 1 ubuntu ubuntu    468 Aug  4 10:54 extractor_config.json
-rw-rw-r-- 1 ubuntu ubuntu  15462 Aug  4 12:01 godfather.csv
-rw-r--r-- 1 ubuntu ubuntu 456704 Aug  4 12:33 hello.sqlite
-rw-rw-r-- 1 ubuntu ubuntu     19 Aug  4 10:54 __init__.py
-rw-rw-r-- 1 ubuntu ubuntu    116 Aug  4 12:32 ll
drwxrwxr-x 2 ubuntu ubuntu   4096 Aug  4 12:36 __pycache__/
-rw-rw-r-- 1 ubuntu ubuntu   3868 Aug  4 12:36 rules.py
-rw-rw-r-- 1 ubuntu ubuntu     63 Aug  4 11:34 sample.csv
-rw-rw-r-- 1 ubuntu ubuntu    967 Aug  4 10:54 settings.py

any suggestions on this problem, i have looked the doc more than 10 tens, but still get stuck here.

it must run this command python bin/iepy_rules_runner.py  PER_BIRTH_DATE,  the PER_BIRTH_DATE is the relation defined in the rules.py, namely the "was born", at the same time, you must build the relation PER_BIRTH_DATE on the web( I do it first).


(PUP-7042) Mark strings in property

This commit marks user-facing error and info strings in
lib/puppet/property/* for translation.

CLA signed by all contributors.

Closing and reopening to fix Travis.

Closing and reopening to fix CI.

👍


Benchmarked with lua-resty-json?

Has this been benchmarked to compare its performance with lua-resty-json?

I just tried some benchmarks. All the tests were run with resty (nginx version: openresty/<IP_ADDRESS>rc2) (luajit enabled runtime).
Code is something like this:
local open, clock = io.open, os.clock

local d1 = require "cjson".decode
local d2 = require "resty.libcjson".decode
local ins = require "json_decoder".new()
local d3 = ins.decode

local file = open("citylots.json", "rb")
local content = file:read "*a"
file:close()

local iterations, x, z = 1, 0, 0

x = clock()
for i = 1, iterations do
    d1(content)
end
z = clock() - x

print(string.format("D1 Decoding Time: %.6f", z))

x = clock()
for i = 1, iterations do
    d2(content)
end
z = clock() - x

print(string.format("D2 Decoding Time: %.6f", z))

x = clock()
for i = 1, iterations do
    d3(ins, content)
end
z = clock() - x

print(string.format("D3 Decoding Time: %.6f", z))

The citylots.lua was downloaded from here:
https://raw.githubusercontent.com/zemirco/sf-city-lots-json/master/citylots.json
Here are the results:
D1 Decoding Time: 6.125711
D2 Decoding Time: 8.424276
nginx: lua atpanic: Lua VM crashed, reason: not enough memory

Another try:
D1 Decoding Time: 6.148450
D2 Decoding Time: 8.406922
D3 Decoding Time: 7.988033

I also tried smaller json-file (the web-app example from here: http://json.org/example) with 1000 iterations, and the results are here:
D1 Decoding Time: 0.028434
D2 Decoding Time: 0.086863
D3 Decoding Time: 0.026841

So, if we could have some conclusions here is that from a perfomance point of view:

lua-resty-json is the fastest, but can crash LuaJIT VM.
bundled lua cjson lib is almost as fast, but more reliable on larger files
lua-resty-libcjson is the slowest, but still reliable on larger files

Other differences:

lua-resty-json implements decoder only (others have decoder and encoder as well)
lua-resty-libcjson retains information about arrays and objects (not sure about others)

I also did small encoding BM bewtween the bundled cjson lib and lua-resty-libcjson:
cjson results (using that citylots.json sample):
D1 Decoding Time: 6.206812
D1 Encoding Time: 4.894658

lua-resty-libcjson results:
D2 Decoding Time: 8.445740
D2 Encoding Time: (didn't wait for it to finnish)

The general advice:

Use the bundled cjson library (that is Lua CJSON: http://www.kyne.com.au/~mark/software/lua-cjson.php)
Use lua-resty-json if you need the last bits of performance (on their own page they say that it is roughly 30% faster)

Regards
Aapo

I'm currently writing a new parser only lib with jsmn (http://zserge.com/jsmn.html). Let's see how it works out compared to others. It should be a really fast one, but there is always possibility to screw the performance on LuaJIT side.

I already did jsmn bindings, but the best I got from it was (with that citylots.json):
Decoding Time: 8.008696

Actually I seems it is pretty fast, but only when stream processing. Parse without decoding stuff to Lua table structures took just:
Decoding Time: 3.138534

Twice as fast as others here, but not so useful on Lua side, albeit a great option for stream processing JSON. I will look if you can do parsing in a single pass to get the full benefits of jsmn.

I also did some adjustments to lua-resty-libcjson code, and now it seems like the decoding performance is closer to bundled cjson:
lua-resty-cjson citylots decoding time: 6.536133

cjson citylots decoding time: 5.990543

I did rerun citylots test with each encoder separately:
cjson decoding time: 5.815602
lua-resty-libcjson decoding time: 6.349700
lua-resty-json decoding time: 7.014575
lua-resty-jsmn decoding time: 8.208794

Right now it seems that in this test the bundled Lua cjson library is the fastest, and the lua-resty-json is the slowest (lua-resty-jsmn decoding is not really optimized right now - it's single pass parsing is the fastest).

I have now done some adjustments in lua-resty-jsmn[1] codebase, and this citylots test now gives this (using decode2 function, and jsmn lib compiled with -O3):
Decoding Time: 5.956955

It is now among the fastest.
[1] https://github.com/bungle/lua-resty-jsmn

This is not what I'd expect because by swapping lua-cjson with lua-resty-json in CloudFlare's Lua CDN, the JSON decoding part almost disappears from our online flame graphs and the reduction of the JSON decoding time can be as big as 80%. @yangshuxin will you have a look at this benchmark?

Let me add lua-resty-opjson (https://github.com/bungle/lua-resty-opjson) to this list as well (citylots):
Decoding Time: 5.820199

One should also consider encoding time. For me, lua-resty-libcjson performs really bad for encoding, which has probably something to do with the huge memory consumption while encoding (for files > 100KB i always get segfaults/coredumps). Since lua-resty-json has no encoder jet, cjson remains the only sane choice.
local open, clock = io.open, os.clock

local cjson = require "cjson"
local libcjson = require "resty.libcjson"
local d1 = cjson.decode
local e1 = cjson.encode
local d2 = libcjson.decode
local e2 = libcjson.encode
local ins = require "json_decoder".new()
local d3 = ins.decode

--http://mtgjson.com/json/pCEL.json
local file = open("/etc/nginx/pCEL.json", "rb")
local content = file:read "*a"
file:close()
local contentdata = d2(content)

local iterations, x, z = 100000, 0, 0

x = clock()
for i = 1, iterations do
    d1(content)
end
z = clock() - x

print(string.format("D1 Decoding Time: %.6f", z))

x = clock()
for i = 1, iterations do
    d2(content)
end
z = clock() - x

print(string.format("D2 Decoding Time: %.6f", z))

x = clock()
for i = 1, iterations do
    d3(ins, content)
end
z = clock() - x

print(string.format("D3 Decoding Time: %.6f", z))

x = clock()
for i = 1, iterations do
    e1(contentdata)
end
z = clock() - x

print(string.format("E1 Encoding Time: %.6f", z))

x = clock()
for i = 1, iterations do
    e2(contentdata)
end
z = clock() - x

print(string.format("E2 Encoding Time: %.6f", z))

D1 Decoding Time: 4.019130
D2 Decoding Time: 7.168249
D3 Decoding Time: 3.209868
E1 Encoding Time: 2.337952
E2 Encoding Time: 19.406382

@bjoe2k4 I agree with your conclusion. To make the built-in cjson even better one should consider writing it in pure LuaJIT, but that is enourmous amout of work. lua-resty-libcjson is more or less just a small wrapper to a libcjson C-library (it seems Lua cjson is somewhat a fork from that lib).


Modifying a DMP does not Change "Last Modification Date"

Modifying a DMP template does not change the last modification date. When I submitted my DMP, the date changed.
Is the last modification date tied to a state change? Shouldn't it be tied to ANY change in the DMP, state of DMP OR contents (overview) or details?

the following items were addressed in this issues:

When modifying DMP details, the DMP last modification date displayed on the My DMPs page is not being updated, unless there is a state change.  The DMP last modification date displayed should reflect a change to the DMP if details were updated.
if the dmp template overview is modified the modified date of the template should be updated (the value is being updated correctly in the db)
if a dmp template is modified the last modification date displayed is incorrect. ensure the last modification date is displayed (the value is being updated correctly in the db).


Add onScreenOpened lifecycle method to CoreScreenLayer.

Contains
This closes #3101.  The new lifecycle method is called both when the
screen is first opened (as the existing onOpened), as well as when a
screen that's already open is made visible again (as onShow).
How to test
Unfortunately, I couldn't see any easy way to add automated tests for the UI system.  Since there aren't any existing tests for this system, either, and this is a very simple change, I figure this may be okay.  Anyway, I tested this manually by adding a temporary logger statement inside the method and clicking around the menu system.
Outstanding before merging
Nothing I'm aware of.

Thanks for the PR! Triggering bot for test build
@GooeyHub: ok to test
While unit tests are very much appreciated they aren't easy to do for everything. Simple instructions for how to test are OK in that case :-)
Pinging @TheFlash98 for potential review, figuring potential interest there!

Hooray Jenkins reported success with all tests good!

Hey, I added a random logger to the onScreenOpened() method in the CoreScreenLayer.java class. Worked every time was I was switching between screens. Thanks! 🙂

Just tested this and can also confirm that it works as well.
Shall we go ahead and merge this.


fix: should fix #714, closes out issue where length of websocket-sec-key was wrong

Code change checklist

[x] I have ensured that all methods and functions are fully documented using doxygen style comments.
[x] My code follows the coding style guide.
[x] I tested that my change works before raising the PR.
[x] I have ensured that I did not break any existing API calls.
[x] I have not built my pull request using AI, a static analysis tool or similar without any human oversight.

Discord API keeps going down, meaning a test can't be properly conducted. I've done as much as was possible.
Region          | Server            | Response
---------------------------------------------------------------------
Brazil          | brazil7074        | 101 Switching Protocols (271ms)
Hong Kong       | hongkong11003     | 101 Switching Protocols (255ms)
India           | india1813         | 101 Switching Protocols (171ms)
Japan           | japan80           | 101 Switching Protocols (302ms)
Rotterdam       | rotterdam1572     | 101 Switching Protocols (58ms)
Russia          | N/A               | Discord API failed.
Singapore       | N/A               | Discord API failed.
South Africa    | N/A               | Discord API failed.
Syndey          | N/A               | Discord API failed.
US Central      | N/A               | Discord API failed.
US East         | N/A               | Discord API failed.
US South        | N/A               | Discord API failed.
US West         | N/A               | Discord API failed.


ERROR in multi main Module not found: Error: Cannot resolve 'file' or 'directory'

I am getting this weird error suddenly in my react application.
ERROR in multi main
Module not found: Error: Cannot resolve 'file' or 'directory' /home/apurv/Downloads/Frontend-Master-master/src/client/apurv.js in /home/apurv/Downloads/Frontend-Master-master
 @ multi main

I have deleted the apurv.js file. Then too it is showing this error.  I didn't touch webpack file. I didn't make any changes. One of the directories was having index.js file. I renamed it apurv.js. And made anotther index.js file in the same directory.

Please submit support requests and questions to StackOverflow using the tag [webpack]. StackOverflow is better suited for this kind of support. The issue tracker is for bug reports and feature discussions. See also our CONTRIBUTING guidelines.


riot.mount is broken when using document.querySelectorAll

The check in mount method only assumes that you're either passing in a single selection via document.querySelector or an actual selector (that is later passed into document.querySelectorAll). This can probably be fixed by checking if the selector is a nodeList before passing it through to the push function.

this should be fixed in the newest riot 2.0.14


Add Developer.

Codecov Report
Patch and project coverage have no change.

Comparison is base (3fab286) 82.23% compared to head (c3a89a3) 82.23%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #64   +/-   ##
=======================================
  Coverage   82.23%   82.23%
=======================================
  Files          18       18
  Lines         456      456
  Branches       44       44
=======================================
  Hits          375      375
  Misses         53       53
  Partials       28       28

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


Empty function blocks without a newline inside the braces throw an error

how would you expect this to be handled?

closed by pr #12


Here's a potential solution for removing when empty:
(let [ensured* (stay-then-continue (if-path empty? (terminal-val NONE)))]
  (defdynamicnav ensure [& path]
    (interleave (repeat (count path) ensured*) path)
    ))

(setval [:a (ensure :b :c)] NONE {:a {:b {:c 1}}})
;; => {}

(setval [:a (ensure :b :c)] NONE {:a {:b {:c 1} :d 2}})
;; => {:a {:d 2}}

Need a different name that ensure since Clojure already has a function named ensure.

Name ideas: compact, trim, tighten

To make these navigators work for both select and transform, need to turn terminal and vterminal into no-ops for select* instead of throwing exceptions as they do now.

compact is implemented in master. Other kinds of related navigators are too application-specific to add to Specter, whereas removeing empty subvalues is a common, generic use case.


Notification Driver should throw an exception when a route cannot be found

Laravel Version: 5.4.36
PHP Version: 7.1.3

Description:
The Notification driver silently ignores notifications if a routing method isn't defined. For example, for Slack notifications, the routeNotificationForSlack() method must be defined on the Notifiable entity. If that method is not created, or incorrectly created on the Notification itself, the notification is discarded entirely without warning or error.
Steps To Reproduce:

Create a new Notification.
Do not define a routing method on the Notifiable entity (for example, the User model).
Attempt to trigger the notification.

Version 5.4 is no longer supported. Do check if issue persists on 5.5 :smiley:

Could you please post sample code?

That would be a breaking change, feel free to open a PR for version 5.6


json output coercion fails on exceptional HTTP codes

I'm using json output coercion with Chesire in conjunction with the :throw-exceptions false option. When the response is returned with a 2XX status code the body contents are being parsed, however upon exceptional status codes (404, 500) the response body is kept as a string. This is happening  both with client/get, client/post and client/request functions.
I share below the dependencies, code and sample test server
Dependencies
[clj-http "3.10.1"]
[cheshire "5.10.0"]
Code
(require '[clj-http.client :as client])
(:body (client/get "http://<IP_ADDRESS>/200" {:as :json :throw-exceptions false}))  ;; {:foo "bar"}
(:body (client/get "http://<IP_ADDRESS>/500" {:as :json :throw-exceptions false}))  ;; "{\n  \"foo\": \"bar\"\n}\n"

Test server (Python3.7)
from flask import Flask, jsonify
app = Flask(__name__)

@app.route("/200", methods=['GET', 'POST'])
def http_200():
    return jsonify({"foo":"bar"}), 200

@app.route("/500", methods=['GET', 'POST'])
def http_500():
    return jsonify({"foo":"bar"}), 500

if __name__ == '__main__':
    app.run('<IP_ADDRESS>', port=80, debug=True)

Hi @Happy-Monad, use the add the option :coerce :always to get the behavior you want.
See https://github.com/dakrone/clj-http#output-coercion for more information

Thanks for that, I completely missed that line of the readme. I'll close the thread.


[Feature]: parsing numpydoc

What would you like to see added to NeuroConv?
We have many docstrings over the repo that repeat themselves multiple times. Each time we type it fresh in a new function, we run the risk of adding typos and other differences. Each time we copy/paste it we run the risk of propagating tiny differences that existed from the copy source. If we ever need to adjust some small part of the docstring, we have to remember to propagate that change everywhere.
This becomes an annoyance.
@CodyCBakerPhD has already proposed to potential approaches: #273 and #274
Is your feature request related to a problem?
No response
Do you have any interest in helping implement the feature?
Yes.
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] Have you ensured this bug was not already reported?

I like #274 , but what about this slight modification:
I like this idea.
What about this slight modification:
import from . import func1

def func2(arg1):
    """"
    {func1.arg1}
    """"
    func1(arg1)

The original func1 docstring stays intact
The only import needed is the func1 import we already do
The docstring reference is more specific

One advantage is we could use this approach for other libraries too, as long as they use strict Numpy formatting. I think we can convince Alessio and Samuel to do that for spikeinterface.

I also think we should have a @dynamic_docstring decorator that automatically resolves these

They do some minor version of this for spikeinterface (@alejoe91):
https://github.com/SpikeInterface/spikeinterface/blob/master/spikeinterface/core/waveform_extractor.py#L1252
In their case, it is for the parallelization arguments which are repeated across the whole repo:
https://github.com/SpikeInterface/spikeinterface/blob/bebf203ae5ddc2936d3ff56d36ecacc9a2aafac6/spikeinterface/core/job_tools.py#L18-L35
I took a quick look at how matplotlib handles this. They have a lot of styling parameters which are repeated across every possible function so in their case the problem is even more exacerbated. Turns out, they have adopted a string interpolation whose interface is a decorate of the kind we are suggesting here. Take a look at their description of the problem:
https://matplotlib.org/stable/devel/documenting_mpl.html#keyword-arguments
However, look at the discalimer at the beginning of the link above. The developers don't seem to be totally comfortable with the current string interpolation solution. You can see some of the discussion in the following link which echoes some of the points we have made alread on #273 and #274 plus some other concerns:
https://github.com/matplotlib/matplotlib/issues/9414
Also, I also checked scikit-learn. They manage have parameters, such as n_jobs for parallelization, which appear on most predictors and I wanted to see how they keep that synchronized across them. A shallow and quick exploration of their code base seem to indicate that they just went the hard way themselves, that is, they just write the identical docstring everywhere.
Just some points and references that I thought would be useful for the discussion.

Thanks for the pointers, @h-mayorquin! It is indeed interesting to see the very same debate in another community.

I think these points nicely summarize the conflicting priorities:

Generate docstrings that are as helpful to the user as possible, regardless of the method used to view them: directly in the source code, in an interactive ipython session, e.g. using the trailing question mark, and in the online sphinx-generated docs.
Avoid making our codebase more complex and convoluted than it already is.
Related to (2), make it as easy as possible to improve the documentation.
Observe the DRY principle when possible.

I think these points nicely summarize the conflicting priorities:

Specifically,
the feature of dynamic docstrings conflicts with (1) since it only applies to a subset of those viewing possibilities, and (2) by making docstrings complex...
...but static docstrings conflicts with (3) since without them it is difficult to ensure a docstring improvement is propagated everywhere to which it applies, and (4) since it violates DRY.

@h-mayorquin what do you think of the Config option proposed by @weiglszonja at the end of the first post in #280? I really think it could alleviate the central source of this issue.
We'd still have repetition for arguments like nwbfile/nwbfile_path (whichare the same everywhere) but at least the ones being repeated would be really simple, like the sci-kit learn docstrings (a couple sentences at most). The more detailed arguments that need rich explanation in docstrings would be written only once in a Config class.

Team unanimously agreed that dynamic docstrings are not a good way to go, but adding tests where easily applicable could be beneficial
Replaced by #284


Cannot get ost bytes usage in lustre 2.12

The path /proc/fs/lustre/obdfilter/*-OST*/kbytesfree (same as kbytesavail & kbytestotal) have been removed in lustre 2.12.
The path /proc/fs/lustre/osd-*/*-OST*/kbytesfree (same as kbytesavail & kbytestotal) have been provided in lustre 2.5, 2.10 & 2.12.

dup #146


functions: CI/CD example

The example for cloud functions CI/CD doesn't feel right. I'm just starting to learn how to use the service and golang so I might be completely wrong, but:

It pulls golang image directly from mirror.gcr.io. According to mirror documentation:

Google Cloud services such as Cloud Build and Google Kubernetes Engine automatically check for cached images before attempting to pull an image from Docker Hub.
Only obtain cached images on mirror.gcr.io by configuring the Docker daemon. A request to pull directly from mirror.gcr.io will fail if a cached copy of the image does not exist.

It will pull latest (currently 1.15.5) golang image. Cloud functions support 1.11.6 and 1.13.8 runtimes (docs) using custom Ubuntu 18.04 based images.

There are a few options for making it better:

Just change the image to golang:1.13.8 (example uses go113 runtime) and pull it from docker hub (using the mirror transparently).
Extend the example by creating a custom Ubuntu based image with golang 1.13.8. This adds complexity, especially if we don't want to rebuild it on every CI trigger, but it's a step closer to production environment than official debian based images from docker hub.
This would be a feature request, but IMO the best solution from CI best practices perspective: publish go113 and go111 runtimes that are used in the production environment (or new images synced with the production if they contain any secret sauce).

I haven't used this file before. I'd assume a PR is welcome, or perhaps Ace is more familiar with the sample.

I think @tbpg added the original version of this; I'll reassign this to him.

@tbpg ping on this?
cc @grayside

No updates from me -- haven't had a chance to update + test.

Ping @tbpg @codyoss


Refactor common Subscription concerns to a base class

Each individual Subscription is managing stats/logging/version tracking. This can be shared in a common base class, e.g. SubscriptionBaseImpl.

@fredlas have you been working on this effectively? Or is this something else? cc @htuch

This is from before my time, so I can't be sure, but I would maybe guess that this has already been done. Did there maybe used to be a {Cds,Eds,etc}Subscription? And that's where the (recently removed) templatization came from?

@fredlas yeah I think so. I'm guessing we can close this but I'm not sure. @htuch ?

Yep, I think this is effectively sorted by now, this goes back to early in the v2 API work.


SDL_image + libpng load some PNGs incorrectly

Hello, I'm one of the maintainers of pygame-ce. One of our users reported a png file loading incorrectly in their program.
The image:

It should look like the left, but instead loads as the right.
This only seems to be an issue when SDL_image is built with libpng (as we do for distribution with pygame-ce). I tested on an SDL_image prebuilt for Windows (built with stb-image instead), and didn't see this bad output.
I looked into how this might be solved in the libpng code, but the libpng code is extremely difficult to understand. Checking the libpng docs I see that they have a "simplified API" for reading and writing, so I spent 2 days hacking on it and have a draft of using the libpng simple API instead of the older API in SDL2_image: https://github.com/pygame-community/SDL_image/blob/a89d6d9b7069e851bdfeecb15e8cc0de6b4542c6/src/IMG_png.c#L233-L367. That branch is still WIP right now, but wanted to float the idea of potentially moving over to that strategy for libpng. It seems a lot simpler than the other libpng code or even the stb-image code. (And it fixes this issue too)
pygame-ce issue: https://github.com/pygame-community/pygame-ce/issues/3036

Also, I fixed the underlying problem in IMG_png.c

Thanks @slouken!
Gave it a run through the pygame-ce test suite and on that image, all worked as expected.


Define node versions

Lucia doesn't work when running in node v19.9.0
Defining the minimum and maximum node versions in the package will allow other developers to get warnings if their node version is potentially unsupported and ensure consistent work across all devices.
If they are trying to use an unsupported version of node, they will see the following warning in their terminal

Thanks!


Feature/acc 15 ef core add remove migrations

Added 'migration' command for managing EF Core database migrations. If anyone has suggestions on making the 'data project' file path searching more generic (or even a better way to interface with dotnet ef) I am more than welcome to hearing them!
Addresses issue #15

@wintondeshong All of your suggestions should be resolved, please take another look when you get a chance 👍 Thanks!


Unable to get the compression info

My device does not support compressed bmp images and I want to check whether the images are compressed or not. The compression info is not stored in the headers struct
pub fn parse_header(input: &[u8]) -> IResult<&[u8], Header> {
   ...
    let (input, bpp) = le_u16(input)?;
    let (input, _compression_method) = le_u32(input)?;  // The issue
    let (input, image_data_len) = le_u32(input)?;
    ...

How can I get the compression info, and why the _compression_method is not stored in the struct?

This has changed after the last stable release of tinybmp. In the master version the parsing of the header fails if the BMP file is RLE compressed.
Do you use tinybmp standalone or with embedded-graphics? If you use it standalone I would suggest that you try the latest alpha version.
But this version isn't compatible with embedded-graphics 0.6, so you might have to use a workaround if you don't want to use unstable versions for everything. You could check the compression field manually, after you have parsed the BMP file:
let data = include_bytes!("../tests/chessboard-8px-24bit.bmp");
let bmp = Bmp::from_slice(data).expect("Failed to parse BMP image");

let compression = u32::from_le_bytes(data[30..34].try_into().unwrap());
if compression != 0 && compression != 3 {
    panic!("File is compressed");
}

This has changed after the last stable release of tinybmp. In the master version the parsing of the header fails if the BMP file is RLE compressed.
Do you use tinybmp standalone or with embedded-graphics? If you use it standalone I would suggest that you try the latest alpha version.
But this version isn't compatible with embedded-graphics 0.6, so you might have to use a workaround if you don't want to use unstable versions for everything. You could check the compression field manually, after you have parsed the BMP file:
let data = include_bytes!("../tests/chessboard-8px-24bit.bmp");
let bmp = Bmp::from_slice(data).expect("Failed to parse BMP image");

let compression = u32::from_le_bytes(data[30..34].try_into().unwrap());
if compression != 0 && compression != 3 {
    panic!("File is compressed");
}

My device also fails if the compression equals to 3 and I want to check it also. This workaround will work, but what is the reason for dropping the compression info? Another offtopic question, you don't know by chance if it is possible to create a rgba bmp file that's compression equals to 0? Gimp and paint .net generates bmp with 3 compression, which my device does not support

My device also fails if the compression equals to 3 and I want to check it also. This workaround will work, but what is the reason for dropping the compression info? Another offtopic question, you don't know by chance if it is possible to create a rgba bmp file that's compression equals to 0? Gimp and paint .net generates bmp with 3 compression, which my device does not support

This workaround will work, but what is the reason for dropping the compression info?

I'm not sure, it was ignored since before I started working on tinybmp. But, as I said, the next version of tinybmp will read the compression field to handle type 3 correctly. In this case we don't need to store the compression type, because parsing fails if compression is enabled and the new channel_masks field contains all necessary information to decode any type 0 or 3 image.

Another offtopic question, you don't know by chance if it is possible to create a rgba bmp file that's compression equals to 0? Gimp and paint .net generates bmp with 3 compression, which my device does not support

Maybe ImageMagick would be able to output a type 0 image, but I haven't tried it. How exactly does type 3 fail in you application? Because a type 3 image should be usable in the same way as a type 0 image, if you know the correct byteorder.

This workaround will work, but what is the reason for dropping the compression info?

I'm not sure, it was ignored since before I started working on tinybmp. But, as I said, the next version of tinybmp will read the compression field to handle type 3 correctly. In this case we don't need to store the compression type, because parsing fails if compression is enabled and the new channel_masks field contains all necessary information to decode any type 0 or 3 image.

Another offtopic question, you don't know by chance if it is possible to create a rgba bmp file that's compression equals to 0? Gimp and paint .net generates bmp with 3 compression, which my device does not support

Maybe ImageMagick would be able to output a type 0 image, but I haven't tried it. How exactly does type 3 fail in you application? Because a type 3 image should be usable in the same way as a type 0 image, if you know the correct byteorder.

Ok, thanks. I use it for my pocketbook game, and I have no idea why it don't support the type 3. Device just doesn't render bmp's if it's type equal 3. The original resource packer allows only type 0 bmps too

Ok, thanks. I use it for my pocketbook game, and I have no idea why it don't support the type 3. Device just doesn't render bmp's if it's type equal 3. The original resource packer allows only type 0 bmps too

Did you try to convert the image to grayscale or 1bpp black and white before exporting the BMP file with GIMP (In the menu: Image -> Mode -> Grayscale or Image -> Mode -> Indexed... -> Use black and white (1-bit) palette)?

Did you try to convert the image to grayscale or 1bpp black and white before exporting the BMP file with GIMP (In the menu: Image -> Mode -> Grayscale or Image -> Mode -> Indexed... -> Use black and white (1-bit) palette)?


Transparent background doesn't seem to work.

First of all, thank you for a fantastic free tool <3
I thought "Transparent Background" meant that it would only render the model, with lighting, onto a transparent raw image, but it always includes the camera background.
This is the default demo scene (it's an HDRP-project, so the sprite shader doesn't work properly). Here, the camera's background is set to "Sky", but there isn't one, so it uses the default blue background color. When I flick the switch between "Use Transparent Background" and "Use Color Background", nothing changes, even if the background color is set to 0 alpha, and the camera's background color is also 0 alpha.

And when setting camera background to "None", there's this weird grey background with black lines on it. I switched out the prefab for my own 3D prefab with HDRP-materials.

Is there no way to get it to render JUST my prefab onto a transparent Raw Image?

"Transparent Background" does work for modes that don't overwrite the alpha channel or support alpha channel.  The rendering of the sprites is done in two passes, so the alpha must remain on the first pass.
For your first two images, the sprite not rendering correctly is a missing shader for some reason.
I believe that HDRP trashes the alpha channel (using it to calculate the HD lighting) during rendering, so probably why you are seeing black lines in the background.

I'm seeing the following at the bottom of the PreviewCameraPostProcessing prefab. Of course, it has added its HD Camera Data component, but it is also missing a script. I just imported it from the Asset Store.


Windows concurrency

I added some helper functions but essential the issue on windows boiled down to a problem with paths
I don't think it's safe to explicitly use forward or backward slashes rather than os.path.join()
There are places where we are currently using os.sep and concatenating -- is there a reason? Should we switch to os.path.join?
Project objects currently resolve virtualenv locations using forward slashes on windows, but os.path.join just appends the remaining items with the normal path separator, so we can use os.path.normpath to normalize
However this pre-escapes the path for us which means we can't drop the command into a double-quoted string and pass it to delegator, so instead I am shellquoting everything that isn't handled this way now

Lets see if it passes tests.

well shit, broke appveyor

JK appveyor was broken already

let's get windows tests working first

got merge conflict handled

running windows tests now

looks like they're passing! This will require some additional work.

e.g. they're still running non-concurrently.


Make the Show function use the ImageViewer class

We should do this.  It'll greatly simplify the Show function.

closed by #1156


A question about bounds checking

This cookbook is amazingly good and I've learned a lot from it.
But still I cannot figure out how to avoid bounds checking for this code:
fn get_avg(image: &[u8], i: usize, w: usize) -> u8 {
    let a = image[i - w] as u16;
    let b = image[i + w] as u16;
    let c = image[i - 1] as u16;
    let d = image[i + 1] as u16;
    (a + b + c + d) / 4
}

All the indexes are calculated, i is the current index and w is the width of the image.

I assume this is called in a loop. The key is rewriting the loop using iterators:
pub fn average_pixels(input: &[u8], width: usize, output: &mut [u8]) {
    assert!(input.len() == output.len());

    // set up iterators over rows so we could look up and down
    let previous_rows = input.chunks_exact(width);
    let current_rows = input.chunks_exact(width).skip(1);
    let next_rows = input.chunks_exact(width).skip(2);
    let output_rows = output.chunks_exact_mut(width).skip(1);

    // loop over rows
    previous_rows.zip(current_rows).zip(next_rows).zip(output_rows)
        .for_each(|(((previous_row, current_row), next_row), output_row)| {

            // set up iterators over pixels, horizontally
            let prev_row_pixels = previous_row.iter().skip(1);
            let next_row_pixels = next_row.iter().skip(1);
            let output_pixel = output_row.iter_mut().skip(1);
            // more succinct than 3 iterators over previous, current and next pixel horizontally
            let horizontal_windows = current_row.windows(3);

            // loop over pixels
            prev_row_pixels.zip(next_row_pixels).zip(output_pixel).zip(horizontal_windows)
            .for_each(|(((prev_row_pixel, next_row_pixel), output_pixel), window)| {
                let prev_pixel = window[0];
                // let current_pixel = window[1]; // never used
                let next_pixel = window[2];
                *output_pixel = ((prev_pixel as u16) + (next_pixel as u16) + (*prev_row_pixel as u16) + (*next_row_pixel as u16) / 4) as u8;
            })
        })
}

This involves a lot of boilerplate but does get rid of bounds checks.
Assembly view showing no bounds checks: https://godbolt.org/z/6sed55Y3a

You really should benchmark this though. Deeply nested iterators often result in poor codegen. This produces quite a lot of assembly, it might be slower than the version with bounds checks.
Alternatively, asserts to constrain w could work instead of converting the whole thing to iterators. They need to be done at the start of the loop.

Thanks very much for the reply.
** Deeply nested iterators often result in poor codegen **, I agree. I benchmarked complex iterator combination(3 zips) version vs index accessing version before. The iterator version is slower. So I think I'll still use index accessing.


feat: cache third party rendered images

The mermaid snippet rendering introduced in #268 works but the mermaid cli is very slow so every modification to the presentation while developing is painfully slow. This adds caching at the third party image render layer. Images already live forever, this just uses a hashmap from the input string -> the image itself. We could also hash the inputs but that adds another dependency and inputs should be small enough that this would be negligible.
cc @mikavilpas

👍🏻👍🏻


notifyReleaseStages prevents exception logging to console

If I use notifyReleaseStages to prevent sending reports when we're running in dev, it also swallows the errors in the console. All I see is:
bugsnag.js:1581 Loaded!
bugsnag.js:281 Report not sent due to releaseStage/notifyReleaseStages configuration

For now we're reporting all exceptions, even in dev as a workaround, and we're overloading our quota. Could really use a fix for this one.

You can use a beforeNotify function that returns false in dev after printing the error in the console (as an interim measure).

I think the problem is that the default onUncoughtExpection is not called in that case
or any callback sent to notify() in that case
if (isArray(this.config.notifyReleaseStages) && !includes(this.config.notifyReleaseStages, releaseStage)) {
      this._logger.warn("Report not sent due to releaseStage/notifyReleaseStages configuration");
      return false; // ISSUE: should call cb() here
}

I wouldnt use notifyReleaseStages in that case. You can just return false in dev yourself from the callback

You can use a beforeNotify function that returns false in dev after printing the error in the console (as an interim measure).
I think you mean beforeSend in the new library. From the code it seems wont be called in this case too. so no luck :disappointed:

I wouldnt use notifyReleaseStages in that case. You can just return false in dev yourself from the callback

I think you mean beforeSend in the new library. From the code it seems wont be called in this case too. so no luck :disappointed:

I've tried to get this to work, but the bugsnag report isn't great if just logged to the console. I've tried creating a real Error object out of it, but haven't had much success:
beforeSend: function (report) {
    if (Env.DEV) {
      // create an object that has Error properties
      report = {
        message: report.errorMessage,
        stack: report.stacktrace
      }
      // try to log this to console as a real exception
      try {
        throw(report);
      } catch(e) {
        return false;
      }
    }

Unfortunately the throw never makes it to the console, perhaps because it ends up getting swallowed in the same loop? Not sure, but any ideas on how to convert the bugsnag report object into a real error would be appreciated.

You should be able to do something like console.error(report.errorClass + ": " report.errorMessage) and optionally console.error(report.stacktrace) It might not look exactly like the uncaught exception output but hopefully gets you close to what you want without having to wait for us to implement.

[Disclosure:  I work with the OP, but have run into this problem independent of his report here]
The proposed workaround in the previous comment is not an adequate solution.   Not only is it overly verbose, it drops essential information.  E.g. In the sample below note how the first four lines of the original log output, that describe where the syntax error actually is, are not included in the workaround output.
At the risk of being overly dramatic, this sort of issue - where bug reporting software gets "in between" me and the code I'm trying to debug, quickly becomes a showstopper issue.  Do with that what you will.
Original console output:
/Users/kieffer/tend/code/cellmate/sidekick/lib/BaseClient.js:293
    const realtimeItem = {time: now;
                                   ^

SyntaxError: Unexpected token ;
    at createScript (vm.js:80:10)
<< 14 stack frames clipped >>
    at Module.require (module.js:597:17)

"Workaround" output:
SyntaxError: Unexpected token ;
[ { file: 'vm.js',
    method: 'createScript',
    lineNumber: 80,
    columnNumber: 10,
    code: undefined,
    inProject: undefined },
<< 97 lines of stack info cut >>
  { file: 'module.js',
    method: 'Module.require',
    lineNumber: 597,
    columnNumber: 17,
    code: undefined,
    inProject: undefined } ]


[Compile] How to solve: No module named 'devscripts.utils'

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 asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2022.08.08 (update instructions) or later (specify commit)
[X] I've searched the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
Linux Mint 20.3; Python 3.8.10
Today, after the new 2022.08.08 release, I tried to compile myself again and it failed at make:
make
/usr/bin/env python3 devscripts/make_lazy_extractors.py yt_dlp/extractor/lazy_extractors.py
Traceback (most recent call last):
  File "devscripts/make_lazy_extractors.py", line 12, in <module>
    from devscripts.utils import get_filename_args, read_file, write_file
ModuleNotFoundError: No module named 'devscripts.utils'
make: *** [Makefile:134: yt_dlp/extractor/lazy_extractors.py] Fout 1

What am I missing here?
Provide verbose output that clearly demonstrates the problem

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

Complete Verbose Output
No response

I see also the same under Debian unstable python 3.10.5

Could you verify whether this fixes the issue?
diff --git a/setup.py b/setup.py
index aebe1dead..3a3961ed4 100644
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,9 @@
 #!/usr/bin/env python3

+import os
+import sys
+sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
+
 import os.path
 import subprocess
 import sys

I cannot reproduce. For attempting to debug, can you check a few things?

Does the file devscripts/utils.py exist?
Does the error occor when running make lazy-extractors?
What about when directly running python3 devscripts/make_lazy_extractors.py?

Does the file devscripts/utils.py exist?

Yes.

Does the error occor when running make lazy-extractors?

Yes.
make lazy-extractors
/usr/bin/env python3 devscripts/make_lazy_extractors.py yt_dlp/extractor/lazy_extractors.py
Traceback (most recent call last):
  File "devscripts/make_lazy_extractors.py", line 12, in <module>
    from devscripts.utils import get_filename_args, read_file, write_file
ModuleNotFoundError: No module named 'devscripts.utils'
make: *** [Makefile:134: yt_dlp/extractor/lazy_extractors.py] Fout 1

What about when directly running python3 devscripts/make_lazy_extractors.py?

python3 devscripts/make_lazy_extractors.py
Traceback (most recent call last):
  File "devscripts/make_lazy_extractors.py", line 12, in <module>
    from devscripts.utils import get_filename_args, read_file, write_file
ModuleNotFoundError: No module named 'devscripts.utils'

Add this and show me what you get when running python3 devscripts/make_lazy_extractors.py
diff --git a/devscripts/make_lazy_extractors.py b/devscripts/make_lazy_extractors.py
index 01bd88ae6..5aeca705c 100644
--- a/devscripts/make_lazy_extractors.py
+++ b/devscripts/make_lazy_extractors.py
@@ -5,6 +5,9 @@
 import sys

 sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
+print(sys.path[0])
+import os.path
+assert os.path.exists(os.path.join(sys.path[0], 'devscripts/utils.py'))

 from inspect import getsource

Having the exact same issues under Ubuntu 22.04 (Linux 5.19) with Python 3.10.4...
Everything was working fine up until Saturday btw, if that helps...
Kind regards

I know which commit caused the issue (115add43876964956917bf596c1d0b148c5b3c26), but I don't know why it is happening. If I can't figure it out in a few days, I'll revert it

FWIW,
Making lazy_extractors.py on Windows 10 with Python 3.10.6 went fine.
And building succeeded.

for any/all impacted by this issue, what happens if you try changing
from devscripts.utils import...
to
from utils import...
in the following files:
make_issue_template.py
make_lazy_extractors.py
make_readme.py
make_supportedsites.py
prepare_manpage.py
set-variant.py
update-formulae.py
update-version.py
(if you're on gnu/linux you can run this from the yt-dlp directory:)
sed -i 's/from\sdevscripts\.utils\simport/from utils import/g' devscripts/*.py

@bashonly
Then it works. 🙂
Don't know if this is the right approach though.

@bashonly
setup.py is still broken
Traceback (most recent call last):
  File "/home/marillat/src/yt-dlp-2022.08.08/setup.py", line 15, in <module>
    from utils import read_file, read_version
ModuleNotFoundError: No module named 'utils'```

But everything else got fixed?

Then it works. 🙂
Don't know if this is the right approach though.

If that works, it is an acceptable solution (Though I still have no clue what caused the issue). Thanks @bashonly

setup.py is still broken

This should not be done in setup.py. It was not previously broken, correct?

Of course setup.py is broken.
setup.py is called from the Makefile
Traceback (most recent call last):
  File "/home/marillat/src/yt-dlp-2022.08.08/setup.py", line 15, in <module>
    from devscripts.utils import read_file, read_version
ModuleNotFoundError: No module named 'devscripts.utils'```

It conflicts with debian devscripts package. Try to rename /usr/lib/python3/dist-packages/devscripts directore or remove devscripts package. But I think this conflict should be fixed by upstream.

It conflicts with debian devscripts package. Try to rename /usr/lib/python3/dist-packages/devscripts directore or remove devscripts package. But I think this conflict should be fixed by upstream.

Yes renaming the directory fix the build with pybuild and yes this issue should be fixed here.

lol, I didn't even imagine there could be a third-party library called devscripts! thanks @trialuser02! Ofc, I can't reproduce since I don't have that package installed... Now that we know the problem, I'll push a fix asap

Thanks!
Everything is as it should be now. 🙂


Revamp UI

We need to update the UI as the old one is really non-intuitive in terms of feedback, followup instructions and looks ugly.

@PaliwalSparsh Working on it


[In Progress] Validation for appointment

Still figuring out how to check clashing appointments.

Coverage decreased (-0.08%) to 89.059% when pulling 7e304ffb3edddeef9e335a44e5949d82a0df334f on namvd2709:appointment into e5ab56f6c77bd27f1746a3622fd8a67846992df6 on CS2103AUG2017-T12-B1:master.


update for yarn and network

We swapped npx for yarn and also fixed the localhost network name when working with yarn hardhat node

Right now, when you run yarn hardhat node the logging tells you to use the hardhat network flag, which doesn't work with hardhat-deploy, you need to use localhost


fails if no credentials file

i no aws credentials file:
  File "/usr/local/bin/aws-saml", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.7/site-packages/awscli_saml/main.py", line 39, in main
    saml=args.saml,
  File "/usr/local/lib/python3.7/site-packages/awscli_saml/assume_role.py", line 28, in run
    section_name, "saml.session_duration"
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/configparser.py", line 818, in getint
    fallback=fallback, **kwargs)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/configparser.py", line 808, in _get_conv
    **kwargs)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/configparser.py", line 802, in _get
    return conv(self.get(section, option, **kwargs))
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/configparser.py", line 780, in get
    d = self._unify_values(section, vars)
  File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/configparser.py", line 1146, in _unify_values
    raise NoSectionError(section) from None
configparser.NoSectionError: No section: 'profile pinpt'```

This error technically happens if you lack a config file and don't provide session duration, IDP ARN, and role ARN as CLI parameters.
Session duration ought to be optional, so I'll keep the issue open to fix that.

I believe PR #14 made the session duration optional.


Support searching for todos whose bodies contain a given string

Implement an api\todos?status=contains=banana endpoint which lets you search for to-dos whose bodies contain (anywhere) the given strong (in this case "banana")

I think your example API string is broken in a couple of ways. You have backslash (\) when you should have forward slash (/), and I don't thing status=contains=banana is right (or makes a lot of sense).


Minimal runnable example

@timothee-haudebourg Thanks for putting this together!
It took me a bit of work to get the example in the readme working/modernized.  If I did this in a reasonable way I'd be happy to make a PR for updating the readme example with this code.
https://github.com/mattcollier/jsonld-rust-db/blob/main/src/main.rs

I have updated all the examples and tests in the latest version. Thanks anyways :smile:


Protocol: Keep listener listening if we don't trust the upstream address

This PR is designed to prevent listeners being stopped when an error is returned, if the upstream connection address is not trusted (ErrInvalidUpstream). Instead, we continue to close the connection but now the Accept method has a for loop to continue looking for other connections to accept.
In using this library we discovered that the listener Accept method returning an error caused the listener to be closed and never reopened when trying to serve HTTP endpoints.
The change was based on github.com/armon/go-proxyproto/ which does something similar with the loop and checking for a particular type of error.
Notes:
See: net/http/server.go => Serve(l net.Listener)
https://cs.opensource.google/go/go/+/master:src/net/http/server.go;l=3333-3351
rw, err := l.Accept()
if err != nil {
	if srv.shuttingDown() {
		return ErrServerClosed
	}
	if ne, ok := err.(net.Error); ok && ne.Temporary() {
		if tempDelay == 0 {
			tempDelay = 5 * time.Millisecond
		} else {
			tempDelay *= 2
		}
		if max := 1 * time.Second; tempDelay > max {
			tempDelay = max
		}
		srv.logf("http: Accept error: %v; retrying in %v", err, tempDelay)
		time.Sleep(tempDelay)
		continue
	}
	return err
}

Above we end up returning the err at the end, which stops the Serve method (so prevents us listening).

Can you, please, rebase?

Can you, please, rebase?

@pires done now, thanks.

coverage: 94.924% (-0.2%) from 95.119%
when pulling 956f8fea1341c4f082a21d226d434a5e48999340 on peteski22:peteski22/dont-error-listener-on-invalid-upstream
into b718e7ce4964b060fd3ccc090b58cb74e1857c32 on pires:main.

@pires any chance for merging this one?

Sorry for the delay. Can we have some tests proving the changes work as expected?

@pires no worries, I've added a test to show the listener stays open when experiencing the invalid upstream error but closes on others.

@pires there doesn't seem to be any issues now other than linting which this PR didn't introduce. Would you consider merging it? 🙏🏼

https://github.com/pires/go-proxyproto/pull/117/#issuecomment-2399563695

Unfortunately, your PR history can't be rebase due to conflicts. I've fixed them but would like for you to re-author the commit so get proper recognition 🙏🏻 #117

Hi @pires thanks for the message, it's much appreciated. I've rebased everything from upstream/main now so I'm hoping it should look right and this PR can be merged now? 🤞🏼

Superb! Thanks a ton.
Closes #117


FR: Change file type

Would like to save transparent PNG as JPEG with a custom background color.

That's already possible, there's a bgColor config setting that can be used to specify the background color when converting from a transparent format to a non-transdparent one.


Playcanvas 1.62 breaks the shader

Hi,
Thanks for your great Playcanvas shader.
With last version of Playcanvas, 1.62, and their new Shader chunk system, your shader is broken.
Any chance to have a look ?
Thanks

That issue has been fixed, you can get the latest file and use it @vogloblinsky


change css style

I have used your widget, and sure it's nice. But the default font style like font-color, font-family is not suitable to my blog's theme. Can you provide an improvement so that we can write the css freely.

you can see the readme file the customize part.

See 2.0.* version.


Added a new test on packet reordering

I suppose this two parts run on one machine, and on remote side some YANFF forwarding works? If so, maybe add file for remote side for completeness of test?

The test may be used in any way with YANFF or Linux kernel between send and recv. I used this test to compare YANFF NAT with Linux kernel masquerading. So the middle program is arbitrary, whatever you think requires testing.

Should we add run of this test to stability.json? Everything in stability directory is running via this file now. Approved.

I don't have a scenario for this test to run, that is why I didn't make a framework config file for it.


Handle changing clip delegates

Turns out that previously we weren't updating the clip if the layout
didn't change, even if the delegate was different.
this was found by customer:pink


Feature/more parameters

To resolve

#130

Reduce repetitive work by adding parameters to multiple functions.
According to Gradio components documentation, parameters have different values before and after "Gradio pre-processing".
Tried to resolve by adding two data classes for before and after Gradio pre-processing.

Tested and confirms that works fine


Add stepped volume to demo

Description:
Add ability to step volume on some of the media_player demos. It's nice to use for testing things out.
Example entry for configuration.yaml (if applicable):
media_player:
  playform: demo

Checklist:

[X] The code change is tested and works locally.
[X] Local tests pass with tox. Your PR cannot be merged unless tests pass
[X] There is no commented out code in this PR.
[X] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] ~The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.~
[ ] ~New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.~
[ ] ~Untested files have been added to .coveragerc~

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

Funnily this is already mostly tested since tests for demo media player rely on fallback up/down code using volume_set


[Docs]: update Translation Guide

what's wrong in the documentation?
We need to update the translation guide.
Need to change

remove yarn & add pnpm also remember to follow the contributing.md file
add fork image
remove unwanted texts etc.

Add screenshots
Image 1

Image 2

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi @priyankarpal , Could you assign the issue to me to work on further

Sure work on it

Completed. Thanks for your contributions 🎉 ❤


[FCE-804] Add branded IDs for peers and tracks

Description
Instead of strings, our IDs can be defined as branded types. This way it won't be possible* to use Track ID instead of Peer ID in typescript code
*ok, it would be possible if someone does not care about proper TS
Motivation and Context
This change should make our API less error prone
How has this been tested?
App is still passing CI checks
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to
not work as expected)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Screenshots (if appropriate)

It is rather small breaking change. You can still assign branded type to string. So in 90% of existing cases, this will not break a code.