Conventions for creating textures

Dealing with textures is a hard problem, because it depends on what type you want to create, how you use it, whether the user wants to do some post-processing right after creation or converting.
The design problem is to create textures on demand when the information of how the textures are created is not relevant to the usage of the library in that context. For example, if you draw a textbox on the screen, it does not matter how those characters are created and therefore the API should hide this.
To creating a texture, some kind of method look up is required. This can be abstracted to more or less degree, but there is no "right" way to do it. All abstractions makes it harder to reason about what happens and where. There is a tradeoff, where designing for reuse is valued against the effort into making the abstraction nice to use. In this case, it is very unlikely that we can come up with a design that satisfy all usages. When this happens, we usually get better results from doing as little as possible.
We can avoid dealing with this design problem by using plain functions that return a value of a type. Since we got piston-current it allows us to code in this way without much effort. This can be done through other ways, for example a mutable global with a mutex or a current channel that creates textures through the device on the main thread, or similar mechanisms.
For example, Foo is a type somewhere deep down in a library that needs to create textures on demand. By assigning a function with the arguments you need, the function can access the device through a current object and create the texture.
struct Foo<T> {
    textures: Vec<T>, // stores textures
    create_texture: |width: u32, height: u32|: 'static -> T; // creates new textures
}

let foo = Foo::new(|w, h| unsafe { current_device().create_texture(w, h) });
```

Closures with `'static` lifetime is the same as a plain function. The reason it has to be `'static` is to avoid propagating the lifetime constraint through the API. This convention is only for cases where using a normal lifetime leads to a design problem.

The consequences of this convention on library design are:

* We don't need any `texture` repo but can call this `image_size` instead (since `ImageSize` is useful trait to share among image/texture like structures)
* The texture libraries (OpenGL, Gfx) will not share a common convention for creating textures, but we will try to keep similar method names
* You have to use piston-current or a shared memory mechanism
* It is easy to reason about what happens since it is user specified
* Higher level libraries can take advantage of current objects to hide the boilerplate
* With current objects, this is overridable and can be decided at run time

For gfx_graphics, there is a work around by delaying creation of textures until next frame.
This doesn't seems to be a problem for the moment, so I'll close this.


Interactive code samples should support a non-JSX view

On the old website, the interactive code samples on the home page used to have 3 tabs:

JSX editor
Non-JSX editor
Preview

The non-JSX tab showed what the JSX compiled to (eg <div/> => React.createElement('div')). This was a useful view for people who are new to JSX or who just feel more comfortable writing regular JavaScript.
We should add this view back to the code editor.
Please work with @joecritch and @bvaughn if you'd like feedback on UI/UX.

Closed via #141


Add docstring about CNN transposing

Addresses https://github.com/patrick-kidger/equinox/issues/728

LGTM -- thank you!


array_map() Error with Forge CLI 1.8.0 on Darwin OS

Forge CLI Version
1.8.0
PHP Version
8.2.9
Description
Encountered an array_map() error in Forge CLI version 1.8.0 when trying to deploy a website using the forge deploy command.
Environment

Forge CLI Version: 1.8.0
PHP Version: 8.2.9
Operating System: Darwin

Expected Behavior
Expected the website to deploy without errors.
Actual Behavior
Received an error message stating:
array_map(): Argument #2 ($array) must be of type array, string given.

Additional Information
The issue appears consistently when attempting to deploy using the forge deploy command.
Error Message

Steps To Reproduce

Run the command forge deploy [WEBSITE_NAME] to deploy a website.
Encounter the array_map() error.

Steps to Reproduce

Execute the command forge server:switch.
Select the desired server from the list using the UP arrow key on the keyboard.
Run the command forge deploy.
Select the appropriate site for deployment using the UP arrow key.
Encounter one of the two error messages:

either:

or:

Additional Information

The issue is consistent and occurs every time the forge deploy command is run for the first time after using forge server:switch.
The problem does not seem to affect the deployment process itself, as the site still deploys successfully.
The errors do not occur in subsequent forge deploy commands after the first run.

So far, I've not been able to replicate this issue. I can switch servers and deploy without any exceptions.

@IbrahimAlshekh quick question, are you the owner of both servers?

@IbrahimAlshekh thanks for confirming. I'm still unable to replicate this issue or see what may be causing it. Assigned to @nunomaduro to check in here.

Hi @IbrahimAlshekh, I will need access to your account information, to able to replicate this issue locally. Please reach out our support at<EMAIL_ADDRESS>and reference this issue on the support ticket. We will take it from there.

Did we find a resolution? Just encountered this in my CI pipeline as well.


Angular vs react

Hey which one is better angular or react to use in the development of website, webapp

React.


refact!: remove thread local support

BREAKING

Removed: thread_local cargo feature.
Removed: clhlock::thread_local_node! macro.
Removed: clhlock::raw::Mutex::lock_with_local.
Removed: clhlock::raw::Mutex::lock_with_local_unchecked.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.38%. Comparing base (ee20977) to head (cf72220).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##              main       #3      +/-   ##
===========================================
- Coverage   100.00%   97.38%   -2.62%
===========================================
  Files            7        6       -1
  Lines          168      153      -15
===========================================
- Hits           168      149      -19
- Misses           0        4       +4

Flag
Coverage Δ

97.38% <ø> (-2.62%)
:arrow_down:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


README.md usage and examples are not detailed

Context
The documentation does not mention:
-installing dependencies
-running the language file setup using npm run language
-compiling the ts files into js using tsc
documentation does not include usage examples
eg npx iabc
npx iabc har
npx iabc curl
npx iabc open-api
Link: https://github.com/idrinth-api-bench/cli

Context
The documentation does not mention: -installing dependencies -running the language file setup using npm run language -compiling the ts files into js using tsc

That should be in the README, agreed

documentation does not include usage examples
eg npx iabc npx iabc har npx iabc curl npx iabc open-api

None of those examples is functional. Will open up a new issue for adding that to the documentation website


Create NFT examples

There is currently an example that shows how to create an SDK instance and create a jetton. There is a need for a similar example that would show how to create an NFT collection, mint some items, and transfer an item. Here are the NFT contract wrapper sources with all their methods.

Sorry, could you help me to find the method of transferring an item?

Sorry, could you help me to find the method of transferring an item?

Oops my bad, I haven't implemented this it seems, I'll try to address this tomorrow

Sorry, could you help me to find the method of transferring an item?

I've added the required method. Use this https://github.com/ton-community/gamefi-sdk/blob/8f4391c9db894ca940585aef192df30327aa1e7e/src/nft/contracts.ts#L108 to open an item by index, then invoke sendTransfer on it


Can't edit layer in Manager when I have multiple maps (one without editable layer, another with editable layer)

I have a Manager app, that has two maps , the first map do not have any editable layer and the second map has one editable layer and one editable table, I can't seem to update the editable layer or the table.
Test App: https://sg-em-devext.mapsdevext.arcgis.com/apps/instant/manager/index.html?appid=9123020a9205402f96adabe1f461cf8a
Test Map: https://sg-em-devext.mapsdevext.arcgis.com/apps/mapviewer/index.html?webmap=eb342453324b4a40899e84e03b1d69d7
Test service setting url: https://sg-em-devext.mapsdevext.arcgis.com/home/item.html?id=d6dde3d98e794484a0546d3afc49a6a9#settings
Repro steps:

Launch the app,
Change map to Manager test map editing enabled
Select a record from the CP_Animal - Citizen Problems
In the Information panel, click on Edit button
Try to edit any of the fields and notice that they are not editable, no console error is showing up.

I am able to edit the layer in map viewer.
I have editing enabled with add, update and delete and editor tracking

Verified in devext


Confirming argv[0] has a non-zero value

This little if statement just confirms that argv[0] got a non-zero value. Since as is a junk value can be concatenated with .so and dlopen will search for the file, this helps prevents that. It shouldn't slow down execution most the time too much, and should help in cases where something has gone wrong. The printf value could be changed to something others find more appropriate.

Sorry, this version doesn't have a printf statement. I can fix that if needed. I wasn't sure what would be appropriate here anyway. My apologies.

This would have been better to insert as it's more to the point:
// abort on no bin name provided
if(strlen(argv[0]) == 0)
   return -1;

So we're getting argv[0], which possibly has no value and relying on that strlen? This uses less code, sorta (you're still getting the value from argv[0] either way), but it's not really more to the point?


Implementation of 3D gaze estimation

Hi,
Thanks for this awesome repo. However, did you actually continue on to do the 3D gaze estimation after this GAN based domain adaptation?

Hey, I did not do any 3D gaze estimation. I used SimGAN in my projects internally on completely different task than gaze estimation. I just released code w/ gaze estimation data set so people could get started quickly and b/c original paper used that dataset


SYN-4427: Add omitempty field for WaitForNavTimeout

Resolves #ISSUE_NUMBER

Before the change?

WaitForNavTimeout was default set to 0 if we set it to null or remove this field, which cause immidiate timeout

After the change?

this will set filed to null or empty after this changes.

Pull request checklist

[ ] Acceptance Tests have been updated, run (make testacc), and pasted in this PR (for bug fixes / features)
[ ] Docs have been reviewed and added / updated if needed (for bug fixes / features)

Acceptance Test Output

I have read the CLA Document and I hereby sign the CLA

Does this introduce a breaking change?

[ ] Yes
[ ] No

recheck

I have read the CLA Document and I hereby sign the CLA

recheck

I have read the Code of Conduct and I hereby accept the Terms


SSL Certificate failure.

When attempting to call the plugin it fails due to SSL Certificate failure.
I'm working on a fix if I can figure it out.

Hi! Sorry for the late response.
Could you share the log you encountered? I will be happy to addressing this issue.

Hi, @Heratiki! Does the error persist?

line 1198, in do_open
raise URLError(err)
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:733)>

Having the same issue as above. I made sure python was updated to 3.13, using GIMP 2.10. Please advise.
Error message:
URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)>

@lupiania, @royco2, which operations did you try out? I just tested create and edit, and they seem to be working fine here.
It would be nice to know the operating system and packaging format of your GIMP (is it distro-native? Is it Flatpak?).
Also, unfortunately, GIMP 2.10 still uses Python 2.7 (there's nothing I can do about that since Python 3 support will only come with GIMP 3), so keep that in mind and make sure your system has the latest version of it.

Starting to think it's an operating system issue. Macs probably outdated.

All i tried to do was setup the config. it was the latest gimp win 11 distro and it was on win 11. Havent updated python, will try that later today.

I solved it on my own computer with AI help.  I had to install python and the certifi certificates library ("pip install certify"). Then I added the certifi to the code.
import certifi import
import ssl
context = ssl.create_default_context(cafile=certifi.where())
response = urllib2.urlopen(request, context=context)
I don't want to edit the actual code because I don't know how to do it and wouldn't know how to make it use certifi if it's not installed on the computer, but that worked to solve the issue on my computer.
I hope this helps,


Fix enableLocalNodeCompiler type definition

There was apparently a minor mistake that prevented using the enableLocalNodeCompiler the type definition seemed to be wrong.
This PR intends to fix that minor typo by adding the expected accepted types.

Thanks! a csharp moment there.. I will keep it default as true anyway, as it is the current functionality.


Add russian provinces

@btd, I added your Russia list to https://www.npmjs.com/package/countrystatesjs if you need something now.


Us2000 c

Added Support for US2000C

I guess this is also adding support for US3000C ? Given they're "the same kind/generation"?
Thanks for the PR!


[Automation] Generate Fluent Lite from TypeSpec mongocluster

[Automation] Generate Fluent Lite from TypeSpec mongocluster

/azp run java - mongocluster - mgmt - tests

@v-hongli1 Please update release-tool code, and specify version in configure.yml. We should generate GA version SDK.

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure.resourcemanager:azure-resourcemanager-mongocluster


 I changed it to the correct function and made sure it actually compiles this time.

Thanks!


Not able to port a 6-layered mobilenet tflite model to mobile

Please go to Stack Overflow for help and support:
https://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug, a feature request, or a significant problem with documentation (for small docs fixes please send a PR instead).
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

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

Set the mobileNet model endpoint to conv6-depthwise
Re-train the model from scratch with using cifar10 dataset
Freeze the graph with the checkpoints
import tensorflow as tf
from tensorflow.python.framework import graph_util
import os,sys

output_node_names = "MobilenetV1/Predictions/Reshape"
saver = tf.train.import_meta_graph('/home/users/saman/yitao/tensorflow_android/models/research/slim/batch_32/model.ckpt-156300.meta', clear_devices=True)
graph = tf.get_default_graph()
input_graph_def = graph.as_graph_def()
sess = tf.Session()
saver.restore(sess, "/home/users/saman/yitao/tensorflow_android/models/research/slim/batch_32/model.ckpt-156300")
output_graph_def = graph_util.convert_variables_to_constants(
sess, # The session is used to retrieve the weights
input_graph_def, # The graph_def is used to retrieve the nodes
output_node_names.split(",") # The output node names are used to select the usefull nodes
)
output_graph="frozen-model-conv6-bat-32.pb"
with tf.gfile.GFile(output_graph, "wb") as f:
f.write(output_graph_def.SerializeToString())
sess.close()
(4) Optimize the model
bazel-bin/tensorflow/tools/graph_transforms/transform_graph
--in_graph=/home/yitao/TF_1.8/tensorflow/my_frozen_pb/frozen-model-conv6-bat-32.pb
--out_graph=/home/yitao/TF_1.8/tensorflow/my_frozen_pb/frozen-model-conv6-bat-32-optimized.pb
--inputs='input'
--outputs='MobilenetV1/Predictions/Reshape'
--transforms='
strip_unused_nodes(type=float, shape="1,32,32,3")
remove_nodes(op=Identity, op=CheckNumerics)
fold_constants(ignore_errors=true)
fold_batch_norms
fold_old_batch_norms
(5) Convert the model to tflite
bazel-bin/tensorflow/contrib/lite/toco/toco
--input_file=/home/yitao/TF_1.8/tensorflow/my_frozen_pb/frozen-model-conv6-bat-32-optimized.pb
--input_format=TENSORFLOW_GRAPHDEF  --output_format=TFLITE
--output_file=/home/yitao/TF_1.8/tensorflow/my_frozen_pb/frozen-model-conv6-bat-32-optimized.tflite --inference_type=FLOAT
--input_type=FLOAT --input_arrays=input
--seed2
--output_arrays=MobilenetV1/Predictions/Reshape --input_shapes=1,32,32,3
--allow_custom_ops
You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
Not able to train a model from scratch and port it Android to utilize the Android Nerual Network api through TFLite. After training a model and following the steps to convert the graph to tflite model, there are still some ops that are not supported by the TFLite runtime in my graph. What should I do?
Any help is apreciated!
Logcat is throwing the following errors. It seems that those ops are not stripped from the model during the optimization step.
Source code / logs
08-03 15:14:52.183 10271-10271/android.example.com.tflitecamerademo E/AndroidRuntime: FATAL EXCEPTION: main
Process: android.example.com.tflitecamerademo, PID: 10271
java.lang.RuntimeException: Unable to start activity ComponentInfo{android.example.com.tflitecamerademo/com.example.android.tflitecamerademo.CameraActivity}: java.lang.IllegalArgumentException: Internal error: Cannot create interpreter: Didn't find custom op for name 'RandomUniform' with version 1
Didn't find custom op for name 'FLOOR' with version 1
Didn't find custom op for name 'RSQRT' with version 1
Didn't find custom op for name 'FIFOQueueV2' with version 1
Didn't find custom op for name 'QueueDequeueV2' with version 1
Didn't find custom op for name 'SquaredDifference' with version 1
Registration failed.

Following is the log of the TOCO converter.
tensorflow/contrib/lite/toco/graph_transformations/graph_transformations.cc:39] Before Removing unused ops: 224 operators, 311 arrays (0 quantized)
2018-08-03 14:39:47.544660: I tensorflow/contrib/lite/toco/graph_transformations/graph_transformations.cc:39] Before general graph transformations: 224 operators, 311 arrays (0 quantized)
2018-08-03 14:39:47.544705: W tensorflow/contrib/lite/toco/graph_transformations/resolve_constant_random_uniform.cc:85] RandomUniform op outputting "MobilenetV1/Logits/Dropout_1b/dropout/random_uniform/RandomUniform" is truly random (using /dev/random system entropy). Therefore, cannot resolve as constant. Set "seed" or "seed2" attr non-zero to fix this
2018-08-03 14:39:47.547793: I tensorflow/contrib/lite/toco/graph_transformations/graph_transformations.cc:39] After general graph transformations pass 1: 179 operators, 277 arrays (0 quantized)
2018-08-03 14:39:47.548771: W tensorflow/contrib/lite/toco/graph_transformations/resolve_constant_random_uniform.cc:85] RandomUniform op outputting "MobilenetV1/Logits/Dropout_1b/dropout/random_uniform/RandomUniform" is truly random (using /dev/random system entropy). Therefore, cannot resolve as constant. Set "seed" or "seed2" attr non-zero to fix this
2018-08-03 14:39:47.550304: I tensorflow/contrib/lite/toco/graph_transformations/graph_transformations.cc:39] Before dequantization graph transformations: 179 operators, 277 arrays (0 quantized)
2018-08-03 14:39:47.552372: I tensorflow/contrib/lite/toco/allocate_transient_arrays.cc:329] Total transient array allocated size: 131072 bytes, theoretical optimal value: 131072 bytes.
I noticed that the RandomUniform is complaining about the seed. Is there a way I can set the seed for the /dev/random from the system?
Thanks.

Correct me if I'm wrong, but those ops seem to be part of your model.  If it's part of the model, it won't get stripped and you'll need custom ops for them.  I'm curious about your model can you post it?

Hi gragundier,
Thanks for your reply.
It is a simplified version of mobilenet v1. I changed the end point of the mobilenet model.
You can find the end point in models/research/slim/nets/mobilenet_v1.py
I changed that to Conv2d_6_pointwise layer.
def mobilenet_v1_base(inputs,
                      final_endpoint='Conv2d_6_pointwise',
                       min_depth=8,
                       depth_multiplier=1.0,
                       conv_defs=None,
                       output_stride=None,
                       use_explicit_padding=False,
                       scope=None):

It could be that you are now feeding in a placeholder input. You seem to have a queue and some loss functions. Could you provide the frozen graphdef (or even a screenshot of the graph) so that we can see what else it could be. @gargn, could you comment.

Hi,
Attached is the frozen model.
frozen-model-conv6-bat-32.zip

I am still not able to understand this fully, although I was able to find a way to work around this problem.
I need to provide an eval model to the freeze_graph script instead of using the one I save while training my model.
If I train a model and save the pbtxt file, which contains the graph, should TensoFlow freeze_graph be able to remove all the ops that are not related to inference? Because we only freeze a model when we do not want to update the weights anymore.
I found this quite inconvenient to write up another graph only for inference.
Please correct me if I have any misunderstanding on this, thanks!

I ran the following command on the TensorFlow nightly build (installed using the command pip install tf-nightly). The command resulted in the error ValueError: Invalid tensors 'input' were found.:
tflite_convert \
--graph_def_file=$TENSORFLOW_FILE \
--output_file=$TFLITE_FILE \
--input_arrays=input \
--output_arrays=MobilenetV1/Predictions/Reshape \
--input_shapes=1,32,32,3
--allow_custom_ops

I add this point because this error seems different than the one that you noted. I looked into the model using TensorBoard and it appears that your model is a MobileNet training graph containing the ops FIFOQueueV2, QueueDequeueV2, SquaredDifference. TensorFlow Lite only works with eval graphs, not training graphs.
In order to create a MobileNet eval graph:

Create a separate eval graph. You can use this MobileNet eval script to generate it from the checkpoints: https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet_v1_eval.py
Pass the correct input and output nodes to the freeze_graph.py script. I suggest using the command line tool.

After you do this, try using the tflite_convert command above from the tf-nightly build if possible. You might need different inputs and outputs. If you run into any issues during this process, please provide any intermediate files including the meta graph and checkpoint files as well as any updated commands.

@gargn hi,
Thanks for your reply!
My workaround is below, which I believe is similar to what you pointed out.
It seems that the construct of the eval graph is based on the slim and arg_scope.
But what should I do if I am trying to train/deploy a custom model which does not slim in the model definition? I do not want to rewrite my model using slim.....
Can you tell me what exactly does the eval model contain?
import tensorflow as tf
slim = tf.contrib.slim
from nets import mobilenet_v1

NUM_CLASSES = 10

def export_eval_pbtxt():
  """Export eval.pbtxt."""
  with tf.Graph().as_default() as g:
    images = tf.placeholder(dtype=tf.float32,shape=[None,32,32,3])
    # using one of the following methods to create graph, depends on you
    #_, _ = mobilenet_v1.mobilenet_v1(inputs=images,num_classes=NUM_CLASSES, is_training=False)
    with slim.arg_scope(mobilenet_v1.mobilenet_v1_arg_scope(is_training=False,regularize_depthwise=True)):
      _, _ = mobilenet_v1.mobilenet_v1(inputs=images, is_training=False, depth_multiplier=1.0, num_classes=NUM_CLASSES)
    eval_graph_file = '/home/users/saman/yitao/tensorflow_android/models/research/slim/mobilenet_v1_eval.pbtxt'
    with tf.Session() as sess:
        with open(eval_graph_file, 'w') as f:
            f.write(str(g.as_graph_def()))

def main():
    print("python main function")
    export_eval_pbtxt()

if __name__ == '__main__':
    main()

I trained a straightforward model which contains only two convolutional layers. The freeze and tflite conversion when smoothly, but when I deploy to mobile, the application through a segmentation fault.
Thanks.

Since you are able to convert and the segfault is a new issue, can you please provide the resulting segfault stack trace/core dump?

Nagging Assignee @gargn: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

I was able to get the following code working with last night's tf-nightly. It is based off of the Python code that you provided. The main difference is that it freezes the graph and converts the Flatbuffer to a TFLite model within the Python code itself. Can you clarify if this is what you are looking for:
import tensorflow as tf
import numpy as np
slim = tf.contrib.slim
from nets import mobilenet_v1

NUM_CLASSES = 10
MOBILENET_FILENAME = 'PATH-TO-DATA/mobilenet_v1_eval.pbtxt'

INPUT_ARRAYS = ['input']
OUTPUT_ARRAYS = ['MobilenetV1/Predictions/Reshape']

def export_eval_pbtxt():
  """Export eval.pbtxt."""
  with tf.Graph().as_default() as g:
    # Need to provide the name in order to have the name of the input arrays for conversion.
    images = tf.placeholder(dtype=tf.float32,shape=[None,32,32,3], name=INPUT_ARRAYS[0])
    # using one of the following methods to create graph, depends on you
    # _, _ = mobilenet_v1.mobilenet_v1(inputs=images,num_classes=NUM_CLASSES, is_training=False)
    with slim.arg_scope(mobilenet_v1.mobilenet_v1_arg_scope(is_training=False,regularize_depthwise=True)):
     _, _ = mobilenet_v1.mobilenet_v1(inputs=images, is_training=False, depth_multiplier=1.0, num_classes=NUM_CLASSES)

    with tf.Session().as_default() as sess:
        sess.run(tf.global_variables_initializer())
        # Freeze the graph so that you can convert to TFLite it later.
        frozen_graph = tf.graph_util.convert_variables_to_constants(
            sess, sess.graph_def, OUTPUT_ARRAYS)
        with open(MOBILENET_FILENAME, 'w') as f:
            f.write(str(frozen_graph))

def main():
    print("python main function")
    export_eval_pbtxt()

    # Convert the graph.
    converter = tf.contrib.lite.TocoConverter.from_frozen_graph(
            MOBILENET_FILENAME, INPUT_ARRAYS, OUTPUT_ARRAYS)
    tflite_model = converter.convert()

    # Load TFLite model and allocate tensors.
    interpreter = tf.contrib.lite.Interpreter(model_content=tflite_model)
    interpreter.allocate_tensors()

    # Get input and output tensors.
    input_details = interpreter.get_input_details()
    output_details = interpreter.get_output_details()

    # Test model on random input data.
    input_shape = input_details[0]['shape']
    input_data = np.array(np.random.random_sample(input_shape), dtype=np.float32)
    interpreter.set_tensor(input_details[0]['index'], input_data)

    interpreter.invoke()
    output_data = interpreter.get_tensor(output_details[0]['index'])
    print(output_data)

if __name__ == '__main__':
    main()

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


[Storage] Bump version for STG96 GA release

Packages impacted by this PR
Issues associated with this PR
Describe the problem that is addressed by this PR
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.

/azp run js - storage - ci

I expect this newest invocation of Build to pass after my merge of #31790


firebase-admin SDK Timestamps no longer compatible with fireorm collection-update method

The update method of BaseFirestoreRepository of fireorm cannot deal with a date that is created with neest 'firebase-admin' SDK v11.11.1 anymore. (i.e. update(item: T): Promise<T>;)
import { Timestamp } from 'firebase-admin';    // DOES NOT WORK !!!!!!
import { Timestamp } from '@google-cloud/firestore';   // WORKS !!!!!!!

async updateApi(
  trucId: String,
): Promise<Truc | undefined> {
  const truc: Truc = await this.findTruc(trucID);

  let updateTruc = truc;

  updateTruc.changedAt = Timestamp.fromDate(new Date());

  // filter out fields with undefined values from the updateTruc
  for (const key in updateTruc) {
    if (updateTruc[key] === undefined) {
      delete updateTruc[key];
    }
  }

  // Update the Firestore document with the updateTruc fields
  await this.update({ ...truc, ...updateTruc });

  return updateTruc;
}

Before, with firebase-admin SDK version 11.9.0, everything worked:
"dependencies": {
    "firebase-admin": "^11.9.0"
},

This works with v11.9.0:
import { firestore } from 'firebase-admin';

updateTruc.changedAt  = firestore.Timestamp.fromDate(new Date());

But now, with firebase-admin SDK version 11.11.1, the collection-udpate crashes:
"dependencies": {
    "firebase-admin": "^11.11.1"
  },

import { Timestamp } from 'firebase-admin';

updateTruc.changedAt  = Timestamp.fromDate(new Date());

The error message is:

Update() requires either a single JavaScript object or an alternating list of field/value pairs that can be followed by an optional precondition. Value for argument "dataOrField" is not a valid Firestore document. Detected an object of type "Timestamp" that doesn't match the expected instance.

After some more investigation:
The way it still works is as follows !!!!!!
"dependencies": {
    "@google-cloud/firestore": "^7.1.0",
},

import { Timestamp } from '@google-cloud/firestore';

updateTruc.changedAt  = Timestamp.fromDate(new Date());

Summary:
@google-cloud/firestore  7.1.0    WORKS  (calling  updateTruc.changedAt  = Timestamp.fromDate(new Date());)
firebase-admin  11.9.0   WORKS  (calling updateTruc.changedAt  = firestore.Timestamp.fromDate(new Date());)
firebase-admin  11.11.1   DOES NOT WORK !!!!!!  (calling updateTruc.changedAt  = Timestamp.fromDate(new Date());)
It seems that fireorm can only handle Timestamps from @google-cloud/firestore - but no longer with newest version of firebase-admin v11.11.1. (It was able to do it with firebase-admin v10.9.0 - but no longer with v11.11.1 anymore).
So clearly, the firebase-admin SDK added an incompatibility for dates with respect to fireorm updates.
Can fireorm please be fully compatible again to newest fierebase-admin SDK ??
Or what 's the problem suddenly with firebase-admin v11.11.1 ??

Hi ! I have a similar issue:
On project 1 (WORKS):
import * as admin from 'firebase-admin';
item.date = new admin.firestore.Timestamp(timestampData);
await admin.firestore().collection('test').doc(test.id).update({ item: item });

"firebase-admin": "^9.8.0"
On project 2 (DOESN'T WORK):
import * as admin from 'firebase-admin';
const { Timestamp } = require('@google-cloud/firestore'); // Had to change here because previous one was making error
item.date = new Timestamp(timestampData);
await admin.firestore().collection('test').doc(test.id).update({ item: item });

Error: Update() requires either a single JavaScript object or an alternating list of field/value pairs that can be followed by an optional precondition. Value for argument "dataOrField" is not a valid Firestore document. Detected an object of type "Timestamp" that doesn't match the expected instance (found in field "item.date"). Please ensure that the Firestore types you are using are from the same NPM package.)

"firebase-admin": "^11.5.0"
In the end I followed this guy solution: https://stackoverflow.com/questions/68384853/firebase-firestore-timestamp-fromdate-is-undefined and save the date as a JS date
item.date = new  Date(timestampData._seconds * 1000);


Add User Mgmt & Sharing docs

Signed-off-by: Hannah Troisi<EMAIL_ADDRESS>

Mostly LGTM! Couple of quick comments.

 can we alphabetize these?

here as well


Core Refactor + Mobx6

See https://github.com/xh/toolbox/pull/450
One note, beyond what is in the changelog:
There is a bit of risk in this upgrade that applications might either forget to call makeObservable() in a model constructor when needed, or forget to modify a destroy method(). The latter is the most serious concern, and can cause parts of your app to simple become unreactive without any other warning! I don't have a great way to mitigate either of these concerns. One good trick in code review to make sure that whenever we import from '@xh/hoist/mobx' (for the annotations) we also always import makeObservable (which we will also need to call).
Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[x] Caught up with develop branch as of last change.
[x] Added CHANGELOG entry, or determined not required.
[x] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[x] Updated doc comments / prop-types, or determined not required.
[x] Reviewed and tested on Mobile, or determined not required.
[x] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

Made an additional round of changes that actually separates the LoadSupport nicely from the other utilities.  Think its actually substantially clearer.  Curious to get your opinion on the 'Loadable'/'implementsLoading'.  I know you aren't in favor of the latter, but am now looking for a combination of terms that make sense for the class and the property pair.
Would rather not use the xxxSupport convention on the class. -- better to leave it as a convention for mixins.
And with the class called Loadable, seemed weird than that instances would have.isLoadable=true, hasLoadSupport=false
Also various fixes related to CR and some documentation updates.

Made an additional round of changes that actually separates the LoadSupport nicely from the other utilities.  Think its actually substantially clearer.  Curious to get your opinion on the 'Loadable'/'implementsLoading'.  I know you aren't in favor of the latter, but am now looking for a combination of terms that make sense for the class and the property pair.
Would rather not use the xxxSupport convention on the class. -- better to leave it as a convention for mixins.
And with the class called Loadable, seemed weird than that instances would have.isLoadable=true, hasLoadSupport=false
Also various fixes related to CR and some documentation updates.


[BUG] BBoxes not clipped or removed in RandomResizePad and ResizePad

First of all, thanks for your hard and great work!
Describe the bug
I think that the bounding boxes are not clipped or removed correctly if their coordinates come out from the right and bottom edges in the data transformations of RandomResizePad and ResizePad.
To Reproduce
import random

import numpy as np
from PIL import Image

from effdet.data import RandomResizePad

img = Image.new("RGB", (1000, 1500), color=(0, 0, 0))
target = {
    "bbox": np.array([[649, 349, 1400, 703],
                      [1400, 270, 1480, 434]], dtype=np.float64),
    "cls": np.array([1, 2])
}

random.seed(0)
rrp = RandomResizePad(target_size=512, scale=(1.8, 1.8))
img_t, target_t = rrp(img, target)

print(target_t['bbox'])

the code above outputs:
[[ 88.7456 172.4256 550.16   389.9232]
 [550.16   123.888  599.312  224.6496]]

which, if I'm not wrong, shouldn't be correct: we have set the target_size=512 and the first BBox y2 coordinate is 550.16. The same happens with the second BBox that has its coordinates out of the 512x512 image.
Expected behavior
The output of that code I think that should be:
[[ 88.7456 172.4256<PHONE_NUMBER>]]

(first bbox clipped and second bbox removed).
Screenshots
A visualization of what I'm saying.
Before:  After:
Desktop:

Commit: f1032c5495c4257423043c9544f69879848804a5

Suggested fix
Changing the lines 100 and 162 of transforms.py from:
clip_boxes_(bbox, (scaled_h, scaled_w))

to
clip_boxes_(bbox, self.target_size)

the code I wrote to reproduce the issue outputs:
[[ 88.7456 172.4256<PHONE_NUMBER>]]

Visualization of the transformed image:

Thank you in advance!

@mkmenta thanks, looks like a potential issue, I'll dig in more over next few days

Thinking it should be as per below, to ensure clipping to either target image bounds or letterboxing, whichever is smaller.
clip_boxes_(bbox, (min(scaled_h, self.target_size[0]), min(scaled_w, self.target_size[1])))

That's true! Sorry, I missed that.

@mkmenta I'm testing #186 in training


Investigate not writing a machine to DB until registered

Currently a Machine object is created in the database immediately when the registration process starts, and not always clean up.
This seem to be to hold temporary data between requests during the registration process.
This often leads to half-finished machine objects being left around in the database, this specially happens when registering Windows clients for some reason.
This ticket is to track an effort to not save the machine object to the database until it is actually registered, as there is no real point to have it in there. Any in-flight registration should be able to live in memory until complete.

An in-memory solution seems quite good. It still should be implemented with interfaces in mind to be replacable by a small implementation of an external service like Redis in my opinion


Initial release of botservice cli module

Roughly this CR contains command groups for managing bots, channels and authsettings. A lot of this work was already released as a cli extension.
The delta from the extension is -

Added tests for most commands
improved logic in some of the commands
i am using the latest azure-mgmt-botservice python library
added support for id's parameter, corrected various help files etc

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[ ] I adhere to the Command Guidelines.

i am looking at the build errors and fixing them now.

@sptramer for help text review

@tjprescott  i can't seem to figure out the CI break. the build complains that it can't find the file webapp.template.json, but it's included in manifest.in and is part of the whl i generate locally by running setup.py. who can help me debug this?

@sptramer ok to merge?

@tjprescott heads-down for gophercon. Can review tomorrow PM.

@sptramer, we need to merge this today for code-complete.  Feel free to review this when you can (even once merged) and if there are outstanding doc problems, open a separate issue.

@swagatmishra2007 you've got one failing test case. Also, can you confirm you've fixed @sptramer's help doc comments?

I have a fix for the failing test . I have fixed the doc comments but will go over them again to make sure . Hoping to get this done in the next couple of hours


Generate Documentation from MS Word templates, Markdown partials and QW data, part 1.

Use the LXML docx template API developed in #24 to produce documentation from MS Word templates, QW's understanding of Software Requirements, and QW's understanding of Change Requests and Design Inputs (or whatever data is deemed to be suitably stable to build this first version upon, but with at least two levels).
The output is one MS Word document based on one docx template incorporating Markdown data from some source, involving two levels of iteration.
The Markdown features required are:

bold
italic
lists
inline code
block code

Not required are:

headings
tables
links
superscript
subscript

Fixed by #38

Will be closed by #44


fix initial population of AgencyCache

Scope & Purpose
Fix the initial population of the AgencyCache after a server restart.
The previous version used to poll from the agency with a commit index value of 1, whereas I think it should be 0 for the initial call to get a full snapshot from the agency.
This PR also contains a code comment in DBServerAgencySync.cpp that we need to sort out. @kvahed suggested to wait here until we have got initial data from the agency, but I can't tell if it is necessary and what would be the side effects (blocking?).
The changes in this PR seem to fix the issues found by mini chaos (:tm:), even without the change in DBServerAgencySync.cpp, but this may be coincidence.
This does not need a port for 3.5 or 3.6, as these versions do not have the AgencyCache machinery.

[x] :hankey: Bugfix (requires CHANGELOG entry)
[ ] :pizza: New feature (requires CHANGELOG entry, feature documentation and release notes)
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification
[x] :book: CHANGELOG entry made

Backports:

[x] No backports required

Testing & Verification

[x] The behavior in this PR was manually tested
[x] This change is already covered by existing tests, such as cluster tests.
[x] There are tests in an external testing repository: mini chaos

Link to Jenkins PR run:
http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12893/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12900/

http://jenkins01.arangodb.biz:8080/job/arangodb-ANY-matrix/14/

http://jenkins01.arangodb.biz:8080/job/arangodb-ANY-linux-matrix/1430/

Tests blue except known and unrelated sporadic failures.

http://jenkins01.arangodb.biz:8080/job/arangodb-ANY-docker-and-drivers/13/

http://jenkins01.arangodb.biz:8080/job/arangodb-ANY-arangojs-driver-matrix/1149/
http://jenkins01.arangodb.biz:8080/job/arangodb-ANY-spark-connector-matrix/1068/

Tests blue.


format date for mainpage

Time (UTC+9)2021-08-30 10:10:36

previously we were storing the date in a different format


Who is using chart.xkcd?

Open source works based on chart.xkcd

Feel free to list your website/tool making use of chart.xkcd here
Here are some tool I plan to make use of chart.xkcd

[x] star-history - the missing star history of github repos

[ ] tomato-pie - A new UI for Pomodoro Technique

[x] blog of t9t.io - record revenue/user count or other status of my transparent startup experiment(in Chinese)

Vue wrapper: chart.xkcd-vue

I wrote a small tutorial (in French) about how to add chart.xkcd to Hugo (static website generator) with shortcodes : HERE

If you look at this search you can see who is using the library via npm. I can try write a little javascript to create a list of some sort that could be added to the page?

@bikingbadger Thanks for the link! I have listed the search in my description too, it is a great way to find open source work relying on chart.xkcd. As many of them may just test projects, I think the link itself should be enough

I'm using this for an easter egg on a little site I made: ChildishGiant/FFF-poll https://childishgiant.github.io/FFF-poll/

cutecharts - 📉 Hand drawing style charts library for Python by @chenjiandongx
https://github.com/chenjiandongx/cutecharts


[CARBONDATA-1140] Added testcases for MapredCarbonInputFormat

Can one of the admins verify this patch?

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2269/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/carbondata-pr-spark-1.6/142/


Allow users to inspect OS error code

Currently you can't extract the OS error code from a serial error. This can be frustrating.
This change allows for programmers to call raw_os_error(&self)->Option<i32> which is part of io::Error.
The goal is to allow programmers to see the fault of an error code which isn't covered by Error::Kind internally.

The code in this PR doesn't compile.
As I mentioned in #20, this doesn't provide any additional information since the error description is set from the OS's error code, so there's no benefit in adding this. It places an extra burden on new implementations, which may not have an underlying OS, so I think the net utility of this addition is negative.


BreakInvariantBounty claim can be front-runned by owner

BreakInvariantBounty allows to place a bounty that can be claimed automatically if a set of invariants is broken. The Bounty contract can be destroyed by the owner to recover the money once it makes no more sense to have a bounty up for this contract. This functionality can be abused by the owner to front-run the claim by the researcher once the information for the hack has already been revealed in the blockchain.
A possible fix is to create the bounty with a deadline, after which the bounty is returned to the bounty "sponsor". This gives the researcher security that they will be able to claim the bounty. There is still the problem of being front-runned by other researchers though.

There is still the problem of being front-runned by other researchers though.

Any ideas on this front?

While considering fixes, we should keep this comment in mind.

BreakInvariantBounty was removed in #1424 until this issue is solved.

Closing since BreakInvariantBounty is not part of OpenZeppelin anymore.


simulator: set sensor update rate according to HIL_SENSOR bitmask

Describe problem solved by this pull request
Fixes https://github.com/PX4/Firmware/issues/14220.
Describe your solution
A check is made to the bitmask field in HIL_SENSOR Mavlink message and according to how the bitmask is set, the respective sensors get updated. This allows to properly set the sensor rate for each sensor source.
Test data / coverage
In SITL, running uorb top sensor_accel sensor_gyro sensor_baro sensor_mag:
update: 1s, num topics: 69
TOPIC NAME            INST #SUB #MSG #LOST #QSIZE
sensor_gyro              0    1  249   248 4
sensor_accel             0    1  249   248 4
sensor_gyro_integrated   0    2  249     0 1
sensor_accel_integrated  0    2  249     1 1
sensor_baro              0    1   42    41 1
sensor_mag               0    1   84    83 1
sensor_gyro_status       0    0   10     9 1
sensor_accel_status      0    2   10    18 1

Note that baro is a bit lower than 50Hz and mag lower than 100Hz. The reason is that they are dependent of the Subscription callbacks in Gazebo, which have lower priority than the OnUpdate() function thread. A possible fix can be found by running specific Mavlink publishing threads for each of these sensor sources.

There are build failures

@julianoes I might need your input here: it seems that this change by have uncovered some corner case on the optical flow testing that leads the vehicle to toilet bowl after it takes off - this is even more visible while flying in offboard. The interesting thing is that this behavior is not visible with other models like GPS, which leads me to discard this is a problem on the implementation of the sensor rate definition per si. I am running the MAVSDK tests on my local system with the GUI set so to check the issue visually.
After speaking with @jkflying there are three different sources that might cause the problem:

The optical flow implementation expects the gyro rate to be a multiple of it's own rate, which leads the integration to fail on EKF2 - one thing I saw is that if I increase the real_time_update_rate of the world to 500Hz, the problem since to be reduced (though we might be hiding the problem like that);
The integration time is not synced with the gyro timestamp, which might lead to the toilet bowl we can check;
The IMU updates on accel and gyro might be inconsistent - but that would lead also to a problem on other models, which I am not seeing.

To refer also that the behaviour I am seeing is happening on the opt_flow_mockup model, which runs the gazebo_optlical_flow_mockup plugin in Gazebo, which simulates the flow data from the world groundtruth, while the gazebo_optical_flow plugin uses the OpenCV implementation to compute the flow. There are substantial changes from one implementation to another, but I have tested and modified what I think it could be the source of a problem in the mockup plugin but it always led me to the same results.
@kamilritz if you have the opportunity to evaluate this as well your input is welcomed.

Setting a high rate optical flow updates seems to cause the toilet bowl issue - which I suppose it shouldn't happen. The update rate of the optical flow mock is currently set to 20Hz, which seems to avoid the issue. Though, it is visible on the MAVSDK tests that on takeoff, the vehicle starts shaking a lot when it reaches the takeoff altitude - and after a couple of seconds it stabilises. I am not sure what's causing it at this point.

Sending data at a higher rate to the EKF than usual can cause problems. As it will cause overflow of the buffers. For some sensors we added protection against this by downsampling the incoming data, but this is only done for mag and baro. I don't think it is done for the optical flow.
While adding the MAVSDK optical flow tests, I noticed that there are issues if I want to speed up the simulation.

I changed the approach and right now I send the gyro and accel data on all messages and only send baro and mag according to their update rate. This seems to have fixed the issues I was seeing before. Thanks @bkueng and @bresch for the tip.


Five somewhere location awareness

Per a suggestion by Boba Fett's Ship on the discord, add in location awareness and an animation to let you know you made it, you hard-working person you.

Is it extra awareness when it's Friday? :D


[DataFactory]Added logLevel/enableReliableLogging to LogStorageSettings

swagger PR:  https://github.com/Azure/azure-rest-api-specs/pull/10518

@allenjzhang , @markcowl  Could you please review this PR?


Security check on push on the main and release branches

We're seeing "Missing analysis for base commit ad2ba89180a73b623cb9784d3e9d1f6f58fb5604"  and that commit is the last commit on the main branch.

/cc markusthoemmes mattmoor n3wscott


Android: RNIap.getProducts causes crash

Version of react-native-iap
"react-native-iap": "^3.5.9",

Version of react-native
"react-native": "~0.61.5",

Platforms you faced the error (IOS or Android or both?)
Android only
Expected behavior
For it not to crash
Actual behavior
It crashes
Tested environment (Emulator? Real Device?)
Real device
Steps to reproduce the behavior
This is my package.json file:
{
  "scripts": {
    "start": "react-native start",
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "@apollo/client": "^3.0.0-beta.41",
    "@bugsnag/expo": "^6.5.0",
    "@eva-design/eva": "^2.0.0-alpha.1",
    "@expo/react-native-action-sheet": "^3.6.0",
    "@react-native-community/async-storage": "^1.5.1",
    "@react-native-community/cameraroll": "^1.7.2",
    "@react-native-community/datetimepicker": "2.2.2",
    "@react-native-community/masked-view": "0.1.6",
    "@react-native-community/netinfo": "^5.7.1",
    "@react-native-firebase/admob": "^6.4.0",
    "@react-native-firebase/analytics": "^6.4.0",
    "@react-native-firebase/app": "^6.4.0",
    "@react-navigation/bottom-tabs": "^5.2.4",
    "@react-navigation/compat": "^5.1.6",
    "@react-navigation/native": "^5.1.3",
    "@react-navigation/stack": "^5.2.8",
    "@ui-kitten/components": "^5.0.0",
    "@ui-kitten/eva-icons": "^5.0.0",
    "apollo-cache-inmemory": "^1.6.5",
    "apollo-client": "^2.6.8",
    "apollo-link": "^1.2.13",
    "apollo-link-context": "^1.0.19",
    "apollo-link-error": "^1.1.12",
    "apollo-upload-client": "^12.1.0",
    "axios": "^0.19.0",
    "bugsnag-react-native": "^2.23.7",
    "expo": "^37.0.0",
    "expo-blur": "~8.1.0",
    "expo-camera": "~8.2.0",
    "expo-constants": "~9.0.0",
    "expo-file-system": "~8.1.0",
    "expo-image-picker": "~8.1.0",
    "expo-localization": "~8.1.0",
    "expo-media-library": "~8.1.0",
    "expo-notifications": "^0.1.1",
    "expo-permissions": "~8.1.0",
    "expo-updates": "^0.2.2",
    "final-form": "^4.18.2",
    "graphql": "^14.6.0",
    "graphql-tag": "^2.10.1",
    "i18n-js": "^3.3.0",
    "lodash": "^4.17.15",
    "lottie-ios": "^3.1.3",
    "lottie-react-native": "^3.3.2",
    "moment": "^2.24.0",
    "moment-range": "^4.0.2",
    "react": "~16.9.0",
    "react-apollo": "^3.1.3",
    "react-dom": "16.9.0",
    "react-final-form": "^6.3.0",
    "react-native": "~0.61.5",
    "react-native-appearance": "~0.3.3",
    "react-native-calendars": "^1.259.0",
    "react-native-circular-progress": "^1.3.0",
    "react-native-collapsible": "^1.5.1",
    "react-native-drag-sort": "^2.1.1",
    "react-native-elements": "^1.2.7",
    "react-native-fast-image": "^8.1.5",
    "react-native-gesture-handler": "~1.6.0",
    "react-native-htmlview": "^0.15.0",
    "react-native-iap": "^3.5.9",
    "react-native-image-zoom-viewer": "^2.2.27",
    "react-native-modal-datetime-picker": "^8.1.1",
    "react-native-reanimated": "~1.7.0",
    "react-native-safe-area-context": "0.7.3",
    "react-native-screens": "~2.2.0",
    "react-native-star-rating": "^1.1.0",
    "react-native-svg": "^11.0.1",
    "react-native-swiper": "^1.6.0-nightly.5",
    "react-native-ui-kitten": "^4.3.2",
    "react-native-unimodules": "^0.9.0",
    "react-native-web": "^0.11.7",
    "react-navigation": "^4.3.4",
    "react-navigation-stack": "^1.9.0",
    "react-navigation-tabs": "^2.5.5",
    "react-redux": "^7.1.0",
    "redux": "^4.0.4",
    "redux-logger": "^3.0.6",
    "redux-persist": "^5.10.0",
    "styled-components": "^4.3.2",
    "victory-native": "^32.0.2"
  },
  "devDependencies": {
    "@babel/core": "~7.9.0",
    "babel-jest": "~25.2.6",
    "jest": "~25.2.6",
    "react-test-renderer": "~16.9.0",
    "@types/react": "^16.9.11",
    "@types/react-native": "^0.60.22",
    "babel-preset-expo": "^8.1.0",
    "typescript": "^3.8.3"
  },
  "resolutions": {
    "apollo-client": "2.6.8"
  },
  "private": true
}

This is my component:
  const getProducts = async () => {
    const items = Platform.select({
      ios: ["monthly", "annually"],
      android: ["monthly", "annually"],
    });

    console.log("BEFORE<PHONE_NUMBER>111111");
    try {
      const products = await RNIap.getProducts(items);

      console.log("AFTER<PHONE_NUMBER>11111111"); // <================= prints
      ...
    } catch (e) {
      console.warn("PRODUCTS ERRORRRRRRRRRRRRR", e); // <============ doesn't print
    }
    console.log("hurrrrrrrrrrrr2"); // <============ doesn't print
  };

  useEffect(() => {
    getProducts();
  }, []);

nvm, upgraded to latest version of react-native-iap and got past this issue


Setting for open markdown files directly in novel

Thanks for the great extension
If there will be an option in settings about opening directly markdown files in novel, it would be great.

Thanks! It should now by default open as default, which version are you using now?

Thanks! It should now by default open as default, which version are you using now?

I checked now, it opens by default. Great ✨
But i mean, if there is a toggle button or setting -i mentioned before- it would be nicer. That's my opinion 😊

v0.3.0


Support relative paths for JS HubConnection and Connection

Today we do use document.location.host for all of our samples https://github.com/aspnet/SignalR/blob/6576bb0ea46354823b4668d8d82a047a8efdff56/samples/SocketsSample/wwwroot/streaming.html#L44. We need to bake this into the client if the path is relative.

One of the reasons it is not baked in now is that it only works in a browser. We will probably have to throw for relative paths if document is not defined.

Do we need a browser friendly API?

... or make the parameter optional and throw if full url cannot be resolved because window/document is missing

This is now implemented.


Always remove from LB, even if add in WAITING

We do this already on all individual task checks, but cleanup takes a different path during deploys. A badly timed lb add that ends up stuck in waiting at the exact time a deploy finishes can lead to an additional task in baragon state

🚢


update linux failed

Describe the issue
Hello,
When trying to update linux package, during post-transaction hooks I got lots of errors like the following and kernel version still 4.4 after rebooting/restarting LxssManager
bsdcpio: VERSION: large inode number truncated: Numerical result out of range

Is this expected or is there something wrong with my installation?
To Reproduce
sudo pacman -S linux

Expected behavior
exit code 0 and kernel version be 4.18 after reboot windows or restarting LxssManager
Enviroment:
Windows build number: Microsoft Windows [Version 10.0.17134.319]
ArchWSL version: 18081100
Launcher version: wsldl, version 18080900
Other packages seem to work fine.

Please fill issue template:
Please fill out the below information:
Describe the issue
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Enviroment:

Windows build number: [e.g. 10.0.17134.228] (Type ver at a Command Prompt)
ArchWSL version [e.g. 18081100] (version of zip)
Launcher version [e.g. 18080900] (Type Arch.exe version at a Command Prompt)

Additional context
Add any other context about the problem here.

Sorry, updated.

It makes sense... So it's probably safe to ignore, for now.
Thanks for you answer.


Renaming for better alignment

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (9ac3a18) 100.00% compared to head (a1db3cc) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #422   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           19        19
  Lines         1683      1680    -3
  Branches       170       169    -1
=========================================
- Hits          1683      1680    -3

Files Changed
Coverage Δ

src/redcat/tensor.py
100.00% <ø> (ø)

src/redcat/array.py
100.00% <100.00%> (ø)

src/redcat/utils/array.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


What happens if --join host goes down?

From Gitter:
Lorenzo Boccaccia @LorenzoBoccaccia 03:29
hi guys, I've some question about deployment and disaster recovery.. when you start instances you --join them to some host; what happen if that particular host goes down? and what happen if the instance are to be restarted, but the primary --join target is still down?
marc @mberhault 05:06
once a machine is connected to the gossip network (basically, once it has joined the cluster), it stores the addresses of other nodes seen, so you could restart without --join, and it would still be ok
Lorenzo Boccaccia @LorenzoBoccaccia 05:07
ah ok perfect. and when one cluster element dies, how does replication react? at which point the replica of the zone impacted are replicated toward different nodes form the available copies?
marc @mberhault 05:09
we consider a node to be dead if it's been unreachable for five minutes. At that point, we'll add another node as a replica and start copying data over
Lorenzo Boccaccia @LorenzoBoccaccia 05:11
wonderful, cheers!

We should probably document some recommendations.
For now, the only requirements are:

a node with no date in its store will initialize a new cluster if --join is empty (or unspecified)
to join an existing cluster, a node must be given at least one other node in the --join flag. If the target is part of the cluster, the new node will join as well. It's perfectly acceptable to pass more than one target through the --join flag.
once a node has connected to an existing cluster, it will locally store the list of nodes already in the cluster and use that list on subsequent startups.

This means that the very first node is no longer special once another node has joined the cluster.

@mberhault, since each new node stores the list of nodes already in the cluster, why is it ever necessary to pass more than one address in the --join flag?

We don't technically need to as long as the --join host is up the first time a new node connects.
However, for simplicity, I've been putting all hosts in the --join flag in the test clusters. That way, I don't have to worry about a single node being down, the network being funky, or anything else.

It's never necessary to give more than one --join address, but it's useful in environments where new nodes can be started automatically but it's inconvenient to change the command line. (this may sound like an unusual scenario, but google's borg works this way). You can set the command line up with multiple hosts so that new nodes will be able to find someone to talk to even if the original node has gone away.

Closing in favor of https://github.com/cockroachdb/docs/issues/3395.


[EPIC] Allow failed worker retry in distributed training

Fault recovery in native distributed XGB training (not xgb-spark) have been broken for more than a year. Community have seen various of issue like this https://github.com/dmlc/rabit/issues/63

[x] expose flag to opt-in detailed log in rabit
[x] support bootstrap cache in rabit , expose flag to opt-in rabit bootstrap cache
design doc.pdf
PR candidate: https://github.com/dmlc/rabit/pull/98
[x] patch native xgb code base and support worker retry
pr https://github.com/dmlc/rabit/pull/102 cleanup rabit api
pr https://github.com/dmlc/xgboost/pull/4808 patch xgb worker
pr https://github.com/dmlc/rabit/pull/106 unittest rabit, smooth worker to tracker reconnect
[ ] patch xgb-spark code base and support task retry
design https://github.com/dmlc/xgboost/issues/4831

[ ] surface configuration to jvm layer https://github.com/dmlc/xgboost/issues/4861

Looks interesting. ;-)

This looks interesting indeed. One question: "What is native distributed XGB training?" How can I use it? Is it the one which involves a python package + dask?

This looks interesting indeed. One question: "What is native distributed XGB training?" How can I use it? Is it the one which involves a python package + dask?

If you try xgboost with more than one machine. You are already using rabit, we added feature and track changes in progress to xgb layer
https://www.slideshare.net/ChenQin1/scaling-xgboost

@chenqin, I understand that xgboost uses rabit as AllReduce implementation. I still don't really know what is a native distributed XGB training?
Does xgboost-spark run native distributed XGB training? If yes then why do we add "native" here? What other distributed XGB training do we have?
I am new to the project and I am still discovering different ways to use xgboost so this is an honest question.

@chenqin, I understand that xgboost uses rabit as AllReduce implementation. I still don't really know what is a native distributed XGB training?
Does xgboost-spark run native distributed XGB training? If yes then why do we add "native" here? What other distributed XGB training do we have?
I am new to the project and I am still discovering different ways to use xgboost so this is an honest question.

In some use cases where user don't have complex feature generating needs, user can launch xgboost native worker (c++) without data processing
framework. https://github.com/kubeflow/xgboost-operator

from description in this thread, yes, dask-xgboost leverage rabit as well.
https://github.com/dmlc/xgboost/issues/2032

@chenqin It's epic :)

Hi there! Any update on this epic ? Thanks.

Hi there! Any update on this epic ? Thanks.

Yes, it's going (holiday session slow), still miss the final piece of patch XGBoost-spark after we can get current open pr landed.

I don't think this is possible in short term.  Let's stick with fail all strategy for now.  We @hcho3 are thinking about redesigning RABIT from scratch.


Updated Prompt Template to remove Solana Validator

Hi, thanks for the PR. This issue is already addressed in #10, which will be merged later today.


Make layer-next handle only the next button [vim like layers]

I want to switch into another layer for one keypress only, similar to how layers work in vim.
Layer-next seems to be suited for this, as defined in the tutorial:
'layer-next', once pressed, primes KMonad to handle the next press from some
  arbitrary layer.

However, it really handles multiple next presses if they are pressed together.
This issue applies to around-next also, and closely resembles  #166 and #167.
Steps to reproduce the issue
To borrow the examples from #167, suppose I have
(defalias
  nsh (layer-next sft)) ;; layer with all alpha keys capitalised

Expected behaviour
I expect to see the layer used for only one keypress.
T@nsh Ta Tb       ==> Ab
T@nsh Pa Pb Ra Rb ==> Ab

Actual/current behaviour
But if many keys are pressed together they are all made in the layer
T@nsh Ta Tb       ==> Ab
T@nsh Pa Pb Ra Rb ==> AB

Attempt to create a button
David Janssen created an "around-next-single" button (discussed in this comment) to solve the around-next issue. I attempted to use that logic but the behaviour was no different to layer-next.
layerNextSingle :: LayerTag -> Button
layerNextSingle t = onPress $ await isPress $ \_ -> do
  layerOp (PushLayer t)
  await (pure True) $ \_ -> do
    layerOp (PopLayer t)
    pure NoCatch
  pure NoCatch

Other ways of doing this
This can be done by creating layers full of aliases whose only function is to perform one key or button and return but it uses a lot of config space if you use a lot of these type of layers.
Maybe I'm using this incorrectly or missing a better way?

What version of KMonad are you running? Perhaps #167 (which indeed should fix the issue) too new?

I was using a commit from Jun 2021 (Add logo to README #277)
I tried the first layer-next commit that Added leader-key like button
And the v0.4.1 prerelease from Sep 2020
And #167 Make aroundNext only affect the next button
I got the same results with (layer-next mylayer) and (around-next (layer-toggle mylayer)).


Add Languages section

Would be nice to have a Languages section that allows the user to insert a language and the level of expertise (optional).

Closing for same reason, thanks!


Restrict list repositories to a specific prefix

A request from a user:
Restrict fs:ListRepositories by a spacific prefix: arn:lakefs:fs:::repository/{prefix}*
From Slack: https://lakefs.slack.com/archives/C016726JLJW/p1692694405836989

This still comes up quite a lot


Does the wrapper still work with the 2017 Kraken API ?

Hello, just to be sure before I start working on a trading bot.
Thanks !

I'm not sure. I haven't used it in a while. If you decide to test it, let me know!

We're using it currently on Kraken. We've added a few things: https://github.com/debreczeni/kraken_ruby

Thank you


Assessment job not started due to error: Microsoft Graph service exception

Can you explain what is missing? Thanks!
PS C:\Scripts\microsoft365-assessment> .\microsoft365-assessment.exe start --mode AddInsACS --authmode application --tenant "tenant.sharepoint.com" --applicationid sdfasdf999-deffe-4xxxxxyyyy-adsfasd99877 --certfile "C:\scripts\PnPCertificate\mypfxfile.pfx" --certpassword "7888yk@1234" --sitesfile "C:\Scripts\microsoft365-assessment\sites.txt"
Initializing authentication
Starting the Microsoft 365 Assessment
Microsoft 365 Assessment authentication initialized
Loaded 1334 site collections from the passed file C:\Scripts\microsoft365-assessment\sites.txt
Sites to assess are defined
Assessment job not started due to error: Microsoft Graph service exception

Attaching file of API Permission for App Registration

Never mind resolved the issue just closed out of the existing window and restarted a new process.


Fixed #25436 -- Protocol relative openlayers js / update OpenLayers to 2.13.1

This includes the fix for https://code.djangoproject.com/ticket/25436 and an update to the current bugfix release of the OpenLayers JS lib.

Unfortunately this does not work currently: https://github.com/openlayers/openlayers.github.io/issues/53 - waiting for feedback there.

@blueyed, please bump the ticket to "Accepted" once we're no longer blocked on making the relative protocol change. I'll close this for now.

@timgraham
It would be possible to use  CDN already..

Submitted https://github.com/django/django/pull/7056 as a follow-up.


Issues running on a non-Debian/Ubuntu OS? Read this!

The script was designed to be run on a Debian- or Ubuntu-based OS with bash and a few other basic tools installed along with WINE. Any others are not supported, but if you can run wine, wget, winetricks, and python on it, you can probably run the script. Post results here, and I'll edit this issue to reflect your experiences.
CONFIRMED WORKING WITH VERY LITTLE OR NO CHANGES:

Debian 7 64bit headless (With self-compiled WINE and winetricks)
Ubuntu 12 64bit headless (With WINE PPA installer) + wine 1.7.44 (Thanks ADWshka!)
Ubuntu 13 64bit headless (With WINE PPA installer) + wine 1.7.44
Ubuntu 14 64bit headless (With WINE PPA installer) + wine 1.7.44 (Thanks ADWshka!)
Ubuntu 15 64bit headless (With WINE PPA installer) + wine 1.7.44 (Thanks ADWshka!)

CONFIRMED WORKING WITH SOME CHANGES:

Ubuntu 12.04 64bit headless (With WINE PPA installer) + wine 1.7.18 (Thanks ADWshka!)

I had to remove part of the "start case", for some reason Python was not working, perhaps it is connected with the Python library on my OS.


Fix compilation on windows

Looks like the Windows shims weren't using the same API as the other platforms, and so refused to compile:
14:12:54 ❯ go install -v github.com/CtrlSpice/otel-desktop-viewer@latest
github.com/CtrlSpice/otel-desktop-viewer
# github.com/CtrlSpice/otel-desktop-viewer
C:\Users\chusk\go\pkg\mod\github.com\!ctrl!spice\otel-desktop-viewer@v0.1.0\main_windows.go:17:25: undefined: service.CollectorSettings
C:\Users\chusk\go\pkg\mod\github.com\!ctrl!spice\otel-desktop-viewer@v0.1.0\main_windows.go:43:32: undefined: service.CollectorSettings
C:\Users\chusk\go\pkg\mod\github.com\!ctrl!spice\otel-desktop-viewer@v0.1.0\main_windows.go:45:32: undefined: service.NewSvcHandler

Just needed some import changes to get brought up to date:
14:17:29 ❯ otel-desktop-viewer.exe
2023-02-21T14:17:34.422-0600    info    service/telemetry.go:92 Setting up own telemetry...
2023-02-21T14:17:34.422-0600    info    service/telemetry.go:118        Serving Prometheus metrics      {"address": ":8888", "level": "Basic"}
2023-02-21T14:17:34.422-0600    info    exporter/exporter.go:290        Development component. May change in the future.        {"kind": "exporter", "data_type": "traces", "name": "desktop"}
2023-02-21T14:17:34.423-0600    info    service/service.go:123  Starting otel-desktop-viewer...  Begin running and processing data.
2023-02-21T14:17:39.750-0600    info    otelcol/collector.go:234        Received signal from OS {"signal": "interrupt"}
2023-02-21T14:17:39.750-0600    info    service/service.go:149  Starting shutdown...
2023-02-21T14:17:39.750-0600    info    service/pipelines.go:121        Stopping receivers...
2023-02-21T14:17:39.751-0600    info    service/pipelines.go:128        Stopping processors...
2023-02-21T14:17:39.751-0600    info    service/pipelines.go:135        Stopping exporters...
2023-02-21T14:17:39.751-0600    info    extensions/extensions.go:56     Stopping extensions...
2023-02-21T14:17:39.751-0600    info    service/service.go:163  Shutdown complete.

That you so much! I don't have a windows machine to test on, so I really appreciate this.


FIELD-1953 ucp cli upgrade: emphasize run on only one node

Deploy preview for docsdocker ready!
Built with commit cf7cb638676384f794a95c457764efd9da0ba7dc
https://deploy-preview-9366--docsdocker.netlify.com


docs: Update retrieve-user-roles.md

I feel this should be an essential message to read.
Definition of Ready

[ ] I am happy with the code
[ ] Short description of the feature/issue is added in the pr description
[ ] PR is linked to the corresponding user story
[ ] Acceptance criteria are met
[ ] All open todos and follow ups are defined in a new ticket and justified
[ ] Deviations from the acceptance criteria and design are agreed with the PO and documented.
[ ] No debug or dead code
[ ] My code has no repetitions
[ ] Critical parts are tested automatically
[ ] Where possible E2E tests are implemented
[ ] Documentation/examples are up-to-date
[ ] All non-functional requirements are met
[ ] Functionality of the acceptance criteria is checked manually on the dev system.

hei @yordis
Thanks for sending the PR.
Please be aware that we are using semantic versioning which relies on the pr name.
I changed it for now, but would be great if you can have a look at it next time.


fix: multi-select dropdown checkbox alignment regressed

Description
Checkboxes in the multi select widget should be positioned to the left and not right
PR fixes following issue(s)
Fixes #28100
Type of change

Bug fix (non-breaking change which fixes an issue)

Testing
How Has This Been Tested?

[x] Manual
[ ] JUnit
[ ] Jest
[ ] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visibility and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

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

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/build-deploy-preview skipTests=true

/ok-to-test

@dilippitchika you too can test.
Working from my POV


run --user & --group are not being set

Version - v0.1.1-rc1
Steps:

rio run -n tuser --user 10 --group 5 nginx
rio exec default/tuser id
rio inspect default/tuser:v0

Results:  user nor group id has been set

Will be fixed in https://github.com/rancher/rio/pull/342

Working in v0.6.0-alpha.2
Result snippet:
...
spec:
  image: nginx
  imagePullPolicy: IfNotPresent
  ports:
  - port: 80
    protocol: HTTP
    targetPort: 8080
  runAsGroup: 5
  runAsUser: 10
  weight: 100
...


feat(RHTAPREL-806): update operator toolkit refrence

This commit updates the operator-toolkit refrence
as result of migration to konflux-ci from redhat-appstudio
more details parent EPIC:
https://issues.redhat.com/browse/RHTAPREL-800
Maintainers will complete the following section

[ ] Commit messages are descriptive enough (hints)
[ ] Code coverage from testing does not decrease and new code is covered (check the PR coverage on codecov)
[ ] Controllers diagrams are updated when PR changes controllers code  (if applicable)

Do Not Merge/Hold preparation PR, Can be merged once repo is migrated to konflux-ci!

/retest

/retest

/retest

CI failing due to high severity CVE causing an EC failure.
Jira for the issue: https://issues.redhat.com/browse/EC-520

/test integration-service-e2e

/test integration-service-e2e

We updated repo to use vendoring, please rebase and update deps accordingly, thanks!
https://github.com/redhat-appstudio/integration-service/blob/main/README.md#addingupdating-a-dependency

Can we help with this somehow?

Can we help with this somehow?

I believe this PR is blocked by https://issues.redhat.com/browse/STONEINTG-893
It would be great if someone could take that issue.

[@MartinBasti @dirgim ]
Can I get some review, please?
Many thanks for all your help.


Points appear twice in MapboxGL where there is only one point in geojson

Quick question: I have a tileset with ~36000 points spread across the globe. When I zoom in, individual points appear in duplicate or triplicate for reasons I can't figure out. Zooming in and out a few times seems to sort things out, but rather than there being one point, from the way the point borders look it seems that the duplicate points are just sitting really close together. Is there a setting I'm missing that would prevent this from happening? Is it an issue with there being points very close to the edges of tiles?
I'm processing using -z12 -Z1 because the max zoom on my map is 12. I've set -b0 to remove the 5 pixel buffer. The issue appears between zoom levels 10 and 12. Insights?
Much thanks for your help.

The problem is on the GL side, and what is going on is that the features are being drawn both from the zoom level you are actually looking at as well as overzoomed from a parent tile. They are not at exactly the same location because the parent tile has lower location precision than the child tile. I think that what causes it is that if any features are being overzoomed from a tile, they all are, even if part of the area being overzoomed into is already covered by more detailed data.
I am not sure if it will fix it, but I should do the experiment of making sure that if Tippecanoe outputs a tile, it also outputs the other three quadrants of the same parent tile, even those tiles they are empty, and see if that helps.

Man, you are lightning fast. Awesome, I'll give this a try.

Ready for my very hack solution? (I should have tried this before, but I didn't think of it till you mentioned the overzooming issue.) I've processed the same geojson file using -z18 rather than -z12. Because my Mapbox maxZoom is set to 12, the user is prevented from zooming in close enough to replicate the problem that I imagine has now been shuffled to zoom levels 16 through 18.
Not pretty, but it seems to work!

Great, I'm glad you were able to work around it!


feat: added typescript definitions

Summary

It mentions https://github.com/react-native-community/react-native-datetimepicker/issues/17
Test Plan

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅❌

Android
✅❌

Checklist

[ ] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md
[X] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

Thanks for contributing!


WIP: Fetch stderr using Expect / Link

I think we can safely close this PR now. Thanks @imikushin for having a go at this. Good to have in the history for future reference.
Alex