timeout breaks FIFOQueue

Ubuntu 14.04.5 LTS
0.10.0rc0
Using timeout with notebooks is very useful in case you dequeue an empty queue or enqueue a full one. The problem is that after a timeout occurs a enqueue or dequeueop  throws an error
import tensorflow as tf
with tf.device("/cpu:0"):
    ph = tf.placeholder(tf.float32)
    q = tf.FIFOQueue(2, tf.float32)
    enq = q.enqueue(ph)
    deq = q.dequeue()
    timeout_option = tf.RunOptions(timeout_in_ms=1000)
sess = tf.Session()
sess.run(deq, options=timeout_option)

here i get the usual timeout error. The problem is that when I then run
sess.run(enq, feed_dict={ph:2}, options=timeout_option)
i get the error:
---------------------------------------------------------------------------
CancelledError                            Traceback (most recent call last)
<ipython-input-24-9067a9d62797> in <module>()
----> 1 sess.run(Q, options=timeout_option)

/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in run(self, fetches, feed_dict, options, run_metadata)
    715     try:
    716       result = self._run(None, fetches, feed_dict, options_ptr,
--> 717                          run_metadata_ptr)
    718       if run_metadata:
    719         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)

/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _run(self, handle, fetches, feed_dict, options, run_metadata)
    913     if final_fetches or final_targets:
    914       results = self._do_run(handle, final_targets, final_fetches,
--> 915                              feed_dict_string, options, run_metadata)
    916     else:
    917       results = []

/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)
    963     if handle is None:
    964       return self._do_call(_run_fn, self._session, feed_dict, fetch_list,
--> 965                            target_list, options, run_metadata)
    966     else:
    967       return self._do_call(_prun_fn, self._session, handle, feed_dict,

/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _do_call(self, fn, *args)
    983         except KeyError:
    984           pass
--> 985       raise type(e)(node_def, op, message)
    986
    987   def _extend_graph(self):

CancelledError: Dequeue operation was cancelled
	 [[Node: fifo_queue_Dequeue = QueueDequeue[_class=["loc:@fifo_queue"], component_types=[DT_FLOAT, DT_INT64, DT_FLOAT], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](fifo_queue)]]
	 [[Node: PlaceholderWithDefault/_25 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/gpu:0", send_device="/job:localhost/replica:0/task:0/cpu:0", send_device_incarnation=1, tensor_name="edge_14_PlaceholderWithDefault", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"]()]]
Caused by op u'fifo_queue_Dequeue', defined at:
  File "<string>", line 1, in <module>
  File "/home/cgel/.local/lib/python2.7/site-packages/IPython/kernel/zmq/kernelapp.py", line 469, in main
    app.start()
  File "/home/cgel/.local/lib/python2.7/site-packages/IPython/kernel/zmq/kernelapp.py", line 459, in start
    ioloop.IOLoop.instance().start()
  File "/usr/lib/python2.7/dist-packages/zmq/eventloop/ioloop.py", line 160, in start
    super(ZMQIOLoop, self).start()
  File "/home/cgel/.local/lib/python2.7/site-packages/tornado/ioloop.py", line 883, in start
    handler_func(fd_obj, events)
  File "/home/cgel/.local/lib/python2.7/site-packages/tornado/stack_context.py", line 275, in null_wrapper
    return fn(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 433, in _handle_events
    self._handle_recv()
  File "/usr/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 465, in _handle_recv
    self._run_callback(callback, msg)
  File "/usr/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 407, in _run_callback
    callback(*args, **kwargs)
  File "/home/cgel/.local/lib/python2.7/site-packages/tornado/stack_context.py", line 275, in null_wrapper
    return fn(*args, **kwargs)
  File "/home/cgel/.local/lib/python2.7/site-packages/IPython/kernel/zmq/ipkernel.py", line 281, in dispatcher
    return self.dispatch_shell(stream, msg)
  File "/home/cgel/.local/lib/python2.7/site-packages/IPython/kernel/zmq/ipkernel.py", line 245, in dispatch_shell
    handler(stream, idents, msg)
  File "/home/cgel/.local/lib/python2.7/site-packages/IPython/kernel/zmq/ipkernel.py", line 389, in execute_request
    shell.run_cell(code, store_history=store_history, silent=silent)
  File "/home/cgel/.local/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2741, in run_cell
    interactivity=interactivity, compiler=compiler)
  File "/home/cgel/.local/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2827, in run_ast_nodes
    if self.run_code(code):
  File "/home/cgel/.local/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2883, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-1-73bf93787995>", line 76, in <module>
    input_state, action, Y = q.dequeue()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/data_flow_ops.py", line 418, in dequeue
    self._queue_ref, self._dtypes, name=name)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_data_flow_ops.py", line 863, in _queue_dequeue
    timeout_ms=timeout_ms, name=name)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 747, in apply_op
    op_def=op_def)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2372, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1298, in __init__
    self._traceback = _extract_stack()

I tried from a recent version and it doesn't happen there. Do you want to upgrade?

I can also reproduce this on 0.11rc0
If dequeue on empty queue is cancelled because of DeadlineExceededError,
the queue becomes unusable -- it's no longer possible to enqueue anything
onto the queue.
On Fri, Oct 21, 2016 at 6:48 AM, cgel<EMAIL_ADDRESS>wrote:

Ubuntu 14.04.5 LTS
0.10.0rc0
Using timeout with notebooks is very useful in case you dequeue an empty
queue or enqueue a full one. The problem is that after a timeout occurs a
enqueue or dequeueop throws an error
import tensorflow as tf
with tf.device("/cpu:0"):
ph = tf.placeholder(tf.float32)
q = tf.FIFOQueue(2, tf.float32)
enq = q.enqueue(ph)
deq = q.dequeue()
timeout_option = tf.RunOptions(timeout_in_ms=1000)
sess = tf.Session()
sess.run(deq, options=timeout_option)
here i get the usual timeout error. The problem is that when I then run
sess.run(enq, feed_dict={ph:2}, options=timeout_option)
i get the error:

CancelledError                            Traceback (most recent call last)
 in ()
----> 1 sess.run(Q, options=timeout_option)
/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in run(self, fetches, feed_dict, options, run_metadata)
715     try:
716       result = self._run(None, fetches, feed_dict, options_ptr,
--> 717                          run_metadata_ptr)
718       if run_metadata:
719         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)
/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _run(self, handle, fetches, feed_dict, options, run_metadata)
913     if final_fetches or final_targets:
914       results = self._do_run(handle, final_targets, final_fetches,
--> 915                              feed_dict_string, options, run_metadata)
916     else:
917       results = []
/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)
963     if handle is None:
964       return self._do_call(_run_fn, self._session, feed_dict, fetch_list,
--> 965                            target_list, options, run_metadata)
966     else:
967       return self._do_call(_prun_fn, self._session, handle, feed_dict,
/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.pyc in _do_call(self, fn, *args)
983         except KeyError:
984           pass
--> 985       raise type(e)(node_def, op, message)
986
987   def _extend_graph(self):
CancelledError: Dequeue operation was cancelled
[[Node: fifo_queue_Dequeue = QueueDequeue_class=["loc:@fifo_queue"], component_types=[DT_FLOAT, DT_INT64, DT_FLOAT], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"]]
[[Node: PlaceholderWithDefault/_25 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/gpu:0", send_device="/job:localhost/replica:0/task:0/cpu:0", send_device_incarnation=1, tensor_name="edge_14_PlaceholderWithDefault", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"]]
Caused by op u'fifo_queue_Dequeue', defined at:
File "", line 1, in
File "/home/cgel/.local/lib/python2.7/site-packages/IPython/kernel/zmq/kernelapp.py", line 469, in main
app.start()
File "/home/cgel/.local/lib/python2.7/site-packages/IPython/kernel/zmq/kernelapp.py", line 459, in start
ioloop.IOLoop.instance().start()
File "/usr/lib/python2.7/dist-packages/zmq/eventloop/ioloop.py", line 160, in start
super(ZMQIOLoop, self).start()
File "/home/cgel/.local/lib/python2.7/site-packages/tornado/ioloop.py", line 883, in start
handler_func(fd_obj, events)
File "/home/cgel/.local/lib/python2.7/site-packages/tornado/stack_context.py", line 275, in null_wrapper
return fn(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 433, in _handle_events
self._handle_recv()
File "/usr/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 465, in _handle_recv
self._run_callback(callback, msg)
File "/usr/lib/python2.7/dist-packages/zmq/eventloop/zmqstream.py", line 407, in _run_callback
callback(*args, **kwargs)
File "/home/cgel/.local/lib/python2.7/site-packages/tornado/stack_context.py", line 275, in null_wrapper
return fn(*args, **kwargs)
File "/home/cgel/.local/lib/python2.7/site-packages/IPython/kernel/zmq/ipkernel.py", line 281, in dispatcher
return self.dispatch_shell(stream, msg)
File "/home/cgel/.local/lib/python2.7/site-packages/IPython/kernel/zmq/ipkernel.py", line 245, in dispatch_shell
handler(stream, idents, msg)
File "/home/cgel/.local/lib/python2.7/site-packages/IPython/kernel/zmq/ipkernel.py", line 389, in execute_request
shell.run_cell(code, store_history=store_history, silent=silent)
File "/home/cgel/.local/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2741, in run_cell
interactivity=interactivity, compiler=compiler)
File "/home/cgel/.local/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2827, in run_ast_nodes
if self.run_code(code):
File "/home/cgel/.local/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2883, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 76, in
input_state, action, Y = q.dequeue()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/data_flow_ops.py", line 418, in dequeue
self._queue_ref, self._dtypes, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_data_flow_ops.py", line 863, in _queue_dequeue
timeout_ms=timeout_ms, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 747, in apply_op
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2372, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1298, in init
self._traceback = _extract_stack()
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/5115, or mute the thread
https://github.com/notifications/unsubscribe-auth/AABaHEAbq2SwT4ovuH_LMYQUf622LxEqks5q2MLEgaJpZM4KdPpU
.

@gunan there seems to be a enqueue/dequeue issue in 0.11, that does not appear in HEAD. A candidate for cherry-picking?

Same behavior in 11rc1. To clarify, the problem happens if you call enqueue
after previous dequeue operation timed out:
conda create -n tf11rc1-cpu python=3.5
source activate tf11rc1-cpu
export TF_BINARY_URL=
https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.11.0rc1-py3-none-any.whl
pip install --upgrade $TF_BINARY_URL
export CUDA_VISIBLE_DEVICES=
python
import tensorflow as tf
print(tf.version)
q = tf.FIFOQueue(2, tf.float32)
enq = q.enqueue(1.)
deq = q.dequeue()
timeout_option = tf.RunOptions(timeout_in_ms=1000)
sess = tf.Session()
print(sess.run(enq))  # works
print(sess.run(deq))  # works
print(sess.run(deq, options=timeout_option)) # times out
print(sess.run(enq))  # doesn't work

(tf11rc1-cpu) bash-3.2$ export CUDA_VISIBLE_DEVICES=
(tf11rc1-cpu) bash-3.2$ python
Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul  2 2016, 17:52:12)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

import tensorflow as tf
print(tf.version)
0.11.0rc1
q = tf.FIFOQueue(2, tf.float32)
enq = q.enqueue(1.)
deq = q.dequeue()
timeout_option = tf.RunOptions(timeout_in_ms=1000)
sess = tf.Session()
print(sess.run(enq))
None
print(sess.run(deq))  # works
1.0
print(sess.run(deq, options=timeout_option)) # times out
W tensorflow/core/kernels/queue_base.cc:302] _0_fifo_queue: Skipping
cancelled dequeue attempt with queue not closed
Traceback (most recent call last):
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 972, in _do_call
return fn(*args)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 954, in _run_fn
status, run_metadata)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/contextlib.py",
line 66, in exit
next(self.gen)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/framework/errors.py",
line 463, in raise_exception_on_not_ok_status
pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors.DeadlineExceededError: Timed out waiting
for notification

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 717, in run
run_metadata_ptr)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 915, in _run
feed_dict_string, options, run_metadata)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 965, in _do_run
target_list, options, run_metadata)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 985, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors.DeadlineExceededError: Timed out waiting
for notification

print(sess.run(enq))  # doesn't work
Traceback (most recent call last):
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 972, in _do_call
return fn(*args)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 954, in _run_fn
status, run_metadata)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/contextlib.py",
line 66, in exit
next(self.gen)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/framework/errors.py",
line 463, in raise_exception_on_not_ok_status
pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors.CancelledError: Enqueue operation was
cancelled
[[Node: fifo_queue_enqueue = QueueEnqueue[Tcomponents=[DT_FLOAT],
_class=["loc:@fifo_queue"], timeout_ms=-1,
_device="/job:localhost/replica:0/task:0/cpu:0"](fifo_queue,
fifo_queue_enqueue/component_0)]]

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 717, in run
run_metadata_ptr)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 915, in _run
feed_dict_string, options, run_metadata)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 965, in _do_run
target_list, options, run_metadata)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 985, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors.CancelledError: Enqueue operation was
cancelled
[[Node: fifo_queue_enqueue = QueueEnqueue[Tcomponents=[DT_FLOAT],
_class=["loc:@fifo_queue"], timeout_ms=-1,
_device="/job:localhost/replica:0/task:0/cpu:0"](fifo_queue,
fifo_queue_enqueue/component_0)]]
Caused by op 'fifo_queue_enqueue', defined at:
File "", line 1, in
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/ops/data_flow_ops.py",
line 329, in enqueue
return gen_data_flow_ops._queue_enqueue(self._queue_ref, vals,
name=scope)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/ops/gen_data_flow_ops.py",
line 982, in _queue_enqueue
name=name)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py",
line 756, in apply_op
op_def=op_def)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/framework/ops.py",
line 2380, in create_op
original_op=self._default_original_op, op_def=op_def)
File
"/Users/yaroslav/anaconda/envs/tf11rc1-cpu/lib/python3.5/site-packages/tensorflow/python/framework/ops.py",
line 1298, in init
self._traceback = _extract_stack()
CancelledError (see above for traceback): Enqueue operation was cancelled
[[Node: fifo_queue_enqueue = QueueEnqueue[Tcomponents=[DT_FLOAT],
_class=["loc:@fifo_queue"], timeout_ms=-1,
_device="/job:localhost/replica:0/task:0/cpu:0"](fifo_queue,
fifo_queue_enqueue/component_0)]]

On Mon, Oct 24, 2016 at 3:36 PM, drpngx<EMAIL_ADDRESS>wrote:

I tried from a recent version and it doesn't happen there. Do you want to
upgrade?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/5115#issuecomment-255885879,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABaHIyD8MLoO3AHyWZdJooYn2zy_hphks5q3TL4gaJpZM4KdPpU
.

sure, if we have a fix let's go ahead and cherrypick that into 0.11

I didn't test after timeout, let me see.

Yeah, also broken at HEAD.

Right. The dequeue has a closure which calls Cancel, but that is ignored, because the queue is not closed_.
W1025 18:29:29.356150   47689 queue_base.cc:303] _0_fifo_queue: Skipping cancelled dequeue attempt with queue not closed

@ebrevdo any clue?

Looks like this is the code responsible:
      // TODO(sherrym): This cancels all steps in the session, even ones that
      // have not exceeded their deadline. An alternative would be to use a
      // two-level cancellation manager with a Session-global one containing
      // several step-local ones. Probably the RunState should have its own
      // CancellationManager.
      cancellation_manager_->StartCancel();

Do we have a fix for this? We are still accepting cherry-picks for the RC until EOD today.

I have some time to look at this now, so I'll attempt a quick fix.


Connecting to local emulator giving error

Unable to retrieve child resources.
Details:
{
"name": "TypeError",
"message": "Cannot read properties of undefined (reading 'version')",
"stack": "TypeError: Cannot read properties of undefined (reading 'version')\n    at connectionIsV1 (C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\out\app\renderer\common\CustomConnections\IConnectionInfo.js:8:24)\n    at C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\out\app\renderer\common\CustomConnections\CustomConnectionStore.js:235:74\n    at Array.filter ()\n    at #sendTelemetry (C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\out\app\renderer\common\CustomConnections\CustomConnectionStore.js:235:14)\n    at async CustomConnectionStore.getCustomConnectionStore (C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\out\app\renderer\common\CustomConnections\CustomConnectionStore.js:44:9)\n    at async PersistentStorage.CustomConnections.getCustomConnections (C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\out\app\renderer\providers\CustomConnectionsProvider.js:10:39)\n    at async Provider.executeOperation (C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\out\app\providers\Provider.js:28:16)\n    at async ElectronRendererHostProxy._handleExecuteRequest (C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\out\app\renderer\ElectronRendererHostProxy.js:213:35)\n    at async ElectronRendererHostProxy._handleMessage (C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\out\app\renderer\ElectronRendererHostProxy.js:156:24)"
}

Uninstalled and installed the latest version it works now. Also found Microsoft Azure Storage Explorer  which is related to this issue


[bugfix] Prevent Automatic Topic Creation during namespace deletion

Motivation
During the deletion of a namespace we don't want that autoTopicCreation triggers the creation of topics.
This is related to #17308 but it deals only with Namespace and Tenant deletion.
Modifications
Consider "Policies.deleted" while deciding if autoTopicCreation is available or not
Verifying this change
I will add tests
Documentation

[ ] doc-required
(Your PR needs to update docs and you will update later)

[x] doc-not-needed
(Please explain why)

[ ] doc
(Your PR contains doc changes)

[ ] doc-complete
(Docs have been already added)

@poorbarcode @dlg99 PTAL

@poorbarcode unfortunately my test case doesn't cover well the change, because basically the automatic topic creation is prevented earlier, because we have the check about policies.deleted in PulsarWebResources.checkLocalOrGetPeerReplicationCluster()
do you have some suggestions ?

When the namespace deletion instruction is not processed by the current broker, may succeed in creating the topic because the meta data has a brief cache.

This is a good point, but I would defer it to the most bigger issue of cache consistency

@poorbarcode I added another test that demonstrates that this patch is covering one edge case that you mentioned.
We must prevent auto topic creation not only during lookup but also while creating a consumer or a producer.
The new test covers this change now


Editor :: available layer slots

Users can't see how many layers they can still create while in editor and using raster analysis tools

Added code that tracks the number of available layer slots while in editor


[dx11] Support FL10 and expose a beginning set of support flags

Makes progress towards https://github.com/gfx-rs/wgpu/issues/1244.
I'm not terribly happy with the downlevel feature flags as they are, but I hope to improve them/make them more concrete in a future PR, so I'm not worried about that too much.
Diff isn't very pretty as I didn't split things up.

Alright, I have touched up the various issues, as well as improved the d3d11 limits a bit. As mentioned on the matrix, I think we should use D3D's concept of shader models as they are very well defined and we can easily map other versioning schemes onto them. I have also de-backend'd the other flags. I haven't included a description of shader what shader modules support but will include a better description once this bubbles up to wgpu.

Alright, comments should be addressed, assuming the compile gods are nice to me. You should briefly re-review as some logic changed.


Add party snippet and allow a councillor to have zero or one party

party has a name and logo

See https://github.com/OpenUpSA/muni-portal-frontend/issues/16
expose on the councillor page API

https://trello.com/c/a5J19r5j/105-as-a-user-i-would-like-to-contact-political-and-admin-reps-so-i-can-escalate-an-issue-2-d-jd-2d-matt-1-d-ad


Text splitting doesn't work with tiny documents

When an indexed document has less than 1000 characters, the text splitter will not yield any pages and nothing is sent to the search service.
https://github.com/Azure-Samples/azure-search-openai-demo-java/blob/166ffda8f86e67830292724f4bf2322e26d9cb8f/app/indexer/core/src/main/java/com/microsoft/openai/samples/indexer/parser/TextSplitter.java#L59
This is the fix for the Python sample from which this function was based on https://github.com/Azure-Samples/azure-search-openai-demo/commit/e835da37aead8add52d210a7593663ce3c928229

@tonybaloney  I've tried with a pdf containing 754 characters and it worked. Can you share the pdf document you have used?

Submitted a failing test to repro this in #81  and I'll add a patch as well. I don't think the tests are being run as part of the GitHub actions for PRs?

@tonybaloney I've figured out the problem: it happens for documents with less then 100 characters (due to the overlap parameter). I've reviewed your PR and merged.

Thanks! I couldn't figure out in the PR how to get the tests to run from the CI workflow. Please can you take a look. I can run them locally


rename test files in accodance with golang's naming rule

This pull request fixes the issue https://github.com/songgao/water/issues/4.

Thanks!


Convert site from Jekyll to Hugo

We're now using Hugo to generate the site 🎉
More details on the change:

Index files are now _index.md instead of index.md.
All markdown content files live under the /content directory, so /aws, /quickstart, /reference, /shortlinks, and /tour all now live under /content.

With the Jekyll site, we were generating our Node.js API docs under /reference/pkg/nodejs/@pulumi/*. We could continue to do that with Hugo (though, within the /content parent folder), but when generating the site, Hugo elides the @ character from @pulumi, so the generated URLs would be /reference/pkg/nodejs/pulumi/*. To avoid any confusion over the difference between having @pulumi as the source and pulumi as the generated folder, I’ve renamed @pulumi in the source to pulumi. All existing packages currently published under @pulumi get an alias that redirects to the new location under pulumi.

Files under /_sass  are now under /assets/sass. We use Hugo Pipes to process and minify the SASS to CSS.
Files in /_includes and /_layouts are now under /layouts

Partial layouts are under /layouts/partials. These are included in other layouts. For example, we have head.html, header.html, and footer.html, etc. partials that we include in the default /layouts/_default/baseof.html layout.
Shortcodes are under /layouts/shortcodes. These are things that can be included in markdown files. Hugo has some built-in shortcodes that we use (such as relref for links), but also supports custom shortcodes, and we have a bunch of custom shortcodes. For example, we have a langchoose.html shortcode that we include in some of our markdown files via {{< langchoose >}}.

Static files are in  the /static folder. So files that should be in the root (e.g. https://pulumi.io/latest-version) live in the /static folder. As do other static files like:  /static/js,  /static/images, and /static/fonts.

Note: We’re not currently bundling/minifying our JavaScript code, but this is something we should consider as part of moving to pulumi.com. The www site uses grunt to do some processing, so we could leverage that (although, it’d be nice to move to webpack, and also use TypeScript).

We use Hugo’s built-in relref shortcode when linking to pages. This way, we don’t have to link to what we think the generated URL will be; we can just link to the markdown page we want, and Hugo will take care of translating it to a relative URL. If Hugo can’t find the page, it will error, so it provides some nice verification of links.
I’ve recreated the TOC for each section to match the existing Jekyll site using Hugo Menus.  These are mostly defined in each page’s front matter. However, for now, the menus for the CLI commands and API reference are specified in the config.toml file. I did this for expedience, but we should be able to move these into the generated page’s front matter so they don’t have to be specified explicitly in the config.toml at all.
Many of our markdown files contain HTML. Any markdown content specified within HTML tags is not usually rendered in Markdown. With Jekyll, there was a way to workaround this, by including a markdown="1" in the surrounding HTML tag. Hugo’s markdown renderer doesn’t support markdown="1", but we can workaround it by using a custom shortcode that I added. Any markdown inside HTML tags that you want rendered as markdown, just wrap in {{% md %}} and {{% /md %}}.
We’re now using pretty URLs. I’ve set up aliases for all the old ugly foo.html style URLs, so old links should continue to work (redirecting to the new URL). Unfortunately, all the aliases adds to the build time, so it's now closer to 9 seconds (still a huge improvement over Jekyll!)

When we move the content to pulumi.com, we can leverage S3 (or Cloudfront) redirects (that do real 301 redirects) and get rid of all these aliases.

Unfortunately, it looks like there are a lot of files that git thinks are Added + Deleted instead of Moved. For these, I didn't make any substantial changes to the content, only minor tweaks such as to front matter and updating links to use the {{< relref "page.md" >}} shortcode.

Unfortunately, it looks like there are a lot of files that git thinks are Added + Deleted instead of Moved.

Let me rework the history a bit to maintain the renames.


Runtime tests: Fix a crash in the test framework

I'm not familiar with Python or @staticmethod, but this seems to fix the crash on my machine.
to_utf8() is called when a test fails, but Python was not happy with this being a @staticmethod
Before:
    [  FAILED  ] call.printf_argument
            Command: /home/ajor/src/bpftrace/build/src/bpftrace  -e 'i:ms:1 { printf("value: %dms100\n", 100); exit();}'
            Expected REGEX: value: 100ms101
    Traceback (most recent call last):
      File "runtime/engine/main.py", line 89, in <module>
        main(args.test_filter or TEST_FILTER, args.run_aot_tests)
      File "runtime/engine/main.py", line 49, in main
        status = Runner.run_test(test)
      File "/home/ajor/src/bpftrace/build/tests/runtime/engine/runner.py", line 446, in run_test
        print('\tFound:\n' + to_utf8(output))
    TypeError: 'staticmethod' object is not callable

After:
    [  FAILED  ] call.printf_argument
            Command: /home/ajor/src/bpftrace/build/src/bpftrace  -e 'i:ms:1 { printf("value: %dms100\n", 100); exit();}'
            Expected REGEX: value: 100ms101
            Found:
    Attaching 1 probe...\n__BPFTRACE_NOTIFY_PROBES_ATTACHED\nvalue: 100ms100\n\n\n

This can be triggered by messing with the expected results of a test so that it fails, e.g.:
    --- a/tests/runtime/call
    +++ b/tests/runtime/call
    @@ -10,7 +10,7 @@ TIMEOUT 5

     NAME printf_argument
     PROG i:ms:1 { printf("value: %dms100\n", 100); exit();}
    -EXPECT value: 100ms100
    +EXPECT value: 100ms101
     TIMEOUT 5

Ugh, this was just bothering me the other day. Thanks for fixing this. That method definitely doesn't need to be static.


MicroAgent should check for required library before generating code

Description:
MicroAgent currently generates and attempts to execute code without verifying if the necessary libraries (e.g., @testing-library/user-event) are installed. This can result in errors when executing the code if the library is missing.
To improve the user experience, MicroAgent should:
Check if the required library (such as @testing-library/user-event) is installed before generating any code that depends on it.
If the library is not installed, prompt the user to install the required package.
Only proceed with code generation and execution once the necessary library is confirmed to be installed.
Example:
If a user asks MicroAgent to generate code using @testing-library/user-event, the agent should first check if the library is installed. If not, MicroAgent could respond with something like:
"It looks like @testing-library/user-event is not installed. Please install it by running npm install @testing-library/user-event and try again."
MicroAgent should only generate and run the code after the user confirms that the library is installed.
Additional Context:
This feature will help avoid unnecessary errors caused by missing libraries and improve overall reliability when using MicroAgent to generate code.

Great one! I've been stuck for hours with an error involving testing dependencies installation for a Vue app and it is not able to reach convergence until the library is manually installed, leading to reduced efficiency and developer headache.


Inconsistent Robot State Fetching with MoveIt (Failed to fetch current robot state)

Description
I'm experiencing inconsistent behavior when attempting to fetch the current robot state using MoveIt in ROS2 Humble on Ubuntu 22.04. Specifically, the robot state fetching succeeded in the main function but failed with timestamp errors when called in a service class in the same program, despite the received time being valid (within the 1-second window).
Your environment

ROS Distro: Humble
OS Version: Ubuntu 22.04 in Docker
Moveit2 build from source
commit tag: faf42b0

Issue Details
I have a class RobotMover that uses MoveIt's move_group_interface_.getCurrentPose().pose to print the current robot pose (sourcecpp file is provided below). I'm calling the printCurrentPose() method in three distinct contexts in the same program:

Immediately after node startup ("Public context"): Called inside the constructor of a RobotMoverService class, just after setting up the service.
Within the main function ("Main context"): Called directly in the main function after creating the RobotMover and RobotMoverService instances.
Inside the service callback ("Private context"): Called when the service is invoked via ros2 service call.

Each call yields different results, with two of the three calls failing to fetch the current robot state.

Public Context (Failed, and the received time is 0.000):

[INFO] [1725486364.690316869] [robot_control]: About to call printCurrentPose in Public
[INFO] [1725486364.691598526] [moveit_ros.current_state_monitor]: Listening to joint states on topic 'joint_states'
[INFO] [1725486365.691687685] [moveit_ros.current_state_monitor]: Didn't receive robot state (joint angles) with recent timestamp within 1.000000 seconds. Requested time<PHONE_NUMBER>.691609, but latest received state has time 0.000000.
Check clock synchronization if your are running ROS across multiple machines!
[ERROR] [1725486365.691733302] [move_group_interface]: Failed to fetch current robot state
Current Pose:
Position: (0, 0, 0)
Orientation: (0, 0, 0, 1)

Main Context (direct call from main, successful):

[INFO] [1725486365.691829284] [robot_control]: About to call printCurrentPose in Main
[WARN] [1725486365.692188894] [moveit_ros.current_state_monitor]: Unable to update multi-DOF joint 'virtual_joint':Failure to lookup transform between 'world'and 'panda_link0' with TF exception: "world" passed to lookupTransform argument target_frame does not exist.
Current Pose:
Position: (0.30702, -5.22133e-12, 0.59027)
Orientation: (0.923956, -0.382499, 1.32493e-12, 3.20041e-12)

Private Context (service callback, failed but the received time seems correct):

[INFO] [1725486460.998312142] [robot_control]: Service Callback: About to call printCurrentPose in Private
[INFO] [1725486461.998413735] [moveit_ros.current_state_monitor]: Didn't receive robot state (joint angles) with recent timestamp within 1.000000 seconds. Requested time<PHONE_NUMBER>.998349, but latest received state has time<PHONE_NUMBER>.997929.
Check clock synchronization if your are running ROS across multiple machines!
[ERROR] [1725486461.998462017] [move_group_interface]: Failed to fetch current robot state
Current Pose:
Position: (0, 0, 0)
Orientation: (0, 0, 0, 1)

The third one is most confusing to me, it said it didn't receive the robot state within 1 second, but the requested time and received time difference is obviously less than 1 sec.
I have checked existing issues and find some might be relevant, https://github.com/moveit/moveit2/issues/775, https://github.com/moveit/moveit2_tutorials/issues/587, https://github.com/moveit/moveit2/issues/496, the most relevant one is this issue https://github.com/moveit/moveit2/issues/1399, as the author mentioned:

The problem also only occurs when I call getCurrentState() in my service function, in main it works without problems

Question:
Does anyone know how to resolve this issue, or am I doing something wrong in my implementation?
Thanks in advance!
Steps to reproduce

clone the repo to ~/humble_ws/src/ and build the image

mkdir -p ~/humble_ws/src
cd ~/humble_ws/src
git clone https://github.com/OneOneLiu/test_joint_state_fetch.git
cd test_joint_state_fetch/docker
bash build.bash
bash start_container.bash

Launch moveit2_tutorial/demo.launch in the container

ros2 launch moveit2_tutorials demo.launch.py

In a new terminal, run the test node

ros2 run test_joint_state_fetch test_joint_state

In a new terminal, call the /print_current_poseservice

ros2 service call /print_current_pose test_joint_state_fetch/srv/PrintPose

Expected behaviour
All the three calls can fetch and print the current robot states.
Console output
root@sn4622111301:/# ros2 run test_joint_state_fetch test_joint_state
[INFO] [1725486364.674011145] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 1.02956 seconds
[INFO] [1725486364.674071720] [moveit_robot_model.robot_model]: Loading robot model 'panda'...
[WARN] [1725486364.681500165] [moveit_ros.robot_model_loader]: No kinematics plugins defined. Fill and load kinematics.yaml!
[INFO] [1725486364.689950876] [move_group_interface]: Ready to take commands for planning group panda_arm.
[INFO] [1725486364.690316869] [robot_control]: About to call printCurrentPose in Public
[INFO] [1725486364.691598526] [moveit_ros.current_state_monitor]: Listening to joint states on topic 'joint_states'
[INFO] [1725486365.691687685] [moveit_ros.current_state_monitor]: Didn't receive robot state (joint angles) with recent timestamp within 1.000000 seconds. Requested time<PHONE_NUMBER>.691609, but latest received state has time 0.000000.
Check clock synchronization if your are running ROS across multiple machines!
[ERROR] [1725486365.691733302] [move_group_interface]: Failed to fetch current robot state
Current Pose:
Position: (0, 0, 0)
Orientation: (0, 0, 0, 1)
[INFO] [1725486365.691829284] [robot_control]: About to call printCurrentPose in Main
[WARN] [1725486365.692188894] [moveit_ros.current_state_monitor]: Unable to update multi-DOF joint 'virtual_joint':Failure to lookup transform between 'world'and 'panda_link0' with TF exception: "world" passed to lookupTransform argument target_frame does not exist.
Current Pose:
Position: (0.30702, -5.22133e-12, 0.59027)
Orientation: (0.923956, -0.382499, 1.32493e-12, 3.20041e-12)
[INFO] [1725486460.998312142] [robot_control]: Service Callback: About to call printCurrentPose in Private
[INFO] [1725486461.998413735] [moveit_ros.current_state_monitor]: Didn't receive robot state (joint angles) with recent timestamp within 1.000000 seconds. Requested time<PHONE_NUMBER>.998349, but latest received state has time<PHONE_NUMBER>.997929.
Check clock synchronization if your are running ROS across multiple machines!
[ERROR] [1725486461.998462017] [move_group_interface]: Failed to fetch current robot state
Current Pose:
Position: (0, 0, 0)
Orientation: (0, 0, 0, 1)

Source file
#include <rclcpp/rclcpp.hpp>
#include "test_joint_state_fetch/srv/print_pose.hpp"  // Header file for the custom service
#include <moveit/move_group_interface/move_group_interface.h>
#include <iostream>

// Definition of the RobotMover class
class RobotMover {
public:
  RobotMover(const rclcpp::Node::SharedPtr& node)
  : move_group_interface_(node, "panda_arm"), node_(node) {
    // Intentionally left empty
  }

  void printCurrentPose() {
    auto current_pose = move_group_interface_.getCurrentPose().pose;
    std::cout << "Current Pose:" << std::endl;
    std::cout << "Position: (" << current_pose.position.x << ", "
              << current_pose.position.y << ", "
              << current_pose.position.z << ")" << std::endl;
    std::cout << "Orientation: (" << current_pose.orientation.x << ", "
              << current_pose.orientation.y << ", "
              << current_pose.orientation.z << ", "
              << current_pose.orientation.w << ")" << std::endl;
  }

private:
  moveit::planning_interface::MoveGroupInterface move_group_interface_;
  rclcpp::Node::SharedPtr node_;
};

// Definition of the RobotMoverService class
class RobotMoverService {
public:
  RobotMoverService(const rclcpp::Node::SharedPtr& node, RobotMover& robot_mover)
    : node_(node), robot_mover_(robot_mover) {
    // Create a service to print the current pose
    service_ = node_->create_service<test_joint_state_fetch::srv::PrintPose>(
      "print_current_pose", std::bind(&RobotMoverService::handlePrintRequest, this, std::placeholders::_1, std::placeholders::_2)
    );
    // Call in public context
    RCLCPP_INFO(node_->get_logger(), "About to call printCurrentPose in Public");
    robot_mover_.printCurrentPose();
  }

private:
    void handlePrintRequest(const std::shared_ptr<test_joint_state_fetch::srv::PrintPose::Request> /*request*/,
                            std::shared_ptr<test_joint_state_fetch::srv::PrintPose::Response> response) {
        // Call in service callback (private context)
        RCLCPP_INFO(node_->get_logger(), "Service Callback: About to call printCurrentPose in Private");
        robot_mover_.printCurrentPose();

        // Set response to success
        response->success = true;
    }
  rclcpp::Node::SharedPtr node_;
  rclcpp::Service<test_joint_state_fetch::srv::PrintPose>::SharedPtr service_;
  RobotMover& robot_mover_;
};

// Main function
int main(int argc, char** argv) {
  rclcpp::init(argc, argv);
  rclcpp::executors::SingleThreadedExecutor executor;
  auto node = rclcpp::Node::make_shared("robot_control");
  RobotMover robot_mover(node);
  RobotMoverService robot_mover_service(node, robot_mover);

  executor.add_node(node);
  std::thread executor_thread([&executor]() { executor.spin(); });
  // Call from main
  RCLCPP_INFO(node->get_logger(), "About to call printCurrentPose in Main");
  robot_mover.printCurrentPose();

  executor_thread.join();
  rclcpp::shutdown();
  return 0;
}

I managed to resolve the issue based on this comment. The solution involved setting up a separate executor within the class for spinning the MoveGroup interface, while keeping the main program's node running in a separate spin. This allowed me to fetch the robot's current state successfully from a service request.
However, I'm still somewhat confused about why this resolves the issue. I'll continue digging into the ROS 2 internals to better understand what's going on. In the meantime, here's the updated version of the code that works:
#include <rclcpp/rclcpp.hpp>
#include "test_joint_state_fetch/srv/print_pose.hpp"  // Header file for the custom service
#include <moveit/move_group_interface/move_group_interface.h>
#include <iostream>

// Combined RobotMover class, which includes service and pose printing functionality
class RobotMover : public rclcpp::Node {
public:
  // Constructor to initialize the node, MoveGroupInterface, and executor
  RobotMover(const rclcpp::NodeOptions &options)
  : rclcpp::Node("robot_control", options), // Initialize the node with the name "robot_control"
    node_(std::make_shared<rclcpp::Node>("move_group_interface")), // Create an additional ROS node
    move_group_interface_(node_, "panda_arm"), // Initialize MoveGroupInterface for controlling the arm
    executor_(std::make_shared<rclcpp::executors::SingleThreadedExecutor>()) // Create a single-threaded executor
  {
    // Create the service for printing the current pose
    service_ = this->create_service<test_joint_state_fetch::srv::PrintPose>(
      "print_current_pose",
      std::bind(&RobotMover::handlePrintRequest, this, std::placeholders::_1, std::placeholders::_2)
    );

    // Add the node to the executor and start the executor thread
    executor_->add_node(node_);
    executor_thread_ = std::thread([this]() {
      RCLCPP_INFO(node_->get_logger(), "Starting executor thread"); // Log message indicating the thread start
      executor_->spin(); // Run the executor to process callbacks
    });
  }

  // Function to print the current end-effector pose
  void printCurrentPose() {
    auto current_pose = move_group_interface_.getCurrentPose().pose; // Get the current pose
    std::cout << "Current Pose:" << std::endl;
    std::cout << "Position: (" << current_pose.position.x << ", "
              << current_pose.position.y << ", "
              << current_pose.position.z << ")" << std::endl;
    std::cout << "Orientation: (" << current_pose.orientation.x << ", "
              << current_pose.orientation.y << ", "
              << current_pose.orientation.z << ", "
              << current_pose.orientation.w << ")" << std::endl;
  }

private:
  // Service callback function to handle pose printing requests
  void handlePrintRequest(const std::shared_ptr<test_joint_state_fetch::srv::PrintPose::Request> /*request*/,
                          std::shared_ptr<test_joint_state_fetch::srv::PrintPose::Response> response) {
    // Print the current pose in the service callback
    RCLCPP_INFO(node_->get_logger(), "Service Callback: About to call printCurrentPose in Private");
    printCurrentPose(); // Print the robot's current pose

    // Set the response to indicate success
    response->success = true;
  }

  // Member variables
  rclcpp::Node::SharedPtr node_; // Additional ROS node pointer
  moveit::planning_interface::MoveGroupInterface move_group_interface_;  // MoveIt interface for controlling the arm
  rclcpp::Service<test_joint_state_fetch::srv::PrintPose>::SharedPtr service_;  // Service pointer for pose requests
  std::shared_ptr<rclcpp::executors::SingleThreadedExecutor> executor_;  // Single-threaded executor
  std::thread executor_thread_;  // Thread to run the executor
};

// Main function - Entry point of the program
int main(int argc, char** argv) {
  rclcpp::init(argc, argv); // Initialize ROS 2

  rclcpp::NodeOptions node_options;
  node_options.automatically_declare_parameters_from_overrides(true); // Allow automatic parameter declaration
  node_options.use_intra_process_comms(false); // Disable intra-process communication

  auto node = std::make_shared<RobotMover>(node_options); // Create the RobotMover object and start the node

  rclcpp::spin(node); // Spin the main thread to process callbacks

  rclcpp::shutdown(); // Shutdown the ROS 2 system
  return 0; // Exit the program
}

Did you ever figure out what causes this issue? I am currently having the exact same issue.

I'm still having the same issue. I launched the ur_sim_moveit.launch.py with use_sim_time:=True, and try the test_fetch test, but I'm not able to set the movegroup planning interface, and get the CurrentState() as well. Is anyone has experienced the same issue?


TIMESTAMP WITH TIMEZONE is not fully supported when using default formats

ocilib.h

in addition to
#define OCI_STRING_FORMAT_TIMESTAMP         OTEXT("YYYY-MM-DD HH24:MI:SS.FF")

we need
#define OCI_STRING_FORMAT_TIMESTAMP_WITH_TIMEZONE         OTEXT("YYYY-MM-DD HH24:MI:SS.FF TZR")

library.c
next list should be extended to support TIMESTAMP WITH TIMEZONE

static otext * FormatDefaultValues[OCI_FMT_COUNT] =

OCI_TimestampFromText() OCI_TimestampToText()  should support timezones, if those are defined

Hi,
Timezone information string formatting is independant from the timestamp type.
You can use the "TZR" token with any type of timestamp.
And you may have a timezone with timestamp and not want to print its timezone information.
But to_char() is by default adding the timezone info is the timestamp type is with time zone.
Thus for coherence and conformance reasons with SQL methods, I  make the requested change that will be included in next release
Regards,
Vincent

Issue addressed


Flatten .csv download of metadata

Right now, the metadata download in .csv format is cumbersome to use, since nested objects are embedded in a cell. ideally, each object's key will be a different column.  Also need to figure out how to deal with arrays of objects; a long list makes sense, BUT then you'd have to repeat rows, which might get confusing.
Propose categorizing this as a low priority for the moment, since it's a high level of effort v. the expected usage.

from @newgene : add parameter &dotfield=true to traverse nested objects: https://api.data.niaid.nih.gov/v1/query?dotfield=true. Won't solve array issues.

If python, pandas explode function works wonders for arrays nested in dataframes


This dashboard is using too much RAM over time

This dashboard is using too much RAM over time if you keep it open for like an hour or 2. It can use up to 4GB of RAM on my pc. Fix it please

Could you please provide some more information? It can greatly help us to investigate the root cause of this issue.

I'm not a programmer but I'll try my best.
How to reproduce the problem:

Open Metacubex Overview page on google chrome
Leave the page open and switch to browse another page
Wait like an hour or so and open the chrome's task manager, you'll see that the RAM on metacubex has gone way up.

I think it has to do with the graphs & javascript on the Overview page.

Thanks for fixing the issue, honestly this dashboard looks so much better than YACD, I hope the openclash developer replaces YACD with this one

Thank you for the kind words. Maybe someone and someday there will be a PR for openclash :)

@kunish I'm still having the same problem on the connection tab, please fix it.

The logs tab as well, the ram usage just keeps growing if you leave it open over time.


build: Cleanup of  stage1.mk

This tries to cleanup the mess in stage1 into something less messy.

LGTM.
There were some typos that were addressed OOB. Since they're only comment typos, you can wait for green, push the fixes and merge right away.


Bug: Toggle state doesn't always update when switch state does

In V2 version of UI sometimes when using automations state updates but toggle component does not reflect it (while text status always does).
Possible culprit: https://github.com/esphome/esphome-webserver/blob/d918bc1da205f6af27b985407df7de252d1c6f02/v2/esp-entity-table.ts#L120
I would fix it and submit a merge request, but I do not write in LitElements and I am not entirely sure that I understand how you manage state.
I would be very grateful for a fix.
Kind regards

After digging into the topic it seems that state gets updated but checkbox checked property in DOM does not. Simplyfying logic to have only one truth source sadly didn't help as checked has been properly set. I have no idea how Lit sets DOM properties so that is as far as I get with this. Failing line is https://github.com/esphome/esphome-webserver/blob/d918bc1da205f6af27b985407df7de252d1c6f02/v2/esp-switch.ts#L45

I noticed this as well. Not very familiar with litelement or frontend, but it does appear that simply adding a callback to reflect the checkbox when state changes should fix this. https://lit.dev/docs/v1/components/properties/#observed-attributes

Please post the yaml you are using.
Is there an easy way to reproduce the problem?

I'm in the process of creating a pr to fix this. It should be done soon.

The root cause of this is that the ui uses an optimistic state for the toggles rather than relying on state pushes from the device.

Please post the yaml you are using.
Is there an easy way to reproduce the problem?

This should be sufficient to reproduce the problem:
switch:
  - platform: gpio
    pin: GPIO17
    id: relay_2
    on_turn_on:
      then:
        - switch.turn_off: relay_3
  - platform: gpio
    pin: GPIO05
    id: relay_3
    on_turn_on:
      then:
        - switch.turn_off: relay_2
    ```

The root cause of this is that the ui uses an optimistic state for the toggles rather than relying on state pushes from the device.

I am not sure if that is the case. I inspected the state of esp-switch and it seemed ok, it just didn't reflect on checkbox checked attribute.

I am not sure if that is the case. I inspected the state of esp-switch and it seemed ok, it just didn't reflect on checkbox checked attribute.

This is what I'm seeing.

this.state reflects an "ON" state, while the table is showing an "OFF" state. This is actually another bug I believe as the optimistic nature of the switch isn't getting pushed up to the table to get rerendered.
Either way, I've added a fix that simply relies on the state pushes from the device, similar to how the HA frontend works.


Automatically generate a new name for copied folder/file if copying from the same directory

Is your feature request related to a problem?
Files always ask to generate a new name or replace existing when copying folder/file even in the same directory.
Describe the solution
If the source and target of copying is the same, just auto-generate a name for it, for example, Folder Name into Folder Name ~ Copy instead of asking whether to generate a new name or replace existing (ofc user will generate a new name if it's in the same directory cuz that's the purpose xd)
Describe alternatives you've considered
Otherwise, pop up a notification that FIles will duplicate the file/folder to the new name

Merging with #3900


Prevent ALE from linting diffs

I use Vim as my diff and merge tool for Git. When running Gdiff in a file in Vim, I get the split window with diffs displayed with no issues (linting). When I run the difftool alias for Git from the command line, it opens up a similar split, but this time index version of the file is pulling from a temp directory /private/vars/folder and ALE lints the file. It seems that because this file is outside of the repo it doesn't use the rubocop config and seems to pull from a default set of rules.
Ideally, ALE wouldn't lint files when viewed via vimdiff or Gdiff.

Do you know if there's some way to detect if a Vim buffer is a buffer being used for displaying diffs with common plugins?

Not that I can see, but I'm still looking into it.

gina.vim uses &diff
https://github.com/lambdalisue/gina.vim/blob/master/autoload/gina/util.vim#L233
fugitive seems to do the same
https://github.com/tpope/vim-fugitive/blob/master/autoload/fugitive.vim#L3433

as an extra for gina, it also uses file protocols gina://* and custom filetypes for all of its views (that I know of)

I have an autocommand in my vimrc to at least not open up the loclist for a diff.  It's probably not a perfect solution, but it might give you an idea of what to do.
   augroup ale
      autocmd VimEnter * if(&diff) | let g:ale_open_list = 0 | endif
   augroup END

git pull and try it again. ALE should now avoid checking buffers where &diff is set.


bug: SVG's SMIL animations are deprecated and will be removed. - ion-spinner directive - Chrome 45

Type: bug
Platform: all
In Chrome 45 (45.0.2454.85) there is a deprecation warning concerning ion-spinner
According to the warning:
SVG's SMIL animations (<animate>, <set>, etc.) are deprecated and will be removed.
Please use CSS animations or Web animations instead.

This deprecation warning is visible in the dev console right from the ion-spinner api docs.
A possible solution might be to implement SVG animation in JavaScript using Web Animations, like this Github repo by @ericwilligers.

Greetings @tabrindle!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

I get the same thing.

Duplicate of #4259
Let's keep the conversation of there.
Thanks

Any rewrite solution to make it works again?


Notes titles are sorted Z-A instead of A-Z when option  g:SimplenoteSortOrder="pinned,title"¬

v1.4.1
I have set this option in my .vimrc
 g:SimplenoteSortOrder="pinned,title"¬
And although the pinned notes are at the top, all the notes titles are sorted alphabetical descendants (Z-A instead of expected A-Z).
Thanks for the wonderful vim plugin!

Thanks for the report. I've never used the title sort so hadn't noticed.
It's an easy fix if anyone is interested in working on it - making it A-Z by default makes sense.
A more interesting/challenging addition would be to support things like "-title" and "+title" to reverse sort orders.
I'll leave this open and up for grabs for a little bit before fixing myself.


Improve LightGCN notebook

Description

Related Issues

Checklist:

[ ] I have followed the contribution guidelines and code style for this project.
[ ] I have added tests covering my contributions.
[ ] I have updated the documentation accordingly.
[ ] This PR is being made to staging branch and not to main branch.

Codecov Report

Merging #1714 (6fa56d4) into staging (6aa4e8d) will decrease coverage by 0.01%.
The diff coverage is n/a.

:exclamation: Current head 6fa56d4 differs from pull request most recent head 359187a. Consider uploading reports for the commit 359187a to get more accurate results

@@             Coverage Diff             @@
##           staging    #1714      +/-   ##
===========================================
- Coverage    23.41%   23.40%   -0.02%
===========================================
  Files           88       88
  Lines         9142     9142
===========================================
- Hits          2141     2140       -1
- Misses        7001     7002       +1

Flag
Coverage Δ

pr-gate
23.40% <ø> (-0.02%)
:arrow_down:

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

Impacted Files
Coverage Δ

recommenders/evaluation/spark_evaluation.py
86.66% <0.00%> (-0.45%)
:arrow_down:

Continue to review full report at Codecov.

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

Added a better explanation. Please @fazamani @simonzhaoms let me know if it is clear for a first reader.
FYI @anargyri


inconsistent mouse behavior across browsers

My plan is to recognize right & left clicks on the screen by polling.
First try:
this.game.input.mouse.isDown
This doesn't work in IE 11 at all.
Next try:
this.game.input.activePointer.isDown
This works accross IE, Chrome & Firefox.
Now for the buttons:
this.game.input.activePointer.button
Chrome: works
IE: Works until you move the mouse (button is still pressed, but variable jumps back to -1)
Firefox: works for left button, but completely inconsistently for right button (variable switched to 0 after a few frames, which means left button!)
So I have tried:
this.game.input.mouse.button
Chrome: works
IE: Doesn't work at all
Firefox: works
Am I missing something?
I think Phaser should (aim to) make this behave equal for all major browsers.

For now this is my fix:
    var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;

    if (is_firefox) {
        button = this.game.input.mouse.button;
    } else {
        button = this.game.input.activePointer.button;
    }

    if (this.game.input.activePointer.isDown && button == 2) {
               //do right click stuff
    }

    if (this.game.input.activePointer.isDown && button == 0) {
               //do left click stuff
    }

This is now handled properly in dev branch via the new Pointer properties leftButton etc.


pin the long term comparison to 30 years for ARM loans

Worth noting: I'm  having trouble running the api locally, so this was written in theory, but I'm confident it'll work as needed.

@akiany Can you review and merge this? @wernerc is out sick today.

@akiny hold off. I'm going to make another improvement...

Ok @akiany this is good to go.

Simple and sweet.

@contolini Thanks for merging it.

@contolini .............. we miss you.............. you better come to our launch parties!!

:heart: :purple_heart: :green_heart: :blue_heart:
Oh, I'll be there.


Generating ID token with ImpersonatedCredentials does not support overriding quota project

Is your feature request related to a problem? Please describe.
ImpersonatedCredentials accepts a quota project in its builder, and the quota project is properly overridden when generating an access token. However, when generating id token with the idTokenWithAudience() method, it won't perform such override. The impact is that if a service does impersonate many IdTokens on its own quota - it exceeds a default limit of 60k.
Describe the solution you'd like
It seems to me that providing the quota project in the additionalFields argument when invoking the IamUtils.getIdToken() method would work
Describe alternatives you've considered
There doesn't seem to be good alternatives.

Approve assets

Bouddi OK tomorrow I have project
On Thu, Aug 11, 2022, 6:44 PM lzy-2022 @.***> wrote:

Is your feature request related to a problem? Please describe.
ImpersonatedCredentials accepts a quota project in its builder, and the
quota project is properly overridden when generating an access token.
However, when generating id token with the idTokenWithAudience() method,
it won't perform such override.
Describe the solution you'd like
It seems to me that providing the quota project in the additionalFields
argument when invoking the IamUtils.getIdToken() method would work
Describe alternatives you've considered
There doesn't seem to be good alternatives.
—
Reply to this email directly, view it on GitHub
https://github.com/googleapis/google-auth-library-java/issues/977, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AXP2PQOJACXXWOQZS3O7L73VYU3ZBANCNFSM56JAP5AQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Add BearLandingLegLTB

Closes KSP-CKAN/NetKAN#2980

Tested locally successfully

homepage is part of resources

yes it was.


Command not found returns error

If a command does not exist, the response should be a failure, not "ok", for clients only looking at success/failure and not the content.

@weili-jiang thanks !


Element ids starting with a digit followed by a valid hex-digit are not found with by.id()

Bug report

Node Version: 5.10.1
Protractor Version: 3.2.2
Browser(s): Chrome, Firefox (probably all browsers)
OS: Linux (Ubuntu 15.10)
A relevant example test

element(by.id('1234')).isPresent() does not find the element with id="1234"
Fixed in selenium-webdriver project
This was just fixed April 1st, this bug will be resolved by upgrading to a Selinium Webdriver release with this commit:
https://github.com/SeleniumHQ/selenium/commit/c554cf3b7ee1302a5ad4e830e6cdc4e418906287
Current behavior
An id such as "1234" will fail to be located with by.id(). However, Protractor is correctly escaping the first digit with \3, just not adding a space after the first escaped digit. This can be seen in the webdriver log:

INFO - Executing: [find elements: By.cssSelector: *[id="\31234"]])

(There should be a space between \31 and 234)
This means that Protractor will only find digit leading ids if the 2nd character is not a hex digit, such as "1z234" (Where both \31z234 and \31 z234 select this id)
I'm not sure where the fix should occur, maybe in one of Protractor's dependencies?
Background
id attributes starting with a number are legal in HTML5, but not HTML4.
However, in CSS the first digit must be escaped.
https://www.w3.org/TR/CSS21/syndata.html#characters
Also, note this StackOverflow discussion

I think this is a bug in selenium-webdriver, so the fix will be to bump the webdriver version once there is a fix upstream. I will work on a bug report for the Selenium project.

Ok, this was just fixed April 1 in selenium-webdriver
https://github.com/SeleniumHQ/selenium/commit/c554cf3b7ee1302a5ad4e830e6cdc4e418906287
So this bug will be resolved by updating selenium-webdriver

Thank you for your detailed report! Well written issues like this make me happy :)
We'll be updating our dependency after we do a stable release with our TS and website changes!

This should now be fixed!


Replace travis-deploy-once with Travis-CI stage

:tada: This issue has been resolved in version 1.4.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Improved splash screen

Solved #868

Could you add a screenshot or better yet a gif for the changes? Thanks

@mananwason Done
Now we don't have blank screen in between splash screen and main activity

@utkarshnath How have you handled the cases when the download takes a long time? Is there a timeout? Also what about if the user doesn't want to download the data and instead wants offline json content that is packaged into the app?

@mananwason I am waiting only till the views of the main Activity is constructed(so that we don't get a blank screen) and not till the data gets downloaded. So as soon as view is constructed we move on to main activity and downloading starts and we can see the progress bar if the internet is present otherwise we receive a dialog box for switching on the internet.


Example site is down

I don't know if this is the right place to report this, but the link to the demo site  is returning 404.
That site was a really good reference for the syntax. If it's not going to be online anymore then maybe it should be added to this repo? Some hugo themes include an exampleSite folder with the source code to the demo.

@barklan Check this issue please. I want to use and configure dead-simple theme with hugo :).

@barklan Hello, I understand you may have more urgent and pressing issues to solve, but the example site is still down, rendering your work pretty useless, IMHO.

Example site is up at https://hugo-dead-simple.netlify.app/. Apologies for delay


Change "ADD TO LIST" text in pop-up

This needs to be changed before release Wed. Please change the text "ADD TO LIST" to read "ADD TO PUBLIC LIST" in list pop-up

Closed in #65.


Routing Names with 'Admin/' keyword

What should i do if i want to add "Admin/" before all Routes
For example
From -> /Administration/Language
To -> Admin/Administration/Language
or
From -> 'Users/User'
To -> "Admin/Users/User'
Thanks

Search in all *.Page.cs files, find RoutePrefix(" and replace with RoutePrefix("Admin/

It seems that it  doesn't work
HTTP 404 error (File not found)

Url was Admin/Users/User

But if i write -> [RoutePrefix("Users")] it works

I don't think so
[RoutePrefix("Admin/Administration/User"), Route("{action=index}")]
http://localhost:55555/Admin/Administration/User
and it works

And now it works with previous Serenity project. It seems that i accidentally deleted something
Thanks


Extends a components?

Hi, there is a way to extends a component?
I have to include this event to each one of my components?

    events: {
        'userRetrieved': function (user) {
            this.user = user;
            return true;
        }
    },

In the main component a retrive the user and broadcast to all nodes, but I find a little bit dirty to declare the same method on each component, there is a way to extend the component from other that include this event? I'm using browserify

http://vuejs.org/guide/mixins.html

Please do not use issues for questions, as stated in the contribution guide.

Sorry but I already try in the forum and the chat, and it's pretty hard to have some feedback, no body knows to much about Vue, so I take the decition to ask here, and as you see I got pretty fast feedback.

You could try Stackoverflow - tagged: vue.js next time. You'll get quite fast feedback.

I just post something in the Chat, no body have something to say.
https://gitter.im/vuejs/vue

If nobody answers, that means people are either not online, busy or your
question is too generic.
That doesn't justify opening an issue against explicitly stated rules.
On Sat, Jan 9, 2016 at 1:45 PM Frank Sepulveda<EMAIL_ADDRESS>wrote:

I just post something in the Chat, no body have something to say.
https://gitter.im/vuejs/vue
—
Reply to this email directly or view it on GitHub
https://github.com/vuejs/vue/issues/2133#issuecomment-170268919.

what's so wrong to ask for help here?

@socieboy  :email: :email: :e-mail:

Because I use issues to track bugs and features, and people using it for
Q&A brings unwanted noise to the system and significantly distracts me.
On Sat, Jan 9, 2016 at 3:26 PM suhaotian<EMAIL_ADDRESS>wrote:

@socieboy https://github.com/socieboy [image: :email:] [image: :email:] [image:
:e-mail:]
—
Reply to this email directly or view it on GitHub
https://github.com/vuejs/vue/issues/2133#issuecomment-170278819.


Mark Trustar as FIPS compliant

Mark as fips_compliant
Fix linting tests
Fix somgrep tests

Static failing tests:

No Code Consts: Line 51 has value [-1,0,1,2,3]. -1 does not satisfy the ast types in test code.

Min Platform Version

Integration failing test:

Failing on next as well. Please see this jenkins build

Note for Release: failures tracked in PAPP-23197


Vue-Multiselect always render even v-model value not changed

Reproduction Link
https://jsfiddle.net/3okbL9mu/
Steps to reproduce
I have a simple component what using vue-multiselect (using custom-template)
Using Chrome, install Vue-Devtools extension.
See tab: Vue -> Performance -> Component Render
Action: Click to to the form to edit club.name you will see that multiselect still re-render even v-model of the input field is club.name (not club.open_time)
<template>

					Name
					Description
					Open time

						<input v-model="clubs[index].name" />

						<input v-model="clubs[index].description" />

						<multiselect v-model="clubs[index].open_time" :options="options">

							Select time

						</multiselect>

</template>

Expected behaviour
I hope it only re-render when I change club.open_time, don't render every time

@thgiang It is the issue with Vue itself


DE34415 - Fix Widget Refresh After Change in Settings

Now that we're going through the entity store, the presentation url is no longer getting re-fetched if my-courses is reattached after the user updates the widget settings.  This will make the url unique each time.  It will result in a duplicate call of the same API, but only the first load (after that, the main url will be cached and not refetched each time, only the new url with the bustCache attribute).  We use this technique elsewhere in my-courses (https://github.com/Brightspace/d2l-my-courses-ui/blob/master/src/d2l-my-courses-content-behavior.js#L578).
Not sure what this means for the SDK... will a similar technique need to be used, or can we tell the SDK entity that we think it has a stale resource?

I used similar technique for pinned tab too. What confuses me here is why do we only bust cache the first time the url gets changed, shouldn't this be every time?

If the component gets detached and a new version attached, the property gets cleared and set back to true.  I'm seeing that happen every time I update the widget settings, so it only has to happen once per component version and then I stop it to avoid infinite looping.

Depending on where the caching happens, you can force a fetch using the bypass cache param
https://github.com/Brightspace/polymer-siren-behaviors/blob/master/store/entity-store.js#L142-L144

Depending on where the caching happens, you can force a fetch using the bypass cache param

Yeah, the problem is the fetch is all done by the entity-behavior, I don't currently have any hooks to say "wait, don't load with this href yet" or "wait, don't use the cache" (https://github.com/Brightspace/polymer-siren-behaviors/blob/master/store/entity-behavior.js#L62).

But we could have that hook easily enough and it'd be super nice.  @jopnick would be singing your praises for days.
Like if we added the same property you added in this pr to that behavior, and changed https://github.com/Brightspace/polymer-siren-behaviors/blob/master/store/entity-behavior.js#L62 to bypass cache based on the value of that variable.  Well i think that would solve the issue right?

It should... I'll play around and confirm.  I was trying to avoid changing that behavior in cert, but if I do it that way it should be safe and backwards compatible and not used by others, I'll just check to make sure I pick a property name not being used by any other behaviours or components

Ahh i'm sorry i totally missed that this was a cert fix.  We can totally merge this for what's in cert if it works well enough, and fix it proper like going forward

Ahh i'm sorry i totally missed that this was a cert fix. We can totally merge this for what's in cert if it works well enough, and fix it proper like going forward

Yeah no problem, there is still a week left but I just found another my-courses cert issue in Edge (unrelated to this fix) so I think I'll lean towards getting this in to unlock testing and fix it the "right" way in master to give more time for entity-behavior issues to be found

Yeah going to go with the my-courses-only change for cert, and the better way in master


update zxcvbn to 2.2.1

Description
shssoichiro/zxcvbn-rs#67 got fixed, so I think we can go back to using the latest version

Or not, because it now forces wasm-bindgen >= 0.2.79 which is still impacted by rustwasm/wasm-bindgen#2774

Let's just say, now is not (yet) the time to do this upgrade?


ARM - Conditional THUMB instruction analysis

I am working on a ghidrascript that scans functions to correct disassembly and function parsing problems.  One problem that I am currently examining is for THUMB instructions that follow an IT instruction which makes some following instructions conditional.
First question is detecting if the instruction is conditional.  I am currently looking through the input objects and if I see a condition flag as an input object, I assume it is properly a conditional instruction.  Is there a more direct way to test this?
The more perplexing problem is a sequence like:
it      z
bx    lr
My current strategy to fix this segment is to clear both code units and invoke DisassembleCmd to re-disassemble the instructions.  But, after the DisassembleCmd completes, the second instruction is still a "bx lr" instruction with TERMINATOR flow type.  But, when I examine the listing window after my script completes, the instruction info shows it as CONDITIONAL_TERMINATOR flow type.  I've added a 500mS delay after disassembly and re-fetching the instruction, yet I continue to see TERMINATOR flow type from within my script.
I'm assuming that some analysis occurs that modifies the instruction somehow, but I have yet to find it.  It would seem simpler to just invoke that directly instead of clearing and disassembling the code.  Or at least wait until it was completed before trying to look at the resulting instructions.  Is there a prescribed method of waiting until the disassembly process is completely finished before proceeding?  Or some way of directly invoking whatever analyzer is modifying the instructions into conditional instructions?

After further tracing, I believe that I was mistaken on when the flow construct was set.  Looks like it comes that way from the disassembler.


Introduce GitHub action

Cause travis is not working for unknown reason I moved CI to Github action.

I've become a big fan of GitHub Actions myself :+1:

@ewohltman Fixed. I don't know why test are failing both on travis and my local machine. Do you know if it's a problem on Travis?

Hmm, I don't see CI builds in Travis for this PR for some reason: https://travis-ci.org/github/bwmarrin/discordgo/pull_requests
That said, the tests will pretty much fail for everyone developing locally because they are written to require secrets (e.g. account credentials). For example when I run go test -v -race ./... locally with my fork:
=== RUN   TestVoiceICE
    TestVoiceICE: restapi_test.go:188: VoiceICE() returned error: HTTP 401 Unauthorized, {"message": "401: Unauthorized", "code": 0}
--- FAIL: TestVoiceICE (0.05s)

Could you point to the failed CI build(s) for this PR? Maybe I'm just missing them.
I can also say, I used to use Travis for all my CI. Sometimes I would see weird issues like this, which is why I was motivated to move all my CI to GitHub Actions :smile:

@bwmarrin @CarsonHoffman @iopred
As a quick FYI, an option will have to be set for the repo to allow this to run if it isn't already set:
https://github.community/t/workflow-error-action-not-allowed/16788/3

I had to change the “Actions permissions” configuration to " Enable local and third-party Actions for this repository" to fix it.

I ran into this recently with hooking up linting via GitHub actions for https://github.com/OpenDiablo2/OpenDiablo2.
That option will allow the usage of remote actions such as:
      - name: Setup go
        uses: actions/setup-go@v2
        with:
          go-version: ${{ matrix.go }}

-- https://github.com/actions/setup-go
      - name: Checkout
        uses: actions/checkout@v2

-- https://github.com/actions/checkout

Additionally, the required secrets would need to be moved into the repo's config for the tests.
An example of passing GitHub secrets as environment variables in actions can be found here:

https://github.com/ewohltman/ephemeral-roles/blob/master/.github/workflows/pullRequest.yml
https://github.com/ewohltman/ephemeral-roles/blob/master/.github/workflows/pushToMaster.yml


Add fee proposer recipient to beacon chain

Its the same PR that https://github.com/dappnode/DAppNodePackage-teku-gnosis/pull/43 . Before adding these changes it's required to add in the dappmanager, stakers-ui must implement this value in the beacon-chain. If this is not done, the package restarts all the time.

Already merged here and in the dappmanager, dappmanager needs to be published for this next version to work but thats it

Bypassing merge requirements, the blocking associated PR for the dappmanager https://github.com/dappnode/DNP_DAPPMANAGER/pull/1259 has been merged meaning this can finally also be merged now.


Add button to contact card to create a new p2p group (should use whitelist)

Do you essentially want a button to open a direct message chat with another contact?

yes. but... @asutula @sanderpick and I have spoken about this in the past a few times. i'm not certain the current best idea to achieve it.
As in.
Setup: Contacts A and B
Goal: A wants to send a message to B.

Should A look through existing threads to see if there is already a thread with MEDIA schema that only contains A & B in the whitelist? If so, just re-use that one?
If not, A should probably create that thread and send a P2P invite to user B. Should the invite be a little different in appearance or messaging for B since this is a special thread (member whitelisted)?
Do we want to have a plan to deal with edge case, A tries to create and send an invite. Be tries to create and send an invite before seeing or receiving the one from A.
Do we want to add a helper to the clients to search for the 2 member thread types more easily? getP2P threads or getThreadsWith(contact.address, p2p?: boolean) or something like that

I need to re-read the documentation on threads and look through the sdk to figure out exactly how I'm going to do this. For the time being, here's my take:

If there's already a thread, I think the app should just re-use that one. I'm imagining this as a button like "Create Thread" / "Open Thread" / "Send Message" on the Contact modal, and I think it'd be confusing for users if they ended up having several threads with the same person.

I think it makes sense to make the invite different from a ux perspective.

I'm not sure how to handle this-I'm not familiar enough with what's going on behind the scenes. Deferring.

Ditto.

Tackling this right now. The plan for the time being is to create a button that says "Direct Message" on the contact modal. When this is clicked, it will search for an existing thread and go to that one if it is found. If it can't find one, it will create a new one and navigate to it. For now, I'm going to leave the invite the same, and pull that feature into a separate issue.
In the future, having some code to handle edge cases / a client helper would be great. I'm going to write this feature with the client features available now, but make sure it's future proof so it'll be easy to switch over to using helpers like getThreadsWith later.

Fixed in #1094.


Jupinx with Julia v0.6

Following #61
Modify a copy of the simple https://github.com/QuantEcon/sphinxcontrib-jupyter.minimal repository to get the simple_notebook.rst page working with julia.  You can put it in somewhere in https://github.com/ubcecon/computing_and_datascience/tree/master/julia_sandbox
If I had to guess, you may need to tweak the kernelspec in the conf.py file to be consistent with the installed julia kernel, as described in https://github.com/QuantEcon/sphinxcontrib-jupyter

[ ] Try to see the different between the default for a code-block and the :class: no-execute
[ ] What happens if you generate a plot in source?
[ ] How do you have code that executes but is not visible?
[ ] or extra credit, if you have Julia v0.7 working in IJulia, you could see if that works.

Sounds good. And that sounds about right for the implementation.

For plotting libraries, I think it is useful to see if the following work:

[ ] https://github.com/fredo-dedup/VegaLite.jl also
[ ] Plots.jl with the GR backend
[ ] Ulitmately https://github.com/sglyon/PlotlyJS.jl


Export Brew as a CBZ file

This PR exports the Brew as a CBZ archive readable by various "comic" document readers.
The export isn't quite perfect, there appear to be some issues with some borders ( order of operations, maybe? ) within the library being used. Given this is a minor issue with a subsite of divs, I'm pushing this now for evaluation while I look for alternatives and/or fix the library.
To prevent menubar clutter, this PR moves the PDF printing item to a new Export menu and adds the CBZ export below it.

I'm not sure any user would notice, but i like the idea of exporting to other file formats. We likely want to mark this as export to comic file format(CBZ).
Also, if we are exporting to .CBZ, might as well export as .ZIP if users want too, right?

Also, if we are exporting to .CBZ, might as well export as .ZIP if users want too, right?

Given a CBZ is just a zip file of images, it's just an extension.

Also, if we are exporting to .CBZ, might as well export as .ZIP if users want too, right?

A .zip of what, exactly? What is the underlying document format that is being zipped (i.e. other than CBZ) ?

A .zip of what, exactly? What is the underlying document format that is being zipped (i.e. other than CBZ) ?

A set of JPGs/PNGs. So far as I have been able to discern, there is no true format for CBR/CBZ files. It simply walks through the archive in alphabetical order. If there are folders, they are walked as well.

Also, if we are exporting to .CBZ, might as well export as .ZIP if users want too, right?

A .zip of what, exactly? What is the underlying document format that is being zipped (i.e. other than CBZ) ?

Well, let's cite wikipedia on this one:

Comic book archive is not a distinct file format. It is a filename extension naming convention.
The filename extension indicates the archive type used:

.cb7 → 7z
.cba → ACE
.cbr → RAR(https://en.wikipedia.org/wiki/Comic_book_archive#cite_note-2)
.cbt → TAR
.cbz → ZIP

Comic book archive files mainly consist of a series of image files with specific naming, typically PNG or JPEG files, stored as a single archive file. Occasionally GIF, BMP, and TIFF files are seen. Folders may be used to group images in a more logical layout within the archive, like book chapters.

So it is a compressed file of images of every page, to make a comic book.
They are used by software like Calibre or CDisplay

Yes, a .cbz is a file which is container of components, bundled into a zip.  It's a format, or at least a meta-format.
What I was getting at with my question is are there other end-format constructs that we might want to possibly include as export formats? Things like, oh, ebook, or maybe even a SPA of html/image components for static hosting of brews elsewhere.

I'd be against the website approach, we could export to html, but i would not go pass that.
But an .epub export sounds like it would be a great idea, specially as epub files are html files under the hood, should be pretty simple to make.

I'd be against the website approach, we could export to html, but i would not go pass that.
But an .epub export sounds like it would be a great idea, specially as epub files are html files under the hood, should be pretty simple to make. (more like a zip of html, css and xml files, but you get what i mean) There must be some library out there.
https://www.npmjs.com/package/@lesjoursfr/html-to-epub

I'll look at this in another PR in the future. We're off-track.

So, don't we need https://github.com/naturalcrit/homebrewery/issues/2278 to make this feature? i thought we were stuck with that, or does https://github.com/naturalcrit/homebrewery/pull/3501 work?

So, don't we need #2278 to make this feature? i thought we were stuck with that, or does #3501 work?

#3501 works. Two bugs with it were fixed with this PR and backported into it.
#2278 is functionally implemented with this PR.

So, don't we need #2278 to make this feature? i thought we were stuck with that, or does #3501 work?

#3501 works. Two bugs with it were fixed with this PR and backported into it.
#2278 is functionally implemented with this PR.

Before actually linking this PR into the corresponding issues, a recommended reading for you:
https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests
This closes #2278

Weird big regression. Kicking back to draft until I find it

I'm going to withdraw this PR for now. I mostly did it to prove it could be done, but it seems like a feature that wouldn't be used so there's no point in fighting the regression.
I will reopen if it turns our I read the room wrong.


Add journalbeat role that send journald logs to Kafka.

Add journalbeat role that send journald logs to Kafka

can you add a readme that describes what this role is, what you would use it for, how to install it, what it depends on, how to customize it, etc? you can see our other role readmes for examples.


Personal

Getting it all sorted!

This branch is not to be deleted, this is my personal branch for my own deployment


Typescript compatibility

It may be useful to add types declarations.

There's some work done in the latests pre-releases, I need to publish it on the stable version.

In the meantime:
npm i @dnlup/fastify-traps@next

Any thoughts on an official release (I'm using @next at the moment)

I apologize, I have some maintenance work that I left behind. If you didn't t encounter problems with the current definitions I'll try to publish today.

I would have liked to add tests and configure the tooling to handle ts (like linting). I'll open some issues about and handle it in another release.

Released https://github.com/dnlup/fastify-traps/releases/tag/v1.2.0 and opened #182 and #183


Revert "Cirrus: Allow FreeBSD 11.4 to fail"

This reverts commit 25d5ff744b931caf4f4571937be6d1b2bfd5d94c.
The build with FreeBSD 11.4 succeeds now: https://cirrus-ci.com/task/5515721159475200

Coverage remained the same at 57.11% when pulling bb30b813f39882b73203efbdeab065b5e1936238 on bugfix/re-enable-freebsd-11.4 into e0e76c34bf3713a9e3c94d97c388120c31ad76b3 on master.


transit problem

thank you for this great plugin http://milesj.me/code/cakephp/uploader .
i use cakephp 2.2 and  running wamp  PHP 5.3.9
i have a problem  when I attempt to submit a file I get the following error.
Fatal Error
Erreur: Class 'Transit\Transit' not found
File: C:\wamp\www\asc-project\app\Plugin\Uploader\Model\Behavior\AttachmentBehavior.php
Line: 248
Attention: Si vous voulez personnaliser ce message d'erreur, créez app\View\Errors\fatal_error.ctp
i install the composer but i still unable to make this plugin work

Config/core.php.

require_once dirname(DIR) . '/Vendor/autoload.php';

app/composer.json  :
{
"config": {
"vendor-dir": "Vendor"
},
"require": {
"mjohnson/uploader": "4.",
"mjohnson/decoda": "6."
}
}

can you help me
I've been trying to get image uploads working for 2 days now with no success

add this to your core.php at the top
require_once dirname(DIR) . '/Vendor/autoload.php';


State of stateful widgets should be serializable

Problem
I'm building a viewer for a relatively long schedule, and want to base that upon Table. Since the schedule is soooo looooong and the user is likely to close and open the app several times, I want the user to return to the exact spot of where they were.
However, TableState is relatively opaque, and doesn't seem to have anything I could use to serialize it.
Solution
New cargo features rkyv and serde which implement the respective {de,}serialization traits if enabled.
Alternatives

Vendoring TableState into one's own code, implementing the respective traits, and using TableState::with_offset + TableState::with_selected anytime it needs to be restored
<missing string table entry since I'm severely out of ideas>

Additional context

None. I want to implement this though, at least for rkyv.

Turns out there already is a serde feature: https://github.com/ratatui-org/ratatui/blob/b0ed658970e8a94f25948c80d511102c197a8f6a/Cargo.toml#L74-L76
I'll extend that one to include state then.

Regardingthe rkyv support part of this, it sounds to me that the reason for choosing this over serde is purely a performance thing.
Can you quantify the performance difference here? Is this likely to be a real benefit or one where we go from 0.010ms to 0.005ms for something that is called once in an app's lifetime?
Is there some other benefit I'm missing (i.e. do your already have an app that uses rkyv more generally that is blocked by not having this, or you have a use case where you do need to choose rkyv for wider compatibility reasons and this prevents you from doing so.
These questions might sound a bit pedantic. I'm trying to understand the tradeoff of added maintenance burden vs benefit.
Adding features that are for less commonly used libraries (serde:rkyv ~= 10:1 monthly downloads) and where the maintainers aren't as familiar with them (I'd never heard of rkyv before this issue) adds some extra maintenance burden. E.g. things like breaking serialization formats in new versions of Ratatui, or keeping track of downstream changes.

(seen this pop up and decided it jumps the queue because otherwise I'll forget)
It's not only a performance thing, but also a space/memory efficiency thing! An overview about performance and size benchmarks is available at https://github.com/djkoloski/rust_serialization_benchmark, though it'd be interesting to perform a specific one for ratatui!
Though the zero-copy approach of rkyv is relatively irrelevant in this case, since ratatui can't work with the archived versions of its structs!
Also, it is indeed once in the app's lifetime, but it still needs to be as short as possible, as it may block startup and shutdown if one doesn't want the view to "blink"!
(Personally, I've wanted rkyv support since I'm currently writing a shell protocol that delivers its data over rkyv. But that is a null argument, since it's not public yet and anytime soon. I don't even know if ratatui makes sense in the scenario I'm planning to use my shell protocol in. Feel free to disregard this. /srs)
In effect, the gains are relatively miniscule and probably not worth the effort! I'll close the rkyv PR then!

but also a space/memory efficiency thing

Something I'll repeat ad nauseam is that:
Performance or efficiency gains should rarely be seen as a goal unless the absolute value of those gains has a measurable and meaningful effect.
(Basically rephrasing Knuth's quote)
Most things TUI related will tend to be related in some way with order of magnitude calculation that are at most based on the screen resolution. My laptop default term size is about 200x50 = 10K cells. That's a really really small number for just about every algorithm. Looking at the benchmarks linked, serde_json does 1_827_461 (18x 10K) in 3-5ms, which is much less than the human range of detecting. A blink is ~100ms+. Most things below that are instant.
Now if you were serializing and deserializing things every frame, this would change into a problem with a meaningful effect. Or if the absolute one time serialization of this did tend towards that 100ms range, then it would too.


New Button Added

With a jumping effect for the Button for GirlScript summer of Code 2023

Please add your GitHub username in Data.js
Also, Pull first to see the latest changes.

sir all the problems solved please merge //gssoc23

Mine button is 2nd one

@Spyware007 please check

@Spyware007 please check

@rayarka26 Change styles.css to style.css
And it will be merged then!

@Spyware007 please check

@rayarka26  Really Amazing!
Thank you so much for your contribution.🌟
Make sure to ⭐ and follow me.

I would love to connect with you all ❤

https://www.linkedin.com/in/om-gawande/


[Datepicker] Selected quick option isn't highlighted.

ElementUI version
1.0.3
OS/Browers version
macOS/Chrome 53
Vue version
2.1.3
Reproduction Link
http://element.eleme.io/#/en-US/component/date-picker
Steps to reproduce
Open date picker or date range picker with quick options. Select a quick option. Picker collapses and selected value is shown in the input field. Open picker again.
What is Expected?
Selected quick option to be highlighted.
What is actually happening?
Selected value is highlighted in date table but the quick option is not highlighted.
It may not be a bug but work so by design since 'active' class isn't applied to shortcut button. However, I see that active class for shortcut button exist.
If this feature is supposed to be implemented I would like to contribute.

Just realized that it's not possible to check if quick option value is the same as current picker value because when quick option is selected value is set by 'onClick' function.
I would suggest defining shortcut values as arrays instead of functions but it is a breaking change.


Tag position change after update.

When we first add TAG  in view and save that TAG. After that when we use same x and y coordinate it's added perfect on view but when we again save that TAG x and y position is been changed.
E.g:
X: 24 and Y: 929 while TAG is added. But when we save X: -40.0 and Y: 913.0
Adding TAG method is "addTag(int x, int y, String tagText, String userId)" and save TAG method is "getListOfTagsToBeTagged()"

Thanks for reporting out this issue.
It was there in this library from the start.
It will be solved.
But It will take some time as I used to work on this library in spare time.
Not possible before 15 September.

@harsh159357 Thanks for your replay.
Can you give me any idea about that x and y changes on update, So I can try to resolve it.

@Pinkal7600
Just see the method addTag() in InstaTag.java watch out for Line no 581 - 585. This is the logic to add a tag in the view in the specific position.
There is on more major logic which is as follows -
Each Image is Contained in a View(InstaTag) which is having some height and width.
For Example InstaTag height = 500 and width=300
And you have one  tag inside Instatag with coordinates  x,y(125,227)
So while saving this tag I am storing its percentage not coordinates so the tag will be at the same position for every device with different screen sizes.
While Storing Tag in DB or SharedPreference X and Y Coordinate for a Tag is stored as follows -
X_Coordinate = (X_Coordinate / InstaTag Width) * 100 (Integer value will be strored)
Y_Coordinate = (Y_Coordinate / InstaTag Height) * 100 (Integer value will be strored)
For our example coordinates 125,227 and Instatag (500,300)
X_Cordinate = 41
Y_Coordinate = 45
But there is a loss in value of coordinates while retrieving the original coordinates -
The logic used while retrieving coordinates from shared preferences or DB is as follows -
X_Coordinate = (X_FromDB * Instag Width)/100  (Integer Value will be used)
Y_Coordinate = (Y_FromDB * Instag Height)/100 (Integer Value will be used)
For our example percentages 41,45 and Instatag (500,300) will become -
X_Cordinate = 123
Y_Coordinate = 225
Which result in loss of position and addTag() method is also resulting in Position Loss.
So you just have to consider this above thing while resolving this bug.
If you are able to solve this, please make a pull request it will be very helpful for this library.
I might introduce some more features in this library. Also, I will be able to publish this library also.

I have resolved this bug.
We have to use view.setX() and view.setY() instead of setting view layout parameters. And we have to change that all value which is in the integer to float.

Can u send the pull request so i can merge those changes.
It will be very helpful for this library 👍.
You can also suggest me some features also 🤔
And Make sure to star this repository if it helped you somewhat 🙂

Thanks, @Pinkal7600 your insight on Bug resolving helped me a lot. I have used the solution proposed by you and the bug is resolved now. Now tag will be seen at the position where they are saved.

Can you please send me logic for square image?

@bhoomi-shah-itfaq In creating square image there is not much logic. It is a just a custom view which i have used from already available libraries on github. And how tags are positioned that logic is already described above.


chore: develop -> main

LGTM, but isn't this the same as https://github.com/NibiruChain/ts-sdk/pull/388