PoE Genesis Validation

Fail fast when validating the genesis file.
Prevent:
-[ ] duplicate pubkeys
-[ ] duplicate pinned contracts
-[ ] code_ids not existing for pinned contract
-[ ] contract address not existing for privileged contracts

Let's do some validation before the public testnet.
Since we don't currently use any contracts in genesis besides the ones we create in PoE, I would only focus on issues like duplicate pub keys and the like, not the code/pinned validation.


CORS - Access-Control-Allow-Headers

XMLHttpRequest cannot load http://localhost:8545/. Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.

I think you just havent published the latest version yet

oh yeah, we need this.

@sebs CORS headers have been added for a long time. Are you having trouble with them?

yeah, I want to add some extra headers, that need to be configured.
Otherwise all calls with extra headers to OPTIONS will fail.
Stuff like this.
https://www.w3.org/TR/cors/#access-control-allow-headers-response-header
If you start to use extra headers for maybe a little added extra security, testrpc is a bit to "secure" atm. Imho those options are not avail. via command line parameter.

still facing cors issue while connecting testrpc, any solutions folks ? getting no response to OPTIONS request.

@BinayakBanerjee Could you open a new issue for this with a little more information about your particular configuration, versions, and os, and browser/client?

@davidmurdoch Nevermind, reinstalled testrpc. Seems to be working fine now.


SSL termination not working on druid

I want to do an SSL termination with Druid. My setup is on AWS EKS and has an ingress controller. But my URL gets redirected to http and not HTTPS.
* Connected to druid-dev.com (xxx.yyy.zzz.aa) port 443 (#0)
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 302 Found
HTTP/1.1 302 Found
...
< Location: http://druid-dev.com/unified-console.html

If I manually give the X-forwarded-proto in curl, it redirects correctly. Something like
curl -ivk -H "X-Forwarded-Proto: https" https://druid-dev.com:443
...
Location: https://druid-dev.com/unified-console.html

And if I access the https link directly it works. Just the redirect fails.
This is my ingress yaml
kind: Ingress
metadata:
  name: aaa.elb.us-west-2.amazonaws.com
  namespace: druid
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/configuration-snippet: |
      more_set_headers "X-Forwarded-Proto: https";
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "900"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "900"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "900"
spec:
  rules:
  - host: druid-dev.com
    http:
      paths:
        - path: /(.*)
          backend:
            serviceName: druid-router
            servicePort: 443
          pathType: ImplementationSpecific

And here is the loadbalancer yaml
apiVersion: v1
kind: Service
metadata:
  name: druid-router-nlb
  namespace: {{ .Release.Namespace }}
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-west-2:733858622433:certificate/ccccc
    service.beta.kubernetes.io/aws-load-balancer-ssl-negotiation-policy: ELBSecurityPolicy-TLS-23
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
    service.beta.kubernetes.io/aws-load-balancer-internal: "true"
    service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: "*"
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
spec:
  type: LoadBalancer
  selector:
    app: druid
    nodeSpecUniqueStr: druid-routers
  ports:
    - name: service
      port: 443
      protocol: TCP
      targetPort: 8088

I enabled request logging as well and the requests do hit my router
I applied the config enableForwardedRequestCustomizer to true and still does not work.

I'm seeing this same issue.  My proxy is setting X-Forwarded-Proto which is observed by the links imbedded in the web console pages, but not the 302 redirects sent in response to a GET on "/" or "index.html".
Is there a configuration fix for this?


how to use it

can have an example project of using it in a complete framework

https://github.com/tiliv/django-field-permissions/commit/9b1056995ed504bf77338f6723f50e6f682e4c89#diff-04c6e90faac2675aa89e2176d2eec7d8


UnicodeEncodeError after pyinstaller

I wrote something for my work and I need to share it with my workmates. They have not installed Python and also don't know how to use. So I want to use Pyinstaller to convert my script. I used Pyinstaller. Running the exe file, it comes out like this. What should I do now?
Traceback (most recent call last):
File "test1.py", line 11, in
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 665, in load_unlocked
File "c:\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
exec(bytecode, module.dict)
File "site-packages\geopandas_init.py", line 1, in
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 665, in _load_unlocked
File "c:\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
exec(bytecode, module.dict)
File "site-packages\geopandas\geoseries.py", line 6, in
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 665, in load_unlocked
File "c:\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
exec(bytecode, module.dict)
File "site-packages\pyproj_init.py", line 252, in
File "_proj.pyx", line 59, in _proj.set_datapath (_proj.c:887)
File "_proj.pyx", line 370, in _proj._strencode (_proj.c:3939)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 5-8: ordinal not in range(128)

Does the install path have non-ascii characters in it?

Would PR #94 fix the issue?

Feel free to reopen if this issue persists. Thanks for the report!


Container with new ImageFromDockerfile().withDockerfile(...) cause java.lang.IllegalArgumentException: group id '...' is too big ( > 2097151 ). Use STAR or POSIX extensions to overcome this limit

I upgraded the testcontainers version from 1.15.3 to 1.16.2.
When I try to run test now I am getting:

Caused by: org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageName=, imagePullPolicy=DefaultPullPolicy())
at org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:1326)
at org.testcontainers.containers.GenericContainer.logger(GenericContainer.java:643)
at org.testcontainers.containers.GenericContainer.doStart(GenericContainer.java:326)
... 37 more
Caused by: java.lang.IllegalArgumentException: group id '34548085' is too big ( > 2097151 ). Use STAR or POSIX extensions to overcome this limit
at org.apache.commons.compress.archivers.tar.TarArchiveOutputStream.failForBigNumber(TarArchiveOutputStream.java:651)
at org.apache.commons.compress.archivers.tar.TarArchiveOutputStream.failForBigNumberWithPosixMessage(TarArchiveOutputStream.java:644)
at org.apache.commons.compress.archivers.tar.TarArchiveOutputStream.failForBigNumbers(TarArchiveOutputStream.java:626)
at org.apache.commons.compress.archivers.tar.TarArchiveOutputStream.putArchiveEntry(TarArchiveOutputStream.java:377)
at org.testcontainers.shaded.com.github.dockerjava.core.util.CompressArchiveUtil.addFileToTar(CompressArchiveUtil.java:41)
at org.testcontainers.shaded.com.github.dockerjava.core.util.CompressArchiveUtil.archiveTARFiles(CompressArchiveUtil.java:106)
at org.testcontainers.shaded.com.github.dockerjava.core.dockerfile.Dockerfile$ScannedResult.buildDockerFolderTar(Dockerfile.java:134)
at org.testcontainers.shaded.com.github.dockerjava.core.dockerfile.Dockerfile$ScannedResult.buildDockerFolderTar(Dockerfile.java:124)
at org.testcontainers.shaded.com.github.dockerjava.core.command.BuildImageCmdImpl.withDockerfile(BuildImageCmdImpl.java:346)
at org.testcontainers.shaded.com.github.dockerjava.core.command.BuildImageCmdImpl.withDockerfile(BuildImageCmdImpl.java:23)
at org.testcontainers.images.builder.ImageFromDockerfile.lambda$configure$0(ImageFromDockerfile.java:154)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.testcontainers.images.builder.ImageFromDockerfile.configure(ImageFromDockerfile.java:153)
at org.testcontainers.images.builder.ImageFromDockerfile.resolve(ImageFromDockerfile.java:109)
at org.testcontainers.images.builder.ImageFromDockerfile.resolve(ImageFromDockerfile.java:37)
at org.testcontainers.utility.LazyFuture.getResolvedValue(LazyFuture.java:17)
at org.testcontainers.utility.LazyFuture.get(LazyFuture.java:39)
at org.testcontainers.shaded.com.google.common.util.concurrent.Futures$3.get(Futures.java:1332)
at org.testcontainers.images.RemoteDockerImage.getImageName(RemoteDockerImage.java:115)
at org.testcontainers.images.RemoteDockerImage.resolve(RemoteDockerImage.java:64)
at org.testcontainers.images.RemoteDockerImage.resolve(RemoteDockerImage.java:28)
at org.testcontainers.utility.LazyFuture.getResolvedValue(LazyFuture.java:17)
at org.testcontainers.utility.LazyFuture.get(LazyFuture.java:39)
at org.testcontainers.containers.GenericContainer.getDockerImageName(GenericContainer.java:1324)
... 39 more

I am using ImageFromDockerfile().withDockerfile(Path.of("./../some_path/Dockerfile")) to create the container.
What I see it fails on:

org.testcontainers.shaded.com.github.dockerjava.core.dockerfile.Dockerfile.ScannedResult#buildDockerFolderTar(java.io.File)

Previously, when I was using version 1.15.3 it was working fine. Note: I am running on MacOs, on Linux it works fine.

I can confirm this error on MacOs.
Seems like this has te be solved in docker-java library.
After some investigation I have created an issue for github project docker-java/docker-java:
https://github.com/docker-java/docker-java/issues/1747

We have the same issue on MacOS after upgrading.
Seems @murat3's fix is merged into docker-java and the issue is closed there. Hoping we can have a new release with the updated version using POSIX extensions! 🤞🏻

We have the same problem i saw you are already updated the dependency, I hope to see a new release soon.

The Issue from should be included in Version docker-java 3.2.13:
https://github.com/docker-java/docker-java/releases/tag/3.2.13#:~:text=tar archives %40Kent1 (-,%231787,-)

Use POSIX extensions for tar archives @Kent1 (https://github.com/docker-java/docker-java/pull/1787)

Hi @rnorth or somebody of the Testcontainer Team,
please can you release a new Release or RC with the new docker-java Version 3.2.13,
I have seen your already updated the dependencies to this version ;-) - kind regards.

I'm also having this problem. I look forward to the testcontainer library update. In the meantime, what version of the testcontainer dependency are you using?

In version 1.17.6 (and perhaps earlier), we're including docker-java-api 3.2.13, so this issue should be able to be closed now, right?
I don't believe the issuer is happening now (but I can't confirm 100% I saw it earlier either).


Use a tab selector for .NET Standard to help with ease of use

Summary
✔ Preview: .NET Standard - Select .NET Standard version
Fixes #27833

@gewarren - this one should be good-to-go now, thanks.

@IEvangelist Can you also delete net-standard-table.md?

@IEvangelist Can you also delete net-standard-table.md?

@gewarren done

@IEvangelist This PR broke the list of supported .NET and .NET Core versions for .NET Standard 2.1. It now claims that .NET Standard 2.1 is even supported by .NET Core 1.0.
I didn't check everything else, but that mistake was appearent. Maybe check all tables again?

@IEvangelist This PR broke the list of supported runtime versions for .NET Standard 2.1. For example, it now claims that .NET Standard 2.1 is even supported by .NET Core 1.0.
Maybe check all tables again against the old doc? Or against https://dotnet.microsoft.com/en-us/platform/dotnet-standard#versions

Thank you @cremor, great catch. Fixed here: #28076


[Help] cant access app from dialer

I used the hide app feature to launch from dialer. I used the default code "##1337*#*#". This doesnt work for me. It only gives me the invalid mmi code notif. Ive also tried many combinations of the hashes and asterisks and cant get it to work. I am using the hidden app and not the regular phone dialer. Sorry if this isnt the right way to ask for help, im new to github

I've also gotten it to work once by typing "#1337#" but it will not work again

Hey,
You can see a FAQ about this topic here: https://github.com/leonlatsch/Photok/discussions/106
This helps resetting the hidden app


Remove delegate call from public

#8377  👈
master

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

Join @dbanks12 and the rest of your teammates on  Graphite

Docs Preview
Hey there! 👋 You can check your preview at https://66d8b957d6f7df36d63d8a1e--aztec-docs-dev.netlify.app

Merged storage address removal PR into this one just to reduce CI load and get things merged faster

replaced by https://github.com/AztecProtocol/aztec-packages/pull/9330


mxnet recipe

MXNet GPU python package (MXNet library and python bindings to it)

@knm3000 Check this commit for a better way to avoid the 10min timeout.
https://github.com/IBM/powerai/pull/149/commits/3aaf374fc30fb90b9adf9e4219c62e66eaf8b1f0

Nice! Looks like the last update allowed it complete! I'll review.

@jayfurmanek It was the test commit using the new base image (for now from my personal docker hub https://hub.docker.com/repository/docker/knm3000/linux-anvil-cuda-ppc64le) to check 50 min limit.
This is not a final version. I put 3 cuda packages into that base image to enable the build within 50 min,
Now I need to fix this the build for this PR https://github.com/conda-forge/docker-images/pull/123


🐛 BUG: experimental-local experience with Windows and WSL

What version of Wrangler are you using?
2.4.2
What operating system are you using?
Windows 10
Describe the Bug
When attempting to run an existing project with --experimental-local on Windows, I get the following:
npx wrangler@latest dev --experimental-local
[ERROR] local worker: Error: npx-import failed for @miniflare/tre with message:

Command failed with exit code 1: npx --prefer-offline -y -p<EMAIL_ADDRESS>set
  PATH
  npm ERR! code ETARGET
  npm ERR! notarget No matching version found for<EMAIL_ADDRESS>  npm ERR! notarget In most cases you or one of your dependencies are requesting
  npm ERR! notarget a package version that doesn't exist.

  You should install @miniflare/tre locally:
        npm install --save-dev<EMAIL_ADDRESS>
Strange. But okay, let's try that. I installed<EMAIL_ADDRESS>locally, and now I no longer get the startup error, woot! 🎉
But then when I attempt to hit my worker, I get:
/bin/bash: E:GitHubwalshy.failnode_modules@cloudflareworkerd-linux-64binworkerd: command not found
✘ [ERROR] local worker: MiniflareCoreError [ERR_RUNTIME_FAILURE]: The Workers runtime failed to start. There is likely additional logging output above.

      at #waitForRuntime
  (E:\GitHub\walshy.fail\node_modules\@miniflare\tre\dist\src\index.js:6121:13)
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
      at async #init (E:\GitHub\walshy.fail\node_modules\@miniflare\tre\dist\src\index.js:6011:9)
      at async Mutex.runWith
  (E:\GitHub\walshy.fail\node_modules\@miniflare\tre\dist\src\index.js:2284:16)
      at async startLocalWorker
  (E:\GitHub\walshy.fail\node_modules\wrangler\wrangler-dist\cli.js:144106:11) {
    code: 'ERR_RUNTIME_FAILURE',
    cause: undefined
  }

At that point, I gave up running in Windows and switched over to WSL. In this WSL instance, I'm running Ubuntu 20.04. Here I was greeted with:
/mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd: error while loading shared libraries: libc++.so.1: cannot open shared object file: No such file or directory

That seems to be a common issue with workerd on Linux, so I installed libc++1 with sudo apt-get install libc++1.
Then I was hit with:
/mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd: error while loading shared libraries: libunwind.so.1: cannot open shared object file: No such file or directory

Some minor googling later, I found the likely solution was sudo apt-get install libunwind-dev. But that still resulted in the same error, so once again I gave up.

I understand this API is experimental, so these kind of teething issues are expected. Hopefully my experience will help illustrate some of the issues with DX around this new mode though, before it hits stable.

Seems like it doesn't yet support Ubuntu 20? With 22, I was able to get further, but ran into this:
*** Fatal uncaught kj::Exception: kj/async-io-unix.c++:945: failed: ::bind(sockfd, &addr.generic, addrlen): Address already in use; toString() = <IP_ADDRESS>:9229
stack: /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@2b55fca /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@2b55d6f /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@2b54105 /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@14f6295 /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@2b1f0f6 /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@14f6570 /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@14c584d /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@14c4e48 /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@14c4bec /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@2b8b298 /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@2b8ae89 /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@2b6f6a8 /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@2b88fc8 /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@14ba289 /lib/x86_64-linux-gnu/libc.so.6@29d8f /lib/x86_64-linux-gnu/libc.so.6@29e3f /mnt/e/GitHub/walshy.fail/node_modules/@cloudflare/workerd-linux-64/bin/workerd@14ba024
✘ [ERROR] local worker: MiniflareCoreError [ERR_RUNTIME_FAILURE]: The Workers runtime failed to start. There is likely additional logging output above.

      at Miniflare.#waitForRuntime
  (/mnt/e/GitHub/walshy.fail/node_modules/@miniflare/tre/dist/src/index.js:6121:13)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Miniflare.#init
  (/mnt/e/GitHub/walshy.fail/node_modules/@miniflare/tre/dist/src/index.js:6011:9)
      at async Mutex.runWith
  (/mnt/e/GitHub/walshy.fail/node_modules/@miniflare/tre/dist/src/index.js:2284:16)
      at async startLocalWorker
  (/mnt/e/GitHub/walshy.fail/node_modules/wrangler/wrangler-dist/cli.js:144106:11) {
    code: 'ERR_RUNTIME_FAILURE',
    cause: undefined
  }

Hi—thanks for reporting this! We're working on fixing this bug, and getting --experimental-local working in WSL, with wrangler running in Windows.
There's a separate issue with Ubuntu 20, which it looks like you also ran into (The libc++ version doesn't include the right version of libunwind). Ubuntu 22 should work with no issue though (after running sudo apt-get install libc++1). If possible, would you be able to set up a reproduction repo and open a new issue on workerd for Ubuntu 22 not working in WSL?

The port binding issue seems to be related to https://github.com/cloudflare/wrangler2/pull/2275, and WSL support seems to have landed in https://github.com/cloudflare/miniflare/pull/443 🎉


disable jmeter with config property, enabled by default

Add property to disable the jmeter report generation, in some cases this consumes a lots of memory and the performance test crashes, this is a temporary fix, to disable it when not needed.

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


Incorrect information on page.

Hello,
This page states "eDiscovery Administrator: Can perform all case management tasks that an eDiscovery Manager can do."
This is not correct.  an eDiscovery Administrator cannot manage cases without the eDiscovery Manager entitlement.  Both are required for the eDiscovery Administrator to manage cases, data sources, collections, etc.

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

ID: 6bb7387a-258a-6c16-1744-25b205f6de14
Version Independent ID: 46dc7d79-21a6-f6c0-02c6-86ff9bec8e62
Content: Set up Advanced eDiscovery in Microsoft 365 - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/get-started-with-advanced-ediscovery.md
Service: o365-seccomp
GitHub Login: @markjjo
Microsoft Alias: markjjo

@FreedomChris Thanks for feedback. Technically, the statement is correct. An eDiscovery Admin is assigned all the management roles that are assigned to the eDiscovery Manager, at least when you add a user as an eDiscovery Manager using the Permissions page in the M365 compliance center UI. When you use the UI, two underlying Powershell cmdlets are invoked: Add-RoleGroupMember (to add the user to the eDiscoveryManager role group) and Add-eDiscoveryCaseAdmin (to assign org-wide scope). After you add the user as an eDiscovery Admin in the UI, you'll see that user is added to the eDiscoveryManager role group by running Get-RoleGroupMember eDiscoveryManager command. Likewise, if you use the UI to remove an eDiscovery Admin, they will be removed from the role group and they will be removed as eDiscovery admin.
But an issue arises when you only use PowerShell to assign permissions or use a combination of PowerShell and the UI. If you use PowerShell to perform the equivalent of adding an eDiscovery Admin in the UI, then you have to run two commands: Add-RoleGroupMember and Add-eDiscoveryCaseAdmin. The first gives, as you say, the eDiscovery Manager entitelment. The second provides the org-wide scope. If you only run Add-eDiscoveryCaseAdmin, then the situation that you originally describe will result. But using the UI will mitigate this issue.
Hope this helps. Any suggestions for clarifying this in the AeD set up topic?

@FreedomChris Sorry one correction from above:
at least when you add a user as an eDiscovery Admin using the Permissions page in the M365 compliance center UI.

@FreedomChris Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Document how a note can be shared

Here is a list of permutations Mike came up with:

Alice creating a note for Alice, and she doesn't want to encrypt and broadcast the note.
Alice creating a note for Alice, and she wants to encrypt and broadcast the note to herself via L1, as a storage backup.
Alice creating a note for Bob, and she wants to broadcast the note to Bob via L1, but doesn't want to constrain encryption within the circuit (i.e. she passes the ciphertext into the circuit (unchecked) as an arg, or via an oracle).
Alice creating a note for Bob, and she wants to broadcast the note to Bob via L1, constraining the encryption to be correct.
Alice creating a note for Bob, and she doesn't want to broadcast anything; she'll share the note data with him via carrier pigeon.
All of the last 3, but Alice wants to broadcast an encryption to herself, as a backup.

This should be documented

Already tackled


Ensure VM disks for critical VMs are encrypted with Customer Supplied Encryption Keys (CSEK)

Possible check to target the following resource

[ ] google_compute_disk

closing, tracking in spreadsheet


CartoDB::InvalidMember error when you are FREE and save a private visualization

Scenario:
1.- A user is BASIC and creates a password-protected visualization.
2.- He becomes FREE.
3.- When he tries to save it again, a CartoDB::InvalidMember error is triggered because of this condition:
`if type != TYPE_CANONICAL && @privacy == PRIVACY_PRIVATE && privacy_changed && !supports_private_maps? ``
CartoDB::InvalidMember: CartoDB::InvalidMember
1
File "/home/ubuntu/www/production.cartodb.com/releases/20151207180121/app/models/visualization/member.rb", line 735 in do_store
2
File "/home/ubuntu/www/production.cartodb.com/releases/20151207180121/app/models/visualization/member.rb", line 173 in store
3
File "/home/ubuntu/www/production.cartodb.com/releases/20151207180121/app/models/map.rb", line 144 in block in process_privacy_in
4
File "/home/ubuntu/www/production.cartodb.com/releases/20151207180121/app/models/map.rb", line 141 in each
5
File "/home/ubuntu/www/production.cartodb.com/releases/20151207180121/app/models/map.rb", line 141 in process_privacy_in
6
File "/home/ubuntu/www/production.cartodb.com/releases/20151207180121/app/controllers/api/json/layers_controller.rb", line 51 in block (2 levels) in create
7
File "/home/ubuntu/www/production.cartodb.com/releases/20151207180121/lib/cartodb/stats/aggregator.rb", line 45 in block in timing
... 1 non-project frame
9
File "/home/ubuntu/www/production.cartodb.com/releases/20151207180121/lib/cartodb/stats/aggregator.rb", line 43 in timing
10
File "/home/ubuntu/www/production.cartodb.com/releases/20151207180121/app/controllers/api/json/layers_controller.rb", line 50 in block in create
11
File "/home/ubuntu/www/production.cartodb.com/releases/20151207180121/lib/cartodb/stats/aggregator.rb", line 45 in block in timing
... 1 non-project frame
13
File "/home/ubuntu/www/production.cartodb.com/releases/20151207180121/lib/cartodb/stats/aggregator.rb", line 43 in timing
14
File "/home/ubuntu/www/production.cartodb.com/releases/20151207180121/app/controllers/api/json/layers_controller.rb", line 13 in create

cc @xavijam @ernesmb @guido

This is a good one. Should we change all non public datasets/maps when it is downgraded?

That's a product decision, I guess. Maybe making every visualization public might have privacy and expectations concerns, and maybe undesired side effects, but I certainly wouldn't allow a free user to edit a visualization that is not public. My proposal is blocking edition of non-public visualizations for FREE users (with an easy, gentle upgrade link).

Bump because @oriolbx has reported this because of an internal account and it's an interesting issue cc @gfiorav @javitonino . Feel free to ignore anyway.

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


Rename AddEncoders to AddWebEncoders

Came up in an API review - we were all confused as to what this method did until we saw the implementation. The name AddEncoders is just a bit too generic, and given that all these extension methods are in the same namespace, having more specific names seems like a good idea.
https://github.com/aspnet/HttpAbstractions/blob/dev/src/Microsoft.Framework.WebEncoders/EncoderServiceCollectionExtensions.cs#L13
Also need to add doc comments to it.

Included in PR https://github.com/aspnet/HttpAbstractions/pull/205.


Error when sending reports to slack.

Discussed in https://github.com/qa-guru/allure-notifications/discussions/272

Originally posted by SuNseTgReeN June 11, 2024
When sending the report, I get the following error:
2024-06-11 11:32:44 INFO  Notification:44 - Sending message...
2024-06-11 11:32:44 ERROR Application:30 - null
java.lang.NullPointerException: null
	at kong.unirest.BodyPart.<init>(BodyPart.java:40) ~[allure-notifications-4.6.1.jar:?]
	at kong.unirest.ParamPart.<init>(ParamPart.java:[37](https://git.appkode.ru/qa_team/liteforex-postman-api-tests/-/jobs/1074937#L37)) ~[allure-notifications-4.6.1.jar:?]
	at kong.unirest.ParamPart.<init>(ParamPart.java:33) ~[allure-notifications-4.6.1.jar:?]
	at kong.unirest.HttpRequestMultiPart.field(HttpRequestMultiPart.java:48) ~[allure-notifications-4.6.1.jar:?]
	at guru.qa.allure.notifications.clients.slack.SlackClient.sendPhoto(SlackClient.java:[38](https://git.appkode.ru/qa_team/liteforex-postman-api-tests/-/jobs/1074937#L38)) ~[allure-notifications-4.6.1.jar:?]
	at guru.qa.allure.notifications.clients.Notification.send(Notification.java:46) ~[allure-notifications-4.6.1.jar:?]
	at guru.qa.allure.notifications.Application.startApplication(Application.java:28) [allure-notifications-4.6.1.jar:?]
	at guru.qa.allure.notifications.Application.main(Application.java:15) [allure-notifications-4.6.1.jar:?]
Cleaning up project directory and file based variables
00:07
ERROR: Job failed: exit code 1

At the same time, sending a message in telegram works in the same pipeline. I set up the bot according to this to the guide. Can you tell me what I could have done wrong, and how to solve this problem?

It was found out that slack replaced the methods of sending messages. Now 3 new methods are used instead of 1.

@SuNseTgReeN could you please provide more details?

Some time ago slack changed the api for working with images. as a result there is a problem with sending notifications to slack for newly created bots

Good day!
Tell me, is there a plan to update allure-notifications in Slack? Previously, there was 1 url for connection, now there are 3, will you update allure-notifications for these needs?
https://api.slack.com/methods/files.upload

@a-havrysh please feel free to propose PR

@valfirst review please https://github.com/qa-guru/allure-notifications/pull/292


Refactor crate::format

This removes the Format enum which wraps around format::Input and format::Output.
I am not sure why this wrapper existed in the first place.. I can't think of a good reason to use it. Separating the Input/Output API makes more sense IMO.
A bit of functionality got lost via the open functions, but this can be added back (thinking of a builder pattern atm)

It's weird that this is failing only on ffmpeg 7 for Mac.

It looks like the same thing is happening on master, so it's not a result of this PR. I'll go ahead and review. Thanks.

It's weird that this is failing only on ffmpeg 7 for Mac.

It's the same as in #72, homebrew only offers "5", "6" and "7" with no more granularity. "7" recently updated to 7.1 which currently fails to build..


RDB support for the OAuth flow datastore

Issue Type

[ ] Bug
[x] Enhancement / Feature request
[ ] Question
[ ] Documentation

Description
As of Feb 2020, Bolt for Java supports the following datastore for InstallationService and OAuthStateService.

Local File System
Amazon S3

We're going to support the relational database as well. The implementation just depends on the JDBC APIs so that it works with any JDBC drivers.
Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Hi, is there currently a timeline for when this will be supported?

Ya
मैट्रो सीटी पोस्ट - Chat @ Spike	[1dopc0]
On January 12, 2022 at 16:10 GMT, Cole Schafer @.***> wrote:
Hi, is there currently a timeline for when this will be supported?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

@cts5ws Personally, I want to implement this sometime this year but we haven't decided when we can work on this yet.

@seratch I still have hope, just one more day! 😂


Strict violation (W040) reports wrong character

( function () {
'use strict';
var x = {};
x.once = function ( event, listener ) {
	function wrapper() {
		listener.apply( this, Array.prototype.slice.call( arguments, 0 ) );
	}
	x.something( event, wrapper );
};
}() );

[L6:C25] W040: Possible strict violation.
    listener.apply( this, Array.prototype.slice.call( arguments, 0 ) );
                          ^

Fixed by using /*jshint validthis:true */ since it is a valid use in my case, however reporting the character position as bug.

I can only reproduce with tabs.. jshint assumes a tab of 4 characters. if the tab is instead counted as 1 character, you get a mismatch of 3, explaining why with 2 tabs, the character is 6 more than is expected.

this can be "fixed" by setting indent: 1


Use explicitApi() instead of explicitApiWarning() in core-model and fix build.

Idea Description
If you use explicitApi(), it will cause errors. So please use public to classes, functions, and properties if it is used by other classes. Otherwise, please use private signature.
Reference images and links
https://github.com/DroidKaigi/conference-app-2022/blob/main/core-model/build.gradle.kts#L11

I'd like to take over this issue

Thanks! Assigned 👍


AttributeError: 'Simulation' object has no attribute 'dv' in Simulator.py

I have encountered a PROBLEM when I running the ./start.sh
The line 216 simulator.py, it appends the Drivewaypoint, however, it seems that the agenttype is pedestrain, which caused the title's error?

Thanks for reporting this issue. I don't encounter the issue but I will keep the pull request open in case more people report the issue.

Thanks for reporting this issue. I don't encounter the issue but I will keep the pull request open in case more people report the issue.

Hi @ebadi there is another confusing to me. We could not reach the car-ID that you gived in the line10, simulation.py. It shows that the Configuration 8d60a6ac-65a4-4bc5-8fc5-870156b6608f does not exist. So we have to change to the Apollo5.0, but the lidar sensor is not on the corresponding car. And even stranger, when we switch to the other apollo which has the lidar sensor, the module could not run. Since the lidar is used to detect the pedestrain, the whole work get strucked. So could you please give me the Configuration 8d60a6ac-65a4-4bc5-8fc5-870156b6608f?
The following picture is the website that we search the configuration in the https://wise.svlsimulator.com/

See #5 and watch these videos:
http://av-test-challenge.org/meetings.html

See #5 and watch these videos: http://av-test-challenge.org/meetings.html

This link seems broken. Anywhere else to watch those videos? Thanks!


Refactor file download component to use effects rather than component/service

HCAFileDownload -> FileDownload
@Input() naming - file*

Dupe of #1495.


Unspecced default filter behaviour

It appears that Synapse will, if no filter is specified on a /sync request, default to some sort of internal filter with a limit of 10 events per room timeline.
The spec, however, implies that limited will only be true if a filter is specified, through the following passage:

True if the number of events returned was limited by the limit on the filter.

... but never explicitly says whether not specifying a filter should mean that there is no limit, or some sort of default limit.

I'm pretty sure I read somewhere that if no filter is specified, then the server will default to a filter with a limit, but I'm failing to find it.  I wouldn't be surprised if it's buried somewhere unexpected.

Normally, all new events which are visible to the client will appear in the response to the /sync API. However, if a large number of events arrive between calls to /sync, a "limited" timeline is returned, containing only the most recent message events.

https://matrix.org/docs/spec/client_server/unstable#syncing
This allows limiting the timeline even without explicit filter imo.


Add more systems to supportedSystems

This PR adds aarch64-linux, x86_64-darwin and aarch64-darwin to the supported systems.
It also contains a commit to ignore flake.{nix,lock} for the cabal2json package, same as the cabal2json-haskell-nix package did before.
Btw, what is that cabal2json-haskell-nix package? Is that just an alternative way to build the program?
Thanks for working on this, btw!

Sorry, something's wrong with the built executable on macs. Converting this to a draft.

@soenkehahn we don't have CI, and likely don't have access to at least two (probably three) of these systems so I'm not a fan of adding more supportedSystems. It's essentially just a lie that we support these systems IMO.
HOWEVER: I'm not going to be involved in maintaining this package most likely so feel free to ignore this comment.

@DavHau: Thanks for the offer! I don't think I have time to maintain this project though, sorry.


Implementing Request benchmark run

Intro
Request benchmark ensures that a user can request to run the benchmark based on commit hash from the Vitess main branch or a specific Vitess version.
After request

Send message to slack group
Insert request into the databases

Fields

Commit hash or Vitess version
Name
Email

The API route for this has been completed in https://github.com/vitessio/arewefastyet/pull/464. @marsian83 is currently working on the UI. Closing this issue for now.


A question about poisoning

I am simply curious regarding why the locks in this library don't implement lock poisoning like those in the standard library. I'm using RwLock whose read and write locking methods are entirely error-free. What was the reasoning behind this design decision?

I wasn't around when the library was designed, but I think that not having poisoning makes the library simpler overall.

I do not plan on adding poisoning to this library. It could probably be implemented in a higher-level library on top of this one.


Not working for problem of the day

Hi, Mayuresh!
I wasn't able to replicate this issue. Can you please share some more details? (Screenshots, etc)

There seemed to be a glitch or error on that day. Now it's working fine. Thankyou.


copy-files error when directory doesn't exist

If you have an assets folder with no TS files, the folder is not present in the output directory. copy-files doesn't make the path before/when copying
Error: ENOENT: no such file or directory, copyfile 'src/assets/styles/_common.scss' -> 'dist/assets/styles/_common.scss'

Same issue here

@luke

Same issue here.
Config snippet
 "include": [
    "src/**/*.ts",
    "src/**/*.xml",
    "src/**/*.json"
  ],
  "exclude": [
    "node_modules",
    "cdktf.out"
  ],
  "hooks": [
    "copy-files"
  ]

trying to get /src/policies/policy.xml to be in the /dist/policies/policy.xml
dist folder is empty

"Hello, I need to add an 'include' file from the 'dist' folder in this example."
 "include": [
  "/src/policies",
    "src/**/*.ts",
    "src/**/*.xml",
    "src/**/*.json"
  ],


semantic segmentation inferencing on my images

@thomasehuang
Do you have a script to do this? I have tried to use image_demo.py from mmsegmentation/demo, but it has an error.
Thanks

I just use the MMSegmentation repository for training and inference, so you should look for a solution there if there is a problem.

@thomasehuang
I have mmsegmentation installed before and it runs OK with inferencing on my own image. Is it possible to just copy your config files into mmsegmentation config directory and download your pretrained model and use my working python script to test my own images. Do you see any problem with this approach?
Thanks,

I got the following error with  configs/sem_seg/fcn_hr48_512x1024_80k_sem_seg_bdd100k.py  and fcn_hr48_512x1024_80k_sem_seg_bdd100k.pth when image_demo.py:
File "/home/test/anaconda3/envs/remnav/lib/python3.8/site-packages/mmseg/apis/inference.py", line 35, in init_segmentor
model.CLASSES = checkpoint['meta']['CLASSES']
KeyError: 'meta'
Any idea why this happens? I don't see this issue with config and trained model from mmsegmentation repository.
Thanks,

@thomasehuang
I have mmsegmentation installed before and it runs OK with inferencing on my own image. Is it possible to just copy your config files into mmsegmentation config directory and download your pretrained model and use my working python script to test my own images. Do you see any problem with this approach?
Thanks,

This should be fine.

I got the following error with configs/sem_seg/fcn_hr48_512x1024_80k_sem_seg_bdd100k.py and fcn_hr48_512x1024_80k_sem_seg_bdd100k.pth when image_demo.py:
File "/home/test/anaconda3/envs/remnav/lib/python3.8/site-packages/mmseg/apis/inference.py", line 35, in init_segmentor model.CLASSES = checkpoint['meta']['CLASSES'] KeyError: 'meta'
Any idea why this happens? I don't see this issue with config and trained model from mmsegmentation repository.
Thanks,

The model checkpoints were not saved with the meta information, which is why there's an issue. I can fix this in the future, but it will take some time. For now, you can hack it to make it work by just manually setting model.CLASSES and model.PALETTE to the values here: https://github.com/SysCV/bdd100k-models/blob/main/sem_seg/datasets/bdd100k.py#L19_L61. Thanks for letting me know this issue!

@thomasehuang
I have mmsegmentation installed before and it runs OK with inferencing on my own image. Is it possible to just copy your config files into mmsegmentation config directory and download your pretrained model and use my working python script to test my own images. Do you see any problem with this approach?
Thanks,

This should be fine.

I got the following error with configs/sem_seg/fcn_hr48_512x1024_80k_sem_seg_bdd100k.py and fcn_hr48_512x1024_80k_sem_seg_bdd100k.pth when image_demo.py:
File "/home/test/anaconda3/envs/remnav/lib/python3.8/site-packages/mmseg/apis/inference.py", line 35, in init_segmentor model.CLASSES = checkpoint['meta']['CLASSES'] KeyError: 'meta'
Any idea why this happens? I don't see this issue with config and trained model from mmsegmentation repository.
Thanks,

The model checkpoints were not saved with the meta information, which is why there's an issue. I can fix this in the future, but it will take some time. For now, you can hack it to make it work by just manually setting model.CLASSES and model.PALETTE to the values here: https://github.com/SysCV/bdd100k-models/blob/main/sem_seg/datasets/bdd100k.py#L19_L61. Thanks for letting me know this issue!


Optionally remove the restriction on maximum recipients for peer review activation requests email

Hi,
Today if a JIT controlled role has multi party approval enabled and there are more than 10+ in a team who can approve/review the requests, and the requester uses the "Select all" checkbox -  the UI shows an error that there can be maximum 10 recipients. This makes using the checkbox difficult because with our organization most of the groups/app teams are more than 10 people.
We're using an internal SMTP relay to deliver the emails and certainly have no intentions to spam the world with JIT requests, could this restriction be turned off if let's say the SMTP relay is not gmail.com/outlook.com etc?
Thank you!

You can adjust the maxiumum number of reviewers by adding the environment variable ACTIVATION_REQUEST_MAX_REVIEWERS to your app.yaml (requires version 1.4). Maybe you can use that and set the limit to 100 or so?

I'm sorry, silly me. Thanks for this, I missed it. We will try shortly!

No worries :)
I'll close this issue then -- if something still doesn't work after adding the environment variable, you can just reopen it.


Remove _PREDICATE sort

Fixes #2152.
Opening a new pull request to avoid spamming the original author with notifications.

Review checklist
The author performs the actions on the checklist. The reviewer evaluates the work and checks the boxes as they are completed.

[ ] Summary. Write a summary of the changes. Explain what you did to fix the issue, and why you did it. Present the changes in a logical order. Instead of writing a summary in the pull request, you may push a clean Git history.
[ ] Documentation. Write documentation for new functions. Update documentation for functions that changed, or complete documentation where it is missing.
[ ] Tests. Write unit tests for every change. Write the unit tests that were missing before the changes. Include any examples from the reported issue as integration tests.
[ ] Clean up. The changes are already clean. Clean up anything near the changes that you noticed while working. This does not mean only spatially near the changes, but logically near: any code that interacts with the changes!

@ana-pantilie These are the places where we still use fromPredicate_ and don't have a sort in the context to use (except for the cases where we do pretty printing):
https://github.com/kframework/kore/blob/ce423fb1b8760873f5bc6844864b9f94eba7ed04/kore/src/Kore/Internal/Predicate.hs#L1120
https://github.com/kframework/kore/blob/252ff7bfeac9895d8511a4af6b7d33f4902ad749/kore/src/Kore/Step/Simplification/Predicate.hs#L77
https://github.com/kframework/kore/blob/e0614507f2172e8d161fa8e8eddd844dba724eae/kore/src/Kore/Step/SMT/Translate.hs#L137

@andreiburdusa About the fromPredicate_ usages:

The second is fine, we will have to remove that function in a new PR anyway.
I'm a little confused about the third, judging by the function name and how this code seems to work I think we should be matching on a Predicate there instead of a TermLike, but we also check the definedness there as well which I think only makes sense in the context of a TermLike. Maybe we should change it that the argument is a Predicate on which we match, and move the definedness check in the TermLike translator? Do you think that makes sense or is there anything I'm missing here?

Needs #2610


Design "searches related to" section

JIRA issue created by: rcook
Originally opened: 2011-11-08 04:15 PM
Issue body:
(nt)
This issue has an attachment associated with it (external link): [searches related.png](http://www.carli.illinois.edu/sites/files/XCfiles/searches related.png)

JIRA Comment by user: rcook
JIRA Timestamp: 2011-11-08 04:16 PM
Comment body:
We have asked Peter to remove this for the demo, but Dave would like to design it with Sean so that it can be added back in the future.


elm reactor not serving .webp

Quick Summary: elm reactor does not serve .webp images as it should. related issue in the old repo never marked closed.
SSCCE

Elm: 0.19.0
Browser: Firefos 67
Operating System: Xubuntu 19.04

Additional Details
???

It looks like since that previous issue the support has gotten better. Looks like only Safari does not support it at this time. Thanks for moving the issue to the new repo!


Example for doing things with devices accessed throung the hub

It would be nice to have an example of how to access devices behind an h100 hub. In particular I am interested in how to get button events from an S200B and/or temperature/humidity history from a T310.
Comes to think of it, how do we respond in Python to events originating in the device - such as movements detected by the T100?
Great piece of work - many thanks!

This functionality exists in the Rust library, and I'm currently porting it to Python.
The effort is tracked in #128.


Pinned cities

Location:

App.js
LogoComponent.js
PinnedCities/*
UserDashboard/*

Details:

cleaned up code for style & layout
converted some elements into components

Commited Features:
layout, logo, dashboard & pinned cities pages

 Refactor dashboard / pinned cities


⚠ ESPN has degraded performance

In 1f25fa0, ESPN (https://espn.com) experienced degraded performance:

HTTP code: 200
Response time: 589 ms

Resolved: ESPN performance has improved in 3981b4f.


Resume/suspend/terminate/stop can result in invalid state

Summary
Only the workflow controller should be able to change a workflow.
Motivation
All these operations can result in invalid state one large workflows because they update the workflow out of the main loop.
Proposal
The controller currently reacts to pod and workflow changes, but it can already be reacting when a third-party changes - resulting in conflict and invalid state.
We could have a new operation queue that takes operations to workflows and ensures they are applied sequentially.

Message from the maintainers:
If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

See #2367


Make sure grey works as well when logging in mono mode

Closes: #274

Codecov Report

Merging #275 into develop will decrease coverage by <.01%.
The diff coverage is 0%.

@@             Coverage Diff             @@
##           develop     #275      +/-   ##
===========================================
- Coverage    28.95%   28.94%   -0.01%
===========================================
  Files           53       53
  Lines         5647     5648       +1
  Branches      1211     1211
===========================================
  Hits          1635     1635
- Misses        2920     2921       +1
  Partials      1092     1092

Flag
Coverage Δ

#rnvunittests
28.94% <0%> (-0.01%)
:arrow_down:

Impacted Files
Coverage Δ

packages/rnv/src/systemTools/logger.js
30.98% <0%> (-0.15%)
:arrow_down:

Continue to review full report at Codecov.

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


Add compiler-rt to build.

Alright! Let's run and see if it works!

Thank you!

Noo, the cmake --install command failed, which messed everything up :skull:


Shutting down all stores in a disk in parallel

As of now, all stores in a disk and all disks in a storage node is shutdown sequentially. We don't see a reason why not to shutdown all in parallel. No data is shared among different disks. Only shared data among different stores in the same disk is replicaToken file which is handled by the ReplicationManager. And during shutdown of an Ambry Server, ReplicationManager is shutdown before we shutdown StorageManager. So, there is no dependency or anything else that holds us back not to shutdown all stores in parallel. So, with this change, the net effect will be seen only wrt shutdown times of an ambry server. We don't see any correctness issues with this change.
SLA: 15 mins
Reviewers: @cgtz @vgkholla
Built and coding style applied
Coverage:
By running StorageManagerTest
ClassName              Class, %	        Method, %	  Line, %
DiskManager	        100% (3/ 3)	100% (14/ 14)	  100% (79/ 79)
StorageManager	100% (3/ 3)	92.3% (12/ 13)	  89.9% (71/ 79)
(InterruptedException catch block is not covered in StorageManager)

@vgkholla : addressed all comments

@vgkholla @cgtz : done addressing all comments.


Add dynamic array to P4

This would help any packet buffering used by 5G cellular. Packet buffering is also used for reassembly in end nodes.
From: Mihai Budiu<EMAIL_ADDRESS>Sent: Friday, June 18, 2021 2:17 AM
To<EMAIL_ADDRESS>Gergely Pongracz<EMAIL_ADDRESS><EMAIL_ADDRESS>Cc<EMAIL_ADDRESS>Subject: RE: [P4-design] Re: new language features for "5G" and "edge" use cases
Packet_in is an extern. There are no operations on extern except instantiation and method calls.
In particular, there is no assignment between externs (except compile-time binding as parameters).
If you want to do something like this you will probably have to invent a new extern to represent a dynamic array.
Mihai
From<EMAIL_ADDRESS><EMAIL_ADDRESS>Sent: Thursday, June 17, 2021 8:24 AM
To<EMAIL_ADDRESS>Mihai Budiu<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Cc<EMAIL_ADDRESS>Subject: RE: [P4-design] Re: new language features for "5G" and "edge" use cases
To store packets, I would need an array of Packet_in in P4 which is a new construct for P4.
Hemant

P4 terminating nodes are growing.
@mihaibudiu Do you think the P4 spec could define the extern for dynamic array for use with Packet_in?

@hesingh -- as of today, it is a known fact that P4 has not been designed to work with packet payloads. The only thing it has so far, are a couple of externs, packet_in and packet_out that have fairly limited functionality.
Nevertheless, before we start adding new constructs, it would be helpful to describe in detail what you are trying to achieve. For example, as of today the packet buffering functionality is not expressable in P4 and therefore even very complex buffering engines are exposed as fixed-function components interfacing with the rest of the P4 program using intrinsic metadata. Only after you demonstrate that the current mechanisms (externs and intrinsic metadata) are not sufficient to express what you need, then we should start looking at new constructs.
So, let's go through this exercise first: describe what kind of functionality in your target you need to describe in P4, why exiting mechanisms will not work and then show how you would like the new mechanisms to look like and how it can help.

My ask has been discussed in p4-design in detail after this presentation: https://opennetworking.org/wp-content/uploads/2021/05/Gergely-Pongracz-Slides.pdf
See slide 4 and the service is on a terminating node. The slide shows buffering is simple - delete/save pkt in buffer.

The only issue with an extern is one vendor supports it but another may not. This is another reason to look into the issue for any other thoughts. I can think of a dynamic array in a host P4 core implementation.

@hesingh -- as of today, it is a known fact that P4 has not been designed to work with packet payloads. The only thing it has so far, are a couple of externs, packet_in and packet_out that have fairly limited functionality.
Nevertheless, before we start adding new constructs, it would be helpful to describe in detail what you are trying to achieve. For example, as of today the packet buffering functionality is not expressable in P4 and therefore even very complex buffering engines are exposed as fixed-function components interfacing with the rest of the P4 program using intrinsic metadata. Only after you demonstrate that the current mechanisms (externs and intrinsic metadata) are not sufficient to express what you need, then we should start looking at new constructs.
So, let's go through this exercise first: describe what kind of functionality in your target you need to describe in P4, why exiting mechanisms will not work and then show how you would like the new mechanisms to look like and how it can help.

See
https://groups.google.com/a/lists.p4.org/g/p4-design/c/Bk36zDYY1Uw/m/nLDNwUhjAAAJ

@hesingh -- I looked at both the presentation and the discussion. I still believe that it does not provide proper justification for a feature.
Again, you need to start with the details of the specific target. For example, I fail to see how the functionality described on the slide number 4 cannot be implemented using a fixed-function device controlled by relatively simple intrinsic metadata, such as:
enum bit<8> special_buffer_cmd_t {
    ADD = 0,
    DEL = 1
}

struct intrinsic_metadata_for_the_special_buffer_t {
     special_buffer_cmd_t  cmd;
     bit<32>               timeout_us;
     bit<32>               pkt_tag;           /* Optional, but might help to identify a specific packet among many */
}

In addition, one can add intrinsic metadata for the parser that will indicate that the packet is being resubmitted by the buffering engine rather than being received from the wire.
Similarly, on the slide 5 it is stated that "Buffering is gap #1", whereas there are at least two practical architectures with pretty complicated buffering that is fully supported. Again, unless your goal is to make the actual buffering algorithms programmable, there is very little that you need to have. To a large extent, by the way, buffering and queueing algorithms can be easily expressed in P4, since they are nothing more than a series of lookups, mappings, threshold comparisons and state updates (scheduling/shaping is a very different story).
Internal clock-based events mentioned in the slides can also be largely implemented without any additions to the language. All that is required is for the specific architecture to define when a specific control is going to be called and with what (intrinsic) metadata. As of today, for example, the ingress() or egress() control is called in the event where a packet is received, but nothing prevents an architecture to specify a timer() control (or controls) that will be called every so often (and also provide the APIs to control the periodicity). In fact, the architecture can even be defined so that the ingress() or egress() control can also be called without any packet too.
Last, but not least, nowhere in the slides it is mentioned that one needs a dynamic array.
It is somewhat mentioned in the long email chain you attached, and there it is clearly stated that the problem can be solved with an extern. I didn't go very deep (since it's a long email chain with its own threads and sub-threads), but I think that the statement is correct -- you can always define an extern that will behave like a dynamic array. Simply have a get() and set() methods that take an index.
It is very important that when presented with the new HW, we always try to use existing mechanisms first. They are very generic and very powerful. Only if there is no way around the problem, that's when we need to start developing a new solution. Imagine, if for every new IO device, people will start asking adding new instructions to the CPUs :)
The email chain also contains the "portability" argument that I find extremely weak if not outright wrong. We need to accept that as of today, P4 cannot provide any portablity between hardware targets, while SW targets are completely free to implement any architecture and any externs.

@hesingh -- I looked at both the presentation and the discussion. I still believe that it does not provide proper justification for a feature.
Again, you need to start with the details of the specific target. For example, I fail to see how the functionality described on the slide number 4 cannot be implemented using a fixed-function device controlled by relatively simple intrinsic metadata, such as:
enum bit<8> special_buffer_cmd_t {
    ADD = 0,
    DEL = 1
}

struct intrinsic_metadata_for_the_special_buffer_t {
     special_buffer_cmd_t  cmd;
     bit<32>               timeout_us;
     bit<32>               pkt_tag;           /* Optional, but might help to identify a specific packet among many */
}

The packets have identical header data - how do you generate pkt_tag? Is pkt_tag a monotonically increasing number? If so, when the pkt is freed, its pkt_tag is inserted back in the pool of ids and code manages free vs. used ids. Gets complicated.
What else do you propose for pkt_tag?

In addition, one can add intrinsic metadata for the parser that will indicate that the packet is being resubmitted by the buffering engine rather than being received from the wire.

Similarly, on the slide 5 it is stated that "Buffering is gap #1", whereas there are at least two practical architectures with pretty complicated buffering that is fully supported. Again, unless your goal is to make the actual buffering algorithms programmable, there is very little that you need to have. To a large extent, by the way, buffering and queueing algorithms can be easily expressed in P4, since they are nothing more than a series of lookups, mappings, threshold comparisons and state updates (scheduling/shaping is a very different story).

I never say slide 5 or traffic shaping is my goal.

Internal clock-based events mentioned in the slides can also be largely implemented without any additions to the language. All that is required is for the specific architecture to define when a specific control is going to be called and with what (intrinsic) metadata. As of today, for example, the ingress() or egress() control is called in the event where a packet is received, but nothing prevents an architecture to specify a timer() control (or controls) that will be called every so often (and also provide the APIs to control the periodicity). In fact, the architecture can even be defined so that the ingress() or egress() control can also be called without any packet too.
Last, but not least, nowhere in the slides it is mentioned that one needs a dynamic array.

The p4-design discussion mentions dynamic array by Mihai.

It is somewhat mentioned in the long email chain you attached, and there it is clearly stated that the problem can be solved with an extern. I didn't go very deep (since it's a long email chain with its own threads and sub-threads), but I think that the statement is correct -- you can always define an extern that will behave like a dynamic array. Simply have a get() and set() methods that take an index.
It is very important that when presented with the new HW, we always try to use existing mechanisms first. They are very generic and very powerful. Only if there is no way around the problem, that's when we need to start developing a new solution. Imagine, if for every new IO device, people will start asking adding new instructions to the CPUs :)
The email chain also contains the "portability" argument that I find extremely weak if not outright wrong. We need to accept that as of today, P4 cannot provide any portablity between hardware targets, while SW targets are completely free to implement any architecture and any externs.

The packets have identical header data - how do you generate pkt_tag? Is pkt_tag a monotonically increasing number? If so, when the pkt is freed, its pkt_tag is inserted back in the pool of ids and code manages free vs. used ids. Gets complicated. What else do you propose for pkt_tag?

It all depends on the capabilities of the hardware that needs to be described. Which is why I am still trying to encourage you to provide a detailed description of the hardware for which you want to define an architecture that somehow requires dynamic arrays or whatever else. Do you have such hardware (or, at least, the SW model of it)? If not, this discussion can be tabled until you do.
To answer your specific question, the contents of packet headers does not matter. The program should be able to assign a tag for whichever packet it chooses. This can be done incrementally or tags can be retrieved from and returned to a FIFO (T2NA architecture successfully demonstrates how FIFOs can be exposed as P4 externs), or can be assigned based on the timestamp or some internal counter, etc. etc. That's not the point.

The hardware is generic compute or multi-core ARM cpu.

@hesingh -- stating that your target is a generic CPU is not helpful. As you know, it is not a goal of the language to be able to express whatever a generic CPU can do.
It is much more helpful to think of the data plane program that you plan to execute of the general-purpose CPU as combined of different blocks; the algorithms executed by some of them (i.e. header manipulation, modification, etc.) can be expressed in P4 and algorithms executed by the others cannot (and should not) be expressed in P4. The examples of the latter are shapers and schedulers. Now, you need to figure out what is the functionality of the block that you are trying to describe and, hence, what are the interfaces (in the form of intrinsic metadata) that a P4 program should employ to interface with that block. That's all.
Unless you can get into that mindset, we'll continue to be going in circles.  You continue to state that you need "something", but fail to provide a clear description of that "something", e.g. in the form of a P4 code. If there are some things missing -- no problem -- that code does not need to compile. Simply put in a fragment and explain why this is the only way you can achieve the desired functionality.

@vgurevich Sorry, I have not found anything in your discussion that I don't already know.
Please wait for Mihai to reply.
I already said I am not discussing traffic shaping. The algorithm is also clear in slide four for buffering. A dynamic array is the correct data struct to use.

Mihai has retired from his P4 position and will no longer make spend too much time on the P4 compiler or language design. His new job requires more of his time.

We discussed this issue at a recent P4 LDWG.
There was broad agreement that adding dynamically-allocated data structures to the core language (as opposed to an extern) would be a major change that alters some of the fundamental principles that have guided P4 since the beginning. That is not to say that the community would be dead-set against such an extension, but it would be a major new version of the language. We encourage the proponents flesh out the use cases, prototype it through the extern mechanism, and then come back with a fully-formed proposal.


Slanted plane assumption in matching process?

Hi,@dorodnic. I am curious with the matching process of D435. It is important for my project. I think it is written on the sensor with firmware. So these are my guess below.

I wonder if it is using a slanted plane assumption, like famous patchmatch. Cause the point cloud is always in a slanted plane.
the slanted plane is towards the left infrared camera, in the visual ray, I guess.
I want to figure out the relation between point cloud and real object surface. It will help us to optimize the sensed surface.
If you can give me some explanation, may be some simple equation, that will be grateful.
Thank you.

A milk box scan by D435.

The depth map from the stereo matching is done in the RealSense D4 Vision Processor.
You may find the information contained in the RealSense D400 datasheet helpful.
https://dev.intelrealsense.com/docs/intel-realsense-d400-series-product-family-datasheet
RealSense SDK 2.0 also has a great documentation between the 2D depth and the point cloud.
https://github.com/IntelRealSense/librealsense/wiki/Projection-in-RealSense-SDK-2.0
Thank you.


Added documentation for Kythe Configurable Extraction. [phab:D2308]

Created by craigbarber at 2018-05-12 00:03:57:

craigbarber wrote at 2018-05-12 00:05:18:

fixed some spacing

danielmoy-google accepted this revision at 2018-05-12 00:08:24

shahms commented inline (context lost during migration) at 2018-05-14 17:17:36:
What if I just want to extract it locally rather than jumping through all of the Docker hoops?

shahms commented inline (context lost during migration) at 2018-05-14 17:17:36:
"The configuration is used to build an image suitable for building and extracting a given repository." Or something. This sentence is daunting.

shahms commented inline (context lost during migration) at 2018-05-14 17:17:36:
Shouldn't the links be [Compilation Units](https://....) style?

shahms commented inline (context lost during migration) at 2018-05-14 17:17:36:
It's unclear to me what benefit this provides over using a docker file directly?

shahms commented inline (context lost during migration) at 2018-05-14 17:17:36:
s/readme document/documentation/

shahms wrote at 2018-05-14 17:17:36:
It's a little unclear to me what purpose the .kythe-extraction-config serves.  I assume it's for extractrepo or similar automated processes to be able to build suitable Docker images just given the repository, but it's not clearly specified.
I would expect a lot of projects already have a suitably configured Dockerfile for their continuous integration testing, so it might be useful to provide provide more emphasis on the volumes and environment variables which will be used for extraction and details of the build-system wrappers.
There doesn't seem to be a solution for "local" extraction (e.g. "I'm sitting in this repo already, give me a blob of extracted CUs").

craigbarber wrote at 2018-05-14 18:22:52:

incorporated CL feedback

craigbarber commented inline (context lost during migration) at 2018-05-14 18:23:55:
This follows the synax for asciidoc: https://asciidoctor.org/docs/asciidoc-syntax-quick-reference/#links

craigbarber commented inline (context lost during migration) at 2018-05-14 18:23:55:
The extractrepo binary does run locally, it just has Docker and Git as a dependency. Having the local extraction tool use the same tools and workflow as in production ensures functional parity when testing locally.

craigbarber commented inline (context lost during migration) at 2018-05-14 18:23:55:
Will send a link to the design document which should help put the configuration in context and better answer this question.

craigbarber commented inline (context lost during migration) at 2018-05-14 18:23:55:
Incorporated this feedback, also added some more contextual information as to the purpose of this configuration.

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:
It might be worth adding a note here that this is work in progress, and that we don't currently expect people will be able to just plug-and-chug.

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:

"The workflow consumes…"

It would be helpful to have a crisp declaration somewhere early on about what exactly the moving parts are. E.g., "The system consists of a per-repository configuration file and a collection of tools that consume that file to generate a customized extraction image tailored to that repository. An extraction image defines a host environment for hermetically building the repository's contents (e.g., in Docker) with Kythe extractor tools injected, to generate Kythe …[Compilatoion Units]. These units are consumed downstream for static analysis and indexing." ❡
(I'm not set on that wording, but I'd like to get at the idea of defining the pieces fairly specifically up front, so the reader has a working vocabulary when reading the rest)

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:
Suggest a paragraph break after "…and indexing."

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:
"An extraction configuration…" (term of art)

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:
… a Docker image …?
nit: echo of "build". Suggest: "…construct a Docker image suitable for building…" perhaps.

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:
I think this sentence is a bit more detail than the user needs at this point in time ("It is meant…"). At this point I think we can keep it simple. Perhaps:

This schema defines a low-level configuration format. Where practical, configuration settings
will be inferred automatically, but in cases where that is not possible, a user-friendly interface
may be added to allow users to control the extraction behavior directly.

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:
Please make the link label match the filename: extraction_config.proto.

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:
Format of this file? (Wire-format proto? Text proto? JSON?)
I think it's JSON—in which case somewhere we should mention that this is the canonical JSON encoding of the protobuf or words to that effect.

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:
Nit:
…from mvn_config.json…
or
…from the mvn_config.json file…

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:

Instances of this configuration…

This is kind of "how" rather than "what"—i.e., it's not really about the schema, it's about how to use the files and the tools. Can this get its own section? (It might already have one, I'm not done reading the file yet)

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:
I suggest using the proto syntax for the fields directly, so the type information doesn't need to be spelled out in words. E.g.,

repeated Image required_image

This field defines base images to copy into the generated extraction image, where for each
listed required_image, the Docker image will have:
FROM <required_image.uri> as <required_image.name>
COPY <required_image.copy_spec.source> <required_image.copy_spec.dest>
# …repeated…
ENV <required_image.env_var.name>=<required_image.env_var.value>
# …repeated…

or something along those lines. Another key point here is making the names match up (field name to metasyntactic variables in the example).

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:

The Image message has the following parts:

or some such (so its clear we switched types).

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:
s/which provide//

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:
s/, which allows for specifying/to specify/

fromberger commented inline (context lost during migration) at 2018-05-14 19:20:32:
folders → directories ?

craigbarber wrote at 2018-05-14 20:39:13:

incorporated CL feedback

shahms commented inline (context lost during migration) at 2018-05-14 21:47:27:
Ah, my mistake, for some reason I thought this was markdown.

shahms commented inline (context lost during migration) at 2018-05-14 21:47:27:
My definition of "locally" does not include fetching things remotely.  I would prefer using the word "manually" here and elsewhere.
Locally strongly suggests running within the current environment (e.g. from this description, running the wrapper script), not pulling something down over the wire.
Local and manual debugging should absolutely use the same tools and workflows as production, but should also be politely layered so as to avoid needing to rebuild and refetch the entire docker image for every change during a debug cycle.  Certainly, final verification of changes should do so but it's a pretty laborious step to have to do so continuously during development.
Ultimately, this is a minor editorial point, but I think it might be a good idea to provide some guidance on writing the wrapper scripts themselves and (at some point) provide a kythe extraction driver with more build-system specific knowledge built in to make this easier for users, e.g
ENTRYPOINT path/to/kythe extract --repository /repo --output /out
(But we're not there yet :-)

craigbarber wrote at 2018-05-14 22:26:28:

incorporated CL feedback

craigbarber commented inline (context lost during migration) at 2018-05-14 22:30:08:
Modified the doc to use "manual" instead of "local" when referring to the extraction tools.
There is a section down below labelled "Extraction Wrapper" which provides guidance you mention and provides an example.

shahms accepted this revision at 2018-05-14 22:33:15

fromberger commented inline (context lost during migration) at 2018-05-15 17:13:21:
nit: leftover newline here

fromberger commented inline (context lost during migration) at 2018-05-15 17:13:21:
[optional] It may be worth mentioning as a side note that kindex is an implementation detail, and may change. (Partly because I'm about to start working on changing it, so I noticed)

fromberger accepted this revision at 2018-05-15 17:13:21

craigbarber wrote at 2018-05-15 17:24:48:

incorporated CL feedback

craigbarber closed via commit 17003da05c140246c2a6d073229f08164c17390e at 2018-05-15 17:25:48


dropbox request result ENOTFOUND

Describe the bug
this bug can happen sometimes, whenever to call dropbox it is result in ENOTFOUND system error, and i cannot catch it using simple try..catch
To Reproduce
Expected Behavior
return success or fail based on documentation when calling those dropbox api
Actual Behavior
got error ENOTFOUND
Screenshots
`Trace: {
statusCode: 500,
message: 'request to https://content.dropboxapi.com/2/files/upload failed, reason: getaddrinfo ENOTFOUND content.dropboxapi.com'
}
at errorHandlerMiddleware (file:///root/app/dist/middlewares/error-handler.js:58:21)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:71:5)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/root/app/node_modules/express/lib/router/index.js:346:12)
at next (/root/app/node_modules/express/lib/router/index.js:280:10)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:67:12)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/root/app/node_modules/express/lib/router/index.js:346:12)
at next (/root/app/node_modules/express/lib/router/index.js:280:10)
at /root/app/node_modules/express/lib/router/index.js:646:15
at next (/root/app/node_modules/express/lib/router/index.js:265:14)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:67:12)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
FetchError: request to https://content.dropboxapi.com/2/files/upload failed, reason: getaddrinfo ENOTFOUND content.dropboxapi.com
at ClientRequest. (/root/app/node_modules/node-fetch/lib/index.js:1501:11)
at ClientRequest.emit (node:events:520:28)
at TLSSocket.socketErrorListener (node:_http_client:502:9)
at TLSSocket.emit (node:events:520:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
type: 'system',
errno: 'ENOTFOUND',
code: 'ENOTFOUND'
}
Trace: {
statusCode: 500,
message: 'request to https://api.dropboxapi.com/2/sharing/list_shared_links failed, reason: getaddrinfo ENOTFOUND api.dropboxapi.com'
}
at errorHandlerMiddleware (file:///root/app/dist/middlewares/error-handler.js:58:21)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:71:5)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/root/app/node_modules/express/lib/router/index.js:346:12)
at next (/root/app/node_modules/express/lib/router/index.js:280:10)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:67:12)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/root/app/node_modules/express/lib/router/index.js:346:12)
at next (/root/app/node_modules/express/lib/router/index.js:280:10)
at /root/app/node_modules/express/lib/router/index.js:646:15
at next (/root/app/node_modules/express/lib/router/index.js:265:14)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:67:12)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
FetchError: request to https://api.dropboxapi.com/2/sharing/list_shared_links failed, reason: getaddrinfo ENOTFOUND api.dropboxapi.com
at ClientRequest. (/root/app/node_modules/node-fetch/lib/index.js:1501:11)
at ClientRequest.emit (node:events:520:28)
at TLSSocket.socketErrorListener (node:_http_client:502:9)
at TLSSocket.emit (node:events:520:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
type: 'system',
errno: 'ENOTFOUND',
code: 'ENOTFOUND'
}
Trace: {
statusCode: 500,
message: 'request to https://content.dropboxapi.com/2/files/upload failed, reason: getaddrinfo ENOTFOUND content.dropboxapi.com'
}
at errorHandlerMiddleware (file:///root/app/dist/middlewares/error-handler.js:58:21)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:71:5)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/root/app/node_modules/express/lib/router/index.js:346:12)
at next (/root/app/node_modules/express/lib/router/index.js:280:10)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:67:12)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/root/app/node_modules/express/lib/router/index.js:346:12)
at next (/root/app/node_modules/express/lib/router/index.js:280:10)
at /root/app/node_modules/express/lib/router/index.js:646:15
at next (/root/app/node_modules/express/lib/router/index.js:265:14)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:67:12)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
FetchError: request to https://content.dropboxapi.com/2/files/upload failed, reason: getaddrinfo ENOTFOUND content.dropboxapi.com
at ClientRequest. (/root/app/node_modules/node-fetch/lib/index.js:1501:11)
at ClientRequest.emit (node:events:520:28)
at TLSSocket.socketErrorListener (node:_http_client:502:9)
at TLSSocket.emit (node:events:520:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
type: 'system',
errno: 'ENOTFOUND',
code: 'ENOTFOUND'
}
error while syncing:  FetchError: request to https://api.dropboxapi.com/2/files/list_folder failed, reason: getaddrinfo ENOTFOUND api.dropboxapi.com
at ClientRequest. (/root/app/node_modules/node-fetch/lib/index.js:1501:11)
at ClientRequest.emit (node:events:520:28)
at TLSSocket.socketErrorListener (node:_http_client:502:9)
at TLSSocket.emit (node:events:520:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
type: 'system',
errno: 'ENOTFOUND',
code: 'ENOTFOUND'
}
Trace: {
statusCode: 500,
message: 'request to https://content.dropboxapi.com/2/files/upload failed, reason: getaddrinfo ENOTFOUND content.dropboxapi.com'
}
at errorHandlerMiddleware (file:///root/app/dist/middlewares/error-handler.js:58:21)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:71:5)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/root/app/node_modules/express/lib/router/index.js:346:12)
at next (/root/app/node_modules/express/lib/router/index.js:280:10)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:67:12)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/root/app/node_modules/express/lib/router/index.js:346:12)
at next (/root/app/node_modules/express/lib/router/index.js:280:10)
at /root/app/node_modules/express/lib/router/index.js:646:15
at next (/root/app/node_modules/express/lib/router/index.js:265:14)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:67:12)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
FetchError: request to https://content.dropboxapi.com/2/files/upload failed, reason: getaddrinfo ENOTFOUND content.dropboxapi.com
at ClientRequest. (/root/app/node_modules/node-fetch/lib/index.js:1501:11)
at ClientRequest.emit (node:events:520:28)
at TLSSocket.socketErrorListener (node:_http_client:502:9)
at TLSSocket.emit (node:events:520:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
type: 'system',
errno: 'ENOTFOUND',
code: 'ENOTFOUND'
}
Trace: {
statusCode: 500,
message: 'request to https://api.dropboxapi.com/2/sharing/list_shared_links failed, reason: getaddrinfo ENOTFOUND api.dropboxapi.com'
}
at errorHandlerMiddleware (file:///root/app/dist/middlewares/error-handler.js:58:21)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:71:5)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/root/app/node_modules/express/lib/router/index.js:346:12)
at next (/root/app/node_modules/express/lib/router/index.js:280:10)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:67:12)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
at Function.process_params (/root/app/node_modules/express/lib/router/index.js:346:12)
at next (/root/app/node_modules/express/lib/router/index.js:280:10)
at /root/app/node_modules/express/lib/router/index.js:646:15
at next (/root/app/node_modules/express/lib/router/index.js:265:14)
at Layer.handle_error (/root/app/node_modules/express/lib/router/layer.js:67:12)
at trim_prefix (/root/app/node_modules/express/lib/router/index.js:326:13)
at /root/app/node_modules/express/lib/router/index.js:286:9
FetchError: request to https://api.dropboxapi.com/2/sharing/list_shared_links failed, reason: getaddrinfo ENOTFOUND api.dropboxapi.com
at ClientRequest. (/root/app/node_modules/node-fetch/lib/index.js:1501:11)
at ClientRequest.emit (node:events:520:28)
at TLSSocket.socketErrorListener (node:_http_client:502:9)
at TLSSocket.emit (node:events:520:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
type: 'system',
errno: 'ENOTFOUND',
code: 'ENOTFOUND'
}`
Versions

What version of the SDK are you using? "^10.34.0"
What version of the language are you using? node v22.4.1 (npm v10.8.1)
Are you using Javascript or Typescript? Typescript
What platform are you using? (if applicable) NodeJS

Additional context
Add any other context about the problem here.

I'll provide a simple scenario:
note that this is more of a pseudo code rather than actual code
`typescript
async function uploadWithRetry(filePath: string, contents: Buffer) {
// upload
try {
const result = await dropbox.filesUpload({
path: filePath,
contents: contents,
mode: {
".tag": "add",
},
});
            return result;
        } catch (error: unknown) {
         // here the error was not catchable so the code inside this catch block won't be executed
          console.error(error);
        }

}
`
let me provide more scenario:
async function handleUpload(buffer) {
let filePath: string;
try {
    // first we upload the original buffer to the dropbox
    filePath = await DropboxHelper.upload(buffer);

    // then we convert the buffer to a smaller size for a thumbnail, and then store it on dropbox
    // so it is call the DropboxHelper.upload again
    await Thumbnail.create(buffer, ThumbnailSize.SMALL);

    // then we create the large thumbnail
    // what if this code fail because ENOTFOUND?
    // the thumbnail large will not created, but the original file still get uploaded
    // that's resulting inconsistency
    await Thumbnail.create(buffer, ThumbnailSize.LARGE);

    // upload to db

} catch (e: unknown) {
   // this won't catch
   await DropboxHelper.delete(filePath);
   await Thumbnail.delete(filePath, ThumbnailSize.SMALL);
   await Thumbnail.delete(filePath, ThumbnailSize.LARGE);

   // delete on db
}

}

I solved it, it look like because the server dns resolution timeout, and i fix it by install dns cache service
sudo dnf install -y nscd
sudo systemctl enable --now nscd


Reports rollover transactions from the last day of the month to next month

Defective ToolKit Feature Name: Reports
Expected Behavior
Reports used to show transactions sorted by month.
Actual Behavior
Reports now show some transactions from previous month under the current month, if the date is the last day of the previous month. Possibly a timezone issue?
Steps to Reproduce the Behavior

Noticed Net Worth report and Income vs. Expense report were both off.
Checked transactions - noticed one transaction in particular that cleared last month showed up in the November Income vs Expense report.

Export of Toolkit Settings (Bottom Left of Settings Page)
[{"key":"accountTransactionSearch","value":true},{"key":"accountsClearSelection","value":false},{"key":"accountsDisplayDensity","value":"0"},{"key":"accountsEmphasizedOutflows","value":true},{"key":"accountsRowHeight","value":"0"},{"key":"accountsSelectedTotal","value":true},{"key":"accountsStripedRows","value":false},{"key":"activityTransactionLink","value":true},{"key":"budgetBalanceToZero","value":true},{"key":"budgetProgressBars","value":"both"},{"key":"budgetQuickSwitch","value":true},{"key":"budgetRowsHeight","value":"1"},{"key":"categoryActivityPopupWidth","value":"2"},{"key":"changeEnterBehavior","value":true},{"key":"checkCreditBalances","value":true},{"key":"checkNumbers","value":false},{"key":"collapseExpandBudgetGroups","value":true},{"key":"collapseSideMenu","value":false},{"key":"colourBlindMode","value":false},{"key":"currentMonthIndicator","value":true},{"key":"daysOfBuffering","value":true},{"key":"daysOfBufferingHistoryLookup","value":"0"},{"key":"editButtonPosition","value":"1"},{"key":"enableRetroCalculator","value":true},{"key":"enlargeCategoriesDropdown","value":true},{"key":"enterInRegisterNow","value":true},{"key":"exportTransactions","value":false},{"key":"goalIndicator","value":false},{"key":"goalIndicatorWarningColor","value":true},{"key":"googleFontsSelector","value":"0"},{"key":"hideAOM","value":false},{"key":"highlightNegativesNegative","value":true},{"key":"importNotification","value":false},{"key":"incomeFromLastMonth","value":"1"},{"key":"l10n","value":"0"},{"key":"largerClickableIcons","value":false},{"key":"monthlyNotesPopupWidth","value":"0"},{"key":"moveMoneyAutocomplete","value":true},{"key":"moveMoneyDialog","value":true},{"key":"options.dark-mode","value":false},{"key":"pacing","value":"2"},{"key":"popupCalculator","value":false},{"key":"printingImprovements","value":true},{"key":"privacyMode","value":"0"},{"key":"reconciledTextColor","value":"0"},{"key":"removePositiveHighlight","value":true},{"key":"removeZeroCategories","value":true},{"key":"reports","value":true},{"key":"resizeInspector","value":false},{"key":"rightClickToEdit","value":true},{"key":"runningBalance","value":true},{"key":"seamlessBudgetHeader","value":true},{"key":"showIntercom","value":true},{"key":"splitKeyboardShortcut","value":true},{"key":"splitTransactionAutoAdjust","value":true},{"key":"squareNegativeMode","value":false},{"key":"swapClearedFlagged","value":false},{"key":"toBeBudgetedWarning","value":false},{"key":"toggleSplits","value":true},{"key":"toggleTransactionFilters","value":"2"},{"key":"warnOnQuickBudget","value":true}]

System Settings
ToolKit Version: 0.7.6
Operating System (Mac/Windows/Etc): Windows
Browser (Chrome/Firefox/Safari): Chrome
Browser Version: 54.0.2840.71 m
Other Extensions:

I just posted about a similar problem - this is really messing up the net worth trendline, especfially if you have a lot of transactions on the last day of the month!
I did notice that the YNAB native reports are showing the correct values. It's not a solution to the bug with the toolkit, but you can see the true values if you use the native reports in the meantime.

I did notice the YNAB Reports had the correct values but I really dislike their layout so I just changed all of my end of the month transactions to one day earlier. Temporary solution but it fixed my Net Worth values. It wasn't too many for me since I only get paid on the last day of the month for some months.

@vkbrand this should have been fixed in our last release, if you still experience the issue, please feel free to reopen this ticket.


Adding pages in SurveyJS builder - some browser compatibility issues?

Are you requesting a feature, reporting a bug or ask a question?
Reporting a (possible) bug
What is the current behavior?
In both Internet Explorer and Chrome, adding & changing pages in your survey through the SurveyJS builder doesn't seem to work well. When adding pages, this is only partly processed (i.e. in the dropdown but not in the horizontal overview next to it for example, nor do you automatically switch to that new page).
Changing between pages sometimes doesn't work or takes really long (both when doing it through the page-dropdown and through the horizontal overview of pages next to it).
Firefox seems to work OK, albeit a bit slow especially when changing pages (even when those pages contain no questions)
What is the expected behavior?
I would expect that adding pages and changing pages functions in all browsers like it does in Firefox, if possible a bit faster.
How would you reproduce the current behavior (if this is a bug)?
Go to https://www.surveyjs.io/Survey/Builder/ on different browsers and try to add pages to your survey/change pages etc. Either it will be clear quickly what I mean or somehow the issue can't be reproduced.
Example of how it looks in Internet Explorer:

In Chrome the pages seem to add a bit better (though sometimes really slow) but when you click on a page in the horizontal overview, it doesn't load.
In Firefox everything seems to work like it should, although changing between pages (even when the pages contain no questions) takes quite long.
Provide the test code and the tested page URL (if applicable)
Tested page URL:
https://www.surveyjs.io/Survey/Builder/
(SurveyJS 1.0.15)
Specify your
Browsers:
Chrome = 55.0.2883.87 m
Internet Explorer = 11.0.9600.18816
Firefox = 50.1.0

This bug is related to the https://github.com/surveyjs/editor repo
Fixed via the https://github.com/surveyjs/editor/commit/40e6701186dc7e9bdf7a7eac9414dce362072fc8 commit
Fix will be available in the nearest update


fix(deps): update terraform kubernetes to latest for deployable architectures

This PR contains the following updates:

Package
Type
Update
Change

kubernetes (source)
required_provider
minor
2.32.0 -> 2.33.0

Release Notes

hashicorp/terraform-provider-kubernetes (kubernetes)
v2.33.0
Compare Source
ENHANCEMENTS:

Add backoff_per_limit_index and max_failed_indexes fields in structure_job.go [GH-2421]
Added support for namespace_selector field in PodAffinityTerm to enhance pod affinity and anti-affinity rules, allowing selection of namespaces based on label selectors. [GH-2577]
kubernetes_manifest - handling "404 Not Found" errors during the deletion of Kubernetes resources, particularly in cases where the resource may have already been deleted by an operator managing the CRD before Terraform attempts to delete it. [GH-2592]
schema_container.go: Add VolumeDevices [GH-2573]

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

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

GitHub release
v2.5.8

Your semantic-release bot :package::rocket:


Fix crash

Changes proposed in this pull request:

Fix weird crash related to how antlr uses the semantic predicates.

@anz-bank/sysl-developers

These changes now are included in pull request #165.


Move invalid CHANGELOG entry into more accurate position

Hey,
After merging my PR #1877 (thanks!) my then-added CHANGELOG.md entry has been placed under version 1.17.0 which was then-to-be-released, but now is invalid. This PR moves that entry into more appropriate 1.17.2 (if that will be the version released).

For now let us do "1.18.0"

Thanks!


Aubees 16A Power Monitor Switch

https://www.aliexpress.com/item/1005005434988924.html
aubees-16A-em.bin.zip

Unfortunately, this device is on the patched firmware list and cannot be supported by Tuya-CloudCutter.  Serial flashing will remain the only option for this device.


Ordered list with child unordered list renders odd numbers only

Oath
I swear that I have completed these tasks before submitting:

[x] I have read the contribution guidelines here: https://git.io/JJ0Pg
[x] I have read the documentation here: https://git.io/JJcAl
[x] I have confirmed that this bug has not been reported yet

Decision table

[x] My issue does not look like “The HTML attribute 'xxx' is ignored” (unless
we claim support for it),
[x] My issue does not look like “The HTML element <yyy> is not rendered”

Bug Report
When an ordered list (
) has unordered list (
) children, the numbers get messed up.
Reproduction
https://snack.expo.io/@bldai/rnrhtml-template
Description
Please see attached snack to reproduce the issue. If the same HTML file is rendered on Chrome, it renders properly the numbers properly. I'm expecting that it should follow the same behavior.
Reproducible Demo
https://snack.expo.io/@bldai/rnrhtml-template

@jeloagnasin Thank your taking the time to provide a high-quality report!
The snippet that you provided is not valid HTML, because ul is not allowed as children of ol. To perform the validation check with w3 tool, copy paste the bellow snippet in the box at this w3c online check tool. Select "Validate fragment" with "HTML4", and you'll see errors like:

You can also select full validation option with HTML5, and the same error arise. While browsers might try to do a big endeavor to make it look a bit better, the behavior of this library when receiving invalid HTML is unpredictable! We should add a caution note on this subject, and direct users to validation tools :-).

First item

Sub item 1

Sub item 2

Second item

Sub item 1

A valid snippet would be

    First item

Sub item 1

Sub item 2

    Second item

Sub item 1


Refactor form helper test

Initially this was ment to just split out the various control type tests into separate files, but along the this revealed that there were quite a few uncovered constellations, so this is quite a large change, sorry about that.
The tests for label options will fail, I'll solve them separately for #341.

Looks like I've removed more than I should have, -0.58% coverage... unacceptable 🙃

Ok, I'm done for now.

If there are no objections, I'll merge it as is.


merge main

Sorry, this wasn't meant for you. I need to fix conflicts to merge changes in main (track matching) to the IFbeam branch, so I haven't merged it yet. That was git's auto merge.
But it seems you are ok with the IFbeam class for which I wanted your opinion.

ah, I didn't notice that this one runs the other way (it's merging from main rather than into main), sorry.
FYI, this PR doesn't contain anything about IFBeam, so I haven't looked at that yet