Convert savedmodel to h5 Keras format - AttributeError: 'AutoTrackable' object has no attribute 'summary'

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
TensorFlow version (use command below): 2.3.0
Python version: 3.6.1

Describe the current behavior
I used Google AI-Platform to train a model for object detection. The result is a model in the savedmodel format. I wan't to convert it to h5 Keras format so I can import into Matlab.
Standalone code to reproduce the issue
Here is the output folder directly from the bucket:
https://drive.google.com/file/d/1mgVGG_WNGC9gxZSgn1G2_YdQTVkJJInM/view?usp=sharing
Other info / logs
I tried to do this:
New_Model = load_model('model'), or this New_Model = tf.keras.models.load_model('model') or this New_Model = tf.saved_model.load(export_dir='model') and lastly this New_Model.summary() and I always get the same error:
AttributeError: 'AutoTrackable' object has no attribute 'summary'
If the model would had loaded correctly I would try to do tf.keras.models.save_model(New_Model, 'New_Model.h5')
Which will end up throwing this error:
AttributeError: 'AutoTrackable' object has no attribute '_is_graph_network'
Please help, as I said the model is saved in the savedmodel format, so I guess every piece needed is there
Complete log for summary:
2020-08-17 01:48:46.011995: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found
2020-08-17 01:48:46.016769: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
2020-08-17 01:48:53.754437: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'nvcuda.dll'; dlerror: nvcuda.dll not found
2020-08-17 01:48:53.758821: W tensorflow/stream_executor/cuda/cuda_driver.cc:312] failed call to cuInit: UNKNOWN ERROR (303)
2020-08-17 01:48:53.780897: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:169] retrieving CUDA diagnostic information for host: EC2347417W3
2020-08-17 01:48:53.785702: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:176] hostname: EC2347417W3
2020-08-17 01:48:53.789520: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN)to use the following CPU instructions in performance-critical operations:  AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2020-08-17 01:48:53.820077: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x16799c381d0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-08-17 01:48:53.832027: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/conv2d/kernel:0' shape=(7, 7, 3, 64) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/gamma:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/beta:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/moving_mean:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/moving_variance:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/conv2d/kernel:0' shape=(7, 7, 3, 64) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/gamma:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/beta:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/moving_mean:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/moving_variance:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/conv2d/kernel:0' shape=(7, 7, 3, 64) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/gamma:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/beta:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/moving_mean:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/moving_variance:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/conv2d/kernel:0' shape=(7, 7, 3, 64) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/gamma:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/beta:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/moving_mean:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
WARNING:tensorflow:Unable to create a python object for variable <tf.Variable 'resnet50/batch_normalization/moving_variance:0' shape=(64,) dtype=float32_ref> because it is a reference variable. It may not be visible to training APIs. If this is a problem, consider rebuilding the SavedModel after running tf.compat.v1.enable_resource_variables().
Traceback (most recent call last):
  File "savedmodel_to_h5.py", line 15, in <module>
    New_Model.summary()
AttributeError: 'AutoTrackable' object has no attribute 'summary'

@dfvr1994,
I am not able to access the file as I do not have the required permissions.
Also, could you please provide the code you are running to convert the model. Thanks!

@dfvr1994,
Please take a look at this similar StackOverflow issue and let us know if it helps. Thanks!

@amahendrakar I have updated permissions on the file so it can be accessed by anyone with the link.
I'm following this steps:
https://stackoverflow.com/questions/59375679/tensorflow-pb-format-to-keras-h5
The second link you provided shows how to use the .pb model outside docker, I assume you pointed it because of what I mentioned about using the model on Matlab, which at the moment doesn't support .pb format but ONNX and h5.
I need to transform the model into h5 format.

Was able to reproduce the issue with TF v2.3 and TF-nightly. Please find the gist of it here. Thanks!

Same issue could be reproduce with TF v2.2.0.

Hi, any update on this?

I'm afraid not. @dfvr1994

I am having the same error

Did anyone manage to find a solution? Having the same issue here

I am running into this issue too!

Hi @jvishnuvardhan any update on this?

any luck on converting to h5 format

@dfvr1994 I have a question. Did you save the model using tf.saved_model.save or 'model.save`? Thanks! If possible, please share model building code also. Thanks!

It's not the time to close issue.
There are many users faced the same problem crossing various versions.

@DjangoPeng I removed stalled label, so it will not close. Thanks!

@jvishnuvardhan I have been working on this issue for the past 2 months. I am working on Object detection models and trying to prune and compress it. This has been a major issue that I am facing in my work. I am happy to work on this problem with a little guidance. If you can help me out with understand a few concepts I will be able to pull this of.

Same issue here

tf.keras.models.load_model only works with SavedModels saved from Keras. I'm guessing that the SavedModel is saved from another source that is not Keras.
If you want to convert a SavedModel to Keras, you could try something like:
loaded = tf.saved_model.load(path)

class LayerFromSavedModel(tf.keras.layers.Layer):
  def __init__(self):
    super(LayerFromSavedModel, self).__init__()
    self.vars = loaded.variables
  def call(self, inputs):
    return loaded.signatures['serving_default'](inputs)

input = tf.keras.Input(...)
model = tf.keras.Model(input, LayerFromSavedModel()(input))
model.save('saved_model')

@dfvr1994 Would you like to try out @k-w-w 's solution?

@DjangoPeng sure, will post results shortly

I'm getting this error:
Traceback (most recent call last):   File "C:\Users\ZX776FN\Documents\out\savedmodel_to_h5.py", line 18, in <module>     input = tf.keras.Input(...)   File "C:\Program Files\Python38\lib\site-packages\tensorflow\python\keras\engine\input_layer.py", line 311, in Input     input_layer = InputLayer(**input_layer_config)   File "C:\Program Files\Python38\lib\site-packages\tensorflow\python\keras\engine\input_layer.py", line 150, in __init__     batch_input_shape = (batch_size,) + tuple(input_shape) TypeError: 'ellipsis' object is not iterable
@k-w-w did you try your code with the model I uploaded at the top of the issue?

@dfvr1994 What was the input for tf.keras.Input in your code? Can you share a standalone code to reproduce the issue? Thanks!

@jvishnuvardhan I did run this:
import os
import tensorflow as tf
from tensorflow.keras.preprocessing import image

loaded = tf.saved_model.load(r"C:\Users\my_user\Documents\out\2\OUTPUT\model")

class LayerFromSavedModel(tf.keras.layers.Layer):
  def __init__(self):
    super(LayerFromSavedModel, self).__init__()
    self.vars = loaded.variables
  def call(self, inputs):
    return loaded.signatures['serving_default'](inputs)

input = tf.keras.Input(...)
model = tf.keras.Model(input, LayerFromSavedModel()(input))
model.save('saved_model')

Where "C:\Users\my_user\Documents\out\2\OUTPUT\model" contains:

OUTPUT contains:

Hi, any update on this?

SavedModel does not have compressed format? this is very incombinient...

Hey, any updates on this issue ?  I've been dealing with the same problem.

Same problem, unable to convert pb to h5(keras), pb file was created from an onnx file.

Converting a Tensorflow model to Keras is no small feat. Some details can be found here.

tf.keras.models.load_modelKerasから保存されたSavedModelsでのみ機能します。SavedModelはKerasではない別のソースから保存されていると思います。
SavedModelをKerasに変換する場合は、次のような方法を試すことができます。
loaded = tf.saved_model.load(path)

class LayerFromSavedModel(tf.keras.layers.Layer):
  def __init__(self):
    super(LayerFromSavedModel, self).__init__()
    self.vars = loaded.variables
  def call(self, inputs):
    return loaded.signatures['serving_default'](inputs)

input = tf.keras.Input(...)
model = tf.keras.Model(input, LayerFromSavedModel()(input))
model.save('saved_model')

In my case, this sample was worked well.

Same error, any solution!

So the problem with this is due to the fact that the saved_model file is in bitstream format.  I have tried to decode it and failed multiple times. There is no known way to get layer information out of the bitstream. So if you want to recreate the model you have to use keras layers to recreate the model and then use the weights from saved_model to get the performance of the saved_model. Most common network architectures can be found in github. If you are trying to work on any specific model please let me know i can see if I can help you out.

@abhishekbalu  Thank you very much if you can help me!
Here is the saved_model that I use : "gs://simclr-checkpoints-tf2/simclrv1/pretrain/1x/saved_model/"
Here is a part of my code :
path = "gs://simclr-checkpoints-tf2/simclrv1/pretrain/1x/saved_model/"
def create_model():
    baseModel =  tf.keras.models.load_model(path)
    baseModel.summary()
    model_output = tf.keras.layers.Dense(3, name="head_supervised_new")(baseModel)
    model = tf.keras.Model(inputs=baseModel.input, outputs=model_output)
    model.compile(optimizer=tf.keras.optimizers.SGD(learning_rate=0.001),
              loss=tf.keras.losses.CategoricalCrossentropy(),
              metrics=[tf.keras.metrics.CategoricalAccuracy()])
    return model
model = create_model()
model.fit(train_set)

The model takes two inputs: encoded_image and key:
loaded = tf.saved_model.load(path)
infer = loaded.signatures["serving_default"]
print(infer.structured_input_signature)

Which outputs:
((), {'encoded_image': TensorSpec(shape=(None,), dtype=tf.string, name='encoded_image'), 'key': TensorSpec(shape=(None,), dtype=tf.string, name='key')})
I run inference by:
import numpy as np
import tensorflow as tf
from skimage.io import imread

path = r"C:\Users\path\to\my\saved\model\\"
image = np.asarray(imread(r"C:\Users\path\to\my\img.png"))
loaded = tf.saved_model.load(path)

def run_inference_for_single_image(model, image):
    image = np.asarray(image)

    # The input needs to be a tensor, convert it using `tf.convert_to_tensor`.
    input_tensor = tf.convert_to_tensor(image)

    # Encode the (numerical) tensor into an "encoded_image"
    encoded_image = tf.io.encode_jpeg(input_tensor)

    # The model expects a batch of images, so add an axis with `tf.newaxis`.
    encoded_image = encoded_image[tf.newaxis,...]

    model_fn = model.signatures['serving_default']

    # Run inference (the SavedModel downloaded from AI platform also requires a "key" as input.)
    output_dict = model_fn(encoded_image = encoded_image, key = tf.expand_dims(tf.convert_to_tensor("test_key"), 0))

    print(encoded_image.shape, (tf.expand_dims(tf.convert_to_tensor("test_key"), 0)).shape)

    num_detections = int(output_dict.pop('num_detections'))

    print('detected objects',num_detections)

    return output_dict, num_detections

alo, alo_nb = run_inference_for_single_image(loaded, image)

I then tried:
loaded = tf.saved_model.load(path)

input_tensor = tf.convert_to_tensor(tf.keras.Input(shape=(None, 3)))

# Encode the (numerical) tensor into an "encoded_image"
input_tensor =  tf.image.convert_image_dtype(input_tensor, dtype=tf.uint8)
encoded_image = tf.io.encode_jpeg(input_tensor)

model_fn = loaded.signatures['serving_default']
model = model_fn(encoded_image = tf.expand_dims(encoded_image, 0), key = tf.expand_dims(tf.convert_to_tensor("test_key"), 0))

saved_1 = tf.keras.models.save_model(model, 'success.h5')

Which of course fails because it is not a Keras model:
AttributeError: 'dict' object has no attribute 'outputs'
I then tried:
class LayerFromSavedModel(tf.keras.layers.Layer):
    def __init__(self):
        super(LayerFromSavedModel, self).__init__()
        self.vars = loaded.variables
    def call(self, inputs):
        return loaded.signatures['serving_default'](inputs)

input = tf.keras.Input((None,None,))
model = tf.keras.Model(input, LayerFromSavedModel()(input))

Which returns:
TypeError: in user code:

    File "C:\Users\dfvr1\AppData\Local\Temp\ipykernel_23372\3246415985.py", line 13, in call  *
        return loaded.signatures['serving_default'](inputs)

    TypeError: pruned(encoded_image, key) takes 0 positional arguments, got 1.

How can I update LayerFromSavedModel now the I know the inputs for the model?

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.

Yes this has been resolved, ty for reaching out!
On Tue, Aug 13, 2024, 9:55 PM github-actions[bot] @.***>
wrote:

This issue is stale because it has been open for 7 days with no activity.
It will be closed if no further activity occurs. Thank you.
—
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/42425#issuecomment-2287685412,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALD7SX6EA5KZ5IT27372H33ZRK2JBAVCNFSM6AAAAABMCRQWISVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBXGY4DKNBRGI
.
You are receiving this because you commented.Message ID:
@.***>

Hi @dfvr1994 ,
Closing this issue as the user confirmed it was resolved in the latest version. Please feel free to reopen or create a new issue if the problem persists.


no net component in the dagnet.net from demo.m file

Thanks for sharing your code with the community. I was testing it recently, but got the error in the demo.m.
Reference to non-existent field 'net'.
Error in demo (line 7)
dagnet = dagnn.DagNN.loadobj(dagnet.net) ;
I used the
net_path = 'DBCNN\dbcnn\models\LIVE_models\whole\imdb-seed-1.mat';
Is this the correct model? Thanks a lot for your support.
Best regards!

Hi,
You need to first train the DB-CNN on a database, the checkpoint will be automatically saved. Then you can load the checkpoint  to test an image as in the demo.
imdb-seed-1.mat is the file containing the meta information that you need use to train and test the model.
We do not release the pre-trained DBCNN model in the github.

thanks for your reply. I will try to train a simple model. Hopefully, it won't take too long, as I only have cpu on my laptop. :-)
Best regards!

Thanks for your reply. I am currently working on downloading the correct databases. As for LIVE, they have a first and second release versions, can you provide a link to the database which you used to train the model please?
Thanks a lot!

I didn't meet this error before. Have you tried setting opts.randomSeed=1?


flutter build/install/run developer experience is confusing

Normally I like to do something like this on the command line:
(cd <my app path> && flutter build apk && flutter install && flutter run)

The problem is the app that gets installed isn't the one that's run such that if I launch my app via the command above I get a different app experience than if I launched it from the Android launcher.  ie. The installed app is in release mode but flutter run runs something in debug mode)
This is confusing.
I would like to have a way to have a single canonical/source-of-truth app - I want the app I run from the command line to always be identical (with respect to environment and code) to the one that gets installed and is launched via the Android launcher.

flutter run will build and install the app before running it - is there a reason you're calling build apk and install manually?
run defaults to using --debug mode and build apk defaults to --release mode - it seems like when you're running the app you'd be most interested in debuggability, and when explicitly building it more interested in a deployable version. Curious to hear if this matchs your expectations?

I've been told that you need to build and install in order for the app/code that's on the device to be consistent.  From what I understand run just pushes over some code that is just dropped on the floor next time the app is run - is this correct?
@abarth @Hixie

flutter run largely uses the same logic as flutter build; it will re-built an app as necessary before a run.
run does have a state that if you re-run a running app, or run flutter refresh, the older code is not overwritten. So if you stop that run, and then start the app manually on the device, you'll see the original dart code.
You would want to do flutter build apk && flutter install in that case, in order to have something which you can take around and demo.

Is there some way we can make flutter run mark the build it's updating as "obsolete" so that when the shell is run straight from the home screen, rather than via our carefully crafted intent, it fails with a message of some sort?

Maybe the debug version shouldn't have the LAUNCHER permission.  That way it won't show up on the home screen and be confusing.

Imagine this scenario:

flutter build apk && flutter install
change some code
flutter run --debug
shuts down the app
user taps the icon on the home screen

Would it be clear to the user that flutter run --debug was not updating/overwriting the installed app? (Maybe with --debug you always get Slow Mode banner, so that's your visual clue...)

user taps the icon on the home screen

Either we should make this step impossible by removing the LAUNCHER permission from builds created with "run", or
We should make builds created by "run" launched from the launcher show a message explaining how to create a release build.

@sethladd  No it wouldn't be clear.  I'd always expect the last 'flutter run' to be what would be running when I launch the app manually.  The debug banner would be your visual cue but unless you knew what was going on you'd wonder why the banner isn't there (like me).
If whatever flutter run does is ephemeral vs. being permanent then I think we there should be some sort of call to action to make things permanent - or a warning should be displayed indicating that the code is running in ephemeral mode and give an option to make it permanent.

run does have a state that if you re-run a running app, or run flutter refresh, the older code is not overwritten. So if you stop that run, and then start the app manually on the device, you'll see the original dart code.

This is the exact problem I'm having problems wrapping my mind around.  And there's no supporting information for a reasonable developer to understand what's happening imo (of course I rarely read documentation anyway so that could be half my problem :p)

Thanks for the feedback!
Talked to @abarth offline, and we brainstormed ways to address this. One idea, if I recall, was to (somehow) invalidate the installed app if the developer runs flutter run --debug. That way, in my scenario above, on step 5 the developer would see a message like "you've changed your app since the last time you launched this. You need to re-install."
Another idea that comes to mind: the developer would need to first install some sort of Debug Container App, which hosts all the in-development apps. This DCA would be a separate launcher icon on the home screen, perhaps thus reinforcing that when developing you find your in-development apps in a different, self-contained launcher. Just a thought.

Maybe the debug version shouldn't have the LAUNCHER permission. That way it won't show up on the home screen and be confusing.

I think this would avoid the issue entirely - we'd just make the --debug version of the app not separately launchable. The user can use build and install if they need an independently runnable app.

We have a notion of a "stub" app now that --hot uses to bootstrap.  We could make that be the thing that you get when you launch the app via the launcher.  It could have instructions for how to connect to the app to start developing it.

The problem is you end up with a phone full of stubs instead of release apps, so you have nothing to demo when you're out and about.

IMHO, we should remove the expectation that "run" gives you an app installed on your device, probably by removing the launcher icon.    The expectation should be that you have whatever version you installed.

we should remove the expectation that "run" gives you an app installed on your device

+1

The specific issue that "flutter run" shouldn't result in a launchable icon in the app tray is https://github.com/flutter/flutter/issues/5185.
There's a related issue which is what to do when someone uses the "recents" menu on Android to go back to a hot-reload app after it's quit. I fixed that in https://github.com/flutter/flutter/pull/5193.
Are there other issues we should address to consider this bug resolved?

cc @danrubel if you're interested in taking a crack at this. I find it strange that flutter run --release also installs the app. :) I wonder if we can make run a developer thing, and build a "I want to build the app", and install a "I want to put a built app on the phone".
If I run, I shouldn't have something left on the device. (until we have some sort of Dev Shell app which can host a variety of in-development flutter apps, but that's for much later :)

Closing in favour of the more concrete #5185.


Fix for server crash on startup (Issue #26)

This fixes the server crash caused on startup in regards to laser infuser (issue #26).
This does not fix anything in regards to issue #24.

I cannot really merge this branch as it has conflicts and it also modifies about every file in the repository. I think something went wrong here

Ah, looks like you're right. Sorry about that.
I'll try that again soonish.


Generating train split takes a long time

Describe the bug
Loading a simple webdataset takes ~45 minutes.
Steps to reproduce the bug
from datasets import load_dataset
dataset = load_dataset("PixArt-alpha/SAM-LLaVA-Captions10M")

Expected behavior
The dataset should load immediately as it does when loaded through a normal indexed WebDataset loader. Generating splits should be optional and there should be a message showing how to disable it.
Environment info

datasets version: 2.20.0
Platform: Linux-4.18.0-372.32.1.el8_6.x86_64-x86_64-with-glibc2.28
Python version: 3.10.14
huggingface_hub version: 0.24.1
PyArrow version: 16.1.0
Pandas version: 2.2.2
fsspec version: 2024.5.0

@alexanderswerdlow, I will now work on this..
Idea:
Whenever this code has ran:
from datasets import load_dataset
dataset = load_dataset("PixArt-alpha/SAM-LLaVA-Captions10M")

It should show all the splits of the datasets, and user has to choose which one should be loaded before generating a split like this,,


New 'search' submit button has an incorrect CSS class of govuk-button

The new 'Search' submit button has a CSS class of govuk-button.

I believe this is a bug.
The button does not need or use this class.
This is causing an issue for Pay - because we import the govuk-button CSS styling from the Design system.
As we need it for buttons we use in the cookie banner.
The styling for the button breaks as per below:

Therefore, can the CSS class govuk-button please get removed.

Raised this PR

This has been released - v2.2.2 - closing issue.


CAMEL-19398: use Java's builtin custom boolean parser

Note: this changes the behavior for converting string to boolean when invalid data is passed. Previously the code would return null. With this, it defaults to false.
Obs.: keeping as a draft as I would like @davsclaus opinion on this (and he is on PTO).

@davsclaus thanks for sharing your insights about this one!
So, I think the way it is, this patch is too risky: it would break backwards compatibility and introduce shady behavior.
I'll take a look at your proposed changes and modify it. I think it will be enough of a cleanup by doing just that.

This new changes use a simplified boolean conversion as suggested (while retaining the old behavior). I think this should be safer.


[WIp] 3.2 Release

Remove TravisCI for Linux builds
Add AppVeyor for Linux Builds
#76

Hey Matthew, do you have an eta on v3.2?

@BrettJaner this should be good,  we had a transient failure in the build.

@BrettJaner should now be available on NuGet.


chore(infra_utils): deprecate env-var based functions

Stack:

#2403 ⬅
#2402
#2401
#2400
#2399
#2398
#2395
#2394

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

This change is


Create Tokens design + specs

Typography
Motion
Grid
Spacing
Shadows
Gradients
Shape radius ?
Iconography ?

I close this one, as it's duplicated here:
https://github.com/adevinta/spark/issues/277


Missing tab highlight in NuGet Package Manager

Missing tab highlight in NuGet Package Manager
Default Dark theme

Doki-Theme

Link to property for future reference:
https://github.com/NuGet/NuGet.Client/blob/5886341d8d004ecc9f6951bc60060eb0bc366828/src/NuGet.Clients/NuGet.PackageManagement.UI/Xamls/PackageManagerTopPanel.xaml#L65


Always throwing postMessage error

I am using the Google Pay web component, in a Vue implementation.
Each time the component renders, the onError callback is triggered with the following ErrorEvent:
message: "Failed to execute 'postMessage' on 'Window': [object Array] could not be cloned"
name: "DataCloneError"

This also happens to the stackblitz example
Any ideas why this is happening and how to fix?

@jimmleon I can't reproduce this on my side. What browser are you using?

Google Chrome 127.0.6533.73
Also happens in Firefox.
Doesn't this error appear to you in the documentation's Stackblitz example?
Check screenshot:

@jimmleon No this error doesn't appear for me with the Stackblitz example on Chrome

For anyone else who may be facing this,
it seems that the error will occur if the paymentRequest does not contain raw data, but proxy objects instead (reactive, computed etc).
In my implementation (Vue 3), some data (like the allowedAuthMethods and allowedCardNetworks) were computed properties, and this resulted to the postMessage not being able to properly handle the proxy object.
So I needed to use the toRaw()


Lack of csv export and no other tools available

What happened?
CSV export was removed and we're not getting any useful feedback.
URL
https://github.com/helium/explorer/issues/23
What browsers are you seeing the problem on?
Chrome, Safari, Brave, Firefox, Opera, Microsoft Edge
Do you see the issue on Mobile or Desktop?
Mobile, Desktop
Relevant log output
No response

@jiceman might be interested in this

Hi there, please check the pinned message in the #explorer channel for the goals of explorer v2 and alternatives. TLDR: There are no plans to port over csv export to explorer v2.
explorer.helium.com/tools also lists data export alternatives.

FWIW, you can convert json to csv using free online tools. You can also export data daily using popular free tools like postman and then send those results to google sheets. Hope that helps.

Thanks. The location of the tools page was what we were asking for in the closed issue.


Typo in grad_deg2_eval return on complete check

Reading through some of the code, I noticed a typo in this block:
https://github.com/MilesCranmer/SymbolicRegression.jl/blob/90830eb421f7af50203e6a425a1ee66b3e44429b/src/EvaluateEquationDerivative.jl#L257-L264
Maybe I am misunderstanding something, but it looks to me like L264 should be
@return_on_false2 complete2 cumulator2 dcumulator2

instead of returning cumulator1 dcumulator1

Actually, looking more closely, this does not seem like a typo. If the right evaluation failed, don't accumulate its (incomplete) results. I will wait for someone else to review, but this can be closed

Hi @djmoore26,
Indeed this appears to be a typo, thanks for pointing it out!
However, in actuality, it will not affect the evaluation though - the return_on_check macro returns any array when evaluation fails. Just so the function is type stable, and so I don’t have extra allocations, I usually return the previously-allocated array. But I could return an array of NaNs or anything else - the array shouldn’t be used, as the completion flag will be set to false.
cheers,
Miles

Thanks for comfirming!


Include recipe for building vagrant box

Vagrant is a useful way to try out nixos, making it as simple as
vagrant init zimbatm/nixos-14.12-x86_64
vagrant up`

on any platform.
There already is a working recipe for building a Vagrant box: https://github.com/zimbatm/nixbox. It would be great to integrate the recipe into nixpkgs. Also it would be useful if nix boxes were built automatically with any release. Does that seem like something that should fit into nixpkgs?
Previous discussion on the mailing list: http://lists.science.uu.nl/pipermail/nix-dev/2015-July/017718.html
I'm interested but won't have time to work on this short term, but I'm creating this issue to track progress.

(triage) If no one wants to work on this, I suggest we close.


Bug in Contributors Data Fetching in Contributors Page

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Hey @Priyaaa1 and @MastanSayyad
In the contributors page the data of the total contributors is not showing correctly, it only shows the contributors more than one or two contributions of contributors the only limit is 30

Expected behavior
N/A
Add ScreenShots
No response
What browsers are you seeing the problem on?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@RadhikaMalpani1702 Assigned, also in sign up page you didn't fix dark mode issue so make sure you fix it


Removes ampersand and replaces with try

If I understand it correctly the idea is that if there's no defined http_method inside options it will use :get as the default. &.to_sym was crashing on my application, and I don't recognize that syntax, so I'm assuming it was just a typo. This is a fix to that issue and uses try to avoid calling to_sym on nil and getting an exception.
What do you think @CV-Gate?

Let me know if you will be able to merge and update the gem today.

Otherwise I'll just use the github repository for now.

Hi simão, it's not a typo, it's a ruby 2.3 safe operator.

Ohhhhh! OK, I did have a feeling that this had to be something that existed. But I missed the Ruby 2.3 release. I thought I was in the latest thing (2.2.4) and found it weird that it didn't work.
What we could do is have a branch for ruby < 2.3 and leave as it is in master. And make sure to state the dependencies on the README file.
I think I can upgrade my project to use 2.3, as it's quite a small thing, and just use the existing gem as is.

Actually I might not do that just now, as some other members of the team are going to be using this repo locally and it might be best to reduce entropy by not having them need to upgrade to Ruby 2.3.
But something to upgrade soon.


The Spanner documentation test fails

Environment details

OS: Ubuntu
Node.js version: 7.6.0
npm version: 4.1.2
google-cloud-node version: HEAD

Steps to reproduce

git clone
npm install
npm test

When I run it I get this error
commonGrpc.Service.encodeValue_ is not a function
  TypeError: commonGrpc.Service.encodeValue_ is not a function
      at Object.encode (packages/spanner/src/codec.js:177:42)
      at Database.runStream (packages/spanner/src/database.js:603:28)
      at Database.run (packages/spanner/src/database.js:490:8)
      at Database.wrapper [as run] (packages/spanner/node_modules/@google-cloud/common/src/util.js:705:29)
      at assert-code.vm:52:10
      at ContextifyScript.Script.runInContext (vm.js:32:29)
      at ContextifyScript.Script.runInNewContext (vm.js:38:15)
      at Object.exports.runInNewContext (vm.js:69:17)
      at runCodeInSandbox (test/docs.js:293:8)
      at Context.<anonymous> (test/docs.js:194:13)

Fixing now, sorry about that!

Fixed in this commit: https://github.com/GoogleCloudPlatform/google-cloud-node/commit/7fb46142efb82f5105fcc5127d78b5ae09a8e1c1 -- I had to restore the encodeValue_ method and publish it under<EMAIL_ADDRESS>


code not work some website

I tested code for
https://hcaptcha.com/siteverify
but not work
Tutorial:
https://www.baeldung.com/httpurlconnection-post

Hi @TechComet,
Can you clarify what particular issue you're facing with this article?

I try this
URL url = new URL ("https://reqres.in/api/users");
It's work
but
URL url = new URL ("https://hcaptcha.com/siteverify");
not show message error or verify complete
https://docs.hcaptcha.com

I'm not sure what's the issue you're facing. But I doubt it's a problem with our article, i.e. you say it works with the https://reqres.in/api/users address that we use in the article.
Anyway, you should rather try to find an answer on sites like StackOverflow.


[e2e]: generic workflow_dispatch main workflow_inputs slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/11098725619
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.generic.workflow_dispatch.main.workflow_inputs.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.generic.workflow_dispatch.main.workflow_inputs.slsa3.yml
Trigger: workflow_dispatch
Branch: main
Date: Mon Sep 30 03:19:49 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/11117984101
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.generic.workflow_dispatch.main.workflow_inputs.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.generic.workflow_dispatch.main.workflow_inputs.slsa3.yml
Trigger: workflow_dispatch
Branch: main
Date: Tue Oct  1 03:22:47 UTC 2024
Tests are passing now. Closing this issue.


im trying to send a query db.schema.table

getting error "name": "RequestError",
"message": "Database 'Select * from spark' does not exist. Make sure that the name is entered correctly.",
where the query passed is
Select * from spark.v1.main Where MainId = xxx

my bad was useing request.execute instead of request.query


[Bug]"perpendicularBaseline": null

when I search SLC，I find some SLC'S perpendicularBaseline is null in properties['fileID'].
So, I could not to plot basline image.

Issue is being tracked in #228


Necessity of piece of code

I suspect we don't need to do this. store_ts will create as appropriate and doing this requires knowing more conditions than we have at the moment.
https://github.com/USACE/cwms-radar-api/blob/8a67c3e0a6dd7832f5e8cf67ffc3c139b83b52a0/cwms_radar_api/src/main/java/cwms/radar/data/dao/TimeSeriesDaoImpl.java#L832

This piece of code was deleted in the latest work to get various things working. (I have no idea why but it appeared to be leaving a connection open.)


Feature: LexicalComposer initialState should accept SerializedEditorState

Currently the initialState prop accepts an InitialEditorStateType
export type InitialEditorStateType =
  | null
  | string
  | EditorState
  | ((editor: LexicalEditor) => void);

In a normal root editor situation, it's hard to get an EditorState, because you need a LexicalEditor to parse one… but it's not entirely uncommon to have already parsed the JSON. I ran into this myself when I started using Lexical and it's come up on the discord.
I would recommend extending the type to:
export type InitialEditorStateType =
  | null
  | string
  | SerializedEditorState
  | EditorState
  | ((editor: LexicalEditor) => void);

And change the type check in initializeEditor from this:
    switch (typeof initialEditorState) {
      case 'string': {
        const parsedEditorState = editor.parseEditorState(initialEditorState);
        editor.setEditorState(parsedEditorState, HISTORY_MERGE_OPTIONS);
        break;
      }
      case 'object': {
        editor.setEditorState(initialEditorState, HISTORY_MERGE_OPTIONS);
        break;
      }
      case 'function': {
        editor.update(() => {
          const root = $getRoot();
          if (root.isEmpty()) {
            initialEditorState(editor);
          }
        }, HISTORY_MERGE_OPTIONS);
        break;
      }
    }

to something like this:
    switch (typeof initialEditorState) {
      case 'string': {
        const parsedEditorState = editor.parseEditorState(initialEditorState);
        editor.setEditorState(parsedEditorState, HISTORY_MERGE_OPTIONS);
        break;
      }
      case 'object': {
        const editorState = initialEditorState instanceof EditorState
          ? initialEditorState
          : editor.parseEditorState(initialEditorState);
        editor.setEditorState(editorState, HISTORY_MERGE_OPTIONS);
        break;
      }
      case 'function': {
        editor.update(() => {
          const root = $getRoot();
          if (root.isEmpty()) {
            initialEditorState(editor);
          }
        }, HISTORY_MERGE_OPTIONS);
        break;
      }
    }

It would be a good opportunity to add a __DEV__ check to validate the structure of the serializedEditorState passed to parseEditorState (some people are using JS and TS doesn't help all that much around JSON boundaries since there's any everywhere), such as:
invariant(serializedEditorState && typeof serializedEditorState === 'object', 'parseEditorState: missing or invalid serializedEditorState');
if (__DEV__ && typeof serializedEditorState.root !== 'object') {
  if (serializedEditorState.constructor !== Object) {
    invariant(!(serializedEditorState instanceof EditorState), 'parseEditorState: can not parse an already parsed EditorState');
    invariant(false, 'parseEditorState: root missing from serializedEditorState and does not appear to be parsed JSON (instance of %s, not Object). Multiple versions of lexical may be present.', serializedEditorState.constructor.name);
  }
  invariant(false, 'parseEditorState: root missing from serializedEditorState, does not appear to be the result of editorState.toJSON()');
}

Closed as duplicate of #3732 :P Sorry mate


use proper condition check failure in kv mem store

Coverage decreased (-0.01%) to 86.37% when pulling<PHONE_NUMBER>0fa71a3601bfa9f63e36d0ba602e4d on js/memConditionErr into 9d94e172ccd6f4ca7f487506a47f3c85b95f8d6e on master.


aig nodes end up unconnected

After the latest commit I'm still getting 33 unconnected and nodes.
They seem to be from the aigmap.
Might be the HILOMAP.. not sure...
the logfile from the fitter is here:
https://raw.githubusercontent.com/klammerj/y40k/master/big_test.log
(it lists the primitive names)
the edf file is here:
https://raw.githubusercontent.com/klammerj/y40k/master/test/big_test.edf

It does not look like those cells are there when I try it with current git head (69468d5):
yosys> stat

20. Printing statistics.

=== big_test ===

   Number of wires:                 50
   Number of wire bits:            266
   Number of public wires:          50
   Number of public wire bits:     266
   Number of memories:               0
   Number of memory bits:            0
   Number of processes:              0
   Number of cells:                101
     BIBUF                          32
     GCLKBUF                         2
     IBUF                           28
     OBUF                           37
     RSBUF                           1
     djsdram_simple1                 1

=== djsdram_simple1 ===

   Number of wires:               6675
   Number of wire bits:           7436
   Number of public wires:          50
   Number of public wire bits:     291
   Number of memories:               0
   Number of memory bits:            0
   Number of processes:              0
   Number of cells:               7275
     AN2                          2401
     FD                             86
     FDE                            33
     INV                          3826
     ONE                           345
     ZERO                          584

yosys> check -noinit
21. Executing CHECK pass (checking for obvious problems).
checking module big_test..
checking module djsdram_simple1..
found and reported 0 problems.

yosys> select -assert-none i:* t:ZERO t:ONE %% %co* t:AN2 %D

yosys> write_edif -nogndvcc ./test/big_test.edf

22. Executing EDIF backend.

yosys> exit

(The select -assert-none i:* t:ZERO t:ONE %% %co* t:AN2 %D should fail if there are any unconnected AN2 cells.)
Please check if updating to git head fixes the issue for you.

Yes, I'm at head too.
I don't know if they're connected to anything in the internal rep.
('twas merely a guess wrt the hilomap... could be some arithmetic primitive too as I 've got no cells for those yet.. or te aigmap)
I only know it's unconnected in the edf file...
Grepping for 15552 gets me to id00995(@line 2148),
and grepping for that finds a connected B(@line 19807) and Q(@line 19832) but no A.
I guess it could also be sthg in the .v file.. will read a bit...

PS: I've made changes to the .v during the previous bug report, when I tried to get rid of a warning about internal tristates. I just now changed some port types from reg to wire. so maybe you want to pull the testcase again. I've also uploaded the logfile from IDS (big_test.log). and the output I get ./test/big_test.edf.

For some reason the EDIF file I get is slightly different than yours. Can you also upload the log ouput produced by yosys so I can figure out what's different? (Yosys avoid non-deterministic programming pattern and should produce the same output for the same input on all platforms and compilers.)
 When I let Yosys create a .il file as well (write_ilang output.il) I can see why:
  attribute \src "cells_map.v:100"
  cell \AN2 $auto$aigmap.cc:105:execute$15548
    connect \A 1'x
    connect \B $auto$rtlil.cc:1733:NotGate$15547
    connect \Q $auto$rtlil.cc:1734:AndGate$15549
  end

The A input is driven by an undef. This AN2 is in the cone driving refresh_running:
yosys [djsdram_simple1]> show $auto$aigmap.cc:105:execute$15548 %co20:-FDE %co2

This undef is added by the dff2dffe pass. Here is before dff2dffe:

And this is after:

This transformation is correct afaict. Running for example opt_expr -mux_undef will get rid of the MUX:

Note that for example synth_ice40 does run opt_expr -mux_undef shortly after calling dff2dffe:
    map_ffs:
        dffsr2dff
        dff2dffe -direct-match $_DFF_*
        techmap -map +/ice40/cells_map.v
        opt_expr -mux_undef
        simplemap
        ice40_ffinit
        ice40_ffssr
        ice40_opt -full

I'm now closing this issue. Add a comment below if and when you upload your yosys log output. I'll use it to check if I can explain why you get a slightly different EDIF file than I am.

fyi: commit 4e80ce9 adds warnings for cell ports driven by x/z to write_edif.

I've uploaded the log now

PS: Don't worry about it too much. The box here is 32 bit, and that may well be the cause of it. I remember one of your bigsim tests failing because it overflowed an int here.


url changes and data parsing logic changes

made changes for how we extract and parse the data, also renamed some other things to be more accurately named or were mis-named in the first place

also re-named some of the url paths in our routes to be more descriptive


Rest API Docs

Hello, I was just wondering where I can find the REST API docs?

Right here: http://hashbrown.rocks/docs/api
They're not 100% complete yet, but the essentials should definitely be there

@mrzapp fantastic, thanks 👍

BTW, please ignore the "http://hashbrown.rocks/docs/api" part of the endpoint URLs, that's a bug I'm fixing now


How to run SenCID on normalized data, such TPM data?

Hi,
Thanks for the great and strong tool. But I found it only accepts count data. Is it possible to run SenCID on normalized data?
Thank you!

Cool, got it. Thanks a lot!

SherryMiyano

Cool, got it. Thanks a lot!


Link to [Steering Committee Template – Link to sample PPT template] is missing

The link to the  [Steering Committee Template – Link to sample PPT template] is missing.

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

ID: ffb4be65-f72b-54ae-0168-a2c721f4d88e
Version Independent ID: cbf0ca70-508f-9f10-7f50-3a4d3a20366b
Content: Steering committee for cloud voice deployment - Microsoft Teams
Content Source: Teams/envision-steering-committee-complete-guide.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@pamelamontes01 Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Hi @pamelamontes01  Thanks for raising this issue! I will be looking into it!

@LanaChin I've searched around the github trying to find the template this is referring to and it doesn't seem to exist. Do you know if there is an official Microsoft template or what this link might have originally pointed to? Any help would be very much appreciated, thanks!

The article has been updated as the PowerPoint presentation template is no longer available.  Thanks for your feedback!


Consider Useful Features

Given the unique characteristics of BijectiveDictionary, think about features that would be useful in general-purpose applications and consider which should be added. For example, the bimap crate in Rust (which implements a bijective dictionary) includes an insert method that informs the caller if any existing entry was overwritten during the insertion.

Agreed. That functionality would be very useful. IdentifiedArray has something similar where it will inform you if the item was successfully inserted or not. It might be worth it to draw inspiration from this API, so that we don't have to reinvent the wheel. (Or there might be an example in the standard library or Swift Collections, that would be better to follow).
https://swiftpackageindex.com/pointfreeco/swift-identified-collections/main/documentation/identifiedcollections/identifiedarray/insert(_:at:)
Also, part of me would like to be able to declare at the call site, if it is okay to override. If I don't want it to override, and if the element already exists, then it will not insert, and it will let me know the result.
Something like bijectiveDictionary.insert(left: element, override: true)


[fakeit] add new port

Describe the pull request

What does your PR fix? Fixes #16873

Which triplets are supported/not supported? All

Does your PR follow the maintainer guide? Yes

This LGTM, thanks for the PR!


lack of contact matrices

for the data of contact_matrices_152_countries there is only 90 sheet so 90 country.
how can we fill the others

@hdramzi, the primary source for this data is the study of Prem et al, so please check https://doi.org/10.1371/journal.pcbi.1005697.s001 for incompleteness.


How to debug an electron based app that does not respond to proxy?

I have installed an app that is based on electron. The GUI is in javascript, html, css and it does not support setting proxy for it.
How can I intercept and record traffic for this particular application using mitm proxy? Are there any other tools that does what I want?
I have another application installed ( https://soroush-app.ir/ ) which I guess is based on electron. It does support proxy (HTTP and SOCKS5) but when I use HTTP it dumps nothing on the web interface. Socks5 says that authentication is not supported and I dont know why does it says this.
I am using windows server 2008 R2 for testing all of this (the core is Windows 7) installing both mitmproxy and soroush on the same machine.
Thanks.

Please use the mitmproxy forums (https://discourse.mitmproxy.org/) for support/how-to questions. Thanks!


Fix article title spelling error

@paulkel : Thanks for your contribution! The author, @vhorne, has been notified to review your proposed change.

#sign-off


Update the auth-token event name and document how it works

Reason for change
This changes the manifold-auth-token event name from whatever stencil chose to a fixed manifold-token-received. This will also ensure that this event can bubble up to the document rather than stay locked to the component.
This PR also updates the docs to better document the auth token component with the new shadowcat behavior.
Testing
Test with the docs

I'll let @sslotsky put the ✅on this. He had more change requests than I did

Also looks like the now deployment failed.

@sslotsky I know Guillaume said “test in the docs“ but I’m not really sure what that means. Would you be OK with pushing this through yourself? I don’t know if I have context to approve this PR (nothing jumps out at me)

@sslotsky I know Guillaume said “test in the docs“ but I’m not really sure what that means. Would you be OK with pushing this through yourself? I don’t know if I have context to approve this PR (nothing jumps out at me)

@dangodev Maybe this just means we make sure the documentation looks good in the context of the docs page?

Also suggestion: is there a test where we double-check the name of the event? Event names are so brittle, it’d be nice to have each event be tested independently, that way we know there are no typos in the names.

Good idea, I'll add one


Upgrade dependencies to work with xcode 11.4 +

Reported from the AlphaWallet group
Shubham Rathi, [25.05.20 20:00]
[ Photo ]
This is the issue from Macaw.
Shubham Rathi, [25.05.20 20:01]
Overriding generic methods isn't allowed (from 11.5 i suppose)
Shubham Rathi, [25.05.20 20:02]
https://forums.swift.org/t/method-override-with-a-generic-signature-with-requirements-not-imposed-by-the-base-method/33593

The latest version of Xcode 11.x

@hboon i sent PR with updates to AlphaWallet/Macaw but not sure if i did it right.

Because exyte/Macaw contains +82 commits i dont know how to squash them into single commit, (because of conflicts)

@James-Sangalli when you will have time please provide more detailed information, what need to do for this issue. For now not  clear.

@vladyslav-iosdev We currently only support building the repo with Xcode 11.3. We would like it to be with 11.4 (actually let's do 11.6 instead of 11.4). What's the minimum change that we can do to support this?
We have a fork of Macaw at https://github.com/AlphaWallet/Macaw/tree/alphawallet (the alphawallet branch). Is the soltion as simple as this? :

Add a single commit to our Macaw fork, the alphawallet branch
Update Podfile to use that new commit

@vladyslav-iosdev can you try to make it build with Xcode 11.7 instead?
Refer to #2135 too

Also relevant: #1872

@hboon seems like done.


I hope you can continue the project.

It is a wonderful project. Why not continue it?

@streetartist  Unfortunately I spent the time to rewrite the compiler in a different language, since it takes a long time to compile large files or projects. If you're interested in contribution g you can open pull requests. I'm hoping that the language design serves as inspiration for other projects.


Bryan County, OK Addresses

Yes! Fee to obtain information is $1,100.  What company are you with?
Sincerely,
Aaron Walkup
GIS Technician
911 Coordinator
City of Durant
(580) 931-6622

no data


[WIP] resolve path when checking include dirs

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

adds a new method, above_symbolically? to heuristically check whether a path is a parent of another path when symbolic references are considered. Currently we perform the heuristic check by first seeing if the directory is textually a prefix of the path, and then comparing the realpaths. This doesn't catch everything... I don't think there's a way to do that without walking the file system and seeing which paths are accessible from dir ... and that seems like overkill.
I hunted around for a way to test the code in shims and couldn't find one ... so I wrote a quick test that copies the shim source over to a temporary file without the shebang preamble and then loads it.
The shim tester is kind of a hack (and it leaks temporary files). Is there a better approach for testing this code?
I'm also open to suggestions about how to test a scenario that more closely resembles a conflict with macports or fink or X11 or w/e.
Context: https://github.com/Homebrew/brew/issues/1191

Thanks for the PR @gregory-nisbet but I'm not sure I understand what this is fixing. If this is related to https://github.com/Homebrew/brew/issues/1191 it should probably be touching code with the line sysroot in it somewhere.


fix apt-get error on conf file conflict

During provisioning, if there exists a docker.conf, you're prompted to perform an action regardless of the noninteractive and -y flags.
I've added a flag which forces the prompt to use the old config which, in the case of provisioning a new machine, should prove completely sufficient as it's likely another package being installed that dropped the config in the first place.

(Reading database ... 158291 files and directories currently installed.)
Preparing to unpack .../liberror-perl_0.17-1.1_all.deb ...
Unpacking liberror-perl (0.17-1.1) ...
Selecting previously unselected package git-man.
Preparing to unpack .../git-man_1%3a1.9.1-1ubuntu0.1_all.deb ...
Unpacking git-man (1:1.9.1-1ubuntu0.1) ...
Selecting previously unselected package git.
Preparing to unpack .../git_1%3a1.9.1-1ubuntu0.1_amd64.deb ...
Unpacking git (1:1.9.1-1ubuntu0.1) ...
Selecting previously unselected package cgroup-lite.
Preparing to unpack .../cgroup-lite_1.9_all.deb ...
Unpacking cgroup-lite (1.9) ...
Selecting previously unselected package lxc-docker-1.7.1.
Preparing to unpack .../lxc-docker-1.7.1_1.7.1_amd64.deb ...
Unpacking lxc-docker-1.7.1 (1.7.1) ...
Selecting previously unselected package lxc-docker.
Preparing to unpack .../lxc-docker_1.7.1_amd64.deb ...
Unpacking lxc-docker (1.7.1) ...
Processing triggers for man-db (<IP_ADDRESS>-1ubuntu1) ...
Processing triggers for ureadahead (0.100.0-16) ...
Setting up liberror-perl (0.17-1.1) ...
Setting up git-man (1:1.9.1-1ubuntu0.1) ...
Setting up git (1:1.9.1-1ubuntu0.1) ...
Setting up cgroup-lite (1.9) ...
cgroup-lite start/running
Setting up lxc-docker-1.7.1 (1.7.1) ...

Configuration file '/etc/init/docker.conf'
 ==> Deleted (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** docker.conf (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing package lxc-docker-1.7.1 (--configure):
 EOF on stdin at conffile prompt
dpkg: dependency problems prevent configuration of lxc-docker:
 lxc-docker depends on lxc-docker-1.7.1; however:
  Package lxc-docker-1.7.1 is not configured yet.

dpkg: error processing package lxc-docker (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 lxc-docker-1.7.1
 lxc-docker
E: Sub-process /usr/bin/dpkg returned an error code (1)

@jasisk can you rebase against the latest master? Thanks!
@nathanleclaire wdyt?

I'm hesitant, just because changing the shell commands in this domain could potentially be quite problematic.
@tianon Does it make sense to you?

Hmm, I guess it makes sense that if you're asking docker-machine to manage the box that it should overwrite the config, but I'm not sure whether we should prefer "old" or "new" in this case.  I can see an argument for "old" because then a user can pre-configure a box, but the argument for "new" is that the user is specifically asking docker-machine to configure the box, so the default configuration would make sense to apply.

Hi @jasisk, can you rebase on master please?

Ack. Sorry, wasn't getting notifications for this one.
After working with this one for a while, I've changed my mind and have started using force-confnew. I ended up having more issues with confold(particularly regarding different init systems), butconfined` has been without issue.
I can rebase this one if you want but would recommend switching to confnew.

@jasisk I'm not user I understand enough to give you an answer. @nathanleclaire, @tianon can you help decide?

I think I would rather keep the user apt configuration as-is and try to detect an invalid state and warn if there is one (therefore I'm leaning on the side of closing the PR).
@jasisk what causes the situation for you in the first place?  Did you pre-bake a machine image with docker.conf present but without Docker installed?  It will help to understand how the issue came up in the first place.

@jasisk @nathanleclaire What's the status of this PR? @jasisk I guess it should at least be rebased if you plan to get it merged. I'm still not sure I really understand the issue though.

Sorry, didn't get notifications again. I have to check my mail filters.

what causes the situation for you in the first place? Did you pre-bake a machine image with docker.conf present but without Docker installed?

This was caused by a (very poorly) pre-provisioned base image for an openstack-based internal cloud. There exists no docker binary, nor docker.conf in /etc/init however dpkg --get-selections shows no less than three old versions (lxc-docker 1.3, 1.4, 1.5) in deinstall. I'm provisioning a brand new machine as we speak to check if there are other configs lying around (perhaps not upstart). In any case, my local solutions have been to force accept the new config or actually purge the old configs (aptitude purge ~c).

I guess it should at least be rebased if you plan to get it merged.

Noted. To follow shortly.

Actually, I think https://github.com/docker/docker/issues/20524 is related here, specifically:

See https://raphaelhertzog.com/2010/09/21/debian-conffile-configuration-file-managed-by-dpkg/, especially the section about "Avoiding the conffile prompt":
 apt-get -o Dpkg::Options::="--force-confnew" install -y ...

I think confnew is probably a safer option for docker-machine to use, isn't it?

(the rationale for that being that if I'm asking docker-machine to configure a machine for me, I want it to be configured by docker-machine)

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "fix-conffile-error" git@github.com:jasisk/machine.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

I think confnew is probably a safer option for docker-machine to use, isn't it?

Yup. That's what I landed on as well (reference).
Rebased and changed to confnew.

LGTM

Thanks for the persistence @jasisk @tianon @dgageot

Likewise. Sorry for the long periods of silence. Fixed my email filters, fwiw. :grinning:


ORM

The ORM is being rewritten. The following is the specification of the target public API.
// A data structure will always be serialized to its direct representation as a map
class DataStructure { // table name 'data_structures' is infered
  String property; // serialized as 'property'
  String camelCase; // serialized as 'camel_case'
}

// A model can be more explicitly extended and configured
class MyModel extends Model { // infered table name 'my_models' is overriden below
  static const table = 'overriden_table';

  @field String field; // serialized as 'field'
  @field String camelCase; // serialized as 'camel_case'
  @Field('override') String name; // serialized as 'override'

  // These relationships are conventional; the keys used are 'id' and 'my_model_id'
  @hasOne Child child; // a one-to relationship where this is parent
  @belongsTo Parent parent; // a to-one relationship where this is child
  @hasMany List<Child> children; // a many-to relationship where this is parent
  @belongsToMany List<Parent> parents; // a to-many relationship where this is child

  // Overridden conventions with default values
  @HasOne(mine: 'child_id', theirs: 'id', table: 'childs')
  Child child;
  @BelongsTo(mine: 'id', theirs: 'my_model_id', table: 'parents')
  Parent parent;

  // HasMany and BelongsToMany annotations are potentially one side of a one-to-many
  // relationship. The [pivot] flag will be infered if there is an annotation on the relative class
  // that matches the other side of the relationship, otherwise it defaults to false.
  //
  // The [table] field will be infered from the [pivot] flag, with the convention parents_children.
  // It will get the table names from the models specified in the relationship, so a many-to-many
  // relationship with [Child] will in this case (since we override the table name above) be
  // overriden_table_childs.
  @HasMany(mine: 'id', theirs: 'my_model_id', table: 'childs', pivot: false)
  List<Child> children;
  @HasMany(mine: 'id', theirs: 'my_model_id', table: 'overriden_table_childs', pivot: true)
  List<Child> children;
  @BelongsToMany(mine: 'id', theirs: 'my_model_id', table: 'parents', pivot: false)
  List<Parent> parents;
  @BelongsToMany(mine: 'id', theirs: 'my_model_id', table: 'parents_overriden_table', pivot: true)
  List<Parent> parents;

  // Relationships are loaded in four different fashions:
  @hasOne Child child; // will be eager loaded
  @hasOne Future<Child> child; // will be lazy loaded
  @hasMany List<Child> children; // will be eager loaded
  @hasMany Stream<Child> children; // will be lazy loaded
  @hasMany RepositoryQuery<Child> children; // will only store the query
}

Maybe I'm too java fan, but I would prefer JPA annotations

@luisvt,
I assume that you're talking about the difference between explicit migrations and specifying schema in models? I have considered this and here's my take on it:
Argument 1
I think the reason for mapping rows to objects at all is to decouple the application from the database. Therefore, it should be a priority to reduce the amount of database detail that the classes contain. Personally, I like the idea of having simple data structures that doesn't even depend on the ORM library, and still map database rows to them. However, most of the time we need to configure our models a bit to fit our database needs. To remain non-dependant on the actual database code (with the ability to reuse the models in front end code) annotations can be used.
I still feel like the annotations should be kept at a minimum, and storing the entire schema in the models force them to contain a lot of configuration. And I don't think it's the models responsibility to know that a field should be indexed in the database, for example.
Argument 2
If we store the schema of our rows in the objects that represent them, we lose control over the changes to the schema. Let's say I have a project that is already in production, with a User class and a users table with thousands of rows.
If I want to add a column to the users schema, and I add it to the model (with annotations) then the ORM has to not only realize that something has changed in the schema, but then apply that change without truncating the table.
However, if we have explicit migrations, we can create a new migration that does the schema change, and then just migrate the database on the live server. The migrator will then see that the only migration that is not applied is the one that adds the column, so it knows (and we know) exactly what it should do.

sorry, maybe I didn't explain too well. When I say that I prefer JPA annotations. I mean this:
insteat:
@hasOne
@hasMany
@belongsTo
@BelongsToMany
@BelongsToOne

I prefer:
@OneToOne
@OneToMany
@ManyToMany
@ManyToOne

In Java JPA annotations are not used for migration of the database. However frameworks like Hibernate use them to create a database schema. Most of the time database migrations are done using Liquidbase wich uses XML, YAML, or SQL to do migrations, and also Flyway which is pure SQL.
In JPA they don't use @Field they use @Column to refer that the attribute is going to be mapped as column in the table. I don't like using @Column since is highly tied to SQL dbs. In that case I would prefer @Field. However this annotation is optional, so an attribute could be mapped to a column without having the annotation.

I see! If a field is annotated with @OneToMany there is no hierarchy, right?
class Article {
  @OneToMany List<Comment> comments;
}

class Comment {
  @ManyToOne Article article;
}

what do you mean with hierarchy?

Logically, in a one-to-many relationship with articles and comments, each comment belongs to an article, and each article has many comments. There is a logical hierarchy there that I kind of like.
For example, each comment belongs to an article (article is parent, comment is child). A category can be shared between articles, but can be both the parent and the child (each category has articles, or each article has a category). By using has and belongs we establish a sense of hierarchy between the entities.
I don't know, the idea is quite elusive, but I think the syntax is very expressive. Do you disagree? (Don't get me wrong, I'm all for changing the terminology if you convince me that that's better :smile:)

Take articles and tags for example. I would say articles has tags, and tags belong to articles:
class Tag {
  @belongsToMany List<Article> articles;
}

class Article {
  @hasMany List<Tag> tags;
}

But with the JPA style that hierarchy is lost:
class Tag {
  @manyToMany List<Article> articles;
}

class Article {
  @manyToMany List<Tag> tags;
}

To begin with I'm not sure if it is better or not.
In general the annotation @OneToMany and @ManyToMany use a parameter called mappedBy. This parameter is in charge of creating the hierarchy. It would be like this:
class Article {
  @OneToMany(mappedBy="owner")
  List<Comment> comments;
}

class Comment {
  @ManyToOne Article article;
}

or for the case of ManyToMany
class Tag {
  @ManyToMany
  @JoinTable(
      name="TAG_ARTICLE",
      joinColumns={@JoinColumn(name="TAG_ID", referencedColumnName="ID")},
      inverseJoinColumns={@JoinColumn(name="ARTICLE_ID", referencedColumnName="ID")})
  List<Article> articles;
}

class Article {
  @ManyToMany(mappedBy="articles")
  List<Tag> tags;
}

I think one good point of using JPA annotations is that we would get more traction for JPA developers since it is going to be easier for them to migrate from java to dart.
I think that we should also realease a library called DPA, which contains all the JPA annotations, enumerations and interfaces, but not sure about that.

From looking at this i think we can do a lot better in terms of readability. I also think that attracting Java devs is a good idea but maybe not for a Dart only project. Feel free to fork the ORM and create a JPA style ORM using the underlying Trestle gateway, if you want/can!
I'll keep this in mind and think some more about it!


bug: fix function return type

Chore
Describe the chore
Looks like it's return_type here:
https://github.com/supabase/postgres-meta/blob/b139fd6eb5564258fc073da49ad6ecee78bb3984/src/lib/types.ts#L80
But rettype here:
https://github.com/supabase/postgres-meta/blob/b139fd6eb5564258fc073da49ad6ecee78bb3984/src/lib/PostgresMetaFunctions.ts#L83

Shouldn't be a bug since return_type is for retrieve and rettype is for create, but yeah better for it to be consistent. @w3b6x9 thoughts?

yeah technically just a chore but also wanted to catch it before it's a breaking change (which I guess it is already)

@soedirgo yep, agree on keeping it consistent.
@kiwicopple mentioned to make the change from rettype to return_type to make it clearer so I'll make a PR and ping @soedirgo.

Fixed in #133 👍


Typescript - Definition for rule import/no-empty-named-blocks was not found

Hey 👋 , thank you for this nice plugin.
I am trying to use the import/no-empty-named-blocks rule, but it does not seem to be working. I receive the following error in every file:
  1:1  error    Definition for rule 'import/no-empty-named-blocks' was not found

All other rules seem to be working fine.
I am using typescript, so I also installed @typescript-eslint/parser and eslint-import-resolver-typescript, as stated in the documentation.
How can I make this work?
Thank you for your help :)

That's because the rule isn't released yet. Like everywhere on github, you need to check the docs for the appropriate tagged release, NOT master/main.

Ah ok I see. Thanks


Bump tolerance for fuzz_calculate_spot_price_after_short

Description
The fuzz_calculate_spot_price_after_short test was intermittently failing with it's current tolerance of fixed!(1e10). This PR bumps it to fixed!(1e11).
[[Reviewer Name]]
Rust

[ ] Testing

[ ] Are there new or updated unit or integration tests?
[ ] Do the tests cover the happy paths?
[ ] Do the tests cover the unhappy paths?
[ ] Are there an adequate number of fuzz tests to ensure that we are
covering the full input space?
[ ] If matching Solidity behavior, are there differential fuzz tests that
ensure that Rust matches Solidity?

any idea as to why this started happening?

any idea as to why this started happening?

I think 1e11 (aka correct up to the 8th decimal) is pretty reasonable given that the spot price itself is an approximation of the realized price for a non-infinitesimal trade size.
That being said, AFAIK this was not failing before the latest flurry of activity in the rust repo. I'm going to approve to unblock other PRs from landing with this failing, but I think we should keep it in mind in case we start seeing more failures.

That being said, AFAIK this was not failing before the latest flurry of activity in the rust part of the repo.

Because the test added in the flurry #919

I absorbed this PR into https://github.com/delvtech/hyperdrive/pull/938 so that we could have both fixes in one PR and CI would pass. Closing this issue.


Incorrect "larger than MaxRequestSize" log output

Versions
Sarama Version: https://github.com/Shopify/sarama/commit/1416bd78f804d523005322194994f08c2a0ad797
Logs

Producer.MaxMessageBytes is larger than MaxRequestSize; it will be ignored.

Problem Description
The logger prints out this message even when the two values are equal. Same goes for Producer.Flush.Bytes and MaxRequestSize.
These are the corresponding lines in config.go.
Problem Solution
Two scenarios here:

Equality is not a problem: Turn >= to > in both cases.
Equality is a problem: Update the logger message accordingly.

Let me know which one is it (I am guessing the former), and I can push a PR for it.
Thank you.

Hmm, it's actually a bit more complicated than that. MaxRequestSize includes any headers etc. which the other two don't, so it's theoretically worth warning if they're even a few bytes less, but that would probably just get confusing. Updating the logger messages is a good compromise.

Ah, understood. Will a message such as "X should be smaller than MaxRequestSize; it will be ignored." work then? Not as precise as I'd like it to be, but hopefully strikes a good balance between ambiguity and getting the message across.

I would use "must" instead of "should" but otherwise that sounds fine to me.


solved 0046_Permutations problem on leetcode

IMPORTANT: Please do not create a Pull Request without an issue.
All Submissions:

[x] I have read the CONTRIBUTING document.
[x] My code is written in Python3 and is ending with .py
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] I have checked that my submission does pass the test on LeetCode.com
[x] Does your filename follow the naming Conventions?
[x] Have you linked your PR to an Issue?

Closing issues
Put #closes #805 in your comment to auto-close the issue that your PR fixes (if such).

#closes #805


More date format regex corrections

Previously, a two-digit month of "00" would have been admitted as valid
Legitimate year values, e.g. "1899", would have bee disallowed.

 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.


async command callback invoking policy when disconnecting

I have a question about the policy of invoking callback handler.
When I call RedisAsyncClient::command() during disconnected, callback function doesn't seems to be called. Is that intentional specification?
Here is the small example code that demonstrates the behavior.
I've tested it with https://github.com/nekipelov/redisclient/commit/f55ffdcafdcb3cefeec2214e2c19ba6a8f2d179c.
#include <string>
#include <iostream>

#include <boost/asio/ip/address.hpp>

#include <redisclient/redisasyncclient.h>

int main() {
    boost::asio::ip::address address = boost::asio::ip::address::from_string("<IP_ADDRESS>");
    const unsigned short port = 6379;
    boost::asio::ip::tcp::endpoint endpoint(address, port);

    boost::asio::io_service ioService;
    redisclient::RedisAsyncClient redis(ioService);
    boost::system::error_code ec;

    redis.connect(
        endpoint,
        [&]
        (auto const& ec) {
            if(ec) {
                std::cerr << __LINE__ <<
                    ": Can't connect to redis: " << ec.message() << std::endl;
                return;
            }
            std::cout << __LINE__ <<
                ": Please restart redis service within 5 seconds for testing!" << std::endl;
            sleep(5);

            std::cout << __LINE__ <<
                ": do async command" << std::endl;
            redis.command(
                "SET",
                {"key", "value"},
                [&]
                (auto const& result) {
                    if( result.isError() )
                    {
                        std::cerr << __LINE__ <<
                            ": SET error: " << result.toString() << "\n";
                        return ;
                    }
                    std::cout << __LINE__ <<
                        ": result: " << result.toString() << std::endl;
                }
            );
            std::cout << __LINE__ <<
                ": finish async command" << std::endl;
        }
    );

    std::function<void(boost::system::error_code const&)> handler;

    handler =
        [&handler, &redis, &endpoint]
        (boost::system::error_code const& ec) {
        if (ec) {
            std::cout << __LINE__ <<
                ": ec: " << ec << std::endl;
            redis.disconnect();
            std::cout << __LINE__ <<
                ": trying reconnect inner..." << std::endl;
            sleep(1);
            redis.connect(
                endpoint,
                handler);
        }
        else {
            std::cout << __LINE__ <<
                ": reconnect success" << std::endl;
        }
    };

    redis.installErrorHandler(
        [&](std::string const& ec) {
            std::cout << __LINE__ <<
                ": ec: " << ec << std::endl;
            std::cout << __LINE__ <<
                ": trying reconnect..." << std::endl;
            redis.disconnect();
            redis.connect(
                endpoint,
                handler
            );
        }
    );

    ioService.run();
}

When I run the program, the following message is appeared:
26: Please restart redis service within 5 seconds for testing!

Then if I do nothing within 5 seconds, I got the following message:
30: do async command
47: finish async command
43: result: OK

The last line (43) indicates that RedisAsyncClient::command() callback is called.
If I restart redis service within 5 seconds, I got the following message:
26: Please restart redis service within 5 seconds for testing!

I do sudo systemctl restart redis.service.
30: do async command
47: finish async command
76: ec: End of file
78: trying reconnect...
69: reconnect success

That indicates that RedisAsyncClient::command() callback is NOT called. But the handler that is installed using Redis::installErrorHandler() is called.
Is that expected behavior?
I want to implement automatic re-execute RedisAsyncClient::command() mechanism if the redis connection is disconnected.
In order to do that, I think that the following mechanism is required:

Prepare a queue.
Before calling RedisAsyncClient::command(), I copy the contents of the command and push it to the queue.
If the RedisAsyncClient::command() callback is called, erase the pushed command. If installed error handler is called, reconnect to redis, and when reconnected, call RedisAsyncClient::command() for each commands in the queue.

Before I implement it in my client program, I'd like to clarify the library spec.

Yes, this is expected behavior. But this is wrong and I want the handler to be called in case of errors. RedisSyncClient already has the argument boost::system::error_code.

Redis::installErrorHandler() will be removed.
RedisAsyncClient::command() handler will be something like this:
 REDIS_CLIENT_DECL void command(
            const std::string &cmd, std::deque<RedisBuffer> args,
            std::function<void(RedisValue, boost::system::error_code)> handler);

What happens in the following case?

RedisAsyncClient::connect() is successfully finished. RedisAsyncClient::connect() callback is called.
In the RedisAsyncClient::connect() callback, RedisAsyncClient::command() is NOT called. Instead of that, set boost::asio::deadline_timer and called boost::asio::async_wait(). In the boost::asio::async_wait() handler, RedisAsyncClient::command() will be called.
Waiting timeout, but the timer isn't fired yet.
redis connection is disconnected by some reason.

Now, noRedisAsyncClient::command() is processing. I think that in this case, Redis::installErrorHandler() is the way to know and handle disconnection. If it will be removed, how do I know that?

You can use RedisAsyncClient::command("PING") if you want to detect disconnection early.
Redis server can be excluded from cluster. Someone can unplugging ethernet wire from server. Implementation with installErrorHandler can not detect many problems.


emacs company-go: Incorrect GOPATH when using emacs server mode

Currently the GOPATH used is from starting emacs daemon which means that if daemon was started before setting GOPATH (say in autostart or started by Alt+F2, or application's menu).
It also makes not see any changes in GOPATH when using emacs via emacsclient altho that is a smaller problem.
I do not know if there is even an option to extract environmental variables from emacsclient invocation but there should be an config option to set if it does not exist, or override GOPATH

For set correct env in emacs, I recomend to use the package exec-path-from-shell
Here my config
(use-package exec-path-from-shell
  :ensure t
  :defer  2
  :config
  (dolist (var '("GOPATH"  "NVM_BIN"))
    (add-to-list 'exec-path-from-shell-variables var))
  (exec-path-from-shell-initialize))

Set in this form gocode work nice!
I hope this response has not been too late
Cheers!


intercepting: getSourceAction in response is returning undefined

Is this intended to work only for the request ? On my side calling getSourceAction by passing the response is returning undefined. Here is a sample snippet:
response: [
      {
        success: ({ dispatch, getSourceAction }, response) => {
          console.log(getSourceAction(response))
          return Promise.resolve(response)
        },
        error: ({ dispatch, getSourceAction }, error) => {
          console.log(getSourceAction(error))
          return Promise.reject(error)
        }
      }
    ]

What I'm trying to accomplish is refreshing of a token when it expires and server returns that request is not authorized.
Here is an example how this could be accomplished using axios interceptors: https://plnkr.co/edit/0ZLpc8jgKI18w4c0f905?p=preview

I'm open to contribute this change if team accepts this feature.

The config is available in response.config and action is able to be retrieved with:
console.log('sourceAction: ', getSourceAction(error.config));

Everything looks fine, so I'm closing the issue.


Prepare Key Vault libraries for March 2022 patch releases.

API changes have been detected in com.azure:azure-security-keyvault-administration. You can review API changes here

API changes have been detected in com.azure:azure-security-keyvault-certificates. You can review API changes here

API changes have been detected in com.azure:azure-security-keyvault-keys. You can review API changes here

API changes have been detected in com.azure:azure-security-keyvault-secrets. You can review API changes here


Update examples

Updated articles with the following smart contract examples:

Escrow.
Supply chain.
NFT pixelboard.

I forgot about sidebar_position when I was copypasting article headers. Now it should be fine.
sidebar_label isn't needed there because it's inferred from the article header.


Removed the dependency on Json.NET as it causes missing dependencies …

…in the vs project generated by Unity. Replaced with JsonUtility, changed the properties in the model classes to fields to support JsonUtility and added a helper to deserialise DateTime. Also, updated the user name in the UI when first logging in.
There is an additional piece of work required to update the Unity packages that support this tutorial which I will do if this PR is accepted. This PR will not break the tutorial due to this, there will just be some unnecessary DLL's included in those packages.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/mr-azure-311.md
:white_check_mark:Succeeded
View

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

Thanks @peted70!


Error with .env file

Describe the bug
Error regarding .env file
To Reproduce
Here is my compose file
version: '3.7'
services:
pocketbase:
image: spectado/pocketbase:0.19.2
container_name: grimoire-pocketbase
restart: unless-stopped
ports:
- '8091:80'
volumes:
- /mnt/user/appdata/grimoire/pb_data:/pb_data
- /mnt/user/appdata/grimoire/pb_migrations:/pb_migrations/
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8091/api/health || exit 1
interval: 5s
timeout: 5s
retries: 5
env_file: .env
grimoire:
image: goniszewski/grimoire:latest
container_name: grimoire
restart: unless-stopped
env_file: .env
build:
context: .
dockerfile: Dockerfile
ports:
- '5173:5173'
depends_on:
- pocketbase
Desktop (please complete the following information):

OS: Unraid
Browser Edge
Version [

Additional context
I'm trying to deploy this using portainer but I get this error message
Deployment error
failed to deploy a stack: Failed to load /data/compose/47/.env: open /data/compose/47/.env: no such file or directory

Hello @moraleseder1! The Compose is looking for .env file and is unable to do so in the working directory.
You can always go to Stacks > Add stack in Portainer. Then place the contents of docker-compose.yml into the web editor while removing env_file: .env part for pocketbase and grimoire services. After this part, you can just add your env variables in the Environment variables section, review all input, and press the Deploy the stack button.

Hi @goniszewski and thank  you for your response and I apologize ahead of time since I am very new to docker compose. Is this what you mean?
version: '3.7'
services:
pocketbase:
image: spectado/pocketbase:0.19.2
container_name: grimoire-pocketbase
restart: unless-stopped
ports:
- '8190:80'
volumes:
- /mnt/user/appdata/grimoire/pb_data:/pb_data
- /mnt/user/appdata/grimoire/pb_migrations:/pb_migrations/
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8190/api/health || exit 1
interval: 5s
timeout: 5s
retries: 5
#env_file: .env
grimoire:
image: goniszewski/grimoire:latest
container_name: grimoire
restart: unless-stopped
#env_file: .env
environment:
- PUBLIC_POCKETBASE_URL: http://<IP_ADDRESS>:8090
- ROOT_ADMIN_EMAIL<EMAIL_ADDRESS>- ROOT_ADMIN_PASSWORD:<PHONE_NUMBER>
- ORIGIN: http://<IP_ADDRESS>:5173
- PUBLIC_HTTPS_ONLY: false
- PORT: 5173
- PUBLIC_SIGNUP_DISABLED: false
build:
context: .
dockerfile: Dockerfile
ports:
- '27328:27328'
depends_on:
- pocketbase

Yes, it should work. For the future, please use the code tag as it will help us reading your code.


Empty responsive table glitching out when resizing

**This only occurs when the table is empty. **
Normal (looking good):

Resized a bit (glitching out):

code:

                          id
                          Parameter
                          Type
                          Path
                          occurance

What styles are you applying? Please make a codepen. See CONTRIBUTING.md
On Thu, Mar 24, 2016 at 2:49 AM, Vincent Cox<EMAIL_ADDRESS>wrote:

**This only occurs when the table is empty. **
Normal (looking good):
[image: screen shot 2016-03-24 at 10 46 18]
https://cloud.githubusercontent.com/assets/9286611/14013637/dad26eda-f1ad-11e5-981c-817ddb5285bf.png
Resized a bit (glitching out):
[image: screen shot 2016-03-24 at 10 46 28]
https://cloud.githubusercontent.com/assets/9286611/14013640/dd4ddad2-f1ad-11e5-9db8-a8714eb10720.png
code:

id
Parameter
Type
Path
occurance

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/Dogfalo/materialize/issues/2954

--
Doggy sends his greetings from Mars.

Thanks for your reply! Here is the codepen as requested:
http://codepen.io/anon/pen/LNLERa

You could use our grid system and wrap your card div in a

@acburst Thanks! That fixed the problem!


docs: Updated notice in seperate file

Updated Notice for Docker image in a seperate file called DOCKER_NOTICE.md

@almadigabor I have updated readme filepath in build pipeline


Image size showing as 3x previous size

I could be wrong but I can remember this image coming out at 30MBish, it's now 117.5 MB and that makes a huge difference for a Pi Zero.
Is this related to the backing FS on a Raspberry Pi? (overlay)
$ docker version
Client:
 Version:      1.12.5
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   7392c3b
 Built:        Fri Dec 16 03:23:36 2016
 OS/Arch:      linux/arm

Server:
 Version:      1.12.5
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   7392c3b
 Built:        Fri Dec 16 03:23:36 2016
 OS/Arch:      linux/arm

$ docker info
Containers: 7
 Running: 0
 Paused: 0
 Stopped: 7
Images: 20
Server Version: 1.12.5
Storage Driver: overlay
 Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs

hey @alexellis, I'm not sure about overlayfs but the image size doesn't change. Please see on dockerhub here https://hub.docker.com/r/resin/rpi-raspbian/tags/

as I recall, the image size is actually around 117.5 MB

Thanks @nghiant2710


Add support for GLSL extensions

Would it be possible to have syntax highlight and completions for variables and functions defined in GLSL extensions ?
For example gl_PrimitiveTriangleIndicesEXT and EmitMeshTasksEXT() from GLSL_EXT_mesh_shader.

This requires a lot of manual work hard to automate (filling the json db holding all these intrinsics information), it would be nice to make a list of all the extension to add. I dont have the time to do it now, but I would be open to some PR


refactor: Defs and Lemmas files for Bitvec

The Core file was just dumped from Lean3 core. I've split it into Defs and Lemmas in the style of the List folder for example.

This will certainly help our proof efforts. @digama0, you OKed our last commit in this area. Maybe you or sb else could have a look again?

bors r+

Thank you, @digama0


Advance numba from 0.36.1 to 0.40.0

[x] Closes https://github.com/pvlib/pvlib-python/issues/1439
[x]  I am familiar with the contributing guidelines
[x] Adds description and name entries in the appropriate "what's new" file in docs/sphinx/source/whatsnew for all changes. Includes link to the GitHub Issue with :issue:num or this Pull Request with :pull:num. Includes contributor name and/or GitHub username (link with :ghuser:user).
[x] Pull request is nearly complete and ready for detailed review.

Updated numba version from 0.36.1 to 0.40.0 in asv.conf

Oops Sorry! looks like I named the whatsnew.rst commit same as the previous one.

Thanks @wholmgren.  As I understand it the problem is that conda on windows refuses to install the specific combination of numba==0.36.1 and numpy==1.16.0.  I can't think of why that combination would appear in practice unless you're shooting for the minimum environment like we are here.  So I'm inclined to merge this and kick any setup.py and other benchmark environment update cans down the road.
Thanks again @Naman-Priyadarshi!


how to separately get the 'P' or  'R'  from pinocchio.pinocchio_pywrap.SE3

I got a TypeError  which is 'numpy.ndarray' object is not callable, when I use 'position = data.oMf[idx].translation()' to get the translation or rotation
Traceback (most recent call last):
  File "/home/ask-opc/catkin_kinova/src/demos/nodes/arm_catch.py", line 259, in <module>
    se,pose,rot = forwardk(joint_id, q)
  File "/home/ask-opc/catkin_kinova/src/demos/nodes/Kinematics.py", line 37, in forwardk
    position = data.oMf[idx].translation()
TypeError: 'numpy.ndarray' object is not callable

Hello !
translation is not a function it's just an attribute, so no need to use parenthesis.
This should work :
position = data.oMf[idx].translation
Have a look at the example folder, if you want to get more info.

OH ! It works ! Thank you very much !!!

OH ! It works ! Thank you very much !!!


Modify functions to work with ArConnect

Is this PR already being implemented somehow with the web app for us to be able to use ArConnect?

Is this PR already being implemented somehow with the web app for us to be able to use ArConnect?

Yes. The arconnect branch is used directly right now. I made this PR so that we can have a dev branch here and to separate the null safety changes made.


Video choppy, and will not let me swap decoding methods

Describe the bug
Unable to swap decode methods. On mpv-android base, swapping on sw/hw the video is choppy af, hw+ it is nice and smooth as usual. On this fork, unable to swap between sw/hw/hw+, so it's stuck on sw. video is choppy
To Reproduce

start a video
Click on and hold decode method to open popup
click on hw/hw+, nothing happens

Expected behavior
should swap decode modes and see notable behavior, as demonstrated by me doing the same thing on mpv-android main and it works as intended there
Actual behavior
nothing swaps, vid stays choppy
Crash logs
N/A
Screenshots
N/A
Additional info (please complete the following information):

Device: samsung tab s5e
Android version: 11
App Version: 0.1.6

Additional context
Add any other context about the problem here.

try enabling yuv420p in the settings.

try enabling yuv420p in the decoder settings.

Thanks! Turned out that setting was already on, turning it off fixed it! Thanks for pointing me to the correct setting :)


Not updated implementations

I went through some of the implementations listed in the readme and it seems like some of them are not fully updated to the newest version. For example, I looked through the source code for the javascript implementation and it seems like it's missing the ASCII function and unary negation ~. I was wondering if that table could be updated to reflect the version of each of the implementations, and indicate which ones are fully up-to-date with the current version of Knight.

That's a really good idea. After I finish with knight2.0, I'll go through and update the table, and note roughly how stable I think the different implementations are.

I've updated it by mentioning which versions are there