feat(github): adding support for Pull Requests templates

fixes #1225

@simison looks ok to you?

@lirantal shouldn't that be moved out of CONTRIBUTING.md as well if we're moving it into a new GH-based feature?

LGTM
@ilanbiala Personally, I'd like to leave it in both places as most people are accustomed to looking for the CONTRIBUTING.md document. My vote would be to revisit the duplicate data in a couple months and see if it's worth keeping in both places or not.

Okay, SGTM.

The reason I left it in the CONTRIBUTING.md is because I think it has it's place.
While some people make a PR from GitHub's UI, others can benefit when they are working offline or in general would like to review the contribution guideline before they begin their contribution.


v2 add this_object() support to type checker

Currently this_object() call expressions resolve as type object. they should resolve as the type type of the current sourcefile.

This will default to the current file but can be overridden using a // @this-object <filename> directive.


open vim in nvim terminal will causing error

Version confirmation

[X] Confirm

Following prerequisites

[X] Confirm

Neovim version
0.9.0
Operating system/version
macOS 13.2.1
Terminal name/version
Warp
$TERM environment variable
xterm-256color
Branch info
main (Default/Latest)
Fetch Preferences
HTTPS (use_ssh = false)
How to reproduce the issue

open terminal in nvim using M-d (floating terminal) or vertical or horizontal
open vim in terminal
before vim open, some error will print

Expected behavior
no error should print before open vim
Actual behavior
error printed before open vim:
> vim
Error detected while processing /Users/saafo/.vimrc[2]../opt/homebrew/Cellar/neovim/0.9.0/share/nvim/runtime/s
yntax/syntax.vim:
line   43:
E216: No such group or event: filetypedetect BufRead
Error detected while processing /opt/homebrew/Cellar/neovim/0.9.0/share/nvim/runtime/plugin/rplugin.vim[66]..f
unction <SNR>13_LoadRemotePlugins[1]..<SNR>13_GetManifest[1]..<SNR>13_GetManifestPath:
line    7:
E117: Unknown function: stdpath
Press ENTER or type command to continue

Additional information
No response

Can u reproduce it on other terminal emulator?

@CharlesChiuGit Yes, I can reproduce it on iTerm2

This is very weird, BufRead autocmd is in the doc for a very long time. I think sth is wrong with the nvim u use.
How did u install nvim 0.9?

Well, I install and upgrade neovim through brew.

I revert all my changes in local (reset to current main branch), and the problem still exist

Can u try this version?
https://github.com/neovim/neovim/releases/tag/stable

Yes I'm currently using this version. Do you mean I should uninstall nvim and install it through this way?
Download nvim-macos.tar.gz
Run xattr -c ./nvim-macos.tar.gz (to avoid "unknown developer" warning)
Extract: tar xzvf nvim-macos.tar.gz
Run ./nvim-macos/bin/nvim

ys!

I run ./nvim-macos/bin/nvim and still can reproduce...

wait, u mean u want to open vim inside on nvim?

I'm not sure whether it's related to my .vimrc, since I delete my .vimrc, the error message changed:
❯ vim
E1187: Failed to source defaults.vim
Error detected while processing /Users/saafo/Downloads/nvim-macos/share/nvim/runtime/plugin/rplugin.vim[66]..f
unction <SNR>9_LoadRemotePlugins[1]..<SNR>9_GetManifest[1]..<SNR>9_GetManifestPath:
line    7:
E117: Unknown function: stdpath
--- Autocommands ---
Error detected while processing /Users/saafo/Downloads/nvim-macos/share/nvim/runtime/plugin/shada.vim:
line    9:
E10: \ should be followed by /, ? or &
line   10:
E10: \ should be followed by /, ? or &
line   11:
E10: \ should be followed by /, ? or &
--- Autocommands ---
line   13:
E10: \ should be followed by /, ? or &
line   14:
E10: \ should be followed by /, ? or &
--- Autocommands ---
line   16:
E10: \ should be followed by /, ? or &
line   17:
E10: \ should be followed by /, ? or &
line   18:
E10: \ should be followed by /, ? or &
line   19:
E10: \ should be followed by /, ? or &
line   20:
E35: No previous regular expression
line   21:
E10: \ should be followed by /, ? or &
line   22:
E10: \ should be followed by /, ? or &
--- Autocommands ---
line   24:
E10: \ should be followed by /, ? or &
line   25:
E10: \ should be followed by /, ? or &
line   26:
E10: \ should be followed by /, ? or &
line   27:
E10: \ should be followed by /, ? or &
line   28:
E10: \ should be followed by /, ? or &
line   29:
E10: \ should be followed by /, ? or &
--- Autocommands ---
line   31:
E10: \ should be followed by /, ? or &
line   32:
E10: \ should be followed by /, ? or &
line   33:
E10: \ should be followed by /, ? or &
line   34:
E10: \ should be followed by /, ? or &
line   35:
E10: \ should be followed by /, ? or &
line   36:
E10: \ should be followed by /, ? or &
--- Autocommands ---
line   38:
E10: \ should be followed by /, ? or &
Press ENTER or type command to continue

my original .vimrc:
set nocompatible
syntax on
set showmode
set laststatus=2
set showcmd
set mouse=a
set encoding=utf-8
set t_Co=256
filetype indent on

set autoindent
set tabstop=2
set shiftwidth=4
set expandtab
set softtabstop=2

set number
set cursorline
set textwidth=120
set wrap
set linebreak
set wrapmargin=2
set scrolloff=3
set sidescrolloff=5
set ruler

set showmatch
set hlsearch
set incsearch
set ignorecase
set smartcase

set visualbell
set autoread
set listchars=tab:»■,trail:■
set list

set wildmenu
set wildmode=longest:list,full

if has('clipboard')
    if has('unnamedplus')  " When possible use + register for copy-paste
        set clipboard=unnamed,unnamedplus
    else         " On mac and Windows, use * register for copy-paste
        set clipboard=unnamed
    endif
endif

wait, u mean u want to open vim inside on nvim's term mode?

Yes exactly! open vim in nvim's emulate terminal

Can reproduce in ubuntu22.04.

I think this is basically impossible to do. It's not a nvim config issue.
I tried with nvim --clean and the result is still the same.
So I think using vim inside nvim is forbidden by god.
But u can use nested nvim if u know how to use rpc correctly.

Fell free to comment if u have some new insights!

This is expected, since $VIMRUNTIME is set to Neovim's runtime. Please unset it before running vim in :terminal.

I argue this problem because I use Lazygit in nvim's terminal, and when I wrote commit message, it will open editor.
I'll try to set editor env to nvim to avoid open vim in nvim.

I argue this problem because I use Lazygit in nvim's terminal, and when I wrote commit message, it will open editor.
I'll try to set $EDITOR env to nvim to avoid open vim in nvim.

Yep this will do the trick 👍

This is expected, since $VIMRUNTIME is set to Neovim's runtime. Please unset it before running vim in :terminal. Remember that vim and nvim share the vast majority of options.
cc @Saafo @CharlesChiuGit

No luck for me. QAQ

@CharlesChiuGit u need to set VIMRUNTIME=vim 😄

Looks like you need to manually specify rtp for vim:
export VIMRUNTIME=/usr/share/vim/vim90 # replace this with your vim rtp
unset VIM

It can enter vim after pressing enter, but it's too much work to do lol

That's what i did too lol

It can enter vim after pressing enter, but it's too much work to do lol

Yep nvim -u ~/.config/nvim/init.vim would suffice if the user insists on wanting vim's behavior.

It can enter vim after pressing enter, but it's too much work to do lol

Yep nvim -u ~/.config/nvim/init.vim would suffice if the user insists on wanting vim's behavior lol

Closing as the original issue has been resolved.


Picture changed

Pull Request Template
Description
Pictures of the examples changed for:
HF -armoured cable example Q2D
LF - eddy current trafo in 2DRZ
LF - electrostatic 2DXY
Checklist
Please complete the following checklist before submitting your pull request:

[x ] I have followed the example template and guide lines to add/update an example.
[x ] I have tested the example locally and verified that it is working with the latest version of AEDT.
[ x] I have verified that these changes to the best of my knowledge do not introduce any security vulnerabilities.

@tizianrot why did you close this PR ?

Hallo @SMoraisAnsys,
I reopened it, with @gmalinve we saw the checks were passed and we thought it could be closed.


v0.2.0

What are you trying to accomplish?
Bumps the version from 0.1.0 to 0.2.0.
Before you deploy

[ ] I have added tests to support my implementation
[ ] I have read and agree with the contributing documentation readme
[ ] I have read and agree with the code of conduct documentation readme
[ ] I have updated any documentation related to these changes.
[ ] I have updated the README (if applicable).

Closing in favour of https://github.com/Shopify/mobile-checkout-sdk-ios/pull/53


How do I crop vertical videos?

Hi,
You specified to crop all the videos to 256x256.
But what if I have a vertical video of 720x940?
The videos in the fashion dataset have such a resolution.
How do I crop those videos?
Should I crop only the width preserving the aspect ratio? Because otherwise I would not get the full person in the video.
Another question that I have is, How do I train on higher resolution images such as 512 or 1024?
Should I make changes to the code for that?
Thanks

I just resize them to 256x256.
See related issue https://github.com/AliaksandrSiarohin/first-order-model/issues/81


Error: You have to initialize Riffy in your ready event

[2024-06-30 14:23:11]: An error occurred while processing a slash command: Error: You have to initialize Riffy in your ready event     at Riffy.createConnection (/home/container/node_modules/riffy/build/structures/Riffy.js:95:36)     at Object.run (/home/container/sleepy/sleepy/structures/slashcommands/music/play.js:27:37)     at Client.<anonymous> (/home/container/sleepy/sleepy/structures/events/client/interactionCreate.js:84:23)     at Client.emit (node:events:525:35)     at InteractionCreateAction.handle (/home/container/node_modules/discord.js/src/client/actions/InteractionCreate.js:97:12)     at module.exports [as INTERACTION_CREATE] (/home/container/node_modules/discord.js/src/client/websocket/handlers/INTERACTION_CREATE.js:4:36)     at WebSocketManager.handlePacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketManager.js:355:31)     at WebSocketManager.<anonymous> (/home/container/node_modules/discord.js/src/client/websocket/WebSocketManager.js:239:12)     at WebSocketManager.emit (/home/container/node_modules/@vladfrangu/async_event_emitter/dist/index.cjs:285:31)     at WebSocketShard.<anonymous> (/home/container/node_modules/@discordjs/ws/dist/index.js:1190:51)

Just type client.riffy.init(client.user.id) in your ready event file


feature request: ISO-8859-1 (Latin1) output

Hi,
[tldr]
please add an option so the output is presented in ISO-8859-1 (Latin1) format.
For example this could be added to ?format section or a new option ?compatibility or ?charset
[/tldr]
Background: I try to control blinds and shutters regarding on weather and wind condition. Unfortunately the scripting engine is only compatible with the mentioned character set ISO-8859-1 (Latin1).
So
+20°C ↖13 km/h 46%
becomes

which screws up the values, too (Screenshot as copy & paste screws it up even further).
So wind indication could be
↑	south ↗	south-west →	west ↘	north-west ↓	north ↙	north-east ←	east ↖	south-east
or a shortened form of it like S, SW, ...
I guess this will have some drawback on condition %c with the nice weather symbols on the other hand, but only when in compatibility mode the symbols like sunny, cloudy etc are not printed to the output - one would simply get a string of the condition.

can be ignored - someone helped me transforming the output to Latin1 in my script.
Leaving it open, maybe this is useful for someone else. If not please close :-)

@vMarkus I think it is a pretty useful feature, and should be implemented. iconv and other tools alike are not always installed on the computer, where you access wttr.in from, so it would be really great to have such feature


Unable to switch pages in karate-chrome docker due to pop-up blockers

While executing UI tests in karate-chrome docker container, I see that chrome instance opening with default pop-up blocker feature hence scripts containing the switchPage step are failing eventually. I validated this behavior in my local which is working fine. When I looked at the DockerTarget class, there is no option to suppress the pop-up blockers similar to the chrome driver implementation.
I tried adding "--disable-popup-blocking" to the driverTarget configuration, but the issue is still happening. Below is the complete driver configuration used for docker container.
* configure driverTarget = { docker: 'ptrthomas/karate-chrome', showDriverLog: true, addOptions:["--disable-popup-blocking", "--disable-extensions"]}
Any help to fix this issue or a possible workaround is greatly appreciated.
The sample project with this issue can be accessed here https://github.com/talk2sreenu/karateChromeSwitchPage.git
Maven goal to execute the scripts : mvn clean test
Thanks in advance.

I'm closing this as a duplicate of #1935
yes ideally there should be a way to customize the docker chrome start script to add custom options. anyone is welcome to contribute a PR or an approach


The 'Algorithm Cheat Sheet' looks outdate

The 'Algorithm Cheat Sheet' looks outdated, for instance, it doesn't include important ML tasks such as Time-Series Forecasting with algorithms such as Auto-Arima, Prophet, Time-Series-Regressors, etc.
Also, additional algorithms for Clustering, Recommenders and Image Classification based on Transfer Learning architectures (Inceptionv3, ResNet, etc.)

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

ID: 5cfad9fe-242d-c81a-319a-393ace5480a5
Version Independent ID: fad36df8-e42c-3246-3fde-388f4bc670ba
Content: Machine Learning Algorithm Cheat Sheet - Azure Machine Learning
Content Source: articles/machine-learning/algorithm-cheat-sheet.md
Service: machine-learning
Sub-service: core
GitHub Login: @FrancescaLazzeri
Microsoft Alias: lazzeri

@CESARDELATORRE Thanks for the feedback. We will update you shortly.

Moved discussion offline.  #please-close


Add didFail-hook

Some plugins need the ability to react to failures in the deployment
pipeline to for example notify some webservice of the failed deployment.
It is now possible to add a didFail-hook to a plugin that gets
executed as soon as a deployment-hook's execution promise rejects.

add didFail-hook to pipeline
'deanonymize' functions in pipeline utility class

ping @achambers
I also tried to cleanup the anonymous functions to make it clearer for others what the pipeline is doing. Method names are pretty long but I think it's more readable that way.

Is this good to merge then @LevelbossMike ?

Yes. Worked for my use-case with the slack plugin. So I think this is good to merge

Thanks @LevelbossMike


positive pairs

As the two crops have different scales in the original image, and after the network, the two outputs have the same size. So how did you find the positive pairs, i.e., how did the correspondence come from? After the two different transformations, the two crops are not aligned.

i have a coordinate matrix for each image, which i also crop and interpolate, so that i can then finally determine the positive pairs through some distance threshold

You mean the same crop and other transformations are adopted in both the image and its corresponding coordinates? So the transformed coordinates are correspond to a same  coordinate system for the two crops.

@lucidrains thank you for the great work !
Could you please add some comments or documentation on how you're calculating these pairs ?
I have tried debugging and going step by step in your implementation, but there are still things I don't really understand.
For instance:

In the paper they say: The distances are normalized to the diagonal length of a feature map, whereas it seems you are normalizing by the diagonal length of the actual image ?
I also do not really understand the way you are doing this: feature map is first warped to the original image space
How do you track features corresponding to a pixel in the original image space ?

Thanks again !

I have the same questions, did you get over it?


Update sqlcmd-utility.md

Hello SQL Server Docs Team,
There was a typo in the command suggested to check the version of sqlcmd
sqlcmd "-?"

while using "-?" works in go-sqlcmd, it throws the following error in the ODBC-based sqlcmd:
>sqlcmd "-?"
Sqlcmd: '-?': Unknown Option. Enter '-?' for help.

Removing the quotation marks and just running sqlcmd -? works in both flavors of sqlcmd.
Have a great weekend!

@VladDBA I tested this on macOS, Windows, and Linux, on the ODBC version shipped with SQL Server, as well as go-sqlcmd, and the "-?" was the only one that worked on all of them.
Do you mind providing the ODBC version you used, so that we check on our side.

Digging deeper: PowerShell accepts "-?" just fine, which is what I tested previously. cmd.exe doesn't like it.
So we have no universal way of running a single command, across multiple operating systems and variations of sqlcmd (ODBC / Go) to check which version is running. That is disappointing.

@dlevy-msft

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@dlevy-msft

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged" @MicrosoftDocs/public-repo-pr-review-team

Sure thing! Working with Randolph on this right now.

@VladDBA I'm closing this PR as-is. We are going to use zone pivots in the article, so when you choose your command line tool at the top, it'll show the appropriate value.
If you're going to reference this later for the sake of recording your contributions, it definitely counts.

Digging deeper: PowerShell accepts "-?" just fine, which is what I tested previously. cmd.exe doesn't like it.
So we have no universal way of running a single command, across multiple operating systems and variations of sqlcmd (ODBC / Go) to check which version is running. That is disappointing.

Hey, @rwestMSFT,
Sorry, I realized now I was a bit stingy on the details.
Yes, I got that behavior in cmd (with sqlcmd version 15.0.2000.5, if it still matters), I didn't even consider testing in PowerShell.
Thank you for the update and have a great weekend!

@VladDBA The updated article is already live. You had excellent timing.


Sui Wallet bug about derive path / sub account error

Steps to Reproduce Issue
on Chrome

Install Sui Wallet v<IP_ADDRESS>
Import an exist mnemonic:
acoustic monster quit mansion fan close carry fortune recipe federal brother hunt
Check Account Address: 0x4f4a6b4ed7233197ea629f04ac06352bc48f69a69fa75909523503588b9f964e

This address is expected ( same as the address sui-ts-sdk generated)

Accounts => Create New Account => new Account addresses are not expected
Wallet sub accounts :
0x4086b32a02ad4d1f727e1bb8c2ac6e9c76841e0bcd040c5ed000ec26c7e7e9bb
0x4cc38229071393e0d93e67e5bfe2a9cbc8f048598a778205d3dbe5996fae1014
...

sui-ts-sdk generated sub accounts
0x0f86647b1e41dd5bcd49933c011fb3d86e98bbf11f5150d62f25f0f14f787e49
0xc90808d83f0f236d5ac3687f1c2645147b81630179aac2869a9afd43e3d11044
...

sui ts sdk version:

<EMAIL_ADDRESS>"^0.30.0"

code:
    for (let i = 0; i < 100; i++) {
        const keypair = Ed25519Keypair.deriveKeypair(mn, `m/44'/784'/0'/0'/${i}'`);
        const signer = new RawSigner(keypair, provider);
        console.log(await signer.getAddress())
      }

Expected Result
The subaccount addresses generated by the Sui Wallet should be exactly the same as those generated by sui ts sdk
Actual Result
The main account address generated by Sui wallet is the same as the main account address generated by sdk,
the sub-account addresses are completely different.
This issue does not exist before ( old wallet and ts-sdk with any version)
System Information

Sui Wallet version:   v<IP_ADDRESS>
Ts-sdk:   ^0.30.0

Ed25519Keypair.deriveKeypair(mn, m/44'/784'/0'/0'/${i}' should beEd25519Keypair.deriveKeypair(mn, m/44'/784'/${i}'/0'/0'
see https://tech.mystenlabs.com/cryptography-in-sui-wallet-specifications/
To support multi-account, we recommend incrementing the account level starting at zero.


Local stub publishing reimplemented

While the previous approach did publish the contracts to local .m2 repository, it did not create the maven-metadata-local.xml file indicating a local release. It instead created maven-metadata.xml, which indicates a remote release. This wasn't issue when the stubs were retrieved by Gradle directly (in our flow we pre-check availability of these stubs by Gradle), it did however cause problems when they were being resolved by AetherStubDownloader used in SCC Stub Runner.
In addition, this newer implementation allows to enable any publish (remote or local) independently of each other, which wasn't the case previously.
Fixes #1283 - again

Hi @marcingrzejszczak , please review this "bugfix" once again, it would be awesome if it could make its way to 2.2.1.RELEASE, like the last fix did.


Secure RSS feeds not working

Exactly what it says in the title.

(o5 command wiki is dead anyway, can i close this? @x10102 @Aidam7 )


Can not set container name

Hi,
I am trying to set a name for my container, but that does not seem to work.
setNames() on the ContainerConfig-Object does not set it with Docker.
If I try to pass any parameter to the start() function of the ContainerManager, I get:
"[Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException]
  The option "name" does not exist. Defined options are: "". "

It seems that for other methods in the ContainerManager, some default options are set. But none are available in the start() command.
Docker 1.10.1

Can you show me the code you use for this ?
You should normally only do the following :
$containerManager->start($name);

Ah, I've been using
$containerManager()->start($containerCreateResult->getId());
Going to change this now.

This work also, but you specify the name on the create method of the container, start only launch an already created container.

I'm also having this issue, getting a Not Found error. here's the code:
    $containerManager = $docker->getContainerManager();
    $containerConfig = new ContainerConfig();
    $containerConfig
        ->setImage('busybox:latest')
        ->setEnv(['foo=barr'])
        ->setNames(['franklin'])
        ->setCmd(['echo', 'I am running a command']);

    $res = $containerManager->create($containerConfig);
    $containerManager->start('franklin');

and the relevant portion of the trace:
in ErrorPlugin.php line 45
at ErrorPlugin->transformResponseToException(object(Request), object(Response)) in ErrorPlugin.php line 27
at ErrorPlugin->Http\Client\Plugin\{closure}(object(Response)) in FulfilledPromise.php line 35
at FulfilledPromise->then(object(Closure)) in ErrorPlugin.php line 28
at ErrorPlugin->handleRequest(object(Request), object(Closure), object(Closure)) in PluginClient.php line 133
at PluginClient->Http\Client\Plugin\{closure}(object(Request)) in PluginClient.php line 147
at PluginClient->Http\Client\Plugin\{closure}(object(Request)) in PluginClient.php line 87
at PluginClient->sendRequest(object(Request)) in DockerClient.php line 41
at DockerClient->sendRequest(object(Request)) in ContainerResource.php line 317
at ContainerResource->start('franklin') in TestController.php line 63
at TestController->create()

It does work however if I do $containerManager->start($res->getId()).

I just got around trying with the name - also got a 404.

i use $this->dockerContainerManager->create($container, ['name' => 'web1-' . $this->application->getAppId()])

Nice, that seems to work!


⚠ Secret Website 3 has degraded performance

In 9f8fe2c, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 3097 ms

Resolved: Secret Website 3 performance has improved in c063652.


LICENSING ISSUE

It seems currently that the repository does not have a proper software license, this coupled with implicit copyright law means that to add a proper license we need the explicit permission of every contributor...
I suggest creating a new branch from the initial commit

Then @KarmyDev and @TheHattedKid can co-sign a commit that adds a LICENSE file on this new branch,
Edit: I believe @TheHattedKid has to sign the commit, not @KarmyDev (lol)
and in the extended commit message write a little note about agreeing to it.
Then simply rebase main onto this new branch,
change the primary branch of the repo on gh to the new one,
delete the old main,
and rename new to main.

This would result in the repository being properly licensed troughout it's entire history, with all the :sparkles: legal mumbo-jumbo :sparkles: dealt with (lol)
pls karmy license ur code right away next time, sorry for the intrusion..

Currently working on it
and yes, i will be more cautious next time

Thanks, gonna do a PR.

Alright. Closing this issue since it's already fixed.
Thanks @Vawlpe for the notice and @TheHattedKid for the agreement.


POSTCSS: failed to transform "assets/main/bundle.min.css"

Hi,
Trying to deploy latest version on CF Pages, however it fails with: Error: Error building site: POSTCSS: failed to transform "assets/main/bundle.min.css" (text/css): SyntaxError: Unexpected token ] in JSON at position 95
Complete build log:
.......
2023-01-25T05:42:01.626552Z	Success: Finished cloning repository files
2023-01-25T05:42:02.377468Z	Installing dependencies
2023-01-25T05:42:02.389335Z	Python version set to 2.7
2023-01-25T05:42:05.966623Z	Downloading and installing node v16.13.2...
2023-01-25T05:42:06.420087Z	Downloading https://nodejs.org/dist/v16.13.2/node-v16.13.2-linux-x64.tar.xz...
2023-01-25T05:42:06.838438Z	Computing checksum with sha256sum
2023-01-25T05:42:06.965865Z	Checksums matched!
2023-01-25T05:42:11.29325Z	Now using node v16.13.2 (npm v8.1.2)
2023-01-25T05:42:11.709604Z	Started restoring cached build plugins
2023-01-25T05:42:11.723894Z	Finished restoring cached build plugins
2023-01-25T05:42:12.247231Z	Attempting ruby version 2.7.1, read from environment
2023-01-25T05:42:15.978588Z	Using ruby version 2.7.1
2023-01-25T05:42:16.352566Z	Using PHP version 5.6
2023-01-25T05:42:16.520341Z	5.2 is already installed.
2023-01-25T05:42:16.549973Z	Using Swift version 5.2
2023-01-25T05:42:16.550521Z	Started restoring cached node modules
2023-01-25T05:42:16.56905Z	Finished restoring cached node modules
2023-01-25T05:42:17.053726Z	Installing NPM modules using NPM version 8.1.2
2023-01-25T05:42:35.56786Z
2023-01-25T05:42:35.568212Z	added 480 packages, and audited 481 packages in 18s
2023-01-25T05:42:35.56837Z
2023-01-25T05:42:35.568511Z	47 packages are looking for funding
2023-01-25T05:42:35.568625Z	  run `npm fund` for details
2023-01-25T05:42:35.570321Z
2023-01-25T05:42:35.570566Z	found 0 vulnerabilities
2023-01-25T05:42:35.585841Z	NPM modules installed
2023-01-25T05:42:36.136716Z	Installing Hugo 0.106.0
2023-01-25T05:42:37.498208Z	hugo v0.106.0-e08ce30fe4779e7d8a8395d7021314b915648cb4+extended linux/amd64 BuildDate=2022-11-17T18:33:40Z VendorInfo=gohugoio
2023-01-25T05:42:37.503527Z	Started restoring cached go cache
2023-01-25T05:42:37.526693Z	Finished restoring cached go cache
2023-01-25T05:42:37.527573Z	Installing Go version 1.18.1
2023-01-25T05:42:45.611424Z
2023-01-25T05:42:45.627776Z	unset GOOS;
2023-01-25T05:42:45.643574Z	unset GOARCH;
2023-01-25T05:42:45.643923Z	export GOROOT='/opt/buildhome/.gimme_cache/versions/go1.18.1.linux.amd64';
2023-01-25T05:42:45.644134Z	export PATH="/opt/buildhome/.gimme_cache/versions/go1.18.1.linux.amd64/bin:${PATH}";
2023-01-25T05:42:45.644593Z	go version >&2;
2023-01-25T05:42:45.644758Z
2023-01-25T05:42:45.650898Z	export GIMME_ENV="/opt/buildhome/.gimme_cache/env/go1.18.1.linux.amd64.env"
2023-01-25T05:42:45.664896Z	go version go1.18.1 linux/amd64
2023-01-25T05:42:45.668205Z	Installing missing commands
2023-01-25T05:42:45.668492Z	Verify run directory
2023-01-25T05:42:45.668691Z	Executing user command: hugo --minify
2023-01-25T05:42:47.716973Z	hugo: downloading modules …
2023-01-25T05:42:48.637348Z	hugo: collected modules in 2921 ms
2023-01-25T05:42:48.759106Z	Start building sites …
2023-01-25T05:42:48.759392Z	hugo v0.106.0-e08ce30fe4779e7d8a8395d7021314b915648cb4+extended linux/amd64 BuildDate=2022-11-17T18:33:40Z VendorInfo=gohugoio
2023-01-25T05:42:52.45272Z	Error: Error building site: POSTCSS: failed to transform "assets/main/bundle.min.css" (text/css): SyntaxError: Unexpected token ] in JSON at position 95
2023-01-25T05:42:52.453007Z	    at JSON.parse (<anonymous>)
2023-01-25T05:42:52.453163Z	    at defaultExtractor (/tmp/hugo_cache/modules/filecache/modules/pkg/mod/github.com/razonyang/hugo-theme-bootstrap@v1.0.0-beta2/purgecss.config.js:11:22)
2023-01-25T05:42:52.453351Z	    at A (/opt/buildhome/repo/node_modules/purgecss/lib/purgecss.js:1:4142)
2023-01-25T05:42:52.453502Z	    at P.extractSelectorsFromFiles (/opt/buildhome/repo/node_modules/purgecss/lib/purgecss.js:1:6179)
2023-01-25T05:42:52.453628Z	    at async /opt/buildhome/repo/node_modules/@fullhuman/postcss-purgecss/lib/postcss-purgecss.js:1:646
2023-01-25T05:42:52.453738Z	    at async LazyResult.runAsync (/opt/buildhome/repo/node_modules/postcss/lib/lazy-result.js:433:15)
2023-01-25T05:42:52.453844Z	    at async Promise.all (index 0)
2023-01-25T05:42:52.453948Z	Total in 6740 ms
2023-01-25T05:42:52.466502Z	Failed: build command exited with code: 255
2023-01-25T05:42:53.408444Z	Failed: an internal error occurred

It builds and runs just fine on WSL (Ubuntu). I also matched the same versions of hugo, node, etc.
Any idea what is happening?

I think this issue comes from hugo_stats.json or extra_stats.json. You can output and check those files by cat command or something else during the CF deployment.

I don't think you can cat during CF deployment.

Another clue is that emulate this in local, hugo -e production --minify -b http://localhost:1313.

Another clue is that emulate this in local, hugo -e production --minify -b http://localhost:1313.

Yes, this works. Now checking.

All good, an extra "," was present in extra_stats.json.
Thank you!


reflect-metadata eror

General Question
Read the Notes and fill out the form.
Switch to Preview for reading.
Notes
Your issue will be closed if you violate any rule below.

You need to include a meaningful descriptions and e.g. a screenshot.
You do not include screenshots of your code.
Read the Docs.
Capturing endpoints and similar can be found here
(read it if you are going to ask about it).
You can delete this section after reading it.

Form
Put an [x] if you meet the condition, else leave [ ].

[ x] I've searched the Issues
[ ] I've read the basic concepts
[ ] I'm using the latest version

Question
A specific question, so it's understandable to anyone.
You may add pictures.
YOUR QUESTION HERE
I want to post a video on Instagram, but even though I installed reflect-metadata, I still get this error
Code
/* tslint:disable:no-console */
const { IgApiClient } = require('./index.ts');
const { sample } = require('lodash');

const ig = new IgApiClient();
// You must generate device id's before login.
// Id's generated based on seed
// So if you pass the same value as first argument - the same id's are generated every time
ig.state.generateDevice(process.env.IG_USERNAME);
// Optionally you can setup proxy url
ig.state.proxyUrl = process.env.IG_PROXY;
(async () => {
  // Execute all requests prior to authorization in the real Android application
  // Not required but recommended
  await ig.simulate.preLoginFlow();
  const loggedInUser = await ig.account.login(process.env.IG_USERNAME, process.env.IG_PASSWORD);
  // The same as preLoginFlow()
  // Optionally wrap it to process.nextTick so we dont need to wait ending of this bunch of requests
  process.nextTick(async () => await ig.simulate.postLoginFlow());
  // Create UserFeed instance to get loggedInUser's posts
  const userFeed = ig.feed.user(loggedInUser.pk);
  const myPostsFirstPage = await userFeed.items();
  // All the feeds are auto-paginated, so you just need to call .items() sequentially to get next page
  const myPostsSecondPage = await userFeed.items();
  await ig.media.like({
    // Like our first post from first page or first post from second page randomly
    mediaId: sample([myPostsFirstPage[0].id, myPostsSecondPage[0].id]),
    moduleInfo: {
      module_name: 'profile',
      user_id: loggedInUser.pk,
      username: loggedInUser.username,
    },
    d: sample([0, 1]),
  });
})();

Error and Output
import 'reflect-metadata';
^^^^^^

SyntaxError: Cannot use import statement outside a module
←[90m    at Object.compileFunction (node:vm:352:18)←[39m
←[90m    at wrapSafe (node:internal/modules/cjs/loader:1031:15)←[39m
←[90m    at Module._compile (node:internal/modules/cjs/loader:1065:27)←[39m
←[90m    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)←[39m
←[90m    at Module.load (node:internal/modules/cjs/loader:981:32)←[39m
←[90m    at Function.Module._load (node:internal/modules/cjs/loader:822:12)←[39m
←[90m    at Module.require (node:internal/modules/cjs/loader:1005:19)←[39m
←[90m    at require (node:internal/modules/cjs/helpers:94:18)←[39m
    at Object.<anonymous> (D:\code\instagram-private-api-master\src\tt.ts:2:25)
←[90m    at Module._compile (node:internal/modules/cjs/loader:1101:14)←[39m

You're trying to run typescript code. You can't do that.

Either: transpile it with tsc
Or: Use node-ts

So please tell me how to execute this code .


RaspiBlitz complains about locale LC_ALL not being set

Addressed in various places on the internet
here
Various solutions are mentioned but commenting out the sshd_config option  SendEnv LANG LC_*
keeps ssh client from pushing locales the pi may not have installed and solves the problem quickly.

Thanks. TODO: Add to v1.3 build script.


[WIP] Fix mention in comments like (@dblk)

It a small fix for issue #3649.

Looks good, though I don't think the expected behaviour is somethinglikethis@dblk

Thank for your reply. I will try to fix the later example.
I didn't know the negative lookbehind. Will have a look for Golang and make another commit.

The RegExp you suggested does not seems to work in Golang.
I need to find another trick.

@DblK, as you have reported, apparently GoLang does not support lookaround. As such, here's an alternative that should work.
(?:[^\w])@([0-9a-zA-Z-_\.]+)
If extraction of the user is important, extract from group 1 through \1 or $1.

The above RegExp does not work either. I fixed in another way.

Alright, that seems to work along the same principles too, but CI kinda failed there right there...

👍 looking good

Thanks!


core.js - buildJSONPost() Function Contains Typo

There seems to be a typo in the buildJSONPost() that will interfere with the returning of annotation information on Post Creation. This may have been the reason why Post Annotations were not being returned some time back (which resulted in a change to grab the account's personal timeline after posting ... which also resulted in the added benefit of filling in any gaps that might have occurred due to Global Post timings).

Fixed and fixed. Closing Issue.


WMO check missing doesn't account for missing months

xclim version: 0.29.0
Python version: 3.9
Operating System: BSD

Description
The missing data checks using the set_options(check_missing="wmo") context are correctly dropping the months that don't have an adequate number of days or too many days missing in a series, but for annually-calculated indicators, if entire months are not within the series, the year is still valid (e.g.: If a time series final year ends in March, that year is considered valid!)
What I Did
gdd = xclim.atmos.gdd(ds.tas, freq="YS", thresh="0 degC")  # station data ending in March
gdd.plot()

with set_options(check_missing="wmo"):
    gdd = xclim.atmos.gdd(ds.tas, freq="YS", thresh="0 degC")  # station data ending in March
gdd.plot()

Please create a branch and add a test in test_missing::TestMissingWMO that exposes the problem. I'll look into it.
Do you find the same issue with other missing methods ?

Ok, I know what's happening and why it only affects WMO.
def missing_wmo(da, freq, nm=11, nc=5, src_timestep=None, **indexer):  # noqa: D103
    src_timestep = src_timestep or xr.infer_freq(da.time)
    missing = MissingWMO(da, "M", src_timestep, **indexer)(nm=nm, nc=nc)
    return missing.resample(time=freq).any()

The MissingWMO class operates only on monthly data, so to use it an an annual context, we need to decide what we want to happen if some months are missing. Do we tolerate missing months, how many ?
The we need MissingBase to support a monthly src_timestep, so we could do something like
return MissingAny(missing, freq, "M", **indexer)()


Build FIPS Agent chocolatey package

What does this PR do?
Build a chocolatey package for the FIPS Agent named datadog-fips-agent
Reorg choco build scripts to make that easier (view separate commit, hide whitespace changes)

build script no longer modified source tree

Allow windows_choco jobs to be run manually on dev branches
Motivation
https://datadoghq.atlassian.net/browse/WINA-1229
Describe how you validated your changes

When RC is created, check that the chocolatey package is created and passes basic checks from chocolatey.
Install the chocolatey package, downloaded to current dir
choco install datadog-fips-agent --prerelease -source .\

and make sure it contains the FIPS Agent build
$env:GOFIPS=1
& 'C:\Program Files\Datadog\Datadog Agent\bin\agent.exe' version

Possible Drawbacks / Trade-offs
Additional Notes

needs follow-up PR to agent-release-management to publish the packages to choco

/merge


feat: adds --test flag in yr fmt

Adds -t/--test flag in yr fmt which returns an error code if formatting made changes on the file.
This feature exists in a few other language formatting tools (jsonnet, terraform, gofmt) which is useful as part of stylistic CI/CD checks

Signed the Google CLA, should be ready for a maintainer review, thanks! 👍

In https://github.com/VirusTotal/yara-x/commit/4b0889938df1feff849e6c9cdd4d84ab59eeec86 I made multiple changes to the fmt command. Now it always exits with error code 0 if files didn't change or 1 if otherwise.

Makes sense, thanks for including the feature in your changes. 👍


Simplify prediction graphs

Someone posted this on discord, and I've also heard this from case managers at clinic ... honestly, no idea if this is something that would be even possible, but somehow consolidate the various prediction graphs into one that somehow makes sense?
Biggest complain that the case managers have is understanding of the various graphs and what to do with them ... where Loop is nice and simple and only as the one ( and the one prediction as well, so graphing it is easy ) ...
I'm just throwing it out here since it has been mentioned on discord ... maybe someone has some idea on how such could be implemented shrug

Great idea


fastRecordMethodEnabled - Fixes issue with audio lag in first second of video

Just an observation today, I was having a hard time figuring out why in the first second of recording the audio was behind by a few milliseconds. Although "fastRecordMethodEnabled" doesn't allow for any video or audio configuration, It did fix the lag between the audio and video.
Great library!! Thanks for the detailed README as well.

On the contrary - Keep all of your configuration, and add a simple (writing in swift) if let statement once your button or touchgesture starts. if videoRecorder.videoEnabledAndReady == true && videoRecorder.audioEnabledAndReady == true {             videoRecorder.record() }
Simple observations from someone who has been having some trouble with this library and finally finding out how simple it is to use! Thanks


not all substrings are matched by the search

eg a search for "Nikolsburg" should bring up "Dietrichstein-Nikolsburg" but it doesnt. If you search for Dietrichstein you'll find the hist on the last page

Typesense is not able to search substrings of whole words. However since v0.22.2 there is an option to put the hyphen as a "token separator", this would make it possible to look up nikolsburg.
This would have to be implemented into the typesense backend.


Problem of languagePrefs (BCP 47 and ISO 639-1)

Describe the bug

If change the app display language before login, the AppLanguage code will be added to languagePrefs.contentLanguages array, instead of add LANGUAGES
AppLanguage is manage by lingui, and it use BCP 47 which can contain region code (for example zh-TW)
LANGUAGES is set of ISO 639 (in this case it will only have zh)
That will make (for this example) zh-TW stuck in contentLanguages and settings in UI will neither show nor be able to removing it.
And
      if (!preferredLangsCode2.length || preferredLangsCode2.length === 0) {
        return slices
      }

this code will take no effect in src\lib\api\feed-manip.ts, since there is always one string in array (for this example zh-TW)
The only possible way to remove (for this example) zh-TW is to reset all settings
Details

Platform: Web are tested, other platform would also be affected

I discover this bug while I tested this in #4314

Plus, I would like to know if its support to use region in code2 for example zh-CN and zh-TW, or it stick strictly only ISO 639-2?


import calss filed name throw ReferenceError

Describe the bug
test.spec.ts
import { value } from "./const";

describe("test class", () => {
  it("test class", () => {
    console.log("value", value);
    class A {
      [value]() {}
    }
  });
});

const.ts
export const value = "value";

Reproduction
create file
run test
ReferenceError: value is not defined
❯ w.spec.ts:7:7
5|     console.log("value", value);
6|     class A {
7|       value {}
|       ^
8|     }
9|   });
System Info
System:
    OS: macOS 12.3.1
    CPU: (10) arm64 Apple M1 Max
    Memory: 38.11 GB / 64.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.1 - ~/.nvm/versions/node/v16.13.1/bin/node
    Yarn: 1.22.15 - ~/.nvm/versions/node/v16.13.1/bin/yarn
    npm: 8.1.2 - ~/.nvm/versions/node/v16.13.1/bin/npm
  Browsers:
    Chrome: 100.0.4896.88
    Edge: 99.0.1150.39
    Safari: 15.4
  npmPackages:
    vitest: ^0.9.3 => 0.9.3

Used Package Manager
yarn
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

This is a Vite bug. Please, open an issue there and link it with this one, so it will automatically be closed.

Describe the bug
test.spec.ts
import { value } from "./const";

describe("test class", () => {
  it("test class", () => {
    console.log("value", value);
    class A {
      [value]() {}
    }
  });
});

const.ts
export const value = "value";

This code work correct in the vite project

Vitest processes files with ssr flag. This is the cause of your error. Vite doesn't do that for code running in browser.


list of directories to run tests from in config file

Prerequisites
Probably not a bug but a question.
My issue is completely the same as this one from 2018. Yet the solution proposed there does not work for me.
Package version
Adonis 4.1.0
Node.js and npm version
Node: 12.6
Npm: 6.14
Issue Description
Hello colleagues, I need to engage tests from test/integration/ folder. I add the advised in the former issue solution cli.group('e2e', 'test/integration/**/*.spec.js') into vowfile.js as follows:
module.exports = (cli, runner) => {
  runner.before(async () => {
    cli.group('integration', 'test/integration/**/*.spec.js');
//... remaining code here

with no effect. The tests only run from ``test/unit/` folder.
How can I run tests from folders test/**/ other than test/unit/?
PS: Just to confirm the tests are not run if I put them under folders other than test/unit/ i.e. test/ or test/integration/. Only thos in test/unit/ are run.

Well, after some experimenting here is the outcome:

for the group to work the cli.group() call should be put outside runner.before() method, right in the body of module.exports object like this:module.exports = (cli, runner) => {
  cli.group('integration', 'test/integration/**/*.spec.js');
  runner.before(async () => {

in order to run only desired defined group tests use adonis run <group-name>. As it proves to be there is always a default unit group (will include tests in test/unit/). It is convenient to separate the long integration tests to a dedicated folder and run them only when really needed;
in order to run tests in all defined groups at once use adonis test;


String+Path parsing performance improvements

Improved some String+Path functions' performance with the following changes:

Used .utf8 where applicable (such as when searching for ascii UInt8._slash, which happens a lot)
Refactored some path components functions, fixed an issue where .deletingPathComponent didn't skip over consecutive trailing slashes
Refactored .removingDotSegments to directly modify the String buffer
Replaced automount prefix matching with UInt8 arrays

Non-implementation related:

Replaced my previous ambiguous use of a var input with utf8 to avoid confusion
Used UInt8._dot and ._slash instead of re-defining them in-function
Made state enum names more specific to avoid potential naming conflicts
Renamed helper functions for clarity
Added unit tests

Results: We generally see 2-6x speedup in the respective functions.
Old vs New String

NSString vs String

@swift-ci please test


python310Packages.python-roborock: 0.13.4 -> 0.15.0

Changelog: https://github.com/humbertogontijo/python-roborock/blob/v0.15.0/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

2 packages built:

python310Packages.python-roborock
python311Packages.python-roborock


Implement Basic Calculator Operations

Create a simple calculator which can perform basic arithmetic operations like addition, subtraction, multiplication, or division depending upon the user input.


Is there a pretrained model?

Hello,
I want to ask if there's a pretrained model? and if the paper is released or not ?

Hello @MahmoudElkhateeb , I am sorry to say that the paper is not released yet, hence we haven't released a pretrained model. Sorry for your inconvenience. Thank you.

Hello @minar09 ,
I would like to know if you have any plans in near future to release pre-trained model?

Hi @levindabhi, since I am not working on this anymore so there's very little chance of that. Also, this repository could be considered a less performance model compared to the more recent works. I would suggest trying with newer ones if possible.


Does library work in C++/CLI projects?

I have never tried - but am not aware of anything that would obviously cause a problem.

I heard from someone that he wasn't able to use this library. It was a couple months ago. I didn't test it by myself as I was busy. Now I checked it with examples from the docs. Works great.
Probably he stuck with references to the dll-s or forgot to set true for  AutoGenerateBindingRedirects.


MakeCode FiberLock issue

Creating an issue here for tracking purposes and adding it to the v0.2.57 milestone:

https://github.com/microsoft/pxt-microbit/issues/5321

Fix deployed in https://github.com/lancaster-university/codal-core/commit/2ca0924671e8864fa1726d0f3662671756575f12 and tagged in https://github.com/lancaster-university/codal-microbit-v2/releases/tag/v0.2.57

Tagged and deployed to MakeCode, so I'll close this with the assumption the issue is fixed. If there are more users reports coming we can reopen.


[Feature Request]: Collect extra-manifests recursive

Background
I want to deploy multiple initial workloads on my new cluster after creation. They need to be deployed in different namespaces. This can be archived with a kustomize feature by using a common base.  So I leveraged a folder structure for my extra-manifests:
.
├── extra-manifests/
│   ├── app1/
│   │   └── kustomization.yaml.tpl
│   ├── app2/
│   │   └── kustomization.yaml.tpl
│   └── kustomization.yaml.tpl
└── kube.tf

The purpose of extra-manifests/kustomization.yaml.tpl is to import extra-manifests/app1/kustomization.yaml.tpl and extra-manifests/app2/kustomization.yaml.tpl
Issue
Unfortunately, kube-hetzner does not copy subfolders from extra-manifests to the nodes which results in an error when executing the custom manifests:
error: accumulating resources: accumulation err='accumulating resources from 'app1': evalsymlink failure on '/var/user_kustomize/app1' : lstat /var/user_kustomize/app1: no such file or directory': must build at directory: not a valid directory: evalsymlink failure on '/var/user_kustomize/app1' : lstat /var/user_kustomize/app1: no such file or directory

Proposal
Recursive consideration of user-defined kubernetes manifests so that files from subfolders are copied correctly.
I think this feature can be implemented very easily by updating the respective fileset tofileset("extra-manifests", "**/*.yaml.tpl"):
https://github.com/kube-hetzner/terraform-hcloud-kube-hetzner/blob/d1ba7083c6698c0cdbd7d26a548f267afd0757ad/kustomization_user.tf#L2

I will test the changes and create PR to validate the solution

Solved by #1314


[Backport] scala-js 0.6.21 (#163)

Backports #163 to make sure the master and the 1.3.x branch are equal after 1.3.14 was tagged on the master branch so for future releases off the 1.3.x branch we have the same codebase.
See https://gitter.im/playframework/contributors?at=5a9006b053c1dbb743685217

Closing this because it is superseded by: https://github.com/playframework/twirl/pull/172 which includes all the missing commits needed. Thanks @mkurz for noticing this issue.


bugfix: io serialization can handle Index.name = None

before this fix, the way Index.name = None was serialized
would be in the string form "None". Now, it should serialize
currently to null in yaml and None in scripts

Codecov Report

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

@@            Coverage Diff             @@
##           master     #248      +/-   ##
==========================================
+ Coverage   96.39%   96.46%   +0.07%
==========================================
  Files          15       15
  Lines        1303     1303
==========================================
+ Hits         1256     1257       +1
+ Misses         47       46       -1

Impacted Files
Coverage Δ

pandera/io.py
90.97% <ø> (+0.69%)
:arrow_up:

Continue to review full report at Codecov.

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


[docs] Improve README.md

[ ] I have followed (at least) the PR section of the contributing guide.

@surajkumar016 Thanks!


"radialLinear" is not a registered scale.

I can't create a simple PolarArea chart neither any Radar chart because this error would always popup
"radialLinear" is not a registered scale.
It seems a typescript thing, but I'm no TS guy and can't find out how to solve this...
Environment

Chart.js version: 3.5.1
Project: https://github.com/ambroselli-io/quizz-berger/blob/307d2d5aa31a07f769a20f16bf130b71b1bdd8c7/app/src/components/PolarChart.js#L62

OK I didn't understand quite well the concept of Chart.register, that I had to register every single bit of what I'm using, even when it's required by the chart I'm using
Chart.register(PolarAreaController, RadialLinearScale, PointElement, LineElement, ArcElement);
I spent two hours on it : not easy to understand !


Rubocop fixes for development dependencies

Task linked: INT-3219 AMZN Normalization: Phase 1: Create Product endpoint


libxmljs doesn't work properly under Jest

🐛 Bug Report
libxmljs package doesn't work properly when used in Jest test
To Reproduce
Try to run test:
const libxmljs = require('libxmljs')

test('Test libxmljs', () => {
  expect(
    libxmljs
      .parseXml('<customer></customer>')
      .get('/customer')
      .type()
  ).toBe('element')
})

Expected behavior
It's expected to pass, but It's failing with error:

TypeError: libxmljs.parseXml(...).get(...).type is not a function

The same code run by node.js works just fine and returns 'element'
Link to repl or repo
Minimal repository to reproduce bug: https://github.com/frei-0xff/jest-libxmljs-issue
Run npx envinfo --preset jest
  System:
    OS: Windows 10
    CPU: (2) ia32 Intel(R) Core(TM)2 Duo CPU     T7250  @ 2.00GHz
  Binaries:
    Node: 10.15.3 - C:\Program Files\nodejs\node.EXE
    npm: 5.10.0 - C:\Program Files\nodejs\npm.CMD

As far as I managed to investigate the problem, it comes down to the following:
In the following code from libxmljs module this.find.apply is native C++ function which returns Array object
Element.prototype.get = function() {
    var res = this.find.apply(this, arguments);
    if (res instanceof Array) {
        return res[0];
    } else {
        return res;
    }
};

It returns the same Array object when executed by node.js or within jest test,
but  operator
res instanceof Array

when executed by bare node.js return true as it should,
while when executed under jest for some miraculous reason it returns false

Based on your comment about instanceof Array, it's probably caused by https://github.com/facebook/jest/issues/2549

Yeah, it's definitely caused by #2549
Duplicate issue. Closing.


[BUG] yarn build is not working on Windows

What is the bug?
When trying to run command "yarn build" command on Windows it shows: error Command failed with exit code 1,
rename build/securityDashboards-3.0.0.zip to build/security-dashboards-<IP_ADDRESS>.zip
'mv' is not recognized as an internal or external command.
Even when I tried running "yarn build --inline-builds --windows"
How can one reproduce the bug?
Steps to reproduce the behavior:

Go to \OpenSearch-Dashboards\plugins\security-dashboards-plugin
Run "yarn build" or "yarn build --inline-builds --windows" on terminal

What is your host/environment?

OS: Windows

Do you have any screenshots?

Hi @nurbq , thank you for filing this issue. It looks like the error is coming from this line: https://github.com/opensearch-project/security-dashboards-plugin/blob/main/build_tools/rename_zip.js#L26 where the mv command is not defined on your platform.
Is it possible to use fs here?
const fs = require('fs');
fs.renameSync(oldPath, newPath);

This area must be missed by tests because it was not caught when running this repo's CI on windows. Would you try be able to try a platform agnostic command to move the zip file and verify yarn build and yarn build --inline-builds --windows?

[Triage] Hi @nurbq, thank you for taking the time to file this issue. I understand that you and @DarshitChanpura are taking care of this issue, so I will be assigning you both to it.

@cwperks Thanks, it worked.

@nurbq Sounds like you were able to work around the issue, is this something that you could fix with a pull request?

Yes, I am doing it

Checking in, as #1393 got merged... closing this one, please reopen if not the case.


--findRelatedTests not working

💬 Questions and Help
I'm trying to use --findRelatedTests to run tests in the pre-commit hook, but always the following error occurs

The --findRelatedTests option requires file paths to be specified.
Example usage: jest --findRelatedTests ./src/source.js ./src/index.js.
error Command failed with exit code 1.

I added a script in package.json
    "test": "jest --no-cache --verbose",
    "test:watch": "yarn test --watch",
    "test:staged": "yarn test --findRelatedTests --bail",

And my lint-staged.config.js is like this
module.exports = {
  // Lint then format JavaScript files
  '**/*.js': filenames => [
    `yarn eslint --fix ${filenames.join(' ')}`,
    `yarn prettier --write ${filenames.join(' ')}`,
  ],

  // Format MarkDown and JSON
  '**/*.(md|json)': filenames => `yarn prettier --write ${filenames.join(' ')}`,

  // Run all tests
  '**/*.test.js': () => 'yarn test:staged',
}

jest.config.js
module.exports = {
  preset: 'react-native',
  setupFilesAfterEnv: ['@testing-library/jest-native/extend-expect'],
  transformIgnorePatterns: [
    'node_modules/(?!(jest-)?@?react-native|@react-native-community|@react-navigation|@sentry)',
  ],
  testPathIgnorePatterns: ['/node_modules', '/android', '/ios', '/ci'],
  collectCoverage: true,
  collectCoverageFrom: [
    'src/**/*.js',
    '!src/**/*.test.js',
  ],
  coverageReporters: ['lcov'],
  setupFiles: [
    './src/main/config/tests/mock.js',
  ],
}

Hi @RigottiG,
yarn test --findRelatedTests --bail fileName.js works here with Jest 27.
If you believe there is a bug in jest, It would be helpful if you could provide either a repl.it demo or a repository on GitHub with a minimal reproduction that demonstrates the issue (without lint-staged).
See https://stackoverflow.com/help/minimal-reproducible-example for information on how to create good reproductions.


ng build not get styles.css to dist/

OS?
Mac OSXEl Capitan
Versions.
"angular-cli": "1.0.0-beta.19-3",
node : 6.3.1
Repro steps.
App was created with CLI with CSS support. angular-cli.json file:
"styles": [
"styles.css"
],
The log given by the failure.
Scripts are not loaded to dist folder.  But, images and fonts are loaded from the assets.
The assets (images and fonts) are correctly output to the '/dist' folder. It's just that the script never output to dist folder.
Thanks :)

What do you mean by scripts? Do you mean styles?
In beta-19 all styles in the style array gets compiled into style.*.js which then is copied over to <head> at runtime. In the next beta release there will be an actual .css file instead. See #2646

^ what @grizzm0 said 💃


feat: add the Stryker logo to the badge

Now that the Stryker logo is in Simple Icons, I suggest adding it to the dashboard badge:
I've colored it white (with the whitesmoke/#F5F5F5 value used by Shields) because the default #E84B39 orange isn't accessible.

That's cool, thank you! @nicojs what do you think

The badge can also be generated from coverage reports that aren't generated by Stryker (in fact, I'm maintaining a reporter for Pitest that does just that).
Would it be a bit odd to see the Stryker logo in such cases?

The badge can also be generated from coverage reports that aren't generated by Stryker (in fact, I'm maintaining a reporter for Pitest that does just that).
Would it be a bit odd to see the Stryker logo in such cases?

Well it's a badge hosted by the Stryker dashboard so imo it's not that strange. But we could make this customizable or toggleable.

The badge can also be generated from coverage reports that aren't generated by Stryker (in fact, I'm maintaining a reporter for Pitest that does just that).
Would it be a bit odd to see the Stryker logo in such cases?

Well it's a badge hosted by the Stryker dashboard so imo it's not that strange. But we could make this customizable or toggleable.

Agree, it doesn't fall out of thin air. I'm just double-checking whether it's something to consider or not. I'll leave it up to you to decide upon it.

Should be noted that you can always change the logo from the query string namedLogo, if someone really doesn't want it


add satellite main structure

add satellite main structure, would add some unit test later.

Huge PR

Huge PR

would add some doc later

I will wait for the doc.

@wu-sheng some core design doc is pushed and each specific module has comments. If anything is not clear, please let me know.

Maybe we could split it into several small PRs and merge them one by one?

Maybe we could split it into several small PRs and merge them one by one?

no problem

@nic-chen already create a new PR. And please don't delete the current branch before the small PRs are approved.

I just asked @kezhenxu94 to open required CIs and auto-update.

What is the relationship between this and #8 ?

What is the relationship between this and #8 ?

@nic-chen thinks the pr is too huge, suggest me to split it.


Fix losing keys on PrivateSend

PrivateSend has been losing keys in following situations:

One key gets lost during creation of denominations
After mixing failure all keys used for outTX get lost

Unfortunately, this change doesn't fix all the cases when PrivateSend is still losing keys (Datails were described in trac 33).
However, with this change PrivateSend losses key much less frequently.

utAck

Turned out that keys aren't held actually, to fix this you can use shared_ptr:
diff --git a/src/privatesend-util.cpp b/src/privatesend-util.cpp
index 43f031489..3f7011d42 100644
--- a/src/privatesend-util.cpp
+++ b/src/privatesend-util.cpp
@@ -28,15 +28,15 @@ CScript KeyHolder::GetScriptForDestination() const
 const KeyHolder& KeyHolderStorage::AddKey(CWallet* pwallet)
 {
     LogPrintf("PrivateSend - KeyHolderStorage -- AddKey\n");
-    storage.emplace_back(KeyHolder(pwallet));
-    return storage.back();
+    storage.emplace_back(std::make_shared<KeyHolder>(pwallet));
+    return *storage.back();
 }

 void KeyHolderStorage::KeepAll(){
     if (storage.size() > 0) {
         LogPrintf("PrivateSend - KeyHolderStorage -- KeepAll\n");
         for (auto &key : storage) {
-            key.KeepKey();
+            key->KeepKey();
         }
         storage.clear();
     }
@@ -47,7 +47,7 @@ void KeyHolderStorage::ReturnAll()
     if (storage.size() > 0) {
         LogPrintf("PrivateSend - KeyHolderStorage -- ReturnAll\n");
         for (auto &key : storage) {
-            key.ReturnKey();
+            key->ReturnKey();
         }
         storage.clear();
     }
diff --git a/src/privatesend-util.h b/src/privatesend-util.h
index 9bc8c1925..a42f56c36 100644
--- a/src/privatesend-util.h
+++ b/src/privatesend-util.h
@@ -24,7 +24,7 @@ public:
 class KeyHolderStorage
 {
 private:
-    std::vector<KeyHolder> storage;
+    std::vector<std::shared_ptr<KeyHolder> > storage;

 public:
     const KeyHolder& AddKey(CWallet* pwalletIn);

closing in fav of #1616


Autocompletion should not offer onDelete, onUpdate and map options on M2M relations

Move this auto completion into prisma-fmt (from TypeScript).


Allow storybook components to be listed without directory

Is your feature request related to a problem? Please describe.
Allow storybook components to be listing without directory
For example, here two different buttons are listed under "Button". Offer an abstraction that would allows one to list items like "button-text" or "button-emoji" at the top level of the list without nesting inside another item such as "Button"

I need a top level item in the nav as well.  Not nested under anything else.
It will be a "Getting Started" guide.
Please offer a way to write a story that is not nested under a sub-nav.

@hughanderson4 You can do something like I did here
I am not sure how to not have a dropdown. But this will get you an intro.
https://github.com/hipstersmoothie/materialize-hooked/blob/master/Components/welcome.story.tsx
http://hipstersmoothie.com/materialize-hooked/?selectedKind=Welcome&selectedStory=Introduction&full=0&addons=0&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel&background=%23fff

I think it's duplicate to #2863


mempool: Reject incoming txs while catching up

Summary
Following the decision taken in RFC 103, a node that is catching up (that is, performing BlockSync or StateSync) should not accept incoming transactions until it switches to consensus mode.
See #734.
Problem Definition

TODO
Proposal

TODO

Possibly related, from Tendermint Core repo:  mempool: tx gossip cause CheckTx error during the statesync stage #8243


Scrolling with multiple TableViews

I am facing a problem with changing the ScrollView of my PanelController. I have added a UIPageViewController to my PanelController which shows one TableView on each page and should be the scrollview being tracked when presented. The viewcontroller which presents the panel is being notified about changes by the PageViewController.
This is looking like the following:
    func timetableViewController(_ timetableViewController: TimetableViewController, didChange index: Int, with viewController: TimetableItemViewController) {
        viewController.tableView.delegate = viewController
        panel.track(scrollView: viewController.tableView)
}

I have debugged this and found that scrollViewDelegate of FloatingPanel is actually overwritten but does not respond to scrolls except to the first TableView being initialised.
Please let me know if I should provide you with a Demo Project.
Thanks in advance!

I'm sorry to be late for my reply. Could you please provide me with a Demo project?

Tracking this as well.

I am trying to achieve the same thing as David, do you still need a demo project to investigate it further? Happy to provide one.

@lazlox Yes, I do! That's so helpful for me. Because FloatingPanelController hasn't intercepted UIScrollViewDelegate since v1.4.1 actually. So I would like to know the latest version still happens and understand this issue.

Actually made it work with the demo I was putting together.
Here is what I did (apologies for the code, I am a rather naive and  absolutely beginner developer):
This is the embed segue to embed pageviewcontroller into a containerview inside my panel VC:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if let pageViewController = segue.destination as? PageViewController {
            pageViewController.parentPanelController = self.parent as? FloatingPanelController
            }
    }

PageViewContoller has a variable that gets set by the embed segue above:
var parentPanelController: FloatingPanelController? = nil
PageViewController delegate method:
func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {
        if let page1View = pageViewController.viewControllers?.first as? Page1ViewController {
            self.parentPanelController?.track(scrollView: page1View.tableViewPage1)
        } else {
            let page2View = pages[1] as! Page2ViewController
            self.parentPanelController?.track(scrollView: page2View.tableViewPage2)
        }
    }

This is exactly what I needed in my app, not sure if others are looking for any extra functionality around this but hope the above helps!

Thanks for your description! I understood this issue and then I created fix-scroll-tracking-switch branch to attempt to fix this. Would you please try it?


⚠ ClamAV has degraded performance

In 8d2d741, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 87 ms

Resolved: ClamAV performance has improved in 84a4319 after 5 minutes.


Drawer navigator does not display menu on web environment

When using Drawer Navigator on react-native menu is displaying since it is implemented by react-native-drawer-layout.
It should be nice to have the same behavior on web.

How are you using drawer navigator on web?

good question! Created a repo to do some experiments in web.
Basically I implemented a custom navigator view and implemented the drawer by react-sidebar on it.
So when creating the navigator just import the drawer navigation view and that is all!
import DrawerNavigationView from 'DrawerNavigationView';

const routes = {
  Home: {
    screen: Home,
    path: 'home'
  },
  Page: {
    screen: Page,
    path: 'page'
  }
};
const Router = StackRouter(routes);

export const Navigator = createNavigator(Router)(DrawerNavigationView);

I still have a ton of questions but it is a good step!

Hey, so I found documentation for the web environment is pretty short and a walk through is still pending so I will try move so pieces forward on that.


Did this work?

I know it's been a while, but I am also trying to wrap soloud in nim, and got similar output with c2nim. I keep getting Illegal storage access. (Attempt to read from nil?) when I try to Soloud_play().
import unittest
import ../src/null0/soloud

suite "Soloud":
  test "text":
    var sl = Soloud_create()
    discard Soloud_initEx(sl, ord(SOLOUD_CLIP_ROUNDOFF), ord(SOLOUD_NULLDRIVER), 44100, ord(SOLOUD_AUTO), 2)
    Soloud_setGlobalVolume(sl, 1)

    var speech = Speech_create()
    discard Speech_setText(speech, "1 2 3       A B C        Doooooo    Reeeeee    Miiiiii    Faaaaaa    Soooooo    Laaaaaa    Tiiiiii    Doooooo!")
    discard Soloud_play(speech, sl)

    Soloud_deinit(sl)
    Soloud_destroy(sl)

I get similar with your example, using your wrap of soloud. Did you ever get this working? Am I missing some steps?
My full wrapper is here. Main difference is that I  inline soloud with {.compile} instead of using a dll, but I think it all works the same, and it seems to fail the same both ways.

I don't see how this wrapper would have ever worked, but I got mine starting to work. all the types that are ptr Name should be Name for example:
proc Soloud_init*(aSoloud: ptr Soloud): cint

should be
proc Soloud_init*(aSoloud: Soloud): cint

because Soloud is already a pointer (so ptr Soloud would be a pointer to a pointer):
type
  Soloud* = pointer


DOCS-1166: Fixing typos

https://tigera.atlassian.net/browse/DOCS-1166?atlOrigin=eyJpIjoiMmNmOGM4NzE3YzFmNDc1YTk1YTE1OTAxNDA1MTIzOTMiLCJwIjoiaiJ9

Which file @ctauchen ? _api.mdx?

Yes. I suspect that any manual edits will get lost the next time we generate the HTML.


fix: update aws-cdk-lib package to fix semver package vulnerability

I don't this change works with copilot, unless something's changed since https://github.com/uktrade/platform-tools/pull/244


Ming

What about this?
Browser metadata
Path:      /
Browser:   Chrome <IP_ADDRESS> on Mac OS 10.15.7
Viewport:  1440 x 919 @2x
Language:  en
Cookies:   Enabled

Open in BrowserStack

Open Deploy Preview · Mark as Resolved

Browser metadata
Path:      /
Browser:   Chrome <IP_ADDRESS> on Mac OS 10.15.7
Viewport:  1440 x 788 @2x
Language:  en
Cookies:   Enabled

Open in BrowserStack

Open Deploy Preview · Mark as Resolved

Browser metadata
Path:      /
Browser:   Chrome <IP_ADDRESS> on Mac OS 10.15.7
Viewport:  1440 x 788 @2x
Language:  en
Cookies:   Enabled

Open in BrowserStack

Open Deploy Preview · Mark as Resolved

This is a test screenshot for my pull request.
Browser metadata
Path:      /
Browser:   Chrome <IP_ADDRESS> on Mac OS 10.15.7
Viewport:  1440 x 788 @2x
Language:  en
Cookies:   Enabled

Open in BrowserStack

Open Deploy Preview · Mark as Resolved

Another comment written by myself.


Close the quickfix/location list window when quitting the parent buffer

This is awesome! Anyone can tell me how to use this?

I recommend creating the function which is added in the diff here and writing your own QuitPre autocmd function. I decided this is such a general thing that it's not worth including.

Thanks for the advice on how to add this back. I know the original PR didn't add the tests you mentioned @w0rp, but this is a really, really useful option and one I had to hack around to get to work with Syntastic before swapping to ale. Is there some way this can get included in the project?

If and only if you write tests for it.


After request is Allow response is not returning any value to response

Permissions.request('photo')
      .then(response => {
        //returns once the user has chosen to 'allow' or to 'not allow' access
        //response is one of: 'authorized', 'denied', 'restricted', or 'undetermined'
       console.log("Hello==>");
       console.log("Hello==>"+response);
      });

by using the above function it is asking for permission thats fine... but problem is After user Selects either Allow or  Deny it won't return any acknowledgement to response.............  None of two logs were printed after user selected his option........  How to get Selected Option n response any help...? thank you...........

I am closing this since this issue does not exists anymore with the 2.0.0 release.


pl forward vs step functions

regarding to your log here Hocam; you don't have to use both of them for your case, step function is enough to iterate over each batch.
In pl or pytorch, forward() should define your predictions/inference; it encapsulates the way your model would be used. You can choose to have it in your step() function or not.
However; if you are using self(x) rather than self.mlp(x) (see here), you must define a forward() method. self(x) automatically calls the forward() function for you.
Reference: You can check also the link Hocam, there is a FORWARD vs TRAINING_STEP section provided by pl.

I added a forward function, because I couldn’t get prediction_step to work
otherwise. I wanted to get model predictions to add the top5 to the
visualization. Let me know if you’d like to use it.
On Sat, Mar 4, 2023 at 5:25 PM emrecanacikgoz @.***>
wrote:

regarding to your log here
https://github.com/denizyuret/calvin-scripts/blob/b19743b80e93706f87eff1b96f61c10db3e23cc2/ChangeLog#L11
Hocam; you don't have to use both of them for your case, step function is
enough to iterate over each batch.
In pl or pytorch, forward() should define your predictions/inference; it
encapsulates the way your model would be used. You can choose to have it in
your step() function or not.
However; if you are using self(x) rather than self.mlp(x) (see here
https://github.com/emrecanacikgoz/robot-language/blob/e1823d5353161eaf8198443359422cc6e8800d54/blind_robot/models/mlp.py#L81),
you must define a forward() method. self(x) automatically calls the
forward() function for you.
Reference: You can check also the link
https://pytorch-lightning.readthedocs.io/en/1.6.0/starter/introduction.html
Hocam, there is a FORWARD vs TRAINING_STEP section provided by pl.
—
Reply to this email directly, view it on GitHub
https://github.com/denizyuret/calvin-scripts/issues/2, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN43JSNVTKAAMFTMIUB6E3W2NGFHANCNFSM6AAAAAAVPSM3GY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Ohh I see thats a good idea, I'll check that.


We need an editor for git push/pull

Hi @benjamin-heasly ,
Can you please install one or two editors on the ISETBIO-HUB?
When I commit git typically tries to open an editor for the commit message.  I couldn't find a default editor installed, so the git command fails (at least for me).  I do a little screwing around by hand to make things go OK.  But if we had an editor, things would go better.
Can you install either vim or emacs or both?  To set these as the default for git, users can execute:
git config --global core.editor "vim"
git config --global core.editor "emacs"

Thanks,
Brian

Sure.  I'll install some editors.

I installed nano, vim, and emacs on the running server.
I also added these to our Dockerfile so they should be in place next time we deploy a server.

Thanks very much.


[FEATURE] Ability to record the status of threats

Describe the feature
I would like to be able to capture the status of any threats that are documented within threat composer
Use Case
We would like to track threats that are identified during modeling. To do this, we want to bring these threats to Defect Dojo (it's like an ASPM or defect repository) as defects of a product. Our idea is to make a Defect Dojo parser that reads the threat-composer json and creates as many defects as there are detected threats. The mapping would be more or less:

Name:  (e.g. threatAction)
Vulnerability Id: id or numericId
Description: statement
Mitigation: linked mitigations
Severity: metadata-priority
Tags: tags
Status: ?

To know if a threat, and therefore a defect, has been mitigated (or not) we need its status.
Proposed Solution
Add a new "Status" field against each threat with the following values:

Active
Mitigated
Risk accepted
False positive

Other Information
I don't think there should be a direct relationship between the status of the mitigations and the status of the threat. It could be that even if the mitigations were implemented, the entire threat would not be covered.
Acknowledgements

[X] I may be able to implement this feature request
[ ] This feature might incur a breaking change

The following is a combined proposal for both the ask for Mitigation status (#61) and Threat status (#126) given the interplay between them.

Ask: @arivra for your feedback (and anyone else reading this) on if the below proposal would address your use case.

Broad design philosophy and decisions
We propose the tool will:

Focus on capturing outcome states for threats (risks) and mitigations (actions). In our experience, the combination of interim states, their associated business logic and risk management making process is highly customer specific.
Have static system defined statuses to ensure portability of exports (.tc.json) between deployments, and to maximise the usefulness of any associated 'Insight dashboard' widgets that would be created.
Allow for a degree of organisational customisation of the status, support change of the status "title" and "description" shown in the UI. Note this is applicable only for self-hosted and deployed environments.
Have human readable (english only) values for the static system defined statuses that are human readable (english only) - example: threatIdentified, such that it  useful for diffs/PRs for those that use version control methods (which we encourage)
Not track (or of keep an audit log of) status changes. Given the client-side nature of the tool, we do not see this tool as a viable alternative for a workflow tracking or ITSM tool. Additionally, we need to be frugal with our data storage requirements within browser storage, and ensure .tc.json diffs do not become "noisy".

Threat status
Mental model

These are risks (not tasks)
We capture outcomes (not the process of getting to the outcome, which would require us to have knowledge of the consuming customers processes for risk acceptance, tolerance, escalations etc).
There is always an amount of residual risk acceptance (unless one avoids the risk) - hence we will not include a seperate status for "Risk Accept" it will form part of "Resolved"
We consider "Resolved" and "NotUseful" as both being outcome state - so both will include the term "Resolved" in their system defined code threatResolved and threatResolvedNotUseful respectively.

Proposed statuses

Status in .tc.json export (constant)
UI Label (can be changed in build)
UI Description (can be changed in build)
Comments

threatIdentified
"Indentified" (default) - Other possible values you may want in your build could include: "Open", "Active" etc
"Potential threat has been identified"
All newly added threats get this status

threatResolved
"Resolved" (default) - Other possible values you may want in your build include: "Mitigated", "Complete" etc
"All agreed risk response actions (mitigation, transfer, avoidance, risk acceptance) have been completed aligned to our risk tolerance"
As noted above there is always amount of residual risk acceptance (unless one avoids the risk) - hence we will not include a seperate status for "Risk Accept" it will form part of "Resolved"

threatResolvedNotUseful
"Not Useful" (default) - Other possible values you may want in your build could include: "False positive" etc
"This threat is invalid / not applicable to our use system"
We consider "Resolved" and "NotUseful" as both being outcome state - so both will include the term "Resolved" in their system defined code threatResolved and threatResolvedNotUseful respectively.

UI placement

Select within "Threat List" under "Metadata"
Select within "Threat Editor" under "Metadata"
Add "Threat status" column to Threat table (possible values to be the same as the labelsvalues - with the defaults being : Identified, Resolved, NotUseful)

Business logic

All new threats get the threatIdentified status
All imports of pre-feature .tc.json files do not have the status automatically set, and will have a runtime-only status of NotSet (see dashboard section for visibility)

Dashboard

Pie Chart - Threat status distribution (threatIndentified, threatResolved, threatNotUseful, NotSet)
Note: we did consider a dashboard widget that would aim to warn of threats marked threatResolved where at least one linked mitigation was not marked mitigationResolved - but given our proposed approach to not differentiate full risk acceptance of a threat versus a partial, this is not possible.

Mitigation status
Mental model

These are tasks (work to do)
We capture outcomes. It is assumed that the ITSM (IT Service Management) process is outside of this tool. However we do propose a broad "In-progress" status for those that choose to track course grained interim state within the tool.
We do not have the notion of "Partially Resolved" as we see that as" Resolved" where the mitigation has been completed to an agreed scope. Meaning if partial... that was agreed. We capture the outcome only.

We consider "Resolved" and "Abandoned" as both being outcome states - so both will include the term "Resolved" in their system defined code mitigationResolved and mitigationResolvedAbandoned respectively.

Proposed statuses

Status in .tc.json export (constant)
UI Label (can be changed in build)
UI Description (can be changed in build)
Comments

mitigationIdentified
"Indentified" (default) - Other possible values you may want in your build could include: "Idea", "Planned", "Backlog"
"Mitigation has been identified"
All newly added mitigations get this status

mitigationInProgress
“In-Progress" (default) - Other possible values you may want in your build include: "Doing"
"Mitigation is in-progress"

mitigationResolved
“Resolved" (default) - Other possible values you may want in your build could include: "Implemented", "Complete","Accepted" etc
“Mitigation has been completed to an agreed scoped”
We do not have the notion of "Partially Resolved" as we see that as" Resolved" where the mitigation has been completed to an agreed scope. Meaning if partial... that was agreed. We capture the outcome only.

mitigationResolvedAbandoned
"Abandoned" (default) - Other possible values you may want in your build could include: "Won't do" etc
"Will not be implementing this mitigation"

UI placement

Select within "Mitigation list" under "Metadata"
Add "Mitigation status" column to Mitigation table (possible values to be the same as the labelsvalues - with the defaults being : Identified, In-Progress, Resolved, Abandoned)

Business logic

All new mitigations get the mitigationIdentified status
All imports of pre-feature .tc.json files do not have the status automatically set, and will have a runtime-only status of NotSet (see dashboard section for visibility)

Dashboard

Digit - Mitigation Progress (e.g. 5/10 complete) - ((mitigationResolved + mitigationResolvedAbandoned) / total (inc NoSet))
Pie Chart - Mitigation status distribution (mitigationIdentified, mitigationInProgress,mitigationResolved, mitigationResolvedAbandoned, including NotSet)

Overall, this proposal seems reasonable to me.
One comment is that I do think that the dashboard could flag threats that are marked Resolved (either Resolved or NotUseful) when one more of the mitigations associated with the threats is/are still in Identified or InProgress (i.e. not all associations are in either Resolved or Abandoned).  My logic here is that if there is a mitigation identified - then it should be dispatched/considered/reasoned-about enough to get it to Resolved or Abandoned before treating the threat as Resolved.
As another consideration - you could consider noting in the dashboard any mitigations that are not Abandoned and associated with threats that are marked NotUseful.  This might point to work or potential work that could be avoided (save time, money).  I realize that this is probably an UNcommon situation but figured I'd mention it.

If I have understood correctly, the proposal you indicate would include a dict with "key": "Status" as a new element in the "metadata" list and with three possible "value": threatIdentified, threatResolved or threatResolvedNotUseful.
  "threats": [
    {
      "id": "7b49bdbd-25e9-446f-b44a-46fa2807e182",
      "numericId": 20,
      "displayOrder": 20,
      "metadata": [
        {
          "key": "Priority",
          "value": "Low"
        },
        {
          "key": "STRIDE",
          "value": [
            "I"
          ]
        },
        {
          "key": "Status",
          "value": "threatIdentified"
        }
      ],
...
    },
    {
      "id": "782adefc-b480-4e8f-83ee-64f6d680df0a",
      "numericId": 19,
      "displayOrder": 19,
      "metadata": [
        {
          "key": "Priority",
          "value": "Medium"
        },
        {
          "key": "STRIDE",
          "value": [
            "D"
          ]
        },
        {
          "key": "Status",
          "value": "threatResolved"
        }
      ],
...
    },
    {
      "id": "a0f523b0-bbc0-4e6a-9064-500af1f3836e",
      "numericId": 18,
      "displayOrder": 18,
      "metadata": [
        {
          "key": "STRIDE",
          "value": [
            "T"
          ]
        },
        {
          "key": "Priority",
          "value": "Low"
        },
        {
          "key": "Status",
          "value": "threatResolvedNotUseful"
        }
      ],
...
    }

It would perfectly cover what was requested, except for the accepted risk part, but it is not a problem because I could cover it by putting a label that would be taken into account when "Status" had the value "threatResolved", and I think that when it is put in, the justification in "Comments" would be filled in. I understand what you say in:

"As noted above there is always amount of residual risk acceptance (unless one avoids the risk) - hence we will not include a separate status for "Risk Accept" it will form part of "Resolved"

but what I am looking for is precisely for those grey threats and for accountability.
Also, what I understand is that there would be constants for the labels that could change, so based on the initial proposal it could be:
export const OPTIONS = [   { label: 'Active', value: 'threatIdentified' },   { label: 'Mitigated', value: 'threatResolved' },   { label: 'False Positive', value: 'threatResolvedNotUseful' }, ];
That's right, isn't it?

Thanks @arivra

If I have understood correctly, the proposal you indicate would include a dict with "key": "Status" as a new element in the "metadata" list and with three possible "value": threatIdentified, threatResolved or threatResolvedNotUseful.

The possible values you've listed is correct. What we have not decided on is if the status should be a key/value pair under metadata (as you've described) or it's own key called status one level up (at the same level as id, metadata etc). We are leaning towards the latter, any feedback on this?

It would perfectly cover what was requested, except for the accepted risk part, but it is not a problem because I could cover it by putting a label that would be taken into account when "Status" had the value "threatResolved", and I think that when it is put in, the justification in "Comments" would be filled in.

Acknowledged, and agree that tagging (or label as you referred to it) together with commentary within the comments field is a suitable way forward that should work in your scenario, and other users with custom needs.

Also, what I understand is that there would be constants for the labels that could change, so based on the initial proposal it could be: export const OPTIONS = [ { label: 'Active', value: 'threatIdentified' }, { label: 'Mitigated', value: 'threatResolved' }, { label: 'False Positive', value: 'threatResolvedNotUseful' }, ];

Yes, there will be constants for status within the .tc.json exports (e.g. threatIndentified), and there will be default labels and descriptions for the UI (e.g. "label":"Identified", "description": "Mitigation has been identified") that
could be changed in source code for those that self-deploy.
Overall my impression is that you are satisfied with this proposal, is that correct?

Thanks @climbertjh2

One comment is that I do think that the dashboard could flag threats that are marked Resolved (either Resolved or NotUseful) when one more of the mitigations associated with the threats is/are still in Identified or InProgress (i.e. not all associations are in either Resolved or Abandoned). My logic here is that if there is a mitigation identified - then it should be dispatched/considered/reasoned-about enough to get it to Resolved or Abandoned before treating the threat as Resolved.

As another consideration - you could consider noting in the dashboard any mitigations that are not Abandoned and associated with threats that are marked NotUseful. This might point to work or potential work that could be avoided (save time, money). I realize that this is probably an UNcommon situation but figured I'd mention it.

Both good suggestions. Thank you.

The possible values you've listed is correct. What we have not decided on is if the status should be a key/value pair under metadata (as you've described) or it's own key called status one level up (at the same level as id, metadata etc). We are leaning towards the latter, any feedback on this?

Both options are good, although removing it from the 'metadata' saves us a click to open the metadata dropdown, so it is probably better to leave it out of 'metadata'.

Overall my impression is that you are satisfied with this proposal, is that correct?

Yes, that's correct, thank you @arivra !


THREESCALE-10882 bump the version

What
bump the vesion
Verification
CI passes

Changelog? https://github.com/3scale/apicast-operator/pull/186/files

@eguzki do we need to this for a MAS release ? Guess there is no harm either way

/lgtm
/approve

Then, you need to bring the changes to master.


runtime: TestNetpollBreak failures with "did not interrupt netpoll" on plan9 builders

2020-06-05T05:00:28-4489f4b/plan9-arm
2020-06-03T22:07:42-429d2c5/plan9-386-0intro
2020-06-03T14:51:34-5aaeda1/plan9-arm
2020-06-03T05:33:54-9b90491/plan9-arm
2020-06-02T18:36:30-e05695e/plan9-386-0intro
This batch of failures seems to coincide with CL 235820 (CC @0intro @millerresearch).

CL 235820 is just a coincidence. I can provoke the same failure on the release branch:
term% go version
go version go1.14.2 plan9/arm
term% go test -count 1000 -run TestNetpollBreak runtime
--- FAIL: TestNetpollBreak (5.80s)
    proc_test.go:1031: netpollBreak did not interrupt netpoll: slept for: 5.769816333s
FAIL

There's no network poller for Plan 9, just runtime/netpoll_stub.go which presumably exists to pretend to pass the tests. In essence this test is just one goroutine doing a notetsleep for 10 seconds, and another repeatedly doing a notewakeup with a 100 microsecond Usleep each time around the loop. How this can result in a >5 second delay is mysterious to me. I can see it's not swapping.

I can see it's not swapping.

Also, it's not a garbage collection delay: I tried with GOGC=off and still see failures.

I tried building netpoll_stub.go for linux and running TestNetpollBreak against it. That works fine. Could the problem be in the Plan 9 implementation of notetsleep?

There's no network poller for Plan 9, just runtime/netpoll_stub.go which presumably exists to pretend to pass the tests.

My presumption was wrong: the stub "implementation" of netpoll is also used (currently on Plan 9 only) to support runtime timers. So the 10 second netpoll calls done by the test are contending with 10 minute netpoll calls which come from the overall go test timeout. The problem is that the runtime.lock which mediates this contention is unfair. When the 10 minute netpoll call is interrupted by netpollBreak it can be restarted and seize the lock before the 10 second netpoll call gets a chance. Repeated enough times, this starves the 10 second call sufficiently to time out the test.
CL 237698 inserts an osyield call to give the two callers a more even chance. It won't guarantee fairness, but a few hours running the test suggest that it does well enough.


Add semaphore to gb vendor restore

For projects with a lot of dependencies, gb vendor restore won't work all the time and fail silently.
This makes pulling them more manageable and more resilient.

Thanks for fixing this. This makes me kind of mad actually. gb vendor restore used to work perfectly, slowly, reliably, perfectly. Then we had to go and make it faster, and now it is less reliable. I am unconvinced that this was an improvement.
I'm tempted to revert the original parallisation change.

Oh, and you must raise a bug before proposing a PR. Thank you.

I'm tempted to revert the original parallisation change.

This is still good to have. The problem I was facing was that I worked on a project with over 100 dependencies and it gets hairy for those cases.
I'll also raise a bug.

Do you plan to include this patch ? It would be super useful.


:memo: Include UTF-8 charset in quick start example

Partially fixes #678.
Without an explicit charset, any non-US-ASCII character used in the HTML or JS code would result in something like this:

:+1: