Adding target support to cargo package and cargo publish

Fixing Issue #4012
Same as #4077 but couldn't reopen the PR due to force push after rebasing from master

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

r? @alexcrichton

@bors: r+
Looks great to me, thanks!

:pushpin: Commit 319345f has been approved by alexcrichton

:hourglass: Testing commit 319345fb9b4a20e689a8b7d41a4bc7071cecbe10 with merge 12770c1e5438e193ef83fa8bed397f7400490722...

:broken_heart: Test failed - status-travis

@alexcrichton is extern crate url; not required?

Looks to be so!

Sending the updated commit in a bit after tests pass

@bors: r+

:pushpin: Commit 0a4e04c has been approved by alexcrichton

:hourglass: Testing commit 0a4e04ca573f29b516130e22ac71f398bbcbf3fb with merge b52468241e02d22561a2b6e27e4e18fc65d7f3a6...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing b52468241e02d22561a2b6e27e4e18fc65d7f3a6 to master...


fix: :bug: update install scripts

Remove -b v2 from the git clone command and update the Extensions folder path.

@jpedroschmitz


porch: packagevariant bug "Internal error occurred: error applying patch: conflict: fragment line does not match src line"

See https://github.com/kptdev/kpt/discussions/4110
cc @SamarSidharth

Hi @johnbelamaric,
Is there any workaround for this issue or an alternative way to update a published package managed by package variant
Thanks a lot for your time and efforts

Ok, so I pulled down your package and pasted in the pipeline, I get this trying kpt fn render on the CLI:
jbelamaric@jbelamaric-glaptop:~/Downloads/nrf_2/nrf$ kpt fn render
Error: Kptfile at "/home/jbelamaric/Downloads/nrf_2/nrf" can't be read.

Details:
yaml: unmarshal errors:
  line 9: field pipeline not found in type v1.PackageInfo

Looking at the Kptfile, pasting in your exact snippet from above, I get that result. The problem is that the pipeline stanza is indented under info and should not be. Using the below Kptfile instead, which just un-indents pipeline, the kpt fn render works.
apiVersion: kpt.dev/v1
kind: Kptfile
metadata:
  name: nrf
  annotations:
    config.kubernetes.io/local-config: "true"
info:
  description: sample description
pipeline:
  mutators:
  - configMap:
      by-path: spec.kubeConfig.secretRef.name
      put-value: cluster2-kubeconfig
    image: gcr.io/kpt-fn/search-replace:v0.2.0
    selectors:
    - kind: HelmRelease

So, can you try that and see if it fixes the problem? If so, then the primary issue is in our error handling we should have rejected the package with an appropriate message.

Thanks a lot @johnbelamaric, I will test and let you know

Hi John, I had a look at the upstream kptfile and it doesn't contain the pipeline keyword initially as it is added by the packagevariant.

The packagevariant is created successfully and the package is published.
Update the values in the pipeline mutator function of the package variant created in step 1, this triggers the creation of new package from the already published package. --> The failure happens at this step, also one more point to note is that it worked well few times the new packagevariant was getting created in draft when the package variant was editted.

Controller logs:
0c7fbe386b", resources unchanged
I0122 10:11:22.726279       1 packagevariant_controller.go:826] PackageVariant "nrf-india-nif", PackageRevision "downstream-nif-5200b69beade9e7a0ceaa9499cc45e0c7fbe386b", resources unchanged
I0122 10:12:15.184284       1 packagevariant_controller.go:819] PackageVariant "nrf-india-nif", PackageRevision "downstream-nif-5200b69beade9e7a0ceaa9499cc45e0c7fbe386b", resources changed: "Kptfile" different
I0122 10:12:15.184335       1 packagevariant_controller.go:413] package variant "nrf-india-nif" needs to mutate to package revision "downstream-nif-5200b69beade9e7a0ceaa9499cc45e0c7fbe386b", creating new draft
I0122 10:12:15.184350       1 packagevariant_controller.go:637] package variant "nrf-india-nif" is creating package revision ""
E0122 10:12:15.248538       1 packagevariant_controller.go:417] package variant "nrf-india-nif" failed to copy "downstream-nif-5200b69beade9e7a0ceaa9499cc45e0c7fbe386b": Internal error occurred: error applying patch: conflict: fragment line does not match src line

Packagerevisionresources output of the published package:
apiVersion: porch.kpt.dev/v1alpha1
kind: PackageRevisionResources
metadata:
  creationTimestamp: "2024-01-22T08:28:37Z"
  name: downstream-nif-5200b69beade9e7a0ceaa9499cc45e0c7fbe386b
  namespace: nrf
  resourceVersion: 396729c2ab1bf82a503a58c71cb825b9347b08a4
  uid: uid:nrf-india:packagevariant-1
spec:
  packageName: nrf-india
  repository: downstream-nif
  resources:
    Kptfile: |
      apiVersion: kpt.dev/v1
      kind: Kptfile
      metadata: # kpt-merge: /nrf-india
        name: nrf-india
        annotations:
          config.kubernetes.io/local-config: "true"
          internal.kpt.dev/upstream-identifier: 'kpt.dev|Kptfile|default|nrf-india'
      upstream:
        type: git
        git:
          repo: https://gitlab.tech.orange/asc/rom-nif.git
          directory: nrf
          ref: nrf/upstream
      upstreamLock:
        type: git
        git:
          repo: https://gitlab.tech.orange/asc/rom-nif.git
          directory: nrf
          ref: nrf/upstream
          commit: 46c69c01313f32530b8b9ea54f0b3514e59781bf
      info:
        readinessGates:
        - conditionType: config.injection.ConfigMap.nrf-overrides-values
        description: sample description
      pipeline:
        mutators:
        - name: PackageVariant.nrf-india-nif..0
          image: docker.io/uemk/replace-by-paths:v0.1.0
          configMap:
            spec.chart.spec.version: 0.2.7
            spec.kubeConfig.secretRef.name: free5gc-cluster
            spec.targetNamespace: nrf
          selectors:
          - kind: HelmRelease
        - name: PackageVariant.nrf-india-nif..1
          image: docker.io/uemk/replace-by-paths:v0.1.0
          configMap:
            metadata.name: nrf
            spec.url: https://raw.githubusercontent.com/Orange-OpenSource/towards5gs-helm/main/repo/
          selectors:
          - kind: HelmRepository
      status:
        conditions:
        - type: config.injection.ConfigMap.nrf-overrides-values
          status: "True"
          message: injected resource "nrf-overrides" from cluster
          reason: ConfigInjected
    README.md: |
      # nrf

      ## Description
      sample description

      ## Usage

      ### Fetch the package
      `kpt pkg get REPO_URI[.git]/PKG_PATH[@VERSION] nrf`
      Details: https://kpt.dev/reference/cli/pkg/get/

      ### View package content
      `kpt pkg tree nrf`
      Details: https://kpt.dev/reference/cli/pkg/tree/

      ### Apply the package
      ```
      kpt live init nrf
      kpt live apply nrf --reconcile-timeout=2m --output=table
      ```
      Details: https://kpt.dev/reference/cli/live/
    base/namespace.yaml: |
      apiVersion: v1
      kind: Namespace
      metadata: # kpt-merge: /nrf
        name: nrf
        annotations:
          internal.kpt.dev/upstream-identifier: '|Namespace|default|nrf'
    kustomization.yml: |
      apiVersion: kustomize.config.k8s.io/v1beta1
      kind: Kustomization
      resources:
      - ./base/namespace.yaml
      - nrf-overrides-cm.yaml
      - nrf-helmrepository.yml
      - nrf-release.yaml
    nrf-helmrepository.yml: |
      apiVersion: source.toolkit.fluxcd.io/v1beta2
      kind: HelmRepository
      metadata: # kpt-merge: nrf/nrf-test
        name: nrf
        namespace: nrf
        annotations:
          internal.kpt.dev/upstream-identifier: 'source.toolkit.fluxcd.io|HelmRepository|nrf|nrf-test'
      spec:
        interval: 1m0s
        url: https://raw.githubusercontent.com/Orange-OpenSource/towards5gs-helm/main/repo/
    nrf-overrides-cm.yaml: |
      apiVersion: v1
      kind: ConfigMap
      metadata: # kpt-merge: nrf/nrf-overrides-values
        name: nrf-overrides-values
        namespace: nrf
        annotations:
          kpt.dev/config-injection: required
          internal.kpt.dev/upstream-identifier: '|ConfigMap|nrf|nrf-overrides-values'
          kpt.dev/injected-resource: nrf-overrides
      data:
        nrf-values.yaml: |
          nrf:
            readinessProbe:
              initialDelaySeconds: 0
              periodSeconds: 1
              timeoutSeconds: 1
              failureThreshold: 100
              successThreshold: 1
            image:
              tag: latest
              pullpolicy: IfNotPresent
            resources:
              requests:
    nrf-release.yaml: |
      apiVersion: helm.toolkit.fluxcd.io/v2beta1
      kind: HelmRelease
      metadata: # kpt-merge: nrf/nrf
        name: nrf
        namespace: nrf
        annotations:
          internal.kpt.dev/upstream-identifier: 'helm.toolkit.fluxcd.io|HelmRelease|nrf|nrf'
      spec:
        chart:
          spec:
            chart: free5gc-nrf
            interval: 5m
            sourceRef:
              kind: HelmRepository
              name: nrf
              namespace: nrf
            version: 0.2.7
        kubeConfig:
          secretRef:
            name: free5gc-cluster
        install:
          createNamespace: true
          crds: CreateReplace
          remediation:
            retries: 1
        interval: 5m
        storageNamespace: nrf
        targetNamespace: nrf
        upgrade:
          crds: CreateReplace
          remediation:
            retries: 1
        valuesFrom:
        - kind: ConfigMap
          name: nrf-overrides-values
          valuesKey: nrf-values.yaml
          optional: true
    package-context.yaml: |
      apiVersion: v1
      kind: ConfigMap
      metadata: # kpt-merge: /kptfile.kpt.dev
        name: kptfile.kpt.dev
        annotations:
          config.kubernetes.io/local-config: "true"
          internal.kpt.dev/upstream-identifier: '|ConfigMap|default|kptfile.kpt.dev'
      data:
        name: nrf-india
        package-path: nrf-india
  revision: v1
  workspaceName: packagevariant-1
status:
  renderStatus:
    error: ""
    result:
      exitCode: 0
      metadata:
        creationTimestamp: null

Thanks. So, yes, definitely a bug, and I don't know of a workaround.
This error comes from here:
https://github.com/nephio-project/porch/blob/main/pkg/engine/patchgen.go#L118
which in turn is getting it from:
https://github.com/bluekeyes/go-gitdiff/blob/master/gitdiff/apply_text.go#L130
So, my suspicion is that patchgen.go is producing an invalid patch somehow. It may be there is a simple fix in there somewhere; or perhaps we are using an older version of that library and an update would help. I am not sure.
Now, in #450 I describe eliminating the "tasks" code. This would make this bug obsolete. Right now, I suspect "clone" is replaying all the tasks - I think that's where patchgen.go comes in. If we stopped doing that, and simply copied the package as-is, this would be a lot simpler and the problem would go away.

Same root cause as https://github.com/nephio-project/nephio/issues/604

Triaged
Triage Comment: To do with tasks in Porch, could be difficult to fix

Closed https://github.com/nephio-project/nephio/issues/604 as it is a duplicate of this.
Original issue URL: https://github.com/kptdev/kpt/issues/3694
Original issue user: https://github.com/johnbelamaric
Original issue created at: 2022-12-14T21:37:36Z
Original issue last updated at: 2022-12-14T21:41:23Z
Original issue body: ### Expected behavior
rpkg edit creates a new draft package
Actual behavior
ubuntu@nephio-poc-004:~$ kpt --kubeconfig ~/.kube/nephio.config alpha rpkg edit edge-1-03644cdb5e035f49d209641a1763704042546aa2 -n default --workspace v3
Error: Internal error occurred: error applying patch: conflict: fragment line does not match src line
ubuntu@nephio-poc-004:~$ kpt --kubeconfig ~/.kube/nephio.config alpha rpkg edit edge-1-03644cdb5e035f49d209641a1763704042546aa2 -n default
Error: --workspace is required to specify downstream workspaceName
ubuntu@nephio-poc-004:~$

Information
ubuntu@nephio-poc-004:~$ kpt --kubeconfig ~/.kube/nephio.config alpha rpkg list
NAME                                                        PACKAGE                  WORKSPACENAME         REVISION   LATEST   LIFECYCLE   REPOSITORY
...snipped...
edge-1-03644cdb5e035f49d209641a1763704042546aa2             free5gc-operator         packagedeployment-1   v1         true     Published   edge-1
...snipped...
ubuntu@nephio-poc-004:~$

Note that this revision v1 from repo https://github.com/nephio-test/nephio-poc-004-edge-1

Steps to reproduce the behavior


Add testing infrastructure

Problem
It is useful to have some sort of testing harness, so that users can quickly test parts of their program without manually modifying Prover.toml each time.
Solution
A solution would go something along the lines of:

Having a test attribute
Possibly also including a Prover structure and a Verifier structure to replace the prover.Toml
The Prover structure is simply a dictionary of values which we use to call a particular function

Alternatives considered
(Describe any alternative solutions you have considered.)
Additional context
This is a tracking issue and will be used to collect discussion points on this.

perhaps we can add a nargo test command which with no arguments could automatically run all functions marked #[test]. Optionally we can allow it to be given the name of a function to run (along with its arguments?) to run that function specifically. For example nargo test main(2, 3) or nargo test array_add1([1, 2, 3]. On success it prints the result of the function and failure occurs when a constrain is known to fail.

nargo test sounds good I think.
The only obstacle is providing arguments to the test functions in a ux friendly way.
We could create a prover.test.yaml file (I'm not a fan of this) or we could find a way to inline the values that we want to use to call functions in the test function.

@jfecher I think we can do the following for now:
fn add(x : Field, y : Field) -> Field {
   x + y
}

#[test]
fn test_add() {
constrain add(1,2) == 3;
}

#[test]
fn test_add_zero() {
constrain add(0,0) == 0;
}

Gets translated into:
fn main() {
test_add();
test_add_zero();
}

ie we collect all functions marked with the test attribute, create a main function and call each of those functions.

I'm thinking if we collect all of them into one main then we cannot issue which test failed if a constraint fails to verify.
It'd be more clear and I think not too much more difficult if we treated each of these functions as a separate main and looped through them all, proving and verifying each sequentially. That way when one fails we always know which one.

I'm thinking if we collect all of them into one main then we cannot issue which test failed if a constraint fails to verify.
It'd be more clear and I think not too much more difficult if we treated each of these functions as a separate main and looped through them all, proving and verifying each sequentially. That way when one fails we always know which one.

I agree -- sounds good to me. This way would also open up the opportunity to run them in parallel, this was discussed with @vezenov last week.
(We won't be able to run them in parallel now, due to Barretenberg having problems with being externally multithreaded, but this does not invalidate the argument)

Tracking issue:
An idea by @cheethas is to have values passed to the testing functions which are randomly generated.
#[test]
fn test_add_zero( y : u32) {
   constrain add(0,y) == y;
}

The above code would generate a random value for y each time the test is ran for fuzzing.
This would be added in a later iteration. If we close this issue, we can open another one with this idea.

Since this is not something rust supports, I think we should open a new issue for the random values and keep this initial PR a bit smaller

Since this is not something rust supports, I think we should open a new issue for the random values and keep this initial ~PR~ issue a bit smaller.

Since this is not something rust supports, I think we should open a new issue for the random values and keep this initial ~PR~ issue a bit smaller.

I agree, once this is closed, I'll open a new issue


Wording suggestions for line optimization

While reading the doc for the line optimization mod, it seemed to me that the wording could be improved in a few places.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks!


Documentation for deployment.

It would be great if you have some documentation for the deployment steps in heroku as well as in own server.

We added heroku to the docs.  We need to add more, but I'm going to close this for now.


Add favicons for all devices

Add custom favicon that supports desktop, tablet, mobile (android and iOS).

Completed.


virtual terminal input should be read, not write?

Did you mean ReadFile and ReadConsole here?
ENABLE_VIRTUAL_TERMINAL_INPUT 0x0200 | Setting this flag directs the Virtual Terminal processing engine to convert user input received by the console window into Console Virtual Terminal Sequences that can be retrieved by a supporting application through WriteFile or WriteConsole functions.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 34ea4fba-5919-fff6-9941-f213a557c651
Version Independent ID: 5c22080b-6969-4721-5e5c-40c348680701
Content: SetConsoleMode function - Windows Console
Content Source: docs/setconsolemode.md
Product: console
GitHub Login: @miniksa
Microsoft Alias: miniksa

Whoa. Yes I did. Thanks!


Update Issue - Automate_undefined_22551

default description

Property
Value

Browser
Chrome 100.0

Operating System
Windows 10

Resolution
1280x588

Screenshot Attached
Screenshot URL

Updated Screenshot Attached


Limits being called "exceeded" when being hit exactly

I'm using the PubSub library, which is failing with the following error:
Unhandled rejection Error: The number of elements 1000 exceeds the limit 1000
    at BundleExecutor.schedule ([project_directory]\node_modules\google-gax\lib\bundling.js:354:14)
    at [project_directory]\node_modules\google-gax\lib\bundling.js:474:20
    at Canceller.call ([project_directory]\node_modules\google-gax\lib\api_callable.js:110:19)
    at Bundleable.call ([project_directory]\node_modules\google-gax\lib\bundling.js:473:12)
    at [project_directory]\node_modules\google-gax\lib\api_callable.js:356:17
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

It seems to me that either the word "exceeds" should be changed, or the checks at bundling.js:344 and bundling.js:347 should be changed from >= to >.

@jmuk what do you think?

Just incase anybody sees this issue before a fix is merged, a working fix is to set a batching message limit for publisher:
const publisher = topic.publisher({
    batching: {
        maxMessages: 999
    }
});

Is there a eta on a fix?
I just ran in to this and @funkswing's fix works 👌

@alexander-fenster Any updates on this?

I threw up a PR that implements @funkswing's changes + one change to accommodate this in the tests. Not quite sure why this hasn't been looked at since it was flagged as P2 and assigned to someone in late May @JustinBeckwith.


Add meaningful sign up page titles (#4000)

FRONTEND PULL REQUEST
Related Issue
Resolves #4000
Changes Proposed
This PR adds meaningful sign up page titles for the various flows.
Additional Information
N/A
Testing

Navigate to /sign-up locally to see the page title is correct. (Might be hard to check some of the Experian flows 🤔)

Screenshots / Demos

Random: I wonder if we should update the copy now with multiplex 🤔

Design

[ ] Any UI/UX changes have a designer as a reviewer, and changes have been approved
[ ] Any large-scale changes have been deployed to test, dev, or pentest and smoke-tested by both the engineering and design teams

Content

[ ] Any content changes have been approved by content team

Support

[ ] Any changes that might generate new support requests have been flagged to the support team
[ ] Any changes to support infrastructure have been demo'd to support team

Security

[ ] Changes with security implications have been approved by a security engineer (changes to  authentication, encryption, handling of PII, etc.)
[ ] Any dependencies introduced have been vetted and discussed

Documentation

[ ] Any changes to the startup configuration have been documented in the README

Thanks Elisa, awesome work! Just one nit about imports 👍


[dbghelp] build failure

Host Environment

OS: Windows 10
Compiler: VS2015 with update 3

To Reproduce
Steps to reproduce the behavior:
./vcpkg install crashrpt
Failure logs
PS F:\vcpkg> .\vcpkg.exe install crashrpt                                                                               Computing installation plan...
The following packages will be built and installed:
crashrpt[core]:x86-windows -> 1.4.3

dbghelp[core]:x86-windows -> 0.0
libjpeg-turbo[core]:x86-windows -> 2.0.5#1
libogg[core]:x86-windows -> 1.3.4#3
libpng[core]:x86-windows -> 1.6.37#14
libtheora[core]:x86-windows -> 1.2.0alpha1-20170719#2
tinyxml[core]:x86-windows -> 2.6.2-7
wtl[core]:x86-windows -> 10.0.10077
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x86-windows...

CMake Error at ports/dbghelp/portfile.cmake:14 (message):
Portfile not yet configured for Windows SDK with version:
Call Stack (most recent call first):
scripts/ports.cmake:136 (include)

Error: Building package dbghelp:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: dbghelp:x86-windows
Vcpkg version: 2020.11.12-nohash
Additionally, attach any relevant sections from the log files above.
Additional context
Add any other context about the problem here, such as what you have already tried to resolve the issue.

@zh1an ，Can you provide us with your windows SDK version?

@JonLiu1993 Just now, I installed Windows Kits <IP_ADDRESS>.0.

I've installed Visual studio 2015 with update 3, WinDbg before.

@JonLiu1993 after I installed the Windows Kits 10.0.19041.0, I execute the command .\vcpkg.exe install dbghelp and failed.
PS F:\vcpkg> .\vcpkg.exe install dbghelp                                                                                Computing installation plan...
The following packages will be built and installed:
    dbghelp[core]:x86-windows -> 0.0
Detecting compiler hash for triplet x86-windows...
Could not locate cached archive: C:\Users\Zh1an\AppData\Local\vcpkg\archives\c4\c41fbe296732d62d2743fd693465a08809e75d67.zip
Starting package 1/1: dbghelp:x86-windows
Building package dbghelp[core]:x86-windows...
-- C:/Program Files (x86)/Windows Kits/10
CMake Error at ports/dbghelp/portfile.cmake:17 (message):
  Portfile not yet configured for Windows SDK with version:
Call Stack (most recent call first):
  scripts/ports.cmake:136 (include)

Error: Building package dbghelp:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: dbghelp:x86-windows
  Vcpkg version: 2020.11.12-nohash

Additionally, attach any relevant sections from the log files above.
PS F:\vcpkg>

@zh1an ,You need to install the windows SDK 10.0.18362.0 version, then use this website to download the debug tools, and then try again

@JonLiu1993 It's working. Thanks.


Massive reduction in performance after 1.5.0

Describe the bug
After the 1.5.0 release, there appears to have been a significant reduction in performance. For instance, here is the output of time bandit -r . using 1.4.0:
17.56user 2.12system 0:21.22elapsed 92%CPU (0avgtext+0avgdata 90712maxresident)k
182728inputs+0outputs (0major+45973minor)pagefaults 0swaps

And here it is with 1.5.0:
261.46user 3.96system 4:27.26elapsed 99%CPU (0avgtext+0avgdata 89164maxresident)k
362728inputs+0outputs (8major+45690minor)pagefaults 0swaps

To Reproduce
Steps to reproduce the behavior:

Run time bandit -r . within a medium to large-size project on 1.4.0
Note the time.
Run the same command again, but with bandit 1.5.0
Compare the two times. You should see a significant drop in performance

Expected behavior
Performance consistent or comparable with 1.4.0
Bandit version

bandit 1.5.0
  python version = 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0]

Worth noting this is also an issue in 1.5.1

It might be worth us putting in some debug timers on each plugin call to see if its any in particular that are causing the issue.

I don't see any possible solution to solve it.
If I'm not wrong the only changes was on:
For call.py file

'pickle', 'B301',
- 'dill.loads',
- 'dill.load',
- 'dill.Unpickler'
'md5', 'B303':
- 'hashlib.sha1',
- 'Crypto.Hash.SHA.new',
- 'Cryptodome.Hash.MD2.new',
- 'Cryptodome.Hash.MD4.new',
- 'Cryptodome.Hash.MD5.new',
- 'Cryptodome.Hash.SHA.new',
- 'cryptography.hazmat.primitives.hashes.SHA1'
'ciphers', 'B304':
- 'Cryptodome.Cipher.ARC2.new',
- 'Cryptodome.Cipher.ARC4.new',
- 'Cryptodome.Cipher.Blowfish.new',
- 'Cryptodome.Cipher.DES.new',
- 'Cryptodome.Cipher.XOR.new',
'tempnam', 'B325':
- 'os.tempnam'
- 'os.tmpnam'
'unverified_context', 'B323',:
- 'ssl._create_unverified_context'

For imports.py file

import_pycrypto', 'B413':
- 'Crypto.Cipher',
- 'Crypto.Hash',
- 'Crypto.IO',
- 'Crypto.Protocol',
- 'Crypto.PublicKey',
- 'Crypto.Random',
- 'Crypto.Signature',
- 'Crypto.Util'
'import_pycryptodome', 'B414':
- 'Cryptodome.Cipher',
- 'Cryptodome.Hash',
- 'Cryptodome.IO',
- 'Cryptodome.Protocol',
- 'Cryptodome.PublicKey',
- 'Cryptodome.Random',
- 'Cryptodome.Signature',
- 'Cryptodome.Util'

I also test the code with the commit https://github.com/PyCQA/bandit/commit/257b5ddafe9faf5d3c7a631aa7b8852d5c9f9521 the different is near to None
I realy don't know how to fix it. :(
Any idea??

Just wanted to add that there is still a significant reduction in performance with ANY of the tests under B303 enabled, not just the ones added in https://github.com/PyCQA/bandit/commit/85e5667ddbc271ff04d4233fb73d9ce16712e119. It seems to get better the more of those I comment out, but is still very slow in general.
With commented out lines in B303:
231.61user 0.15system 3:51.80elapsed 99%CPU (0avgtext+0avgdata 76112maxresident)k
0inputs+0outputs (0major+24931minor)pagefaults 0swaps

B303 Disabled:
15.70user 0.09system 0:15.84elapsed 99%CPU (0avgtext+0avgdata 74372maxresident)k
104inputs+0outputs (0major+21624minor)pagefaults 0swaps

Also, my original test was with the same version of python in two different versions of bandit, so it seems weird that this is an issue in python 2.7.

Hi,
I just came around this issue for similar problems, I'm extending the blacklists with more content and noticed that it the time skyrocketed, culprit being indeed the fnmatch definition and the calls to the re regex library:

Is there a strong rational for using regex here? Looking at the shipped blacklists, none seem to be using regex patterns.

A quick test I did was just changing
if name is not None and fnmatch.fnmatch(name, qn):

to
if name is not None and name == qn:

and I went from 14m48.641s to 0m20.871s while removing 1 false positive, given that it seems like regex matching should be optional and not the default? I will certainly monkey-patch the definition on our end.

FWIW fnmatch is not regex matching. That'd be via the re library, which allows for precompiled regexes (which would likely improve performance)

@Plazmaz : I might misunderstood what you just said but fnmatch is definitely regex matching: https://github.com/python/cpython/blob/e42b705188271da108de42b55d9344642170aa2b/Lib/fnmatch.py#L39 and it is also quite clear from the profile screengrab I posted.

Ah my bad, I didn't notice it used regex internally. I was looking at https://docs.python.org/2/library/fnmatch.html and figured it was just glob matching.

Yeah, nah :) It explains why it is uber slow.

I mean, it could precompile those regexes and it would probably help a lot.


Remove properties pushing errors to runtime

Fixes #141.

After discussion with @dzou , realized that the property is load bearing.


Filipino Translation Support for Leaflet Measure Plugin

Refer to the link for more Info:
Pull Request to plugin

Pull request has been merged. Time to implement it here.


[Question] Formio is cleaning the values of the disabled components when sending, how to fix it?

Please help me!!!
@travist @wag110894

@adhonay Can you elaborate? Please provide a minimal reproducible example rather than just a one sentence question in the title of the issue. Thanks!

Sorry about the way. @brendanbond
I can't send a simulation as they are custom components.
But I'll go into more detail:
I have a textfield field, which is disabled and initially with an empty value, and when receiving an event from the button, it makes the https request and fills it with the equivalent data.
I have a buttom that emits an event for the textfield.
So far so good, the problem is when I send the form, it automatically deletes the value that was filled in by the service request from text field 1.
I've looked at several things, and found some cases that the library apparently erases the values of disabled fields when sending, how could I ignore that?

@adhonay Could you please provide a jsfiddle example or form json so that we can reproduce and investigate the issue.

@HannaKurban  I understand, for me to be able to simulate the error, I need to be able to solve this doubt: #969
Because to simulate I need to disable a field that has value. Or insert a value in a disabled field. Remembering that value would be inserted via http request.
I couldn't find any example doing this. And I can't replicate my error, not even in the select component, which is the only one that makes the http request.

I discovered the solution, for every custom component, it was going through a generic method in the basecomponentformio, so I modified it for cases that are disabled.


yml standard indent is 2

😱 some of the indenting on yml just looks so odd with 4 spaces.

@rasmusjelsgaard I don't want to have to write indent rules for javascript, xml and anything else that should also use indent size of 2 :)
Even for PowerShell I think 4 is gratuitous


Custom manager support

There is an issue where if a custom Alamofire manager is set, it's not actually used for making the requests in Moya - the default Alamofire one is. This pull request features a test to exhibit this behaviour, and a fix to use the manager that's set on the MoyaProvider. Let me know if any further changes are required.

Huh, good catch! And a great test! Could you add an entry to the changelog?

Added it in, and merged to master. Thanks again!


deal with spam

https://forum.firestormforum.org/categories/8/threads/11#post-49
it was bound to happen sooner or later. I was hoping later. we should gather prior art / how other systems do this. I'm a fan of reverse captcha generally, maybe we just start with that?

I wish the Google reCAPTCHA was automatic. I was just in gmail, clicked a link to a forum, Google domain (gmail), plus another Google domain(reCAPTCHA), link this stuff and clear me straight away....

I've dealt with a small amount of spammy concerns, have a few suggestions:

Use Google Invisible Captcha (requires privacy policy update) on content-creation pages, including new post, new comment, new user account creation, etc etc. Log on your side whenever Google tells you an action failed the human-check so you can build a forum-specific "suspicious actions" dataset, such as spammy IP addresses, words or content, etc.

Log account creation stats - e.g. account_creation_ip, account_creation_country, for later use in identifying manually-created accounts that will later be used either by bots or humans. For example, users typically create either a post or a comment very soon after creating an account; bots either immediately spam or lie dormant.

Allow users to flag comments as spam, but as with any user-input, trust but verify.


Fix psr/simple-cache version constraint. Fixes #320

Widen psr/simple-cache version constraint to support 1.0|2.0|3.0.
Fixes #320

Sorry for the delay on this, will be merging and tagging early next week.

This actually causes an issue on PHP 8 as there is a method signature change

This actually causes an issue on PHP 8 as there is a method signature change

Hmm.. im using this in my composer.json
{
    "require": {
        "psr/simple-cache": "3.0 as 1.0",
    }
}

and not getting any errors from router or anything and i have error_reporting set to E_ALL and running PHP 8.1

What was the error? The logs for the tests have been removed already :\

What was the error? The logs for the tests have been removed already :\

locking dependency on 1.0 causes conflicts as a lot of packages have moved on to 3.0

So what's the plan for this @philipobenito, can't these other dependencies be updated/upgraded as well?

This actually causes an issue on PHP 8 as there is a method signature change

@philipobenito, sorry to push for this again, but can you elaborate, so we can move away from the 7-year old dependency?

@philipobenito I investigated it myself, and understand the issue now. To be able to fix this, support for PHP7 needs to be dropped, which is what #327 is about.

No takers?

Dealing with health issues, will get to it as soon as I can
Sent from Proton Mail for iOS
On Thu, Jan 26, 2023 at 07:42, Bart Vanderstukken @.***> wrote:

No takers?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Oh sorry to hear that, take care!

@philipobenito did you have a change to look at this?

any updates to this?

Handled this locally for 6.x release, I know it's been promised before, but coming early next week

Any update on this?

This has been updated in 6.x - it will be tagged with no public API changes, just improvements.
You can use dev-6.x for now, but will be tagged soon


inspector redis  not found

hello,
why my inspector redis not found? who can answer me ,thanks
the detail

please refer this issue #3656


Is there a way to expose ports from process isolated containers?

I am planning to run a web app. The requirement is to have process isolated containers. Is there a way to publish ports for --isolation=process?, so it is accessible outside of the docker host?
Simply running docker run -p 8000:8000 --isolation process does not expose it to the outside world

Hi, that's something you'd need to configure in your host's firewall. That's not a command you issue through docker, rather have a look at this example for how to do the next step.

Thanks, this worked. I wish it was documented more, I can't seem to find it anywhere, especially given that ports don't show up on tools like TCP view, this becomes very hard to debug.
Tested on windows datacenter 2022.
If you are trying this, you must make sure that:

You are exposing ports with -p command
Windows firewall IS ENABLED and has the edge-traversal rule ON (the same one as in example 7).

Ex 7:
New-NetFirewallRule -DisplayName "Allow TCP 12345 and 5000-5020 over Teredo" -Direction Inbound -Action Allow -EdgeTraversalPolicy Allow -Protocol TCP -LocalPort 12345,5000-5020 -Program "C:\Program Files (x86)\TestIPv6App.exe"


dns/dnscrypt-proxy: allow dns server port

We now have the dnscrypt proxy. great.
However, when setting it up i was trying to have this situation:

clients query the firewalls local dns server (for local domains and filtering etc etc, port 53)
if the firewall needs to resolve the query, it should use the dnscrypt server (localhost port 5353)

however in system/general/settings under networking - where we enter the general dns servers to use - we cannot specify the port.
this means i cannot have dnscrypt running on port 5353 and have the firewall use this proxy to resolve queries.

This can be closed as 1.1 supports static Servers?

Perfect, thanks!


cannot get rear port list if linked_peers is not empty

Hi,
TBH: I have no idea of golang but it seems like that this map isn't working if the link_peers is not empty.
https://github.com/exaring/bulk-loagen/blob/e9124de88e0538602165e6049fae0e5f235d84f0/pkg/bulkloagen/service.go#L118C25-L118C25
To reproduce just connect a circuitto the rear-port of a patchpanel so the the link_peers is filled and will cause bulk-loagen to respond with Cannot get rear port list: json: cannot unmarshal object into Go struct field RearPort.results.link_peers of type string

Unfortunately this is a bug / ongoing issue of the NetBox API schema generation and go-netbox client generation. The data types do not match in all cases. This specific bug can also be found here: https://github.com/netbox-community/go-netbox/issues/151.
Our solution is to patch the go-netbox client in the specific fields we have issues with. The proper solution would be to fix the schema generation completely in NetBox.
I will have a look if I can workaround this specific incorrect data type.


Update Upgrading measurement services.md

[x] This contribution adheres to CONTRIBUTING.md. (Required)
[ ]  Automatically post PR comments with images for G code changes? (Recommended for small changes)

What does this Pull Request accomplish?
Update path to refactoring tool
Why should this Pull Request be merged?
Accuracty
What testing has been done?
None. Documentation

Is misspelling accuracy in the PR description intentional. If so, well played.

Is misspelling accuracy in the PR description intentional. If so, well played.

Ha, no. But I'll leave it.


feat(NODE-6329): client bulk write happy path

Description
Implements the "happy path" for the new client bulk write in 8.0
What is changing?

Fixes issue in document sequence serialization to account properly for cstring names and the document length.
Adds handling of bulk write document sequences in command monitoring.
Adds a new client bulk write cursor response to handle top level metadata.
Adds a new client bulk write cursor that is always exhausted when used.
Implements MongoClient#bulkWrite and all associated model and return types.
Fixes the command builder to handle comments and collations on updates properly.
Adds _id generation to inserts in the command builder.
Handles both acknowledged and unacknowledged client bulk writes.
Implements client bulk write in the unified runner and runs happy path unified tests.

Is there new documentation needed for these changes?
None. Note release note highlights will be added on last ticket.
What is the motivation for this change?
NODE-6329

Double check the following

[x] Ran npm run check:lint script
[x] Self-review completed using the steps outlined here
[x] PR title follows the correct format: type(NODE-xxxx)[!]: description

Example: feat(NODE-1234)!: rewriting everything in coffeescript

[x] Changes are covered by tests
[ ] New TODOs have a related JIRA ticket

There's a small lint failure, we need to add the cursor to the list of public APIs. Quick question about didUpsert too

Yes that's fixed in the PR now.


Publish *.spkg during new releases

Publish *.spkg during new releases to allow import of Protobuf messages
substreams.yaml
imports:
  sink_kv: https://github.com/streamingfast/substreams-sink-kv/releases/download/v0.1.2/substreams-sink-kv-v0.1.2.spkg

modules:
  - name: kv_out
    kind: map
    inputs:
      - map: map_example
    output:
      type: proto:sf.substreams.sink.kv.v1.KVOperations

This is now automated.


[WIP] Support for Image Bytes

Usecase: Using images from File System or path_provider
Changes

Adds parameter in ExplodeView widget to supply Image Bytes.
Removes required annotation for imagePath.
Fixes: #3

@piedcipher, the code looks good to me.
Things need to be done:

Please format the explode_view.dart using flutter format .
Update the README.
Also, we can update one of the example images (in the example app) animation using this new feature.

@hemilpanchiwala Thanks for the feedback. I'll create an example. I didn't understand the 3rd point.

@piedcipher, for the 3rd point, I meant that in the example app, currently, all the three are asset images instead we can update one of the image to be animated with this new feature.

@piedcipher, Sorry for the delay!
I checked the example app locally but it seems to have some problems:

You have changed the icon from Swiggy to Google Chrome which shows two same icons which look odd (This will be a small change).
The main issue I see is that on long pressing the image disappear instead of shaking which needs to be updated as the other images (Adding a gif of this).

Cool, no problem.

I'll do the icon change.
Is this release build or debug? I have got a release build installed and it's working fine.

For 2nd issue, let me check again.

I've recently update flutter & android studio. Facing some null-safety error! lol

Fixed those.

Is this release build or debug? I have got a release build installed and it's working fine.

Here I was using an older build, 2nd issue still persists. I'll debug it.

Any updates, @piedcipher?

I was busy since past few days. I'll check now.

I've fixed the first issue i.e. displaying swiggy icon.
For second issue I'm not sure what's going wrong. I tried using FlutterLogo & Image.asset in-place of Image.memory and it worked fine. But Image.memory seems like the issue to me.


Angular and React accepts different types for Hero.iconSize

Describe the bug
Angular: 'small' | 'normal' | 'large' | number;
React: number
What is the expected behavior?
I think they should match.

Define the preset sizes and update React to add the preset sizes.


Any HTTPS Connection Blocked For Components

Home Assistant release with the issue:

0.83.3
Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.):

HassOS Via VirtualBox
Component/platform:

Nest
DarkSky
Description of problem:
Whenever attempting to integrate with Nest at our office location, I kept getting internal validation errors and noticed they had to do with HTTPS requests having errors. I also noticed that my DarkSky was having issues as well and dug around in the logs and found out that it was getting the same error about HTTPS connections.
I had these previously components/integrations working on a Raspberry Pi running HassOS at our office.  I now have the HassOS instance running in a VirtualBox with Bridged networking, allowing promiscuous mode, and have no issue accessing the Home Assistant via a HTTPS/SSL secured connection. I have already tried different DNS services on our office router, rebooting the HassOS instance to allow it to grab the new DNS servers with no change in errors. I don't use PiHole which I have seen people have issues with in the past. As stated before I used a Raspberry Pi with the same configuration a few weeks ago with no issue on this network and there are no blocked ports on our router.
I have another instance of Home Assistant running on a Raspberry Pi at our house, with the same Nest and DarkSky configuration as is being used at the office and the Nest and DarkSky both function without any issue at our house.
Any assistance would be awesome! :)
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

nest:
  client_id: XXXXXXX
  client_secret: XXXXXXXX

sensor:
  - platform: darksky
    api_key: XXXXXXXXXXX
    forecast:
      - 0
    monitored_conditions:
      - cloud_cover
      - temperature
    update_interval: '00:04'

Traceback (if applicable):
Dark Sky:
Unable to connect to Dark Sky: HTTPSConnectionPool(host='api.darksky.net', port=443):

Nest:
 File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='api.home.nest.com', port=443):

Additional information:

I'm running HassOS from the installation instructions. I can access a command prompt but I'm not sure how to test it. I tried telnet etc and it doesn't recognize them. As far as timing goes I can't find any setting to deviate from the host machine clock. Does that help?
Sent from my iPhone

On Dec 6, 2018, at 09:29, Charles Garwood<EMAIL_ADDRESS>wrote:
Can you access the nest or darksky websites over HTTPS on the VM HA is running on? If the clock is wrong that can also cause SSL failures.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Try it with wget -O - URLHERE

Unfortunately it says wget: not found
This is the only interface I have to interact with the VM.

On Dec 7, 2018, at 12:46 PM, Emil Stjerneman<EMAIL_ADDRESS>wrote:
Try it with wget -O - URLHERE
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/home-assistant/home-assistant/issues/19060#issuecomment-445327639, or mute the thread https://github.com/notifications/unsubscribe-auth/AKgdUX7_0Ea3gG-R1GD84gKbb_8SzDJPks5u2recgaJpZM4ZFwj9.

core-ssh:~# hassio --version hassio version 1.4.0 core-ssh:~# clear core-ssh:~# hassio --version hassio version 1.4.0 core-ssh:~# which wget /usr/bin/wget core-ssh:~#

I'm sorry I was trying to do this through the VM command line.  I used the terminal within Home Assistant and got the following results.  I tried multiple ways to address Nest's website and kept getting errors:
➜  ~ hassio --version
hassio version 1.4.0
➜  ~ which wget
/usr/bin/wget
➜  ~ wget -O - https://nest.com
--2018-12-10 10:05:00--  https://nest.com/
Resolving nest.com... failed: Try again.
wget: unable to resolve host address 'nest.com'
➜  ~ wget -O - http://nest.com
--2018-12-10 10:05:14--  http://nest.com/
Resolving nest.com... failed: Try again.
wget: unable to resolve host address 'nest.com'
➜  ~ wget -O - https://www.nest.com
--2018-12-10 10:05:26--  https://www.nest.com/
Resolving www.nest.com... failed: Try again.
wget: unable to resolve host address 'www.nest.com'
➜  ~ wget -O - http://www.nest.com
--2018-12-10 10:05:39--  http://www.nest.com/
Resolving www.nest.com... failed: Try again.
wget: unable to resolve host address 'www.nest.com'
➜  ~ wget -O - www.nest.com
--2018-12-10 10:05:52--  http://www.nest.com/
Resolving www.nest.com... failed: Try again.
wget: unable to resolve host address 'www.nest.com'
Am I trying the addresses incorrectly? (Sorry for sounding ignorant, I'm just learning as I go along :-))

Just did this on my Home instance, which is running on a Raspberry Pi instead on a VM, and it went through successfully. This appears to be tied to running a VirtualBox VM instance of HassOS....

Is this still an issue you are experiencing? Can you please try upgrading to the latest version of Home Assistant (0.90) and report back if this is still a problem? Thanks!


Preview .NET 7 compatibility

Day 1 compatibility with .NET 7
Describe the Enhancement
Evaluate .NET 7 early by using the preview version. This request is not the same as issue 525. Instead, focus on evaluating and implementing the changes needed for the .NET buildpack and tests by using the preview version that is available now so we can release .NET 7 buildpack support in November, shortly after 7 is released.
Possible Solution
Start a new branch that merges in the .NET 7 preview to confirm buildpack and sample compatibility with .NET 7
Motivation
It can take quite a while to support new versions. Let's get ahead of the curve to support users more quickly.

This has been done and implemented!


Commands I add not getting saved

I have seen my commands get saved but now they aren't getting saved and I've clicked on every save button I can find :)

still an issue?

?? close if not still relevant or add instructions to replicate if so..


timing out without cooperation

With FailSafe, shouldTimeout works only if callable sleeps but not in long loop.
With Guava's SimpleTimeLimiter, shouldTimeout2, it works with the long loop too.
Anything I am missing?
    @Ignore
    @SneakyThrows
    @Test(expectedExceptions = ExecutionException.class,
        timeOut = 1_100, // millis
        invocationCount = 10)
    public void shouldTimeout() {
        val timeout = Duration.ofSeconds(1);
        assertThat(Failsafe
            .with(Timeout
                .of(timeout)
                .withCancel(true)
                .onFailure(e -> log.debug("timed out {}", e)))
            .with(SCHEDULER)
            .getAsync(() -> {
                log.debug("executing");
                // ISSUE https://github.com/jhalterman/failsafe/issues/271
                // it works with sleep though
                // sleep(timeout.plusSeconds(1).toMillis());
                val startMillis = currentTimeMillis();
                do {
                    // just loop for 2 seconds
                } while (currentTimeMillis() - startMillis < 2_000);
                log.debug("returning exceeding timeout; interrupted {}",
                    currentThread().isInterrupted());
                return true;
            })
            .get(),
            is(true));
    }

    @SneakyThrows
    @Test(expectedExceptions = TimeoutException.class,
        timeOut = 1_100, // millis
        invocationCount = 10)
    public void shouldTimeout2() {
        val timeout = Duration.ofSeconds(1);
        assertThat(SimpleTimeLimiter.create(SCHEDULER)
            .callWithTimeout(() -> {
                log.debug("executing");
                val startMillis = currentTimeMillis();
                do {
                    // just loop for 2 seconds
                } while (currentTimeMillis() - startMillis < 2_000);
                log.debug("returning exceeding timeout; interrupted {}",
                    currentThread().isInterrupted());
                return true;
            }, timeout.getSeconds(), TimeUnit.SECONDS),
            is(true));
    }

If you strip away the testing framework stuff and just run these as standalone programs, both methods throw the expected exception, TimeoutExceededException (wrapped in ExecutionException) for the Failsafe Timeout case, and TimeoutException for the Guava TimeLimiter case. The difference is that in the Failsafe case, the task runs to completion in spite of the withCancel(true) call, and in the Guava case it does not, or rather appears not to.
As I wrote in this comment:

In general, Failsafe users should not expect timeouts to stop the execution of tasks. If you really want to ensure that tasks stop when they time out, you must carefully craft them to be cancellable.

In this case, for example, passing in the Failsafe execution context and checking that context periodically for cancellation would make the task more cancellation-responsive:

    .getAsync(ctx -> {
	log.debug("executing");
	val startMillis = currentTimeMillis();
	do {
	    // just loop for 2 seconds
	} while (!ctx.isCancelled() && currentTimeMillis() - startMillis < 2_000);
	log.debug("returning; cancelled {}", ctx.isCancelled());
	return true;
    })

It's notoriously difficult to simulate real work with spin loops, and it's hard to draw conclusions about what a spin loop is really doing. In the absence of blocking or synchronizing actions, the runtime environment can perform all sorts of optimizations that are hard to predict. I generated some truly bizarre results using the original version of shouldTimeout, replacing the logging statements with atomic increments of two AtomicLong variables: Even though both variables were incremented once in the for-loop, they would end up with different values!

Thanks for the prompt reply :)

I do not have control over the code run by the working thread -- it is some framework code -- hence I cannot put isCancelled or isInterrupted logic inside

I don't care about working thread continuing to work after timeout

I do care that the controlling thread gains control after timeout -- that does not happen with Failsafe but happens with Guava

Internally, Guava's TimeLimiter is just doing a timed Future.get and, if this times out, Future.cancel(true). In this particular (contrived) case, you can do the same thing with the CompletableFuture returned by FailsafeExecutor.getAsync.
More generally, however, you want to be able to have things like retries and circuit breakers without holding up Failsafe's execution with long-running tasks. Failsafe's Timeout policy can only be effective in such cases if tasks are cooperative.
Otherwise, and only if you are sure that you won't be accumulating too many unresponsive tasks, each tying up a thread, you can still make use of TimeLimiter, as with the following utility method (just an example, not the only way to do it):

/**
 * Wraps the given callable with a checked supplier that returns the wrapped callable's result if it completes
 * within the given timeout and returns the timeoutValue otherwise. Restores interrupt status and
 * returns timeoutValue if current thread is interrupted, and propagates exceptions thrown from callable.
 */
public static <T> CheckedSupplier<T> timeLimited(Duration timeout, T timeoutValue, Callable<T> callable) {
    return () -> {
	try {
	    return LIMITER.callWithTimeout(callable, timeout);
	} catch (TimeoutException ex) {
	    return timeoutValue;
	} catch (InterruptedException ex) {
	    Thread.currentThread().interrupt();
	    return timeoutValue;
	} catch (ExecutionException | UncheckedExecutionException ex) {
	    throw ex.getCause();
	}
    };
}

private static final TimeLimiter LIMITER = SimpleTimeLimiter.create(SCHEDULER);

This utility could be used to wrap your uncooperative tasks:
boolean timedOut = Failsafe.with(retryPolicy)
    .with(SCHEDULER)
    .getAsync(timeLimited(timeout, true /* timed out */, () -> {
	log.info("executing");
	long startMillis = currentTimeMillis();
	do {
	    // loop for 2 seconds, not responsive to interruption
	} while (currentTimeMillis() - startMillis < 2_000);
	log.info("did not time out");
	return false;
    }))
    .get();

But this is risky: If, for example, the underlying task just opens up a network connection and waits for data, then repeatedly retrying this task under a time limit could silently take down a raft of threads and other system resources.

@jhalterman I think this can be closed.


Auras for Inspire Courage and other Aura effects

Currently some Auras have configured Aura Rules, but said Auras do not automatically affect targets, even if there is no save/it only affects allies or willing targets.
Classically, this applies to Inspire Courage (but others too!), which could have the following aura rule:
{
  "effects": [
    {
      "affects": "allies",
      "events": [
        "enter"
      ],
      "uuid": "Compendium.pf2e.spell-effects.beReeFroAx24hj83"
    }
  ],
  "key": "Aura",
  "radius": 60,
  "slug": "inspire-courage-aura",
  "traits": [
    "emotion",
    "mental",
    "visual"
  ]
}

Is this just not-yet-implemented? If that's the case, we're happy to sit down and power through any friendly/non-save auras that need specifying.

It appears this is similar to Bless, where RAW it's not an aura but rather an emanation. That means it doesn't move after it's been cast.

Oh! I've been completing misreading it then. My bad.


Two questions about onnx models provided

How to get the right accuracy(70.9%) of mobilenet-v1 onnx int8 model(https://zenodo.org/record/2600560#.XTzMUehKguW) in mlperf inference benchmark?
After some necessary modifications of load(mainly background class shift and preprocessing method), we can only get the accuracy around 69.696% mostly (onnxruntime).
We tried several preprocessing methods which may meet 'subtract 128 and clip' as is described in readme, and still can't meet the expected accuracy.
some results of "subtract 128 and clip"in cv:https://paste.ubuntu.com/p/tk56b3TwYG/

The ssd-mobilenet int8 onnx model download link seems link to a tensorflow one
Wonder will there be any updates about the models later?

Just to be diligent. Please note that the link you posted is not "official," it is deprecated. The link to use is https://zenodo.org/record/3353417#.XTzNvOhKguU which replaces it.

Having said the above, the two models are supposed to be identical. @DilipSequeira assuming your team can help answer the above question since you folks provided the model. @guschmue copying you here as you might have some thoughts on this as well in cause you are using it internally?

@psyhtest thought you might have some thoughts here for the second question.

Regarding 1:
We're currently seeing 70.8140 with that model running through TensorRT with reference preprocessing. Unfortunately we don't have a version which can be used directly with ONNX runtime, but we're working on it - I'll let you know when I have an ETA.

Thank for reply and Sorry for not responding in time.

I saw these two models are same in shasum value.
In my attempt,

change the preprocess into a "fake" int8 version which may meet "subtract 128 and clip" int the readme file, like
`def pre_process_mobilenet_int8(img, dims=None, need_transpose=False):
print("\r pre_process_mobilenet_int8 ", static_count(1), end="")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
output_height, output_width, _ = dims
img = resize_with_aspectratio(img, output_height, output_width, inter_pol=cv2.INTER_LINEAR)
img = center_crop(img, output_height, output_width)
img = np.asarray(img, dtype='float32')
img -= 128.0
img = np.trunc(img)
img = np.rint(img)
transpose if needed
if need_transpose:
img = img.transpose([2, 0, 1])
return img`

add an fake onnruntime-int8 method

simply add an background score at the beginning of the predict result in mlperf, like
    results = self.model.predict({self.model.inputs[0]: img})  results[0]=np.insert(results[0],0,[0], 1)
Maybe there is something wrong in the preprocess or process.

Any way, I already completed the conversion of these two models from pb files to our framework temporarily, and get similar accuracy as expected.
I'll have a try on TercorRT later. Onnx is not the purpose, I only try to get claimed accuracy, since its accuracy is the highest on this part.

Thanks for your works:)


when i run the (roslaunch darknet_ros darknet_ros.launch) this error shown please give me advise!!!

Loading weights from /home/hp-robo/catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/weights/yolo-voc.weights...Done!
[ INFO] [1517904602.426531622]: [YoloObjectDetector] USB image received.
OpenCV Error: The function/feature is not implemented (Unknown/unsupported array type) in type, file /home/hp-robo/opencv/modules/core/src/matrix.cpp, line 2034
terminate called after throwing an instance of 'cv::Exception'
what():  /home/hp-robo/opencv/modules/core/src/matrix.cpp:2034: error: (-213) Unknown/unsupported array type in function type
[darknet_ros-1] process has died [pid 8529, exit code -6, cmd /home/hp-robo/catkin_ws/devel/lib/darknet_ros/darknet_ros __name:=darknet_ros __log:=/home/hp-robo/.ros/log/e2e45d24-0b12-11e8-a520-40b03449060a/darknet_ros-1.log].
log file: /home/hp-robo/.ros/log/e2e45d24-0b12-11e8-a520-40b03449060a/darknet_ros-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done

Do you have some idea about this issue? I met this question

hello, my fault is that "waiting for image" .Why I program can't receive the image?

i have the same problem. did u solve it?

@fikar24fikar @DanLiu0623 @xiachongkun Did y'all manage to solve the issue?

Hey I have similar problem? How did you solve it? @Alex-Beh Can you post steps?


Adds generic transport for ConnectionManager

The ConnectionManager no longer cares what protocol is used.

Coverage decreased (-0.51%) to 85.45% when pulling e643f4d1ab51691b05e515b73dfb7f0a0d465826 on inetic:master into b308275e6ae0a6f2d76dda4d5196c5b69035587c on dirvine:master.

Coverage decreased (-0.51%) to 85.45% when pulling fb9e05e390673e171b175ab6e6b487705ffbcdf7 on inetic:master into b308275e6ae0a6f2d76dda4d5196c5b69035587c on dirvine:master.

Coverage decreased (-0.43%) to 85.53% when pulling 8eb4d9539546edf3bb74d9a84a22d0f31d6f0b22 on inetic:master into b308275e6ae0a6f2d76dda4d5196c5b69035587c on dirvine:master.

Coverage decreased (-0.25%) to 85.71% when pulling 1cf49334e8f114c973055e65fae7fa227da1f18d on inetic:master into b308275e6ae0a6f2d76dda4d5196c5b69035587c on dirvine:master.

Can you please look at the conflicts.

Coverage decreased (-0.25%) to 85.71% when pulling 794e0d445b286de5b91942d0477e9d26bb965010 on inetic:master into 2fbc23f69a70d4bbefa0d7c78e49d1084ce2a189 on dirvine:master.


Updates for XGBoost / FIL examples

Updates required to support additional workflows, custom mortgage data, and FIL inference.

Looks good, will merge once the default hardware gets updated


Add option to create sources.msix file for private repo

Description of the new feature / enhancement
Would be nice to create my own repo with a simple command.
Plan to host repo on sourceforge.net (only supports PHP) so I think the REST option is not possible.
Need a new command to create sources.msix for use in private repo.
Proposed technical implementation details
wingetcreate cache --build --output=folder/path/sources.msix

I've tried to add "one" package to winget-pkgs and it's taking days.  Once I release and update dozes of packages that would be unacceptable slow :(

Building a PreIndexed source should support multiple packages which isn't something wingetcreate was designed to do. As they are MSIX packages, they would also require a certificate for signing. We can keep this issue open here for now, but it may get moved to another project depending on how we decide to implement something like this in the future.

I've created my own repo using the REST API instead.  I'll close this issue.
Thanks!


Fix failure to ignore TaskStatuses when the DefaultBlock is Complete

@mrbrowning:  Actually let me add a unit test.


Fixed build and packaging issues

This patch addresses some cross-building and packaging issues, including: #47, #199, #220, #224, #225, #242, and rust-pcap/pcap#290.
Changes:

The executables are now available for both 32-bit and 64-bit processors based on both x86 and ARM architectures.[^1]
The macOS package now contains a Universal-binary which is able to run on both Intel and Apple Silicon macs.
Due to cross-platform incompatibilities, the app is no longer dependent on the native SSL/TLS library ( libssl.so* ) and it utilizes the rust-tls instead.
The Windows executable now has an icon resource attached to it. This fixes the shortcut icons as well.
All packaging assets are now organized under resources/packaging/
The CI workflow is now split into a build and a packaging stage and the jobs on each side are processed simultaneously.
The packages will now provide a non-development dependency list.[^2]
The Windows installer now ~installs the Npcap automatically~ displays a notice about the need for manual Npcap installation and opens its official website for the user.

This approach is taken due to the license terms and policy of this library. (#47)

The Linux app doesn't require escalated permissions anymore and can run without sudo.

+ Some adjustments on PowerShell scripts, WXS template of WixToolset, info files, etc.
Hacks:

Since we build the app on an Ubuntu Server which utilizes the v0.8 of libpcap, the linker sets this version of the library ( libpcap.so.0.8 ) as the dependency of the ELF executable. That won't work on Redhat-based distros as they usually come with v1.x. Therefore, I've changed it to libpcap.so manually which is symlinked to the actual installed version.

I didn't use the same approach for the SSL/TLS library due to the adoption of various major versions among different *nix systems and considering many other developers who had difficulties in this area.

To-Do:

~Since the app doesn't have an icon in the Windows taskbar, I've tried to set the icon on the window settings of Iced, but I had to comment it out since it made the executable not work after compiling. I'm already in discussion with the Iced community to find a solution...~

The Linux app has the same problem, but I believe that's a different issue. Iced doesn't use the native Window Manager ( you cannot fetch its class by xprop WM_CLASS ), hence the StartupWMClass=sniffnet that I had set in the .desktop file wouldn't work.

There is a command-line window opening and closing quickly at the end of the Windows setup wizard since no other WixToolset feature for running commands quietly worked as expected. I'll provide a patch on this later when I figured it out.
The sample graphics used for the Windows installer should be modified. Since transparency is supported, I suggest the dialog background be limited to the left side only to follow the standards and fix the visual issues there. The same can apply to the banner image, traditionally only an icon was shown on the right side of it.
The EULA of the Windows installer is generated based on the project's licensing, yet could be revised by other contributors for more accuracy.

Known Issues:

The cargo bundle command carries out an unavoidable extra build since it doesn't come with a --no-build flag, unlike other packaging tools. (already sent a feature request)
The minimize and maximize buttons of the window don't work on macOS, and probably the Quit as well.

Tests
Other than the minor issues mentioned above, both the installer and the app are tested on a fresh installation of Debian, Ubuntu, and Fedora Linux distros as well as macOS and Windows 11. Feedback from other testers is highly appreciated!
Screenshots:

[^1]: macOS and Redhat-based Linux distros only support 64-bit CPUs, and since most Windows machines are using x86 CPU families, we only provide packages for them.
[^2]: Developers would need build-essential libfreetype6-dev, libexpat1-dev, libpcap-dev, libasound2-dev, libfontconfig1-dev packages on Debian-based distros and @development-tools, expat-devel, libpcap-devel, alsa-lib-devel, fontconfig-devel on Redhat-based distros in order to develop this app on Linux. But end users only require the non-development version of the dependencies: libpcap0.8, libasound2, libfontconfig1 for Debiab-based distros and libpcap, alsa-lib, fontconfig for Redhat-based.

A more in depth review will come soon.
If you make any change, please add commits without squashing.
Thank you so much for all the work!

A little recap: I've reviewed part of the PR but still a considerable part is missing and I'll do it in the next few days.
I've just opened a (still incomplete) issue to track all the missing steps related to packaging: #252
Since various problems are going to be solved by this PR, I'm looking forward to release a new version ASAP after merge (so don't worry to much about the other steps for the moment).
Thanks very much again 👍

It'll be merged in main soon.
It's just a matter of some more tests, (in this way I can run the workflow on dispatch 👍 )


Allow configuring the gas price

Alright, this is the last PR necessary to use the tool for a different network without forking it.
Thanks for all the quick reviews!

looks good!! thanks


Possible to detect local setting instead of Ngrok URL?

Was wondering if it's possible for the bluebubbles app to detect when the Mac server is local instead of using the Ngrok link which would possibly make it faster locally?

To clarify here, basically server detects that connected client(s) are on the same local network, and updates itself to use the local IP as the URL rather than ngrok (removing the middle man).
Another thing that might work is to make server accessible over ngrok and local IP at the same time

To clarify here, basically server detects that connected client(s) are on the same local network, and updates itself to use the local IP as the URL rather than ngrok (removing the middle man).
Another thing that might work is to make server accessible over ngrok and local IP at the same time

thank you, you said it much better!

@tneotia i think this would be a client issue, not a server issue. What he wants is to be able to have the app "scan" the local network for devices that could have BB running on it. To do that, you'll probably need to do something like the following:
https://stackoverflow.com/questions/67835616/flutter-dart-scan-local-network-to-get-ip-and-hostname-of-connected-devices
And check and see if they respond to requests on the default port (1234). If they do, then it's possible to connect. Once connected, it'll update with the ngrok URL from firebase since it would be difference from the localhost one it originally finds. It'll just need the user to type the password to connect, not the URL.


where is default_path variable?

I could not find in config.py.

Hi Branislav. I'm a bit confused about that as well. As well as what value we're supposed to put in there? I'd really like to use your app :) Thanks in advance!

Hello.
If you think default checkpoint for SAM path, it is called from here:
https://github.com/branislavhesko/segment-anything-ui/blob/496bef9ac7571edd9080def9816a8efc1f882093/segment_anything_ui/config.py#L35


Owntracks webhooks iOS getting 400 response

Home Assistant release with the issue:

0.83.2
Last working Home Assistant release (if known):
0.82 (Pre integration setup)
Operating environment (Hass.io/Docker/Windows/etc.):

Docker on Ubuntu 18.04
Component/platform:

https://www.home-assistant.io/components/owntracks/
Description of problem:
Owntracks not reporting location for iOS devices. The follow error is reported in the owntracks app
error The operation couldn't be completed (HTTP Response error 400.) {}
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
owntracks:

Traceback (if applicable):
2018-12-02 11:30:42 WARNING (MainThread) [homeassistant.components.owntracks] Set a username in Connection -> Identification
2018-12-02 11:30:44 INFO (MainThread) [homeassistant.components.http.view] Serving /api/webhook/[REDACTED] to 192.168.X.X (auth: False)

Additional information:
Currently being discussed by multiple users here https://community.home-assistant.io/t/owntracks-http-error-400/82202
I am also using Android and it is working perfectly.

I played around with it and I put my username at the end of the URL after the @ symbol.  This seemed to work:
https://:8123/api/webhook/@paul

Same issue here. Dug into the Python, and might have some clues for the code owner.
This is what is being supplied in header:
<CIMultiDictProxy('Host': '<redacted>', 'X-Forwarded-For': '<IP_ADDRESS>', 'Connection': 'close', 'Content-Length': '439', 'Content-Type': 'application/json', 'User-Agent': 'OwnTracks/9.9.3 CFNetwork/975.0.3 Darwin/18.2.0', 'Accept': '*/*', 'Accept-Language': 'en-us', 'Accept-Encoding': 'br, gzip, deflate', 'Authorization': 'Basic <redacted>==')>
This header is in response to some other data not being present:
if 'topic' not in message:
Sure enough, 'topic' is not in message:
{'_type': 'encrypted',  'data': '<redacted>'}

I hit this same issue.  Looks like the OwnTracks component is expecting to find the X-Limit-U and X-Limit-D headers:  https://github.com/home-assistant/home-assistant/blob/9aeb4892823ca95a2518dcabc915fc61582f96df/homeassistant/components/owntracks/init.py#L128
My Home Assistant install sits behind an nginx reverse proxy, so those headers weren't coming in.  The nginx example config for the OwnTracks Recorder project has this pointer:
# Optionally force Recorder to use username from Basic
# authentication user. Whether or not client sets
# X-Limit-U and/or uses ?u= parameter, the user will
# be set to $remote_user.
proxy_set_header        X-Limit-U $remote_user;

That's enough to work here, but then I just get device_tracker.matthew_matthew, since the OwnTracks HA component falls back to user for device name.
The Recorder documentation expects this for their own stuff (this isn't integrated with Home Assistant, but it's how they're handling their own HTTP communication):
The OwnTracks Recorder supports HTTP mode out of the box, as long as it is built with HTTP support and a --http-port is configured. When using the Recorder, the URL you specify in the app's configuration must include parameters for username and devicename (?u=user&d=device), alternatively using the X-Limit-U and X-Limit-D headers respectively. You can also force username using a proxy as described in the Recorder's documentation.
So I ended up mimicking that, with this in my nginx config:
proxy_set_header        X-Limit-U $arg_u;
proxy_set_header	X-Limit-D $arg_d;

And then appending ?u=matthew&d=myphonename to my webhook URL.  This shows up fine.
But the recent changes do seem to be missing some piping.  I'm not very familiar with the configuration/integration internals, but I kind of expect I would generate a unique webhook per name/device pair I wanted to track, and simply paste that in along with the libsodium key.
Failing that, changing away from basic authentication for username to the OwnTracks convention of username/device in the GET string is probably more resilient to reverse proxy setups.

I think I'm having the same issues as this ticket.  I added
proxy_set_header        X-Limit-U $arg_u;
proxy_set_header	X-Limit-D $arg_d;

Then ?u=raccettura&d=iphone
That resulted in a 200 response code from the webhook (improvement!) however I'm still not seeing HomeAssistant see a device, going into the integration shows no device and I don't see any device being tracked.

After a few tries i got it working with the help of the android app.
How to get it to work? trackerID=UserID
Works like a charm (but you only have 2 letters)

How did you get it to work just by having the same two letters in trackerID and UserID? Mine still just error 400 and in HA "Set a username in Connection -> Identification"

During testing, iOS did report topic as part of the message payload. The headers are sent by the Android app.

Could people report if setting tracker ID will result in the topic being set ?  Note that making any changes won't flush the old messages that iOS has queued up, so you might not see results right away.

I've got it set as well. Is there a way to dump/debug the payload?

Nothing built in but you can add a print(message) inside handle_webhook

@balloob I was able to intercept communications through nginx... turned off encryption and here's what i got:
{"batt":98,"lon":-00.0000,"acc":65,"p":1.12345,"vac":10,"lat":99.999,"topic":"owntracks\/raccettura\/XXXXXXXX-XXXX-XXXXX-XXXX-XXXXXXXXXX","t":"u","conn":"w","tst":1544374907,"alt":6,"_type":"location","tid":"1"}

@raccettura yeah, so you have a topic set, so yours works :) the integration tab does indeed not show any devices yet, that's for the future. You should see the device in known_devices.yaml.

In 0.84 I've made a change that we report to OwnTracks message processed correctly if it was incorrect. That will cause OwnTracks to drop it from their queue, giving room for new messages with topic to be correct.

84 beta 3 will include this fix.

Okay @raccettura, looks like you are in the wrong issue. This is an OwnTracks issue about using it via HTTP and webhooks.

oh, i thought the component was using http and sending it to mqtt, maybe i misunderstood it's intended behavior.

I checked again, there's no new entity in known_devices.yml to correspond with owntracks.


Fix typo messges -> messages

Most important place in an error message while using the app in wrapper.tsx

Ah damn I am terribly sorry for that one. I can amend @chrisnojima. Would love to have 1 commit with you guys ;)

Hey @chrisnojima so I force-pushed the amended commit. Let me know if that's fine or you need something else.

Avoiding Investment Scams: A Personal Testimonial
I stumbled upon an enticing investment opportunity on Facebook that promised substantial profits. I started with an investment of $300 and saw a 40% increase in just three days. Encouraged by this success, I invested an additional $5,000.
A week later, I managed to withdraw $2,500, which boosted my confidence. However, as I continued to invest, the company's responsiveness faded. My calls and emails went unanswered, and local police couldn't help as the company was based overseas.
Feeling hopeless, I was contacted by an inspector who recommended Asset Recover Net. I reached out to them and, incredibly, they recovered my entire loss of $290,000 within five days. My portfolio, which had nearly reached a million dollars, was also restored.


Hub specific configuration

Is it possible to have unique settings for each hue hub?

What kind of settings are you looking for?

I have non hue lights that I’d like to control via Homekit. One hue bridge could be configured with these lights and then shared through homebridge-hue. The other hubs would contain Hue lights and not share these with HomeKit. I don’t currently see a way to limit shared lights to only non-hue lights.
I also like the extended function of Hue smart buttons (long press) but would prefer if I didn’t have duplicates in homekit (one direct from Hue and one from homebridge-hue).

I don’t currently see a way to limit shared lights to only non-hue lights.

By default, Homebridge Hue doesn’t expose Hue devices on a gen-2 Hue bridge, that natively exposes these.  Set nativeHomeKitLights and/or nativeHomeKitSensors to false to change that.  See https://github.com/ebaauw/homebridge-hue/wiki/Configuration.

I also like the extended function of Hue smart buttons (long press) but would prefer if I didn’t have duplicates in homekit (one direct from Hue and one from homebridge-hue).

I cannot help you here.  The gen-2 Hue bridge exposes all (Friends-of-) Hue devices to HomeKit.  Remove the bridge from HomeKit if you don’t want that.

This is why settings unique to a specific hub would help. The following example is how I envision this working:
Hue Hub.1:
This hub is used for Hue lights and is directly linked to HomeKit. Homebridge-hue does not share these lights with HomeKit. Hub.1 also contains a number of smart buttons and other Hue UI devices. Since these UIs don’t act as ZigBee repeaters they’re connected to this hub to take advantage of the large number of hue bulbs supplying wireless coverage.
Hue Hub.2
This hub is used for non-hue lights. Hub.2 is not linked to HomeKit directly, but instead shares its non-hue lights through homebridge-hue.
————-
If hub specific configuration were possible, then the above example would configure 2 hue hubs in homebridge-hue. Hub.1 would not share lights, Hub.2 would share lights.
As an alternative, I could use some ZigBee repeaters to supply network coverage for UIs on Hub.2. If configured as above Hub.1 would be all hue lights and linked to HomeKit only. Hub.2 would contain non-hue lights and UIs. Hub.2 would not be linked to HomeKit directly. This alternative has the advantage of eliminating duplicate UI devices in homekit. I experimented with 2 hubs and found that homebridge-hue will not boot if an unlinked hue hub is found. It recursively restarts homebridge waiting for the button to be pressed on hub.
In conclusion, hub specific configuration would allow non-hue lights and other devices to be shared with HomeKit on one hub in a multi hub system without creating a bunch of duplicate lights.
The alternative of allowing homebridge to boot with unlinked hue hubs is also a workable solution with extra repeaters. This option has the advantage (for my install) of eliminating duplicate UI devices.

If hub specific configuration were possible, then the above example would configure 2 hue hubs in homebridge-hue. Hub.1 would not share lights, Hub.2 would share lights.

Please read what I’ve written before.  If you set lights and leave nativeHomeKitLights to its default value, Homebridge Hue will expose the non-Hue lights from both bridges, i.e. none from the one with only Hue lights, and all from the other.

The alternative of allowing homebridge to boot with unlinked hue hubs is also a workable solution with extra repeaters.

No it’s not; you will lose your HomeKit accessories if the bridge happens to be unavailable when starting Homebridge.  Set hosts to disable discovery and specify which bridge(s) to expose.  Again, see the Wiki.  Make sure your bridge has a fixed IP address, though.
I doubt it, but if you need more fine-grained control, create whitelist and/or blacklist resourcelinks on each bridge, to specify which resources Homebridge should expose.  See the README.


Prepare galaxy distribution

WIP

Renames the collection from edge to core
A few config changes for releasing to galaxy
Documentation added for releasing / installing the collection
Adds a new workflow for testing if a collection can be imported into galaxy

@coderabbitai review

@greptile-apps review

@coderabbitai review

@greptileai


More then the maximum allowed volume is possible

It is possible to go above the maximum allowed volume (e.g. 80%). If you press the "+" symbol slowly, not more than 80% can be reached. However, if you quickly increase the volume from e.g. 50% (press the "+" symbol several times very quickly), more than the maximum allowed volume is possible.

Should fixed in next release.


Review 3rd party API testing techniques

As we integrate with 3rd party services like Jira & Slack we want to make sure that our integration is reliable.
As a result of this ticket completion, we want to have documented 3rd party API testing approach we plan to use for Jira & Slack integration testing.

In Flank, I solved this by creating a mock server.
https://github.com/Flank/flank/blob/8861f7b9eb7ae46205326e8c4acf02e5331bd16c/test_runner/src/test/kotlin/ftl/test/util/MockServer.kt
That helps verify the API client is working as expected, without incurring the cost of talking to the real 3rd party service.

Hey @bootstraponline
I've analyzed different approaches in testing third party API today and reviewed one you mentioned (MockServer) - please see this document. It seems like the MockServer is a realization of fake service that consumes real HTTP requests (like 4th approach in document above). We can test our 3rd-party API integration using the same approach or combine it with others. Should we use any other methods?

Nice work writing up the document for testing third party APIs! I think we should adopt the 4th approach, real HTTP requests to a mock server.

Should we use any other methods?

I think this is sufficient for API testing.


Add support for Python 3.12

I noticed this is limited to Python < 3.12. Are there known issues currently?

https://github.com/jspaezp/ms2ml/pull/78
Fixed here


Add /cities/:cityid route

I'm hoping it would be an easy add to get the info that shows up for this request:
https://api.helium.io/v1/cities?search=toronto
{
  "data": [
    {
      "short_state": "ON",
      "short_country": "CA",
      "short_city": "Toronto",
      "online_count": 956,
      "offline_count": "166",
      "long_state": "Ontario",
      "long_country": "Canada",
      "long_city": "Toronto",
      "hotspot_count": "1122",
      "city_id": "dG9yb250b29udGFyaW9jYW5hZGE"
    }
  ]
}

to show up for a specific city ID (rather than a search term), something like:
https://api.helium.io/v1/cities/dG9yb250b29udGFyaW9jYW5hZGE
(and also maybe all the "count" fields could all show up as integers instead of strings, to keep things consistent)
The use case I'm thinking of is a view in Explorer for each city, where it could show some of the basic statistics of the city when you navigate to that route. But right now, there's no easy way to get the info above ^ from the API for a given city ID (when a user navigates directly to explorer.helium.com/hotspots/cities/:cityid)

Done in #323


Show Password Button. Auth -> Basic -> Password input.

Is your feature request related to a problem? Please describe.
I pasted a password into the auth -> bassic -> password box and did not know I had over-pasted characters.
Describe the solution you'd like
I would like an eyeball icon next to the password dialog to toggle password visibility.

I like to work on this

actually, there is an option to reveal passwords which is available under Preferences -> General -> 'Reveal passwords`.


*: bump etcd to v3.4.7

This PR bumps etcd to the relelase3.4 branch at v3.4.7.
Along with the changes to 3.4 release etcd also migrated branches from coreos org to go.etcd.io
CHANGELOG: https://github.com/etcd-io/etcd/blob/master/CHANGELOG-3.4.md
CARRY Patch

https://github.com/openshift/etcd/pull/44/commits/f820bb78c4cbe413abfbe55b4032f69b1306b60a

/verify-owners

raft/OWNERS

this file has been removed

/refresh

/verify-owners

/verify-owners

/test all

soak
/test all

soak
/test all

soak
/test all

/lgtm


Font files cannot get loaded from CDN stylesheet because of CORS policy.

The Fundamental UI stylesheet can get properly loaded from its CDN hosting:
https://techne.yaas.io/libs/techne/2.0.0-alpha-7/techne.min.css
Fundamental then requests for two font files:

https://techne.yaas.io/libs/techne/2.0.0-alpha-7/TechneIcons.woff
https://techne.yaas.io/libs/techne/2.0.0-alpha-7/TechneIcons.woff2

Those files can't unfortunately get loaded on the web browser, they got blocked because of the CORS policy.
It seems the settings of the CDN server need to get updated to allow for this "Cross Origin Resource Sharing", with an "Access-Control-Allow-Origin" header needs to get added to your HTTP responses.
See the following article which explains how to update your server settings:
https://www.maxcdn.com/one/tutorial/how-to-use-cdn-with-webfonts/

@odinath
That's a good catch.
We already decided to use a 3rd party CDN in #1212, so is only a matter of changing the link in the documentation, the CDN works out of the box.
Can you please, check if the same problem persist when you use this CDN?
<EMAIL_ADDRESS>is the one we plan to use, you may have already setup the testing environment where you found the bug :)
@saadmhybris
So, is the time to change that to unpgk.com now

@joseegm Following your instructions, I just tested the 'unpkg' link on my local environment.
With this other CDN link, all font files are not being blocked anymore. The font-based icons get properly displayed on my pages.
I'm closing this ticket as 'fixed'.


Governance: Add governance process

This PR includes the first version of the Firebolt Governance Process, a style guide, glossary

:tada: This PR is included in version 0.13.1-next.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 0.14.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Event support for new Services

The rewrite of ataraxia-services does not support events. This issue is a reminder that event support should be added before a new release is made.
The idea is to support subscribing to individual events, so that only those events we are interested in are sent over the network instead of previously every event with filtering on the client side.

Support for events has been added in 125eaaf06fa734caaa47bda46879325020fc4a0b. Documentation is still pending.


support filename with multipart/form-data

Hi guys!
Can you add file name filed to FormData class and use him in FormDataWriter?
now:

writeFileMetadata(output, key, null, formData.getContentType());

expected:

writeFileMetadata(output, key, formData.getFileName(), formData.getContentType());

yep, I can do it

k, it is done.
In a few hours a new version,3.4.0, with your feature, will be available in Maven Central.

Thanks!


Use lastest protolock

Description
There is no reason to use replace to custom fork as it points to a commit that is in official repo.
This PR will remove replace and update to latest version.

/retest

/retest


Restore Purchases and Login Flow Issue

Hello - great asset! One issue though, I was not signed in on my emulator when I attempted to restorePurchases. So it took me to the iOS settings screen to login, I followed the normal flow and ended up back in the app.
However, it appears that on return the callback was not called. Now my transaction is in limbo and I get the below message every time I try to restore.
restoreCompletedTransactionsWithApplicationUsername: because already restoring transactions
Could we get access to kill the restoreRequest  or maybe the package should handle the return automatically.
Any suggestions?

This is probably just a simulator issue. I will make sure to try on device and reopen if it happens there.


Convert glTF node "extras" to Datasmith Asset User Data

While i like your approach i do not think adding a dependency on datasmith is a good thing. Would not be better to just expose an event (like the twos for meshes) for extra fields ?


Cupertino Picker is blank/empty in Flutter Gallery example app on iPhone X running iOS 13.1.2 with Dark Mode settings.

Steps to reproduce:

On the iPhone, launch the Settings application, select Display & Brightness and choose Dark for the appearance.
Run the Flutter Gallery example application on an iPhone X with iOS 13.1.2.
Click on the Cupertino icon.
Click on the Pickers list item.
Click on any of the picker controls (e.g., Date and Time).
Notice that the picker comes up blank/empty.

My guess is that Dark mode is causing the picker to display white text on a white background, thus making it invisible. See attached screenshot.

[flutter] flutter doctor -v
[✓] Flutter (Channel beta, v1.9.1+hotfix.4, on Mac OS X 10.15 19A583, locale en-US)
• Flutter version 1.9.1+hotfix.4 at /Users/xxxxxxxx/Development/flutter
• Framework revision cc949a8e8b (2 weeks ago), 2019-09-27 15:04:59 -0700
• Engine revision b863200c37
• Dart version 2.5.0
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at /Users/xxxxxxxx/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.1, Build version 11A1027
• CocoaPods version 1.8.3
[✓] Android Studio (version 3.5)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 40.1.2
• Dart plugin version 191.8423
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
[✓] VS Code (version 1.39.0)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.5.1
[!] Connected device
! No devices available
! Doctor found issues in 1 category.
exit code 0

Thanks for reporting this! This is a dup of https://github.com/flutter/flutter/issues/39685. Currently it's being blocked by https://github.com/flutter/flutter/issues/41654.


Automate rebuilds

Description of proposed changes
Automates rebuilds for mpxv and hpmxv1 to run when there's new data from ingest. Includes threaded Slack replies for builds since we don't want to mix up Slack messages from the separate builds. (Note this is separate from #36, which is specifically for ingest).
Testing
Unfortunately cannot fully test the ingest trigger since repository dispatch events only trigger the workflow on the main branch.

@joverlee521 is it intended that the output of the auto-builds only contains around 20 sequences? I downloaded the output tree and put it in Auspice.
Looks good so I'll merge so we can see how it goes - not much can go wrong here I think - in worst case we'll revert ;)


Add Rolfs 2021 halflife data to tractability

Hi team, we got the request to add more protein halflife data to the Platform. As a start, we added the data from the Rolfs 2021 study to the tractability pipeline, see the PR here https://github.com/chembl/tractability_pipeline_v2/pull/6. We would of course like to know 1. if you are interested in this, 2. if this is the way to go about it and 3. if additional steps are needed from our end.
Additionally, we noticed an interest for presenting the halflife data in a table on the Profile page, instead of just with a checkmark in the Tractability section. What is your opinion on this?
Background
The Rolfs 2021 study contains halflife data for ~3000 Targets across 8 different tissues, measured in mouse. Taking the existing Mathieson data (8804 Targets) into account, the Rolfs study contains halflife information for 836 new Targets.
Tasks

[x] Update Tractability pipeline with Rolfs data

Thanks @louwenjjr, we have been discussing expansion of our tractability pipeline and possible changes to the widget.
We will discuss this internally and feed back to you, but this fits with our plans.

It's all very reasonable. I will be happy to coordinate the scoping when I return from annual leave. The only concern I have is the reliability of mouse tissues compared to human primary cells. They are probably complementary sources, which adds some extra complexity.
@louwenjjr, we will need to liaise with ChEMBL for this feature, which will increase the turnaround. Apologies in advance if we are a bit slow.

Thanks for your quick responses and indicating your timelines!
Part of the Mathieson data also originates from Mouse neuron cells so I think adding Rolfs data would not create (much) extra reliability issues. I also think that species/celltype/tissue information would be nice to include on the Profile page but this would require representing the halflife data into more of a table format. If this fits in your idea of the updated tractability section, we would be happy to assist with creating this functionality and of course as well with any updated tractability pipelines.


Fix table overflow issue on Chromium browsers

Description
This PR fixes an issue where the table on the "Maintaining the Website Guide" page overflows due to the YouTube URL not wrapping on Chromium-based browsers. The issue was mentioned in this comment.
Steps to Reproduce

Open the "Maintaining the Website Guide" page on a Chromium-based browser (e.g., Google Chrome, DuckDuckGo, Brave) using a desktop or mobile device. here
Scroll down to the table section.

Expected Behavior
The table should display correctly, with the YouTube URLs wrapping to the next line if they exceed the table cell width.
Actual Behavior
On Chromium-based browsers, the YouTube URLs do not wrap, causing the table to overflow horizontally.
Screenshots

Before
After

Testing

[x] Tested on Google Chrome (Android)
[x] Tested on DuckDuckGo (Android)
[x] Tested on Brave (Android)
[x] Tested on Mozilla Firefox (Android) (has no effect)
[ ] Tested on Safari (iOS) [If you have access to an iPhone, please confirm and check this box]

Are the before after images swapped? 😄

lol @dipamsen ....

Are the before after images swapped? 😄

Now it's looking good … 😂

This is not working properly for all screen sizes:

Also table-layout:fixed makes all columns equal width, and that's not the optimal use of horizontal space with the type of content that ends up in these tables.
I would propose keeping the table auto layout and applying word breaks in td elements that are not the first column, since those tend to be single words. I think this is all we would need:
.td:not(:first-child) {
  word-break: break-word;
}

@fturmel Thank you for the proposed solution. I agree that using  table-layout:fixed is not the best approach here . Updated with new solution .

Amazing, thank you!!


Update generation-2.md

My customer asked for a comparision / availability based on VM series - can you please extend the article to have more clarity?
I would also suggest to change the title of the page to 'Comparison of Generation 1 to Generation 2' to allow our customers make the right choice.

#label:"aq-pr-triaged"

@lauradolan Can you please take a look here? This would be a notable change to the doc and I am uncertain if this is the direction we want to take. I'll leave it up to you and the sizing team.

#assign @lauradolan

@lauradolan Please reorder ND VMs in the list to: ND-series, NDv2-series, ND A100 v4-series, NDm A100 v4-series.  Thank you.

#sign-off


Fixed Booking Order Validation

Coverage decreased (-0.02%) to 77.17% when pulling ddd950f06f782c450ab7d9d09068fad3021ae623 on kharissuryandaru:dev into 3bd9f88037002d431a5a07e766c15a5ea3567cbf on danliris:dev.


how to continue training?

After pausing the training process, I want to recontinue the training progress from the stop point.
Is this implemented? and if so how to do this?

You can reference your resume checkpoint in the config e.g. "/lama/configs/training/trainer/any_gpu_large_ssim_ddp_final.yaml"
kwargs:   resume_from_checkpoint:  <absolute path to your chk file>

TY @larsupb!