Enable variable "paths" (e.g. dot notation) to be exported in the debugger

I'm a maintainer of the PowerShell VSCode extension and there's interest from our users in being able to right click on variables in the debugger and get a full "path" to that variable (like a dot-notation) so it could be copy-pasted into a REPL to retrieve the value itself.
An example is something like an object with the following structure:

foo

bar

zip

[0]

x
y

[1]

x
y

[2]

x
y

baz

The the concept is that I could right-click on x under e.g. [0] and have the option to copy a path to it to the clipboard, as something like foo.bar.zip[0].x. (The zip array assumes that all the items are the same type, but naturally that's not necessarily the case).
The full issue is at https://github.com/PowerShell/vscode-powershell/issues/1328.
Does anything like this (or an ability to customise debugger menu items) already exist? Is there maybe already an ask for this? Otherwise, where in the VSCode source would be the jumping-in point for a feature like this?
I could imagine this being useful in other languages too, but very open to discussion. Thanks!

@rjmholt thanks for the feature request. VSCode already supports this, right click on a variable -> "Copy as Expression"
If this action is disabled for powershell that means that the powershell debug adapter should implement an evaluateName for each variable.


Changing browser tab clear drawing buffer.

jsfiddle example here.
Quick preview:

Steps to reproduce

Initial state:

Click on "Draw from canvas 1 to canvas 2". This uses 2d context of canvas 2 to drawImage:

const ctx = canvas2.getContext("2d");
ctx.drawImage(canvas1, 0, 0);

Note: it works only if `preserveDrawingBuffer` is set to `true` on the canvas1 PIXI.Renderer.

Change tab.

Come back.

Click again on "Draw from canvas 1 to canvas 2". The red square disappear.

Expected Behavior
The red square must not disappear.
Current Behavior
The red square disappears.
Chrome ONLY.
Does not work on:
Chrome 87. (Windows 10, Linux UBUNTU 20.04, MacOS 10.15.7)
PIXI v5.X v6.X
Changing window on Windows and MacOS also leads to the issue.
Works on:
Firefox (Windows 10, Linux UBUNTU 20.04, MacOS 10.15.7.)
PIXI v5.X v6.X

Good bug!
Here's a webgl example without PIXI: https://jsfiddle.net/bigtimebuddy/s418rk6y/
This seems like a browser bug (not PixiJS) and you might want to report to Chrome/Chromium.

Good bug!
Here's a webgl example without PIXI: https://jsfiddle.net/bigtimebuddy/s418rk6y/
This seems like a browser bug (not PixiJS) and you might want to report to Chrome/Chromium.

Thanks!
https://bugs.chromium.org/p/chromium/issues/detail?id=1166789

Thanks!
https://bugs.chromium.org/p/chromium/issues/detail?id=1166789

I'm going to close this bug because I don't think there anything we can do to mitigate or workaround this. Likely will need to be fixed in the browser.

I'm going to close this bug because I don't think there anything we can do to mitigate or workaround this. Likely will need to be fixed in the browser.

The original chromium issue was merged into another one: https://bugs.chromium.org/p/chromium/issues/detail?id=736969
The fix is shipped with chromium M-90 # 90.0.4395.0
I can no longer reproduce it! 🎉
Issue #7153 seems to also be fixed thanks to this release! 🎉 x2 !!

Thanks for the update @Kurtil


Including a quick intro to Hibernate OGM in the Infinispan User Guide

As suggested by @emmanuelbernard

https://issues.jboss.org/browse/ISPN-7557

I think this should be moved inside integrations.adoc [1]
[1] http://infinispan.org/docs/dev/user_guide/user_guide.html#integrations

Interesting, I didn't know about that doc.
But I'm not 100% persuaded. I intentionally slipped this between CDI and JCache, as Hibernate seems in the same league.
I don't know about Spark, but let's focus on the Lucene example as I'm more familiar with it.
In the Lucene case, I see it as a "low level" integration as people will have to do quite some setup work.
In the case of CDI, JCache and Hibernate OGM the accent is more about how to use it, and how to benefit from an easy to access API.
Personally I see these 3 more as a "ramp up" which help people to get familiar with Infinispan on safe grounds, while those other integrations are more like expert level stuff?
I'm not totally sure, but I'd like some more opinions.

@Sanne I still think it should be under integrations. WDYT @tristantarrant ?

To maximize discoverability, this documentation or pointers should be next to where the HotRod clients are described. This is just another way to access the grid from the developer's PoV.
When I frantickly research how to do something with Infinispan, I go to the reference documentation and CTRL+F essentially if looking at the ToC does not give me what I want.

Thanks all for the suggestions, I'm much happier with the wording.
I didn't move the chapter though, IMO my proposed position is fair.. it's easy to CTRL+F like Emmanuel suggested and positioned among similar integrations.

I didn't move the chapter though, IMO my proposed position is fair

I still think it's part of Integrations, and https://github.com/infinispan/infinispan.github.io/pull/43 proves it :smile:
Regarding CTRL+F, it will work even if it's not a top level doc. Even our "search" box in the TOC will find it. Try typing spark on [1] and you'll see.
[1] http://infinispan.org/docs/dev/user_guide/user_guide.html

ok @gustavonalle , you make good points.
Updated the PR to move the OGM references into the integration section, then added a note in the Hot Rod server introduction to address @emmanuelbernard 's suggestion.
Incidentally while testing the build I hit ISPN-7576 so the new note currently appears under Kubernets/rolling upgrades but that's an issue that will be solved by @slaskawi .

merged, thanks @Sanne !


Frequently forced to re-login to Google Chrome sync

Chrome sync keeps getting paused for my G Suite users. It seems that if I stay in Google Drive or in a Google app I'm fine, but as soon as I switch tabs in Chrome, I get logged out. This issue occurs on both school computers and on home computers. If I login with a G Suite account, but don't login to Chrome and don't sync the Chrome profile, then I am able to stay logged in. We are using Azure AD SSO to login to G Suite. If this is not the correct place to seek help with this issue, please direct me.

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

ID: 0bad7239-8050-182b-a6f7-fc90430eef90
Version Independent ID: 81ae0308-4dee-9ffe-2607-eadb4bdf0fd8
Content: Tutorial: Azure Active Directory integration with G Suite
Content Source: articles/active-directory/saas-apps/google-apps-tutorial.md
Service: active-directory
GitHub Login: @jeevansd
Microsoft Alias: jeedes

@kcsportal Thanks for the feedback! We are currently investigating and will update you shortly.

@kcsportal This seems a unique issue and may be due to . Could you please try to install the Windows 10 accounts extension from the chrome web store on your machine and test if it worked for the user. This extension requires Windows 10 Creators Update which is windows 10 v1703 .  If that does not work , please send us an email on azcommunity[at]microsoft[dot]com with your subscription ID and we will help you offline with alternative support options on this. We will close this issue now . However , we would request you to test this and get in touch with us on the mentioned email with the requested details in case the extension does not work for you as suggested and we will help you further .

Within the Azure AD SAML settings for Google SSO, my Sign on URL used to be https://drive.google.com/a/mydomain.org.
I changed it to https://www.google.com/a/mydomain.org/ServiceLogin?continue=https://drive.google.com and the issue reduced greatly. Chrome would pause syncing and log me out of G Suite dozens of times per day. After I made that change, it only happens once or twice per day.
I had been emailing back and forth with Google support for several weeks. When I told them about the SSO change, they finally replied back and said that the issue is actually a bug in Chrome that is being worked on. I can't verify either the SSO or the Chrome bug as being the issue, just reporting what happened to me and what I was told.


Remove extra env vars

Empirically, all STs pass, with this change, when I run them locally with RELEASE_STREAM=master make st.

It makes sense that we don't need DISABLE_NODE_IP_CHECK for the ST, because it should only be used when starting (or restarting) a calico/node in a very large cluster.  Also, setting DISABLE_NODE_IP_CHECK=true causes some calico/node startup.go code to be skipped - so it is better for ST coverage if it is not set.

It also makes sense that setting FELIX_IPINIPENABLED is not needed, because libcalico-go sets this whenever needed in a FelixConfiguration resource, which feeds through to Felix and has the same effect as FELIX_IPINIPENABLED.

Makes sense, might be worth tracking down whoever added those to see if they had a reason, though?

Good idea, I'll check that too.

I don't recall this, sorry.

Yep I added those. I had picked up the need for those from others that were doing full system testing.  If tests pass without them then we're good to go.

Cool, thanks Erik!


fix: outDir tsconfig is incorrectly rejected

When validating a tsconfig, the outDir config was incorrectly rejected with the following error message:
outDir: Unexpected field, got: outDir

This was due to a typo.
Relates to #1201

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

💚 All backports created successfully

Status
Branch
Result

✅
maintenance/v5.3

Questions ?
Please refer to the Backport tool documentation and see the Github Action logs for details


rootless podman: port forwarding does not work if firewalld is installed

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
curently no idea if this is expected or not
Description
If firewalld is running on the host the port forwardig for rootless containers does not work as all traffic is blocked in firewalld.
Steps to reproduce the issue:

install and enable firewalld

2.install podman 1.8.0

run a container using port forwarding f.e.: podman run --rm --name some-nginx -d -p 8080:80 nginx

Describe the results you received:
Port 8080 is not accessible for outside world and no rule was added to iptables to allow this kind of traffic.
Describe the results you expected:
I would expect that podman somehow inserts a rule into iptables or somewhat interacts with firewall or or there is a special chain for containers in firewalld or there is a documentation describing on how to solve this.
Output of podman version:
Version:            1.8.0
RemoteAPI Version:  1
Go Version:         go1.11.6
OS/Arch:            linux/amd64

Output of podman info --debug:
podman info --debug
debug:
  compiler: gc
  git commit: ""
  go version: go1.11.6
  podman version: 1.8.0
host:
  BuildahVersion: 1.13.1
  CgroupVersion: v2
  Conmon:
    package: 'conmon: /usr/libexec/podman/conmon'
    path: /usr/libexec/podman/conmon
    version: 'conmon version 2.0.10, commit: unknown'
  Distribution:
    distribution: debian
    version: "10"
  IDMappings:
    gidmap:
    - container_id: 0
      host_id: 2002
      size: 1
    - container_id: 1
      host_id: 100000
      size: 65536
    uidmap:
    - container_id: 0
      host_id: 1000
      size: 1
    - container_id: 1
      host_id: 100000
      size: 65536
  MemFree:<PHONE_NUMBER>8
  MemTotal:<PHONE_NUMBER>8
  OCIRuntime:
    name: crun
    package: 'crun: /usr/bin/crun'
    path: /usr/bin/crun
    version: |-
      crun version <IP_ADDRESS>-552e
      commit: df5f2b2369b3d9f36d175e1183b26e5cee55dd0a
      spec: 1.0.0
      +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL
  SwapFree: 0
  SwapTotal: 0
  arch: amd64
  cpus: 8
  eventlogger: journald
  hostname: cloud1-vm137
  kernel: 4.19.102+48-ph
  os: linux
  rootless: true
  slirp4netns:
    Executable: /usr/bin/slirp4netns
    Package: 'slirp4netns: /usr/bin/slirp4netns'
    Version: |-
      slirp4netns version 0.4.3
      commit: unknown
  uptime: 60h 46m 37.35s (Approximately 2.50 days)
registries:
  search:
  - docker.io
  - quay.io
store:
  ConfigFile: /home/podman/.config/containers/storage.conf
  ContainerStore:
    number: 0
  GraphDriverName: overlay
  GraphOptions:
    overlay.mount_program:
      Executable: /usr/bin/fuse-overlayfs
      Package: 'fuse-overlayfs: /usr/bin/fuse-overlayfs'
      Version: |-
        fusermount3 version: 3.4.1
        fuse-overlayfs: version 0.3
        FUSE library version 3.4.1
        using FUSE kernel interface version 7.27
  GraphRoot: /home/podman/.local/share/containers/storage
  GraphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "false"
  ImageStore:
    number: 4
  RunRoot: /run/user/1000/containers
  VolumePath: /home/podman/.local/share/containers/storage/volumes

Package info (e.g. output of rpm -q podman or apt list podman):
podman/unknown,now 1.8.0~2 amd64 [installed]
podman/unknown 1.8.0~2 arm64
podman/unknown 1.8.0~2 armhf
podman/unknown 1.8.0~2 ppc64el

Additional environment details (AWS, VirtualBox, physical, etc.):

@AkihiroSuda PTAL, Is this a slirp4netns issue?

I think it is expected, as rootless we don't touch the firewall, that is a privileged operation

mhm than this is most probably a feature request. I hoped that there is a possibilty to arrange this by using dbus or something like this.

Is there a way to talk to dbus about opening firewall ports for rootless users?

Good question - no idea ;-)

Fedora Workstation already defaults 1025-65536 to open. I don't believe server does the same for security reasons.

I don't believe there is a way for a non privileged user to request dbus to open fire wall rules.  Reopeon if I am mistaken.  A PR to the troubleshooting guide might be helpful for this as well,

Sorry if I'm late to the party. I think this is the right behavior. Even for a rootful container, I think it's better to have an option if we want to open the port to the world or not (and control access to ports using firewalls).
This is why I'm considering the use slirp4netns even for my rootful containers


Signing VSTO manifests not working

I've got SignService up and running and I've successfully signed a few DLL and MSI files from an Azure DevOps pipeline, so it looks like everything is basically working. However, we need to sign an add-in built using VSTO and I'm not having much luck with that. I've followed the instructions under the "ClickOnce" heading in README.md to pack everything up in a zip file with a ".clickonce" extension but SignService is returning a 404 error when I try to sign it.
Learning from my previous experience (issue #216) I went straight to Application Insights and I'm seeing the following error:

Field
Value

problemId
System.ComponentModel.Win32Exception at SignService.SigningTools.MageSignService.RunSignTool

operationName
POST Sign/SignFile

outerMessage
One or more errors occurred. (The system cannot find the file specified.)

Digging through the stack trace, I found this:

Field
Value

assembly
SignService, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null

fileName
D:\Git\SignService\src\SignService\SigningTools\MageSignService.cs

level
2

line
247

method
SignService.SigningTools.MageSignService.RunSignTool

That is, this line of code which seems to be attempting to start mage.exe.
I can provide a full stack trace if required, but it looks like it can't find mage.exe. I've used Kudu to browse the file system on the App Service and mage.exe is definitely there in the tools/SDK/x86 subdirectory, so I'm kind of stuck now.

Note: I built SignService on my local machine and published it from VS2019. Once I've got it working I'll set it up properly using a cloned repo and a build pipeline, I promise 😀

The code is looking for mage here: magetoolPath = Path.Combine(hostingEnvironment.ContentRootPath, "tools\\SDK\\mage.exe"). It's a directory underneath the content root, and the pre-build steps should be copying it there.
It should not be in an x86 subdirectory though.

Hmm maybe I did something wrong when I published the service. I'll pull the latest changes from master, rebuild and republish and see what happens.

OK I'm now on the latest commit on master (looks familiar 😀), I've rebuilt and republished the service from VS2019 and I'm still seeing the x86 and x64 subdirectories in tools/SDK (and no files in tools/SDK itself). I downloaded site/wwwroot and this is what I'm seeing, in case that helps:

Maybe publishing from VS2019 isn't doing the right things for some reason?
I've also tried manually copying mage.exe to the tools/SDK directory, which I expected to get me past the "file not found" error, and I'm now seeing a different error. This one has the problemId "System.InvalidOperationException at SignService.Utils.ManifestSigner.SignFile" and the description is "Late bound operations cannot be performed on types or methods for which ContainsGenericParameters is true". As far as I can tell the exception is being thrown when executing this line of code in Utils/CryptoConfigShims.cs. I'm afraid I'm completely stumped.

I also tried copying all the files (not just mage.exe) from tools/SDK/x86 into tools/SDK to see if that made any difference. Sadly it didn't - I got the same error.

I'm also hitting this error, and am also seeing that mage.exe is in the x86 folder and not directly in the SDK folder. As a workaround to get things running, I changed this line:
magetoolPath = Path.Combine(hostingEnvironment.ContentRootPath, "tools\\SDK\\mage.exe")
to this:
magetoolPath = Path.Combine(hostingEnvironment.ContentRootPath, "tools\\SDK\\x86\\mage.exe")
The above changed got me past the "The system cannot find the file specified" error.
Here's my understanding of the cause, so far. I'm an MSBuild noob, so bear with me:

SignService.csproj line 58 declares mage.exe as an SdkFile86 item
SignService.csproj line 90 copies all SdkFile86 items into tools\SDK\x86
That tools folder is, I assume, pushed to wwwroot during publish

It looks like this commit split SdkFile into SdkFile86 and SdkFile64. Looking at that change, I can see at least a couple of options:

Modify MageSignService.cs to look for mage.exe in tools\SDK\x86
Add the SdkFile item group back (see linked commit), include mage.exe in it, and copy SdkFile items to tools\SDK during the build

I'm not familiar enough with what's going on to know what the "right" place for that executable is, but I'm happy to put up a PR with either of those changes if one of them seems like an appropriate solution.

As for the "Late bound operations" exception from CryptoConfigShims, I wrote a description of what I think is going wrong, and possible solutions, in #266. Apologies if splitting the conversation is annoying, it seemed worth having two separate issues for two separate bugs. Feel free to close #266 if you'd prefer to keep both conversations here.

@mgiles Thanks for this - I never got to the bottom of this issue but we're going to need to ship a release of the product I'm working on soon so it's kind of urgent now 😆 I more or less forgot where I was up to so I've deleted the app and its resource group with a view to starting over, and now I can't even get it to deploy (using the ArmDeploy project) but I'll certainly update any relevant issues when I get to that point.

@clairernovotny Any thoughts on Matt's comment above, regarding the paths where tools are deployed? I'm currently restarting the whole deployment process with a view to deploying via Azure Pipelines rather than publishing from Visual Studio (as I did the last time around) and I'm wondering if you can confirm that this is a bug? Or are Matt and I both doing something wrong?


Downgrade parcel

fixes #23
for reference see issue 8782 in the parcel-bundler/parcel project tracker on Github.
this also fixes #21, see PR #22 for details

superseded by #26


Update Readme.md and changelog for GA release.

No changes since last Beta release.

/azp run

API change check
API changes are not detected in this pull request.


Add missing docs references

Closes #1186
Code Changes

[x] Include manual_webhooks.md and connection_types.md in mkdocs.yml
[x] Include fidesops_workflow.md and missing assets
[x] Update all broken links showing in terminal
[x] Delete no longer required docs

Steps to Confirm

[x] Walked through docs for any other required updates

Pre-Merge Checklist

[x] All CI Pipelines Succeeded
Documentation Updated:

[x] documentation complete, or draft/outline provided (tag docs-team to complete/review on this branch)
[x] documentation issue created (tag docs-team to complete issue separately)

[x] Issue Requirements are Met
[x] Relevant Follow-Up Issues Created
[x] Update CHANGELOG.md

Description Of Changes
Recreated from #1236

@conceptualshark due to some issues with git in #1236 I needed to recreate the PR - think I added everything for a second review, thanks!!


⚠ Bofrost.si has degraded performance

In 5a8a589, Bofrost.si (https://www.bofrost.si) experienced degraded performance:

HTTP code: 200
Response time: 1846 ms

Resolved: Bofrost.si performance has improved in 0f7d9b8 after 6 minutes.


yarn v4

Hi there. I think - because of https://www.drupal.org/node/3428571 - In order to run the
ddev get justafish/ddev-drupal-core-dev

I needed to get yarn v4 with
ddev exec corepack enable
ddev exec yarn set version stable

So there is a ticket https://github.com/ddev/ddev/issues/5987 which I believe would see Ddev run corepack enable which means the only addition to this module would be to run ddev exec yarn set version stable (or something like this).

we've taken a look at the problem in a thread in the #drupalsouth-code-springt-channel together with @rfay. The problem is two fold. First from Drupal 11 on Drupal Core is using Yarn 4. In the corresponding PR https://github.com/ddev/ddev/pull/5988 to the issue @simesy linked, corepack enable is simply run. running ddev with an artifact from that PR still doesnt fix the issue. the following line in the post install actions is still failing:
  - cd ../ && ddev exec yarn --cwd="core"

problem is --cwdis not working as expected. Not matter if you manually run ddev exec yarn --cwd="core"on the host or yarn --cwd="core"inside the container the command fails to run. but if you run cd core && yarninside the container or cd core && ddev yarnon the host it then works, yarn is running.
so the best approach as soon as the yarn problem is fixed inside ddev would be to change the line in the install file to - cd ../ && cd core && ddev yarn . @rfay suggested another approach for the addon here:

Or the add-on can enable corepack already and then will work with or without

but another aspect we've noticed is that corepack is still an experimental feature )https://nodejs.org/api/corepack.html) and in addition to that it turned out that yarn fails and is not available anymore in case you disable the corepack again with ddev exec corepack disable, so @rfay even suggested to add yarn as a configuration option to the ddev config.yaml. that way you could set yarn to version 4 on drupal 11 based project types and to version 1.x on project types for drupal 8 to 10. that would be a more robust approach.

Fixed in

https://github.com/justafish/ddev-drupal-core-dev/pull/17

I guess you can close @simesy if you like it.

Testing with
From README
$ ddev corepack enable
Error: unknown command "corepack" for "ddev"
``

On `ddev get justafish/ddev-drupal-core-dev`

$ ddev get justafish/ddev-drupal-core-dev
Installing justafish/ddev-drupal-core-dev:v0.0.10
Downloading https://api.github.com/repos/justafish/ddev-drupal-core-dev/tarball/v0.0.10
v0.0.10_1807368910.tar.gz 12.32 KiB / ? [------------------------------------------------------------------------------------------=-------------] 126.14% 1s
Installing project-level components:
👍 web-build/Dockerfile
👍 docker-compose.core-dev-selenium.yaml
👍 core-dev/phpunit-firefox.xml
👍 core-dev/phpunit-chrome.xml
👍 commands/web/drupal
👍 commands/web/phpunit
👍 commands/web/nightwatch
👍 core-dev/gitignore
👍 core-dev/.env
👍 core-dev/src/Command/AdminLoginCommand.php
👍 core-dev/src/Command/BootCommand.php
👍 core-dev/src/Command/CacheCommand.php
👍 core-dev/src/Command/TestCommand.php
👍 core-dev/src/Command/TestBrowserCommand.php
👍 core-dev/src/Command/UninstallCommand.php
Executing post-install actions:
yarn install v1.22.22
[1/5] Validating package.json...
error Drupal@: The engine "yarn" is incompatible with this module. Expected version ">= 4.1.1". Got "1.22.22"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

I started a PR that just shows some progress. I'm still glitching.

CLosing this as there are other issues wher ethis is being looked at.


whyour/qinglong:debian 出现无法确定系统的语言

Qinglong version
qinglong:debian:v2.15.12
Steps to reproduce
执行定时任务，会出现这个提示

What is expected?
消除这个提示
What is actually happening?
perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "zh_CN.UTF-8"
System Info
No response
Any additional comments?
No response

export LC_ALL="C.UTF-8" 加到配置文件 config.sh 里

export LC_ALL="C.UTF-8" 加到配置文件 config.sh 里

可以了，谢谢


Pretrained text encoder

Is it possible to use and train dalle with an external ( frozen) text encoder ( as those available in hugging face) ?

Hi, did you try it? I want to implement it too.

Hi. If you want to use pretrained language model, you are actually using the text embedding of that model.

At first, you can load and save the text embedding layer weight of pretrained models like CLIP and BERT.
Then, you need to replace the text_emb in DALLE __init__ function. Now, instead of using nn.Embedding to create new text embedding, you can use torch.load to load pretrained weight saved in step 1.


Support storing and retrieving Document id field in MemoryVectorStore

Fixed #6577

Hey team, what's the best way to get feedback on this one?

happy to help 😄


Labels are trimmed on the left

I have this annoying issue and no workaround works until now. I've tried everything related to padding but it didn't change anything. I am referring to the Y-axis ones.

Any ideas ?

@chrisvel are you using v1?

@etimberg yes but also tried with 2. I am working on some Rails apps.

I'm pretty sure this was fixed in v2. Can you post a JSFiddle?

@etimberg your confidence convinced me and checked out v2 once again. I was unable to make it work in the 2-edge one but it worked better than before in beta. Thanks.


Update README.md

need Resistor on pin PB9 ------> I2C1_SDA internal not enough Resistor

how add electric scheme

We do not need electric scheme. Just write next to the readme the remark and everyone will know what to do. Otherwise you can produce a image of scheme and add it into a folder (images?).

Thanks for the contribution.


tour: error in functions tutorial (hebrew)

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
Don't know
I am here
https://go-tour-he.appspot.com/#8
Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (go env)?
What did you do?
Learning the lang
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
What did you expect to see?
פונקציות מקבלות משתנים.
What did you see instead?
פונקציות מקבלות משתים.

I agree this needs a fix, but these translations appear to be entirely maintained outside of any official go repo.
See https://github.com/golang/tour/blob/master/TRANSLATE
In terms of fixing, I think the maintainer of the tour would have to make the change.
@adg, do you have results from this anywhere or at least hebrew version?

@meirf nope I have no idea who maintains it because any correspondence I had with its maintainer has disappeared from my mailbox.


Sidebar titles don't localize

Running sphinx-intl on Windows, I get sidebar titles excluded from po files. Whereas under OS X, these titles are successfully added for localization.
Is there any way to include sidebar titles under Windows?

I noticed that sidebar title localization has broken in sphinx-docs. Please compare:
http://www.sphinx-doc.org/ja/1.5/tutorial.html
http://www.sphinx-doc.org/ja/stable/tutorial.html

I think there is no differences on Windows and Mac.

I noticed that sidebar title localization has broken in sphinx-docs. Please compare:
http://www.sphinx-doc.org/ja/1.5/tutorial.html
http://www.sphinx-doc.org/ja/stable/tutorial.html

Currently, above both pages is not broken.
Is three any small sample to reproduce the issue?

Dear Takayuki,
I mean that localization of sidebar title doesn't work now:
Please, have a look at the following pages (the former has localized title):
http://www.sphinx-doc.org/ja/1.4/tutorial.html
http://www.sphinx-doc.org/ja/1.5/tutorial.html
Here is the example where you can see that title wasn't added to po file:
https://github.com/tolmachguidev/test-sphinx-l10n/blob/master/locale/ru/LC_MESSAGES/index.po

Ah, I see. I guess it is a bug of sphinx (around make gettext). sphinx-intl does not control which range is to be translated. Please report to Sphinx's tracker: https://github.com/sphinx-doc/sphinx/issues

Now I close this issue.  Thanks.


[iOS]Cannot fire [refresh] event when pullingdown on list component ! weex version is 0.26.0

Describe the bug

Cannot fire [refresh] event when pullingdown on a list use [refresh] component. pullingdown event is works fine.
IOS上 refresh 组件不能触发refresh事件，pullingdown事件工作正常
To Reproduce

Environment

Device: [iPhone6/6s/6sPlus/7.........]
OS: [iOS12.1]

Expected behavior

Screenshots

Additional context

There is nothing I can do without a demo.
If this still bothers you and you find a solution, you could give us a PR if you can, I am very happy to talk with you implemenation detail or review you PR in mailing list.
I have a busy schedule and I can't read Github issue every day, but I check mailing list every day. I am sorry if this bothers you.


Looks like query only?

Since readme is missing I dug thru code and only found this example:
sfdx bulk2:query --query "Select Id, Name From Account" --targetusername<EMAIL_ADDRESS>
Looking further query via v2 is already supported by mainline sfdx

For anyone searching for sfdx bulk2 support - this one is good: https://github.com/VenkatKoppolu/venkat-cli/issues/6#issuecomment-1462798727


[Question] How to mock request in endpoint from function signrature

Description
I am using SessionMiddleware in my project and inject user info when one login.
In some endpoints I use request: Request object to get user info from request.session["user"], during unit testing how do I mock request object to return mock user info rather than empty dict?
Please find example code below.
@app.post("/home")
def random_endpint(request: Request):
    username = request.session["user"]["username"]

Since the behavior you need to modify is in the SessionMiddleware, I would simply monkeypatch the dispatch(...) function on that class to just set your mockdata.   dispatch(...) is what ends up calling your handler (eventually).

@jimcarreer Thanks a lot

Thanks @jimcarreer for the help here! :cake: :bowing_man:
And thanks @agrepravin for reporting back and closing the issue :+1:


ci: fix typo in release reference

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


phpunit fails on fresh install

This is probably something really easy, but I'm missing it.  I've cloned the demo project, run composer install, copied phpunit.xml.dist to phpunit.xml, downloaded the latest phpunit, but running it fails:
tac@dev-survos-com:/var/www/symfony-demo$ phpunit
PHP Fatal error:  Class 'PHPUnit_Framework_BaseTestListener' not found in /var/www/symfony-demo/vendor/dama/doctrine-test-bundle/src/DAMA/DoctrineTestBundle/PHPUnit/LegacyPHPUnitListener.php on line 7
PHP Stack trace:
PHP   1. {main}() /usr/local/bin/phpunit:0
PHP   2. PHPUnit\TextUI\Command::main() /usr/local/bin/phpunit:560
PHP   3. PHPUnit\TextUI\Command->run() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:141
PHP   4. PHPUnit\TextUI\TestRunner->doRun() phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:212
PHP   5. PHPUnit\TextUI\TestRunner->handleConfiguration() phar:///usr/local/bin/phpunit/phpunit/TextUI/TestRunner.php:189
PHP   6. class_exists() phar:///usr/local/bin/phpunit/phpunit/TextUI/TestRunner.php:921
PHP   7. spl_autoload_call() phar:///usr/local/bin/phpunit/phpunit/TextUI/TestRunner.php:921
PHP   8. Composer\Autoload\ClassLoader->loadClass() phar:///usr/local/bin/phpunit/phpunit/TextUI/TestRunner.php:921
PHP   9. Composer\Autoload\includeFile() /var/www/symfony-demo/vendor/composer/ClassLoader.php:322
PHP  10. include() /var/www/symfony-demo/vendor/composer/ClassLoader.php:440
tac@dev-survos-com:/var/www/symfony-demo$
I've tried purging the cache, re-installing, etc. Am I doing something wrong?

try with ./vendor/bin/simple-phpunit?

Yep, that works perfectly.  Is that documented somewhere?  I swear I looked
before posting this, can couldn't find it.
On Sun, Oct 1, 2017 at 10:05 AM, Yonel Ceruto<EMAIL_ADDRESS>wrote:

try with ./vendor/bin/simple-phpunit?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/symfony/symfony-demo/issues/664#issuecomment-333378862,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAl0QQTbeN7wLtHebLJ514UHjQgspqYoks5sn5wvgaJpZM4Pp5kD
.


Observed: v2.20.2 used recently by user, well after v2.20.4 released

URL
Changeset #118249424.
How to reproduce the issue?
Unsure. Observed via changeset #118249424.
Also don't know the user's environment. Though, perhaps they'll respond to a PM asking them.
Screenshot(s) or anything else?
Unfortunately not.
Which iD Editor versions do you see the issue on?
host=https://tasks.hotosm.org/projects/12003/map/
So, could be that HOTOSM simply haven't updated their version.
Noticed this only after submitting the report. If it turns out to be a false-positive, then apologies (feel free to close without remark).
Which browsers are you seeing this problem on?
Unknown; observed rather then experienced.
The affected user might respond to a PM, though.

Speculation & analysis …
… as to the cause & remedy, from the cited changeset.
May now be redundant, due to where the instance is hosted.

Comment from SekeRob […]

Oddly the change set uses version 2.20.2 when we're on 2.20.4 suggesting a stale browser application cache.

Comment from Lee Carré […]

[…]

stale browser application cache.

Depends what the caching-related HTTP headers have declared. If the browser has been told that it may use the resources for a year+ (without re-checking with the server), then (strictly) the cache isn't stale (even though the data within is outdated, in this case).
Which, from a Web-dev PoV, indicates that this wasn't thought about in iD's implementation (or possibly how it's been deployed on the host site; which goes back to how iD has been implemented).
Users shouldn't have to (know (how) to) flush their HTTP cache (think about those behind shared caches, administered by someone else, which they can't flush).
Even if they did know; when are they supposed to, or how would they know when to (without being expected to watch the GH repo)?
Having to manually flush cache is a workaround or troubleshooting step. Shouldn't be part of normal operations. Caching (done correctly) is good. Flushing an entire cache (adversely) affects other sites.
The naive retort (of developers) would be ‘how are we supposed to know how to set the caching headers, since we don't know when we'll release a new version?’.
Well, firstly, regularly scheduled releases (say, monthly) wouldn't be a bad idea.
However, the strategy which is commonly used with images is (in simplified terms) to set long-lived caching headers on each image. If there's need to change which image is used, then point to a another one at a different URL, with the HTML set to have relatively short-lived caching headers.
If a script is selecting images, then give it the conditional logic to figure out which image is the right on, among a set.
For iD, there could be a small file for checking version, which has headers declaring it to be cached only for somewhere between an hour and a day (I'll let the server admins determine that), and then differently-versioned files of iD sit at different URLs (perhaps use the version-number in the URL), which each have long-lived caching headers.
The version file points to the current stable version (or uses a mini-language, or a terse well-known language (JSON?), to specify each of stable, previous, beta testing, development, or whatever the developers / admins wish).
If things are done sensibly, then it should be possible to invoke different versions of iD (for testing purposes) by hacking the URL.
Besides easily testing for regressions, keen users could also easily test beta / development / nightly versions.

This is completely out of the control of the iD project itself. Once a new version is released, it’s up to each deployment to upgrade and configure their caching headers appropriately.
The HOT Tasking Manager depends on a fork of iD that’s still on v2.20.2. You’ll want to open an issue in the hotosm/tasking-manager repository instead or contact one of the @hotosm/id package’s maintainers directly.


Separate TF 1.x from 2.x in PyPi

Let's separate TF 1.x from 2.x package names and PyPI repos  to enable auto-updates to latest versions of TF 1.x. (without the need to manually monitor the latest available 1.x version).
Possibly just rename it to tensorflow1==tensorflow and tensorflow2, like with python 2.x and 3.x. These major versions of TF of equally incompatible, so they should not have the same package name IMHO.
The automatic code converter tf_upgrade_v2 does not always work for Github data science projects and converting Kaggle Kernels and other Jupyter notebooks to .py format is an additional manual step required in practice (only to find that conversion did not work).
Many thanks!

There are no more TF 1.x versions. TF 1.15 is the latest and won't get any more patches unless security issues discovered on Cloud VMs.
TensorFlow uses SemVer, not PVP versioning. Hence, there is only one major version number, not 2 (the second being in the name).

Ok, if TF 1.x has reached its release cycle, then the issue is Indeed irrelevant, and I will close the issue for now.
Assuming we cannot stay with python 3.7, we can either:
a) switch to python 3.8 and upgrade to Tensorflow latest (2.x.y), or
b) stay with python 3.7 and pin Tensorflow at 1.15.4, or even
c) switch to another DL framework that does not tie it's major versions to historical python versions.

We don't pin TF versions to Py versions willingly. It's just a matter of controlling the support matrix size. As soon as a python version is out of life, we will drop support for it. When a new python version is released we pick it up by at most 1 additional TF release, depending on how/when our dependencies pick it up.


Duplicate Attribute in XSD

Hello,
Visual studio complains that the "maxOccurs" attribute is duplicate in this section:
<xs:element name="NativeProfile" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="CryptographySuite" minOccurs="0" maxOccurs="1">
Are you able to clarify if this is an issue with the doc?
Thanks,
t

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

ID: 3032f094-c9b7-6f8c-5b66-2ba152d7c326
Version Independent ID: 83047fc5-7020-be72-85d6-85fa0bfbf5b7
Content: ProfileXML XSD
Content Source: windows/client-management/mdm/vpnv2-profile-xsd.md
Product: w10
GitHub Login: @MariciaAlforque
Microsoft Alias: maricia

@officedocsbot assign @e0i

@tFable : Thank you for providing feedback regarding this issue. I can only express my regret that it has taken so long to get back to you.
Yes, I see. That is clearly a duplicate and the doc page needs correction.
maxOccurs can only have 1 of the values "0", "1" or "unbounded" , but the line
              <xs:element maxOccurs="unbounded" name="CryptographySuite"minOccurs="0" maxOccurs="1">

seems to contain a copy-paste error or something similar, making maxOccurs=  appear twice.
There also appears to be missing at least 1 blank space before minOccurs= .
Let me post a correction PR to that page (via the Github source page).
(I will be needing verification of which of the 2 is the correct value, "1" or "unbounded".)


ApacheThrift.nuspec: Updated to netstandard 2.1

Currently the nuspec file is set to netstandard 2.0. As far as I know, the LTS version is netstandard 2.1. This PR increases the version to the LTS one.

[ ] Did you create an Apache Jira ticket?  (Request account here, not required for trivial changes)
[ ] If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?
[x] Did you squash your changes to a single commit?  (not required, but preferred)
[x] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?
[x] If your change does not involve any code, include [skip ci] anywhere in the commit message to free up build resources.

AFAIK it is still the case that if you want to target both NET framework and NET std the 2.0 is the version of choice. Am I wrong?

Ah, this may explain my problem. I want to share code with .NET Core 3.x and this did not work out of the box. Setting the netstandard to 2.1 helped. But I can see how this may break other use cases.

From that same URL:

Use netstandard2.0 to share code between .NET Framework and all other implementations of .NET.
Use netstandard2.1 to share code between Mono, Xamarin, and .NET Core 3.x.

Ok, maybe there is another problem on my side. I will retract this PR!

BTW, I would love to get rid of that as well. But that use case is not so uncommon I think. We actually use it at our company in exactly that combination where we have certain NET Standard modules included into existing older NET Framework 4.x applications that will most likely never be converted to NET Core for the rest of their life time.


get_version_from_formula: Couldn't find HOME environment

I run Chef on Mac OS X via Launchd in interval mode instead of as a daemon. The homebrew::cask recipe is part of my run list, but I get the following error:
[2014-08-18T18:18:08+02:00] INFO: Processing package[brew-cask] action install (homebrew::cask line 22)
ESC[0m
================================================================================ESC[0m
ESC[31mError executing action `install` on resource 'package[brew-cask]'ESC[0m
================================================================================ESC[0m

ESC[0mArgumentErrorESC[0m
-------------ESC[0m
couldn't find HOME environment -- expanding `~'ESC[0m

ESC[0mCookbook Trace:ESC[0m
---------------ESC[0m
/var/chef/cache/cookbooks/homebrew/libraries/homebrew_package.rb:89:in `get_version_from_formula'
ESC[0m/var/chef/cache/cookbooks/homebrew/libraries/homebrew_package.rb:69:in `current_installed_version'
ESC[0m/var/chef/cache/cookbooks/homebrew/libraries/homebrew_package.rb:39:in `load_current_resource'ESC[0m

ESC[0mResource Declaration:ESC[0m
---------------------ESC[0m
# In /var/chef/cache/cookbooks/homebrew/recipes/cask.rb
ESC[0m
ESC[0m 22: package 'brew-cask'
ESC[0m
ESC[0mCompiled Resource:ESC[0m
------------------ESC[0m
# Declared in /var/chef/cache/cookbooks/homebrew/recipes/cask.rb:22:in `from_file'
ESC[0m
ESC[0mpackage("brew-cask") do
ESC[0m  action :install
ESC[0m  retries 0
ESC[0m  retry_delay 2
ESC[0m  guard_interpreter :default
ESC[0m  package_name "brew-cask"
ESC[0m  timeout 900
ESC[0m  cookbook_name "homebrew"
ESC[0m  recipe_name "cask"
ESC[0mend
ESC[0m
ESC[0m[2014-08-18T18:18:08+02:00] INFO: Running queued delayed notifications before re-raising exception
[2014-08-18T18:18:08+02:00] ERROR: Running exception handlers
[2014-08-18T18:18:08+02:00] ERROR: Exception handlers complete
[2014-08-18T18:18:08+02:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2014-08-18T18:18:08+02:00] INFO: Sending resource update report (run-id: d837723e-bb95-4c9f-ba59-a77aa1a36a8a)
[2014-08-18T18:18:09+02:00] ERROR: package[brew-cask] (homebrew::cask line 22) had an error: ArgumentError: couldn't find HOME environment -- expanding `~'

In get_response_from_command, the HOME variable is explicitly retrieved. Shouldn't the same be done in get_response_from_formula ??

This is fixed in Chef 12.0.2.


solution for decrypt string q added, solved -> 100% better than other solutions

Hey there!, Thanks for submitting a PR to this repo :smiley:
Please complete the following checklist for your PR to be approved. Mark the items by adding an x.
Example:  - [ ] Mark me as completed
To mark: - [x] Mark me as completed

[x] My Pull Request adheres to the Contribution guidelines.
[x] I have added problem.md and solution files in the appropriate folder
[x] In problem.md I have provided a correct link to the problem.
(In case you are not adding a problem, you can freely mark this as complete)
[x] My solution passes all the testcases within the given constraints.
[x] I have properly indented and documented my solution using comments.

If any of the above is unmarked, please make the necessary changes and then mark them so that you're PR can be approved and merged.
(Only completed checklist PRs will be reviewed)

@sourceganesh  I don't see any solution added, Could you check it again

Added now, my bad


When TerrainStorage3D is referenced by C#, garbage collection wipes it.

Terrain3D version
v0.9.2-dev
System information
Godot v4.2.2.stable.mono - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2070 SUPER (NVIDIA; <IP_ADDRESS>12) - AMD Ryzen 9 3900X 12-Core Processor (24 Threads)
Is the issue reproducable in the demo?
Not applicable
Issue description
I use Terrain3D with C# primarily. The previous version in my project was 0.9.0-beta
I keep a reference to the Terrain3DStorage resource in my scripts, and destroying levels and clearing references worked nicely.
In version 0.9.2-dev built off https://github.com/TokisanGames/Terrain3D/commit/f626dc12e7d526ad97f5f58ea725529fe279479f even accessing the storage property through C# causes the garbage collector to completely clear all the terrain data down the line.
I am writing this bug as a reference for now, currently I don't have the time to make a MRP, but I plan to get on that in a few days.
Specifically, the visuals seems fine, but physics collisions no longer get generated when loading the same storage again.
Logs
No response

0.9.0 and 0.9.2 are a world apart. Please test 0.9.1, or preferably bisect between the two and you can narrow down the exact commit that caused the problem. I don't use C#, so you'll need to do the heavy lifting. I can support the back end.
Do you know how to use git bisect? It's very easy and more useful than an MRP.
I assume you're using the same version of Godot, and hopefully godot-cpp, since those are what C# interfaces with.

@TokisanGames thanks for your patience while I dug into this.
The commit causing the issue is unfortunately the big one https://github.com/TokisanGames/Terrain3D/commit/5835e4104251cab24271c4b6431aec87fc24f862
The MRP (too large to upload here) contains a git branch called terrain_5835e41 with the plugin set to that commit
https://github.com/TheOrioli/Terrain3DGCBug/tree/terrain_5835e41
and a branch set to 0.9.1 which works as expected
https://github.com/TheOrioli/Terrain3DGCBug/tree/terrain_0.9.1
To try the MRP run the project, and use the SPAWN, REMOVE and GC(Garbage Collection) buttons in that order. After pressing the GC button  once press SPAWN again and the terrain will appear but none of the balls will be visible nor will the debug collision be visible. You can also notice errors pile up in the Debugger dock.

Here is an interesting part of the puzzle, if you press the GC button multiple times after removing the terrain from the scene, you will notice that more objects get deleted.
After pressing REMOVE
Terrain3D#2234:_notification: NOTIFICATION_PREDELETE
Terrain3D#2234:_clear: Clearing the terrain
Terrain3D#2234:_destroy_collision: Freeing debug static body
Terrain3D#2234:_destroy_collision: Freeing dsb child 0 CollisionShape3D
Terrain3D#2234:_destroy_collision: Freeing static body
Terrain3D#2234:_notification: NOTIFICATION_EXIT_TREE
Terrain3D#2234:_clear: Clearing the terrain
Terrain3D#2234:_destroy_mouse_picking: Freeing mouse_quad
Terrain3D#2234:_destroy_mouse_picking: Freeing mouse_cam
Terrain3D#2234:_destroy_mouse_picking: memdelete mouse_vp
Terrain3D#2234:_notification: NOTIFICATION_EXIT_WORLD

After pressing GC once
Terrain3DMaterial#4808:~Terrain3DMaterial: Destroying material
Terrain3DGenTex:clear: GeneratedTexture freeing RID(9878424780878)
Terrain3DGenTex:clear: GeneratedTexture unref image<Image#-9223371995817704131>

After pressing GC twice
Terrain3DStorage#4919:_clear: Clearing storage
Terrain3DGenTex:clear: GeneratedTexture freeing RID(9702331121738)
Terrain3DGenTex:clear: GeneratedTexture freeing RID(9710921056331)
Terrain3DGenTex:clear: GeneratedTexture freeing RID(9719510990924)

After pressing GC twice, pressing SPAWN again will work without issue.
The hardest problems are always naming variables and cache invalidation, and this makes me think some kind of cache is not aware it needs to be rebuilt after the first GC run. Also in the logs this hints at collision creation being skipped:
Terrain3D#6707:set_show_debug_collision: Setting show collision: true
Terrain3D#6707:_update_collision: Collision creation time: 63 ms
.
.
.
Terrain3D#8168:set_show_debug_collision: Setting show collision: true
Terrain3D#8168:_update_collision: Collision creation time: 0 ms <---- 🤔

Let me know what you think. I am unfortunately not super involved with the deeper way of how C# interacts with Godot internals, but worst comes to worst perhaps we can summon one of the C# maintainers here to shed some light.

First, storage is going away as a resource in PR #374, in lieu of a directory of resources.
Second, dynamic collision will fix a lot of issues in PR #278.
I ran your demos. First thing I noticed looking at the storage resource in the inspector: in 0.9.1 you have 4 region offsets, heightmaps, control maps, colormaps. In the other version you have 2 region offsets, 2 heightmaps, 5 control maps, 5 colormaps. This storage file is messed up. I replaced the broken storage.res with the fixed one.
Running the recent version with new storage, after the 2nd spawn it has nothing to do with collision. After GC Storage thinks that there are no regions, even though I can see the 4 region offsets in the inspector at runtime.
Attaching this to terrain3d:
extends Terrain3D

func _ready() -> void:
	print("GD Region count: ", storage.get_region_count())
	print("GD Region offsets: ", storage.region_offsets)

After spawn, reports:
GD Region count: 4
GD Region offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]
After gc/spawn, reports:
GD Region count: 0
GD Region offsets: []
I suspect there's a bug in Godot's garbage collection. I should not have to do anything in C++ to accommodate for C#'s garbage collection. The commit you found only has a few changes to terrain3d and storage, so finding the exact line that triggers the engine bug won't be difficult. Ultimately, we'll have to take that to the C# guys to learn what they are doing.

I spent a bit of time exploring this. The change that causes the broken respawning is calling update_regions() in terrain_3d_storage.cpp:initialize(), which we need to setup the terrain given the restructuring. It causes a broken terrain in C# on a second spawn because region_offsets has been emptied somehow.
The storage instance is the same. The region_offsets array pointer is the same, but its contents have been flushed between the end of GC and the new spawn. Storage doesn't generate the contents. It is populated by add_region, through editor or API insertion, which is also saved in the resource. When storage is loaded it loads region_offsets from the file.
In C# I retrieved region_offsets to a local variable, then printed the contents at the beginning and end of spawn/remove/gc. It's still full after the GC call (which may be deferred). It's empty on the beginning of the next spawn call, before the terrain has been instantiated again, which confirms the deferred theory. So GC is flushing that vector2i array, but not any of the other image arrays.
If I duplicate the region_offsets array, and reassign it to storage it works around the GC issue.
using Godot;
using System;
using System.Collections.Generic;

public partial class Main : Node3D
{
	[Export(PropertyHint.File)]
	private string terrainScenePath;
	private readonly List<Node3D> meshes = new();

	private Node terrain;
	// private Resource storage;
	private Godot.Collections.Array region_offsets = new();

	public void SpawnTerrain() {
		GD.Print("**- Spawn start: local region_offsets: ", region_offsets, " **-");

		terrain = ResourceLoader.Load<PackedScene>(terrainScenePath, cacheMode: ResourceLoader.CacheMode.Ignore).Instantiate();
		var storage = terrain.Get("storage").As<Resource>();
		GD.Print("*** storage.region_offsets: ", storage.Call("get_region_offsets").AsGodotArray(), " ***");

		if(region_offsets.Count > 0 && storage.Call("get_region_offsets").AsGodotArray().Count == 0) {
			GD.Print("--- storage.region_offsets is empty, assigning backup with count: ", region_offsets.Count);
			storage.Call("set_region_offsets", region_offsets);
			GD.Print("--- storage.region_offsets: ", storage.Call("get_region_offsets").AsGodotArray());
		}
		region_offsets = storage.Call("get_region_offsets").AsGodotArray().Duplicate();

		AddChild(terrain);
		var cam = GetViewport().GetCamera3D();

		for (int i = 0; i < 25; i++) {
			var pos = cam.GlobalPosition + new Vector3(GD.Randf() * 25f, 0f, GD.Randf() * 25f) + -cam.GlobalBasis.Z * (float)GD.RandRange(10f, 25f);
			pos.Y = (float)(storage.Call("get_height", pos).AsDouble() + 1.0);
			var mi = new MeshInstance3D {
				Mesh = new SphereMesh { Radius = 1, Height = 2 },
				Position = pos,
			};

			AddChild(mi);
			meshes.Add(mi);
		}
		GD.Print("--- Spawn end: local region_offsets: ", region_offsets);
	}

	public void RemoveTerrain() {
		GD.Print("--- Remove start: local region_offsets: ", region_offsets);
		foreach (var mi in meshes) {
			mi.QueueFree();
		}

		meshes.Clear();

		terrain.QueueFree();
		terrain = null;
		// storage = null;
		GD.Print("--- Remove end: local region_offsets: ", region_offsets);
	}

	public void ForceGC() {
		GD.Print("--- GC start: local region_offsets: ", region_offsets);
		GC.Collect();
		GD.Print("--- GC end: local region_offsets: ", region_offsets);
	}
}

With Duplicate()
**- Spawn start: local region_offsets: [] **-
*** storage.region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)] ***
--- Spawn end: local region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]
--- Remove start: local region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]
--- Remove end: local region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]
--- GC start: local region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]
--- GC end: local region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]
**- Spawn start: local region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)] **-
*** storage.region_offsets: [] ***
--- storage.region_offsets is empty, assigning backup with count: 4
--- storage.region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]
--- Spawn end: local region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]

Without Duplicate()
**- Spawn start: local region_offsets: [] **-
*** storage.region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)] ***
--- Spawn end: local region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]
--- Remove start: local region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]
--- Remove end: local region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]
--- GC start: local region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]
--- GC end: local region_offsets: [(-1, 0), (-1, -1), (0, -1), (0, 0)]
**- Spawn start: local region_offsets: [] **-
*** storage.region_offsets: [] ***
--- Spawn end: local region_offsets: []

So now the question is why does GC clear the region_offsets array, or if it is instantiating a new storage (which I don't see that in the logs), why does it prevent storage from loading the array from disk?

For future MRP testers:

Clone this branch: https://github.com/TheOrioli/Terrain3DGCBug/tree/terrain_5835e41
Replace the addons directory with any new terrain3d dev build: https://github.com/TokisanGames/Terrain3D/actions/runs/9615313926
Build C# and run.
Click Spawn, Remove, GC, Spawn. This will produce errors due to storage.region_offsets being empty on the second spawn.

You can then do any one of the following to mitigate it as described above:

Click Spawn, Remove, GC, GC, Spawn. No errors
Replace the C# code with my code in the comment above. This works around it, but also prints when storage.region_offsets is cleared
Comment out terrain_3d_material.cpp#L421 _update_regions(). No errors (also flat), not representative of the GC issue.

From dotnet chat. You can join us there.
raulsntos 1:26 PM
I'm trying to understand the issue but I'm not an user of Terrain3D, so I'm not sure what's going on or what's the
expected behavior.

GC.Collect doesn't guarantee that everything will be collected. Also, I would not recommend using this in production
code. I'm guessing you are using GC.Collect only for demonstrative purposes here.

If you need to ensure something is freed in C#, you'd normally use the Dispose method or an using statement.

Also you mention in the issue that the code that causes the issue is _update_regions. As I'm not familiar with
Terrain3D, can you explain what this method does? And, since this is a C++ method, it's possible that there's a bug
in godot-cpp.

Is this reproducible in a project without Terrain3D or any other GDExtension?

Please review and test the suggestions of using Dispose or using instead of GC. I'm not familiar with C#.
My response.
Thanks for the reponse. You can ignore the comments about _update_regions. That doesn't cause the problem. It only
passes read-only data to a shader. We recently restructured a bunch of code, which revealed the GC problem for
C# users.

The problem is that GC doesn't free a resource the first time, so when it is reinstantiated, instead of Godot
ResourceLoader loading it from disk again, it has corrupted data (a blank array. It takes 2 GC calls to free the
resource properly so it can be used again.

I don't use C# so have passed the suggestion to not use GC and instead use Dispose/using to the user to test.
So am I to understand that GC is not meant to be manually used?

Another note from dotnet
paulloz 7:41 PM
Cases where you'd actually want to call on the GC manually are very far and few between, yeah.

So, I'm inclined to believe that this isn't an engine bug, it's by design. It's not our bug either. And the solution is to use the other functions suggested by the devs above.
@TheOrioli Can you confirm their suggestions help your scenario? Whatever method is used, you want to ensure storage is flushed properly before it is reinstantiated. Or region_offsets is retained and replaced if not.

I'm going to close this since 2 Godot contributor chat devs said it's by design and gave a different solution that is more proper for Godot C#. This isn't a Terrain3D issue, it was only revealed by our restructuring. It can be followed up on by Op's Godot engine report, though they'll likely say the same thing. We can reopen this if that issue reveals a change we need to make in the future.
https://github.com/godotengine/godot/issues/93459


Sampling from Dataframe for frac < npartitions / nrows

What happened:
I have been trying to sample rows from a dataframe using sample(frac) and realised that it does only work properly if the parameter frac >= npartitions / nrows, where nrows is the number of rows of the dataframe. For example, for frac = 1 / nrows sample(frac) returns a sample of sample size = npartitions instead of 1.
What you expected to happen:
I expected sample size to be frac * nrows . For example, if frac = 1 / nrows, then sample size = 1.
Minimal Complete Verifiable Example:
import pandas as pd
import dask.dataframe as dd

df = dd.from_pandas(pd.DataFrame({'test':range(0,100)}), npartitions= 10)
print(f'Expectation | Result')
print(f'--------------------')
for numerator in (1, 5, 9, 10, 20, 30, 50):
    sample = df.sample(frac= numerator/100)
    print(f'{numerator:^11} | {len(sample):^7}')

Environment:

Dask version: 2022.1.1
Python version: 3.8.9
Operating System: MacOS
Install method (conda, pip, source): pipenv

Thanks for writing this up so well! That is a pretty compelling example. I am taking a look at the sample code now to see if I can tell what's going on.

Ok so this makes sense. Dask just maps the sample(frac) to each partition so we get a little bit of rounding differences. I found this example illustrative:
sum([len(p.compute().sample(frac=1/100)) for p in df.partitions])  # 0

I think the question becomes: Is this something to solve with documentation or with code changes?
It is hard for me to think about how we could do it with code changes since nrows isn't something that we know until compute.
It does seem like we could support a pseudo random sample using n rather than frac by splitting n into a list of integers with something like in this stack overflow post.

Sorry, for the delay.

I think the question becomes: Is this something to solve with documentation or with code changes?

Ideally, dask dataframe provides the same functionality (and similar results) as pandas dataframe. This is why I would prefer a code change. Of course, if it is not possible it requires documentation.

It does seem like we could support a pseudo random sample using n rather than frac by splitting n into a list of integers with something like in this stack overflow post.

I don't have any preference when it comes to frac vs n. If switching from frac to n solves the problem, I vote for using n.

Thanks for looking into this, Julia!
@sissnad Would you be interested in opening a PR to update the docs?

Yes, sure. Do you have any documentation guidelines?

We have development guidelines that explain how to write and build the docs, but I don't think we have style guidelines as much. Probably in this case just adding a few lines to the docstring would be sufficient.

I think that a future resolution should involve shifting from an implicit (frac) to an explicit (n) sample size parameter. Within a framework like dask where attributes like length are only calculated on demand, explicit sample size is more natural.


Allow braces variables in shell_content

Currently, when there is shell variables with braces, the parser fails.
This PR fixes cases like
do_configure:prepend() {
    mkdir -p ${WORKDIR}/kernel/arch/arm64/boot
}

you need to regenerate as well, and I'd appreciate if you can use tree-sitter master (you may install it with cargo, rust's package manager, like so: cargo install --git https://github.com/tree-sitter/tree-sitter)
then you can run tree-sitter generate, and then commit the changes to src/parser.c, grammar.json, and node-types.json
Thanks for the PRs :)

Done, using latest ts master 👍

great, now just rebase your other PR to ensure the parser.c changes are updated there as well


Adding a decompiler flag for fixed instance parameters

Fixes a bug where the Image type could not be passed as a parameter to an API unless the thing being passed is declared as a fixed instance. This lets shim APIs declare that they can take indirect references to fixed instances as parameters.

We really need docs for this stuff.


[Functional: Power toys Settings>Fancy Zones>Appearance]: Validations are not applied properly for R,G,B and H,S,V  edit field in Appearance section.

[Power toys settings- Fancy Zones- Appearance]
User Experience:
It will impact all the users if the edit field is taking alphabet also in numeric value.
Test Environment:
"OS Version: 20221.1000
App Name: Power Toy Preview
App Version: v0.23.0
Screen Reader: Narrator"
Repro-steps:
"1. Open Power Toys Settings App.
2. Navigate to Fancy Zone menu item in left pane and activate it. Fancy Zone will open in right pane.
3. Navigate to 'Zone Highlight Color' and activate it.
4. Navigate to 'Red' edit field and enter any character and verify the issue."
Actual Result:
"Validations are not applied properly for R,G,B and H,S,V  edit field in Appearance section. It is taking alphabets which is not appropriate and the changed value is getting restored with old value.
Note:
Same issue is repro in all the combo box"
Expected Result:
Error validation should be applied to the edit field So that, users will be notified.
80_Fancy Zones_Appearance_alphabet is also taking as an input.zip

This is a WinUI issue, opened an issue in their repo: https://github.com/microsoft/microsoft-ui-xaml/issues/3420

For the Color Picker Editor, there is a "manual" check/correction. Want to wait on Winui3 fix or apply fix to these controls too?


sparkplug is support?

To help us save time and help you faster
Before opening a new issue, please make sure that there isn't already an open (or closed/resolved) issue reporting the same problem. Please always open a new issue rather than posting to a closed one - but please reference the possibly related old issue.
Please do not insert images of text, but add the text instead.
Environment

VerneMQ Version:
OS:
Erlang/OTP version (if building from source):
VerneMQ configuration (vernemq.conf) or the changes from the default
Cluster size/standalone:

Expected behaviour

Please describe the expected behaviour.

Actual behaviour

Please include minimal steps to reproduce the issue, if possible.

@siaron Yes (and every MQTT broker supports Sparkplug, it just defines conventions on payload format and topics).


Fix #7130 - SQL Lab table name autocomplete

Codecov Report

Merging #7926 into master will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           master    #7926   +/-   ##
=======================================
  Coverage   65.91%   65.91%
=======================================
  Files         465      465
  Lines       22268    22268
  Branches     2429     2429
=======================================
  Hits        14679    14679
  Misses       7468     7468
  Partials      121      121

Impacted Files
Coverage Δ

.../assets/src/SqlLab/components/AceEditorWrapper.jsx
57.31% <0%> (ø)
:arrow_up:

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 eb891dc...6af5bf2. Read the comment docs.


SP5: RandomDataGenerator.RandomNormalSample throws System.IndexOutOfRangeException

https://github.com/ScottPlot/ScottPlot/blob/4b0c2def9c34c4d575b49eff0a3a40464bd5e0f4/src/ScottPlot5/ScottPlot5/RandomDataGenerator.cs#L143C26-L143C29
Should be < not <=
I will probably make a fix and PR for this as it is a very simple fix. Will also likely add a test of some sort.

resolved in #3370


Invoking Powershell.exe as child process from 32 Bit application caused this issue

Oops, something went wrong.  Please report this bug with the details below.
Report on GitHub: https://github.com/lzybkr/PSReadLine/issues/new

Last 0 Keys:
Steps to reproduce

On windows 10, From 32 Bit application invoke powrshell.exe

Exception:
System.IO.IOException: The handle is invalid.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.Console.GetBufferInfo(Boolean throwOnNoConsole, Boolean& succeeded)
at Microsoft.PowerShell.PSConsoleReadLine.Initialize(Runspace runspace, EngineIntrinsics engineIntrinsics)
at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics)

Same here.

This looks like a dupe of #158.  If you think otherwise, I need more repro details.


Speed it up. Seems to run really slow.

+1

Uploading big files is very very very very slow. This is not dj-libcloud's fault, but I wanted to leave a note here in case other people are experiencing the same, so that they don't have to duplicate effort. Heading over to libcloud to report there.
$ du -h big_file.json
386M   big_file.json

I made a simple script to populate an instance of AnRPCJob and save it, to call with cProfile (my settings file sets up the libcloud config from these environment variables);
#!/usr/bin/env python
import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my.settings")
os.environ.setdefault("STORAGE_PROVIDER", "GOOGLE_STORAGE")
os.environ.setdefault("STORAGE_USER", "XXXXXXXXXXXXXXXXXXXXX")
os.environ.setdefault("STORAGE_KEY", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")

from django.core.files import File

from model_selection.models import AnRPCJob

job = AnRPCJob()
msj.big_file = File(open('model_selection/test-input/big_file.json', 'rb'))
msj.save()

Total elapsed time was ~14m (!!!!!!), where 93.1% of time ~13m 30s ( was spent in libcloud.utils.files.read_in_chunks. For reference, 6.5% of time (~1m) was spent sending data.


Add ability to open multiple devices from different processes (libtm and t265)

Sorry for the previous pull request I've done, newbie to working on open source
A direct result of the discussion in #4261
Here are my changes -passed sanity checks, further tests will be conducted throughout the following week

Hi @orshefi
Thank you for contributing. We will review and test during upcoming week and provide more feedback

Hi @dorodnic,
I developed the solution on ubuntu 18.04 and it works fine there.
Today I've tested it on ubuntu 16.04 and it raises SIGSEGV signal from timer complete function in dispatcher, so far I have no clue why.
Any hints on what to look for?
Anyhow I think that you should include in your unit tests a test that raises this issue since I passed the tests in TravisCI.
I'm working on a solution meanwhile..

@dorodnic - I can see this line everywhere in the Dispatcher:
ASSERT(mThreadId != std::this_thread::get_id());

Found the issue and fixed it in the latest commit:
The constructor of Device registers a timer for the Listener, I am using the constructor several times in order to query all sort of data on the device as part of the DeviceHolder concept (Profile, Intrinsics, Extrinsics, Device Info).
In order to fix it I moved the scheduleTimer function to the start() function in Device class, this function is only called on Device stream start.
Tested to work on both ubuntu 16.04 and 18.04.

@ev-mp

Hi @orshefi,
Thanks for this PR.   The libtm code base can be a challenge to get your head around.   I'm still not there myself.   Can you explain what is the impediment to opening multiple devices from different processes?  It looks to me like it's just the libusb_claim.  My understanding is that it's ok to libusb_open a device multiple times (from separate libusb contexts either in the same or different processes), but not to libusb_claim it.   Have you considered separating these concepts inside Device or by using your DeviceHolder.  It seems that the Manager should never libusb_claim except during firmware upload.

In particular, it seems to me that open firmware load and sensor_base::open should call libusb_claim.

@orshefi - sorry for the delay. Both myself and @ev-mp had to be away from GitHub due to unforeseen circumstances in last couple of weeks, but getting this PR merged is high priority for me.

Hi guys,
@dorodnic - glad to hear that you see the importance of this feature.
@radfordi - regarding your question:
At first glance, it seemed to us that libusb_claim is the one that locks the devices but after practical testing, we had come to the conclusion that libusb_open is the locking function of the device.
The main purpose of our patch is to split the discovery of the device and profile acquisition and the device opening, we did it by briefly opening the device (hence locking it in DeviceHolder constructor) and then destructed it until the next time that the sensor uses the open function (when pipeline is initiated with a give serial number).

@orshefi ,
Thanks for that PR, I would really like to see it merged.
I encountered a problem while testing with realsense-viewer:
In the original version. disconnecting the T265 device while streaming yields the following error message:
15:13:18.630 [6432] [E] Device-2830: ERROR: Bulk transfer message 0x2 (DEV_GET_TIME) request to device got LIBUSB_ERROR_IO. Bytes requested 6, bytes transferred 0
15:13:18.630 [6432] [E] Device-2830: Error syncing TM2 and Host clocks
15:13:18.635 [6461] [E] Device-2830: FW crashed - got error in stream endpoint thread function: status = -4 (LIBUSB_ERROR_NO_DEVICE), actual = 0
15:13:18.635 [6460] [E] Device-2830: FW crashed - got error in interrupt endpoint thread function: status = -4 (LIBUSB_ERROR_NO_DEVICE), actual = 0
15:13:18.836 [6432] [E] Device-2830: State [ACTIVE_STATE] got event [ON_ERROR] ==> [ERROR_STATE]
15:13:18.836 [6432] [E] Device-2830: Entered state [ERROR_STATE]

With your PR merged, I get the following error message:
15:23:39.086 [7843] [E] Device-7AE0: FW crashed - got error in stream endpoint thread function: status = -4 (LIBUSB_ERROR_NO_DEVICE), actual = 0
15:23:39.086 [7842] [E] Device-7AE0: FW crashed - got error in interrupt endpoint thread function: status = -4 (LIBUSB_ERROR_NO_DEVICE), actual = 0
15:23:39.287 [7784] [E] Device-7AE0: State [ACTIVE_STATE] got event [ON_ERROR] ==> [ERROR_STATE]
15:23:39.287 [7784] [E] Device-7AE0: Entered state [ERROR_STATE]
Segmentation fault (core dumped)

and the viewer crashes.
Checked on ubuntu 16.04
Also, I ran 2 instances of realsense-viewer. I then disconnected 1 T265 device and It's instance of realsense-viewer crash. Running it again, while the other viewer is still running, yields the following error message in the viewer's screen:
Io in rs2_get_stream_profiles(sensor:0x7f983c002420):
Failed to get supported raw streams

(hand copied)
It seems related to another test I made: running an instance of the ROS wrapper, realsense2_camera. Disconnecting T265 and then reconnecting it everything is ok but then disconnecting it and reconnecting again, the application crash.

@orshefi, does #5213 fix this for you?  If not would you mind thinking about your requirements in the context of #5213, as it is our short-term goal to remove libtm completely.

That (#5213) seems like a great pull request, it handles all issues I have encountered.
When does it planned to be released? I won't be able to finish my work on this pull request until February at least.


Change CSS icon

fix: #13 Quirky CSS icon
I changed the CSS icon which was quirky to a new CSS icon.
This image shows the change.

Kindly check the label the 'GSSoc' should be written as 'gssoc'.


Make ghc-mod's messages errors by default

When ghc-mod doesn't include Warning in the error message it's an error

Thanks!


experiment: remove async-trait

As of Rust 1.75, the async_fn_in_trait feature has been merged (see: https://github.com/rust-lang/rust/pull/115822), meaning the async-trait crate is now only required for dynamic dispatch (dyn Trait). Since brush doesn’t use dyn Command, I decided to try removing the dependency. The modules arithmetic.rs and interp.rs are most affected, as they use async recursion, which requires futures to be boxed. I’ve wrapped all recursive functions in async move { .. }.boxed().

That's what async_trait or async_recursion do, but async_recursion does not work with an empty trait function body. I will revert the recursive functions since async_trait is really nice, and I forgot Pin<..> anyway. At least other traits without recursion would benefit from the native async though.

That sounds like a better direction. Let's remove unnecessary #[async_trait::async_trait] attributes where it should now "just work natively". For other places where we'd have to make the code less readable, let's hold off for now.

@reubeno done

LGTM.
Thanks also for addressing some warnings along the way. I'll get this merged, but if you find additional warnings like these that aren't being caught by the GitHub PR workflows, then it would be interesting to figure out how we could tweak things to catch them in the future.


[TB] Add Mobile/Table Target and provide additional height as options in dropdown

Problem/Concern
Proposed Solution

Please offer the following options available in both drop downs:

Note those values are using the grid value of
3 x grid (8 or 10)
4 x grid (8 or 10)
5 x grid (8 or 10)
6 x grid (8 or 10)
7 x grid (8 or 10)
and 44 (apple target area)
and 48 (android target area)

change is in


Can you suggest me how to train SuperGlue?

According to the comment by @sarlinpe which suggested to go through LightGlue repo for training SuperGlue. How am I suppose to do that using LightGlue or Glue Factory (as suggested in the repo itself)?
@Phil26AT

Hi @Shuhul24
You just have to change the "matcher" entry in the LightGlue training config to SuperGlue and then follow the steps described in glue-factory.


Preserve alignment in GltfUtilities::compactBuffer.

Fixes #862
This is pretty much the simplest possible approach. When deleting bytes from the buffer, it only deletes multiples of 8 bytes.

Looks good


added support for nodejs12.x

We are updating to node12.x and would like to see this merged in to avoid having to do a lot of extra work for our builds.
Thanks!

How come this is still idle?

Had to hack this fix into my dependencies for now. Would be nice if it gets merged and published soon :)

Hi!  Is there an ETA for when you think this may be merged into master?  We are also hacking this into our current serverless applications and would be nice to have it more easily available.

Any estimations on this?
Just migrated Serverless to node 12.x due to now it's LTS, and it would be nice to be able to use the plugin.

So..who could merge this?
Maybe @diogogvhenriques @goncaloneves ? (Sorry if you aren't active/responsible anymore, just looked at the last commits.)

Thanks @dkhunt27 for the PR


Long running test with Mainnet snapshot - sync_to_genesis node stuck at Block 332914

Network: 5 + 2
Name: ajith-mainnet-clone-1
Commit: 13344921cbe90a18be1c64663f68f8f1f5f7fa37 (3+ weeks old)
Mainnet Bootstrap (1034499) + Joining Node
Long Running Network ( progressing with a Sync_to_Genesis Joining node.)
Observations:
sync_to_genesis node stuck at Block 332914 with hash 3e2fc29f3efd9417479e1fb79bd67f3f2f402c6e76631e977b1f2def72681a49
assuming multiple missing finality sigs ?
{"timestamp":"2023-03-08T04:29:30.748303Z","level":"INFO","fields":{"message":"BlockAcquisition: registering finality signature for: block hash 3e2f..1a49","signature":"finality signature for block hash 3e2f..1a49, from PubKey::Ed25519(1117..4957)","ret":"Some(NeededIt)"},"target":"casper_node::components::block_synchronizer::block_acquisition"}
...
{"timestamp":"2023-03-08T04:29:31.123354Z","level":"INFO","fields":{"message":"BlockAcquisition: registering finality signature for: block hash 3e2f..1a49","signature":"finality signature for block hash 3e2f..1a49, from PubKey::Ed25519(3eb6..3844)","ret":"None"},"target":"casper_node::components::block_synchronizer::block_acquisition"}
Grafana: https://grafana.casperlabs.io/goto/OBcBMeb4k?orgId=1
Dumps: http://genesis.casperlabs.io/ajith-mainnet-clone-1/casper-node-dumps/ajith-mainnet-clone-1/09032023_0012/dump_download_list.html

https://casper-labs-team.slack.com/archives/C01ULKL8G8J/p1678320865527179

The stuck block is now 283608 (d1e4..e4a3). Again, there is trouble getting strict finality.
The node cannot fetch required finality signatures from any of the peers. The flow:

node is in NeedNext::FinalitySignatures
it runs out of peers and refreshes the list
it gets 5 peers from the network component
all 5 peers are asked for the finality signature but fail to deliver (BlockSynchronizer: failed to fetch finality signature","err":"could not fetch item with id FinalitySignatureId)

Node tried all 7 peers multiple times, indicating that the BlockSynchronizer flow is correct.
NodeId(443c4544172d63527605ef255ee1e35b813d2a786d73d547c58f50a82274b389a1f5efdb8fd704477e8b4b2d5614ad70dacb215004751e806598e7d6e5ebf8e4)
NodeId(4b350f8f37a9221f217dc7a01d48b5109e3c7e5a26db1f69c7f0d925a835355bbc55df2efb488124c9c48e503524edc9c0f745d7d2f34b5f5d8237b7de28e5e3)
NodeId(6b4501278e8f2d5ab508de4077db392f3d9d2be844d4ed9d6aaf17fd60f046719f4ea1a7e1ddb952a40e23db927beeaf816670758f5da88bfd8af467428ec354)
NodeId(8a733029ecb6360c00dd297ac470bdd758113b11763ccb2554065e6cbcd3272809580f3d9d4ae15988d0597b400198393bbd1151f0be27e654dbc88d018e459b)
NodeId(caad6afef03479181c33beb6b27d74b38304d8b367a66ba346690888875e72f79bcd63ce2df6b02ae1a409361aab0427b7336825851089b512f8e1798ecdec54)
NodeId(eddeebf481ef48df43f1c9b9ee774e1e6d2962cd1197bdb8ab148fd07b82408bfb2157b72afbaaf0ae56bb8a5152b910b9672180466170ddfffc330a4ccc845a)
NodeId(f90ff348010df7b81ad3662be7a77b740c472381275e29c37ef0ffa7680037d5e601f96438044b480a21a2767c400715af32987969b1cb7ab9e6f8e005dcc24b)

The suspicion is that the code around this place doesn't guarantee that we'll eventually try to ask every peer for a finality signature for particular block from specific validator.
The peer who was able to finally deliver us the signature after restart was:
NodeId(8a733029ecb6360c00dd297ac470bdd758113b11763ccb2554065e6cbcd3272809580f3d9d4ae15988d0597b400198393bbd1151f0be27e654dbc88d018e459b)

and the validator id was:
PubKey::Ed25519(2bac..e69b)

It could be either that request for this finality signature was stuck in pending (hence supposedly never issued again) or that the linked for loop, which is limited to max_simultaneous_peers never issues a required combination of peer and validator.
cc: @Fraser999 @georgepisaltu


Let stringify method receive an array of characters to exclude from encoding

Not an issue, more of a feature request:
Sometimes I find myself in the need of avoiding the encoding of a certain set of specific characters.
@sindresorhus do you think it'll be useful to add options to the stringify method to specify which characters to exclude from encoding? Let me know and I could work on a PR for that.

Sometimes I find myself in the need of avoiding the encoding of a certain set of specific characters.

Why would you do that?

For specific use cases, let's say I'd like...
{ a: '[b:c]', d: '<>'}

To be stringified as ?a=[b:c]&d=%3C%3E instead of a=%5Bb%3Ac%5D&d=%3C%3E

Ok, sorry, but I'm not interested in supporting weird cases like that. ?a=[b:c]&d=%3C%3E makes the URL invalid.


New filter to reduce a result-set by selecting first/last rows

The idea is to be able to reduce the filter to only select a subset of the returned rows. The subset of selected rows is based on a top/bottom approach, the operand in the predicate specifies how to order the case.
The following example will return the 5 rows where the timestamp is the maximum
<filter>
  <ranking operand="timestamp" type="dateTime">
    <top count="5"/>
  </ranking>
</filter>

In the following example we'll consider data by groups. groups will be created for each distinct value of columns 1 and 3.
<filter>
  <ranking operand="value">
    <top/>
     <group-by>
          <column index="1"/>
          <column index="3"/>
     </group-by>
  </ranking>
</filter>

[X] Top and Bottom filters
[X] Handle different column-types
[X] Specify "count"
[X] Support of aliases & expressions
[X] Support of group-by
[x] Combine first/bottom and group-by
[x] Manage Xml and builders

Beta available at https://ci.appveyor.com/project/Seddryck/nbi/build/1.19.0-beta.22.build.410/artifacts


[BUG] Filtering class labels on COCO zoo dataset does NOT return samples matching the provided map

Describe the problem
When loading a COCO dataset via fiftyone.zoo.load_zoo_dataset, providing a string or list of strings to only load samples that have at least one instance of the classes specified by the string (or list of strings) does not load samples that match that requested description.
Expected Behavior
foz.load_dataset(
    ...
    classes["cat"]
    ...
    )

should return samples that all contain at least one instance of the class label "cat".
Observed Behavior
returns samples where all samples do contain at least one instance of an arbitrary common class label, which just doesn't happen to be "cat". This behavior can be replicated regardless of the class label or list of class labels requested. For instance, specifying "chair" will return N samples of which maybe one or two contain the label "chair", but all N happen to have the common label "broccoli" (Pictured below: selected images are the only samples that contain "chair"

Code to reproduce issue
import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("coco-2017", label_types="segmentations", classes=["chair"], max_samples=30, dataset_name="onetest")

session = fo.launch_app(dataset)

System information

OS Platform and Distribution: macOS 14.6.1 (23G93), kernel Darwin 23.6.0
Python version (python --version): Python 3.11.9
FiftyOne version (fiftyone --version): Originally tested on FOT tag v2.1.0.dev28 (internal), replicated on open source FiftyOne tag 0.25.1
FiftyOne installed from (pip or source): source developer install i.e. zsh install.bash -d

Other info/logs
Source code analysis
As far as I can tell, the mapping function used to filter requested class labels does not exhibit any obvious bug.
def _to_classes(classes_map):
    return [classes_map[i] for i in sorted(classes_map.keys())]

which is what seems to be the underlying map being applied when load_zoo_dataset is used to import via the COCODatasetImporter class.
Additional notes
Specifying the only_matching parameter as True does nothing to rectify this.
Willingness to contribute
The FiftyOne Community encourages bug fix contributions. Would you or another
member of your organization be willing to contribute a fix for this bug to the
FiftyOne codebase?

[ ] Yes. I can contribute a fix for this bug independently
[x] Yes. I would be willing to contribute a fix for this bug with guidance
from the FiftyOne community
[ ] No. I cannot contribute a bug fix at this time

Further context from @benjaminpkane: this issue links #4615 and #4570.

Standard COCO label format
{
    "info": info,
    "licenses": [license],
    "images": [image],  // list of all images in the dataset
    "annotations": [annotation],  // list of all annotations in the dataset
    "categories": [category]  // list of all categories
}

where:
info = {
    "year": int,
    "version": str,
    "description": str,
    "contributor": str,
    "url": str,
    "date_created": datetime,
}

license = {
    "id": int,
    "name": str,
    "url": str,
}

image = {
    "id": int,
    "width": int,
    "height": int,
    "file_name": str,
    "license": int,  // the id of the license
    "date_captured": datetime,
}

category = {
    "id": int,
    "name": str,
    "supercategory": str,
}

annotation = {
    "id": int,
    "image_id": int,  // the id of the image that the annotation belongs to
    "category_id": int,  // the id of the category that the annotation belongs to
    "segmentation": RLE or [polygon],
    "area": float,
    "bbox": [x,y,width,height],
    "iscrowd": int,  // 0 or 1,
}

Fixed by https://github.com/voxel51/fiftyone/pull/4884 and will be available in the next fiftyone>1.0 release.


Added an email rendering test for all Koenig cards

refs TryGhost/Product#4125
This PR adds two new integration tests to ensure all our Koenig cards are rendered properly after going through the EmailRenderer. Although we have thorough tests for the cards themselves in the Koenig repo, the EmailRenderer does post-processing on the rendered HTML, such as inlining CSS, which can adversely impact the rendered output of our cards in email clients (usually Outlook).
Since email newsletters are a core feature of Ghost, these bugs are typically fairly urgent, and since it is email, they are also quite difficult to troubleshoot and fix. These two tests are intended to prevent bugs of this sort, which in the past have been created by seemingly harmless changes like bumping dependencies that are used in the EmailRenderer.
The idea is to create a 'Golden Post' which has at least 1 of every card from Koenig, run that post through the EmailRenderer, and take a snapshot of the rendered HTML. In the future, if we make any changes to the EmailRenderer or the Koenig cards themselves, this will trigger us to carefully consider the changes, and it provides an 'expected' output to compare our changes against.
Additionally, the second test simply checks that all cards from kg-default-nodes are included in the 'Golden Post'. This protects against any new cards that we will add in the future — as soon as we add them to Koenig and bump kg-default-nodes in Ghost, this test will fail, prompting us to add the new card to the Golden Post and update the snapshots.
We should also run the 'Golden Post' through a test in Litmus, which allows us to visually inspect the rendered email across many different email clients. Ideally we would create a process to review the output of the 'Golden Post' in Litmus whenever we update the snapshot as well.

Planning to rerun this test as the images appear to be broken in Litmus — I think this is just a copy/paste issue but will get back to this on Monday.

Need to put a bit more thought into this, specifically around how to update this test. The test works in its current form, but updating will be a bit of a PITA so trying to think of a better way to do this.
The golden post is currently stored on main.ghost.org but that isn't guaranteed to always exist. It's easy enough to keep the lexical string up to date since it's stored in a fixture, but the images and other attachments aren't included.


relaxing tolerances to fix failing test

[WIP] scikit learn was recently upgraded which may be causing some test failures due to precision of test assertions.  Relaxing the tolerance to see if it will fix the test.

Interestingly, I can't seem to reproduce the problem even with the same 0.21.1 sklearn version on my own machine.

@slundberg I was able to reproduce the issue on an ubuntu machine.  Relaxing the tolerance seems to have fixed it.  Strangely, downgrading scikit-learn did not fix the issue on the machine, so I'm not sure why the results were so different.  Increasing the l1 regularization parameter for kernel explainer also fixed the issue.

Thanks! I expect to be back here covering issues etc by next week.