SAS token is printed to output when RestError is thrown

Package Name and version<EMAIL_ADDRESS>via<EMAIL_ADDRESS>Operating system: Linux, running in Docker container
[x] nodejs

version: v20.13.1

[ ] browser

name/version:

[ ] typescript

version:

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
SAS token is printed when RestError: This operation is not permitted on a non-empty directory. is thrown.
To Reproduce
I guess you can reproduce this when deleting a non-empty directory on an Azure Blob Storage with hierarchial namespaces enabled.
Expected behavior
Well, at first I thought it was odd that I saw the SAS token printed in the log file. But on the other hand, the SAS token wasn't registered as a secret so the CI/CD provider (GitHub Actions) understandable couldn't filter out the token. Although I still think the Azure libraries shouldn't print the SAS token, but hey: who am I 🤷
I fixed this with this: https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#masking-a-value-in-a-log
But then I had a different error which did redact the SAS token! And that's when I thought I should file this bug. Please see the screenshot and partial log file.
Screenshot & partal log file
This is the error message when the RestError is thrown. This log file was publicly available (I deleted it as soon as I noticed the SAS token).
I randomized the SAS token. For demo purposes it is se=1234-12-12T12%3A12%3A10Z&sp=racwdl&sv=1234-12-12&sr=c&sig=abcdefghijklmopqrstu/1234567890123456789012%3D.
/usr/src/app/node_modules/@azure/core-http/src/policies/deserializationPolicy.ts:274
  const error = new RestError(
                ^

RestError: This operation is not permitted on a non-empty directory.
RequestId:8bbedbe1-b01e-0003-7f55-b66c04000000
Time:2024-06-04T08:01:57.4573157Z
    at handleErrorResponse (/usr/src/app/node_modules/@azure/core-http/src/policies/deserializationPolicy.ts:274:17)
    at <anonymous> (/usr/src/app/node_modules/@azure/core-http/src/policies/deserializationPolicy.ts:179:47)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at StorageRetryPolicy.attemptSendRequest (/usr/src/app/node_modules/@azure/storage-blob/src/policies/StorageRetryPolicy.ts:169:18)
    at StorageClientContext.sendOperationRequest (/usr/src/app/node_modules/@azure/core-http/src/serviceClient.ts:521:23)
    at BlockBlobClient.delete (/usr/src/app/node_modules/@azure/storage-blob/src/Clients.ts:1380:14) {
  code: 'DirectoryIsNotEmpty',
  statusCode: 409,
  request: WebResource {
    streamResponseBody: undefined,
    streamResponseStatusCodes: Set(0) {},
    url: 'https://***/***/my-custom-prefix/www/another-random-path/all-versions?se=1234-12-12T12%3A12%3A10Z&sp=racwdl&sv=1234-12-12&sr=c&sig=abcdefghijklmopqrstu/1234567890123456789012%3D',

This is a screenshot of expected behavior (but with a different error):

Hello, thank you for reporting this issue. I agree that this is not the expected behavior and is concerning -- this should be getting sanitized. Just a couple of follow up questions to help diagnose:

Can you reproduce this with the newest version of @azure/storage-blob, version 12.23.0? It's hot off the press (released yesterday), and depends on our newer @azure/core-rest-pipeline package instead of the older @azure/core-http package. It's possible that this upgrade will help the situation.
How is the error getting logged? Is there anything special there, like a test runner perhaps, that might be causing the error to be logged in a different way to Node's default handling? We are aware of a similar issue when using vitest relating to how it outputs errors: https://github.com/Azure/azure-sdk-for-js/issues/29630

Thanks!


Rebooting an instance fails with Mitogen

Following some of these instructions:
https://www.jeffgeerling.com/blog/2018/reboot-and-wait-reboot-complete-ansible-playbook
I ran into the following, post-reboot.  One of the things to note that this is master and using stackable config (jumphost to ssh) with a simple mitogen_via.
TASK [Reboot server] *********************************************************************************************************************************************************************************************
Sunday 16 September 2018  19:11:02 -0400 (0:00:00.110)       0:00:10.608 ******
changed: [<HOSTNAME>]

TASK [Wait for the reboot to complete.] **************************************************************************************************************************************************************************
Sunday 16 September 2018  19:11:02 -0400 (0:00:00.397)       0:00:11.006 ******
ERROR! [pid 86864] 19:11:08.020708 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible'): no route to child
ERROR! [pid 86864] 19:11:08.022572 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils'): no route to child
ERROR! [pid 86864] 19:11:08.023217 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils._text'): no route to child
ERROR! [pid 86864] 19:11:08.023905 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible'): no route to child
ERROR! [pid 86864] 19:11:08.024471 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils'): no route to child
ERROR! [pid 86864] 19:11:08.024967 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils.basic'): no route to child
ERROR! [pid 86864] 19:11:08.025556 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible'): no route to child
ERROR! [pid 86864] 19:11:08.026097 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils'): no route to child
ERROR! [pid 86864] 19:11:08.030466 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils.parsing'): no route to child
ERROR! [pid 86864] 19:11:08.031423 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible'): no route to child
ERROR! [pid 86864] 19:11:08.032651 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils'): no route to child
ERROR! [pid 86864] 19:11:08.033647 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils.parsing'): no route to child
ERROR! [pid 86864] 19:11:08.034167 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils.parsing.convert_bool'): no route to child
ERROR! [pid 86864] 19:11:08.034578 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible'): no route to child
ERROR! [pid 86864] 19:11:08.034997 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils'): no route to child
ERROR! [pid 86864] 19:11:08.035371 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils.pycompat24'): no route to child
ERROR! [pid 86864] 19:11:08.035779 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible'): no route to child
ERROR! [pid 86864] 19:11:08.036139 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils'): no route to child
ERROR! [pid 86864] 19:11:08.036544 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: ModuleForwarder(Router(Broker(0x7f82c8cca410))): dropping FORWARD_MODULE(1007, u'ansible.module_utils.six'): no route to child
ERROR! [pid 86864] 19:11:08.036892 E mitogen: Router(Broker(0x105d2c630)): bad auth_id: got 0 via mitogen.ssh.Stream('ssh.<MITOGEN_VIA>'), not None: Message(1007, 4008, 0, 101, 1003, b'\x80\x02(X.\x00\x00\x00Mohammeds-MBP-86878-7fff94991380-576052bf4'..1429)
ERROR! [pid 86864] 19:11:08.119630 E mitogen.ctx.ssh.<MITOGEN_VIA>: mitogen: Router(Broker(0x7f82c8cca410)): invalid handle: Message(1005, 0, 0, 1004, 0, '\x80\x02cmitogen.core\n_unpickle_call_error\nq\x00Xc\x00\x00\x00Caller'..152)

Hi Mohammed, thanks for reporting this! Hopefully should have a fix for it shortly.

All the module does is:

Run 'reboot' via _low_level_execute_command()
In a loop,

call Connection.set_option('..timeout..')
Connection.reset() (#369)
Call _low_level_execute_command

So basically this is about implementing .reset() and ensuring errors propagate reliably on exception

Hrm :) The one VM I chose to try this against, it seems the reboot module is not working with vanilla Ansible..
This one looks fun!

There are a bunch of issues here:

Mitogen notices the connection has gone away, but does not mark the Connection object as 'closed'
Mitogen does not support Connection.reset()
OS scheduler prevents Mitogen from reading the reboot command output before SSH is torn down. Same problem effects vanilla. Running with a higher process priority "fixes" it

For what it's worth, I've kinda just worked around it by running that play that involves a reboot without Mitogen.. but that's not always possible

I don't want to tell you to re-test yet, but I /think/ this one is done on master, modulo a bunch of annoying new soft errors that get printed (still WIP).
I'm in the middle of migrating from Mac to PC, and thought it'd be a great idea to shred all my old VMs. So I haven't been able to test this just yet.
In any case, there is possibly a mandatory workaround required for Mitogen: reboot with no delay basically has no guarantee of success upstream, and with Mitogen the problem is worse because the reboot exit status must bounce around 2 more processes / 4 more threads before it makes it off the box, simultaneous to systemd tearing the machine apart. That doesn't seem fixable with the reboot module's current approach -- but I'm not done looking yet :)

Hi Mohammed,
This appears to work now. There are lingering soft errors printed to the console that will be fixed before
the next release, and a pre_reboot_delay is required on systemd machines to ensure exit status has time to be reported (this has been recorded in the release notes), but otherwise, feel free to kick the tires on master and let me know if you have any more problems. :)

This is now on the master branch and will make it into the next release. To be updated when a new release is made, subscribe to https://www.freelists.org/list/mitogen-announce
Thanks for reporting this!


ctrl+A triggers "Save As" instead of ctrl+S

Currently, ctrl+A triggers the "Save As" function and ctrl+S does nothing (not that I could notice anything is done).
Is it intentional?
I tried to select the whole text while editing a node using ctrl+A and suddenly the "Save As"  window showed up, not very intuitive.
Thanks,
Barak.

Hi, thanks for the bug report on Save As, I can see the same problem.  As for Ctrl+S, this works.  If you modify the file by editing something an asterix appears in the window title, then when you hit Ctrl+S that asterix disappears because the file is saved and is now up to date.  If you use another text editor on the file (like vs code) you will see the saved contents appears in the other editor.


Different time for weekends vs weekdays

This looks like a good addition to the features. Would you like to send this upstream?


[Task]: CFA memory bank updating

What is the motivation for this task?
hi,when I use CFA model for anomaly detection,it did achieve amazing performance.But I have some questions about code implementation.
Describe the solution you'd like
There is a memory bank in the model.In the code,I could only find the process of initializing the memory bank before training,but I could not find the process of updating it.Could you tell me where is it?Thank you very much.
Additional context
No response

Hello. I am not that familiar with the model but I think that the memory bank is prepared at the beginning of training here:
https://github.com/openvinotoolkit/anomalib/blob/1f50c952fc65a165884b2b94e178821dcebfbbef/src/anomalib/models/cfa/torch_model.py#L142-L168
It is then just utilized in training and not modified.

Thanks for the answer!
But in the above code to initialize the memory bank before training,there is a layer named self.descriptor,and its parameters are trainable.After traing a batchsize,the self.descriptor is changable.
So you mean,we use the original self.descriptor to make the memory bank?The memory bank is just the mean feature after the self.descriptor when the self.gamma_c is setted to 1(it is that in the config.yaml).The unchangable memory bank is used to calculate the loss and heatmap.I cannot understand that.

Looking at the diagram from the paper, I don't think the memory bank is updated:

but I am not that familiar with the model, @samet-akcay will probably know more.

https://github.com/sungwool/CFA_for_anomaly_localization/issues/19     它只是在初始化的时候  将memorybank  初始化了一次，后面就不再更新这个memorybank了；如果你想更新它，可以在每个epoch后 再执行一次源码中的 initialize_centroid（要进行适当修改）。我试过了 这样可以让loss下降的比较顺滑，检测精度也会有所提升。


C / C++ API for OS X?

Hi there!
I was just wondering whether or not you have a C or C++ API available for OS X? I noticed you have one for Windows and Linux, but the only API I could find available for OS X is obj-c.
I should be able to create an ad-hoc C++ interface if necessary, but just thought I'd ask in case you already have one available!
Thanks a lot in advance for your time :+1:

Hi,
Our C++ API is not exposed at this time. You can certainly write an Objective C++ class that would take advantage of the Objective-C layer if you choose.


Add NGINX docker container to Terraform

The goal is to spin up a docker container during the terraform apply step to bring up a NGINX container configured to redirect queries to one of the 5 VMs

Added branche ready for PR.


How to add new options in formbuilder? I want to create a survey which has options like Picture Choice

Before we look into how to help you can you provide a full description what you require and we can then point you in the right direction, if you look through the library you will see the template files and the main JS file which contains each of the fields and their respective code. These are all within a collection.


Default playbooks for direct execution added to collection

These are 2 playbooks which are added to the playbooks directory.

sap_hana_preconfigure.yml can be called directly from the CLI and interactively asked for a minimum viable parameter set for preparing or checking a system for HANA installation. After the variable collection, it imports the next playbook with the collected parameters.
sap_hana_preconfigure_exec.yml. This playbook can be called directly or imported into other playbooks with a prepared variable list. The host list is configurable so that the playbook can be used in generic workflows.
Check the new README file in the playbooks directory for usage details of these roles.

I'm inclined to reject the principle behind this PR:

there is already /playbooks/sample-sap-hana-preconfigure.yml that covers this use case
this appears to be using localhost as the end-users laptop and populate targets from comma-separated list of IP Addresses (into var _sap_systems)
this has a two-tier Playbook structure, Playbook calling Playbook, and I feel this will confuse end-users
this suggests to an end-user that the Playbook is "best practice" of some kind, but the underlying Ansible Roles have much more functionality - hence the reason why everything under /playbooks is prefixed as sample- because it is just the beginning of what can be achieved

If this is needed for some downstream purpose to provide Support or cleaner end-user "Just Run This" documentation/functionality, then I would suggest this code is instead added into the vendor-specific fork (aka. midstream).

If this is needed for some downstream purpose to provide Support or cleaner end-user "Just Run This" documentation/functionality, then I would suggest this code is instead added into the vendor-specific fork (aka. midstream).

Having playbooks which can be called directly after installing the collection (including upstream collections) has the following advantages:

We can remove most of (if not all) examples from the role's README.md files, reducing their size. These sample playbooks in the README.md files can be replaced by an ansible-playbook command and the proper option for calling the interactive playbook.
First time users will get a much easier and also faster quick start.
It has the potential of increasing the adoption rate because there are fewer hurdles before getting a success when using the affected roles.
By offering these playbook in the upstream version, we could also increase the collaboration by the community.

Because we will be leaving the existing sample playbooks with the dashes in their names untouched, existing functionality and scope will remain in place. See also https://github.com/sap-linuxlab/community.sap_install/issues/726 .

@sean-freeman

As Bernd said - these playbooks cannot be called directly after installing the collection due to the dash in the name
the playbook adapts dynamically to localhost, all or any possible group defined inventory, so that the targets are not hardcoded as in sample- playbooks. This is a key reason to have them implemented from point of view.
I agree, that the two-tier playbook structure may look confusing, but it is an interactive "pre-playbook" that collects variables for easy entry, the second one is so generic that it can be used almost anywhere (e.g by the ansible playbooks), it just calls two roles and it works.

My intervention is indeed to move away from sample- mid-term and have callable playbooks that can be imported with a few parameters, to do what is needed.
I think we can discuss about the "parameter asking playbook" to have this in downstream only, but the _exec playbook is worth putting here.

The PR is BTW a reaction an users who asked for a "directly usable" playbook

Removed the interactive part to provide a vendor-specific version of it and suggest to go forward with this PR. It makes the roles much easier consumable and reusable, e.g. in ansible-playbooks4sap


Make scrolling easy for website users

fixes #879

Hi @dans77777
Thanks for the PR. Is it ready to be reviewed now? If so please can you change it from Draft to Open.
Thanks,
Rob


PR-08-06-24

1)Minor Change : Resource Section: customization (Heading Removed)
2)Links replaced with buttons in resources section.
3)Dummy Info Removed from : Research&Publication, Menstorship Program,
4)Google form Integrated.
5)Sidepan update : Contact -> Contact Us

Awesome!


Write tests for our Tic Tac Toe project

Please review our code

Pull Request Under Review By Sérgio (TSE)

Thank you for the review.
Required changes completed.


unbound: Add patch to resolve CVE-2024-33655

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[ ] Ready to merge

Summary
Add patch to resolve CVE-2024-33655
Change Log

Add patch file

Does this affect the toolchain?
NO
Associated issues

#xxxx

Links to CVEs

https://nvd.nist.gov/vuln/detail/CVE-2024-33655

Test Methodology

Pipeline build id: Buddy Build

Closing this since commit d3b1c72ca535e1acdd3fbe8d0ac7546a5e3fe835 already merged to main.


Update patches to Jakeday's 4.19 branch

Built binary files: https://drive.google.com/drive/folders/1YKzIjLR7ewYAfCUaA97C1rfC9RQSk-YA?usp=sharing

Oh man, saw this a bit late haha. Unfortunately, I've already made the changes, so I don't think I can merge this in. Thanks for the PR though!


[Terraform] .tfvars should not be exluded

This was introduced with https://github.com/joeblau/gitignore.io/pull/192.
Terraform best practices is to store whatever you can in .tfvars, and leave out anything sensitive or that you want to input interactively.
The default should not be to exclude .tfvars. If needed it should be done by project.
References:
https://www.terraform.io/intro/getting-started/variables.html
https://github.com/hashicorp/best-practices/blob/master/terraform/providers/google/us_central1_prod/terraform.tfvars

You can submit a pull request to https://github.com/dvcs/gitignore to update the template.


OutsideEventPlugin checks if teardown function is already defined before calling it

In some cases,  in the addEventListener method of the OutsideEventPlugin class, the teardown function could be called before actually attaching the event and defining the teardown function, leading to a fn is not a function error, as reported in #239

Hi
Sorry for the delay.
Can you rebase so I can accept it?
It's nothing much in the code, just file renamed (path moved)

I did a rebase, this should be mergeable now.

Thank you!

 :)


Issue while trying to use vuetable-2 with parceljs

Hello!
Trying to use vuetable-2 with parceljs and have an error after assembling:
vuetable-2-full.js:444 Uncaught ReferenceError: _Object$defineProperty is not defined
Same code is working fine for webpack. Assembling of vue application with components, but without vuetable-2 is not causing any issues.
Here is the example which I'm trying to use:
Project structure
app
└ src
|  └ main.js
|  └ table.vue
└index.html
└package.json

main.js
import Vue from "vue";
import vtable from "./table";

new Vue({
  el: "#app",
  components: { vtable },
  render: h => h(vtable)
});

table.vue
<template>
  <vuetable
    ref="vuetable"
    api-url="https://vuetable.ratiw.net/api/users"
    :fields="['name', 'nickname', 'email', 'gender']"
    data-path="data"
    pagination-path=""
  ></vuetable>
</template>

<script>
import vuetable from "vuetable-2/dist/vuetable-2-full";

export default {
  components: {
    vuetable
  }
};
</script>

index.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Vuetable app</title>
  </head>
  <body>
    <div id="app">
    </div>
    <script src="src/main.js"></script>
  </body>
</html>

package.json
...
{
  "scripts": {
    "start": "parcel index.html",
    "pbuild": "parcel build index.html"
  },
  "dependencies": {
    "vue": "^2.5.17",
    "vuetable-2": "^1.7.5"
  },
  "devDependencies": {
    "css-loader": "^1.0.0",
    "parcel-bundler": "^1.10.3",
    "vue-template-compiler": "^2.5.17",
  }
}

@uka17 I really have limited knowledge about the bundler, even with the webpack itself. But have you tryied importing from the npm package instead?
  import vuetable from "vuetable-2/src/components/Vuetable.vue";

I think the bundler is supposed to compile from the source directly, not from the already converted code.

@ratiw It works. You are genius! =) Thank you! But I still don't understand why it works - quite hard for me to dive so deeply into vue code features.


a method to know current keyboard layout

Operating system or device - Godot version:
official 2.0.3stable
Issue description (what happened, and what was expected):
I would like to know what is the current keyboard layout (AZERTY, QWERTY, QWERTZ, DWOWAKR, etc) so the game automatically setup keyboard mapping without asking the player for interactions or configurations.
Current workarounds
A workaround is to "guess" according to what returns OS.get_locale(), but is not safe.
An other workaround when it is about mapping "WASD", is to use "ESDF" instead, but it might not be 100% universal, and might disturb some hardcore-gamers.
An other workaround for "WASD" that make AZERTY ("ZQSD") and QWERTx ("WASD") and QZERTY ("ZASD") all work out  of the box, is to map [WZ] [AQ] [S] [D].
PS : and if you also want to support DVORAK (",AOE") keyboard out of the box, you'll have to map [WZ,] [AQ] [SO] [DE].
edit : there are several variant of DVORAK : dvorak for left hand, for right hand and "normal" dvorak, each layout is different.
Steps to reproduce:
Link to minimal example project (optional but very welcome):

Okay,
So I've started studying this idea, trying to implement OS_Window::get_latin_keyboard_variant() which was already implement for OSX.
Win32 API does not provide straight forward method to differentiate kb layouts based on AZERTY, QWERTY, QZERTY etc.
So far, i've done some experiments using GetKeyboardLayout() and GetKeyboardLayoutName() (which returns a string containing an hex number instead of a human readable string).
These functions will return a different "Language identifier" for each country and languages.
This "language identifier" does not give any obvious information about AZERTY, QWERTY etc.
If we really want this feature, and if we want to make it the most reliable possible, I think it would be required to list all "language identifiers" that are not QWERTY (since QWERTY would be default) and to store these lists into some static arrays that the OS_Window::get_latin_keyboard_variant() will have to scan.
Like i said upper, and if i understood correctly, this function is already available for OSX.
On all other platforms, OS::get_latin_keyboard_variant() returns QWERTY by default.
On mobile platform, it does not matter.
On Linux, I have no idea how to implement it neither if it is possible.

Some more reading about an overcomplicated workaround :
http://archives.miloush.net/michkap/archive/2004/12/05/275231.html
And the legend of an undocumented GetLayoutDescription() function hidden in a comment :
http://archives.miloush.net/michkap/archive/2008/09/29/8968315.html

HRESULT GetLayoutDescription (LPWSTR szId, LPCWSTR pszName, LPUINT uBufLength, DWORD dwFlags) that returns a human-readable IME description (like "English(US) - Dvorak"). Combining both together, it's easy to get a list of all active IMEs installed.

I've wrote some python tool scripts to collect keyboard layouts names into a CSV.
"layout names" are hexadecimal string like returned by the win32 GetKeyboardLayourName().
The human readable name is "layout text" that are available into the windows registry.
There is also a layout ID (the third column into the CSV) that is also available into the windows registry, but i don't know if it is usefull data.
The script and the csv are available here :
https://github.com/SuperUserNameMan/os_windows_get_latin_keyboard_variant
What is required now, is to test all layout to identify which ones are based on AZERTY, QWERTZ, QZERTY, DVORAK etc. (we can ignore QWERTY keyboards as it would be default)
If someone here wants to participate and has a google account, here is a shared google sheet :
https://docs.google.com/spreadsheets/d/1aKasLNLaXtWuPFENOP72f_WaWC2SreXvLhsWmb9OuJM/edit?usp=sharing
You can test several keywords layouts using the [Windows] + [Space] keys and add as much layouts as you want using the little keyboard layout icon into the task bar.

Godot already detects this and remaps the keys accordingly
On Sat, Jul 2, 2016 at 9:26 AM, SuperUserNameMan<EMAIL_ADDRESS>wrote:

I've wrote some python tool scripts to collect keyboard layouts names into
a CSV.
"layout names" are hexadecimal string like returned by the win32
GetKeyboardLayourName().
The human readable name is "layout text" that are available into the
windows registry.
There is also a layout ID (the third column into the CSV) that is also
available into the windows registry, but i don't know if it is usefull data.
The script and the csv are available here :
https://github.com/SuperUserNameMan/os_windows_get_latin_keyboard_variant
What is required now, is to test all layout to identify which ones are
based on AZERTY, QWERTZ, QZERTY, DVORAK etc. (we can ignore QWERTY
keyboards as it would be default)
If someone here wants to participate and has a google account, here is a
shared google sheet :
https://docs.google.com/spreadsheets/d/1aKasLNLaXtWuPFENOP72f_WaWC2SreXvLhsWmb9OuJM/edit?usp=sharing
You can test several keywords layouts using the [Windows] + [Space] keys
and add as much layouts as you want using the little keyboard layout icon
into the task bar.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5503#issuecomment-230099335,
or mute the thread
https://github.com/notifications/unsubscribe/AF-Z29u2xsJjL8kojfeFHhb4qwfbo79Aks5qRljogaJpZM4JCQD5
.

@reduz : Unless I missed something into the Godot API, i'm not sure we are talking about the same thing.
For instance, if I setup bind "WASD" keys to action into Poject settings Input Map, this mapping will be correct only for QWERTY keyboards.
On my AZERTY keyboards, the W key is next to the X key, and the A key is at the place of the W key.
My players would have to setup the keyboard mapping manually to ZQSD or to press the [Window] + [Space] combination to ask windows to activate English kayboard layout.
I think it is TOO complicated for some casual gamers.
So the solution i'm proposing is to add a get_latin_keyboard_variant() that would return "AZERTY" or "QWERTZ" or "QWERTY" etc, allowing to game to change the remap the keyboard mapping to actions appropriatly.
I've found no way to do that in Godot.

there already is a function named exactly OS.get_latin_keyboard_variant()
:P it's just not exposed to script, I'll expose it
On Sat, Jul 2, 2016 at 9:46 AM, SuperUserNameMan<EMAIL_ADDRESS>wrote:

@reduz https://github.com/reduz : Unless I missed something into the
Godot API, i'm not sure we are talking about the same thing.
For instance, if I setup bind "WASD" keys to action into Poject settings
Input Map, this mapping will be correct only for QWERTY keyboards.
On my AZERTY keyboards, the W key is next to the X key, and the A key is
at the place of the W key.
My players would have to setup the keyboard mapping manually to ZQSD or to
press the [Window] + [Space] combination to ask windows to activate English
kayboard layout.
I think it is TOO complicated for some casual gamers.
So the solution i'm proposing is to add a get_latin_keyboard_variant()
that would return "AZERTY" or "QWERTZ" or "QWERTY" etc, allowing to game to
change the remap the keyboard mapping to actions appropriatly.
I've found no way to do that in Godot.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/5503#issuecomment-230100114,
or mute the thread
https://github.com/notifications/unsubscribe/AF-Z25uS3RpWkLFYhM9oLzJs1aOos65Nks5qRl23gaJpZM4JCQD5
.

@reduz : yes but it returns QWERTY by default, because it is not implemented for Windows.
I tried it already.

(only OSX version seems to be implemented)

Okay,; for those still interested, i've managed to inventory as much latin keyboard layout variant as possible into this CSV.
Actually, among the latin kb variants, there are more than just AZERTY, QWERTY, QWERTZ, QZERTY, DVORAK and NEO that were already listed godot/core/os/os.h
For instance :

the turkmen keyboard layout is ÄWERTY (with a strange accent over the A),
the Turkish F keyboard is bizarre layout
the Finland/Norway keyboard is some sort of "àS`ERT£" with Q and W accessed through Alt-Gr ...
etc

Also, there are several variants of DVORAK : LEFT HAND, RIGHT HAND and "normal" which each have a special layouts.
Even if it is possible to implement this feature for Windows, I still don't know if it is possible for other platforms, and if the current OSX implementation is reliable.
I don't know about the 3 persons who have reacted with a thumb-up to this thread ( @bojidar-bg , @timoschwarzer, @Zylann ), but personally i've stopped thinking this feature is really needed.
So, if no one complain, i vote for closing this feature request.

A lot of the games I play assume I have a QWERTY keyboard and it's very annoying, especially when the keys are hardcoded or if the game has no remapping feature. if it's not possible to have a perfect solution, a tradeoff would be better than nothing.

@Zylann :
Maybe we could write a tiny tutorial or a note to add to the godot documentation to try to make other game-developers slightly more aware that there is something else than QWERTY, and that hard-coding key mapping is evil ?
As for us who are already aware of that and who would like to automate the key mapping according to the player kb layout, we could use some simple workarounds like this one :

we could present the player a simple interface asking him to click on a button among "AZERTY", "QWERTY", "QWERTZ" etc and "OTHER". Each button would set a different preset, and clicking "OTHER" would ask the player to press a key for "up", an other for "down", etc.

That would be as much complicated than picked a flag to select a language.
And also, it would be reliable on all platforms.
What do you think ?

Well, i tried to git push my branch to github but something went wrong and git commands are all chinese to me.
So here is my Windows implementation of :
OS::LatinKeyboardVariant OS_Windows::get_latin_keyboard_variant() const {

	unsigned long azerty[] = {
		0x00020401, // Arabic (102) AZERTY
		0x0001080c, // Belgian (Comma)
		0x0000080c, // Belgian French
		0x0000040c, // French
		0 // <--- STOP MARK
	};
	unsigned long qwertz[] = {
		0x0000041a, // Croation
		0x00000405, // Czech
		0x00000407, // German
		0x00010407, // German (IBM)
		0x0000040e, // Hungarian
		0x0000046e, // Luxembourgish
		0x00010415, // Polish (214)
		0x00000418, // Romanian (Legacy)
		0x0000081a, // Serbian (Latin)
		0x0000041b, // Slovak
		0x00000424, // Slovenian
		0x0001042e, // Sorbian Extended
		0x0002042e, // Sorbian Standard
		0x0000042e, // Sorbian Standard (Legacy)
		0x0000100c, // Swiss French
		0x00000807, // Swiss German
		0 // <--- STOP MARK
	};
	unsigned long dvorak[] = {
		0x00010409, // US-Dvorak
		0x00030409, // US-Dvorak for left hand
		0x00040409, // US-Dvorak for right hand
		0 // <--- STOP MARK
	};

	char name[ KL_NAMELENGTH + 1 ]; name[0] = 0;
	GetKeyboardLayoutNameA( name );

	print_line( name );

	unsigned long hex = strtoul(name, NULL, 16);

	int i=0;
	while( azerty[i] != 0 ) {
		if (azerty[i] == hex) return LATIN_KEYBOARD_AZERTY;
		i++;
	}

	i = 0;
	while( qwertz[i] != 0 ) {
		if (qwertz[i] == hex) return LATIN_KEYBOARD_QWERTZ;
		i++;
	}

	i = 0;
	while( dvorak[i] != 0 ) {
		if (dvorak[i] == hex) return LATIN_KEYBOARD_DVORAK;
		i++;
	}

	return LATIN_KEYBOARD_QWERTY;
}

probably irrelevant, just thought I'd rewrite the code for no real reason
OS::LatinKeyboardVariant OS_Windows::get_latin_keyboard_variant() const {

    unsigned long azerty[] = {
        0x00020401, // Arabic (102) AZERTY
        0x0001080c, // Belgian (Comma)
        0x0000080c, // Belgian French
        0x0000040c // French
    };

    unsigned long qwertz[] = {
        0x0000041a, // Croation
        0x00000405, // Czech
        0x00000407, // German
        0x00010407, // German (IBM)
        0x0000040e, // Hungarian
        0x0000046e, // Luxembourgish
        0x00010415, // Polish (214)
        0x00000418, // Romanian (Legacy)
        0x0000081a, // Serbian (Latin)
        0x0000041b, // Slovak
        0x00000424, // Slovenian
        0x0001042e, // Sorbian Extended
        0x0002042e, // Sorbian Standard
        0x0000042e, // Sorbian Standard (Legacy)
        0x0000100c, // Swiss French
        0x00000807 // Swiss German
    };

    unsigned long dvorak[] = {
        0x00010409, // US-Dvorak
        0x00030409, // US-Dvorak for left hand
        0x00040409 // US-Dvorak for right hand
    };

    char name[ KL_NAMELENGTH + 1 ]; name[0] = 0;
    GetKeyboardLayoutNameA( name );

    unsigned long hex = strtoul(name, NULL, 16);

    int i=0;
    while( i < 3) {
        if (azerty[i] == hex) return LATIN_KEYBOARD_AZERTY;
		if (qwertz[i] == hex) return LATIN_KEYBOARD_QWERTZ;
		if (dvorak[i] == hex) return LATIN_KEYBOARD_DVORAK;
        i++;
    }
	if (azerty[i] == hex) return LATIN_KEYBOARD_AZERTY;
    if (qwertz[i] == hex) return LATIN_KEYBOARD_QWERTZ;
	i++;

    while( i < 16 ) {
        if (qwertz[i] == hex) return LATIN_KEYBOARD_QWERTZ;
        i++;
    }

    return LATIN_KEYBOARD_QWERTY;
}

I'm just bumping this one to remind other contributors that Linux / BSD / Amiga /  platforms still lack an implementation of this function, and that the MacOS implementation needs testing.

I came here wondering if such an automatic mapping was possible, though I figured it's not. I'm glad I found this issue, but it does sound like something that is probably best in dev-land to implement in-game mappings, and possibly pre-defined layouts. I just looked for an existing solution because I realized every time I make a game I always develop it with dvorak mappings, and switch them later, haha.

if no other platform needs an implementation, you could close this issue.

The remaining platforms are Android, iOS, UWP and HTML5 (probably). Do we need this method for these platforms?

Now that #18020 is merged, this method is much less useful. Should we still keep this issue open or consider desktop-only support to be good enough for this method?

One use case I see for this method is showing a keyboard image with example shortcuts, with the keyboard image matching the user's keyboard layout.  (on azerty, this would be "A").

Just a warning that
OS.get_latin_keyboard_variant()
does nt seem to work correctly on Linux with godot 3.2.1 :
on my french azerty keyboard, it returns:  "QWERTY"
The OS (CentOS7) is correctly aware of the fr keyboard:
$ localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: fr
X11 Layout: fr

@WilliamTambellini The method implementation is here: https://github.com/godotengine/godot/blob/0f1da724924fc494bfd316c57757e0e1d7b90143/platform/linuxbsd/display_server_x11.cpp#L1861

Tks @Calinou
Looks like DisplayServerX11::get_latin_keyboard_variant is just not aware of the 'fr' layout:
$ setxkbmap -print | grep xkb_symbols
xkb_symbols   { include "pc+fr+us:2+inet(evdev)"        };
Preparing a PR.

@WilliamTambellini OK :slightly_smiling_face: Make sure to open the pull request against the master branch, we can backport it to the 3.2 branch afterwards.

sure: done:
https://github.com/godotengine/godot/pull/39330

I've received a Google notification of someone trying to access this doc :
https://docs.google.com/spreadsheets/d/1aKasLNLaXtWuPFENOP72f_WaWC2SreXvLhsWmb9OuJM/edit?usp=sharing
I don't think it is useful information anymore, but just in case, i have salvaged it from the recycle bin and restored the share.
Maybe someone more involved should make a copy just in case I clean up my drive again.

This was implemented by https://github.com/godotengine/godot/pull/39457 (and made less relevant by https://github.com/godotengine/godot/pull/18020), closing.


Proposal: Enable UWP apps to request background access to the clipboard

Proposal: Enable UWP apps to request background access to the clipboard
This proposal was originally tailored to the specific use case of allowing UWP apps running in the background access to the clipboard when interacted with via toast notifications. In follow-up discussions it was then suggested to increase the scope of this issue to cover background access to the clipboard for UWP apps in general. This proposal has thus been edited to reflect the broadened scope.
Summary
Currently, the UWP Clipboard APIs only allow (read/write) access to the clipboard when the calling UWP app is the foregroud app. In other words, these APIs will "fail" if your UWP app is currently running in the background. However, there are use cases where UWP apps running in the background should be allowed to have access to the clipboard in order to provide a delightful user experience (see for example the scenario described in this comment.
As a workaround for this current app model limitation, UWP apps can use a Win32 full-trust helper process (via an app service) and call the Win32 Clipboard APIs to access the clipboard to read from/write to the clipboard even when in the background.
This proposal aims to improve the UWP Clipboard APIs so that UWP apps can request clipboard access when in the background. This request model follows the typical UWP permission model - an initial background clipboard access request will prompt a user-consent dialog with access only being granted if the user agrees to the request. If the user denies the request, no background access to the clipboard for the app is granted. As long as the user did not revoke previously granted background access for an UWP, each subsequent request call will be "silent-accept", in other words, no user-consent dialog prompt will be shown.
Rationale
Developers should not have to resort to using a win32 full-trust process to realize UWP app experiences where (selective) clipboard background access is essential to create delightful user experiences. Some significant drawbacks of having to consume a win32 full-trust helper process alongside your UWP app are the following:

UWP apps have the restricted runFullTrust app capability: This can cause security concerns for potential app customers - in the worst case leading them to not use your app
Additional development complexity is added due to having to set up the win32 full-trust helper process and enable back-and-forth communication between it and the main UWP app. See the documentation for more details about how app service communication works.

Scope

Capability
Priority

Allow UWP apps running in the background to request read/write access to the clipboard and if the user agrees to the request, access is granted.
Must

The user can revoke granted background clipboard access for a (UWP) app in Windows Settings at any given point.
Must

Change the current clipboard foreground access behavior to also ask for specific user agreement if required.
Won't

API Details
A conceptual API overview can be found in this comment: https://github.com/microsoft/ProjectReunion/issues/62#issuecomment-639648398
Additional Context
This topic (particulary the app scenario with backgroudn clipboard access following toast notification interaction) was initially brought up in the WinUI repo and @BenJKuhn already gave some first thoughts on it (see [Clipboard Pains]):

That said, a notification that’s being interacted with seems like it should be allowed clipboard access. This would require special handling because of how Windows and foreground is counted, I think, but doesn’t seem beyond reasonable.

A Feedback Hub entry about this issue can be found here: https://aka.ms/AA7zx69

I understand you propose to move the clipboard access to outside the application logic for security reasons, but doing this via a toast does not feel like good UX to me.
I also think the clipboard access should be separated in reading and writing.
Writing is less of a security issue I believe, but mostly a UX issue (if an app puts something in the clipboard while the user still wanted to use another value, that's annoying).
However, if the app can read / monitor the clipboard without consent of the user --> that is a security issue.
Would it not be possible for the windows team to provide a clipboard API that an app can only successfully call when the app is in the foreground?

@hansmbakker

I understand you propose to move the clipboard access to outside the application logic for security reasons, but doing this via a toast does not feel like good UX to me.

I'm not sure you understood my app scenario correctly: In my particular case, I have talked to users of my app and they found the concept of simply clicking a button on toast notification to copy some information displayed it much easier than having to copy it manually - which would also require to out the app into the foreground again. All they want to do is quickly copy some conveyed info if desired and providing a [copy to clipboard] button on the notification itself will exactly enable this requested UX.
I'm not sure what you mean with "outside the application logic". The clipboard API will still be called inside the app, not somewhere else (think Application.OnBackgroundActivated).

Would it not be possible for the windows team to provide a clipboard API that an app can only successfully call when the app is in the foreground, so that an app can still provide the user interface inside the app?

Again, I'm not sure I understand you correctly but what you seem to be describing here is exactly the case today. UWP clipboard API only grants access to the clipboard when your app is in the foreground. Which is the reason why I cannot copy notification content to the clipboard when the app is in the background. Instead, I have to resort to using a win32 full-trust process to realize the requested UX, yet including such a win32 helper process can always raise additional security concerns for the user as parts of the app will now operate outside the sandbox (especially when not distributing the app via the Microsoft Store as MS won't be reviewing the use of the full-trust restricted capability then).

Oh, then I understand.

To paraphrase the request:

When the app gets its ToastNotificationActionTrigger from a "background" tagged toast, it should be able to request access to the clipboard

What if we had a more generic thing, which was along the lines of:

AppContainer apps can request background read, write, and monitoring access to the clipboard, with appropriate user control following the other Foo.RequestAccessAsync models

Would that help? So your toast trigger handler would look like:
var clip = ClipboardManager.GetDefault();
if (await clip.RequestAccessAsync(ClipboardAccess.Write) == CapabilityAccess.Allowed)
{
    clip.WriteDataPackage(this.CreateDataPackageForToast(t));
}

(We're trying to decouple as many things as possible, so "clicking this toast gets you clip access" is a little more confusing than "you can get clip access in more ways.")

@jonwis Would each call to ClipboardManager.RequestAccessAsync() show a user-consent dialog or would no user-consent dialog be shown on subsequent calls as long as the user did not revoke permission (for example via Windows Settings or by denying the request in the dialog)?
Yes, I'm fine with broadening the schope of this issue (I tend to create issues very much tailored to specific use cases to increase chances of them being accepted). I will gladly update the issue to reflect the broader scope.
(Seeing as it was suggested to increase the scope of this issue pinging @jtorjo here as they also had plenty of issues with the UWP app model clipboard implementation and I believe they will like the direction this is going here.)

As with most Request prompts, it'd be a one time thing to enable, then the second request would be silent-accept. You still need to call it every time, but the popup would only happen once.

@jonwis That's perfect then! I will update this issue accordingly to reflect the broadened scope.

@Felix-Dev: is this proposal well-understood and ready to move to the backlog for future planning, or is discussion still underway?

@stevewri I think we have reached a satisfying conclusion here for now how to approach this proposal so it can be moved into its next phase.

@bpulliam since Windows App SDK doesn't support UWP, All UWP specific issues like this ones can be closed.


Use created timestamp or modified timestamp as fallback

First things first: thank you for this amazing project. I'm a big fan of the simple s3s-fs binary. ❤

This seems to be the only place we check for a created timestamp, and when I ran this tool in a docker container (installed the s3s-fs binary in it) with a volume mount it was complaining that such timestamps cannot be found.
I'm using an M1 Mac, Docker for Mac, and docker-compose setup. And as far as I can see there is nothing in the docker docs to tell the mount to include such file attributes.
This change solves it for me. But I also have no particular need for this timestamp, therefore it's not of importance to me if that is coming from created or modified attribute.
If you need a docker/compose test setup I can provide one. Just wanted to check first, if you would be okay with such an upstream change in general.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I'm okay to accept such change.


remove unused classnames in tabler.css using PostCSS

https://github.com/jacobp100/postcss-remove-classes
using this plugin it is possible to remove bootstrap's default classes like 'btn', 'card', 'mb-2', ....
maybe useful for our use-case:
https://github.com/itaoyuta/postcss-selector-replace
also this plugin removes css classes.
https://github.com/AoDev/css-byebye
https://github.com/AoDev/css-byebye/blob/master/lib/css-byebye.js
we can write a PostCSS plugin which transform tabler.css to a simpler css file with only .u-* classes
something like this:
postcss.config.cjs
module.exports = {
    plugins: [
        ubeacCSS({
            classesToSave: [/u-*/] // save all classes which starts with 'u-'
        )
    ]
}

tabler.css
.btn, .u-button {
   ....button styles
}
.btn-primary, .u-button-color-primary {
   ....primary color
}
.some-class-that-only-tabler-uses, .and-we-dont-extend {
  ...some styles
}

output:
.u-button {
   ....button styles
}
.u-button-color-primary {
   ....primary color
}

https://github.com/AoDev/css-byebye
I think using this plugin we can tell that remove all classes which doesn't start with 'u-' using some regex pattern.

^(?!(?:u-)\b)(.*)$

https://purifycss.online/

Also see this one:
https://www.npmjs.com/package/minify


This module doesn't get tree-shaken properly.

As an example: In our application, we don't use Cluster, which imports supercluster and the @turf family of packages. However, those packages still show up in the bundled code.
My understanding is that it'd be sufficient to mark this package as side-effect free in package.json, if it is indeed free of side effects. I'm happy to make this change if the maintainers are amenable to it.

In the meantime, I'll use IgnorePlugin to work around the issue.


Add dhcpd.conf example to request profile without proxy.

Example to allow DHCP server to send bootfile request with mac/ip query.
Static host entry example
Handle option 93 arch type check
@RackHD/corecommitters @geoff-reid @keedya @zyoung51 @uppalk1 @tannoa2

*** BUILD #171 ***
Test Name: test_workflowTasks_put
Error Details: Shell commands != fn_1
-------------------- >> begin captured logging << --------------------
tests.api.v1_1.workflowTasks_tests: INFO: Adding workflow task : {'friendlyName': 'fn_1', 'injectableName': 'in_1', 'properties': {}, 'options': {}, 'implementsTask': 'im_1'}
--------------------- >> end captured logging << ---------------------
Stack Trace:   File "/usr/lib/python2.7/unittest/case.py", line 331, in run
    testMethod()
  File "/usr/lib/python2.7/unittest/case.py", line 1043, in runTest
    self._testFunc()
  File "/usr/local/lib/python2.7/dist-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/usr/local/lib/python2.7/dist-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/usr/local/lib/python2.7/dist-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/var/lib/jenkins/jobs/RackHD/workspace/build/test/tests/api/v1_1/workflowTasks_tests.py", line 84, in test_workflowTasks_put
    assert_equal(readFriendlyName,self.workflowTaskDict.get('friendlyName'))
  File "/usr/local/lib/python2.7/dist-packages/proboscis/asserts.py", line 55, in assert_equal
    raise ASSERTION_ERROR(message)
"Shell commands != fn_1\n-------------------- >> begin captured logging << --------------------\ntests.api.v1_1.workflowTasks_tests: INFO: Adding workflow task : {'friendlyName': 'fn_1', 'injectableName': 'in_1', 'properties': {}, 'options': {}, 'implementsTask': 'im_1'}\n--------------------- >> end captured logging << ---------------------"

test this please

Do you think it's useful to remove a bunch of the commented out boilerplate config examples near the top?
:+1: regardless

Yeah, probably.  It's all truncated from the /docs so probably not a big deal.

:+1:

:+1:

:+1:


feat(apps/prod/tekton): add tekton results instances

Signed-off-by: wuhuizuo<EMAIL_ADDRESS>

/approve


fix #11

ping @pedronauck

It's done @longlho, sorry not to accept before :)
cc: @Munter

thanks! @pedronauck  :)

Awesome :D

@pedronauck can u publish 0.6.0 also please :)

It's done @longlho :)


Adding the OpenTF logo

We have a new Logo and we need to add it to the website and add favicon as well.

Opened a different one.


Docker build failed with npm install Killed returned a non-zero code 137

I'm using master branch and I tried to use Docker. But the build step is failing with this error:
Killed
The command '/bin/sh -c npm install' returned a non-zero code: 137

Edit: I have tried the refactor branch as well, but same problem there. (It also looks like npm is killed randomly.)
I read that it runs out of memory, though I'm not sure. Any resolution?
 But again, I hit the same error with npm install. This is when I was sure it is definitely an issue with memory.
You can temporarily add swap storage to your Ubuntu installation to work around the problem. DigitalOcean has a nice guide on this, which would work on any Ubuntu installation. If your server is using SSD, you may want to remove the swap file with swapoff (and rm) when you're done, as long-term swap usage on SSD is not recommended.
Your mileage may vary.

Isn't there any way to run this without npm or Docker? My mileage has suffered. I find Node to be really heavy - can't run on tiny systems.

Seriously, why are there so many dependencies and sub-dependencies?!


[Bouhm's Pet Dogs] Add Thai translations

Thanks for the help! Merged into develop for the upcoming Pet Dogs 2.0.1.


How can I build an .apk from the host app?

I tryied to build an .apk using assembleRelease in the host app but it crashes when I open in my android device.
On simulator, dev works fine

Same issue here. Please help


HACS Issue

When I try to install via HACS (point 6.3) I do not have the option to install:

But to Download?? any guess where I have gone wrong

?

Ahh seems that the new feature is download and not install... ;)


Add Netutils and register all jinja filters into django-jinja

Fixes: #1082
This PR adds Netutils and register all jinja filters into django-jinja (~53 filters). The complete list of filter available is available here
As it it's functional but before putting more time into it I would like to understand the level of interest around this PR

Right now I'm registering the filter as part of the extras app, not sure if this is the best place to do that in Nautobot

### Nautobot interactive shell (e2010bc85319)
### Python 3.6.15 | Django 3.1.13 | Nautobot 1.2.0a1
### lsmodels() will show available models. Use help(<model>) for more info.
>>>
>>>
>>> from nautobot.utilities.utils import render_jinja2
>>> render_jinja2("{{ ip | ip_to_hex }}", {"ip": "<IP_ADDRESS>" })
'01010101'
>>>

TODO:

Update documentation
Add unit tests

For this to make it into 1.2.0, we'd like to see the following:

As an NTC-maintained library, we'd like to see Netutils reach a 1.0 version and commit to semantic versioning, so that we can have confidence that minor version number changes in netutils won't introduce breaking changes in these filters that would be user-impacting
Documentation either in nautobot or otherwise web-accessible of all of these filters and their usage
A reasonable cross-section of unit tests in Nautobot verifying that these filters are usable in computed fields, export templates, etc.

@itdependsnetworks what do you think? Will you be taking this on in the next week or so?

yes, will be doing this by next week.

I've made several changes to my branch and I think it's ready for review, here is the list of all the changes

Upgraded netutils to 1.0.0 and move it in pyproject.toml
Moved registration of filters to utilities ready() instead of extras ready() since the other functions are already in utilities
Added unit tests and documentation for netutils filters
Added unit tests and documentation for built-in helpers
Changed target branch to develop instead of next

Also, while working on this PR,

I noticed that all built-in Django Template helpers in templatetags/helpes.py were not available in Django Jinja so I loaded them on both sides and I loaded all netutils functions on both sides as well to have feature parity between Jinja2 and Django Template.
I also found couple of bugs in templatetags/helpes.py while writing the unit tests so I fixed them directly

Is there an easy way to generate the doc locally to validate that everything is rendering as expected ?

Is there an easy way to generate the doc locally to validate that everything is rendering as expected ?

mkdocs serve and connect to http://localhost:8001.
Thanks for the updates!

Thank you for adding documentation and unit tests!

I made the suggested changes, the PR should be good for review


Support github container registry

Same as openyurtio/openyurt#1575
You need to provide the repository secrets GH_REGISTRY_USERNAME and GH_REGISTRY_PASSWORD containing the username that pushes and a PAT (private access token) from github described in the following docs: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry

Same as openyurtio/openyurt#1575
You need to provide the repository secrets GH_REGISTRY_USERNAME and GH_REGISTRY_PASSWORD containing the username that pushes and a PAT (private access token) from github described in the following docs: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#authenticating-to-the-container-registry

@siredmar Env GH_REGISTRY_USERNAME and GH_REGISTRY_PASSWORD are defined as organization envs, so you can use them directly in raven repository.
and would you like to make a pull request to support github container registry?

/lgtm


Mark TextInput id prop as optional

This should have been done in this set of changes: https://github.com/dcos-labs/ui-kit/pull/464
Since we upgraded Typescript, it throws an error when using the TextInput component without passing an id prop. However, the id prop is not actually required anymore.

@brandonc - I haven't merged the PR that fixes this yet: https://github.com/dcos-labs/ui-kit/pull/489
The version bump came from pushing a trivial commit directly to master: https://github.com/dcos-labs/ui-kit/commit/d262e3b8899514f55a20ddb8aaa5c28956148e8f
I'll merge it as soon as ui-kit CI is green :)


Add UT cases for Preempt Action

What this PR does / why we need it:
Added UT Cases for Preempt Action

/assign @k82cn

/cc @hzxuzhonghu @TommyLike

Hi @TommyLike , @hzxuzhonghu  can you please review this PR?

/retest

/retest

/ok-to-test

/lgtm
/approve


K8SPG-243 Scheduled backup test

Test name
Status

init-deploy
passed

demand-backup
passed

scheduled-backup
passed

start-from-backup
failed

We run 4 out of 4

commit: https://github.com/percona/percona-postgresql-operator/pull/311/commits/e72a5cefc69c720803d63c2990826432dd684cd3
image: perconalab/percona-postgresql-operator:PR-311-e72a5cef

Test name
Status

init-deploy
passed

demand-backup
passed

scheduled-backup
passed

start-from-backup
failed

We run 4 out of 4

commit: https://github.com/percona/percona-postgresql-operator/pull/311/commits/e72a5cefc69c720803d63c2990826432dd684cd3
image: perconalab/percona-postgresql-operator:PR-311-e72a5cef

Test name
Status

init-deploy
passed

demand-backup
passed

scheduled-backup
passed

start-from-backup
failed

We run 4 out of 4

commit: https://github.com/percona/percona-postgresql-operator/pull/311/commits/e72a5cefc69c720803d63c2990826432dd684cd3
image: perconalab/percona-postgresql-operator:PR-311-e72a5cef


Make sure the index scheduler never stops running

Pull Request
Related issue
Fixes https://github.com/meilisearch/meilisearch/issues/4748
What does this PR do?

Whatever happens, we always try to process tasks once every minute (if no tasks are enqueued that's practically free)

bors merge

@irevoire, any way this fix can be in v1.10.0 ?

Hello @michalkorzawski
@irevoire and @dureuill are on Holidays currently. But I guess if they decided to merge this in v1.11 and not v1.10, it's probably about the risk that could bring the fix.
v1.10 is released next Monday. I'll let them answer when they come back next week and if v1.10.1 is needed for this

thanks!

hey @michalkorzawski
We'll be releasing a v1.10.1 containing unrelated fixes next week, so we took the opportunity to grab the fix from main as well :rocket:

hey @dureuill, that's awesome! Thank you very much


update README.rst with troubleshooting section

In light of the recent issue I was having with autodoc (and in the spirit of Hacktoberfest), I thought it would be a good idea to add a Troubleshooting section to the README, outlining some simple solutions to common problems!

Thanks for looking at this. I'm pushing a change that makes sphinx.ext.autodoc optional, so this is no longer needed.


Fix reports-dashboards  workflow for <IP_ADDRESS>

Signed-off-by: David Cui<EMAIL_ADDRESS>Description
Update reports-dashboards workflow to use version <IP_ADDRESS> in 1.1 branch
Issues Resolved
[List any issues this PR will resolve]
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

[ ] 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.

Codecov Report

Merging #152 (c90e2f0) into 1.1 (894021e) will decrease coverage by 9.99%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##                1.1     #152       +/-   ##
=============================================
- Coverage     63.41%   53.42%   -10.00%
  Complexity      309      309
=============================================
  Files           101       69       -32
  Lines          4401     2454     -1947
  Branches        669      277      -392
=============================================
- Hits           2791     1311     -1480
+ Misses         1442      978      -464
+ Partials        168      165        -3

Flag
Coverage Δ

dashboards-reports
?

reports-scheduler
53.42% <ø> (ø)

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

Impacted Files
Coverage Δ

...shboards-reports/public/components/utils/utils.tsx

dashboards-reports/test/propsMock.js

...t_definition_details/report_definition_details.tsx

...itions/report_settings/report_settings_helpers.tsx

...s-reports/public/components/main/reports_table.tsx

...orts/server/routes/utils/converters/uiToBackend.ts

...itions/report_trigger/report_trigger_constants.tsx

...omponents/report_definitions/delivery/delivery.tsx

dashboards-reports/server/model/backendModel.ts

dashboards-reports/server/model/index.ts

... and 22 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 894021e...c90e2f0. Read the comment docs.


fix: getState mandatory on EventProvider

In 3 event provider implementations, flagd-java, go-feature-flag-web, and even my own implementation of flagd-js, authors have forgotten to properly implement getState (which means the SDK assumes the provider is already READY and doesn't run initialize().)
This is an easy pitfall. To help with this, I'm making the implementation of getState required in the abstract EventProvider class, and will do similarly in the JS-SDK. I think this is a reasonable proposal because the EventProvider class is very new, and in the majority of cases a provider that can fire async events requires some kind of remote connection, so it will need initialization. This is technically a breaking change, but it would only impact the experimental events API, specifically the EventProvider implementations which could only be a few days old at this point, and which (due to my previous point) likely should have implemented this anyway.
It also adds some more doc about the importance of this method.
Relates to: https://github.com/open-feature/js-sdk/pull/506

I support this change +1 Should we provide an annotation to mark specific APIs experimental to feel less guilty when we do breaking changes? 🤔 Something similar exists in other projects:

Guava
gRPC

This is an interesting idea IMO. Can you elaborate more on the user-experience of this? Does the annotation add something that developers can easily see in their IDE? Does it suppose a dev would open the source file?

This is an interesting idea IMO. Can you elaborate more on the user-experience of this? Does the annotation add something that developers can easily see in their IDE? Does it suppose a dev would open the source file? @thisthat

AFAIK, no IDE prints any special info for annotations. However, when I work on implementing an interface/abstract class I do look in the source file. Annotations are preserved in case of decompilation. It would be just a "FYI" for implementers.

This is an interesting idea IMO. Can you elaborate more on the user-experience of this? Does the annotation add something that developers can easily see in their IDE? Does it suppose a dev would open the source file? @thisthat

AFAIK, no IDE prints any special info for annotations. However, when I work on implementing an interface/abstract class I do look in the source file. Annotations are preserved in case of decompilation. It would be just a "FYI" for implementers.

OK that's kinda what I was assuming. I still like the idea.

Approved. We can make this a breaking change and bump the minor version. Given that the eventing support is new, I assume there are only a handful of adoptions of the previous sdk version.


Skip Build Unless Installing on IBM i

Original report by David Russo (Bitbucket: DavidRusso, GitHub: DavidRusso).

I work on a package that installs on multiple platforms, including IBM i. I've put idb-connector under optionalDependencies in my package.json -- this allows NPM to proceed with installing my package on non-IBM i platforms, where idb-connector obviously does not work. Programming logic in my package then selects the appropriate database connector for the appropriate platform.
This allows me to install on any platform, but I get a lot of unnecessary output and error messages when installing on non-IBM i platforms because NPM goes through the motions of trying to build idb-connector.  To see what I mean, try 'npm install profoundjs' on a Windows PC.
I'm wondering if it's possible to set up so that NPM does not try to build/install idb-connector unless installing on IBM i.
Maybe it's just a matter of setting the 'os' key in idb-connector's package.json?
https://docs.npmjs.com/files/package.json#os

This change does not work for  AIX. Can you make it for AIX too?

I'm not sure how it could not work on AIX, since it only references "aix" for which builds to skip. Or do AIX builds put the version in the OS string?

The build is not skipped on AIX as it should be, and proceeds to fail.

In our package.json we specify "os": "aix"

For us process.platform returns "aix" so insall script continues searches for prebuilt binaries and cannot find any matching   "package_name": "{module_name}-v{version}-{node_abi}-ibmi-{arch}.tar.gz"
Then falls back to build from source and fails.

For it to skip on AIX we would need to dig into how process.platform is determined or find another work around.
os.type() returns OS400 appropriately.
Maybe we can override npm install to run our own install script. An example of doing this woul be Appmetrics overides install script to run node extract_all_binaries.js || node-gyp rebuild

Why does it need to work on AIX in the first place? This requires libdb400, which isn't available on AIX anyway.

Right it cannot work on AIX. The failure is expected
Our package.json whitelists AIX as our only supported platform
On every other platform it will show something like
Unsupported platform for idb-connector
npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"aix","arch":"any"}

but on AIX it will actually try to build the project and fail.
I guess we should just clearly Iterate in our readme this package is only for IBM i

PR #57 is created.

This is holding up React.js support on IBM i, so I consider this a high-priority item (or working to find alternative implementation for default-gateway)

@ThePrez I'm trying to figure how that could be. Can you link to that issue?

@kadler
https://github.com/silverwind/default-gateway/issues/5
https://github.com/silverwind/default-gateway/issues/10

We could skip the native parts in the .gyp file based on an "os400" condition. That would be pretty clean

npm has, as discovered issues with honoring the os property in some cases, so it it is not enough to prevent a build on non-AIX. Anyways, I have now decided to only accept AIX support in my module if it is a pure-JS implementation. Native modules are just not the headaches they bring in a cross-platform module.

idb-connector v1.1.9 is released now. It takes the code from PR #58


click 'join room ' button has no action,but 'auto open or join room' button work well

the least version has this problom: click 'join room ' button has no action,but 'auto open or join room' button work well;however the old version has no this problom! why?? and how to solve ?

Using demos from this page ( https://github.com/muaz-khan/RTCMultiConnection/tree/master/RTCMultiConnection-v3.0/demos ) without modifying any code?


Katex isn't working in conditional rendering blocks

For kata descriptions, Katex syntax doesn't work currently when used inside conditionnal rendering blocks:

currently renders as:

Note: is that possible to have the katex equations rendered with a smaller font too?

Note: is that possible to have the katex equations rendered with a smaller font too?

Check the options in "Size" section in KaTeX docs: https://katex.org/docs/supported.html

Should be fixed.

confirmed
:+1:


Expose stack outputs to hooks

:tada: This issue has been resolved in version 5.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat(cmd): add auth:whoami --all

closes #54
supercedes #118
requires deis/controller-sdk-go#36

Ah, I think the reason why it's failing to build is because my PR was out of date with master and had an older Jenkinsfile. That should do it!

Hmm, nope that didn't do the trick. @vdice am I missing something here to make the PR build with deis/controller-sdk-go#36?

@bacongobbler We don't yet have the mechanism in place for 'Requires' between workflow-cli and controller-sdk-go.  As of this writing, a PR in controller-sdk-go is run thru e2e by using that version in an otherwise 'master' version of workflow-cli, and, likewise, a PR in workflow-cli just defaults to using the 'master' version of controller-sdk-go.
That being said, we should be in a good position to add the 'Requires' functionality for any PRs in the former case (controller-sdk-go).  We should be able to clone into a forked workflow-cli repo at a certain commit before building the binary with the controller-sdk-go commit.  I will create this ticket.

Adding both LGTM labels as SDK, controller and e2e auth:whoami PRs have been approved for merge, so I'm assuming this is fine as well.


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v4.4.276",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=57ad99ae3c6738ba87bad259bb57c641ca68ebf6"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "57ad99ae3c6738ba87bad259bb57c641ca68ebf6",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "wl1251: Fix possible buffer overflow in wl1251_cmd_scan\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v4.4.276 by commit 57ad99ae3c6738ba87bad259bb57c641ca68ebf6. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1001488


[Windows] VSCode terminal not working with letter "ñ,á,é,í,ó,ú" from spanish alphabets

Does this issue occur when all extensions are disabled? Yes

VS Code Version: 1.93.1
OS Version: Windows 11 Enterprise 23H2

Hello, I am learning program in C, but using the VSCode integrated terminal have some limitation for the spanish characters.
Here is the program:
#include <stdio.h>
#include <stdlib.h>

// Librerías para trabajar con vocales acentuadas y caracteres especiales
#include <wchar.h>
#include <wctype.h>  // Para funciones como towlower() y iswalpha()
#include <locale.h>

// ============ //
//  Funciones  //
// ============ //

// Función para convertir a Minúscula
void aMinúscula(wchar_t* cadena) {
    for (size_t i = 0; cadena[i] != L'\0'; i++) {
        cadena[i] = towlower(cadena[i]);
    }
}

// Función para validar que no sea alfanúmerico.
int esLetras(const wchar_t* cadena) {
    for (size_t i = 0; cadena[i] != L'\0'; i++) {
        // isalnum: Verifica si el carácter es alfanúmerico
        if (!iswalpha(cadena[i])) {
            return 1;
        }
    }
    return 0;
}

// Validar si es Palíndromo la palabra
int esPalindromo(const wchar_t* palabra) {
    int inicio = 0;
    size_t fin = wcslen(palabra) - 1;

    while (inicio < fin) {
        if (palabra[inicio] != palabra[fin]) {
        // No es palíndromo
            return 0;
        }
        inicio++;
        fin--;
    }
    // Es palíndromo
    return 1;
}

// ==================== //
//  Programa Principal  //
// ==================== //
int main(int argc, char const* argv[]) {

    setlocale(LC_ALL, "");
    size_t buffer = 128; // Tamaño del buffer.
    wchar_t palabra[buffer];

    wprintf(L"Introduzca una palabra: ");

    if (fgetws(palabra, buffer, stdin) != NULL) {
        // Eliminamos el salto de linea que fgets añade
        palabra[wcscspn(palabra, L"\n")] = L'\0';
        // Convertimos la palabra a minúsculas para evitar problemas con mayúsculas.
        aMinúscula(palabra);

        // Válidamos la entrada del usuario
        if (esLetras(palabra)) {
            wprintf(L"Error: La entrada contiene caracteres no válidos para validar un palíndromo.");
            return 1;
        }

        if (esPalindromo(palabra)) {
            wprintf(L"La palabra \"%ls\" es palíndromo.", palabra);
        }
        else {
            wprintf(L"La palabra \"%ls\" no es palíndromo.", palabra);
        }
    }
    else {
        perror("Error al leer la entrada");
        return 1; // Código de Error al leer la entrada.
    }
    return 0;
}

In this app that is working with Wide Char for Spanish special words, must verify if the word inputted by the user is a palindrome or not.
The issue happen when I run the app in the VSCode integrated terminal, if I insert "Araña" (Spider in English), I will get the next output: "ara", instead of Araña.

Well, you should type spanish chars in the terminal.
If you correctly see them, the terminal is ok.
Also you should compare the results with your system (external) terminal.
Generally speaking, I have not idea why your code doesn't work.
Anyway a minimal working example should be the following code (even you force the readers having a C compiler setup):
#include <stdio.h>

int main() {
   printf("Araña");
}

Hope that helps.

It prints without issue that way.
The issue is when the user input comes, and only happens with vscode integrated terminal. If I use an external terminal I have no issue.

Like I said, only happens with vscode integrated terminal.
It prints without issue using printf.
The issue is when the user input comes, and only happens with vscode integrated terminal. If I use an external terminal I have no issue.

Well, you should type spanish chars in the terminal.
If you correctly see them, the terminal is ok.
Also you should compare the results with your system (external) terminal.
Generally speaking, I have not idea why your code doesn't work.
Anyway a minimal working example should be the following code (even you force the readers having a C compiler setup):
#include <stdio.h>

int main() {
   printf("Araña");
}

Hope that helps.

Testing in GNU/Linux (openSUSE Tumbleweed), this issue not happen, only in Windows.

Hey @DevDorrejo, thanks for reporting this. Wasn't able to compile your program on my machine, mind reducing it to a small, scoped snippet that could help me to repro the issue? Few things you can try:

ensure that your terminal is set to UTF-8 encoding by adding this to your settings:

"terminal.integrated.env.windows": { "LC_CTYPE": "UTF-8" }

ensure that font you are using supports UTF-8 encoding for the Spanish language; today almost all of fonts have the UTF-8 support, but most of them try to cover only a subset of languages, so it is possible that the ones you're using right now don't have support for Spanish:

"terminal.integrated.fontFamily": "{PUT FONTFAMILY HERE}"

setting locale correctly in your program might also help, but I see that you've already done it (setlocale(LC_ALL, "");) 👍

Please let us know if any of these steps help in your case 🤗

Issues like this are typically due to the shell not having the right encoding set. I think LC_CTYPE suggested above is a non-Windows thing, but try looking into setting the codepage for pwsh/cmd.


search: Filter search results to a single SDN type

Watchman Version: v0.27.0
What were you trying to do?
Filter results to entities of type "individual".
This is complicated by the fact that AltNames and Addresses are not stored in memory with the sdnType of their SDN. Also difficult because different lists have different enums for type. e.g. ukConsolidatedSanctionsList has "GroupType": "Individual", euConsolidatedSanctionsList has "EntitySubjectType": "person".
I suggest defining a generalised type enum in the Watchman API, then mapping that into the types of each watchlist. Similar to what is done for name.
What did you expect to see?
Results in SDNs, altNames, addresses, euConsolidatedSanctionsList, ukConsolidatedSanctionsList (maybe more lists) should be only for individuals.
What did you see?
Results are present in all lists (except SDNs) for Companies, Vessels, etc.
How can we reproduce the problem?
Use a Query or Name search with sdnType=individual. e.g https://oss.moov.io/watchman/search?q=a&sdnType=individual or https://oss.moov.io/watchman/search?name=a&sdnType=individual

Yea I agree. I think creating a generalized model for entity lists would help solve this.


Integrate Cypress Component-Tests into Sonar-Coverage

Description
Sonar does not respect the Cypress tests in the coverage-report. This seems to be doable by first generating coverage reports for Cypress and then merging them into the Vitest-reports.
In #322 I've tried integration of @cypress/code-coverage but this seems to be an issue that exceeds my use case.
Discussion
No response
Motivation
In the future Sonar should respect Cypress-Coverage reports so that writing component- and e2e-tests does not lead to failing quality gates.
Details
This could be achieved by:

[ ] adding @cypress/code-coverage as a dependency
[ ] adding import '@cypress/code-coverage/support' to cypress/support/component.ts and e2e.ts repectively
[ ] adding import codeCoverageTask from '@cypress/code-coverage/task'; to cypress.config.ts and adding the import to both the e2e {...} and component {...}
setupNodeEvents(on, config) {     if (config.env.coverage === true) {       codeCoverageTask(on, config);     }     return config   },
[ ] finding a way to instrument the code (see Cypress documentation)
[ ] making sure reports are being generated
[ ] maybe merging vitest and cypress coverage reports

Hello @astanik,
instead of half-bakedly integrating this into my pull request for #322 I've taken the liberty to revert our changes from this morning which would blow up my PR to a whopping 4500 lines of code.
Instead I've created this issue for someone else to take over and written down my thoughts and research on this topic.


how to get toDataURL of generated qr

I want to use the generated QR code other places in my project.  Is it possible to get the image from the canvas using toDataURL?  I know generally how to use toDataURL, but the problem is the canvas generated in your script has no id so I don't know how to reference it...

I would also like to get this working

can be done like this
var dataURL = $('canvas')[0].toDataURL("image/png");
console.log(dataURL);
window.open().document.write('');


Implement always_copy_files

Was: no_link in conda-build.
Instead of linking (by hardlink, or reflink) a file into the environment, force a "copy".
This is useful so that configuration files that might be changed on an environment-to-environment basis do not change in the cache. Hard-linked files are identical files so changing the file in the environmnet changes it in the cache and any other environment it is linked to.
This option would prevent that.
build:
  # do not soft- or hard-link these files, but always copy them was `no_link`
  always_copy_files: [glob]

Used in:
https://github.com/search?q=org%3Aconda-forge+no_link+language%3AYAML&type=code

fixed by #540


!google not working

title

{"responseData": null, "responseDetails": "The Google Web Search API is no longer available. Please migrate to the Google Custom Search API (https://developers.google.com/custom-search/)", "responseStatus": 403}

Removed !google in latest commit-- should be trivial to re-add though if someone wanted to do it (which I think is low priority because I hadn't ever seen anyone try using it)


[Snyk] Upgrade @testing-library/jest-dom from 6.5.0 to 6.6.2

Snyk has created this PR to upgrade @testing-library/jest-dom from 6.5.0 to 6.6.2.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 3 versions ahead of your current version.

The recommended version was released on a month ago.

Release notes

Package name: @testing-library/jest-dom

6.6.2 - 2024-10-176.6.2 (2024-10-17)
Bug Fixes

remove recursive type reference in vitest types (#636) (4468378)

6.6.1 - 2024-10-166.6.1 (2024-10-16)
Bug Fixes

fix lodash import in to-have-selection.js (#642) (ced792e)

6.6.0 - 2024-10-166.6.0 (2024-10-16)
Features

implement toHaveSelection (#637) (9b14804)

6.5.0 - 2024-08-236.5.0 (2024-08-23)
Features

toHaveValue: Asserting aria-valuenow (#479) (acbf416)

    from @testing-library/jest-dom GitHub release notes

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:

🧐 View latest project report
📜 Customise PR templates
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


[FEATURE]  Code Refactoring: Dividing Home Page Code into Section Components

Detailed description
I would like to raise an issue regarding the code structure of the home page.
Context
Currently, the code for the home page is quite extensive and complex, making it difficult to locate specific sections or make modifications efficiently.
Possible implementation
To address this concern, I propose refactoring the code by dividing the home page into smaller, more manageable section components. This approach will enhance code readability, maintainability, and reusability. By encapsulating each section's functionality and styling within separate components, it will be easier to navigate, understand, and modify the codebase.
Additional information
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hey @darkterminal @vinzvinci
I would like to work on this under GSSoc.
Please add the label gssoc23.
And assign it to me.

That is an excellent idea. We shall conduct a thorough review once your task is completed. Best of luck. 🤝🍀

Thank you for assigning it to me. 😊


Move Media Loader in Matrix SDK

Modify the dictionary of the progress statistics in order to be able to move media loader at SDK level.

This may be true for kMXKMediaLoaderCompletedBytesCountKey and kMXKMediaLoaderTotalBytesCountKey, but not for kMXKMediaLoaderProgressValueKey.


Ripple effects

While it is true that a pure click-based ripple is not attainable with pure CSS, what about a centered ripple?
It would be still more communicative than no effect at all.
For instance, a working sample (not mine) can be foundhttps://github.com/mladenplavsic/css-ripple-effect

The library you mentioned seems to have a bug when clicking buttons with an uneven pixel width. I'll see what i can do to fix this.

I just added centered ripple effects to the buttons, but i needed to remove all Valo button styles to make it work. This causes some other issues which need to be fixed before I can release it at Vaadin Addons.


TypeError: expected bytes, str found

OS: Windows 10 Pro
MSSQL Driver: ODBC Driver 13 for SQL Server
Backend: MSSQL Std. 2014 (django-pyodbc-azure)
Django 2.0.2
After checking nearly hundred internal commits, this issues appears the be in pyodbc 4.0.22.
Downgrade to 4.0.21 solved my problem.
https://github.com/michiya/django-pyodbc-azure/issues/145
Code:
datecancel now is a datetime object
datecancel = datetime.strptime(str(datecode), '%Y%m%d')
saving the new datetime to existing model
contract.u_dateend = datecancel
contract.save()
This also happens on every save without modification!
Exception:

TypeError: expected bytes, str found
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 22, in
execute_from_command_line(sys.argv)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\core\management_init_.py", line 371, in execute_from_command_line
utility.execute()
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\core\management_init_.py", line 365, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\core\management\base.py", line 288, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\core\management\base.py", line 335, in execute
output = self.handle(*args, **options)
File "C:\SW-Projekte\enterprisehub\dit_enterprisehub_contracts\management\commands\dol_cancel_contract.py", line 86, in handle
contract.save()
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\db\models\base.py", line 729, in save
force_update=force_update, update_fields=update_fields)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\db\models\base.py", line 759, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\db\models\base.py", line 823, in _save_table
forced_update)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\db\models\base.py", line 872, in _do_update
return filtered._update(values) > 0
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\db\models\query.py", line 709, in _update
return query.get_compiler(self.db).execute_sql(CURSOR)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\db\models\sql\compiler.py", line 1375, in execute_sql
cursor = super().execute_sql(result_type)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\db\models\sql\compiler.py", line 1064, in execute_sql
cursor.execute(sql, params)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\db\backends\utils.py", line 100, in execute
return super().execute(sql, params)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\db\backends\utils.py", line 68, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\db\backends\utils.py", line 77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\django\db\backends\utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "C:\Program Files (x86)\Python36-32\lib\site-packages\sql_server\pyodbc\base.py", line 520, in execute
return self.cursor.execute(sql, params)
SystemError: <class 'pyodbc.ProgrammingError'> returned a result with an error set

Duplicate of #341

I've backed out the problematic changes from 4.0.22.  Please try 4.0.23.  I'll close because I expect this to fix it, but please reopen if it does not.


Infinite pool error event

Here is the code

import * as sql from 'mssql';

const pool = new sql.ConnectionPool(config.msSqlConfig);

pool.connect(error => {
    if (error) {
        logger.crit('Database connection error.', error.toString());
    }
});

pool.on('error', error => {
    if (error) {
        logger.crit('Pool error.', error.toString());
    }
});

function registerUser(user) {
    return pool.request()
        .input('name', Sql.SqlTypes.NVarChar(255), user.name)
        .input('email', Sql.SqlTypes.NVarChar(255), user.email)
        .input('password', Sql.SqlTypes.NVarChar(Sql.SqlTypes.MAX), user.password)
        .execute('registerUser')
        .then(result => {
        })
        .catch(error => {
           logger.crit('Query error.', error.toString());
        });
}

When the pool is initialized connection is available. Once connection is established I intentionally shutdown Sql Server and try to execute registerUser.
Here is what I get in my log:
...
2017-05-04 15:13:15 EDT - crit: Pool error. ConnectionError: Failed to connect to <IP_ADDRESS>:1433 - connect ECONNREFUSED <IP_ADDRESS>:1433
2017-05-04 15:13:16 EDT - crit: Pool error. ConnectionError: Failed to connect to <IP_ADDRESS>:1433 - connect ECONNREFUSED <IP_ADDRESS>:1433
2017-05-04 15:13:16 EDT - crit: Pool error. ConnectionError: Failed to connect to <IP_ADDRESS>:1433 - connect ECONNREFUSED <IP_ADDRESS>:1433
2017-05-04 15:13:17 EDT - crit: Pool error. ConnectionError: Failed to connect to <IP_ADDRESS>:1433 - connect ECONNREFUSED <IP_ADDRESS>:1433
2017-05-04 15:13:17 EDT - crit: Pool error. ConnectionError: Failed to connect to <IP_ADDRESS>:1433 - connect ECONNREFUSED <IP_ADDRESS>:1433
...
Messages never stop. It just keeps loging errors indefinitly.
If I don't sign up for pool error event I get
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): ConnectionError: Failed to connect to <IP_ADDRESS>:1433 - connect ECONNREFUSED <IP_ADDRESS>:1433

I have something similar, in my case ESOCK error when the network goes down.
Has a workaround I managed to break the loop by throwing an exception in the pool.on('error' ...
pool.on('error', error => {
   this.err = error
   throw new Error('Socket error, thown expcetion to prevent error loop')
})

Can you explain where you catch that exception?

This is due to a problem with thee way generic-pool tries to acquire good connections. It is now fixed in v5 (by adding a retry backoff) and v6 (by removing generic-pool)

see #808 and #806
Also duplicate of #470