[3.6] Exclude system collections from supervision clean up.

Scope & Purpose
Fix a race that could prevent startup. Supervision now ignores system collections with isBuilding. Before that it deleted collections that have been created during bootstrap from a coordinator that was not listed in health.
Testing & Verification
This was found by automated tests.

http://jenkins01.arangodb.biz:8080/job/arangodb-matrix-pr/7760/

http://jenkins01.arangodb.biz:8080/job/arangodb-matrix-pr/7761/

http://jenkins01.arangodb.biz:8080/job/arangodb-matrix-pr/7762/

http://jenkins01.arangodb.biz:8080/job/arangodb-matrix-pr/7770/

Tests blue.


jsonrpc: Rename Offer endpoint to Gossip and add new Offer call

What was wrong?
We need to change Trin's offer endpoints to match recent spec changes.
Closes #499
How was it fixed?
Rename the Offer endpoint to Gossip and add a new Offer call.

portal_*Offer accepts now a single content key as a parameter, instead of a list of content keys.
Do not return connection_id in the offer json-rpc result.

To-Do

[x] Add entry to the release notes (may forgo for trivial changes)
[ ] Clean up commit history

It would be useful to have an endpoint that consolidates these steps. Imo, something like the following would be ideal.

portal_historyOfferAllInterested(enr) (this name could use improvement)
When you send this request. Your local node looks up all content keys that the enr might be interested in (based on advertised radius) - and sends an Offer.
This request returns a list of all Accepted content keys and which were successfully transmitted

Another point I've been discussing with @mrferris is that for our Offer jsonrpc requests, it would be quite useful to know (via the result) which offer/accept streams concluded with a successful transfer and which failed

I think we can have as many debug/admin endpoints as we want. This doesn't mean we should include them in the specs. IMO, it makes sense to add anything that we find useful and help debug.


fix gcs config

fix #828
Signed-off-by: soulseen<EMAIL_ADDRESS>

test step

add a secret with google service token with storage admin role

apiVersion: v1
kind: Secret
metadata:
  name: gcs-secretkey
  namespace: cluster-sample-ns
data:
  GCS_KEY_DATA: <base64 encoded of the token file content>

change storage spec of HarborCluster

spec:
  storage:
    kind: Gcs
    spec:
      redirect:
        enable: true
      gcs:
        keyDataRef: gcs-secretkey
        bucket: thebucketname
        pathPrefix: harbor-operator/test

@bitsf fixed, pls review again. thanks


Add initial CI configs

Need to add CI configs for exclude prefixes k8s repository. For this, you can just take a look at any of the initial commits. For example https://github.com/networkservicemesh/cmd-registry-proxy-dns/commit/41901225128ee53767aa3a136c53f24948f2ed55

@edwarnicke What do you think about GitHub template repositories? https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-template-repository


Forwarded_value not working correctly

Description
I'm using the module to setup a CloudFront distribution, this works great. I want to change CloudFront to pass all headers to the origin, I created the nessecary config for this in Terraform, but Terraform always reverts the changes to "None" on the headers part.
Versions

Terraform: 1.0.3

Provider(s): AWS : 3.5.0

Module:

Reproduction

Steps to reproduce the behavior:
Add this code to the CloudFront distribution :
  default_cache_behavior = {
    target_origin_id       = "sales"
    viewer_protocol_policy = "allow-all"

    allowed_methods = ["GET", "HEAD", "OPTIONS"]
    cached_methods  = ["GET", "HEAD"]
    compress        = true
    query_string    = true

    forwarded_values = {
        query_string = false
        headers      = ["*"]
        cookies = {
          forward = "none"
        }
      }
  }

Run terraform apply :
module.cdn.aws_cloudfront_distribution.this[0] will be updated in-place
  ~ resource "aws_cloudfront_distribution" "this" {
        id                             = "E1VH9JE6Z65KNX"
        tags                           = {}
        # (19 unchanged attributes hidden)

      ~ default_cache_behavior {
            # (11 unchanged attributes hidden)

          ~ forwarded_values {
              ~ headers                 = [
                  - "*",
                ]
                # (2 unchanged attributes hidden)

                # (1 unchanged block hidden)
            }
        }

        # (6 unchanged blocks hidden)
    }

Code Snippet to Reproduce
See above
Expected behavior
To keep the headers option to "*"
Actual behavior
It always changes it back to "None"

Hi @dennisbrouwer91 ,
Based on the module code, you shouldn't be using it like this.
Instead use :
default_cache_behavior = {
    viewer_protocol_policy = "redirect-to-https"
    allowed_methods        = ["DELETE", "PATCH", "POST", "PUT", "GET", "HEAD", "OPTIONS"]
    cached_methods         = ["GET", "HEAD"]
    cookies_forward        = "all"
    compress               = true
    query_string           = true
    use_forwarded_values = true <---------
    headers      = ["*"]  <------------

}

by the way if you have time to edit the documentation about that it would be great 👍


offroad alerts: change support email reference to support page

It's also referenced in https://github.com/commaai/openpilot/blob/support-email/selfdrive/assets/offroad/tc.html


trackEvent not working with window.location.assign

Hello,
I want to track a custom event when users click on an href javascript link but I realized that is not working with :
window.location.assign
window.location.replace
window.location.href
The only way to track my event is with window.open which open a new tab but I don't want that.
Here my code :
-> not working
function MyFunction() {
umami.trackEvent('href click', 'signup');
window.location.assign("myUrl");
}

Strange fact, if I remove the window.location.assign, event is recorded.
-> working
function MyFunction() {
umami.trackEvent('href click', 'signup'');
window.open("myUrl");
}

I also tested with a .when.then and it's not working either (page is correctly loaded so umami.trackEvent is recognized)
$.when(umami.trackEvent('href click', 'signup')).then("myUrl");
Did I miss something or it's a bug ?
EDIT : same for umami.trackView

It is because you are redirecting the page and umami didn't finish recording the data before the page unloaded. I would suggest you put a delay in there before the navigation.


Cannot run "python manage.py process_tasks"

I try to do a background task when the button is pressed in template. I've created a task and I've called it in a view. But the bg task does not work when the button is pressed however the task has been added to the background_task table in db. Also when I try to run "python manage.py process_tasks" command, i get an error such as below.
Rescheduling data.task.model_create
Traceback (most recent call last):
File "C:\Users..\tasks.py", line 43,
in bg_runner
func(*args, **kwargs)
File "C:\Users..\tasks.py", line 24, in model_create
model_name = customer_name + str(model_names[i+1])
KeyError: 1
Marking task data.task.model_create as failed

Got the same problem. Checking the /admin route shows that the task has been added but process_tasks doesn't execute them. It does however start, in contrary to the above.

Nobody on our side uses Windows. Sorry.


Tail Files from Either Start or End v2

This builds on top of #45 and adds the following:

formats the code
adds a test
solves the review comments from the previous PR.

Let me know if there's anything else you want me to change!

Thanks for picking this up - I really should have cleaned up my PR myself 😅

Cool! I'll take a look this week.

Oops, looks like I let this slip by a few weeks, and OP ghosted their account. I went ahead and rebased this in #58, so this PR is now superseded by that one.


VueUse functions search extension added

Description

I have added a new raycast extension which makes it easy for the user to search vueuse functions and navigate to vueuse website for the documentation on the selected function.
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast

@pernielsentikaer Can you please review this PR?

Hi @noopurphalak 👋
Sorry for the longer response time 💯 It's looking good 🔥
I left some feedback and suggestions for you to address:

Did you consider adding multiple versions, so it's possible to search older versions? (Could be new commands)
You could show all items in the list when entering the extension, instead of just “No Results”

Request a new review when you are ready, feel free to contact me here or at Slack if you have any questions.

Hi @pernielsentikaer, thanks for reviewing my PR. Do you have any suggestions on how I can implement search for various versions? Currently, the way this extension is implemented, I am relying on the JSON data I scrapped from the website. For multiple versions, I will need to maintain multiple JSON files as there is no documentation endpoint that they provide.
Will also initially load all the functions for smooth user experience as you suggested.

hi @noopurphalak - I've updated the PR to address a couple of @pernielsentikaer 's suggestions. Additionally I've removed the restriction that the user must type something before any functions are shown.
Regarding how to get multiple versions: it depends on you, really:

you could crawl the website at runtime and build the list on the fly. The advantage would be that the list would always be up to date. Disadvantages: slower, lots of unnecessary requests (not sure how often the website is expected to change), prone to breaking if the website ever changes its structure
you could go the same route as the .new extension: crawl the website & create the corresponding .json files at compile time and bundle them with the app. That way the extension should be fast, it shouldn't break even if the website changes its structure. You run the risk that maybe a new hook is not part of the extension, but depending on how often the website is expected to change, that might not actually be a problem in practice.

As implementing version-select is a bigger task, I think it's something that can be done in a subsequent PR. What do you think?

Hi @noopurphalak and @sxn 👋
Let's get the first version out, and then we can look into versioning later 🚀


Update service blueprint for sender onboarding

Problem statement
Before we plan any potential improvements to sender onboarding to create new materials for UP, we need to make sure we have an accurate picture of current reality. The change comms work covered some ground, but we continue to learn and need to document updates in the service blueprint.
What you need to know

Mural working space

Acceptance criteria

[ ] Updates drafted and reviewed

To do

[ ] ...

Status update: Mural updated with notes on updates made, changes we may need to make soon, and potential action steps to plan
Areas updated

NIST validation process clarified
Healthcare org outreach as part of STLT onboarding added
Will update main blueprint when the forecasted changes are finalized, consider ticket for end of quarter to publish full update

Upcoming changes

Interest and intake process, including form use, will need to be revisited
New settings/message testing work may need additional detail with planned updates to that tool
Enabling self service for code to condition would need to be added
Post-migration step of adding new conditions should be added as a part of maintenance

IDed improvement/process updates for senders

Refine interest and intake
Clear errors during testing phases (may be part of planned observability/message monitoring work)


Common paths for components

Right now the combined format is shorthand-selected when specifying a single string as the path for a component:
fw.components.register('someComponent', '/path/to/combined/module/');

More commonly you would want to use this syntax to specify the common directory both the viewModel and template assets have in common:
fw.components.register('someComponent', '/path/to/both/files/');

Resolved by: 74cd3bef2fe8aaaf83b6be6a18b9bbd708e86384


eos-cryptography-proposal-1of2-3.md

Milestone Delivery Checklist

[x] The milestone-delivery-template.md has been copied and updated.
[x] The invoice form has been filled out for this milestone.
[x] This pull request is being made by the same account as the accepted application.
[x] In case of acceptance, the payment will be transferred to the EOS account name provided in the application.
[x] The delivery is according to the Guidelines for Milestone Deliverables.

Link to the application pull request: https://github.com/eosnetworkfoundation/grant-framework/pull/8

The EC PR #5 is now merged into the master branch.
For those interested in the code, here's a little description to make it easier to navigate through the code.
The EC code is comprised of 3 parts:

The bottom part is the implementation of large number arithmetic defined in the bigint class. The class accepts buffer parameter which stores the state of the integer. All EC object should use fixed_word_buffer which is buffer abstracted around std::array<word_t,N>. To simplify the matter, there is alias fixed_bigint which will construct bigint  with fixed_word_buffer.
The middle part defines modular arithmetic and can be found in the fp.hpp header file. The fp_element class represents an element of the finite field GF(p) and defines basic modular arithmetic operations such as addition, subtraction, multiplication, and division.
The top part defines the EC point primitives and curve over GF(p) field. The code can be found in the ec.hpp header file.
This file defines class ec_curve_fp, which represents elliptic curve subgroup over GF(p) field, and two point primitives:

ec_point_fp defines EC point object and point arithmetic operations (addition, subtraction & multiplication) in affine coordinate system on the elliptic curve over GF(p) field with short Weierstrass equation: y^2 = x^3 + ax + b. The default constructor of ec_point_fp constructs a point at infinity. To construct a valid point, the point has to be constructed from the fp curve either by calling the method ec_curve_fp::make_point or ec_curve_fp::generate_point.
ec_point_fp_proj defines EC point object and point arithmetic operations (addition, subtraction & multiplication) in homogeneous coordinate system on the elliptic curve over GF(p) field with short Weierstrass equation: y^2 * z = x^3 + ax * z^2 + b * z^3. The advantage of using ec_point_fp_proj  over ec_point_fp is faster arithmetic operation speed since modular inverse is not used in any of the operations. The default constructor constructs a point at infinity. To construct a valid point, the point has to be constructed either from an affine point by calling ec_point_fp_proj( affine_point ) or generated from the curve by calling the curve method ec_curve_fp::generate_point<ec_point_fp_proj>.

In addition to the math & EC primitives, this milestone also includes the definition of two elliptic curves: secp256k1 & secp256r1, which can be found in ec_curve.hpp. As mentioned in the delivery report, this milestone also includes a bonus implementation of the ECDSA signature verification algorithm, with functions located in the ecdsa.hpp header file. For usage examples, please refer to the README.

For the next milestone, we plan to further optimize the current code for speed with the possibility of dropping the requirement for the OC flag. To achieve this, we plan to introduce special node host functions (intrinsics) for modular arithmetic operations, which would replace the software functions in fp.hpp. In addition to intrinsics, we plan to optimize EC arithmetic further by using another coordinate system, such as the Jacobian coordinate system or the mixed Jacobian/Chudnovsky system. Preliminary tests suggest a ~2-fold increase in speed using such a system.

All evaluators have approved cc @tedcahalleos

This Grant Milestone has been approved and is being processed for payment.
Congrats,
Ted Cahall


ValueError in example code for Variational Autoencoder

Keras version : 1.1.1 (latest)
Tensorflow version: 0.10.0
CUDA version: 7.5
CUDNN version: 5.0.5
Python version : 2.7
https://github.com/fchollet/keras/blob/master/examples/variational_autoencoder.py#L47
On changing line 47:
return xent_loss + kl_loss
to:
return kl_loss
I see the following error
CUDA_VISIBLE_DEVICES=3 python variational_autoencoder.py
Using TensorFlow backend.
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally
Traceback (most recent call last):
File "variational_autoencoder.py", line 65, in
validation_data=(x_test, x_test))
File "/users/sourabh.d/.local/lib/python2.7/site-packages/keras/engine/training.py", line 1083, in fit
self._make_train_function()
File "/users/sourabh.d/.local/lib/python2.7/site-packages/keras/engine/training.py", line 696, in _make_train_function
self.total_loss)
File "/users/sourabh.d/.local/lib/python2.7/site-packages/keras/optimizers.py", line 213, in get_updates
new_a = self.rho * a + (1. - self.rho) * K.square(g)
File "/users/sourabh.d/.local/lib/python2.7/site-packages/keras/backend/tensorflow_backend.py", line 576, in square
return tf.square(x)
File "/users/sourabh.d/.local/lib/python2.7/site-packages/tensorflow/python/ops/math_ops.py", line 345, in square
return gen_math_ops.square(x, name=name)
File "/users/sourabh.d/.local/lib/python2.7/site-packages/tensorflow/python/ops/gen_math_ops.py", line 2228, in square
result = _op_def_lib.apply_op("Square", x=x, name=name)
File "/users/sourabh.d/.local/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 458, in apply_op
as_ref=input_arg.is_ref).dtype.name
File "/users/sourabh.d/.local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 628, in convert_to_tensor
ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
File "/users/sourabh.d/.local/lib/python2.7/site-packages/tensorflow/python/framework/constant_op.py", line 180, in _constant_tensor_conversion_function
return constant(v, dtype=dtype, name=name)
File "/users/sourabh.d/.local/lib/python2.7/site-packages/tensorflow/python/framework/constant_op.py", line 163, in constant
tensor_util.make_tensor_proto(value, dtype=dtype, shape=shape))
File "/users/sourabh.d/.local/lib/python2.7/site-packages/tensorflow/python/framework/tensor_util.py", line 346, in make_tensor_proto
raise ValueError("None values not supported.")
ValueError: None values not supported.
Please make sure that the boxes below are checked before you submit your issue. Thank you!

[x] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/fchollet/keras.git --upgrade --no-deps

[ ] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

[x] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

Similar problem, I run the example code in variational_autoencoder.py without any modification and got the following error
/home/sumeth/miniconda3/envs/tf/lib/python3.5/site-packages/keras/engine/topology.py:1519: UserWarning: Model inputs must come from a Keras Input layer, they cannot be the output of a previous non-Input layer. Here, a tensor specified as input to "model_1" was not an Input tensor, it was generated by layer custom_variational_layer_1.
Note that input tensors are instantiated via tensor = Input(shape).
The tensor that caused the issue was: input_1:0
str(x.name))
variational_autoencoder.py:66: UserWarning: Output "custom_variational_layer_1" missing from loss dictionary. We assume this was done on purpose, and we will not be expecting any data to be passed to "custom_variational_layer_1" during training.
vae.compile(optimizer='rmsprop', loss=None)
Traceback (most recent call last):
File "variational_autoencoder.py", line 81, in
validation_data=(x_test, x_test))
File "/home/sumeth/miniconda3/envs/tf/lib/python3.5/site-packages/keras/engine/training.py", line 1426, in fit
batch_size=batch_size)
File "/home/sumeth/miniconda3/envs/tf/lib/python3.5/site-packages/keras/engine/training.py", line 1300, in _standardize_user_data
exception_prefix='model target')
File "/home/sumeth/miniconda3/envs/tf/lib/python3.5/site-packages/keras/engine/training.py", line 100, in _standardize_input_data
'Found: array with shape ' + str(data.shape))
ValueError: The model expects 0 input arrays, but only received one array. Found: array with shape (10000, 784)
Environment: keras 2.0.3, tf 1.0.1, Anaconda3, python 3.5

Similar problem.

same here. Any improvement?

Similar problems.


Add missing memebers to OWNERS list

Added missing member to the owners list of the reop based on the list here https://github.com/orgs/rh-cssre/teams/cs-sre

/retest

@chamalabey I suppose we need to remove ahrabovs from the list?

@chamalabey can you squash the commits please? 🙂

@Ankit152 commits squashed.

/retest

/verify-owners


Running mean and std/variance

std: https://stackoverflow.com/questions/1174984/how-to-efficiently-calculate-a-running-standard-deviation
mean should be easy: https://stackoverflow.com/questions/14313510/how-to-calculate-rolling-moving-average-using-python-numpy-scipy

Have you looked at the welford package: https://pypi.org/project/welford/ ?
From the description:

Python (Numpy) implementation of Welford’s algorithm, which is online or parallel algorithm for calculating variances.
The algorithm is described in the followings,
Wikipedia:Welford Online Algorithm
Wikipedia:Welford Parallel Algorithm
Welford’s method is more numerically stable than the standard method. The theoritical background of Welford’s method is mentioned in detail on the following blog articles. Please refer them if you are interested in.
http://www.johndcook.com/blog/standard_deviation
https://jonisalonen.com/2013/deriving-welfords-method-for-computing-variance/
This library is inspired by the jvf’s implementation, which is implemented without using numpy library.

hmmm, I will check it out.
I was thinking to just copy paste the numpy version and write torch code instead though so idk if this will allow me.
Perhaps I can just compute the std values and means in torch and then give that to that code to compute the running stuff.

On Nov 26, 2021, at 7:50 PM, Alex Reynolds @.***> wrote:
Have you looked at the welford package: https://pypi.org/project/welford/ https://pypi.org/project/welford/ ?
From the description:
Python (Numpy) implementation of Welford’s algorithm, which is online or parallel algorithm for calculating variances.
The algorithm is described in the followings,
Wikipedia:Welford Online Algorithm https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm
Wikipedia:Welford Parallel Algorithm https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Parallel_algorithm
Welford’s method is more numerically stable than the standard method. The theoritical background of Welford’s method is mentioned in detail on the following blog articles. Please refer them if you are interested in.
http://www.johndcook.com/blog/standard_deviation http://www.johndcook.com/blog/standard_deviation
https://jonisalonen.com/2013/deriving-welfords-method-for-computing-variance/ https://jonisalonen.com/2013/deriving-welfords-method-for-computing-variance/
This library is inspired by the jvf’s implementation, which is implemented without using numpy library.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/brando90/ultimate-anatome/issues/10#issuecomment-980484698, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAOE6LVVZKGW76NQFWPUYSLUOA2QHANCNFSM5I3TNQ5Q.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


updated user window

the profile window needs updates, with many features with working buttons.
BEFORE

AFTER

#1195 needed user window update

hey, can you merge this PR pls


%r causes W: Ambiguous regexp literal rule to be ignored

Example failing test:
  describe command('sudo apt-get update') do
    its(:exit_status) { should eq 0 }
    its(:stdout) { should match(/Ign https:\/\/get.docker.com docker\/main/) }
  end
C: Use %r for regular expressions matching more than 1 '/' character.

Example passing tests:
  describe command('sudo apt-get update') do
    its(:exit_status) { should eq 0 }
    its(:stdout) { should match %r{Ign https://get.docker.com docker/main/} }
    its(:stdout) { should match(%r{/Ign https://get.docker.com docker/main/}) }
  end

Expectation: below example should fail:
    its(:stdout) { should match %r{Ign https://get.docker.com docker/main/} }

Expected error:
 W: Ambiguous regexp literal.
Parenthesize the method arguments if it's surely a regexp literal, or add a
whitespace to the right of the / if it should be a division.

Well, this is no longer ambiguous - / can be treated as division, but %r always marks the start of a regexp literal. Or am I missing something in your report?

I figured     its(:stdout) { should match %r{...} }  should fail because %r is not wrapped in parentheses the way other expressions are expected to be.

This is a non-issue because %r{...} is not an ambiguous regexp literal under any circumstances. It should be closed.

I defer to experts to close as they see fit


Reinstate test_client_json.py

I removed test_client_json.py in #1440 since it relied on a circular dependency between client and server.  Find a way to put this test back into the server test suite (will require modifying the client too).

Fixed in #1465


Exports mockInterfaces

https://github.com/apollostack/apollo-client/issues/905
I update the import path of tests.
I don't know how to add this to CHANGELOG since changes there are all in some versions...

[ ] If this was a change that affects the external API, update the docs and post a link to the PR in the discussion

Super helpful to UI integrations!

What does 「This branch has conflicts that must be resolved」? I did something wrong?

@linonetwo it means you have to run git fetch and then git merge origin/master (or rebase, if you know how that works) and then resolve the conflicts in src/index.ts. You are getting this error because there have been some changes to the master branch since you started your PR.
I also talked to @stubailo recently, and we have some concerns around importing things from subdirectories like test/mockNetworkInterface. Our preferred approach would be to break this kind of testing functionality out into a separate package, and import it from there (see #527). I know that's a lot more work, but maybe Kamil - our TypeScript guru - could help out setting up the typescript project for that?
@kamilkisiela would you be able to help out with this? ^

@helfer I've made a starter kit so you can reuse it in any of your projects
https://github.com/kamilkisiela/typescript-project

@helfer https://github.com/apollostack/apollo-test-utils

@kamilkisiela fantastic!
@linonetwo could you move the mockNetworkInterface to the package that Kamil just created and change this PR here (or open a new one) to make Apollo Client use that package? That would be really great! :pray:

@linonetwo message me if you need any help

I'm working on this. There will be a new PR so I'm going to close this.
I'm moving some tests from 'apollo-client' and 'react-apollo' to 'apollo-test-utils/tests', try to cover usages.
And I found that utils likes 'observableToPromiseAndSubscription' is related to some use cases of mockQueryManager.
So I decided to move 'apollo-client/test/utils' together with it.

@kamilkisiela

How to solve it if it is saying:

4 failing

HTTPBatchedNetworkInterface should correctly return the result for a single request:
ReferenceError: fetch is not defined
at HTTPBatchedNetworkInterface.batchedFetchFromRemoteEndpoint (C:\Users\lindo\Desktop\repo\apollo-test-utils\node_modules\apollo-client\transport\batchedNetworkInterface.js:79:16)
at C:\Users\lindo\Desktop\repo\apollo-test-utils\node_modules\apollo-client\transport\batchedNetworkInterface.js:41:30

... same 3 failing
While there is truely a import 'whatwg-fetch'; in apollo-client/transport .

There used to be a weird usage in tests/batchedNetworkInterface :

    fetch = fetchFunc || createMockFetch({
      url,
      opts: merge({
        body: JSON.stringify(printedRequests),
        headers:  {
          Accept: '*/*',
          'Content-Type': 'application/json',
        },
        method: 'POST',
      }, opts),
      result: createMockedIResponse(resultList),
    });

Where fetch = will cause:
 4) HTTPBatchedNetworkInterface opts should be able to modify request headers and method (#920):
     ReferenceError: fetch is not defined
      at assertRoundtrip (C:\Users\lindo\Desktop\repo\apollo-test-utils\dist\tests\batchedNetworkInterface.js:23:15)

so I simply change it to :
fetchFunc || createMockFetch({ ... }) // no  fetch =  now!

Is that OK? I can't understand why use fetch =there.

I use flowtype in my daily work, so I'm used to import xxx from 'xxxxx'; but not import xxx = require('xxxxx'); , From the code in this repo, I think using both of them is OK now. Which do you prefere? I will choose to use the one that close to the mainstream typescript usage.

@linonetwo @kamilkisiela how is this progressing? Any chance I will be able to include this change in 0.6?

Since some tests still fail, I can only make a dangerous PR for this.
Failed tests are here:
  224 passing (8s)
  5 failing

  1) client should throw an error if response to batch request is not an array:
     Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
      at Timeout.<anonymous> (C:\Users\lindo\Desktop\repo\apollo-test-utils\node_modules\mocha\lib\runnable.js:232:19)
      at tryOnTimeout (timers.js:232:11)
      at Timer.listOnTimeout (timers.js:202:5)

  2) HTTPBatchedNetworkInterface should correctly return the result for a single request:
     ReferenceError: fetch is not defined
      at HTTPBatchedNetworkInterface.batchedFetchFromRemoteEndpoint (C:\Users\lindo\Desktop\repo\apollo-test-utils\node_modules\apollo-client\transport\batchedNetworkInterface.js:79:16)
      at C:\Users\lindo\Desktop\repo\apollo-test-utils\node_modules\apollo-client\transport\batchedNetworkInterface.js:41:30

  3) HTTPBatchedNetworkInterface should correctly return the results for multiple requests:
     ReferenceError: fetch is not defined
      at HTTPBatchedNetworkInterface.batchedFetchFromRemoteEndpoint (C:\Users\lindo\Desktop\repo\apollo-test-utils\node_modules\apollo-client\transport\batchedNetworkInterface.js:79:16)
      at C:\Users\lindo\Desktop\repo\apollo-test-utils\node_modules\apollo-client\transport\batchedNetworkInterface.js:41:30

  4) HTTPBatchedNetworkInterface middleware should be able to modify requests/options:
     ReferenceError: fetch is not defined
      at HTTPBatchedNetworkInterface.batchedFetchFromRemoteEndpoint (C:\Users\lindo\Desktop\repo\apollo-test-utils\node_modules\apollo-client\transport\batchedNetworkInterface.js:79:16)
      at C:\Users\lindo\Desktop\repo\apollo-test-utils\node_modules\apollo-client\transport\batchedNetworkInterface.js:41:30

  5) HTTPBatchedNetworkInterface opts should be able to modify request headers and method (#920):
     ReferenceError: fetch is not defined
      at HTTPBatchedNetworkInterface.batchedFetchFromRemoteEndpoint (C:\Users\lindo\Desktop\repo\apollo-test-utils\node_modules\apollo-client\transport\batchedNetworkInterface.js:79:16)
      at C:\Users\lindo\Desktop\repo\apollo-test-utils\node_modules\apollo-client\transport\batchedNetworkInterface.js:41:30

@kamilkisiela can you help @linonetwo ?

@kamilkisiela Please review it and try run its test https://github.com/apollostack/apollo-test-utils/pull/1

@linonetwo Have you fixed the problems? Do you need my help?
@helfer I was on a vacation for couple of days


Indefinite article when cleaning herbs is sometimes wrong

The indefinite article ('a' or 'an') used when identifying herbs is sometimes incorrect. We just need to get the correct one (LanguageUtil has a helper method specifically for this) and interpolate that in.

Fixed in b76445b.


Failing in showing the data in Product Dashboard

I Followed all the steps as explained in #884 by creating Jenkins job with Hygieia Publisher per each stage which allowed me to configure Deploy widget and able to configure the Delivery pipeline as well but it's not showing the data in product dashboard.
All my collectors are working fine and the data populated in all the team dashboards. In product dashboard when i try to configure i'm able to see only commit and build ! Not sure y it is not picking the data from team dashboards.
Can anyone of you guys help me in populating team dashboard data in product dashboard.

@praveenkanna  - Update to latest code base and configure pipeline to view new product dashboard.

@nireeshT yup i have used the latest code still not populating anything !!

@praveenkanna - please share screenshot

This is how latest product dashboard looks. Let me know if issue is resolved.

Do we definitely need a deploy tool ?? i'm deploying using script using
jenkins. But it's not working in showing the data in product dashboard..
On Mon, Mar 20, 2017 at 7:03 AM, nireeshT<EMAIL_ADDRESS>wrote:

[image: screen shot 2017-03-20 at 10 01 54 am]
https://cloud.githubusercontent.com/assets/22962180/24103024/55752944-0d54-11e7-9eda-1a6681e7dc65.png
This is how latest product dashboard looks. Let me know if issue is
resolved.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/capitalone/Hygieia/issues/1248#issuecomment-287768040,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATHu1uycvNok1zDb68MJkhdIZ95Wf2B-ks5rnocngaJpZM4Mfmye
.

--
Regards,
Praveen kumar Kanna

@praveenkanna  - You have to run deploy collectors to insert/update your deployment info, configure pipeline widget and data will be pulled on product dashboard. You can configure Jenkins Hygieia publisher plugin on your Jenkins and it will automatically trigger push to Mongo on start of build and deployment.

MGreetings! I am experiencing the same issue. I do not see any data being populated into the Product Dashboard. I do see my artifacts showing up in the Team Dashboard Pipeline Tab as well as the Deploy Widget on the Team Dashboard Widget Tab -- but not the Product Dashboard itself:

I am using the #1020 merge request (Configurable Pipeline Stage Names) and boy was I ever hoping that this ongoing issue I have been having with populating the Product Dashboard would be resolved as well. I will try to explain my steps as carefully as I can, but the waters are fairly muddy here:

run github-scm-collector, jenkins-build-collector and artifactory-artifact-collector jars
Mongo is indeed running well (as well as UI and API components)
set up Jenkins job to build my artifacts
set up 3 more Jenkins jobs to deploy to my three custom stages: FOO, BAR and BAZ
configure Jenkins to deploy these artifacts from #4 to Artifactory

It is very hard to explain, but data never seems to show up on the Product Dashboard.
I guess my main issue is that I do not understand what data to validate in Mongo, that might help. But assuming that the data is getting their correctly and is indeed valid, are their other pieces to this puzzle that need to be made visible?
Any help is greatly appreciated, getting this final data to show up in the Product Dashboard will make the @managers very very happy. :)

@ciscoemp  - can you send a private msg to me on gitter.im

@nireeshT i m doing the same steps as @ciscoemp posted. Can u please update
steps we are following are correct or not
On Tue, Mar 21, 2017 at 11:34 AM, nireeshT<EMAIL_ADDRESS>wrote:

@ciscoemp https://github.com/ciscoemp - can you send a private msg to
me on gitter.im
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/capitalone/Hygieia/issues/1248#issuecomment-288176804,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATHu1kqHbDZ41IBh0j290cSOuTKKEBP1ks5roBhOgaJpZM4Mfmye
.

--
Regards,
Praveen kumar Kanna

@praveenkanna  @ciscoemp  -  Worked with @ciscoemp  and resolved issue for COMMIT and buid. Make sure Jenkins deploy job is configured with correct values in Hygieia publisher settings. Once you do commits and run jnekins deploy jobs on different environments, they should reflect in product dashboard. Reopen if still an issue.

Sorry but we are still not able to resolve this issue for the other stages. Would you mind reopening?

Created a new project and pipeline, still no data for custom stages:

Here is a snapshop of the pipeline in Mongo. Notice that our custom stages do not have any commit records? Is this the culprit? We are running under the assumption that extra stages such as QA, Integration, Performance and Production report builds, not commits. Correct or incorrect? (Thanks in advance.)

Finally, here is the Jenkins configuration for the job that deploys STAGE1 artifacts:

@ciscoemp  @praveenkanna  - Change to below
Artifact Directory -  /
Artifact file name pattern format - -- -.jar
Artifact group - groupId from pom.xml
Artifact version - version from pom.xml
Same values in Deployment status
Application name should be same for all jobs in different stages.
Save
Do commits in repo, run deploy jobs.

Just one problem ... there is no pom.xml file ... is this possible to do without one?

Ok I am using a pom.xml file now ... can you be more specific about "Artifact file name pattern format - -- -.jar" ... what do you mean by those dashes? Is that part of the format? Literally? Is it ok to just use *.jar?

@ciscoemp  - send these details in pom file
<groupId

<groupId>foo.bar.baz</groupId> <artifactId>verity-sandbox-build-artifacts</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version>

OK! Go ahead and close this issue. This issue is fundamentally rooted in OUR deployment procedure. Our plan is to write a new collector that addresses our needs (we want to track deployment of artifacts across the stages, not commits across the stages). We hope to release this collector back to the community if it works for our needs, in case it might more accurately reflect someone else's deployment strategy. Thank you very much for your help and time. :)

@praveenkanna  - update to latest code base and check. Reopen if still issue.

@nireeshT I have updated to the latest code base. but still I have the same issue.
I have my stages in the pipeline table with commit field as empty. I am confused why does the EnvironmentComponentEventListener is not pushing the data to pipeline.
To elaborate in brief, I am pushing the data from hygieia jenkins plugin into the environment component table and also it is multi component. Every thing is fine for the deploy widget data and pipeline view in application dashboard. But the product dashboard fails to fetch the commits.
What would be the issue? I am unable to find the reason. Please update asap.

@nireeshT

@praveenkanna - You have to run deploy collectors to insert/update your deployment info, configure pipeline widget and data will be pulled on product dashboard. You can configure Jenkins Hygieia publisher plugin on your Jenkins and it will automatically trigger push to Mongo on start of build and deployment.

@nireeshT  Can you please provide deploy collectors... we are facing the same issue .


Running MQTT Bridge on Raspberry Pi 3.

Ok so I thought I could figure this out on my own, with the help of a few of the write ups I've found, but I can't seem to make it work.
One of the write ups talking about it : [https://home-assistant.io/blog/2016/02/09/smarter-smart-things-with-mqtt-and-home-assistant/]
I am new to the RPi world, most of my projects have been Arduino so far. Anyway, I have successfully got Moqsuitto running on my Pi, and am trying to get the Bridge running, but am kind of lost. I have docker installed, and tried running the following.
Edit, the code didn't format this the same, but I did enter is as separate lines
$ docker run \     -d \     --name="mqtt-bridge" \     -v /opt/mqtt-bridge:/config \     -p 8080:8080 \     stjohnjohnson/smartthings-mqtt-bridge
The first time it went through and dowloaded a bunch of stuff but eventually gave an error
Error response from daemon: Cannot restart container mqtt-bridge: rpc error: code = 2 desc = "oci runtime error: exec format error"
I don't even know where to start troubleshooting. Am I way off on how to do this?
My end goal is to use MQTT with ESP8266's to talk to Smartthings. I think I will be able to figure that part out once I can get this working.
Thanks for the help,  I'm trying to learn!

The Docker images aren't ready for the Raspberry Pi. The "oci runtime error: exec format error" message relates to the absence of builds for the Pi's ARM processor.
Fortunately, I was able to get everything running on a Pi without Docker, using the instructions linked to from the blog post you noted.
First, install node 6 from nodesource:
sudo apt-get install nodejs```

After that, follow the node-only instructions for Mosca and the bridge. Be sure to include `pm2`, and follow its instructions to set it to run on startup: http://pm2.keymetrics.io/docs/usage/startup/. Use pm2 to start both Mosca and the bridge, which ensures the two will come up on a restart.

The bridge's `config.yml` will end up in your home directory (`~/config.yml`) in this scenario, which is where you'll need to set the IP of the broker. At this point, the MQTT broker and bridge should "just work," and you can proceed to the steps involving the SmartThings IDE.

One thing to note is that when you restart the Pi, the MQTT broker and bridge won't start before Home Assistant, so HA will seem to lose the MQTT-based things. Restart HA and everything comes back.

@ethitter There is a docker file for the Raspberry Pi: Dockerfile-rpi. You just have to build the image yourself. Here's how to build it: $ docker build -t smartthings-mqtt-bridge -f Dockerfile-rpi https://github.com/stjohnjohnson/smartthings-mqtt-bridge.git. Once built you can run it with $ docker run -d --name="mqtt-bridge" -v /opt/mqtt-bridge:/config -p 8080:8080 smartthings-mqtt-bridge.
Cheers,

Haha, perfect; I never even noticed that.


merge package from arlac77/npm-package-template

package.json

chore(package<EMAIL_ADDRESS>chore(scripts): cover@#overwrite c8 --temp-directory build/coverage ava && c8 report -r lcov --temp-directory build/coverage
chore(package): add nyc from template
chore(package): set $.ava.require='esm' as in template
chore(package): set $.ava.files='tests/-test.js,tests/-test.mjs' as in template
chore(package): set $.ava.extensions='js,mjs' as in template

Codecov Report

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

@@          Coverage Diff          @@
##           master   #558   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          29     28    -1
=====================================
- Hits           29     28    -1

Impacted Files
Coverage Δ

src/message-handler-interceptor.js
100% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Coverage decreased (-0.06%) to 97.561% when pulling 1e3633773874ea4e149641adbd9aeacf2d1ab117 on template-sync-1 into af4ccc3f2398dca68b6502bf190ac5dbbfbc1d99 on master.


Enhancement: Scripts embed template/widget

It seems it'd be useful to have a clear spot in the code to drop scripts that need to be on every page in < head > or < body >. Presume this is what the "Extra Code" box is for? If so that's not clear and it doesn't always seem to work.
Particular wordpress scripts do this well for non-coders, might be a nice extensibility feature for Telescope.

Hey, @cloudunicorn! Telescope has changed a lot recently, and there is a new React-based version, Telescope Nova (intro video).
The Legacy version is no longer supported. I'm closing this issue. I invite you to check the new version, it's awesome! If you want to solve your problem on Nova, you can easily do it with react-helmet now, check where it's used (nova:base-components)
Happy hacking! :rocket:
Ps: by the way, don't hesitate to join the Slack and ask any question, you are welcome! :+1:


Separate auth into its own service

Move auth into user-service
AuthGuard calls user-service as well
Microservices return an Observable so we use firstValueFrom to convert it into a promise
TODO in next PR:
-Containerise user-service

lgtm too


Charts should be includes

That can read in the data from _data, and the script include should be moved from scripts.html into the include so that it doesn't trigger a console error when there isn't a chart on the page.

Done! Tables too.


Checking Autopilot profile assignment status and rebooting

Thanks for this - I came across your script looking to improve my own. A couple of things on my wish-list:

Add an option to force the script to wait after the sync until an Autopilot profile has been assigned to the device so that we know the device is ready to be deployed using Autopilot after the script has run.
Add an option to reboot the device using shutdown /r /t 0 to make sure we remove the "empty" Autopilot profile that would have been created if network was available at beginning of OOBE. (Only works on 1809 and later: https://docs.microsoft.com/en-us/windows/deployment/windows-autopilot/troubleshooting#profile-download)

Using these two in combination would allow for even less manual work required to enroll and deploy a device.
I might come back to add this in a PR unless you beat me to it - would you consider accepting it in that case?

This will be great, would help automate the process


Sample about how to use ICSharpCore

Write a sample project to show developers how to use ICSharpCore.
https://github.com/SciSharp/TensorFlow.NET/blob/master/test/TensorFlowNET.Examples/HelloWorld.cs

var str = "Hello, TensorFlow.NET!";
var hello = tf.constant(str);
// Start tf session
using(var sess = tf.Session())
{
// Run the op
return sess.run(hello);
}

It works.

Did you install the ICSharpCore correctly?
Could you show the output of the command "jupyter kernelspec list"?
I tried in my local (Mac OS) just now and it works. Could you tell me your environment?

@noobwu It's a good place to start with a docker container. Try out SciSharpCube.

Try this docker image:
https://cloud.docker.com/u/scisharpstack/repository/docker/scisharpstack/scisharpcube
scisharpstack/scisharpcube:0.1

It is installed correctly

But it fails with static tf.


Add foundry rust template to references

I appreciate the contribution but I agree this fits better in https://github.com/crisgarner/awesome-foundry :smile:


Update docs to reflect port in policy file

Description

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

 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.

The change looks correct based on inspection of ingress rule.
However, at a minimum, you'll want to update the master version of the stars policy, i.e. https://github.com/projectcalico/calico/blob/master/master/getting-started/kubernetes/tutorials/stars-policy/index.md
Depending on what @caseydavenport suggests, you may also want to update other versions as well, e.g. v2.6, v3.0, v3.1, and v3.2.

Master should be fine, though I wouldn't complain if the other versions were updated as well :D

Deploy preview for calico ready!
Built with commit ed07ab50c0b707cd6ab54a27ebffa058118f0527
https://deploy-preview-2287--calico.netlify.com


Cached nil responses for missing stubs affect subsequent tests

Given the following RSpec test:
require "httpclient"
require "webmock"
require "webmock/rspec/matchers"

RSpec.describe "webmock issue" do
  before(:all) do
    WebMock.enable!
    WebMock.disable_net_connect!
    $client = HTTPClient.new(base_url: "https://my.cool.service.com")
  end

  it "caches nil responses for missing stubs" do
    expect {
      $client.get('info')
    }.to raise_error(WebMock::NetConnectNotAllowedError)
  end

  it "fails afterwards even if correct stub is present" do
    stub = WebMock.stub_request(:get, "https://my.cool.service.com/info")
    $client.get('info')
    expect(stub).to have_been_requested
  end
end

The second example fails iff performed in order. It runs fine when ran alone.
This example is the result of hours of debugging where I finally found that HTTPClientAdapter#webmock_responses caches responses.
Because we have a test where the client is hold by some kind of adapter which is kind of global (simulated by the $client in the example above), this affects follow.-up tests.
We can work around this problem by monkey-patching HTTPClientAdapter#webmock_responses to
    def webmock_responses
      Hash.new do |hash, request_signature|
        synchronize_request_response do
          hash[request_signature] = WebMock::StubRegistry.instance.response_for_request(request_signature)
        end
      end
    end

but probably, the memoization is there fore a reason, isn’t it?

@toaster thank you for reporting and for spending time identifying the problem with memoization.
This is the original commit where memoization has been introduced https://github.com/bblimke/webmock/commit/8786b654a32d06891d5c7b0d019db9816c495818
I agree that there should be nothing left in the client instance after the request.
Perhaps that's what is causing the random failures when running WebMock specs https://github.com/bblimke/webmock/issues/711
I will investigate that when I find some time or perhaps someone else will have time to do that.

@toaster this is now fixed in version 3.22.0


Wrong span when parse TypeTuple with more than two elements

when parsing the string text:
    let text = r#"
        (usize, usize, usize, usize, usize, usize)
    "#;

the result of to_token_stream():
    let tuple: TypeTuple = syn::parse_str(text).unwrap();
    let ts = tuple.to_token_stream();

and TokenStream::from_str(text)
    let ts: TokenStream = TokenStream::from_str(text).unwrap();

are not the same.
Specifically, except for the first comma, the results of.span() on the remaining commas are the same.
All results of span.start() and span.end() are LineColumn { line: 1, column: 0 }
This may cause misunderstandings to those who think that .to_token_stream() is equivalent to TokenStream::from_str(text)
playground: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=5161bd64cbd54d283bcf04b47cec8343

Thanks, I've published a fix in 1.0.59.

Thanks, I've published a fix in 1.0.59.


Can't resolve tsparticle in 'node_modules\react-tsparticles\cjs'

Which version are you using?
^1.30.4
Is the latest version affected?
You can checkout latest version here

[x] Yes
[ ] No

Which library are you using?

[ ] Vanilla JS (tsparticles)
[x] React (react-tsparticles)
[ ] Vue.js 2.x (particles.vue)
[ ] Vue.js 3.x (particles.vue3)
[ ] Angular (ng-particles)
[ ] Svelte (svelte-particles)
[ ] Preact (preact-particles)
[ ] Inferno (inferno-particles)
[ ] jQuery (jquery-particles)

tsParticles Configuration
/* add your config here */

Describe the bug
After running npm install react-tsparticles command, the following error is occurring: -
./node_modules/react-tsparticles/cjs/particles.js Module not found: Can't resolve 'tsparticles' in '<local path>\node_modules\react-tsparticles\cjs'
To Reproduce
Steps to reproduce the behavior:

Run command npm install react-tsparticles
Then run this command npm install
Delete "package.lock.json" file
Run command npm start
Error can be seen in terminal.

Expected behavior
The project should run successfully and there should be a Particle JS background on the website.
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser: Brave, Google Schrome
Version 1.26.74

Hi @upasanadeka,
You need to install also the package tsparticles since it's a peer dependency now. I'm updating all the READMEs with this additional step.
There's a similar issue #1769 and it's fixed with this extra step so you should be fine too. Let me know if it's not.

@matteobruni  Thanks a lot! It is working fine now! 💃🏻


ClassStringToClassConstantFixer should be case sensitive

To avoid false positives like
@@ -311,7 +311,7 @@
         foreach (libxml_get_errors() as $error) {
             $errors[] = sprintf(
                 '[%s %s] %s (in %s - line %d, column %d)',
-                $error->level === LIBXML_ERR_WARNING ? 'WARNING' : 'ERROR',
+                $error->level === LIBXML_ERR_WARNING ? 'WARNING' : \ERROR::class,
                 $error->code,
                 trim($error->message),
                 $error->file ?: 'n/a',

    ----------- end diff -----------

Applied checkers:

 * Symplify\CodingStandard\Fixer\Php\ClassStringToClassConstantFixer

There are more typoed classes, than non-typoed strings.
This one is special, because Error is native PHP class and also often string. Regardless the casing.
You can exclude the class via allow_classes option or send PR to exclude "error" strings by default.


[Bug]: FrameStack and VecNormalize

🐛 Bug
There is a bug when using vecnormalize and framestack.
Such bug was mentioned in here https://github.com/DLR-RM/stable-baselines3/issues/693 and seems to be present in SB3-zoo.
To Reproduce
python train.py --env LunarLanderContinuous-v3 --algo sac -params frame_stack:2 normalize:True

Relevant log output / Error message
Traceback (most recent call last):
  File "rl-baselines3-zoo/train.py", line 4, in <module>
    train()
  File "rl-baselines3-zoo/rl_zoo3/train.py", line 272, in train
    exp_manager.learn(model)
  File "rl-baselines3-zoo/rl_zoo3/exp_manager.py", line 240, in learn
    model.learn(self.n_timesteps, **kwargs)
  File "stable-baselines3/stable_baselines3/sac/sac.py", line 307, in learn
    return super().learn(
           ^^^^^^^^^^^^^^
  File "stable-baselines3/stable_baselines3/common/off_policy_algorithm.py", line 328, in learn
    rollout = self.collect_rollouts(
              ^^^^^^^^^^^^^^^^^^^^^^
  File "stable-baselines3/stable_baselines3/common/off_policy_algorithm.py", line 584, in collect_rollouts
    self._store_transition(replay_buffer, buffer_actions, new_obs, rewards, dones, infos)  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "stable-baselines3/stable_baselines3/common/off_policy_algorithm.py", line 501, in _store_transition
    replay_buffer.add(
  File "stable-baselines3/stable_baselines3/common/buffers.py", line 274, in add
    self.observations[self.pos] = np.array(obs)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^
ValueError: could not broadcast input array from shape (1,8) into shape (1,16)

Problem originates in `off_policy_algorithm.py` as we do not copy self._last_obs into self._last_original_obs

System Info
Using master version from SB3 and SB3-zoo
Checklist

[X] I have checked that there is no similar issue in the repo
[X] I have read the SB3 documentation
[X] I have read the RL Zoo documentation
[X] I have provided a minimal and working example to reproduce the bug
[X] I've used the markdown code blocks for both code and stack traces.

Duplicate of https://github.com/DLR-RM/stable-baselines3/issues/693

The solution is to use vec_env_wrapper in the configuration. For example:
LunarLanderContinuous-v3:
   vec_env_wrapper:
     - stable_baselines3.common.vec_env.VecFrameStack:
           n_stack: 2
   normalize: True
   n_timesteps: !!float 5e5
   ...

This will normalize the environment and will use frame stack.
Some questions:

If we use env_wrapper instead of vec_env_wrapper it throws the error:
AttributeError: 'Monitor' object has no attribute 'num_envs'
How can we modify n_stack from the shell:
python train.py --env LunarLanderContinuous-v3 --algo sac -params ...?

it throws the error:

yes, env wrapper is for gym env, so you need to use gym wrapper here (not the vec wrapper which is for SB3 vec env)

from the shell:

https://github.com/DLR-RM/rl-baselines3-zoo/blob/506bb7aa40e9d90e997580a369f2e9bf64abe594/tests/test_wrappers.py#L47
probably easier:
python train.py --env LunarLanderContinuous-v3 --algo sac -params vec_env_wrapper:'{\"stable_baselines3.common.vec_env.VecFrameStack\":dict(n_stack=4)}'


Support swift 4.2

Support swift 4.2 :)

After Device supporting swift 4.2, I'm going to support DeviceLayout too

#23


Add logging to link-checker rake task

We've experienced a few unexpected freshness threshold alerts in Icinga.  We want to increase our knowledge of exactly what is happening, so we're adding logs on start and finish of the rake task.

👍


Pinning Trello to taskbar

OS: Ubuntu 18.04
No option is being given to add Trello to favorites

maybe you could use sudo nautilus to find usr/share/applications/ then drop the .desktop file in the folder


Investigate DOI casing and uniqueness

One of the greatest gotchas of the DOI protocol is its case insensitivity as explained in the handbook:

DOI names are case insensitive, using ASCII case folding for comparison of text. (Case insensitivity for DOI names applies only to ASCII characters. DOI names which differ in the case of non-ASCII Unicode characters may be different identifiers.) 10.123/ABC is identical to 10.123/AbC. All DOI names are converted to upper case upon registration, which is a common practice for making any kind of service case insensitive. The same is true with resolution. If a DOI name were registered as 10.123/ABC, then 10.123/abc will resolve it and an attempt to register 10.123/AbC would be rejected with the error message that this DOI name already existed.

The above doc makes ALL CAPS seem like the canonical form, but in fact I don't think there is a standard for reproducibly casing DOIs. In other words, is Crossref using the same casing conventions as LibGen? Since I don't think there is a canonical case, when doing any analysis that requires unique identification, you need to convert all DOIs to either lower or uppercase.
This issue is a reminder to go through our resources and consistently case the DOIs and deal with any duplicate DOI issues that arise.

doi-casing.ipynb explores the presense of DOI casing and duplication in the source datasets. To summarize:
Crossref DOIs are all lowercase and have no duplicates. LibGen scimag, Sci-Hub DOIs, and Sci-Hub Logs have inconsistent casing and duplicate DOIs. However, the majority of duplicate DOIs exist prior to case-sanitization.
Therefore, it's important to:

consistently case DOIs for all sources. I'm leaning towards all lowercase as Crossref has done.
remove duplicate DOIs in the sources.

Our current analysis are affected by the casing issues but are likely resilient to the duplication issues. However, I think omitting duplicates at the initial source processing is the right move from a safety perspective.

Quoting from the DOI guidance above:

Case insensitivity for DOI names applies only to ASCII characters. DOI names which differ in the case of non-ASCII Unicode characters may be different identifiers.

However here is the behavior of str.lower in Python 3:

Return a copy of the string with all the cased characters converted to lowercase. The lowercasing algorithm used is described in section 3.13 of the Unicode Standard.

Hence, I think when we convert to all lowercase in Python we're lowercasing non-ASCII characters in violation of the DOI handbook. This is a bug, but one that I think will have a minimal impact, so I'm fine with it. If there are a large number of DOIs with unicode characters, I think it would be worth creating a python function to only lowercase ASCII characters.

The conversion to all lowercase DOIs is complete. As you can see above, it was quite the migration task.
This change increased the coverage of the following three corpuses with respect to Crossref (https://github.com/greenelab/scihub/commit/42ae266df76d9c247537b77e392c899b72601920):

Sci-Hub DOIs increased from 0.614592 to 0.689216.
Sci-Hub Logs increased from 0.090981 to 0.126136.
LibGen scimag increased from 0.621063 to 0.688720.

You can see the effect on individual journal coverage using:
git show --word-diff 60d8f669037ddb0a67707ea5c006881c450bf553 data/journal-coverage.tsv

Here's a small portion of the output, so you get an idea of the changes:

The effect was sizable enough that homogenizing DOIs is critical. Tagging @gedankenstuecke @stevemclaugh @gcabanac just to make sure you're aware of the general issue.


feat: add median to --output-json

Description
In #5398 the JSON reporter got reworked for the benchmark results. In this rework, the samples array was dropped to prevent huge output files. However, without the samples it's not possible anymore to manually calculate some extra metrics after the bench run. The median is simple enough to calculate when having acces to the samples and can provide some interesting insights (e.g. significant difference between mean and median could indicate outliers).
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
[ ] Ideally, include a test that fails without this PR but passes with it.
[x] Please, don't make changes to pnpm-lock.yaml unless you introduce a new test example.

Tests

[x] Run the tests with pnpm test:ci.

Documentation

[ ] If you introduce new functionality, document it. You can run documentation with pnpm run docs command.

Changesets

[x] Changes in changelog are generated from PR name. Please, make sure that it explains your changes in an understandable manner. Please, prefix changeset messages with feat:, fix:, perf:, docs:, or chore:.

If the Vitest framework isn't the right place for new metrics, the change could also be migrated to the underlying Tinybench results.

If the Vitest framework isn't the right place for new metrics, the change could also be migrated to the underlying Tinybench results.

I guess it makes sense to have it in Vitest because you can extrapolate it in tinybench from samples, although it might also be nice for tinybench users to have a quick access to median on the object, so I am fine either way

I think indeed that calculating the median is trivial when having access to all the samples, so this mainly adds value for Vitest users.
Maybe it'd be even better to just add a flag to preserve the original samples. Then Vitest users can deal with/use the results however they see fit.
In any case, that would be something for another PR. Is there something I just do to get this merged after the approval @sheremet-va?


Quickly locate a gene through a URL

Hi IGV team, thank you for developing such an excellent tool.
Due to certain reasons, I wish to quickly locate the position of a specific gene through a URL.
For example, I would like to quickly access the gene NANOG through the URL http://<IP_ADDRESS>:8081/chr12:7,787,794-7,799,146 for certain reasons.I don't have much knowledge about web development, so I'm curious if it's possible to achieve this effect by modifying the configuration file. Looking forward to your reply, thank you!

You can set a locus in the configuration file, but you probably know that.   The following URl will work for the initial load, but it will of course cause a page reload
https://igv.org/app/?locus=chr7:55,018,016-55,212,628

"Thank you very much, your response has been very helpful to me. By the way, where can I find documentation for URL routers?"

see https://github.com/igvteam/igv.js/wiki/Query-Parameters

Got it, thank you very much.


FairnessDashboard has no value "sensitive_feature_names"

In the documentation we shall apss the column names of the sensitive features we are analysing. However this results in an error.:
TypeError: init() got an unexpected keyword argument 'sensitive_feature_names'
Removing the line "sensitive_feature_names=['Race', 'Sex']," let's the code run smoothly.

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

ID: 13438d49-2c65-6220-afa9-14bc7c13f0a1
Version Independent ID: c78a7ea3-a64e-32d0-bab5-c9ef48a90697
Content: Assess ML models' fairness in Python (preview) - Azure Machine Learning
Content Source: articles/machine-learning/how-to-machine-learning-fairness-aml.md
Service: machine-learning
Sub-service: enterprise-readiness
GitHub Login: @mesameki
Microsoft Alias: mesameki

@lafranke Thanks for the question. We are investigating the issue and will update you shortly.

#please-close


🚀 Feature: Update CLI versions:bump default pattern to include @backstage-community packages

🔖 Feature description
Community plugins have been moved to a different npm package namespace and are no longer being updated from backstage-cli version:bump command without providing a custom --pattern option.
🎤 Context
Would like to update community plugin packages without needing to customize the versions:bump command options
✌ Possible Implementation
Update the DEFAULT_PATTERN_GLOB to include the @backstage-community/* pattern.
@backstage?(-community)/*
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Hi @bforbis @benjdlambert @darylgraham, as the Community Plugins all get released on their own cadence and are not strictly tied to the Backstage release cycles anymore does it make sense to make this change?
As it's possible to do this already using: yarn backstage-cli versions:bump --pattern '@{backstage,backstage-community}/*' .


Providing better error message and location

I noticed that Error message is not visible on ValidationError instance, even though you call Error.call(this, message);
There also was one place with missing location information, so code like this fails with empty location:
function helloWorld(stdlib, foreign, heap) {
  "use asm";

  // this is what we're validating
  function giveThemTheAnswer() {
    var y = 42-0; // <-- error!
    return y|0;
  }
  return { answer: giveThemTheAnswer };
}

I discovered these errors while was making this online asm.js validator: https://github.com/anvaka/asmalidator#asmjs-online-validator
Wanted to share with you as well. Hope it will help newcomers quickly experiment with their asm.js code :).

Looks good, thanks!

Thank you Dan!
Can you also please bump the minor version in package.json an npm publish it?

I bumped the minor version, but I don't yet have npm publish capability here. I'll pursue this.

I apologize for losing track of this. With WebAssembly having succeeded asm.js, I'm no longer working on this asm.js package.


Styled-Components AutoComplete in Atom

Do you know of any package that does autocompletion for styled-components that works in atom?

These two commits look like it should work with language-css, language-babel and autocomplete-plus, but I'm not an Atom user and lack the knowledge of how these JSON definitions work:

https://github.com/gandm/language-babel/commit/6d3cbdd8f22a9f904c3de912b051c6382c67587a
https://github.com/gandm/language-babel/commit/dcbcfa63c524ef12b6a28833d9f2f60889070f70

@philpl I have those 3 packages but I don't get the autocomplete prompts.
I'll keep searching.
Thanks

@bernatfortet language-babel provides auto-complete for css inside styled-components. language-css isn't required for this but autocomplete-plus is. I presume you have the latest copy of language-babel and that the file is being processed by it?

I get the auto completition with language-babel perfectly, so it must be something locally with your setup. Hope you can figure it out! :blush:

works for me


Support Servlet API and Spring MVC applications/microservices

I'd like to propose support for Servlet API and Spring MVC. Specifically, in order to do this there are incremental enhancements needed, each one builds upon previous:

A standard way and best practices to deploy arbitrary event processing (SCF already does this)

For example, since startup time is more important in cloud functions than regular Spring Boot, there could be a guide that mention best practices on how to reduce startup time

Tooling (e.g. spring-cloud-function-maven-plugin) to trade runtime time vs. build time. For example, classpath scanning can be moved to build time, so at runtime there's much less work to do. This may require support in other Spring components.
A nice side effect is these optimizations can be used outside of SCF, in regular Spring projects

Guide on how to optimize the "warm" container state, i.e. reusing Hibernate connections/connection pool
Guide for restrictions and gotchas that need to be followed (i.e. 50 MB limit, threading, shared stuff, filesystem, etc.)
Guide to optimize/preload classpath scanning

SCF to serve/wrap Servlet applications. For example for AWS, there is aws-serverless-java-container-spring made by @SAPessi of AWSLabs

https://github.com/spring-cloud/spring-cloud-function/tree/master/spring-cloud-function-web is for exposing functions as REST services, what we'd like to do is expose Servlet/REST "services" as functions conforming to API Gateway's proxy request & response
Maybe it can be named spring-cloud-function-servlet, as what it does is simulating a Servlet 3.1 API "container"

Extend support for serving Spring MVC controllers.

This is already possible as proof-of-concept (thanks @joeyvmason!): Developing Serverless Applications with Spring MVC and AWS Lambda and serverless-spring-boilerplate, however very far from optimized i.e. 20+ second startup time (which is normal for some Spring Boot applications but is bad for lambda functions, the default timeout is 6 seconds although it can be increased to 60 seconds).

This potentially allows Spring to run many Java web frameworks not on top of servlet container anymore, but on top of serverless. See Zappa for successful example in Python world, that can run microservice frameworks like Flask, Bottle, Pyramid, but also full-stack Django apps, mostly without any code change. Please see Zappa's presentation slides to get a feel why this is important and such a game changer.

Of course the "other" web framework will need to ensure behave well in a serverless environment, but this will be much easier if Spring Boot components already laid the foundation to enable this support smoothly.

I also did a proof-of-concept that this can work: https://github.com/ceefour/wicket8serverless
It's using Kotlin + Spring Boot + Web 1.5.6 and @martin-g's Wicket 8.0.0-M7 + Wicket Bootstrap 2.0.0-M6. Not slimmed versions of these frameworks, but the entire Spring Boot loader, Spring MVC dispatcherServlet and Wicket+Wicket Bootstrap installed as servlet Filter. It's definitely buggy and lots of gotchas, but initial work is in https://github.com/ceefour/aws-serverless-java-container/tree/spring-boot and hopefully @SAPessi will accept my pull request. :) The package is 24 MB but it's possible to reduce it more by configuring shade to minimizeJar, however my initial minimizeJar efforts resulted in CNF exceptions so I disabled minimizeJar.
Deployed result is here: https://im9ntgimlc.execute-api.us-east-1.amazonaws.com/prod/
Of course as expected, the startup time leaves so much to be desired: (there's not even Hibernate yet)

27 whole seconds just for startup. However, after it's warm, subsequent requests only take 300 ms which is still slow in serverless world, but can be optimized.

Tooling to help local development. For example @Serverless annotation, if given, will enable checks during local development to detect restricted features in serverless environment and give WARN or even ERROR log or throw exception.

Helpful extras to help Spring app developers modify Spring Boot/MVC apps to SCF's programming model. To illustrate the kind of extras possible, allow me to quote Zappa's feature list:

Automatic support for all AWS event sources, allowing you to build robust "hybrid" applications
Automatic support for hundreds of pre-compiled and pre-optimized C-extentions packages (SciPy, etc.)
Support for applications which use multiple cookies simultaneously (i.e., anything with a login)
Free, auto-renewing SSL certificates from Let's Encrypt
CI integration
Automatic support for "global" (multi-region) applications
HTTP logging in the Common Log Format
Automatic "keep-warm"
Intelligent application and variable caching
Zero-effort CORS
Automatic and intelligent project initializion (zappa init)
Multiple environment variable sources (local, S3)
Multiple "secure endpoint" authentication methods (API Key, IAM, custom authorizers)
Content-Type aliases
Highly customizable configurations
Managed IAM credientials with the option to supply custom credentials
Package optimization
VPC-awareness
Ability to deploy HTTP-less, event-driven applications
Custom error-reporting (ex, to Sentry or Raygun)
Remote command invocation (include raw Python)

In the past, Java EE (and still to some extent Spring Boot) has been regarded to some people as hard to develop, hard to deploy, hard to maintain (DevOps, scaling, etc.), and expensive to operate (requiring servers etc.) Spring Boot is making it easy to develop. And Kotlin and upcoming Java 9 also makes the entire Spring Boot experience pleasant.
If SCF can support existing Spring Boot apps with minimal change, that means app developers gain benefits such as easy deployment, automatic scalability, zero maintenance, stability, less vendor lock-in (i.e. Spring Boot app can be moved from AWS Lambda to OpenWhisk and vice versa; and can still be deployed on PaaS like Pivotal Web Services; and regular instances). This will make SCF much more attractive and increase adoption.
I sincerely hope that this enhancement proposal can be considered. You guys rock. Thank you! :)
This is originally from https://github.com/spring-projects/spring-boot/issues/10136, I hope it's okay to repost it here (with some adjustments).

I think there's a danger here that HTTP does not map to serverless functions very well (e.g. AWS Lambda). If we try to support applications with arbitrary HTTP semantics users will be disappointed because a function event simply does not have those semantics, even if it might have been originally an API Gateway trigger in Lambda, for instance. How would you map the URL path? Content negotiation? Request parameters? Add that to the fact that, as you have noticed, the full web stacks are expensive and probably needlessly so, since they are essentially redundant in a serverless environment, and I think we should conclude that it is better to expand the model we have in SCFn  than try and force fit HTTP onto serverless. SCFn event-driven, but stackless (so extremely cheap), which maps well to serverless and permits extremely small footprints and quick startup times. If there are non-HTTP features you think are missing, please feel free to open individual issues.

How would you map the URL path? Content negotiation? Request parameters?

@dsyer All of these and more are available from API Gateway proxy event. I can understand that without the proxy event it'll be difficult (or even impossible?), but when you realize that this proxy event is a standardized pattern in the serverless provider then you'll realize the potential of benefits (both to Spring itself and to Spring users).

the full web stacks are expensive and probably needlessly so

I don't think Servlet API is expensive. What I assumed by 20+ seconds startup time is optimizable things like classpath scanning, which is done regardless if it's Servlet API or not. https://github.com/awslabs/aws-serverless-java-container/tree/master/aws-serverless-java-container-spring and https://github.com/bbilger/jrestless has proven that Servlet API is not the issue when it comes to startup time. https://www.ccampo.me/java/spring/aws/2016/11/27/spring-aws-lambda.html#comment-3432412561 describes he managed to reduce startup time by swapping Spring's IoC with Dagger. I don't think Spring is "slow", it's just that Dagger provides compile-time optimization and that Spring should consider having that option also in the future (not just for serverless purpose but for any other purpose, some people really want the extra time). Spring innovates, right? You don't have to wait until the next version of CDI spec comes up.
In fact startup time for Spring Boot-like app in serverless environment is faster than Spring Boot with embedded Tomcat, since it does not have to run Tomcat, right? :)
There are other subtle things like session ID generation, which takes time on Tomcat (https://stackoverflow.com/questions/28201794/slow-startup-on-tomcat-7-0-57-because-of-securerandom) but should be faster on serverless because we can just take the request ID which is given "for free" by the serverless provider.

arbitrary HTTP semantics users will be disappointed because a function event simply does not have those semantics

I beg to disagree. A proxy function event does have those semantics. It's very well supported by AWS Lambda, well documented, and is very easily configured from the web UI: http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-set-up-simple-proxy.html
In fact AWS thinks this use case is so common that it's not only possible to do, but very easily used just by checking a checkbox that also happens to be the first form input:

I have mentioned Zappa above but I feel I need to re-mention it again. https://www.zappa.io/ does for Python WSGI what this enhancement request does for Java Servlet.
However bringing Servlet to serverless is just an initial step and while it already gives benefits, the real benefits come from unique advantages of serverless environment. Request ID I mentioned above is one. Another one is that since we're no longer using Tomcat, which means there's no worry of configuring/maintaining/patching Tomcat. Things like SSL are still a challenge in Spring Boot/Tomcat proper, but in serverless environment this is at worst handsfree and at best configurable and free (https://aws.amazon.com/certificate-manager/). No more worrying about log files because CloudWatch Logs centralized logging is enabled by default (again, nothing to configure).
A lot more benefits of wrapping WSGI/Servlet as serverless function is available at https://htmlpreview.github.io/?https://raw.githubusercontent.com/Miserlou/Talks/master/serverless-sf/big.quickstart.html (please, it's very good). Although it talks about Zappa (and Python) all of the benefits mentioned there can be realized by Spring (or even better) if Spring decides to do so. Which is what I hope.
Although obviously I'm biased to this Servlet-serverless request, I believe the reasons I outlined above are objective and can be verified independently. :)

Thanks for analysis, and for taking the time to think about all this. There are a lot of assumptions is what you say, some implicit, some not, and it's hard to respond to all of it in as much detail as it probably deserves. Example: classpath scanning is not slow; adding features is. The aim of SCFn is not to provide a servlet API wrapper around serverless. It is to keep the programming model as neutral and framework free as possible, so that we can cut away the unnecessary features as cleanly as possible in a serverless environment (e.g. like the security example you gave).
API gateway is only one of many sources of serverless events, and we don't want to pollute the core programming with assumptions about the incoming data and mapping it to HTTP. There might have to be special cases where we allow the user to drop the facade and consume events in a more platform-specific way, but we don't want that to be the core programming model.
If you like the servlet APIs and want to write serverless apps that way with Spring I guess you can use the AWS labs project that you linked to. We are more than happy to co-exist with that, as it's really a different approach to the one we are taking (and it is AWS specific).

classpath scanning is not slow; adding features is.

Thanks for correcting me. Indeed that is only my assumption. However I can't see how that is not "slow". If a project has 100 classes, only 5 is annotated. Doesn't that mean Spring is wasting time scanning 95 classes? Comparing to an explicit configuration of the 5 beans, I assume the static one is faster. Forgive me if my assumption is wrong, but I don't understand how the runtime one can be as fast as the static one. And if it's not slow then I don't get why Dagger goes the trouble of compile time IoC instead of using runtime classpath scanning just like Spring.
Anyway my underlying argument is that while Servlet does have overhead (though I don't have definite profile), it's not as significant relative to other components combined. If an app starts in 20000 ms and 19000 ms is proven to be spent only initializing the Servlet part, then I'm wrong. However I highly doubt that is the case. I believe initializing Servlet should take as little as 25 ms and even at worst 3000 ms would still be acceptable.

adding features is slow

I agree with that and we have no conflict here. If Hibernate reading tables metadata is slow it's not Spring's fault. And is not serverless Servlet's fault either! it'll still be slow either way when "barebones" SCF is used.

API gateway is only one of many sources of serverless events, and we don't want to pollute the core

True, I never expected this to be in SCF core, I mentioned above that this, if accepted, can be a subcomponent of SCF.

you can use the AWS labs project that you linked to. We are more than happy to co-exist with that, as it's really a different approach to the one we are taking

I respect your decision to reject. The AWS labs project is not yet stable, that's why I try to expose the serverless Servlet approach to Spring and suggest Spring to consider this. I previously suggested this to Spring Boot and got rejected and was suggested SCF instead, but well...
Indeed the approach is different. The approach I'm suggesting does not use the SCF programming model, it uses the Spring Web programming model. Still relevant to SCF because of SCF adapters for different providers. Instead of function-centric, this is serverless-centric. Instead of coding a function, you code to Servlet and expect to run in serverless environment. Therefore things like SCF REST is not relevant in this approach because if you want to do REST, then you write Spring REST controller just like usual, the difference is @RestController now runs on serverless.

(and it is AWS specific).
This is factually incorrect. aws-serverless-container is AWS-specific because (1) developed by awslabs obviously and (2) it uses aws sdk. That's implementation. However the serverless Servlet approach can be implemented in any serverless provider the same way SCF already have adapters.

Again I encourage you to take a look at Zappa's talk as a proven example of this approach. Zappa does use AWS by default, but that's not a technical restriction, it's just the most popular choice the same way Tomcat is default in Spring Boot.
Zappa's very fast growth and success with corporations in medical and banking , to me indicates its approach is valid and desirable for some userbase, and this userbase is only getting bigger as serverless technology matures. Zappa can achieve that only because it supports WSGI. In fact without WSGI support, Zappa becomes more like Serverless.com or Apex but Python only. Zappa thrives because its users already have Django/Flask apps that they can "port" to serverless with little effort.
You're certain that this userbase, the people and companies who want to run Servlet apps on serverless, are not important for Spring. Of course I could very much be wrong. Time will tell... I will update this issue if I notice any of your competitors considering this approach. (A few years ago people will laugh if someone said JBoss can be faster than Tomcat, but now it's fair game... yeah Undertow is not the old JBoss but hey times change.)
I still hope you'll reconsider. :)

I agree with Dave that this feature does not belong in Spring Cloud Function. Note that the first goal listed in the README is: "Promote the implementation of business logic via functions."
That doesn't necessarily mean it doesn't belong somewhere... either AWS labs or potentially spring-aws: https://github.com/spring-cloud/spring-cloud-aws
I think this is a good example of how the concepts of Serverless and FaaS have been conflated within AWS Lambda (and therefore in most people's minds). Serverless is more general, and a full blown Servlet app with multiple mappings is not a Function.

@markfisher I'd be happy if it gets accepted by Spring Cloud AWS.
However saying it is AWS specific is like saying HTTP/2 is a Jetty-specific protocol. Which is kinda true in the past but with Tomcat 8.5 and upcoming 9, etc. that is no longer the case.

Servlet app with multiple mappings is not a Function

As my own implementation above  (and also Zappa's) there is only one mapping, and a function that takes HTTP request as input and returns HTTP response as output. This behavior can be simulated in less featured serverless providers by using multiple mappings.
While currently choice is limited of serverless provider which support proxy style HTTP trigger and Java platform, I'd be very surprised if other providers don't follow AWS's lead. When RDS came cloud MySQL was AWS-specific. But now managed MySQL is available anywhere. Same for PostgreSQL. Aurora was MySQL specific so I was (pleasantly) surprised when Aurora PostgreSQL was announced.
I could be wrong and perhaps 5 years from now non-AWS FaaS providers only support JavaScript and primitive HTTP mapping. But considering fierce competition among them, I'd be very confused if indeed that's what will happen. Again that's like saying Tomcat will never support HTTP/2, which perhaps Jetty people will rejoice if that were true...
I appreciate reconsideration, although of course I respect your decision to reject. :) Think of it, I'm already moving a Spring Boot app to Zappa/Django just because this is not well supported in the Java/Servlet, and I'm also suggesting my circle to consider Zappa for certain kinds of app. Actually not to Zappa, but a serverless webapp approach, which unfortunately Zappa is the lone and mature contender at the moment. Competition is good, and I love Java...errr...Kotlin.
An unscientific estimate is stars, http://github.com/Miserlou/zappa currently nears 5K stars, I'm sure SCF will catch up to that number and beyond but Zappa is Python which is far smaller than Java userbase. If its stars growth rate continues, it's possible Zappa's stars will surpass spring-boot...
I'm not praising Zappa (of course I think it's a great product), but my intention is to highlight this approach's potential, that it's beneficial for you and your users. Plus DZone people are gonna love writing about it. To Spring and beyond .... ! :-)

Thanks again for providing so much detailed information. It's quite interesting to see the variety of ways developers are approaching "serverless" in the broad sense (i.e. beyond just "functions"). That said, it doesn't change what both Dave and I have expressed above as the goals of the Spring Cloud Function project, and I'm more concerned about the clarity and consistency of the project than the number of stars it gets.
As you said: "Instead of function-centric, this is serverless-centric. Instead of coding a function, you code to Servlet and expect to run in serverless environment."
But Spring Cloud Function is function-centric. Coding a function is what it's all about. We do not want to pollute that model within the scope of the project.
If you think there's enough interest in a portable (non-AWS-specific) Servlet based model for Serverless providers, then you should consider creating a new serverless-servlet project (the name itself does sound paradoxical). The examples you've shown thus far do build upon AWS-specifics. So, in the meantime, I'd still recommend contributing to the AWS labs project if possible, else bring up this topic within spring-cloud-aws. If there's a home for it in the Spring ecosystem, that might be it.
My personal view is that the Servlet model was specifically designed for a different type of runtime. FaaS on the other hand can be viewed (as it is by Spring Cloud Function) as a form of Inversion of Control that promotes a well-defined development model with a narrow scope that in turn facilitates the Single Responsibility Principle. Simulating a model with a much wider scope within that narrow scope seems counter-productive.
I do think we'll see many of the ideas around "serverless", such as scaling resources to 0 when idle (typically motivated by the billing model), being applied more broadly than FaaS as the trend continues.
I'm going to close this issue, but I look forward to seeing where these ideas might lead.

@markfisher It's okay I understand and respect the decision. Opened another last resort at https://github.com/spring-cloud/spring-cloud-aws/issues/260 ^_^

It is unfortunate the spring-cloud-function deemed this as an issue for spring-cloud-aws and spring-cloud-aws has deemed this as an issue for spring-cloud-function (see https://github.com/spring-cloud/spring-cloud-function/issues/107).
Any update on progress made or directions taken?

There is no update. Spring Cloud Function supports a function-based programming model, and if you want access to the underlying HTTP concepts (headers etc.) they are available. That seems like a good place to be to me.