DumpConfig() will print out tokens

As the title states, DumpConfig() will print out tokens, which might be a potential security risk. (it also has a line that prints out msteams.name specifically, which I don't think is necessary)

Dear Cecilia,
Thank you so much for your contributions, first I’d like to appologise for these very delayed responses. I’m in the middle of the move to another country and have very limited time and computer access so I’ll ask you for a little bit more patience until the end of this week, when the whole thing should be over and I’ll be able to contribute some meaningful feedback and testing. For now I’d just like to say I 100% agree with this issue, you’re right, it’s not the most security aware thing to do. It’s residue from very early stages of development where it was useful to have this data dumped.
We should rectify this in the next release alongside the slack connector you've created.
I'll leave this open and we'll fix this asap.

A solution would be to add a debug flag/config/command line param and only dump the config if it's true.

Done, i patched this with the config parameter. Default behavior remains, dumps are disabled unless explicitly asked for.
Although i would like to see see the logging story completely redone one day with some nice, structured logs, and some levels perhaps... and colors :laughing:
Some things are just remnants of very early development and the run to have a working prototype, like the msteams.name line, probably not the last one left around.


Masking link error.

Greetings, facebook is splitting the masking link after the @, that's why it gives an error. Example<EMAIL_ADDRESS>Compose 2 url instead of one, otherwise it's great, thanks.

okay!!!

Masking URL technique is taken from my MaskPhish tool.


Concrete implementation

Rendered Readme:
https://github.com/lazyledger/nmt/blob/ismail/add_concrete_implementation/README.md
TODOs:

[x] more tests (ideally > 90 % test-coverage)
[x] decide between returning error or bool for verification methods (currently both) verification should just be a predicate
[x] add verifiaction equivalent to Prove(idx)
[x] clean up verification
[x] add proper Readme
[x] improve godoc documentation

Besides the prover API this should be complete. @adlerjohn @musalbas you can give it another pass if you like (I'll refrain from force pushing to this branch from now on).

TODOs:

[ ] more tests (ideally > 90 % test-coverage)
[ ] clean up verification
[ ] add proper Readme and improve documentation

Only thing left to do here is: https://github.com/lazyledger/nmt/pull/3#discussion_r461415836

I think a bulk test should be added like https://github.com/lazyledger/smt/blob/optimised_compute/bulk_test.go for building the tree and testing proofs. This can pick-up unexpected edge cases, otherwise only the base cases are tested.

Thanks for the feedback. Good point, will add in something like this 👍

I actually want to add in some more changes (besides adding "bulk" tests) before merging:

[ ] hide away/remove the Hasher abstraction and only let the user choose a base hasher (and a namespace size in bytes)
[ ] introduce/extract an interface namespace.Data that abstracts away how the internal bytes are laid out (currently just bytes prefixed with the namespace ID)
[ ] on that interface rename Bytes() to MarshalBinary  (maybe embedding this: https://golang.org/pkg/encoding/#BinaryMarshaler)


Docs: Add guide on managing dependencies in turborepo

Describe the feature you'd like to request
Hello, I know in some monorepos people are installing packages on the root package.json so they only have one place to specify required packages.
In other repos people are doing it not consistently like some packages are in root package.json and some in workspaces eg. mantine.
And others only install devDependencies in the root package.json eg. material ui
I know that you recommend to install everything in workspaces, but are there any things that should be "hoisted" to the root package like eg. devDeps, do you have any recommendations on that?
Describe the solution you'd like
You could provide some docs so people won't make mistakes about managing deps and willl have a clear vision how to do it from the start, something similar to the nx one but maybe more monorepo beginner friendly? 😄
Describe alternatives you've considered
https://nx.dev/concepts/integrated-vs-package-based

Thank you for adding this, I've linked this issue through a discussion board as well. Hopefully gains some traction with the turborepo team.

@anricoj1 do you have a link to that discussion?

Would love to see this as well

I know that you recommend to install everything in workspaces

Where is that discussed?
I've grown increasingly convinced over the past year that the TypeScript monorepos should move towards installing everything at the root of the monorepo. This is also what Nx recommends, at least for brand-new monorepos:

This strategy has a lot of elegance to it, as it makes working in the repo ultra-simple and rips out a ton of the crappy complexity that we had before:

You only have one node_modules directory, and it's at the root of the monorepo. The mental model here is super clean.

You you don't use the "workspaces" feature of the package manager whatsoever.  It's very annoying to have to remember to put in workspace-related command-line flags whenever e.g. adding a new dep. This brings parity between "normal" single-project repos and monorepos.

You don't have to worry about making somewhat-arbitrary distinctions between "ESLint-like" deps that should apply to the entire mono-repo, and "library-like" deps that should only apply to specific packages. Everything just goes into the root as a normal dep or a dev dep (in the same way that a normal/single repo does it).

Updating dependencies becomes ultra simple - you don't need some over-engineered monorepo tool to do it! You can just run conventional tools like npm-check-updates, and then after updating a single "package.json" file, you can simply run npm/yarn/pnpm install.

And checking for breaking changes after a new dep update also becomes easy. After updating, we can trigger a commit, and TypeScript will take over and let you know in CI in any of the new API changes broke one of your existing packages. Then we can revert the commit if needed, or continue to go on and make another commit to fix to the individual broken packages (or coordinate with those teams, if necessary).

In some monorepos, some packages are published to npm, so they need their own individual "package.json" files. Nx offers the option to automatically create package.json files, but sometimes you will want more control over them, and will choose to manually manage them yourself. (Does Turborepo have an analogous feature?) If you do manually manage "package.json" files, then you need an additional tool to propagate version changes downward from the root "package.json". With that said, even in this situation, I think it is preferable to use simple tools like syncpack to do this, rather than complicated tools like e.g. lerna. (syncpack is essentially just a glorified copy-paster, so even in this situation, we are still maintaining the simple mental model of how dependencies work.)

@Zamiell:

I've grown increasingly convinced over the past year that the TypeScript monorepos should move towards installing everything at the root of the monorepo. This is also what Nx recommends, at least for brand-new monorepos:

This is what I've been doing, for most of your reasons, but the approach seems to prevent me from testing and debugging within VSCode. See the discussion I opened.
Unless someone can tell me how to get this working, I'll be migrating me repo to package-level-only installations.

I agree with @Zamiell's point about preferring root-level dependencies. Here's why.
I installed my first Turborepo monorepo by following this wonderful tutorial, which initializes everything with npx create-turbo@latest, rips out the default apps, and then installs a new app via yarn create next-app.
Unfortunately, this left me with react, react-dom, and their typings at different versions between apps/myapp and packages/ui, causing compilation errors. It cost me some time to troubleshoot. I thought it much wiser to have the packages use single root-level versions of these dependencies than to try to manually keep the versions in sync between packages. I moved all my packages to the root.
I have not yet explored the downside of trying to publish packages under this approach.

While this root-level dependency approach works for fresh turborepo projects I think we need documentation around combining already existing projects into a turborepo mono repo.  This kind of scenario would contain projects with different versions of dependencies, so the approach of defining dependencies at the root level  doesn't work.

I've been experimenting with running and debugging tests in VSCode using root-level dependencies and am finding it a pain to get working. When I do get things working, I'm not happy with how it works. VSCode fundamentally requires a package-level node_modules, and symbolically linking to the root node_modules doesn't work for all package configurations.
So now I'm thinking that if you want to be able to run and debug tests from within VSCode, you should keep package dependencies within each package and only put dev dependencies at the root.
I'm now looking for ways to synchronize package versions. The syncpack tool should work with Turborepo, but I'm not sure I want to be dealing with this extra chore. On the other hand, Rush and Bit both automatically keep versions consistent.

I now have testing/debugging working from within VSCode despite putting all dependencies in the root.
I solved the problem by changing the VSCode extension I was using to run Jest tests. The vscode-jest extension does not require a local node_modules, while the vscode-jest-runner extension does.
However, both still require that you set up a a VSCode project.code-workspace file and open VSCode in workspaces mode.
So I think I'm going back to recommending installing all dependencies at the root level.

@patoncrispy Apologies for the late response but I've tracked down the discussion board I was referencing.
However, there hasn't been a response on it and the last message was from me on September 23, 2022 linking users to this thread.

any updates here?

any updates here?

Yes. I've spent months researching this issue, gaining experience, collecting notes, and writing a four-part article on managing dependencies in Turborepo and Nx, which I'll be publishing shortly. Follow me or JavaScript in Plain English to see the article when it finally comes out. I enumerate special considerations for React, Svelte, Vue, Jest, and VSCode.
There is only one right way to manage dependencies in Turborepo. I have come to understand that it was my reading about Nx that caused my confusion with Turborepo, as Nx is more flexible with dependency strategies. And you'll want to do so with pnpm to reduce issues (my article explains this too).
If you want Turborepo to rebuild (or perform some other task) whenever a dependency changes, you MUST isolate that dependency as a package within the monorepo and add a dependency on that package to package.json. If you rely on root-level dependencies, you will have to manually force a rebuild without the cache for any change, which is especially not advised if you're working on a team and need everyone to rebuild for the change.
So if you have a common tsconfig, jest config, eslint config, tailwind config, etc., and if you want any changes to those configurations to induce a rebuild (or retest, etc.), you'll need to make each of these configurations its own package and configure your projects to use these package configurations rather than strictly local configurations. (My article explains every detail of how to do this with the popular tools.)
The Turborepo example monorepos do exactly this for most tools, so you can degit or model these examples to create your own monorepos.
Also, with just minor additions to a Turborepo monorepo, the monorepo will also work with Nx (though the reverse isn't generally true). My article also covers this.

Hey everyone, I just finished my series on monorepos with Turborepo, also covering Nx for the case where they can both run on the same monorepo. Please let me know of any issues you find.
Sharing TypeScript with Turborepo and Nx

Hi @jtlapp, Can you please help with the turborepo issue I have?
I have several apps in monorepo and these are using different react versions.
These apps are coming from different repos, so using different versions make more sense.
But when I run npm install, dependencies are installed in both root and workspace directories, and makes some test scripts fail because of version incompatibilities.
I would like to install dependencies in only workspace directory for each app. Do you know how to achieve this?

RoyalDevGit

Hi @jtlapp, Can you please help with the turborepo issue I have? I have several apps in monorepo and these are using different react versions. These apps are coming from different repos, so using different versions make more sense. But when I run npm install, dependencies are installed in both root and workspace directories, and makes some test scripts fail because of version incompatibilities. I would like to install dependencies in only workspace directory for each app. Do you know how to achieve this?

I think this is off-topic for this thread, and I'm not sure I can help, but feel free to email me at<EMAIL_ADDRESS>to have this conversation.

FYI for those following along with this issue: I've got a new version of the documentation currently underway on the docs-new branch, including the guide being requested: https://github.com/vercel/turbo/blob/docs-new/docs/content/repo-docs/crafting-your-repository/managing-dependencies.mdx

I am getting the same issue in #4019. How are you guys able to solve it?

This guide is now live at https://turbo.build/repo/docs/crafting-your-repository/managing-dependencies.


Error accountsTemplates

After added :
useraccounts:core
useraccounts:semantic-ui
I have got this error : AccountsTemplates: You must add at least one account service!
Do you have any solutions to fix the problem ?
Thank you

meteor add accounts-password


Fail Audit-CI on high level and above only

JIRA

https://jira.jahia.org/browse/TECH-210
Description

Right now Audit CI is flagging moderate vulnerabilities and stopping build. I think had a discussion with @bpapez before that we should be ok setting this at least to "high" level instead.

On a side note, it should not stop the build if audit-ci is failing (although some of our older workflows were indeed configured to do so),

On a side note, it should not stop the build if audit-ci is failing

This one was on personal-api-tokens https://app.circleci.com/pipelines/github/Jahia/personal-api-tokens/879/workflows/1c45abcc-26ff-4e28-bcdd-bea79ea67c10 Could be using an old flow but good to know


how output can be verified?

When I run for example:
python pipeline.py
it shows lots of log messages and then stops at some point. There is no message informing about success/failure of the run and no new files are created. How can I check if run was successful?

Currently print statements after completion for all examples are different and provide different kinds of information. These should be consistent.

RADICAL_ENMD_VERBOSE=REPORT is now added to the docs. This prints Pattern execution successfully finished on success or Execution Interruptedon failure for all the patterns.


Unable To Connect To BigTable - com.google.api.client.http.HttpResponseException: 502 cannotconnect

I am not able to connect to GCP BigTable instance using HBASE Client ./quickstart.sh, seeing below error :
Dec 02, 2019 9:33:45 AM com.google.auth.oauth2.ComputeEngineCredentials runningOnComputeEngine
WARNING: Failed to detect whether we are running on Google Compute Engine.
com.google.api.client.http.HttpResponseException: 502 cannotconnect
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
  Message.TemplateName: cannotconnect
  Message.Language:
-->
<html>
<!-- head -->
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
  <title>McAfee Web Gateway - Notification - </title>
  <script src="/mwg-internal/de5fs23hu73ds/files/javascript/sw.js" type="text/javascript" ></script>
  <link rel="stylesheet" type="text/css" href="/mwg-internal/de5fs23hu73ds/files/HomeDepot/stylesheet.css" />
</head>
<!-- /head -->

I believe you are trying to run quickstart project.
Are you trying to run this example on your local machine or compute engine?  If compute engine then Have you enabled both the Cloud Bigtable API and the Cloud Bigtable Admin API for your compute engine instance?


duktape: Add pkgconfig file

Motivation for this change
Due to how the upstream is set up, it's easier to just add the pkgconfig downstream like what other distros have done (Debian, Alpine, OpenSUSE).
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 126818 at 2ba327bf run on x86_64-linux 1

4 packages built successfully:

duktape
edbrowse
gerbera
openrct2

4 suggestions:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/development/interpreters/duktape/default.nix:25:3:
   |
25 |   installPhase = ''
   |   ^

warning: stale-substitute
Stale substituteInPlace detected.
substituteStream(): WARNING: pattern 'g++' doesn't match anything in file 'Makefile.sharedlibrary'
Near pkgs/development/interpreters/duktape/default.nix:36:0:
   |
36 |     description = "An embeddable Javascript engine, with a focus on portability and compact footprint";
   | ^

warning: missing-phase-hooks
buildPhase should probably contain runHook preBuild and runHook postBuild.
Near pkgs/development/interpreters/duktape/default.nix:21:3:
   |
21 |   buildPhase = ''
   |   ^

warning: stale-substitute
Stale substituteInPlace detected.
substituteStream(): WARNING: pattern 'g++' doesn't match anything in file 'Makefile.cmdline'
Near pkgs/development/interpreters/duktape/default.nix:36:0:
   |
36 |     description = "An embeddable Javascript engine, with a focus on portability and compact footprint";
   | ^

really wish this could get upstreamed, but the diff lgtm


Access to typeDescriptor within FieldInfo and MethodInfo

Can you provide accessor functions for FieldInfo.typeDescriptor and MethodInfo.typeDescriptor please? I am trying to write simple comparators for both of these classes, and typeDescriptor is clearly a key field. I definitely don't need all of the repeated "cooking" of the value that all of the existing accessors would provide.
Failing that, maybe FieldInfo and MethodInfo could just implement Comparable, like ClassInfo already does?

Done -- funny thing though, I added getTypeDescriptor() just a few days ago, then I removed it again because I thought, "Nobody will ever need this" :-)
Please test the above checkin... in particular, please let me know if you think I should add the class name to the comparison too. (In java.lang.reflect at least, Field and Method are tied to a specific class, so maybe I should replicate those semantics here.)

I added code to use class name for the equals(), compareTo() and hashCode() methods.
I think this is all fixed and implemented as of the latest commit, so I'll close this, but please let me know if it doesn't do what you need. I'll be pushing out a new version with these changes. Thanks for the report!

Released in 2.7.0.


Segmentation fault

What type of installation are you running?
Desktop
Which Linux OS are you using?
Arch Linux
Which version of LNXLink has the issue?
2024.2.2
The problem
It cannot start. Even with debug log I cannot see why. The log is attached below.
Logs
[gaming@gamingtv ~]$ lnxlink -c lnxlink.yaml -l DEBUG
INFO:lnxlink:LNXlink 2024.2.2, Python 3.11.8
INFO:lnxlink:Loaded addons: required_restart, update, shutdown, idle, bash, suspend, restart, camera_used, wifi, disk_usage, systemd, notify, network, microphone_used, gpu, cpu, keep_alive, display_env, audio_select, temperature, sys_updates, xdg_open, memory, screen_onoff
INFO:lnxlink:No systemd settings found on configuration.
INFO:lnxlink:MQTT connection: Success
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.github.com:443
DEBUG:urllib3.connectionpool:https://api.github.com:443 "GET /repos/bkbilly/lnxlink/releases/latest HTTP/1.1" 200 892
Segmentation fault (core dumped)

I think I've encountered this issue before and it had to do with the idle module.
You could try installing xprintidle package or try adding the idle to the exclude modules list on your lnxlink.yaml config.

I found the issue on the idle module.
It's using the dbus_idle package which I've updated it, so I would recommend updating this to version 2024.3.0.
This should be done automatically on the next release of LNXlink.

Thank you, it was the idle module. However, upgrading version to 2024.3.0 and installing xprintidle did not fix the issue.

This is still not fixed in 2024.3.0

You should try the new version of LNXlink 2024.4.0.

This seems to be inactive so I am closing it.
The fix was introduced with the new version of dbus_idle.


Remove the use of moment

Does it make sense to use an alternative date lib? https://medium.com/swlh/best-moment-js-alternatives-5dfa6861a1eb


Fixes #1434 Try to launch PyLint crashes my PTVS

Fixes #1434 Try to launch PyLint crashes my PTVS
Makes failure to open output/error windows a silent failure, as there is nothing we can do at that stage to fix it.

👍


add iot tool

This tool can made llm model to control the iot machine,that can used by smart home and other scene

#63

I think we should optimize this tool.

prompt should be English
We should provide more generic prompt template for developers.

I think so.


Cypress e2e Custom Resource Creation

https://issues.redhat.com/browse/RHOAIENG-14368
Description
Migrate ODS-697 to Cypress
How Has This Been Tested?

An oc login should be performed in the cluster before running the test
test-variables.yml should be configured properly
Export the path to the test-variables.yml: $ export CY_TEST_CONFIG=<path_to>/test-variables.yml

Test Impact

None - this is a test

Test Impact
After exporting the test-variables.yml we have 2 different ways:
Using the UI
Go to odh-dashboard/frontend/src/tests/cypress and run the command npx cypress open . This will open the Cypress UI where testCustomResourceCreation.cy.ts can be run.

Locally, against a live RHOAI and ODH-Nightly Cluster.

Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work

/lgtm


The meaning of ui.DoEvents differs between GLFW version and JavaScript version

https://github.com/hajimehoshi/ebiten/commit/3588d0b48593981589761c30958911dc6988223c Fixed


Add a random delay of 2 - 7 seconds between downloads

This closes #51 but the performance drops a lot. Maybe a lower base delay would be possible?

Maybe a lower base delay would be possible?
I think the best option will be to add a command line argument for DELAY_BASE_MILLIS and another one for the random range. This way, on some website with no rate limit the performance will not drop

I never even considered making it a command line argument but you are right, it's a good idea!
Though I'm thinking it may be more user friendly to make the user put seconds instead of milliseconds. That way it would be clearer what is needed (milliseconds of delay would probably still get you banned) and the user has to type less.
What do you think?

What do you think?

I think it's a good idea, especially if the usual delay is between 2 and 7 seconds

What do you think?

Yes good idea :+1:

Alright, I added two command line arguments low and high
I also added some default values for both and a check in case low > higher

Alright, I added two command line arguments low and high

We could see low as a base delay and high as the upper bound of a random delay (0 to high). This imply that --low would be rename as --delay (no short as -d is use for the depth) and --high as --random-range. It makes more sense to me.

Ah I forgot to update the test. I guess it would be a good idea to also add tests for various amounts of low/high? Or 0 and 0 would be enough?

This kind of behavior is hard to unit test. Maybe add a functional test ? 2 tests, one for 0 0 and one for more than 0 0 should be enough

I'm not sure if I understand --random-range correctly. Would you do something like --delay 2 --random-range 10 and that would add a delay from 2 - 10 seconds?

I'm not sure if I understand --random-range correctly. Would you do something like --delay 2 --random-range 10 and that would add a delay from 2 - 10 seconds?

More like 2 + rand(0, 10)

Oops, I shouldn't blindly accept things haha

Oops, I shouldn't blindly accept things haha

You just need to change the variable names everywhere, no big deal

Nice work :rocket:


Customize how a field is sorted

Hi, is there a way to customize how a field is sorted? I'm having troubles sorting IPs in a database. For example, these IPs are being sorted like this:
 <IP_ADDRESS>
 <IP_ADDRESS>
 <IP_ADDRESS>

And should be sorted this way:
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>

Is there is no way to customize it, how can I achieve that?

+1


eni: fix new node not immediately triggers the creation of Eni before instances api  sync

Update the instance network interface information when a new node is created.
This is fix errors return by ResyncInterfacesAndIPs "Instance not found! Please delete
corresponding ciliumnode if instance has already been deleted" when new node
created in cloud provider then add to cluster and before resync triggered.
Fixes: #20678
Signed-off-by: xiaoqing<EMAIL_ADDRESS>Please ensure your pull request adheres to the following guidelines:

[x] For first time contributors, read Submitting a pull request
[x] All code is covered by unit and/or runtime tests where feasible.
[x] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[x] All commits are signed off. See the section Developer’s Certificate of Origin
[x] Provide a title or release-note blurb suitable for the release notes.
[x] Thanks for contributing!

Eliminate a delay between new node creation and creation of ENIs

Thanks for the PR. Unfortunately I don't fully understand the problem this PR is trying to address: The Instance not found! Please delete corresponding ciliumnode if instance has already been deleted error "fixed" here is temporary, right? Eventually it will fix itself when a resync happens and this PR "only" tries to shorten that timeframe.
Unfortunately I find this solution very hard to follow. Would it be possible to force the resync to create missing instance in InstancesManager.CreateNode instead? That way we always know that any existing node has an instance behind it?

Thanks for the PR. Unfortunately I don't fully understand the problem this PR is trying to address: The Instance not found! Please delete corresponding ciliumnode if instance has already been deleted error "fixed" here is temporary, right? Eventually it will fix itself when a resync happens and this PR "only" tries to shorten that timeframe.

yes, that fix if new node created in cloud provider then add to cluster and before resync triggered.
It not fixed  Instance not found! Please delete corresponding ciliumnode if instance has already been deleted error because instance and subnet do not match Filter rules.

Unfortunately I find this solution very hard to follow. Would it be possible to force the resync to create missing instance in InstancesManager.CreateNode instead? That way we always know that any existing node has an instance behind it?

Put updateInstance in InstancesManager.CreateNode better than node.UpdatedResource, I will change to do this. But it also need to check instance whether exist in instances. such as old instance in aws ec2 list, but not in cluster that aleady in InstancesManager.instances, so it add to cluster, no need to resync instances.

I re-implementation check instance exist in CreateNode

@gandro  done

/test

Thanks for the fix! Could you update the commit msg to be more descriptive on what the fix is doing and why?

The failed ci test  like Flake  that need retest. @christarazi

/test

Marking ready to merge because we have approving reviews and CI has passed already.


[stable/orangehrm] Add ingress rules

Signed-off-by: Javier J. Salmeron Garcia<EMAIL_ADDRESS>
What this PR does / why we need it:
This PR adds OrangeHRM support
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/ok-to-test
/lgtm


Fix precompiled headers in combination with globbing

Previously (at least on Windows), one was unable to combine the use of
precompiled headers and globbing. This commit fixes two issues in that
regard:

Improve the accuracy of the check for "is the precompiled header
source file included in the list of sources".

Fix the check in generic_cpp_setup which determines whether this is THE
precompiled header source file, and if so, applies the special parameters
to it.

Also, added an example to the "pch" example, which demonstrates combining
precompiled headers with globbing. This is more of a test than an example,
and I'm in two minds about whether it's best to leave it in or remove it.

Thanks, good improvement!


alldistances vs. distancematrix?

Refactor the storage of the spaghetti.Network.alldistances and spaghetti.Network.distancematrix attributes. These currently are redundant and can be combined into one attribute.
see: here and here

If a distance matrix is desired, keep method for exporting it. Something like:
def export_distance_matrix(self):
    nvtx = len(self.alldistances)
    matrix = numpy.empty((nvtx, nvtx))
    for idx, data in self.alldistances.items():
        matrix[idx,:] = data[0]
    return matrix

Decided to ditch the alldistances attribute and keep the distancematrix attribute (renamed distance_matrix) + store the trees/paths in a new attribute: network_trees.

#370


Allow single dash as a value

Fix #574
Avoid using triple quote in a single dash """-""" to be parsed as a value.

@gsscoder
@ericnewton76
Please, update the key of nuget for one year to enable publishing nuget package v2.9.1.
Two build failed, 2.9.0-preview2 and 2.9.0, with error message:

Error publishing package. NuGet server returned 403: The specified API key is invalid, has expired, or does not have permission to access the specified package


Move everything related to implementing uPortal locally into uPortal-cli (this repo)

One of the big themes for uPortal 5 is "reduced learning curve/greater ease of adoption."  One way in which we hope to make improvements in this area is by separating the core/internal uPortal source code from the resources you will want to edit or add to as an adopter of uPortal.
As it stands (in uPortal 4.3.x), every ounce of uPortal technology is in a single, ~5000 file Git repository.
We can do better.
For uPortal 5, the plan is to split the (large amounts of) core/internal uPortal source code from the (relatively few) items a typical adopter will want to adjust.  This plan will allow the community of uPortal developers to publish (within Maven Central) binary releases of uPortal that are actually used by the adopters of uPortal in their deployments.  (That is not the way it works currently;  the only way to deploy uPortal is to build it -- all of it -- yourself.)
NOTE:  You will be able to -- of course -- build & use a custom distribution of the core/internal uPortal technology if you choose to do so;  there will be some who do.  Even then, your deployments will be remarkably quicker & simpler.
So we plan to split what is core/internal from what is local/custom.  The core/internal elements will remain in the (current) uPortal Git repository.  And BTW... these elements now have a 100% Gradle-based build!  (For those keeping score, that means 0% Ant and 0% Maven -- just 1 build tool!)
We plan to put the (relatively small number of) local/custom elements into a new repo.  A "typical" adopter should only ever need to clone this repo, since the core/internal elements will come from Maven Central.
The responsibilities of this component include...

A place to put & manage your local configuration settings
A place to put & manage your local skin(s)
A place to put & manage your local data
A collection of administrative, shell-based tools (e.g. data-import, md5passwd) for managing deployments
The capability to produce deployable/runable build artifacts that include your customizations
The capability to deploy these artifacts to local Tomcat (for as long as this capability remains relevant)

Done.


refactor(backend): Refactor authenticateRequest params to not accept all 4 keys

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[x] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[x] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[x] @clerk/backend
[x] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore

Description

[x] npm test runs as expected.
[x] npm run build runs as expected.

Refactor all packages passing all four keys to authenticateRequest. Now one of the two pairs is permitted.

!snapshot

Hey @anagstef - the snapshot version command generated the following package versions:

Package
Version

@clerk/backend
0.23.7-snapshot.ff9370c

@clerk/chrome-extension
0.3.19-snapshot.ff9370c

@clerk/clerk-js
4.51.0

eslint-config-custom
0.3.0

@clerk/clerk-expo
0.18.10-snapshot.ff9370c

@clerk/fastify
0.5.6-snapshot.ff9370c

gatsby-plugin-clerk
4.3.19-snapshot.ff9370c

@clerk/localizations
1.22.0

@clerk/nextjs
4.21.13-snapshot.ff9370c

@clerk/clerk-react
4.21.1-snapshot.ff9370c

@clerk/remix
2.6.16-snapshot.ff9370c

@clerk/clerk-sdk-node
4.10.14-snapshot.ff9370c

@clerk/shared
0.19.1

@clerk/themes
1.7.5

@clerk/types
3.46.1

Tip: use the snippet copy button below to quickly install the required packages.
# @clerk/backend
npm i<EMAIL_ADDRESS>
# @clerk/chrome-extension
npm i<EMAIL_ADDRESS>
# @clerk/clerk-js
npm i<EMAIL_ADDRESS>
# eslint-config-custom
npm i<EMAIL_ADDRESS>
# @clerk/clerk-expo
npm i<EMAIL_ADDRESS>
# @clerk/fastify
npm i<EMAIL_ADDRESS>
# gatsby-plugin-clerk
npm i<EMAIL_ADDRESS>
# @clerk/localizations
npm i<EMAIL_ADDRESS>
# @clerk/nextjs
npm i<EMAIL_ADDRESS>
# @clerk/clerk-react
npm i<EMAIL_ADDRESS>
# @clerk/remix
npm i<EMAIL_ADDRESS>
# @clerk/clerk-sdk-node
npm i<EMAIL_ADDRESS>
# @clerk/shared
npm i<EMAIL_ADDRESS>
# @clerk/themes
npm i<EMAIL_ADDRESS>
# @clerk/types
npm i<EMAIL_ADDRESS>

!snapshot

Hey @anagstef - the snapshot version command generated the following package versions:

Package
Version

@clerk/backend
0.23.7-snapshot.a252412

@clerk/chrome-extension
0.3.19-snapshot.a252412

@clerk/clerk-js
4.51.0

eslint-config-custom
0.3.0

@clerk/clerk-expo
0.18.10-snapshot.a252412

@clerk/fastify
0.5.6-snapshot.a252412

gatsby-plugin-clerk
4.3.19-snapshot.a252412

@clerk/localizations
1.22.0

@clerk/nextjs
4.21.13-snapshot.a252412

@clerk/clerk-react
4.21.1-snapshot.a252412

@clerk/remix
2.6.16-snapshot.a252412

@clerk/clerk-sdk-node
4.10.14-snapshot.a252412

@clerk/shared
0.19.1

@clerk/themes
1.7.5

@clerk/types
3.46.1

Tip: use the snippet copy button below to quickly install the required packages.
# @clerk/backend
npm i<EMAIL_ADDRESS>
# @clerk/chrome-extension
npm i<EMAIL_ADDRESS>
# @clerk/clerk-js
npm i<EMAIL_ADDRESS>
# eslint-config-custom
npm i<EMAIL_ADDRESS>
# @clerk/clerk-expo
npm i<EMAIL_ADDRESS>
# @clerk/fastify
npm i<EMAIL_ADDRESS>
# gatsby-plugin-clerk
npm i<EMAIL_ADDRESS>
# @clerk/localizations
npm i<EMAIL_ADDRESS>
# @clerk/nextjs
npm i<EMAIL_ADDRESS>
# @clerk/clerk-react
npm i<EMAIL_ADDRESS>
# @clerk/remix
npm i<EMAIL_ADDRESS>
# @clerk/clerk-sdk-node
npm i<EMAIL_ADDRESS>
# @clerk/shared
npm i<EMAIL_ADDRESS>
# @clerk/themes
npm i<EMAIL_ADDRESS>
# @clerk/types
npm i<EMAIL_ADDRESS>

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Remove node_modules from examples/templates

Description
The node_modules for the template zkApp was being included in the build for our npm package. This makes our unpacked size 206 MB at the moment! https://www.npmjs.com/package/zkapp-cli/v/0.3.7
After running the tests in CI, we delete the node_modules manually

Nice catch!


Update Composer dependencies (2022-05-09-00-10)

Visual regression test passed!
View the visual regression test report


PP-6153 Add ErrorIdentifier field to Errors object

Adds an ErrorIdentifier field to the Errors object, allowing for
extra descriptive information to be returned if needed.

Adds a test to ensure this functionality is as expected.

Note this is already consumed by https://github.com/alphagov/pay-selfservice/pull/1884


Halt the container if the docker daemon dies

If the docker daemon is in a restart loop, or dead, the runner is no good to us so kill the container.
Change-type: minor

Superseded by https://github.com/product-os/self-hosted-runners/pull/80


fix: do not crash in wrangler dev if user has multiple accounts

When a user has multiple accounts we show a prompt to allow the user to select which they should use.
This was broken in wrangler dev as we were trying to start a new ink.js app (to show the prompt)
from inside a running ink.js app (the UI for wrangler dev).
This fix refactors the ChooseAccount component so that it can be used directly within another component.
Fixes #1258

OK - here goes!


Fix on save?

The docs say that this extension supports fixing a file on save, but doesn't explain how to do that.
I also noticed a commit message saying the onSave command was removed. Is the feature no longer available? Kind of a bummer if that's the case...

Any change anyone has a hint on this?

Nothing yet...?


Rust: derive Clone and Debug on Webhook struct

Motivation

Since the Webhook struct is quite simple, there is no reason not to have Clone implemented on it
My use case for Clone was to use Webhook as a Data in poem: https://docs.rs/poem/latest/poem/struct.Request.html#method.set_data

Solution

derive Clone on Webhook
Also derive Debug because why not?

Actually, I see one reason for not implementing Debug. The struct stores the webhook secret key in a Vec. So the debug representation would expose this key when printed.

Yeah, debug will expose that, and also clone means we'll be copying this value in memory a lot.
We can probably:

Debug: Implement a custom debug implementation that doesn't print the key.
Clone: implement Arc or something internally so that the clone doesn't close key material.

Happy to review such a PR if you think that would be helpful for you.

Alright, that makes sense. I will open a separate PR if Clone is really needed. For now, I simply wrapped Webhook in an Arc to make it Clone. Arc<Webhook> works with Poem's Data.
Thank you for the response!

With pleasure, and yeah, that feels like a better solution!


Add link to generated documentation for source file anim/insights_operator_pull_only.go

Add link to generated documentation for source file anim/insights_operator_pull_only.go

Fixed in https://github.com/RedHatInsights/insights-results-aggregator-utils/pull/209


Tests aren't cleaning up nock scope correctly

Noticed while testing https://github.com/node-nock/nock/pull/704:

On that PR's branch, check out be1533746bc728bf3f136aaf9924aa10e7031bf5.
Run ./node_modules/.bin/tap --harmony -R spec ./tests/test_intercept.js. It'll fail on query() will not match when the path has no query.
Comment out the tests above it, lines 28-4844, and run the test again – now it passes.
Un-comment the tests, add nock.cleanAll(); on line 4847, and run it again – it still passes.

This suggests to me that something is leaking across the tests.
I'm not familiar with the tap library, but I don't see any beforeEach or afterEach mechanism in its docs.

@benbuckman I'm not familiar with the tap library either (I have only used its perl sibling some time ago and wasn't much impressed).
I'm thinking of switching to mocha/jasmine as they are more popular within the JS ecosystem.

:+1: I vote for Mocha with Chai. I think Jasmine is kind of outdated.

I think I'm having the same scope leakage using mocha.
I have several test scripts using supertest.
There is a require"(nock") is each - except one.
I have one test script which was I didn't mock the requests thinking they would make a real request. I have no require("nock") in this. What seems to be happening is that nock seems to use an interceptor and because there is no match for the request, all the tests in that file will fail.
Here is a fragment of the error trace:
./node_modules/.bin/mocha foo/bar/test.js
  at self.callback (node_modules/request/request.js:187:22)
  at Request.onRequestError (node_modules/request/request.js:813:8)
  at node_modules/nock/lib/request_overrider.js:206:11

It might be something in the way I'm using nock which is incorrect. In that script I noticed that even when using nock, it would not make the usual complaint that "no nock match found for request".

@imran-uk are you using nock.cleanAll() inafterEach as teardown?

@vrinek I was not but I've added them now. It seems to have improved things a bit but I still don't see the "no nock match error" as expected. Sorry to be vague.

@imran-uk it are you using nock.disableNetConnect() in your setup and nock.enableNetConnect()?

Nope.
On 23 Oct 2016 2:41 p.m., "Kostas"<EMAIL_ADDRESS>wrote:

@imran-uk https://github.com/imran-uk it are you using
nock.disableNetConnect() in your setup and nock.enableNetConnect()?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/node-nock/nock/issues/705#issuecomment-255589253, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAhHQsFalnc8uY56vx4ZES507xA7LgeBks5q22QOgaJpZM4KKWeq
.

Try adding nock.disableNetConnect() in your setup and nock.enableNetConnect() in your teardown of nock-stubbed tests. When net connect is disabled, nock complains for every non-matched request. I think that's what you want.

Mocha chai has more mindshare in the javascript ecosystem. You might also want to take a look at https://github.com/avajs/ava

@kingchad I briefly looked at ava before. I'm a little worried about concurrent tests and global scope.
For starters, I want to rewrite nock's test suite to a more comforting library (which afaik, for js is mocha+chai). Afterwards, we may start experimenting with more "risky" ventures to gain advantage of their features.

I've tried numerous different setup and teardown strategies and cannot get multiple tests to run properly with nock (running mocha and supertest). For instance:
  beforeEach(()=>{
    nock.disableNetConnect();
    nock.enableNetConnect(/^(127\.0\.0\.1|localhost)/);
  });
  afterEach(()=>{
    nock.cleanAll();
    nock.restore();
  });
  it('works on the first run', async ()=>{
   const scopes  = nock.scope('./scopes1.json');
   await doSomething();
   expect(scopes.every(scope=>scope.isDone()); // true
  });
  it('does not work on the second run', async ()=>{
   const scopes  = nock.scope('./scopes1.json');
   await doSomething();
   expect(scopes.every(scope=>scope.isDone()); // false
  });

I also had the same issue @Arbolista.
I could work around this by separating the tests into different describe test cases.
Make sure to modify the name of the test in the describe function.

Hi! We try to reserve issues for bug reports and feature requests. If you have a usage question please post in our gitter (https://gitter.im/node-nock/nock). Thanks!

I also faced with this issue. I clean up all mocks with
  afterEach((done) => {
    Nock.cleanAll()
    Nock.restore()
    done()
  })

and in every test I mock the same endpoint.
Test 1 respond with 500
Test 2 respond with 200
but now I always get 500 because Nock.pendingMocks() still contains two entrys :(
nock: 9.0.13
NodeJs 8

I observed the same issue as above when mocking different response from the same endpoint in two tests.

This is adapted from the setup code I use in icedfrisby-nock, for what it's worth:
let nockScope

it(function () {
  nockScope = nock(...)

  ...
})

afterEach(function () {
  nockScope.done()
})

afterEach(function () {
  nock.cleanAll()
  nock.enableNetConnect();
})

@sebarys I wonder – is that the same sequencing issue I described in #870?


dropdown_widget: Migrate _widget classes to  -widget classes.

Fixes:#27658.
In this  PR  I have migrated  all dropdown classes   along with jquery target classes to  use  -widget   instead of  _widget .This  change was done as part of migrating  {{widget_name}}_widget  to {widget_name}}-widget
in  dropdown_widget.hbs
As noted here https://github.com/zulip/zulip/pull/27552#discussion_r1389732810

@amanagr   ready for review !

You should use templates: rather than hbs: for template refactoring commits.

@timabbott   updated  the  commit  messages  please review it.

This does not seem to be written in a way where individual commits work; can you talk about how you expect this to be reviewed?
How did you audit for whether you've updated every call point correctly?

 I  have made the commits in the following order.

Commit 1) dropdown_widget: Replace _widget with -widget.
 This commit changes all the template files(.hbs) used by dropdown_widget.
https://github.com/zulip/zulip/pull/28581/commits/708c7d70cac0987b15cca2c05720042d916f2bbf
Before Changes:

After Changes (no files found in the search):

Commit 2) css: Replace _widget with -widget.
 This commit changes all styles (.css) files used by dropdown_widget.
https://github.com/zulip/zulip/pull/28581/commits/67ddce1d546a16b9f0e63920926e28af5e89aa9e
Before Changes:

After Changes (no files found in the search):

Commit 3)dropdown_widget: Replace jquery target classes from _widget to -widget.
 This commit changes all jquery  code (.js) files used by dropdown_widget.
https://github.com/zulip/zulip/pull/28581/commits/b2518e09214fc01421d34a641b298322c30fb08a
Before Changes:

After Changes (no files found in the search):

Commit 4)tests: Replace _widget class with -widget.
 This commit changes all tests files that evaluate dropdown_widget.
https://github.com/zulip/zulip/pull/28581/commits/c93166f861f7a09a54e9b9296c6fada9544ac437
Before Changes:

After Changes (no files found in the search):

OK but doesn't this mean each individual commit is broken / fails tests?
A possible answer for the this particular PR is to just squash the changes and move on, after some convincing evidence this has been tested carefully by hand.

I have updated the PR  with 1 functional commit that changes  _widget to -widget
across the board as  making single commit for each change is not possible in case of this PR because it breaks the functionality.
Convincing evidence  to verify whether all the call points are changed or not
Used  git grep "#\S*_widget\b" command
# matches with  ID as we are changing the ID of a button and  label applied on that button in the dropdown_widget.
\S* matches with any character with  multiple occurrence  without  space.
_widget\b matches with string ending with  _widget
Before changes when searched across the codebase

After changes when searched across the codebase

 Before  for  web/templates/

 After  for  web/templates/

 Before  for  web/styles/

 After  for  web/styles/ (marked files where changed)

 Before  for  web/src/

 After  for  web/src/

 Before  for  web/e2e-tests/

 After  for  web/e2e-tests/

@timabbott  if you  confirm that  the above commit is mergeable  I will  add another 2 commits
1)#compose_select_recipient-widget
2)#select_stream-widget
Changing  both of these in individual commits  across the codebase  as these two class  cause mixing of underscores and dashes.

@vighneshbhat9945 I think you can have two commits here - one which fixes the all the widgets using dropdown_widget.hbs and one for cases using dropdown_widget_with_label. Each commit should include all required changes in JS, CSS, etc. files.

Closing as this doesn't include a lot of changes.


Schemas and subfolders!

Schemas are an extension of metadata, a (now always enabled) feature to make it easier for your table to differentiate between types, and also allow subfolders!

Very complex, need to look into a way to find metadata about a struct through serde directly

Too complex for this crate, maybe one day i will feature gate it


documentation update for next release (0.2.1 or  0.3.0 or 1.0.0)

For the upcoming release we need docs for

#14 , the applied changes in #22
#20  and #21
and better docu for #11 , so this issue can be seen as done (for now)

Note: In #22 I forgot to mention that every change to the parameter documentation in Main.scala should also be made to the cli-usage docs, because the docs resemble a copy of what the --help command outputs. So we should not forget to also document the new default values there.

Note: In #22 I forgot to mention that every change to the parameter documentation in Main.scala should also be made to the cli-usage docs, because the docs resemble a copy of what the --help command outputs. So we should not forget to also document the new default values there.

I think this has also be sovled in various docu update , like #22 and/or #28 , therefore I think this issue can be closed


[ja] Translate content/en/docs/reference/glossary/dockershim.md into Japanese

Note that this issue is for Japanese Speaker
This is a Feature Request
What would you like to be added
Translate content/en/docs/reference/glossary/dockershim.md into Japanese
Why is this needed
There is no Japanese translation for this page
Comments

File to translate:

https://github.com/kubernetes/website/blob/main/content/en/docs/reference/glossary/dockershim.md

Original:

https://kubernetes.io/ja/docs/reference/glossary/?all=true#term-dockershim

日本語に翻訳する際は、以下のドキュメントを参考にしてください。

Japanese Localization document: https://kubernetes.io/ja/docs/contribute/localization/

/area localization
/language ja
/good-first-issue

/triage accepted

/assign


I have added $post variable

I think it's better to add a $post variable when creating a post. please accept my PR

@umeshmadushan No need to create a variable when creating a post. So I closing this PR.


improve project setup

Fix https://github.com/argaen/aiocache/issues/329

Codecov Report

Merging #337 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #337   +/-   ##
======================================
  Coverage    99.2%   99.2%
======================================
  Files          11      11
  Lines         884     884
  Branches       93      93
======================================
  Hits          877     877
  Misses          7       7

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 3e1278f...bcded68. Read the comment docs.

Thanks!
I'm keeping #329 open because I want to move dev dependencies into setup too.

@argaen setuptools have a section to define development/tests dependencies? 🤔

It has for test dependencies but my intention is to use extras_require as Flask does: https://github.com/pallets/flask/blob/master/setup.py#L79.


“nothreads” argument explanation

I've been fiddling for a bit with the fuse package with python3.
When trying to create a FUSE instance, I came across the nothreads argument.
Can anyone please elaborate on what this does?
I can guess that setting this flag to True the software no longer supports multithreading, but what I would like to know is how it changes the software's behaviour, what would the flow be with and without setting it to True?
Thanks

This is something that can be enabled with -s given to fuse_main in libfuse. It is a switch for this code location, i.e., either fuse_loop_mt or fuse_loop is started. Both of these are in their specific source files. fuse_loop) starts a pretty simple event loop such as this:
while ( !fuse_session_exited() ) {
    fuse_session_receive_buf();
    fuse_session_process_buf();
}

This high-level API uses libfuse low-level API calls for its implementation. It is an event loop that receives FUSE messages as documented here from the kernel via some communication file descriptor, which can be queried with fuse_chan_fd (I was only able to find online documentation for this for OpenBSD, not Linux) called from libfuse/lib/fuse_kern_chan.c,  and then forwards them to the callback interface, i.e., calls one of the specified callbacks such as getattr or readdir. All from a single main thread.
The multi-threaded version fuse_loop_mt looks like this:
fuse_start_cleanup_thread();

/* fuse_session_loop_mt */
fuse_loop_start_thread();  // basically starts thread that runs fuse_do_work
while ( !fuse_session_exited() ) {
    /* wait */
/* Cancel and destroy threads. */
for (w = mt.main.next; w != &mt.main; w = w->next)
    pthread_cancel(w->thread_id);
while (mt.main.next != &mt.main)
    fuse_join_worker(&mt, mt.main.next);

fuse_stop_cleanup_thread();

So yeah, there seems to be:

a main thread, which only waits for the worker threads to finish
the worker threads, which run fuse_do_work and which can dynamically start more worker threads running the same fuse_do_work
a cleanup thread that runs fuse_prune_nodes in a loop delimited by a sleep with a duration as returned by fuse_clean_cache.

The worker threads have an event loop like this:
while ( !fuse_session_exited() ) {
    pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
    res = fuse_session_receive_buf(mt->se, &fbuf, &ch);
    pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL);

    /* Start more worker threads on demand. */
    if (mt->numavail == 0)
        fuse_loop_start_thread(mt);

    fuse_session_process_buf();

    /* Delete worker on demand. */
    if (mt->numavail > 10) {
        list_del_worker(w);
        mt->numavail--;
        mt->numworker--;
    }
}

So yeah, it is the basic loop that we already saw in the single-threaded fuse_loop, but it can dynamically start and stop more worker threads that run the same event loop. I'm not entirely sure how the serialization / locking works for reading from that FUSE kernel communication file descriptor, but, in the end, multiple threads read FUSE messages and call the programmer/user-given callbacks such as getattr and readdir in parallel from multiple threads. This means that each user-given callback must be thread-safe, but it also means that they can do some costly processing stuff in parallel, for example querying a read-only SQLite database for filesystem metadata for 16 files that are received via getattr call for different file paths from 16 different threads.
Note that fusepy automatically adds -s to force single-threaded code. Probably because multi-threading will not have any out-of-the-box performance benefits in Python anyway because of the global interpreter lock (GIL).


Make notification components less hostile to screen-readers

The issue which the html_attributes attribute tries to solve is when we
reuse the notification component as something other than a notification,
e.g. for an 'empty' box (such as 'You have no saved jobs'), or for an
info box (such as 'You can unsubscribe in such and such a way'), we don't
want to give it the html role of 'alert' or the tabindex of '-1' which
cause screen-readers to get to the non-notification before anything else
and mess with the tab-order.
This can be refactored in the very near future but I wanted to get this
piece of accessibility in first so that it can be retained when the
refactoring happens - but maybe doing things in the other order
(refactor then accessibilize) is better?

Review app deployed to https://teaching-vacancies-review-pr-2928.london.cloudapps.digital


[ANSIENG-3416]|Amazon Linux

Description
Jira Link: https://confluentinc.atlassian.net/browse/ANSIENG-3416
Made changes for initial onboarding of amazon Linux operating system.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Run ansible-playbook all.yml with a simple inventory file on ec2 instances to check if amazon linux was working fine and made changes accordingly.
Checklist:

[ ] Any variable/code changes have been validated to be backwards compatible (doesn't break upgrade)
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If required, I have ensured the changes can be discovered by cp-ansible discovery codebase
[ ] My code follows the style guidelines of this project
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] Any dependent changes have been merged and published in downstream modules

How have we tested amazon linux? I don't see any molecule changes

We have done ec2 based testing using minimal inventory file. After checking with molecule, more changes will be made.

Changes merged via another PR


Add a widget for helper configuration

Following up on #1027, letting the user provide its own configuration for the internal search configuration using searchParmaters can be confusing because it relies on the internal structure of the helper state which is poorly documented.
But the helper and the state are objects that can be used for this configuration much more easily. It is also much more straightforward as it doesn't require knowledge of the structure but on using methods.
We could easily provide a widget that let the user access either the state or the helper. I think that using the state would be better as it contains more fine grained methods and also some that are not directly accessible on the helper, such as setFacets / setDisjunctiveFacets. It is also documented.
The API could look like :
search.addWidget(instantsearch.widgets.configurator(function (state) {
  return state.setFacets(state.facets.concat('myOtherFacet'))
              .addFacetRefinement('myOtherFacet', 'a value');
}))

What do you think? @redox @vvo @pixelastic

Definitely make sense to create something dedicated to so that 👍
If we go for a widget, I think we need to continue to iterate on the configurator naming.
That being said, I'm not a big fan of exposing the state API, it's one more API to understand to dig into instantsearch.js; I would keep manipulating the helper.
One other option could be to pass the configurator to the start function :)
search.start(function configurator(helper) {
  helper.addFacetRefinement('myOtherFacet', 'a value');
  helper.addDisjunctiveFacetRefinement(/* ... */);
});

Wouldn't that be easier to understand?

Agreed that it's easier to manipulate the helper than the underlying structure. Not sure I would have used a widget for that, seems to far from what a widget should do.
Not sure about passing it to the start method either. This looks like a quick win but adds one more place where users can configure the default behavior. I would stay with an instanciation option, something like helperConfiguration.

Configurator is the best I could find so far :P Any other suggestion?
Do instantsearch users already use the helper? If not then exposing the SearchParameters makes no difference in terms of API learning, doesn't it? I'm ok to change the helper, but this kind of API raises other questions like is it a change if you add facet?
I don't think yet adding yet another option makes things easier. The widget is trivial, and doesn't raise new questions in the reader/learner mind and it doesn't clutter the core.

I would stay with an instanciation option, something like helperConfiguration

I don't  understanding how this is different from @redox suggestion?

I did a draft PR ^

Do instantsearch users already use the helper? If not then exposing the SearchParameters makes no difference in terms of API learning, doesn't it? I'm ok to change the helper, but this kind of API raises other questions like is it a change if you add facet?

The helper is what they need to use while building custom widgets; so for sure they are (and will more and more) use it.

Also the Helper API is much powerful that what I would like to expose in this context. You can add event listeners and trigger the search...

Good point, but I don't think it's a big deal.

I don't think yet adding yet another option makes things easier. The widget is trivial, and doesn't raise new questions in the reader/learner mind and it doesn't clutter the core.

The "widget" is trivial, but not the underlying state (nothing complex, just everything is new).

I would stay with an instanciation option, something like helperConfiguration

I think @pixelastic is just proposing something declared as an instantiation option to help having every "initial setup" dong at the very same place. I'm fine with that. Maybe we could name that option init or something meanings "put here a function to configure the underlying helper" because helperConfiguration looks more like an object rather than a function.

:+1: on advocating to use the helper.methods. The SearchParameters is not official as a user facing API.
What we want to do here is already doable by using searchFunction parameter, but I agree this is not straightforward.
Creating a custom widget or adding a new option, we will still need to add a FAQ entry containing "Setting default parameter at launch".
What about having configureHelper callback in instantsearch option? I was first fine with a new widget but feel like this would look weird because it's really only configuring the helper, not adding anything to the DOM nor configuring the url bar.

I have the feeling that the configureHelper function as a callback option in the instanciation feels hardcoded whereas a widget feels modular. Everything that can be done as a widget should.
The idea when creating the SearchParameters object was not to hide it to the users (and it is official API). But it sure fails to be on par with the helper interface which makes a poor choice for now.

I would rather keep the widgets for everything that is DOM/UI related. That's what we always push when we explain the library.
I would follow the same path as what we did with the urlSync. For the end-user it is just a new option to pass to the main instanciation object, even if internally we can handle it as a widget. Let's keep the user-facing API simple, and let's re-use the internal mechanism we are already used to. Best of both worlds.
And yes, we should definitely expose the helper more and not the state. We'll have to work on revamping the helper doc on the side as well

This can be revisited, since we use Configure for react-instantsearch. There we decided on a widget/component, even though it's not DOM.
As @alexandremeunier noticed when using Configure, it isn't immediately obvious why you need a component for that, and not do it on the InstantSearch component. I think we decided on a component to keep a clear distinction between algolia/helper params and things used in instantsearch.

We have two proposals: make a widget, add a configuration option (either in instantsearch(options) or start(setState)).
The widget approach pros:

separate the logic into a separated element
does not add to the current API

The configuration option pros:

Much better control over the lifecycle
Close to the searchParameters approach
Make sense if it's a one time configuration at the beginning

The widget approach would be close to react-instantsearch, but the two libraries are quite different: instantsearch.js offers a static configuration whereas react-instantsearch is dynamic. Also react-instantsearch does not offer any access to the helper. That's why it's a requirement for react-instantsearch and not so for instantantsearch.js.

Closing this one for now. The tools are available if need be.


pscale: 0.162.0 -> 0.172.0

Description of changes
https://github.com/planetscale/cli/releases/tag/v0.172.0
https://github.com/planetscale/cli/compare/v0.162.0...v0.172.0

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

1 package built:

pscale


is ignoring objects counter-intuitive or sensible?

@dcnb @owikle I think 6b8f3102e1531c5cdd1ef31d332ebd1a7904bd63 should be reverted? This isn't GH, and the idea is larger collections where the objects are hosted somewhere else. The object dir has been set up sort of like a temp work space to use with the rake task (i.e. in practice I usually do the rake processing, test things locally using the base urls generated in the "object_list.csv" with the local copies, then move the objects to a web hosting location and update the metadata urls with the appropriate prefix). In general, you shouldn't be putting a big collection of binary files onto github--which new users don't necessarily get. The docs try to explain the workflow using the rake task and moving the files--but it would be easy to accidentally commit all the files you were just testing with.
So I think objects/ should stay (i.e. go back to) ignored

@evanwill I can be convinced, and you've got me some of the way, but I'd like to talk it out a bit in sprint tomorrow. I feel like this is somewhat an issue between modeling "correct" behavior vs. not standing in the way of the user. I've built big collections with objects ignored and I've also unignored it with decent size collections. I changed it after working on the new cdil site last week because I was frustrated that all the image/rake work I did did not follow me home. Let's talk about this tomorrow tho and then decide if we want to revert it. Thanks for bringing it up.

At the very least if we revert, there should be a big alert on the docs for CSV objects. Right now, there's nothing that would indicate that these objects are going to be ignored.


Don't try to strip llc (it was removed in 5ae9322)

Looks like this passed CI because we only test build and not package as part of CI.


Monitor: Tags with metadata

Add tags to monitors, with optional metadata for each tag.
In the create / edit monitor page, the user can add new or select existing tags to apply to the current monitor. Any changes is stored as draft data in the tagsManager component, and will only be committed when the user click Save in the parent component. This made the code a bit more complicated, but I think the results are worth it.
Implementation
Since the Add tag -> Add monitor_tag operation is order dependent, I wrapped the socket.io call in a Promise to be able to await it. I find this pattern way more usable then the default simple callback.
With a simple UX being top priority, I think there should be no need for a separate UI for managing tags. Instead, every time a deleteMonitorTag is triggered, it will remove any tags which is unused. So there is currently no way to change the color or name of an existing tag. Let me know if you think this should be added.
Similarly, although the DB supports any hex color for the tag, the user can only select a predefined set of colors for now, since putting in a color picker is more complicated, and if we allow any arbitrary color, we may need to change the tag font-color depending on the brightness of the selected background, which I don't know how except maybe a css filter.
I also realized I made a mistake before by putting multiselect styling in the editMonitor component. At this point maybe it should be split into a separate file instead. But I think we can merge this first and refactor later.

light
dark

light
dark

Edit Monitor:

light
dark

[x] [Database] Create tags table and monitor_tags table
[x] [Backend] Handle CRUD of tags
[x] [Backend] Handle assign, update and remove of tags
[x] [Frontend] Monitor Details: display tags
[x] [Frontend] Monitor Edit: display selected tags, form to add existing or new tags, remove selected tags
[x] [Frontend] Monitor List: display tags

Optional:

[x] [Frontend] Monitor List: input to filter by tags

@louislam Core functionality should be done now, feel free to review or make any styling changes.
For the filter, I'm thinking if it should be a universal  field which works for both the monitor name and tags, or just a dropdown where user can select tags. Seems like a input field is better, but I'll need to think about the implementation.

Looks great! I really like that feature!
Should keep in mind to update the database version number and file name when it gets merged into the master branch.
Maybe also give the user the option on mobile to hide the tags in the monitor list.

Just tested, really a nice feature!
Not sure whether it is hard or not. If a selected tag could be added without clicking the "add" button, it would be a little better.

So there is currently no way to change the color or name of an existing tag. Let me know if you think this should be added.

That is ok, nothing can be perfect in the first place.

If a selected tag could be added without clicking the "add" button,

@louislam But then there is no way for the user to enter the optional value?

If a selected tag could be added without clicking the "add" button,

@louislam But then there is no way for the user to enter the optional value?

Oh, I though "value" belongs to the tag.

The value is stored in the monitor_tag relations table, so theoretically the user can add duplicate tags with different values.

Do you agree if I change this part into a dialog?
As I personally just use the tag without value, I thought the dropdown list is similar to the http status codes list and forget to click "Add".
Split this part into a dialog, I think users would not miss it, as the users need to click "Add" or "X" either.

Sure! That sounds like a good idea. I thought of implementing it with the taggable multi-select, unfortunately I can't think of a way to include the logic of choosing colors and adding value.

Found two issues:
1.mp4: Remove a same tag by x, all tags with same tag name but different values also be removed.
2.mp4: Not quite sure how I triggered it, but sometimes, it cannot be add a if I removed previously.
Testing version: https://github.com/chakflying/uptime-kuma/commit/64d67223fc0dbd3181760ff1560f496ccf824d33
https://user-images.githubusercontent.com/1336778/132703678-bc51f9e6-6e7e-459d-8d8e-48168006cb99.mp4
https://user-images.githubusercontent.com/1336778/132703690-81bea801-08c4-4c95-a3bb-4d2497ab175e.mp4

First problem should be fixed. Apparently boolean logic is hard, and !a and !b != !(a and b). 🙄

First problem should be fixed. Apparently boolean logic is hard, and !a and !b != !(a and b). 🙄

Lol, of course, !(a && b) after substitution is !a || !b

Found more issues:

Some warnings in Chrome console
3.mp4: Cannot add another tag with same name but different value (e.g. added DNS, want to also add DNS:TypeA)
4.mp4: After reload the edit page, I can add DNS:TypeA now. Save, and then remove this tag. Save again, the save button is broken.

https://user-images.githubusercontent.com/1336778/132807975-90d8c4b9-0238-45b8-aef3-328420156ad8.mp4
https://user-images.githubusercontent.com/1336778/132807981-bb1f93f0-fcd3-4fb3-a80f-757e79ae50a1.mp4

FYI I don't like to "merge from master to {feature branch}" since it adds an unnecessary commit and makes the final tree more complicated. I regularly rebased the feature branch onto master instead.

FYI I don't like to "merge from master to {feature branch}" since it adds an unnecessary commit and makes the final tree more complicated. I regularly rebased the feature branch onto master instead.

Sorry about that.
And I find that this feature is bigger than I thought. I may need more time to test it. And as previously mentioned, I want to put a part into a dialog, so it would be delayed to 1.7.0.
Free feel to mention me again when it is ready to test again. Thanks for contributing.👍

@louislam previous problems should be fixed. Rebased on master, split adding tags to a modal, added special handling for re-adding a removed tag & reusing the same tag before saving. Sorry for the trouble!

rebased on master to resolve conflicts.

It is much more stable now!
Just found a small issue. The form is submitted unexpectedly while pressing enter here:

Since the modal is still technically in the same form as the EditMonitor, I don't know how to block the browser default submit behaviour (@submit.stop doesn't seem to work). Instead I just added a function to block the enter key if the add tag form is invalid.


Some questions about loss funtion?

Thanks for sharing codes. I would ask :
the code in models.py  line189:
def _loss(self):
    # Weight decay loss
    for i in range(len(self.layers)):
        for var in self.layers[i].vars.values():
            self.loss += FLAGS.weight_decay * tf.nn.l2_loss(var)

    # Cross entropy error
    self.loss += mask_mse_loss(self.outputs, tf.nn.l2_normalize(self.placeholders['labels'], dim=1),
                               self.placeholders['labels_mask'])

self.placeholders['labels']
I thought that it should calculate loss using weights (or features of images).  Here it uses labels?  why?
Thanks for answers!  Really thank you!

Hey!
Thanks for reaching out.  'label' refers to the weight of each class -- not features of images nor one-hot vector.
(It's been a while so please ping me if I'm wrong)
Thanks.


[Lumen 5.2.6] Can't run migrations after the latest update

I'm using lumen framework with pgsql. I am running migrations with the using
php artisan migrate --path=vendor/package/migrations

They were running fine until I updated today my packages, and even I do a rollback I get the following error:

lumen.ERROR: exception 'PDOException' with message 'SQLSTATE[42P07]: Duplicate table: 7 ERROR:  relation "db_migrations" already exists' in /var/www/vendor/illuminate/database/Connection.php:408

migrate runs without any issues after deleting the db_migrations table. However still have to delete the db_migrations in order to run it :(

When you run artisan migrate laravel checks for the presence of the migrations table, if not present then it attempts to create it, just today an update to Illuminate\Database was released, it fixes an issue with how laravel checks for table existence in postgres.
Before the update the check for table existence was done using the following query:
select * from information_schema.tables where table_name = ?

So it checks if the table exists, and would return true even if the table existed in a schema other than the one you are currently using. After the fix the query becomes:
select * from information_schema.tables where table_schema = ? and table_name = ?

It's using the schema name as in conifg/database.php for pgsql, by default the schema is set to public.
I assume that the table was created before on a different schema, and it was found only because it exists anyway, but now after the fix it'll look only into the schema you're connected to.

Hmm, I can't find the table in any other schema.
select * from information_schema.tables where table_name = 'db_migrations'

Returns one row only.

Make sure the returned table exists in the schema configured in your config file.

I don't have any schema configured... was supposed to use the default one right?

yes it should be default

I just noticed you're talking about Lumen not laravel, I'm not sure how it's configured in Lumen.

Right, setting 'schema'    => 'public' in config/database.php solved the issue. I assume the schema is set to NULL in Lumen for some reason.

I think Lumen by default points to the public schema, https://github.com/laravel/lumen-framework/blob/5.2/config/database.php#L83

@adrian7 still can't figure it out?

Thanks, but this doesn't look like a bug in the laravel core. Feel free to keep discussing though.

Thanks, @GrahamCampbell. I'll try to reproduce the issue on a fresh install.


Incompatible with Angular Universal

Please assist.
macOS 10.14.5
STEPS TO RECREATE:
npm install -g @angular/cli
npm install -g typescript

ng new my-angular-project
cd my-angular-project
ng add @clr/angular
ng add @nguniversal/express-engine --clientProject my-angular-project

package.json contents:
{
  "name": "my-angular-project",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "compile:server": "webpack --config webpack.server.config.js --progress --colors",
    "serve:ssr": "node dist/server",
    "build:ssr": "npm run build:client-and-server-bundles && npm run compile:server",
    "build:client-and-server-bundles": "ng build --prod && ng run my-angular-project:server:production"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "~8.0.1",
    "@angular/common": "~8.0.1",
    "@angular/compiler": "~8.0.1",
    "@angular/core": "~8.0.1",
    "@angular/forms": "~8.0.1",
    "@angular/platform-browser": "~8.0.1",
    "@angular/platform-browser-dynamic": "~8.0.1",
    "@angular/platform-server": "~8.0.1",
    "@angular/router": "~8.0.1",
    "@clr/angular": "^2.0.1",
    "@clr/icons": "2.0.1",
    "@clr/ui": "2.0.1",
    "@nguniversal/express-engine": "^7.0.2",
    "@nguniversal/module-map-ngfactory-loader": "v7.0.2",
    "@webcomponents/custom-elements": "^1.0.0",
    "express": "^4.15.2",
    "rxjs": "~6.4.0",
    "tslib": "^1.9.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.800.0",
    "@angular/cli": "~8.0.3",
    "@angular/compiler-cli": "~8.0.1",
    "@angular/language-service": "~8.0.1",
    "@types/node": "~8.9.4",
    "@types/jasmine": "~3.3.8",
    "@types/jasminewd2": "~2.0.3",
    "codelyzer": "^5.0.0",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "protractor": "~5.4.0",
    "ts-loader": "^5.2.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.15.0",
    "typescript": "~3.4.3",
    "webpack-cli": "^3.1.0"
  }
}

Begin local rendering of Angular Universal (per angular.io):
npm run build:ssr && npm run serve:ssr
RESULT:
/Users/AwesomeClarityFan/Projects/my-angular-project/dist/server.js:156617
        Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__metadata"])("design:paramtypes", [KeyboardEvent]),
                                                                                ^

ReferenceError: KeyboardEvent is not defined
    at /Users/AwesomeClarityFan/Projects/my-angular-project/dist/server.js:156617:88
    at Module.<anonymous> (/User/AwesomeClarityFan/Projects/my-angular-project/dist/server.js:156628:2)
    at __webpack_require__ (/Users/AwesomeClarityFan/Projects/my-angular-project/dist/server.js:20:30)
    at Object.@clr/angular (/Users/AwesomeClarityFan/Projects/my-angular-project/dist/server.js:140071:18)
    at __webpack_require__ (/Users/AwesomeClarityFan/Projects/my-angular-project/dist/server.js:137858:30)
    at<EMAIL_ADDRESS>(/Users/AwesomeClarityFan/Projects/my-angular-project/dist/server.js:138363:70)
    at __webpack_require__ (/Users/AwesomeClarityFan/Projects/my-angular-project/dist/server.js:137858:30)
    at Module../src/app/app.server.module.ngfactory.js (/Users/AwesomeClarityFan/Projects/my-angular-project/dist/server.js:139824:105)
    at __webpack_require__ (/Users/AwesomeClarityFan/Projects/my-angular-project/dist/server.js:137858:30)
    at Module../src/main.server.ts (/Users/AwesomeClarityFan/Projects/my-angular-project/dist/server.js:139921:90)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>serve:ssr: `node dist/server`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>serve:ssr script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/AwesomeClarityFan/.npm/_logs/2019-06-21T02_13_22_915Z-debug.log

Complete log pasted:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'run',
1 verbose cli   'serve:ssr' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'preserve:ssr', 'serve:ssr', 'postserve:ssr' ]
5 info lifecycle my-angular-project@0.0.0~preserve:ssr<EMAIL_ADDRESS>6 info lifecycle my-angular-project@0.0.0~serve:ssr<EMAIL_ADDRESS>7 verbose lifecycle my-angular-project@0.0.0~serve:ssr: unsafe-perm in lifecycle true
8 verbose lifecycle my-angular-project@0.0.0~serve:ssr: PATH: [ ... snip ... ]
9 verbose lifecycle my-angular-project@0.0.0~serve:ssr: CWD: /Users/AwesomeClarityFan/Projects/my-angular-project
10 silly lifecycle my-angular-project@0.0.0~serve:ssr: Args: [ '-c', 'node dist/server' ]
11 silly lifecycle my-angular-project@0.0.0~serve:ssr: Returned: code: 1  signal: null
12 info lifecycle my-angular-project@0.0.0~serve:ssr: Failed to exec serve:ssr script
13 verbose stack Error<EMAIL_ADDRESS>serve:ssr: `node dist/server`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
13 verbose stack     at EventEmitter.emit (events.js:197:13)
13 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:197:13)
13 verbose stack     at maybeClose (internal/child_process.js:988:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5)
14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd /Users/AwesomeClarityFan/Projects/my-angular-project
16 verbose Darwin 18.6.0
17 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "serve:ssr"
18 verbose node v11.12.0
19 verbose npm  v6.7.0
20 error code ELIFECYCLE
21 error errno 1
22 error<EMAIL_ADDRESS>serve:ssr: `node dist/server`
22 error Exit status 1
23 error Failed at the<EMAIL_ADDRESS>serve:ssr script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

This looks like a known issue related to typing @HostListener events. I'm not sure why we didn't have this issue before upgrading to Angular8 and will need to investigate more. In the mean time, I created a demo workaround project seems to work with a modified server.ts. The relevant changes for server.ts are shown here. https://github.com/hippee-lee/3940-v8-ssr/blob/master/server.ts#L29

I'm adding the bug label to this for now. One fix would be to remove the event type and replace it with any. I'd rather not unless we absolutely have to.
Current Form(broken)
  @HostListener('keydown', ['$event'])
  onKeyDown(event: KeyboardEvent) {
    /* event handler code */
  }

potential (but undesirable) fix
  @HostListener('keydown', ['$event'])
  onKeyDown(event: any) {
    /* event handler code */
  }

Thanks. After implementing that change to server.ts I can confirm that Angular Universal runs without build errors.

Closing this as resolved. If a similar issue appears let's open a new issue with an updated example.


asn1: syntax error: PrintableString contains invalid character

What version of Go are you using (go version)?

$ go version
go version go1.14.2 darwin/amd64

Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (go env)?

$ go env
mac

What did you do?

try to parse a CA file:

block, _ := pem.Decode(certBits)
ca, _ := x509.ParseCertificate(block.Bytes)

What did you expect to see?
success
What did you see instead?
asn1: syntax error: PrintableString contains invalid character
this ca has special character, like "_" "@"
but encoding.asn1.isPrintable() not support .
current code:

// isPrintable reports whether the given b is in the ASN.1 PrintableString set.
// If asterisk is allowAsterisk then '*' is also allowed, reflecting existing
// practice. If ampersand is allowAmpersand then '&' is allowed as well.
func isPrintable(b byte, asterisk asteriskFlag, ampersand ampersandFlag) bool {
	return 'a' <= b && b <= 'z' ||
		'A' <= b && b <= 'Z' ||
		'0' <= b && b <= '9' ||
		'\'' <= b && b <= ')' ||
		'+' <= b && b <= '/' ||
		b == ' ' ||
		b == ':' ||
		b == '=' ||
		b == '?' ||
		// This is technically not allowed in a PrintableString.
		// However, x509 certificates with wildcard strings don't
		// always use the correct string type so we permit it.
		(bool(asterisk) && b == '*') ||
		// This is not technically allowed either. However, not
		// only is it relatively common, but there are also a
		// handful of CA certificates that contain it. At least
		// one of which will not expire until 2027.
		(bool(ampersand) && b == '&')
}

find old issue


Crash when trying to run imagenet example with -backend fbcunn

/home/ubuntu/torch-distro/install/bin/luajit: ...ubuntu/torch-distro/install/share/lua/5.1/trepl/init.lua:319: ...ubuntu/torch-distro/install/share/lua/5.1/trepl/init.lua:319: module 'fb.util.dbg' not found:No LuaRocks module found for fb.util.dbg
	no field package.preload['fb.util.dbg']
...
stack traceback:
	[C]: in function 'error'
	...ubuntu/torch-distro/install/share/lua/5.1/trepl/init.lua:319: in function 'require'
	...buntu/fbcunn/examples/imagenet/models/alexnet_fbcunn.lua:1: in main chunk
	[C]: in function 'dofile'
	/home/ubuntu/fbcunn/examples/imagenet/model.lua:23: in main chunk

Any ideas?

i dont know if you installed fbcunn properly. You seem to be missing fblualib.
Please follow instructions from here:
https://github.com/facebook/fbcunn/blob/master/INSTALL.md

I did a re-install with curl -sk https://raw.githubusercontent.com/soumith/fblualib/master/install_all.sh | bash
And the install did seem to work but now another crash:
...
nClasses: 	2
nTest: 	101
ERROR: something wrong with flag 'mlock_chunk_size' in file 'MemoryMapping.cpp'.  One possibility: file 'MemoryMapping.cpp' is being linked both statically and dynamically into this executable

I'm testing on an Amazon G2, at first I did follow the INSTALL.md but there were some issues, so I used this public image: ami-a0e4b1c8 that has everything setup, except fbnn and nn.
The imagenet example does seems to be working for training and validation when using cudnn and cunn backends with cudnn considerably faster than cunn as expected.

fbcunn backend for convolution layers might not work with Amazon G2 instances, because the instances have CUDA 3.0 capable cards, where as fbcunn backend requires CUDA 3.5 capable cards.
The only parts of fbcunn that are good to use in the G2 instances are the lua containers like nn.DataParallel and nn.ModelParallel.

The right thing to do is check the compute capability at runtime using cudaGetDeviceProperties and generate an error message if the minimum capability is not met. That way there is no confusion as to the cause of the error.

Thanks for the info guys.


Add-student-portal-all-programs

This pull request updates the student portal by adding a new page called "All Programs". The page displays a list of all available programs that students can enroll in. The page includes a header and a description, as well as a list of programs with their names, descriptions, duration terms, and tuition fees. The programs are fetched from a JSON file and rendered dynamically. The page also includes a button to register for a program, which will be implemented in a future update.
Added:

student-portal-all-programs/[email] page
student-portal-my-programs/[email] page
LoadUserProgrms function
AllPrograms component
UserPrograms component

Todo:

add data for userProgrmas.data.json
add onclick events for register program and drop program
add onClick link to MyClasses when page is made
finish LoadUserPrograms action/function when userPrograms data is added

Here's some of my changes


Staging for version increment automation

Description
This is the staging PR for to execute workflows that auto raise the version increment PR's
Example: https://github.com/prudhvigodithi/dashboards-reports/pull/3
Issues Resolved
Part of: https://github.com/opensearch-project/opensearch-build/issues/1375
From solution: https://github.com/opensearch-project/opensearch-build/issues/1375#issuecomment-1159476686
Related issue: https://github.com/opensearch-project/dashboards-reports/issues/385
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Referred old version increment PR.
https://github.com/opensearch-project/dashboards-reports/pull/371/files

Codecov Report

Merging #391 (ab9b90e) into main (47bbb32) will increase coverage by 2.58%.
The diff coverage is n/a.

:exclamation: Current head ab9b90e differs from pull request most recent head 46f3bfd. Consider uploading reports for the commit 46f3bfd to get more accurate results

@@             Coverage Diff              @@
##               main     #391      +/-   ##
============================================
+ Coverage     74.27%   76.85%   +2.58%
============================================
  Files            94       30      -64
  Lines          3984     1923    -2061
  Branches        641      412     -229
============================================
- Hits           2959     1478    -1481
+ Misses          891      442     -449
+ Partials        134        3     -131

Flag
Coverage Δ

dashboards-reports
76.85% <ø> (ø)

reports-scheduler
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...rtsscheduler/model/InContextReportCreateRequest.kt

...h/reportsscheduler/action/ReportInstanceActions.kt

...tsscheduler/action/CreateReportDefinitionAction.kt

...tsscheduler/action/DeleteReportDefinitionAction.kt

...ortsscheduler/model/GetReportDefinitionResponse.kt

...sscheduler/action/GetAllReportDefinitionsAction.kt

...heduler/model/UpdateReportInstanceStatusRequest.kt

...earch/reportsscheduler/metrics/RollingCounter.java

...tsscheduler/model/GetAllReportInstancesResponse.kt

...nsearch/reportsscheduler/model/ReportDefinition.kt

... and 54 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 47bbb32...46f3bfd. Read the comment docs.

Renaming to task updateVersion following https://github.com/opensearch-project/opensearch-plugin-template-java/pull/32.

Hey @anirudha @joshuali925, if we are ok, can we merge this PR.
Thank you

LGTM. questions:

since this is mostly regex matching, any reason to use a gradle task instead of more generic solutions (python/shell scripts)? Some repos are not java/gradle projects
When is this task triggered?

Thanks

Hey @joshuali925 gradle is better as the solution would be generic across for all repos, a script would be not as generic and would need to be configured one per plugin and soon will be hard to manage, this gradle task updateVersion will be called using workflow from build repo.
Solution details: https://github.com/opensearch-project/opensearch-build/issues/1375#issuecomment-1159476686


scripts: tests: blackbox noclearout mark warning removal

Currently, the noclearout pytest mark generates warnings because it is not registered.
This commit adds its registration in the relevant conftest.

Example of the warning: https://github.com/zephyrproject-rtos/zephyr/actions/runs/7528396524/job/20490517911?pr=66563#step:9:42


[HOU] Update repositories links in the NuGet packages metadata.

Some of our NuGet packages have outdated repository links (GlebChili/GmodDotNet). We must update them to GmodNET/GmodDotNet.

Resolved by b220e16f41e4767cb5ecbb289c9d7a90de0ac448


alwaysInjectSelector & neverInjectSelector are not indenting correctly in istio-sidecar-injector configmap

Bug description
Version: 1.5.1
alwaysInjectSelector & neverInjectSelector are not indented currently in the istio-sidecar-injector config map. istio-sidecar-injector and istiod related pods are crashing every time when we apply new manifest through istioctl. We have to manually patch the config map every time and rollout the istio-sidecar-injector and istiod deployment
[X ] Installation
Steps to reproduce the bug
Create an istio manifest with istioctl and set the sidecarInjectorWebhook accordingly.
Example:
  values:
    sidecarInjectorWebhook:
      neverInjectSelector:
        - matchExpressions:
            - key: test
              operator: DoesNotExist

Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
istioctl: 1.5.1
kubectl: v1.16.2
How was Istio installed?
Manifest generated from istioctl

This was fixed on master but not 1.5: https://github.com/istio/istio/pull/22738
cherrypick: https://github.com/istio/istio/pull/23033

Fixed ^


Unit testing Angular views using translateStaticFilesLoader

Dear all,
I would like to unit test my view which contains translate filters.
The following loads the view and displays the key of my translation, but not its actual real value.
  it('should load the view', inject(function($rootScope, _$templateCache_, _$compile_, $translate, $translateStaticFilesLoader, $httpBackend, $translationCache) {
    $httpBackend.when('GET', 'locale-fr.json').respond({
      "vehicule": "Véhicule"
    });
    $httpBackend.when('GET', 'locale-de.json').respond({
      "vehicule": "Fahrzeug"
    });
    $httpBackend.expectGET('locale-fr.json');
    $translateStaticFilesLoader({
      key: 'fr',
      prefix: 'locale-',
      suffix: '.json'
    });
    $httpBackend.flush();

    var tpl = _$templateCache_.get("/detail.tpl.html");
    var scope = $rootScope.$new();
    var view = _$compile_(angular.element(tpl))(scope);
    scope.$digest();
    console.log(view.find('th'));
  }));

My view contains:
<th>{{ 'vehicule' | translate }}</th>

The expected ouput of the console should be Véhicule but it is vehicule.
Would you have any idea on how to provide my keys to the view?

How does $translate know which languages to take? I'm missing something like $translate.use('fr') or something.

Thank you for your answer, but it does not help or maybe it is only part of the solution.
I get the same result.

Another approach: Did you have a look at our own test suite for maybe a matching example?
https://github.com/angular-translate/angular-translate/tree/master/test

I did search for a matching example using the $translateStaticFilesLoader but none of your examples uses it.

Hm? Isn't https://github.com/angular-translate/angular-translate/blob/920a9febc22f61368153d844f7cbefcfebb6ecec/test/unit/service/loader-static-files.spec.js using it?

It does, thank you and it is the same code I already copied :)
But I am looking for a working example. I am struggling here with my example. Do you see what I am missing in my code above?

@sovattha Well, you can reduce the complexity of this case to the thing want to test: your template. Instead of retesting angular-translate's async loading process, I would recommend

a static set of translations
no XHR mock tooling: no $httpBackend

So, using copy-paste of your code of the op:
describe('', function () {
  beforeEach(module('pascalprecht.translate', function ($translateProvider) {
    $translateProvider.translations('fr', {
      "vehicule": "Véhicule"
    });
    $translateProvider.translations('de', {
      "vehicule": "Fahrzeug"
    });
    $translateProvider.preferredLanguage('fr');
  }));

  it('should load the view', inject(function($rootScope, _$templateCache_, _$compile_, $translate, $translationCache) {
    var tpl = _$templateCache_.get("/detail.tpl.html");
    var scope = $rootScope.$new();
    var view = _$compile_(angular.element(tpl))(scope);
    scope.$digest();
    console.log(view.find('th'));
  }));
});

Thank you knalli, yes in a way, you are right. I try to test too much things in the same test.
I will follow your guideline. Thanks!