sparse_placeholder missing tensor name in SavedModel

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock
example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g.,
Linux Ubuntu 16.04): mac-osx
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if
the issue happens on mobile device: n/a
TensorFlow installed from (source or
binary): - TensorFlow version (use command below): 1.14
Python version: - Bazel
version (if compiling from source): n/a
GCC/Compiler version (if compiling from
source): n/a
CUDA/cuDNN version: - GPU model and memory: n/a

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with: 1. TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" 2. TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"
Describe the current behavior
If a sparse_placeholder is used in ServingInputReceiver, the SavedModel does not contain the name of the sparse_placeholder. This causes issues when the SavedModel is loaded by SavedModelEstimator, as shown below.
Describe the expected behavior
The tensor represented by sparse_placeholder should be assigned a name in the SavedModel.
Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
Save the code below as a file, test.py.
then run python test.py
import tensorflow as tf
from pathlib import Path

tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.INFO)

DIM = 4
FEATURE_NAME = "myfeature"
LABEL_NAME = "mylabel"

def train_input_fn():
    dataset = tf.data.Dataset.from_tensors((
        {FEATURE_NAME: tf.SparseTensor(indices=[[0], [2]],
                        values=[1.0, 2.0],
                        dense_shape=[DIM])},[1.0, 2.3]))
    dataset = dataset.repeat(9).batch(3)
    return dataset

def serving_input_receiver_fn():
    """Serving input_fn that builds features from placeholders

    Returns
    -------
    tf.estimator.export.ServingInputReceiver
    """
    feature = tf.compat.v1.sparse_placeholder(dtype=tf.float32, shape=[None, DIM], name=FEATURE_NAME)
    receiver_tensors = {FEATURE_NAME: feature}
    return tf.estimator.export.ServingInputReceiver(receiver_tensors, receiver_tensors)

def model_fn(features, labels, mode):
    w = tf.compat.v1.get_variable(
        name='w',
        initializer=tf.compat.v1.random.truncated_normal((DIM,1), stddev=1))
    predictions = tf.compat.v1.sparse.sparse_dense_matmul(features[FEATURE_NAME], w)

    if mode == tf.estimator.ModeKeys.PREDICT:
        return tf.estimator.EstimatorSpec(mode, predictions=predictions)
    else:
        loss = tf.nn.l2_loss(predictions - labels)
        if mode == tf.estimator.ModeKeys.EVAL:
            return tf.estimator.EstimatorSpec(
                mode, loss=loss)

        elif mode == tf.estimator.ModeKeys.TRAIN:
            train_op = tf.compat.v1.train.AdamOptimizer(learning_rate=0.5).minimize(
                loss, global_step=tf.compat.v1.train.get_global_step())
            return tf.estimator.EstimatorSpec(
                mode, loss=loss, train_op=train_op)
        else:
            raise NotImplementedError()

def find_latest(export_dir):
    subdirs = [x for x in Path(export_dir).iterdir()
               if x.is_dir() and 'temp' not in str(x)]
    latest = str(sorted(subdirs)[-1])
    return latest

if __name__ == '__main__':
    config = tf.estimator.RunConfig(save_summary_steps=1,
                                    save_checkpoints_steps=5,
                                    log_step_count_steps=1)
    export_dir = '/tmp/saved_model'
    checkpoint_dir = '/tmp/checkpoint'

    # train
    estimator = tf.estimator.Estimator(model_fn, checkpoint_dir, config=config)
    estimator.train(train_input_fn)

    # export
    estimator.export_saved_model(export_dir, serving_input_receiver_fn)

    # load
    latest_model = find_latest(export_dir)
    print(latest_model)

    # predict, tf 1.x
    estimator = tf.contrib.estimator.SavedModelEstimator(latest_model)
    predictions = estimator.predict(train_input_fn)
    for x in predictions:
        print(x)

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.
Traceback
INFO:tensorflow:Using config: {'_model_dir': '/tmp/checkpoint', '_tf_random_seed': None, '_save_summary_steps': 1, '_save_checkpoints_steps': 5, '_save_checkpoints_secs': None, '_session_config': allow_soft_placement: true
graph_options {
  rewrite_options {
    meta_optimizer_iterations: ONE
  }
}
, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 1, '_train_distribute': None, '_device_fn': None, '_protocol': None, '_eval_distribute': None, '_experimental_distribute': None, '_experimental_max_worker_delay_secs': None, '_service': None, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x12caa1eb8>, '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}
WARNING:tensorflow:From /envs/py3.6/lib/python3.6/site-packages/tensorflow/python/training/training_util.py:236: Variable.initialized_value (from tensorflow.python.ops.variables) is deprecated and will be removed in a future version.
Instructions for updating:
Use Variable.read_value. Variables in 2.X are initialized automatically both in eager and graph (inside tf.defun) contexts.
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
INFO:tensorflow:Create CheckpointSaverHook.
WARNING:tensorflow:From /envs/py3.6/lib/python3.6/site-packages/tensorflow/python/ops/array_ops.py:1354: add_dispatch_support.<locals>.wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.where in 2.0, which has the same broadcast rule as np.where
INFO:tensorflow:Graph was finalized.
2020-03-20 08:09:40.379515: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
INFO:tensorflow:Running local_init_op.
INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Saving checkpoints for 0 into /tmp/checkpoint/model.ckpt.
INFO:tensorflow:loss = 5.3372154, step = 1
INFO:tensorflow:global_step/sec: 732.118
INFO:tensorflow:loss = 1.6047388, step = 2 (0.002 sec)
INFO:tensorflow:global_step/sec: 713.317
INFO:tensorflow:loss = 4.220809, step = 3 (0.001 sec)
INFO:tensorflow:Saving checkpoints for 3 into /tmp/checkpoint/model.ckpt.
INFO:tensorflow:Loss for final step: 4.220809.
INFO:tensorflow:Calling model_fn.
INFO:tensorflow:Done calling model_fn.
WARNING:tensorflow:From /envs/py3.6/lib/python3.6/site-packages/tensorflow/python/saved_model/signature_def_utils_impl.py:201: build_tensor_info (from tensorflow.python.saved_model.utils_impl) is deprecated and will be removed in a future version.
Instructions for updating:
This function will only be available through the v1 compatibility library as tf.compat.v1.saved_model.utils.build_tensor_info or tf.compat.v1.saved_model.build_tensor_info.
INFO:tensorflow:Signatures INCLUDED in export for Classify: None
INFO:tensorflow:Signatures INCLUDED in export for Regress: None
INFO:tensorflow:Signatures INCLUDED in export for Predict: ['serving_default']
INFO:tensorflow:Signatures INCLUDED in export for Train: None
INFO:tensorflow:Signatures INCLUDED in export for Eval: None
WARNING:tensorflow:From /envs/py3.6/lib/python3.6/site-packages/tensorflow/python/training/saver.py:1276: checkpoint_exists (from tensorflow.python.training.checkpoint_management) is deprecated and will be removed in a future version.
Instructions for updating:
Use standard file APIs to check for files with this prefix.
INFO:tensorflow:Restoring parameters from /tmp/checkpoint/model.ckpt-3
INFO:tensorflow:Assets added to graph.
INFO:tensorflow:No assets to write.
INFO:tensorflow:SavedModel written to: /tmp/saved_model/temp-b'1584716980'/saved_model.pb
/tmp/saved_model/1584716980
WARNING:tensorflow:
The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:
  * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
  * https://github.com/tensorflow/addons
  * https://github.com/tensorflow/io (for I/O related ops)
If you depend on functionality not listed there, please file an issue.

INFO:tensorflow:Using default config.
WARNING:tensorflow:Using temporary folder as model directory: /var/folders/vr/_8gkdt4s3wb88ncn_jmhk8hc000wcr/T/tmp1criy16p
INFO:tensorflow:Using config: {'_model_dir': '/var/folders/vr/_8gkdt4s3wb88ncn_jmhk8hc000wcr/T/tmp1criy16p', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': allow_soft_placement: true
graph_options {
  rewrite_options {
    meta_optimizer_iterations: ONE
  }
}
, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_device_fn': None, '_protocol': None, '_eval_distribute': None, '_experimental_distribute': None, '_experimental_max_worker_delay_secs': None, '_service': None, '_cluster_spec': <tensorflow.python.training.server_lib.ClusterSpec object at 0x130e7eeb8>, '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}
INFO:tensorflow:Checking available modes for SavedModelEstimator.
WARNING:tensorflow:train mode not found in SavedModel.
WARNING:tensorflow:eval mode not found in SavedModel.
INFO:tensorflow:Available modes for Estimator: ['infer']
INFO:tensorflow:Could not find trained model in model_dir: /var/folders/vr/_8gkdt4s3wb88ncn_jmhk8hc000wcr/T/tmp1criy16p, running initialization to predict.
WARNING:tensorflow:Input graph does not use tf.data.Dataset or contain a QueueRunner. That means predict yields forever. This is probably a mistake.
INFO:tensorflow:Calling model_fn.
Traceback (most recent call last):
  File "test_savedmodel.py", line 83, in <module>
    for x in predictions:
  File "/envs/py3.6/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 619, in predict
    features, None, ModeKeys.PREDICT, self.config)
  File "/envs/py3.6/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/estimator.py", line 1146, in _call_model_fn
    model_fn_results = self._model_fn(features=features, **kwargs)
  File "/envs/py3.6/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/canned/saved_model_estimator.py", line 243, in _model_fn_from_saved_model
    g, tags, input_map=input_map, return_elements=output_tensor_names)
  File "/envs/py3.6/lib/python3.6/site-packages/tensorflow/python/saved_model/loader_impl.py", line 352, in load_graph
    meta_graph_def, import_scope=import_scope, **saver_kwargs)
  File "/envs/py3.6/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1473, in _import_meta_graph_with_return_elements
    **kwargs))
  File "/envs/py3.6/lib/python3.6/site-packages/tensorflow/python/framework/meta_graph.py", line 857, in import_scoped_meta_graph_with_return_elements
    return_elements=return_elements)
  File "/envs/py3.6/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
    return func(*args, **kwargs)
  File "/envs/py3.6/lib/python3.6/site-packages/tensorflow/python/framework/importer.py", line 412, in import_graph_def
    input_map = _ConvertInputMapValues(name, input_map)
  File "/envs/py3.6/lib/python3.6/site-packages/tensorflow/python/framework/importer.py", line 193, in _ConvertInputMapValues
    'tf.import_graph_def() requires a non-empty `name` if `input_map` '
ValueError: tf.import_graph_def() requires a non-empty `name` if `input_map` contains non-Tensor values. Try calling tf.convert_to_tensor() on `input_map` values before calling tf.import_graph_def().

Further examine the savedmodel with cli saved_model_cli show --dir /tmp/saved_model/1584716980 --all
MetaGraphDef with tag-set: 'serve' contains the following SignatureDefs:

signature_def['serving_default']:
  The given SavedModel SignatureDef contains the following input(s):
    inputs['myfeature'] tensor_info:
        dtype: DT_FLOAT
        shape: (-1, -1)
        name:
  The given SavedModel SignatureDef contains the following output(s):
    outputs['output'] tensor_info:
        dtype: DT_FLOAT
        shape: (-1, 1)
        name: SparseTensorDenseMatMul/SparseTensorDenseMatMul:0
  Method name is: tensorflow/serving/predict

Note: name is missing from inputs['myfeature'] tensor_info

Was able to reproduce the issue with TF-1.14 and TF-1.15.2. Please find the attached gist. Thanks!

Hi There,
We are checking to see if you still need help on this, as you are using an older version of tensorflow which is officially considered end of life . We recommend that you upgrade to the latest 2.x version and let us know if the issue still persists in newer versions. Please open a new issue for any help you need against 2.x, and we will get you the right help.
This issue will be closed automatically 7 days from now. If you still need help with this issue, please provide us with more information.


lock file prior to existence

right now you cannot lock() a file unless it is already on disk, this makes it hard to guarantee that files can be locked while their content is still being generated but the filename needs to be reserved

Indeed, the issue is with the canonicalPath. I need to get the canonical path of the file to ensure that calls to lock() with relative/absolute/etc are resolved to the same file.
I could detect a ENOENT error and just fallback to path.normalize. What od you think?

that sounds fine
On Mon, Mar 2, 2015 at 8:15 PM, André Cruz<EMAIL_ADDRESS>wrote:

Indeed, the issue is with the canonicalPath. I need to get the canonical
path of the file to ensure that calls to lock() with relative/absolute/etc
are resolved to the same file.
I could detect a ENOENT error and just fallback to path.normalize. What
od you think?
—
Reply to this email directly or view it on GitHub
https://github.com/IndigoUnited/node-proper-lockfile/issues/2#issuecomment-76873956
.

I ended up taking another approach. I've changed the resolve option to realpath.
By default realpath is enabled to resolve symlinks. If you turn it off, it will skip that step and will also allow locking files that are not yet created. Will publish 0.6 shortly.

Done.


cursor plugin: fix doc types for opacity and followCursorY

fixes #2459

Coverage increased (+0.2%) to 81.653% when pulling e683d7c68862f39cd6c7d86fa9c6287547bf1b6c on cursor-2459 into 46d423b882d503cafd4d2498a230ff20ce39fe19 on master.


Read business requirements

I am planning to add considering technical challenges that each widget will present. Was thinking adding to a new issue but after thinking again, it should be part of reading business requirements.


[WIP] Modularize js-ipfs-api

Related to #544.
The structure will be similar to the async module structure, but to do this with minimal changes to the current structure, is necessary a "module init" step where the config is passed to the request-api inner module.
The usage will be similar to the following:
const config = defaultConfig()
config.host = 'localhost'
config.port = '51000'

const unwant = require('js-ipfs-api/bitswap/unwant')(config)

unwant(key, (err) => {
  // ...
}

[x] bitswap
[x] block
[x] bootstrap
[x] config
[ ] dag
[x] dht
[ ] files
[x] id
[x] version
[x] ping
[x] log
[x] key
[x] name
[x] object
[x] pin
[x] pubsub
[ ] refs
[x] repo
[x] swarm
[x] diag

@nunofmn I like this approach, it builds nicely. Follow @dignifiedquire suggesting, making it modular should be about importing only what you need but also avoiding code duplication.
Thanks! 🌟

Hi @nunofmn, any hopes of getting this PR finished? This will make the life so much easier for everyone and I would love to get this merged before other PR's are made :)

[ ] As you move all the /src/api/* to /src/*, move all the other files in (https://github.com/ipfs/js-ipfs-api/tree/master/src) to /src/utils/*
[ ] Please create an example showing how to require just a subAPI

@nunofmn almost there :)

[ ] resolve merge conflict
[ ] git ignore the generated files in the example
[ ] update the readme

Values in KBs

Good results! Once we get https://github.com/ipfs/go-ipfs/issues/4008 it will even be better! :)

This has been an impressive refactor! Thank you @nunofmn for pulling this off.
There is one failing test, not related with the changes itself. Needs to be investigated separately. Merging!


host-networked services without defined port mappings don't get health checked

Services which use network_mode: 'host' don't need to define any port mappings, since they use the host network stack directly. However, if they don't define any mappings, they also don't have the containers checked between servers during rolling deploys. The iteration over public_ports here would be a no-op in that case.
The workaround would be to define a dummy port, but if you do that, the stop_container call here doesn't work, because it tries to find existing containers by public port - which it doesn't have.

Err that's annoying. The simplest solution would be to add a health check ports list and if it hasn't been defined, then default to the original behavior.

There's an interaction here if you specify a method as the healthcheck, perhaps the method should do its own port selections?


Recovery

I ended up in git hell somehow – merging #17 (which included #11, but also maybe #14 which supersedes #13???), which worked, into master, which also worked, somehow created a situation where the tests don't pass. I've gone back and reinstated stuff manually, starting from 3c5551874db3be87edc03af43dc60fbaad6a26de. Let's see what happens (I may end up doing git push --force) if this doesn't work out).
This doesn't include #14 right now (it seemed to be related to the test failures), but looking at the code it generates I think #13 is a better option anyway

Yeah, this is FUBARed. Going to go nuclear and replace master with this branch and git push -f


Feature/add secretsmgmt

LGTM, there are other important changes here that I'm pulling into other branches in the meantime, so the next PR will get Vault actually hooked up to the infra system and not just built successfully.


Refactor RenderContainerInterface

If your framework's implementation of RenderContainerInterface is being returned from the framework's service container, there's no way of knowing what function arguments should be passed into the Closure that it currently returns.
The solution is for there to be a standard interface for Exception renderers. This pull request introduces an ExceptionRendererInterface and updates RenderContainerInterface so that it specifies the new interface as its return type.
This implementation solves the additional use case of wanting to use a CodecMatcherInterface to provide the encoder that is used for Exception rendering. In this new implementation, a consumer of the RenderContainerInterface can also be injected with a CodecMatcherInterface and can use the matched encoder at exception render time.
The pull request also updates the existing RenderContainer so that it works in the same way with these new interfaces. (At the same time I've changed the constructor dependency from NativeResponsesInterface to ResponsesInterface because the actual dependency is with ResponsesInterface.)
I've also added in a ThrowableError class, which is an Exception that implements ErrorInterface. This was required for testing but is also useful in actual framework implementations. (I've used your Limencello exception as a copy and paste for this.)

@neomerx
These changes are now in feature/issue70 along with formatting updates and 100% test coverage. I believe that branch is now ready to merge with develop

@lindyhopchris I like the idea of having interface instead of Closure however I renamed it to \Neomerx\JsonApi\Contracts\Exceptions\RendererInterface (2 Exception and 2 Renderer in the name was too much IMO)
I dropped methods for registering Code only and Content renderers and they were practically identical and did not added much value.
I dropped ThrowableException it wasn't used in the code and I find introducing top-level exception is misleading. The package is designed to work with any exception hierarchies and narrowing could be done in packages like limoncello or apps.
I replaced renderers with abstract BaseRenderer which could be easily extended to Code only or Full response renderers. There were 2 reasons for it. One is purely psychological there were too many new operators there and it looked too restricting
$content = ($e instanceof ErrorInterface) ? $this->getEncoder()->encodeErrors([$e]) : null;

What if exception is transformed to more that one ErrorInterface? For example ValidationException might have many error messages.
That's why I left response's content generation as abstract method. I think it will have several implementation that have nothing in common.
I dropped SupportedExtensionsInterface parameter from container. It actually relates to rather complicated issue (I even had to rewrite almost a half of the application when faced it first time). I'd like to test if this approach works in limoncello.
The issue is that renderers should correctly work with adding headers for supported exceptions and this feature is very highly depend on the framework the app is working in (Laravel, Symfony, etc). Imagine an exception occurs and the code pointer suddenly jumps to render($exception) method. You have only this exception and you don't know anything about the app you're in (framework, request, etc) but you have to add supported extensions. So how can you get them? The only solution I found in Laravel was placing SupportedExtensionsInterface to DI container and wrapping reading from DI container to Closure (so json-api doesn't depend on Laravel). So with new approach higher level renderer manager should set correct supported extensions and media type before calling render method. I'd like to make sure it has no hidden problems.

@neomerx not bothered about the names - was just following the convention that's used in my office. The functionality is more what I'm after, so the primary thing I'm worried about is the interface. It's not a problem that you've removed the renderers that I did write - I only wrote those ones to maintain the existing functionality of RenderContainer. I'll be writing my own Renderers, so the abstract class is fine.
In terms of ValidationException, e.g. in Laravel... I'd actually not let the ValidationException get to the exception handler. The reason is there's no way for the exception handler to know where in the received HTTP body content the validation error occurred because in the Laravel validator the key for the messages would be e.g. foo rather than /data/attributes/foo if that's where it's come from. Correct pointers is key to wiring messages to the right place in the client.
The exception handler has no idea of what the error was, why it's originated - so it can't create a properly descriptive JSON API error. That's why in my Laravel and Zend 2 implementations I'm wrapping the framework validators in objects that know where in the received body content they are and can convert the framework messages into proper JSON API error messages. The JSON API error messages then get thrown. The only thing the exception handler needs to do is get the correct renderer and match it up to the JSON API runtime configuration - the right encoder, headers etc.
The only exceptions I'm converting from "raw" is generic ones like HTTP Not Found exceptions.
RE: supported extensions. This is actually easy in Zend 2 - because there's a RouteMatch object, which describes the route that is being dispatched. So in your route definitions for your JSON API controllers you can add what extensions they support. You can validate the extensions before the controller method is invoked and if later an exception occurs, the exception handler can grab them off the RouteMatch object.
Laravel is more tricky because there's no concept of adding extra configuration to route definitions. The wiring I've done for Laravel deals with it through a service too.

@lindyhopchris I actually left 90% of your renderers' code. Just moved it into abstract class. Thanks for donating it :smile:
I find your idea with filling correct pointers in exceptions very valuable. However I think overwhelming majority of user would stick to their framework's way of validation. So the approach they like might be combining that validation with proper transformation to json-api error format via extending Validator and ValidationException classes. Therefore renderers will fill pointers if extended validation info is available.
There is no an equivalent for RouteMatch in Laravel but there is undocumented feature that resembles it. IMO it wasn't designed for such usage so chose DI container instead.
Route::group(['custom_key' => $customValue], function () {
    ...
});

$sameValue = Route::current()->getAction()['custom_key'];

@neomerx happy to donate! I'm using this library at work (Zend 2) and in a personal project (Laravel 5) so it's good to be able to donate things to here if I find they are useful for both frameworks (i.e. if they're useful for two separate ones, they're probably framework agnostic!). I'm putting stuff that I think is particular to my own way of doing things into https://github.com/cloudcreativity/json-api as a way of extending your package. So all is good!
Had a chance to take a closer look at your changes this morning, and they're all great for my purposes. Would you like me to squash ready for a merge?
In terms of Laravel integration, I'm taking a slightly different approach from your Limoncello one. I'll be open sourcing it when I finish it at the weekend, so will share the link with you then.

Before squashing I'd like to check these changes work down in Limoncello. I think I can do it today and let you know.

@lindyhopchris I slightly changed public function getRenderer($exceptionClass) it now accepts $exceptionClass instead of $exception just like in registerRenderer (for symmetry)
I think it's ready for squashing

Just pushed the squash!

merged to master


Update dependency eslint-config-prettier to v8.7.0

This PR contains the following updates:

Package
Change
Age
Adoption
Passing
Confidence

eslint-config-prettier
8.6.0 -> 8.7.0

Release Notes

prettier/eslint-config-prettier
v8.7.0
Compare Source

Added: [@typescript-eslint/block-spacing]. Thanks to @ttionya!
Added: [@typescript-eslint/key-spacing]. Thanks to @ttionya!

Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

 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.


Algolia DocSearch contextualSearch Attributes for faceting Documentation

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Description
I recently had an issue where search results weren't displaying at all when using Algolia DocSearch. You can read about the full issue and my findings at: https://github.com/dynamoose/dynamoose/issues/1486.
Long story short tho, it worked when contextualSearch: false but not if it was true (and the default is true). I tracked the issue down to the fact that Attributes for faceting in Algolia dashboard settings only had lang & type set. Adding docusaurus_tag & language fixed the problem. But I couldn't find any documentation for this on the Docusaurus website.
Seems like the ideal case here would be for DocSearch to throw an error if you are trying to search for attributes that aren't in the Attributes for faceting section, but that is a different conversation.
I'm also unsure if those are the only two attributes I need to add to that section. Does Docusaurus ever use more attributes for faceting?
Seems like the documentation should include a full list of attributes it uses for faceting. I'd be happy to submit a PR for this, but I need guidance on what other attributes Docusaurus might use for faceting.
Self-service

[ ] I'd be willing to address this documentation request myself.

cc @shortcuts interested to hear your insights here

Hey!
I'm giving generic context/answer here for anyone having trouble with similar issue

I tracked the issue down to the fact that Attributes for faceting in Algolia dashboard settings only had lang & type set.

This meant that when we generated a config for your website and deployed it, it was either:

(probable) not yet running on Docusaurus v2, hence the config not having the minimal requirements
(unlikely) we failed to detect that your website was built with Docusaurus v2 (if so we need to investigate why)
(most certainly) it was in the really early batch of the migration to the new infra (~oct/nov 2021) which was missing crucial fixes that we implemented later on (really sorry if it's your case!)

In any case, I'd recommend you following the steps on this part of our documentation: https://docsearch.algolia.com/docs/crawler/#search-yield-no-results

Seems like the ideal case here would be for DocSearch to throw an error if you are trying to search for attributes that aren't in the Attributes for faceting section, but that is a different conversation.

We usually don't make those kind of assumptions, plus its the kind of validation that could impact the general performance of a search engine. I can however understand, in the case of DocSearch, where you expect to have something that work out of the box, that it can be blurry to debug.

I'm also unsure if those are the only two attributes I need to add to that section. Does Docusaurus ever use more attributes for faceting?

Everything that you can see in the Docusaurus template we provide should be in your config, at least the initialIndexSettings part, the rest is up to you to edit.

@shortcuts

I'm giving generic context/answer here for anyone having trouble with similar issue

Just want to point out that due to this projects guidelines, I made my initial post very specific to documentation updates. Not sure it has enough keywords or explanation for people who have the similar issues to find.

(most certainly) it was in the really early batch of the migration to the new infra (~oct/nov 2021) which was missing crucial fixes that we implemented later on (really sorry if it's your case!)

Not sure how I can figure that out. The site is https://dynamoosejs.com. I don't think either of the other things applied.
I'm curious tho why I wasn't alerted about this. Seems like if critical fixes were implemented later on, you should have alerted impacted users and provided documentation to them to fix it.

In any case, I'd recommend to follow those steps: https://docsearch.algolia.com/docs/crawler/#search-yield-no-results

This documentation is really poor. Here is why I say that. I actually found this documentation page during my investigation of this issue.
There were no errors in the developer tools. So that wasn't the issue.
[Your Crawler config](https://docsearch.algolia.com/docs/record-extractor) matches your website structure. Don't think this applies since I'm using docusaurus. But it isn't very clear, so maybe I'm wrong here?
Your index settings are up to date (you'll see a banner in [the search preview](https://docsearch.algolia.com/docs/manage-your-crawls/#search-preview) if not). I never saw a banner in the search preview. So I didn't think this applied. The we recommend you to delete your index from the Algolia dashboard before starting a new crawl was interesting. But I was concerned about doing that because it has no steps about how to re-create it. Would docusaurus have handle it all seamlessly and automatically? Couldn't find any documentation there, so I determined it was too risky to do.
So I followed that entire section and it didn't help at all.
I ended up sending a support email (ticket number: 511885) about this issue to Algolia, and got some initial help, but said they don't provide technical support for this. So was forced to figure out the rest on my own.

We usually don't make those kind of assumptions, plus its the kind of validation that could impact the general performance of a search engine. I can however understand, in the case of DocSearch, where you expect to have something that work out of the box, that it can be blurry to debug.

"blurry"? How about impossible? I understand the performance consideration. But right now you don't have any tools to debug this. Maybe consider adding requests to a queue and doing validation later on? And having a page where you can view errors that were found? Not sure. Seems like there are ways to workaround this tho while maintaining high performance.

I understand this is a free product, and open source. However, a lot of time gets wasted when documentation is awful, support doesn't help, there is no debugging tools, no error messages occur, and most of all the Docusaurus issues expect a reproducible example and you to investigate on your own. I understand the rational behind each of those things, but it leads to a situation where ALL of the cards are stacked against users here. So I ended up wasting hours on this.
What is done is done. Time was sunk into this. It's resolved now. But I think it's important to reflect on this process and the experiences users are having. This was a failure on many levels.
Improvements should be made. Let me know if I can assist with this. But it's really up to the Docusaurus & DocSearch teams to take the lead on this (hopefully mainly focus on documentation improvements).

I'm curious tho why I wasn't alerted about this. Seems like if critical fixes were implemented later on, you should have alerted impacted users and provided documentation to them to fix it.

We updated the documentation, templates are here for guidance, once deployed, we don't maintain your config anymore unless you asked for help.
Sorry for your issue but out of the 5k DocSearch users, there can be 5k different reasons to make a config fail, we can't dedicate time to maintain all of them, and it's not the purpose of DocSearch.

But I was concerned about doing that because it has no steps about how to re-create it.

If steps are not stated it means you don't have to worry about it. When using open-source product, you need to trust the doc, even if it seems blurry to you.
Anyway, the crawl does it for you. Feel free to read the Crawler docs if you want to know how it works.

I understand this is a free product, and open source. However, a lot of time gets wasted when documentation is awful

Keep in mind it's also a community project, we do that on our free time. Feedbacks are great but needs to be actionable.
Feel free to open issues/PRs with guidance on what seems wrongly documented to you!

@fishcharlie I understand that you are upset to lose hours, but that seems unfair to criticize our work like you did here.
We DO document the fact that you should have a config similar to the default one.

Isn't this message clear and visible enough? If you have any opinion, open a PR and improve it.
Did you compare your config VS the Docusaurus recommended config in the first place?
Did you run a diff between these 2 and investigate the differences?
Did you even ask for help and provided your bad crawler config to anyone qualified to help you?
You mention poor docs, but did you consider also poor issues, where maintainers have to read a long wall of text full of complaints just to try to understand your problem? That could have been figured out in 5 minutes if you just shared your crawler config. I'm not even sure the crawler config is actually the problem, I have to infer it from thousands of characters. The problem seems fixed, but you don't really thank anyone for the solution, and don't even explain what worked in the end, so that other community members can learn from your experience and avoid losing the very hours that you said we made you lose with poor docs.
For these reasons, I'm going to close this issue. I think you have solved your problem, so you probably know what we should write in our respective docs so that others don't lose as much time as you did. We are waiting for your PRs.
Thanks for the support @shortcuts


Feature Request - setDefault() method

I don't know if feature requests are accepted here. Here's one, though.
I know that store.get("key", 5) would return 5 in case key has not been found in the storage. Providing that default value is pretty useful functionality. However, if you need to get key at several different places in your app, you need to specify the default value every time, which can be pretty annoying.
My proposal is to have a setDefault() method that could do this:
store.setDefault("key", 5);

Which saves 5 as a default value of key internally. After that, if store.get("key") is called and no data was found, 5 is returned (unless another default value is explicitly given).
Example:
store.get("key", 5); // 5
store.get("key"); // undefined
store.setDefault("key", 5);
store.get("key"); // 5
store.get("key", 10); // 10

This can be a bit confusing, since you don't know whether the returned value is actual storage data, or internal default data. But. It's a good to guarantee a value. If you initialize your crucial values when your app starts, you know that you won't be getting undefined where it can be problematic.
Perhaps a setDefaults() method would be even better:
store.setDefaults({
    foo: "bar",
    key: 5,
    six: 6
});

Thanks!

Why wouldn't you just set those values? What's the use case for having them be transient?

Yeah. Why not just:
if (store.get("key") == undefined){         store.set("key", 5); }
All succeeding calls would have 5 as default anywhere in your app.

However, if you need to get key at several different places in your app, you need to specify the default value every time, which can be pretty annoying.

Or just wrap your code in a global function. Your problem can be easily solved on the app-level without the need to change the store.js API.

Yeah, wrapping it is what I ended up doing and it works:
Storage = (function () {
    var _stored = {};

    return {
        init: function (defaults) {
            _.each(defaults, function (defaultVal, key) {
                _stored[key] = store.get(key, defaultVal);
            });
        },

        get: function (prop) {
            return _stored[prop];
        },

        set: function (prop, val) {
            if (typeof prop === "string") {
                _stored[prop] = val;
                store.set(prop, val);
            }
        }
    };
})();

That:
if (store.get("key") == undefined){ store.set("key", 5); }
Would only work if a type of storage is available, meaning that key can still be undefined. With my snippet, doing this:
Storage.init({
    key: 5,
    bar: 6
});

Means that Storage.get("key") will always return either a saved value or the initialized value. You won't be getting undefined.
This was my suggestion initially. But now that I think of how easily I made it work by myself, it isn't probably that groundbreaking.
Thanks for the responses!

Ah, yes, just doing a set first would fail with this library. Sorry, i follow this repo, but i actually maintain https://github.com/nbubna/store which would not return undefined if localStorage were unavailable, but just keep the set value in memory.

This is now supported in store.js v2 via the defaults plugin. See https://github.com/marcuswestin/store.js/blob/master/README.md for more info!

See https://github.com/marcuswestin/store.js/blob/master/plugins/defaults_test.js for example usage.


Event icon color

Is there a way to get the event icon color?
See attached

Here the pull request icon should be purple

I've managed to get it working as part of the work in #200; the issue is the way the notifications are loaded has a very fixed payload which the last time I checked doesn't actually return the state.

Yup, not possible w/ the current Notifications v3 API, and GraphQL does not support notifications. Would have to create a notifications middleware (server) for this that polls the v3 notifications for each user, then fetches the status of each issue/PR/commit. Lot of work that I don't really want to do, ha!
It'd be nice, but I've gotten used to it.


feat(cli): New routes commant printing all routes

denali routes will traverse all addons and your app and print the
endpoint, method and the action.
Fixes #103
cc @acorncom

Coverage remained the same at 47.656% when pulling 319975af80286f41dcf3b2cb33d6a0ec96b0f862 on cli-routes into 15bdbc103934072610613c5dc4691ff58b15c011 on master.

Coverage remained the same at 47.656% when pulling 839f2b24ca28791eb4ca28ab46c8f68266e8e14f on cli-routes into 15bdbc103934072610613c5dc4691ff58b15c011 on master.

Coverage remained the same at 47.656% when pulling 19dab45a6f5018c91ae172076ee3dd2af45c2dd1 on cli-routes into 15bdbc103934072610613c5dc4691ff58b15c011 on master.

Coverage remained the same at 47.656% when pulling 4719c7c7f35927ac37aeb8c47f3d8b4274cc55a3 on cli-routes into 15bdbc103934072610613c5dc4691ff58b15c011 on master.

your screenshot above seems to show a route on the first row of the table that is missing a path - is that intentional?

The routes has a duplicate route, one with spec: '' but linking to the same action. A bug in the router?

Coverage remained the same at 47.656% when pulling 8263bb8fa8a2a1f3d673272702a70d2376516b3c on cli-routes into 15bdbc103934072610613c5dc4691ff58b15c011 on master.

So yes there is a duplicate route created, one with a slash and the other without.

This should be ready to merge @davewasmer

Coverage remained the same at 47.656% when pulling a89424480b67643f9767d4f1240b9fb438713d7b on cli-routes into 15bdbc103934072610613c5dc4691ff58b15c011 on master.

Coverage remained the same at 47.656% when pulling d7d993f14e6baf68d470e395f410185687661299 on cli-routes into c62d747b71e17c8e0996b383f6b5f1a7e140d726 on master.

Awesomesauce @knownasilya - thanks!


Interval arithmetic: incorrect results for min and max

Consider the following operation:

a = iv.mpf([0,1])
b = 0.5

min(a,b)

Mpmath returns the range [0,1] though there is no posible value of a that can give a result greater than 0.5

The correct response is [0,0.5]

Original issue for #258: http://code.google.com/p/mpmath/issues/detail?id=218
Original author: https://code.google.com/u/117464931809270512527/

@warnerjon12, the problem is that rich-comparison helpers for iv sometimes return None.  In a context, where boolean value is required (e.g. in min/max) - Python calls bool(None), that's False.

One option might be raise a ValueError instead of return None.  This will prevent silent wrong answer from min/max builtins (and perhaps, from more, like sorted).
@fredrik-johansson mentioned, that library code might be adapted for triple-valued logic.  But I'm not sure that it's a good idea to try handle unordered "numbers" in generic code.  Better - fail quickly.
BTW, python-flint just returns False:
>>> flint.arb('0.0 +/- 0.1') > flint.arb("0.0 +/- 0.1")
False
>>> flint.arb('0.0 +/- 0.1') < flint.arb("0.0 +/- 0.1")
False
>>> flint.arb('0.0 +/- 0.1') <= flint.arb("0.0 +/- 0.1")
False
>>> flint.arb('0.0 +/- 0.1') >= flint.arb("0.0 +/- 0.1")
False

BTW, python-flint just returns False:

We might want to change that. Flint's generics use three-valued logic and I expect that we would want to expose that somehow although I'm not sure if that might be by adding something like a new T_UNKNOWN object rather than using None. The idea would be that T_UNKNOWN.__bool__ would raise an exception if so.

Flint's generics use three-valued logic

Hmm, how this works?  I'm not sure that helpful could be done if both bool(x > y) and bool(x <= y) are False.

The idea would be that T_UNKNOWN.bool would raise an exception if so.

That looks more like my proposal.

Hmm, how this works?

It is explained here:
https://flintlib.org/doc/gr.html#predicates
I'm just not sure how to translate that into Python yet. In the PR https://github.com/flintlib/python-flint/pull/218 I have mapped T_UNKNOWN to None so far although ordered comparisons with gr_ types are not implemented there yet:
In [11]: from flint.types import _gr

In [12]: print(ctx('0.0 +/- 0.1') == ctx('0.0 +/- 0.1'))
None

In [13]: print(ctx('0.0 +/- 0.1') != ctx('0.0 +/- 0.1'))
None

In [20]: print(ctx('0.0 +/- 0.1') == ctx('2.0 +/- 0.1'))
False

In [21]: print(ctx('0.0 +/- 0.1') != ctx('2.0 +/- 0.1'))
True

That is just the logic implemented by the generic rings code in FLINT except with T_UNKNOWN being returned as None in Python.
Also worth noting that the PR adds versions of arf and acf that use non-global context for precision which is what mpmath could use as faster versions of mpf and mpc internally:
In [15]: ctx = _gr.gr_real_float_arf_ctx.new(53)

In [16]: ctx(1) / 3
Out[16]: 0.3333333333333333

In [17]: ctx.real_prec = 100

In [18]: ctx(1) / 3
Out[18]: 0.3333333333333333333333333333335

In [10]: from mpmath import mp as mpmath_ctx

In [11]: flint_ctx = _gr.gr_real_float_arf_ctx.new(53)

In [12]: a_flint = flint_ctx(20)

In [13]: a_mpmath = mpmath_ctx.mpf(20)

In [14]: %timeit 2*a_mpmath
4.2 μs ± 14.9 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)

In [15]: %timeit 2*a_flint
684 ns ± 19.7 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)

In [16]: %timeit 1/a_mpmath
6.78 μs ± 243 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)

In [17]: %timeit 1/a_flint
1.13 μs ± 6.93 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)

I expect that any Python wrapper class around arf/acf would end up having practically as much overhead as mpf/mpc already do in comparison but if some internal code could be made to be able to work with one or the other transparently then it could bring significant speedup.
The _gr interface should be considered unstable but could be suitable for testing python-flint/mpmath integration if merged and put in a prerelease.

It is explained here: https://flintlib.org/doc/gr.html#predicates

I meant, how it's used in some generic code (e.g. to implement special functions)?  I would expect that numeric code on some T_UNKNOWN condition - should just fail.

I meant, how it's used in some generic code (e.g. to implement special functions)?

It isn't used in that way in arf/arb. I don't think they use T_UNKNOWN directly at all so none of the internal code for computing special functions uses this. Just when arb is wrapped in the gr_ interface comparison operators like ==, < etc can return T_UNKNOWN and potentially it makes sense to expose that at the Python level for these types. I think the internal code for arb would do something like if midpoint_as_arf(some_arb) < some_value which would always return True or False e.g.:
In [2]: a = arb('1 +/- 0.1')

In [3]: a
Out[3]: [1e+0 +/- 0.101]

In [4]: a.mid()
Out[4]: 1.00000000000000

In [5]: a.mid() < 1
Out[5]: False

In [6]: a.mid() == 1
Out[6]: True

In [7]: type(a.mid())
Out[7]: flint.types.arb.arb


update template order

Does this look about right?

Are we supposed to be manually editing this line in each .Rmd?

@stephhazlitt yes. I tried to automate it but because the Rmd's are merged before they're rendered, there doesn't appear to be any way to get the episode number dynamically. (If it's a standalone document you can use knitr::current_input()).

I think so! I wish the bookdown chapters aligned with the episode Rmds though!

On it!


"dtype" system property is ignored when a new Nd4j context is created

... or perhaps overwritten by the backend resources (see Nd4j.java line 5053 in master). The issue is present in 0.4-rc3.10. The issue is not major (and maybe it is intended). In any case, it would be nice to be able to set the default data type via system properties.
As a side note, I think setting the default data type to single-precision float could be troublesome for some users: I got completely bogus results while learning the parameters of a factor analysis model using the EM algorithm on a large dataset (1000 samples in a 250'000 dimensional space). Roundoff errors become serious when reducing 10^9 single-precision floats to few (e.g. averaging). Perhaps float precision does not affect training convolutional neural nets as much and this justifies the default choice? (e.g. softmax functions can reduce the propagation of error; I'm not experienced in this area though)

Re: dtype. This behaviour was changed with 0.4.0, right now dtype property is persistent through contexts.
So it would be nice if you check this issue with current stable release.
Re: precision Nothing can stop you to define DOUBLE precision at first line of your app. Or HALF, after next major release. That's whole point of switchable data types.

Any news for 0.4.0 there?  :)

Re: dtype -- Just tested 0.4.0 -- the issue is fixed. It also warns if a precision lowering type conversion takes place, which is a very good thing.
Re: precision -- oh I totally agree about the existence of dtype flexibility in nd4j, which is great! my concern is about the choice of HALF as the default dtype. In many everyday applications, single-digit floats lead to bogus results without the user realizing it, e.g. in QR/LU decompositions of large matrices, spectral analysis, solving large linear systems, calculating covariances, etc.

Dont choose it, if your task do not allow it. It's not like we're forcing you, or something like that.
Some tasks allow that, some - do not. Since nVidia CUDA is supporting it now - we're adding support for it too. But it's up to you and your task, will you use it or not :)

P.s. And no, HALF isn't going to be default dtype.  It'll be optional, like DOUBLE, and available on CUDA only for now. Maybe for Intel MKL, but we'll investigate that later.


Patch-package: not found

Temporary Fix
If you are experiencing this issue, use 0.16.2 for now until this issue is resolved.
Current behaviour

As part of release 0.18.0, a bug was introduced causing CI pipelines to fail during dependency installation of patch-package. This was needed to patch issue related to accessibility in the parent library.
Expected behaviour

The library should install correctly.
How to reproduce?

Install dependencies via npm install or yarn install in a github workflow.
Preview

What have you tried so far?

Two possible solutions come to mind.

Add patch-package to the dependencies. The downfall here is the bundle size will be slightly larger until the patch can be removed.
Revert the accessibility changes which will cause the library to look funny with larger text font sizes.

@RichardLindhout What are your thoughts?
Your Environment

software
version

ios
16.4

android
x

react-native
0.71.8

react-native-paper
5.8.0

node
16.16.0

npm or yarn
yarn

expo sdk
48.0.19

Closed by https://github.com/web-ridge/react-native-paper-dates/pull/294


docs: remove the Kwasm operator from the installation page?

In the quickstart, there's no mention of installing the KWasm operator and the docs talk about Kwasm being replaced by the runtime class manager.
The "Installing with Helm" page still references "Kwasm Operator" as a required component to install -- should this section be removed from the page?

Hey, @peterj!
A bit of context: the goal of KWasm project is to configure the underlying shim executor of the runtime class.
The new runtime class manager project is the new and improved version of KWasm (and tagging @0xE282B0 or @voigt to add more here).
The reason why the quickstart doesn't mention using KWasm is because the image used when setting up the K3s cluster with K3d (ghcr.io/spinkube/containerd-shim-spin/k3d:v0.13.1) already contains the containerd shim executor:
$ k3d cluster create wasm-cluster \
  # this image already contains the containerd shim for Spin
  --image ghcr.io/spinkube/containerd-shim-spin/k3d:v0.13.1 \
  --port "8081:80@loadbalancer" \
  --agents 2

For a cluster created without that base image, you still need to configure the shim — and for a little bit more, that's still done using KWasm — SpinKube will very soon use the new runtime class manager project to configure the shim — here's the milestone for that — https://github.com/spinkube/runtime-class-manager/milestone/1.
Let me know if that makes sense.


Train the Network with colour images instead of b/w

Train the Network with colour images instead of b/w i.e. use 3 channels in the CNN.

hi,thx
but how to do correct labels for images?

labels remain the same because in the model in outputting 3 signals {buy, sell, hold}. I just wanted to test out if instead of training the model on black/white images we use colour images which might increase its accuracy.


[Bug]: Service Path Discrepancy Causes 404 Errors in Ballerina Test Cases

Description
Encountering 404 Not Found errors when running tests on a Ballerina mock server due to discrepancies between the service paths in the server implementation and the test cases. This mismatch prevents the tests from successfully locating and interacting with the intended endpoints.
Error log :
time=2024-06-30T13:12:22.879+05:30 level=INFO module=ballerinax/sap.s4hana.api_material_document_srv$test message="Running tests on mock server"
error: no matching service found for path: /API_MATERIAL_DOCUMENT_SRV/A_MaterialDocumentHeader
    testListA_MaterialDocumentHeader has failed.

            [fail] testListA_MaterialDocumentHeader:

                error {ballerina/http:2}ClientRequestError&{ballerina/http:2}ClientError&{ballerina/http:2}Error&{ballerina/http:2}ApplicationResponseError ("Not Found",statusCode=404,headers={"content-type":["application/json"],"date":["Sun, 30 Jun 2024 13:12:23 +0530"],"server":["ballerina"],"x-http2-stream-id":["3"]},body={"timestamp":"2024-06-30T07:42:23.302840800Z","status":404,"reason":"Not Found","message":"no matching service found for path: /API_MATERIAL_DOCUMENT_SRV/A_MaterialDocumentHeader","path":"/API_MATERIAL_DOCUMENT_SRV/A_MaterialDocumentHeader","method":"GET"})
                            callableName: createResponseError moduleName: ballerina.http.2 fileName: http_client_endpoint.bal lineNumber: 674
                            callableName: processResponse moduleName: ballerina.http.2 fileName: http_client_endpoint.bal lineNumber: 711
                            callableName: processGet moduleName: ballerina.http.2.Client fileName: http_client_endpoint.bal lineNumber: 286

            0 passing
            1 failing
            0 skipped

            Test execution time : 0.418s

error: there are test failures
Steps to Reproduce
No response
Affected Version(s)
Ballerina 2201.9.0 (Swan Lake Update 9)
OS, DB, other environment details and versions
No response
Related area
-> Test Framework
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

The error was in the generated client (Human error).

Reason/Invalid - Issue is invalid.

Reason/Invalid - Issue is invalid.


Fix(docs): incorrect verbiage on how-to-work-on-coding-challenges.md

Changed "changes" to "challenges in the last line of The 2-minute rule section
Checklist:

[x ] I have read freeCodeCamp's contribution guidelines.
[ x] My pull request has a descriptive title (not a vague title like Update index.md)
[x ] My pull request targets the main branch of freeCodeCamp.
[ ] I have tested these changes either locally on my machine, or GitPod.

Closes #XXXXX

Might be good to open an issue on this too, just so there is a trace for the actual problem.

I definitely can if needed. I was just going by the documentation that says for spelling and other wording changes, creating an issue is not necessary.

:sparkles: :sparkles: AWESOME! :sparkles: :sparkles:
LGTM.
Thanks for this pull request, @Chelsgray, and for contributing to the codebase for the first time.
We will be looking forward to more contributions in the future.
Cheers and happy contributing!


check effect of z-scoring only on valid data, #576.

closes #576
slow tests where failing because we were checking for non-unique x without excluding invalid x. This is fixed here.

Codecov Report

Merging #618 (ac5362f) into main (4b3d260) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #618   +/-   ##
=======================================
  Coverage   66.77%   66.77%
=======================================
  Files          66       66
  Lines        4307     4307
=======================================
  Hits         2876     2876
  Misses       1431     1431

Flag
Coverage Δ

unittests
66.77% <100.00%> (ø)

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

Impacted Files
Coverage Δ

sbi/inference/base.py
77.53% <100.00%> (ø)

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 4b3d260...ac5362f. Read the comment docs.


[18.03 backport] Fix update out of sequence

relates to

https://github.com/moby/moby/pull/39531 integration-cli: fix swarm tests flakiness

Backports of

https://github.com/docker/swarmkit/pull/2762 Increased wait time on test utils WaitForCluster and WatchTaskCreate
https://github.com/docker/swarmkit/pull/2771 Allow using Configs as CredentialSpecs

second commit only (attempt to fix weirdly broken tests)

https://github.com/docker/swarmkit/pull/2808 Fix flaky tests
https://github.com/docker/swarmkit/pull/2870 Fix update out of sequence

# https://github.com/docker/swarmkit/pull/2762 Increased wait time on test utils WaitForCluster and WatchTaskCreate
git cherry-pick -s -S -x 5f167cab731ee75bc6cf3888fd2a4a5b5194f924

# second commit from https://github.com/docker/swarmkit/pull/2771 Allow using Configs as CredentialSpecs
git cherry-pick -s -S -x be26111c4a48c44fac04c17c69fd2504aea6db91

# https://github.com/docker/swarmkit/pull/2808 Fix flaky tests
git cherry-pick -s -S -x 06a356671bc11e4fd5d754f257f9c5f93ec5c563

# https://github.com/docker/swarmkit/pull/2870 Fix update out of sequence
git cherry-pick -s -S -x d68ac46e3b11d7384472677d210bb0ce941284dc

Minor conflict in imports when cherry-picking https://github.com/docker/swarmkit/pull/2808 (06a356671bc11e4fd5d754f257f9c5f93ec5c563) because is not in this branch (which would require updating the gRPC version that's used; see https://github.com/docker/swarmkit/pull/2827#issuecomment-462920863)
diff --cc manager/orchestrator/replicated/update_test.go
index ccc084b8,53d6da72..00000000
--- a/manager/orchestrator/replicated/update_test.go
+++ b/manager/orchestrator/replicated/update_test.go
@@@ -1,7 -1,8 +1,12 @@@
  package replicated

  import (
++<<<<<<< HEAD
 +      "sync/atomic"
++=======
+       "context"
+       "sync"
++>>>>>>> 06a35667... Fix flaky tests
        "testing"
        "time"

ok, this needs some work; possibly related to gRPC versions
#!/bin/bash -eo pipefail
make check binaries checkprotos
🐳 check
🐳 bin/swarmd
# github.com/docker/swarmkit/agent
agent/session.go:67:3: undefined: grpc.WithDefaultCallOptions
agent/session.go:67:31: undefined: grpc.MaxCallRecvMsgSize
# github.com/docker/swarmkit/manager
manager/manager.go:720:5: undefined: grpc.WithDefaultCallOptions
manager/manager.go:720:33: undefined: grpc.MaxCallRecvMsgSize
make: *** [bin/swarmd] Error 2
Exited with code 2

reverted https://github.com/docker/swarmkit/pull/2869 to see if that works; I'll rebase if it goes green, and we can punt on that change

OK, that works; let me remove that backport for now

ping @dperny @kolyshkin PTAL


Different boundary conditions for 2D Euler Equation

Hello,
I wanted to apply periodic boundary conditions in y direction and inflow outflow in x direction. How can I do that with Trixi?
Thank You

Hi @peyvanahmad! Generally speaking you would impose periodic BCs on the mesh using the periodicity keyword argument. For example periodicity=(true, false) would set periodic boundary conditions in x but not in y.
You might also look at some of the elixirs in the examples folder, as many setups there use periodic boundary conditions.

I should also note that this depends somewhat on the solver and mesh type you are using. Which ones are you trying to use?

I am using dgsem with the structured grid.  Can i setup the boundary conditions for this setup? Inflow outflow in x and periodic in y directions?

On Mar 23, 2022, at 8:47 PM, Jesse Chan @.***> wrote:

I should also note that this depends somewhat on the solver and mesh type you are using. Which ones are you trying to use?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

You can find a similar setup with the TreeMesh at
https://github.com/trixi-framework/Trixi.jl/blob/99ffd7230339741e3ba258fbf93b94a877c4ad47/examples/tree_2d_dgsem/elixir_euler_astro_jet_amr.jl#L33-L38
and
https://github.com/trixi-framework/Trixi.jl/blob/99ffd7230339741e3ba258fbf93b94a877c4ad47/examples/tree_2d_dgsem/elixir_euler_astro_jet_amr.jl#L60-L63

You can also find some hints in our new tutorial https://trixi-framework.github.io/Trixi.jl/dev/tutorials/non_periodic_boundaries (new and thus only available in the dev version of the docs right now).

Does this answer your question, @peyvanahmad? Can we close this issue?

Yes. Thank you for your suggestions.
On Fri, Mar 25, 2022 at 6:51 AM Hendrik Ranocha @.***>
wrote:

Does this answer your question, @peyvanahmad
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fpeyvanahmad&data=04|01|apeyva2%40groute.uic.edu|7effc4929ab34f180c6608da0e4d6153|e202cd477a564baa99e3e3b71a7c77dd|0|0|637838022751440753|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=fDvNQXpK3902pIarWFY9b2n%2FQGwqdu4FOonBXbal0YU%3D&reserved=0?
Can we close this issue?
—
Reply to this email directly, view it on GitHub
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftrixi-framework%2FTrixi.jl%2Fissues%2F1094%23issuecomment-1078898570&data=04|01|apeyva2%40groute.uic.edu|7effc4929ab34f180c6608da0e4d6153|e202cd477a564baa99e3e3b71a7c77dd|0|0|637838022751440753|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=ULXxOKxQ2FSYLhSYow%2FwrG06hwGXSfKL%2B%2BTWLSv28%2Bs%3D&reserved=0,
or unsubscribe
https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAGKTJB2UZHFHZRPGBOFS3U3VBWLCBANCNFSM5RPSWOZA&data=04|01|apeyva2%40groute.uic.edu|7effc4929ab34f180c6608da0e4d6153|e202cd477a564baa99e3e3b71a7c77dd|0|0|637838022751440753|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=NwD2lrGMuKS9x6OWWpQHsZQtKi%2FdZjnxXMUdmgh4rYU%3D&reserved=0
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Ahmad Peyvan
Ph.D Candidate
Department of Mechanical and Industrial Engineering
University of Illinois at Chicago (UIC)
Email: @.***


Question Evil Portal

Hello, do you aim to make other evil portals?
THANKS

Yes! Google has actually made a new UI for their login pages. I'm likely to make another one based on that. And besides Google, I'll be likely to create some based on popular social media platforms (most likely those that lack 2FA) and maybe even companies/places exclusive to my current city.

Hello, do you aim to make other evil portals? THANKS

Hey softm5, in the next month, I'm planning on adding to the repo Google's new Sign-In UI. So stay posted!


Example how to receive large messages?

Hi is there an example that shows on the server side how to accept a large message?

A large message should be encoded in the message_payload optional parameter. A server should either use the shortMessage field, or the message_payload optional parameter when the shortMessage is empty.

@javadevmtl
Assuming you are implementing ServerMessageReceiverListener, and there is a method onAcceptSubmitSm , here is a sample to receive long message.
    public SubmitSmResult onAcceptSubmitSm(SubmitSm submitSm, SMPPServerSession smppServerSession) throws ProcessRequestException {

        OptionalParameter messagePayload = submitSm.getOptionalParameter(OptionalParameter.Tag.MESSAGE_PAYLOAD);

        OptionalParameter.OctetString octateString = (OptionalParameter.OctetString) messagePayload;

        String longMessage = octateString.getValueAsString();
        //Or
        String longMessage = new String(os.getValue(), <charset of your choice>);

}

@pmoerenhout  Is this a correct way to do this?

Yes, the getValueAsString will construct the string with the system charset, so explitcitly using new String(os.getValue(), ); is better...


Invalid value for GrammaticalMarkers->MarkerPositionBinned4

GrammaticalMarkers->MarkerPositionBinned4 does not list in/simul as valid value, but it occurs in the data:
$ grep "in/simul" raw/autotyp-data/data/json/Morphology/GrammaticalMarkers.json -m 1
    "MarkerPositionBinned4": "in/simul",

Thank you for the report! I have created #30 to track this and related issues. Should you want to report more problems of this kind, please post them there.


RIG should run as non-root user in container

Summary and context
I would hope to be able to run the streaming gateway with least privilege, but when I restrict privileges in k8s yaml, the RIG will not run
How to reproduce
run in a k8s cluster:
spec:
  securityContext:
    runAsUser: 1000
    runAsGroup: 3000
    fsGroup: 2000
    runAsNonRoot: true

If you run this, you will get an error:
 kubelet, docker-desktop  Error: container has runAsNonRoot and image will run as root

if you comment out runAsNonRoot (keeping the other securityContext settings) you still get an error
kubectl logs ->
mkdir: can't create directory '/opt/sites/rig/var': Permission denied

If you run RIG without these configs, I see this in Popeye (a k8s scanning tool)
  · default/streaming-gateway-848c8545f7-582kh.....................................................😱
    😱 [POP-302] Pod could be running as root user. Check SecurityContext/image.
    🐳 reactive-gateway
      😱 [POP-306] Container could be running as root user. Check SecurityContext/Image.

Describe whether you use Docker or not, the environment variables you set and the config files you use.

Docker/k8s (see above)

Describe how your clients are set up, whether they connect via SSE or WS, etc.

..but I really expected this:
RIG to run as non-root user, with these group/user permissions.
Versions (please complete the following information):**

Host OS: Mac/Docker for Desktop/K8s 1.16.5
Frontend n/a
RIG version as shown on startup Reactive Interaction Gateway 2.4.0<EMAIL_ADDRESS>ERTS <IP_ADDRESS>, OTP 22]

Thanks @chadmott for reporting this. That should not be the case. I'll look into this.

@chadmott I've created the PR #317 which allows running rig with the following securityContext:
spec:
  securityContext:
    runAsUser: 1000
    runAsGroup: 1000
    runAsNonRoot: true

Do you think this is this fine?


some additions and changes

fix some pubsub stuff
update Get Videos, add stream_id and muted_segments
add game_name to Search Channels
add duration to Get Clips
add is_mature to Get Streams
remove strip_option from all builders

bors r+


Add/refine environment setup and run instructions for new team members

Description
Refine readme with information that new team member may need to run the dbaas-operator.
Verification Steps
As covered in the readme.
Type of change

[ ] New feature (non-breaking change which adds functionality)

Checklist (Definition of Done)

- [ ] All acceptance criteria specified in JIRA or in issue number have been completed
~~- [ ] Unit tests added that prove the fix is effective or the feature works ~~

[ ] Documentation added for the feature
- [ ] all relevant tests are passing
- [ ] Code Review completed
- [ ] Verified independently by reviewer

@tchughesiv I'm happy here, any further thoughts/suggestions from you or can we clear the changed requested marker?


tsconfig.json paths not working

System Info
System:
OS: macOS 13.3.1
CPU: (10) arm64 Apple M1 Pro
Memory: 91.59 MB / 32.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 18.15.0 - ~/.nvm/versions/node/v18.15.0/bin/node
Yarn: 1.22.19 - ~/.nvm/versions/node/v18.15.0/bin/yarn
npm: 9.5.0 - ~/.nvm/versions/node/v18.15.0/bin/npm
Browsers:
Chrome: 112.0.5615.137
Safari: 16.4
npmPackages:
@rspack/cli: ^0.0.0-canary-e4a4943-20230505164427 => 0.0.0-canary-e4a4943-20230505164427
Details
When adding paths to tsconfig.json, rspack is unable to resolve them:
    "paths": {
      "my-alias/*": ["./src/*"]
    },

src/main.ts:
import { someValue } from "my-alias/otherfile";

Error:
error[internal]: Resolve error
  ┌─ src/main.ts:2:1
  │
2 │ import { someValue } from "my-alias/otherfile";
  │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Failed to resolve my-alias/otherfile in /path/to/src/main.ts

Reproduce link
https://github.com/edusperoni/rspack-tsconfig-paths-issue
Reproduce Steps

npm i
npx rspack

do you config https://www.rspack.dev/config/resolve.html#resolve-tsconfigpath  this?

I guess we need to make it more clear: Rspack doesn't read tsconfig.json.
I remember esbuild will read tsconfig.json, not sure which way it's better. But a good choice for improving DX is more checking by @rspack/cli.
A best-effort checking:

If the tsconfig.json exists with paths filed.
If the resolve-tsconfigpath is not configured.

Add a warning or else in the terminal when running @rspack/cli.

Maybe I'm doing something wrong? I've updated the example with:
resolve: {
    tsConfigPath: "./tsconfig.json",
  }

and it still doesn't work

you should both set tsconfigPath as absolute path and set baseUrl as '.' to make tsconfig alias work right now, I thinks this should be improved

rspack.config.js

const path = require('path');
/**
 * @type {import('@rspack/core').Configuration}
 */
module.exports = {
  entry: './src/main.ts',
  resolve: {
    tsConfigPath: path.resolve(__dirname, './tsconfig.json'),
  },
};

tsconfig.json

{
  "compilerOptions": {
    "rootDir": "./src",
    "module": "commonjs",
    "paths": {
      "my-alias/*": ["./src/*"]
    },
    "baseUrl": ".",
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "skipLibCheck": true
  }
}

related: https://github.com/web-infra-dev/rspack/issues/2312


update issue template

What type of PR is this?
/kind enhancement

What this PR does / why we need it:
Add istio version, kmesh mode and kernel version in bug report and question issues.
It allows others to clarify environmental information more quickly.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/lgtm
/approve


added else if after if section

Some problems with this:

there is no else if statement, there is nothing special about else if in zig; it is just a case of nested ifs.
it does not follow the testing pattern that the others use
it makes use of print, which is undesirable
various wording issues, and spelling errors; explanation is hard to follow


[Feature] Export config module

Good day!
First of all,  thanks for awesome work!
It would be great to add config module to library's exports alongside with setupJestScreenshot and toMatchImageSnapshot. In particular, it would allow to read snapshotsDir, which is crutial for building proper custom path.
The change seems simple and I could make a PR if needed.

Hi,
I think this can be accomplished quite easily:
In the index.ts the config() function needs to be exported which does exactly that. Also, this needs to be documented.
I'd happily accept a pullrequest.

Thanks for your contribution.


take a long time to  continue debugging after halt at a breakpoint

From @aeschli on March 30, 2017 7:52
From @Liudx1985 on March 30, 2017 1:12

VSCode Version: Code 1.10.2 (8076a19fdcab7e1fc1707952d652f0bb6c6db331, 2017-03-08T14:02:52.799Z)
OS Version: Windows_NT ia32 6.1.7601
Extensions:

Extension
Author
Version

python
donjayamanne
0.6.0

xml
DotJoshJohnson
1.7.0

code-runner
formulahendry
0.6.15

changeEncode
lanmj2004
0.0.8

cpptools
ms-vscode
0.10.5

sublime-keybindings
ms-vscode
2.0.1

Steps to Reproduce:
1.set debug point at python code,start debugging
2.halt at breakpoint, check the variables a little while, then continue run, the vscode takes a very long time to work normal
Copied from original issue: Microsoft/vscode#23631
Copied from original issue: DonJayamanne/pythonVSCode#854

From @asierralozano on April 20, 2017 13:53
I'm having this issue too. Just to clarify, i'm using the remote debugging for debugging Autodesk Maya

@asierralozano , apologies for not getting back to you on this issue.
The PTVS team are in the process of making some changes to the debugger that would improve the performance of this.
FYI - the extension is making use of the debugger developed by the PTVS team.

@brettcannon There are two solutions to this problem:

Rewrite the PTVS debugger in Cython (actually not as difficult as it seems)
Switch to the pydevd debugger.

I have an uncompleted PR for the latter. Will submit if asked, but I don't have time to complete it.

@xoviat thanks for the suggestions. We are actively discussing this already on the team and how we can share the work with the PTVS team.

Are there any changes?

Please check here:
https://github.com/Microsoft/vscode-python/issues/538

@ghost @theotheo @asierralozano
Hi everyone, you may or may not be aware of this, we've started working on a new debugger for the python extension. It is still labeled as experimental. However it is shipped with the extension.
Please could you try this new debugger and let us know how it is.

You could either chose the Python Experimental debug configuration
Or update the "type":"python" setting in launch.json to "type":"pythonExperimental" to try this new debugger.

Can confirm, experimental debugger is MUCH faster on Windows 7. excel = pd.ExcelFile(FILE) operation used to take around 2 minutes for a file of size 5-6 MB but this time has reduced to as much as only a few seconds with experimental debugger.


fix(test): adjust test run times to avoid collisions and env resets - DO NOT MERGE!

This pull request requires some explanation.
Ideally, each test should start with a clean environment. However, the current OSIO 'env reset' feature is not 100% reliable and can also require several minutes to run. An enhanced 'delete space' feature, which is not yet available, may resolve this problem.
As a short-term workaround, we will try the following sequence of tests. By resetting the env every 3rd test, and by allowing this reset (1) hour to complete, we hope to be able to run all the tests and not have tests fail due to OSO quotas being exceeded:
00:05 devtools-test-e2e-openshift.io-SpringBootHealth-cluster-one
01:05 devtools-test-e2e-openshift.io-SpringBootHttp-cluster-one
02:05 devtools-test-e2e-openshift.io-chetest-cluster-one   (env reset)
03:05 devtools-test-e2e-openshift.io-SwarmHealth-cluster-one
04:05 devtools-test-e2e-openshift.io-SwarmHttp-cluster-one
05:05 devtools-test-e2e-openshift.io-chetest-cluster-one   (env reset)
06:05 devtools-test-e2e-openshift.io-vertxHealth-cluster-one
07:05 devtools-test-e2e-openshift.io-vertxHttp-cluster-one
08:05 devtools-test-e2e-openshift.io-chetest-cluster-one   (env reset)
09:05 devtools-test-e2e-openshift.io-smoketest-cluster-one
10:05 devtools-test-e2e-openshift.io-analyticstest-cluster-one
11:05 devtools-test-e2e-openshift.io-chetest-cluster-one   (env reset)
12:05 devtools-test-e2e-openshift.io-smoketest-cluster-one
13:05 devtools-test-e2e-openshift.io-analyticstest-cluster-one
14:05 devtools-test-e2e-openshift.io-chetest-cluster-one   (env reset)
15:05 devtools-test-e2e-openshift.io-smoketest-cluster-one
16:05 devtools-test-e2e-openshift.io-analyticstest-cluster-one
17:05 devtools-test-e2e-openshift.io-chetest-cluster-one   (env reset)
18:05 devtools-test-e2e-openshift.io-smoketest-cluster-one
19:05 devtools-test-e2e-openshift.io-analyticstest-cluster-one
20:05 devtools-test-e2e-openshift.io-chetest-cluster-one   (env reset)
21:05 devtools-test-e2e-openshift.io-smoketest-cluster-one
22:05 devtools-test-e2e-openshift.io-analyticstest-cluster-one
23:05 devtools-test-e2e-openshift.io-chetest-cluster-one   (env reset)

This is not a workable solution. The timing is way too complex and brittle. We have to find a better way.

Closing - this approach will not work.


feat(perf): Simplify array get when most recent array set writes to the same index

Description
Problem*
Part of general effort to reduce Brillig bytecode sizes
Summary*
This takes inspiration from https://github.com/noir-lang/noir/pull/6207 that the value is still known at a previous array set when the index is dynamic.
Additional Context
Documentation*
Check one:

[X] No documentation needed.
[ ] Documentation included in this PR.
[ ] [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

[X] I have tested the changes locally.
[X] I have formatted the changes with Prettier and/or cargo fmt on default settings.

I don't think this takes into account enable_side_effects

Ah yes good catch. I'm not sure if we can have this optimization here then as we need more information than just the array instructions. Going to convert this back to a draft for now.

Closing in favor of https://github.com/noir-lang/noir/pull/6684 which takes side effects into account


Playlist url not connecting for Docs.microsoft.com

Attempting to create a PowerBI sub-category with playlist utilizing docs.microsoft.com url.  Why do I receive error that docs.microsoft.com refused to connect?
I get a similar issue connecting to a Stream Channel.
Is there something else I need to do to enable these sites for use within a playlist (MS Learning Pathways webpart)?

Duplicate of #250


Build error (with a possible fix)

hi, debug build errored from ./data/src/main/java/dev/zwander/cellreader/data/util/UpdatableTreeSet.kt saying:

Argument type mismatch: actual type is 'java.util.function.IntFunction<kotlin.Array>' , but 'kotlin.Array<(out) T!>!' was expected.

so i just did this:
override fun <T : Any?> toArray(generator: IntFunction<Array<T>>): Array<T> {
    val array = generator.apply(wrapped.size)
    return wrapped.toArray(array)
}

and it built successfully with like 5 warnings but the app works so... ¯\_(ツ)_/¯

This should be fixed now.

just built and tested, can confirm its fixed. 🚀


Knative serving sync

Synchronize with knative main branch.

LGTM

Hi @varasu, I think we should rather rebase and force push instead of merging (see here). However, this has to be done by one of the maintainers. I will take care of that later today.


Be more explicit that Django logging integration only captures ERROR

The django LOGGING integration docs don't mention that they only capture ERROR and a user was having trouble in IRC (https://botbot.me/freenode/sentry/2016-04-12/?msg=63974495&page=1) as a result.
It's a fine line between documenting all the minutiae of how this works and sending people to the Python logging docs, but I imagine the most common modification people would want is to send WARNING or INFO to Sentry.

I'm ok with this, but very soon we're going to say "logging events are no longer valid in Sentry" as we double down on being used for reporting issues, and not just aggregating arbitrary logs.


Allow Generate-version.h to work with paths that contain spaces

rdar://problem/38480932

@swift-ci please smoke test


Make it Clear That This Module is for AngularJS

... and not just Angular which stands for Angular 2+

Is this module for AngularJS and Angular, or just for AngularJs?


Setup on Ubuntu OS produces warning / errors

Ubuntu 14.04LTS via Vagrant(1.7.4) /VitualBox(v5.0.2r102096)
HostOS : Windows 7

Steps to reproduce the issue:
Setup OS:

mkdir Whisk
cd Whisk
vagrant init ubuntu/trusty
vagrant up
vagrant ssh
(ubutsu)# sudo apt-get update

Setup OpenWhisk
Based on the instruction.
https://github.com/openwhisk/openwhisk/blob/master/tools/ubuntu-setup/README.md
Provide the actual results and outputs:
W: GPG error: https://apt.dockerproject.org ubuntu-trusty InRelease: The following signatures couldn't be verified becau
Downloading/unpacking markupsafe
  Downloading MarkupSafe-0.23.tar.gz
  Running setup.py (path:/tmp/pip_build_root/markupsafe/setup.py) egg_info for package markupsafe

Installing collected packages: markupsafe
  Running setup.py install for markupsafe

    building 'markupsafe._speedups' extension
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/in
    markupsafe/_speedups.c:12:20: fatal error: Python.h: No such file or directory
     #include <Python.h>
                        ^

Additional information you deem important:

This error seems to happen on Ubuntu image on OpenStack.
Run the procedure twice.

Suspecting the reading python environment is in sufficient. Also there is difference between Vagrant version and native ubuntu version.

User @glikson also reporting this problem in vagrant use case.
I think docker-py or ansible depends on python-dev being installed

@glikson you think we also required libffi-dev ?

If I am not mistaken, libffi-dev is needed to resolve an issue that pops up later, with cryptography package not finding ffi.h

Yes so validated that both are required thanks

I also experience the same problem today. For me the issue was python-dev install command failed. I manage to fix the issue by reordering all.sh. I moved ansible.sh after pip.sh. This seems to be working. I have not yet reached the end as currently docker images are being pulled but I have at least moved past python-dev errors. If you guys think it is the right fix, I can send PR.
echo "*** installing basics"
install "$SCRIPTDIR" misc.sh

echo "*** installing python dependences"
install "$SCRIPTDIR" pip.sh

echo "*** installing ansible"
install "$SCRIPTDIR" ansible.sh

echo "*** installing java"
install "$SCRIPTDIR" java8.sh

echo "*** install scala"
install "$SCRIPTDIR" scala.sh

echo "*** installing docker"
install "$SCRIPTDIR" docker.sh

echo install all with total errors number $ERRORS
exit $ERRORS

Don't see how moving ansible before Java, scala, and docker would make a difference.
Could copy paste the errors on how it failed?

@csantanapr I will try again tomorrow and paste the stacktrace.

Ah !!
I think I have suspicion  to verify, this scripts might have a raise condition they all run in parallel

There might be a need to have some serial dependencies

Today morning I tried the clean setup without making any changes and everything went fine and I was able to get OpenWhisk running. The difference today is that I was using office faster internet connection.

Thanks @shekhargulati I think I have a fix #2362


can't send email when encrypted

With the current version on f-droid sending normal emails works, but not for encrypted mails.
In the notification bar it's saying "sending email" without ever completing.

Dear @hakaishi ,
Thanks for your report. We are aware of this issue caused after we upgraded the mentioned feature on the web. The Android app is getting updated and will support the latest version within one or two weeks.
Please, let us know if you have any other issues or suggestions for our services at any time.

Hello @hakaishi . The feature has been completely redesigned in accordance with the Web Client and is already available in the Google Play. The update is also ready for the F-Droid version, but will be available later due to the peculiarities of their automatic assembly system from the source-code.


Can't build repo

Dotnet.exe no longer sits under the bin subdirectory and since the build scripts just pick up whatever is the bleeding edge, the build fails.

+1

@mellinoe

@MichalStrehovsky This should be fixed now. Please let me know if you hit more issues.


advice:server.listen(port,[address])

sth. like server.listen(port,<IP_ADDRESS>) or server.listen(port,::0)

As of 1.5.0 address and backlog should both work when calling server.listen.  All proxy servers will listen on the provided address.  When tunneling to an ssl proxy, that connection will also try to connect at the provided address.


SMTP Fails to send through selected SMTP rather sends through localhost

For some reason, when we try to setup STMP, we get an SMTP failed error.  When our admin checks the server he sees that the application is connecting to localhost rather than to the selected office365 smtp server.
The server log shows the following:
SMTP connection from [<IP_ADDRESS>]:35468 (TCP/IP connection count = 1)
2016-04-01 13:05:51 dovecot_login authenticator failed for static-108-52-239-21.phlapa.fios.verizon.net (crm.xxxxxxxxxx) [<IP_ADDRESS>]:35468: 535 Incorrect authentication data (set_id=email@xxxxxxxxxxxxxx)
2016-04-01 13:05:57 dovecot_plain authenticator failed for static-108-52-239-21.phlapa.fios.verizon.net (crm.xxxxxxxxxx) [<IP_ADDRESS>]:35468: 535 Incorrect authentication data (set_id=email@xxxxxxxxxxx)
2016-04-01 13:05:57 SMTP connection from static-108-52-239-21.phlapa.fios.verizon.net (crm.xxxxxxxxxxxxxxx) [<IP_ADDRESS>]:35468 lost
2016-04-01 13:07:27 SMTP connection from [<IP_ADDRESS>]:36097 (TCP/IP connection count = 1)
Does anybody have an idea what could be causing this?

Please describe how you are trying to do this setup and where error occurs.

This error occurs when I go to my emails and send an email.  It give the SMTP Failed Error, then we check the logs and that is what is happening.
My admin says that ORO is sending emails through localhost rather then using the SMTP settings.
Are you able to login and help seewhy this is happening.?

Did you update smtp configuration in parameters.yml?

We just updated it in the UI user settings.

Should we update in the parameters.yml.   Do i have to do that one time, or do it one time?

There are two parts: global SMTP configuration in the parameters.yml for all the emails sent from application and user configuration in the user profile for personal emails in case user wants to get them in the original mailbox "sent" folder

OK,  can you send me what we need to change so the SMTP uses our company SMTP server?  Do you have a document on it?

So you are saying the parameters.yml overides the USER settings SMTP settings that we set?

Our Emails are syncing, but the SMTP does not work.

No, opposite, user SMTP configuration overrides system one in user session,

OK well we have the SMTP Settings set for the user and he is unable to send emails.  It throws that error. Are you able to hop on our system and see?

This does not make sense why the issue is happening.  I would like to get this corrected so we can effectively use the system

You can see from the log below that is does now use the predefined User SMTP Setting

MTP connection from [<IP_ADDRESS>]:35468 (TCP/IP connection count = 1)
2016-04-01 13:05:51 dovecot_login authenticator failed for static-108-52-239-21.phlapa.fios.verizon.net (crm.xxxxxxxxxx) [<IP_ADDRESS>]:35468: 535 Incorrect authentication data (set_id=email@xxxxxxxxxxxxxx)
2016-04-01 13:05:57 dovecot_plain authenticator failed for static-108-52-239-21.phlapa.fios.verizon.net (crm.xxxxxxxxxx) [<IP_ADDRESS>]:35468: 535 Incorrect authentication data (set_id=email@xxxxxxxxxxx)
2016-04-01 13:05:57 SMTP connection from static-108-52-239-21.phlapa.fios.verizon.net (crm.xxxxxxxxxxxxxxx) [<IP_ADDRESS>]:35468 lost
2016-04-01 13:07:27 SMTP connection from [<IP_ADDRESS>]:36097 (TCP/IP connection count = 1)

This is what we do to get the Server error

Please feel free to investigate root cause and provide more details or PR with fix, we do have support options for enterprise edition if you are interested.

Im confused.  Are you saying that this is our servers issue?  Or is it your application?   Do you have documentation on the Server Configuration setup regarding the email server.

The issue most likely is with connection to SMTP.

OK,  We solved the SMTP issue.  There was an issue with WHM where it had a setting that blocked SMTP emails.  We turned it off and that corrected it

We got the email working, but i am curious.  It seems that the first type i synced the emails, the emails synced for that day.   It has been 2 days later, and when i hit sync on email, there are no more emails being added to the unread folder.
Is there somethign we are missing to do here.

Here is a screen shot

@rtokarchyk have your daemon been running? (if the issue still stands of course)

@rtokarchyk
I’m closing this issue as we have not received feedback from you. Feel free open it if you have any question.


test check docker resources output

Description:

Related issue(s):
Fixes #
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 57.59%. Comparing base (6cf8ec3) to head (b50a2c2).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #805   +/-   ##
=======================================
  Coverage   57.59%   57.59%
=======================================
  Files          30       30
  Lines        1403     1403
  Branches      173      173
=======================================
  Hits          808      808
  Misses        574      574
  Partials       21       21

Files with missing lines
Coverage Δ

src/services/DockerService.ts
9.42% <ø> (ø)


Fix for stage

This PR contains a fix for app.js in the stage branch.

Pull Request Test Coverage Report for Build 536

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

Totals

Change from base Build 534:
0.0%

Covered Lines:
1369

Relevant Lines:
1953

💛  - Coveralls

:tada: This PR is included in version 1.0.0 :tada:
Your semantic-release bot :package::rocket:


how to split the traffic with no of connection

Bug Description
Hello
I am using istio 1.12
Can you guide me how can I split the traffic base on no of connection ..
In virtual service I cannot find any clue
Version
Client Version: v1.19.2
Server Version: v1.20.12-gke.1500

helm  : v3.7.2+g663a896

Additional Information
No response

https://istio.io/latest/docs/tasks/traffic-management/tcp-traffic-shifting/? If that is not what you are looking for please provide more details.


Add implementation for simple file read-write

Using "with open() as :" statements to do simple read/write tasks on input data. Example shown can be modified easily in order to get desired output format.

IMO this is already well known.
Therefore I'd not like to add this.
Thanks anyways :)


Add openapi-generator

This would be nice to have a recipe for this awesome tool: https://github.com/OpenAPITools/openapi-generator

app requests should be posted to the bucket repo.
https://github.com/lukesampson/scoop/wiki/Buckets

Done: https://github.com/ScoopInstaller/Main/issues/1822


[RFC] tests: Update tests to neovim changes

Test failures from changes in neovim upstream. the test now documents the correct behaviour as fixed in neovim/neovim#3315

File "/home/travis/virtualenv/python3.2.5/lib/python3.2/site-packages/coverage/annotate.py", line 81
    dest.write(u'  ')
                   ^
SyntaxError: invalid syntax

what.

u'' wasn't in python 3.2 apparently, so coverage.py decided to drop support for py3.2

We tested &rtp as well which broke with XDG. Does really make sense to test this in python-client? Even if relevant for python include path, nothing would stop just having this test in the neovim test suite, as it depends on no python-specific information.

now flake8 is sad
neovim/api/buffer.py:13:1: D211  No blank lines allowed before class docstring (found 1)
neovim/api/common.py:4:1: D211  No blank lines allowed before class docstring (found 1)
...

but locally I don't get this but instead
neovim/plugin/decorators.py:25:5: E731 do not assign a lambda expression, use a def
neovim/plugin/host.py:141:17: E731 do not assign a lambda expression, use a def

How is flake even configured? Or is lints just added/removed between flake versions like that?

@bfredl In .travis.yml, there's:
pip install -q flake8 flake8-import-order flake8-docstrings pep8-naming;

Maybe you don't have flake8-docstrings installed locally?

Maybe not. It's just that it seem to be an incredingly fragile way to configure a linter. I would expect the chosen lints to be configured by a config file and not by which modules "just happens" to be installed on every dev machine. (so that one gets a warning if an expected module is missing) I will look more into it tomorrow.
Anyway, do you think the code should be changed or should this error D211 be supressed?

should this error D211 be supressed

:+1:


Import: sampler.minFilter/magFilter is ignored

At least when they are both set to 9728 (NEAREST), the interpolation on the Image Texture node in Blender should be set to "Closest".

I can do this.