write results to directory OR tar archive

Note
If this looks good, it's probably best to merge via rebase, (rather than via a merge commit or squash), as supported by GitHub (below).
Changes
Netrics support
Essentially, we just need to be able to write the result files to a specified path – namely stdout – via a tar file. (A local directory, such as data/, is certainly useful, but inappropriate for measurement devices, the Netrics framework and our data pipeline.)
Otherwise, tar functionality isn't needed, (and writing results to both is redundant).
So, we now write results to tar archive OR directory depending on flags:

output is specified via single flag -o/--out-path which may be "dir/" or "file.tar[.gz]" or "-" (stdout)
archive flag removed
requests confirmation when out path is ambiguous "data" (perhaps directory is intended but will otherwise write archive to that path)

only prompts to confirm extension-less output file when stdout is the terminal

requests confirmation to write archive to terminal unless forced
data directory is now a temp dir when requested output is an archive
archive defaults to uncompressed tar, is gzip-compressed iff out-path features extension ".tar.gz" or ".tgz"
archive members named consistently (without timestamps)

Also:

non-critical logs may be disabled with -q/--quiet flag

Refactoring
While at it, I undertook some refactoring.
Singular command
Most important, what Netrics requires shouldn't be so unusual, and in this case can be a simple matter of configuration, rather than a separate executable.
(This isn't to say that we can't or shouldn't ever also devise a Netrics-dedicated executable wrapper, when adding this tool to its builtins, for convenience and for "endorsement" of the tool. Rather, the ideal for both users and developers of Traceneck is that we maintain a single, consistent interface, with reasonable options and defaults. It's best that Traceneck not worry about Netrics per se, so much as about the options useful to Traceneck in the Netrics environment. Indeed, the benefit of developing this measurement this way, as opposed to the implementation of the existing measurements, is that we have complete control of the underlying tool and can make this happen. Measurements which are simple variations on ping or ndt don't require this level of development; but, their Python implementations allow them to operate robustly for Netrics. On the other hand, such a Netrics-dedicated wrapper for Traceneck could be very slim – nothing more than an sh script: traceneck -qo- :star_struck:)
And so, we nix the Netrics build. The Netrics build is by now more than similar enough to the generic build that it doesn't warrant special support. Though this means special configuration for Netrics, this is trivial for Traceneck, (as opposed to less compatible tools); and, current deployment of Netrics entails such configuration, regardless, (to specify either NDT or Ookla speed-testing).
It should now be sufficient to execute Traceneck as follows under Netrics:
traceneck -qo -

a.k.a.:
traceneck --quiet --out-file=-

(i.e. quiet and writing to stdout)
or more fully:
traceneck --quiet --out-file=- --tool=[ndt|ookla]

Otherwise:

.dockerignore file re-added (missing since repo migration): recommended with Dockerfile COPY commands
Dockerfile made to target GO version in use to avoid development environment issues
Dockerfile made to use newer HEREDOC syntax with RUN commands
docker create used to create inactive container in lieu of run … sleep in CI

Config verification via slice
This is far less important, and perhaps debatable; but, while tweaking config variables such as OutPath/OutDir, it occurred to me that it might be useful to verify/finish config via a slice (array) of closures, returning a generic interface, rather than developing named functions which are each handled specially.
At the same time, it seemed preferable that os.Exit expressions are not evaluated too deep in the stack – particularly now that I've implemented a temporary directory in need of cleaning up….
So, I've defined config "finishers" – in lieu of verifyFlags – and now ensure temp dir clean-up:

Rather than named config verification/finalization functions invoked specially by verifyFlags, a slice of verification/finalization closures is now defined, which return structs abiding by a defined finalization interface (as well as the error interface). These finalizers are invoked and their results handled by config.finish().

config.Parse() now returns any error resulting from the above to main() – such that process termination may (generally) be handled there, and to ensure that clean-up takes place.

Any temporary working directory may now be reliably torn down (cleaned up) from main() – via config.Teardown()

Happy to discuss these changes via another medium if that would be helpful.
Otherwise, I believe all that leaves for Traceneck is to slim down the metadata.json.

Thanks for the PR, @jesteria! I am generally okay with the above changes and agree to post-process the PCAPs to calculate the RTT samples that we need for further analysis. I'll assign @arghyadipchak as a reviewer for the PR and let him provide his comments (if any), as he developed a vast majority of this tool. He will also be able to truncate the metadata (only for the Netrics binary) once we merge this PR.

@staveesh Sounds good.
Regarding the metadata size: rather than consider the behavior of a separate Netrics binary (which this branch removes), I imagine the metadata verbosity might be controlled by another command line flag. For example, a flag --meta-terse or --terse-meta or --terse-metadata might set a boolean config variable to make the metadata less verbose; or of course we could use an opposite flag like --verbose-metadata (though I'm guessing you all would prefer that verbose metadata is the default).

BTW: The --terse-metadata flag works for me.
I see that, with it set, rtt_samples is simply null. This is fine, for now, anyway. (Presumably we hope to write useful aggregate data, eventually.)

Yes, eventually we will replace these statistics with those critical for locating the bottleneck. We may need a key name change as well. We kept it as null because we wrote a data pipeline for the lab experiments which expects this key to exist.


Invisible Items with fabric geckolib

Describe the bug
some items are becoming invisible with the fabric version of geckolib
Steps to reproduce

...
Logs
No response
Additional context

I put the connector and it fixed it. I hadn't updated  xd


Fix pool compression card

Signed-off-by: Gowtham Shanmugasundaram<EMAIL_ADDRESS>

Enabled but no PVC claim

/test odf-console-e2e-aws

Looks good to me...
@bipuladh , @SanjalKatiyar , please take a look...

/hold cancel


raidboss: Fix E7S Betwixt Worlds Tether Condition

The condition only runs if you're the target, leaving the tether list to
be undefined at Betwixt Worlds Stack markers.
Fixes https://github.com/quisquous/cactbot/issues/1161

Thanks for the fix!!


Testing on IOS

Before buying a license I wanted to test the integration on IOS, I belive to have configured everything besides the License Key. Your Readme states as follows:
The Android module requires purchasing a license. However, it will work for DEBUG builds. It will not work with RELEASE builds without purchasing a license.

It says nothing on the IOS license, so my question is: Does it work in debug mode on IOS?

And so basically it requires no license on IOS and is free for use on IOS?

Yes


skip loading start/events.js while running adonis/ace

Can't say if I'm posting this issue on the right repo...
My application has defined some Redis event listeners in event.js file.
I've prepared a new command which is supposed to listen on MQ backend for new jobs (so it's a long-running command).
While running command application is still listening for events.
In my case, it was resulting in doubled events which were later stored twice in db.
I know that this may not be an issue, however, I'm wondering whether this behavior is correct.
Ace commands may have side-effects which should not happen while running a command.
IMO ace command should not listen for Redis events (in general not load events.js file).
What do you think about it?

The events.js is also used for other events via Event provider. So it's not possible to know whether to load or not load this file.
The best way is to create start/redis.js file and preLoad it on server start inside server.js file.
So it will be
new Ignitor(require('@adonisjs/fold'))
  .preLoad('start/redis')

Docs here http://dev.adonisjs.com/docs/4.0/ignitor#_preloading_files

Ah, that makes sense. I thought that all files from start are loaded during bootup.
Thanks!


Adding extension method to add multiple targets to DotNetBuildSettings

allows adding multiple targets to a dotnetbuildsettings class
usage:
DotNetBuild(target, settings =>
                    settings
                    .WithTarget(new[] { "targetOne" , "targetTwo" }));

rather than
var targets = new[] { "targetOne" , "targetTwo" };
DotNetBuild(target, settings => {
     foreach(var t in targets) {
        settings.WithTarget(t);
    }
    return settings;
});

Just curious, what does IEnumerable<string> provide over params?

@wwwlicious Well, this way we don't restrict the input to the method to an array and it's also more implicit. This goes hand in hand with the conventions in the rest of the project of returning the most specific type and accepting the most generic type.

@wwwlicious is there an issue associated with this PR?

adding to https://github.com/wwwlicious/Cake.Extensions instead


Fix docs cli example to give the promised run details table output

Is your contribution request related to a problem? Please describe.
The current docs give a CLI example that does not work, because it uses the wrong command.
The linked PR fixes the docs with the correct command.
Detail the functionality and value.
Users following the promptflow docs will be frustrated because the example does not give the promised output.
Additional context
A quick-fix added while I was using the docs.
PR: https://github.com/microsoft/promptflow/pull/2298

Thanks for reporting and send the Pull requests ! Let me close this item.


CL install from source from github instead of zip

installing from zip causes an error with the pyln-client:
https://github.com/rootzoll/raspiblitz/issues/2662#issue-1034847654
so switched to installation from source from github
left in the well tested code to install from zip, but commented out in case we would use it later

OK will merge and test with new image - opened this issue for final testing #2937


Using dereference with base url throws errors.

Hello,
My Schemas look like this:
Schema1:
{    //Schema stuff...
    "$ref": "./meta_nlp_schema.json#meta"
    ...
}

Schema2: (meta)
{...
      "$id": "/meta",
     ...
}

Say I use dereference without base url would lead to this error:
Error parsingSyntaxError: Invalid $ref pointer "meta". Pointers must begin with "#/"
Which is not a very helpful Error message, since belive my $ref to be correct following this guide:
https://swagger.io/docs/specification/using-ref/
Also mentioned in #42
I also tested it with these, which either threw a path error or just wrote the ref element without inserting the content:
 "$ref": "#/meta_nlp_schema.json#meta"
 "$ref": "#./meta_nlp_schema.json#meta"
 "$ref": "#meta_nlp_schema.json#meta"
 "$ref": "meta_nlp_schema.json#meta"
 "$ref": "#meta"
 "$ref": "#/meta"

Say I use a dereference with a base url (following #20):
jsonschema = await parser.dereference('./json_schemes/','./json_schemes/standard_message_schema.json',  {});
Would lead to this Error:
 Error: Error opening file "C:\Medieninformaitk\Medieninformatik\BA\Code\ConChat\json_schemes\"
EISDIR: illegal operation on a directory, read
    at fs.readFile (C:\Medieninformaitk\Medieninformatik\BA\Code\ConChat\node_modules\json-schema-ref-parser\lib\resolvers\file.js:51:20)
    at FSReqWrap.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:37:12)

If I understand this error correctly, then $RefParser trys to read a folder, which of course doesnt work. But that is not the behavior I expected. I expected the Parser to resolve refs like above, relative to the folder I give as a base url.
Or to generalize my problem:
I want to parse a folder full of json schemas so I can validate them against a json object in js.
Can I do that here?
(Coming from https://stackoverflow.com/questions/56851739/how-to-load-a-json-folder-into-javascript )

The error message you're getting:
Invalid $ref pointer "meta". Pointers must begin with "#/"

is caused by the missing / character in the JSON reference path.
"$ref": "./meta_nlp_schema.json#meta"

Add the missing / character after the # to resolve the error:
"$ref": "./meta_nlp_schema.json#/meta"


Unexpected error when listing resources

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az resource list
Errors:
The command failed with an unexpected error. Here is the traceback:
[WinError -2146893813] : ''
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 658, in execute
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 721, in _run_jobs_serially
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 692, in _run_job
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 328, in __call__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/custom.py", line 2137, in list_resources
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/_client_factory.py", line 10, in _resource_client_factory
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/client_factory.py", line 70, in get_mgmt_service_client
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/client_factory.py", line 212, in _get_mgmt_service_client
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/_profile.py", line 335, in get_login_credentials
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/_profile.py", line 593, in _create_credential
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/auth/identity.py", line 196, in get_user_credential
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/auth/msal_authentication.py", line 44, in __init__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/application.py", line 947, in get_accounts
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/application.py", line 985, in _find_msal_accounts
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/token_cache.py", line 80, in find
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/token_cache.py", line 58, in _reload_if_necessary
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/persistence.py", line 180, in load
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/windows.py", line 114, in unprotect
OSError: [WinError -2146893813] : ''

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az resource list --resource-group "name"

Expected Behavior
List of resources in a given resource group
Environment Summary
Windows-10-10.0.22000-SP0
Python 3.10.3
Installer: MSI

azure-cli 2.35.0 *

Extensions:
cloud-service 0.2.0

Dependencies:
msal 1.17.0
azure-mgmt-resource 20.0.0

Additional Context

@maulemon Thank you for reaching out, we are looking into it.

@maulemon I am able to get it to work with similar environment as yours, can you share your debug log please?

ARM

I've discovered that I had to remove msal_http_cache.bin and msal_token_cache.bin under .azure folder. That has resolved the issue


Installation script doesn't set to environment variables

I'm on ubuntu  20.04, the installation doesn't set environment variable

Even if you close the terminal and open it again. The issue seems to be with installation script.

@veritem I've improved the installation instructions. Could you delete your $HOME/.bvm/bin folder and try again?

Fixed thanks


[TC-160] remove check for ip6 addr and gateway in same network

still allows user to enter,  but does not check that address is in the same network

fyi -- this can wait until 2.1

@dangogh - can you back out the formatting changes when you get a chance? i can't determine what was changed.


[tests] Dockerfiles should not need to use the -NoCache option

Why are the webapp test Dockerfiles restoring with -NoCache?  This shouldn't be necessary and feels anti-docker.  Related to this, I wasn't expecting to see -NoCache references in the csproj - example.

This isn't using the -NoCache option, rather it is telling NuGet that -NoCache is the name of the solution directory.  This is terribly confusing IMO.
'''
RUN nuget restore SimpleWebApplication.csproj -SolutionDirectory -NoCache
'''


Image Upload: name parameter added

Thanks for contributing :)
I will be creating a beta of 5.0.0 this weekend that should have this.


Fix transition between gem2s and data processing

Background
Link to issue
https://biomage.atlassian.net/browse/BIOMAGE-1008
Link to staging deployment URL
https://ui-xavier-gem2s-transition.scp-staging.biomage.net
Links to any Pull Requests related to this
https://github.com/biomage-ltd/ui/pull/277
https://github.com/biomage-ltd/pipeline/pull/69
Anything else the reviewers should know about the changes here
Changes
Code changes
Definition of DONE
Your changes will be ready for merging after each of the steps below have been completed:
Testing

[ ] Unit tests written
[ ] Tested locally with Inframock (with latest production data downloaded with biomage experiment pull)
[ ] Deployed to staging

To set up easy local testing with inframock, follow the instructions here: https://github.com/biomage-ltd/inframock
To deploy to the staging environment, follow the instructions here: https://github.com/biomage-ltd/biomage-utils
Documentation updates
Is all relevant documentation updated to reflect the proposed changes in this PR?

[ ] Relevant Github READMEs updated
[ ] Relevant wiki pages created/updated

Approvers

[ ] Approved by a member of the core engineering team
[ ] (UX changes) Approved by vickymorrison (this is her username, tag her if you need approval)

Just before merging:

[ ] After the PR is approved, the unstage script in here: https://github.com/biomage-ltd/biomage-utils is executed. This script cleans up your deployment to staging

Optional

[ ] Photo of a cute animal attached to this PR

LGTM. Latest changes implements those agreed in the call.

Thanks!


DrawState layer: As opposed to what the debug call-back claims, initial renderpass attachment layout does not need to match its starting layout

Consider a renderpass, for which we define a single renderpass. The renderpass uses a single color attachment, whose initialLayout is set to A. Furthermore, we define a single subpass for the discussed renderpass, and set that attachment's layout to B.
For the discussed configuration, we get the following call-back at vkCmdBeginRenderPass() call time:

This is not true, and has no backing in the actual specification. Vulkan implementation should implicitly perform the initialLayout->layout transition for the application.
Proposal is to remove the check.

This is saying initialLayout doesn't match the layout of the attachment prior to the start of the renderpass not that it doesn't match the attachment's layout.

The message is confusing though; let me know if you think this is still wrong. Either way we can update the message.

Ah, yes, there was a bug in one of our test apps. I'd appreciate if we could make this call-back more meaningful though.

Message updated. Closing.


Influence of data preprocessing on model performance

Hi, thanks for your excellent work and the open-source codes!
I'm very interested in the novel optimization criterion proposed in your paper and tried to reproduce it locally. But there is a confusing problem of performance degradation when I restrained the height and width of the test images to make sure that they are divisible by a particular number (like, 8, 16, or 32). This data preprocessing strategy is inspired by C^3 Framework and guarantees the output size of some down-sampling layers count meet the requirements of subsequent processing. More details of the test results are shown in the table below.

pretrained
resize
MAE
MSE

Reported
✔

59.68
95.72

Reproduce
✔
✔
62.47
101.98

This issue is to sincerely ask you how such a simple operation can have such an obvious impact on the experimental results.

Hi, thanks for your attention to this work!
In fact, both the training and test images are resized to be divisible by 64. So I think that's not the main reason for performance degradation. The codes may be different from the latest version of C3F in some details. You could focus on the differences and try again. Some model parameters, such as "patchmax", also need to be set reasonably. For the best result, you could also try to modify the batch size or increase the training epoch.

Thanks a lot for your prompt reply, maybe I should modify the codes and run more experiments to figure out what went wrong.


Friction in TypeScript setup experience

In trying to update the TypeScript React Starter, I'm trying to leverage the newly supported support in CRA; however, running create-react-app with the --typescript flag seems to not do anything, and the process of adding TypeScript in general has a bit of friction.
As an example, I ran
npx create-react-app myapp --typescript

I expected at least the following:

My files should have been .ts/.tsx files.
A prescriptive tsconfig.json file should have been given to me out of the box.
My devDependencies should have included typescript, @types/react, and @types/react-dom.

Instead,

The --typescript flag didn't do anything special, and I had to rename a file like App.js to App.tsx before yarn start gave me a tsconfig.json.
yarn start told to run yarn add typescript after the rename (which is misleading since it should be a devDependency - so yarn add -D typescript).
Running yarn start one more time, I was given a type-error because I was missing @types/react and @types/react-dom as devDependencies.

Then everything worked, but this feels extremely frictiony. And it's also fairly confusing, because this flag doesn't seem to give anything beyond what the standard CRA scaffolding gives. And other issues have pointed this out too:

#5939
https://github.com/facebook/create-react-app/issues/5895#issuecomment-441543433

The issue is #5939 was that npx was using an old, cached version of Create React App. Perhaps the case for you too?

I'm guessing we should file a bug with npx or find an alternative way of creating apps, does "npm init react-app" behave differently?

npm init appears to use npx under the hood so I imagine the behaviour would be the same: https://docs.npmjs.com/cli/init#description
I agree though, this has happened a few times so it's probably worth mentioning it to npm.

@DanielRosenwasser I can confirm that I'm not hitting this issue on my machine either, I don't have a global install of create-react-app.
Could you conform if you do?
Also, have you tried running yarn create react-app --typescript? Does that perform the same way?

If you're using npx, make sure you don't have create-react-app installed globally, as it will used the installed version i believe.
npm uninstall -g create-react-app

@ianschmitz  You were right, I globally uninstalled create-react-app (and typescript just to be safe) and it worked this time around! Thanks for the help!


Seemingly infinite loop of "Cancelling download..."

After a download hangs due to some ValueError or any reason, I click cancel, then I get these messages going forever (at least 2 minutes).  So I ctrl-C to kill the app instead.
BTW, it's amazing that when I re-start the app and re-download the same blog, it still uses cache! So despite the kill, it's fast the second time anyway. So it's not a problem to me, but perhaps it looks bad to the average user.
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...
[INFO   ] Cancelling download...

Well , TBH: I know about that issue. You're right it might be very confusing, so I think I will try to do something about that... however it's bit tricky to reproduce. Anyway - thanks for reporting!


Cannot build on mac OS X Yosemite

Build Log
[ 11%] Built target amalgamation
[ 22%] Built target example
[ 33%] Built target example_chat
[ 44%] Built target example_chat_copy
[ 55%] Built target example_copy
[ 66%] Built target example_with_all
[ 77%] Building CXX object tests/CMakeFiles/unittest.dir/unittest.cpp.o
/Users/julio/Projects/crow/tests/unittest.cpp:936:27: error: call to 'move' is
ambiguous
last_url_params = move(req.url_params);
^~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits:1603:1: note:
candidate function [with _Tp = const crow::query_string &]
move(_Tp&& __t) _NOEXCEPT
^
/usr/local/include/boost/move/utility_core.hpp:191:77: note: candidate function
[with T = const crow::query_string &]
...inline typename ::boost::move_detail::remove_reference::type && move(...
^
1 error generated.
make[2]: *** [tests/CMakeFiles/unittest.dir/unittest.cpp.o] Error 1
make[1]: *** [tests/CMakeFiles/unittest.dir/all] Error 2
make: *** [all] Error 2
System Specifications
Boost version: 1.58.0
uname -a
Darwin MacBook-Pro-de-Julio-Cesar-Brito-Gardona.local 14.4.0 Darwin Kernel Version 14.4.0: Thu May 28 11:35:04 PDT 2015; root:xnu-2782.30.5~1/RELEASE_X86_64 x86

take a look at #77 , should be helpful for you :)

Thanks, Chao Mai
It helps. Fix it here.
At.
Júlio C. Brito Gardona

Em 13/07/2015, à(s) 06:17, Chao Mai<EMAIL_ADDRESS>escreveu:
take a look at #77 https://github.com/ipkn/crow/pull/77 , should be helpful for you :)
—
Reply to this email directly or view it on GitHub https://github.com/ipkn/crow/issues/78#issuecomment-120864044.


calico-cni-plugin: 3.27.3 -> 3.28.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/projectcalico/calico/releases.
meta.description for calico-cni-plugin is: Cloud native networking and network security
meta.homepage for calico-cni-plugin is: https://projectcalico.docs.tigera.io
meta.changelog for calico-cni-plugin is: https://github.com/projectcalico/calico/releases/tag/v3.28.0
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.28.0 in filename of file in /nix/store/136p67zx5lq5vdw47bx70jjf110m5d2k-calico-cni-plugin-3.28.0

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

9 total rebuild path(s)

9 package rebuild(s)

First fifty rebuilds by attrpath

calico-apiserver
calico-app-policy
calico-cni-plugin
calico-kube-controllers
calico-pod2daemon
calico-typha
calicoctl
confd-calico

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/136p67zx5lq5vdw47bx70jjf110m5d2k-calico-cni-plugin-3.28.0 \
  --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 calico-cni-plugin https://github.com/r-ryantm/nixpkgs/archive/f8522cddbc138e75ac01671d022d10b3dab4c11e.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/f8522cddbc138e75ac01671d022d10b3dab4c11e#calico-cni-plugin

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/136p67zx5lq5vdw47bx70jjf110m5d2k-calico-cni-plugin-3.28.0
ls -la /nix/store/136p67zx5lq5vdw47bx70jjf110m5d2k-calico-cni-plugin-3.28.0/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 --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

8 packages built:

calico-apiserver
calico-app-policy
calico-cni-plugin
calico-kube-controllers
calico-pod2daemon
calico-typha
calicoctl
confd-calico

Maintainer pings
cc @urandom2 for testing.

Result of nixpkgs-review pr 310863 run on x86_64-linux 1

8 packages built:

calico-apiserver
calico-app-policy
calico-cni-plugin
calico-kube-controllers
calico-pod2daemon
calico-typha
calicoctl
confd-calico


New app Icons won't open unless previous opened ones closed

I'm a newbie, I have added application icons to bottom polybar such as chrome, terminal, thunar --etc. The problem is whenever I click on the icon, it opens the application and when I click the other icon to open, it doesn't. When I close the first clicked application then the second application opens. May I know how to resolve it?

Use & at the end of every command: chromium &

Thanks, It works well now.
One more, How to show the app name when I place mouse arrow on the icon?

If you're asking for a tooltip, it's been requested (#534) but not implemented yet.

How about entire bar autohide and bar placing at left or right side of the screen!

Both have already been discussed (#1269, #1225), both isn't possible right now


fix select region html id for RHOSAK ODS-242

in the RHOSAK UI one of the HTML element id is changed and our ODS-242 is failing because of that. This PR wants to fix the TC
Signed-off-by: Berto D'Attoma<EMAIL_ADDRESS>

PR test on Jenkins: PR#283.
The RHOSAK TCs are successful. The failures in the job are not related to this PR.
The changes are independent from OCP version because they are about RHOSAK console.


Checks rspec and rubocop error-creating changes

Please make sure to NEVER merge this commit / PR into the master. This is just for ensuring that Travis builds do fail for inappropriate changes in a PR.

Works. Thankfully, Travis CI didn't make me that mad. Closing this PR now.


Avoid setting the global PRNG state

Just noticed this while browsing the code. Better to use RandomState than rely on the mutable global state in the default numpy PRNG in library code.

Good catch, thanks

Looks good.


[BUG] Unmet peer dependency of tslib warning from yarn

Description/Screenshot

Similar to #1114 which although is marked as fixed, I still see tslib in peer deps in the package.json here:
https://github.com/microsoft/ApplicationInsights-JS/blob/master/shared/AppInsightsCore/package.json#L61
Shouldn't that be moved to devDependencies or just removed all together?
Repro steps:

Create a new folder
Run yarn init and accept defaults
Run yarn add @microsoft/applicationinsights-web
Notice warnings!

Expected behavior
No warnings

I believe this is an issue with your project in that you will need to include tslib into your package.json.
Internally, we dynamically replace all internal tslib references so we are not dependent or tied to specific versions, which is also why we have it listed as a generic "*" (all version) peerDependency.
We could try removing all peerDependency references, but I believe last time we did this some version (don't remember which) used by some customers complained that we didn't include it and rather than a warning it was an error.

This is still a schedule task, it's just lower priority to try and remove it as a peer dependency so it's kept getting moved.


[New Feature] Timepicker should support setting the seconds

Timepicker should support setting the seconds.

@richidd Please see #2326 for tracking this


test: add acceptance tests for fabric connection resource/data_source and update port data_source tests

Added acceptance tests for fabric connection resource and data_source
Updated attribute checks for fabric port acceptance tests
Updated GHA to leverage ENV variables for newly added secrets for dedicated port data and connection test data

Codecov Report
Attention: 24 lines in your changes are missing coverage. Please review.

Comparison is base (a60c71f) 44.71% compared to head (09f0cab) 43.50%.
Report is 7 commits behind head on main.

Files
Patch %
Lines

internal/resources/metal/metal_connection/speed.go
0.00%
16 Missing :warning:

equinix/resource_fabric_cloud_router.go
0.00%
2 Missing :warning:

equinix/resource_fabric_connection.go
0.00%
2 Missing :warning:

equinix/resource_fabric_routing_protocol.go
0.00%
2 Missing :warning:

equinix/resource_network_device.go
0.00%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #547      +/-   ##
==========================================
- Coverage   44.71%   43.50%   -1.21%
==========================================
  Files          98       99       +1
  Lines       19888    19890       +2
==========================================
- Hits         8893     8654     -239
- Misses      10961    11220     +259
+ Partials       34       16      -18

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Tests actually are passing. The PR is stating that it's using the up-to-date workflow file, but the test is failing because the ENV variables for secrets data aren't accessible. When running workflow manually on this target branch (which uses this branch's workflow file correctly) the tests succeed: https://github.com/equinix/terraform-provider-equinix/actions/runs/7732899359/job/21083875028
PR is ready for merge.


Regression - occasional crash during extraction

#1  introduced a regression (previous commit c804e3c9 works) where occasionally cargo run --bin=compress --release -- -f data/train_39.json will crash. Happens about 25% of the time.
Crashes during extraction with
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `505`,
 right: `1011`', src/compression.rs:249:9

should be able to track it down by printing what is extracted vs original program vs invention. I rewrote extraction which will be merged in soon, should check this out first to make sure it's not indicative of a larger problem

This is actually a fairly rare issue that only comes up when attempting to thread local context into an invention (ie inventions with (#i $j) in them) and specifically in cases where the invention is used again at the top of its own argument like inv0 (inv0 $0)).
This is an issue in both the new and original rewriters. I have a few theories for why it could be happening. It could have to do with how when we insert a lam on top of an argument during context threading we dont go and search for inventions that apply at this precise location, instead we assume no inventions apply here. It could also relate to how in the new rewriting scheme we tell it to prefer non-threading versions to threading versions which could also prevent a lambda from being discovered. It's strange that it knows the correct cost but just cant produce it - that suggests maybe the argument exists separately in the program as a full term and so the !bestinventions.contains() would not be firing.
Anyways, there are lots of theories and i have a lot more data and ideas in my "2022-01-13 issue 7 regression" note. For now this doesnt seem very critical to our main goals. We could fix it at some point by improving our new rewriter. In the mean time we just need to account for the fact that sometimes inventiosn will show lower expected costs than our rewriter can produce, so we probably want to check for that and print a message or something

I don't know if this is still a thing with the new compressor, I need to look into it some time. I don't think we're ever crashing so probably not, but I need to look at what this was

I suspect this is something we actually need to handle since it supposedly happens in the new rewriter, we should run these tests and also write new tests that have for (inv0 (inv0 situations.

This is from so long ago im pretty confident it doesnt apply


Renaming of audioTrackNumber and numberOfAudioTracks

The two properties audioTrackNumber and numberOfAudioTracks use the term number in different meanings. We need to clarify this by renaming them to hasAudioTrackIndex and hasTotalNumberOfAudioTracks. Additionally both properties take only positive integers, so their data type should become xsd:nonNegativeInteger.
The same applies to videoTrackNumber and numberOfVideoTracks: We should rename them to hasVideoTrackIndex and hasTotalNumberOfVideoTracks
This issue replaces https://github.com/ebu/ebucoreplus/pull/343 by @MarcAntoine-Arnaud

Another concern: Which classes should carry the  ...Index and the ..TotalNumberOf.. properties? Here's my proposal:
The   ...Index properties are describing the AudioTrack and the VideoTrack directly and should be placed in subclasses of Track, and defined as subproperties of a trackIndex property in the class Track.
Whereas the ...TotalNumberOf... properties should be defined in MediaRessource as the object that contains the countable tracks.


Using this cookbook on a machine without openssh-client fails

I have noticed that when using the provider in this cookbook on very lightweight machines (e.g. docker boxes) the recipe will error out with the error No such file or directory - ssh-keyscan due to https://github.com/opscode-cookbooks/ssh_known_hosts/blob/master/providers/entry.rb#L40. The simple fix for this on ubuntu at least is to install the openssh-client package, not sure about other distributions.

@rbclark Thanks for opening up this issue. We apologize for the delay in responding to this request. After some contemplation, I think that it works fine the way it is to minimize extra dependency for folks. Ideally this cookbook will become a library cookbook with just resources, and individuals have wrapper cookbooks that include exactly what they want with the specific configurations for any additional software. As ssh can be quite complex, I want to minimize the complexity of this cookbook. Please do reopen this issue with your further thoughts as necessary. Thanks again.


Setting alertmanager's external url to a url without a port number breaks loki

Bug Description
In the absence of a port number, loki charm code sets the port to "None" and attempts to restart the new pebble command, which immediately exits.
To Reproduce

juju deploy --channel=edge cos-lite --trust
juju config alertmanager web_external_url=http://unre.al

Environment
Model  Controller  Cloud/Region        Version  SLA          Timestamp
m4     chdv2934    microk8s/localhost  2.9.34   unsupported  16:59:23-05:00

App           Version  Status   Scale  Charm             Channel  Rev  Address         Exposed  Message
alertmanager  0.23.0   active       1  alertmanager-k8s  edge      36  <IP_ADDRESS>  no
catalogue              active       1  catalogue-k8s     edge       4  <IP_ADDRESS>  no
grafana       9.2.1    active       1  grafana-k8s       edge      53  <IP_ADDRESS>  no
loki          2.4.1    waiting      1  loki-k8s          edge      47  <IP_ADDRESS>  no       waiting for units to settle down
prometheus    2.33.5   active       1  prometheus-k8s    edge      83  <IP_ADDRESS>   no
traefik                active       1  traefik-k8s       edge      93  <IP_ADDRESS>    no

Relevant log output
unit-loki-0: 16:54:28.838 DEBUG unit.loki/0.juju-log alertmanager:11: This unit's ingress URL: http://<IP_ADDRESS>:80/m4-loki-0
unit-loki-0: 16:54:28.910 INFO unit.loki/0.juju-log alertmanager:11: Pushed new configuration
unit-loki-0: 16:54:29.021 ERROR unit.loki/0.juju-log alertmanager:11: Uncaught exception while in charm code:
Traceback (most recent call last):
  File "./src/charm.py", line 500, in <module>
    main(LokiOperatorCharm, use_juju_for_storage=True)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/main.py", line 438, in main
    _emit_charm_event(charm, dispatcher.event_name)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/main.py", line 150, in _emit_charm_event
    event_to_emit.emit(*args, **kwargs)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/framework.py", line 355, in emit
    framework._emit(event)  # noqa
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/framework.py", line 856, in _emit
    self._reemit(event_path)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/framework.py", line 931, in _reemit
    custom_handler(event)
  File "/var/lib/juju/agents/unit-loki-0/charm/lib/charms/alertmanager_k8s/v0/alertmanager_dispatch.py", line 171, in _on_relation_changed
    self.on.cluster_changed.emit()
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/framework.py", line 355, in emit
    framework._emit(event)  # noqa
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/framework.py", line 856, in _emit
    self._reemit(event_path)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/framework.py", line 931, in _reemit
    custom_handler(event)
  File "./src/charm.py", line 157, in _on_alertmanager_change
    self._configure()
  File "./src/charm.py", line 269, in _configure
    self._container.restart(self._name)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/model.py", line 1456, in restart
    self._pebble.restart_services(service_names)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/pebble.py", line 1699, in restart_services
    return self._services_action('restart', services, timeout, delay)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/pebble.py", line 1721, in _services_action
    raise ChangeError(change.err, change)
ops.pebble.ChangeError: cannot perform the following tasks:
- Start service "loki" (cannot start service: exited quickly with code 1)
----- Logs from task 0 -----
2022-11-21T21:54:28Z INFO Service "loki" has never been started.
----- Logs from task 1 -----
2022-11-21T21:54:29Z INFO Most recent service output:
    (...)
    2022-11-21 21:54:28.988522 I | proto: duplicate proto type registered: grpc.DeleteIndexRequest
    2022-11-21 21:54:28.988524 I | proto: duplicate proto type registered: grpc.QueryIndexResponse
    2022-11-21 21:54:28.988564 I | proto: duplicate proto type registered: grpc.Row
    2022-11-21 21:54:28.988568 I | proto: duplicate proto type registered: grpc.IndexEntry
    2022-11-21 21:54:28.988569 I | proto: duplicate proto type registered: grpc.QueryIndexRequest
    2022-11-21 21:54:28.988571 I | proto: duplicate proto type registered: grpc.UpdateTableRequest
    2022-11-21 21:54:28.988612 I | proto: duplicate proto type registered: grpc.DescribeTableResponse
    2022-11-21 21:54:28.988621 I | proto: duplicate proto type registered: grpc.CreateTableRequest
    2022-11-21 21:54:28.988623 I | proto: duplicate proto type registered: grpc.TableDesc
    2022-11-21 21:54:28.988625 I | proto: duplicate proto type registered: grpc.TableDesc.TagsEntry
    2022-11-21 21:54:28.988663 I | proto: duplicate proto type registered: grpc.ListTablesResponse
    2022-11-21 21:54:28.988666 I | proto: duplicate proto type registered: grpc.Labels
    2022-11-21 21:54:28.988743 I | proto: duplicate proto type registered: storage.Entry
    2022-11-21 21:54:28.988747 I | proto: duplicate proto type registered: storage.ReadBatch
    level=info ts=2022-11-21T21:54:28.993462458Z caller=main.go:94 msg="Starting Loki" version="(version=2.4.1, branch=HEAD, revision=f61a4d261)"
    level=info ts=2022-11-21T21:54:28.993827853Z caller=server.go:260 http=[::]:3100 grpc=[::]:9095 msg="server listening on addresses"
    level=info ts=2022-11-21T21:54:28.995012837Z caller=modules.go:682 msg="Not using boltdb-shipper index, not starting compactor"
    level=warn ts=2022-11-21T21:54:28.995184701Z caller=experimental.go:19 msg="experimental feature in use" feature="In-memory (FIFO) cache"
    level=info ts=2022-11-21T21:54:28.996097165Z caller=worker.go:109 msg="Starting querier worker using query-scheduler and scheduler ring for addresses"
    level=error ts=2022-11-21T21:54:28.996871624Z caller=log.go:106 msg="error running loki" err="parse \"http://unre.al:None\": invalid port \":None\" after host\nerror initialising module: ruler\ngithub.com/grafana/dskit/modules.(*Manager).initModule\n\t/src/loki/vendor/github.com/grafana/dskit/modules/modules.go:108\ngithub.com/grafana/dskit/modules.(*Manager).InitModuleServices\n\t/src/loki/vendor/github.com/grafana/dskit/modules/modules.go:78\ngithub.com/grafana/loki/pkg/loki.(*Loki).Run\n\t/src/loki/pkg/loki/loki.go:285\nmain.main\n\t/src/loki/cmd/loki/main.go:96\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:255\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1581"
2022-11-21T21:54:29Z ERROR cannot start service: exited quickly with code 1
-----
unit-loki-0: 16:54:29.253 ERROR juju.worker.uniter.operation hook "alertmanager-relation-changed" (via hook dispatching script: dispatch) failed: exit status 1

Additional context
No response

@Abuelodelanada this is an alertmanager bug but I wonder if we should catch the ChangeError and block.

@Abuelodelanada this is an alertmanager bug but I wonder if we should catch the ChangeError and block.

We are generating alertmanager config with this method:
    def _alerting_config(self) -> str:
        """Construct Loki altering configuration.

        Returns:
            a string consisting of comma-separated list of Alertmanager URLs
            to send notifications to.
        """
        alerting_config = ""
        alertmanagers = self.alertmanager_consumer.get_cluster_info()

        if not alertmanagers:
            logger.debug("No alertmanagers available")
            return alerting_config

        return ",".join([f"http://{am}" for am in alertmanagers])

We are relying in what get_cluster_info() returns.... If I understand correctly, you are saying to validate the port here?

I was thinking of maybe adding try ... except ChangeError around
  File "./src/charm.py", line 269, in _configure
    self._container.restart(self._name)

:point_up_2: that's where the traceback in the log was generated, from the pov of charm code.


Kscript is broken on ArchLinux

Installed from the AUR.
Error message:
$ kscript 'println("Hello world")'
/usr/bin/kscript: line 49: /usr/share/kotlin/bin/kotlin: No such file or directory

Correct path to the Kotlin binary:
$ command -v kotlin
/usr/bin/kotlin

I don't really know what information could be of use, don't hesitate to ask for specific information you need.

Thanks for the report!
Can you please execute in the console:

echo $KOTLIN_HOME
KOTLIN_RUNNER=1 JAVACMD=echo kotlinc

$ echo $KOTLIN_HOME

$ KOTLIN_RUNNER=1 JAVACMD=echo kotlinc
-Xmx256M -Xms32M -Dkotlin.home=/usr/share/kotlin -cp /usr/share/kotlin/lib/kotlin-runner.jar org.jetbrains.kotlin.runner.Main

The second line is explaining why you get /usr/share/kotlin path for kotlin. (I am not exactly sure how this line work, but it is used to guess KOTLIN_HOME, if it is not set explicitly).
To make kscript working set your KOTLIN_HOME env variable to /usr , and it should start working. I will keep this issue open to allow other comments and suggestions.

It does not seem to fix the problem.
# .zshrc
export KOTLIN_HOME=/usr

$ echo $KOTLIN_HOME
/usr
$ kscript 'println("Hello world!")'
[kscript] [ERROR] Compilation of scriplet failed:
[kscript] [ERROR] Command     : bash -c /usr/share/kotlin/bin/kotlinc   -d '/home/ivan/.kscript/cache/jar_1075c8348f9943a25627037568233d8f/scriplet.jar' '/home/ivan/.kscript/cache/jar_1075c8348f9943a25627037568233d8f/Scriplet.kts' '/home/ivan/.kscript/cache/jar_1075c8348f9943a25627037568233d8f/Main_Scriplet.kt'
[kscript] [ERROR] Exit Code   : 127
[kscript] [ERROR] Stdout      :
[kscript] [ERROR] Stderr      :
[kscript] [ERROR] bash: line 1: /usr/share/kotlin/bin/kotlinc: No such file or directory
[kscript] [ERROR]

I'm not sure why the error message is visually different yet complains about the same thing.

That's strange. Below you can see the code which is used to resolve kotlin home:

https://github.com/holgerbrandl/kscript/blob/master/src/main/kotlin/kscript/app/model/ConfigBuilder.kt
As you can see KOTLIN_HOME env goes first while resolving kotlinc.

As you can see KOTLIN_HOME env goes first while resolving kotlinc.
But here also everything looks okay for me.

It's not ok, since kscript makes wrong assumption about location of kotlin binaries, and doesn't check their actual location.
In archlinux scripts are located in $PATH, not under $KOTLIN_HOME.

pacman -Ql kotlin | grep /bin/

kotlin /usr/bin/
kotlin /usr/bin/kotlin
kotlin /usr/bin/kotlinc
kotlin /usr/bin/kotlinc-js
kotlin /usr/bin/kotlinc-jvm

Is KOTLIN_HOME set by some installer e. g. SdkMan, or Kotlin installer? In other distros, KOTLIN_HOME is a separate directory that contains bin and lib. Here is a screenshot from Ubuntu:

So if it is different in archlinux, I guess there will be needed a patch for KScript to correct that behavior on that specific platform.

You can see the list of files here: https://archlinux.org/packages/community/any/kotlin/ (in the section ‘package contents’).
Basically it is just another system package with binaries in /usr/bin, JARS in /usr/share, etc.

everything fine with sdkman, this issue about Archlinux and kotlin package from official Archlinux repo (as mentioned by @CLOVIS-AI )
Assumption, that kotlin binaries are placed in $KOTLIN_HOME/bin is just wrong.
Implementation also doesn't look correct:

GUESS_KOTLIN_HOME=$(KOTLIN_RUNNER=1 JAVACMD=echo kotlinc)  ## here it assumes that kotlinc is present in $PATH
KOTLIN_BIN="$KOTLIN_HOME/bin/" ## then it require, that kotlin is present in $KOTLIN_HOME/bin/ (without any checks)
anyway, KOTLIN_HOME value will be ignored later, so nothing will work:

$ kscript
/home/sfesenko/.sdkman/candidates/kscript/current/bin/kscript: line 50: /usr/share/kotlin/bin/kotlin: No such file or directory

$ KOTLIN_HOME=/usr kscript
kscript - Enhanced scripting support for Kotlin on *nix-based systems.
...
Copyright : 2022 Holger Brandl
License   : MIT
Version   : v4.1.1
Website   : https://github.com/holgerbrandl/kscript

$ KOTLIN_HOME=/usr kscript println
[kscript] [ERROR] Compilation of scriplet failed:
[kscript] [ERROR] Command     : 'bash -c /usr/share/kotlin/bin/kotlinc   -d '/home/sfesenko/.cache/kscript/jar_b58e7483b3914effc9ffa9c6ce4fb765/scriplet.jar' '/home/sfesenko/.cache/kscript/jar_b58e7483b3914effc9ffa9c6ce4fb765/Scriplet.kts' '/home/sfesenko/.cache/kscript/jar_b58e7483b3914effc9ffa9c6ce4fb765/Main_Scriplet.kt''
[kscript] [ERROR] Exit Code   : 127
[kscript] [ERROR] Stdout      : ''
[kscript] [ERROR] Stderr      : 'bash: line 1: /usr/share/kotlin/bin/kotlinc: No such file or directory[nl]'
[kscript] [ERROR]

Since it already assumes, that  kotlin/kotlinc are available in $PATH, all logic around $KOTLIN_HOME/bin/ may be removed and issue should be fixed.
Also I believe, that bash is not required to run kotlin/kotlinc (they don't have to be bash scripts)
As alternative option - kscript may embed kotlin/kotlinc logic, and just run java command, so it won't depend on bash / cmd/ kotlin  / kotlinc / etc and won't run jvm multiple times (kscript will require either $KOTLIN_HOME or kotlin in $PATH to calculate $KOTLIN_HOME),

4.0.0 is last version that works
Added dockerfile as test
this succeed

docker build -t kts --build-arg VERSION=4.0.0 .

but this failed

docker build -t kts --build-arg VERSION=4.1.0 .

Dockerfile

Thanks a lot for checking! I plan to do one more big rework in kscript so that refactoring might resolve this issue. However, I will keep this issue open as it is an important use case.

Tried to fix problem with ignored KOTLIN_HOME=/usr variable value. Turns out kotlinc automatically overwrites it with
/usr/share/kotlin value

The only way I found to bypass this behavior is to change the name of KOTLIN_HOME in bash launch script like this:
src/kscript
## run it using command substitution to have just the user process once kscript is done
- COMMAND=$("${KOTLIN_BIN}kotlin" -classpath "${JAR_PATH}" kscript.app.KscriptKt "$OSTYPE" "$@")
+ COMMAND=$(export KOTLIN_HOME_BYPASS=$KOTLIN_HOME; "${KOTLIN_BIN}kotlin" -classpath "${JAR_PATH}" kscript.app.KscriptKt "$OSTYPE" "$@")

And read it value from ConfigBuilder
src/main/kotlin/../model/ConfigBuilder.kt
private fun resolveKotlinHome(osType: OsType): OsPath = path(
+   System.getenv("KOTLIN_HOME_BYPASS") ?:
    System.getenv("KOTLIN_HOME") ?:
    ShellUtils.guessKotlinHome(osType) ?:
    throw IllegalStateException("KOTLIN_HOME is not set and could not be inferred from context.")
)

This solved the problem with kscript finding kotlinc binary, but now I get a "NoClassDefFoundError" error because the stdlib JAR files are exist separately in /usr/share/kotlin/libs
Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/script/templates/standard/ScriptTemplateWithArgs
        at java.base/java.lang.ClassLoader.defineClass1(Native Method)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
        at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
        at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:555)
        at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
        at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        at Main_Scriplet$Companion.main(Main_Scriplet.kt:5)
        at Main_Scriplet.main(Main_Scriplet.kt)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.jetbrains.kotlin.runner.AbstractRunner.run(runners.kt:70)
        at org.jetbrains.kotlin.runner.Main.run(Main.kt:188)
        at org.jetbrains.kotlin.runner.Main.main(Main.kt:198)
Caused by: java.lang.ClassNotFoundException: kotlin.script.templates.standard.ScriptTemplateWithArgs
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)

Found fix, just create symlink to kotlinc in /usr/share/kotlin/bin
 sudo mkdir /usr/share/kotlin/bin
 sudo ln -s /usr/bin/kotlin /usr/share/kotlin/bin/kotlin
 sudo ln -s /usr/bin/kotlinc /usr/share/kotlin/bin/kotlinc

Maybe add this commands to PKGBUILD on Aur?

Found fix, just create symlink to kotlinc in /usr/share/kotlin/bin
 sudo mkdir /usr/share/kotlin/bin
 sudo ln -s /usr/bin/kotlin /usr/share/kotlin/bin/kotlin
 sudo ln -s /usr/bin/kotlinc /usr/share/kotlin/bin/kotlinc

@DareFox - this is a nice workaround - thanks for bringing it here.
Another workaround would be to install Kotlin using sdkman (alongside the system-installed one), as in kscript installation guide. That should also fix the problem, although I haven't tested it on ArchLinux.

@DareFox - I think those symbolic links should be added in the Kotlin package rather than in the KScript. This way, the behavior on the ArchLinux will be consistent with the Kotlin installation directory structure on other systems. And in fact, I think this is the best of all solutions discussed above.
Can you try to push the change to the maintainer of the Kotlin package on ArchLinux?

I have added information about the problem in the README file with a link to this ticket.

@ here - I need some help with releasing to ArchLinux. Please have a look at:
https://github.com/kscripting/kscript/issues/376#issuecomment-1373627510
If you know how to solve that problem, please comment:
https://github.com/kscripting/kscript/issues/376


Moving cognitive_deployment(1), container_registry(2), cosmo_db(1), dashboard_grafana(1), data_factory(4), data_protection(2) resources to v1beta1 version

cognitive_deployment 1

[ ]  azurerm_cognitive_deployment

container_registry 2

[ ]  azurerm_container_registry_task_schedule_run_now
[ ]  azurerm_container_registry_token_password

cosmo_db 1

[ ]  azurerm_cosmosdb_sql_dedicated_gateway

dashboard_grafana 1

[ ]  azurerm_dashboard_grafana

data_factory 4

[ ]  azurerm_data_factory_dataset_sql_server_table
[ ]  azurerm_data_factory_flowlet_data_flow
[ ]  azurerm_data_factory_integration_runtime_managed
[ ]  azurerm_data_factory_linked_service_cosmosdb_mongoapi

data_protection 2

[ ]  azurerm_data_protection_backup_instance_postgresql
[ ]  azurerm_data_protection_resource_guard

azurerm_data_factory_flowlet_data_flow doesn't see dependent resources. Specifying name directly also doesn't seem to help.
cannot resolve references: mg.Spec.ForProvider.Sink[i3].Flowlet[i4].Name:
      no resources matched selector

azurerm_data_protection_backup_instance_postgresql depends on azurerm_data_protection_backup_policy_postgresql which is not configured yet.

azurerm_dashboard_grafana is not generated in crds and examples.

[azurerm_cognitive_deployment] (https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/cognitive_deployment) requires subscription increase:

azurerm_container_registry_task_schedule_run_now is not getting generated in crds.


To Prod: Change to All Guides (Manually triggered)

Updated by github actions, triggered Manually.

close

will apply individually


az redis firewall-rules throwing an exception

az redis firewall-rules
The command failed with an unexpected error. Here is the traceback:
The operation 'azure.mgmt.redis.operations#FirewallRulesOperations.list_by_redis_resource' is invalid.
Traceback (most recent call last):
  File "/home/paul/Code/frp/az-cli/.azdev/azdev-env/lib/python3.8/site-packages/azure/cli/core/commands/command_operation.py", line 61, in get_op_handler
    handler = getattr(handler, part)
AttributeError: type object 'FirewallRulesOperations' has no attribute 'list_by_redis_resource'

Looks like the azure_mgmt_redis module has been updated, which removed the list_by_redis_resource method.

route to service team

Hey. Any idea when we should expect the fix? Or what would be a workaround for azdev users?
In Azure/ARO-RP we use azdev in CI which installs azure-cli which in turn is not pinned to a specific version, so this breaks our CI. Any advice would be appreciated.

It looks like this issue was fixed somewhere between today and 2nd of August.

It looks like this issue was fixed somewhere between today and 2nd of August.

@m1kola So this issue will be closed and the fix included in the next release?

Can anyone who works on this area confirm if this fix is included in the latest release (2.27.1)? If so, this issue can be closed?

Looks like it is working in version 2.27.1 for me, but I need to tie my investigation back to this issue being closed in order to proceed. Any response on this would be much appreciated.

Hi @yonzhan any update on this?

redis service team should look into this


ACR API - Fetch by PatientID & AccessionNumber

Description
Support ACR query & retrieve with Patient ID & Accession Number
Status
Ready
Types of changes

[x] Non-breaking change (fix or new feature that would not break existing functionality).
[ ] Breaking change (fix or new feature that would cause existing functionality to change).
[x] New tests added to cover the changes.
[x] All tests passed locally by running ./src/run-tests-in-docker.sh.
[x] Documentation comments included/updated.
[ ] User guide updated.
[ ] NGC publishing metadata updated.
[ ] I have updated the changelog

Codecov Report

Merging #48 (c56f1a8) into release/0.8.1 (9866058) will increase coverage by 0.24687%.
The diff coverage is 89.19861%.

@@                   Coverage Diff                   @@
##           release/0.8.1         #48         +/-   ##
=======================================================
+ Coverage       83.77836%   84.02523%   +0.24686%
=======================================================
  Files                145         145
  Lines              11460       11731        +271
  Branches             691         701         +10
=======================================================
+ Hits                9601        9857        +256
- Misses              1583        1594         +11
- Partials             276         280          +4

Impacted Files
Coverage Δ

src/API/Rest/InferenceRequestDetails.cs
100.00000% <ø> (+50.00000%)
:arrow_up:

src/Common/Test/RequiredIfAttributeTest.cs
95.74468% <ø> (ø)

src/DicomWebClient/Test/QidoServiceTest.cs
96.96970% <0.00000%> (ø)

src/Server/Services/Jobs/JobStore.cs
84.29319% <ø> (ø)

...Test/Unit/Services/Job/JobSubmissionServiceTest.cs
100.00000% <ø> (ø)

src/API/Rest/InferenceRequest.cs
83.16832% <15.00000%> (-9.93514%)
:arrow_down:

src/Server/Services/Jobs/DataRetrievalService.cs
79.77099% <77.50000%> (-0.40919%)
:arrow_down:

src/DicomWebClient/Services/QidoService.cs
94.54545% <83.33333%> (ø)

...Test/Unit/Services/Job/DataRetrievalServiceTest.cs
98.47826% <100.00000%> (+1.35892%)
:arrow_up:

src/Server/Services/Export/ExportServiceBase.cs
83.53659% <0.00000%> (-0.60975%)
:arrow_down:

... and 3 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 9866058...c56f1a8. Read the comment docs.

Codecov Report

Merging #48 (c56f1a8) into release/0.8.1 (9866058) will increase coverage by 0.24687%.
The diff coverage is 89.19861%.

@@                   Coverage Diff                   @@
##           release/0.8.1         #48         +/-   ##
=======================================================
+ Coverage       83.77836%   84.02523%   +0.24686%
=======================================================
  Files                145         145
  Lines              11460       11731        +271
  Branches             691         701         +10
=======================================================
+ Hits                9601        9857        +256
- Misses              1583        1594         +11
- Partials             276         280          +4

Impacted Files
Coverage Δ

src/API/Rest/InferenceRequestDetails.cs
100.00000% <ø> (+50.00000%)
:arrow_up:

src/Common/Test/RequiredIfAttributeTest.cs
95.74468% <ø> (ø)

src/DicomWebClient/Test/QidoServiceTest.cs
96.96970% <0.00000%> (ø)

src/Server/Services/Jobs/JobStore.cs
84.29319% <ø> (ø)

...Test/Unit/Services/Job/JobSubmissionServiceTest.cs
100.00000% <ø> (ø)

src/API/Rest/InferenceRequest.cs
83.16832% <15.00000%> (-9.93514%)
:arrow_down:

src/Server/Services/Jobs/DataRetrievalService.cs
79.77099% <77.50000%> (-0.40919%)
:arrow_down:

src/DicomWebClient/Services/QidoService.cs
94.54545% <83.33333%> (ø)

...Test/Unit/Services/Job/DataRetrievalServiceTest.cs
98.47826% <100.00000%> (+1.35892%)
:arrow_up:

src/Server/Services/Export/ExportServiceBase.cs
83.53659% <0.00000%> (-0.60975%)
:arrow_down:

... and 3 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 9866058...c56f1a8. Read the comment docs.


Set channel version at the application level

Closes: #3213
Description

PR author checklist:

[ ] Added changelog entry, using unclog.
[ ] Added tests: integration (for Hermes) or unit/mock tests (for modules).
[ ] Linked to GitHub issue.
[ ] Updated code comments and documentation (e.g., docs/).
[ ] Tagged one reviewer who will be the one responsible for shepherding this PR.

Reviewer checklist:

[ ] Reviewed Files changed in the GitHub PR explorer.
[ ] Manually tested (in case integration/unit/mock tests are absent).

Perhaps we should actually keep the counterparty version set in the OpenTry message and see if that fixes some tests.
The ordered channel is apparently using an old version of ibc-go (v3) which seems to require the version at the open init step. We should see if we can update it to a newer version.

Nevermind, looks like pretty much all tests are failing, even on Gaia 8. Maybe we should just drop this PR then, or at least clarify the expected behavior with the ibc-go team.

Looks like gaia8 (and likely other chains using the same ibc-go version) still expects a version to be set at chan open init, so perhaps we should keep doing that as well.

Given the resulting change I wonder if we shouldn't just drop the PR altogether? Do we foresee any issues with setting the try version to its init counterpart? If not then let's drop it.

I agree, the deprecated version in the Channel field doesn't seem to bring much to Hermes. I would be keen to drop this PR


test: don't make it more complicated than necessary.

Original rationale behind using write in testutil was to accommodate
no-stdio builds. But is there evidence that no-stdio users would have
write or pre-defined meaning for file descriptors 1 and 2? Correct
answer is to provide way for no-stdio users who want to exercise
tests to plug in own BIO, not to make assumption that they have write.
And since we don't have to make such assumption, we can as well go
for simplest that works with standard library as specified by C
language standard.

Consider putting your commentary above as part of the commit message; it's a good explanation.

I can only assume that the tests aren't meant to be run at all in an environment where there is not stdio or the use of stdio is undesirable, then.  Maybe we should clarify that...

Consider putting your commentary above as part of the commit message; it's a good explanation.

It is commit message.

I can only assume that the tests aren't meant to be run at all in an environment where there is not stdio or the use of stdio is undesirable, then.

Not in their current state, no. Question also is what is the direction, and naturally if this is step in desired direction. Building on "provide way for no-stdio users who want to exercise
tests to plug in own BIO", what would also be meaningful thing to do is to provide sample BIO implementation here. It might feel silly as it would be stripped down copy of bss_file.c, but I'd still argue that it would be meaningful to actually exhibit sample.

Maybe we should clarify that...

It's kind of implied if you examine test directory for no-stdio build... And if you run make test it says "tests are not supported with your chosen Configure options"...

It's kind of implied if you examine test directory for no-stdio build... And if you run make test it says "tests are not supported with your chosen Configure options"...

Ah!  Thanks for the reminder, I had totally forgotten that part.

Hard to tell, sometimes folks add additional commentary.  I can't see a way to easily look at just the commit and its text.


Jupyter startup isn't indicated in the react control

We need something to show jupyter is starting up
Current spec:
/ Starting Jupyter Server with spinning '/' as shown in the status bar.
We should also start jupyter server as soon as we detect code cells.

I think we need SOMETHING here for the first release. But whatever we come up can be changed later. We just don't want users thinking NOTHING is happening.


When will this public SDK become usable for the public?

Looks like it's been up for about eight months. Very keen to build something with it - when will we be able to? :)

Can this be used??

The SDK and sample app in this repo are able to be used by sideloads on the latest GA build for Karoo and K2.


Have you looked at using/converting to Vertx?

Thank you for your introduction, I really did not know Vertx before your message.
It seems Vertx is a  base level framework, and Efw is an application level one.
If your message was 2 years ago, maybe Efw would be based on it. But now, i dont think it is necessary to renew efw.


libopenalpr-native.so & libopencv_java.so

Hi
What version are those lib?
The return of openALPR.version() is "1.1.0". Does this mean the version of openALPR is 1.1.0?
Thanks.

No, that version is the version of this library. Not the version of the openalpr imported by this library. The version of the openalpr is 1.2.0.


add AR Kubernetes Free Course

What does this PR do?
Add resource(s) | Remove resource(s) | Add info | Improve repo
For resources
Description
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Just a note: this requires registering (for free) with Geeks for Geeks. Not sure if that is acceptable or not per these guidelines. @eshellman Mind chiming in here?
I think this is fine since GFG is a platform and the course is not listed to ever expire. 👍

use a new branch for each PR

@Thenlie thanks for clarification.
@eshellman will fix it


feat: add Babel custom loader plugin and update webpack configuration

This pull request introduces a custom Babel loader plugin to the Webpack configuration, updates the Webpack bundler to include this plugin, and adds necessary dependencies to the package.json file.
Introduction of Custom Babel Loader Plugin:

lib/build/bundlers/webpack/plugins/babel-custom/babel-custom-loader.plugins.js: Added a new BabelCustomLoaderPlugin class that configures Babel to use the @babel/plugin-proposal-optional-chaining-assign plugin for files matching the .func.m?js pattern.

Webpack Configuration Updates:

lib/build/bundlers/webpack/plugins/babel-custom/index.js: Exported the BabelCustomLoaderPlugin from the new plugin file.
lib/build/bundlers/webpack/webpack.bundlers.js: Imported and integrated the BabelCustomLoaderPlugin into the Webpack configuration, ensuring it is applied when the preset name matches 'next'. [1] [2]

Dependency Additions:

package.json: Added @babel/plugin-proposal-optional-chaining-assign and babel-loader to the list of dependencies. [1] [2]

:tada: This PR is included in version 4.3.0-stage.1 :tada:
The release is available on:

npm package (@stage dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Expose parseGid and use it internally

WHY are these changes introduced?
Currently we have 2 implementations of parseGid() in separate packages; one of them is a basic implementation, and one is more advanced. On top of that, there's still actually additional work we need to do to be able to parse complex GIDs (see this section on "Parameterized Global IDs" https://shopify.dev/docs/api/usage/gids#parameterized-global-ids) and it would be nice to implement that once and have everywhere updated.
Additionally, there's also a need to use that helper in some work I'm doing for https://github.com/Shopify/hydrogen-internal/issues/36 where I'll need to get the raw Shop ID (not the GID).
Maybe we should also consider parsing any params out of the ID and having them as a separate item in the returned object? For example: https://github.com/Shopify/quilt/blob/42b7dd366d60c0ad0e165e0dd526a4c6a6054046/packages/admin-graphql-api-utilities/src/index.ts#L28-L44
However, if this is actually too much headache, then I don't mind having two implementations. We can just update both at the same time or something. We can still expose parseGid() from hydrogen-react and hydrogen and use it all there, but keep the cli's version as-is.
WHAT is this pull request doing?
Single-sources parseId()
Post-merge steps

Checklist

[x] I've read the Contributing Guidelines
[x] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[x] I've added a changeset if this PR contains user-facing or noteworthy changes
[x] I've added tests to cover my changes
[x] I've added or updated the documentation

Ah dang; tests are failing because cli now needs hydrogen-react to build. So... I can set it up so that hydrogen-react builds before the cli's tests, or we can just not worry about single-sourcing this function for now. (Or other ideas?)

Ah dang; tests are failing because cli now needs hydrogen-react to build. So... I can set it up so that hydrogen-react builds before the cli's tests, or we can just not worry about single-sourcing this function for now. (Or other ideas?)

@frehner Maybe the CLI should use its own to avoid hard dependencies? I think we should consider even removing the peerDeps in the CLI that are just for types in virtual-routes (they should be devDeps because they're only useful to us) 🤔
I guess ideally we'd have a "common stuff" package where we import this kind of utility from. Maybe not even published, just a place to import things from and then they get bundled in each package. The final app bundle won't have 2 versions of this because the one in the CLI is not used in-app.
Note that hydrogen and hydrogen-react should use the same, I agree there 100%.

Honestly that's kind of the direction I'm leaning towards right now -- just letting the cli have its own version.

Ok let's do that then 👍

As far as peer vs dev deps, I'm not sure I know enough context to understand which we should use; if they're only used for virtual-routes, and the developer never opens/edits virtual-routes on their own, and the TS compiler doesn't complain if the types aren't present for virtual-routes, then devdeps seems more correct.

Agree. We can test and change deps in another PR though, no need to block this one.

@jamalsoueidan Yeah it's now exposed. It will be available in the next release 👍

Thank you


Can't Inject Vue App into the Content Script

Describe the bug
Hi, the contentScripts inject not work when I checkout branch to refactor/mv3. But it works when I checkout branch to main.
is anyone can help me? This question has been bothering me for a long time, thank you very much.
Reproduction
Create a repo from this template on GitHub. Clone project. checkout branch refactor/mv3. Delete pnpm-lock.yaml file. Enter pnpm i. Enter pnpm dev
System Info
System:
    OS: macOS 11.4
    CPU: (8) x64 Apple M1
    Memory: 15.56 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.16.0 - ~/.nvm/versions/node/v16.16.0/bin/node
    Yarn: 1.22.18 - /usr/local/bin/yarn
    npm: 8.11.0 - ~/.nvm/versions/node/v16.16.0/bin/npm
  Browsers:
    Chrome: 105.0.5195.102
    Firefox: 96.0
    Safari: 14.1.1

Used Package Manager
pnpm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

also doesn't work when I checkout branch to main.

also doesn't work when I checkout branch to main.

You mean inject content script doesn't work?
BTW, main branch is MV2, It's can work at Jan, 2023. So I wish default branch is MV3

See https://github.com/antfu/vitesse-webext/issues/59#issuecomment-1157626773.

Thanks a lot it works

See #59 (comment).

Thanks a lot it works


Incorrect Behavior w / Descending AC

When using descending AC, if you use a shield that gives a +1 bonus in your armor section, it adds it to your armour class, instead of subtracts it.
I.e. I have a 10 DEX, Leather Armor AC 7, and a shield AC +1, I should have an AC 6. Instead, I have an AC of 8. If I remove the shield by unchecking the 'worn' box, I return to an AC of 7.

Easily solved by typing the shields AC as -1, instead of +1, but thought you should know! Thanks for the work! It's a fantastic character sheet!

Easily solved by typing the shields AC as -1, instead of +1,

It's been a while since I tinkered with this sheet, but I think I recall just going this route for DAC, mostly because I don't use DAC. I also think I'd have to do more work than I wanted to to invert the math. I'm going to be closing up my fork of the Roll20 sheets, but you're obviously welcome to make modifications and submit them to Roll20.


Added functionality for initializing directly from triplets

I needed functionality for initializing GPTKnowledgeGraphIndex using triplets. I could have made a workaround by initializing with an index_struct that has an empty Node in it, but this fix seemed necessary enough for a PR because adding manual triplets is a common way of initializing a knowledge graph before doing any automatic triplet extraction.

Looks like this change has gotten a little out of hand lol
@NicholasHoffs you may need to start from a fresh branch/pr


Update state-management.png with multi state store URL

Description

Updated state_management.png

Issue reference
Link to issue
Please reference the issue this PR will close: #[321]
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation

In the image -  should be


Frequently failed in training.

I noticed that every time when 3 epochs training were done, the training process failed.

Here you can see the process is still running, and memories are still allocated, but GPUs are actually not working. I'm sure during the time memory-usage is always around 60g but it will show me that:
RuntimeError: CUDA out of memory. Tried to allocate 3.12 GiB (GPU 0; 79.20 GiB total capacity; 10.85 GiB already allocated; 885.31 MiB free; 14.73 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
Here are my arguments:
    --template_release_dates_cache_path=~~~/openfold/mmcif_cache.json \
    --precision=bf16 \
    --gpus=2 --replace_sampler_ddp=True \
    --seed=42 \
    --deepspeed_config_path=~~~/openfold/deepspeed_config.json \
    --checkpoint_every_epoch \
    --obsolete_pdbs_file_path=~~~/pdb_mmcif/obsolete.dat \
    --max_epochs=100 \
    --train_epoch_len=200\
    --config_preset="model_5_multimer_v3" \
    --num_nodes=1 \
    --train_mmcif_data_cache_path=~~~/openfold/mmcif_cache.json \

I see in the readme they recommend to use mixed precision https://github.com/aqlaboratory/openfold/blob/3c1fd31ac47c8da54d088badd9eba61fe0b3fd26/docs/source/Training_OpenFold.md?plain=1#L129
It looks like a GPU setup problem, did you try the suggestion from the error?

If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

Did you ever solve this?
I'm using an RTX4090 24Gb and getting an OOM error. Playing around with PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:256 values has gotten close to the available memory requirement in the error. I've tried a handful of other values, but it doesn't seem to change much.
Similarly, changing the use_deepspeed_evo_attention variable to true on line 407 of openfold/config.py changes the memory requirement in the error from Gb to Mb, but I don't know if this is actually getting me anywhere closer to a result.
My current error is:
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 78.00 MiB. GPU 0 has a total capacty of 23.63 GiB of which 64.50 MiB is free. Including non-PyTorch memory, this process has 23.45 GiB memory in use. Of the allocated memory 22.36 GiB is allocated by PyTorch, and 403.61 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

Parameters:
	~~/20240528/mmcifs/
	~~/20240528/precomputed_merged/
	~~/openfold_cuda121/data/pdb_mmcif/mmcif_files/
	~~/20240528/training_dir/
	2024-06-06
	--template_release_dates_cache_path ~~/openfold_cuda121/data/pdb_mmcif/pdb_mmcif_cache.json
	--train_mmcif_data_cache_path ~~/20240528/mmcif_cache.json
	--precision bf16 ## I've tried this and bf16-merged
	--gpus 1
	--seed 1234
	--deepspeed_config_path ~~/openfold_cuda121/deepspeed_config/rb_workstations_deepspeed_config.json
	--checkpoint_every_epoch
	--obsolete_pdbs_file_path ~~/openfold_cuda121/data/pdb_mmcif/obsolete.dat
	--config_preset model_5_multimer_v3
	--resume_from_jax_params ~~/openfold_cuda121/openfold/resources/params/params_model_5_multimer_v3.npz
	--max_epochs 20
	--num_nodes 1
	--train_epoch_len 50


./cmd/capabilties_wrapper doesn't compile on macOS

Describe the bug
go build ./cmd/capabilities_wrapper doesn't work (so neither does go build ./...) on macOS, and that's a pain for all of the macOS-using developers we have.

Fixed in #2648?

This issue has been addressed.


Add support for synth tiles creation from vivado node names only

Signed-off-by: Andrew Butt<EMAIL_ADDRESS>Allows easier custom partition region/roi synth tile creation by automatically picking the correct synth tile wire from only a vivado node name.

Will now require a new prjxray-db generated with https://github.com/SymbiFlow/prjxray/pull/1383 but in the mean time let me know how these changes look.


ENH: Build out MultiTrigger class, our new way to support detector-controlled dark frames

This is about done, but needs testing and probably bug-fix commits before being merged -- hopefully later today.

closing/opening to try to trigger circle

This is ready for review. Tests are in this gist.
Will have to make them work on AD 1.x before incorporating them in the codebase itself.

This is also exactly #213 re the read_attrs

:+1: the logic makes sense to me


Add support for I18next JSONv3

I18next is another popular standard translation format.  It's features includes:

Plurals
Interpolation
Formatting
Nesting
Objects and arrays

So, I think it's a good candidate for next major backend Lens implements. Perhaps in 0.2?

Note that i18next plurals support can be extracted from https://github.com/iv-org/invidious/pull/2646.
Everything is ready for v3, and a few minor modifications (and tests) are required to support v1 and v2.
A complete CLDR database is required for the plurals of v4.


Issues with distributing a dataframe across multiple Dask workers within the same cluster

from prefect import flow, task
from prefect_dask.task_runners import DaskTaskRunner
import dask

coiled_executor = DaskTaskRunner(
	cluster_class="coiled.Cluster",
	cluster_kwargs={
		"n_workers" : 4,
		"software": "ttibi-dev",
		"shutdown_on_close": True,
		"worker_vm_types":["r6a.large"]
	},
	adapt_kwargs={"maximum": 10}
)

@task
def some_data_manipulation():
	df = dask.datasets.timeseries(
		"2000", "2020", partition_freq="2w"
	).persist()
	df.groupby("name").aggregate({"x": "sum", "y": "max"}).compute()
	return df

@flow(task_runner=coiled_executor)
def test_flow():
	some_data_manipulation.submit()

if __name__ == "__main__":
	test_flow()

https://prefect-community.slack.com/archives/CL09KU1K7/p1659646887428939

The behavior is expected; thanks to Jonathan P for the response:
"We ran into a similar problem in the past and we think that this is actually expected behaviour. Your prefect task is serialized and sent to the dask cluster as a single Dask task, but Dask workers do not automatically get a client to connect to the full cluster. Thus, it will attempt to do the work within the worker itself. You need to get a worker_client  inside the task which will let the worker submit jobs to the cluster. I found this documentation helpful: https://distributed.dask.org/en/stable/task-launch.html#connection-with-context-manager"


5pm-2 CO List times in 12 hour format by incorporating a third-party date formatter

Incorporated moment.js to format time and reduce code from previous issue #235 + fixes bug #342 (null value for time).

20 points for incorporating moment.js, and 10 points for fixing the bug with null times.


Missing projection of Attention values in non-local block and incorrect position of the Upsampling block in the decoder

Hi,
Thanks for the clean implementation of the VQGAN. It is really helpful for me.
I found one bug in the non-local block (helper.py, line 112); it is missing the projection of attention before being added to the input.
This might be the cause of the weird artifacts in the image.

Hello,
have you tried it fixing it and seeing if results of this repo improve? I tried adding it but results are still garbage.

Hi,
I am currently "re-writing" the repo for my work, so I haven't tried it yet. However, there is one more bug in the placement of the Upsampling block.
The Upsampling block needs to be moved from position 28 to 10. This seems to be a significant bug that might be causing the weird effect, as the upsampling is done just at the end in the current version the artifacts did not "dissolve" properly.
Decoder2(   (model): Sequential(     (0): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))     (1): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 512, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 512, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (2): NonLocalBlock(       (gn): GroupNorm(32, 512, eps=1e-06, affine=True)       (q): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))       (k): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))       (v): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))       (proj_out): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))     )     (3): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 512, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 512, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (4): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 512, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 512, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (5): NonLocalBlock(       (gn): GroupNorm(32, 512, eps=1e-06, affine=True)       (q): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))       (k): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))       (v): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))       (proj_out): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))     )     (6): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 512, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 512, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (7): NonLocalBlock(       (gn): GroupNorm(32, 512, eps=1e-06, affine=True)       (q): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))       (k): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))       (v): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))       (proj_out): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))     )     (8): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 512, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 512, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (9): NonLocalBlock(       (gn): GroupNorm(32, 512, eps=1e-06, affine=True)       (q): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))       (k): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))       (v): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))       (proj_out): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1))     )     (10): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 512, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(512, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 256, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )       (channel_up): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1))     )     (11): NonLocalBlock(       (gn): GroupNorm(32, 256, eps=1e-06, affine=True)       (q): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))       (k): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))       (v): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))       (proj_out): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))     )     (12): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 256, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 256, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (13): NonLocalBlock(       (gn): GroupNorm(32, 256, eps=1e-06, affine=True)       (q): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))       (k): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))       (v): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))       (proj_out): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))     )     (14): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 256, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 256, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (15): NonLocalBlock(       (gn): GroupNorm(32, 256, eps=1e-06, affine=True)       (q): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))       (k): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))       (v): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))       (proj_out): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1))     )     (16): UpSampleBlock(       (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))     )     (17): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 256, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 256, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (18): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 256, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 256, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (19): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 256, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 256, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (20): UpSampleBlock(       (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))     )     (21): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 256, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(256, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 128, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )       (channel_up): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1))     )     (22): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 128, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 128, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (23): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 128, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 128, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (24): UpSampleBlock(       (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))     )     (25): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 128, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 128, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (26): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 128, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 128, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (27): ResidualBlock(       (block): Sequential(         (0): GroupNorm(32, 128, eps=1e-06, affine=True)         (1): Swish()         (2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))         (3): GroupNorm(32, 128, eps=1e-06, affine=True)         (4): Swish()         (5): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))       )     )     (28): UpSampleBlock(       (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))     )     (29): GroupNorm(32, 128, eps=1e-06, affine=True)     (30): Swish()     (31): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))   ) )

Hello, very cool. Am also trying to rewrite this repo so it works. I am currently going the approach of from this issue.
I replaced the model, the perpcetual loss and removed the GAN stuff for now and launched three training runs for each version. Hoping the contours / artifacts will disappear. However I think even after replacing the VQGan model with the code from orig paper the contour were still there, so might be some other issue.
I can try to run your change with the Upsample block and see if things get better.

Looking at the upsampling thing you mentioned, i don't think i understand. The layers seem to be at the right places as they are in the original paper.

Hi,
The implementation needs to be corrected even when compared with the paper. Please check line 26 in decoder.py; following the if condition, the upsampling block is not created for the first block (m=1) but for the last block (m=M).
However, if you check the implementation of the taming transformer, the downsampling block is present at m=1 but not when m=M.

Thanks, will look into it.
In the meantime, I have tried replacing the LPIPS and VQGAN modules by the ones in the original paper repository. And removed the GAN stuff, to simplify it and got these results after 170 epochs

Hello, I've uploaded the bug-fixed version.

Thanks, I also found the same errors as you. After fixing the code, the results look good. I will add the normalization as you suggested in the codebook and try it. I think for faster training, you need to change the learning rate  as learning_rate = accumulate_grad_batches * ngpu * bs * base_lr based the original implementation.
I also plan to replace the codebook with https://github.com/lucidrains/vector-quantize-pytorch which looks more stable.


Folder Content types not visible in "New" button of the document library

When you add custom "Folder" content types to a List instance, there are not "visible on new button" by default.
Is there a way to set this parameter?

Yes please, me too.

Hi,
Thanks for your feedback. This is an engine related issue/request. Could you please insert this item, if still needed, in the PnP-Sites-Core repository (https://github.com/SharePoint/PnP-Sites-Core/issues/)? Thanks. I will close this item, because out of context.