AWS4Signer produces incorrect signature for reserved characters

Description
AWS4Signer produces an incorrect signature for URIs containing reserved characters.
The root cause is AWSSDKUtils.CanonicalizeResourcePath incorrectly encoding path components when detectPreEncode is true -- which AWS4Signer sets for all non-S3 URIs.
I'm aware AWS4Signer is an internal class, but unlike other AWS SDKs it doesn't appear that a publicly-vended SigV4 signer is part of the .NET SDK, so I have attempted to use it.  Nonetheless, the root cause is a utility function in the public portion of the SDK.  Please correct me if this is not the case and there is a publicly vended signing utility.
Reproduction Steps

Prepare a request containing a reserved character such as : and attempt to have that request signed by AWS4Signer.  An easier way to isolate the issue is to directly use AWSSDKUtils.CanonicalizeResourcePath in the same way it does.  That is, detectPreEncode must be set to true.
For an example path /:, or /%3A once encoded to a legal URI:
var encodedPathComponent = AWSSDKUtils.UrlEncode(":", false);
var path = $"/{encodedPathComponent}";
var canonicalPath = AWSSDKUtils.CanonicalizeResourcePath(new Uri("https://execute-api.us-east-1.amazonaws.com"), path, true);

// path = "/%3A"
// canonicalPath = "/%25253A" -- should be "%253A"

One could assume that the output is being encoded twice per the SigV4 signing protocol, and that the input should simply be given in an unencoded form and let the canonicalization process handle it.  Unfortunately, this does not work because the UrlEncode pass that is performed as a result of detectPreEncode being set does not encode reserved characters because the path argument is set to true in that call.  Passing an unencoded path then results in reserved characters not being encoded in the first pass, only in the second pass, and the canonical resource path not being correct either:
var path = $"/:";
var canonicalPath = AWSSDKUtils.CanonicalizeResourcePath(new Uri("https://execute-api.us-east-1.amazonaws.com"), path, true);

// path = "/:" -- must be "/%3A" for the actual request to be a valid URI
// canonicalPath = "%3A" -- should be "%253A"

Resolution

[ ] :wave: I can/would-like-to implement a fix for this problem myself

This is a :bug: bug-report

@jarruda We recently fixed an encoding issue in this release on 10-27 Core <IP_ADDRESS> . Do you mind testing your scenario with that version of core?

@peterrsongg -- I no longer have a C# environment set up I can test in.  The repro test is only 3 lines from the description if you would like to see if it still reproduces.

@jarruda  The latest version of the SDK uses CanonicalizeResourcePathV2 and that is where we made the encoding fix.
I used the repro test from above and confirmed that the latest version of the SDK fixes this issue. It seems in your repro code you passed in an already encoded : which you then pass in again to CanonicalizeResourcePath. In the latest version that is not necessary. The SDK will encoded special characters by default so all you have to do is:
var path = $"/:";
var canonicalPath = AWSSDKUtils.CanonicalizeResourcePathV2(new Uri("https://execute-api.us-east-1.amazonaws.com"), path, true, null);
Console.WriteLine(canonicalPath);

which will return the desired /%253A
The second code snippet also works as  expected:
var path = $"/:";
var canonicalPath = AWSSDKUtils.CanonicalizeResourcePathV2(new Uri("https://execute-api.us-east-1.amazonaws.com"), path, true, null);
Console.WriteLine(canonicalPath);

which returns the desired result : /%253A. Thank you for bringing this to our attention

Note this issue is specifically about the behavior of AWS4Signer whose use of the CanonicalizeResourcePath API resulted in the double-encoding.  My repro focused on what I identified as the root cause of the incorrect encoding inside of this class.
So the question is, does AWS4Signer correctly sign requests which include the : character in the resource path (when an S3 host is not used)?  Sorry I do not have a simple repro for you to follow; you would have to calculate the correct signature for the request and compare that to the Signer's output to check.  This being incorrect is how I diagnosed the initial problem.

@jarruda Yes, the AWS4Signer does correctly sign requests which include special characters, we had to create V2 versions of the helper methods that CanonicalizeResourcePathV2 uses (which bubbles up to AWS4Signer). We do double encode these special characters. This changelog entry is where the fix was introduced. As part of the implementation for that we tested quite a bit with the signer


How can we clear history in message

I do not want to delete whole conversation
is it possible to delete all message and not from conversation?

Hi @vandanabpatel,
the feature you have request is not still available.
Anyway, you can delete single message from your firebase project by selecting folder:
YOUR_PROJECT_NAME/users/USER_ID/message


chore(deps): update common-dev-assets digest to f5cecb2

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
5b96dd7 -> f5cecb2

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

/run pipeline

:tada: This PR is included in version 1.38.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Getting this Error : Unhandled Rejection (TypeError): (0 , p.exec) is not a function

I have used the both sync and async version of function , but no luck in getting Machine Id . Getting the error as mentioned in title at the time of starting the React Dev Server .

I also had the same problem,AHHHHHHHHH !

same problem

Yes same here.

yes me too

I had the same problem.
try a solution!!!
replace import by require
I made it!


new function "create_prototype_node" for overwriting

I want to change node's tag  "A" to "DIV" but I can't. Overview and extend redraw_node for "node.tagName = DIV"  not work.  Funciton "create_prototype_node" I will can overview and do I want.  I think it will be right

I don't know how it would be faster redraws. I just moved "create_prototype_node" function to core prototype.
And I have one question. why we use A tag for item  "_temp1 = document.createElement('A');"?  I mean we can change it to "DIV" tag and allow use html and clickable elements inside that block like { "text" : "Child node 1  " },  Possible it is not primary responsibilities of that plugin but it would be more flexible for using.

Because the A tag has semantic meaning, identifying the element as clickable and focusable, it assists greatly in accessibility as well. But with your addition you will be able to use any other tag name, provided you can go without the semantic meaning of the anchor tag. I will review and merge your contribution in a day or two - thank you.
As for the redraws - because if this function is in the core prototype all plugins can overwrite it (and extend it) meaning that plugins will no longer need to extend the redraw_node function to add their custom markup - they can add it to the original node that is cloned every time - meaning less DOM operations on each node rendered.

@vakata, what do you mean by:

plugins will no longer need to extend the redraw_node function to add their custom markup

and:

less DOM operations on each node rendered

jstreegrid relies on redraw_node(), if I can do something here to make it faster and simpler, I am all for it.

FYI, is the new capability of _create_prototype_node and how it would be used documented? I didn't see it in http://jstree.com


Create a guide for deploying a contract from installed Wasm bytecode using code

Get awarded: up to $100 worth of XLM
Section: How-To Guides - Conventions: https://github.com/stellar/stellar-docs/tree/main/docs/smart-contracts/guides/conventions
Guide could include:

Code walkthrough
Written explanation

HI @briwylde08 , I would love to take up this tasks.

You got it!

Hi @KodeSage!
Congratulations! Your contribution to Deep Dive Docs Bounty has been accepted! 🎉
Your submission may qualify for an award of $100 worth of XLM! One last step: please fill out this form completely and accurately. Once we review the completed form and everything checks out, we will let you know the status of your potential award!
Feel free to fill out the form just once for your two submissions! I'll manually fill in the second.
Please let us know if you have any questions.
All the best,
Bri

Hi @briwylde08 , I have completed the filling of this form and submitted too.

Hi @KodeSage,
Thank you for providing the requested information! You’ve passed KYC and we’ve logged your award payment of $350 worth of XLM (we'll combine the payment with your other bounty), which will be sent to the wallet you designated in the next week.
Please let me know if you have any questions.
All the best,
Bri


Feature/ocisprovider use backend

This PR makes the oidc provider use an auth and user manager.
Configure like this (only oidc relevant properties shown):
[http]
enabled_services = [
    "oidcprovider",
    "wellknown"
]

# HTTP middlewares

[http.middlewares.auth]
credential_strategy = "oidc"
skip_methods = [
    "/oauth2",
    "/oauth2/auth",
    "/oauth2/token",
    "/oauth2/introspect",
    "/oauth2/userinfo",
    "/oauth2/sessions",
    "/.well-known/openid-configuration",
]

[http.services.oidcprovider]
prefix = "oauth2"
auth_manager = "json"
user_manager = "json"

[http.services.oidcprovider.auth_managers.json]
users = "/data/users.json"

[http.services.oidcprovider.user_managers.json]
users = "/data/users.json"

Codecov Report

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

@@           Coverage Diff           @@
##           master     #249   +/-   ##
=======================================
  Coverage   76.92%   76.92%
=======================================
  Files           7        7
  Lines         299      299
=======================================
  Hits          230      230
  Misses         64       64
  Partials        5        5

Continue to review full report at Codecov.

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

@butonic for the auth manager this will skip any authentication going through the grpc authsvc rigtht? if that is the case I don't like it. For the user manager as we don't have one cs3 api yet for them no problem, for http services should rely solely on the grpc apisl

The oidc provider is a fairly distinct thing from the core api services. No one is supposed to run it in production. It is intended as a bare minimum implementation that will allow you to run reva and have a working installation including oidc based authentication (because in the future all our clients will switch to it). The idea is that you can test and develop reva as a standalone system and swap out pieces to integrate it better with your infrastructure. If you don't want to nag your admins with the oidc integraion you can still use ldap with the build it oidc provider. If you feel comfortable you can replace the built in idp with something like keycloak, kopano connect d or whatever openid connect provider is already in place. Similar for the storage ... but that is a different topic.
I am using the built in oidc provider handler with the json user and auth manager in my gateway config. The backend config uses the oidc auth and user manager. It does not neet to connect to ldap or json. That is the idea. So that the oidcprovider does not use the authsvc is by design ... does that make sense?

@butonic could you provide your full configuration? I'm encountering a redirection loop on Phoenix that prevents me from logging in


Arms Warrior Incorrectly Getting Rampage

If you simmed Fury Warrior preset and then switching to Arms after, Arms preset would get rampage buffs without the preset having the talent for it:

Thanks for the report!  This was stale UI state, and is now fixed.


VIPS not taken into account with Bun unless we run "npm install" in node_modules/sharp

Possible bug
Is this a possible bug in a feature of sharp, unrelated to installation?

[x] Running npm install sharp completes without error.
[x] Running node -e "require('sharp')" completes without error.

Are you using the latest version of sharp?

[x] I am using the latest version of sharp as reported by npm view sharp dist-tags.latest.

What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?
System:
OS: macOS 11.7.10
CPU: (8) x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
Memory: 1.95 GB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 20.10.0 - ~/.nvm/versions/node/v20.10.0/bin/node
npm: 10.2.5 - ~/.nvm/versions/node/v20.10.0/bin/npm
bun: 1.0.21 - ~/.bun/bin/bun
npmPackages:
sharp: ^0.33.1 => 0.33.1
What are the steps to reproduce?
sudo port install vips # vips-8.15.1
curl -fsSL https://bun.sh/install | bash -s "bun-v1.0.21"

I added sharp to trustedDependencies in package.json
  "trustedDependencies": [
    "sharp"
  ],

This doesn't work:
BUN_DISABLE_COMPRESSION_FRAMEWORK=1 bun install sharp --verbose # v1.0.21 needs the ENV variable on old MacOS

BUN_DISABLE_COMPRESSION_FRAMEWORK=1 bun install --verbose sharp
bun add v1.0.21 (837cbd60)
Loaded 35 hoisted_dependencies
Loaded 45 resolutions
Loaded 45 dependencies
Loaded 4 extern_strings
Loaded 2605 string_bytes
[0.00ms] [cache hit] sharp

"sharp": "" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] color

"color": "^4.2.3" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] detect-libc

"detect-libc": "^2.0.2" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] semver

"semver": "^7.5.4" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-darwin-arm64

"@img/sharp-darwin-arm64": "0.33.1" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-darwin-x64

"@img/sharp-darwin-x64": "0.33.1" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-libvips-darwin-arm64

"@img/sharp-libvips-darwin-arm64": "1.0.0" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-libvips-darwin-x64

"@img/sharp-libvips-darwin-x64": "1.0.0" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-libvips-linux-arm

"@img/sharp-libvips-linux-arm": "1.0.0" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-libvips-linux-arm64

"@img/sharp-libvips-linux-arm64": "1.0.0" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-libvips-linux-s390x

"@img/sharp-libvips-linux-s390x": "1.0.0" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-libvips-linux-x64

"@img/sharp-libvips-linux-x64": "1.0.0" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-libvips-linuxmusl-arm64

"@img/sharp-libvips-linuxmusl-arm64": "1.0.0" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-libvips-linuxmusl-x64

"@img/sharp-libvips-linuxmusl-x64": "1.0.0" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-linux-arm

"@img/sharp-linux-arm": "0.33.1" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-linux-arm64

"@img/sharp-linux-arm64": "0.33.1" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-linux-s390x

"@img/sharp-linux-s390x": "0.33.1" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-linux-x64

"@img/sharp-linux-x64": "0.33.1" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-linuxmusl-arm64

"@img/sharp-linuxmusl-arm64": "0.33.1" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-linuxmusl-x64

"@img/sharp-linuxmusl-x64": "0.33.1" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-wasm32

"@img/sharp-wasm32": "0.33.1" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-win32-ia32

"@img/sharp-win32-ia32": "0.33.1" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-win32-x64

"@img/sharp-win32-x64": "0.33.1" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] color-convert

"color-convert": "^2.0.1" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] color-string

"color-string": "^1.9.0" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] lru-cache

"lru-cache": "^6.0.0" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] @img/sharp-libvips-darwin-arm64
[0.00ms] [cache hit] @img/sharp-libvips-darwin-x64
[0.00ms] [cache hit] @img/sharp-libvips-linux-arm
[0.00ms] [cache hit] @img/sharp-libvips-linux-arm64
[0.00ms] [cache hit] @img/sharp-libvips-linux-s390x
[0.00ms] [cache hit] @img/sharp-libvips-linux-x64
[0.00ms] [cache hit] @img/sharp-libvips-linuxmusl-arm64
[0.00ms] [cache hit] @img/sharp-libvips-linuxmusl-x64
[0.00ms] [cache hit] @emnapi/runtime

"@emnapi/runtime": "^0.44.0" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] color-name

"color-name": "~1.1.4" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] simple-swizzle

"simple-swizzle": "^0.2.2" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] yallist

"yallist": "^4.0.0" -<EMAIL_ADDRESS>
[0.00ms] [cache hit] tslib
[0.00ms] [cache hit] is-arrayish

"is-arrayish": "^0.3.1" -<EMAIL_ADDRESS>
-- BEGIN SHA512/256(${alphabetize(name)}@${order(version)}) --
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>-- END HASH--
Saving 4 trees
Saving 66 hoisted_dependencies
Saving 86 resolutions
Saving 86 dependencies
Saving 4 extern_strings
Saving 5533 string_bytes
[LifecycleScriptSubprocess] Starting scripts for "sharp"
[LifecycleScriptSubprocess] Spawning "install" script for package "sharp"
⚙  sharp [1/1] [PackageManager] waiting for 1 scripts
WELL DETECTED THOUGH:
sharp: Detected globally-installed libvips v8.15.1
sharp: Attempting to build from source via node-gyp
sharp: Please add node-addon-api to your dependencies
installed<EMAIL_ADDRESS>1 package installed [137.00ms]

Trying to convert an .heic image gives this:
Read error: source: bad seek to 3024940
heif: Unsupported feature: Unsupported codec (4.3000)

This works:
cd node_modules/sharp
npm install

What is the expected behaviour?
Sharp should use Vips to convert the image
Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem
import sharp, { FormatEnum } from 'sharp';
import { createReadStream, createWriteStream } from 'fs';

const minPath = './test.jpg';
const transformer = sharp({ animated: true })
    .resize({
        width,
        height,
    })
    .toFormat('jpg');

const readStream = createReadStream(path).pipe(transformer);
const writeStream = createWriteStream(minPath);

Please provide sample image(s) that help explain this problem
sample1.heic.zip

sharp: Detected globally-installed libvips v8.15.1
sharp: Attempting to build from source via node-gyp
sharp: Please add node-addon-api to your dependencies

You'll need to add node-addon-api to your dependencies.
https://sharp.pixelplumbing.com/install#building-from-source

Oops, I missed that message, sorry and thank you!
It would be nice to automatize this step if possible, or to add a note in the documentation for Bum, we don't get any message unless we use --verbose
Installing node-addon-api & node-gyp worked, many thanks 👍


Add Fallback to Prim_Text_Helper.compile_regex; accept Regex in Text.parse_to_table

Pull Request Description
This PR does three related things:

Fails more gracefully when a non-string is passed to compile_regex
Don't pass a non-string to compile_regex
Allow a Regex param to parse_to_table

Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

Bad argument to Regex.compile no longer breaks the IDE; Regexes are also now allowed.


build: stage movement for dispatch build output

In order to support libdispatch tests on Windows, the build tree layout needs to
be adjusted.  Account for this path adjustment here in a compatible manner.

Please test with following PRs:
apple/swift-corelibs-libdispatch#515
@swift-ci please test

Please test with following PRs:
apple/swift-corelibs-libdispatch#515
@swift-ci please smoke test

Please test with following PRs:
apple/swift-corelibs-libdispatch#515
@swift-ci please smoke test


Compilation error if AutoValue class has toBuilder method

If AutoValue class has toBuilder method to initialize a builder to the same property values as an existing value instance(#to_builder), generated constructor for AutoValue_CommentModel has one redundant parameter: CommentModel.Builder toBuilder
Example:
@AutoValue
public abstract class CommentModel {
    ...
    public abstract Builder toBuilder();
    ...

Generated class:
final class AutoValue_CommentModel extends $AutoValue_CommentModel {
    AutoValue_CommentModel(..., CommentModel.Builder toBuilder) {
        super(..., toBuilder);
    }
...

This is a known issue in the base AutoValue project tracked by issue #281.  Check that issue for a workaround until they fix it.

Sorry, that issue doesn't contain the workaround.  The workaround is to simply implement the toBuilder() method:
public Builder toBuilder() {
  return return new AutoValue_Foo.Builder(this);
}

Ok, thanks.


Responsiveness of the images is not properly maintained

Problem-:
1.In mobile view the image is not maintaining the proper aspect ratio and and it also coming out of thee card so this need to be fixed
Solution-:
we can fix it by using css such as aspect-ratio,object fit property in order to have images as proper aspect size and position

I can fix this issue as I've fixed lot of issue like this in my past projects. please assign me this and could you please label it for hacktoberfest , gssco and label 1 .


kernel: Fix problem introduced in 92ea2f9

The builtin function __builtin_umul_overflow returns a boolean and
should not checked as an integer.
Signed-off-by: Flavio Ceolin<EMAIL_ADDRESS>

Changed :) Thanks for reviewing it.

Codecov Report

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

@@            Coverage Diff             @@
##           master   #10342      +/-   ##
==========================================
+ Coverage   53.19%   53.24%   +0.05%
==========================================
  Files         209      209
  Lines       25630    25630
  Branches     5537     5537
==========================================
+ Hits        13633    13647      +14
+ Misses       9801     9787      -14
  Partials     2196     2196

Impacted Files
Coverage Δ

kernel/thread.c
93.46% <ø> (ø)
:arrow_up:

kernel/poll.c
80.89% <ø> (ø)
:arrow_up:

lib/posix/clock.c
72.22% <0%> (+38.88%)
:arrow_up:

Continue to review full report at Codecov.

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


[stable/sysdig] Upgrade to latest version of Sysdig Agent (0.93.0)

Signed-off-by: Néstor Salceda<EMAIL_ADDRESS>
Is this a new chart

NOTE: We're experiencing a high volume of PRs to this repo and reviews will be delayed. Please host your own chart repository and submit your repository to the Helm Hub instead of this repo to make them discoverable to the community. Here is how to submit new chart repositories to the Helm Hub.

What this PR does / why we need it:
This PR updates Sysdig Agent to 0.93.0 version.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

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

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @bencer

/lgtm
/approve


GPU support

For models that require a long time for inference, we can have the option to run on nvidia-docker or the like.

https://github.com/modelhub-ai/modelhub/pull/50
We still need to add documentation for this.

Done with #99 and https://github.com/modelhub-ai/modelhub/tree/75cfb1505bcdca8ebb3c2ae5284623f3bc39feb3 which resolved modelhub-ai/modelhub#54


cloud docs edits

Description

Checklist

[ ] For UI or styling changes, I have added a screenshot or gif showing before & after
[ ] I have added a changeset

LGTM


Revert "Compare Endpoint timestamps when deciding to replace previous cable"

Reverts submariner-io/submariner#1254
Checking if this has something to do with the globalnet failures, although It seems completely unrelated in terms of changes, we have a suspiction that it could potentially be.

Ok @tpantelis @sridhargaddam even reverting those patches I still see the failure:
https://github.com/submariner-io/submariner/pull/1259/checks?check_run_id=2341181102#step:3:2188
I wonder why this doesn't happen in the operator tree, thanks @sridhargaddam for investigating.


[Bug] yarn application mode yarn queue not take effect

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Execution Mode:yarn application
after update 1.2.2, job yarn queue not take effect
1.2.1 is ok
StreamX Version
1.2.2
Java Version
jdk1.8
Flink Version
flink1.13.5
Scala Version of Flink
2.11
Error Exception
--------------------------------------- flink start ---------------------------------------
    userFlinkHome    : /opt/flink-1.13.5
    flinkVersion     : 1.13.5
    appName          : hive-connector-1
    devMode          : CUSTOMCODE
    execMode         : YARN_APPLICATION
    k8sNamespace     : default
    flinkExposedType : null
    clusterId        : null
    resolveOrder     : parent-first
    applicationType  : Apache Flink
    flameGraph       : false
    savePoint        : null
    option           : {}
    property         : {}
    dynamicOption    :
    args             : null
    appConf          : json://{"$internal.application.main":"com.examples.HiveCatalogTest"}
    flinkBuildResult : ShadedBuildResponse(null,hdfs://hadoop3cluster/streamx/workspace/100178/hive-connector-1.0-SNAPSHOT.jar,true)
-------------------------------------------------------------------------------------------

Screenshots
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

You need to specify the queue when configuring dynamic option

I modified the file ApplicationServiceImpl.java to fix it


cloud-report: Various script fixes.

Update cloud configs to include "benchArgs" section to specify
number of warehouses in the condigs, instead of hard coding it in the
tpcc script.
Update tpcc script to remove majority of hacks added recently.
Switch to using fixtures load to load fixtures.
Update generated scripts to fix some syntax issues; harden
generated scripts against various normal situations -- such as
checking if the cluster is running prior to attempting to start it.

Superseded by https://github.com/cockroachlabs/cloud-report/pull/122


amy-message Segmentation fault in certain circumstances

Still investigating, but this sequence is 100% repeatable:
$ ./amy-message -d 1
# # amy-message AMY playground -> https://octetta.com
# - uses AMY audio synthesizer library -> https://github.com/bwhitman/amy
# - uses miniaudio v0.11.11 audio playback library -> https://miniaud.io
# - uses bestline history and editing library -> https://github.com/jart/bestline
# OSCS=64
# SAMPLE_RATE=44100
# load history from amy-message-history.txt
# v0w7  ## set osc0 to PCM
# v0p22 ## choose SynthVz patch
# v0b1  ## enable PCM looping
# v0l1  ## trigger with velocity 1
# v0w1  ## change osc0 to pulse wave
# Segmentation fault (core dumped)

For those watching, this can be avoided by resetting osc0 via S0 before changing the oscillator's wave type.
I'll dig into how to prevent this in the codebase, but pointing out until then.

Yeah, seeing that here. Investigating...
* thread #7, name = 'com.apple.audio.IOThread.client', stop reason = EXC_BAD_ACCESS (code=1, address=0x16394)
    frame #0: 0x00000001000088bc amy-message`render_lut(buf=0x0000000100349470, step=22757, skip=0, incoming_amp=0, ending_amp=NaN, lut=0x0000000000000000, lut_size=0) at oscillators.c:102:19
   99  	        //uint16_t base_index = (uint16_t)floor(step);
   100 	        uint32_t base_index = (uint32_t)step;
   101 	        float frac = step - (float)base_index;
-> 102 	        float b = lut[(base_index + 0) & lut_mask];
   103 	        float c = lut[(base_index + 1) & lut_mask];
   104 	#ifdef LINEAR_INTERP
   105 	        // linear interpolation.
Target 0: (amy-message) stopped.```

The bigger issue is that we'd never have called pulse_note_on if we switch waveform types after a note on. So nothing will be set up right to play a pulse wave.
Do we want to support this? It's unclear what a real synth would do if you changed waveforms mid-stream. Reset the oscillator to 0? Stop the note? We should at the least not crash.
suggest fix: line 380 of ../blob/main/src/amy.c should check for a change in WAVE if that voice's velocity is >0, and if there is, trigger the note on logic in line 433 below. This would have the effect of a synth making a new note at the new specified waveform.

OK, i've implemented that fix. Your example and a few tests i ran work for me. Thanks for the report.

With this fix in place, AMY can do some more awful and wonderful stuff, like "wave sequencing".
Here's a little part of a live demo with my console tool:
https://youtu.be/Dy4pd1_UFSo


A bunch of refactors and fixes for v1.0

Remove Py2-related unicode patch
Refactor: Eradicated inheritance from object
Rename lexer: Standard/Traditional -> Basic
yield -> yield from

Codecov Report

Merging #995 (2ed4d5a) into master (fe488d1) will increase coverage by 0.02%.
The diff coverage is 86.79%.

@@            Coverage Diff             @@
##           master     #995      +/-   ##
==========================================
+ Coverage   87.62%   87.65%   +0.02%
==========================================
  Files          49       49
  Lines        6968     6960       -8
==========================================
- Hits         6106     6101       -5
+ Misses        862      859       -3

Flag
Coverage Δ

unittests
87.65% <86.79%> (+0.02%)
:arrow_up:

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

Impacted Files
Coverage Δ

examples/json_parser.py
0.00% <ø> (ø)

lark/ast_utils.py
0.00% <0.00%> (ø)

lark/tools/standalone.py
89.62% <ø> (ø)

lark/lark.py
83.49% <50.00%> (ø)

lark/indenter.py
87.50% <100.00%> (-0.18%)
:arrow_down:

lark/lexer.py
94.11% <100.00%> (+0.76%)
:arrow_up:

lark/load_grammar.py
92.62% <100.00%> (ø)

lark/parser_frontends.py
95.26% <100.00%> (ø)

lark/parsers/cyk.py
92.64% <100.00%> (ø)

lark/parsers/earley_common.py
63.04% <100.00%> (-0.79%)
:arrow_down:

... and 10 more

Continue to review full report at Codecov.

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


github/instagram buttons

no option to disable instagram button
SHOW_OFFICIAL_GITHUB refers to waschinski github button only so no option to disable github button too

BTW I noticed that the original github/instagram buttons are used when declaring GITHUB_USERNAME/INSTAGRAM_USERNAME...I'm not a code-guy but I wonder if the aforementioned issues maybe depend on this...

Thanks!

This actually looks like an issue with your environment variables. How did you set up Photo Stream?


Add basic tests

This adds some basic tests. The tests are executed against a test API from INWX.
@mholt Can you give me permissions so I can set environment variables and secrets in this repository?

Thanks to you too!


Lidar installation:

Do you have instructions for mechanical installation of the provided lidar?

Sorry, this question was meant for the Mini Pupper.
Do you have a link to support for the Min Pupper?

If you have the "DTOF LiDAR LD06" sensor, you can find the manuals at the website from the manufactorer: https://www.ldrobot.com/download/en/98
Important if you follow the instructions in the development manual: At Ubuntu 18.04 you can't install the kinetic version of ROS. I used the melodic version of ROS and it worked fine for me.

For the document, please refer to the below link at first, and will add the Lidar section guide very soon this week.
https://mangdang-minipupperdocs.readthedocs-hosted.com/en/latest/index.html
Best,

Please confirm the below link for Lidar part, thanks!
https://mangdang-minipupperdocs.readthedocs-hosted.com/en/latest/guide/SLAM.html


Problem: macOS runners on GH tend to be slow or expensive

I am seeing some hang.
Solution: try FlyCI

@yrashk
Thanks for switching to FlyCI! As one of the co-founders of FlyCI, I'm super happy to have you on board.
Quick question: how did you hear about us?

Saw somewhere on LinkedIn, decided to give it a try.

Saw somewhere on LinkedIn, decided to give it a try.

Awesome!

Already done on master

Hi @yrashk ,
My name is Veselina and I'm a PM at FlyCI. We're creating a case study around the usage of FlyCI in this repo. In relation to that, I'm wondering if you could share your experience with the product so far?
Thanks!

Hi @yrashk ,
My name is Veselina and I'm a PM at FlyCI. We're creating a case study around the usage of FlyCI in this repo. In relation to that, I'm wondering if you could share your experience with the product so far?
Thanks!

@radeva Overall, the experience is positive. However, I do see runners not coming up when requested relatively often.

@radeva here's an example from minutes ago:

@yrashk As an immediate work-around can you please cancel this run and re-run it. This should mitigate the issue on your side.


Move build-chain dependencies into local recipe

The build-essential and uuid-dev packages should only be installed
where npm install must be executed. Our CI will have these
dependencies met for packaging.
The node-libuuid package statically links to uuid.cc at install-time
and doesn't require any external objects thereafter.

Coverage remained the same at 98.947% when pulling bb5f6717a6177fde9ccce8f5158450038b7ec141 on native-deps into f638bd0b6c412f55b0dab72a2e1f745e58cb231f on master.


Added basic support for Google Analytics

Not sure how to do this properly, but this code should be added with env to change the UA-CODE in order to make google analytics work.
Tested this successfully on my website.

Not sure how to do this properly, but this code should be added with env to change the UA-CODE in order to make google analytics work.
Tested this successfully on my website.

This worked for me as well. Thanks.

I think this works better as a code example than something which is supported out of the box.
Maybe we can add it to the docs instead?

@lasharor
added below code in pagehead.tsx:

  and update UA-Code in .env file:
  UA-CODE = "G-XXXXXXXXXX"

  but its not working on my site? Is there anything more I have to write?

  Please suggest and help.


Increase timeout for atom-application.test.js on CI

Fixes #19512
On Azure and Travis, we recently started observing a few test failures in atom-application.test.js.
After staring at those tests for a bit, it doesn't seem like they are failing due to a race condition. Instead, it is possible that these tests are simply timing out due to CI containers sometimes being overloaded and, thus, slower.  I tested this hypothesis locally by running tests on a VM while stress-testing the host machine. Tests would eventually have passed, but they  timed out before having the chance to do so.
This commit increases the timeout on CI to 10 seconds for AtomApplication tests in  an attempt to fix the spurious failures we were observing. This is similar to what we've historically done for renderer process tests (see spec/spec-helper.coffee).

atom-application.test.js บน CI #19523


Update documentation for $sails.on

According to the documentation,
$sails.on("bars", function (message) {
  if (message.verb === "created") {
    $scope.bars.push(message.data);
  }
});

For my implementation (based on a vanilla Sails 0.11.0 version using angular-sails 1.1.3), the callback is never executed. I'm able to POST and GET using the $sails service, using websockets. For some reason $sails.on doesn't work. I have also tried using promised without success.

$sails.on('<eventName/collectionName>', <function callback(){...}>) is the right syntax.  It has callback vs promise as the callback can happen many time but a promise can only be resolved once.  The documentation is correct.
on is different from the others as it only calls the callback when the start send an event with the event/collection name you subscribe to.  Simply subscribing to the event/collection will not trigger the callback to be fired.
One way to make sure the server (SailsJs) is sending something that would trigger the event is to view the socket data being sent back and fourth using Google Chrome's DevTools.  If you see the event you are subscribing to being sent and the callback still not being fired, take a screenshot of the DevTools screen showing the event and put it in this ticket along with the actual $sails.on(...) code you are using to subscribe to the event.
Also, you may want to ensure the $sails.on(...) call is being fired.  The easiest way is to put console.log('About to call $sails.on()'); and console.log('Finished calling $sails.on()'); before and after the $sails.on(...) call respectfully.

Merged in #80 (c309c32a36)


Support more gdal metadata types in postgres

[ ] I added an entry to CHANGELOG.md if knowledge of this change could be valuable to users.

Here is a brief summary of what I did:

 Alle Gdal Metadata Typen in Postgres unterstützen

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
7 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.08%) to 89.303%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

services/src/pro/datasets/postgres.rs
0
2
0.0%

Files with Coverage Reduction
New Missed Lines
%

operators/src/util/stream_zip/vec_zip.rs
2
89.93%

services/src/pro/users/postgres_userdb.rs
2
95.51%

services/src/pro/datasets/postgres.rs
3
57.17%

Totals

Change from base Build<PHONE_NUMBER>:
-0.08%

Covered Lines:
94450

Relevant Lines:
105764

💛  - Coveralls

bors merge


Random opacity from range?

Hi, great library!
Is there a possibility to generate different opacities for the particles?
Thanks!

Not out of the box I'm afraid. There is an AlphaModifer (to perform fade in and fade out) but not an AlphaInitializer, which is what you want.
You can create the Initializer yourself and modify the code of ParticleSystem to create it and add it to the initializer list.
Now that I think about it, it makes sense to add a "add generic initializer" method to the ParticleSystem class to allow extensions like the one you are asking for.

Ok, thanks for the reply!
Is there any way to set bounds for the animation?
for example, I want to keep it only within a certain view.

That you can do using the constructor that receives a view Id, in that case the ParticleSystem is created as a child of that View, which means that
a) It is placed at that particular z-index in the hierarchy (original purpose was to put particles on the background)
b) It is only as big as the parent (which is what you want)
Note that the parent view must be a ViewGroup, I suggest you use FrameLayout.


Application is getting restarted suddenly on broker creation with Error: Unexpected close!

Same issue for me all of a sudden its causing server restarts..Although I have guarded with .on(error.. check at all places as per the documentation.
NOTE: Is it right to throw err on error event, as in documentation I can see it is just always logged and not thrown back to callee method...is this I am doing wrong?
 broker.on('error', (err) => {
            logger.error('Error occured during broker creation..');
            throw err;
        });
2020-11-09T09:48:38.713648848Z 2020-11-09T09:48:38.71 <ERROR> Error occured during broker creation.. (in rabbitmq-client.js:28)
2020-11-09T09:48:38.713717495Z Call Stack:
2020-11-09T09:48:38.713730503Z     at Vhost.<anonymous> (/xxxxxx/xxxxxx/xxxx/src/data_access/rabbitmq-client.js:28:20)
2020-11-09T09:48:38.713752936Z     at Vhost.emit (events.js:311:20)
2020-11-09T09:48:38.713762558Z     at Vhost.EventEmitter.emit (domain.js:482:12)
2020-11-09T09:48:38.713770793Z     at handleConnectionError (/usr/src/app/node_modules/rascal/lib/amqp/Vhost.js:364:10)
2020-11-09T09:48:38.713781776Z     at CallbackModel.<anonymous> (/usr/src/app/node_modules/lodash/lodash.js:10076:25)
2020-11-09T09:48:38.713844703Z     at Object.onceWrapper (events.js:418:26)
2020-11-09T09:48:38.713854975Z     at CallbackModel.emit (events.js:311:20)
2020-11-09T09:48:38.713862712Z     at CallbackModel.EventEmitter.emit (domain.js:482:12)
2020-11-09T09:48:38.713871696Z     at Connection.emit (events.js:311:20)
2020-11-09T09:48:38.713879162Z     at Connection.EventEmitter.emit (domain.js:482:12)
2020-11-09T09:48:38.713887140Z     at Connection.C.onSocketError (/usr/src/app/node_modules/amqplib/lib/connection.js:353:10)
2020-11-09T09:48:38.713895297Z     at TLSSocket.emit (events.js:323:22)
2020-11-09T09:48:38.713904148Z     at TLSSocket.EventEmitter.emit (domain.js:482:12)
2020-11-09T09:48:38.713912097Z     at endReadableNT (_stream_readable.js:1204:12)
2020-11-09T09:48:38.713920059Z     at processTicksAndRejections (internal/process/task_queues.js:84:21)
2020-11-09T09:48:38.715639414Z xxxxxx/xxx/xxx/xx/src/data_access/rabbitmq-client.js:29
2020-11-09T09:48:38.715666633Z             throw err;
2020-11-09T09:48:38.715728936Z             ^
2020-11-09T09:48:38.715737512Z
2020-11-09T09:48:38.715746423Z Error: Unexpected close
2020-11-09T09:48:38.715753795Z     at succeed (/usr/src/app/node_modules/amqplib/lib/connection.js:272:13)
2020-11-09T09:48:38.715763604Z     at onOpenOk (/usr/src/app/node_modules/amqplib/lib/connection.js:254:5)
2020-11-09T09:48:38.715771744Z     at /usr/src/app/node_modules/amqplib/lib/connection.js:166:32
2020-11-09T09:48:38.715780274Z     at /usr/src/app/node_modules/amqplib/lib/connection.js:160:12
2020-11-09T09:48:38.715787709Z     at TLSSocket.recv (/usr/src/app/node_modules/amqplib/lib/connection.js:499:12)
2020-11-09T09:48:38.715839122Z     at Object.onceWrapper (events.js:417:28)
2020-11-09T09:48:38.715851042Z     at TLSSocket.emit (events.js:311:20)
2020-11-09T09:48:38.715860289Z     at TLSSocket.EventEmitter.emit (domain.js:482:12)
2020-11-09T09:48:38.715868645Z     at emitReadable_ (_stream_readable.js:562:12)
2020-11-09T09:48:38.715886918Z     at processTicksAndRejections (internal/process/task_queues.js:83:21)

Please help!

Hi @mayankmike86,
I see you've already posted this to https://github.com/squaremo/amqp.node/issues/151. Please be sure to read the this comment in that issue which will hopefully shed some light on the background behind Unexpected Close.
Regarding Rascal,
 broker.on('error', (err) => {
  logger.error('Error occured during broker creation..');
  throw err;
});

The above code is wrong. An error event doesn't happen when the broker is created, but will be emitted if the connection errors later on. What I normally do is log the error, and then trust Rascal's automatically reconnection logic to fix things.

Closing due to inactivity


For Loop does not provide index

Hi. For loop does not provide index. I am in a situation where I need the index. am i doing anything wrong or is there a workaround?
const { Data } = observable({ Data: [] });
<For each={Data} item={Cards} optimized />
`const Cards = ({ item, index }) => {
console.log(item, index); // index is undefined
<React.Fragment key={item.id.get()}>

.get() {item.id.get()}

{Data.get().length > 1 && idx !== Data.get().length - 1 && (
  <div
    className="resize_handle"
    id={"resize_handle_" + idx}
    data-prev-id={Data[idx]?.id.get() ?? Data[0].id.get()}
    data-next-id={Data[idx + 1]?.id.get()}
    onMouseDown={handleMouseDown}
  />
)}

</React.Fragment>;
};`

The For component does not provide an index prop because it has optimizations to re-render items in place without recomputing the array, so their indices could be different from the initial render.
If you are relying on the index you may want to just use a regular .map.
There may be a way we can add a function that gets the index though. I'll leave this open to look into that.


update for studio v3

note that dependency version of sanity-translations-tab has yet to be updated

Incorporated in #15, thank you!


No functionality

Mac OS 10.11.6, Python 2.7.10, NeteaseMusic version 1.5.8
Songs are still greyed out. Moreover, their message signify that they're blocked by region not by other issues.
Another issue is that music.163.com is not accessible on Chrome during the runtime of the executable (other websites are ok)

Did Chrome show the failure reason as ERR_PROXY_CONNECTION_FAILED? If so, I guess the problem is that the python script crashed.
So please run python NeteaseMusicProxy.py and check the outputs.
Also please make sure port 32794 is not taken on your macbook. If it is, you can change the port number in line 223 of NeteaseMusicProxy.py.

~/NeteaseMusicAbroad$ python NeteaseMusicProxy.py
Traceback (most recent call last):
File "NeteaseMusicProxy.py", line 1, in
from twisted.web import proxy, http
File "/Library/Python/2.7/site-packages/twisted/web/proxy.py", line 24, in
from twisted.internet import reactor
File "/Library/Python/2.7/site-packages/twisted/internet/reactor.py", line 38, in
from twisted.internet import default
File "/Library/Python/2.7/site-packages/twisted/internet/default.py", line 56, in
install = _getInstallFunction(platform)
File "/Library/Python/2.7/site-packages/twisted/internet/default.py", line 50, in _getInstallFunction
from twisted.internet.selectreactor import install
File "/Library/Python/2.7/site-packages/twisted/internet/selectreactor.py", line 18, in
from twisted.internet import posixbase
File "/Library/Python/2.7/site-packages/twisted/internet/posixbase.py", line 18, in
from twisted.internet import error, udp, tcp
File "/Library/Python/2.7/site-packages/twisted/internet/tcp.py", line 28, in
from twisted.internet._newtls import (
File "/Library/Python/2.7/site-packages/twisted/internet/_newtls.py", line 21, in
from twisted.protocols.tls import TLSMemoryBIOFactory, TLSMemoryBIOProtocol
File "/Library/Python/2.7/site-packages/twisted/protocols/tls.py", line 63, in
from twisted.internet._sslverify import _setAcceptableProtocols
File "/Library/Python/2.7/site-packages/twisted/internet/_sslverify.py", line 38, in
TLSVersion.TLSv1_1: SSL.OP_NO_TLSv1_1,
AttributeError: 'module' object has no attribute 'OP_NO_TLSv1_1'
Seems like a Twisted issue?
Though it looks like I've already installed Twisted on my computer since
~/NeteaseMusicAbroad$ pip install Twisted
Requirement already satisfied: Twisted in /Library/Python/2.7/site-packages
Requirement already satisfied: zope.interface>=3.6.0 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from Twisted)
Requirement already satisfied: constantly>=15.1 in /Library/Python/2.7/site-packages (from Twisted)
Requirement already satisfied: incremental>=16.10.1 in /Library/Python/2.7/site-packages (from Twisted)
Requirement already satisfied: Automat>=0.3.0 in /Library/Python/2.7/site-packages (from Twisted)
Requirement already satisfied: hyperlink>=17.1.1 in /Library/Python/2.7/site-packages (from Twisted)
Requirement already satisfied: setuptools in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from zope.interface>=3.6.0->Twisted)
Requirement already satisfied: six in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from Automat>=0.3.0->Twisted)
Requirement already satisfied: attrs in /Library/Python/2.7/site-packages (from Automat>=0.3.0->Twisted)

So after looking at the logs, the following solution fixed it for me:
sudo pip install Twisted==16.4.1
sudo pip install requests
Thanks for your awesome tool and your time.


Add links to declaration questions

Also includes the addition of a link and some changes to the service submission questions.
Includes these pull requests:
https://github.com/alphagov/digitalmarketplace-ssp-content/pull/67
https://github.com/alphagov/digitalmarketplace-ssp-content/pull/66
https://github.com/alphagov/digitalmarketplace-ssp-content/pull/68
https://github.com/alphagov/digitalmarketplace-ssp-content/pull/69
...which is all of these changes:
https://github.com/alphagov/digitalmarketplace-ssp-content/compare/367594a11c8c1364dd09086c6b265c35dcf8f658...cf7bb6f370560fa5a69f81d3a5d06e45b4922c02

:+1:


Automated Snapshots

Hello,
thanks for the great piece of software!
Really nice using it, but following is taking my mind:
how could i do daily snapshots of ES with cerebro? Is is possible to achieve?
Thanks for your help!

@punktik no, this is not really possible or even planned for the future.


Updated Now part of deployment guide

They released version 2 of deployment configuration and guide didn't work anymore.

Thank you for working on this! Unfortunately, need to close the PR in favor of https://github.com/vuejs/vue-cli/pull/4232


API for keys management

I would really need API for the keys management - working code example (JS/TS) and probably some docs, if possible!

Could you, please, advice what is the best place for the pre-request and post-request hooks?
I'm looking for the way to connect the gateway with my per user limits system:

deduct the queries available from the balance after the query
validate if user is eligible for the query - for example, to make sure the request goes to cheap LLMs only, as opposed to a very expensive one

This thread is continuing on Discord - https://discord.com/channels/1143393887742861333/1196961506240245830


chore: Publish Docker images to DockerHub on release

Some folks find it useful to have docker.io/aquasec/starboard image available from a public registry such as DockerHub, e.g. see #54
I tested it locally with:
$ goreleaser release --snapshot --rm-dist --skip-publish
$ docker run --rm docker.io/aquasec/starboard:924389a5ad7037646eeb7a37ade05494d75a85ba

Signed-off-by: Daniel Pacak<EMAIL_ADDRESS>

Is this image available now or would it be once this PR gets merged? I tried pulling:
 docker run --rm docker.io/aquasec/starboard:latest
Unable to find image 'aquasec/starboard:latest' locally
docker: Error response from daemon: manifest for aquasec/starboard:latest not found: manifest unknown: manifest unknown.
See 'docker run --help'.

Is this image available now or would it be once this PR gets merged? I tried pulling:
 docker run --rm docker.io/aquasec/starboard:latest
Unable to find image 'aquasec/starboard:latest' locally
docker: Error response from daemon: manifest for aquasec/starboard:latest not found: manifest unknown: manifest unknown.
See 'docker run --help'.

We trigger GoReleaser whenever an annotated Git tag is created. So we'll publish the image for the upcoming 0.4.0 release:
$ git tag -a v0.4.0 -m 'Release v0.4.0'
$ git push origin v0.4.0


Add Deref implementation for HSTRING

The HSTRING type represents a UTF-16 string that is modeled as a [u16] slice in Rust. This update replaces the as_wide method to retrieve the HSTRING as a slice with a Deref implementation. This makes it a lot easier to work with an HSTRING in Rust as conversion is implicit in many cases.
Fixes: https://github.com/rust-lang/rustup/pull/3896#issuecomment-2366820680

Build break is due to unrelated Rust nightly update - investigating.

Nice!


Create employee role

For the synthetic ecosystem work on MIDAS, we need a class to represent employee role.
Place under "role in human social processes"

URI created - OMRSE_00000077
Definition and class restrictions still need to be created


Fix: Artifact passing between CodeBuild Projects not working

Artifact passing between CodeBuild Projects doesn't work and CodePipeline can fail.
Please see my PR.

Merged code changes to fix this issue.


:sparkles: Terminate python process when ending debug session

Fixes #754

This is change is specific to the experimental debugger
Moved the static run method out of the class, as a standalone function named startDebugger
Added logToFile into package.json (publish this setting)
Added logging of unhandled exceptions in debugger process (for diagnostics)
Terminate python process when ending debugger

Though tests have been added, we don't have code coverage results as debugger tests spawn new processes (which do not have code coverage).
Hopefully this will change in the future, issue has been filed in VS Code debugger API repo.


[FEATURE] Handle JSON fields declared on both ORM (SQLAlchemy) and Pydantic objects

Is your feature request related to a problem? Please describe.
The system in its current design raises a pydantic.error_wrappers.ValidationError when

using JSON fields on both Pydantic and DB (SQLalchemy) objects,
AND the given value for the JSON field is not a string. (traceback below)

For instance, the following will not work out of the box for oher types than str
(the base structure comes from https://github.com/tiangolo/full-stack-fastapi-postgresql)
# in models/item.py
###
from pydantic import BaseModel, Json

class Item(BaseModel):
    value: Json = None

# in db_models/item.py
###
from sqlalchemy import Column, JSON
from app.db.base_class import Base

class Item(Base):
    value = Column(JSON)

# in crud/item.py
###
from app.db_models.item import Item

def get(db_session: Session, *, item_id: int) -> Optional[Item]:
    return db_session.query(Item).filter(Item.id == item_id).first()

# in endpoints/item.py
###
from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session

from app import crud
from app.api.utils.db import get_db
from app.models.rule import Item

router = APIRouter()

@router.get("/{item_id}", response_model=Item)
def get_rule(*, db: Session = Depends(get_db), item_id: int):
    return crud.rule.get(db, item_id=item_id)

The following exception will occur:
ERROR: Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/uvicorn/protocols/http/httptools_impl.py", line 372, in run_asgi
    result = await asgi(self.receive, self.send)
  File "/usr/local/lib/python3.7/site-packages/starlette/middleware/errors.py", line 125, in asgi
    raise exc from None
  File "/usr/local/lib/python3.7/site-packages/starlette/middleware/errors.py", line 103, in asgi
    await asgi(receive, _send)
  File "/usr/local/lib/python3.7/site-packages/starlette/middleware/base.py", line 27, in asgi
    response = await self.dispatch_func(request, self.call_next)
  File "./app/main.py", line 36, in db_session_middleware
    response = await call_next(request)
  File "/usr/local/lib/python3.7/site-packages/starlette/middleware/base.py", line 44, in call_next
    task.result()
  File "/usr/local/lib/python3.7/site-packages/starlette/middleware/base.py", line 37, in coro
    await inner(request.receive, queue.put)
  File "/usr/local/lib/python3.7/site-packages/starlette/exceptions.py", line 74, in app
    raise exc from None
  File "/usr/local/lib/python3.7/site-packages/starlette/exceptions.py", line 63, in app
    await instance(receive, sender)
  File "/usr/local/lib/python3.7/site-packages/starlette/routing.py", line 41, in awaitable
    response = await func(request)
  File "/usr/local/lib/python3.7/site-packages/fastapi/routing.py", line 84, in app
    field=response_field, response=raw_response
  File "/usr/local/lib/python3.7/site-packages/fastapi/routing.py", line 33, in serialize_response
    raise ValidationError(errors)
pydantic.error_wrappers.ValidationError: 1 validation error
response -> value
  str type expected (type=type_error.str)

Describe the solution you'd like
I would like that the JSON fields from SQL objects are properly casted to their twin field on the pydantic object (i.e, the example above should to work out of the box)
Describe alternatives you've considered
Declare a validator that calls json.dumps on a pydantic level
# in models.py
import json
from pydantic import BaseModel, Json, validator

class Item(BaseModel):
    value: Json = None

    @validator('value', pre=True)
    def decode_json(cls, v):
        if not isinstance(v, str):
            try:
                return json.dumps(v)
            except Exception as err:
                raise ValueError(f'Could not parse value into valid JSON: {err}')

        return v

# all other files keep identical
...

It is a workaround, but requires the developper to implement this same validator for every new class he uses...

@ebreton Pydantic's Json type expects a str containing valid JSON. Not a JSON-serializable-object.
If you know that the JSON value would be a dict, you could declare a dict there. If you knew it was a list you could declare that.
In this case, as we don't know the final value, and any valid JSON data would be accepted, you can use Any.
Here's a single file working example (just tested it with SQLite, that now also supports JSON columns):
from typing import Any, Optional

from fastapi import Depends, FastAPI
from pydantic import BaseModel
from sqlalchemy import JSON, Column, create_engine, Integer
from sqlalchemy.ext.declarative import declarative_base, declared_attr
from sqlalchemy.orm import Session, sessionmaker
from starlette.requests import Request
from starlette.responses import Response

SQLALCHEMY_DATABASE_URI = "sqlite:///./test.db"

engine = create_engine(
    SQLALCHEMY_DATABASE_URI, connect_args={"check_same_thread": False}
)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)

class Item(BaseModel):
    id: int
    value: Any = None

class CustomBase:
    # Generate __tablename__ automatically
    @declared_attr
    def __tablename__(cls):
        return cls.__name__.lower()

Base = declarative_base(cls=CustomBase)

class DBItem(Base):
    id = Column(Integer, primary_key=True)
    value = Column(JSON)

Base.metadata.create_all(bind=engine)

db_session = SessionLocal()

item = db_session.query(DBItem).first()
if not item:
    item = DBItem(value={"foo": "Fighters", "bar": 3})
    db_session.add(item)
    db_session.commit()

db_session.close()

def get(db_session: Session, *, item_id: int) -> Optional[Item]:
    return db_session.query(DBItem).filter(DBItem.id == item_id).first()

def get_db(request: Request):
    return request.state.db

app = FastAPI()

@app.get("/{item_id}", response_model=Item)
def get_rule(*, db: Session = Depends(get_db), item_id: int):
    return get(db, item_id=item_id)

@app.middleware("http")
async def db_session_middleware(request: Request, call_next):
    response = Response("Internal server error", status_code=500)
    try:
        request.state.db = SessionLocal()
        response = await call_next(request)
    finally:
        request.state.db.close()
    return response

@tiangolo , thanks a lot for your answer and the working example !
The type Any does the trick but I feel that it is not aligned with the SQLAlchemy attribute.

on the pydantic side, we would have any python object accepted
on the SQL side, we would require a JSONable object

Which means that we have a gap between the two layers, haven't we ?
On the other hand, if we keep a Json declaration on pydantic layer, with a validator that cast it to a python object, it garanties that the value will be correctly store in the DB without errors.
What do you think ? Have I understood well the inner mechanisms or am I mistaken ?

@ebreton if you want it to be more strict, you could declare all valid "jsonable" data types as the types in a Union instead of just Any.
Like Union[dict, list, set, float, int, str, bytes, bool], etc.

Yes, that does the trick. Simple and efficient. Cheers !

Great!

Hi, unfotunately using "Any" does not solve the issue here.  :'/
My fastAPI version is:  0.74.0


Add tests to check if the validator is up to date

There is a fixture config.json at https://github.com/api3dao/airnode/blob/master/packages/node/dev/config.json.example that we need to keep up to date for the tests to pass. If the validator validated this is as a test, that would allow us to detect it falling out of date at least in some cases.
Without this, we end up in situations like https://github.com/api3dao/airnode/issues/470 where the validator gets batch updates, which won't be an option past-release.

Tracked by https://api3dao.atlassian.net/browse/AN-133


fix: cmdtest disable update files

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.647%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
445

Relevant Lines:
532

💛  - Coveralls


multiple templates

It seems that I need a different template for different types of components.  For example, if I have a "container" component which hooks up to a Redux store, then I need a template for that.  If I have "presentational/functional" component that has little more than a render function, then I need a template for that.
I have added such a --template option to my fork of the repo (https://github.com/MareoRaft/create-react-component), which allows you to choose from a number of templates.
If you think other people would benefit from this feature, then I would be happy to open a pull request.  Just let me know.

Yeah, this sounds good, go ahead and open a PR! :)

Please see PR #3 .  You may want to try it out on your machine once to verify it works as you like.

Merged!


ci: testing using xcode command line tools for UI tests

Title of Change
Thank you for your contribution to the project.
Please enter a short description of your change here.
Checklist
Before raising your pull request:

[ ] Commit messages that conform to conventional commit messages
[ ] Ran the app locally ensuring it builds
[ ] Ran the tests locally ensuring they pass on Build
[ ] Pull request has a clear title with a short description about the feature or update
[ ] Created a draft pull request if it is not yet ready for review

Before your pull request can be reviewed:

[ ] Met all of the acceptance criteria specified in the user story on Jira

[ ] Reviewed your own code to ensure you are following the style guidelines

[ ] Ran the app and tested the feature on a range of device sizes
Please include iPod Touch, iPhone SE and iPhone 11 as a minimum.

[ ] Written Unit and Integration tests if needed

[ ] Met all accessibility requirements?

[ ] Checked dynamic type sizes are applied
[ ] Checked VoiceOver can navigate your new code
[ ] Checked a user can navigate only using a keyboard around your new code

Before merging your pull request:

[ ] Ensure that the code coverage and SonarCloud checks have passed
[ ] Actioned and resolved all comments, reaching out to reviewers for clarifications if necessary.
[ ] Ran the app to ensure that no regressions have been caused by changes during code review.

Closing as no longer needed


Fixes scroll bar height issue for grouped data.

Cherrypicked from: https://github.com/zippyui/react-datagrid/issues/62

@talarico43 Can you please review this?
Cherrypicked from: https://github.com/zippyui/react-datagrid/issues/62

:+1:


Add task which will run buf format

It would be nice to have bufFormat which can reformat proto files with buf format.
Actually it would be great if we have bufCheck task which could do a buf lint and buf format --exit-code

Good suggestion. This should be straightforward to implement. Feel free to contribute a PR or I can hopefully get to this at some point soon.

I have never implemented the gradle plugin, but will try to find some time, but not sure when.
In case I start I will notice you here.

I've started doing it.

I'm leaning towards opt-out. I'd like to allow users the option to use this plugin solely for breakage checks.
Here's a general outline of the approach:

Add an option to BufExtension called enforceFormat that is true by default
Create two tasks:

bufReformat reformats code using buf format -w.
bufFormat runs buf format --exit-code. It's enabled if the enforceFormat option is true. It's run as part of verification (check depends on it).

The complication I foresee about is how buf format acts on a workspace. For cases where the user is using the protobuf-gradle-plugin, we should only format and check the code in the protobuf source sets.

I'm leaning towards opt-out. I'd like to allow users the option to use this plugin solely for breakage checks.
Here's a general outline of the approach:
Add an option to `BufExtension` called `enforceFormat` that is `true` by default
Create two tasks:
    `bufReformat` reformats code using `buf format -w`.
    `bufFormat `runs `buf format --exit-code`. It's enabled if the enforceFormat option is true. It's run as part of verification (check depends on it).

The complication I foresee about is how buf format acts on a workspace. For cases where the user is using the protobuf-gradle-plugin, we should only format and check the code in the protobuf source sets.

I was thinking about two task: bufFormatCheck and bufFormatApply both in verification group like spotless tasks are.
The first one will run format -d --exit-code and the second one format -w.
I'm not sure how format works on workspaces. In the documentation there is only this info The buf format command has no configuration options. which suggests that he is ignoring all config used for linting.
Actually I didn't start yet, just planned it for todays evening, so maybe it will be better if you can do it.

I like the Spotless conventions for tasks names, but in this case they clash with the convention I picked, which is that I mirror the buf <foo> wherever possible... I'll think on it.

I need this feature, so please let me know if I can work on it, or if you will do that.
And give me advice on how you want it to be done.

Released in 0.6.0.

Good job. Thanks a lot.