tf.data.Iterator.from_string_handle() breaking behaviour in r1.4 compared to r1.3.1

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): +
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux Ubuntu 16.04
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): v1.4.0-rc1-11-g130a514 1.4.0
Python version: Python 3.5.2
Bazel version (if compiling from source): -
GCC/Compiler version (if compiling from source): -
CUDA/cuDNN version: nvidia/cuda:8.0-cudnn6-devel-ubuntu16.04
GPU model and memory: NVIDIA® Tesla® K80 (GCE)
Exact command to reproduce:

Context:
Same setup/context as in the previous issue https://github.com/tensorflow/tensorflow/issues/12859 including this fix https://github.com/tensorflow/tensorflow/issues/12859#issuecomment-327783827.
In addition the training is now in a Multi-task Learning mode, so feedable contrib Iterator was used to accommodate different datasets for each task.
Simplified snippet:
        self.handle = tf.placeholder(tf.string, shape=[])

        ...

        # targets -> Multi-task training targets.
        # datasets -> dict of Multi-task target tf.Datasets.
        for target in self.targets:
            self.datasets[target] = self.create_TFDataset()

        self.iterator = tf.contrib.data.Iterator.from_string_handle(
            self.handle,
            self.datasets[targets[-1]].output_types,
            self.datasets[targets[-1]].output_shapes)

        # iter_init_ops and iter_handles -> init_ops & handles per each task.
        for target in self.targets:
            self.iterators[target] = self.datasets[target].make_initializable_iterator()
            self.iter_init_ops[target] = self.iterators[target].initializer
            self.iter_handles[target] = self.iterators[target].string_handle()

        ...
        # Within tf.train.MonitoredTrainingSession as mon_sess.
        for target in targets:
            # Get all target datasets handles.
            handle[target] = mon_sess._coordinated_creator.tf_sess.run(
                training_model.iter_handles[target])
            # Init all target datasets.
            mon_sess._coordinated_creator.tf_sess.run(training_model.iter_init_ops[target])

        ...
        # Training step for a specific target.
        input_feed = {self.handle:handle[target]}
        output_feed = [
            self.update_ops[target],
            self.losses[target],
            self.metrics[target],
        ]
        outputs = session.run(output_feed, input_feed, options=options,
                                             run_metadata=run_metadata)

Problem:
This system worked flawlessly for tf 1.3 & tf 1.3.1.
After a planned update this week to tf 1.4 the following Error would appear at absolute random (it might appear after 5 seconds or after a few hours of training):
...
W tensorflow/core/framework/op_kernel.cc:1192] Unavailable: Endpoint read failed
	 [[Node: Model/Generate_BiRNN/BiRNN_Logic/bidirectional_rnn/fw/carry_w_S543 = _Recv[_start_time=0, client_terminated=false, recv_device="/job:worker/replica:0/task:0/device:GPU:0", send_device="/job:ps/replica:0/task:1/device:CPU:0", send_device_incarnation=-458934800929363750, tensor_name="edge_9_Model/Generate_BiRNN/BiRNN_Logic/bidirectional_rnn/fw/carry_w", tensor_type=DT_FLOAT, _device="/job:worker/replica:0/task:0/device:GPU:0"]()]]
	 [[Node: Training_Graph/Model/TARGET/TARGET_Metrics/Select_G315 = _Recv[client_terminated=false, recv_device="/job:worker/replica:0/task:0/device:CPU:0", send_device="/job:worker/replica:0/task:0/device:GPU:0", send_device_incarnation=3243841103411587778, tensor_name="edge_4692_Training_Graph/Model/TARGET/TARGET_Metrics/Select", tensor_type=DT_DOUBLE, _device="/job:worker/replica:0/task:0/device:CPU:0"]()]]
...
W tensorflow/core/framework/op_kernel.cc:1192] Not found: Resource worker/_3_Training_Graph/Model/Iterator/N10tensorflow12_GLOBAL__N_116IteratorResourceE does not exist.
	 [[Node: Training_Graph/Model/IteratorFromStringHandle = IteratorFromStringHandle[output_shapes=[[?,?,?], [?,?,?], [?], [?,?], [?,?], [?], [?]], output_types=[DT_INT64, DT_INT64, DT_INT64, DT_INT64, DT_INT64, DT_FLOAT, DT_INT32], _device="/job:worker/replica:0/task:0/device:CPU:0"](_recv_Training_Graph/Model/Placeholder_0)]]
	 [[Node: Training_Graph/Model/TARGET/TARGET_Metrics/DenseToDenseSetOperation_26_G1265 = _Recv[client_terminated=false, recv_device="/job:worker/replica:0/task:0/device:GPU:0", send_device="/job:worker/replica:0/task:0/device:CPU:0", send_device_incarnation=-3380386273340330983, tensor_name="edge_4280_Training_Graph/Model/TARGET/TARGET_Metrics/DenseToDenseSetOperation_26", tensor_type=DT_INT64, _device="/job:worker/replica:0/task:0/device:GPU:0"]()]]
...
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1323, in _do_call
    return fn(*args)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1302, in _run_fn
    status, run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/errors_impl.py", line 473, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.NotFoundError: Resource worker/_3_Training_Graph/Model/Iterator/N10tensorflow12_GLOBAL__N_116IteratorResourceE does not exist.
	 [[Node: Training_Graph/Model/IteratorFromStringHandle = IteratorFromStringHandle[output_shapes=[[?,?,?], [?,?,?], [?], [?,?], [?,?], [?], [?]], output_types=[DT_INT64, DT_INT64, DT_INT64, DT_INT64, DT_INT64, DT_FLOAT, DT_INT32], _device="/job:worker/replica:0/task:0/device:CPU:0"](_recv_Training_Graph/Model/Placeholder_0)]]
	 [[Node: Training_Graph/Model/TARGET/TARGET_Metrics/DenseToDenseSetOperation_26_G1265 = _Recv[client_terminated=false, recv_device="/job:worker/replica:0/task:0/device:GPU:0", send_device="/job:worker/replica:0/task:0/device:CPU:0", send_device_incarnation=-3380386273340330983, tensor_name="edge_4280_Training_Graph/Model/TARGET/TARGET_Metrics/DenseToDenseSetOperation_26", tensor_type=DT_INT64, _device="/job:worker/replica:0/task:0/device:GPU:0"]()]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "dist_train.py", line 684, in <module>
    tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "dist_train.py", line 640, in main
    create_job()
  File "dist_train.py", line 628, in create_job
    run_worker(server, cluster)
  File "dist_train.py", line 429, in run_worker
    profile=profile
  File "/HARNN.py", line 1576, in step_dist_gpu
    run_metadata=run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py", line 521, in run
    run_metadata=run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py", line 892, in run
    run_metadata=run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py", line 967, in run
    raise six.reraise(*original_exc_info)
  File "/usr/local/lib/python3.5/dist-packages/six.py", line 693, in reraise
    raise value
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py", line 952, in run
    return self._sess.run(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py", line 1024, in run
    run_metadata=run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py", line 827, in run
    return self._sess.run(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 889, in run
    run_metadata_ptr)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1120, in _run
    feed_dict_tensor, options, run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1317, in _do_run
    options, run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1336, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.NotFoundError: Resource worker/_3_Training_Graph/Model/Iterator/N10tensorflow12_GLOBAL__N_116IteratorResourceE does not exist.
	 [[Node: Training_Graph/Model/IteratorFromStringHandle = IteratorFromStringHandle[output_shapes=[[?,?,?], [?,?,?], [?], [?,?], [?,?], [?], [?]], output_types=[DT_INT64, DT_INT64, DT_INT64, DT_INT64, DT_INT64, DT_FLOAT, DT_INT32], _device="/job:worker/replica:0/task:0/device:CPU:0"](_recv_Training_Graph/Model/Placeholder_0)]]
	 [[Node: Training_Graph/Model/TARGET/TARGET_Metrics/DenseToDenseSetOperation_26_G1265 = _Recv[client_terminated=false, recv_device="/job:worker/replica:0/task:0/device:GPU:0", send_device="/job:worker/replica:0/task:0/device:CPU:0", send_device_incarnation=-3380386273340330983, tensor_name="edge_4280_Training_Graph/Model/TARGET/TARGET_Metrics/DenseToDenseSetOperation_26", tensor_type=DT_INT64, _device="/job:worker/replica:0/task:0/device:GPU:0"]()]]

Caused by op 'Training_Graph/Model/IteratorFromStringHandle', defined at:
  File "dist_train.py", line 684, in <module>
    tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "dist_train.py", line 640, in main
    create_job()
  File "dist_train.py", line 628, in create_job
    run_worker(server, cluster)
  File "dist_train.py", line 272, in run_worker
    training_model.build_graph()
  File "/HARNN.py", line 221, in build_graph
    self._init_dataset()
  File "/HARNN.py", line 329, in _init_dataset
    self.datasets[self.targets[-1]].output_shapes)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/data/ops/iterator_ops.py", line 189, in from_string_handle
    output_shapes=nest.flatten(output_shapes))
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/gen_dataset_ops.py", line 662, in iterator_from_string_handle
    output_types=output_types, output_shapes=output_shapes, name=name)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 2956, in create_op
    op_def=op_def)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 1470, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

NotFoundError (see above for traceback): Resource worker/_3_Training_Graph/Model/Iterator/N10tensorflow12_GLOBAL__N_116IteratorResourceE does not exist.
	 [[Node: Training_Graph/Model/IteratorFromStringHandle = IteratorFromStringHandle[output_shapes=[[?,?,?], [?,?,?], [?], [?,?], [?,?], [?], [?]], output_types=[DT_INT64, DT_INT64, DT_INT64, DT_INT64, DT_INT64, DT_FLOAT, DT_INT32], _device="/job:worker/replica:0/task:0/device:CPU:0"](_recv_Training_Graph/Model/Placeholder_0)]]
	 [[Node: Training_Graph/Model/TARGET/TARGET_Metrics/DenseToDenseSetOperation_26_G1265 = _Recv[client_terminated=false, recv_device="/job:worker/replica:0/task:0/device:GPU:0", send_device="/job:worker/replica:0/task:0/device:CPU:0", send_device_incarnation=-3380386273340330983, tensor_name="edge_4280_Training_Graph/Model/TARGET/TARGET_Metrics/DenseToDenseSetOperation_26", tensor_type=DT_INT64, _device="/job:worker/replica:0/task:0/device:GPU:0"]()]]

Statement:
What exactly have changed in tf.data.Iterator between versions r1.4 and r1.3.1 that causes such an unpleasant behaviour? What can be done to counteract NotFoundError?

I don't think there was any change that would cause this error. From the error message though it looks like the handle might have been captured (using Iterator.to_string_handle()) in a different session from which it is being used. Since you're using tf.train.MonitoredTrainingSession, is it possible that the session has been recreated? If that's the case, you'll need to make sure to recompute the handle—and potentially reinitialize the iterator—in the new session.
A possible workaround, which might or might not work depending on the actual cause of the problem, would be to set a shared_name when you create the iterator. I believe that should make the handle string stable across restarts of the session (as long as it's not in a task that could have failed).

Actually, @mrry, as I've been training past few days with r1.4, I caught tf.train.MonitoredTrainingSession occasionally and silently restarting sessions without raising any errors!
# Few hours of training
...
2017-11-19 02:01:35.079083: I tensorflow/core/distributed_runtime/master_session.cc:1004]
Start master session fc7b867194458c34 with config:
gpu_options { allow_growth: true }
allow_soft_placement: true
graph_options { optimizer_options { global_jit_level: ON_1 } }
 2017-11-19 02:06:11.963118: I tensorflow/core/kernels/shuffle_dataset_op.cc:110] Filling up shuffle buffer (this may take a while): 23453 of 125000
2017-11-19 02:06:21.963333: I tensorflow/core/kernels/shuffle_dataset_op.cc:110] Filling up shuffle buffer (this may take a while): 47689 of 125000
2017-11-19 02:06:31.963203: I tensorflow/core/kernels/shuffle_dataset_op.cc:110] Filling up shuffle buffer (this may take a while): 70957 of 125000
2017-11-19 02:06:41.963338: I tensorflow/core/kernels/shuffle_dataset_op.cc:110] Filling up shuffle buffer (this may take a while): 95095 of 125000
2017-11-19 02:06:51.963216: I tensorflow/core/kernels/shuffle_dataset_op.cc:110] Filling up shuffle buffer (this may take a while): 119359 of 125000
2017-11-19 02:06:54.333142: I tensorflow/core/kernels/shuffle_dataset_op.cc:121] Shuffle buffer filled.
...
# Few hours of training

And this would happen on any worker without any traces at random moments during training.
So I think the Error Handling might have changed since the latest release.
This is not good, and makes my models sad(
Can I be of any help in determining the cause?

@mrry @cy89
I'm getting following behaviour without any warnings or errors, only upper-mentioned Start master session ... message.

I would like to prevent or at least debug this.

@mrry have you seen this kind of behavior before, or might you have any hints?

I'm at a loss to explain why the restarts are having such an effect on your training job. I believe MonitoredTrainingSession has always attempted to restart the underlying session transparently when certain types of failure happen, and the worker for which is_chief is True will attempt to reinitialize the parameters from the latest checkpoint if one is available. I doubt the dataset initialization is the cause, although your setup will reinitialize the iterator at each of these restarts, so you might need to shuffle the data to ensure that you're not iterating over the data in the same order each time and thus overfitting somehow.
Can you share more details about the training setup?
/cc @ispirmustafa in case there were any recent changes to MonitoredSession that could explain a change in behavior.

I'm too not aware of any change to MonitoredSession that is related.
BTW, following code segment accesses to private parts of MonitoredSession which may work in an unexpected way:
        for target in targets:
            # Get all target datasets handles.
            handle[target] = mon_sess._coordinated_creator.tf_sess.run(
                training_model.iter_handles[target])
            # Init all target datasets.
            mon_sess._coordinated_creator.tf_sess.run(training_model.iter_init_ops[target])

Instead you should use session run hooks to make it proper:
    class MyInitializerHooks(tf.train.SessionRunHook):
      def after_create_session(self, session, coord):
        for target in targets:
            # Get all target datasets handles.
            handle[target] = session.run(training_model.iter_handles[target])
            # Init all target datasets.
            session.run(training_model.iter_init_ops[target])

@mrry I shared the graph just to illustrate that MonitoredTrainingSession is initialized repeatedly during a training. The graph looks that way because the checkpoint is being saved rarely. The problem is that there are no errors whatsoever.
In the beginning I thought it maybe restarting due to OOMs and just not showing the errors, but I checked with bigger models and tf catches OOMs just fine.
My setup is an alpha k8s cluster on GCP that I used successfully since it's release this summer:
# Cluster settings.
CLUSTER_NAME=#####
NUM_NODES=10
ZONE=us-west1-b
PROJECT=#####
CLUSTER_VERSION=1.7.8-gke.0
DISK_SIZE=75
IMAGE_TYPE=COS
MACHINE_TYPE=n1-highmem-4
TYPE=nvidia-tesla-k80
COUNT=1

# NodePool Settings.

Everything is being controlled by MonitoredTrainingSession in a data-parallel way.
@ispirmustafa As I mentioned before, I tried this fix https://github.com/tensorflow/tensorflow/issues/12859#issuecomment-327783827, instead of  mon_sess._coordinated_creator.tf_sess.run() and still got the same error. The latter is just for multi-task iterator initialization convenience. I haven't tried it again after @mrry's fix with shared_name, but I assume it's not the cause, as they both are due to session restarts. Though, I am going to add a proper SessionRunHook as you suggested, to eliminate to possibility of an internal leak.
My biggest confusion is that there is no INFO on to why MonitoredTrainingSession restarts without warnings.

@isaprykin do you have some idea on what's going on?

@ispirmustafa I can confirm now that using InitializerHook does not fix the behaviour.

It has been 14 days with no activity and the awaiting tensorflower label was assigned. Please update the label and/or status accordingly.

@isaprykin I am at the stage of deploying these models rn, but I'll get back to training a new batch in the following 1-2 weeks. I will then try an r1.5 and a new k8s version, and give a comprehensive feedback if something goes wrong.
So you can either close this issue and I will reopen/open it if it's reproducible, or wait till I have the feedback.

Thanks, @MtDersvan. We'll leave at "awaiting response"; let us know what you find.

Nagging Awaiting Response: It has been 14 days with no activityand the awaiting response label was assigned. Is this still an issue?

Nagging Awaiting Response: It has been 14 days with no activityand the awaiting response label was assigned. Is this still an issue?

@cy89 @isaprykin
I think it's not an Iterator error.
I substituted from_string_handle for make_initializable_iterator, but the error (silent session restarts without any failures) persisted during MonitoredTrainingSession, so I kept debugging a bit deeper.
I explicitly started to check for exceptions in session run calls here, and got an uncaught OS Error, that was causing silent restarts:
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1392, in _do_call
    return fn(*args)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1371, in _run_fn
    target_list, status, run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/errors_impl.py", line 516, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.UnavailableError: OS Error

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 910, in run
    run_metadata_ptr)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1165, in _run
    feed_dict_tensor, options, run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1386, in _do_run
    options, run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1405, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.UnavailableError: OS Error

I could only trace it till pywrap_tensorflow.TF_PRun(). It's not clear what is wrong and what to do about it.
Is this an intended behaviour?  :man_shrugging:
Is there any way to avoid this it?
Env Info:
TF DOCKER: tensorflow/tensorflow:latest-gpu-py3
K8S CLUSTER_VERSION=1.9.4-gke.1

/CC @isaprykin can you take a look?

Ah, it's not an OSError, it's an UnavailableError with the "OS Error" error message, right?
UnavailableError is part of MonitoredSession's _PREEMPTION_ERRORS -- the list of exceptions that it tries to recover from.  But every time it happens an loggign message should be generated.
Could you please include a more complete set of logs around the point where the session is restarted?

Yes, it's an UnavailableError with the "OS Error" message. (sorry for a late response)
Actually, that's the problem the run() in _RecoverableSession doesn't log this:
    logging.info('An error was raised. This may be due to a preemption in '
                 'a connected worker or parameter server. The current '
                 'session will be closed and a new session will be '
                 'created. Error: %s', e)

That's exactly what I did to debug the problem - explicitly checked for any exceptions narrowing down the scope.
All the tensorflow logs boil down to:
...
I tensorflow/core/distributed_runtime/master_session.cc:1024] Start master session 6d9f53ba9c6c58c9 with config: allow_soft_placement: true
...

And I'm pretty sure that all the distributed workers were online. Maybe a connection issue? Also, adding a load_balancer reduced the frequency [but I can't say 100%].
For now I just made a custom _RecoverableSession that handles UnavailableError: OS Error without restarting the whole session (just waits a second before rerunning).


Import issues

Hello,
Thank you for the great effort to provide a version of LongNet!  😃
I noticed that I have some import issues, for example in the LongNet/model.py file:
ModuleNotFoundError: No module named 'LongNet.transformer'

I think this is due to some modification of the imports that used to be from LongNet.Transformer import LongNet but was changed to from LongNet.transformer import LongNet
Would it be possible to have a check on that  ? 🔧
Thank you!

@jtrechot Hey please excuse me for the issue, I've fixed it now. We're still working on the model architecture to get it ready for training and democratization.


error downloading dashboard

I get this error when i try to download dashboards :
Found Zeus - Kubernetes App Metrics dashboard in folder API Management      dashboard_download.py:80
Traceback (most recent call last):
File "", line 1, in
File "/home/clement/.cache/pypoetry/virtualenvs/grafana-dashboard-manager-GvvO0-hQ-py3.8/lib/python3.8/site-packages/typer/main.py", line 214, in call
return get_command(self)(*args, **kwargs)
File "/home/clement/.cache/pypoetry/virtualenvs/grafana-dashboard-manager-GvvO0-hQ-py3.8/lib/python3.8/site-packages/click/core.py", line 1128, in call
return self.main(*args, **kwargs)
File "/home/clement/.cache/pypoetry/virtualenvs/grafana-dashboard-manager-GvvO0-hQ-py3.8/lib/python3.8/site-packages/click/core.py", line 1053, in main
rv = self.invoke(ctx)
File "/home/clement/.cache/pypoetry/virtualenvs/grafana-dashboard-manager-GvvO0-hQ-py3.8/lib/python3.8/site-packages/click/core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/clement/.cache/pypoetry/virtualenvs/grafana-dashboard-manager-GvvO0-hQ-py3.8/lib/python3.8/site-packages/click/core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/clement/.cache/pypoetry/virtualenvs/grafana-dashboard-manager-GvvO0-hQ-py3.8/lib/python3.8/site-packages/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/clement/.cache/pypoetry/virtualenvs/grafana-dashboard-manager-GvvO0-hQ-py3.8/lib/python3.8/site-packages/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/home/clement/.cache/pypoetry/virtualenvs/grafana-dashboard-manager-GvvO0-hQ-py3.8/lib/python3.8/site-packages/typer/main.py", line 500, in wrapper
return callback(**use_params)  # type: ignore
File "/home/clement/grafana-dashboard-manager/grafana_dashboard_manager/dashboard_download.py", line 52, in all
_write_dashboards_to_local_folder_from_grafana_folder(folder, destination_dir)
File "/home/clement/grafana-dashboard-manager/grafana_dashboard_manager/dashboard_download.py", line 86, in _write_dashboards_to_local_folder_from_grafana_folder
dashboard_definition = update_dashlist_folder_ids(dashboard_definition)
File "/home/clement/grafana-dashboard-manager/grafana_dashboard_manager/dashboard.py", line 58, in update_dashlist_folder_ids
for panel in dashboard_definition["dashboard"]["panels"]:
KeyError: 'panels'

Hi, thanks for giving this a go.
Do you happen to have dashboards with no panels in them? i.e. empty dashboards

I have run into the same issue:
INFO     Found Alertmanager / Overview dashboard in folder Kubernetes-Metrics                                                             dashboard_download.py:80 Traceback (most recent call last):   File "/usr/local/bin/grafana-dashboard-manager", line 8, in <module>     sys.exit(app())   File "/usr/local/lib/python3.9/site-packages/typer/main.py", line 214, in __call__     return get_command(self)(*args, **kwargs)   File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1128, in __call__     return self.main(*args, **kwargs)   File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1053, in main     rv = self.invoke(ctx)   File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1659, in invoke     return _process_result(sub_ctx.command.invoke(sub_ctx))   File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1659, in invoke     return _process_result(sub_ctx.command.invoke(sub_ctx))   File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1395, in invoke     return ctx.invoke(self.callback, **ctx.params)   File "/usr/local/lib/python3.9/site-packages/click/core.py", line 754, in invoke     return __callback(*args, **kwargs)   File "/usr/local/lib/python3.9/site-packages/typer/main.py", line 500, in wrapper     return callback(**use_params)  # type: ignore   File "/usr/local/lib/python3.9/site-packages/grafana_dashboard_manager/dashboard_download.py", line 52, in all     _write_dashboards_to_local_folder_from_grafana_folder(folder, destination_dir)   File "/usr/local/lib/python3.9/site-packages/grafana_dashboard_manager/dashboard_download.py", line 86, in _write_dashboards_to_local_folder_from_grafana_folder     dashboard_definition = update_dashlist_folder_ids(dashboard_definition)   File "/usr/local/lib/python3.9/site-packages/grafana_dashboard_manager/dashboard.py", line 58, in update_dashlist_folder_ids     for panel in dashboard_definition["dashboard"]["panels"]: KeyError: 'panels'
Any help I can provide to debug?

This should be fixed by #9, run pip install grafana-dashboard-manager --upgrade to get the newest version and let me know how it works @clement94310 & @vitosans.

can this issue be closed then?


Add 3D terrain

It makes sense to have the ability to enable 3D terrain, rather than the flat, non-realistic representation we have now. It wouldn't be useful in all situations (having things flat is easier to comprehend) but I can certainly see the need for this feature.
For example, you may just want to use ViziCities with 3D terrain as a backdrop for something else (eg. not wanting to display buildings and the like). Another example would be something like Strava in 3D, showing running and cycling routes in which terrain and height is important to display. Another use is flood-mapping, using terrain to gauge impact as water levels rise.

Here's a good article on webgl terrain rendering for inspiration.
http://www.pheelicks.com/2014/03/rendering-large-terrains/

For another inspiration, have a look at https://www.mapbox.com/blog/3d-terrain-threejs/


Nav2 profile 2

[x] edit avatar desktop
[x] edit bio desktop
[x] add to teams desktop (changing role broken until DESKTOP-9217 is fixed)
[x] showcase team desktop
[x] actions desktop
--- mobile
[x] actions mobile
[x] edit avatar mobile
[x] edit bio mobile
[x] showcase team mobile
[x] add to teams mobile

@keybase/react-hackers this is ready

@keybase/react-hackers bump


metric: fix resolved-ts row

What is changed and how it works?

Issue Number: ref #15082
What's Changed:

Fix the unintentional changes in #15118: let resolved-ts row be collapsed by default, and put panels in it.

Related changes

PR to update pingcap/docs/pingcap/docs-cn:
Need to cherry-pick to the release branch

Check List
Tests

Manual test (add detailed scripts or steps below)

Release note
None

/merge


FLIX package doesn't create directory to save in

When running flow flix package multiply.template.json --save foo/bar/multiply.js it does not create the directories.
❌ Output Error: open foo/bar/multiply.js: no such file or directory

If I do flow flix package multiply.template.json --save multiply.js it works fine.

I think we shoukd fix —-save so that it creates directories.


reinstall mminiaudio each new version of Homeassitant

Do you know if their is a system to avoid reinstall mini audio each time we update Homeassistant ? minimum 1 time per month ...).
Your add on is. exactly what I'm searching to use my HomePod, but it's annoying to reinstall mini audio each time I update Homeassistant

Do we still need to reinstall miniaudio? I just installed Airplayer on HassOS 6.6 x86-64 v2021.11.5 and it worked without having to reinstall miniaudio.


Try event service with DMTF tools

Does any of DMTF tools have a built-in Event Service client to be used for demonstration? We should develop a simple flask client to be used as callback and print received events.

The tool can be used not only to listen to events triggered by a Redfish implementation but also to subscribe to a given event type.


<EMAIL_ADDRESS>File doesn't exist error

Prerequisites

[X] I have written a descriptive issue title.
[X] I have searched all issues/PRs to ensure it has not already been reported or fixed.
[X] I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name
qalculate
Expected/Current Behaviour
Can't shim 'qalculate-gtk.exe': File doesn't exist.
Steps to Reproduce
Updating 'qalculate' (4.8.0 -> 4.8.1)
Downloading new version
Loading qalculate-4.8.1-x64.zip from cache.
Checking hash of qalculate-4.8.1-x64.zip ... ok.
Uninstalling 'qalculate' (4.8.0)
Removing shim 'qalc.shim'.
Removing shim 'qalc.exe'.
Unlinking C:\scoop\apps\qalculate\current
Installing 'qalculate' (4.8.1) [64bit] from extras bucket
Loading qalculate-4.8.1-x64.zip from cache.
Extracting qalculate-4.8.1-x64.zip ... done.
Linking C:\scoop\apps\qalculate\current => D:\apps\scoop\apps\qalculate\4.8.1
Creating shim for 'qalc'.
Creating shim for 'qalculate-gtk'.
Can't shim 'qalculate-gtk.exe': File doesn't exist.

Possible Solution
Replace all the “qalculate-gtk.exe” with “qalculate.exe” within manifest.
Scoop and Buckets Version
'extras' bucket:
eee7624be (HEAD -> master, origin/master, origin/HEAD) sidekick-browser: Update to version <IP_ADDRESS>547-fb3b8c7

Scoop Config
aria2-enabled         : True
alias                 :
last_update           : 19.09.2023 10:31:07
use_lessmsi           : True
aria2-warning-enabled : True
scoop_repo            : https://github.com/lukesampson/scoop
scoop_branch          : master

PowerShell Version
Name                           Value
----                           -----
PSVersion                      7.3.6
PSEdition                      Core
GitCommitId                    7.3.6
OS                             Microsoft Windows 10.0.22621
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Additional Softwares
No response

I'm confused.
The last commit for the manifest changed it (back?) from qalculate-gtk.exe to qalculate.exe.
Meanwhile all the portable zip-files I can download from qalculate.github.io still contain qalculate-gtk.exe, as does the file in my scoop cache folder.
And yet there are currently open issues that appear to have the opposite problem (https://github.com/ScoopInstaller/Extras/issues/11924 is a duplicate of this).
A couple of weeks ago I manually changed the manifest-file but that mucked with the update process.


UseProjection on mutation with mutation conventions

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
as per the hotchocolate #general slack channel thread, we are using hot chocolate 12.7 with the following mutation (actual entity and property names are replaced)
mutation CreateEntity {
  createEntity (input: {
    foo: 1,
    bar: "aaa",
    childId: 5
  }){
    entity {
      id,
      foo,
      bar,
      childId,
      child {
        id,
        name
      }
    }
  }
}

The expected response should look like below (note that both the childId is returned and the child property itself is expanded)
{
  "data": {
    "createEntity": {
      "entity": {
        "id": 1234,
        "foo": 1,
        "bar": "aaa",
        "childId": 5,
        "child": {
          "id": 5,
          "name": "foobar"
        }
      }
    }
  }
}

The actual response however looks like this:
{
  "data": {
    "createEntity": {
      "entity": {
        "id": 1234,
        "foo": 1,
        "bar": "aaa",
        "childId": 5,
        "child": null
      }
    }
  }
}

The mutation method looks like this:
	[HotChocolate.Data.UseFirstOrDefault]
	public async Task<IQueryable<Entity>> CreateEntity(int foo,
                string bar,
                int childId,
                [Service] SomeService service,
                [Service] DataContext dataContext,
                CancellationToken cancellationToken = default)
	{
		int id = await service.CreateEntity(foo,
				bar,
                                childId,
				cancellationToken);

		return dataContext.Entities.Where(cd => cd.Id == id);
	}

We have tried to apply the UseProjection attribute as well, thinking that that may be the reason why we are not getting the expanded navigation property child but hotchocolate then throws the following exception:
"Unable to cast object of type 'System.Linq.Expressions.Expression1`1[System.Func`2[System.Object,System.Object]]' to type 'System.Linq.Expressions.Expression`1[System.Func`2[Entity,Entity]]'.",

at HotChocolate.Data.Projections.Expressions.QueryableProjectionScopeExtensions.Project[T](QueryableProjectionScope scope)
   at HotChocolate.Data.Projections.Expressions.QueryableProjectionContextExtensions.Project[T](QueryableProjectionContext context)
   at HotChocolate.Data.Projections.Expressions.QueryableProjectionProvider.<>c__5`1.<CreateApplicatorAsync>b__5_0(IResolverContext context, Object input)
   at HotChocolate.Data.Projections.Expressions.QueryableProjectionProvider.<>c__DisplayClass4_0`1.<<CreateExecutor>g__ExecuteAsync|1>d.MoveNext()
--- End of stack trace from previous location ---
   at HotChocolate.Data.Projections.FirstOrDefaultMiddleware`1.InvokeAsync(IMiddlewareContext context)
   at HotChocolate.Utilities.MiddlewareCompiler`1.ExpressionHelper.AwaitTaskHelper(Task task)
   at HotChocolate.Types.MutationConventionMiddleware.InvokeAsync(IMiddlewareContext context)
   at HotChocolate.Types.ErrorMiddleware.InvokeAsync(IMiddlewareContext context)
   at HotChocolate.AspNetCore.Authorization.AuthorizeMiddleware.InvokeAsync(IDirectiveContext context)
   at HotChocolate.Utilities.MiddlewareCompiler`1.ExpressionHelper.AwaitTaskHelper(Task task)
   at HotChocolate.Execution.Processing.Tasks.ResolverTask.ExecuteResolverPipelineAsync(CancellationToken cancellationToken)
   at HotChocolate.Execution.Processing.Tasks.ResolverTask.TryExecuteAsync(CancellationToken cancellationToken)"

@michaelstaib is suggesting that this may be connected to the rewriting of the schema when mutation conventions are applied...
Steps to reproduce

have an entity framework core entity with a navigation property
create a graphql mutation (with mutation conventions applied) that exposes a method to persist an instance of this entity and return the newly created entity loaded from the data context (as IQueryable with UseFirstOrDefault applied)
call the mutation method and request the result to return the entity with the navigation property expanded
hotchocolate returns the entity, however the navigation property is not expanded, it is null (as per above code snippets)

Relevant log output
No response
Additional Context?
No response
Product
Hot Chocolate
Version
12.7.0

Try manually projecting:
class Mutations {
    [UseProjection]
    public Task<Stuff> SaveStuff(StuffInput input, [Service] DataContext dataContext, IResolverContext ctx) {
        int stuffId = /* do something with input etc... */;
        return dataContext.Entities.Where(cd => cd.Id == id).Project(ctx).Single();
    }
}

If the issue persists, the problem is with the IQueryable itself. In this case it should throw in the Project() method.
If issue goes away, the problem was in the return type (probably unable to resolve IQueryable's generic argument if hidden in Task).

hi, the exception is the same, the stacktrace is (obviously) slightly different this time:
   at HotChocolate.Data.Projections.Expressions.QueryableProjectionScopeExtensions.Project[T](QueryableProjectionScope scope)
   at HotChocolate.Data.Projections.Expressions.QueryableProjectionContextExtensions.Project[T](QueryableProjectionContext context)
   at HotChocolate.Data.Projections.Expressions.QueryableProjectionProvider.<>c__5`1.<CreateApplicatorAsync>b__5_0(IResolverContext context, Object input)
   at HotChocolate.Data.Projections.Expressions.QueryableProjectExtensions.ExecuteProject[T](T input, IResolverContext context, Type expectedType)
   at HotChocolate.Data.Projections.Expressions.QueryableProjectExtensions.Project[T](IQueryable`1 queryable, IResolverContext context)
   at Website.Graph.Extensions.Statements.ColumnDefinitionMutationExtensions.CreateColumnDefinition(Int32 columnArrangementId, Int32 ordinal, Nullable`1 columnId, Int32 columnFactoryId, String parameters, ColumnArrangementService service, RepositoryContext dataContext, IResolverContext resolverContext, CancellationToken cancellationToken) in C:\\Work\\Synchtank\\IRIS.Net\\Sources\\Server\\Website\\Graph\\Extensions\\Statements\\ColumnDefinitionMutationExtensions.cs:line 57
   at HotChocolate.Resolvers.Expressions.ExpressionHelper.AwaitTaskHelper[T](Task`1 task)
   at HotChocolate.Types.Helpers.FieldMiddlewareCompiler.<>c__DisplayClass9_0.<<CreateResolverMiddleware>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at HotChocolate.Data.Projections.Expressions.QueryableProjectionProvider.<>c__DisplayClass4_0`1.<<CreateExecutor>g__ExecuteAsync|1>d.MoveNext()
--- End of stack trace from previous location ---
   at HotChocolate.Types.MutationConventionMiddleware.InvokeAsync(IMiddlewareContext context)
   at HotChocolate.Types.ErrorMiddleware.InvokeAsync(IMiddlewareContext context)
   at HotChocolate.AspNetCore.Authorization.AuthorizeMiddleware.InvokeAsync(IDirectiveContext context)
   at HotChocolate.Utilities.MiddlewareCompiler`1.ExpressionHelper.AwaitTaskHelper(Task task)
   at HotChocolate.Execution.Processing.Tasks.ResolverTask.ExecuteResolverPipelineAsync(CancellationToken cancellationToken)
   at HotChocolate.Execution.Processing.Tasks.ResolverTask.TryExecuteAsync(CancellationToken cancellationToken)

The response works as expected only when I remove UseProjection and manually include the child navigation property via
return dataContext.Entities
  .Include(x => x.Child)
  .Where(cd => cd.Id == id);

This is strange, we use this in our project on 12.9.0 and it works. Can you test it against 12.9.0?

Same after upgrading to 12.9.0. The UseProjection attribute only works with no issues on the Query endpoint, it expands the child navigation property correctly...

Btw did u remove UseSingleOrDefault before testing?

yep, only the UseProjection attribute is applied, as per your code snippet.
We can try this the other way round, do you have a working sample somewhere that I could checkout/fork and figure out where the differences are between your setup and ours?

I made a working sample for you: https://github.com/cts-tradeit/hc-mutation-projection
mutation {
  changeLicensePlate(id: 1, newPlate: "TESTING PLATE 2") {
    id
    licensePlate
    owner {
      name
    }
  }
}

will produce
{
  "data": {
    "changeLicensePlate": {
      "id": 1,
      "licensePlate": "TESTING PLATE 2",
      "owner": {
        "name": "John Doe"
      }
    }
  }
}

thanks a lot, I'll give it a go...

have done a fork of the project and it works out of the box. However, as soon as you add mutation conventions into the mix, the same exception is back. In order to reproduce, try changing the graphql configuration to
builder.Services.AddGraphQLServer()
    .RegisterDbContext<TestDbContext>()
    .AddQueryType<Queries>()
    .AddMutationType<Mutations>()
    .AddMutationConventions() // line added
    .AddProjections();

and try calling the following mutation (amended to comply with the mutation conventions applied)
mutation ChangeLicensePlate {
  changeLicensePlate(input: { id: 1, newPlate: "foobar" }) {
    car {
      id
      licensePlate,
      ownerId,
      owner {
        id,
        name
      }
    }
  }
}

It looks like the mutation conventions break the UseProjection functionality... In fact, you don't even need to add the expanded owner property into the request, even this fails:
mutation ChangeLicensePlate {
  changeLicensePlate(input: { id: 1, newPlate: "foobar" }) {
    car {
      id
    }
  }
}

As a workaround you may opt out from conventions on methods that require projection.

Unfortunately that is not an option at the moment, we've spent the previous "sprint" enabling mutation conventions and updating all of the frontend calls. Once we've stumbled upon this issue, we've recommended to the frontend team in the interim to follow mutation calls with a query for details, if the use case requires anything beyond the first level entity properties - hoping that this is just us having something misconfigured on our end...
Is this something that is going to be fixed? Something I can help with?

I'm having the exact same issue. AddMutationConventions(true) in program.cs, and then any attempt to use a projection on a mutation throws an exception. This is not ideal, because now I have to map thousands of unnecessary LH-RH mappings for every mutation that I need a projection on.
[Authorize()]
[UseProjection]
[UseFirstOrDefault]
public async Task<IQueryable<UserCryptographyHistory>> UserCryptographyPinItem(
       MyDbContext dbContext,
       CancellationToken ct,
       [GlobalState(nameof(User.UserId))] int userId,
       [ID] int userCryptographyHistoryId)
{
  ...

  return dbContext.UserCryptographyHistories
      .Where(a => a.UserCryptographyHistoryId == userCryptographyHistoryId && a.UserId == userId)
      .AsQueryable(); // SQL query executes OK, but HC explodes
}

Unable to cast object of type 'System.Linq.Expressions.Expression1`1[System.Func`2[System.Object,System.Object]]' to type 'System.Linq.Expressions.Expression`1[System.Func`2[Ripple.Domain.Entities.Ripple.UserCryptographyHistory,Ripple.Domain.Entities.Ripple.UserCryptographyHistory]]

This works:
[Authorize()]
public async Task<UserCryptographyHistory> UserCryptographyPinItem(
       MyDbContext dbContext,
       CancellationToken ct,
       [GlobalState(nameof(User.UserId))] int userId,
       [ID] int userCryptographyHistoryId)
{
  ...

  return await dbContext.UserCryptographyHistories
        .Where(a => a.UserCryptographyHistoryId == userCryptographyHistoryId && a.UserId == userId)
        // this sucks, having to map LH-RH for all the things, cause I need one column from the CryptographyType table...
        .Select(a => new UserCryptographyHistory
        {
            CreatedOn = a.CreatedOn,
            CryptographyType = new CryptographyType
            {
                Name = a.CryptographyType.Name
            },
            CryptographyTypeId = a.CryptographyTypeId,
            Input = a.Input,
            IsFavorite = a.IsFavorite,
            IsPinned = a.IsPinned,
            Output = a.Output,
            User = a.User,
            UserCryptographyHistoryId = a.UserCryptographyHistoryId,
            UserId = userId,
        })
        .FirstOrDefaultAsync();
}

I reproduce the same behaviour which seems to be a bug due to conflict between UseProjection and UseMutationConvention.
Currently I'm forced to include manually child elements which represents a lack of performance and causes graphQL to be a bit obsolete...
A fix which give the opportunity to use MutationConvention (which seems great to make mutation sustainable) and UseProjection (which seems perfect to be able to let the client choose only variables needs) together would be appreciated.

I've been running into this also using v13.0.5, I'm a big fan of mutation conventions but without projections it's making some of the more complex responses involving multiple nested navigation properties really hard to support. @michaelstaib is this on any roadmap or intended to be resolved in any upcoming release?
Here is another example of how I'm using them where it produces the below error.
[ExtendObjectType(OperationTypeNames.Mutation)]
public class TenantCreateMutation
{
    [UseFirstOrDefault]
    [UseProjection]
    [Error(typeof(DomainException))]
    public async Task<IQueryable<Tenant>> TenantCreate(
        [Service] ApplicationDbContext database,
        [Service] IRequestClient<TenantCreateCommand> client,
        string name,
        CancellationToken cancellation)
    {
        var command = new TenantCreateCommand { Name = name };

        Response response =
            await client.GetResponse<TenantCreateCommandResult, TenantCreateCommandRejected>(command, cancellation);
        return response switch
        {
            (_, TenantCreateCommandResult result) => database.Tenants.Where(x => x.Id == result.Id),
            (_, TenantCreateCommandRejected error) => throw new DomainException(error.ErrorCode),
            _ => throw new InvalidOperationException()
        };
    }
}

      "extensions": {
        "message": "Unable to cast object of type 'System.Linq.Expressions.Expression1`1[System.Func`2[System.Object,System.Object]]' to type 'System.Linq.Expressions.Expression`1[System.Func`2[Giantnodes.Service.Tenants.Domain.Entities.Tenant,Giantnodes.Service.Tenants.Domain.Entities.Tenant]]'.",
        "stackTrace": "   at HotChocolate.Data.Projections.Expressions.QueryableProjectionScopeExtensions.Project[T](QueryableProjectionScope scope)\r\n   at HotChocolate.Data.Projections.Expressions.QueryableProjectionContextExtensions.Project[T](QueryableProjectionContext context)\r\n   at HotChocolate.Data.Projections.Expressions.QueryableProjectionProvider.<CreateApplicator>b__7_0[TEntityType](IResolverContext context, Object input)\r\n   at HotChocolate.Data.Projections.Expressions.QueryableProjectionProvider.<>c__DisplayClass4_0`1.<<CreateExecutor>g__ExecuteAsync|1>d.MoveNext()\r\n--- End of stack trace from previous location ---\r\n   at HotChocolate.Data.Projections.FirstOrDefaultMiddleware`1.InvokeAsync(IMiddlewareContext context)\r\n   at HotChocolate.Utilities.MiddlewareCompiler`1.ExpressionHelper.AwaitTaskHelper(Task task)\r\n   at HotChocolate.Types.MutationConventionTypeInterceptor.<>c__DisplayClass16_0.<<ApplyResultMiddleware>b__1>d.MoveNext()\r\n--- End of stack trace from previous location ---\r\n   at HotChocolate.Types.MutationConventionMiddleware.InvokeAsync(IMiddlewareContext context)\r\n   at HotChocolate.Types.ErrorMiddleware.InvokeAsync(IMiddlewareContext context)\r\n   at HotChocolate.Execution.Processing.Tasks.ResolverTask.ExecuteResolverPipelineAsync(CancellationToken cancellationToken)\r\n   at HotChocolate.Execution.Processing.Tasks.ResolverTask.TryExecuteAsync(CancellationToken cancellationToken)"
      }

FYI, when not using the "ErrorAttributes flow" but when using the "MutationResult flow" it is also broken. Thus someting like (rewrote above code in other flow):
[ExtendObjectType(OperationTypeNames.Mutation)]
public class TenantCreateMutation
{
    [UseFirstOrDefault]
    [UseProjection]
    public async Task<IQueryable<MutationResult<Tenant, DomainError>>> TenantCreate(
        [Service] ApplicationDbContext database,
        [Service] IRequestClient<TenantCreateCommand> client,
        string name,
        CancellationToken cancellation)
    {
        var command = new TenantCreateCommand { Name = name };

        Response response =
            await client.GetResponse<TenantCreateCommandResult, TenantCreateCommandRejected>(command, cancellation);
        return response switch
        {
            (_, TenantCreateCommandResult result) => database.Tenants.Where(x => x.Id == result.Id),
            (_, TenantCreateCommandRejected error) => new DomainError(error.ErrorCode),
            _ => throw new InvalidOperationException()
        };
    }
}

also fails.
I think "Stage 6a Errors" are the way to go, but to make it usefull it should be able to work with Projections... Best would be that code as above would work. But a temp workable workaround would also be very valuable I guess. Something like the above mentioned
return await dbContext.Set<Car>().Where(c => c.Id == id).Project(ctx).SingleAsync();
Something like
return await dbContext.Set<Car>().Where(c => c.Id == id).ProjectOkResult(ctx).SingleAsync();
(which only uses the "non-errors" part of the projection)

I'm also running into this. It looks like there's some code for handling a similar issue when using Relay conventions. I'm not sure how much work it might be, but I'm considering looking into this and making a PR for it.

@michaelstaib, @hahn-kev , did we expect the linked PR to also solve the issue for MutationResults + Projections? Thus something like:
[ExtendObjectType(OperationTypeNames.Mutation)]
public class TenantCreateMutation
{
    [UseFirstOrDefault]
    [UseProjection]
    public async Task<MutationResult<IQueryable<Tenant>, DomainError>> TenantCreate(
        [..]
        CancellationToken cancellation)
    {
        [..]
    }
}

i.c.w. .AddMutationConventions
Becasue it throws "Cannot Resolve PayLoadType"; even with latest versions of HC

I didn't test that case. You should be able to just use the queryable as the return type and let the mutation convention change the type in the scheme.

@Pjotrtje did you open an issue on it ?
I am facting the same issue

@nicomoya123 nope. So feel free to open issue. And I will give it a heart :)


option to hide card name

I use the card in a stack under another weather card and would like to hide the card name and optionally time and temperature
edit: I realized adding name: null in the yaml or without any value does the trick.
Still would like to also hide temperature and time.

Yea, great thanks, now it looks for my case just beatiful :-)


demicuirass, airplaned

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.4
logical conflict every: 5
sleep for: 300s
[pullrequest]
requests per hour: 30
deps=[a,d]

/trunk merge


No way to have a modal to pop up

please look at this https://stackoverflow.com/q/47192305/2896495
and this https://angular-rnj97t.stackblitz.io
Can we have a decent documentation and examples?

Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.
This is working as intended as you the issue you are running into is attempting to use MatDialog directives outside of the context of a dialog.  However the directives are expected to be used in a dialog and rely on the dialog context to work.
Specifically you are seeing this error.
Error: StaticInjectorError[MatDialogRef]:
  StaticInjectorError[MatDialogRef]:
    NullInjectorError: No provider for MatDialogRef!

This is happening because MatDialogRef is not provided in the injector tree above your IlgErrorDialogComponent component when you load it outside of a dialog (this is because MatDialog provides a set of injected values during creation of a dialog.  It is attempted to be loaded when you have [mat-dialog-close]=true.  You should only be instantiating your dialog content in the context of a dialog, currently you load it in the apps main component and then attempt to load it again in a dialog.

Sorry, I did not understand a work you wrote. Someone, PLEASE write a blog post!

ok, I got it. But now I have another problem. Please help out the community - https://stackoverflow.com/q/47196274/2896495


nft: Add support named counters and handlers.

Add support for named counters in nftables. In addition, expose the handlers when reading the configuration.

Hi @bunert , thank you for the contribution.
I will go over it in detail this week.
What is odd is that I cannot run the tests though GitHub. Usually for new contributors it asks to run it.

@bunert , can I assist you with anything here?

@bunert , can I assist you with anything here?

@bunert , are you still available to complete this one?

Sorry, I don't have the time right now and we worked around the missing handlers for now. I hope to find some time to update it soon, sorry for the inconvenience.


Scatter plot issue

Hello. I have an intermittent but serious problem with scatter diagrams. Sometimes(not always) when I select variables for a 3-D plot, I get no choice for thesecond or third variable, but the only possibility is default. The resultingscatter diagram then consists of points on a straight line. Perhaps you could advise me on how to get rid of this problem. With many thanks, Andrew Colin
-----------------------REDMINE MIGRATION-----------------------
This ticket was migrated from Redmine. As such, not all
information was able to be captured in the transition. Below is
a complete record of the original redmine ticket.
Ticket number: 2888
Status: Resolved
Project: VisIt
Tracker: Bug
Priority: Normal
Subject: Scatter plot issue
Assigned to: -
Category: -
Target version: -
Author: Kevin Griffin
Start: 08/14/2017
Due date:
% Done: 0%
Estimated time:
Created: 08/14/2017 11:02 am
Updated: 09/07/2017 03:28 pm
Likelihood: 3 - Occasional
Severity: 2 - Minor Irritation
Found in version: 2.12.3
Impact:
Expected Use:
OS: All
Support Group: Any
Description:
Hello. I have an intermittent but serious problem with scatter diagrams. Sometimes(not always) when I select variables for a 3-D plot, I get no choice for thesecond or third variable, but the only possibility is default. The resultingscatter diagram then consists of points on a straight line. Perhaps you could advise me on how to get rid of this problem. With many thanks, Andrew Colin
Comments:
Hello Kevin,Thanks for your prompt reply. The problem also happens if I try to set things upfrom the plot list.Curiously, the fault seems to come up when I run under UBUNTU. When I run VISITunder Windows everything seems fine.I am using VISIT 2.12.2. Should I download the latest version?I attach the data that (sometimes) produces the problem.I look forward to your reply.With best regards,Andrew This was caused by overzealous (and incorrect) logic to skip some gui menu widget updating. I misunderstood that QvisVariableButton class was tracking two different kinds of variable buttons (those that work from ActiveSource and those that work from PlotSource) and wound up adding logic to avoid updating those that work from PlotSource. The correction was to remove this skipping logic.Turns our this effected the VisIt interface anywhere a QvisVariableButton was being used from PlotSource (Scatter plot Wizard, PC plot point size by variable control, Query variable pull down, etc.) but only when no plots had actually been created yet. Once plots were created, a user would not have seen this behavior).

2887_Nl3.txt


The "useDocs()" hook returns an empty array within a Gatsby project

Bug Report
Describe the bug
The useDocs() hook returns an empty array within a Gatsby project even though docz is able to successfully import MDX files
To Reproduce
Here is a minimal example to reproduce the issue.
git clone https://github.com/lemon-31/gatsby-docz-example.git
cd gatsby-docz-example
npm install
gatsby develop

Navigate to localhost:8000 in your browser. You will notice that docz is running successfully and is displaying our index.mdx file as expected.
Next, navigate to our test page where we called the hook:
localhost:8000/test-page

You will likely notice that the docs array is empty. This can be checked in the console where the docs array is logged or alternatively in the DOM where the contents inside our <div> are empty.
Expected behavior
I expected the data from the index.mdx file to be present within the returned value of useDocs()
Environment
Windows 10 Pro Version 1803
gatsby --version
2.5.12
npm --version
6.4.1
node --version
v10.15.3

Additional context/Screenshots
Feel free to let me know if you would like any further information. Also, could the problem have something to do with the following line observed in the build:
error (node:13740) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead

Thanks

I'm getting the same Tapable.plugin error. I'm using a simple CRA app to try and get this to work

I have the same behavior when i try to use useDocs inside gatsby project, when trying to display it on main page (pages/index.js). Maybe i miss some additional configuration?


Add files via upload

Description
This is a folder, containing the basic if/else programs made with the solidity programming lang.
It contains basic logic based and application based programs.
Fixes #<39>
Type of change
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this :

[x] Add a new project

[x] Improve the readme of any project

Domain of Contribution
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[x] Project using only Solidity

[x] Project Test on the Remix IDE

Checklist ✓
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[x] l have performed a self-review of my own code or work.

[x] I'm a SSOC'23 contributor

Fixes #<39> please give a space b/w these two
Write like this in  this PR template Fixes #39 . Hop u get  this ,

Thank's for raising this pr . Hope  to see more  PR like this from your side .


Add support for "check program" ( type == 7 )

This patch:

Remove some unnecessary whitespace
Add support for "check program" ( type == 7 )
Change "dont_show_alerts" behaviour code, so now it's
independent from "Alerts" collumn id, which was needed
to avoid another if-case for type 7.

This patch also add storing "check program" output to XML,
which is currently unused by frontend ( but support may be added ).

@danschultzer
I've created PR, as You requested in #2.

If you think it's better not to write $program_output to XML to spare disk space, then I can comment it out.

If you think it's better not to write $program_output to XML to spare disk space, then I can comment it out.

Yeah, I think it's better to remove that part. It's always better to just have the logic that's actually being used, and not any unused logic that'll just confuse. It can always be added in later when it's going to be used.

Yeah, I think it's better to remove that part.

Done.

:+1:


Disjunction, NotMemberCt constraint ignores Disjunction

What version of OR-tools and what language are you using?
Version: 7.1.6720
Language: Python
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
Routing Solver
What operating system (Linux, Windows, ...) and version?
Ubuntu 18.04
What did you do?
Steps to reproduce the behavior:

Define multiple time windows to visit a node via NotMemberCt:

solver.AddConstraint(
    solver.NotMemberCt(
        time_dimension.CumulVar(manager.NodeToIndex(node_index)),
        [500],
        [horizon]
    )
)

Add a constraint to visit this node:

node_cumul_var = time_dimension.CumulVar(
    manager.NodeToIndex(node_index)
)
solver.Add(750 <= node_cumul_var)

Add disjunction for that node to make it optional

routing.AddDisjunction([manager.NodeToIndex(node_index)], penalty_base)

In this setting:

From (1) - The node cannot be visited between 500 and the horizon, so it can be visited only during 0 - 500.
From (2) - The node can only be visited from 750.
Therefore, the node cannot be visited in this solution.

What did you expect to see
I expected this node to be dropped due to Disjunction (3), and a solution to be found.
What did you see instead?
The solver says no solution is found (I've tried multiple FirstSolutionStrategy just in case - but none worked).
This is either a bug or my misunderstanding of how this should work. If it's not a bug, how would you go about solving this? I'm trying to minimize "pre-solver" logic such as checking myself whether I should include unreachable nodes before handing it over to the solver.
Thanks,
Ilai

1 just say that it cannot be visited at 500.
Please fix and reopen the bug if still present.


add github action to check setup.py, examples, and notebooks

This PR resolves issue #519 by adding a new workflow (install_examples) that installs the control package using the setup.py script, then runs the examples/run_examples.py and (new) examples/run_notebooks.py scripts.  These call all of the .py and .ipynb (Jupyter notebook) files in the examples directory and make sure they run correctly.
Also fixed some errors in the Jupyter notebook files due to 0.9.0 updates.

Coverage remained the same at 87.754% when pulling b6e73c709f3605ef320659a53a86ac4b19f6b368 on murrayrm:install_examples into 6d513589810d54fa89d7cf234462d1a370c7d127 on python-control:master.

Coverage remained the same at 87.754% when pulling b6e73c709f3605ef320659a53a86ac4b19f6b368 on murrayrm:install_examples into 6d513589810d54fa89d7cf234462d1a370c7d127 on python-control:master.


Don't panic when calling readlink from a nonexistent directory

If readlink is called with a relative path from a nonexistent directory, return an Error instead of panicking.
GNU's test suite contains several tests like this:
cd "$pwd/$tmp/removed" || framework_failure_

# Skip this test if the system doesn't let you remove the working directory.
if rmdir ../removed 2>/dev/null; then
  v=$(returns_ 1 readlink -e .) || fail=1
  test -z "$v" || fail=1
fi

In this situation, readlink attempts to read a relative path . from a directory that no longer exists, and GNU returns exit code 1 with no output. The same thing happens with other relative paths, but there are no problems when using absolute paths. Meanwhile, uutils panics. This isn't because of any code specific to uutils, but because Rust's own fs::canonicalize() panics when given a relative path from a nonexistent directory.
I took a stab at solving this. First, this PR checks if the current directory exists. If it does, it can use fs::canonicalize like normal. If not, it uses a slower path by wrapping fs::canonicalize with panic::catch_unwind to recover from the panic and convert it to an Error. Since this still prints the error text to stderr, the PR also temporarily replaces panic's hook function with a no-op to suppress output.
I tested this locally and it showed the correct behavior, but I wasn't able to get a unit test working. Removing the active directory causes ucmd itself to panic! This is the closest I got:
#[test]
fn test_readlink_in_removed_directory() {
    let (at, mut ucmd) = at_and_ucmd!();
    let rmdir = fs::remove_dir(&at.subdir);
    // Don't fail if the platform won't let you remove the current directory.
    if rmdir.is_ok() {
        ucmd.arg("-e").arg(".").run().fails_silently();
    }
}

Let me know if you have any suggestions for how to write this unit test, or if there are easier ways to handle the panic. Also, feel free to close this PR and use it as a jumping off point for another if you think it can be significantly improved.

Is it correct that this concerns https://github.com/uutils/coreutils/issues/3036? If so, have you checked out the discussion there?

This PR isn’t responding to any particular issue. I just noticed that this situation caused a few of the remaining Errors in the GNU Test suite, and wanted to give it a shot.
I don’t think this is related to #3036. That issue is specifically about absolute paths in a different utility. For readlink, absolute paths work correctly, even if the file or directory they point to doesn’t exist. It’s only relative paths from a nonexistent directory which panic.

Alright!

This isn't because of any code specific to uutils, but because Rust's own fs::canonicalize() panics when given a relative path from a nonexistent directory.

I can't look properly into this right now, so I'm not sure if you're aware or even whether it matters, but note that the fs::canonicalize function used here is the uucore::fs::canonicalize not the one from std. It unwraps a results from dunce::canonicalize under the hood. Could that be why it panics? Again, sorry if I'm completely wrong again :)

Ah, I didn't realize this was an internal implementation. In that case, it's probably better to handle the error in that canonicalize function, rather than implementing this awkward workaround. Thanks for pointing that out!

Ah, I didn’t realize this was a custom implementation. In that case, it’s probably better to handle this situation in the canonicalize function, rather than implementing this awkward workaround. Thanks for pointing that out!

Closing this in favor of a much simpler PR: https://github.com/uutils/coreutils/pull/3103


Fix get_link_train_table_input bug

After the fix, confirmed that the performance on HM is similar to internal two-tower model.


Dirigera API: Updated light state not reflected in Home Smart app

A general question regarding the Dirigera API, not about this repo, but I hope anyone could help out.
I'm sending requests to the dirigera API directly in the same manner as in this repo, and managed to turn on/off a light.
However, in the Ikea Home Smart app, the light status does not update.
Is this a known issue, has anyone else experienced this?

Without having actually tested it, I would tend to say that this is quite atypical. The IKEA-App interfaces the Dirigera's Rest-API in the same way and may receives state changes thorugh a websocket -- including the light state. Thus the IKEA-App also notifies whenever a light is physically switched off.
Is the light still reported in the wrong state after restarting the IKEA-App?


(Question) How to execute multiple scripts?

Hi everybody.
I have a Rust object that implements several several Rhai-exposed functions, Sync and Send.
I want to execute multiple Rhai scripts that use the same functions from the same object (if needed, using an Arc is possible in this context).
I thought about:

Running multiple Rhai engines in different threads (easiest to implement but heavy on the memory, expecially if I have dozens of scripts [minimum] and more)
Running only one Engine and different Closures that have the functions in common and their local variables private

I wanted to ask how would you implement the second method, if it is possible; if it isn't possible, what is the best way to resolve this problem.
Thanks in advance.

Not very sure what exactly you're trying to achieve.  Can you post a snippet?

Closing for now.  Feel free to reopen if you have any more questions.


Separate documents by a unique sequence

This exchanges the \n (newline) document separator with the sequence \x00\x00\x1E\n, which is distinguishing enough the be searchable in the partition. Hence, this will allow checking for unfinished writes and search the last valid document.
Related to #124 #31 #107

Coverage increased (+0.004%) to 97.237% when pulling f28c444bee3b01ab12cf3fdc89f07cc759e5eb58 on record-separator into d9c28c0682f5cbdc447fe90481bc18c83d88fb73 on master.

t.b.d. - should the dataSize be added to the "footer", so that scanning backwards is more efficient?


Extra space in example #3

Example #3 should be adjusted given there is an extra space.
Add-PnPClientSideWebPart -Page "MyPage" -Component "HelloWorld" -Section 1 -Column 2

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

ID: f213768f-9bc2-36e3-fe0a-d1c3b7f33b08
Version Independent ID: 3481fdb9-51ed-da91-2aa2-fd3745512f45
Content: Add-PnPClientSideWebPart (sharepoint-pnp)
Content Source: sharepoint/sharepoint-ps/sharepoint-pnp/Add-PnPClientSideWebPart.md
GitHub Login: @techwriter40
Microsoft Alias: kirks

@officedocsbot assign @yogkumgit

Hello @O365scripts 👍 How are you?
The documentation for PnP cmdlets is directly reflected from the cmdlet's source code, that lives in the linked repository.
I will need to kindly ask you to visit this other repo to open PnP issues. PnP cmdlets are maintained by the community, a member of it will pick it up there.
Thanks

@get-itips  Thank you very much for the contribution and sharing this explanation. @O365scripts
Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


0073 - Set Matrix Zeroes

Description of the Problem
Given an m x n matrix. If an element is 0, set its entire row and column to 0. Do it in-place.
Follow up:
A straight forward solution using O(mn) space is probably a bad idea.
A simple improvement uses O(m + n) space, but still not the best solution.
Could you devise a constant space solution?
Link To The LeetCode Problem
https://leetcode.com/problems/set-matrix-zeroes/

I have the solution ready, please assign this to me. @vJechsmayr
No one has done this question before neither any issues are open related to this.
thankyou

#249

#249

https://github.com/vJechsmayr/PythonAlgorithms/pull/249
#249

I'm trying to figure this out so badly.


Fail to run all examples

For codes in https://github.com/charmbracelet/bubbletea/tree/master/examples
$ grun
examples/http
# examples/http
./main.go:28:21: not enough arguments in call to tea.NewProgram
	have (model)
	want (tea.Init, tea.Update, tea.View)

Can you please fix this for beginner like me?

I found that I removed this line from go.mod
replace github.com/charmbracelet/bubbletea => ../

It works after I added it back. So why this error happens? It's kinda strange.

Hi! Sorry about that. This is be fixed in master (by b8bc66ed6f57f72bc237f7d55464266f3c542ac0).
We changed the Bubble Tea API slightly in v0.12.0, and the version in the examples was v0.11.1. The reason things worked with the replace directive is because it overrides the version specified in go.mod and instead tells Go to use the local version in the parent directory.


Add support for multiple azure deployments

Hey @vojtafilip @PaajaE @TomasPapirnik ,
This PR adds support for letting users call across multiple Azure deployments. It uses LiteLLM's proxy server to manage multiple azure deployments, behind 1 fixed endpoint.
Happy to hop on a call and talk through the PR / Proxy server if that helps!

Not interested, thank you

Hey @PaajaE any feedback here would be great! Do you use multiple azure deployments today?


mcl_3dl: 0.2.1-1 in 'melodic/distribution.yaml' [bloom]

Increasing version of package(s) in repository mcl_3dl to 0.2.1-1:

upstream repository: https://github.com/at-wat/mcl_3dl.git
release repository: https://github.com/at-wat/mcl_3dl-release.git
distro file: melodic/distribution.yaml
bloom version: 0.9.0
previous version for package: 0.2.0-1

mcl_3dl
* Set DiagnosticStatus::OK as default (#283 <https://github.com/at-wat/mcl_3dl/issues/283>)
* Update assets to v0.0.7 (#282 <https://github.com/at-wat/mcl_3dl/issues/282>)
* Contributors: Atsushi Watanabe, Daiki Maekawa

Holding for sync


support trickle ice

adds client trickle support. i don't think we need to handle trickle on the sfu side, since we wouldn't be interacting with stun/turn.
i think ideally we should have a mid => pc mapping, so we can handle trickle for a pc without having to know about routers. but i think that we can update that once we figure out how we want to multiplex streams/tracks

@tarrencev Is there any way to broadcast trickle candidates from the SFU side to the client/browser?

@cloudwebrtc it is possible but is it necessary? from my understanding that is only necessary if sfu is using stun/turn? not sure if i misunderstand

@tarrencev Normally, the turn/stun relay is not required, but in some extreme cases, such as ion-sfu is placed behind a firewall or NAT, you must use the turn proxy to forward from the edge server, or use stun.

ok makes sense. i can add support for that too

@cloudwebrtc updated to support trickle both ways

@tarrencev  LGTM


Demo code

Hello,
Thanks for sharing this repo!
I want to use the pretrained model for demo without training, does the repo include a demo code or I should write one?
Thanks,

Did you get a demo? Can you provide it for me?
Thanks.


Update virtual-machines-disks-vhds.md

Changed max size of OS disk from 127GB to 1TB to reflect latest supported max OS disk size.

Hi @julesman101, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;

@julesman101 Thanks for the contribution!  I'll have the author review the change.

Hi Julesman101 --
Thanks for the input and the correction. This content was recently moved from MSDN and I missed that update. I'll update the article today to cite 1023 GB to match what's documented in the 'Sizes for Virtual Machines' page (https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-size-specs/).


Remove new() method showing positional arguments from Mu.new() documentation?

Problem or new feature
Looking at https://docs.raku.org/type/Mu#method_new
It shows a multi method which accepts a positional argument. However, that method just throws an error: https://github.com/rakudo/rakudo/blob/2022.12/src/core.c/Mu.pm6#L121
Not sure it makes sense to leave this multi method in the docs when its only purpose is to throw an error.
Suggestions
Remove the multi method new($, *@) line from the documentation or explicitly explain that this version of the method will only throw an error.

Thanks, removed.


Update virtcontainers project to work with latest hyperstart changes

Several changes to hyperstart API and pod lifecycle forced us to modify our library to continue to work properly.

Changes done !


An error message for large circuits

What is the expected enhancement?
Circuit size is limited. I don't know if different devices have different limits, and whether the limit is exposed somewhere. When a user runs a circuit which is too large, the validation passes, and later there is a general job error,  that does not specify that circuit size is the cause for the error.

transpiler pass
backend improvement error (coming soon)
client-side validation

This issue seems still valid:
from qiskit import QuantumCircuit, IBMQ
circuit = QuantumCircuit(2)
circuit.h(range(2))

provider = IBMQ.load_account()

backend = provider.get_backend('ibmq_armonk')

job = backend.run(circuit)
job.result()

IBMQJobFailureError: 'Unable to retrieve result for job 61bdb2cb794ea36a1ef5881c. Job has failed: The number of qubits in the Qobj (2) is higher than the number of qubits supported by the device (1). Error code: 1109.'

I'm going to close this as "no longer Terra's responsibility" now; an improved error message would be the responsibility of the backend returning the error message.
Luciano's given example is not Terra's fault because the transpile(circuit, backend) step (which does raise an error) is absent.  In that situation, the backend returning the error is correct.


Add option to check validity of certificate

Please can you add another option to the client.auto() function called renewIfExpired.
It will have the following properties:

string data type.

contains the directory path of a certificate.

return value:

if the certificate in the specified directory has expired, a new certificate is returned.
if the certificate in the specified directory is still valid, it is returned.

default value: null (new certificate is always generated).
prevents the rate limit from being reached from unnecessary repeated certificate requests.
allows the user to use their own certificate and have node-acme-client as a fallback to generate a certificate in case their certificate expires.

Possible Implementation
if (!renewIfExpired) {
    if (fs.existsSync(renewIfExpired)) {
        var cert = fs.readFileSync('cert.pem');
        var expiry = (new Date((await ACME.forge.readCertificateInfo(cert)).notAfter)).valueOf();
        var time = (new Date()).valueOf();

        if (expiry >= time) {
            return cert;
        }
    } else {
        // ERROR: file does not exist
    }
}

// Continue certificate generation

By the way, thank you so much for such a great package!
I really appreciate the sophisticated code, clear documentation and constant bug fixes (all of the other major ACME clients are either really complicated or have serious bugs).

+1

Issue has been abandoned - revised issue: #30
Abandoned due to flaw: If the old certificate was retrieved, it would not match the newly generated key and would result in an error


test: Improve tests of pricing_utils library.

Description
Implement and improve tests of pricing_utils library.
File: test/pricing/pricing_utils.cairo.
Acceptance criteria

Unit tests (nominal and failure) are implemented and passing.

Happy to take this

Hi @sparqet and @Sk8erboi84,
For handling exponent operations, especially with methods like fn apply_exponent_factor(), it might be more effective to use a fixed point library, similar to how GMX does. Consider the following code:
uint256 weiValue = PRBMathUD60x18.pow(
    floatToWei(floatValue),
    floatToWei(exponentFactor)
);

As an alternative, I'd recommend using the cubit library to manage these types of operations. What are your thoughts?


GenVxMask wrapper subtask - documentation and tests

This is a sub-issue of #387
Describe the Sub-Issue

Create documentation files for new use cases
Add unit tests for GenVxMask wrapper
Add unit tests for changes to other code needed for wrapper
Add new use cases to test_use_cases.py and run

Time Estimate
About 1 to 2 days of work.
Relevant Deadlines
Needed for HWT
Funding Source
2770471 - SWPC
Define the Metadata
Assignee

[X] Select engineer(s) or no engineer required
[X] Select scientist(s) or no scientist required

Labels

[X] Select component(s)
[X] Select priority
[X] Select requestor(s)

Projects and Milestone

[x] Review projects and select relevant Repository and Organization ones
[x] Select milestone

Documentation:

Added 3 use cases with documentation files:
http://icculus.rap.ucar.edu/metplus-test/Users_Guide/met_tool_wrapper/index.html#genvxmask
Added section to Python Wrappers and added all config variables to glossary
http://icculus.rap.ucar.edu/metplus-test/Users_Guide/wrappers.html#genvxmask
Added up-to-date info to create a new wrapper in Contributor's Guide:
http://icculus.rap.ucar.edu/metplus-test/Contributors_Guide/create_wrapper.html

Testing:

Added pytests for GenVxMask and additional functionality needed to support new tool (i.e. allowing grid definitions in place of a file path) - all tests passed
Added 3 new use cases configs to Use Case test script


Travis thinks tests passed also when they didn't

https://travis-ci.org/mozilla/oghliner/jobs/89351153 is green, but tests failed: log.txt

I think I've found the problem.


remove spammy log cause by unknown service access

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes https://github.com/kmesh-net/kmesh/issues/1126
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/lgtm
/approve


Refactor for Robot to become a Monolith

At the same time why not named it Masjid's Robot (or MasjidsRobot as slug)
Refactoring points:

1 entrypoint with a bunch of features
Make it API based (+ generate a cli tool for flexibility while we work on some UI)

This is currently running on ARM64 on Armbian using this docker compose file:
version: '3'

services:

  monolith:
    image: ghcr.io/ccil-kbw/robot:latest-arm64
    restart: always
    ports:
      - 3333:3333

Next for the release cycle we'll need to setup https://github.com/containrrr/watchtower to watch on that container for continuous delivery

The supported feature ATM is the iqama-proxy, next on the list: discord-bot

For the name I would prefer something simple like mdroid to simplif the cli naming:

mdroid-cli
mdroid-monolith
mdroid-installer
mdroid-updater

etc

On the docker-compose.yml I added:

  watchtower:
    image: containrrr/watchtower
    platform: linux/arm64
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: --interval 600

That watches all containers and updates them when a new version is found, this only works if we continue pointing to latest-arm64

Watchtower works great:
seraf@orangepi5:~/mdroid$ docker compose logs -f
mdroid-watchtower-1  | time="2023-08-23T02:28:48Z" level=info msg="Watchtower 1.5.3"
mdroid-watchtower-1  | time="2023-08-23T02:28:48Z" level=info msg="Using no notifications"
mdroid-watchtower-1  | time="2023-08-23T02:28:48Z" level=info msg="Checking all containers (except explicitly disabled with label)"
mdroid-watchtower-1  | time="2023-08-23T02:28:48Z" level=info msg="Scheduling first run: 2023-08-23 02:29:48 +0000 UTC"
mdroid-watchtower-1  | time="2023-08-23T02:28:48Z" level=info msg="Note that the first check will be performed in 59 seconds"
mdroid-monolith-1    | Running iqama-proxy Go server on port :3333
mdroid-watchtower-1  | time="2023-08-23T02:29:50Z" level=info msg="Found new ghcr.io/ccil-kbw/robot:latest-arm64 image (19bd324f1ae7)"
mdroid-watchtower-1  | time="2023-08-23T02:29:50Z" level=info msg="Stopping /mdroid-monolith-1 (e9b7a4696912) with SIGTERM"
mdroid-monolith-1 exited with code 2
mdroid-watchtower-1  | time="2023-08-23T02:29:51Z" level=info msg="Creating /mdroid-monolith-1"
mdroid-watchtower-1  | time="2023-08-23T02:29:52Z" level=info msg="Session done" Failed=0 Scanned=2 Updated=1 notify=no
[...]
mdroid-monolith-1    | watchtower test: Running iqama-proxy Go server on port :3333
mdroid-watchtower-1  | time="2023-08-23T02:28:48Z" level=info msg="Watchtower 1.5.3"
mdroid-watchtower-1  | time="2023-08-23T02:28:48Z" level=info msg="Using no notifications"

Switched to scanning every minute, let's monitor if too aggressive for a few weeks

Adding a note on this MR for traceability:
version: '3.7'

services:

  monolith:
    container_name: monolith
    image: ghcr.io/ccil-kbw/robot:latest
    restart: always
    environment:
      - MDROID_BOT_GUILD_ID=REDACTED
      - MDROID_BOT_TOKEN=REDACTED

  watchtower:
    container_name: watchtower
    image: containrrr/watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    command: --interval 120 monolith


Untested branch in addition.hpp

Branch at this spot is not tested:
https://github.com/niekbouman/finitefield/blob/f0781afea43a5d05858fb1e22ea3c409a3f72e6b/include/ctbignum/addition.hpp#L72
I.e., replacing with if(true) passes all tests.

Indeed, most unit tests currently have limited coverage.
However, for addition, there is now a SAW/cryptol-based formal correctness proof (proving equivalence between the addition implementation and a high-level specification of addition, which we assume to be correct). The user has to manually choose the input size, i.e., the equivalence proof then holds for that particular input size (it cannot yet prove equivalence for all input sizes at once).
Having this correctness proof makes unit tests for the addition function somewhat redundant. (One could also think of this correctness proof as the ultimate unit test.)
Next step would be to integrate the SAW prover into the build system. (For the addition function, the correctness proof takes only a couple of seconds.)


RP-32 Change the scope of analyzers, downloaders and importers to the prototype

Change the scope of analyzers, downloaders and importers to the prototype.

Fixed by https://github.com/zwieback/old-relef-parser/pull/63


Parity bug on Infinite_Shooter

Describe the bug
PARITY GLITCH. crashes instantly in web. doesn't crash on console, but throws errors after killing one enemy on console
To Reproduce
Steps to reproduce the behavior:

Go to https://sprig.hackclub.com/gallery/Infinite_Shooter and load on console
Press run on web and observe error
Press a button to start game on console. use a and d to move, and k to shoot.
Observe error thrown when enemy is killed

Expected behavior
Crash on neither the web and the console, or crash on both
Actual behavior
only crashes on web

@Sheepy3 Per our conversation the other day, this issue is not accepted as it does not meet the criteria for an actionable issue - this could simply be a flaw in the application's coding as opposed to an actual parity concern.  Please feel free to reopen if after investigating further one finds a specific actionable parity issue, I just do not want to get into the habit of implicitly trusting that app parity issues are platform bugs, necessarily.


Changed package name in example command

Package is called oh-my-zsh.
Motivation for this change
Small error.
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Ah right, @DrawnWren , thanks for spotting the glitch!
Could you please change the commit message to fit with the contributing guidelines?

@DrawnWren Somehow some other commits found its way into this PR

@NeQuissimus @scolobb it was easier to just close this and resubmit a PR #25163


(feature) Wording improvements

Related to #1668

[x] Reject popup says 'This action will cancel this transaction' while it's not the case: https://prnt.sc/txoj49. Change to 'reject'.
https://zpl.io/VQZgGMm
[x] Cancel popup is called 'Execute transaction rejection' while in reality it executes calcellation https://prnt.sc/txol1m. Rename to 'Cancel transaction' and write 'This action will execute transaction cancellation'.
https://zpl.io/2p5ZY7J    Checked. This modal doesn't exist anymore.
[x] 'Create entry' popup says 'New entry' instead of Name and 'Owner address' while the address is not neccesarily an owner: https://prnt.sc/txonfe. Rename to 'Name' and 'Address'.
https://zpl.io/beZkkRD    Checked. Previously done
[x] Policies in settings. 'Modify' button should be called 'Change' because we call this action 'Change required confirmation': https://prnt.sc/uff9oh.
https://zpl.io/aMeL9LJ
[x] 'Change required confirmations' popup. 'Back' button should be 'Cancel', 'Change' should be 'Submit' (because it submits transaction): https://prnt.sc/uff9oh.
https://zpl.io/bl9rZrG

@dasanra , I wonder, why it's closed? I don't see approve from Franco. Am I looking for the wrong place for it?

Was already merged, but gave it a look just in case and it looks fine. I don't think the ticket should be closed with only 1 person giving the approve

I just saw this now. It was just some literal string changes that I reviewed myself. Don't think it was necessary to waste QA time for this


Meta tag wp-page-type reflecting used backend template

User story
As a web performance consultant, I would like to see netcentric.biz pages grouped by page type on Cognizant® Web Vitals Monitoring, so that I can analyse web performance of similar pages in a single place + and + I can showcase this to a potential client (Gucci) during the week starting June 12th.
Status quo
At the moment, I see that in the HTML code of CN's website, we are always setting the page type to not-defined.
<meta name="wp-page-type" content="not-defined">

That wp-page-type is read by Cognizant® Web Vitals Monitoring to group together the URLs of the pages that were generated from the same “template”.
Request
My request is to have that wp-page-type content changing, depending on the “template” that was used in the backend.
Benefits
If we could do that, it would:

bring benefits to us in web performance analysis
allow our team to demo this feature to potential clients

Priority hint
We specifically need this to demo Cognizant® Web Vitals Monitoring to Gucci.
The demo will take place on the week starting June 12th.
So the ideal time to have this feature put live would be by around June 5th.

Hint: I checked and it looks like the value is set by these lines in scripts.js

That meta tag isn’t present anywhere in our code, so I guess it’s something Adobe created in the setup phase and it’s taken from a "meta tags excel" file somewhere.
The JS in scripts.js just copies that meta attribute to the <main> element, but the meta tag comes from the back-end that generates the static pages.
Are you aware of a spreadsheet file on GDrive where to set meta tags for the pages?

Never mind, it needs to be done from this spreadsheet file.


kong runtime not effective immediately after kic update the config by calling /config?hash_check=1

Is there an existing issue for this?

[X] I have searched the existing issues

Kong version ($ kong version)
Kong 2.4.1
Current Behavior
We use kong and KIC in k8s cluster, they works well mostly.
But sometimes, we found that after we scale down the service deployment replicas, that means some pods are deleted and remove from the service endpoint, KIC call the /config API of kong to modify the configurations in kong, after that, we found that kong runtime not effect the configuration immediately, and still send request to the  deleted pod, and we found some Connection problem.
E.G.
12:28:15 the pod with ip <IP_ADDRESS> is removed from endpoint in k8s

but kong still send request the this ip address in 12:29:34, that means this pod's ip is not remove from the upstream list yet.

Expected Behavior
after the pod's ip has been removed from the endpoint, kong should not sent request to this pod any more.
Steps To Reproduce
It's not easy to reproduce the problem, This problem occurs randomly.
Anything else?
No response

@randmonkey Could you take a look?

@wuzhuoquan Please confirm the version of Kong and KIC.
We have fixed a bug where KIC would send config to removed gateway instances(pods) in KIC 3.2. Please try that version and confirm if the issue is fixed.

@wuzhuoquan Please confirm the version of Kong and KIC. We have fixed a bug where KIC would send config to removed gateway instances(pods) in KIC 3.2. Please try that version and confirm if the issue is fixed.

KIC version is 1.3.1


[tutorial] Interacting with slotted children

Cover slot-related topics from here: https://lit.dev/docs/components/shadow-dom/
Possibly add setting a class on a slotted child. For example, implementing something like a select or menu element that takes menu items as slotted children.

Hi @arthurevans , wanted to confirm is this something being worked on by you/your team, or would you mind if I took a stab at creating a tutorial for this topic?


UWV Open Match data

This PR:

Updates:

register_zip_csv so it:

Can be mapped on multiple urls, each containing a zip file
Can process an arbitrarily deep folder structure in the zip file, without maintaing that structure (flattens all csvs to one list).
Ends with files on GCS, where previously also created the BQ dataset.
Takes enconding as a parameter, and hands it over to pyarrow.csv.ReadOptions

tasks module, accordingly.

Adds:

run_uwv:

Uploading all UWV Open Match data from from overheid.nl to GCS, and linking in BQ.

ckan module - a starting point to aggregate different functions interacting with the CKAN api.

Next steps:

Decide (and implement) how to handle the existence of text files along side the csv files in the UWV Open Match Data:

Option 1: Create a zip_txt(/zip_fwf) flow, and add it to the run_uwv using the same URLs. PRO: simplest. CON: Not really DRY, as a large part will look exactly the same as zip_csv.
Option 2: Enhance the current zip_csv flow to handle different types of files differently. PRO: DRY. CON: More complicated to implement, might be too much work for a situation I am not sure that happens a lot.
Option 3: Separate the unzipping and conversion to parquet into separate flows. PRO: DRY and relatively simple to build. CON: Feels like it breaks the idea of a flow into too small a slice - finishing the flow with files "halfway through" on a local machine - not ideal when thinking of scaling and parallelism.

Known issues:

To separate something_to_gcs and gcs_to_bq, run_uwv uses a prefect's concept of flow-of-flows. This works by only scheduling the next flow after the upstream flow concluded successfully. There are 2 issues with this approach:

Since the dependency is about the scheduling of the 2nd flow, the process running the run_flow should be kept awake until the 1st flow finishes. Considering we envision running the run_flows locally and quickly, this does not fit the bill. Have not found a good solution yet.
If the first flow is not successful, we might still want to run the second flow - to be considered.

The zip_csv flow cannot handle different datasets at once (as 1 dataset -> 1 GCS folder) - this should be done by running multiple flows with different parameters.

Lgtm. Regarding your options, option 3 sounds best to me. Don't understand why that breaks the idea of a flow. My thought is that you would branch within a flow, one branch processing the fetched zip's to parquet, the other one with csv

@dkapitan
Updated the code to Implement a switch logic inside the flow to handle csv or txt files differently (tasks.csv_to_parquet or tasks.fwf_to_json). It's not ideal, but works for now, until we run into some new use cases.
Currently, I renamed the flow from zip_csv to zip_file, and it:

Downloads a zip file from a url.
Unzips it, maintaining the folder structure.
Checks all files, an handles:
3.1. csv files -> converts to parquet
3.2. txt files -> assumes they are fwf files, and converts to ndjson (this is my least favourite part)
Uploads to a specific GCS folder, maintaining the same folder structure within it.

In run_uwv, that flow is launched, and after it is finished, gcs_folder_to_bq_flow is launched, creating the dataset and external tables. This flow was also updated (all the way down through tasks.gcs_folder_to_bq and utils.create_linked_tables), to be able to differentiate parquet files from json files, as they require a different configuration. For the json files, using Google's autodetection works great, and solved the type inference issues. They do not offer that for parquet files, however and I'm looking into that - currently it looks the easiest way is to go through pandas - but I'll leave that for a new issue/branch.


switch to using digitalmarketplace-govuk-frontend for breadcrumbs, standardize trailing breadcrumb element

https://trello.com/c/vcjVUo8x
In places where we didn't previously have a trailing breadcrumb element representing the current page I added one, mostly with the exact heading of the page but in some places using a bit of artistic license to make it a bit simpler (see user research mailing list page).

Now changed to "User research mailing list preferences"

@aliuk2012 @risicle Hey Al, I think it makes sense to keep it as is for now. What page does the current breadcrumb 'Reset password' clash with?

@aliuk2012 what shall I do with this? I'd like to get on with the rest of the changes and this is a bit of a blocker...


Component Refactor and Reorganization

Pull Request: Component Refactor and Reorganization
This pull request includes several improvements and fixes:
Barrel Files Creation:

Created barrel files for the following components: accordion, button, card, form, input, and tab.

Typo Fix:

Corrected a typo in a component name.

Import Refactoring and Naming Fixes:

Refactored imports and fixed accordion naming in the following pages:

astroPage
angularPage
nextPage
reactPage
sveltePage
vuePage

Component Reorganization:

Reorganized components into a layout directory.
Updated component imports to reflect the new layout structure.
Renamed astroComponents to shared.

These changes aim to improve code organization, readability, and maintainability.

PR Review Comments
✨ Changes Overview
Converting import paths from relative to absolute throughout the codebase.
👍 Positive Aspects

Improves code maintainability by standardizing import paths
Makes file relocations easier with path aliasing
Reduces complexity of nested relative paths

💡 Recommendations

Consider adding path alias documentation in README
Add tsconfig/jsconfig path resolution examples:

// tsconfig.json/jsconfig.json
{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    }
  }
}

🌟 Why Absolute Paths Are Better
Using absolute paths instead of relative paths provides several key benefits:
🧭 Simplifies Navigation
Absolute paths eliminate the need for multiple ../../ segments, making it easier to understand and follow imports.
🚚 Eases File Relocation
With absolute paths, moving files around the project doesn’t require updating all relative imports. This reduces the risk of breaking functionality during refactoring.
🔗 Improves Consistency
Standardizing imports with absolute paths ensures consistent and predictable code structure across the codebase, aiding collaboration.
💻 Enhances IDE Support
Many modern IDEs and code editors provide better autocompletion, error detection, and navigation for absolute paths configured with path aliases.
Example:


WIP: Parallel node testing, no merge

Signed-off-by: Sophia Guo<EMAIL_ADDRESS>

Parallel: do work distributed across nodes
https://ci.adoptopenjdk.net/view/OpenJDK tests/job/test_x86-64_linux_experimental/5/

Done.