[fccd] periodic issue that requires restart of bsui

The following worked for a long time and then the plan got "hung up" .  Had to restart bsui in order to regain control.  This is an intermittent issue.

In [231]: RE(bpp.pchain(ct_dark_all(20), ct([fccd],num=1,md={'purpose':'test und offset -24 & fast shutter & 2x1 bflslt'})))

Starting procedure to acquire darks 1.18e+02Hz or 0.009s.

	Current number of images = 5.

	Setting to 20 images.

  A 'deferred pause' has been requested. The RunEngine will pause at the next checkpoint. To pause immediately, hit Ctrl+C again in the next 10 seconds.
Deferred pause acknowledged. Continuing to checkpoint.
^CPausing...
---------------------------------------------------------------------------
RunEngineInterrupted                      Traceback (most recent call last)
~/Beamline/Commissioning/2019_08/defs.py in <module>
----> 1 RE(bpp.pchain(ct_dark_all(20), ct([fccd],num=1,md={'purpose':'test und offset -24 & fast shutter & 2x1 bflslt'})))

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in __call__(self, *args, **metadata_kw)
    754
    755             if self._interrupted:
--> 756                 raise RunEngineInterrupted(self.pause_msg) from None
    757
    758         return tuple(self._run_start_uids)

RunEngineInterrupted:
Your RunEngine is entering a paused state. These are your options for changing
the state of the RunEngine:

RE.resume()    Resume the plan.
 Mark exit_stats='aborted'.
 Mark exit_status='success'.
RE.halt()      Emergency Stop: Do not perform cleanup --- just stop.

In [232]: RE.abort()
Aborting: running cleanup and marking exit_status as 'abort'...

Returning to intial conditions (pre-count).
        Total images per trigger are NOW:        5
	FCCD FCRIC gain value is NOW:		 auto

[E 18:29:52.774 run_engine:1257] Run aborted
    Traceback (most recent call last):
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py", line 1150, in _run
        msg = self._plan_stack[-1].send(resp)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 1294, in __call__
        return (yield from plan)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 1149, in baseline_wrapper
        return (yield from plan_mutator(plan, insert_baseline))
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 790, in monitor_during_wrapper
        return (yield from plan2)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 848, in fly_during_wrapper
        return (yield from plan2)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 267, in pchain
        rets.append((yield from p))
      File "/epics/xf/23id/ipython/profile_collection/startup/csx1/plans/dark_ff.py", line 171, in ct_dark_all
        yield from bps.mv(fccd.fccd1.capture_bgnd, 1)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/plan_stubs.py", line 247, in mv
        yield Msg('wait', None, group=group)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 194, in plan_mutator
        inner_ret = yield msg
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 194, in plan_mutator
        inner_ret = yield msg
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 194, in plan_mutator
        inner_ret = yield msg
      [Previous line repeated 2 more times]
    bluesky.utils.RequestAbort
Out[232]: []

In [233]: RE.abort()
---------------------------------------------------------------------------
TransitionError                           Traceback (most recent call last)
~/Beamline/Commissioning/2019_08/defs.py in <module>
----> 1 RE.abort()

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in abort(self, reason)
   1007         """
   1008         if self.state.is_idle:
-> 1009             raise TransitionError("RunEngine is already idle.")
   1010         print("Aborting: running cleanup and marking "
   1011               "exit_status as 'abort'...")

TransitionError: RunEngine is already idle.

In [234]: RE(bpp.pchain(ct_dark_all(20), ct([fccd],num=1,md={'purpose':'test und offset -24 & fast shutter & 2x1 bflslt'})))

Starting procedure to acquire darks 1.18e+02Hz or 0.009s.

	Current number of images = 5.

	Setting to 20 images.

Returning to intial conditions (pre-count).
        Total images per trigger are NOW:        5
	FCCD FCRIC gain value is NOW:		 auto

[E 18:30:05.022 run_engine:1261] Run aborted
    Traceback (most recent call last):
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py", line 1150, in _run
        msg = self._plan_stack[-1].send(resp)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 1294, in __call__
        return (yield from plan)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 1149, in baseline_wrapper
        return (yield from plan_mutator(plan, insert_baseline))
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 790, in monitor_during_wrapper
        return (yield from plan2)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 848, in fly_during_wrapper
        return (yield from plan2)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 267, in pchain
        rets.append((yield from p))
      File "/epics/xf/23id/ipython/profile_collection/startup/csx1/plans/dark_ff.py", line 171, in ct_dark_all
        yield from bps.mv(fccd.fccd1.capture_bgnd, 1)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/plan_stubs.py", line 245, in mv
        ret = yield Msg('set', obj, val, group=group)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 194, in plan_mutator
        inner_ret = yield msg
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 194, in plan_mutator
        inner_ret = yield msg
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 194, in plan_mutator
        inner_ret = yield msg
      [Previous line repeated 2 more times]
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py", line 1208, in _run
        new_response = yield from coro(msg)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/asyncio/coroutines.py", line 120, in coro
        res = func(*args, **kw)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py", line 1955, in _set
        ret = msg.obj.set(*msg.args, **kwargs)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/ophyd/signal.py", line 941, in set
        return super().set(value, timeout=timeout, settle_time=settle_time)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/ophyd/signal.py", line 185, in set
        raise RuntimeError('Another set() call is still in progress')
    RuntimeError: Another set() call is still in progress
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
~/Beamline/Commissioning/2019_08/defs.py in <module>
----> 1 RE(bpp.pchain(ct_dark_all(20), ct([fccd],num=1,md={'purpose':'test und offset -24 & fast shutter & 2x1 bflslt'})))

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in __call__(self, *args, **metadata_kw)
    751                     # it (unless it is a canceled error)
    752                     if exc is not None:
--> 753                         raise exc
    754
    755             if self._interrupted:

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in _run(self)
   1260             self._reason = str(err)
   1261             self.log.exception("Run aborted")
-> 1262             raise err
   1263         finally:
   1264             # Some done_callbacks may still be alive in other threads.

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in _run(self)
   1148                     else:
   1149                         try:
-> 1150                             msg = self._plan_stack[-1].send(resp)
   1151                         # We have exhausted the top generator
   1152                         except StopIteration:

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in __call__(self, plan)
   1292         plan = monitor_during_wrapper(plan, self.monitors)
   1293         plan = baseline_wrapper(plan, self.baseline)
-> 1294         return (yield from plan)

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in baseline_wrapper(plan, devices, name)
   1147         return (yield from plan)
   1148     else:
-> 1149         return (yield from plan_mutator(plan, insert_baseline))
   1150
   1151

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    167                     continue
    168                 else:
--> 169                     raise ex
    170         # if inserting / mutating, put new generator on the stack
    171         # and replace the current msg with the first element from the

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    120             ret = result_stack.pop()
    121             try:
--> 122                 msg = plan_stack[-1].send(ret)
    123             except StopIteration as e:
    124                 # discard the exhausted generator

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in monitor_during_wrapper(plan, signals)
    788     plan1 = plan_mutator(plan, insert_after_open)
    789     plan2 = plan_mutator(plan1, insert_before_close)
--> 790     return (yield from plan2)
    791
    792

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    167                     continue
    168                 else:
--> 169                     raise ex
    170         # if inserting / mutating, put new generator on the stack
    171         # and replace the current msg with the first element from the

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    120             ret = result_stack.pop()
    121             try:
--> 122                 msg = plan_stack[-1].send(ret)
    123             except StopIteration as e:
    124                 # discard the exhausted generator

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    167                     continue
    168                 else:
--> 169                     raise ex
    170         # if inserting / mutating, put new generator on the stack
    171         # and replace the current msg with the first element from the

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    120             ret = result_stack.pop()
    121             try:
--> 122                 msg = plan_stack[-1].send(ret)
    123             except StopIteration as e:
    124                 # discard the exhausted generator

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in fly_during_wrapper(plan, flyers)
    846     plan1 = plan_mutator(plan, insert_after_open)
    847     plan2 = plan_mutator(plan1, insert_before_close)
--> 848     return (yield from plan2)
    849
    850

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    167                     continue
    168                 else:
--> 169                     raise ex
    170         # if inserting / mutating, put new generator on the stack
    171         # and replace the current msg with the first element from the

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    120             ret = result_stack.pop()
    121             try:
--> 122                 msg = plan_stack[-1].send(ret)
    123             except StopIteration as e:
    124                 # discard the exhausted generator

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    167                     continue
    168                 else:
--> 169                     raise ex
    170         # if inserting / mutating, put new generator on the stack
    171         # and replace the current msg with the first element from the

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    120             ret = result_stack.pop()
    121             try:
--> 122                 msg = plan_stack[-1].send(ret)
    123             except StopIteration as e:
    124                 # discard the exhausted generator

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in pchain(*args)
    265     rets = deque()
    266     for p in args:
--> 267         rets.append((yield from p))
    268     return tuple(rets)
    269

/epics/xf/23id/ipython/profile_collection/startup/csx1/plans/dark_ff.py in ct_dark_all(numim, detectors)
    169         # SET TO 1 TO ARM FOR NEXT EVENT so that the FastCCD1 is
    170         # already bkg subt
--> 171         yield from bps.mv(fccd.fccd1.capture_bgnd, 1)
    172
    173         # take darks

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/plan_stubs.py in mv(*args)
    243     step, = utils.merge_cycler(cyl)
    244     for obj, val in step.items():
--> 245         ret = yield Msg('set', obj, val, group=group)
    246         status_objects.append(ret)
    247     yield Msg('wait', None, group=group)

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    192         try:
    193             # yield out the 'current message' and collect the return
--> 194             inner_ret = yield msg
    195         except GeneratorExit:
    196             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    192         try:
    193             # yield out the 'current message' and collect the return
--> 194             inner_ret = yield msg
    195         except GeneratorExit:
    196             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    192         try:
    193             # yield out the 'current message' and collect the return
--> 194             inner_ret = yield msg
    195         except GeneratorExit:
    196             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    192         try:
    193             # yield out the 'current message' and collect the return
--> 194             inner_ret = yield msg
    195         except GeneratorExit:
    196             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    192         try:
    193             # yield out the 'current message' and collect the return
--> 194             inner_ret = yield msg
    195         except GeneratorExit:
    196             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in _run(self)
   1206                         # exceptions (coming in via throw) can be
   1207                         # raised
-> 1208                         new_response = yield from coro(msg)
   1209
   1210                     # special case `CancelledError` and let the outer

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/asyncio/coroutines.py in coro(*args, **kw)
    118         @functools.wraps(func)
    119         def coro(*args, **kw):
--> 120             res = func(*args, **kw)
    121             if (base_futures.isfuture(res) or inspect.isgenerator(res) or
    122                     isinstance(res, CoroWrapper)):

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in _set(self, msg)
   1953         group = kwargs.pop('group', None)
   1954         self._movable_objs_touched.add(msg.obj)
-> 1955         ret = msg.obj.set(*msg.args, **kwargs)
   1956         p_event = asyncio.Event(loop=self.loop)
   1957         pardon_failures = self._pardon_failures

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/ophyd/signal.py in set(self, value, timeout, settle_time)
    939         '''
    940         if not self._put_complete:
--> 941             return super().set(value, timeout=timeout, settle_time=settle_time)
    942
    943         # using put completion:

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/ophyd/signal.py in set(self, value, timeout, settle_time)
    183
    184         if self._set_thread is not None:
--> 185             raise RuntimeError('Another set() call is still in progress')
    186
    187         st = Status(self)

RuntimeError: Another set() call is still in progress

In [235]: RE(bpp.pchain(ct_dark_all(20), ct([fccd],num=1,md={'purpose':'test und offset -24 & fast shutter & 2x1 bflslt'})))

Starting procedure to acquire darks 1.18e+02Hz or 0.009s.

	Current number of images = 5.

	Setting to 20 images.

Returning to intial conditions (pre-count).
        Total images per trigger are NOW:        5
	FCCD FCRIC gain value is NOW:		 auto

[E 18:30:09.994 run_engine:1261] Run aborted
    Traceback (most recent call last):
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py", line 1150, in _run
        msg = self._plan_stack[-1].send(resp)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 1294, in __call__
        return (yield from plan)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 1149, in baseline_wrapper
        return (yield from plan_mutator(plan, insert_baseline))
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 790, in monitor_during_wrapper
        return (yield from plan2)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 848, in fly_during_wrapper
        return (yield from plan2)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 169, in plan_mutator
        raise ex
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 122, in plan_mutator
        msg = plan_stack[-1].send(ret)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 267, in pchain
        rets.append((yield from p))
      File "/epics/xf/23id/ipython/profile_collection/startup/csx1/plans/dark_ff.py", line 171, in ct_dark_all
        yield from bps.mv(fccd.fccd1.capture_bgnd, 1)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/plan_stubs.py", line 245, in mv
        ret = yield Msg('set', obj, val, group=group)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 194, in plan_mutator
        inner_ret = yield msg
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 194, in plan_mutator
        inner_ret = yield msg
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py", line 194, in plan_mutator
        inner_ret = yield msg
      [Previous line repeated 2 more times]
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py", line 1208, in _run
        new_response = yield from coro(msg)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/asyncio/coroutines.py", line 120, in coro
        res = func(*args, **kw)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py", line 1955, in _set
        ret = msg.obj.set(*msg.args, **kwargs)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/ophyd/signal.py", line 941, in set
        return super().set(value, timeout=timeout, settle_time=settle_time)
      File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/ophyd/signal.py", line 185, in set
        raise RuntimeError('Another set() call is still in progress')
    RuntimeError: Another set() call is still in progress
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
~/Beamline/Commissioning/2019_08/defs.py in <module>
----> 1 RE(bpp.pchain(ct_dark_all(20), ct([fccd],num=1,md={'purpose':'test und offset -24 & fast shutter & 2x1 bflslt'})))

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in __call__(self, *args, **metadata_kw)
    751                     # it (unless it is a canceled error)
    752                     if exc is not None:
--> 753                         raise exc
    754
    755             if self._interrupted:

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in _run(self)
   1260             self._reason = str(err)
   1261             self.log.exception("Run aborted")
-> 1262             raise err
   1263         finally:
   1264             # Some done_callbacks may still be alive in other threads.

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in _run(self)
   1148                     else:
   1149                         try:
-> 1150                             msg = self._plan_stack[-1].send(resp)
   1151                         # We have exhausted the top generator
   1152                         except StopIteration:

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in __call__(self, plan)
   1292         plan = monitor_during_wrapper(plan, self.monitors)
   1293         plan = baseline_wrapper(plan, self.baseline)
-> 1294         return (yield from plan)

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in baseline_wrapper(plan, devices, name)
   1147         return (yield from plan)
   1148     else:
-> 1149         return (yield from plan_mutator(plan, insert_baseline))
   1150
   1151

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    167                     continue
    168                 else:
--> 169                     raise ex
    170         # if inserting / mutating, put new generator on the stack
    171         # and replace the current msg with the first element from the

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    120             ret = result_stack.pop()
    121             try:
--> 122                 msg = plan_stack[-1].send(ret)
    123             except StopIteration as e:
    124                 # discard the exhausted generator

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in monitor_during_wrapper(plan, signals)
    788     plan1 = plan_mutator(plan, insert_after_open)
    789     plan2 = plan_mutator(plan1, insert_before_close)
--> 790     return (yield from plan2)
    791
    792

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    167                     continue
    168                 else:
--> 169                     raise ex
    170         # if inserting / mutating, put new generator on the stack
    171         # and replace the current msg with the first element from the

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    120             ret = result_stack.pop()
    121             try:
--> 122                 msg = plan_stack[-1].send(ret)
    123             except StopIteration as e:
    124                 # discard the exhausted generator

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    167                     continue
    168                 else:
--> 169                     raise ex
    170         # if inserting / mutating, put new generator on the stack
    171         # and replace the current msg with the first element from the

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    120             ret = result_stack.pop()
    121             try:
--> 122                 msg = plan_stack[-1].send(ret)
    123             except StopIteration as e:
    124                 # discard the exhausted generator

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in fly_during_wrapper(plan, flyers)
    846     plan1 = plan_mutator(plan, insert_after_open)
    847     plan2 = plan_mutator(plan1, insert_before_close)
--> 848     return (yield from plan2)
    849
    850

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    167                     continue
    168                 else:
--> 169                     raise ex
    170         # if inserting / mutating, put new generator on the stack
    171         # and replace the current msg with the first element from the

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    120             ret = result_stack.pop()
    121             try:
--> 122                 msg = plan_stack[-1].send(ret)
    123             except StopIteration as e:
    124                 # discard the exhausted generator

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    167                     continue
    168                 else:
--> 169                     raise ex
    170         # if inserting / mutating, put new generator on the stack
    171         # and replace the current msg with the first element from the

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    120             ret = result_stack.pop()
    121             try:
--> 122                 msg = plan_stack[-1].send(ret)
    123             except StopIteration as e:
    124                 # discard the exhausted generator

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in pchain(*args)
    265     rets = deque()
    266     for p in args:
--> 267         rets.append((yield from p))
    268     return tuple(rets)
    269

/epics/xf/23id/ipython/profile_collection/startup/csx1/plans/dark_ff.py in ct_dark_all(numim, detectors)
    169         # SET TO 1 TO ARM FOR NEXT EVENT so that the FastCCD1 is
    170         # already bkg subt
--> 171         yield from bps.mv(fccd.fccd1.capture_bgnd, 1)
    172
    173         # take darks

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/plan_stubs.py in mv(*args)
    243     step, = utils.merge_cycler(cyl)
    244     for obj, val in step.items():
--> 245         ret = yield Msg('set', obj, val, group=group)
    246         status_objects.append(ret)
    247     yield Msg('wait', None, group=group)

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    192         try:
    193             # yield out the 'current message' and collect the return
--> 194             inner_ret = yield msg
    195         except GeneratorExit:
    196             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    192         try:
    193             # yield out the 'current message' and collect the return
--> 194             inner_ret = yield msg
    195         except GeneratorExit:
    196             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    192         try:
    193             # yield out the 'current message' and collect the return
--> 194             inner_ret = yield msg
    195         except GeneratorExit:
    196             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    192         try:
    193             # yield out the 'current message' and collect the return
--> 194             inner_ret = yield msg
    195         except GeneratorExit:
    196             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    192         try:
    193             # yield out the 'current message' and collect the return
--> 194             inner_ret = yield msg
    195         except GeneratorExit:
    196             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in _run(self)
   1206                         # exceptions (coming in via throw) can be
   1207                         # raised
-> 1208                         new_response = yield from coro(msg)
   1209
   1210                     # special case `CancelledError` and let the outer

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/asyncio/coroutines.py in coro(*args, **kw)
    118         @functools.wraps(func)
    119         def coro(*args, **kw):
--> 120             res = func(*args, **kw)
    121             if (base_futures.isfuture(res) or inspect.isgenerator(res) or
    122                     isinstance(res, CoroWrapper)):

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in _set(self, msg)
   1953         group = kwargs.pop('group', None)
   1954         self._movable_objs_touched.add(msg.obj)
-> 1955         ret = msg.obj.set(*msg.args, **kwargs)
   1956         p_event = asyncio.Event(loop=self.loop)
   1957         pardon_failures = self._pardon_failures

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/ophyd/signal.py in set(self, value, timeout, settle_time)
    939         '''
    940         if not self._put_complete:
--> 941             return super().set(value, timeout=timeout, settle_time=settle_time)
    942
    943         # using put completion:

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/ophyd/signal.py in set(self, value, timeout, settle_time)
    183
    184         if self._set_thread is not None:
--> 185             raise RuntimeError('Another set() call is still in progress')
    186
    187         st = Status(self)

RuntimeError: Another set() call is still in progress

In [236]: RE.abort()
---------------------------------------------------------------------------
TransitionError                           Traceback (most recent call last)
~/Beamline/Commissioning/2019_08/defs.py in <module>
----> 1 RE.abort()

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/bluesky/run_engine.py in abort(self, reason)
   1007         """
   1008         if self.state.is_idle:
-> 1009             raise TransitionError("RunEngine is already idle.")
   1010         print("Aborting: running cleanup and marking "
   1011               "exit_status as 'abort'...")

TransitionError: RunEngine is already idle.

In [237]:

note that the exposure time is under .1 seconds for most of these failures.  perhaps it is something related to this.  Added 2 second sleep between setting the fccd.exposure and ct_dark_all()
happened again around 19:00
happened again around 22:42
happened again around 23:19
after resetart this time , noted error but things worked as they should.
Subscription value callback exception (EpicsSignal(read_pv='XF:23IDA-EPS{DP:1-Sh:1}Cmd:In-Cmd', name='inout_state1_cmd', parent='inout', value='None', timestamp=1565493340.553536, pv_kw={}, auto_monitor=False, string=True, write_pv='XF:23IDA-EPS{DP:1-Sh:1}Cmd:In-Cmd', limits=False, put_complete=False))
Traceback (most recent call last):
  File "/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/ophyd/ophydobj.py", line 269, in inner
    cb(*args, **kwargs)
  File "/epics/xf/23id/ipython/profile_collection/startup/csx1/devices/eps.py", line 55, in cmd_retry_cb
    time.sleep(.5)
NameError: name 'time' is not defined

This seems to happen only when having a short exposure time.
added sleep before setting gain and before launching count.  see comments in dark_ff.py list as
    #adding because it gets  hung some where around here TODO
    #adding because it gets hung somewhere around here #8

if this works, then will remove one at a time to determine where the failure occurs

Did not work.  Issue in a sub-function.
In [6]: RE(myplan())

Starting procedure to acquire darks 80.0Hz or 0.013s.

	Current number of images = 6000.

	Setting to 50 images.

/opt/conda_envs/collection-2019-3.0-csx/lib/python3.7/site-packages/epics/pv.py:110: UserWarning: The `context` kwarg for epics.get_pv() is deprecated. New PVs will _not_ be created in the requested context.
  'The `context` kwarg for epics.get_pv() is deprecated. New PVs '
Moving gains next.

Gain bit set to 0 for a gain value of auto

Ready to begin data collection next.
Transient Scan ID: 120781     Time: 2019-08-12 03:00:19
Persistent Unique Scan ID: 'ea7fce8a-d6c4-461f-b307-08a4440efec0'

vs
Starting procedure to acquire darks 80.0Hz or 0.013s.

	Current number of images = 250.

	Setting to 50 images.

  A 'deferred pause' has been requested. The RunEngine will pause at the next checkpoint. To pause immediately, hit Ctrl+C again in the next 10 seconds.
Deferred pause acknowledged. Continuing to checkpoint.
^CPausing...

@danielballan @mrakitin @jklynch i meant that this is the change from yesterday that we should try to merge and test from https://github.com/danielballan/xf23id1_profiles/commit/87001ee3f7b573b95f24694d23200d92763e8021 .  It may address this issue, but I think it will fix another problem as well.  I just need to find it.

P.S.  I am happy to test.  I just don't know how to pick this very specific thing from Dan's repo.  Willing to learn.

The following commands should help:
$ cd <you repo directory>
$ git remote -v
$ git remote add danielballan https://github.com/danielballan/xf23id1_profiles
$ git fetch danielballan
$ git checkout darkframes

Cherry-picking the commit from should then work (don't checkout to Dan's branch (last command above)):
# after you fetch Dan's remote in the previous commands, do the following:
$ git cherry-pick 2e57922

Same can be done with https://github.com/danielballan/xf23id1_profiles/commit/87001ee3f7b573b95f24694d23200d92763e8021.

related to https://github.com/NSLS-II-CSX/xf23id1_profiles/issues/38

This is duplicated in #38


Increasing napalm-base requirement to fix missing 'TRACEROUTE_VRF'

Received this error using napalm-junos with Ansible while running napalm-base-0.21.0.
"cannot connect to device: 'module' object has no attribute 'TRACEROUTE_VRF'"

$ pip list | grep napalm-base
napalm-base (0.21.0)

Upgrading to napalm-base 0.23.0 fixed the issue.
Basically one of the Pull Requests created a napalm-base dependency that hadn't been properly reflected in requirements.txt.
Note, this probably applies to other napalm platforms.

Coverage remained the same at 85.287% when pulling 01924f02b2196e1b7e8ea9c72915840f697106cf on ktbyers-patch-1 into 4570592e606b67fbe9d0020881dc062b8dbcc2f9 on develop.

Thanks @ktbyers! Indeed that might be on all other platforms.


runtime: panic should print named string types as is

Consider the following:
type MyString string
panic(MyString("hello"))

This currently prints:
panic: (main.MyString) (0x48aa00,0x4c0840)

I expect it to print the actual string contents:
panic: main.MyString("hello")

Keeping the name of the type is debatable, but printing the address is unhelpful.

The relevant code is printany in runtime/error.go.  I think the suggestion amounts to: in the default case of the type switch, do another switch on the kind field of the type, and print the value with the type.

@dsnet In the original use case you shared, have you considered using the pattern of panicking with a value of type error, and using existing high level mechanisms for constructing the error value? For example:
type MyString string
panic(fmt.Errorf("%v", MyString("hello")))

// Output:
// panic: hello

That pattern enables one to make use of all high-level printing capabilities of fmt.Errorf.
You can customize it with "%T" verb if you want to see the type name, add a description in front of the value, etc.
It can makes the diff smaller if you decide to change the panic into a return statement (since error is likely the type you'd want to return).
It scales better. Consider that CL 221779 adds some complexity to the runtime package in order to improve its support for custom types, but it still doesn't handle some cases that high-level printing functions like fmt.Errorf do. For example, compare:
type MyStruct struct {
	Text string
}
panic(MyStruct{"hello"})

// Output:
// panic: (main.MyStruct) (0x9ba80,0x40c018)

type MyStruct struct {
	Text string
}
panic(fmt.Errorf("problem with foo bar: %+v", MyStruct{"hello"}))

// Output:
// panic: problem with foo bar: {Text:hello}

I don't think we should try to add all of complexity of fmt to runtime. If users can use panic(fmt.Errorf(...)) which handles this case and more, perhaps we should not make a change to panic at all? Also see https://github.com/golang/go/issues/37642#issuecomment-594322351.
What do you think about this?

Generally, I use fmt.Sprintf when panicking in a form similar to what you're promoting.
This specific situation occurred because of something like the following:
panic("invalid name: " + name)

where name is a named string type (i.e. protoreflect.FullName. Since I had a string type already on hand, I decided to forgo the usual fmt.Sprintf since it seemed simpler to just concatenate them.
However, I missed the fact that concatenating an untyped string constant to a typed string variable results in a string of the named string type. This results in an unhelpful panic message containing only pointers which made debugging the issue from a server log more difficult.


Conflict with cocoapods 1.1.1 (bump to xcodeproj > 1.3.3 vesion

At the moment the latest cocoapods depends on xcodeproj >= 1.3.3
Is there any need to use xcodeproj 1.3.1 ?

1.3.2 was broken when used with other actions that used it (it wasn't executing on the property directory). I haven't tried it with 1.3.3 yet though. I've been meaning to check if it had been updated & change that requirement though. I'll check it out and update the requirement if it's fixed.

Also is there any additional setup needed to run tests? It seems that tests don't see any .xcodeproj files

Ha, tests, good one.
I didn't actually write a sample app for this plugin. I just created it with the fastlate new_plugin command, which generates the project structure. All the documentation and other stuff was auto-created. I was kind of in a bind when I wrote this, so I was just happy that it worked. (I should probably actually finish developing the rest of that stuff...)

Updated to >= 1.3.3


Crashes the web site in Safari 7/8

Just ran into a problem with our Safari users where the page would not load when angular-applicationinsights was loaded.
I have no idea why it happens, but the problem was solved when I removed all angular-applicationinsights files and references in my js.
Please note that this problem did not exist in any other browser (IE11, FF, Chrome)
(I'm now tracking page views manually using the AI javascript sdk, but would really like this module to work)

Thank you for the feedback. I'll have a look into this....crashing Safari is not an intended behaviour.

Thanks, the module works otherwise perfect, so would really love to be able to use it again.
Considering you are using a lot of 3rd part libraries/derivations for storage/stacktrace could it be one of them that has a problem with Safari?

Btw. Here is the initialization code I was using: (Removed the unrelated parts)
angular.module('UltraReg', ["ngSanitize", "ui.router", 'ui.bootstrap', 'ui.bootstrap.tpls', 'ApplicationInsightsModule', 'ngAnimate', 'ngCookies', 'dndLists', 'uuid4', 'kendo.directives', 'ajoslin.promise-tracker', 'angular-data.DSCacheFactory', 'angulartics', 'angulartics.google.analytics2'])
    .config(['$httpProvider', '$analyticsProvider', 'applicationInsightsServiceProvider', function ($httpProvider, $analyticsProvider, applicationInsightsServiceProvider) {

        // Set up analytics and telementry
        applicationInsightsServiceProvider.configure('{my-id}', {});
    ]);

which version are you running by the way? I fixed something like this for Firefox...and I'm wondering if that did it for Safari too. The firefox issue would essentially get into an endless loop of trying to report an error and that would cause another error.
I can't seem to get this to happen on my test pages in safari using 0.2.3


chore(main): release 1.4.0

:robot: I have created a release beep boop
1.4.0 (2024-03-29)
Features

app: persist login session in mongodb between server restarts (#21) (7c0a7c1)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/aimeerivers/watchthis-user-service/releases/tag/v1.4.0 :sunflower:


Add support to parse CRS in GeoJSON

Even while uploading a GeoJSON in WGS84, pearls doesn't like the crs attribute. Could we not enforce that the crs attribute be removed from the GeoJSON? cc @vgeorge

Done in #36


feat(datepicker): initial implementation of a datepicker component

Known issues:

navigating with keybord through a select menu effects calendar keyboard navigation
month/year select menus don't scroll to a selected option on open
input component used with a popover has issues triggering the popover to show up
more test coverage needs to be added

do you think it would make sense to add an example when it's triggered by an input? I guess that's the most common scenario.
maybe by changing the "Stateful datepicker in a popover" example?

Thank you @chasestarr for the feedback and repro steps! I had some questions regarding the highlightning behavior (actually some commented out code is going to be used for this purpose). Like what to reset it to once mouse moves out of the calendar area, since it's tight with the keyboard navigation. I'll probably reset it to a current day if there is no selection made.
Going to fix the curson on arrows and week headings.
The select toggling on click seems to be a bug in the select component, will create an issue for it.

Looks great! Some minor nitpicks:
The months are overflowing.

Repeated clicking doesn't close the menu. It seems to be inconsistent with our other popover component. I think expected behavior is to close it on the second click? In either way, we should make it consistent?


[MVP] Downloading reports

Add the ability to download reports from Django Admin.

@konrad

@adamgajzlerowicz - I assume you pinged the wrong username here.

Yeah dude - sorry :)

Ola confirmed - mvp version is looking good so we are going to release it.


feat: TypeScript support POC

Closes #13

[x] TS evaluation support
[ ] Type-checking

@Dhaiwat10 this is fantastic work! Thanks for putting it together! First ship of an additional language to run-wasm!
@all-contributors add @Dhaiwat10 for code contributions 🔥


Not compatible with 2020.3

Just upgraded to 2020.3 and it marked plugin as not compatible.
IntelliJ IDEA 2020.3 (Ultimate Edition)
Build #IU-203.5981.155, built on November 30, 2020
Runtime version: 11.0.9+11-b1145.21 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 10.15.7
GC: ParNew, ConcurrentMarkSweep
Memory: 1981M
Cores: 8

tried to compile with new Idea but got a lot of
CasbinParserTest > testabac_rule_with_domains_model FAILED
java.lang.NoClassDefFoundError: Could not initialize class com.intellij.testFramework.TemporaryDirectory
at com.intellij.testFramework.UsefulTestCase.createGlobalTempDirectory(UsefulTestCase.java:258)
at com.intellij.testFramework.UsefulTestCase.setupTempDir(UsefulTestCase.java:243)

@will7200

I'll take a look. I haven't tested for the the 2020.3 versions

Much appreciated, really useful plugin, thank you @will7200

I looked into it and I believe this is due to IDE config difference. I marked the test resources via Intellij. Not sure why it is not picking it up since it is defined in the build.gradle.kts file. But none the less that are some other issues that will need my attention.

2020.3 Intellij Products now using JDK 11.
With the newer version, the casbin editor is registering some errors that I need to futher dive into.

All these issues are fixed. Just pushed a new version to the store. Awaiting approval from Jetbrains.

It's on the market place now!


Changes draft06 tests to use draft06 metaschema.

Previously, they used the draft04 metaschema. Resolves #183.

Thanks!


4 VS Code instances when launching from Dock on Mac OS

Does this issue occur when all extensions are disabled?: Yes

Version: 1.63.2
Commit: 899d46d82c4c95423fb7e10e68eba52050e30ba3
Date: 2021-12-15T09:37:28.172Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Darwin x64 20.6.0
Steps to Reproduce:

Open VSCode from Mac OS Dock or code command.
4 instances are opened each time.

https://user-images.githubusercontent.com/3504472/146974687-027c7ebe-ef03-42eb-84a2-83f83bf08085.mov

Looks like duplicate of #138712

It's not, this is happening without any extensions running @IllusionMH

It's getting worse!

Every couple of minutes another instance just magically appears.

This is what Log (Main) shows:
[2022-01-19 12:21:10.836] [renderer1] [error] [Extension Host] (node:18464) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `Electron --trace-deprecation ...` to show where the warning was created)
[2022-01-19 12:21:33.049] [renderer1] [warning] UNRESPONSIVE extension host, 'vscode.typescript-language-features' took 28% of 1590.663ms, saved PROFILE here: 'file:///var/folders/_6/lkh477rx2fj076xzrzv32rd80000gn/T/exthost-ae069e.cpuprofile' [{"id":"christian-kohler.npm-intellisense","total":880,"percentage":0},{"id":"gc","total":40095,"percentage":3},{"id":"jpoissonnier.vscode-styled-components","total":2233,"percentage":0},{"id":"Orta.vscode-jest","total":217124,"percentage":14},{"id":"program","total":891,"percentage":0},{"id":"self","total":324205,"percentage":20},{"id":"sissel.shopify-liquid","total":13363,"percentage":1},{"id":"VisualStudioExptTeam.vscodeintellicode","total":23722,"percentage":1},{"id":"vscode.microsoft-authentication","total":83198,"percentage":5},{"id":"vscode.npm","total":30732,"percentage":2},{"id":"vscode.typescript-language-features","total":447434,"percentage":28},{"id":"yzhang.markdown-all-in-one","total":231014,"percentage":15},{"id":"Zignd.html-css-class-completion","total":175228,"percentage":11}]
[2022-01-19 12:21:44.387] [renderer1] [warning] UNRESPONSIVE extension host, 'wix.vscode-import-cost' took 58% of 2568.695ms, saved PROFILE here: 'file:///var/folders/_6/lkh477rx2fj076xzrzv32rd80000gn/T/exthost-72a6ca.cpuprofile' [{"id":"ban.spellright","total":66368,"percentage":3},{"id":"gc","total":38808,"percentage":2},{"id":"kortina.vscode-markdown-notes","total":165917,"percentage":6},{"id":"program","total":40317,"percentage":2},{"id":"self","total":40543,"percentage":2},{"id":"sissel.shopify-liquid","total":885,"percentage":0},{"id":"vscode-icons-team.vscode-icons","total":714259,"percentage":28},{"id":"vscode.typescript-language-features","total":14877,"percentage":1},{"id":"wix.vscode-import-cost","total":1485819,"percentage":58}]
[2022-01-19 12:21:51.857] [renderer1] [warning] UNRESPONSIVE extension host, 'esbenp.prettier-vscode' took 66% of 3657.454ms, saved PROFILE here: 'file:///var/folders/_6/lkh477rx2fj076xzrzv32rd80000gn/T/exthost-994371.cpuprofile' [{"id":"eamodio.gitlens","total":1010709,"percentage":28},{"id":"esbenp.prettier-vscode","total":2412513,"percentage":66},{"id":"gc","total":224949,"percentage":6},{"id":"self","total":8253,"percentage":0}]
[2022-01-19 12:21:52.548] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:21:53.905] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:01.141] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:05.700] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:05.782] [renderer1] [warning] UNRESPONSIVE extension host, 'esbenp.prettier-vscode' took 37% of 4577.363ms, saved PROFILE here: 'file:///var/folders/_6/lkh477rx2fj076xzrzv32rd80000gn/T/exthost-25e29d.cpuprofile' [{"id":"ban.spellright","total":4435,"percentage":0},{"id":"bierner.markdown-mermaid","total":1320,"percentage":0},{"id":"bradlc.vscode-tailwindcss","total":3545,"percentage":0},{"id":"dbaeumer.vscode-eslint","total":46855,"percentage":1},{"id":"eamodio.gitlens","total":209642,"percentage":5},{"id":"esbenp.prettier-vscode","total":1693843,"percentage":37},{"id":"gc","total":208776,"percentage":5},{"id":"GitLab.gitlab-workflow","total":108196,"percentage":2},{"id":"GraphQL.vscode-graphql","total":576,"percentage":0},{"id":"kortina.vscode-markdown-notes","total":314764,"percentage":7},{"id":"ms-vscode-remote.remote-containers","total":58130,"percentage":1},{"id":"Orta.vscode-jest","total":456159,"percentage":10},{"id":"program","total":175027,"percentage":4},{"id":"self","total":820861,"percentage":18},{"id":"VisualStudioExptTeam.vscodeintellicode","total":7377,"percentage":0},{"id":"vscode-icons-team.vscode-icons","total":6880,"percentage":0},{"id":"vscode.git","total":155376,"percentage":3},{"id":"vscode.github-authentication","total":47657,"percentage":1},{"id":"vscode.json-language-features","total":183352,"percentage":4},{"id":"vscode.merge-conflict","total":478,"percentage":0},{"id":"vscode.typescript-language-features","total":1275,"percentage":0},{"id":"vsls-contrib.gitdoc","total":6456,"percentage":0},{"id":"wix.vscode-import-cost","total":201,"percentage":0},{"id":"yzhang.markdown-all-in-one","total":3204,"percentage":0},{"id":"Zignd.html-css-class-completion","total":62772,"percentage":1}]
[2022-01-19 12:22:09.175] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:11.221] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:12.952] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:14.469] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:16.025] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:17.683] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:19.069] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:20.606] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:22.189] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:23.633] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:25.117] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:26.621] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'
[2022-01-19 12:22:28.125] [renderer1] [error] ENOENT: no such file or directory, open 'rendererLog': Error: ENOENT: no such file or directory, open 'rendererLog'

Seems like the extension host is running on another instance:
https://user-images.githubusercontent.com/3504472/150574748-e775533c-64cd-4940-a1ca-faa7d6a77fd4.mov

All extensions are disabled and the new icon is still bouncing when a file is opened with the terminal in the same workspace. disappears in a few seconds

Can you check if the issue is present with latest insiders https://code.visualstudio.com/insiders/ ?


Added Couchbase Cache Driver

Hi, i have added a Couchbase Cache Driver.
Best regards

@straccio I believe you are using tabs instead of spaces. Please fix those.
Also, Travis failed tests Please look at those and find out how to get these tests to pass.
Thanks!

Done..... The problem was assertTrue and assertFalse.

Thanks for your work!


Balance VL on DT goes to 0 (Ropsten)

Describe the bug
On Ropsten (after adding some liquidity to a DT Pool), my balance first shows up correctly, but after a couple of seconds it goes to 0.
To Reproduce
Steps to reproduce the behavior:

Go to https://market-git-v4-oceanprotocol.vercel.app/asset/did:op:9fdb9758dcc2902133b7dc7960d4a7af21e36212be366867900ce25ccd2eb10b
Click on Pool tab
See "Your Value Locked" section
See error

The same thing happens when changing accounts.
Expected behavior
My balance should display correctly.
Screenshots
https://user-images.githubusercontent.com/13741335/158805000-2027c728-bc55-47ef-91d1-5e97f7cb7fcc.mp4
https://user-images.githubusercontent.com/13741335/158804313-c4bdd134-c8c9-41ce-a47d-3a57ec488d40.mp4
Desktop (please complete the following information):

OS: MacOS
Browser: Brave

This issue is not present anymore after #1218 . Tested on V4 Market


Fix mobile error: "this.send(e), 'this.send' is undefined"

I suspect we are seeing this error due to the way we initialize web3.
Currently we dispatch a CONNECTION_CONNECTED event in src/App.js if window.ethereum is available.
    if(window.ethereum) {
      window.ethereum.on('accountsChanged', function (accounts) {
        store.setStore({ account: { address: accounts[0] } })

        const web3context = store.getStore('web3context')
        if(web3context) {
          emitter.emit(CONNECTION_CONNECTED)
        }
      })
    }

We cannot rely on window.ethereum being available upon app initialization. window.ethereum is not immediately available for mobile devices.
We need to follow Metamask's "best practices" guide and add an event listener to listen for ethereum initialization.
If we do this this may resolve some of our mobile issues.
https://docs.metamask.io/guide/mobile-best-practices.html#the-provider-window-ethereum

Argent has this problem 100% of the time.

See the error message below.
This bug is a blocker for Argent integration.
It is reproducible 100% of the time by Argent devs.

Error fixed on yearn.finance but not on y.finance.

@Sowul y.finance now redirects to yearn.finance


intrusion-set seems not to be viewed as a type?

package version: 2.0.1
I got a  bundle like:
{
"objects": [
{
"id": "intrusion-set--01f18402-1708-11e8-ac1c-1ffb3c4a7775",
"type": "intrusion-set",
"created": "2020-07-23T00:00:00.000Z",
"modified": "2020-07-26T00:01:10.000Z",
"name": "object name",
"description": "blah blah",
"aliases": [
"abc"
],
"labels": [],
"created_by_ref": "identity--5cf66e53-b5f8-43e7-be9a-49880a3b4631"
}
],
"type": "bundle",
"id": "bundle--7e1ccb76-66e3-4f42-9055-631a56d45e94",
"spec_version": "2.0"
}
and the validate_file() output errors:
[X] report--3aaa35fb-1d80-4e35-a324-f001535b7e29: object_refs[44]: 'intrusion-set--01f18402-1708-11e8-ac1c-1ffb3c4a7775' does not match the id format ([object-type]--[UUID])
[X] intrusion-set--01f18402-1708-11e8-ac1c-1ffb3c4a7775: id: 'intrusion-set--01f18402-1708-11e8-ac1c-1ffb3c4a7775' does not match the id format ([object-type]--[UUID])
Do I miss something?

Hi @denny-lclin. The UUID portion of that ID seems to be a UUIDv1:
>>> import uuid
>>> x = uuid.UUID('01f18402-1708-11e8-ac1c-1ffb3c4a7775')
>>> x.version
1

STIX 2 requires UUIDv4 for SDOs. Let us know if you have further questions! :)

@clenk  Thanks for your prompt reply 👍


Disable mic / camera button functionality based on capabilities with tool tip

Purpose
Disable mic / camera button functionality based on capabilities with tool tip

...

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce? Reflect permissions on UI components

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

disable and not able to click - worked.
Title - to reflect restriction - not working - cannot flush updates when react is ready and rendering.
rooms - role update seems busted in general. All testing above is from teams meeting.
The share screen icon needs to be fixed. It is not visible at all.

title={!this.state.canOnVideo ? No permission to turn on video : Turn your video ${this.state.videoOn ? 'off' : 'on'}}


chore: Update to latest Helm releases

Note: This tool is restricted to Helm v3.1.3 as the latest Helm 3 release because the last release ever of Helm 2 (v2.17.0) uses Kubernetes 1.16.2 and some of the Kubernetes Go client APIs changed in Kubernetes 1.18 and are not compatible with previous Kubernetes releases.
From Helm v3.2.0 onwards, Kubernetes Go client 1.18+ is used and there are conflicts with APIs if v3.2.0+ is used.

LGTM


Update ts0601 add new class

Add new class TuyaTripleSwitch_GP and add new device _TZE200_2hf7x9n3
Reported in #1597

Add the GreenPowerProxy like in
https://github.com/zigpy/zha-device-handlers/issues/1597#issuecomment-1146210843

Codecov Report

Merging #1601 (ed2b108) into dev (a55235f) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##              dev    #1601      +/-   ##
==========================================
- Coverage   80.25%   80.24%   -0.01%
==========================================
  Files         231      231
  Lines        6932     6944      +12
==========================================
+ Hits         5563     5572       +9
- Misses       1369     1372       +3

Impacted Files
Coverage Δ

zhaquirks/tuya/ts0601_switch.py
100.00% <100.00%> (ø)

zhaquirks/xiaomi/aqara/tvoc.py
73.80% <0.00%> (-2.67%)
: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 a55235f...ed2b108. Read the comment docs.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

5 of 5 (100.0%)  changed or added relevant lines in 1 file are covered.
7 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.009%) to 80.242%

Files with Coverage Reduction
New Missed Lines
%

zhaquirks/xiaomi/aqara/tvoc.py
7
73.81%

Totals

Change from base Build<PHONE_NUMBER>:
-0.009%

Covered Lines:
5572

Relevant Lines:
6944

💛  - Coveralls

I'm sorry that this is giving you more trouble than expected.
I don't know if you know that in the 'Files changed' tab you can see the changes you are introducing in your PR:

https://github.com/zigpy/zha-device-handlers/pull/1601/files

The latest changes have removed an existing class, which is not the point of your PR.
Since it was also necessary to add the 2 switch device definition, I have taken the liberty of creating a new PR (#1604) with the definitions for the 1 to 4 switch devices. I hope you don't mind.
If it is fine to you, please, close this PR and let's continous with the new one.

If it is fine to you, please, close this PR and let's continous with the new one.

No problem for me, I'm still learning how to work with github.


Problem about KL loss when training CVAE model.

When I trained CVAE on my own dataset, I found that the results were very poor. Upon inspection, I found that the KL loss is too large at training and validation time, reaching around 10^27, and will not decrease. A closer look shows that the encoder output log_var is 50~60. I have been adjusting for a long time without effect. How to solve this situation?

Have you solved this problem？


Proper collection view Image cell load

Hello.
Although you have been answering to all the questions except mine (lol) I would like some help by implementing your library to this tutorial
http://sweettutos.com/2015/12/31/swift-how-to-asynchronously-download-and-cache-images-without-relying-on-third-party-libraries/
Because this tutorial's cache is being deleted as soon as the app is closed.
So with your library and some lines of code you could make a simple tutorial of how to keep images in disk and not to force reload when the collection view / table view is scrolling.
Could you help me along with this please?
Thanks a lot!

Hi, sorry for not noticing your question. LOL. I am always getting a bit busy so sometimes I could forget to answer a question. Could you give me a link so that I could have a look.
I had a brief look at the tutorial, it seems in that tutorial only an NSCache is used for caching. NSCache is a memory cache, and it will be lost when you quit your app. If you use Kingfisher, there is no need to worry about this problem, since Kingfisher already has a disk cache layer built-in. Generally speaking you could just use the image extension method to set the image and you've done. As mentioned in the read me file:
imageView.kf_setImageWithURL(NSURL(string: "http://your_image_url.png")!, placeholderImage: placeholderImage)

The problem by using this for a cell is that it makes slow the scroll of the collection view....
If i run "Instruments" i can see that rendering of the image takes a lot of time (AppleJPEG), and also it takes some time to show the image from the disk cache.
https://github.com/onevcat/Kingfisher/issues/389
Then i tried 'BackgroundDecode' inside Options. It solved the problem of rendering the images but still if an iPhone is old and has lots of memory used, when it tries to scroll up and down it still takes some time 0.9ms to load the image from Memory Cache this time (cause of background decode i guess).
I really don't know what to do about it.

What's the size of your image?

it varies from 40kb to 4-5mb (the images above 4mb are just for testing period.. although it has to work smoothly for those too)

You cannot expect to load an image of several mega bytes so fast unless you do some preloading it to memory. The disk speed of iPhone is at 200MB/s so it will take almost 25ms to load a single 5MB image from disk to memory, it will take more time to decode and render it (which means you cannot scroll at 60 fps and suffer from a frame dropping).
For your 0.9 ms loading from memory cache, there is no problem, since you will have 16.7ms per frame to keep your UI at 60FPS. So it is a tradeoff between loading time and memory usage. You could get faster loading time if the images are already in memory (you could use ImagePrefetcher to load them from disk before you need to display them).
So, I believe you should make your image size smaller. Since you are showing it in a collection view, they should not be so large.

Yes you are right. Thought that we had more memory available but it's ok. I will make a column for thumbnail that will have the minimum size so it can load faster.
Thanks for the advice!


Add URLSearchParams::new_with_form_data(&FormData);

Motivation
Cannot currently do:
const form = new FomrData();

const params = new URLSearchParams(formData);

Using web-sys.
Proposed Solution
Create a new constructor that accepts &FormData.
Alternatives
Create instead a constructor which takes any arbitrary JsValue.
Additional Context
N/A

There's already a constructor that takes an arbitrary JsValue: UrlSearchParams::new_with_str_sequence_sequence.
The reason it's called that is because web-sys is generated from WebIDL, where 'sequence' effectively means 'iterable'. So, by str_sequence_sequence the method really means Iterable<Iterable<string>>, which includes FormData since it's an iterator over [key, value] pairs.

Ah perfect, thank you!


[Feature Request] GetMaxKey & GetMinKey functions

Having a way to get the min or max key of a storage would be nice given that I can implement logic about automatic cleanup of a table(here's where it comes from).
Something like:
await manager.GetMaxKey<long>(nameof(ClientLogs));
await manager.GetMinKey<long>(nameof(ClientLogs));

I'm working this issue. I want to ensure I understand the intent of the requested functions.

GetMaxKey(string storeName): This function would return the max (largest) key for a given store. For instance, in the below image GetMaxKey() would return '2'.
GetMinKey(string storeName): This function would return the min (smallest) key for a given store. For instance, in the below image GetMinKey() would return '0'.

Is my understanding above correct? If so, I propose we name the functions something like GetFirstIndex(storeName) and GetLastIndex(storeName). GetMaxKey() implies we are getting the maximum value of the Key column. I use guids as ids in my Key column, so getting the max and min value will not be useful. However, getting the index of the first and last entry could be useful for cleanup tasks.
@thepra @nwestfall

Yep, correct. I'm good with "index" too :)

Perfect. I'll start working on it.


Actions survey

We have an opportunity to build in more buttons, menu options etc., in some cases by comparing or adapting from other frameworks in oXygen. These bindings are configured by means of Actions at the framework level. Such Actions include support for table manipulation (both HTML and OASIS), but not only these - and of course the potential is open-ended.
On this issue, it would be nice to have a list of nice-to-have Actions.
For example, the Docbook framework has actions for promoting sections (Docbook sect1-sect6 elements); there is no reason that something similar would not work for the JATS/BITS sec element.
This may not be a high priority in view of how easy it is to move 'sec' elements around with simple drag-and-drop (in both Author and Outline views). But some people like buttons and menu items - and there are other possible ideas for Actions than these.
I have already added a couple of simple Actions for adding a couple of paragraph-level structures.
Feel free to contribute ideas to this discussion.

Possible Actions

Insert formula - inserts disp-formula or inline-formula depending on what is valid in the document.
Insert figure inserts a fig with a stub caption and caption/title.
Insert graphic figure does the same, except it also includes a graphic.

The problem areas for JATS are of course references/citations, tables and figures. Metadata also plays a big role. Finally the variability of how you are able represent certain content (e.g. funding statements, permissions, floats, footnotes) brings issues. Helper tools for those problem areas would seem to make the most sense if you are looking for ideas :)

Agreed. :+1: -- while also keeping in mind that some of these capabilities probably belong in a customization layer not the generic framework. However this is really helpful for focusing attention on the pain points.
BTW I implemented a couple of the Actions listed above.


Support multiple groups for endpoint authorization

This merges the changes from the origin/develop branch and authz-1.0.1 (note this is not the old branch of authz-1.0.0!)

@jjg-123, I'm closing this PR as part of some repo cleanup. If needed, we can reopen this in the future. Thanks.


DRQN: Error prefix tensor must be either a scalar or vector

I tried the DRQN for partial observations, but I got the error:
ValueError: prefix tensor must be either a scalar or vector, but saw tensor: Tensor("Placeholder_2:0", dtype=int32)
----Error happens in this line-------
self.state_in = rnn_cell.zero_state(self.batch_size, tf.float32)

I found that there are 3 consecutive lines:
self.batch_size = tf.placeholder(dtype=tf.int32)
self.convFlat = tf.reshape(slim.flatten(self.conv4),[self.batch_size,self.trainLength,h_size])
self.state_in = rnn_cell.zero_state(self.batch_size, tf.float32)
I change the line:
self.batch_size = tf.placeholder(dtype=tf.int32)
into:
self.batch_size = tf.placeholder(dtype=tf.int32**,shape=[]**)
And it works.

Thank you!!!! I thought for sure the code was doomed, per https://github.com/tensorflow/tensorflow/issues/10213
But this fix is correct and worked for me, too!
Really hope @awjuliani can fix in the code (modify literally one line), thank you sir!

Just made the change! Thanks for pointing this out.


console.log() not displayed in onApplicationBootstrap()

I'm submitting a ... (check one with "x")
[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request

Scope (check one with "x")
[ ] <root>
[ ] @zetapush/cli
[ ] @zetapush/client
[ ] @zetapush/cometd
[ ] @zetapush/common
[ ] @zetapush/core
[ ] @zetapush/create
[ ] @zetapush/http-server
[ ] @zetapush/platform-legacy
[ ] @zetapush/testing
[ ] @zetapush/troubleshooting
[ ] @zetapush/user-management
[x] @zetapush/worker

Current behavior
If I use this code :
async onApplicationBootstrap(context: Context) {
    console.log('test');
    console.log('test');
    console.log('test');
    console.log('test');
  }

Only the 3 first lines are displayed. The last one is never displayed.
Expected behavior
That all instructions are displayed or that I can use a logger to display my informations.
Minimal reproduction of the problem with instructions

Run this code :

import { Injectable } from '@zetapush/core';

@Injectable()
export default class MyApi {
  async onApplicationBootstrap() {
    console.log('test');
    console.log('test');
    console.log('test');
    console.log('test');
  }
}

See the result in the console after run the worker with npm run start

What is the motivation / use case for changing the behavior?
See all my logged instructions
Please tell us about your environment:

**Operating System: Linux
Node Version: 8.12.0
Npm Version: 6.4.1
@zetapush/* Version: 0.34.2

Fixed


[Question] Is it possible to disable https certificate validation?

Problem description
I use minio (https://min.io) to self-host an s3 compatible object storage. The service uses a self signed certificate. Accessing objects using smart open gives
SSLError: SSL validation failed for https://blahblah [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1076)

I am wondering whether I could disable the certificate validation.

What are you trying to achieve?
Accessing self-hosted s3-compatible object storage with a self-signed certificate.
What is the expected result?
Accessing objects without problems.
What are you seeing instead?
Got SSL problem

Steps/code to reproduce the problem

start a local minio instance with a self-signed certificate according to the documents. https://docs.min.io/docs/deploy-minio-on-docker-compose.html
try accessing objects stored on minio using smart-open

Versions
Please provide the output of:
import platform, sys, smart_open
print(platform.platform())
print("Python", sys.version)
print("smart_open", smart_open.__version__)

Darwin-19.0.0-x86_64-i386-64bit
Python 3.7.5 (default, Oct 25 2019, 10:52:18)
[Clang 4.0.1 (tags/RELEASE_401/final)]
smart_open 1.9.0
Checklist
Before you create the issue, please make sure you have:

[x] Described the problem clearly
[x] Provided a minimal reproducible example, including any required data
[x] Provided the version numbers of the relevant software

Please include a full reproducible example.

I have the same issue using this smart_open to access S3 on minio. As you know, minio can simulate S3 storage which I use to test code.
There is a guide on how boto3 could be used to access minio. You can take a look at here.
I have no issue accessing it using boto3 however when I try to use smart_open to do this, I receive botocore.exceptions.SSLError. I use s3://minioadmin:minioadmin@localhost:9000@data-test-bucket  as URL and receive the following error:
botocore.exceptions.SSLError: SSL validation failed for https://localhost:9000/phq-dataeng/individual_event/1593661092355.tsv?uploads [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:852)
It would be great to have an option not to enforce SSL in the smart_open

I think it should be possible. From your link:
s3 = boto3.resource('s3',
                    endpoint_url='http://localhost:9000',
                    aws_access_key_id='YOUR-ACCESSKEYID',
                    aws_secret_access_key='YOUR-SECRETACCESSKEY',
                    config=Config(signature_version='s3v4'),
                    region_name='us-east-1')

You can pass those same arguments to smart_open, e.g.
# Stream to Digital Ocean Spaces bucket providing credentials from boto3 profile
transport_params = {
    'session': boto3.Session(profile_name='digitalocean'),  # may not be necessary
    'resource_kwargs': {
        'endpoint_url': 'https://ams3.digitaloceanspaces.com',
        # put your code here
    }
}
with open('s3://bucket/key.txt', 'wb', transport_params=transport_params) as fout:
    fout.write(b'here we stand')

See https://github.com/RaRe-Technologies/smart_open#more-examples for more.

@mpenkov Thank you for your quick reply. I was able to make it work.
For future reference, this is how I was able to use smart_open with S3 on Minio:
transport_params = {
    'resource_kwargs': {
        'endpoint_url': 'http://localhost:9000',
        'aws_access_key_id':'minioadmin',
        'aws_secret_access_key':'minioadmin',
    }
}

with open('s3://data-test-bucket/test.txt', 'wb', transport_params=transport_params) as fout:
    fout.write(b'Yay I work on S3 on minio!')

I'd suggest adding it to the examples as well.

I'll think about adding it. One of the problems is that we like to keep our documentation self-testing, and it's difficult to test this minio stuff without jumping through hoops (e.g. docker compose).

The above example didn't work for me.  This however did.
session = boto3.session.Session(
    aws_access_key_id='minioadmin',
    aws_secret_access_key='minioadmin',
)

with s3_open(f's3a://delta-lake/test.txt', 'wb', transport_params={"client": session.client("s3", endpoint_url='http://localhost:9000')}) as fout:
    fout.write(b'Yay I work on S3 on minio!')


Refactor PostgreSQL load script to use "make"

Since we're constrained to Linux for the moment, there's no reason we can't do this with make rules in the Makefile, as per the Cookiecutter Data Science convention. There will still be some psql and unrar stuff but there doesn't need to be one monolithic create-database.bash script that runs an hour. ;-)

As part of this, eliminate the whole-database dumps and restores. They're redundant and huge.

Maybe later - it's time to move on to exploration


Bump nhost/functions to 0.1.5

Closes https://github.com/nhost/cli/issues/337

Thanks, this will help a lot when debugging !

Thanks, this will help a lot when debugging !

@quentin-decre not yet released, happens later today


As a developer I want to set feature flags so that I can gradually test changes

[ ] Set up a new Azure App Configuration Service (+ include in deploy scripts)
[ ] Understand how targeting specific users works with React.js - docs only show .NET
[x] Build useFeatureFlag() and useConfiguration() hooks in React.js

Hey @DanielLarsenNZ I've built a cool custom React Hook that gets a feature flag or configuration from Azure App Configuration Service using the @azure/app-configuration NPM library. It works nicely!
Now, I also want to be able to add user/group-based flags so that a feature becomes visible to a select group of users.
ie. To test the new i18n app languages, tournament admin page, etc.
Plus, a developer flag that permits only our team to the /developer route.
Azure Docs and the JS library don't support this dynamic feature management (staged/targeted rollout). After a day of Googling, the documentation only shows how to do this in a .NET app - not for JavaScript, and no JS client library is available for this either.
Is there a way to get this working in JS, or should I be looking at another feature management provider with a usable JS library to handle this? Would love to learn how we can work with feature flags to gradually release pages/features as we build them rather than using a branch and waiting for a whole page to be built before merging and deploying.


Support nested curly braces in function bodies

From<EMAIL_ADDRESS>on September 28, 2011 19:39:00
What steps will reproduce the problem? 1. Try to compile something like this
.entry foo
{
{
.reg .u32 some_temp_reg;
add some_temp_reg, some_temp_reg, 1;
}
} What is the expected output? What do you see instead? Ocelot's PTX parser should define some_temp_reg only until the end of the
curly brace.  It should also allow multiple levels of nesting.
Original issue: http://code.google.com/p/gpuocelot/issues/detail?id=59

From<EMAIL_ADDRESS>on September 28, 2011 23:28:32
Added support in r1480
Status: Fixed


Support for optional values

Does configen support optional values? for example can we declare String? in the mapping file. The reasoning for this is that some environments don't need all the properties.

Well, no, it's not supposed to. It specifically defeats the purpose of the tool, which is robustness.
But I think there is a way to beat the system if you really want to. Configen supports any type, which is how it allows enums such as, for example, LogLevel for which the value may be defined in the property list as .warning, .error, etc. This means you could define your type as String? and enter the value in the mapping file as nil or "some value" (note you need to provide the quotes in this case, because the value gets printed as is to the .swift source file.
I haven't tried this, and I wouldn't recommend it. You're better off defining the type as String and providing a value even where you don't need it. For example, in the case of a string, provide an empty string and in code only use it if non-empty. At least then it sticks out as missing in the environments that do rely on it.

 Issue #17: Support for optional values


New worker request: arm64-ios-simulator

Username
freakboy3742
GitHub username
@freakboy3742
Name
Russell Keith-Magee
Email address
<EMAIL_ADDRESS>Password status
I need a new owner password
Processor architecture
ARM64
Operating System
iOS
Anything special about the worker?
Required for PEP 730, to test the patches introduced under the meta issue python/cpython#114099.
Builds must be run single process, resulting in an estimated wall-clock duration of ~15m for a single test run.
A specific iOS version hasn't been specified as part of this buildbot definition. The expectation is that the Buildbot will track the current default (i.e., most recent) iOS image shipping with Xcode, and Xcode will be updated regularly as part of regular system maintenance.

@zware @pablogsal: Can you handle this request? I don't manage passwords anymore.

@freakboy3742: Can you prepare a PR to add your worker?

@vstinner I'm currently working on setting up the configuration; I submitted this PR because I was following the Buildbot setup guide which advises posting a PR to discuss setting up the worker and obtain the workername and password.

I need a new owner password

Done.
I leave the issue open until I see the worker running in practice :-)

The worker is running but failing. Failures can addressed in following PRs, I close this issue.

iOS buildbot is now passing


ru.yml no translation last_created

Hello @Splimet.  Pls, send your fixed PR

Fixed in this PR https://github.com/starchow/rails_admin-i18n/pull/48

close it


Please make it easier to add a node as the root for a scene that already has nodes in it

Operating system or device - Godot version:
ALL
Issue description:

it would be embarrassed that sometimes, I have already created a scene, and I just want to modify the scene to add a new node as the root and make the existed nodes as the child of the new root .(I did not mean to change the type of the root node), but it seems it's impossible to achieve this without creating a new scene to replace the current one.
Steps to reproduce:
Link to minimal example project:

I had the same problem, and my solution was to modified the .tscn file within a text editor.
Would be great to be able to do it simply in the GUI.

Could add a rmb option for this
On Jun 25, 2017 11:52 AM, "Geoffrey Mégardon"<EMAIL_ADDRESS>wrote:

I had the same problem, and my solution was to modified the .tscn file
within a text editor.
Would be great to be able to do it simply in the GUI.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/9363#issuecomment-310907118,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2_v1Ztu5mTjqoEWwfeIEm4JgKdkAks5sHnREgaJpZM4OEmpI
.

Related #337, #3723 (probably even duplicate of that latter).

Another option is to make a new scene and merge the bad one into it.
The rmb list is already too bloated on the tree, if this is added could be on the scene menu instead?

Why not use the reparent dialog? When user try to reparent root to other node just swap them.

Personally, when that happened to me, the first thing I tried to do is:

create a Node2D,
try to drag and drop my old branch (set of nodes) under the newly created Node2D.

Obviously, that did not work, and I was very surprised.
But my point is that this method seemed pretty natural to me, and it does not require the use of any menu.

Well, in my mind the simplest and most intuitive way to do this is by dragging any node to the very top of the scene-area (so that the first red line appears). And, then possibly show a confirmation dialog (with possible extra options) for making the dragged node the root?

I want to implement the "add node in place" function. The shortcut could be holding shift when clicking new node button. When no node or root node is selected, the editor would behave like the author described. When selecting node in tree, it'd add the selected nodes as child.
E.g. when adding Node2D in place
RigidBody2D
    [Sprite] (selected)
    CollisionShape2D

would become
RigidBody2D
    Node2D
        Sprite
    CollisionShape2D

I'm not sure how it should behave when nodes of multiple levels are selected.

One of the things I had tried (after dragging/dropping and looking in the RMB menu) was using the reparent dialog to set the intended root node's parent to itself, and another was to reparent the current root node to the intended one.  The latter of course wouldn't be able to work because the intended root node could have siblings.
I don't think "swap with" is general enough, or even useful enough.  Often users want to add a parent to the current root, and  swapping would actually be more work.  Consider this example:
root
  someChild
  newRoot

Swapping root and newRoot would make someChild now be a child of newRoot, when the default expected functionality would be nesting both root and someChild under root.
On a similar note, I thought of "make root node", but it's way too specific.  I like the dragging stuff people mentioned, and I'm sure that's what we all tried first.  But also I think we can come up with a sane way to make the reparent dialog handle this case.  Since that's, you know, it's purpose!

I keep needing this too -- I'm a newb, but there will always be newbs like me...

Just a thought, but wouldn't a "Copy/Paste Node Properties" feature (that will almost guaranteed be asked for at some point) achieve the same thing? You could copy the properties from the node you wanted to be the root and paste them to the node that is currently the root, then re-parent whatever is under the node you copied to the one you pasted to.

The multiple options to operate with nodes in the tree should be documented for new users (merge, copy properties, select and move multiple nodes).
Other engines do not let you touch the root (like, the Scene or Actor roots) and changing a root is not even a common tree operation, I think something like this, if implemented, should be discouraged.

Godot scene structure has no distinction as "root only nodes" so in theory all nodes can be root so a right mouse button option as suggested by @reduz is the most suitable way of achieving this for godot. UX considerations must be least concern since there are already duplicates on this issue.

@NathanWarden Note that this is the way it is currently done. It is not very useable unfortunately...

@bojidar-bg I'm not sure how that's the way it's currently done. I don't see anything that allows copying all of a node's properties and applying them to another one, unless I'm missing something?
Picture having a root node of type "Node" and a node under it with a type "Spatial". You could copy the Spatial node properties and paste it to the "Node" (or vice versa) and it will become "Spatial" with all the properties/resources/script that the "Spatial" you copied from.
It's maybe not the best way to get this particular problem solved, but would definitely be a more generalized way to solve a slew of problems with wrong node setups including this one.

@NathanWarden

If you change the root node type and copy/paste the params from another node, it's the same as replacing the root. But it's quite a convoluted process.

@vnen Ahhh, thanks. Yeah it is a little convoluted as that makes it like 7 or 8 steps to achieve :/

Dragging and dropping a node from child position to root position would be simpler and more natural (like shuffling cards). That way, all properties and any scripts stay attached.

As a newcomer I just encountered this, and thought a use case might be valuable:
I had created my first re-usable scene, and made a Sprite the root node. Later, I realized it needed to be animated, so I changed its type to AnimatedSprite. Finally, I realized I needed to detect collisions with the player, and wanted to insert a KinematicBody2D at the root, with the AnimatedSprite as one of its children.
I think this is a fairly natural progression for game devs: objects can initially represent "TODOs" that the dev intends to implement in the future. The ability to add functionality in scenes seems like a good way to evolve placeholders into full-featured objects that interact with the rest of the game.
The ability to re-parent a root node is just one necessary ability in a handful of features that can enable progressive game feature development.

Maybe a general Add Parent Node menu for any node would be straightforward and useful.

I can't believe how clumsy it is to change your mind about what the root node should be.  Just let me drag a child above the top node and reparent everything under it.

this was one of the first questions i had learning godot

As stated in #19035 there is now an option to make a child node the new root node.

Now you can use context menu on new parent node, and select "Make Scene Root"

For anyone looking for this feature now, I find that:

The fix mentioned by @mhilbrunner in 2018 in #19035 does not seem to still be available in 2024.
The current method seems to be this: first add into the scene somewhere (anywhere) the new node you want to be the new root, then right-click that node, and choose "Make Scene Root."

This method is not intuitive.  I had to google, find and read this issue to the very end, follow the link to the commit with a suggested fix, try it and find that it no longer works, come back here and read @xo6a 's very brief comment that hints at the right method, then go experiment it to see if I understood it correctly.  I'd highly recommend some improvement to this situation, such as a RMB option on the existing root (where people seem to look) that would do one of the highly-upvoted suggestions earlier in this thread.


Not able to switch projects in darwin build

Hi,
We work in multiple projects and constantly need to switch environments.
We maintain openrc files with connection parameters.
Typical switch flow on mac os goes like this:
source project/openrc  #sets env vars
kubernikusctl auth init  #merges credentials to ~/.kube/config
....should now be authenticated....
if you do the same thing again to a different project it does not properly authenticate as expected.
this is only happening in recent versions of kubernikusctl compiled for darwin.
I rolled back to an old version and it works as expected.
Is there a different way we should be using kubernikusctl to authenticate or is this truly unexpected behavior?

Hi frankejj,
I have a few questions to debug this:

what combination of credentials you are using to authenticate against Openstack?
is kubernikusctl auth refresh working?
what do you mean by old version of kubernikusctl? I mean 3 month old, 1 year ...

Hi,

I use my user id and credentials that are provisioned on cc ldap.
kubernikusctl auth refresh checks config and appears to work correctly but this does not seem relevant if I want to change my terminal context from one project to another.
I am not sure exactly when the behavior started to occur. The version that I have that is working well for my use case is from Jan, 2018.  (an early release on github.com) -- It does not support kubernikusctl version

I only learned of the issue now because I don't regularly update this executable and I got a new macbook. Another colleague of mine also had the same issue the other day because he had a new version. It seems if you clear out .kube/config and start fresh it authenticates and works but then if you try to switch it doesn't behave as expected.


CLOUD-548 added stack to map converter

@lpuskas

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1030/

lgtm


[Intermittent] 404 when loading the composer

 Issue by dilinisg
Wednesday Sep 27, 2017 at 14:42 GMT
Originally opened as https://github.com/ballerina-lang/composer/issues/3195

Release 0.93
404 is observed when trying to open the composer

 Comment by manjulaRathnayaka
Wednesday Sep 27, 2017 at 15:06 GMT

This happens because load balancer is not updated for newly created ballerina composer URLs. It takes 10seconds to appear. I am working on a fix to identify this and reload the page as a quick fix from load balancer level. To properly fix this usability issue, we have to increase the frequency of load balancer configuration updates.

This issue is no longer relevant.


Support "javaKeyType" for "additionalProperties" that will set the type in Map<???, Object>

This is useful if the key should not be a String.

Happy to accept a PR for this.

Clearing old feature requests that have not seen much interest.