ESXi passthrough of NPU to VM - failed with error -110

Are there additional debug/verbose logs from the NPU Linux driver, I've been able to successfully do PCIe passthrough of the NPU from Intel 14th Gen system, but it looks like it fails to load firmware (-110) but no more details ... trying to understand what could be the cause whether this is on ESXi hypervisor and passthrough or something else ...
Here's snippet from dmesg (this is after installing the required drivers on Ubuntu 24.04)
[    2.036821] intel_vpu 0000:02:05.0: enabling device (0000 -> 0002)
[    2.052504] intel_vpu 0000:02:05.0: [drm] Firmware: intel/vpu/vpu_37xx_v0.0.bin, version: 20240726*MTL_CLIENT_SILICON-release*0004*ci_tag_ud202428_vpu_rc_20240726_0004*e4a99ed6b3e
[    3.078146] intel_vpu 0000:02:05.0: [drm] *ERROR* ivpu_boot(): Failed to boot the firmware: -110
[    3.078427] intel_vpu 0000:02:05.0: [drm] *ERROR* ivpu_mmu_dump_event(): MMU EVTQ: 0x10 (Translation fault) SSID: 0 SID: 3, e[2] 00000000, e[3] 00000208, in addr: 0x84803000, fetch addr: 0x0
[    3.078889] intel_vpu 0000:02:05.0: [drm] *ERROR* ivpu_mmu_dump_event(): MMU EVTQ: 0x10 (Translation fault) SSID: 0 SID: 3, e[2] 00000000, e[3] 00000208, in addr: 0x84803010, fetch addr: 0x0
[    3.093452] intel_vpu 0000:02:05.0: [drm] ivpu_hw_37xx_power_down(): VPU not idle during power down
[    3.095388] intel_vpu: probe of 0000:02:05.0 failed with error -110

Could you please give it a try to load the NPU kernel driver with force_snoop=1 module parameter set? (that is rmmod intel_vpu; modprobe intel_vpu force_snoop=1)

Using 1.6.0 instructions, looks like force_snoop=1 isn't working?
root@ubuntu:~# rmmod intel_vpu; modprobe intel_vpu force_snoop=1
root@ubuntu:~# dmesg|grep vpu
[    1.911597] intel_vpu 0000:02:05.0: enabling device (0000 -> 0002)
[    1.921169] intel_vpu 0000:02:05.0: [drm] Firmware: intel/vpu/vpu_37xx_v0.0.bin, version: 20240726*MTL_CLIENT_SILICON-release*0004*ci_tag_ud202428_vpu_rc_20240726_0004*e4a99ed6b3e
[    2.980059] intel_vpu 0000:02:05.0: [drm] *ERROR* ivpu_boot(): Failed to boot the firmware: -110
[    2.980328] intel_vpu 0000:02:05.0: [drm] *ERROR* ivpu_mmu_dump_event(): MMU EVTQ: 0x10 (Translation fault) SSID: 0 SID: 3, e[2] 00000000, e[3] 00000208, in addr: 0x84803000, fetch addr: 0x0
[    2.980786] intel_vpu 0000:02:05.0: [drm] *ERROR* ivpu_mmu_dump_event(): MMU EVTQ: 0x10 (Translation fault) SSID: 0 SID: 3, e[2] 00000000, e[3] 00000208, in addr: 0x84803010, fetch addr: 0x0
[    2.987821] intel_vpu 0000:02:05.0: [drm] ivpu_hw_37xx_power_down(): VPU not idle during power down
[    2.987995] intel_vpu: probe of 0000:02:05.0 failed with error -110
[  160.695061] intel_vpu: unknown parameter 'force_snoop' ignored
[  160.697978] intel_vpu 0000:02:05.0: [drm] Firmware: intel/vpu/vpu_37xx_v0.0.bin, version: 20240726*MTL_CLIENT_SILICON-release*0004*ci_tag_ud202428_vpu_rc_20240726_0004*e4a99ed6b3e
[  161.722348] intel_vpu 0000:02:05.0: [drm] *ERROR* ivpu_boot(): Failed to boot the firmware: -110
[  161.722367] intel_vpu 0000:02:05.0: [drm] *ERROR* ivpu_mmu_dump_event(): MMU EVTQ: 0x10 (Translation fault) SSID: 0 SID: 3, e[2] 00000000, e[3] 00000208, in addr: 0x84803000, fetch addr: 0x0
[  161.722387] intel_vpu 0000:02:05.0: [drm] *ERROR* ivpu_mmu_dump_event(): MMU EVTQ: 0x10 (Translation fault) SSID: 0 SID: 3, e[2] 00000000, e[3] 00000208, in addr: 0x84803010, fetch addr: 0x0
[  161.728714] intel_vpu 0000:02:05.0: [drm] ivpu_hw_37xx_power_down(): VPU not idle during power down
[  161.728995] intel_vpu: probe of 0000:02:05.0 failed with error -110

It is possible that the issue you are observing might be related to the hypervisor cache configuration.
There is a Patch that enables force_snoop module parameter for intel_vpu driver.
You could try applying this patch or updating kernel to 6.11 that already contains the patch and retry with this parameter set.

The force_snoop=1 parameter is only activated when explicitly specified with the modprobe command line. To have this parameter enabled by default when the module is loaded, you can create a configuration file in the /etc/modprobe.d/ directory. Please follow these steps:

Create a file /etc/modprobe.d/intel_vpu.conf.
Add the following line to the file: options intel_vpu force_snoop=1.

After you reboot your system, the force_snoop=1 parameter should be automatically applied when the intel_vpu module is loaded.
As for the log message: [ 386.904593] [drm] Initialized intel_vpu 1.0.0 for 0000:13:00.0 on minor 0 and the presence of /dev/accel/accel0 these are indeed indications that the driver has been successfully initialized and the device is correctly set up.

Thanks for the commands to persist parameter. I guess I'm trying to understand why this is needed? Is there something missing on how device is being presented to guest preventing initiation by default?
I'm also seeing issue w/device passthru to Windows system which throws classic Error Code 43, is there similar parameter for Windows driver?


INF-427: Download country/institution data in CSV format

Use fetch to grab the json from Cloudflare KV storage, parse it to CSV and allow it to be downloaded when user clicks the button.
Need to figure out a few kinks with how Cloudflare worker-api gives it's data.

Modified the API worker to pull the entity data from KV storage, parse the timeseries and repository data into a CSV like arrays and then zip them up for download when the link of /api/download/[entity.type]/[entity.id] is hit.
The clickable download link for the zip on the COKI OA website for the specific country or institution appears as

Instead including the schemas in a separate file in the zip, I have just added a link to the data page for the user to investigate. Also shortened the names of the CSVs.

Having to force flexsearch to stay at v0.7.2 as there are issues with type definitions in v0.7.3. When the issue has been fixed we can considering upgrading.
https://github.com/nextapps-de/flexsearch/issues/342
https://github.com/nextapps-de/flexsearch/pull/364
Also added necessary config so it will ignore library files when doing the yarn types:check step in the tests, as there are conflicts with the current node and cloudflare type definitions.


plopping projects - request for input

I'm going to be soon introducing the ability to plop an entire project codebase and I want to throw out the approach I'm currently considering for feedback. My plan is to enable a syntax something like the following.
$ plop --project http://github.com/some/repo --destination ./some-repo
or shorthand
$ plop -p http://github.com/some/repo -d ./some-repo
this command would trigger the following...

inquirer prompts to request the destination directory (if --destination was not provided)
git clone of the repo
locate a file by the name of plopinit.js. This would use standard plopfile syntax to setup helpers, partials, and generators to be used for initialization
plop would be executed against this file. If only 1 generator is found, that generator would be executed (prompts and actions)
before any of the actions execute, all files in the codebase would be parsed for double curly braces {{ and each instance found would be replaced with an escaped version \{{. This replacement would also search for another set of tokens (thinking {{# #}} or {{% %}}). These would be replaced with standard curly braces.
plop would then run every file in the codebase through handlebars for processing
the escaped curly braces would then be reverted back to their previous state
the actions array would execute
the plopinit.js file would be removed

Benefits to This Approach

uses all of the same plop concepts, very low additional learning curve
allows the possibility of flexibility by defining multiple generators (more than one way to initialize the project) without requiring it (if there's only 1 generator, it's executed by default)
allows close to standard handlebar templates to be used for initialization while keeping any use of curly braces within the codebase safe from accidental replacement during initialization.

/cc @nicoespeon @kentcdodds @mxstbr @calcaide @kevin-wolf
Looking for questions or input

I like the idea for sure, man.
This would actually solve the challenge I was facing earlier today for automating a good portion of project setup.  Instead of having to run a whole scaffolding routine via Gulp, this would cut out that entire step.
One thing that would be cool for project initialization is a cleanup method.  Haha, you something like:

plop.slop([
  'file1.txt'
  'file2.txt',
  'path/*'
]);

Just thinking maybe having some means of deleting things like md files that are we'd only really ever want to see in that template codebase's repo.

Hi @amwmedia!
I did not use plop on my recent projects so I'm a bit out of date.
Still, I find this to be a nice idea. It sounds not adding too much complexity and I can see the use cases 👍
I was wondering "maybe we should allow to retrieve the project locally, not just on a distant repo like the example", but I think that can be delayed for later if people start asking for it − or maybe there is no big deal if we are just cloning the repo given as the input, whether it's a local or remote one.
Thanks for continuously improving plop, that's cool 😃

I use yeoman to create new OSS projects and it's really useful. I may think about swapping to this though. I have a few thoughts/questions:

If you're escaping {{, how would you do actual interpolation?
I would definitely like the ability to point to a directory rather than a git repo. Having both would be useful.

Sounds like a great effort :+1:

@tpizza Absolutely, what I was originally thinking is that this would be easy to do with a simple action function. You could run rimraf to clean up any files that are not needed in the end, however it might make sense to make an official action for this because it's definitely going to be a common need. Thoughts?

@nicoespeon yes, i would definitely see a benefit to being able to get the codebase from the local file system, a corporate network shared drive, etc. good suggestion 👍

@kentcdodds i probably didn't explain this very clearly (I WAS writing it at almost 1am after all haha). That's where the {{% %}} would come in. For interpolation during the init process, you would use {{% %}} in place of your normal {{ }}. That way if your codebase uses double curly braces for anything (very common), they won't be processed during initialization.
so this

{{% upperCase siteName %}}

go somewhere

would turn into this

{{ upperCase siteName }}

go somewhere

for initialization, the h1 would be processed by handlebars, while the \{{fontSize: 14}} would be processed by handlebars to be back to the original {{fontSize: 14}} so that the end result is functional jsx.
I hope that was clear 🙂

Also, what would you all think about implementing a search interface where you could search a central repo of seeds projects? something like plop --project without a value could kick it off. Something like that might really make the overall ecosystem more robust.

Actually, why don't you do the community/registry thing with npm like Yeoman does? Just have a keyword they must have and a website that shows packages with that keyword or something...

@amwmedia Yeah, I am thinking the use-case for folding that in as a core action would be common enough to where including it makes sense.  As usage continues to expand throughout the community, it'll definitely come in handy for it to be in the API versus creating a custom action in every plopinit.
I think what you're proposing for the search interface could be highly valuable.  I'm wondering if the central repo could actually be an object containing the main plop seed project directory assigned to a public key with the ability to add additional ones to an array under a private key?  That's assuming of course the architecture required to make that work can be reproduced within any private repos containing those seeds.  Something of that nature would be highly valuable to teams out there who are unable to make all of their code publicly available for political reasons within their organizations.  I have a few other ideas for that if it seems feasible.  Ultimately though, I think this could be ridiculously useful, especially if its architecture by design keeps in mind filtering out the kind of noise we see in the Yeoman registry.

@amwmedia looks pretty good idea and I like the approach. As @nicoespeon suggest, I think is a good idea to allow retrieve project locally. Also, I like what @kentcdodds  is suggesting, in my plop generator projects that I have in NPM, I use the word plop- maybe is not the best word (too generic maybe), but when I did it plop-generator it seemed too long.
And yeah, for sure, as you aand @tpizza are mentioning, it makes sense to add that action to clean up as a official action.

@tpizza I'm not sure I'm following what you're suggesting here as far as the private repo stuff goes. Can you clarify further?

@kentcdodds Seems like npm may be a logical vehicle for this. It allows public and private projects, offline, versioning, etc.
The thing I want to stay away from is the idea that you "install" this "program" that generates a site. I see it more as a codebase that is copied/downloaded, then prepared and customized via an initialization script. Maybe I'm splitting hairs here and there's not really much of a difference, but I don't believe so.
/cc @budacoder

@amwmedia What I was thinking in terms of adding a private project repo would be adding additional sources for plop --project to pull from.  Sort of like adding additional apt-get repos in Ubuntu.
A general use-case I'm thinking of for this is I know the security folks at my organization would likely take issue if our templates were publicly visible.  So having the option of setting our local plop installs to pull from custom repos would be beneficial.

So what about something like this.
$ plop --project npm-module-installed-local-or-global

copies and initializes the codebase in this module to the current folder as the destination. We might want to enforce the idea that the cwd needs to be empty first.

$ git clone http://github.com/someone/repo ./my-proj
$ cd ./my-proj
$ plop

plop detects the uninitialized repo and triggers the init process

I think we could easily use the package.json file to configure the init process (see the example below). The json parameters initPlopfile and initDependencies would always get cleaned up automatically after init completed.
package.json example
{
  "name": "something",
  "initPlopfile": "init-script.js",
  "initDependencies": {
    "things-needed-by-the-init-script": "^1.0.0",
    "not-likely-needed-in-most-cases": "^1.0.0"
  }
}

@tpizza does the npm approach solve this for your use case? I would assume you could use artifactory to pull your enterprise codebases for generation?

@amwmedia you know what?  Yeah that would be more than adequate.
The idea I had in my head at first is a bit more complex than it needed to be.  It seemed like a good idea in my head at the time, but not so much IRL as I typed it out.  In short it would have involved pulling a private repo to an internal location which would contain all your different project templates.  From there then you'd use a command like plop --project --private which would then give you a list of project generators in the same fashion you see when plopping anything else.   It would be a cool uniform DX, but sort of overkill the more I think about it.

@tpizza ah, i see, so you were thinking of a way to drive the search interface via an internal registry. I think the only real problem with that is that it could be confusing for the developer unless we make some clear signifier that shows what registry you are pointed to, and how to change it.
This might be something we could address in the future though.

I like the idea very much. IMO it would be nice that if npm is used you don't need to type anything extra. npm knows of private repos and probably does the proxying anyway. My ideal would be something even simpler like plop init plop-project-base which would utilise npm to resolve other it is a repo, published module or local path. If no destination is given, plop would query whether I want to init to the current folder.
If I just call plop init it would be great to make an npm search for project names starting with plop-* and use that as completion list. ( I can dream, can I?)

@nerdgore I like this! The idea of repurposing the -init is great because that feature really doesn't do much at this point anyway, and I'm all for keeping things simple for the user. It also plays nicely into a widely accepted pattern (npm init, git init, etc)

After thinking this over in more detail. I believe that my original idea of copying and processing the whole codebase may be lacking. I don't like how it introduces more concepts and complexity. After thinking further about this, I believe we can use the existing plopfile interface to do project scaffolding as well. Here's what I'm thinking...

a project generator would be a normal plopfile that can be referenced via path, or globally installed via npm
when plop is executed with --init some-plopfile we find the plopfile referenced and run it.
if the plopfile specified has only 1 generator, that generator is immediately run

The one downside to this is that there are (potentially) a LOT of files that need to be plopped so the list of actions could get long. To mitigate this, we may need additional actions that can work on collections of files instead of individual ones. I already have in place (soon to be released) the ability to create custom actions, so that will help a lot too.
Thoughts?

I like the idea of not adding too much concepts / complexity to the tool, so +1 for this one.
Maybe we can make a POC of it, to feel how it's going on.

I'd love having plop as a scaffolding tool for entire new projects. I imagine that managing new projects using the approach outlined in the previous post by @amwmedia to be a great way of tackling this issue. Do you think about adding a generator directory similar like yeoman to the github pages?
I saw they manage their generators using package.json keywords. (yeoman-generator)
Are there any plans yet how to deal with that?

@MartinMuzatko Yes! I would definitely want to set up a publically searchable directory. I'm a little torn on the method, though. The NPM keyword search seems like the obvious choice at first, but I also think there's value to using a separate list because it would keep the number of choices down to just the projects that are intended for general consumption. I think yeomans approach currently suffers from project dilution. Everyone who used the generator-generator to generate a generator (I just love saying that) is now in the search results so it's hard to find the quality projects.
I'm open to ideas though. :-)

I like the idea of copying a folder of files or any type of file without trying to replace text.  Maybe just add a default action called 'copy'.
Maybe something like:
if copying a directory
actions: [{
    type: 'copy',
    path: 'app/new-directory,
    copyPath: 'plop/templates/scaffold-directory',
    directory: true
}]

if copying non-text file or whatever
actions: [{
    type: 'copy',
    path: 'app/directory/new-file.ico,
    copyPath: 'plop/templates/favicons/favicon-1.ico',
    directory: false
}]

@brandonbuttars yes, I was thinking the same thing. Just adding an addMany, copy, and copyMany would suit the need I believe.

Yeah, I like the idea of addMany, copy, and copyMany.  Perfect!  I'm excited to see this implemented.  That will make it possible to generate pretty much anything from my perspective.

@amwmedia @brandonbuttars, shouldn't a glob pattern imply, that we are copying/adding many?

@MartinMuzatko it would, and we would likely use a glob pattern. I'd have to think about whether it would be possible to roll the addMany functionality into the add action. Not sure it's possible without breaking backward compatibility, but maybe.

@amwmedia @brandonbuttars, shouldn't a glob pattern imply, that we are copying/adding many?

Is it (still) the case that plop doesn't allow you to bootstrap entire projects?  Is there a concept of a global plopfile, which could be used from anywhere and thus be used for such a thing?
I was looking into seeing what was out there besides yeoman, but what I want is something that can generate both an initial project structure and specific files/workflows afterward.

This is not currently in place, but it's one of the next things that I'm looking to add. I don't believe it will particularly hard to implement, just haven't gotten to it yet.
react-boilerplate and others have been using the repo cloning process for their initial project scaffolding, then they use plop for asset generation going forward.

I've been thinking about this more lately and something hit me the other day. Wouldn't it be better to provide a way to generate a CLI from a plopfile? This would remove the whole step of installing plop from your "getting started" process. If we could make it super easy to build a custom CLI that uses the plopfile API to execute prompts and actions, wouldn't that be better than something that requires plop to run?

🤔 I personally tend to install plop as a dev dependency and create a npm alias so people don't have to install plop if they don't want to. Doesn't it solve this need already?
Concerning the issue: we now have addMany. Do we still need to implement copy / copyMany?
For what I understand, this is something that can be achieved by addMany if there is no variable to replace − but I may be missing something.

I can see why people want to be able to drop a whole seed project with a CLI instead of using a clonable repo like other projects have done. You get more control over how things are created, you can conditionally install certain parts of the codebase, etc. But I'm kind of unsure if it's better to have a package that is read by the plop binary (the way yeoman does it) or if there's a better, simpler, way to do the project scaffolding.
add and addMany would still handle the data in the file as a template, so it won't work well for copying files as demonstrated by issue #86.

Any updates on this?

before any of the actions execute, all files in the codebase would be parsed for double curly braces {{ and each instance found would be replaced with an escaped version \{{. This replacement would also search for another set of tokens (thinking {{# #}} or {{% %}}). These would be replaced with standard curly braces.

@amwmedia How would one go about to do this? It would be very useful to leave the existing curly brackets intact and use something like {% %} but currently it seems quite difficult to achieve without much effort.
The idea is to scaffold an entire project as you described.
What is the status on these features or has anybody run into similar problems, any suggestions? 😄


Math support

Does this app support math formula like MacDown? If not, could you add this feature? Thank you. I like this app.

It does support math but there are issues with PDF's currently.


cmd/cgo/internal/swig,cmd/go,x/build: swig cgo tests incompatible with C++ toolchain on builders

After updating the builder images to have a gcc-based C++ toolchain, the clang and 386 builders began failing. This appears to be because the toolchain that's installed is either incompatible with the object files produced by cgo and the Go toolchain (my theory for clang) or the toolchain just can't properly cross-compile (my theory for 386).
Thing is, these tests were already getting skipped 100% of the time, or not running at all, looking at the history. So for now, they're skipped once again. This bug tracks possibly enabling these tests, but I don't think they're a particularly high priority.
Example failures:

https://ci.chromium.org/ui/p/golang/builders/ci/gotip-linux-386/b8746588762099038993/overview
https://ci.chromium.org/ui/p/golang/builders/ci/gotip-linux-386-clang15/b8746588763037378577/overview
https://ci.chromium.org/ui/p/golang/builders/ci/gotip-linux-amd64-clang15/b8746588762291961633/overview

Erroneously closed, but will be closed soon.

@gopherbot Please consider this for backport, in particular CL 589295 and CL 589296. They apply test-only fixes that are needed to fix builder failures in newly running tests after a builder change.


feature request: auth&al

To generate citekeys for .bib entries for use with BibTeX that agree with the citekeys in my already existing huge .bib database, I need a citekey function "auth&al", say, that is similar to "authEtAl" but where the author (last) names, in case of exactly two, are separated by "&" (ampersand).  In the case of more than two authors, the (last) name of the first author should be given, appended by "&al".  Is that doable?
Examples from one of my existing .bib files:
@ARTICLE{Thide&al:PRL:2007,
 AUTHOR = "B. Thid{\'e} and H. Then and J. Sj{\"o}holm and K. Palmer and
                    J. Bergman and T. D. Carozzi and Ya. N. Istomin and
                    N. H. Ibragimov and R. Khamitova",
 TITLE  = "Utilization of photon orbital angular momentum in the
          low-frequency radio domain",
 JOURNAL= PRL,
 VOLUME = 99,
 NUMBER = 8,
 PAGES  = "087701(4)",
 MONTH  = "22 August",
 DOI    = "10.1103/PhysRevLett.99.087701",
 YEAR   = 2007,
}

@ARTICLE{Mendonca&Thide:EPL:2008,
 AUTHOR  = "J. T. Mendon\c{c}a and B. Thid{\'e}",
 TITLE   = "Neutrino orbital angular momentum in a plasma vortex",
 JOURNAL = EPL,
 VOLUME  = 84,
 PAGES   = "41001(4)",
 MONTH   = "14 November",
 YEAR    = 2008,
}

@ARTICLE{Tamburini&al:NPHY:2011,
 AUTHOR  = "Fabrizio Tamburini and Bo Thid\'e and Gabriel Molina-Terriza
            and Gabriele Anzolin",
 TITLE   = "Twisting of light around rotating black holes",
 JOURNAL = NPHY,
 VOLUME  = 7,
 NUMBER  = 3,
 PAGES   = "195-197",
 MONTH   = feb,
 DOI     = "10.1038/NPHYS1907",
 YEAR    = 2011,
}

The acronyms for the (abbreviated) journal names are included in the .bib files in the form of @STRINGs:
@STRING{PRL = "Phys.\ Rev.\ Lett."}
@STRING{EPL = "Europhys.\ Lett."}
@STRING{NPHY = "Nature Phys."}

and so  on...

:robot: this is your friendly neighborhood build bot announcing test build <IP_ADDRESS>49.issue-941 ("Merge branch 'master' into 941").

If you try build 6149 (linked above) you could use [auth.etal:replace=.etal,&al] for a pattern. If that works to your satisfaction (replace is new), I can merge it to master.

:robot: this is your friendly neighborhood build bot announcing test build <IP_ADDRESS>62.issue-941 ("auth joiner").


Add Pro Tip on CORS / external scripts.

The biggest gotcha for me integrating raven-js was to understand the need to enable CORS for scripts loaded on external domains.  I've attempted a quick summary of the issue as a new section of the pro tips documentation.

Oh boy, this is old. We documented this a while ago. :)


Add spawner type - RandomSpawn

Add support for spawner type - RandomSpawn.
These should be the random mobs/prefabs generated when a location is created.
See RandomSpawn, RandomSpawn.Randomize() and ZoneSystem.SpawnLocation()

This... does not look like what I expected.
It just looks like creature spawners...


Add [TAB] shortcut to jump to next field in 'todo new'

The common shortcut of jumping between input fields with [TAB] currently does not seem to be implemented in the current version (2.1.0, installed via pip3).

Looks like upstream is working on this: urwid/urwid/154


Jenkins-Hygieia plugin and API for ingestion: Testers wanted

Testers wanted:
New API for data ingestion: https://github.com/capitalone/Hygieia/tree/hygieia-2.0
-- follow same build process for Hygieia
Hygieia-Jenkins plugin: https://github.com/tabladrum/hygieia-jenkins-plugin
Instructions in Readme.

What are the enhancements / blueprint for the same
Regards,
Keyur
On Jan 17, 2016, at 1:34 PM, tabladrum <notifications<EMAIL_ADDRESS>wrote:
Testers wanted:
New API for data ingestion: https://github.com/capitalone/Hygieia/tree/hygieia-2.0
-- follow same build process for Hygieia
Hygieia-Jenkins plugin: https://github.com/tabladrum/hygieia-jenkins-plugin
Instructions in Readme.
—
Reply to this email directly or view it on GitHubhttps://github.com/capitalone/Hygieia/issues/279.

As a part of Hygieia 2.0, we are creating a pipeline to track commits all the from commit stage to production. In order to do this seamlessly we need to create links that are missing today. So, we will be going away (as much as possible) from running collectors and rather accept event data via plugins such as Jenkins plugin for Hygieia. I will publish some great details next week.

Ty  - will be able to help test
Regards,
Keyur
On Jan 17, 2016, at 8:02 PM, tabladrum <notifications<EMAIL_ADDRESS>wrote:
As a part of Hygieia 2.0, we are creating a pipeline to track commits all the from commit stage to production. In order to do this seamlessly we need to create links that are missing today. So, we will be going away (as much as possible) from running collectors and rather accept event data via plugins such as Jenkins plugin for Hygieia. I will publish some great details next week.
—
Reply to this email directly or view it on GitHubhttps://github.com/capitalone/Hygieia/issues/279#issuecomment-172407159.

We tested it internally. Closing this.

Hi
i have configured hygieia-jenkins-plugin but nothing is reflected in Hygieia dashboard :-1:


Not a valid path value error

Description of the bug
A path to --fasta doesn't work, I get an error that path is not valid: Not a valid path value
Command used and terminal output
nextflow run -r dev nf-core/scnanoseq --input './Elena-cDNA-2/20240624_1312_1D_PAW58377_76308a2c/fastq_pass/fastq_data.csv' --outdir scnanoseq_test --fasta './Rabbit_New/fasta/genome.fa' --gtf './Rabbit_New/genes/genes.gtf' --barcode_format 10X_3v3 -profile singularity

Plus 42 more processes waiting for tasks…
Execution cancelled -- Finishing pending tasks before exit
-[nf-core/scnanoseq] Pipeline completed with errors-
Pulling Singularity image https://depot.galaxyproject.org/singularity/ubuntu:20.04 [cache /datasets/work/hb-rabbit-gbc/work/Maria_Jenkel_ONT_Data_04-07-2024/work/singularity/depot.galaxyproject.org-singularity-ubuntu-20.04.img]
WARN: Singularity cache directory has not been defined -- Remote image will be stored in the path: /datasets/work/hb-rabbit-gbc/work/Maria_Jenkel_ONT_Data_04-07-2024/work/singularity -- Use the environment variable NXF_SINGULARITY_CACHEDIR to specify a different location
ERROR ~ Error executing process > 'NFCORE_SCNANOSEQ:SCNANOSEQ:PREPARE_REFERENCE_FILES:SAMTOOLS_FAIDX'

Caused by:
  Not a valid path value: './Rabbit_New/fasta/genome.fa'

Relevant files
slurm-61436891.txt
System information
nextflow version <IP_ADDRESS>14
HPC
slurm
singularity
Linux
dev

Hello @sme229 : could you change the path to your reference inputs (both--fasta and --gtf) to the absolute paths instead (full path). Once you change this, can you give it a re-try and let us know?

Hello @lianov thank you so much, that worked!

Great! I will close this issue. If you end up having a general question along the way, feel free to post it in our Slack group as well.

Thanks @lianov I've tried to join the Slack group, but get this message: It looks like there isn’t an account on nf-core tied to this email address. Please let me know if my email address can be added to the list.

@sme229 : you need to first join the nf-core slack group, directions can be found at: https://nf-co.re/join#slack


Explain difference between conversions and accessors

As an example, TempDir::path is an accessor so it would not be correct to call it TempDir::as_path.

Add to "naming".

Closing in favor of #89.


[Bug]: ModuleNotFoundError: No module named 'llama_index.legacy.finetuning.gradient'

Bug Description

Version
v0.10.65
Steps to Reproduce
This bug occurs when I write:
from llama_index.legacy.finetuning import generate_qa_embedding_pairs

Relevant Logs/Tracbacks
No response

Workaround would be to migrate off of legacy no?

Workaround would be to migrate off of legacy no?
Yes，I have seen the result of your modification, thank you!


Feat/country regions codes

Remeber to erase organizers table before.

Use rebase instead of merge. Replaced by https://github.com/oreplay/oreplay-backend/pull/23


setTimeLimit example

I am having trouble setting the time limit value of the search parameters in Java. I would like to pass an int at "XXX" below but setTimeLimit expects a com.google.protobuf.Duration. A new instance of that Duration object can not be created with an integer either. It requires a "builder", something like com.google.protobuf.GeneratedMessageV3.Builder. Surely I am overcomplicating things here.
Can you please give a Java example of setting the time out?
RoutingSearchParameters searchParameters =
 main.defaultRoutingSearchParameters()
  .toBuilder()
   .setFirstSolutionStrategy(FirstSolutionStrategy.Value.PATH_CHEAPEST_ARC)
   .setTimeLimit(XXX)
   .build();

First import Duration
import com.google.protobuf.Duration;

then you can use:
    RoutingSearchParameters searchParameters =
        main.defaultRoutingSearchParameters()
            .toBuilder()
            .setFirstSolutionStrategy(FirstSolutionStrategy.Value.PATH_CHEAPEST_ARC)
            .setLogSearch(true)
            .setTimeLimit(Duration.newBuilder().setSeconds(10).build())
            .build();

Using builder:
src: https://developers.google.com/protocol-buffers/docs/javatutorial#builders
src: https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/Duration#newBuilder--

thank you!

For the record adding the sample: https://github.com/google/or-tools/blob/master/ortools/constraint_solver/samples/VrpWithTimeLimit.java


cloud_firestore 5.6.0:  FlutterFirebaseFirestoreRegistrar.java:19: error: cannot find symbol  LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION));

Is there an existing issue for this?

[x] I have searched the existing issues.

Which plugins are affected?
No response
Which platforms are affected?
Android
Description
Hi i've found some bug when i installing cloud_firestore plugin
Reproducing the issue
I using cloud_firestore 3.6.0 in flutter 3.27.1 when i running the project i've some error like this
FlutterFirebaseFirestoreRegistrar.java:19: error: cannot find symbol
        LibraryVersionComponent.create(BuildConfig.LIBRARY_NAME, BuildConfig.LIBRARY_VERSION));
                                       ^
  symbol:   variable BuildConfig
  location: class FlutterFirebaseFirestoreRegistrar

This bug it's look like value of BuildConfig unreadable in kotlin code

Firebase Core version
3.9.0
Flutter Version
3.27.1
Relevant Log Output

Flutter dependencies

Expand Flutter dependencies snippet

Replace this line with the contents of your `flutter pub deps -- --style=compact`.

Additional context and comments
No response

Hi @alamsyahh15, I'm unable to reproduce this issue. It seems to work fine on my end. Have you tried flutter clean?


[ENH] Add shortcuts to ConsoleController

Add shortCuts method to create alias in options commands.
Usage :
// In ServeController
public function shortCuts()
{
      return [
             'd' => 'docroot',
             'p' => 'port',
      ];
}

In console :
yii serve -p=8888 -d=frontend/web

What do you think about it?

Could be useful, yes.

I like this feature, I could implement that

ok, I will try to create a pull request for this feature.

resolve in https://github.com/yiisoft/yii2/commit/857eee24515535eae6fe01283e313f24de563cbc

@SilverFire can you set this issue in milestone 2.0.8?

Yepp, done

@SilverFire thanks you very much


test-branch/execute-job/wrong-commit-sha-on-pr/9a716422-92d5-46b8-a288-88ca6bb55d3d

PR for testing f96e872967dac03c6268f1a975d1f1a8f90031d0

/canonical/self-hosted-runners/run-workflows f9c98e82f3a8c5328c99725153635e9575bd92b7


fix: filenames with spaces

Quick Checklist

[x] I have read the contributing guidelines
[ ] I have written new tests, as applicable (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[x] I have added a changeset, if applicable

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
This is a bug fix to support image filenames with special characters like spaces.

What is the new behavior (if this is a feature change)?
Image asset filenames will not be URL-encoded on disk, only for rendering.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this
PR?)
I think no.

Other information:

This includes the change to https://github.com/JonasKruckenberg/imagetools/pull/669, so we only need one

I think we should probably not merge this workaround, but fix the underlying bug in Vite instead, which may be https://github.com/vitejs/vite/issues/15298

Closing in favor of https://github.com/vitejs/vite/pull/15311


feat!: delete field note

TestContract was its sole user, so I just created TestNote inside that crate to replace it.
Closes https://github.com/AztecProtocol/aztec-packages/issues/5932

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

Benchmark results
Metrics with a significant change:

note_trial_decrypting_time_in_ms (32): 108 (+545%)
note_trial_decrypting_time_in_ms (64): 98.1 (+92%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
772
772
772

l1_rollup_calldata_gas
6,820
6,820
6,844

l1_rollup_execution_gas
587,301
587,301
587,325

l2_block_processing_time_in_ms
1,516 (+5%)
5,444 (+2%)
10,359

note_successful_decrypting_time_in_ms
146 (-13%)
412 (-1%)
690 (-7%)

note_trial_decrypting_time_in_ms
35.7 (-36%)
:warning: 108 (+545%)
:warning: 98.1 (+92%)

l2_block_building_time_in_ms
18,824
73,614
146,064 (-1%)

l2_block_rollup_simulation_time_in_ms
18,608
72,857
144,598 (-1%)

l2_block_public_tx_process_time_in_ms
8,506 (-1%)
33,269
66,551

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,458 (-7%)
30,265 (-1%)

note_history_successful_decrypting_time_in_ms
860 (-5%)
1,677 (-4%)

note_history_trial_decrypting_time_in_ms
79.1 (-44%)
123 (+55%)

node_database_size_in_bytes
19,140,688
35,815,504

pxe_database_size_in_bytes
29,859
59,414

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
155 (-1%)
47,763
31,978

private-kernel-inner
176 (-1%)
80,794
31,978

private-kernel-ordering
137
57,732
50,043

base-parity
74.8 (-1%)
128
265

root-parity
126
1,244
265

base-rollup
12,299 (+1%)
110,926
957

root-rollup
49.9
4,551
821

public-kernel-app-logic
1,667 (+1%)
62,017
52,067

public-kernel-tail
4,237
168,566
7,491

merge-rollup
3,102 (-3%)
2,760
957

public-kernel-teardown
112 (+1%)
62,017
52,067

public-kernel-setup
118
62,017
52,067

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
11.0 (-2%)
17.6 (-2%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.6
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.637 (-2%)
0.545 (-1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
51.4 (+1%)
80.5 (-1%)
261
500 (-3%)
978
1,947
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
96.0
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.527 (+1%)
0.497 (-1%)
0.475
0.467 (-2%)
0.465
0.464
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
60.5
119 (-1%)
376 (-1%)
739 (-1%)
1,458
2,921
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
105
207
691
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.534
0.536
0.511
0.508 (-1%)
0.507
0.508
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
67.5 (-1%)

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
109

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.588 (-1%)

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
51,411
543,524

Transaction size based on fee payment method

Metric
native fee payment method
fpc_public fee payment method
fpc_private fee payment method

tx_with_fee_size_in_bytes
897
1,145
1,345

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes
2 new note hashes

tx_pxe_processing_time_ms
1,270 (-2%)
862 (-1%)
3,500

Metric
1 public data writes
2 public data writes
3 public data writes
4 public data writes
5 public data writes
8 public data writes

tx_sequencer_processing_time_ms
833 (-1%)
763
1,362 (+1%)
911 (+1%)
2,090 (+1%)
1,097


Add datestyle session setting

Summary of the changes / Why this improves CrateDB

Add datestyle session setting.
Setting datestyle to the default value is allowed, but an error is logged if the value doesn't match the value

closes https://github.com/crate/crate/issues/12104
Checklist

[x] Added an entry in CHANGES.txt for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

Additional Notes:
I think it is a bit more complicated after all
1) Case Sensitivity
PostgreSQL uses DateStyle as variable name and allows to select using

SHOW DateStyle
SHOW "DateStyle"
SHOW "datestyle"
SHOW datestyle

using
static final String DATE_STYLE = "DateStyle";

in CrateDB would mean that it is case-sensitive, therefore preventing selecting
with e.g. SHOW DateStyle
=> I would propose using a lowercased variant in CrateDB
static final String DATE_STYLE = "datestyle";

instead.
allowing

SHOW DateStyle
SHOW "datestyle"
SHOW datestyle

2) Set Datestyle
Currently
SET DateStyle TO 'SQL'

is ignored by CrateDB (version 4.8) and leads to
SET SESSION STATEMENT WILL BE IGNORED: datestyle
being logged.
I would propose to allow datestyle to the default value (i.e. ISO), but log an error if the value doesn't match the value.

on the fence if this is a breaking change, as previously any SETting would have been ignored and not run into an exception 🤷♀
Also PostgreSQL has an Order ( DMY, YMD, MDY) option, which is used for SQL and POSTGRES DateStyles.
the following are all valid ways to set an ISO Style in PostgreSQL:
set Datestyle to 'ISO';
set Datestyle to 'ISO, DMY';
set Datestyle to 'ISO, YMD';
set Datestyle to 'ISO, MDY';
set Datestyle to ISO;
set Datestyle to ISO, DMY;
set Datestyle to ISO, YMD;
set Datestyle to ISO, MDY;

with the current implementation only
set Datestyle to 'ISO';
set Datestyle to ISO;

would be accepted

I went with a different approach and would appreciate feedback.


Add travis and appveyor for prebuilding binaries

This adds prebuilt binaries for the last 4 node versions on 64-bit Windows, Linux and Mac.
The binaries are built on travis and appveyor, the maintainers of this repository would need to enable both for this repository and generate an oauth token, adding them to into the corresponding configurations.
I also preliminarily published this on https://www.npmjs.com/package/node-gles-prebuilt until this is merged.

This change is

@googlebot I signed it!

This is really great - thank you! Apologies for the lag on the review.
I know that building stuff on Node-gyp isn't always great and I was hoping to get to pre-built binaries at some point. Do you mind adding some documentation on how to pre-build binaries and upload them? I'd love for this to be community supported. As for storage, I'll have to look into what I can do on my end. If it's something easy as stashing on github I think we can do that pretty easy.


Interpreting exports fields in package.json

This is related to this issue in the bezier-js library.
That library has the following targets specified in its package.json:
https://github.com/Pomax/bezierjs/blob/cb4fe3e55add7401bdc5ee56ada46abb61b55883/package.json#L6-L11
  "type": "module",
  "exports": {
    "import": "./src/bezier.js",
    "require": "./dist/bezier.cjs"
  },
  "main": "./dist/bezier.cjs",

Yet, when an app created with react-scripts encounters import { Bezier } from "bezier-js", it will incorrectly link to the commonJs file (dist/bezier.cjs), not the ES modulesrc/bezier.js as specified there.
This in turn causes an error because the named import Bezier does not exist on the cjs bundle. That means every app created with create-react-app that has bezier-js in its dependency tree will fail the build, as can be seen here: https://github.com/vasturiano/force-graph/issues/182 and here: https://github.com/vasturiano/react-force-graph/issues/282.
Other popular bundlers like webpack and rollup don't seem to have this issue, and correctly target the ES module file in the import.
I've made a simple sandbox that reproduces the issue with react-scripts:
https://codesandbox.io/s/create-react-app-import-bezier-js-5fxc4
I'm not sure if this a known issue or whether it is already resolved in some way. I've searched in the issues and couldn't find anything obvious related.

Also note that the code shown is the official way to denote conditional exports for Node modules, which is now the the official way to do mark CJS vs ESM ("experimental" in Node v12/v14, but graduated to proper official in v16, retroactively making them official for v12/14, too)

This is also an issue with Swiper.js. Unable to use V7 in CRA apps.
https://github.com/nolimits4web/swiper/issues/4871
https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c

There shosuld not be a "stale bot" acting on an issue with 26 upvotes, instead it should bump up this issue for triage instead, since that still hasn't happened.

Upgrading to react-scripts@^5 resolves this issue by migrating to Webpack 5, which correctly supports the exports field in package.json.  Caveat emptor--Webpack 5 has breaking changes that may be very significant for some projects.

This is in issue in file-type https://github.com/sindresorhus/file-type/issues/521

Upgrading to react-scripts@^5 resolves this issue by migrating to Webpack 5, which correctly supports the exports field in package.json. Caveat emptor--Webpack 5 has breaking changes that may be very significant for some projects.

The build is working fine. However Jest test runner is not.

Upgrading to react-scripts@^5 resolves this issue by migrating to Webpack 5, which correctly supports the exports field in package.json. Caveat emptor--Webpack 5 has breaking changes that may be very significant for some projects.

Thanks for suggesting this. It could work, but the migration process is too risky and complicated compared to what I have to gain. I'll follow this thread in case someone has a lighter workaround...


US 07.02.01 Decline Recording Geolocation

As a player, I want to be able to decline recording geolocation for privacy reasons, so that I can protect my personal information, and I also can hide the high score QR codes.
Priority: Medium
Score Point: 5
Risk Level: High

Acceptance Criteria:

Ability to control the information I share within the app, including my geolocation and high score QR codes
Option to decline recording my geolocation for privacy reasons
Ability to hide my high score QR codes
Clear and transparent privacy policies
Access and control over my account settings, including which information is shared and how it is shared
Ability to use the app with confidence and peace of mind, knowing my personal information is protected.

Priority: Medium
Score Point: 5
Risk Level: High


GNU social account fails to verify

my gnu social account fails to verify / authenticate.     😬

Hi @franny23dmt ,
I just checked Verify Credentials of my user on exactly this server - and it works!
Please note that username is case sensitive also AFAIK.


fix(options): vendor backward compability with nuxt 1.x

Re-add build.vendor in options to backward compatibility with nuxt 1.x

Codecov Report

Merging #3218 into dev will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##              dev    #3218      +/-   ##
==========================================
+ Coverage   95.26%   95.27%   +<.01%
==========================================
  Files          18       18
  Lines        1099     1101       +2
  Branches      293      294       +1
==========================================
+ Hits         1047     1049       +2
  Misses         44       44
  Partials        8        8

Impacted Files
Coverage Δ

lib/common/options.js
100% <100%> (ø)
: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 05efd73...0864453. Read the comment docs.


Cannot read properties of undefined (reading 'map') : Manager.js:155:36

TypeError: Cannot read properties of undefined (reading 'map')
at Manager. (D:\Real\node_modules\erela.js\dist\structures\Manager.js:155:36)
at Generator.next ()
at fulfilled (D:\Real\node_modules\erela.js\dist\structures\Manager.js:5:58)
at processTicksAndRejections (node:internal/process/task_queues:96:5)

Solved


NullReferenceException

https://github.com/praeclarum/sqlite-net/blob/5603ee0c66276e2242f4bd5bf654afb9bfc91db9/src/SQLiteAsync.cs#L1380
This line will throw
System.NullReferenceException : Object reference not set to an instance of an object.
when no operations was taken after SQLiteAsyncConnection creation.
Sample code:
			var db = new SQLiteAsyncConnection(path, true);
			db.CloseAsync().Wait();

I am also seeing this bug. Is there any way to work around this error?

Another confirmation of this bug.
As part of testing and debugging, we're opening the database when the app loads, then closing, deleting, and recreating the database with fresh test data. We're getting a NullReferenceException on the "await ms_sacConnection.CloseAsync();" line.


Clarity on removing in-tree drivers

This page specifically states:

Please remove manual installed open source Azure Disk and Azure File CSI drivers before upgrading to AKS 1.21.

However, there are no instructions provided on how to do this, nor any indication in AKS release notes.
Can the documentation be updated to include the appropriate references for performing this removal?

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

ID: 7013047f-1846-c266-6759-6897b6694eb9
Version Independent ID: e98f3106-93e3-f425-ffdd-0260c8a494cf
Content: Enable Container Storage Interface (CSI) drivers on Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/csi-storage-drivers.md
Service: container-service
GitHub Login: @palma21
Microsoft Alias: mlearned

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Hi @jeffwmiles - thanks for your feedback! Apologies for the delay in response. The doc has been significantly updated since your feedback date and this has been addressed. Thanks again!
#please-close


ImGuiStyle::Colors (and other arrays) not accessible from python bindings

In the app i'm porting, I manually modify the default style by modifying the values in the ´ImGuiStyle::Colors (imgui.get_style().colors` in pyimgui). This doesn't seem to exist in your port. How do i set specific colors/modify my current style?
 As these have known size, i guess there is a bigger chance they may be wrappable?

Numeric and bool arrays:
Some of the arrays are already available (those which use numeric or bool items)
For example, ImGuiIO::bool MouseDown[5] is already available as imgui.get_io().mouse_down
(it is published as read only, i.e. changes made in python are not propagated to C++)
arrays with user defined types, such as ImVec4      Colors[ImGuiCol_COUNT]
This requires a modifications on the generator side.
Obsolete arrays:

Same for KeysDown

KeysDown is part of an obsolete API, which the generator willfully ignores (and will continue to ignore).
See relevant imgui.h part:
    // Legacy: before 1.87, we required backend to fill io.KeyMap[] (imgui->native map) during initialization and io.KeysDown[] (native indices) every frame.
    // This is still temporarily supported as a legacy feature. However the new preferred scheme is for backend to call io.AddKeyEvent().
    //   Old (<1.87):  ImGui::IsKeyPressed(ImGui::GetIO().KeyMap[ImGuiKey_Space]) --> New (1.87+) ImGui::IsKeyPressed(ImGuiKey_Space)

#ifndef IMGUI_DISABLE_OBSOLETE_KEYIO
    int         KeyMap[ImGuiKey_COUNT];             // [LEGACY] Input: map of indices into the KeysDown[512] entries array which represent your "native" keyboard state. The first 512 are now unused and should be kept zero. Legacy backend will write into KeyMap[] using ImGuiKey_ indices which are always >512.
    bool        KeysDown[ImGuiKey_COUNT];           // [LEGACY] Input: Keyboard keys that are pressed (ideally left in the "native" order your engine has access to keyboard keys, so you can use your own defines/enums for keys). This used to be [512] sized. It is now ImGuiKey_COUNT to allow legacy io.KeysDown[GetKeyIndex(...)] to work without an overflow.
    float       NavInputs[ImGuiNavInput_COUNT];     // [LEGACY] Since 1.88, NavInputs[] was removed. Backends from 1.60 to 1.86 won't build. Feed gamepad inputs via io.AddKeyEvent() and ImGuiKey_GamepadXXX enums.
#endif

I quickly scanned the arrays in imgui.get_io() and imgui.get_style():

the bool/int/float arrays were already published (and bool arrays are published as read only)
the obsolete arrays are still not published (KeysDown)

The only missing I saw was ImGuiStyle::Colors. I decided not to patch the generator for the moment, so I added an alternative solutioon by patching imgui:
https://github.com/pthom/imgui/commit/a08931272922462f8bd4afb52011f8b5bc6a6ebe
I think it should be enough. Please tell me whether is is or not, so that I can close this issue

I'm still wonder if the api could be improved, i.e by having get_colors return a modifiable color and thus avoid set_color

PS: I noted the generator idea here, to be handled later: https://github.com/pthom/imgui_bundle/discussions/38

Thanks! Makes sense not to wrap the obsolete arrays. But would it be
possible to expose the actual array instead of getter and setter functions?
That would be the closest to the original API (as well as pyimgui's) and is
therefore easiest to discover/port from C++.
On Fri, Dec 9, 2022 at 7:19 PM Pascal Thomet @.***>
wrote:

Closed #29 https://github.com/pthom/imgui_bundle/issues/29 as completed
via c598219
https://github.com/pthom/imgui_bundle/commit/c598219a2cfa0871aeb9e8369e5a20993c8f2a2a
.
—
Reply to this email directly, view it on GitHub
https://github.com/pthom/imgui_bundle/issues/29#event-8000914277, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AANUOGJTOUDIFQCWGYW2IVLWMNZ4JANCNFSM6AAAAAASUZEETI
.
You are receiving this because you authored the thread.Message ID:
@.***>

But would it be
possible to expose the actual array instead of getter and setter functions?
That would be the closest to the original API (as well as pyimgui's) and is
therefore easiest to discover/port from C++.

No.
struct ImGuiStyle
{
   ....
    ImVec4      Colors[ImGuiCol_COUNT];
};

C arrays like int v[10] are liars: their type is int *,  not int [].
The only thing the compiler does to help is to reserve 10 slots and build time, and then it happily drop the size information into oblivion.
As far as pybind11 is concerned, Colors is a ImVec4* with no information whatsoever about its size.
Porting it to a python would require
1/ either, patching ImGui like this:
struct ImGuiStyle
{
   ....
    ImVector<ImGuiCol> Colors;
};

But then  the color info would be on the heap and performance would drop.
2/ Or write dirty hacks which I do not have time to explore  (I'm currently fighting hard with the CI wheels generation)

... And at this time I think Github is throttling my wheels build down, since they randomly fail after one hour (either they download corrupted files, or they seg-fault for no good reason)

... And at this time I think Github is throttling my wheels build down, since they randomly fail after one hour (either they download corrupted files, or they seg-fault for no good reason)

Ugh, that sounds very frustrating, I hope you win that fight! I am not very familiar with github's infrastructure, but i think i remember reading about cached artefact or build environments or something like that. I assume time-consuming steps are things like getting OpenCV built. If you could cache the result of that, next time you don't spend time on that and may stay well within the hour?

But the generator already handles many other fixed-size arrays well, such as (random example) imgui.get_io().mouse_clicked_count. More generally, if we look at a section of ImGuiIO and see how its wrapped:
struct ImGuiIO
{
   ....
    ImGuiKeyData KeysData[ImGuiKey_KeysData_SIZE];  // Key state for all known keys. Use IsKeyXXX() functions to access this.
    bool        WantCaptureMouseUnlessPopupClose;   // Alternative to WantCaptureMouse: (WantCaptureMouse == true && WantCaptureMouseUnlessPopupClose == false) when a click over void is expected to close a popup.
    ImVec2      MousePosPrev;                       // Previous mouse position (note that MouseDelta is not necessary == MousePos-MousePosPrev, in case either position is invalid)
    ImVec2      MouseClickedPos[5];                 // Position at time of clicking
    double      MouseClickedTime[5];                // Time of last click (used to figure out double-click)
    bool        MouseClicked[5];                    // Mouse button went from !Down to Down (same as MouseClickedCount[x] != 0)
    bool        MouseDoubleClicked[5];              // Has mouse button been double-clicked? (same as MouseClickedCount[x] == 2)
    ImU16       MouseClickedCount[5];               // == 0 (not clicked), == 1 (same as MouseClicked[]), == 2 (double-clicked), == 3 (triple-clicked) etc. when going from !Down to Down
    ImU16       MouseClickedLastCount[5];           // Count successive number of clicks. Stays valid after mouse release. Reset after another click is done.
    bool        MouseReleased[5];                   // Mouse button went from Down to !Down
    bool        MouseDownOwned[5];                  // Track if button was clicked inside a dear imgui window or over void blocked by a popup. We don't request mouse capture from the application if click started outside ImGui bounds.
    bool        MouseDownOwnedUnlessPopupClose[5];  // Track if button was clicked inside a dear imgui window.
    float       MouseDownDuration[5];               // Duration the mouse button has been down (0.0f == just clicked)
    float       MouseDownDurationPrev[5];           // Previous time the mouse button has been down
    ImVec2      MouseDragMaxDistanceAbs[5];         // Maximum distance, absolute, on each axis, of how much mouse has traveled from the clicking point
    float       MouseDragMaxDistanceSqr[5];         // Squared maximum distance of how much mouse has traveled from the clicking point (used for moving thresholds)
    float       NavInputsDownDuration[ImGuiNavInput_COUNT];
    float       NavInputsDownDurationPrev[ImGuiNavInput_COUNT];
    float       PenPressure;                        // Touch/Pen pressure (0.0f to 1.0f, should be >0.0f only when MouseDown[0] == true). Helper storage currently unused by Dear ImGui.
    .....
    ImVector<ImWchar> InputQueueCharacters;
};

we see that all fixed size array that:

have an integer to denote their size, and
are declared as a simple/basic type such as int or float

are wrapped and work. So float MouseDownDuration[5]; yes, ImVec2 MouseDragMaxDistanceAbs[5]; and float       NavInputsDownDuration[ImGuiNavInput_COUNT]; no. The ImVec2 case would work fine (at least on the python side, no complaints about np.array([imgui.ImVec2(1,2),imgui.ImVec2(3,4)]), and i guess the generator has to be taught to recognize preprocessor macros. ImVec4      Colors[ImGuiCol_COUNT]; is a combination of the two ignored above, but should be equally possible. I would say that, in the long run, spending effort on getting these two things fixed maybe a better place to put your energy (or tell me if i can help!) than manual patches such as you did for getting and setting colors now. There would be a bunch more of those to needed to, for instance, wrap a whole bunch of items in ImGuiIO. Of course i do not oversee the complexity, and also am not saying this should be done now. But I hope you would consider it at some point.


outdated third party tools -> official testsuites

Hi, even pretty new to swagger, I  already noticed the problem, that if you think about the ecosystem (editor, generator, mocks, ...) you get lost. I tried to get swagger to work with python, but a lot of the libs seem to be broken (with current examples) or have significant limitations (features, swagger syntax, ...)
So might it be possible to offer a testing suite to third party tool coders to assure their tools fullfil the swagger specs (e.g. offering simple, medium, complex swagger examples that must be valid and covered by their own unittests?). Would be really useful and safe time for coders that need to use this bindings / validators / ... :)

We've thought about it, but it's actually quite difficult. Since most tools are producers, there's no easy way to test those. Consumers on the other hand are fairly simple.
If you have any additional thoughts about it, we'd be happy to hear.

@kvlahromei While there are lots of tools, I don't believe the OpenAPI Initiative has an official test suite.
Would you mind if we either close this issue or mark it for Milestone=v3.Next ?

@RobDolinMS if an official test-suite is desired, I'd be happy to help organise one based on (a subset of?) APIs.guru. We plan to create a v3.0.0 branch (initially static) containing conversions of the v2.0 definitions at the point the v3.0.0 specification is released, before we decide a date for converting the repository.

@MikeRalphson It would be awesome to get a test suite going.  I can envision how to get a bunch of input values, but I'm still not exactly clear how we verify that the tool "did the right thing".  Considering some tools generate docs, some create client libraries, others just route...  Is there any way to verify correctness?  Or is that out of scope?  Should the goal simply be to provide a comprehensive set of input documents and let the implementer decide what is the right thing for their scenario?
Could a message/http be used as controlled input and output?  e.g. Given this request message/http representation and OpenAPI definition is THIS message/http a possible valid response.
Or would you have to describe all the potential responses to the input message?
Forgive the rambling, I'm just thinking out loud here.

@darrelmiller

Is there any way to verify correctness?

That I think is taking a big first bite. Perhaps a first level of compliance for a consumer of the test-suite would simply be to self-certify "does not terminate abnormally on this input", followed by something like "no errors issued" and "no warnings issued".
Measuring completeness of implementation of the specification is probably a pipe-dream (cat(1) would be a certified consumer of the specification given the criteria above) unless you're talking about lossless two-way conversion to/from another format.


Site is entirely blank in IE11

"Symbol is undefined" is the console error.

It is in the backlog. Comes from the pythonic module. I'll have to write the zip function without Symbol. In fact, I already have, I just need to integrate it. It's not a high priority issue as it affects 1.96% of the users, majority of whom usually have access to another browser.
Hopefully gets fixed by the end of the week.

The next release will include a fix for this issue.


Reduce frontend JSON file sizes

Proposal: the frontend should only read four JSON files from the run:

scenario.json: Scenario
instances.json: List[Instance]
predictions.json: List[SlimPrediction]
stats.json: List[Stat]

This gives a 5x reduction in download size.
Users wanting to do further analysis should download:

scenario_state.json: ScenarioState
per_instance_stats.json: PerInstanceStats

Unfortunately I'm not sure if we kept these files around for v1.0 and v1.1
We should deprecate scenario_state_slim.json and per_instance_stats_slim.json

Update: renamed predictions.json to display_predictions.json, also added display_requests.json which contains List[DisplayRequests].

Never mind; msmarco is still massive:
msmarco:track=regular,valid_topk=30,model=openai_curie,data_augmentation=canonical
103M Dec 17 18:29 display_predictions.json
620M Dec 17 18:29 display_requests.json
37M Dec 17 18:28 instances.json
443M Dec 15 02:13 per_instance_stats.json
103M Dec 15 02:14 predictions.json
3.3K Dec 15 02:04 run_spec.json
304 Dec 15 02:04 scenario.json
4.2G Dec 15 02:11 scenario_state.json
705K Dec 15 02:11 stats.json

We should just visualize fewer things in MSMARCO: #423


Text is rendered inconsistently in documentation window

Checkhealth
Put result of :checkhealth compe.

health#compe#check
========================================================================
## compe:snippet
  - INFO: snippet engine is not detected.

## compe:mapping
  - OK: `compe#complete` is mapped: (`i  <C-Space>   * compe#complete()`)
  - OK: `compe#confirm` is mapped: (`i  <CR>        * compe#confirm('<CR>')`)
  - INFO: `compe#close` is not mapped
  - OK: `compe#scroll` is mapped: (`i  <C-D>       * compe#scroll({ 'delta' : -4 })<Space>`)

Describe the bug
Text is inconsistently rendered or formatted in documentation  window
NOTE: This seems to occur only while using pyright(atleast for me, I had no other lsp to test except clangd where no documentation is shown)
To Reproduce
Steps to reproduce the behavior with the minimal config:

open a python file
Type something for auto-completion to trigger
Scroll through the presented menu

Actual behavior
See the addition of <text> tag in documentation window for findall completion item
https://user-images.githubusercontent.com/73517616/124149850-9aba5700-daae-11eb-8dd4-a493d263598d.mp4
Expected behavior
Should render properly everytime

There's a couple of things here:

the pyright lsp server you're using seems to return plaintext instead of markdown. I get proper markdown instead
the contents from the lsp server are cached in compe and theres a bug upstream in Neovim that will double existing plaintext markup. (I'll fix that)

This is how it should look like:

I pushed a PR to both neovim, but also to compe for people using Neovim 0.5

btw, is it possible you are not using pyright, but pyls?
Pyright is the preferred LSP server and that one should return properly formatted markdown instead.

btw, is it possible you are not using pyright, but pyls?

No, I checked twice, I use pyright. Pyls is not even installed.

Pyright is the preferred LSP server and that one should return properly formatted markdown instead.

It returns properly formatted markdown, but for the first time I scroll to that completion item, on every next scroll to the same item <text> get added to it's documentation window ( as in the video).


Decode diagnostic events in logs

The CLI isn't decoding diagnostic events in its logs which makes it hard to parse with the human eye. There are advantages to having the diagnostic events in XDR and we should probably keep it in the logs in XDR but also output the JSON representation.
Discussed at:

https://discord.com/channels/897514728459468821/1260700355335815379/1260706197762347089

Today this is what is seen:
soroban contract invoke --id CAN6I4YMMDEKWQGMFUDLDTMJ6VAAXTN7KJB2EUTI3MVQLUGYETXKR2OH  --source alice --network testnet -- decrement
2024-07-10T20:43:37.376246Z ERROR stellar_rpc_client::log::diagnostic_events: 0: "AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAADAAAADwAAAAdmbl9jYWxsAAAAAA0AAAAgG+RzDGDIq0DMLQaxzYn1QAvNv1JDolJo2ysF0Ngk7qgAAAAPAAAACWRlY3JlbWVudAAAAAAAAAE="

Ideally with this change this is what the output looks like:
soroban contract invoke --id CAN6I4YMMDEKWQGMFUDLDTMJ6VAAXTN7KJB2EUTI3MVQLUGYETXKR2OH  --source alice --network testnet -- decrement
2024-07-10T20:43:37.376246Z ERROR stellar_rpc_client::log::diagnostic_events: 0: "AAAAAAAAAAAAAAAAAAAAAgAAAAAAAAADAAAADwAAAAdmbl9jYWxsAAAAAA0AAAAgG+RzDGDIq0DMLQaxzYn1QAvNv1JDolJo2ysF0Ngk7qgAAAAPAAAACWRlY3JlbWVudAAAAAAAAAE=" {"in_successful_contract_call":false,"event":{"ext":"v0","contract_id":null,"type_":"diagnostic","body":{"v0":{"topics":[{"symbol":"fn_call"},{"bytes":"1be4730c60c8ab40cc2d06b1cd89f5400bcdbf5243a25268db2b05d0d824eea8"},{"symbol":"decrement"}],"data":"void"}}}}

Looks like this needs to be done in the rpc client to address the discord discussion: https://github.com/AhaLabs/rs-stellar-rpc-client/blob/97b12086ecf53ec928514e1472cc20cf8c58e694/src/log/diagnostic_events.rs#L4
Although the same change could also be done here: https://github.com/stellar/stellar-cli/blob/0449dfd3ef1656111eb479c0f9cce4170442626a/cmd/soroban-cli/src/log/diagnostic_event.rs#L4

The cli, not the rpc client, should be logging event details. The cli should be responsible for communicating to the user and the UI. If the rpc client is currently doing so that's probably a hold over to when they were in the same repo and the boundaries and responsibilities of both were blurred and not maintained.

Makes sense, I changed the PR to remove the logging module and the logging statement in the simulate_and_assemble_transaction fn. It will now return both the optional AssembledTransaction and the SimulateTransactionResult. The change requires that the CLI will then have to throw an error if AssembledTransaction is none, in which case it will also be able to log the DiagnosticEvents if there are any in the SimulateTransactionResult.
The follow up PR in the CLI can then add some sort of utility function that encapsulates the simulate_and_assemble_transaction call, performs the check on the result to throw the error and log events if applicable, and return the AssembledTransaction. This can then be used wherever simulate_and_assemble_transaction is called. The more detailed logging logic containing the JSON decode will also be in that PR.

I just opened a draft PR to resolve this issue which I can open once the RPC changes are merged. https://github.com/stellar/stellar-cli/pull/1499

The cli, not the rpc client, should be logging event details

One thing I wanted to clarify is that while the cli should be in control of logging things like events, there are some things that are within the scope of the rpc client to log and out-of-scope of the cli, such as raw messages sent and received, and so as part of this change we don't need to rip all logging out of the rpc client.
I don't think anything significant needs changing in the PRs, because the only logging I see being removed from the rpc client is events and results, but just wanted to call that out because I realized I didn't communicate as clearly about it as I could have.


Don't grab the keyboard in channel picker dialog

Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

Description

WIP
Fixes #2835

Needs testing to see if i didn't break anything on Windows and MacOS. It works as I'd expect it to on Arch Linux btw.

Minor note: I noticed both pre and post fix, numpad arrow keys are unable to scroll past Live (bottom) and Channel (top) respectively the way normal arrow-up and arrow-down can [looping around the custom channel picker dialog], but that's unrelated to this issue.

@LosFarmosCTL I require one macOS review please :)

@LosFarmosCTL I require one macOS review please :)

I’m with my parents this weekend, I can test it as soon as I am back home again sometime this evening.

I’m with my parents this weekend, I can test it as soon as I am back home again sometime this evening.

no worries he's playing WoW anyway.

Happy to merge in once you've given it a little try macos-expert LosFarmosCTL :heart:

Changes work as expected under macOS, I am now able to move the window using my WM (yabai) and the keybindings still work just like before, seems good to me.


do not close driver in use

This is a bug fix. To reproduce:

create a webcam (cam1) in app (no config info needed)
observe the cam1 is connected as expected.
create another webcam (cam2) in app that has the same config info as cam1.
observe cam2 closes cam1's driver and hijacks it for itself. Cam1 now gets EOF errors.

The expected behavior is

cam1's driver remains untouched and still works as expected after another cam2 component is created.
cam2 has no camera to connect to because the only available camera is in use.

This PR produces the expected behavior.
Side note, it'll be simpler to require user's to select a camera from our drop down menu. That will eliminate classes of issues like these where multiple camera components are fighting for the same driver. Any reason why we shouldn't do that?

This is a bug fix. To reproduce:
1. create a webcam (cam1) in app (no config info needed)

2. observe the cam1 is connected as expected.

3. create another webcam (cam2) in app that has the same config info as cam1.

4. observe cam2 closes cam1's driver and hijacks it for itself. Cam1 now gets EOF errors.

The expected behavior is
* cam1's driver remains untouched and still works as expected after another cam2 component is created.

* cam2 has no camera to connect to because the only available camera is in use.

This PR produces the expected behavior.
Side note, it'll be simpler to require user's to select a camera from our drop down menu. That will eliminate classes of issues like these where multiple camera components are fighting for the same driver. Any reason why we shouldn't do that?

We could but that's for viam app, not this repo :)


I found a contradiction in habitat coordinate

❓ Questions and Help
I found a contradiction in habitat coordinate.
When set the left camera's rotation = quaternion(1, 0, 0,0 ) which means left camera's coordinate is same as world coordinate.
Therefore positive z axis is also the direction in which the camera faces forward.
As the agent moves forward, the value of z in sensor's position decreases. When the agent moves forward,  the value of z in sensor's position should increase. This is pretty werid.
I have highlight the value of z of sensor position in each action.
No.0 no action
current agent's sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.6108389, **19.255245** ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.6108389, 19.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.6108389, 19.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.6108389, 19.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No. 0 is finished!
last sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.6108389, 19.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.6108389, 19.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.6108389, 19.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.6108389, 19.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No.1 to select action
action: FORWARD
current agent's sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.6196585, **19.005245** ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.6196585, 19.005245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.6196585, 19.005245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.6196585, 19.005245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No. 1 is finished!
last sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.6108389, 19.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.6108389, 19.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.6108389, 19.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.6108389, 19.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No.2 to select action
action: FORWARD
current agent's sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.628478 , **18.755245** ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.628478 , 18.755245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.628478 , 18.755245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.628478 , 18.755245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No. 2 is finished!
last sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.6196585, 19.005245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.6196585, 19.005245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.6196585, 19.005245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.6196585, 19.005245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No.3 to select action
action: FORWARD
current agent's sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.6372976, **18.505245** ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.6372976, 18.505245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.6372976, 18.505245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.6372976, 18.505245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No. 3 is finished!
last sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.628478 , 18.755245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.628478 , 18.755245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.628478 , 18.755245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.628478 , 18.755245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No.4 to select action
action: FORWARD
current agent's sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.6461172, **18.255245** ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.6461172, 18.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.6461172, 18.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.6461172, 18.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No. 4 is finished!
last sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.6372976, 18.505245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.6372976, 18.505245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.6372976, 18.505245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.6372976, 18.505245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No.5 to select action
action: FORWARD
current agent's sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.6549368, **18.005245** ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.6549368, 18.005245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.6549368, 18.005245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.6549368, 18.005245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No. 5 is finished!
last sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.6461172, 18.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.6461172, 18.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.6461172, 18.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.6461172, 18.255245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No.6 to select action
action: FORWARD
current agent's sensor state: {'left_sensor': SixDOFPose(position=array([-1.8926959,  1.6637564, **17.755245** ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor': SixDOFPose(position=array([-1.6926959,  1.6637564, 17.755245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'left_sensor_depth': SixDOFPose(position=array([-1.8926959,  1.6637564, 17.755245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0)), 'right_sensor_depth': SixDOFPose(position=array([-1.6926959,  1.6637564, 17.755245 ], dtype=float32), rotation=quaternion(1, 0, 0, 0))}
No. 6 is finished!

Habitat follows the conventional graphics coordinate system, so, sans rotation, the agent looks down -Z and forward moves along the -Z axis.

Habitat follows the conventional graphics coordinate system, so, sans rotation, the agent looks down -Z and forward moves along the -Z axis.

@erikwijmans thanks, so when I multiple a roation  [[1, 0, 0],
[0,-1, 0],
[0, 0, -1]], whcih means rotation from camera coordinate to sensor coordinate ( is same as world coordinate without rotation), it can get correct value of sensor's position in world coordinate.

@erikwijmans thanks, so when I multiple a roation  [[1, 0, 0],
[0,-1, 0],
[0, 0, -1]], whcih means rotation from camera coordinate to sensor coordinate ( is same as world coordinate without rotation), it can get correct value of sensor's position in world coordinate.

No, the sensor is already in world coordinates.  The world coordinate system follows the conventional graphics one.

No, the sensor is already in world coordinates.  The world coordinate system follows the conventional graphics one.

@erikwijmans Thanks again for your reply. Here I want to clear. My goal is to estimate position of point (target) in left camera in world coordinate. What I do is: 1) calculate the the position of target in left camera coordinate by intrinsic matrix. Because camera towards positive z axis in camera coordinate. (target seen by left camera, it means target is must in front of left camera, and it's depth is postive in left camera coordiante) 2)Calculate the position of target in world coordiante by rotation information from Habitat Api. As you can see here, left camera forward moves along the -Z axis in world coordinate, but forward move along the +Z axis in its own coordinate (left camera coordiante). So there is a rotation from left camera coordniate to world coordiante. Am I right?
lI know the sensor

@erikwijmans Thanks again for your reply. Here I want to clear. My goal is to estimate position of point (target) in left camera in world coordinate. What I do is: 1) calculate the the position of target in left camera coordinate by intrinsic matrix. Because camera towards positive z axis in camera coordinate. (target seen by left camera, it means target is must in front of left camera, and it's depth is postive in left camera coordiante) 2)Calculate the position of target in world coordiante by rotation information from Habitat Api. As you can see here, left camera forward moves along the -Z axis in world coordinate, but forward move along the +Z axis in its own coordinate (left camera coordiante). So there is a rotation from left camera coordniate to world coordiante. Am I right?
lI know the sensor

No, the camera looks along -Z in it's frame.  https://aihabitat.org/docs/habitat-lab/view-transform-warp.html may be helpful.  That is using the habitat-lab api to get observations, but the math is identical.

No, the camera looks along -Z in it's frame.  https://aihabitat.org/docs/habitat-lab/view-transform-warp.html may be helpful.  That is using the habitat-lab api to get observations, but the math is identical.

That is just a convention.  That is the convention OpenCV follows and yes there is rotation between the convention that OpenCV follows and habitat follows.  There has been a lot of discussion about this in other issues, i.e.: https://github.com/facebookresearch/habitat-lab/issues/499

That is just a convention.  That is the convention OpenCV follows and yes there is rotation between the convention that OpenCV follows and habitat follows.  There has been a lot of discussion about this in other issues, i.e.: https://github.com/facebookresearch/habitat-lab/issues/499

I got it. Really appreciate it.

I got it. Really appreciate it.


Reduce reproduction cost 96%, from $600 to $24, by releasing the instruct dataset only

The blog post says $500 was spent producing the dataset.
The blog post also says $100 was spent on 3xA100 80GB for 3 hours.
The market rate for 4xA100 is around $8 per hour. (See vast.ai for example)
If the dataset is provided for fine tuning then Alpaca could be reproduce for just about $24 and we would not have to wait for Facebook's response regarding sharing of the pre-trained model.

Or is alpaca_data.json the dataset?
In which case the reproduction cost is already $24, not $600.

Hi Mark,
You're right alpaca_data.json is our released dataset. We're also releasing the recipe for producing the dataset, so other researchers can build on this.
You're correct that excluding the cost of reproducing the data, the cost of training the model is much lower.


Fix for document command crash on anonymous routes.

bump version number to 2.0.3, update changelog

👍 Will wait for tests to pass

Codecov Report

Merging #231 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master    #231   +/-   ##
======================================
  Coverage    85.1%   85.1%
======================================
  Files          83      83
  Lines        5043    5043
======================================
  Hits         4292    4292
  Misses        751     751

Impacted Files
Coverage Δ

lib/src/http/request_path.dart
94.01% <100%> (ø)
: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 3f7b9bf...e4cef3e. Read the comment docs.


feat: replace tooltip with menu to display players beaten

Please check the following

[ x ] Do the tests still pass? (see Run the Tests)
[ x ] Is the code formatted properly? (see Linting (Formatting))
For New Features:

[ ] Have tests been added to cover any new features or fixes?
[ ] Has the documentation been updated accordingly?

Please describe additional details for testing this change

I'd love to learn a bit more about how you're using scoped css. For instance, do you follow any sort of structure in your class naming patterns, etc?

I haven't had a coherent pattern. There overall volume of css in my components is relatively low and I haven't pieced together patterns of reusability that indicate what patterns might make sense. Open to ideas


Set up a cron job that runs the validation and publication process

A task for either @lavdim or @np00 – please discuss who has most capacity to do it
Inside the VM please run the process
if (vocabulary sources are valid)
then publish them as HTML and LOD
else report errors as issues

every 5 minutes or so, using a cron job.
See https://help.ubuntu.com/community/CronHowto (don't install gnome-schedule, which is just a GUI frontend, but … – maybe anacron?)

Finished


Why are environment variable names converted to uppercase?

Agent Version and Platform
Hosted macOS Preview
VSTS Type and Version
VisualStudio.com
What's not working?
I was trying for hours to figure out why my environment variables weren't picked up by my tests on VSTS on a hosted macOS, until I printed them out...
Setting them in the "Variables" tab of the build definition:

Then running
node -e "console.log(JSON.stringify(process.env, null, 2))"

within a "Command Line Script" gave me:

{
  // ...
  "CYPRESS_CI": "true",
  // ...
}

They are being converted to uppercase. Is that expected bahaviour?
I looked at https://docs.microsoft.com/en-nz/vsts/pipelines/build/variables?view=vsts&tabs=batch#environment-variables. I know WiNdOwS doesn't care about upper and lower case but the rest of the world does.

@simonhaenisch By design, the agent replace . with _ and toUpper() every definition variables when it run every task.
The new Commandline task allow you provide lowercase environment variables.

I actually was aware that the variables were working within the command line task settings (I tried that during my debugging), however I need the same variables for multiple tasks and that is unmaintainable that way.

By design, the agent replace . with _ and toUpper() every definition variables when it run every task.

Would be nice if that was at least mentioned somewhere in the docs I linked. Might help other developers waste hours on debugging this (and maybe they won't hate Microsoft after all).
IMO this behavior is kind of ok on a hosted windows machine (even though i don't see any benefits in converting them, but I know it's normal on windows to use uppercase), but not on hosted Linux or macOS, since I expect my env setup to work the same way whether I run it on my local macOS or a hosted macOS. I think this should be made platform-agnostic.

Answered

This is still not ideal. Elsewhere in the Microsoft ecosystem - Function Apps as an example - connection strings are case-sensitive, and Microsoft sets the name, including case, for you.
Ironically by trying to make things easy on Linux, it's actually made it a lot more difficult.
Can this functionality please be reviewed and fixed?

Definitely agree with @willmorgan . I think you should not touch what users manually define. It is very confusing to be able to define variables name that do not actually hold. Moreover you might have a tool that expect some env variable with lower case names. How do you go for that?


Preview implementation for proof of possession token support

https://github.com/Azure/azure-sdk-for-net/issues/31471

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Identity


Fix a typo in the makefile templates

The fips.so and legacy.so providers were not being installed because of
a typo in the makefile templates.

I'm marking  this as "urgent" because I believe this should be in the alpha 1 release today.

Pushed. Thanks.


[FTL-2007] Refactor did-auth-lib; accept arbitrary registry endpoint URL

@anton-iskryzhytskyi

One important note, I didn't find a way to pass custom registry url here

Because now you just pass an entire Affinidi object to DidAuthServerService constructor.
(In the original implementation, registry url was only used to create an instance of Affinidi; and in most cases, we already have an Affinidi instance when we use did-auth-lib, so it would not make sense to try and create another one, hoping that the methods we're calling will not depend on other options)


Support connecting a database outside of the Application interface.

Some express middleware may require access to the database connection, delaying the database connection call to the Application.listen method prevents this. Instead we should expose the database connect method so that framework users can opt to connect when they need to. The existing behavior should persist if no database connection has been established.

Completed. Available in v0.6.0


gRPC Client Never Receives Response Headers when Using Grpc.Core.Channel

What version of gRPC and what language are you using?
GRPC 2.32.0 and Grpc.Net.Client 2.31.0 NuGet package with C#.
What operating system (Linux, Windows,...) and version?
Windows 10 20H2.
What runtime / compiler are you using (e.g. python version or version of gcc)
.Net Core 3.1.
What did you do?
On the gRPC server, I return response header containing server info once a request starts. On the client side, I block until I receive this information before sending the request body. This scenario works properly without issues when I use GrpcChannel.ForAddress for creating the channel. Once I switch to creating the Grpc.Core.Channel on my own, the client never receives the response headers sent from the server. Changing how the channel is created is the only code change needed to reproduce the issue and it happens consistently.
Channel creation that works:
var channel = GrpcChannel.ForAddress("http://localhost:5000");
Channel creation code that doesn't work:
 var channel = new Channel(uri.DnsSafeHost, uri.Port, ChannelCredentials.Insecure);
Server code snippt:
 public override async Task<FResult> DoWork(IAsyncStreamReader<FRequest> requestStream, ServerCallContext context)
        {
                    var headers = new Metadata() { new Metadata.Entry("serverinfo", this.serverInfo) };
            await context.WriteResponseHeadersAsync(headers).ConfigureAwait(false);
            ...
         }

Client code snippet:
         protected override Func<Task> OnNextAsync(Segment payload)
         {
         ...

         var call = client.DoWork(this.metadata, cancellationToken: this.grpcCancellationTokenSource.Token);
         var headers = await call.ResponseHeadersAsync.ConfigureAwait(false);

         ...
         }

The following line that reads the response headers on the client side never returns in the faulty case, although by debugging I can verify that the server executed await context.WriteResponseHeadersAsync.
var headers = await grpc.ResponseHeadersAsync.ConfigureAwait(false);
What did you expect to see?
Expected the response headers to be received by the client.
What did you see instead?
The client awaits but never receives the response header.
Anything else we should know about your project / environment?

Are you using a grpc-dotnet server (ASP.NET core based) or Grpc.Core based server?
Have you tried extra logging by enabling GRPC_VERBOSITY and GRPC_TRACE?
https://github.com/grpc/grpc/blob/master/TROUBLESHOOTING.md
Also the behavior you're describing is quite odd, since we have unit tests that should cover this - it would be best if you could provide a ready-to-run reproduction (ideally as a github repository) that has both the client and server and reproduces the problem you described.

Closing as there was no followup from the user.


Visual Bug: Size UI field not updating

When a value of the size property is 0, it automatically calculated to be according to the DisplayServer.window_get_size().
However, if the user changes a value to 0 in the UI, it does get calculated in-game by scrnOutput,
but it doesn't get updated in the UI. (because the UI only loads it on ready)
Things I tried:

setting the UI element according to the scrnOutput._size on ready
setting the UI element according to the scrnOutput._size on game-exit

for the onready one: print() or print_debug() don't seem to work in-game if put in ready (only if not at first few lines of _ready())
currently testing if anything work on in-game ready.

Update:
It seems to be a much more complicated issue than originally expected.
The problem is that the scrnOutput autoload instance in-game is a different from the one in the editor.
That means that MainPanel doesn't have a reference to the instance to the in-game scrnOutput and I haven't yet figured out how to get one, or otherwise communicate between the two.


Account Select - Only one Account

Skip the Account selection if the user has just one Bitcoin account on the BitcBox - but make sure that when signing happens the user is informed that only the Bitcoin on that account is insured.

Dont skip - just let the user select that one account because thats the place where the info gets displayed that xpub is shared with a 3rd party.


dev: include the ABI in declared classes

Right now the structure used for storage of the contract classes is ContractClassWrapper. This structure does not contain an ABI field and as such the ABI of the contract cannot be stored. Update the structure to allow the ABI to be stored and returned with the endpoint getClass.

Hi @greged93 can I take this issue ?

Hey @sparqet, I was going to add this myself quickly forgot to assigned myself

no problem !


state export fail to extract wasm contract

System information
Osmosis version: 12.1.0
OS & Version: Linux Debian 11
Commit hash: 8329e9e7dfdd232430602d7f6a2b7df0e4acc1bd
Expected behaviour
Generate an export json file without errors
Actual behaviour
export fail to extract wasm contract
wasm contract are present in the .osmosisd/wasm directory
Steps to reproduce the behaviour
osmosisd export --height 6425579
Backtrace
https://pastebin.com/sGk9yKjK

This bug was fixed!