"Invalid value was provided for 'accessPolicies'" when no value was provided

I'd expect an error from Azure or Azure CLI client. Instead, I get this error that doesn't tell me what went wrong.
This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az keyvault set-policy
Errors:
An invalid value was provided for 'accessPolicies'.

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

Put any pre-requisite steps here...
az keyvault set-policy --name {} --object-id {} --secret-permissions list --debug

Expected Behavior
Environment Summary
Linux-4.18.0-16-generic-x86_64-with-debian-buster-sid
Python 3.6.5
Shell: bash

azure-cli 2.0.66 *

Extensions:
azure-devops 0.8.0

Additional Context

Just come across this too on azure-cli 2.0.69

Same - version 2.0.69

Same - version 2.0.71

Same - version 2.0.72

This command works fine on a Linux (debian 9.11) Azure VM
az keyvault set-policy --name xxx --object-id xxx --secret-permissins list

Please share the complete command that results in the error. Also, please share the --output result. You may paste it here or send to my email address.

Same
azure-cli                         2.0.76
command-modules-nspkg              2.0.3
core                              2.0.76
nspkg                              3.0.4
telemetry                          1.0.4
Python location '/usr/bin/python2.7'
Extensions directory '/home/jenkins/.azure/cliextensions'
Python (Linux) 2.7.5 (default, May 20 2019, 12:21:26)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

I have reproduced the issue by specifiying an invalid GUID as object-id.
My command: az keyvault set-policy -n {vault-name} --object-id 123 --key-permissions get list
The error message is not clear enough.

Hi service team, could you please refine this error message?

Same issue here... If the code is open source tomorrow i will debug it..
msrest.http_logger : Response status: 400
msrest.http_logger : Response headers:
msrest.http_logger :     'Cache-Control': 'no-cache'
msrest.http_logger :     'Pragma': 'no-cache'
msrest.http_logger :     'Content-Length': '95'
msrest.http_logger :     'Content-Type': 'application/json; charset=utf-8'
msrest.http_logger :     'Expires': '-1'
msrest.http_logger :     'x-ms-keyvault-service-version': '<IP_ADDRESS>6'
msrest.http_logger :     'x-ms-request-id': 'asd34-d4f2-4b80-sdf32-6ac908cc967f'
msrest.http_logger :     'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
msrest.http_logger :     'X-Content-Type-Options': 'nosniff'
msrest.http_logger :     'Server': 'Microsoft-IIS/10.0'
msrest.http_logger :     'X-AspNet-Version': '4.0.30319'
msrest.http_logger :     'X-Powered-By': 'ASP.NET'
msrest.http_logger :     'x-ms-ratelimit-remaining-subscription-writes': '1199'
msrest.http_logger :     'x-ms-correlation-request-id': 'ddfsdf3-20c4-4db4-8245-qqweqwe2'
msrest.http_logger :     'x-ms-routing-request-id': 'WESTEUROPE:20200331T182750Z:f7dfdf35cf3-20c4-asdasd-8245-aaasd2'
msrest.http_logger :     'Date': 'Tue, 31 Mar 2020 18:27:50 GMT'
msrest.http_logger : Response content:
msrest.http_logger : {"error":{"code":"BadRequest","message":"An invalid value was provided for 'accessPolicies'."}}
msrest.exceptions : An invalid value was provided for 'accessPolicies'.

Found a working solution in the CLI tests, you need to specify "--object-id" for it to work.
Updating the documentation with a pull request.
az keyvault set-policy --name "BMP-Vault" --object-id "3aasd6e1e-2370-w222-bed1-weewwe2" --key-permissions get create delete list update import backup restore recover purge --subscription 17014dsdf8e-cwer3-sdf3d4-sdf3a1-2dfsf35ed2cd

Same issue here... If the code is open source tomorrow i will debug it..
msrest.http_logger : Response status: 400
msrest.http_logger : Response headers:
msrest.http_logger :     'Cache-Control': 'no-cache'
msrest.http_logger :     'Pragma': 'no-cache'
msrest.http_logger :     'Content-Length': '95'
msrest.http_logger :     'Content-Type': 'application/json; charset=utf-8'
msrest.http_logger :     'Expires': '-1'
msrest.http_logger :     'x-ms-keyvault-service-version': '<IP_ADDRESS>6'
msrest.http_logger :     'x-ms-request-id': 'asd34-d4f2-4b80-sdf32-6ac908cc967f'
msrest.http_logger :     'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
msrest.http_logger :     'X-Content-Type-Options': 'nosniff'
msrest.http_logger :     'Server': 'Microsoft-IIS/10.0'
msrest.http_logger :     'X-AspNet-Version': '4.0.30319'
msrest.http_logger :     'X-Powered-By': 'ASP.NET'
msrest.http_logger :     'x-ms-ratelimit-remaining-subscription-writes': '1199'
msrest.http_logger :     'x-ms-correlation-request-id': 'ddfsdf3-20c4-4db4-8245-qqweqwe2'
msrest.http_logger :     'x-ms-routing-request-id': 'WESTEUROPE:20200331T182750Z:f7dfdf35cf3-20c4-asdasd-8245-aaasd2'
msrest.http_logger :     'Date': 'Tue, 31 Mar 2020 18:27:50 GMT'
msrest.http_logger : Response content:
msrest.http_logger : {"error":{"code":"BadRequest","message":"An invalid value was provided for 'accessPolicies'."}}
msrest.exceptions : An invalid value was provided for 'accessPolicies'.

Somehow my problem was cache.. After restarting the self-host agent it started working..

@brunomartinspro I'm running into the same issue as well. What self-host agent did you restart? We have an Azure subscription running in the cloud.

@brunomartinspro I'm running into the same issue as well. What self-host agent did you restart? We have an Azure subscription running in the cloud.

I registered self hosted agents, running on docker with Kubernetes. https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/docker
I spent hours looking into the source code, trying multiple solutions and had no success until I restarted the self hosted agent. After restarting all the steps worked on azure DevOps, I assume it’s cache because when I destroy the Kubernetes Deployment and run a new instance of the agent from scratch it still works. I’m still puzzled.

ping @bim-msft

This was a product bug and has been fixed.

Please reopen, as it seems to be not fixed
cmd: az keyvault set-policy -n mykvt --secret-permissions get --object-id e2c1c414-a9c3-11eb-bcbc-0242ac130002 --resource-group mygrp
Error:
(BadRequest) An invalid value was provided for 'accessPolicies'.

I had the same error here from this command:
az keyvault set-policy --name $keyvault --object-id "$sp_oid" --secret-permissions get list

It turned out that my previous command to get the sp_oid was actually returning two values

Hello @freeone3000 @ross-p-smith @rfink @mikedrumgcom @jiasli @yugangw-msft @norbitrial @hoangpx @yonzhan @brunomartinspro @bim-msft @wolesolana @sebansal @akshaymathur3
I am aware that the issue thread is closed but I recently encountered the same issue and I could resolve using Microsoft Support. Hence thought of putting it here with as much details as possible, if in case someone stumbles into this thread, while looking for a resolution.
Let me explain my issue use case:-

In the Same Subscription, I had more than 1 Key Vault in different Resource Groups.
Only 1 KV exhibited the issue "Invalid value was provided for 'accessPolicies" while changing from Firewall Settings "Allow public access from specific virtual networks and IP addresses" to "Allow public access from all networks", Rest all worked perfectly fine

What all I did:-

I elevated my user account  as the owner of the Subscription and tried changing the Firewall Settings, still the same issue.
I then added my user account RBAC = Key Vault Administrator and tried changing the Firewall Settings, still the same issue.
I tried to add my user account in the access policy with all permission (Keys, Secrets, Certificates). I could not add. it gave the  same error.
I tried to add my user account in the access policy with all permission (Keys, Secrets, Certificates) using az cli. I could not add. it gave the  same error.

I then raise an support request.
Support Team informed the below:-
There used to be a bug in the Azure Key Vault service that allowed customers to add access policies via PS/CLI with '{}' in the ObjectId of an access policy. Once it was fixed, customers that had policies in the unexpected format (with {}) started to receive a BadRequest 400 error because the service notices the wrong formatted access policies and rejected any change.
Running below Powershell script fixed all the wrongly formatted access policy entries on the Key Vault to the expected format and updates the resource properties at ARM-layer.
$id = "/subscriptions/XXXXX-SUBSCRIPTION-ID-XXXXX>/resourceGroups/XXXXX-RESOURCE-GROUP-NAME-XXXXX>/providers/Microsoft.KeyVault/vaults/<KEY-VAULT-NAME>"
$vault = Get-AzResource -ResourceId $id
Check what the current policies are:-
$vault.Properties.accessPolicies
Fix invalid GUIDs:-
$vault.Properties.accessPolicies | %{$_.objectId = [Guid]::Parse($_.objectId).ToString("D")}
Check the new policies:-
$vault.Properties.accessPolicies
Update the vault in ARM:-
Set-AzResource -ResourceId $vault.Id -Properties $vault.Properties -Tags $vault.Tags
It worked!!!
Post running the Script, I could add my account in Key Vault Access policy and also could change Key Vault Firewall Settings.
Hope this helps.
Many Thanks
Regards, Arindam Mitra


How do I alias my project root directory to tilde (~)?

I'm using backpack to build my server for use together with programmatic use of a nuxt frontend.  In nuxt components and other files processed by nuxt, I can write
import thing from "~/util/thingFile"

and it resolves it to whatever path it needs to be to reach util/thingFile. How can I do the same thing in backpack? Can I extend the webpack config in backpack.config.js to achieve this?
I'm currently on the latest stable versions of nuxt and backpack.

Just use the webpack config resolve entry

@walleXD Could you elaborate with an example?

Simple backpack.config.js file
`const path = require('path')
const srcPath = path.resolve(process.cwd())
const aliases = {
'~~seeds': ${ srcPath }/seeds,
'~~core': ${ srcPath }/core,
'~~stacks': ${ srcPath }/stacks,
'~~shared': ${ srcPath }/shared
}
module.exports = {
webpack: (config, options, webpack) => {
config.resolve = {
alias: aliases
}
    return config
}

}`

Thanks, I'll test this later. It would be cool if there was an option to enable this automatically... Nuxt does this automatically for example. (see first comment)

This doesn't work for me though

This doesn't work for me though

What exactly does not work? What have your written in your config?

This is my config now:
const path = require("path")

module.exports = {
  webpack: config => {
    //point to the server index
    config.entry.main = "./server/index.js"

    //setup aliases
    config.resolve = {
      alias: {
        "~~root": `${path.resolve(process.cwd())}`
      }
    }

    //return extended config
    return config
  }
}

When I write import foo from '~/bar/foo.js' it does not work and instead gives me a dependency not found error. What is the correct config or import to make this work?

Step 1: Install devdependecies
   "babel-plugin-root-import": "^6.4.1",
   "eslint-import-resolver-babel-plugin-root-import": "^1.1.1",
   "eslint-plugin-import": "^2.18.2",

Step 2:  add in .babelrc in your project
"plugins": [
   [
      "babel-plugin-root-import",
      {
        "rootPathPrefix": "src",
        "rootPathSuffix": "src"
      }
    ]
]

Step 3:  create file jsconfig.json in root project
{
"compilerOptions": {
"baseUrl": "src",
"paths": {
"src/": [""]
}
}
}

@cassiolpaixao90 how do we use this if the root path is the root folder of the project? Do we use no rootPathPrefix or rootPathPrefix: ""?

@cassiolpaixao90 Hey, by default when use backpack the folder src is rootPathPrefix

@douira see this example https://github.com/cassiolpaixao90/example-backpack-alias  =) ?

Thats an interesting module. I read the npm page for babel-plugin-root-import and it does basically what I proposed in my earlier comment. Thanks for pointing out that there is a package that does this too. The question that I had asked you regarding the rootPathPrefix is answered by the documentation of the package in the config section. The default config
"plugins": [
    [
      "babel-plugin-root-import",
      {
        "rootPathSuffix": "./",
        "rootPathPrefix": "~/"
      }
    ]
  ],

is what I was looking for. I'm going to see if I want to incorporate this into my projects as a plugin or the solution I wrote myself.


Add P2b-like invariant

Lamport's proof of the safety of Paxos hinges on the relationship between
commits and subsequent publications. Here a similar relationship holds.

NB this passed a model-checking run.


Allow options list to be bigger/scrollable

In GitLab by @jakebeal on May 7, 2019, 14:09
When search finds a bunch of options in SynBioHub that are plausible to link to, if would be nice if there were an option to show not just the top few but do a "show more" that loads more of the alternatives, maybe making the list scrollable as well.

In GitLab by @jakebeal on May 14, 2019, 10:55
assigned to @sumorok

In GitLab by @jakebeal on May 21, 2019, 10:25
assigned to @nwalczak and unassigned @sumorok

In GitLab by @nwalczak on Jun 11, 2019, 12:28
Is this still relevant?  I assume this is for the "Add to SynbioHub" option, which runs the SBH search query.  Right now the dialog does scroll, although it could be slightly larger as it only has about enough screen real estate to throw ~3 results after all the inputs for the addition.
One issue here is that, apparently, there's no way to get the screen resolution in Google App Scripts (GAS) and there's no way to set relative sizes, so we have to have a hard-coded resolution for the dialog.  Right now it's a bit too narrow and short, with a default of 400x450.  I would guess a default of 600x600.  This should be small enough to fit most screens but big enough to see enough information at once.

In GitLab by @jakebeal on Jun 17, 2019, 10:17
tell what fraction are being shown (e.g., 5 of 30), and let them ask to be shown more.

In GitLab by @nwalczak on Jun 19, 2019, 10:53
created branch 41-allow-options-list-to-be-bigger-scrollable

In GitLab by @nwalczak on Jun 24, 2019, 13:09
mentioned in merge request !7

In GitLab by @jakebeal on Jun 24, 2019, 16:51
closed via merge request !7

In GitLab by @jakebeal on Jun 24, 2019, 16:51
closed via commit f4f753c844527068d3fb35749e79793e38e5ff30

In GitLab by @jakebeal on Jun 25, 2019, 13:32
mentioned in commit f4f753c844527068d3fb35749e79793e38e5ff30


Cannot find module error

I'm using the sample code for Cloudflare Workers and got these errors in VS Code:
Cannot find module 'tiktoken/lite/init' or its corresponding type declarations.
Cannot find module './node_modules/tiktoken/lite/tiktoken_bg.wasm' or its corresponding type declarations.
Cannot find module 'tiktoken/encoders/cl100k_base.json' or its corresponding type declarations.

Code:
import { init, Tiktoken } from 'tiktoken/lite/init';
import wasm from './node_modules/tiktoken/lite/tiktoken_bg.wasm';
import model from 'tiktoken/encoders/cl100k_base.json';

I double-checked that ./node_modules/tiktoken does exist. Is there a step I'm missing?

did u end up figuring this out?


Does this work when plex is on docker?

Whatever i do i can't get the debug logging to show anything when i play a video. The webhooks get added and i tried 10 different hosts and port combos but it never shows anything in the logging.
Does this work with Plex running on docker?
How do i know which host to use?
I'm on ubuntu 22.04 oracle free tier vps.

Hey sorry for not getting to this sooner. You should be able to use this with Docker just fine. One thing that you do need to do is make sure push notifications are enabled on your Plex server. For some reason this has to be enabled before webhooks will work.
And as for your host/port, it should just be whatever you'd use to get to your local Plex server (ie 'http://device-name:32400' or 'http://ip-address:32400', or 'http://localhost:32400' if you're running it from the same machine).


Re: changes file list logs

Hello All,
I created a release request and it successfully completed. but I want to see what changes have been deployed on code push server. As screenshot attached.

You want to see the binary zip that's stored on the server?

How to see binary zip is there a link because through a portal I'm not able to see my release commit also. But through a cmd, I can see as send in the last screenshot.

You can't see a binary link, only the app will receive it if relevant. But it's simply a zipped version of the app folder in the platforms directory (the one containing tns_modules).

When we commit any release it takes only changes or again full app folder.


Fix docs version formatting

Make sure we only route to major doc versions. No patch versions or prerelease (anything after -)

Reviewer: @aldipower


TypeScript functions and methods marked as not covered

Expected Behavior
Covered functions and methods should not be marked as not covered.
Observed Behavior
Covered functions and methods are marked as not covered.
Bonus Points! Code (or Repository) that Reproduces Issue
Definition of "works": code should be marked green, not red.
Repo demonstrating the issue: https://github.com/Lusito/istanbul-bug
Functions:
Doesn't work:
export function add(a:number, b:number):number {
    return a + b;
}

Works:
export namespace ns {
    export function add(a:number, b:number):number {
        return a + b;
    }
}

Methods:
Doesn't work:
export class Test {
    add(a:number, b:number):number {
        return a + b;
    }
}

Works:
export class Test {
    constructor() {
        (this as any);
    }
    add(a:number, b:number):number {
        return a + b;
    }
}

Bonus: Doesn't work either, even tho it produces the exact same code (only the source-map is different):
export class Test {
    constructor() {
        this;
    }
    add(a:number, b:number):number {
        return a + b;
    }
}

Due to the last example, I'm guessing there is an issue with the source-map support.
Forensic Information
Operating System: Win7x64
Environment Information:
Node: v6.9.1, NPM: 3.10.8
https://github.com/Lusito/istanbul-bug/blob/master/ls.txt

@Lusito thanks for the thorough reproduction, it helps a ton when digging into things. I don't personally use TypeScript, but when helping people debug I've had better luck with ts-node/register than relying on pre-instrumented files with source-maps.
I was able to get this configuration working appropriately on your example repo:
{
  "name": "istanbul-typescript-bug",
  "version": "1.0.0",
  "description": "bug project",
  "files": [
    "dist/",
    "src/",
    "test/",
    "tsconfig.json"
  ],
  "main": "dist/src/index.js",
  "types": "src/Index.ts",
  "scripts": {
    "test": "nyc mocha test/*.ts"
  },
  "nyc": {
    "extension": [
      ".ts",
      ".tsx"
    ],
    "exclude": [
      "coverage/**/*",
      "test/**/*",
      "dist/test/**/*",
      "dist/src/index.js",
      "src/index.ts",
      "**/*.d.ts"
    ],
    "reporter": [
      "lcov"
    ],
    "all": true,
    "require": [
      "ts-node/register",
      "source-map-support/register"
    ]
  },
  "devDependencies": {
    "@types/chai": "^4.0.4",
    "@types/mocha": "^2.2.43",
    "@types/node": "^8.0.46",
    "awesome-typescript-loader": "^3.2.3",
    "chai": "^4.1.2",
    "mocha": "^4.0.1",
    "nyc": "^11.2.1",
    "source-map-loader": "^0.2.2",
    "source-map-support": "^0.5.0",
    "ts-node": "^3.3.0",
    "typescript": "^2.5.3"
  }
}

Note that I move the --require to nyc rather than mocha; this is so that the instrumentation is applied as nyc walks all the files initially for the --all step.
Another thing worth noting, your example repo works as expected if you set --all to false. This makes me think that the problem is source-map application during the initial walk of files that happens to pull in empty reports for --all. this is where I would start debugging.
https://github.com/istanbuljs/nyc/blob/master/index.js#L169
Don't suppose you'd have any interest in helping land a patch for this issue? It would be great to better support the TypeScript community.

Thanks. I will try this tomorrow.
At this time, I don't have time to dig into even more projects.. It seems I always find things I need patches or rewrites for.. I end up spending more time on other projects than on the stuff I initially wanted to work on. A coder habit I guess.
If this works, I think I'll be fine with the changed configuration. I would recommend adding a note in the readme tho.

It does work. I had to re-add mocha-typescript tho. Why did you remove it?
Thanks again!


Fix issue with chemistries of the same prefix

10XFB and 10XFBONLY are currently both matching chemistries.
This edit would fix that, and resolve issue #38

Codecov Report

Merging #39 (6b069f0) into main (ce6c192) will increase coverage by 0.29%.
The diff coverage is 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main      #39      +/-   ##
==========================================
+ Coverage   85.88%   86.17%   +0.29%
==========================================
  Files          26       26
  Lines        2040     2040
==========================================
+ Hits         1752     1758       +6
+ Misses        288      282       -6

Files Changed
Coverage Δ

ngs_tools/chemistry/__init__.py
96.66% <100.00%> (ø)

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

LGTM


DEBUG = True so I can get into admin page and see all path in urls when type nonexisted URL

Admin Page

Url Route

Duplicated like issues 98.


Facebook/Twitter/GitHub/G+ Integration

Users should be able to log in with their social media accounts.

Google: https://developers.google.com/identity/sign-in/web/
Facebook: https://developers.facebook.com/docs/facebook-login/web
Twitter: https://dev.twitter.com/web/sign-in/implementing

Keeping #80 instead.


makeCursor may return incorrect cursor type

Certain code paths call makeCursor with four arguments, with 'value' undefined. Since arguments.length is still four in this case, the value is not retrieved from rootData, and an incorrect cursor type may be generated.
Fixes #318
(As a side effect, this change may also make makeCursor eligible for VM optimizations.)

Any updates on this?

Thanks for adding this. I'm a bit behind on reviewing PRs, but I promise to dig into it soon.

+1

I created an alternate PR for this #381 which continues to use argument.length as the condition since I think it might be valid for value to be undefined in some circumstances. subCursor() simply needs to do an argument.length check as well and call makeCursor appropriately. I reused @jeroencranendonk-wf  's test.

Closing in favor of @jeffbski's fix.


Misc

These are minor patches, much like RFC. Thanks.

Both patches look good to me.
I will wait for the CLA bot approval.

I am trying to figure out this CLA but it wants me to own my employer's google group and my employer wants me to use IBM address for the group which only takes gmails. Ok there may be an "alternative email" in a gmail account but not if that account is GSuite (like my github login). My brain exploded.

I feel your pain...
I think the email that created/owns the group, and emails of actual contributors can be completely independent. Say one can create a group with gmail address and then add themselves again with corp email. That corp email will be used for contributions, and separate gmail accounts will be used for group management (mainly add other people).

The corporation says I have to be a part of ibm-contributors group (which I probably am now but with my personal non-gsuite email). and I want to avoid using the corporate email at any cost (the stability is meh) and keep using my usual gsuite email...

The corporation says I have to be a part of ibm-contributors group (which I probably am now but with my personal non-gsuite email). and I want to avoid using the corporate email at any cost (the stability is meh) and keep using my usual gsuite email...

I am not following. You say your private email is already part of the group and you want to avoid using corp email... so you could just send the PR using your private email and it should work (it's already part of the group)?
But I assume there is still some problem there, so maybe you could use the git separation of committer and commit author and use one email as committer and another as author?
I am not sure what combination we need... the message from the bot says "Need a CLA for one or more commit authors", so it probably cares more about author... but you could use the other email as committer.

@googlebot I signed it!

As far as I see author and committer are still the same in the commits and at the internal dashboard I see that this email has not signed CLA. I am not sure if @googlebot is supposed to reply in this case, or just keep the status red.

The CLA form says:
"Provide the email address for the Google Group that will contain the authorized contributors for your corporation" - this must be<EMAIL_ADDRESS>not my own group, right?
But then when I fill the form, it says "You must be an owner of the contributors group in order to submit this CLA". There is no way I am becoming the owner of that group.
What exact ID to use is irrelevant here.
And btw when I do pull requests via the github web interface, what email does github use? Do I need to add more emails to the github profile, or have another profile? /me is sad.

@googlebot I signed it!

@googlebot I signed it!

@googlebot I signed it!

ok. so after all I did not have to fill the CLA form as it is filled by a group owner, I just need to change signed-off to my ibm address and force push, I did that with another branch, please check it out. Thanks

Glad it all worked out in the end. The other branch was stamped by cla bot and I merged it.
Yes, if you are doing a corp contribution, you don't need to fill another cla. You need to be a member of that group, that's how your employed now manages approved contributors under that cla.


update go-org module to latest release

go-org receives quite a few bug-fixes and enhancements since v0.1.9. Would it be possible to update go-org to the latest version? Thanks.

Hi!
For future reference should you want to create a PR that updates a dependency do:
git checkout -b update-${dependency} master
go get -u ${dependency}
make vendor
git status
# add missing files with git add
git commit -sm'Update ${dependency}

This PR updates the ${dependency} to version ${version}.
'
git push your-fork update-${dependency}

and then open a PR for us.
It's helpful if you can add a few details about the versions changed so we can really see if they're up to date.


Introduce extension points in core Engine abstraction supporting customizability of subset of Engine functionalities

Is your feature request related to a problem? Please describe.
Plugins like cross-cluster-replication, k-NN have a need to customize certain functionality of Engine such as translog pruning behavior,  codec. However with current abstraction mechanism provided by OpenSearch, these plugins are having to provide a full Engine that is to be attached to an index (based on an index setting).
There are downsides to this such as

Though the functionalities customized by plugins are independent, it places expensive restriction of only one plugin being able to provide the behavior. This means an index cannot benefit from features provided by more than one plugin.
Plugins have too much control and can override behavior for all indices and thus blocking other plugins from able to customize behavior.
Engine can be attached only during IndexShard object construction which limits dynamism. An index would have to be closed & opened to be attached with different Engine implementation (or be a default implementation which increases scope of impact). This downtime is unacceptable for many usecases.

Describe the solution you'd like
At a high level, it seems imminent to break up Engine and provide extension points for smaller feature set that can be customized by plugins.
As a starter, one of the question is - does it make sense to start with an abstraction where plugins can provide TranslogDeletionPolicy. Multiple plugins can provide it and the min is used to actually prune.

As a starter, one of the question is - does it make sense to start with an abstraction where plugins can provide TranslogDeletionPolicy. Multiple plugins can provide it and the min is used to actually prune.

I understand the logic here but I'm concerned that having multiple plugins provide their own candidates will make debugging painful.
I suggest we start in 1.2 with a TranslogConfigPlugin, where a plugin may specify their own deletion policy with the restriction that only one plugin is allowed to provide the override.  I cut #1260 so we can address this one at a time.
Completely refactoring engine to allow more than one is breaking and would need to move in a major release.

I believe this is resolved with the above, closing.


Explaining the default iptables FORWARD DROP policy

Proposed changes
Basically explains the default FORWARD DROP policy in iptables, how to change it and a reason you might need to do this. Also explains how a pre1.13  versions might get caught off guard with the setting changed once upgrading.
Related issues (optional)
Fixes: #1978

Your copyedits look great! is there anything I have to do? It won't let me approve changes from my end if that's what I'm supposed to do. I'm new to this, apologies.

Thanks, @stevenhanna6 this is fantastic work!


ADC fails to init

File "/home/farzadedge/repos/edgepi-device-manager/venv/lib/python3.9/site-packages/edgepi/adc/edgepi_adc.py", line 233, in __init__
   self.__config(checksum_mode=CheckMode.CHECK_BYTE_CRC)
File "/home/farzadedge/repos/edgepi-device-manager/venv/lib/python3.9/site-packages/edgepi/adc/edgepi_adc.py", line 933, in __config
   self.__validate_updates(updated_reg_values)
File "/home/farzadedge/repos/edgepi-device-manager/venv/lib/python3.9/site-packages/edgepi/adc/edgepi_adc.py", line 951, in __validate_updates
   raise ADCRegisterUpdateError(
edgepi.adc.edgepi_adc.ADCRegisterUpdateError: Register failed to update: addx=0x2, expected: 0x0, observed: 0x2

this is happening on farzadedge.local using edgepi-python-sdk==1.1.22

File "/home/farzadedge/repos/edgepi-device-manager/venv/lib/python3.9/site-packages/edgepi/adc/edgepi_adc.py", line 233, in __init__
   self.__config(checksum_mode=CheckMode.CHECK_BYTE_CRC)
File "/home/farzadedge/repos/edgepi-device-manager/venv/lib/python3.9/site-packages/edgepi/adc/edgepi_adc.py", line 933, in __config
   self.__validate_updates(updated_reg_values)
File "/home/farzadedge/repos/edgepi-device-manager/venv/lib/python3.9/site-packages/edgepi/adc/edgepi_adc.py", line 951, in __validate_updates
   raise ADCRegisterUpdateError(
edgepi.adc.edgepi_adc.ADCRegisterUpdateError: Register failed to update: addx=0x2, expected: 0x0, observed: 0x2

this is happening on farzadedge.local using edgepi-python-sdk==1.1.22

This issue only happens on the farzadedge unit. On newer version of hardware, I wasn't able to recreate the issue.

Swap CM4 and SD card from Integtest unit
integtest@integTest:~/projects/edgepi_samples $ source venv/bin/activate
(venv) integtest@integTest:~/projects/edgepi_samples $ pip list
Package           Version
----------------- -------
bitstring         4.0.1
edgepi-python-sdk 1.1.22
install           1.3.5
pip               20.3.4
pkg-resources     0.0.0
protobuf          3.20.3
python-periphery  2.3.0
setuptools        44.1.1
(venv) integtest@integTest:~/projects/edgepi_samples $ python
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from edgepi.adc.edgep_adc import EdgePiADC
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'edgepi.adc.edgep_adc'
>>> from edgepi.adc.edgepi_adc import EdgePiADC
>>> edge_adc = EdgePiADC()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/integtest/projects/edgepi_samples/venv/lib/python3.9/site-packages/edgepi/adc/edgepi_adc.py", line 225, in __init__
    eeprom_data  = eeprom.get_edgepi_reserved_data()
  File "/home/integtest/projects/edgepi_samples/venv/lib/python3.9/site-packages/edgepi/calibration/edgepi_eeprom.py", line 177, in get_edgepi_reserved_data
    self.eeprom_layout.ParseFromString(self.__read_edgepi_reserved_memory())
  File "/home/integtest/projects/edgepi_samples/venv/lib/python3.9/site-packages/edgepi/calibration/edgepi_eeprom.py", line 138, in __read_edgepi_reserved_memory
    mem_size = self.__allocated_memory(EdgePiMemoryInfo.USED_SPACE.value)
  File "/home/integtest/projects/edgepi_samples/venv/lib/python3.9/site-packages/edgepi/calibration/edgepi_eeprom.py", line 81, in __allocated_memory
    check_crc(read_data[:-1], read_data[-1])
  File "/home/integtest/projects/edgepi_samples/venv/lib/python3.9/site-packages/edgepi/utilities/crc_8_atm.py", line 328, in check_crc
    raise CRCCheckError(
edgepi.utilities.crc_8_atm.CRCCheckError: CRC check failed with codes: computed=0xf8, expected=0xbc
>>>

fails the crc when instantiating. Now I wonder how it was passing  CRC

integtest@integTest:~/projects/edgepi_samples $ ls
farzadedge_eeprom  TBRevC#14_Proto  TBRevC#16_Proto  venv
integtest@integTest:~/projects/edgepi_samples $ source venv/bin/activate
(venv) integtest@integTest:~/projects/edgepi_samples $ pip list
Package           Version
----------------- -------
bitstring         4.0.1
edgepi-python-sdk 1.1.22
install           1.3.5
pip               20.3.4
pkg-resources     0.0.0
protobuf          3.20.3
python-periphery  2.3.0
setuptools        44.1.1
(venv) integtest@integTest:~/projects/edgepi_samples $ python
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from edgepi.adc.edgep_adc import EdgePiADC
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'edgepi.adc.edgep_adc'
>>> from edgepi.adc.edgepi_adc import EdgePiADC
>>> edge_adc = EdgePiADC()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/integtest/projects/edgepi_samples/venv/lib/python3.9/site-packages/edgepi/adc/edgepi_adc.py", line 225, in __init__
    eeprom_data  = eeprom.get_edgepi_reserved_data()
  File "/home/integtest/projects/edgepi_samples/venv/lib/python3.9/site-packages/edgepi/calibration/edgepi_eeprom.py", line 177, in get_edgepi_reserved_data
    self.eeprom_layout.ParseFromString(self.__read_edgepi_reserved_memory())
  File "/home/integtest/projects/edgepi_samples/venv/lib/python3.9/site-packages/edgepi/calibration/edgepi_eeprom.py", line 138, in __read_edgepi_reserved_memory
    mem_size = self.__allocated_memory(EdgePiMemoryInfo.USED_SPACE.value)
  File "/home/integtest/projects/edgepi_samples/venv/lib/python3.9/site-packages/edgepi/calibration/edgepi_eeprom.py", line 81, in __allocated_memory
    check_crc(read_data[:-1], read_data[-1])
  File "/home/integtest/projects/edgepi_samples/venv/lib/python3.9/site-packages/edgepi/utilities/crc_8_atm.py", line 328, in check_crc
    raise CRCCheckError(
edgepi.utilities.crc_8_atm.CRCCheckError: CRC check failed with codes: computed=0xf8, expected=0xbc
>>> from edgepi.calibration.eeprom_constants import MessageFieldNumber
>>> from edgepi.calibration.edgepi_eeprom import EdgePiEEPROM
>>> from edgepi.calibration.protobuf_mapping import EdgePiEEPROMData
>>> edge_eeprom = EdgePiEEPROM
>>> with open("farzadedge_eeprom","rb") as f:
...     protobuf_serialized = f.read()
...
>>> edge_eeprom.EdgePiEEPROM()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'EdgePiEEPROM' has no attribute 'EdgePiEEPROM'
>>> edge_eeprom=EdgePiEEPROM()
>>> edge_eeprom.eeprom_layout.ParseFromString(protobuf_serialized)
7174
>>> eeprom_data_to_write = EdgePiEEPROMData(edge_eeprom.eeprom_layout)
>>> edge_eeprom.set_edgepi_reserved_data(eeprom_data_to_write,MessageFieldNumber.ALL)
>>> edge_adc = EdgePiADC()
>>> stat = edge_adc.get_state()
>>> stat.
stat.adc_1          stat.adc_2          stat.checksum_mode  stat.filter_mode    stat.rtd_on         stat.status_byte
>>> stat.adc_1
ADCReadFields(conversion_mode=value: continuous, code: ConvMode.CONTINUOUS, data_rate=value: 20, code: ADC1DataRate.SPS_20, mux_p=value: 0, code: ADCChannel.AIN0, mux_n=value: 1, code: ADCChannel.AIN1)

I generated the current eeprom protobuf serialized file using test script
re-write the eeprom using the SDK module
ADC instantiated without problem
having an issue to connect to farzadedge using ssh

File "/home/farzadedge/repos/edgepi-device-manager/venv/lib/python3.9/site-packages/edgepi/adc/edgepi_adc.py", line 233, in __init__
   self.__config(checksum_mode=CheckMode.CHECK_BYTE_CRC)
File "/home/farzadedge/repos/edgepi-device-manager/venv/lib/python3.9/site-packages/edgepi/adc/edgepi_adc.py", line 933, in __config
   self.__validate_updates(updated_reg_values)
File "/home/farzadedge/repos/edgepi-device-manager/venv/lib/python3.9/site-packages/edgepi/adc/edgepi_adc.py", line 951, in __validate_updates
   raise ADCRegisterUpdateError(
edgepi.adc.edgepi_adc.ADCRegisterUpdateError: Register failed to update: addx=0x2, expected: 0x0, observed: 0x2

this is happening on farzadedge.local using edgepi-python-sdk==1.1.22

This issue only happens on the farzadedge unit. On newer version of hardware, I wasn't able to recreate the issue. Just by looking at the stack trace, it looks like the CRC register didn't get written during the instantiation.

farzadedge.local  has the latest hardware.

I'm closing this issue, since we found the issue was purely hardware related where SPI pins were not soldered


Lb micrometer stats

Fixes gh-674.

Will be adding docs and tests. Just wanted to get a draft review as the release is close.


TS 4.2 beta preserves "keyof" expressions in type display

Bug Report
🔎 Search Terms

keyof 4.2

🕗 Version & Regression Information
$ tsc --version
Version 4.2.0-dev

This changed between versions 4.1.3 and 4.2.0-beta

⏯ Playground Link
playground
💻 Code
interface Point {
  x: number;
  y: number;
}
type Axes = keyof Point;

Mouse over Axes.
🙁 Actual behavior
Displays keyof Point
🙂 Expected behavior
Displays "x" | "y".
I assume this is the result of #42284, but this display seems much less informative than what we used to have:

Having used keyof in the past, I know that keyof Point is the same as "x" | "y". But displaying its type as keyof Point isn't very informative if you don't know that. I worry that this will make it much harder for new TypeScript users to understand how keyof works.

When there are two keys, it's probably preferable, but what about when there are a hundred? It's less clear then, and losing the information about where those keys are coming from is less recoverable. As a developer I can go to the definition of Point and read its keys, but there's no reverse operation that takes me to "a" type that has the keys "a" | "bold" | "div" | "form" | "h1" | "h2" | "h3" | ...

When there are two keys, it's probably preferable, but what about when there are a hundred? It's less clear then, and losing the information about where those keys are coming from is less recoverable. As a developer I can go to the definition of Point and read its keys, but there's no reverse operation that takes me to "a" type that has the keys "a" | "bold" | "div" | "form" | "h1" | "h2" | "h3" | ...

Fair enough, but with TS 4.2 is there any way to expand the type so that I can see what it actually is?
The unknown & trick doesn't seem to work here:
interface Point {
  x: number;
  y: number;
}
type Axes = keyof Point;
// type is keyof Point

type AxesExpand = unknown & Axes;
// type is keyof Point

type AxesExpand2 = unknown & keyof Point;
// type is keyof Point

Fair enough, but with TS 4.2 is there any way to expand the type so that I can see what it actually is?
The unknown & trick doesn't seem to work here:
interface Point {
  x: number;
  y: number;
}
type Axes = keyof Point;
// type is keyof Point

type AxesExpand = unknown & Axes;
// type is keyof Point

type AxesExpand2 = unknown & keyof Point;
// type is keyof Point

Or
type Q = Exclude<Axes, never>;

Or
type Q = Exclude<Axes, never>;

Or
type Q = Exclude<Axes, never>;

Or
type Q = Exclude<Axes, never>;

Thanks @RyanCavanaugh !

Thanks @RyanCavanaugh !

Or
type Q = Exclude<Axes, never>;

There is also the useful {[K in keyof T]: T[K]} to "simplify" objects. Maybe there should be a page in the docs about those? They are really useful to prettify type definitions and not very known as they should.

Or
type Q = Exclude<Axes, never>;

There is also the useful {[K in keyof T]: T[K]} to "simplify" objects. Maybe there should be a page in the docs about those? They are really useful to prettify type definitions and not very known as they should.


Extract Iroha core types

This PR extracts basic Iroha types like Instruction, Peer, Domain, Account etc. into iroha_core crate. This will help in porting Iroha to no_std and ease client libraries.
Also, a few new traits were added:

Execute - ISI and transaction execution
Validate - entity (e.g. transaction) validation
Calculate - metrics and stats calculation

Signed-off-by: Vladislav Markushin<EMAIL_ADDRESS>

I looked one more time - it seems that we try to go faster than we can with this PR - let's start from extraction of domain entities without ISI modules and related methods


Telemetry: Child group spans aren't properly nested

Expected behavior
When one ScopeDoctorGroup needs another, I would expect the outermost group span to be a parent of the group(s) it imports.
For example:
scope doctor run    ==========================================
    doctor run             ==================================
        group (outer)           ====================
        group (inner)              =====
        group (sibling)                  =====

This would let us properly time each group and quickly see which groups are taking longest to run.
Actual Behavior
The parent group comes after its children at a sibling level.

MVCE (Minimal Verifiable Complete Example)
zip archive for convenience
 unzip scope-telemetry-mvce.zip
 cd scope-telemetry-mvce
 docker compose up -d
 open http://localhost:16686
 SCOPE_OTEL_ENDPOINT=http://localhost:4318 scope doctor run

Directory structure
❯ tree -a
.
├── .scope
│   ├── child-group.yaml
│   └── mvce.yaml
└── docker-compose.yml

mvce.yaml
apiVersion: scope.github.com/v1alpha
kind: ScopeDoctorGroup
metadata:
  name: mvce
spec:
  needs:
    - child-group
  actions: []

child-group.yaml
apiVersion: scope.github.com/v1alpha
kind: ScopeDoctorGroup
metadata:
  name: child-group
spec:
  include: when-required
  needs: []
  actions: []

docker-compose.yaml
name: jaeger
services:
    all-in-one:
        container_name: jaeger
        environment:
            - COLLECTOR_ZIPKIN_HOST_PORT=:9411
            - COLLECTOR_OTLP_ENABLED=true
        ports:
            - 6831:6831/udp
            - 6832:6832/udp
            - 5778:5778
            - 16686:16686
            - 4317:4317
            - 4318:4318
            - 14250:14250
            - 14268:14268
            - 14269:14269
            - 9411:9411
        image: jaegertracing/all-in-one:latest

Proposed Fix
The runner always sets the parent span for all groups to doctor run.
https://github.com/oscope-dev/scope/blob/1ef9b9041097d58de8e90622138cc4555db7e246/scope/src/doctor/runner.rs#L151
And the groups are passed as a Vec
https://github.com/oscope-dev/scope/blob/1ef9b9041097d58de8e90622138cc4555db7e246/scope/src/doctor/runner.rs#L125
In order to fix this, we would need to preserve the tree of groups and ensure that only root nodes have their parent set to doctor run while child groups properly point to their parent group.
It's worth noting that it's actually a forest, as multiple root nodes are currently possible.
I'm sure there are other benefits to preserving this structure in the code that I haven't thought of.

Upon further reflection, I believe that a valid scope config is a directed acyclic graph as multiple groups (including multiple root level groups) may have dependencies on the same groups.
That would be the correct data structure. Transforming the configuration into a DAG would ensure things are always executed in the correct order, validation would provide a guarantee no cycles are ever entered, and navigating the structure would naturally allow for proper spanning.


Combined presentation and camera view

In addition to the “comb-view” video there should be an option to view both camera and presentation videos side by side and modify their sizes.
Important gotchas: We need to make sure the videos are synchronized and only one of them should be un-muteable at the same time.

I would like to implement this functionality. I will post an update once I start working on it.

Awesome! :)

Does this issue include the "dragability of the camera"? If camera is set on another layer in front of the presentation, then we can make the background is presentation mode and put camera in front of the user can pan it around if it covers part of the presentation slides. This will solve #418 actually

It doesn't actually, but it makes sense to implement that as part of this issue. As you've said it would solve all of the problems. If we can implement a "Canvas" where we have layers of video data that can be dragged around and resized (like in GIMP or Photoshop) this would solve a lot of the issues. First and foremost, this issue and #418 but also #226 once enough progress has been made. For starters we can assume that there are 3 streams and work on this issue that way, and then generalize this to n streams which will be easy to do given we have a "layer view system" that works. I hope it is clear what I mean by this.


Insta Simulation Dex Connector

[ ] Review
[ ] Deploy
[ ] Add to SDK
[ ] Enable

Deployed on Polygon
Name: INSTA-DEX-SIMULATION-A
Addr: 0x455e03623BAC64799E5456D0e3F1661C53bAaeB8
tx:


feat: add support for standalone links

FX-4180
Description
This PR makes it possible to insert a link while no text is selected. In this case, a link will be inserted as a new LinkNode with text content being the link itself.
How to test

Temploy
Check out the Links story for RichTextEditor
Try to insert the link with nothing selected
Try different combinations of inserting (next to other nodes, next to lists, inside/outside other formats)
Compare to the traditional way of inserting links. There should be no difference in the output

Development checks

[x] Add changeset according to guidelines (if needed)
[x] Read CONTRIBUTING.md and Component API principles
[x] Make sure that additions and changes on the design follow Toptal's BASE design, and it's been already discussed with designers at #-base-core
[x] Annotate all props in component with documentation
[x] Create examples for component
[x] Ensure that deployed demo has expected results and good examples
[x] Ensure the changed/created components have not caused accessibility issues. How to use accessibility plugin in storybook.
[x] Self reviewed
[x] Covered with tests

All development checks should be done and set checked to pass the
GitHub Bot: TODOLess action

PR commands

List of available commands:

@toptal-bot run package:alpha-release - Release alpha version
@toptal-anvil ping reviewers - Ping FX team for review

PR Review Guidelines

When to approve? ✅
You are OK with merging this PR and

You have no extra requests.
You have optional requests.

Add nit: to your comment. (ex. nit: I'd rename this variable from makeCircle to getCircle)

When to request changes? ❌
You are not OK with merging this PR because

Something is broken after the changes.
Acceptance criteria is not reached.
Code is dirty.

When to comment (neither ✅ nor ❌)
You want your comments to be addressed before merging this PR in cases like:

There are leftovers like unnecessary logs, comments, etc.
You have an opinionated comment regarding the code that requires a discussion.
You have questions.

How to handle the comments?

An owner of a comment is the only one who can resolve it.
An owner of a comment must resolve it when it's addressed.
A PR owner must reply with ✅ when a comment is addressed.

@toptal-anvil ping reviewers

I was not able to add a link:  MacOS, Chrome

@dmaklygin looks like I've overlooked the most simple of all the cases, thank you :)
Should be fixed now

@mkrl When the link is inserted in the middle of paragraph, it is inserted in the end, is it expected?
https://github.com/toptal/picasso/assets/1390758/06d837b9-4793-4591-ab30-194289e51442

@sashuk nope, I've just discovered this as well. I think we'll need some node splitting logic (there is already something in Lexical for that). I wanted to keep it as simple as possible, but it looks like more code is needed. I'll update the PR.

The PR has been updated to include Cypress coverage for all cases for LinkPlugin + a new way of inserting LinkNodes that should allow for inserting anywhere.


Improve visual appearance of the compiler on failure

Description
Improve visual appearance of the compiler on failure
closes #5258
Self Check:

[ ] Attached issue to pull request
[ ] Changelog entry
[ ] Type annotations are present
[ ] Code is clear and sufficiently documented
[ ] No (preventable) type errors (check using make mypy or make mypy-diff)
[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )
[ ] If this PR fixes a race condition in the test suite, also push the fix to the relevant stable branche(s) (see test-fixes for more info)

Processing this pull request

Merged into branches master in 0f1b6b0447bf1a8612340f73cda40b9e5f83151b

Processing #6550.

Processing #6550.


Fixes listTitle option values with single quote . Closes #3357

Fixes listTitle option values with single quote. Closes #3357
Remarks
I've updated also the URLs to retrieve lists by GUID and URL. However they don't contain a single quote, I updated them also to maintain consistency.
Updated commands

spo contenttype add
spo contenttype field remove
spo contenttype get
spo eventreceiver get
spo field add
spo field get
spo field list
spo field remove
spo file sharinginfo get
spo list contenttype add
spo list contenttype default set
spo list contenttype list
spo list contenttype remove
spo list get
spo list label get
spo list label set
spo list remove
spo list roleinheritance break
spo list roleinheritance reset
spo list sitescript get
spo list view add
spo list view field add
spo list view field remove
spo list view field set
spo list view get
spo list view list
spo list view remove
spo list view set
spo list webhook add
spo list webhook get
spo list webhook list
spo list webhook remove
spo list webhook set
spo listitem add
spo listitem attachment list
spo listitem get
spo listitem isrecord
spo listitem list
spo listitem record declare
spo listitem record undeclare
spo listitem remove
spo listitem roleinheritance break
spo listitem roleinheritance reset
spo listitem set

thanks @milanholemans for this awesome improvement 👍 You rock 🤩
We'll review it asap

pulled and checked ✔ seems ok but I noticed some more places which I think could also be modified along the way 🤔 please consider my comments 🙏 thanks for your amazing work 👍 you rock 🤩 @pnp/cli-for-microsoft-365-maintainers.request(secondOpinion); 🙏

Thank you for the review @Adam-it.
The reason why I didn't encode these values is because they were used to log verbose messages. To be honest I don't even even understand at first why these values are encoded anyway since they are only used for logging purposes.
Anyway, you're the boss, I'll update them. 😃

@milanholemans you're right, let's keep the values for logging as-is, because otherwise, people will see double quotes in the logs which will deviate from their input. I'll fix it when merging the PR 😊

@milanholemans yes that's a good point 😊. Sorry I didn't think on it to much and then I seem to lost you comment until @waldekmastykarz update 😥. Will try to improve for future 😊👍
thanks @waldekmastykarz in resolving this 👍

All good @Adam-it, we're in this together and that's how we learn 😊


📝storybook: Added docs for Hooks

Resolves #1866
Documents input/output of each hook. I put it as Packages -> Hooks in storybook but this can be changed (I don't know, Icons is technically also another package so maybe it becomes inconsistent this way)

You have to also approve @vnys , I do not have a role where i can merge witout it ;)


Parallel jobs

Hi,
First of all, great work! Helps a lot to get self-hosted builds going.
I have a question:
Is it possible to run parallel jobs on a single VM instance (vmss capacity 1)?
If so, how can I set this up?
And if not, why does the VM instance need to be a quad-core machine with so much memory, while it only runs a single job at a time?

You are welcome, great that you like my work :)

An agent can always run 1 job maximum. You can install the agent more than once on the same VM, but Microsoft does not recommend this: https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops&tabs=browser&WT.mc_id=M365-MVP-5003400#install
They also don't support this with automatically provisioned scale set agent VM instances, as they will only install and register 1 agent. You could create a post-instantiation script that installs & registers additional agents, and attach it to your VM Scale Set. Ever VM that would spin up in that scale set would execute the script and get multiple agents. I never did this so I can't help there.
The temporary VM used to build the VHD is a Standard_D4s_v4 (for Linux VM's) and Standard_D8s_v4 (for Windows VM's). You can configure your VM Scale Set with whatever size you like as long as it supports the disk size that your VHD has. I just happen to like the performance of the Standard_D4s_v4 for my agents in the company too, but it's all up to you to decide whichever fits your use case best.


Fixes bug 1156594 - Add star to searched events

r+

Would you mind making it 1 commit?

Also, can you add a test to search/tests/test_views.py that checks that the link is in there?

Yep I will do that now!
On Tue, Apr 21, 2015 at 9:44 AM, Peter Bengtsson<EMAIL_ADDRESS>wrote:

Also, can you add a test to search/tests/test_views.py that checks that
the link is in there?
—
Reply to this email directly or view it on GitHub
https://github.com/mozilla/airmozilla/pull/279#issuecomment-94865923.

I'll merge this as soon as Travis gets itself unstuck.


Status of joblib compatibility

Joblib tracking issue: https://github.com/joblib/joblib/issues/1592
I opened this mostly for visibility, hopefully this is OK :wink:

Yeah no worries at all, thanks @lesteve! Maybe at some point it's time to build a nicer overview table (e.g., like https://python3statement.github.io/), but for now one issue per package, group of related packages, or topic seems great.

@lesteve we're deploying the website suggested above (see gh-25). It looks like all changes in joblib were adding CI and fixing up tests. Given that there were no code changes in joblib needed, can we list 1.4.2 as compatible?

can we list 1.4.2 as compatible?

I think so, there is https://github.com/joblib/joblib/pull/1594 that I need to take closer look at but that's when you changed the default joblib backend to be threading, which is not really something a user would do.


buildAvailableJobsOptions not defined

Line 105 the method "JenkinsPipelineChecker.buildAvailableJobsOptions" is called but I cannot see it anywhere else in the code

Wow thank you! When I was doing my previous refactoring I accidentally didn't update the function name. PR coming in to fix this


Support aws-sdk-js-v3

The next generation of the aws-sdk for javascript is in current development. Spin off a branch to test dynamo-easy against the new sdk.
Check the https://github.com/aws/aws-sdk-js-v3#api-changes for things to change.

Is there a plan when this feature request is going to be implemented?

@pascalbayer thanks for reaching out. We don't have a clear commitment when this is going to be implemented, generally speaking the staffing for this open source project is currently not clear. We are planning an internal session to clarify on that, let me come back to you. What is a timeline that would make sense for what you are planning todo? Would you be willing and have time to contribute in some way?

@michaelwittwer my team and I is definitely willing to support on the migration and we have already discussed that we are planning to migrate all of our services to dynamo-easy due to the lack of support for the @aws/dynamodb-data-mapper. In a first step we would like to align on what the plans are for dynamo-easy and how we can best contribute to the replacement of the aws-sdk with v3.

Note that AWS will now be bundling V3 of the AWS SDK with the node.js V18.x runtime (https://aws.amazon.com/blogs/compute/node-js-18-x-runtime-now-available-in-aws-lambda/) so would be great to see this happen!

@michaelwittwer Is this still on the radar?

@michaelwittwer Any updates on this or the future of the project?

@pascalbayer We're also tempted to fork this project and attempt to add support for AWS V3, did you start any work on this? (I spotted this fork for example)

@benheymink @pascalbayer Thanks for your patience. I quickly wanted to align on a way forward, currently we can't contribute a lot of resources, but I definitely want to unblock this issue by supporting as good as possible. Here are the steps I will tackle as soon as possible (will ping you until end of week):

[ ] @michaelwittwer Update different libraries, tools to be ready to base new features on
[ ] @michaelwittwer basic migration to aws-sdk-v3 to identify issues and work items

Let me know if you already started working on this.

@michaelwittwer Thanks for the update. No, not started working on it yet, we were just about to start investigating how much effort would be required to move the library over. Will wait for your update towards the end of the week!

@benheymink sitting on it. 🙇🏻  Trying to push something today.

@michaelwittwer Have upgraded to the next branch, and after some work our side (we're also moving stuff over to AWS-SDK V3) everything appears to be working OK - nice job!

@michaelwittwer I may have spoken too soon, am seeing Attempted import error: 'KeyType' is not exported from '@aws-sdk/client-dynamodb' (imported as 'KeyType'). - when building our react application, wierdly! (which relies on one of our Dynamo wrapper utilities, which in turn utilises dynamo-easy)
I saw your comment in https://github.com/shiftcode/dynamo-easy/blob/next/src/aws-sdk-v2.types.ts:
// FIXME somehow the import of KeyType from @aws-sdk/client-dynamodb does not work at runtime and imagine I am hitting the same....did you get any further on that particular issue?

@benheymink did you try with the latest release 8.0.0-next.3 which includes the changes made in the code you references (aws-sdk-v2.types.ts). This solved it for me.

@michaelwittwer Anything we can do to support a release in the near future?

@michaelwittwer with AWS Lambda support for the Node.js 16 runtime being deprecated on June 12, 2024, are there plans for a dynamo-easy v8 release before then? Is there anything we could do to help?
We've been migrating our code to 8.0.0-next.3 as well without any major issue.

@nduthoit Thanks for reaching out. Yes I am definitely willing to release v8 before Juni. We also have pushed a small application running in production which uses the 8.0.0-next.3 version.
You can check the v2-v3-migration file to check on outstanding tasks (probably not a complete list so feel free to contribute).

Hi,
This is an exciting and too expected feature for me. Is there any date planned for the final version? May I help?


Problem with hover

I'm wondering is there a way to show numbers in hover in numerical way instead of scientific. I 'm creating a bar chart.
I use:
def apply_format(plot, element):
        plot.handles['plot'].left[0].formatter=NumeralTickFormatter(format="0,0")
options.Bars = hv.Options('plot', tools=['hover'],finalize_hooks=[apply_format])

to make the Y-axis work.
Another problem is that when the value is negative, the hover won't work.

The latter issue has been fixed in bokeh 0.12.10 and should work once holoviews 1.9 is released. Hover should simply respect the formatter on the Dimension so I've renamed the issue.


added results and display styling

created placeholders for API data in the results div (thought this would be useful for styling)
added styling to image/ingredients list
hid results div since placeholder elements modified search container
added display upon data loading
it needs more styling to be aligned with the design but I thought I'd stop here :)

Gwendolyn, this looks so good! Thank you for finishing the project. I love that you tried it ended up making it look easy.


Sending an invalid input causes KeyError to be raised

When an input is sent to a state that has not defined an "upon" on it, it raises KeyError. This is an implementation detail -- internally, valid transitions are kept in a dictionary and the look-up fails.
The right thing is to raise an exception, but this is not really the right semantics for LookupError, which is meant to function as a "you have tried to look for a missing key". For an example where this might cause harm in practice, imagine a class which is meant to have a "lookup(key)" method, but which looks in different dictionaries depending on the state. It is natural to catch a KeyError from this, for example to substitute a default value. However, if a state for which "lookup()" is invalid [e.g., before the dictionaries are initialized] we do not want to mask that error.
I suggest "InputInvalidForState" inherit from "ValueError". As a precedent, trying to perform ".read()" from a closed file raises ValueError. UnicodeError, which is also a case of "bad current configuration of input", is also a subclass of ValueError.
My understanding is that there has been a previous suggestion of NotImplementedError. However, NIE is supposed to indicate an unfinished class, not a bad (possibly temporary) state. It is normally implemented class-wide. I do not think we should consider different states to be different classes.

Closing -- moved relevant thoughts to #14 :)

Answering question from #14 --
Specifically, the ValueError was useful to me because it is the error that a closed file write raises. Imagine replacing your class that wraps a file pointer with an automat, and not allowing writes when it's closed -- it's nice if tests do not have to change the error type.
Admittedly, it's a niche issue, but one that caught me when I transitioned my code to automat.

Reopening.

@moshez - that sounds like what you really want is for it to be parameterized, not for it to be a subclass of a specific error type.

implicit both here and in the conversation between you and glyph in #14 was the need for a new, automat-specific InvalidStateForInput exception.
if i've made a fair inference i 100% agree with it.  however, i don't think i'd want this automat-specific exception to inherit from any other builtin exception.  as you pointed out, raising a KeyError or a NotImplementedError leaked information about the implementation of automat itself.  i think allowing a InvalidStateForInput exception to bubble up from an automat-enhanced class would analogously leak information about that class.
put another way that piggybacks on glyph's comment: one way (in spirit, at least) to parameterize the exception a library raises is to catch it and raise a new one:

def myMethod(self, aValue):
    try:
        self.myMachine.someInput(aValue)
    except InvalidStateForInput:
        raise mycode.ABadThingHappened("myMethod failed because....")

this would make it harder to unintentionally catch an exception from automat that means something like "you are doing a thing you shouldn't even be able to do", but not impossible.  and in a wild and beautiful future, an automated testing tool might choose to ignore these exceptions while exploring a machine's state space...
but!  maybe my inference that a special, automat-specific exception was a good thing is wrong. maybe an exception that inherits from ValueError is a good thing because it would make an automat-enhanced class appear more like a regular one.  this seems important because one of automat's stated goals is to enable constructing machines that appear to be POPOs.  and this seems to jive with @moshez's test use case.
my own bias is to use automat inside the concrete classes that make up my APIs.  given that, i prefer a special exception type that only inherits from Exception.  my gut also tells me it's more explicit and an easier API.  i'm not sure what this means for that machines-as-POPOs design goal, though.

but! maybe my inference that a special, automat-specific exception was a good thing is wrong. maybe an exception that inherits from ValueError is a good thing because it would make an automat-enhanced class appear more like a regular one.

I'm not sure how a "regular class" would just spontaneously raise ValueError sometimes, so I'm not sure what you mean here. :)

my own bias is to use automat inside the concrete classes that make up my APIs. given that, i prefer a special exception type that only inherits from Exception. my gut also tells me it's more explicit and an easier API. i'm not sure what this means for that machines-as-POPOs design goal, though.

Having inputs which are private methods, wrapped by public methods which figure out what to do with them - for example, determining whether a certain type of value for a particular argument actually means providing a different input to the state machine - is definitely part of the POPO proposition.  So your except InvalidStateForInput: raise SomethingApplicationSpecific actually seems like the right way to 'parameterize' this behavior; no need to invent wacky new state-machine-data vocabulary when the language of POPOs expresses it perfectly well.
Would you mind changing the NotImplementedError you added in an earlier PR to said InvalidStateForInput?

short answer: NotImplementedError -> InvalidStateForInput: totally happy to make that change and will have a PR momentarily.
longer answer:

I'm not sure how a "regular class" would just spontaneously raise ValueError sometimes, so I'm not sure what you mean here. :)

i wrote this a bit hastily.  i think i was going for something a little like this:
automat provides a POPO interface.  if a file object (file() instance in python 2, io.SomethingIO object in python 3) is a POPO, and they and similar language-level/standard library objects raise ValueError when a method is called whose behavior somehow contradicts that object's current state, then it may make sense if InvalidStateForInput subclasses ValueError.
but writing it out like that, with all those conditions, has just convinced me that InvalidStateForInput shouldn't have anything to do with ValueError.

@glyph - i think @moshez's ok with the outcome of #16.  ok to close?

Yep!


Three commits to bring j2cl-m-p 0.19-snapshot compat

Technically the generated poms dont need to be deleted in this changeset, but theres no reason to check them in.

Thanks a lot !


Add yaml support to portal-bridge

What was wrong?
json doesn't support comments I want to have comments in my test data so I know what the numbers are/mean
How was it fixed?
by adding serde-yaml and and a match case on the file extension.

@carver Ok I added that test you wanted, and commented on the issue you had with the clone

I think yaml files are way better than json for test data (because they can include comments). At some point, we may want to switch all our json test files to yaml in test_assets.

Upon further thought, I think we should either choose yaml or json as our official standard for test data and use it comprehensively throughout our codebase. Supporting both is confusing and adds unnecessary complexity. If we don't feel like making the jump to exclusively using yaml, then maybe that jump is not worth it? (for the record, i'm on board with using yaml exclusively)

@njgheorghita I am going to merge this as I resolved the PR concerns. I think we should use YAML, but I don't think deciding that should block this or my other PR. I would argue supporting json/yaml is the same as us supporting http/ipc though and the complexity is going to be less then 20 lines so I think that is very managable.
We can create an issue or bring it up in meeting if we want to look into that.


downloads latest ffmepg builds (resolves #8)

As request in #8 , this ensures that the install always downloads the latest ffmpeg builds for the proper platform and architecture

@ShayBox please review the URLs and code to confirm I did it correctly

👍 Looks good

I could not get this to work. You will need some library to handle zip files and xz compression. Also, you should then be able to delete the darwin, linux, and windows folders.

Dammit sorry I miss licked on the mobile app
Sent with GitHawk

Misclicked*
Anyway I’ll look into working with zips and tar balls across operating systems when I have more time. Right now I’m focusing on my own discord bot and adding a casino commands group which is more work than what it may sound like when doing it properly

Resolved in 009e4d540aa5bda01cc6781b9f1d1c682260c2ef


Add file storage location to file manager folder

Fix #4343

@deek87 We actually have to edit the tests because we have a lot of errors about the concrete5_tests.FileStorageLocations table that doesn't exist when we check for the default storage location

@deek87 Thanks again ! 👍
In concrete/src/Tree/Node/Type/Category.php we don't use the parent or the default storage location ?

@deek87 I added the doc !

This is a really cool addition, but I think instead of storing fslID on the TreeNodes table – which is shared across all different types of tree nodes – we should create a new TreeFileFolderNodes folder that has fslID on it, and grab those specific details in the FileFolder class. You can look at the Concrete\Core\Tree\Node\Type\Group class for examples – it's a subclass of Node that adds more properties to the node object by using its own custom TreeGroupNodes table. This shouldn't be hard because there's already a Concrete\Core\Tree\Node\Type\FileFolder class.

This PR is replaced by #7344.


add dockerfile and parameter builder for appdynamics collector

Please get this merged :)

Changes included with #1708

Couple of issues with this PR.

The appdynamics-properties-builder.sh does not has execute permission, it should be set as 755. Otherwise, it wont be executed when container starts.
logback.xml is missing.

I can submit a PR on top of this PR to fix all the issues.

@tabladrum LGTM


D3D11 cannot update texture created from texture data

I am not sure whether this is a real bug or I am using API in a wrong way.
Steps to reproduce:

D3D11 bgfx
create a 2d texture from texture data (last argument _mem in bgfx::createTexture2D is not null)
try to update the texture using bgfx::updateTexture2D
observe that ID3D11DeviceContext::UpdateSubresource crashes

not working:
m_texture_handle = bgfx::createTexture2D(
		header.width,
		header.height,
		1,
		bgfx::TextureFormat::RGBA8,
		0,
		bgfx::copy(image_dest, header.width * header.height * 4));

// later
bgfx::updateTexture2D(m_texture_handle, 0, 0, 0, m_width, m_height, mem);

error message
D3D11 ERROR: ID3D11DeviceContext::UpdateSubresource: Can only invoke UpdateSubresource when the destination Resource was created with D3D11_USAGE_DEFAULT and is not a multisampled Resource. The destination Resource has (1) samples. [ RESOURCE_MANIPULATION ERROR #289: UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE]

It only fails on D3D11. OpenGL and D3D9 works fine.
I can use following workaround, however I am not sure with its performance.
	m_texture_handle = bgfx::createTexture2D(
		header.width,
		header.height,
		1,
		bgfx::TextureFormat::RGBA8,
		0,
		0);
	bgfx::updateTexture2D(m_texture_handle, 0, 0, 0, header.width, header.height,
		bgfx::copy(image_dest, header.width * header.height * 4));

// later
bgfx::updateTexture2D(m_texture_handle, 0, 0, 0, m_width, m_height, mem);

Yes, that's correct behavior. I'll update docs to be explicit about it. If you create texture with data you're creating immutable texture. If it's created without data, it's dynamic texture and you can update it.


Getting divescores inside solving loop

I am looking to get dive scores from multiple diving heuristics at a certain point in the tree and use this information to make a branching decision.
I am unable to find a way to get dive scores inside the solving loop and I am wondering if it is possible to get those scores without executing the dive ?
I am looking to create a composite score from many dive scores using different techniques (averages, ml model, ...).
Thanks

Hey Vincent, I have very little experience with this side of SCIP, but I see that in pub_heur.h there is a function SCIPheurGetDivesets() (defined in heur.c) which returns the divesets of a given heuristic.
Then, in scip_probing.c there is a function
SCIP_RETCODE SCIPgetDivesetScore(
   SCIP*                 scip,               /**< SCIP data structure */
   SCIP_DIVESET*         diveset,            /**< general diving settings */
   SCIP_DIVETYPE         divetype,           /**< represents different methods for a dive set to explore the next children */
   SCIP_VAR*             divecand,           /**< the candidate for which the branching direction is requested */
   SCIP_Real             divecandsol,        /**< LP solution value of the candidate */
   SCIP_Real             divecandfrac,       /**< fractionality of the candidate */
   SCIP_Real*            candscore,          /**< pointer to store the candidate score */
   SCIP_Bool*            roundup             /**< pointer to store whether preferred direction for diving is upwards */
   )

So, in C, I guess you could collect the diving heuristics with SCIPfindHeur() and then get the divesets of the heuristic with SCIPheurGetDivesets() and finally get the scores with SCIPgetDivesetScore().
Would this be what you want?
I don't know, thought, if this would actually work, or if there is some precondition needed. Also, one would need to add some of this functions to PySCIPOpt, but that shouldn't be too complicated.


Blackbox the processed value to make sure it isn't optimized away

This makes sure that the processed value is not ignored by returning the output waveform to b.iter (this is called blackboxing). Otherwise there's a chance that rustc might decide parts or all of it is dead code and optimize it away.
Some information about it can be found here: https://bheisler.github.io/criterion.rs/book/faq.html#when-should-i-use-criterionblack_box.

Thanks for this PR! Did you measure any difference from the change?

Thanks for this PR! Did you measure any difference from the change?

I saw no difference. If any, it would be slower but it doesn't seem like any work was being optimized away.


Windows 7 64 won't start. Where I can take debug information?

Windows 7 64.
Hi guys. Jitsi awesome! And you too. You did greate work!
I cant start Stable version of Jitsi (jitsi-2.10.5550-x86 and jitsi-2.10.5550-x64).
But development version work like charm(jitsi-2.11.5633-x86).
Antivirus, brandmouer uninstalled.
How can I look at error?
I check %appdata%\Jitsi, but it folder not exist.
I check evenvwr.msc, but its has no nothing.
I tried looking by Procmon.exe, but seems nothing extraordinary...
Sorry for my English. Thank you again!

Problem solved.
I download from:
https://www.oracle.com/java/technologies/javase-jre8-downloads.html
jre 8 and replace folder jre in Jitsi installed.
All worked.


Basis elements are forgotten after unrolling

When constructing a DAGCircuit using the Unroller with a specified basis, only the basiselements that are used in the circuit will be in the final object. Extra basis elements are not retained.
Expected Behavior

When specifying a basis I would expect the resulting DAGCircuit object to have all elements of that basis in the DAGCircuit's basis.
Current Behavior

Only the basis elements in the input file are actually in the DAGCircuit basis.
For an input file of mine and the following example code
    BASIS = ["u1", "u2", "u3", "id", "cx", "x", "y", "z", "h", "s", "sdg", "t", "rx", "ry", "rz",
            "u", "swap"]

   qasm = Qasm(filename=qasm_description).parse()
   dagcircuit: DAGCircuit = Unroller(qasm, DAGBackend(basis=BASIS)).execute()

the dagcircuit object will have in its basis: h, cx, rx, sdg and s gates. But in the BASIS I define more basis elements than that. Specifically, I want "swap" to be in the basis.
Possible Solution

Copy the input basis of the DAGBackend to the output object.
Context

I want to construct a mapper for the qiskit developer challenge, and to debug I would like to see where SWAPs are applied in the output circuit. Therefore, I want to have them in my circuit basis.
Your Environment

Version used: 0.4.11
Environment name and version (e.g. Python 3.6.1): 3.6.4
Operating System and version: macOS 10.13.4

@ajavadia @ewinston can you confirm this is a bug and not the expected behavior?

Yes the basis elements should be updated when unrolling occurs. It is a bug but low priority as it doesn't affect user code much.

The basis that is living as a property of the DAGCircuit seems to be the minimal basis that is supported for that circuit. It even has a particular format:
dagcircuit.basis[name] = (
                number_qubits,
                number_classical,
                number_parameters)

@ajavadia are you sure that this is not the expected behavior? What should be the content of dagcircuit.basis for gates that are not used in the input? In the submitter example, what is number_qubits, number_classical, and number_parameters if swap is not mentioned in qasm_description?

This issue is obsolete now since DAGs no longer carry a basis (its basis is whatever is inside it).


Add support for injecting fake key events to trigger Figma interactions

Figma's interaction tools give us key input as a way to trigger an action. This commit adds a function to inject one of these key events, which consists of a key and a list of optional metakeys (shift, alt, control, meta). There are two ways to use this key injection function.

Call it directly with the DesignInjectKey() function.
Create a new function annotated with the @DesignKeyAction() annotation. This generates a function that calls the DesignInjectKey() function with the parameters specified in the annotation.

An example of this has been added to the Interaction validation document.
The way this works is that when a node with key reactions is rendered, we register a function with the node as a listener for the key events it is interested in. When the key injection happens, listeners are notified and their interactions are dispatched.
Bug: 277762504

Created #8 for this work (copied from the internal bug)


Fixing some typos

There's also some convoluted language that could be cleaner, but it felt like too much to address in one PR.

Thanks, @appsforartists !


Usmap version parsing bad

So I tried loading latest Usmap (from https://fortnitecentral.genxgames.gg/api/v1/mappings), same Usmap FModel uses, like this:
var provider = new DefaultFileProvider(_gameDirectory, SearchOption.TopDirectoryOnly, true, new VersionContainer(EGame.GAME_UE5_4));
provider.MappingsContainer = new FileUsmapTypeMappingsProvider(_mapping);

_mapping being the path to mappings file.
CUE4 raises an exception: An error occurred: Usmap has invalid version (3), while FModel doesn't when using the EXACT SAME usmaps.
wtf is going on?

Use the submodule, not the nuget package.


Python: AzureCognitiveSearch Connector tests report an unclosed client

Fatal error on SSL transport
protocol: <asyncio.sslproto.SSLProtocol object at 0x000002BCE91574C0>
transport: <_SelectorSocketTransport closing fd=956>
Traceback (most recent call last):
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\selector_events.py", line 924, in write
n = self._sock.send(data)
OSError: [WinError 10038] An operation was attempted on something that is not a socket
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\sslproto.py", line 690, in _process_write_backlog
self._transport.write(chunk)
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\selector_events.py", line 930, in write
self._fatal_error(exc, 'Fatal write error on socket transport')
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\selector_events.py", line 725, in _fatal_error
self._force_close(exc)
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\selector_events.py", line 737, in _force_close
self._loop.call_soon(self._call_connection_lost, exc)
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 753, in call_soon
self._check_closed()
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 515, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x000002BCE9154100>
Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000002BCE922E5C0>, 83369.296)]']
connector: <aiohttp.connector.TCPConnector object at 0x000002BCE9157400>
Fatal error on SSL transport
protocol: <asyncio.sslproto.SSLProtocol object at 0x000002BCE91561A0>
transport: <_SelectorSocketTransport closing fd=944>
Traceback (most recent call last):
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\selector_events.py", line 924, in write
n = self._sock.send(data)
OSError: [WinError 10038] An operation was attempted on something that is not a socket
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\sslproto.py", line 690, in _process_write_backlog
self._transport.write(chunk)
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\selector_events.py", line 930, in write
self._fatal_error(exc, 'Fatal write error on socket transport')
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\selector_events.py", line 725, in _fatal_error
self._force_close(exc)
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\selector_events.py", line 737, in _force_close
self._loop.call_soon(self._call_connection_lost, exc)
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 753, in call_soon
self._check_closed()
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 515, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Fatal error on SSL transport
protocol: <asyncio.sslproto.SSLProtocol object at 0x000002BCE9157730>
transport: <_SelectorSocketTransport closing fd=916>
Traceback (most recent call last):
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\selector_events.py", line 924, in write
n = self._sock.send(data)
OSError: [WinError 10038] An operation was attempted on something that is not a socket
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\sslproto.py", line 690, in _process_write_backlog
self._transport.write(chunk)
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\selector_events.py", line 930, in write
self._fatal_error(exc, 'Fatal write error on socket transport')
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\selector_events.py", line 725, in _fatal_error
self._force_close(exc)
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\selector_events.py", line 737, in _force_close
self._loop.call_soon(self._call_connection_lost, exc)
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 753, in call_soon
self._check_closed()
File "C:\Users\abharris\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 515, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed

Fixed with last week's package per Devis.


added view template support for get apis

added view template support for get apis
added remove paths provider for view templates

https://github.com/Sunbird-RC/community/issues/362

[ ] document view templates

by default, it should not remove non public fields while using GET API if the user is owner or schema is anonymous

add e2e tests


fixed CS8352 in net8

if you try to compile this project in net8, it will show some
SvgPointCollection.cs(66,89,66,94): error CS8352: Cannot use variable 'state' in this context because it may expose referenced variables outside of their declaration scope
This MR fixes that errors.
Reference Issue

What does this implement/fix? Explain your changes.

Any other comments?

@RomanKalachik Thanks for the contribution. Still do not understand why ref was needed, but will look into it.
How about just adding the .NET 8 support as well? (was hoping #1019 will add it but still no progress there).

@RomanKalachik Thanks for the contribution. Still do not understand why ref was needed, but will look into it. How about just adding the .NET 8 support as well? (was hoping #1019 will add it but still no progress there).

Net8.0 support in this whole project is a long story because of System.Drawing.
I believe that ref is not required in that case and removed it in this MR

Net8.0 support in this whole project is a long story because of System.Drawing.

Not tried it yet, but was thinking it should succeed with System.Drawing.Primitives, which is available as Nuget package.

@RomanKalachik Please can you share the issues you have with the .NET 8 support?
Currently, the support for System.Drawing is fixed at version 5.0.3 in the SVG-NET.
I downloaded your project, added the .NET 8, it builds without any issue.

I tested all on command-lines:
dotnet test --framework net8.0 Tests/Svg.UnitTests/Svg.UnitTests.csproj
dotnet test --framework net6.0 Tests/Svg.UnitTests/Svg.UnitTests.csproj
dotnet test --framework netcoreapp3.1 Tests/Svg.UnitTests/Svg.UnitTests.csproj
dotnet test --framework net462 Tests/Svg.UnitTests/Svg.UnitTests.csproj

All tests succeeded except 1, and it is due to difference in line ending. Still do not know why this fails with your source code (I downloaded it, not a git clone).

Why does your PR includes cases as shown below for the ReadOnlySpan<char> (the CoordinateParserState is modified so ref is expected).
Svg.Helpers.StringParser
	public static float ToFloat(ref ReadOnlySpan<char> value)
	{
#if NETSTANDARD2_1 || NETCOREAPP2_1_OR_GREATER
		return float.Parse(value, NumberStyles.Float, Format);
#else
		return float.Parse(value.ToString(), NumberStyles.Float, Format);
#endif
	}

Svg.CoordinateParser
public static bool TryGetFloat(out float result, ref ReadOnlySpan<char> chars, ref CoordinateParserState state)
{
	var charsLength = chars.Length;

	while (state.CharsPosition < charsLength && state.HasMore)
	{
		var currentChar = chars[state.CharsPosition];

		// NOTE: Deleted for simplicity
	}
}

Issues raised here are fixed in #1137


@EnableSAMLSSO on @Configuation

I'm having issues trying to toggle @EnableSAMLSSO on a configuration (for example trying to launch the boot application with a profile).
The docs note:

Add the @EnableSAMLSSO annotation to your Spring Boot Application on any @Configuration class:

So i have the following, trying to only configure when a property is set:
@Configuration
@EnableSAMLSSO
@ConditionalOnProperty(value="security.saml.enable", matchIfMissing=true, havingValue="true")
public class SAMLSecurityConfig extends WebSecurityConfigurerAdapter {
   // as per the docs: https://github.com/ulisesbocchio/spring-boot-security-saml#using-websecurityconfigureradapter
}

And this works fine to disable saml when the property is set to false. But when the property is not set, i get the following error:

Error creating bean with name 'springSecurityFilterChain' ... This object has already been built.

Is there something i'm obviously doing wrong? I don't see an example of @EnableSAMLSSO being set on anything other than the Application class in the samples repository.

You can easily reproduce this by moving the @ENableSAMLSSO annotation in the okta2 sample project from the OktaSSODemoApplication2 class to the MyServiceProviderConfig:
@Configuration
@EnableSAMLSSO
public static class MyServiceProviderConfig extends WebSecurityConfigurerAdapter {

Using Spring Boot 2 and spring-boot-security-saml 1.16
I'm also trying to do the same thing but with separate spring profiles.  If I move the @EnableSAMLSSO annotation anywhere besides the @SpringBootApplication class I get the error:
WARN  - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.servlet.Filter]: Factory method 'springSecurityFilterChain' threw exception; nested exception is org.springframework.security.config.annotation.AlreadyBuiltException: This object has already been built
INFO  - Unregistering JMX-exposed beans on shutdown
INFO  - Shutting down Quartz Scheduler
INFO  - Scheduler scheduler_$NON_CLUSTERED shutting down.
INFO  - Scheduler scheduler$NON_CLUSTERED paused.
INFO  - Scheduler scheduler$_NON_CLUSTERED shutdown complete.
INFO  - Shutting down ExecutorService 'threadPoolTaskExecutor'
INFO  - Closed connection [connectionId{localValue:2, serverValue:1132383}] to vpmongo-dev.valpak.com:27017 because the pool has been closed.
INFO  - Stopping service [Tomcat]

See https://github.com/ulisesbocchio/spring-boot-security-saml-samples/issues/3#issuecomment-269235667 - this approach worked for me (using a second configuration class and importing it directly from the main application class)

Thanks. The first option worked for me in combination with @Profile("sso")

On Oct 26, 2018, at 12:36 AM, Chris White<EMAIL_ADDRESS>wrote:
See ulisesbocchio/spring-boot-security-saml-samples#3 (comment) https://github.com/ulisesbocchio/spring-boot-security-saml-samples/issues/3#issuecomment-269235667 - this approach worked for me (using a second configuration class and importing it directly from the main application class)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/ulisesbocchio/spring-boot-security-saml/issues/72#issuecomment-433283789, or mute the thread https://github.com/notifications/unsubscribe-auth/AJ30x8vA4HQAipuJK_u-2yJbidquXEUKks5uopFRgaJpZM4XYiz7.

glad you guys figured it out. This are problems with the way Spring Security loads. My guess is that you guys may have another auth mechanism besides samlsso bootstrapping. Maybe basic auth? Anyway, closing since you guys are good.


Issue Building Application via CLI

Hello Team,
I am trying to build the application via the CLI, adhering to the instructions mentioned in the build document. Could you kindly help me resolve this error?
Dockerfile
FROM instrumentisto/flutter:3.10

RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
RUN . ~/.bashrc
RUN rustup install 1.67.1 1.72.0 1.73.0 -y;
RUN rustup default 1.67.1;

RUN curl -fsSL https://fvm.app/install.sh | bash;

WORKDIR /mnt

RUN git clone https://github.com/AquaWallet/aqua-wallet.git;

RUN fvm use 3.10.6;

RUN make setup;

CMD ["flutter","build","apk"]

Error

Hi, is the issue resolved yet? You'll have to rectify with the aqua loptimal weblink and try it again.

Hey @Admin661 , No its not resolved yet.

Ok sorry for the inconvenience caused! I’ll forward the aqua loptimal
weblink here, and try it again
On Thu, May 30, 2024 at 4:57 PM bit-aloo @.***> wrote:

Hey @Admin661 https://github.com/Admin661 , No its not resolved yet.
—
Reply to this email directly, view it on GitHub
https://github.com/AquaWallet/aqua-wallet/issues/31#issuecomment-2140047650,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BINAYYKAH2WCZY6GXWHGX6LZE5D57AVCNFSM6AAAAABIDTJ4IKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBQGA2DONRVGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi @Shourya742, using the Dockerfile above on the walletscrutiny.com build server, these are my results:
danny@lw10:~/work/builds/io.aquawallet.android-3$ docker build -t aquawallet-build-3 .
Sending build context to Docker daemon  2.048kB
Step 1/12 : FROM instrumentisto/flutter:3.10
 ---> a655d524b362
Step 2/12 : RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
 ---> Using cache
 ---> 7de316a3ba19
Step 3/12 : ENV PATH="/root/.cargo/bin:${PATH}
failed to process "\"/root/.cargo/bin:${PATH}": unexpected end of statement while looking for matching double-quote
danny@lw10:~/work/builds/io.aquawallet.android-3$

hey, got the same result by running the dockerfile, created a new file based on the build instructions,
# Use a base image with Nix installed
FROM nixos/nix:2.16.1

# Install necessary packages
RUN nix-env -iA nixpkgs.bash nixpkgs.git nixpkgs.curl nixpkgs.flutter

# Set the working directory
WORKDIR /app

# Clone the Aqua Wallet repository
RUN git clone https://github.com/AquaWallet/aqua-wallet.git .

# Install bash to make sure it is available
RUN nix-env -iA nixpkgs.bash

# Set up the environment using Nix
RUN nix develop --experimental-features 'nix-command flakes' --command /bin/bash -c \
    "make setup"

# Run the shell to ensure dependencies are set up correctly
RUN nix develop --experimental-features 'nix-command flakes' --command /bin/bash -c \
    "make shell"

# Build the APK
RUN nix develop --experimental-features 'nix-command flakes' --command /bin/bash -c \
    "flutter build apk --release"

# Copy the generated APK to the specified location on the host machine
RUN mkdir -p /home/keraliss/projects/walletScrutiny_build/aqua && \
    cp build/app/outputs/flutter-apk/app-release.apk /home/keraliss/projects/walletScrutiny_build/aqua/

# Final command (if necessary)
CMD ["bash"]

RUN mkdir -p /aqua/apk && \
    cp build/app/outputs/flutter-apk/app-release.apk /aqua/apk

But kept constantly getting error regarding /bn/bash/ and was unable to resolve. You can find my detailed review here
Would highly appreciate if you can let us know how you guys build the apk, so we can replicate the same steps!


Translate contribution documents to Korean

What is this PR for?

Translate hlowtocontributewebsite.md to Korean
Translate writingzeppelinapplication.md to Korean
Translate writingzeppelininterpreter.md to Korean

What type of PR is it?
[Documentation]
Todos

No

What is the Jira issue?

No

How should this be tested?
By running jekyll, checked documents
Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

LGTM +1