Add dorado replication driver

What this PR does / why we need it:
Add huawei dorado replication driver
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:
Release note:

@leonwanghui yeah,  I need attach/dettach feature to implement the host repliaction framework. And some bugs which is not fixed in the repliacation branch.

Coverage decreased (-9.8%) to 46.199% when pulling c1c89b5cf9a8526e87c36f233f64d835db3eced0 on xxwjj:dorado_replication into ac71e264e6e6436d04628de632195f7311382833 on opensds:replication.

Coverage decreased (-9.8%) to 46.199% when pulling c1c89b5cf9a8526e87c36f233f64d835db3eced0 on xxwjj:dorado_replication into ac71e264e6e6436d04628de632195f7311382833 on opensds:replication.

Coverage decreased (-9.8%) to 46.199% when pulling c1c89b5cf9a8526e87c36f233f64d835db3eced0 on xxwjj:dorado_replication into ac71e264e6e6436d04628de632195f7311382833 on opensds:replication.


Button to delete currently selected node/segment?

Would be useful for removing ghost nodes/segments, particularly those discussed in https://github.com/CitiesSkylinesMods/TMPE/issues/825#issuecomment-614321900
Button could appear on the segment/node entries in the UI (or whatever is easiest)?

This would make the tool useful for users who want to remove dead nodes/segments but don't want to use Mod Tools (MT can cause issues for some users).

done


Use right fulcio certificate when verifying bundles

Description
Fulcio has updated its certificate. Right now, inside of Sigstore's TUF repository there are 2 certificates:

fulcio.crt.pem
fulcio_v1.crt.pem

Keyless signatures produced some months ago have been signed with fulcio.crt.pem, while more recent ones have been signed with fulcio_v1.crt.pem.
Right now the cosign::Client uses just one certificate, which causes some signatures to fail verification.
Apparently the cosign client isn't affected by this issue. We should understand how the upstream client handles that, and replicate the behaviour here.

I found the root cause, to solve that we need to verify the certificate against a set of root CAs.
After a lot of searching, I found out that webpki can help us there. Unfortunately it needs some minor changes that are implemented via https://github.com/briansmith/webpki/pull/254

I found the root cause, to solve that we need to verify the certificate against a set of root CAs.

Yep!

Apparently the cosign client isn't affected by this issue. We should understand how the upstream client handles that, and replicate the behaviour here.

Also -- Hayden and I scoped how this would look like in the future as more Fulcio and rekor logs are rotated. It will end up being that we add all targets that have an annotation `"usage": Fulcio" attached to them. Hayden made a PR here  https://github.com/sigstore/cosign/pull/1423
I wonder if awslabs has support for parsing/reading custom metadata attached to targets? I can try to look into that

Also -- Hayden and I scoped how this would look like in the future as more Fulcio and rekor logs are rotated. It will end up being that we add all targets that have an annotation `"usage": Fulcio" attached to them. Hayden made a PR here sigstore/cosign#1423

Thanks for pointing this out! In the meantime my plan is to just load all the files that are matching a certain pattern.
We can change the code once the TUF metadata is updated. Can you ping me once this is out?

I wonder if awslabs has support for parsing/reading custom metadata attached to targets? I can try to look into that

Yes, it seems this is handled: https://docs.rs/tough/latest/tough/schema/struct.Target.html - I guess they will show up inside of the custom attribute, if not, they will be inside of the _extra one, which is populated by "serde flatten".
There's another question I have. What is your plan regarding rekor's public key? What do you plan to do if this key is suddenly changed?

We might have a "problem". We need to create a certificate pool composed of all the Fulcio certificates found inside of the TUF repository, and then use it to validate the certificates issued by Fulcio.
Currently there are two Rust libraries that allow that:

webpki
picky

Unfortunately there isn't a clear winner and, most important of all, there's nothing that works out of the box. Let's take a closer look at both libraries.
webpki
Pros:

Based on ring. We already depend on that, this is a widely used and trusted crypto library.
Wide adoption: the webpki crate is also used by rustls.
Supports many type of encryption algorithms, all the ones we need are handled.

Cons:

It's being designed to validate certificates that are meant to be used by a server or by a client. Fulcio certificates do not have the right attributes for the current checks.
Maintainers seems to be busy, lots of PR are pending feedback/approval. That includes my PR that addresses the limitation described above.

picky
Pros:

Easy to use
Pure Rust library, including its dependencies
Seems to be an active project

Cons:

Smaller adoption
Elliptic curve keys are not supported yet. Unfortunately we need that in order to process Fulcio's certificates.

Proposed solutions
These are the possible solutions I see. I would personally go with the first one, the one that leverages webpki.
Leverage webpki
I propose we build a solution based on webpki, using the patch that hasn't been accepted upstream. The patch is really small and not invasive. Hopefully we will find an agreement with upstream about that, and sort things out for their next release.
We however have an issue. Given we want to release sigstore-rs on crates.io, all our dependencies must be published on crates.io. This would not be possible for webpki, until the patch is officially merged and released.
A common solution is to vendor the whole patched webpki library inside of our Git repository.
Perform a small change to the current code
Currently, the code is verifying the validity of the certificates issued by Fulcio in this way:

Extract the public key of Fulcio's CA from one single certificate that we trust. This would be either the certificate we found inside of the TUF repository, or one provided by the user.
Parse the certificate found inside of a signature using the x509-parser library, and then leverage the X509Certificate::verify_signature method to ensure this certificate has been issued by the Fulcio CA we know about.

We could change the code to:

Have a vector of Fulcio certificates, instead of a single object like we currently do
Iterate over the list of these trusted certificates:

Extract the public key from the certificate
Use the X509Certificate::verify_signature method like we are already doing.
If the verification is successful, mark the certificate found inside of the certificate as trusted
If none of the trusted Fulcio certificates satisfies the verification check, mark the signature certificate as untrusted

Pros:

No need to vendor code, everything we need is already public (*)

Cons:

This wouldn't work when intermediate certificates are used. This is not the case for the official Fulcio instance, but it could be for the self-hosted Fulcio instances.

(*) Yesterday a new version of x509-parser got released: v0.13.0. This version has a regression that breaks the verification of Fulcio issued certificates. I've already created this PR to address that. In the meantime we could just use the previous v0.12.0 release, which is not affected by this issue.

This wouldn't work when intermediate certificates are used. This is not the case for the official Fulcio instance, but it could be for the self-hosted Fulcio instances.

Is this likely to always be the case or temporary, e.g. is it possible upstream code changes provide a method of handling intermediates?

This would not be possible for webpki, until the patch is officially merged and released.

How certain are we it will get merged (do you have a link to the PR?)

Is this likely to always be the case or temporary, e.g. is it possible upstream code changes provide a method of handling intermediates?

Both webpki and picky handle intermediate certificates. It's our current naive implementation that doesn't.

How certain are we it will get merged (do you have a link to the PR?)

To be honest, I'm not certain at all. There are lots of pending PRs. Mine is https://github.com/briansmith/webpki/pull/254, which is pretty small and building on top of already existing code. That should give it higher chances to be merged :crossed_fingers:
Another option would be to go ahead and implement EC support inside of picky. I've already worked with other EC libraries that are not ring, that wouldn't be a problem for me. But I'm not sure this is worth the efforts due to the limited popularity (compared to webpki) of picky (no offense for the maintainers intended!).

I've worked on this PR https://github.com/Devolutions/picky-rs/pull/132 that adds EC support to picky.

Good news, the PR has been accepted and merged. A new version of picky which includes this fix is going to be released in the next days.
I'll start working on the code that consumes the library, so that everything is going to be ready by the time a picky release is available.

Also -- Hayden and I scoped how this would look like in the future as more Fulcio and rekor logs are rotated. It will end up being that we add all targets that have an annotation `"usage": Fulcio" attached to them. Hayden made a PR here sigstore/cosign#1423

@asraa I just checked, it looks like this extra information is not yet added to the TUF repository (unless tough is not parsing it - which would be a bug - or I'm doing something wrong).
Do you know if this additional metadata is already added to the targets definition? Thanks!

great, they were evidently the good pick of the two if they reviewed that quickly.

@asraa I just checked, it looks like this extra information is not yet added to the TUF repository (unless tough is not parsing it - which would be a bug - or I'm doing something wrong).

Hey! I just saw this. That's correct, we're waiting for version 3 root signing. The targets will looks like https://github.com/sigstore/root-signing/pull/139#issuecomment-1063157743 but we fallback on the hardcoded names

@asraa thanks, would you be so kind to ping me when this change is finally in place (meaning the TUF metadata is updated) :pray:


Ability to mark a section as non-normative

It's common for specs to say under a heading "This section is non-normative.". It would be nice to be able to do something like

Foo

which would generate the boilerplate paragraph but also allow the Complain About: accidental-2119 true feature to complain about "must"s in the whole section.
(Possible alternative is
 or
 as a wrapper, I guess that's easier for the 2119 checker.)

Agreed.

Foo

Lorem ipsum

should generate something like

1.  Foo

This section is non-normative.

Lorem Ipsum

If the non-normative section has subsections, they should be included in the class=non-normative div, and either should all get the This section is non-normative intro sentence, or that sentence on the parent section should be changed to something like This section and its subsections are non-normative.

Hmm, this is all pretty reasonable.


Process TTF projects correctly

Download RhodiumRelease.zip, unzip, use this bakery.yaml file:
commit: HEAD
compiler: fontforge
license: OFL.txt
process_files: [RhodiumLibre-Regular.ttf]
pyftsubset: --notdef-outline --name-IDs=* --hinting
subset: [devanagari, latin, latin-ext]
ttfautohint: -l 7 -r 28 -G 50 -x 13 -w "G" -f deva -D deva

and then build:
$ fontbakery-build.py --verbose bakery.yaml;
{
  "name": "Rhodium Libre",
  "designer": "James Puckett",
  "license": "OFL",
  "visibility": "Sandbox",
  "category": "monospace",
  "size": 114039,
  "fonts": [
    {
      "name": "Rhodium Libre",
      "postScriptName": "RhodiumLibre-Regular",
      "fullName": "Rhodium Libre",
      "style": "normal",
      "weight": 400,
      "filename": "RhodiumLibre-Regular.ttf",
      "copyright": "Copyright © 2015 by James Puckett. All rights reserved."
    }
  ],
  "subsets": [
    "latin"
  ],
  "dateAdded": "2015-05-08"
}
$ tree builds/d088571
builds/d088571
├── DESCRIPTION.en_us.html
├── METADATA.json
├── METADATA.yaml
├── OFL.txt
├── build.state.yaml
├── buildlog.txt
├── fontaine.txt
├── sources
│   └── RhodiumLibre-Regular.ttf
└── upstream.yaml

1 directory, 9 files

$

[x] the subsets weren't passed through by those set in the bakery.yaml file
[x] the builds/githash/RhodiumLibre-Regular.ttf file I expect to see, is not there.
[x] buildlog.txt is empty
[x] DESCRIPTION.en_us.html is
TODO
, the build-metadata.py script should just not print this any more
[x] fontaine.txt is merely 2 lines:

  Fonts
  All fonts have the same character sets.

but it should contain the output of pyfontaine --collection subsets built_font.ttf

[x] upstream.yaml and METADATA.yaml are full of errors, these check results should have been printed during the —verbose build

This now fails to build:
cd /tmp
mkdir test
cd test
wget https://github.com/DunwichType/RhodiumLibre/releases/download/1.1.1/RhodiumLibre.zip
unzip RhodiumLibre.zip
cd RhodiumLibre
gedit bakery.yaml

commit: HEAD
compiler: fontforge
license: OFL.txt
process_files: [RhodiumLibre-Regular.ttf]
pyftsubset: --notdef-outline --name-IDs=* --hinting
subset: [devanagari, latin, latin-ext]
ttfautohint: -l 7 -r 28 -G 50 -x 13 -w "G" -f deva -D deva

fontbakery-build.py --verbose bakery.yaml;

...
Error: object of type 'bool' has no len()
BUILD FAILED
Traceback (most recent call last):
  File "/usr/local/bin/fontbakery-build.py", line 4, in <module>
    __import__('pkg_resources').run_script('fontbakery==0.0.13', 'fontbakery-build.py')
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 735, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1652, in run_script
    exec(code, namespace, namespace)
  File "/usr/local/lib/python2.7/site-packages/fontbakery-0.0.13-py2.7.egg/EGG-INFO/scripts/fontbakery-build.py", line 127, in <module>
    run_bakery(os.path.abspath(p), verbose=args.verbose)
  File "/usr/local/lib/python2.7/site-packages/fontbakery-0.0.13-py2.7.egg/EGG-INFO/scripts/fontbakery-build.py", line 99, in run_bakery
    b.run()
  File "/usr/local/lib/python2.7/site-packages/fontbakery-0.0.13-py2.7.egg/bakery_cli/bakery.py", line 140, in run
    return self.normal_run(self.pipes)
  File "/usr/local/lib/python2.7/site-packages/fontbakery-0.0.13-py2.7.egg/bakery_cli/bakery.py", line 161, in normal_run
    p.execute(self.config)
  File "/usr/local/lib/python2.7/site-packages/fontbakery-0.0.13-py2.7.egg/bakery_cli/pipe/metadata.py", line 36, in execute
    genmetadata.run(self.builddir)
  File "/usr/local/lib/python2.7/site-packages/fontbakery-0.0.13-py2.7.egg/bakery_cli/scripts/genmetadata.py", line 592, in run
    writeDescHtml(familydir)
  File "/usr/local/lib/python2.7/site-packages/fontbakery-0.0.13-py2.7.egg/bakery_cli/scripts/genmetadata.py", line 577, in writeDescHtml
    fontDesc = fontToolsGetDesc(ftfont)
  File "/usr/local/lib/python2.7/site-packages/fontbakery-0.0.13-py2.7.egg/bakery_cli/scripts/genmetadata.py", line 322, in fontToolsGetDesc
    if len(fontDesc) > 0:
TypeError: object of type 'bool' has no len()


Unable to change the upload path from bread on "rich text box"

Laravel version
7.30.4
PHP version
7.3.27
Voyager version
1.x-dev 84e17f6
Database
Mysql  8.0.23
Description
When using the "rich text box" in the bread, if I try to upload an image is not possible to change the storage path:
the file is uploaded in the following path:
/rootpath/modelName/MonthYear/originalFileName.png
In my case I would save in a path like the following:
/rootpath/IMAGES/modelName/originalFileName.png
It would be great to use a parameter name like in the bread "media picker":
{
"base_path": "/images/posts/"
}
I tryed to use "base_path" also into the "rich text box" parameters but it is not working.
I tryed also to use tinymceOptions:
{
"tinymceOptions": {
    "location": "/images/posts/",
    "images_upload_base_path": "/images/posts/",
    "image_uploadtab": "true",
	"base_path": "/images/posts/"
}

}
But it is not working.
Steps to reproduce

create a  bread containing a "rich text box"
try to upload an image
che the destination image

Expected behavior

The path must not contain the month and year folder
the user must be able to change the upload file for that field

Screenshots
No response
Additional context
No response

Same problem also using field images


Forward seek

Forward seek does not work. It returns to the current playback position 😭

It's not just forward, any seek operation is failing


when i add fallbackUrl to my service, the timeout doesn't work.

The timeout does not work in the following code

spring:
  application:
    name: immune
  cloud:
    gateway:
      httpclient:
        connect-timeout: 6000
        response-timeout: 60s
      discovery:
        locator:
          enabled: true
      routes:
        - id: service_admin
          uri: lb://ADMIN
          order: 1
          predicates:
            - Path=/admin/**
          filters:
            - StripPrefix=1
            - Retry=2
            - name: Hystrix
              args:
                name: fallbackcmd
                fallbackUri: forward:/fallback

The time-out does not work until the following code is removed

args:
  name: fallbackcmd
  fallbackUri: forward:/fallback

How can I make them work at the same time?

The hystrix timeout is shorter than the http client timeout.  You will need to configure the hystrix timeout to be longer.

@ryanjbaxter Thank you for answering.


Travis CI - switch OS from Ubuntu bionic to focal

see https://blog.travis-ci.com/2020-08-10-focal-build-environment

Done.


Feature/database

Codecov Report

Merging #35 (e2ed328) into main (3aa2fba) will increase coverage by 0.45%.
The diff coverage is 95.52%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #35      +/-   ##
==========================================
+ Coverage   92.06%   92.51%   +0.45%
==========================================
  Files          36       42       +6
  Lines        1965     2284     +319
==========================================
+ Hits         1809     2113     +304
- Misses        117      127      +10
- Partials       39       44       +5

Impacted Files
Coverage Δ

mizugos/contexts/context.go
66.66% <ø> (ø)

mizugos/cryptos/des.go
86.51% <ø> (ø)

mizugos/cryptos/md5.go
100.00% <ø> (ø)

mizugos/entitys/define.go
0.00% <ø> (ø)

mizugos/entitys/entitymgr.go
100.00% <ø> (ø)

mizugos/entitys/module.go
100.00% <ø> (ø)

mizugos/entitys/modulemgr.go
100.00% <ø> (ø)

mizugos/errors/error.go
100.00% <ø> (ø)

mizugos/events/eventmgr.go
97.33% <ø> (ø)

mizugos/labels/labelmgr.go
100.00% <ø> (ø)

... and 25 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Thanks,
Emily
Reported by: edimmer
Original Ticket: "geneontology/ontology-requests/1752":https://sourceforge.net/p/geneontology/ontology-requests/1752

thanks www.movied.org


Sema: Fudge backward compatibility for init special declname

In Swift 4, constructors had the same name as properties,
methods and enum cases named init. This meant that you
could use constructor syntax to call such a member, which
caused some confusing behavior.
Recently I added a special declname for init so that
constructors have unique names distinct from any name you
can spell, and "foo.init" syntax would look for a member
with the special name rather than one named init.
Unfortunately people actually had code where they defined
members named init and then use them via normal member
lookup syntax, like this:
enum E {
  case `init`
}

let e: E = E.init

So to maintain backward compatibility, hack member lookup
to also find members named init when looking up the special
declname for constructors.
The workaround is only enabled in Swift 4 and 4.2 mode;
in Swift 5 mode you are expected to write foo.init to access
non-constructor members named init.
Fixes rdar://problem/38682258.

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test


Fix lanterns not emitting light

It's how it was done before the plume refactor. Only difference is it's set in the block class instead of when the block is initialized. I think that makes sense, because it's related specifically to the block's behavior rather than a specific instance's behavior.


Terraform "context" with several directories and files

I have my Terraform files distributed among several directories those are gathered together in build scripts. And variable values file (.tfvars by default) is located in separate directory as well.
It would be cool to setup a Terraform "context" specifying the directories and files it consists of. So plugin could analyze the files correctly.
Even cooler would be an hierarchy of contexts (e.g. context could consist of files, directories and contexts), because that is why my files are separated to several directories. But if it is too hard/long to implement, just the "context" feature would be enough as well if every file/directory is allowed to be included in several contexts.

Can you solve this issue by using a hierarchy of Terraform modules, instead of copying files by a build tool?


how to deal with it behind a firewall?

I'm behind a corpo firewall, and I guess I need a proxy to be able to fetch anything (ls-remote works, though).

hi, maybe you can check this post, it use env http_proxy to proxy http connection in terminal.
wish it's useful to you :grin:

I hope these articles are helpful:

http://stackoverflow.com/questions/783811/getting-git-to-work-with-a-proxy-server
http://stackoverflow.com/questions/5529218/how-to-use-git-behind-a-proxy


Update openvpn-azure-ad-tenant-multi-app.md

This is similar to recent updates to https://docs.microsoft.com/en-us/azure/vpn-gateway/openvpn-azure-ad-client and https://docs.microsoft.com/en-us/azure/vpn-gateway/openvpn-azure-ad-tenant.
MacOS, iOS, and Linux clients cannot use Azure AD authentication because there is no version of Azure VPN Client for those OS's. This can lead to lost hours of labor and lost calendar days during planning, attempting implementation, and troubleshooting if an org is not aware of the limitation.

@ad-alt : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi! I have updated all of the articles mentioned by using an include file. Thank you for bringing this to my attention. #please-close


Sqlite should be upgraded to avoid vulnerability

https://www.zdnet.com/article/sqlite-bug-impacts-thousands-of-apps-including-all-chromium-based-browsers/
Rippled currently use sqlite 3.24.0

Based on a cursory review, I do not believe that this necessitates releasing a hotfix for rippled, but we will upgrade to version 3.26.0 for the 1.2.0 release.


OMP error with GCC 4.9.2

Hello,
I think gcc 4.9.2 changes exception specifier of omp and lead to this error. But I am not very sure about this. I can compile OpenBLAS with gcc 4.9.2, but while compile other program using openblas, it showed this
/usr/local/lib/gcc/x86_64-redhat-linux/4.9.2/include/omp.h:75:37: error: declaration of ‘int omp_get_num_procs() throw ()’ has a different exception specifier
 extern int omp_get_num_procs (void) __GOMP_NOTHROW;
                                     ^
In file included from ./OpenBLAS/cblas.h:5:0,
                 from ./mshadow/mshadow/./base.h:98,
                 from ./mshadow/mshadow/tensor.h:14,
                 from src/updater/./sgd_updater-inl.hpp:8,
                 from src/updater/updater_impl-inl.hpp:8,
                 from src/updater/updater_impl.cpp:4:
./OpenBLAS/common.h:526:5: error: from previous declaration ‘int omp_get_num_procs()’
 int omp_get_num_procs(void) __attribute__ ((weak));
     ^

The declaration of omp_get_num_procs in common.h is inside an #ifdef USE_OPENMP block, where the "attribute ((weak))" variant form that appears to clash here is in the #else branch.
So you probably need to define USE_OPENMP in your own Makefile as well, if you include the OpenBLAS headers in your code.

@antinucleon ，how do you compile OpenBLAS? make USE_OPENMP=1?

I am also affected by this. My projects uses GNU OpenMP Library and OpenBlas, so it includes:
#include <openblas/cblas.h>
#include <omp.h>
Why it does not include <omp.h> https://github.com/xianyi/OpenBLAS/blob/develop/common.h#L646 instead of declaring these OpenMP symbols?
It is included in https://github.com/xianyi/OpenBLAS/blob/develop/common_thread.h#L43 anyway...

I suspect the problem lies elsewhere - the installed cblas.h should never include the "private" common.h used at build time (what it includes instead is openblas_config.h with relevant build-time constants). So either you were including the cblas.h from the OpenBLAS source directory, or you used cmake to install an earlier version of OpenBLAS sometime in the past (the early attempts at
cmakefiles simply grabbed all .h files from the build directory and dumped them in the target include path as none of the developers really understood cmake back then).

yeah, I used cmake. After cleaning up everything it is ok. Thanks!


Sensitive key data is now hidden #6536

This is in reference to fix #6529.
Set no_log: true for all the updated files , so that sensitive information are not logged out in the ansible output, thereby increasing security and privacy.

@Neelaksh-Singh I think you have amended the last commit already present in master branch


Get the modes of secure and mnedc from the os enviroment

Signed-off-by: Taewan Kim<EMAIL_ADDRESS>Description
There isan issue with the edge-orchestration setting the secure and mnedc options while building the project.
The edge-orchestration can modify the secure and mnedc options while initiating the program with this PR.
Fixes #168
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

How Has This Been Tested?
Run the edge-orchestration with the environment values like below.

SECURE : true or false
MNEDC : server or client

 docker run -it --rm --privileged --network="host" --name edge-orchestration -v /var/edge-orchestration/:/var/edge-orchestration/:rw -v /var/run/docker.sock:/var/run/docker.sock:rw -v /proc/:/process/:ro -e SECURE=true -e MNEDC=server edge-orchestration:coconut

Test Configuration:

Firmware version: Ubuntu 18.04
Edge Orchestration Release: Coconut

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

This PR would work only for the command suggested and wont work with
./build.sh secure
./build.sh mnedcserver
./build.sh mnedcclient
Hope that is intended.
And this PR is not compatible with build.sh.
We also see below:
function run_docker_container() {
### Add temporarily, TO DO: move files into container
echo ""
echo "--------------------------------------------"
echo "  Create prerequisite Folder [SuperUser]"
echo "--------------------------------------------"
sudo mkdir -p /var/edge-orchestration/log
sudo mkdir -p /var/edge-orchestration/apps
sudo mkdir -p /var/edge-orchestration/data/db
sudo mkdir -p /var/edge-orchestration/data/cert
sudo mkdir -p /var/edge-orchestration/user
sudo mkdir -p /var/edge-orchestration/device
sudo mkdir -p /var/edge-orchestration/mnedc
sudo mkdir -p /var/edge-orchestration/datastorage
echo ""
echo "**********************************"
echo " Run Docker container "
echo "**********************************"
docker run -it -d \
            --privileged \
            --network="host" \
            --name $DOCKER_IMAGE \
            -v /var/edge-orchestration/:/var/edge-orchestration/:rw \
            -v /var/run/docker.sock:/var/run/docker.sock:rw \
            -v /proc/:/process/:ro \
            $DOCKER_IMAGE:$CONTAINER_VERSION
docker container ls

}
Might be we can just change the docker run command in the build.sh and pass SECURE and MNEDC env.

@suresh-lc Thank you for the review!
Please don't bring the build script. As I wrote an issue #168, this PR is intended to check and change the mnedc and secure option values while initiating the edge-orchestration. If you run edge-orchestration without env values, the edge-orchestration will run as the buildTags options.

Might be we can just change the docker run command in the build.sh and pass SECURE and MNEDC env.

If we accept this PR, the edge-orchestration can check and revise the SECURE and MNEDC options.
As a result, we don't need to make several edge-orchestration images with each options.

@suresh-lc Thank you for the review!
Please don't bring the build script. As I wrote an issue #168, this PR is intended to check and change the mnedc and secure option values while initiating the edge-orchestration. If you run edge-orchestration without env values, the edge-orchestration will run as the buildTags options.

Might be we can just change the docker run command in the build.sh and pass SECURE and MNEDC env.

If we accept this PR, the edge-orchestration can check and revise the SECURE and MNEDC options.
As a result, we don't need to make several edge-orchestration images with each options.

Thanks for the consideration then.


💡 [REQUEST] - Add Bookmark Feature

[x ] I am from GSSoC'23.
[ x] I would like to be assigned this task.

Section
Description

Concise Description
Add bookmark feature

Solution Proposed
Users can bookmark their favourite blog posts and another book mark section will be added where user can re-read their favourite posts

Alternative Solutions
Describe any alternative solutions you can think of

Additional Context
Write any other contexts related to the feature request

Screenshots
[Provide screenshots here]

Code of Conduct
By submitting this issue, you agree to follow our Code of Conduct.

[x ] I follow the Contributing Guidelines of this project.
[ x] I have checked the current issues for duplicate problems.
[x ] I have read the readme of this repository.

@AKD-01 please assign me this issue under gssoc'23


Added name

This is my first full request for open source.
I added my name to README.md as per contribution guidance.

This is my first pull request.


Running sparkcaller on sam files generated by SparkAligner

Hello Team,
I am facing a particular issue while running the Sparkcaller on sam files to merge we are using a whole genome paired fastq input to SparkALigner to generate the sam/bams
The following is the output of spark caller.
we are able to see the multiple bams from sam but merger is not getting fired up or failing.
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.
log4j:ERROR The class "org.apache.log4j.Appender" was loaded by
log4j:ERROR [sun.misc.Launcher$AppClassLoader@3feba861] whereas object of type
log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [org.apache.spark.util.ChildFirstURLClassLo
ader@21a947fe].
log4j:ERROR Could not instantiate appender named "console".
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appende
r" variable.
log4j:ERROR The class "org.apache.log4j.Appender" was loaded by
log4j:ERROR [sun.misc.Launcher$AppClassLoader@3feba861] whereas object of type
log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [org.apache.spark.util.ChildFirstURLClassLo
ader@21a947fe].
log4j:ERROR Could not instantiate appender named "console".
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
log4j:WARN No appenders could be found for logger (org.apache.spark.SparkConf).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
17/03/05 17:41:43 INFO SparkCaller: Preprocessing SAM files!
17/03/05 17:41:43 INFO SparkCaller: Distributing the SAM files to the nodes...
17/03/05 17:41:43 INFO SparkCaller: Converting the SAM files to sorted BAM files...
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 1.0 failed 4 times, m
ost recent failure: Lost task 0.3 in stage 1.0 (TID 6, <IP_ADDRESS>): java.io.FileNotFoundException: Sou
rce 'SparkAligner-2-app-20170305170349-0000-merged-sorted.bam' does not exist
at org.apache.commons.io.FileUtils.moveFile(FileUtils.java:2819)
at com.github.sparkcaller.utils.MiscUtils.moveToDir(MiscUtils.java:70)
at com.github.sparkcaller.utils.FileMover.call(FileMover.java:25)
at com.github.sparkcaller.utils.FileMover.call(FileMover.java:9)
at org.apache.spark.api.java.JavaPairRDD$$anonfun$toScalaFunction$1.apply(JavaPairRDD.scala:1028
)
at scala.collection.Iterator$$anon$11.next(Iterator.scala:409)
at scala.collection.Iterator$$anon$11.next(Iterator.scala:409)
at scala.collection.Iterator$class.foreach(Iterator.scala:893)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:59)
at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:104)
at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:48)
at scala.collection.TraversableOnce$class.to(TraversableOnce.scala:310)
at scala.collection.AbstractIterator.to(Iterator.scala:1336)
at scala.collection.TraversableOnce$class.toBuffer(TraversableOnce.scala:302)
at scala.collection.AbstractIterator.toBuffer(Iterator.scala:1336)
at scala.collection.TraversableOnce$class.toArray(TraversableOnce.scala:289)
at scala.collection.AbstractIterator.toArray(Iterator.scala:1336)
at org.apache.spark.rdd.RDD$$anonfun$collect$1$$anonfun$13.apply(RDD.scala:912)
at org.apache.spark.rdd.RDD$$anonfun$collect$1$$anonfun$13.apply(RDD.scala:912)
at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1899)

Also is there some limitation on the files names.?

sparkcaller_run copy.docx
Please find the complete output run here.
Thanks

There shouldn't be any limitations on the filenames apart from that the input files should end with sam/bam. Did you encounter any problems with any particular filenames?
Which file system are you using? SparkCaller has primarily been tested using FUSE mounted HDFS, so it might not work as intended if pure HDFS is used. NFS or similar should also work fine.
The most relevant part of the error message seems to be:
java.io.FileNotFoundException: Source 'SparkAligner-2-app-20170305170349-0000-merged-sorted.bam' does not exist

could you see if that file exists on any of the file systems connected to the nodes?
Thanks for providing the logs btw! That helps a lot :)

Well we are using IBM in place of yarn and GPFS(spectrum scale) filesystem.
multiple bams are getting created but merge is not happening and job is getting killed with the said error.
But strangely non whole genome sample worked.is it the problem with whole genome.
Also can we have a call or a webex session just to show what we have done.
Sidra Team
Tushar Pathare
<EMAIL_ADDRESS>

succesfull_run.docx
Successful Run output files.
The only difference what we ran is that this successful run was performed on single node with single spark executor with 64 cores.
The others  I am executing by splitting the multiple workers on multiple nodes.
Secondly --partitions for SparkAligner was 8 partitions(does it make a difference)
No I did not encounter any issues with filenames but merge sam is not getting fired rest all is working fine.

I don't have any experience with GPFS, but based on what I just read about it, and the fact that the non whole genome sample worked, makes it seem like it may work as expected.
I'm kinda busy atm, so i'm unfortunately not sure whether I can partake in any live support.
I'll however see if I can add some more options on how verbose the output is, so that it is easier to debug.
Is the main output directory available to all the executors? The primary difference between running it on several nodes and a single node, is that the generated files have to be moved to a common location before they can be merged. So, if the main output directory is not available to all nodes, it will not be able to merge the file.
Could you see if all the BAM files are being moved somewhere (they should by default be moved to the output folder, which is contained inside the inputfolder and is prefixed with 'sparkcaller')?

GPFS is like HDFS where all the nodes can see the output.
Here is the executor log for debugging which clearly shows the issue.
stderr.txt

@paalka Now this is interesting stuff If I run the sparkcaller  across multiple nodes .i.e. single master and multiple different slaves across in a cluster on different physical nodes samtool fails to fire.
But if I run the spark master and slave on the same machine the sparkcaller127322704619436887019719250971855727samtools merge -@4 fires up smoothly without  any issue.Need to check what happens in MoveFile function.
It would be great to get a fix for this.

daas-apps/genomics/sparkcaller/src/main/java/com/github/sparkcaller/utils/MiscUtils.java
I think the issue lies here ....
while (true) {
try {
p = Runtime.getRuntime().exec(cmdArray);
p.waitFor();
            if (p.exitValue() != 0) {
                System.err.println(binaryName + " exited with error code: " + p.exitValue());
                InputStream errorStream = p.getErrorStream();
                BufferedReader errorStreamReader = new BufferedReader(new InputStreamReader(errorStream));

                String currLine = null;
                while ((currLine = errorStreamReader.readLine()) != null) {
                    System.out.println(currLine);
                }

                return p.exitValue();
            }

public static int executeResourceBinary(String binaryName, ArrayList arguments) {
String pathToUnpackedBinary = FileExtractor.extractExecutable(binaryName);
    if (pathToUnpackedBinary == null) {
        System.err.println("Could not find binary: " + binaryName);
        return -1;
    }

    arguments.add(0, pathToUnpackedBinary);
    String[] cmdArray = arguments.toArray(new String[0]);

    int numTries = 0;
    int maxRetries = 5;

    Process p;

Thats strange! I have begun looking into it, but haven't found anything just yet. I have tried to make the program log somewhat more now. Could you attempt to a re-run with the new changes? It should still fail, but the output may provide some more hints as to what is wrong.
Thanks for providing code to where the error may be btw! :)

@paalka I was able to run the but check this error attached for whole genome file.
run with whole genome.docx

Oh! I have now attempted to fix that problem. I think it may have been caused by the fact that spark.executor.cores was not specified, but it shouldn't have failed in that manner anyway. Could you attempt to rerun the new version (1.0.5), and also set --conf spark.executor.cores?

@paalka Ok will give it a try by setting the number of cores as well...
Thanks for the quick fix! Appreciate that

@paalka Finally identified the issue.
The problem lies in the creation of temporary executable binary files(like samtools) on / (root) filesystem to which a regular user will not have access.Hence the job will fail.
The problem lies in this code
// Create our temp file
File tempFile = File.createTempFile("sparkcaller" + System.nanoTime(), fileName, new File(""));
and it should have been
// Create our temp file
File tempFile = File.createTempFile("sparkcaller" + System.nanoTime(), fileName, new File("/tmp/"));
So that the binary executable files are created in /tmp
Please comment....

Thanks! The intention of
File tempFile = File.createTempFile("sparkcaller" + System.nanoTime(), fileName, new File(""));
was to create the temporary file in the current working directory.
I just committed changes which instead makes it default it use the default temporary directory (i.e. /tmp). This should be part of version 1.0.6.
Did any of the workers throw an IOException when attempting to execute the code? The documentation states that it should do so if the file cannot be created.

@paalka Well there was no error thrown.The error I got is "..somefilename....merge.sorted.bam" not found.
This also needs to be taken care in case the file is not created there should be a clear error and not a java.io.error saying file not found in the stack trace.

Sorry about that! Unfortunately I hadn't noticed that the exception in FileExtractor.extractExecutable was being consumed by a try-catch. It should not throw an exception instead. Version 1.0.7 should have this change.


Several test failing on Mac OS X / ruby 2.3.1 / rbenv 1.0.0

When running bundle exec rake features several tests fail on my machine.
$ bundle exec rake features
/usr/local/var/rbenv/versions/2.3.1/bin/ruby -S bundle exec cucumber
Using the default profile...
.................................F...........................................................................................................................F...............F....F.....................................F..................................................F.......................F.....F....F....F.........F.........................................................................................................................F......................................................................................................F.............................................................F........................................................................................................................................................F..........................................................................................................................................................................................................................................................................................................................................................................F.........F.........................................

All the tests fail with an error similar to the following:
bundle exec cucumber features/docs/cli/dry_run.feature                                                                                1 ↵
Using the default profile...
..........F

(::) failed steps (::)

expected "Feature: test\n\n  Scenario:                      # features/test.feature:2\n    Given this step is ...fined$/) do\n  pending # Write code here that turns the phrase above into concrete actions\nend\n\n" to include "Feature: test\n\n  Scenario:                      # features/test.feature:2\n    Given this step is ...est.feature:3:in `Given this step is undefined'\n\n1 scenario (1 undefined)\n1 step (1 undefined)\n"
Diff:
@@ -1,2 +1,18 @@
-Feature: test\n\n  Scenario:                      # features/test.feature:2\n    Given this step is undefined # features/test.feature:3\n      Undefined step: "this step is undefined" (Cucumber::Undefined)\n      features/test.feature:3:in `Given this step is undefined'\n\n1 scenario (1 undefined)\n1 step (1 undefined)\n
+Feature: test
+
+  Scenario:                      # features/test.feature:2
+    Given this step is undefined # features/test.feature:3
+      Undefined step: "this step is undefined" (Cucumber::Undefined)
+      /usr/local/var/rbenv/versions/2.3.1/bin/bundle:23:in `load'
+      /usr/local/var/rbenv/versions/2.3.1/bin/bundle:23:in `<main>'
+      features/test.feature:3:in `Given this step is undefined'
+
+1 scenario (1 undefined)
+1 step (1 undefined)
+
+You can implement step definitions for undefined steps with these snippets:
+
+Given(/^this step is undefined$/) do
+  pending # Write code here that turns the phrase above into concrete actions
+end
 (RSpec::Expectations::ExpectationNotMetError)
features/docs/cli/dry_run.feature:58:in `Then it should fail with:'

The test fail because of the extra lines:
/usr/local/var/rbenv/versions/2.3.1/bin/bundle:23:in `load'
/usr/local/var/rbenv/versions/2.3.1/bin/bundle:23:in `<main>'

I am currently investigating this issue, but I would be really grateful to hear suggestion about it or to know whether I am missing something.
I am using ruby 2.3.1 with rbenv (1.0.0) and Mac OS X 10.11.6.
Failing Scenarios:
cucumber features/docs/cli/dry_run.feature:50 # Scenario: In strict mode with an undefined step
cucumber features/docs/cli/showing_differences.feature:8 # Scenario: Run single failing scenario with default diff enabled
cucumber features/docs/cli/strict_mode.feature:20 # Scenario: Fail with --strict due to undefined step
cucumber features/docs/cli/strict_mode.feature:35 # Scenario: Fail with --strict due to pending step
cucumber features/docs/defining_steps/nested_steps.feature:131 # Scenario: Undefined nested step
cucumber features/docs/defining_steps/table_diffing.feature:7 # Scenario: Extra row
cucumber features/docs/exception_in_after_step_hook.feature:24 # Scenario: Handle Exception in standard scenario step and carry on
cucumber features/docs/exception_in_after_step_hook.feature:57 # Scenario: Handle Exception in scenario outline table row and carry on
cucumber features/docs/exception_in_around_hook.feature:15 # Scenario: Exception before the test case is run
cucumber features/docs/exception_in_around_hook.feature:47 # Scenario: Exception after the test case is run
cucumber features/docs/exception_in_before_hook.feature:44 # Scenario: Handle Exception in Before hook for Scenario with Background
cucumber features/docs/formatters/json_formatter.feature:289 # Scenario: DocString
cucumber features/docs/formatters/junit_formatter.feature:178 # Scenario: pending and undefined steps with strict option should fail
cucumber features/docs/formatters/pretty_formatter.feature:31 # Scenario: Hook output should be printed before hook exception
cucumber features/docs/gherkin/background.feature:363 # Scenario: run a feature with a background that is pending
cucumber features/docs/writing_support_code/tagged_hooks.feature:34 # Scenario: omit tagged hook
cucumber features/docs/writing_support_code/tagged_hooks.feature:69 # Scenario: Omit example hook

Interesting, I'll see if I can reproduce this a little later today.


Don't Merge! PR real time test for source branch full build

Docs Build status updates of commit 3ecd324:
:clock10: Pending: waiting for processors (18 builds ahead of you)
:warning: Docs Build is busy, currently there are 18 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 3ecd324:
:clock10: Full build: the average full build time is 7 min(s) 15 sec(s), this is based on the last 30 build(s) for this repository.

Docs Build status updates of commit 3ecd324:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docfx.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Removing v1 protos

This removes 117 java files that no longer need to be compiled every build or add bulk to our jars.
While regenerating the protos, it turned out that v2 grpc Service objects needed to be regenerated
Upgraded one test class that was using v1 classes to use v2.

LGTM
I looked at the upgraded test class but the rest isn't really reviewable.


Importing ember-runtime causes imports everywhere to fail.

To reproduce:
clone the repo, npm install && bower install, run ember test.
You'll see a series of errors related to importing missing modules.
All you need to do to make all the tests except one (the one which imports the module that imports ember-runtime) pass is open index.js and comment out the thing the import of ember-runtime.
Ping @rwjblue.

Data Point:
you get the same results if u run ember serve and comment out line 92490 aka, ;module.exports = Ember; - then visit localhost:4200/tests (without removing ember-runtime) - this must be be b/c the cjs build is being used, not the normal ember.debug.js build(they only differ in this one single line as well)
another data point: add .default to the end of this line when requiring ember in the node test setup and the init method in ember’s application.js is called right away - don’t put default on the end, and use cjs build's global module.exports = Ember line(which i mention above gives the same result as @runspired's hack for removing ember-runtime) to create an application like here in the node test setup and you gain control back over the initialization process, including ability to add initializers outside of build time(for say fastboot and maybe workers, need to read this codebase now). I explain this 2nd data point only to give another example of where the Ember global is needed, for internal testing of ember itself, but is derives from the real world usage of ember outside of a normal dom context.
Hopefully this may help @rwjblue with @runspired's question, at the very least. And perhaps give @tomdale more context with this pr im playing with with - where the node tests depend on the module.exports = Ember line that throws in your tests setup - https://github.com/emberjs/ember.js/pull/12733

is this still an issue?


feat: 🎸 Expose extension config to modules

Currently, only the preRegistration hook receives the extension's
configuration as a parameter. Providing getModuleFn's with the
extension's configuration, and all lifecycle/modules with the
application's configuration as rootConfig should open the doors to more
configurable extensions.
Closes: #1268
PR Checklist

[x] Brief description of changes
[x] Links to any relevant issues
[ ] Required status checks are passing
[x] User cases if changes impact the user's experience
[x] @mention a maintainer to request a review

@igoroctaviano, do we need to update any docs along with these changes?

@igoroctaviano, do we need to update any docs along with these changes?

@dannyrb  I think so. But first i just wanna check if you if thats the approach we are gonna use because the app config can go through the extensions config or through the extension manager directly and then passed down to modules.

I think avoiding a deep merge of configurations is preferable here. Also, keeping them separate makes it easier to determine who is providing what and when. Please feel free to push back and discuss.

Updated. Removed appConfig from services as discussed. 🌟


PyZMQ with tornado 6.0 raises the wrong warning.

PyZMQ raises the following warning when users upgrade to tornado>=6.x:
Users/klay6683/miniconda3/envs/py37/lib/python3.7/site-packages/notebook/services/kernels/kernelmanager.py:19: VisibleDeprecationWarning: zmq.eventloop.minitornado is deprecated in pyzmq 14.0 and will be removed.
    Install tornado itself to use zmq with the tornado IOLoop.

Originally posted by @michaelaye in https://github.com/jupyter/notebook/issues/4549#issuecomment-509817150
This happens because pyzmq attempts to import a module in tornado that no longer exists (specifically, this import chunk). When it cannot find this module, it assumes tornado is not installed, tries to import a deprecated module inside pyzmq (i.e. minitornado), and triggers this warning. Tornado is of course installed—it just no longer contains this specific module—so this warning isn't communicating the correct problem.
To fix, we either pull out the imported function from the deprecated module or stop using this function since it doesn't exist in Tornado anymore.

This was fixed in 17.1.3 by #1263 and does not affect pyzmq 18 or master.
The block you linked includes the fix only imports minitornado if it's already been imported, so a deprecation warning caused by importing minitornado would be thrown before this block executes.
Annotated code:
try:
    from tornado.stack_context import wrap as stack_context_wrap  # raises ImportError on tornado 6
except ImportError:
    if "zmq.eventloop.minitornado" in sys.modules:  # False if minitornado is not already imported, which would mean warning is already shown
        # not executed if minitornado is not already imported
        from .minitornado.stack_context import wrap as stack_context_wrap
    else:
        # this is what will normally happen with tornado 6
        # tornado 5 deprecates stack_context,
        # tornado 6 removes it
        def stack_context_wrap(callback):
            return callback

To demonstrate that this is not the case, run:
python -c 'import zmq.eventloop.zmqstream'

which executed the above block and does not produce a warning.

Ah, thanks @minrk. I tracked down this block of code but obviously didn't look at this code close enough.
Thank you for following up!


Base64url without padding

We're working on upgrading letsencrypt/boulder to v3. In the process I noticed PR #3, which changes go-jose so it accepts base64url inputs with any amount of padding characters (=).
As justification, it cites the example implementation of base64url without padding from RFC 7515, appendix C. However, I think that interpretation is incorrect. I'll reproduce the example here for convenience:
     static byte [] base64urldecode(string arg)
     {
       string s = arg;
       s = s.Replace('-', '+'); // 62nd char of encoding
       s = s.Replace('_', '/'); // 63rd char of encoding
       switch (s.Length % 4) // Pad with trailing '='s
       {
         case 0: break; // No pad chars in this case
         case 2: s += "=="; break; // Two pad chars
         case 3: s += "="; break; // One pad char
         default: throw new System.Exception(
           "Illegal base64url string!");
       }
       return Convert.FromBase64String(s); // Standard base64 decoder
     }

This code adds the exact correct amount of padding before handing off the now-padded string to C#'s Convert.FromBase64String function, which verifies the correct padding.
I think there is no support in RFC 7515 for arbitrarily padded base64url strings. I'd like to propose reverting PR #3.

I think there are actually three different possible behaviors here:

Be very strict. RFC 7515, Section 2%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20May%202015-,Base64url%20Encoding,-Base64%20encoding%20using) says that the phrase "Base64url Encoding" means "without padding". Therefore all input base64url strings must not have padding, and any that do must be rejected. This feels overly strict for two reasons: as PR #3 says, padding shows up in the wild; and RFC 7515 itself is actually pretty vague on this point, saying only "as permitted by Section 3.2", which then makes no mention of padding or not.

Strip all padding before processing. This is what PR #3 implemented. But it is perhaps overly-lax, as it also accepts inputs with too little (e.g. = instead of ==) or too much (e.g. ======) padding.

Accept either unpadded or correctly-padded base64url. This seems to me like the best compromise: do exactly what the RFC says, but also accept the correctly-padded form because it's been observed in the wild and is a reasonable mistake to make. However, it is slightly more complex to implement than either of the above, since it requires testing whether the correct amount of padding is present, rather than simply blindly correcting for it. Maybe the best implementation of this method would be something like this:

func base64URLDecode(value string) ([]byte, error) {
	if strings.HasSuffix(value, "=") {
		return base64.URLEncoding.DecodeString(value)
	}
	return base64.RawURLEncoding.DecodeString(value)
}

(Notably, the sample code in RFC 7515, Appendix C does none of these: it attempts to do (2), but in fact is perfectly willing to accept a string with a single padding character that should have had two padding characters.)

@jsha Can we close this with the v4 release?

Yep.


Fix a CastException while getting TableRowCount

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] others

Problem Summary(Required) ：
Fix a CastException while getting TableRowCount related to #3753

[FE PR Coverage check]
:disappointed: fail : 0 / 6 (00.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/sql/optimizer/statistics/StatisticsCalculator.java
0
6
00.00%


tech-debt : Replace service account authentication with workload identity.

Describe the tech-debt
We have employed service account authentication.
The best practice is to use the workload identity.

Note that this is a hard requirement that should be addressed ASAP (i.e. revoking all service account keys ASAP).

Here are some instructions.
https://cloud.google.com/blog/products/identity-security/enabling-keyless-authentication-from-github-actions


fix: Run our own async executor on Unix

Fixes #332
Depends on #336
Unix adapters can now be used inside both a sync and an async context. All D-Bus communications now happen on another thread, which runs its own async executor. The internal executor of zbus connections are disabled and replaced by tasks which run on the same thread. Abstraction helpers have been copied from zbus to be as much runtime agnostic as possible.
This PR can be tested by modifying the accesskit_winit simple example:

Add either async-std or tokio as a dev dependency,
Make the main function async,
Annotate it with either #[async_std::main] or #[tokio::main],
Run the example with default features or with the tokio one,
Make sure the program doesn't panic or hang.

With this change (unlike the current main branch), the winit simple example panics if zbus = { version = "3", features = ["tokio"] } is added as a dependency:
thread '<unnamed>' panicked at /home/ian/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.32.0/src/net/unix/stream.rs:849:18:
there is no reactor running, must be called from the context of a Tokio 1.x runtime
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Spawning zbus futures on a non-tokio executor fails if the zbus/tokio feature is enabled. Using the tokio feature of accesskit_unix fixes this. But the top-level crate or another dependency adding a feature flag to zbus shouldn't break accesskit.
I raised this issue on zbus earlier in https://github.com/dbus2/zbus/issues/526. I'm not sure exactly what is the best way for zbus or accesskit to avoid this, but it definitely doesn't seem ideal.

@ids1024 Yes we all know the situation isn't ideal here. Of course if you already depend on tokio then you are supposed to activate accesskit_unix's tokio feature (or the accesskit_winit). I think I will add a note about this in the README.

We could have also unconditionally used async-io executor even if tokio is used at the application level, but then we force all these async-io dependencies on tokio users. At the moment I decided not to do that and make sure to exclude as much of these crates as possible when the tokio feature is enabled.

Maybe I should note that the only reason it doesn't crash currently is because we fallback to zbus::block_on when the tokio feature isn't enabled. Therefore our futures end up on the runtime spawned by zbus. This is something we have to change though because this function isn't really part of zbus API.

Do we still need to use async_once_cell::Lazy to lazily initialize the adapter? The initialization function doesn't use await anywhere, so we could use the simpler, synchronous once_cell::sync::Lazy instead, and eliminate our dependency on async-once-cell.

Just to be safe, can we also issue a compile error if both the async-io and tokio features are set? And is there any way we can check at compile time whether the feature selection for zbus matches the one for our own crate?

Do we still need to use async_once_cell::Lazy to lazily initialize the adapter?

I missed that, good catch!

And is there any way we can check at compile time whether the feature selection for zbus matches the one for our own crate?

Unfortunately this is not possible as Cargo doesn't pass dependency features to the crate being compiled. The assumption here is if someone enables the tokio feature of zbus then they know what they are doing thus they must check that all their dependencies are properly set. This is far from ideal but I don't think we can do better right now.

@DataTriny Good work. Are you waiting for anyone else to review this? If not, feel free to merge.

I'll just mention that the Unix adapter runs perfectly fine with the default feature inside a tokio-based program, just like zbus.
I'm happy to revisit this if someone comes with a better approach.

Is there a way to make this customizable? We're trying to keep the threading story for Bevy consistent, and extra threads pose potential performance issues due to the engine's sensitivity to context switches. Requiring async-std or tokio are also both not feasible given our constraints.

@james7132 We have no choice but to depend transitively on async-io or tokio as long as we use zbus. And if we move away from zbus, someone will dislike that we're either using a C library (e.g. via the dbus crate) or fragmenting the ecosystem (by forking zbus). Apparently we can't please everyone at once. This is why we agreed to the compromise of feature-gating the AccessKit Unix adapter in accesskit_winit and in Bevy.
We also have no choice but to start a thread for the D-Bus connection, because winit doesn't give us a way to add our file descriptor(s) to its event loop. accesskit_unix always did that; it was just indirect, via zbus, before. So that's not a regression.


Add Syscoin NEVM Chain

Description
Add support for Syscoin Network-Enhanced Virtual Machine.
Testing instructions
Same as EVM chains
Types of changes
New feature (non-breaking change which adds functionality)
Checklist

[ ] Prefix PR title with [WIP] if necessary.
[x] Add tests to cover changes as needed.
[x] Update documentation as needed.
[x] I have read the guidelines for adding a new blockchain
[ ] If there is a related Issue, mention it in the description (e.g. Fixes #<issue_number> ).

Thanks for your internets, we will consider to add it later


RE: /integrations/jira

Jira integration could not connect. Error: 400 Bad Request - Component/s is required. Airbrake does not support required field. Please use the default field settings on your Jira account.
There's no require field or Components field.

Thanks for the suggestion! I've added a section that explains this error. If you have any other suggestions or clarifications, let us know.


Get notifications when subscribed libraries are updated

lib2slack works great when I want to be notified about new gems of repositories being watching/monitored, but sometimes I have zero repos monitored but I'm manually subscribed to library releases.
Is it possible to extend lib2slack to get Slack notifications whenever one of my subscribed libraries are updated, instead of having to start monitoring repositories?
I'm willing to contribute if you kindly provide me the best way of doing this (an idea). I'm new with libraries.io and lib2slack, but I've been writing code in ruby/rails for a while.

Ah yeah, good catch, the web hooks currently only work on a repo level, we need some kind of account level web hooks too

I wonder if in the short term the rss feed could be used to power the slackbot?

Definitely! I didn't know there was an RSS to syndicate all my subscribed packages. I only saw that option on each package section, but I just found it at the end of the homepage :+1:
Does this issue still make sense?

@omederos there's a slackbot that can take rss already here: https://bathruby.slack.com/apps/A0F81R7U7-rss

Going to close this for now


deployContract deploys a faulty contract

I was receiving the error AssertionError: normalize_address() cannot be used with the current constants when calling a contract I deployed with provider.deployContract. After investigating the issue with Tom (starknet) on discord he has suggested that it is possibly something to do with the way starknet JS is handling ints from the compile_contract.json file that is passed in as the first argument to deployContract
This is the code I am using to deploy my contract:
const calldata = compileCalldata({
    name: nameFelt,
    symbol: symbolFelt,
    owner: account,
});

const resp = await provider.deployContract(compiledERC721, calldata);

This is the JSON file:
https://github.com/GeraldHost/fractor/blob/master/packages/fractor-web/src/constants/contracts/erc721.json
And here is a script that shows the error when calling a contract deployed with the starknet CLI that works and then that same contract deployed with starknet.js that doesn't work:
https://github.com/GeraldHost/fractor/blob/master/packages/fractor-contracts/scripts/starknet_js_test.js
Appreciate the time and help

hey @GeraldHost
can you add the code snippet where you deployed the contract ?
Maybe something went wrong while deploying, even tho it seems unlikely to me

@janek26 sure this is the fuller code:
 const nameFelt = strToFelt(name);
 const symbolFelt = strToFelt(symbol);

 const calldata = compileCalldata({
    name: nameFelt,
    symbol: symbolFelt,
    owner: account,
 });

 const resp = await provider.deployContract(compiledERC721, calldata);

account is a hex string coming from window.starknet and strToFelt returns a number string i.e "123"
I think it must be deployment related because if I deploy the contract with the CLI all the UI code works fine it's just if this above code is use to deploy I start getting those errors.

@GeraldHost I See you importing compiled contracts using language features, which will apply JSON.parse on them. Please try again with importing the json as text (no parsing) and parse as described here:
https://github.com/seanjameshan/starknet.js/issues/46#issuecomment-966982725
to retain the biting fields when deploying

@janek26 you my friend are a legend! Thank you that was exactly the issue! 🤘


Better Questing - Aid of Mirkwood II

Description
In BQ, I have completed the Location Task for the Aid of Mirkwood II quest.  The other quest system (MCA? Custom NPCs? It's the one that defaults to the L key), shows no quests in this quest line, as they were completed.  Elrond, however, won't talk to me, except for saying Hello.  Is there a workaround for when something like this happens, maybe bu going into Edit mode for BQ.  I don't want to break the whole questline, not sure if this is a danger, or how to edit a quest to mark it complete?  If that is what I want?  I just want Elrond to talk to me!  Thank you.
Base information

Minecraft version: 1.10.2
Minecraft Forge version: <IP_ADDRESS>1
TolkienCraft II version: 1.1.7

Crash report
CRASH REPORT HERE

Actually, I had to finish speaking to Elrond's son.  You evidently have to speak to him again after the first convo.  Thank you for your reply.


Error Adding New "Boolean" field to an existing data set

for example, if I have a model of places with 3 existing records, if I were to add a new boolean field to it, I cannot edit the page due to undefined.
note, if the new field is a string, then all is well

note, the given example is a new contenttype on a data object, however, attempting to edit the data object via href will produce an error.
only way to edit is to click on the 'content type'. picture attached

Actually, boolean datatype itself with no existing records causes an error


bad line flags: cant use 'L' flag with a str pattern at position 9

when I run it , an error  bad line flags: cant use 'L' flag with a str pattern at position 9 took place.
is that because my python version is 3.7?

Hi,
Yes, pyDEA works on python up to version 3.5.
Unfortunately, I am quite busy at the moment and cannot add support for
newer Python versions. But I will do it eventually.
Thanks,
Olga
On Mon, Jul 29, 2019 at 1:42 AM shihanyu<EMAIL_ADDRESS>wrote:

when I run it , an error bad line flags: cant use 'L' flag with a str
pattern at position 9 took place.
is that because my python version is 3.7?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/araith/pyDEA/issues/3?email_source=notifications&email_token=ACTNV5LRVCKJQYAOECC3CPTQBWO4BA5CNFSM4IHMQYQKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HB4Y7JQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACTNV5K4LB6O3KMWEVJTSUTQBWO4BANCNFSM4IHMQYQA
.


Add support for filtering on HTTP URLs in Hubble

Please ensure your pull request adheres to the following guidelines:

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

Adds a new http_urls filter that matches the whole HTTP URL using regular expressions. This works similarly to the existing http_paths filter, but instead of matching the path, it matches the whole URL
Implements the server side changes for https://github.com/cilium/hubble/issues/925

/test


Allow for stopping playing sound effects

Hacked in support for this. Might go back and make it better sometime.


unable to upload GTFS feeds under Chrome

I’m unable to upload GTFS feeds in analyst-server under Chrome (works in Firefox).
  The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "data". Protocols must match.

Using Chrome 48.0.2564.97 (Official Build) (64-bit)
Matt's analysis: What’s happening is that the file upload happens in a captive iframe with a data: url. This used to work fine because chrome treated the data url as being the same origin as the containing page. But evidently now it’s decided it’s not, not sure why, because the data page is still served over the same connection.

Fixed in 7064eb21f8ebc29bfe47b1e99e51cfdf098decb9


adding some delay before displaying onPauseRoll

https://github.com/fluid-player/fluid-player/issues/380

Already merged...


The data set is 128x128 images for training

Hi，@simongraham和@vqdang
I have a data set, and the picture is 128 x 128, and I want to train on this data set. Then I modified the format of the input and output of the pictures inside, but there was a problem. I want to know how to correct the code? thank you

Have you used original or fast mode as determined here?

Hi，@simongraham, I used  fast

I wonder if it's the act_shape and out_shape Settings. My input image is 128x128, how should I set this out_shape?

'fast' or 'original' will both reduce the image size. The input size we chose should already be the smallest possible. There are 2 options you can do if you want to keep using 128x128

Reflect padding the image to make it 256x256. This is what we did for some images within MoNuSac
Set the padding within the decoder and remove cropping.
https://github.com/vqdang/hover_net/blob/61ffeca6d22bba8aae0727523192150175be8b18/models/hovernet/net_desc.py#L52
https://github.com/vqdang/hover_net/blob/61ffeca6d22bba8aae0727523192150175be8b18/models/hovernet/net_utils.py#L107
https://github.com/vqdang/hover_net/blob/61ffeca6d22bba8aae0727523192150175be8b18/models/hovernet/net_utils.py#L122

Hi, @vqdang

I didn't change anything but act_shape =[128,128] and out_shape=[36,36]. The program works fine, but out_shape is too small. I need to make it bigger, like [80,80]. I was wondering how I could make out_shape bigger

If you are using a different sized input image, then the output size will change too. Therefore, you would need to accordingly calculate the output size by printing the shape in net_desc.py. However, we recommend that you use the image sizes that we recommend in the repository. Why do you need to use images of size 128 x 128?

@kiven1213 please follow my previous post and change the padding and cropping accordingly for the networks. https://github.com/vqdang/hover_net/issues/157#issuecomment-902535631

@simongraham ，Because we now have a batch of 256 x 256 but 40x pictures, we want to train the 20x model, so we need to resize 128x128 and then train the model.

@vqdang ，I tried to use the second method you proposed, Set the padding within the decoder and remove cropping, but it still seemed to get an error.


Keep enqueued promotion in pending state while analysis template is running for the previous promotion

Checklist

[ x ] I've searched the issue queue to verify this is not a duplicate feature request.
[ x ] I've pasted the output of kargo version, if applicable.
[ x ] I've pasted logs, if applicable.

kargo version: 0.6.0
Proposed Feature
Current Behavior
When a Promotion (lets call it PromotionA) creates a PR, and another Promotions (PromotionB) is enqueued, it stays in pending state while the PR is open.
When the PR is merged for PromotionA, a new PR is created for PromotionB while analysis templates are running for PromotionA

Suggested/Desired behavior
PromotionB should be in pending state and only be moved to Running once the verification for previous Promotion is completed and successful.
Motivation
Verifications is an important part of the the delivery process. In many scenarios these templates would be reconciling with argo to ensure that the deployment is actually successful. With the current behavior a user can merge another change while the analysis for the previous promotion is still not complete which makes things confusing.
Suggested Implementation

I agree completely.
I think @hiddeco and I will have to put our heads together on this one.

I would argue this could mean that verification becomes part of the Promotion. This does not have to mean verification can't also be run for a Stage, but that they can be triggered from the Promotion (to confirm it was promoted successfully) and (manually) for the Stage (to confirm things are still as they should be).
The easier way, however, would be to check if there are any AnalysisRuns in a non-terminated state before actually starting to work on the Promotion.

I'd probably also suggest that any enqueued promotions should be cancelled if the verification fails for the ongoing promotion.

I would argue this could mean that verification becomes part of the Promotion.

I almost wrote a comment yesterday suggesting we not do this, or at least that we not rush into deciding that. Instead, I decided we should just talk it through. Since I don't think we'll get to that before the weekend, here's an abridged version of my thoughts, mainly so I don't lose track of them myself:
I think there are fundamentally two separate questions that can be asked after a Promotion is complete:

Did the transition to the new state succeed?
Is the new state good?

It's entirely possible, perhaps even a frequent occurrence, that 1 succeeds and 2 fails. I believe our verifications only answer the second of those two questions.
I still agree that new Promotions should not start mid-verification, but I think we need to put a lot of careful thought into it if we want to integrate verifications into the Promotion process.
Also, for visibility, whatever we decide has consequences for #2069.

This came up in an offline conversation today and something that occurred to me is that when a Stage doesn't explicitly define an Analysis-based verification process, there is still am implicit verification process that is "verified once healthy."
Ultimately I think that blocking a Promotion because the target Stage has an explicit verification process that is still in-progress vs blocking a Promotion because the target Stage is still trying to reach a healthy state -- which it conceivably might never -- are two different things.
Perhaps we need to have distinct phases for "waiting for healthy" and "verifying". (Or our intention to trend toward using conditions instead of phases may help here as well.)
Promoting into a Stage that is "waiting for healthy" and has not yet started "verifying" yet seems ok?
Promoting into a Stage that is actively verifying seems like the thing we ought not do. A user can abort the verification if they need to promote that badly.


docs(loading_files): Add docs on ways of loading files

Add docs on loading files.

Looks good. I don't know if we want to talk about glance format with remote dataset so they can tune the rendering and visual settings.
Maybe adding a section:
... once you loaded your data from those urls, you can fine tune their rendering and save a glance file that will reference to remote data while keeping track of the viz settings....
That glance file can then be used in url as well...

Yeah, that sounds like a good idea to add a blurb on saving state with remote files.

:tada: This PR is included in version 4.11.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Support aliases (strictly).

It's porting of
https://github.com/Shougo/ddc-nvim-lsp/pull/19/commits/591cb8fa113a575c46761f379cfc7df82bc6263d in https://github.com/Shougo/ddc-nvim-lsp/pull/19.
If you alias this source to two or more names, the global environment
variable are conflicted.
Lua evaluation is exclusive, but async function in TypeScript may be
interrupted by other operations at right after the await statement.
escapeVimAutoloadName is for escaping Unicode sequences into vim
variable compatible names. eg:

012abcABC -> 012abcABC

lsp/ts -> lsp_47_ts

a-b_c -> a_45_b_95_c

Converting with escaping _ to make this injective (=reversible).

And invocations of members of the source (eg: gatherCandidates) may be
shuffled after calling ddc#refresh_candidates because ddc.vim uses
await before calling them.

and some type refactoring 😉  ( deno cache **/*.ts and deno lint )

I personally make escapeVimAutoloadName / escapeVimAutoloadNameCached as public domain, so if other source creators see this, please feel free to copy it.

@shun (and other users) It's maybe ready but not tested except escapeVimAutoloadName. Please test.

@LumaKernel
Thanks great PR !


Enables disabling enabled cert-manager-controller controllers

/kind feature
/assign @jakexks @irbekrm
Allows disabling enabled cert-manager-controller controller, for example '--controllers=*,-foo'

Is this the same approach that kube-controller-manager takes for disabling controllers? I thought we could prefix the name of a controller with a - in the list of --controllers, but perhaps I am wrong..

Is this the same approach that kube-controller-manager takes for disabling controllers? I thought we could prefix the name of a controller with a - in the list of --controllers, but perhaps I am wrong..

Thanks, I'll add the same behaviour encoded here https://github.com/kubernetes/controller-manager/blob/385c02a3964be0e326cc5803e410aa1028939249/options/generic.go#L97

Feel free to unhold when ready to merge 😄
/retest
/hold
/lgtm

oh that's a genuine failure https://prow.build-infra.jetstack.net/view/gcs/jetstack-logs/pr-logs/pull/jetstack_cert-manager/3791/pull-cert-manager-bazel/1375387357871607808

@irbekrm Should be good to look at again

🥳
/lgtm

/hold cancel

/retest

/lgtm


First batch of AWS dashboards based on metric stream integration

Submitting a first batch of 6 dashboards migrated from those offered in polling integrations.
We want to make sure the structure, format, etc is ready for release. We'll test this e2e when published and iterate after that (adding more dashboards, etc).

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Automated cherry pick of #4412: networks: make ifname hint also valid qemu identifier

Cherry pick of #4412 on release/2.10.0.
#4412: networks: make ifname hint also valid qemu identifier

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.10.0@f563ff3). Click here to learn what that means.
The diff coverage is 0%.

@@               Coverage Diff                @@
##             release/2.10.0   #4416   +/-   ##
================================================
  Coverage                  ?   7.47%
================================================
  Files                     ?     418
  Lines                     ?   66689
  Branches                  ?       0
================================================
  Hits                      ?    4982
  Misses                    ?   61280
  Partials                  ?     427

Flag
Coverage Δ

#aFlag
7.47% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/networks.go
0.67% <0%> (ø)

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 f563ff3...9c0809f. Read the comment docs.

/lgtm
/approve


Do you return parameters when the pdf file is loaded using pdf.js?

Configuration:
Web browser and its version:chrome
Operating system and its version: win10
PDF.js version: 2.0.943 and 2.1beta
Is a browser extension:no
Steps to reproduce the problem:
Do you return parameters when the pdf file is loaded using pdf.js?
What is the expected behavior? (add screenshot)
I want to get the parameters returned after loading and do subsequent functional processing.
What went wrong? (add screenshot)
i don't know what went wrong .
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

I want to get the parameters returned after loading and do subsequent functional processing.

Unfortunately it's not at all clear what this actually means, since it's impossible to tell what "parameters" you're referring to and if "after loading" means once the whole file is available or something else. For the latter case, you could call https://github.com/mozilla/pdf.js/blob/d909b86b28958045e59869d6d1d0a95f43547ed3/src/display/api.js#L758-L763 on the PDFDocumentProxy instance that's returned by the getDocument call.


opencl and missing layer ops for cnn

 cargo build --features=opencl
   Compiling leaf v0.2.1
   Compiling collenchyma v0.0.8
   Compiling collenchyma-nn v0.3.4
   Compiling collenchyma-blas v0.2.0
/home/bernhard/.cargo/registry/src/github.com-88ac128001ac3a9a/leaf-0.2.1/src/layers/container/sequential.rs:8:21: 8:29 error: unresolved import `util::LayerOps`. There is no `LayerOps` in `util` [E0432]
/home/bernhard/.cargo/registry/src/github.com-88ac128001ac3a9a/leaf-0.2.1/src/layers/container/sequential.rs:8 use util::{ArcLock, LayerOps};
# yada yada

Is this due to a limitation that only cuda supports something or is this a different issue?

I guess it is due to #[cfg(all(feature="cuda", not(feature="native")))] in utils.rs.
So is this a native limitation or just not yet implemented.
There are a lot of those not mentioning opencl, is this all TBD or is this just a old crudge to be fixed?
Do you have feature map what is implemented for which feature backend? Or: Where is that implemented?

nvm I missed the https://github.com/autumnai/collenchyma-nn support table...


showToast should take a widget

Fluttertoast.showToast(...) should take a widget instead of raw text with msg as if what if i want to use a different font or use image or anything else than a text.  maybe an animated text even. the text only is very limited option

this would be very helpful

@gabrielintang @karrarkazuya its not possible with this library as it shows the toast from native platform

I see @PonnamKarthik .. thanks for the explanation


clean-up language in developer section

Just some minor copy-text changes in the Developer Guide section.  The language is  little more clearer now.

Anyone get a chance to review this yet?


exit codes should be significant

if "errors" occur, dbt should exit with a non-zero exit code.
Exit codes:
0: completed without error
1: completed with non-SQL error (eg. bad conn info, invalid command, etc)
2: completed with SQL error

This is our preferred way to detect when our dbt models are failing.
Today we run regular tasks like dbt as cron jobs, and wrap them in a script to send metrics on duration/exit code for monitoring.

That would be perfect, we've started to run dbt with airflow and it would be awesome to be able to have calling scripts know if the command succeeded or not.

One more thing, it's not quite clear if there are specific complexities for each command (compile, test, clean, etc). The main ones that introduce hurdles for my team specifically are dbt run and dbt test not returning error codes. We'd really like to be able to run and test in an automated way and respond/notify on failure.


feat(security): read-only root filesystems for all containers

Which problem does the PR fix?
This change takes the read-only root filesystem changes from my values.yaml configuration and pushes them into the templates of the helm chart.
More work needs to be done on this PR, like setting the UID's to match the parent image. And testing.
readonly_minimal.yaml.txt

What's in this PR?

Checklist
Please make sure to follow our Contributing Guide.

Before opening the PR:

[ ] There is no other open pull request for the same update/change.
[ ] The commits follow our Commit Guidelines.
[ ] Tests for charts are added (if needed).
[ ] The main Helm chart and sub-chart are updated (if needed).
[ ] In-repo documentation are updated (if needed).

After opening the PR:

[ ] Did you sign our CLA (Contributor License Agreement)? It will show once you open the PR.
[ ] Did all checks/tests pass in the PR?

I modified the unit tests to make them more dynamic. Now adding more volumes/volume mounts will not fail the unit tests. The number of volume/volume mounts were hard coded before.

I updated the golden files but unit tests still seem to be failing because of the golden files.....


Add iOS device list

Thanks for sharing this! We have a similar job running in our CI, and I like the idea of a more public version. I've tried to match the style of the existing script but I'm happy to make changes.

Here is the updated README.md.
Thanks again for the PR!

Oh great point! Thanks for making that edit and for accepting this PR!


[docs] Use material-ui for product name

🖥 Preview

Changes can be reviewed by commits
Note: the data folder remains docs/data/material/*, I don't think this is worth changing since it will introduce code conflicts on many PRs again and the folder is considered internal inside the repo (not user-facing).
Ahrefs report
All green within the Core repo. The errors come from the X repo which will be resolved by updating the mono-repo in X.
Errors report > https://app.ahrefs.com/site-audit/3276941/6/data-explorer?columns=pageRating%2Curl%2Ctraffic%2ChttpCode%2Cdepth%2Ccompliant%2CincomingAllLinks%2Corigin&filterCollapsed=true&filterId=ce299062c267aa6829f86c4c4966bd3c&issueId=c64dae3f-d0f4-11e7-8ed1-001e67ed4656&sorting=-pageRating

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

Changes look good, should we push it on the migration branch and run SEO once again after these changes? :)

Changes look good, should we push it on the migration branch and run SEO once again after these changes? :)

That's done and here is the report from ahrefs https://app.ahrefs.com/site-audit/3276941/6/overview
The error comes from the X repo. I need to merge this PR and update the core on the X repo.


Linker Error Aws::Cryptosdk::KmsKeyring::Builder::Build

Compiled the code using the steps for Windows & Linux, in our code we get a linker error saying;
undefined reference to Aws::Cryptosdk::KmsKeyring::Builder::Build(std::string const&, std::vector<std::string, std::allocator<std::string> > const&) cons'
We have the following Dependencies;

aws-cpp-sdk-core.lib
aws-cpp-sdk-kinesis.lib
aws-cpp-sdk-kms.lib
aws-c-event-stream.lib
aws-encryption-sdk.lib
aws-encryption-sdk-cpp.lib
aws-c-common.lib

Running nm -a externals/aws_encryption_sdk_cpp_0.1.0/lib64/libaws-encryption-sdk-cpp.so|grep Builder|grep Build we get 6 hits;
00000000000410e4 T _ZN3Aws9Cryptosdk10KmsKeyring7Builder13WithKmsClientERKSt10shared_ptrINS_3KMS9KMSClientEE<PHONE_NUMBER>041088 T _ZN3Aws9Cryptosdk10KmsKeyring7Builder14WithGrantTokenERKSbIcSt11char_traitsIcENS_9AllocatorIcEEE<PHONE_NUMBER>041024 T _ZN3Aws9Cryptosdk10KmsKeyring7Builder15WithGrantTokensERKSt6vectorISbIcSt11char_traitsIcENS_9AllocatorIcEEENS6_IS8_EEE<PHONE_NUMBER>0410b6 T _ZN3Aws9Cryptosdk10KmsKeyring7Builder18WithClientSupplierERKSt10shared_ptrINS1_14ClientSupplierEE<PHONE_NUMBER>040f22 T _ZNK3Aws9Cryptosdk10KmsKeyring7Builder14BuildDiscoveryEv<PHONE_NUMBER>040a7c T _ZNK3Aws9Cryptosdk10KmsKeyring7Builder5BuildERKSbIcSt11char_traitsIcENS_9AllocatorIcEEERKSt6vectorIS7_NS5_IS7_EEE
Would appreciate any insights you might have, maybe we're linking to the wrong library but from the nm results it seems that the function is there.
Thanks

Hi Shaggy, do you also get an error when you build the kms_discovery.cpp example? The error you mentioned sounds like aws-encryption-sdk-cpp isn't linked. Please double check that you are linking to aws-encryption-sdk and aws-encryption-sdk-cpp.
Would you try running this command in the examples directory, and let us know if you get a similar error?
g++ -o kms_discovery kms_discovery.cpp -lcrypto -laws-encryption-sdk -laws-encryption-sdk-cpp -laws-c-common -laws-cpp-sdk-kms -laws-cpp-sdk-core

Running the command on the same machine the build was made on works, running it on a different machine does not. I suspect this is the issue, our build system for our project is CentOS and the library was built on Amazon Linux AMI.

We have not yet tried building the AWS Encryption SDK for C on CentOS 6, so at this point it is not an officially supported operating system. I have created #351 to add support for it, and I am resolving this issue in favor of that one.


"C" Enums have ordering but not hash defined

See #3557 - it looks like we automatically implement ordering but not hashing for C-style #[pyclass] enums. This is almost certainly an oversight.
One straightforward option is to just add a default implementation of __hash__. This is a breaking change, however.
Related also is whether we want to have #[pyclass(hash)] which is closely related to the discusssion of #[pyclass(eq)] in #3195. Depending on whether we choose to have automatically-derived hash by default or not, might affect what we want to do with the enum code here.

One straightforward option is to just add a default implementation of hash. This is a breaking change, however.

Why is it a breaking change?
Another option is to require users to implement __hash__.

It's breaking because any #[pyclass] enum out there which the user didn't manually implement __hash__ for will suddenly become hashable. I don't think it'll break much in practice but who knows if anyone relied on their enum being unhashable.

Another option is to require users to implement __hash__.

Indeed, and they already can, so we can wait to resolve this with a design we're happy with.


Sample Statistics based on Sqlite Implementation

What changes were proposed in this pull request?
This is another sample statistics implementation. In light of Sqlite.
Different with current SampleBasedStatistics, this one contains more information with
less size. It looks like a combination of SampleBasedStatistics and PartByValueStatistics.
For now this statistics is not used yet.
How was this patch tested?
current UT and one new UT passed

Benchmark result
Book1.xlsx

Statistics size compare:
MinMax: 52 Bytes
Sample: 2752188 Bytes
Bloom: 131084 Bytes
Part: 104 Bytes
Sqlite: 1376092 Bytes

Thanks @linhong-intel , could we also add the key formulas(which is the core of sqlite's algorithm) to comments?

Thanks @linhong-intel for the great work! Some considerations and questions:

Perhaps we can make it easier to maintain this by more comments for like compareKeyWithInterval, explaining the arguments, etc.
About the DUMMY_START/END(Most headache part, yeah : )), currently we lack(commented?) the dealing code?
Is multi-column index dealt well?
In the implementation we sampled 1% of the data, why do we choose this percentage?

@linhong-intel Are we not going to support this?


Updates to 1Password: make it more consistent with their published keyboard shortcuts

A few changes to bring 1Password more consistent with their published keyboard shortcut documentation:

1Password has a keyboard shortcut to fill the password. We can use that rather than implementing ourselves.
Use shortcut provided by the docs for "password show". I'm not sure where cmd-shift-x came from... it doesn't work for me, but maybe @mkandalf can comment on the intent if I'm missing something? IMO, seems best to use the shortcuts provided in the docs unless there's a good reason.
Use app.bundle() for the context scope as 1Password7 didn't seem to work (I checked "help context" with 1Password in focus and the context wasn't active).
Only global commands should be in global context and move others to app scoped context. These are grouped based on the 1Password keyboard shortcut documentation that lives here: https://support.1password.com/keyboard-shortcuts/

It appears there are two browser options for filling passwords, 1Password (mac w/ optional paired browser extension) or 1PasswordX (separate standalone extension). The shortcuts are here. The default shortcut for opening that extension might be cmd-shift-x (I don't recall changing it, and that is what it is set to in chrome).
That said, my guess is using the desktop app may end up being more talon friendly, so is reasonable to be the default approach included. We can split out a 1passwordX file if necessary.

Sounds good. Sorry for the inconvenience here, and thanks both of you for these contributions.

It appears there are two browser options for filling passwords, 1Password (mac w/ optional paired browser extension) or 1PasswordX (separate standalone extension). The shortcuts are here. The default shortcut for opening that extension might be cmd-shift-x (I don't recall changing it, and that is what it is set to in chrome).

I see! Thanks for explaining! I actually hadn't seen 1Password X.

That said, my guess is using the desktop app may end up being more talon friendly, so makes sense to default to that. We can split out an optional 1PasswordX file if necessary.

Wonder if there's a way for Talon to know which one is being used?

I made an issue for 1Password X support: https://github.com/knausj85/knausj_talon/issues/58


Deprecate configure-on-demand

Deprecation message
Documentation
Explain why it's going away
Explain other techniques they can use to reduce build time (lazy task API)
Need to see improvement from lazy task API

I saw https://github.com/gradle/gradle/issues/2868 seemed like it was resolved with a "not going to happen for a while" resolution?
Side note, would really appreciate a deprecation of evaluationDependsOn too :smiley:

Hi @mkobit - sorry for the delay, I wanted our blog post to be public before replying.
Proper deprecation of configure-on-demand is probably some ways off, but our thinking is that we can incrementally make things configure-on-demand-like in a safe way by starting smaller.  Part of this is to avoid creating tasks or configuring tasks if they're not used.  We'll push this out to other kinds of domain object containers (e.g., extensions, configurations) where it makes sense.
I agree that deprecating evaluationDependsOn would also be a good move.

Thanks @big-guy , that makes sense to me.


feat: complex numbers

Feature Request
Describe the Feature Request
Complex numbers implementation and related mathematics methods.
I will follow a similar structure as fixed point and signed integer and create the ComplexTrait and also implement the traits needed (Into, Add, AddEq,  Sub, ... ) for the implementation complex64
Describe Preferred Solution
struct complex64 {
    real: FP64x64,
    img: FP64x64
}

Additional Context
Needed to implement Issue #290
If the feature request is approved, would you be willing to submit a PR?

[x] Yes
[ ] No

Amazing!


[doc] "objects" link in the object tutorial series does not work

The first link ("objects") on this page does not work: https://docs.sui.io/devnet/build/programming-with-objects

it is supposed to link here: https://docs.sui.io/devnet/build/programming-with-objects/ch1-object-basics

Thanks for catching this, Fixed with https://github.com/MystenLabs/sui/pull/5714


Crete rippleDelayClick

Add rv_rippleDelayClick attribute for waiting of finish animation for calling performClick() action

For example, on Android 2.3 i observed case when by click on button that invoke transfer on new activity I didn't see ripple animation. And only when I return on previous screen I see this animation.

is this attribute available? Since the ripple doesnt complete when another activity starts & remaining effect completes when back button is pressd. Its annoying

@bbeckk I created pull reques, but @traex still not took it. You can see realization of rv_rippleDelayClick at my fork

I had problem on activity button click added but after on back press it is showing animation.

@anantshah93 Did you try ripple:rv_rippleDelayClick="true"  from my fork?

@cosic yes, I tried ripple:rv_rippleDelayClick="true" but its showing error. i just add lib to gradle. I don't know to to use this by using your fork. can u explain me?
Thank you for your prompt reply.

@anantshah93 Yesterday I upgraded dependencies and fixed the error. Check it now.

@cosic  I tried 34 min ago at the time of comment and after confirm replied to your comment with error.
And again i tried just 2 min before but showing same error.

@anantshah93 I guess you are doing something wrong. It works. I cheched it now. Try to download code from the master branch.


Add selection between last year and range of years

Some organizations prefer to list the last year an author touched a file only

Closes #29


Deployments table looks very bad with warping the long line inside columns

Search first
Search for similar issues first, if not complete the following template
Description
Column names and columns contents looks not aligned.
Steps:

Go to any deployment
check the list
if the line is too long in the column its warped very bad in the small or large screen.

Environment:

Network: Devnet
Version: 76f44e6

Screenshots or screen records.

duplicate of #2172