Get test case location in source via CLI

We are working on an initial version of a CppUTest Test Runner for Visual Studio.
So far, we are able to detect which tests are available from the compiled binary using the -ln flag.
We can run selected tests and process the JUnit XML output for displaying the results, errors and execution time.
The next step would be to be able to jump directly to the test case in the source code from the Test Explorer in Visual Studio.
I tried using the information from the JUnit XML output, so we could at least jump to failed assertions.
However, Visual Studio does not process any changes to the test case after discovery (I can only publish new test results, which basically is OK / Failed with an additional string... rather limited).
So, we need this information during initial test case discovery, for which we currently use the -ln flag.
As far as I can tell, there currently isn't a way to get this information via the command-line interface.
Perhaps I could decompile the binary or do some other smart analysis, but that all feels like "hacking" to me.
I'd suggest adding a more elaborate interface (perhaps also with XML or JSON output to allow for easier parsing) that exposes the following information (XML-ish example):
<testrunner>
  <group name="SomeTestGroup">
    <testcase name="FirstTest" source="C:\Path\To\Source.c" startsOnLine="38" />
    <testcase name="SomeIgnoredTest" source="C:\Path\To\Source.c" startsOnLine="52" ignored="true" />
  </group>
</testrunner>

If anyone has suggestions for additional information that would be nice to expose, I'd love to hear them.
PS: This is currently being developed for internal use at one of our clients. We are looking into open-sourcing the Visual Studio integration. :wink:

I wonder whether this is really necessary? Have a look at this test runner for Eclipse. Perhaps it can give you some ideas:
git@ssh.github.com:tcmak/CppUTestEclipseJunoTestRunner.git

As you will see from the sources, the usual way is to parse the console output. One has to look at the cdt testrunner in order to see the rest of the 'magic'. All I know is that the current Cli contains everything needed to make it work, in particular, the possibility to run any combination of tests.
I don't have any deep knowledge of this, but I believe it initially has no knowledge of which test groups and test cases are there. It derives this from the console output, as well as the source path to failed tests, so you can jump to the source of failed tests. I don't think it lets you jump to the source of successful tests (haven't used it for some time).
So it runs the entire test suite the first time, builds a graphical representation of test groups and tests, and lets you run tests selectively thereafter.

Please note that Eclipse and Visual Studio are very different products.
I'm not familiar with the Eclipse API for building a test runner, but a quick scan of the repository you mentioned tells me that it is rather different than the interface VS offers.
The API within Visual Studio is relatively new and unfortunately very poorly documented.
After more than 10 different approaches on updating the test location after the discovery phase, I'm absolutely sure I need to know it during discovery.
An alternative would be to somehow find the source files within the project and "guess" where the tests are using some regular expression magic.
But when we use macro's and such to generate similar tests (like I suggested in issue #939), this magic quickly becomes way less magical.
We used to discover tests the other way around: by scanning the source files using regular expressions to detect the TEST macro, instead of using the binary as input.
But, when you do that, it is hard to figure out how to actually run the tests (which is more important than knowing where they are) and again, introducing other macros broke the regex magic.

Also, I do not want to run all the test suites just for discovery.
I only want to run them when the user explicitly chooses to do so.
Especially on larger projects, running all tests every time a binary changes can consume a lot of precious time and that is not needed to just discover tests.

Can't you run the entire test the first time (-v) and then parse the output? you can use the strings you find directly and feed them into the Cli on the next run.
As for source location, there will be one for each failed test. But I don't know the VS magic....

Hmm. We use a script-based approach for heavy-duty. We need to collect coverage results as well, etc. etc.
The Eclispe test runner is just sugar for the developers, and most actually don't use it.

What are you actually expecting that the test runner should do for you? I know only two use cases:

I want to run all tests, because that's the way to test my software.
I am busy working on a specific part and want to run one test (or a few) selectively.

Perhaps have a look at CppUTests way of using Cmake / Ctest. I don't like it much personally, but it seems to do a similar thing to what you wish to achieve.

I do so too, but the developers at this client have been using Visual Studio for years and are new to unit testing.
We want to make it as easy for them as we can, so we can motivate them to write tests, without asking them to use different scripts and command line magic and a lot of other "new stuff" (one step at a time). :wink:

Okay.... that would be use case 2... I found the "Eclispe approach" (run the whole binary once, select specific tests therafter + be able to jump to failed tests) to work fine for that.

The test runner currently list all tests in the Test Explorer (which allows you to group them by status, or test group).
You can either choose "Run All", choose a single test to debug it, or select several test you wish to run (for example: all failed tests).
This all works and the results get shown in the Test Explorer to after the tests have been run.
So far so good and for now, this might be just enough.
However, just clicking the test in the Test Explorer instead of having to find the location of a test manually, would be a really nice feature.

I checked the Eclipse runner. It does NOT have the ability to jump to any test.
However, if a test failed, it will display the failure message (which actually contains file/line info) and it will be able to jump to that location. I would imagine you could do the same in VS.

The path/ file/ line info should be in the xml as well, for failures.

I know, but as I mentioned before, changing the CodeFilePath and LineNumber property of the TestCase instance does not update the user interface.
I also tried using the SetPropertyValue method, but this does not make the user interface show the location either nor will it allow you to jump to the location.
As said before, this information needs to be set during the Discovery phase (== before actually running the tests).
Just displaying the file in the error message or stacktrace will not make it "clickable" in VS.

Is there an error message in the console window?

Afaik, even when using no test runner of any sort, double-clicking on a failure msg in the console window should work.
Also, there is a setting in CppUTest, which makes the output Vs-friendly.

No, not in the console window, because it is not shown and the -ojunit flag is also passed to the executable.

yes, -ojunit would prevent output to the console.

Maybe you need something analogous to -oteamcity?

I know what -ojunit does and -oteamcity is not yet released and would still require me to actually run the tests.

You can combine -v -junit to get both console output and junit output (don't know whether it is released, though). The user could then click the console window.

No, he can't. The console window is not visible. Tests are executed in a background process.

Hmm.

And again, that would be a workaround, because it still would not allow me to click any of the tests and jump to it.

Nobody can do that with any IDE :P. It hasn't killed us :D

Suppose you found a way to do it via the Cli and suppose you contributed a PR to make it happen, then it would still take, errr, some time until you'd find that in a release?

I made this test-runner-click-to-select thing available to a large group of developers. Nobody uses it anymore. They'd rather #if 0 unwanted test cases temporarily :-/

I know and I'm not saying that this must be implemented right away. I'm just saying that providing this mechanism would enable people to implement such functionality, which would be very nice.
And the fact that releases take a long time might be annoying, but it can't be a reason not to implement something.

Also, I'm might eventually provide a PR for this myself, just putting it on here so everyone can see it and I don't forget.

A PR always stand a fair chance. In Issue - if it's not a bug - may never be addressed.....

Again, this is not something that must be done. It would be nice to have. So that's okay.

Interesting discussion.
Do you know if there is perhaps a standard format for this already?

I just found a newer version of the JUnit XML format:
https://github.com/jenkinsci/xunit-plugin/blob/master/src/main/resources/org/jenkinsci/plugins/xunit/types/model/xsd/junit-10.xsd
This includes a file and line option (also requested in #903 I believe).
It also describes a skipped tags.
If these would be included in the XML output, and I would have an option to skip/ignore all tests from the CLI, that would be a good solution too.

Or perhaps that could be the output when combining -ln and -ojunit...

I'd probably not combine the parameters, but add -ljunit or so.
So, the output would be the latest junit output with all tests skipped?

I think that would be a decent approach. I've not yet come across another format that is widely used for retrieving this kind of information.

If I have time I'll dive into the Cpputest code tonight/this weekend to see if I can update the JUnit output and provide a mechanism to get these results. :wink:

By the way: is there a reason that XML output is generated per test group?
They could all be in a single file by putting the <testsuite> elements in an <testsuites> element.

I don't know whther there is a reason - I think a single file output would be much nicer.

@arstrube So do I. Especially if I could set the file name (see #959) or perhaps do it like other tools do and just write it to standard out.

As you can see, I took the time to add the file and line attribute to the testcase element.
I figured that perhaps running the tests with  -ojunit -xn would be enough, but unfortunately filtering out a test isn't the same as ignoring one.
Also, the XSD I mentioned earlier also describes an assertions attribute for the testcase element.
While I'm at it, I might as well see if I can provide this too.
Does not seem like too much trouble to do so.

I've added the assertions attribute yesterday night.
Still need to add some unit tests for that.
Regarding the filtered tests: I'd propose adding skipped element for both the tests that have been ignored as well as those that have been filtered out.
The skipped element has a type attribute that can be used to distinguish the two, for example:
<?xml version="1.0" encoding="UTF-8" ?>
<testsuite tests="2">
  <testcase classname="TestGroup" name="IgnoredTest" assertions="0" file="source.cpp" line="20">
    <skipped type="ignore" />
  </testcase>
  <testcase classname="TestGroup" name="ExcludeFilterTest" assertions="0" file="source.cpp" line="30">
    <skipped type="filter" />
  </testcase>
</testsuite>

In JUnitTestOutput::printCurrentTestEnded I save the result of result.getCheckCount() to a field I've added to the JUnitTestCaseResultNode.
Unfortunately getCheckCount() seems to return the total number of checks performed so far, not just for the current test case.
Therefore, in the while-loop of JUnitTestOutput::writeTestCases, I'm storing the result to a local variable so I can subtract it in the next iteration.
This seems to be giving me the correct results.
However, the first item within a group might have a weird number, because I do not account for the checks in a previous test group.
I can probably make it work this way, but I was wondering if there is a method to just get the number of checks done within the test that has ended.

Managed to add to assertions attribute too.
Next up: investigate how to get the filtered tests to show up too (or make a flag to "ignore" all tests).
What would be the preferred solution?

@basvodde What's your opinion? Add an additional flag or refactor the code so that "filtered" tests also get through to the output classes?
Adding a flag sounds the "easiest" way to achieve this (and perhaps the intent is clear when using the flag, instead of calling cpputest with something like -ojunit -xn).
If the flag is the preferred solution, should we stick with -ljunit as you proposed earlier?

Been very busy because we are wrapping up the project at the current client.
I'll see if I can at least put in a PR for the additions I made to the JUnit output (which would resolve #120 and #903).
Then I'll make a separate PR for the additional flag to output all tests with this format later on.

As announced several weeks ago, I finally had the time to create a PR for the changes I made to the JUnit output (see #1010).
This does not resolve this issue, but I guess I'm halfway there.


feat: add action for copyright preamble

Expected commit message structure
Commit messages (in particular the merge commit of a pull request) should be structured as follows:
<type>[optional scope]: <description>

[optional body]

[optional footer]

The commit contains the following structural elements, to communicate intent to the consumers of your library:

fix: a commit of the type fix patches a bug in your codebase (this correlates with PATCH in semantic versioning).

feat: a commit of the type feat introduces a new feature to the codebase (this correlates with MINOR in semantic versioning).

BREAKING CHANGE: a commit that has the text BREAKING CHANGE: at the beginning of its optional body or footer section introduces a breaking API change (correlating with MAJOR in semantic versioning). A breaking change can be part of commits of any type. e.g., a fix:, feat: & chore: types would all be valid, in addition to any other type.

 We also recommend improvement for commits that improve a current implementation without adding a new feature or fixing a bug. Notice these types are not mandated by the conventional commits specification, and have no implicit effect in semantic versioning (unless they include a BREAKING CHANGE, which is NOT recommended). A scope may be provided to a commit’s type, to provide additional contextual information and is contained within parenthesis, e.g., feat(parser): add ability to parse arrays.

Examples
Commit message with description and breaking change in body
feat: allow provided config object to extend other configs

BREAKING CHANGE: `extends` key in config file is now used for extending other config files

Commit message with no body
docs: correct spelling of CHANGELOG

Commit message with scope
feat(lang): added polish language

Commit message for a fix using an (optional) issue number.
fix: minor typos in code

see the issue for details on the typos fixed

fixes issue #12

I`m going to check with Johannes Köster if we will use this preamble :)


Bot not responding to new facebook account

Happened when a new facebook account ( the account that never contact the bot previously) try to message the bot for the first time.

This happens when users who aren't referred by other users to the bot start using the bot so we have a problem creating their account.
Sentry error:
Promise rejected: Failed to fetch Facebook profile in createUserAndStartConversation: TypeError: Cannot read property 'ref' of undefined

thrown here: https://github.com/goodbotai/karma/blob/master/karma.js#L420


YWinAppDriver: An open source project to implement WinAppDriver functionality

Last weekend, I spent two days to create the prototype project: YWinAppDriver.
A project to provide WinAppDriver functionality but it's open sourced.
My original thought(hanging in my mind for a very long time) was to extract the WinUI test infrastructure from WinUI and make it a generic test framework. Finally I found that it's more reasonable to make use of it and implement another WinAppDriver because more and more people(especially react-native-windows) work on Windows app but has little knowledge on C# and other Microsoft's product.
Microsoft didn't open source WinAppDriver source code, but it do shared the Microsoft.Windows.Apps.Test library.
I think nearly all of the people ignored Microsoft.Windows.Apps.Test library and it is nearly dead. But actually this library was the core part of WinAppDriver and it's very powerful(far more powerful than WinAppDriver itself). it's possible for 3rd party to write their own automation testing framework with this library. WinUI test infrastructure is built based on it. If you have time, it's possible for you to reverse engineering the WinAppDriver from WinUI test framework.
Although it's still in its early stage, it already provides a lot of basic functionality like:

Launch/Kill UWP and win32 apps
Find element/elements
DoubleClick/Click/settext/GetValue...

I even made the Calculator test project (which is used to do WinAppDriver) testing work with YWinAppDriver.
If you'd like to help, I'm looking for:

support the xpath locator and other features
test it and let me know what feature YWinAppDriver missed but it's very important to you.
contribute your code YWinAppDriver

About the discuss in this thread, opinions are my own and not the views of Microsoft

Can you go through this repo:
https://github.com/kfrajtak/WinAppDriver
It has xpath implementation.

@licanhua Sounds good! Looks like you have ideas I have not included in my version of WinAppDriver. Feel free to contribute to it or fork it and adjust it to suit your needs.

Thanks. I finally found a very easy way to support XPath. I build a XmlDocument, the SelectSingleNode and SelectNodes. So I supported all .net XPath syntax for free


Simplify bundle require

Closes #17. Allow both kebab-case and snake_case for require, fixing bundle related issues.

@BuonOmo CI doesn't pass apparently...

@ccyrille it does, we're not on circle anymore. But that's a weird bug indeed...


account cache for parsed data

The local cache of an account gets duplicate events if the program is stopped and started (and/or) the 'startDate' is forcing a duplicate record.

Moved to https://github.com/Great-Hill-Corporation/quickBlocks/issues/32


CvBlobs RenderBlob broke?

Why can't I get RenderBlob from CvBlobs to render with only one of the Enums?
This does not work and gives an exception about the value not being in the dictionary.
    CvBlobs cvBlobs = new CvBlobs(bitonal);
    Mat rend = bitonal.CvtColor(ColorConversionCodes.GRAY2BGR);;
    cvBlobs.RenderBlobs(bitonal, rend, RenderBlobsMode.Color);

This works
    CvBlobs cvBlobs = new CvBlobs(bitonal);
    Mat rend = bitonal.CvtColor(ColorConversionCodes.GRAY2BGR);;
    cvBlobs.RenderBlobs(bitonal, rend, (RenderBlobsMode)0x001f);

EDIT: I take it back 0x001f doesn't work either.  It just uses the default and doesn't complain about it.

Sorry for the late reply. The program works for me... :confused:
Can you show me the detailed exception information?
var src = new Mat("shapes.png", ImreadModes.GrayScale);
var bin = src.Threshold(0, 255, ThresholdTypes.Otsu);
var view = bin.CvtColor(ColorConversionCodes.GRAY2BGR);

var blobs = new CvBlobs(bin);
blobs.RenderBlobs(bin, view, (RenderBlobsMode)0x001f);
Window.ShowImages(bin, view);

shapes.png

Issue 1:
My output is different than yours.  I did a git put and ran the sandbox app without any changes and this is the resulting two windows.

Issue 2:
The point is that we should be able to call it like this:
cvBlobs.RenderBlobs(bitonal, rend, RenderBlobsMode.Angle);

and not have to do this:
blobs.RenderBlobs(bin, view, (RenderBlobsMode)0x008f);

When I call RenderBlobs with RenderBlobsMode.Angle or RenderBlobsMode.Angle|RenderBlobMode.BoundingBox I get the exception mentioned above.
Issue 3:
Also, isn't your image wrong.
What am I missing?

My attached file is not a RenderBlob result but a source image.
Thank you for the information. I found that the current rendering method crashes when mode does not contain RenderBlobsMode.Color.
fixed in the next release :runner:
https://github.com/shimat/opencvsharp/commit/d5d588c183087510c8af0058e3357d76a6cf1382

Looks good.  Thank you.


Fix jormungandr integration tests on Windows and Wine.

Issue number
#1283
Overview

[x] Fix stuck jormungandr process in launcher cli integration tests on windows.

How come this was passing before?

How come this was passing before?

@KtorZ These tests were not testing whether the node was working correctly, just that it was running. What happens when the --config file is missing is that jormungandr loops indefinitely printing this message:
Mar 19 23:15:23.900 ERRO trusted-peers cannot be empty. to avoid bootstrap use 'skip_bootstrap: true', task: bootstrap
Mar 19 23:15:23.900 INFO bootstrap attempt #1 failed, trying again in 5 seconds..., task: bootstrap

Why these tests do not exit under this circumstance, I do not know, and at this stage we probably don't need to know...

Is this still failing? I cannot find a recent run of the jormungandr integration tests

It would probably still be failing except that I removed jormungandr integration tests from Hydra because we are not running them on Buildkite either.
Whether we merge or close this probably doesn't make much difference.

bors r+


fix: remove tracked targets after arSystem is paused

This PR removes the augmented content from the scene after the AR system is paused. At the moment, contents from tracked targets remain in the scene until the same target is tracked again. This is especially a problem with applications with multiple target images.

@hiukim Any chance that this gets integrated? Thank you!

I have same issue, thank for this pr


Custom Server Alternative to GraphQL

With the completion of #370, it becomes possible for Ponder to support custom load-time logic. This would work in parallel or completely replace GraphQL to serve incoming requests. Ponder could completely internalize a web server, and define its own api for serving requests:
import { app } from "@/generated";

app.get("/players", async ({request: Request, context}): Response => {
  const players = await context.db.Player.findMany({
    where: {
      id: {
        startsWith: "J",
      },
    },
  });

  // Do an rpc request, perform computation on players, etc

  return new Response(players);
});

or support any arbitrary framework, which Ponder would be in charge of running. For example, server/index.ts could be the default entrypoint, which would contain a file like:
import { serve } from "@hono/node-server";
import { Hono } from "hono";
import { context } from "@/generated";

const app = new Hono();

app.get("/players", async (c) => {
  const players = await context.db.Player.findMany({
    where: {
      id: {
        startsWith: "J",
      },
    },
  });

  // Do an rpc request, perform computation on players, etc

  return c.json(players);
});

serve(app);

The benefits to this solution is supporting maximum flexibility. The environment would not be as sandboxed which would potentially created harder to recover from errors.
Both of these solutions would also allow for queries directly against the db. We need to determine a methodology for supporting a strongly typed ORM.

I proposed a feature request to disable the GraphQL server entirely, but I also this could work for my use case, which would help merge the indexed Ponder data with some other things I'm keeping track of in the database.


[Communication] - Phone Numbers - Changed User-Agent in request

/azp run python - communication - tests

/azp run python - communication - tests

/azp run python - communication - tests


In 1841 IOM , Guernsey and Jersey are located in the Channel Islands

@geoffj-FUG IOM for 1841 is now where it should be and there is consistent non-capitalisation of the o; Similarly JSY and GSY for 1841 were moved. The CHI no longer has any parameters

Replaced by #1180


[build] Fix some configurations in pom.xml

This pull request fixes some configurations in pom.xml, including:

Skip maven-deploy-plugin for test modules and flink-cdc-dist
Use ${project.version} instead of ${revision} for dependency version, as documented here
Use flink-shaded-force-shading to force all submodules to generate dependency-reduced-pom.xml

@PatrickRen could you fix the compile issue ?


How to create square shaped nodes?

I'm new in sigma.js development, and I've been trying to create a custom shape node which is square, as per the docs, this is possible by using the "renderer".
Based on the docs, I need to instantiate the renderer with a declared type that uses the NodeCircleProgram and the name of the node type as key, refer to the code snippet below:
const renderer = new Sigma(graph, container, {
  allowInvalidContainer: true,
  defaultEdgeType: "straight",
  defaultNodeType: "square",
  nodeProgramClasses: {
    square: NodeCircleProgram,
    circle: NodeCircleProgram
  },
  edgeProgramClasses: {
    straight: EdgeArrowProgram,
    curved: EdgeCurvedArrowProgram
  }
})

Then this is how I'm rendering the nodes:
myNodes.forEach(value => {
  graph.addNode(value.key, {
    forceLabel: true,
    label: value.label,
    x: value.col,
    y: value.row,
    size: value.size,
    url: value.url,
    type: "square"
  })
})

Anyone that can point out what is the problem here? The nodes and edges are working fine with no error in the console logs, but the nodes is still circle.

In order to render the nodes as squares, you need to use a NodeProgram which renders then as squares. You are explicitly still using the NodeCircleProgram in your code. Maybe someone has written a shader for square nodes and made it freely available online, maybe you need to write it yourself.
I hope that helps!

Hi,
@StockerGaming was absolutely correct :)
But there is also some needs for simple nodes rendering example, so I actually just implemented it as @sigma/node-square (the link might not be working right now, but it will soon, as soon as I publish).


ci(publish): remove last v2 occurrences

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Pierre-Antoine Mills seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Pretrained Models

Hi,
Thanks for releasing the code. Any chance the pretrained models on resnet can be made available?

Hi @code-Assasin,
you can find the pretrained weights for ResNet-18, 50, 101 and WideResNet-50-2 via the following link:
https://drive.google.com/drive/folders/1rd3LQ2PXvUmcgrURbpWY1eDC61eyBzMq?usp=sharing

Hi,
All the architectures in this repository are for cifar10. However, the models in google drive are for imagenet ? Could you include the architectures for the imagenet models?

Hi,
we released the code for the ResNet on ImageNet now.
If you need further weights on CIFAR10, please let me know!

Thank you for the quick replies. And yes, if you could provide the weights for Cifar would be great !

Hi,
sorry for the delay.
Unfortunately, we needed to retrain the CIFAR10 network and added the weights for PreActResNet18 in the folder mentioned above.

Thanks a lot !


Fix #4 (arrays for copyAs)

Pretty straightforward fix here, I believe.

LGTM otherwise.

Oh, can you also update documentation?

LGTM too after resolution of @mitar's comments.

Now using underscore and updated the README.

Huh, you extended the pull request now to include another feature. In general, it is better to not mix things all into one pull request.

Whoops, meant to cut a feature branch for that, my bad. I've rolled-back changes to the scope of this feature.

Thanks. Merged.


[BUG] Problems when try copy all

Has this bug been raised before?

[X] I have checked "open" AND "closed" issues and this is not a duplicate

Description
On some occasions when you try to copy all the content from the editor, it is not copied
Steps to Reproduce
I have tried to check when copying everything is not allowed

when the block is empty and you try to copy everything (ctrl + a) or trying more than once
rarely when you are in a block that has content, only the content of the block is copied, but the second time it does not copy the other blocks
when you start the editor, copy all (ctrl + a) and paste some content, select a block and try to copy, sometimes it does not copy the selected block, but it sure does, but the second time you copy everything, it does not copy the other blocks (ctrl + a)

Environment

OS: Windows
Browser: Chrome/Edge

Screenshots
https://github.com/Darginec05/Yoopta-Editor/assets/69065126/f45939e8-03bf-4e26-bf73-5eb3847a1e0d
Do you want to work on this issue?
No
If "yes" to above, please explain how you would technically implement this
No response

Hi @jfortez!
Which version of @yoopta packages do you use?
I checked it with last versions here and copying the whole content works

version 4.5.1, I did the demonstration from the demo site (https://yoopta-editor.vercel.app/examples/withBaseFullSetup)

@jfortez selecting empty block is fixed in new -rc version 4.5.2-rc.3
Demo - https://yoopta-editor-nmljmwikg-dargos-projects.vercel.app/examples/withBaseFullSetup

Fixed in v4.6.0
Examples - https://yoopta.dev/examples/withExports


Wrong keyboard shortcut in introduction, and confusing instructions

In the first koan introduction text, there is a mistake that had me confused for a little bit:
Using 'documentation' argument you can open the related part of Kotlin online documentation.
Press 'F1' (Quick Documentation) on 'doc0()', "See also" section gives you a link.

Pressing 'F1' doesn't open the quick documentation, it opens up the IDE help dialog. The correct way was the shortcut 'Ctrl - Q'.
In fact, most of that introduction description was a little strange to read and not the easiest to follow. If I understand it correctly, it should probably read something like this instead:
Introduction:

What is usually required in these tasks is to change a function 'taskN' (the first seen below as 'task0') by
replacing its body with the correct code according to the problem.

The body of 'TaskN' will start off as an invocation of the function 'todoTaskN()', which throws an
exception, so you usually have to replace that invocation with meaningful code.

In the 'todoTaskN()' function, you can use the various named arguments of the immediately called
'TODO()' function to help you along the way:

Using the 'documentation' argument you can open the related part of the Kotlin online documentation
for the current problem. Using the shortcut 'Ctrl - Q' (Quick Documentation) on 'doc0()' will show you
the function's documentation, the "See also" section gives you the link.

Using the 'references' argument you can usually navigate and see the code mentioned in the task
description. Holding down 'Ctrl' and clicking on the function (in this case 'task0()'), or using the shortcut
'Ctrl - B' on it, will allow you to jump there quickly.

So, on to the first task! Please make the function 'task0' return "OK".

I hope that can be of some help. If you'd like me to make a pull request I'd be happy to.

Thanks for pointing it out! I've rephrased the introduction text.


ARROW-3177: [Rust] Update expected error messages for tests that 'should panic'

Codecov Report

Merging #2519 into master will increase coverage by 0.97%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2519      +/-   ##
==========================================
+ Coverage   86.33%   87.31%   +0.97%
==========================================
  Files         308       13     -295
  Lines       47120     1356   -45764
==========================================
- Hits        40682     1184   -39498
+ Misses       6366      172    -6194
+ Partials       72        0      -72

Impacted Files
Coverage Δ

rust/src/builder.rs
97.6% <ø> (ø)
:arrow_up:

rust/src/array.rs
84.03% <ø> (ø)
:arrow_up:

rust/src/buffer.rs
94.16% <ø> (ø)
:arrow_up:

python/pyarrow/ipc.pxi

go/arrow/array/bufferbuilder.go

go/arrow/math/uint64_amd64.go

cpp/src/arrow/status.h

python/pyarrow/tests/test_deprecations.py

cpp/src/plasma/client.cc

cpp/src/arrow/io/test-common.h

... and 288 more

Continue to review full report at Codecov.

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


Chrome Extension Not Working (in either Arc or Chrome browser)

When I click to create a ShareGPT link, a window just appears with no options confirming that I've been logged in. I'm using Arc Browser but have tried this on Chrome as well and am experiencing the same thing.
I use Google Auth to login.

Hey @seanoliver, do you see a 'share' button at the bottom of the screen, by the submit button?

Omg 🤦♂  Yes — I do! And it works!
Thank you! Appreciate your quick reply!


zellij: 0.31.1 -> 0.31.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/zellij-org/zellij/releases.
meta.description for zellij is: "A terminal workspace with batteries included"
meta.homepage for zellij is: "https://zellij.dev/"
meta.changelog for zellij is: "https://github.com/zellij-org/zellij/blob/v0.31.2/Changelog.md"
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.31.2 with grep in /nix/store/xbwgj13qvpa81jh4rh0gy8im4n50yqwm-zellij-0.31.2
found 0.31.2 in filename of file in /nix/store/xbwgj13qvpa81jh4rh0gy8im4n50yqwm-zellij-0.31.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
zellij

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/xbwgj13qvpa81jh4rh0gy8im4n50yqwm-zellij-0.31.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A zellij https://github.com/r-ryantm/nixpkgs/archive/4db63c2da16c9bac08d42f993d9fc8cc05f6705c.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/xbwgj13qvpa81jh4rh0gy8im4n50yqwm-zellij-0.31.2
ls -la /nix/store/xbwgj13qvpa81jh4rh0gy8im4n50yqwm-zellij-0.31.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

zellij

Maintainer pings
cc @therealansh @0x4A6F @wahjava @theHedgehog0 for testing.

Result of nixpkgs-review pr 187190 run on aarch64-darwin 1

1 package built:

zellij


NAS-122514 / 23.10 / fix source name

I messed up the source name. But this also specified an explicit version of libsgutils2-dev which isn't needed.

Jira URL: https://ixsystems.atlassian.net/browse/NAS-122514


Integrate doctest with unit tests

Doctest may be helpful in keeping the examples in documentation up-to-date with the source code.
Doctest should execute as part of the normal unit testing.

@gsarma -- can you look into implementing this?  As there are several examples in the readme that are not correctly working, this could be a huge way to keep everything in sync.

Will take a look tomorrow with @travs

Fixed by #110


Fails to compile on Fedora 39 with Swift 5.8.1 (From repos) or official 5.9 binaries

Expected behavior
It compiles on Arch Linux and Fedora 39 (Works on Fedora 38)
Actual behavior
Does not compile on Arch Linux/Fedora 39 (The following part of the issue assumes Fedora 39)
Steps to reproduce

Create fedora 39 VM/container
Install swift using dnf or use the official binaries from swift.org
Try to compile swift-log (From master or the latest release)

If possible, minimal yet complete reproducer code (or URL to code)
git clone https://github.com/apple/swift-log
cd swift-log
swift build
# Or
wget https://download.swift.org/swift-5.9-release/ubuntu2204/swift-5.9-RELEASE/swift-5.9-RELEASE-ubuntu22.04.tar.gz
tar xvf swift-5.9-RELEASE-ubuntu22.04.tar.gz
./swift-5.9-RELEASE-ubuntu22.04/usr/bin/swift build

/swift-log/Sources/Logging/Logging.swift:1392:64: error: value of optional type 'UnsafeMutablePointer<tm>?' must be unwrapped to a value of type 'UnsafeMutablePointer<tm>'
        strftime(&buffer, buffer.count, "%Y-%m-%dT%H:%M:%S%z", localTime)
                                                               ^
/swift-log/Sources/Logging/Logging.swift:1391:13: note: short-circuit using 'guard' to exit this function early if the optional value contains 'nil'
        let localTime = localtime(&timestamp)
            ^
        guard                                 else { return <#default value#> }
/swift-log/Sources/Logging/Logging.swift:1391:25: note: coalesce using '??' to provide a default when the optional value contains 'nil'
        let localTime = localtime(&timestamp)
                        ^
                                              ?? <#default value#>
/swift-log/Sources/Logging/Logging.swift:1391:25: note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
        let localTime = localtime(&timestamp)
                        ^
                                             !
/swift-log/Sources/Logging/Logging.swift:1392:64: note: coalesce using '??' to provide a default when the optional value contains 'nil'
        strftime(&buffer, buffer.count, "%Y-%m-%dT%H:%M:%S%z", localTime)
                                                               ^
                                                                         ?? <#default value#>
/swift-log/Sources/Logging/Logging.swift:1392:64: note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
        strftime(&buffer, buffer.count, "%Y-%m-%dT%H:%M:%S%z", localTime)
                                                               ^
                                                                        !
error: fatalError

SwiftLog version/commit hash
cb28750240a9389e0023ee3e3cb6c83ce0960f5c and 1.5.3
Swift & OS version (output of swift --version && uname -a)
Swift version 5.8.1 (swift-5.8.1-RELEASE)
Target: x86_64-unknown-linux-gnu
Linux 6d64617a9d4e 6.4.15-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep  7 00:25:01 UTC 2023 x86_64 GNU/Linux

and
Swift version 5.9 (swift-5.9-RELEASE)
Target: x86_64-unknown-linux-gnu
Linux 6d64617a9d4e 6.4.15-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep  7 00:25:01 UTC 2023 x86_64 GNU/Linux

I was able to fix this  with the help of helje5 by doing this hack: https://github.com/JCWasmx86/swift-log/commit/332ed31d777c7acbf4790a790bcfb54fe264de27

I have the exact same issue on Arch Linux, maybe its a glibc related issue
@JCWasmx86 thanks for this nice simple hack :)
glibc 2.38-5
Swift version 5.9 (swift-5.9-RELEASE)
Target: x86_64-unknown-linux-gnu`Swift version 5.9 (swift-5.9-RELEASE)
Target: x86_64-unknown-linux-gnu
6.5.5

Looking at the same function called in the line 1392:

on macOS Sonoma:
`strftime(::::)

func strftime(
_: UnsafeMutablePointer!,
_: Int,
_: UnsafePointer!,
_: UnsafePointer!
) -> Int`

on Ubuntu 23.10, using swift 5.9:
`strftime(::::)

func strftime(_ __s: UnsafeMutablePointer, _ __maxsize: Int, _ __format: UnsafePointer, _ __tp: UnsafePointer) -> Int`
Looks like it is safe to just force unwrap localtime like this on line failing:
strftime(&buffer, buffer.count, "%Y-%m-%dT%H:%M:%S%z", localTime!)
It worked on my computer™

Of course, I meant it's safe if you're on the OS experiencing this issue. I also wonder if the hack has been already tested on older versions.

Also seeing this behavior on Ubuntu 23.10, Swift 5.9.1

Same problem Kubuntu 23.10, Swift 5.8.1/5.9.1

Looks like this was fixed in f447991, but a new release would be handy.

Still a problem.
OS: Ubuntu 24.04
Swift: 6.0.1


How Can I Hash User password adding a new User at Admin Panel?

I recently discovered why Users I added at the Admin Panel Cannot login at the front page because the passwords do not match.
The reason is that Passwords added at the admin panel are not hashed. So if I use Hash::check to compare passwords, I always receive the error that Password is wrong.
If you can help with this issue, I will be happy

Laravel Version: #.#.#
PHP Version:
Laravel-admin: #.#.#

Description:
Steps To Reproduce:

// this is a callback before submit, you can encrypt your password from the form
$form->submitted(function (Form $form) {
    //...
});

Resolved? Or a code example needed?


fix(apple): Fix build errors on iOS (fix: #252)

Closes #252.

Turns out there are some issues with environment variables being eagerly escaped.

Turns out xcodegen expands any environment variables that are present when running the command, so it outputs the specific environment for whichever computer initialized the project. I added the --no-env flag to prevent that.

This fixes the egui demo for me!

This also fixed the egui demo for me.

Thanks! This does fix the problem for me.

@wusyong / @lucasfernog  - can we please get this merged 🙏?

The gist of it is that PATH is not propagated to Xcode, and thus cargo binaries can't be found ('cargo-apple' in this case). This PR explicitly added the cargo bin default directory to the PATH.


Add wget fallback support for minimal OS's

This should also fix  #256. This PR has minimal edits to use wget as a fallback of curl, which is useful for Docker instances and other minimal OS's

At the top of the installer script, it says "Keep this script simple". I'm not sure this change is simple since it's complicating the one-liners for most users.
If you don't have curl installed in your minimal system, then you probably also know how to make the necessary adjustments. So I'd prefer not to add this change.

my understanding was that the simplicity was so that other people could pretty easily verify the code wasn't malicious or vulnerable, which is definitely something I'm onboard with. I didn't think the complexity of the one liner fell into that, so I optimized it for minimal characters.
would this be considered more simple?
sh <<<"$(curl -fsSL https://deno.land/install.sh || wget -qO- https://deno.land/install.sh)"

In terms of script modification, do you know of a more simple way of addressing #256?
I'm working with undergrad students who install the base version of Ubuntu which doesn't have curl, so they're not exactly skilled users.

I think #256 is not really a deno_install issue, but rather a Ubuntu specific issue with some curl installations.
Then again, I'm not a maintainer, just a contributor, so it's not my call.

I think that we can add wget support to install.sh, but we should have separate wget instructions as a fallback rather than putting both cURL and wget into a single command.
Here's what I suggest we do:

Revert the README changes and replace them with a "fallback" section (something like "if you don't have curl...")
Limit the install.sh changes to just this:

curl --fail --location --progress-bar --output "$exe.zip" "$deno_uri" || \
	wget --output-document="$exe.zip" "$deno_uri" || \
	echo "When installing deno, I looked for the 'curl' and for 'wget' commands but I didn't see either of them. Please install one of them, otherwise I have no way to install Deno"


Issue with the orientation of the model

Hi! I ran into an issue when trying to get the pose of some videos. Even if the camera was leveled (completely vertically) the estimates I get seem to be skewed in the direction of the "z" axis (off the screen, maybe the attached picture shows it better). Is this a smotheing anyone has encountered before?

The vertical axis in this image would be the z axis of the output of the network.

Can't understand the meaning of this figure, could you please explain further?

Yeah sorry for the little information, I understand it was not enough.
So this image is a lifted pose from a recording in which the person was sideways on the image, as in one side of the body was partially occluded. The person on the image was standing still, however, in the plot attached previously, you can see how the points corresponding to the ankle position (the one on the far most right if the image) and the point corresponding to the head (on the other side) seem to show that the person was tilted towards the phone (the xy plane, the top axes show them). The same happens from different angles.
I would expect (maybe) the lifted pose not to be tilted if the person is standing still. Is this seen in other cases?
I hope I explained myself properly

you just have to invert the axis when you plot the results.
I did encounter a similar problem when trying to plot the training data.
I had to invert the y-axis using plt.gca().invert_yaxis() (matplotlib) and that means the (0,0) of the plot is located at the left top corner not the bottom left corner


chore: Remove link locale

@nschonni : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Verified the updates. Thank you @nschonni

#sign-off

@vermagit: I'm sorry - only the author of this article, @malopMSFT, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Feature brick seem to be missing freezed import

It seems like it doesn't automatically import the freezed annotation In the cubit file.

Looks like it's there and there was something wrong on my side


Update Docker Compose commands to v2

Docker Compose v1 was deprecated a while ago. The advanced CLI Docker documentation should be updated so that any commands of the form docker-compose should become docker compose.
For example:
docker-compose up -> docker compose up
and
docker-compose logs --tail=1000 -f -> docker compose logs --tail=1000 -f

https://github.com/subspace/subspace-docs/compare/main...PurpleM0ney:subspace-docs:patch-1
Done!

Thanks, guys for adding my suggestion.
Topper

Fixed by PR 235 and 238!


Facebook Zero and related subdomains?

I want to just only block subdomains that related to Facebook Zero (aka. Free Basics, internet.org, Ø)
I've realise I got weird connections than usual (I mean different between normal network such as home Wi-Fi and mobile network)
I knew that blocking some related domains will lead to broken usability and/or functionality to use Facebook, especially on mobile browser (I won't use their official apps anymore), I've wrote some example and details about what the hell happen if you're using Facebook on mobile data, especially if the mobile carrier have Free Basics services available, no matter that you've registered for it or not.

Feel free to send a Pull Request for only Facebook Zero domains. Thanks.


Using custom functions

Can custom submodular functions be written and optimized (minimized in particular) using the library and if so how? Thanks.

Yes, you can write your own function by following the template of the built-in functions, e.g. graph cut: https://github.com/jmschrei/apricot/blob/master/apricot/functions/graphCut.py Unfortunately, submodular minimization is not yet built into apricot.
Writing your own custom function should be simple. The gist is to make an object that inherits from either BaseSelection or BaseGraphSelection (depending on if it's a feature-based function or a graph-based function, i.e. if it operates on the feature values of examples directly or on pairwise similarities). You need to fill in the __init__ method with whatever hyperparameters you want your selector to have, the _initialize function to be what the model should do before selection and optionally given a list of examples to seed the selection (potentially just leave this blank if not relevant), the _calculate_gain function to evaluate the gain that would you see in the objective function if you added each element in idxs individually to the current selection, and _select_next to perform whatever logic should occur when you've chosen the next item to add to the growing set, such as update the cached statistics.

Here is a more detailed tutorial. https://github.com/jmschrei/apricot/blob/master/tutorials/4. Defining Custom Functions.ipynb


bug: AFK requires too many arguments

Describe the bug in as much detail as possible:
The main AFK command (afk.go.tmpl, under afk) requires at least a three-word reason in order to work properly. If anything less is given, like -afk Testing, an inappropriate error message is returned (see screenshot below for example).
To Reproduce:

Add the AFK command as described in the informative header block.
Run -afk one-word-reason-for-testing (or use a similar one-word argument).
The error message returned does not match the situation.

Expected behavior:
The command should set the user's AFK status properly.
Screenshots:

Additional context:
A resolution was achieved by setting the number to which arguments are compared (line 21) to 2 instead of 4.

As you stated, here is the same resolution I found

https://github.com/yagpdb-cc/yagpdb-cc/blob/e3bf21dee55a145ea62a32cb67a49ca04ce345a9/afk/afk.go.tmpl#L21
Hey yes, I have seen that too. To just fix it, change the 4 to 2 and it fixes, and you can set an afk with one word.
I'll attach a GIF here, but my .* Trigger is a bit messy, sorry for that. Also, the dash is a bit laggy for me, it saves it, sorry for that mistake in the GIF.
Until someone makes a PR or we make or Joe edits, most probably it'll stay like that.
https://i.imgur.com/qrFHNIk.gif

ill fix tomorrow

ill fix tomorrow

Ok I updated something

Ok I updated something


Improve error messages

Today there's some console.logs into the core code (yikes), change that for real logs of errors and exceptions.

done, with some simple testes, have to improve that later


feat(plugin-docsearch): improve search result item

I think that this change has broken how we use search with Algolia.  It seems now we are seeing duplicate base URLs.  Can we get some description or context of what this change is and what we might need to adjust as a result?

This makes every record links to be a path name instead of a full url.
And these pr helps where same document is deployed in multiple places and even in multiple base folders.
For example, if you index https://example.com/ , while it's also deployed in  https://example.github.io/docs/,  You will see full urls of example.com in both site,  And this is not definitely the  Behavior in the secondsite as it is using router push to navigate to its own pages.
After this pr, a page indexed as /a.html will be /a.html and /docs/a.html  in both sites, and its click behavior will both be router.push("/a.html")

We are using variables as part of the start_urls to index two subfolders /docs/ and /5.4.0/ (which is a version of those docs) and corresponding facets to have indexes for each subfolder.  Our Algolia index entries already have the proper URL and this is now adding a 2nd base to the URL and breaking the navigation.

You can see the URL in the screenshot has the proper /docs/ entry but the result from this change gives us
"https://docs.rundeck.com/docs/docs/manual/content-converters/properties.html"
Since our version dynamic can have different content for each previously released version.  Is there a config or something I'm missing to get this to work properly?

Here is our start URLs config that achieves this.
  "start_urls": [     {       "url": "https://docs.rundeck.com/(?P<version>.*?)/",       "variables": {         "version": [           "docs",           "5.4.0"         ]       }     }   ],
Our Base config is also dynamic as we continue to host older versions of the site
 base:/${setup.base ? setup.base + '/' : ''},
the setup.base variable is provided as an environment variable during build with a hard coded backup in a local file.
I'm trying to find a way to work through this.  Ideas would be:

Use the url_withtout_variable with this new functionality as that looks to be the format it's expecting.
Disable this new functionality an use the url as provided in the search index.

So I think the concern here is the code assumes that the indexes are made with a root folder site and that all subfolder sites are the same content.  That's not the case for our use.
I've had to revert to earlier versions of the libraries for now.  I can run tests on updates or changes if we can figure out something.

the indexes are made with a root folder site

Nope, theme-hope is crawling https://vuepres-theme-hope.github.io/v2/,and everything works fine

and that all subfolder sites are the same content.

Yes, as if contents are different, you probably need 2 of them.

I can file a bug somewhere else if that's better, but it does duplicate the base in our setup.


Thirst not working with enhanced visuals

I don't know if it's an issue with their mod or yours, but the thirst visual mechanic doesn't work properly. If you die, the screen goes blurry like you're thirsty, even if you are not. I posted an issue on their github page as well, but haven't gotten a response in 2 weeks.

Disregard, I found the culprit! It was another mod causing the issue. My apologies.


Expose C API to deal with network, coap and oic

It would be awesome if any of the guys that worked
more on that could review it. Specially because
I've tried to fix some issues found on them.
@ceolin , @acidx , @rchiossi , @vcgomes ^  =D
Signed-off-by: Bruno Dilly<EMAIL_ADDRESS>

v2 pushed


Dapr client to support multi-operation state requests (need runtime implementation)

Describe the proposal
The Dapr client should support multi-operation requests, i.e. atomic transactions as mentioned in the  state management documentation

@pacodelacruz Thsi is being added in dapr runtime, once added to runtime, we will add support in sdks. https://github.com/dapr/dapr/pull/931

Will that change allow me to retrieve and store multiple keys with actor StateManager? Currently I have to use things like
await Task.WhenAll(commentIds.Select(id => StateManager.GetStateAsync<CommentState>("comment" + id)));
It would be even greater if I could retrieve and store different kind of states with single call. Example something like StateManager would return multiple StateValue classes/structs and then you could get typed value from it by .GetValue().

This request is for sdtate management api outside of actor and is requesting for addition of multiple state updates https://github.com/dapr/docs/tree/master/concepts/state-management#bulk-operations
Proto is https://github.com/dapr/dapr/blob/release-0.4/pkg/proto/dapr/dapr.proto#L21

I believe we have this now with DaprClient.ExecuteStateTransactionAsync

I believe we have this now with DaprClient.ExecuteStateTransactionAsync

Done.

Done.


reporting -  marking aparece em branco (tem que passar o mouse)

marking aparece em branco (tem que passar o mouse)

@gabrielabonicio can you check if it's fixed? (you can reopen the issue if it's not)

looks the same to me, even after refreshing

closed by #92


Subgraph schema auto-publishing after blue green deploy

Run auto publish subgraph schema in an Argo Rollout postPromotionAnalysis job that runs rover in a docker container.

an extension to what is already working in blue-green deploys
https://argoproj.github.io/argo-rollouts/features/specification/

essentially the same use case as what is requested in: https://github.com/apollographql/rover/issues/719

I want to run this on my post-sync hook when my deployment passes. I don't want to do this from CI because there'll be a gap between CI pushing schema and service getting deployed (also what if the deployment fails)


Units improvements

from #13
matplotlib generates figures with those attached (relevant parts)
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Created with matplotlib (http://matplotlib.org/) -->
<svg height="144pt" version="1.1" viewBox="0 0 144 144" width="144pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <defs>
  <style type="text/css">
*{stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:100000;}
  </style>
 </defs>
 <g id="figure_1">
  <g id="patch_1">
   <path d="M 0 144

the pt unit is unable to be parsed.
I also have to monkeypatch the Units class and fix a few other things
    from svgutils.compose import Unit, SVG, Image, Figure, Text, CONFIG
    # monkey patch so we can use upstream branch
    Unit.per_inch = {'px': 90, 'cm': 2.54, 'mm':25.4}

and
    # sometimes inkscape writes the source svg with px units, sometimes with mm, sometimes with cm, and
    try:
        wpx = str(Unit(tmpl.width).to('px'))
    except AttributeError:
        # sometimes with no units
        wpx = '%dpx' % float(tmpl.width)
    try: hpx = str(Unit(tmpl.height).to('px'))
    except AttributeError: hpx = '%dpx' % float(tmpl.height)

    # and now we know that the string is 123.456px we have to remove the px because the library regex only
    # handles integers
    wpx = str(int(float(wpx[:-2]))) + 'px'
    hpx = str(int(float(hpx[:-2]))) + 'px'

    Figure(wpx, hpx, *bits).save(args.dest)

sorry about the mess, this is pulled out of bits of code for generating figures for a paper

this is not really a gif. please rename to .svg because stupid github

Hi, Thanks for the report. The unit system is still not complete. Do you think you could submit your fix as a pull request?

I won't have time to submit anything until after this draft is finished
sorry.
On 10 February 2016 at 13:13, Bartosz Telenczuk<EMAIL_ADDRESS>wrote:

Hi, Thanks for the report. The unit system is still not complete. Do you
think you could submit your fix as a pull request?
—
Reply to this email directly or view it on GitHub
https://github.com/btel/svg_utils/issues/14#issuecomment-182339697.

I committed a patch adding extra units. If it does not solve your problem, please open a new PR.


403: Forbidden error when using account API key.

I just had a strange issue where I added a new user to my environment. They created an account API key to access the environment but were getting a 403:Forbidden error. (edited)
When I had him create an "environment" key, then it worked but according to the docs, the regular api key should work for all envs you have access to

Useful
Info

Versions
Rancher v1.5.3 Cattle: v0.177.10 UI: v1.5.8

Access
ldap admin

Orchestration
Cattle

Route
admin-tab.ha

@wrsuarez - I am unable to reproduce your problem.  I used the Open Ldap and added a user as a member to an environment.  I then logged in as that member and created an account API key and was able to use it.  So...

What type of permission did you give you new user to the environment
In the Access Control page, what type of site access do you have turned on (I currently have Allow any valid Users)
When you go to Accounts page, what "Kind" of user is your new user?

Please comment if you still need help with this.


Visibility of registered plugin services

If a plugin service has added itself to Discovery, show the service rather than the plugin method. This would work similar to extensions in that any extension will work with Discovery, but if an extension has added itself to the service list then we can show the uninstalled extension as an option as well.

Addresses in https://github.com/onflow/fcl-discovery/pull/92


feat: add eslint/rules/line-closing-bracket-spacing

Description

What is the purpose of this pull request?

This pull request:

add eslint/rules/line-closing-bracket-spacing
add fixer function for eslint/rules/line-closing-bracket-spacing

Related Issues

Does this pull request have any related issues?

No.
Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

@kgryte Changes applied. I'll add similar changes to eol-open-bracket-spacing in a separate PR.


cmd + ? Keybind Does Not Show Enso Version

Discord username
npekin
What type of issue is this?
Permanent – Occurring repeatably
Is this issue blocking you from using Enso?

[ ] Yes, I can't use Enso because of this issue.

Is this a regression?

[x] Yes, previous version of Enso did not have this issue.

What issue are you facing?
I tried to report a bug, and the bug report form asked me to provide the Enso version by using the cmd + ? keybind.

Using that keybind does not show the Enso version, instead it opens some kind of help search bar.
Expected behaviour
Enso version should be displayed when the cmd + ? keybind is pressed
How we can reproduce it?

Open standalone Enso GUI
Press cmd + ? (on macOS)
Observe the lack of version displayed

Screenshots or screencasts

Logs
No response
Enso Version
It's literally unknowable 😱😱😱 (just kidding it's a2507abcdb2c375d094dc4d4ce4e7c731cba69f1)
Browser or standalone distribution
Standalone distribution (cloud project)
Browser Version or standalone distribution
standalone
Operating System
MacOS
Operating System Version
Sonoma 14.1.1 (23B81)
Hardware you are using
M2 Macbook Air 24GB

We should also add a menu option under the ... menu to get this

Refinement note:

Use the ref/branch/tag name on which it was built, from environment variable. Vite should put the value to some global.

note re:

You should not have to press shift, so effectively it is cmd+/

in fact we can't use ctrl+shift+?, because (as mentioned in the original post) it is a dedicated shortcut on macos to bring up the search tool to search through the application menus.


Upgrade Taffy to 0.3.7

Objective
Fixes #8017

Technically, cargo will use the latest semver compatible version, so this is effectively a no-op. Could we replace this with 0.3 and just inhale any bugfixes from Taffy?

Let's maybe wait for Bevy patch to be ready and then take latest Taffy version at that moment


Add MOVAP from Kerbal Stuff

This pull request was automatically generated by Kerbal Stuff on behalf of KerbiceGroup, to add MOVAP to CKAN.
Please direct questions about this pull request to KerbiceGroup.

Could you please ignore/delete this one please, made by KS on my behalf (and despite checkbox was not checked !), I'll do a proper one later, thanks.

Closing on request of original author


Can't get embeds_many working with Mongoid and Rails 4

I have the following model with embeds_many association for reddit_threads, but it doesn't show up in the form.
class Product
  include Mongoid::Document
  embeds_many :reddit_threads
  accepts_nested_attributes_for :reddit_threads, allow_destroy: true
end

class RedditThread
  include Mongoid::Document
  embedded_in :product
  field :url, type: String
end

Can you check what is happening here:
https://github.com/sferik/rails_admin/blob/master/lib/rails_admin/adapters/mongoid/association.rb#L83
What does Product.nested_attributes_options look like? Does reddit_threads show up?


⚠ Ansible Galaxy API has degraded performance

In 077a8d6, Ansible Galaxy API (https://galaxy.ansible.com/api/v2/) experienced degraded performance:

HTTP code: 200
Response time: 1434 ms

Resolved: Ansible Galaxy API performance has improved in 10c1aa6.


Marcwo/dataform module

Module to create dataform repositories with IAM permissions.

simple repository with IAM permissions
repository connected with remote repository hosted in GH/GL with IAM permissions

Checklist

I applicable, I acknowledge that I have:

[X] Read the contributing guide
[X] Ran terraform fmt on all modified files
[X] Regenerated the relevant README.md files using tools/tfdoc.py
[X] Made sure all relevant tests pass

Thanks!!!


Update/specify the eval order in a way compatible with pg

Relevant pg docs:
https://www.postgresql.org/docs/10/static/sql-expressions.html#SYNTAX-EXPRESS-EVAL
https://www.postgresql.org/docs/10/static/functions-conditional.html#FUNCTIONS-CASE
https://www.postgresql.org/docs/10/static/functions-conditional.html#FUNCTIONS-COALESCE-NVL-IFNULL

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/4d0701c9d4152ae1ccfa19609b59d22677c86ad4/

+@knz, did you verify that Postgres guarantees short-circuit behavior for the operators other than CASE? I don't want to go beyond what Postgres does...

Review status: :shipit: complete! 0 of 0 LGTMs obtained (and 1 stale)

Comments from Reviewable

did you verify that Postgres guarantees short-circuit behavior for the operators other than CASE? I don't want to go beyond what Postgres does...

Have you checked the linked documentation? I put the links in the commit message exactly because I wanted you to satisfy yourself this is indeed the case.
(Regarding the IF syntax. This syntax is not provided by PostgreSQL but as we discussed before it should be desugared to CASE, so the CASE semantics apply.)

I fixed the broken links too.

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/dc41c7c338f634d4c21203828df1c1d3b60b8bb7/

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/9fbc8bc25e0147b5b06d6b096f7f216fcbfcc643/

I'll merge this for now, we can fix further in separate PRs if needed.


[Release] sdk/resourcemanager/servicenetworking/armservicenetworking/0.3.0

https://github.com/Azure/sdk-release-request/issues/4137

@Alancere do you know what this PR is not labeled with BreakingChange?

beta to beta, no judgment has BreakingChange，need to add BreakingChange？


Generate rst docs from parameter yaml

I've begun work here: https://github.com/PickNikRobotics/generate_parameter_library/tree/generate_docs
I'll create a PR when there is anything to test.

With https://github.com/PickNikRobotics/generate_parameter_library/pull/111 we now have markdown generation. We should test this out and make changes to the templates here to support the sort of documentation we want to generate.


Add checklist links

This PR:

Adds links from the Checklist page back to the relevant section of the "All requirements" page, as discussed with the CDDO accessibility capability team
Fixes some links that were previously broken on the Index page
Updates the titles of two pages to match Web Content Accessibility Guidelines more closely
Fixes a couple of small typos

I've tested the links locally on both the Checklist and Index pages.

The typos and broken links part of this PR has been split out into #101 . So I suggest that is reviewed first. We can then decide if we still want to update the checklist part of the primer separately, and rebase or close this PR as needed.

Closing this PR as it is very out of date. It's on our to do list to decide in future if we need it.


Make c-caron copy-pasteable in morelia-zoo.pdf

Edit morelia-zoo.tex to make č (c-caron, \v{c}) copy-pasteable in morelia-zoo.pdf.
Reorder usepackage declarations. Minor reformatting.

Thanks! I was not aware of this trick.


Move from yarn to npm

Is your feature request related to a problem? Please describe.
At the moment the project uses yarn, which seems to be problematic sometimes , for example we had problems with compiling different versions: https://github.com/epam/ketcher/issues/1970 Yarn seems to be too aggressive with its caching and .lock file handling when working with the workspaces feature.
npm is the standard tool for node, has larger userbase and more stable releases. Many developers are more familiar with it. It also supports some features out of the box that yarn requires plugins for.
We would  like to switch to using npm as it an official tool for node and JS and .
Describe the solution you'd like
Replace yarn with npm
Steps that need to be taken:

completely replacing yarn with npm commands throughout the project (this includes package.json scripts, husky integrations, etc)
update documentation: update all documentation throughout the project, including readme files
announce changes to repo
update ci/cd and other infrastructure-related scripts that may contain yarn-specific commans
update node to at least verion 14 to be able to use npm version 6 workspace features
updateupdate github ci

Additional context
It is also important to note that such changes will need to be announced to the community, since many peoples workflows may depend on yarn. Probably this should be done within a major version release.
Related issues
#2031 #2030 #2029

Related ticket: https://github.com/epam/ketcher/pull/1740
It needs to be re-evaluated after this task is complete


1.1.0

incrementing version for 1.1.0 release

@mint-thompson Do we need to bump the version.md doc too?

@mint-thompson Do we need to bump the version.md doc too?

I'm not sure what (if anything) uses that file, but I suppose we should keep it up-to-date.


When no token is passed, Knock generates a new token by itself

How to reproduce:
Do not use ActiveRecord for the user model
Add include Knock::Authenticable to a controller
send request to that controller without a token
expected result:
I should get a not authorized request
actual result:
I get that the current_user is nil and respond with 'Internal server error'

+1
The problem is that it lazily creates the current_user method lazily when the token is passed. This is done via method_missing. If it is called without the token, it returns nil. If it is called with the token, it defines the method. The second time you call the method, then, it hits the newly defined current_user, instead of method_missing. This implementation of the method doesn't return nil when there is no token, instead it delegates to the entity getter, which returns an empty User object. This is probably dependent on how the entity getter is defined, but at the very least, the behaviour is nondeterministic.
See knock/authenticatable for details, and then follow it down the current_user path of method_missing, with and without a token.
Here is an minimal example of what is ultimately happening:
class MahController < Struct.new(:token)
  def method_missing(name)
    token && self.class.send(:define_method, name) { "Josh" } && send(name)
  end
end

# returns nil
MahController.new().current_user             # => nil

# then someone signs in with a token
MahController.new("some token").current_user # => "Josh"

# now, this is the same call as before, but it returns "Josh" instead of nil,
# b/c the behaviour of `method_missing` is different than the method it defines
MahController.new().current_user             # => "Josh"


Added tests for java client classes

-- Added integration tests for Java client classes
-- Corrected runasuser and createuser properties to be camelcase
-- Modified cluster and command dir env var in run.sh to point to the actual cluster and command directory.
-- Added two env variables in run.sh : GENIE_JOB_ID and GENIE_JOB_NAME

Coverage increased (+6.6%) to 88.767% when pulling e5ec16ca7301f183e14ea809ab885dec7f064536 on amitsharma1981:develop into 6e7adbdf90d341eff7979561adfefbdf4a12f192 on Netflix:develop.


Exported view cannot be imported again

Description / Beschreibung
A clear and concise description of what the bug is.
Same problem as #575 . A "view" file exported by a RDMO instance is not accepted by the same instance as a valid source file.
Steps to reproduce / Schritte zum Reproduzieren

Select one template at https://
Click on 'Ansicht als XML exportieren'
Save the XML file
Click on 'Import' / 'Select file' / blue arrow
Click on 'Import elements'
You get the error message "Bad request"

Hi @Zack-83 , schick mal die xml Datei, per Mail oder hier.


Mention in README that hotel auto-starts on login

As a user, I was very surprised to discover this!  For example, it means that if you want your hotel server to have some environment variable set, MY_VAR=... hotel start won't work.  (Actually, on linux, it will work the first time, and then not subsequently.  From reading the source, I think on mac it will never work, but I haven't tested.)  Anyways, it seems like a useful thing to document.  I even called it a feature ;-) .

The correct way to set an env var is MY_VAR=... hotel add ... -e MY_VAR.


Deprecation in favor of official solution

I initially created this project as a temporary solution until the Firebase team releases a way to run tests locally. They did that recently and we now have a way to run a local emulator of Cloud Firestore.
I haven't used it yet as I haven't touched Cloud Firestore in a while. If it fits the needs of the majority, I'd be happy to deprecate this project as it just isn't practical to play catch up with them.
Check it out here.

@rmmmp Don't give up! We're almost there!!!

@mesqueeb thanks but I'm really looking to deprecate this as we already have an official solution. I'll probably try to port one project of mine and see how it goes.

I've unsuccessfully tried getting the official solution to work for like 2 hours. This project works very well and doesn't require some service running in the background. I wouldn't deprecate this until the official solution works well. 🙂

Ditto
Sent with GitHawk

@oliver-foggin I haven't tried it yet but I did presume the tests to take a while to finish because of the network requests. Out of curiosity, did you get it to work in a browser environment or a nodejs one?

OK... after more testing I found that it wasn't the emulator taking the time... it was nock.
Creating a stubbed endpoint is taking 200ms per endpoint. Removed that now and the emulator is back up and running really quickly.

Keeping the project open for now because the test emulator is only available in the Node.js SDK


Fixes issues where input was being refocused when the window is blurred and refocused

Fix for #120
So we've spent a bit of time digging around and the main issue is that when you leave the page and then return, document.activeElement is still the <input /> and so it triggers the focus listener. Our original instinct was just to blur the input when the window itself was blurred, we realized eventually that the real issue is that what is focused according to our react code is getting out of sync with what is focused according to the DOM.
We already had some code that would focus and select the input if that's the way props.focused had changed... so now we've added some code that blurs the input if props.focused had changed to false. This seems to solve #120 pretty completely (for both the SDP and the DRP).
to: @ljharb @backwardok
cc: @jkudish @Valentin1918

Nice! Good fix 👍

Changes Unknown when pulling 9e6e89b381944a6783e496869bd73f6a5fc570a3 on maja-fix-weird-refocus-issue into ** on master**.

Coverage decreased (-0.1%) to 86.51% when pulling 9e6e89b381944a6783e496869bd73f6a5fc570a3 on maja-fix-weird-refocus-issue into 39ac94bfba3be958c438c1a5f8d96d5db4adff83 on master.

Coverage decreased (-0.1%) to 86.51% when pulling 9e6e89b381944a6783e496869bd73f6a5fc570a3 on maja-fix-weird-refocus-issue into 39ac94bfba3be958c438c1a5f8d96d5db4adff83 on master.

glad to see this merged @majapw, thank you!
will you be making a release soon? or should I pull from master?

Doing a release as we speak!

so much awesome

v4.1.1 is live! :)


Web deploy tasks corrupting the file names which have specials characters

[Tasks]
Azure App Service Deploy
IIS Web App Deploy
[Issue]
On doing an IIS web deploy and the files in zip folder with Swedish characters in their names are getting corrupted
The file that is named
Pts.Master.Analys.Jämförelse.dll
now looks like this
Pts.Master.Analys.J├ñmf├Ârelse.dll
[Cause]
The zip package generated by MSBuild corrupts the file name during build. 7zip extracts this package if the file transform option is selected and does not handle any kind of encoding/decoding to convert back the corrupted file name.
[Temporary Workarounds]

Option1
Provide the package as a folder path instead of zip path.

Option2
Add a PowerShell Task (with below inline script) before the web deploy tasks to unzip and rezip the package

Add a PowerShell task before the IIS Deploy steps and add the following inline script. Fill the packageZipPath variable with the exact path to the package zip
$packageZipPath="<Exact path to the package zip>"
$unzipPath="$(Agent.TempDirectory)/temp_unzipped_package/"

if (Test-Path $unzipPath) {
Write-Host "Cleaning path $unzipPath"
Remove-Item -Path "$unzipPath" -Recurse -Force
}

Write-Host "Unzipping package $packageZipPath at location $unzipPath"
Expand-Archive -Path $packageZipPath -DestinationPath $unzipPath

Write-Host "Cleanup package zip $packageZipPath"
Remove-Item -Path $packageZipPath -Force

Write-Host "Re-zipping the package at path $packageZipPath"
Compress-Archive -Path "$unzipPath/*" $packageZipPath

team is working on the actual fix for this, meanwhile please refer to above workaround

How do I find out when this is no longer necessary?


[feature-request] Quit server/set store to Off?

So that IPFS offline orders can't be made, incurring extra TX fee to get the escrowed payment to the direct payment-accepting seller or back to the customer...
When server quit command is issued, whether built-in (CMD+Q in OSX for example) or remote (terminal or GUI), have a y/n prompt asking if the store should be turned off before the final quit spools out,
and/or
have a switch in Store settings for "Store On only if server running" - which would during the quit process broadcast to network that the store's off, and during the launch process broadcast that the store's on,
and/or
set a flag on the store that prevents customers from placing orders unless the store's server is online
?

Offline orders should work. Why do you say they can't be made?

I didn't say they can't be made, I said this is what I propose so they can't be made.

Why would you want to not allow offline purchases? I don't understand what the goal is.

incurring extra TX fee to get the escrowed payment to the direct payment-accepting seller or back to the customer

@TheButterZone You could turn off your store in Settings:

It's not absolutely perfect, but it will get you 95% of the way there. If users go to your store page, they will not see any of your listings.
The holes in this approach are:
a.) if someone has a direct link to your listing and you're offline when they attempt to buy it, it will be purchasable.
b.) if one of your listings shows up in search, the user will be able to load it and buy it (if you're offline at the time of purchase). Ideally, the 3rd party searches are crawling regularly and they will be able to detect that your store is off and prevent your listing from being returned in the search results. It may be a matter of the crawler not updating fast enough or a 3rd party search that is not honoring the Store:off flag.
We're looking to improve on this, but at the very least it should get you mostly to where you want to be.

I absolutely hate having to repeat myself...

If my server is off or unreachable, I don't want people buying from my store because I forgot to set the store to off.


NIM on GCP Vertex AI Python

To support GCP account, run and deploy NIM on GCP Vertex AI with Python notebook

This looks great and thank you again @FortunaZhang ... per our conversation we might want to rework some of the top-level README:

sample requests should be fully functional copy/paste shell or python snippets vs. pseudo-code
we should emphasize inference requests must be routed to :rawPredict

@liveaverage Thanks for the advice. I updated the README addressing these two issues, please check latest commit: https://github.com/NVIDIA/nim-deploy/pull/58/commits/9da7cf6f454ab2dd52a75e7a716688de444c4345

Closing after merging other PR, as discussed.


Bumps cudnn frontend to v1.3.0

Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure to update the docs?
[x] Did you write any new necessary tests?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.

once the docker images are build and pushed we can rerun CI for GPU
running: https://dev.azure.com/Lightning-AI/lightning/_build/results?buildId=198115&view=logs&j=5590d1c6-4d73-5164-c2d0-7f7286b3996d

likely it would need land #155 before...

@t-vi This is ready to go in. Can you please approve? 😄


[Q] Logging Pytorch Images  with wandb.Table()

I am trying to log images during training process, I followed info on "https://docs.wandb.ai/guides/integrations/pytorch" this page.
My codes looks like this:
image_table = wandb.Table()
    lr_images_list = []
    rc_images_list = []
    hr_images_list = []
    transform_2PIL = tvt.Compose([tvt.ToPILImage(mode='L')])
    for index in range(recon_images.size(0)):
        lr_images_list.append(transform_2PIL(low_res_images[index, :, :, :]))
        rc_images_list.append(transform_2PIL(recon_images[index, :, :, :]))
        hr_images_list.append(transform_2PIL(high_res_images[index, :, :, :]))

    image_table.add_column("Low Res Image", lr_images_list)
    image_table.add_column("Reconstruction Image", rc_images_list)
    image_table.add_column("High resolution Image", hr_images_list)
    image_table.add_column("Index of Batch", step_in_batch)
    image_table.add_column("Global Step", global_step)
    # Log your Table to W&B
    wandb.log({f"Result for {step_in_batch} at {global_step}": image_table})

But as soon as image_table.add_column("Low Res Image", lr_images_list) executes, it outputs:
Traceback (most recent call last):
  File "D:\Program Files\JetBrains\PyCharm 2020.3.5\plugins\python\helpers\pydev\_pydevd_bundle\pydevd_exec2.py", line 3, in Exec
    exec(exp, global_vars, local_vars)
  File "<input>", line 1, in <module>
  File "C:\Users\kousa\.conda\envs\UDPET_GPU\Lib\site-packages\wandb\data_types.py", line 774, in add_column
    assert is_first_col or len(data) == len(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: Expected length 0, found 4

low_res_images is a pytorch tensor, I am trying to turn them back to PIL and then log them in wandb, however, i couldn't get it to run.
I also tried something like:
image_table = wandb.Table(columns=["Low Res Image", "Reconstruction Image","High Resolution Image",
                                   "Index of Batch", "Global Step", "Index in Batch"])
for index in range(recon_images.size(0)):
    image_table.add_data(transform_2PIL(low_res_images[index, :, :, :]),
                         transform_2PIL(recon_images[index, :, :, :]),
                         transform_2PIL(high_res_images[index, :, :, :]),
                         step_in_batch,
                         global_step,
                         index)
wandb.log({f"Result for {step_in_batch} at {global_step}": image_table})

But it gives TypeError: Object of type Image is not JSON serializable.
What went wrong?
Any insight is appreciated!

Note the length of the list is 4, so that is where 4 is coming from

hey @GrandArth - what wandb SDK version are you running? looking into reproducing this on my end

hey @GrandArth - you can add this to add the data row by row:
# Add images to the wandb Table row by row
for lr_img, rc_img, hr_img in zip(lr_images_list, rc_images_list, hr_images_list):
    image_table.add_data(wandb.Image(lr_img), wandb.Image(rc_img), wandb.Image(hr_img))

wandb.log({"Image Comparison": image_table})

and this should log the table. I tested this out on my end and this worked with 0.17.0

Hi @GrandArth, since we have not heard back from you we are going to close this request. If you would like to re-open the conversation, please let us know!


fix: fix all clippy warnings and enable clippy on CI

What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Docs
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Checklist

[ ] This PR will resolve #___
[x] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.
[x] I have added a convincing reason for adding this feature, if necessary
[ ] It can be built on all targets and pass CI/CD.

Other information
This PR fixes all warnings reported by clippy on my local machine. I confirmed all examples fixed by this PR on my local machine manually.

Clippy passed on CI. https://github.com/tauri-apps/wry/actions/runs/4915685028/jobs/8778465188?pr=953

Thanks for the point. I added the action to the workflow.


Enterprise - Cody Not Working

Hello,
My org recently announced that Enterprise Model Selection is now available on our production instance.
Around the same time, Cody stopped working completely for me in Neovim. The version of this plugin did not change in the meantime, and I created a new Personal Access Token just in case.
`sg: require("sg.health").check()
sg.nvim report ~

Machine: arm64, sysname: Darwin
OK Valid nvim version: 0.10.1
WARNING Unable to find valid cargo executable. Trying to build sg.nvim locally will fail. Instead use :SourcegraphDownloadBinaries
OK Found sg-nvim-agent: "/Users/robbattaglia/.local/share/nvim/lazy/sg.nvim/dist/sg-nvim-agent"
OK Found node (config.node_executable) is executable.
Version: '18.20.4'
OK Found cody-agent: /Users/robbattaglia/.local/share/nvim/lazy/sg.nvim/dist/cody-agent.js
OK   Authentication setup correctly
OK     endpoint set to: https://.sourcegraph.com
OK Found correct binary versions: "1.1.0" = "1.1.0"
OK   Sourcegraph Connection info: {
access_token_set = true,
endpoint = "https://.sourcegraph.com",
sg_nvim_version = "1.1.0",
sourcegraph_version = {
build = "5.6.185",
product = "5.6.185"
}
}
To manage your Cody Account, navigate to: https://sourcegraph.com/cody/manage
OK Cody Account Information: {
cody_pro_enabled = false,
username = "rbattaglia"
}
OK sg.nvim is ready to run`

Cody does appear to be working in other IDE Cody plugins, tested with IntelliJ. I can see all the models available:
.
In Neovim, I cannot see all these models:

I also tried to set the model in the config.chat.defaultModel to match something I saw in the dropdown in IntelliJ.
Looks like error is somewhere in the Cody Agent from lsp.log
[ERROR][2024-08-22 17:17:38] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/robbattaglia/.local/share/nvim/lazy/sg.nvim/dist/sg-nvim-agent"	"stderr"	"[sg-nvim-agent] failed to read message data did not match any variant of untagged enum Message\n"
[ERROR][2024-08-22 17:17:39] .../vim/lsp/rpc.lua:770	"rpc"	"/Users/robbattaglia/.local/share/nvim/lazy/sg.nvim/dist/sg-nvim-agent"	"stderr"	'Recieved a message: Request { id: 2, data: SourcegraphRemoteURL { path: "/Users/robbattaglia/dotfiles/nvim/.config/nvim/" } }\nDATA : SourcegraphRemoteURL { path: "/Users/robbattaglia/dotfiles/nvim/.config/nvim/" }\n'
[ERROR][2024-08-22 17:17:43] .../vim/lsp/rpc.lua:770	"rpc"	"node"	"stderr"	'{"stack":"Error: Timeout\n    at Timeout._onTimeout (/Users/robbattaglia/.local/share/nvim/lazy/sg.nvim/dist/cody-agent.js:277769:20)\n    at listOnTimeout (node:internal/timers:569:17)\n    at process.processTimers (node:internal/timers:512:7)","message":"Timeout","name":"Error"}\n'
[WARN][2024-08-22 17:17:45] ...lsp/handlers.lua:135	"The language server copilot triggers a registerCapability handler for workspace/didChangeWorkspaceFolders despite dynamicRegistration set to false. Report upstream, this warning is harmless"
[ERROR][2024-08-22 17:18:05] .../vim/lsp/rpc.lua:770	"rpc"	"node"	"stderr"	'{"stack":"Error: Timeout\n    at Timeout._onTimeout (/Users/robbattaglia/.local/share/nvim/lazy/sg.nvim/dist/cody-agent.js:277769:20)\n    at listOnTimeout (node:internal/timers:569:17)\n    at process.processTimers (node:internal/timers:512:7)","message":"Timeout","name":"Error"}\n'
[ERROR][2024-08-22 17:18:15] .../vim/lsp/rpc.lua:770	"rpc"	"node"	"stderr"	'{"stack":"Error: Timeout\n    at Timeout._onTimeout (/Users/robbattaglia/.local/share/nvim/lazy/sg.nvim/dist/cody-agent.js:277769:20)\n    at listOnTimeout (node:internal/timers:569:17)\n    at process.processTimers (node:internal/timers:512:7)","message":"Timeout","name":"Error"}\n'
[ERROR][2024-08-22 17:18:19] .../vim/lsp/rpc.lua:770	"rpc"	"node"	"stderr"	'{"stack":"Error: Timeout\n    at Timeout._onTimeout (/Users/robbattaglia/.local/share/nvim/lazy/sg.nvim/dist/cody-agent.js:277769:20)\n    at listOnTimeout (node:internal/timers:569:17)\n    at process.processTimers (node:internal/timers:512:7)","message":"Timeout","name":"Error"}\n'
[ERROR][2024-08-22 17:19:05] .../vim/lsp/rpc.lua:770	"rpc"	"node"	"stderr"	'{"stack":"Error: Timeout\n    at Timeout._onTimeout (/Users/robbattaglia/.local/share/nvim/lazy/sg.nvim/dist/cody-agent.js:277769:20)\n    at listOnTimeout (node:internal/timers:569:17)\n    at process.processTimers (node:internal/timers:512:7)","message":"Timeout","name":"Error"}\n'
[ERROR][2024-08-22 17:19:19] .../vim/lsp/rpc.lua:770	"rpc"	"node"	"stderr"	'{"stack":"Error: Timeout\n    at Timeout._onTimeout (/Users/robbattaglia/.local/share/nvim/lazy/sg.nvim/dist/cody-agent.js:277769:20)\n    at listOnTimeout (node:internal/timers:569:17)\n    at process.processTimers (node:internal/timers:512:7)","message":"Timeout","name":"Error"}\n'

Same here it used to work, but not anymore.

Same here, it stopped working in the last days, with an enterprise account...

I have written a new plugin that is a convenient wrapper around the Cody CLI for the functionality that I needed, in case it can be useful to anyone:
https://github.com/guillemaru/codyassist

I'm having the same issue. Is there any workaround for this?


Add isend irecv batch_isend_irecv reduce_scatter

Add isend irecv batch_isend_irecv reduce_scatter
PADDLEPADDLE_PR=43683

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


Cleanup readme

Any objections to merging this stuff in?  Got sidetracked and forgot to actually create the PR.

Coverage remained the same at 99.57% when pulling 5eb40d6bb6e9e205215588d1f7c3032033790aee on cleanup-readme into a0f0b8d59a197475cffa0778264b33d75ecf65a7 on master.

All looks good to me! Definitely better than having bad information


WASM - i64.trunc_s/f32

Implement operator i64.trunc_s/f32
Should trap when the floating point value is NaN or outside the range which rounds to an integer in range

working on this one


Upcoming major improvements

Stuff that would be cool to get done and is well within out capacity. Please vote if you have favourites here!

[x] automagically run combine in dask tree reduction mode #255
[x] split to subchunk utility for uncompressed data. #251
[ ] concatenate from subchunks for irregular inputs and primitive sharding support
[x] coords generation (e.g., FITS WCS, geoTIFF bounding boxes) for flexible xarray indexes (partial: #192 )
[ ] parquet storage (from preffs) #277 with

[ ] lazy loading
[ ] sorted key partitioning

[ ] subsampling and multiscale pyramid generation
[ ] checksums or other UUIDs for remote files, to check for changes
[ ] linked zarr/numcodecs: allow for read context to be passed to codec and storage layer, so that we can, for instance, apply a different scale to a cube at each pane https://github.com/zarr-developers/zarr-python/pull/1131
[x] consolidate (nearly) adjoining reads in ReferenceFileSystem as is done in fsspec.parquet https://github.com/fsspec/filesystem_spec/pull/1063

I would vote for "coords generation" especially with FITS.

"coords generation" for GeoTIFF
handling netcdf files with different scale_factor and add_offset
parquet

automagically run combine in dask tree reduction mode for me please!

"parquet storage (from preffs)" this sounds nifty, but I'll add for what it's worth, I did discuss with @jakirkham what it would look like to use zarr for the storage of kerchunk itself :smile:

I would certainly love your ideas, and the thought had certainly occurred to me.
In favour of parquet:

the data is essentially tabular, no benefit from chunking on higher dimensions
must of data data (key and embedded chunks or metadata) are str/bytes. OTOH, the keys (required for every entry) could be fixed-string
partitioning into unequal-sized pieces, allowing, for instance, all of the references of one variable to live together and only be loaded at need; the column min/max values in the metadata also help with this
in preffs, each key may appear multiple times, to indicate concatenation of subchunks. Parquet could maybe also achieve this with variable-length lists of references. I'm unconvinced that this is a good idea, but zarr doesn't have the capability.

In favour of zarr:

it is already a requirement. Parquet also brings in pandas as a requirement.
the parquet references would be stored in memory as a dataframe (right?), which has significantly slower indexing compared to dicts from JSON. Raw numpy arrays from zarr might be more efficient. It is worth noting that keys ought to be ASCII

Moving to parquet or zarr sounds like a great idea.
I am having some success with HRRR. I will try to share results next week.

@emfdavid can you give us an update here?    I'm hitting memory issues trying to kerchunk the NWM 1km gridded CONUS dataset from https://registry.opendata.aws/nwm-archive/.    Creating the consolidated JSON for just 10 years of this 40 year dataset takes 16GB of RAM.

@rsignell-usgs , are you using tree reduction? Since there is a lot of redundancy between the individual files, that should need less peak memory.

@martindurant , yes, there are 100,000+ individual JSONs that cover the 40 year period.    I use 40 workers that each consolidate a single year.   Access to the individual single year JSON is shown here: https://nbviewer.org/gist/26f42b8556bf4cab5df81fc924342d5d

After creating the filesystem for one year, I see 1.2GB in use. I'll look into it.
I am indeed working on the parquet backend, which should give better memory footprint per reference set; but strings are still strings, so all those paths add up once in memory unless templates are only applied at access time. Hm.
However, it may be possible, instead, to make the combine process not need to load all the reference sets up front.

Hi Rich
I am travelling this week. Martin is ahead of me anyway though.
I am working on open sourcing the HRRR aggregation I built but I was over
optimistic about doing it while travelling for work.
I am doing a three step tree process:

scan_grib to extract the metadata and write raw objects one to one
with the original forecast hour grib files
Daily multizarr aggregations from each individual forecast hour
Monthly mutlizarr aggregations from each of the daily aggregations
All time multizarr aggregations from the monthly aggregations

I do this on a per forecast horizon basis, so I end up with aggregations
for 0,1,2...17 &18 hour horizons. Then I get 6 hour aggregations out to 48
hour horizon because HRRR only runs a full 48 hour model every six hours:
19-24, 25-30, 31-36, 37-42, 43-48.
I am thinking I will drop the all time aggregation and use the
multizarr tool on the fly to build the date range that I need from the
monthly chunks.
I am on the train right now with terrible wifi - I will try and grab memory
use stats for you later.
Best
David
On Wed, Dec 14, 2022 at 11:07 AM Martin Durant @.***>
wrote:

After creating the filesystem for one year, I see 1.2GB in use. I'll look
into it.
I am indeed working on the parquet backend, which should give better
memory footprint per reference set; but strings are still strings, so all
those paths add up once in memory unless templates are only applied at
access time. Hm.
However, it may be possible, instead, to make the combine process not need
to load all the reference sets up front.
—
Reply to this email directly, view it on GitHub
https://github.com/fsspec/kerchunk/issues/209#issuecomment-1351697634,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUDN2WZZXEIBCVZUNNJOOMDWNHWCNANCNFSM555CNQHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thanks for the update @emfdavid.   Are those HRRR JSONs in a publically-accessible bucket? (perhaps requester-pays?)  Have an example notebook?

@martindurant I was able to create 10 year combined JSONs from the 40 year JSON files.   That took 16GB of the 32GB memory for the Xlarge instance at https://jupyer.qhub.esipfed.org.    I was unable to create the 40 year combined file from four 10 year files -- it blew the 32GB memory

Try https://github.com/fsspec/kerchunk/pull/272

With latest commits in 272, I could combine 13 years directly with peak memory around 13GB.

Just to make sure I've got the right version, I have this.  You?
09:53 $ conda list kerchunk
# packages in environment at /home/conda/users/envs/pangeo:
#
# Name                    Version                   Build  Channel
kerchunk                  0.0.1+420.gca577c4.dirty          pypi_0    pypi

yes

FYI the Pangeo ML augmentation with support for some of these tasks through the NASA ACCESS 2019 program is on FigShare.


make routes exposure configurable instead

@s-block what do you think of this instead?

just merged into your branch... feel free to carry on with test's or whatever


Command parameters improvements & update

It might be a good idea to bump the version since there is a breaking change here?


Vulnerability roundup 101: swagger-codegen-2.4.17: 1 advisory [5.5]

search, files

[ ] CVE-2021-21364 CVSSv3=5.5 (nixos-unstable)

Scanned versions: nixos-unstable: f5e8bdd07d1.
Cc @jraygauthier

Already fixed https://github.com/NixOS/nixpkgs/pull/117544 :)