[CSX] Another set() call in progress

Since a while we get more and more of these errors.
Is this due to a communication delay/problem when trying to set the fccd exposure after a dark?
The same plan (one_long()) was successfully executed already 3 time in a raw before generating the following problem..
Gain bit set to 2 for a gain value of x1

Transient Scan ID: 110850     Time: 2018/10/26 01:57:19
Persistent Unique Scan ID: '0a9a4ce2-7dcc-4945-bec7-dfc77f048620'
New stream: 'baseline'
New stream: 'primary'
+-----------+------------+-------------------+-------------------+-------------------+-------------------+
|   seq_num |       time | fccd_stats1_total | fccd_stats2_total | fccd_stats3_total | fccd_stats4_total |
+-----------+------------+-------------------+-------------------+-------------------+-------------------+
|         1 | 01:58:47.4 |         -79923382 |         -80033559 |        -651008475 |       -5246340033 |
+-----------+------------+-------------------+-------------------+-------------------+-------------------+
generator count ['0a9a4ce2'] (scan num: 110850)

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

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
~/Beamline/Commissioning/2018_10/20181025_evening.py in <module>()
----> 1 RE(night_plan())

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/run_engine.py in __call__(self, *args, **metadata_kw)
    668                     # it (unless it is a canceled error)
    669                     if exc is not None:
--> 670                         raise exc
    671
    672             if self._interrupted:

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
   1118             self.log.error("Run aborted")
   1119             self.log.error("%r", err)
-> 1120             raise err
   1121         finally:
   1122             # Some done_callbacks may still be alive in other threads.

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
    996                         try:
    997                             msg = self._plan_stack[-1].throw(
--> 998                                 self._exception)
    999                         except Exception as e:
   1000                             # The current plan did not handle it,

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in __call__(self, plan)
   1236         plan = monitor_during_wrapper(plan, self.monitors)
   1237         plan = baseline_wrapper(plan, self.baseline)
-> 1238         return (yield from plan)

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in baseline_wrapper(plan, devices, name)
   1092         return (yield from plan)
   1093     else:
-> 1094         return (yield from plan_mutator(plan, insert_baseline))
   1095
   1096

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
     73             # if we have a stashed exception, pass it along
     74             try:
---> 75                 msg = plan_stack[-1].throw(exception)
     76             except Exception as e:
     77                 # if we catch an exception,

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in monitor_during_wrapper(plan, signals)
    722     plan1 = plan_mutator(plan, insert_after_open)
    723     plan2 = plan_mutator(plan1, insert_before_close)
--> 724     return (yield from plan2)
    725
    726

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
     73             # if we have a stashed exception, pass it along
     74             try:
---> 75                 msg = plan_stack[-1].throw(exception)
     76             except Exception as e:
     77                 # if we catch an exception,

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
     73             # if we have a stashed exception, pass it along
     74             try:
---> 75                 msg = plan_stack[-1].throw(exception)
     76             except Exception as e:
     77                 # if we catch an exception,

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in fly_during_wrapper(plan, flyers)
    780     plan1 = plan_mutator(plan, insert_after_open)
    781     plan2 = plan_mutator(plan1, insert_before_close)
--> 782     return (yield from plan2)
    783
    784

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
     73             # if we have a stashed exception, pass it along
     74             try:
---> 75                 msg = plan_stack[-1].throw(exception)
     76             except Exception as e:
     77                 # if we catch an exception,

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
     73             # if we have a stashed exception, pass it along
     74             try:
---> 75                 msg = plan_stack[-1].throw(exception)
     76             except Exception as e:
     77                 # if we catch an exception,

~/Beamline/Commissioning/2018_10/20181025_evening.py in night_plan()
     12     # snaking test
     13     yield from one_long(snaking=1)
---> 14     yield from one_long()
     15     # Escan test
     16     yield from EfixQ(dets,706.5,705,1,Eshift=0.0)

~/Beamline/Commissioning/2018_10/20181025_evening.py in one_long(snaking)
     28
     29 def one_long(snaking = 0): #2h
---> 30     yield from mv(fccd.exposure,(.2,0,5))
     31     olog('Ptycho #{} at sample position (x:{:.4f}, y:{:.4f}), {:.2f} K, {:.3f} eV'.format((db[-1].get('start').get('scan_id'))+1,sx.user_readback.value,sy.readback.value,stemp.temp.B.T.value,pgm.energy.readback.value))
     32     yield from relative_outer_product_scan(dets,nanop.bz,-0.01,0.01,41,nanop.bx,-0.01,0.01,41,snaking)

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/plan_stubs.py in mv(*args)
    240     step, = utils.merge_cycler(cyl)
    241     for obj, val in step.items():
--> 242         ret = yield Msg('set', obj, val, group=group)
    243         status_objects.append(ret)
    244     yield Msg('wait', None, group=group)

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    161         try:
    162             # yield out the 'current message' and collect the return
--> 163             inner_ret = yield msg
    164         except GeneratorExit:
    165             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    161         try:
    162             # yield out the 'current message' and collect the return
--> 163             inner_ret = yield msg
    164         except GeneratorExit:
    165             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    161         try:
    162             # yield out the 'current message' and collect the return
--> 163             inner_ret = yield msg
    164         except GeneratorExit:
    165             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    161         try:
    162             # yield out the 'current message' and collect the return
--> 163             inner_ret = yield msg
    164         except GeneratorExit:
    165             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    161         try:
    162             # yield out the 'current message' and collect the return
--> 163             inner_ret = yield msg
    164         except GeneratorExit:
    165             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
   1068                         # exceptions (coming in via throw) can be
   1069                         # raised
-> 1070                         response = yield from coro(msg)
   1071                     # special case `CancelledError` and let the outer
   1072                     # exception block deal with it.

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/asyncio/coroutines.py in coro(*args, **kw)
    208         @functools.wraps(func)
    209         def coro(*args, **kw):
--> 210             res = func(*args, **kw)
    211             if (base_futures.isfuture(res) or inspect.isgenerator(res) or
    212                 isinstance(res, CoroWrapper)):

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/run_engine.py in _set(self, msg)
   1822         group = kwargs.pop('group', None)
   1823         self._movable_objs_touched.add(msg.obj)
-> 1824         ret = msg.obj.set(*msg.args, **kwargs)
   1825         p_event = asyncio.Event(loop=self.loop)
   1826         pardon_failures = self._pardon_failures

/epics/xf/23id/ipython/profile_collection/startup/csx1/devices/areadetector.py in set(self, exp)
    195             self.parent.dg1.D.set(dd)
    196             self.parent.dg1.E.set(ee)
--> 197             self.parent.dg1.F.set(ff)
    198             self.parent.dg1.G.set(gg)
    199             self.parent.dg1.H.set(hh)

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/ophyd/signal.py in set(self, value, timeout, settle_time)
    928         '''
    929         if not self._put_complete:
--> 930             return super().set(value, timeout=timeout, settle_time=settle_time)
    931
    932         # using put completion:

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/ophyd/signal.py in set(self, value, timeout, settle_time)
    179
    180         if self._set_thread is not None:
--> 181             raise RuntimeError('Another set() call is still in progress')
    182
    183         st = Status(self)

RuntimeError: Another set() call is still in progress

If I remember it correctly, once this errors hits, we are unable to get back in control of the device. Up to now the restart of BS is the only solution I know.
Two questions:

Does this reply to your point?
Do you have an alternative way of getting out of the impasse, other than restarting BS I mean?
Please let me know. Thanks.

It's Wen at CSX beamline now.
The issue Claudio reported above became urgent problem for CSX right now. We can only set FastCCD exposure for one time and error shows immediately for the second time. See below. For this, we cannot do any user operation.
Can someone please have a look?
Versions of DAMA software:

    - Bluesky    : v1.1.0
    - Ophyd      : v1.0.0
    - Databroker : v0.9.4

Links to Bluesky and Databroker tutorials:

    - http://nsls-ii.github.io/bluesky/tutorial.html
    - http://nsls-ii.github.io/databroker/tutorial.html

If you get lost or confused, then we want to know! We have a friendly chat channel:

    https://gitter.im/NSLS-II/DAMA

or you can file a bug to let us know where our documentation could be made more clear:

    https://github.com/NSLS-II/Bug-Reports/issues

bsui is running these commands now to start an interactive computing environment for data acquisition:
    $ conda activate collection-2018-1.0.1
    $ ipython --profile=collection

Activating auto-logging. Current session state plus future input saved.
Filename       : /epics/xf/23id/ophyd/logs/xf23id1_log.py
Mode           : append
Output logging : False
Raw input log  : False
Timestamping   : False
State          : active
Python 3.6.2 |Continuum Analytics, Inc.| (default, Jul 20 2017, 13:51:32)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.

IPython profile: collection
Using matplotlib backend: Qt5Agg
Loading metadata history from /home/xf23id1/.config/bluesky/bluesky_history.db
/epics/xf/23id/ipython/profile_collection/startup/csx1/startup/__init__.py:4: PyGIWarning: Hkl was imported without specifying a version first. Use gi.require_version('Hkl', '5.0') before import to ensure that the right version gets loaded.
  from .endstation import *
/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/suspenders.py:505: UserWarning: bluesky.suspenders.SuspendOutBand is deprecated.
  warn("bluesky.suspenders.SuspendOutBand is deprecated.")
/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/ophyd/device.py:738: UserWarning: 'signal_names' has been renamed 'component_names' for clarity because it may include a mixture of Signals and Devices -- any Components. This alias may be removed in a future release of ophyd.
  warnings.warn("'signal_names' has been renamed 'component_names' for "

In [1]: %run -i startup.py

In [2]: RE(mv(fccd.exposure,(0.1, 0, 1)));

In [3]: RE(mv(fccd.exposure,(0.1, 0, 1)));
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
~/Beamline/Commissioning/2018_11/startup.py in <module>()
----> 1 RE(mv(fccd.exposure,(0.1, 0, 1)));

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/run_engine.py in __call__(self, *args, **metadata_kw)
    668                     # it (unless it is a canceled error)
    669                     if exc is not None:
--> 670                         raise exc
    671
    672             if self._interrupted:

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
   1118             self.log.error("Run aborted")
   1119             self.log.error("%r", err)
-> 1120             raise err
   1121         finally:
   1122             # Some done_callbacks may still be alive in other threads.

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
    996                         try:
    997                             msg = self._plan_stack[-1].throw(
--> 998                                 self._exception)
    999                         except Exception as e:
   1000                             # The current plan did not handle it,

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in __call__(self, plan)
   1236         plan = monitor_during_wrapper(plan, self.monitors)
   1237         plan = baseline_wrapper(plan, self.baseline)
-> 1238         return (yield from plan)

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in baseline_wrapper(plan, devices, name)
   1092         return (yield from plan)
   1093     else:
-> 1094         return (yield from plan_mutator(plan, insert_baseline))
   1095
   1096

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
     73             # if we have a stashed exception, pass it along
     74             try:
---> 75                 msg = plan_stack[-1].throw(exception)
     76             except Exception as e:
     77                 # if we catch an exception,

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in monitor_during_wrapper(plan, signals)
    722     plan1 = plan_mutator(plan, insert_after_open)
    723     plan2 = plan_mutator(plan1, insert_before_close)
--> 724     return (yield from plan2)
    725
    726

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
     73             # if we have a stashed exception, pass it along
     74             try:
---> 75                 msg = plan_stack[-1].throw(exception)
     76             except Exception as e:
     77                 # if we catch an exception,

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
     73             # if we have a stashed exception, pass it along
     74             try:
---> 75                 msg = plan_stack[-1].throw(exception)
     76             except Exception as e:
     77                 # if we catch an exception,

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in fly_during_wrapper(plan, flyers)
    780     plan1 = plan_mutator(plan, insert_after_open)
    781     plan2 = plan_mutator(plan1, insert_before_close)
--> 782     return (yield from plan2)
    783
    784

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
     73             # if we have a stashed exception, pass it along
     74             try:
---> 75                 msg = plan_stack[-1].throw(exception)
     76             except Exception as e:
     77                 # if we catch an exception,

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
     73             # if we have a stashed exception, pass it along
     74             try:
---> 75                 msg = plan_stack[-1].throw(exception)
     76             except Exception as e:
     77                 # if we catch an exception,

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/plan_stubs.py in mv(*args)
    240     step, = utils.merge_cycler(cyl)
    241     for obj, val in step.items():
--> 242         ret = yield Msg('set', obj, val, group=group)
    243         status_objects.append(ret)
    244     yield Msg('wait', None, group=group)

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    161         try:
    162             # yield out the 'current message' and collect the return
--> 163             inner_ret = yield msg
    164         except GeneratorExit:
    165             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    161         try:
    162             # yield out the 'current message' and collect the return
--> 163             inner_ret = yield msg
    164         except GeneratorExit:
    165             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    161         try:
    162             # yield out the 'current message' and collect the return
--> 163             inner_ret = yield msg
    164         except GeneratorExit:
    165             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    161         try:
    162             # yield out the 'current message' and collect the return
--> 163             inner_ret = yield msg
    164         except GeneratorExit:
    165             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/preprocessors.py in plan_mutator(plan, msg_proc)
    161         try:
    162             # yield out the 'current message' and collect the return
--> 163             inner_ret = yield msg
    164         except GeneratorExit:
    165             # special case GeneratorExit.  We must clean up all of our plans

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
   1068                         # exceptions (coming in via throw) can be
   1069                         # raised
-> 1070                         response = yield from coro(msg)
   1071                     # special case `CancelledError` and let the outer
   1072                     # exception block deal with it.

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/asyncio/coroutines.py in coro(*args, **kw)
    208         @functools.wraps(func)
    209         def coro(*args, **kw):
--> 210             res = func(*args, **kw)
    211             if (base_futures.isfuture(res) or inspect.isgenerator(res) or
    212                 isinstance(res, CoroWrapper)):

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/bluesky/run_engine.py in _set(self, msg)
   1822         group = kwargs.pop('group', None)
   1823         self._movable_objs_touched.add(msg.obj)
-> 1824         ret = msg.obj.set(*msg.args, **kwargs)
   1825         p_event = asyncio.Event(loop=self.loop)
   1826         pardon_failures = self._pardon_failures

/epics/xf/23id/ipython/profile_collection/startup/csx1/devices/areadetector.py in set(self, exp)
    202
    203             # Set AreaDetector
--> 204             self.parent.cam.acquire_time.set(Efccd)
    205
    206         # Now do period

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/ophyd/signal.py in set(self, value, timeout, settle_time)
    928         '''
    929         if not self._put_complete:
--> 930             return super().set(value, timeout=timeout, settle_time=settle_time)
    931
    932         # using put completion:

/opt/conda_envs/collection-2018-1.0.1/lib/python3.6/site-packages/ophyd/signal.py in set(self, value, timeout, settle_time)
    179
    180         if self._set_thread is not None:
--> 181             raise RuntimeError('Another set() call is still in progress')
    182
    183         st = Status(self)

RuntimeError: Another set() call is still in progress

In [4]:

What has changed in your profile or the IOC in the last week or so?

Which underlying signal is getting stuck?

Try using this plan istead

def set_exposure(fccd, exp):
    # Exposure time = 0
    # Cycle time = 1
    Tc = 0.004
    To = 0.0035
    readout = 0.080

    if exp[0] is not None:
        Efccd = exp[0] + Tc + To
        # To = start of FastCCD Exposure
        aa = 0                          # Shutter open
        bb = Efccd - Tc + aa      # Shutter close
        cc = To * 3               # diag6 gate start
        dd = exp[0] - (Tc * 2)    # diag6 gate stop
        ee = 0                          # Channel Adv Start
        ff = 0.001                      # Channel Adv Stop
        gg = To                   # MCS Count Gate Start
        hh = exp[0] + To          # MCS Count Gate Stop

        # Set delay generator
        yield from bp.mv(fccd.dg1.A, aa)
        yield from bp.mv(fccd.dg1.B, bb)
        yield from bp.mv(fccd.dg1.C, cc)
        yield from bp.mv(fccd.dg1.D, dd)
        yield from bp.mv(fccd.dg1.E, ee)
        yield from bp.mv(fccd.dg1.F, ff)
        yield from bp.mv(fccd.dg1.G, gg)
        yield from bp.mv(fccd.dg1.H, hh)
        yield from bp.mv(fccd.dg2.A, 0)
        yield from bp.mv(fccd.dg2.B, 0.0005)

        # Set AreaDetector
        yield from bp.mv(fccd.cam.acquire_time, Efccd)

    # Now do period
    if exp[1] is not None:
        if exp[1] < (Efccd + self._readout):
            p = Efccd + self._readout
        else:
            p = exp[1]

    yield from bp.mv(fccd.cam.acquire_period, p)

    if exp[2] is not None:
        yield from bp.mv(fccd.cam.num_images, exp[2])

The issue is that in your custom set ( https://github.com/NSLS-II-CSX/xf23id1_profiles/blob/8fe44bcd546f8021bf9f5eca2a55954b39bf3de8/profile_collection/startup/csx1/devices/areadetector.py#L175-L218 ) you are calling set on all of the signal, but not actually waiting for them to finish.  Given that I have been told restarting the IOC fixed the problem, I suspect something went sideways on the IOC and this exception was an indication that you were not actually setting the camera the way you thought you were.
I think and ing all of the status objects you generate in that set together and returning that would also work, but I think shifting to plan is easier to debug / test.

This is not bluesky bug, it is either in the beamline IOC or in the beamline profile, closing.

It is important to note that this error goes away when running the detector slow enough.  SO if the acquire period is < 0.3s, then we run the risk of this error occurring .  It doesn't always occur if the acquire pries is <0.3s.


Why is the generated picture so blurred

Why is the generated picture so blurred
http://html2canvas.hertzen.com/ click capture

Probably because of the downscaled canvas.

But generally this isn't a problem.


Changes keys bindings

Mac OS have system bind Ctrl+Space and Ctrl+Slash

mac os keybindings, use Ctrl+Space change the Input type

Yes, this change input type or run spotlight

Awesome, this makes sense. Can you make two more adjustments?

Allow both the original key bindings and the new keybindings for now since there are already users used to the existing bindings.
Update the key hints to show the new keybindings: https://github.com/wagoodman/dive/blob/master/ui/statusview.go#L79-L80

I don't know how to do? Do you have warrants how to do this?
No problem.

Yeah, instead of modifying the existing keybinding lines you can duplicate them (lines 149-154) and make your modifications to the duplicated statements.

Done

That's interesting... on my mac, the system key binding for Spotlight is CMD+SPACE. I am not sure about changing input type, that must be an i18n issue :)

@TJM https://support.apple.com/en-us/HT201236

Command–Space bar: Show or hide the Spotlight search field. To perform a Spotlight search from a Finder window, press Command–Option–Space bar. (If you use multiple input sources to type in different languages, these shortcuts change input sources instead of showing Spotlight. Learn how to change a conflicting keyboard shortcut.)

@slash-cyberpunk Yes, that seems to match what I am seeing, without multiple inputs configured, I get the search window. Since you can't possibly account for all possible system shortcut keys that someone might setup, maybe it would be best to have a "config" file? (~/.diverc ?)
Although, I do feel like "" is a better key for switching views. :)

Thanks @slash-cyberpunk for the contribution, I think I'll be revisiting keybindings in the near future.


Update DialogueSwitchNode.cs

Fixed the directory to find the case_text.tscn file in for adding a case option to an Input Switch node in the graph.

Thanks!


Support configuration for simplification starts

Issue https://github.com/mapzen/vector-datasource/issues/130

:+1:


Non-translated media fields display as empty

Description of the issue:
On a site with translated media fields, using a non-translated media field will display the field as empty in the edit form even though it is saved correctly in the database and holds data.
Steps to reproduce:

Enable translated media form fields by setting twill.media_library.translated_form_fields to true
Add a non-translated media form field to a module form by setting its translated parameter to false
Open the edit form for a single entry of that module
Attach an image from the media library to the non-translated media field
Save changes
Reload browser window

Expected behavior:
The media relation is saved in the database and displayed in the edit form on reload.
Actual behavior:
The media relation is saved correctly but the media form field is empty on reload.
Notes:
I think the translated_form_fields shouldn't be global. Some fields require it, some don't, so there should be a way of overriding the global setting for single fields. Twill's data structure is set up well for handling this. It's probably a question of how to detect the data format.

Same issue here... Activating translated_form_fields on an existing project breaks the already defined media fields

Same here, Does anyone have a solution to this issue?

Same issue here... Activating translated_form_fields on an existing project breaks the already defined media fields

It is not a minor issue. If  anyone have an existing project and wants to add a specific translatable media field in a specific page controller, setting media translation globally just breaks all media fields in the project. Translations behavior in the media field should be the same as in any other field. Is there any solution for this?


Adapt themes evenly to all or most interfaces

I've seen the ISO dev of mocaccinoOS, but did not like the themes much compared to the standard
Could you know if you are interested in adapting the themes for both plasma kde and gnome and other interfaces (as far as possible) more at least consistently?

Not for the moment. We lack money and people to do that.

Thank you, when mocaccinoOS is ready you may ask again about the Themes


Add share speaker info function

For GCI, by Lee Wei Jie

@leeweijie Please squash commits.

@leeweijie Please read [this] (https://davidwalsh.name/squash-commits-git) for squashing and also remove the Merge commit. Thanks!

Oh okay. Closing this one since you have created a new PR.


t2 root

@johnnyman727 please take a look at both commit comments and additional requests on slack :smile:

thanks for your submission.  I have not followed all of this, but could you add a brief description in the PR so anyone can see quickly grok the context of this PR (help for historical reasons as well)?  might I also suggest that you remove all code that's been commented out?  it's confusing for a code reviewer and should not be in the deployed codebase.

In addition to @wprater's valid comments, I've added some suggestions to the code as well. Thanks for contributing @Student007!

@wprater sorry - I was in a harry and fretful of someone will change things while I am preparing my pull request. As you can see ... there are conflicts wasn't there yesterday.

you can rebase from master and fix them.  they are probably from the
changes I made today.  should not be so tough to fix?
On Tue, Sep 15, 2015 at 12:44 AM Student007<EMAIL_ADDRESS>wrote:

@wprater https://github.com/wprater sorry - I was in a harry and
fretful of someone will change things while I am preparing my pull request.
As you can see ... there are conflicts wasn't there yesterday.
—
Reply to this email directly or view it on GitHub
https://github.com/tessel/t2-cli/pull/307#issuecomment-140309755.

@Student007 I was away for the weekend but will try to provide more feedback tomorrow. Still digging through emails.

@Student007 I went through and added more feedback! Let me know if you need help rebasing or making suggested changes.

@Student007 what else do we need to get this PR merged?

Closing in favor of #453.


"image global feature" and "image global feature" in Figure 3

How should I understand the "image global feature" and "image global feature" in Figure 3 of the paper?

I think the structure of CLIP can help you address this issue. For the ViT architecture of CLIP's visual encoder, the input is [CLS] and HW patches. The last output hidden states corresponding to [CLS] are "image global feature", which is 1D tensor and contains global semantics of images. The last output hidden states corresponding to HW patches are "image spatial feature", which is 3D tensor and contains spatial semantics of images.

I think the structure of CLIP can help you address this issue. For the ViT architecture of CLIP's visual encoder, the input is [CLS] and H*W patches. The last output hidden states corresponding to [CLS] are "image global feature", which is 1D tensor and contains global semantics of images. The last output hidden states corresponding to H*W patches are "image spatial feature", which is 3D tensor and contains spatial semantics of images.

I think the structure of CLIP can help you address this issue. For the ViT architecture of CLIP's visual encoder, the input is [CLS] and HW patches. The last output hidden states corresponding to [CLS] are "image global feature", which is 1D tensor and contains global semantics of images. The last output hidden states corresponding to HW patches are "image spatial feature", which is 3D tensor and contains spatial semantics of images.

In the code, you use image global feature?

The image spatial feature is used in cross-attention architecture and the injection location is raw image in table 3. The provided code has the best performance in table 3, which not uses visual spatial feature.


Question: Multiple DB Functions (PostGis->MongoDb)?

Hi Folks, before now this wasn't possible and I had to have two databases/servers/APIs. One for Parse and one for my PostGis server.
My PostGis stuff is very small (25mb) and I can't see it ever growing over 500mb. I think MongoDB supports GIS functions? What if I wanted to store the data in Parse's MongoDB? Would it play well together? Could I restructure the PostGis tables as a Parse class but have an additional field for the geometry? I don't need to access the geometry from Parse but it would be very helpful to maintain/access the other fields/columns instead of managing the same data two places.
Please tell me which options are possible:

Store the data in MongoDB in it's own table (only need to manage one database)
Store the data in MongoDB as a Parse Class + have Parse SDK's be able to read/write all fields except geometry

I understand I'll have to rewrite my Django Postgis API to read MongoDB table.

Those are both possible however MongoDB's support for geometry queries is only OK, and certainly not as good as PostGIS. I'd recommend checking if your queries will be possible and performant in MongoDB before investing in a migration off of PostGIS.

@drew-gross Thanks Drew! Really appreciate the guidance.


add meatsac blog

You want to add your news to this huge list!
That's great.  I'd love to add it.  If you can share where your content is I'd love to only link to it.  To do this I need the way to get the data.
If you have a RSS feed, that works best.  However if I have to get it differently I can do that too, I just need to know where this data is.

Title: meatsac
Category: Blog
RSS Link or Other Endpoint: https://meatsac.github.io/feed.xml

Added


ECS batch task failed

I have build this template and had run some eventbridge ruls TemplateappBatch with scheduled times (* indicates my custom settings and random ids) .
However these ruls had failed and below  ECS task logs were made by above eventbridge.
I'm wondering "root.pem" file is set in this templates?
-------- ECS task logs ------
2023/5/8 18:22:51	Traceback (most recent call last):	BatchEcsContainer
2023/5/8 18:22:51	Database connection failed due to connection to server at "templateappbase-auroraclusterd.cluster-*.ap-northeast-1.rds.amazonaws.com" (<IP_ADDRESS>), port 5432 failed: root certificate file "./root.pem" does not exist	BatchEcsContainer
2023/5/8 18:22:51	Either provide the file or change sslmode to disable server certificate verification.	BatchEcsContainer
2023/5/8 18:22:51	File "/usr/src/app/./src/sample/batch.py", line 46, in 	BatchEcsContainer
2023/5/8 18:22:51	if len(query_results) > 0:	BatchEcsContainer
2023/5/8 18:22:51	NameError: name 'query_results' is not defined

@NoriSumi
Thank you for sharing your issue and sorry for late replying.
root.pem is downloaded during building docker image at local environment(like your laptop, etc).
Please refer to here.
And this Dockerfile will be built during cdk deployment, refer to here and here
So, your local environment that you invoke deploy command should connect to internet.
And sorry for lack of requirement, you need Docker in your local environment.
Could you check your local environment( available to connect to internet and installed docker) and the deploy logs whether deployment was success or not?


feat: support Mermaid charts

To make it easy to add charts to pages, let's add support for Mermaid via mermaid-py: https://mermaidpy.vercel.app/.
See the docs on how to write a Markdown plugin as a starting point: https://blurry-docs.netlify.app/plugins/write-a-markdown-plugin/
It could be good to export the Mermaid chart as an SVG: https://github.com/ouhammmourachid/mermaid-py/blob/main/tests/test_mermaid.py#L46

I'll take a look!


Network Trace sample

Is sample code available? I dont see the project files on the Github repository. Thx. Looking forward to using this widget.

It is in development and the current code base is in the dev branch.  It is not complete and/or released yet.

Thanks.  Just spoke to Pat Dolan a few minutes ago at Link about this. Sounds like a widget will be available this year. Thanks for providing the widget,  been wanting network trace in the field for a long time. I like the web deployment model for AGOL.

The widget is based off this app if you want to take it for a test drive - http://solutions.arcgis.com/utilities/water/help/web-isolation-trace/

Thank you.


from_second_ceil panics if input is too big

We add 512 internally in the function so calling this with input 0xffff_ffff panics - should it error since we have an overflow error already?
    /// Creates a [`Time`] from seconds, converting the seconds into 512 second intervals with
    /// ceiling division.
    ///
    /// # Errors
    ///
    /// Will return an error if the input cannot be encoded in 16 bits.
    #[inline]
    #[rustfmt::skip] // moves comments to unrelated code
    pub const fn from_seconds_ceil(seconds: u32) -> Result<Self, TimeOverflowError> {
        let interval = (seconds + 511) / 512;
        if interval <= u16::MAX as u32 { // infallible cast, needed by const code
            Ok(Time::from_512_second_intervals(interval as u16)) // cast checked above, needed by const code
        } else {
            Err(TimeOverflowError { seconds })
        }
    ```

Oops, damn. No, it should definitely return an overflow error rather than panicing.
I guess we should replace the + with a checked_add that converts the None case to a TimeOverflowError.

I'd prefer reordering the overflow check:
if seconds <= u16::MAX as u32 * 512 {
    let interval = (seconds + 511) / 512;
    Ok(Time::from_512_second_intervals(interval as u16)) // cast checked above, needed by const code
} else {
    Err(TimeOverflowError { seconds })
}

Ooh, yeah, I like that better.

this is a dumb/newbie question, but is there something preventing us from modifying the function to accept a u16 instead of a u32 instead? that way we wouldn't have to do the conversion


Create codeql-analysis.yml

Add Github CodeQL security checks for Go and Python.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[X] Security
[X] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
[X] Does not have any changes that may affect Istio users.

Hi @jfcg. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

CodeQL has many checks, beneficial for web apps especially. An example for list of checks done: https://github.com/jfcg/sorty/runs/2319161287

I don't think we want to add a dependency on github actions.
Additionally, we already run a pretty large set of linters so it would be good to understand why this is better

it is not a replacement for existing checks, and it does not have to be required for merging, but two eyes are better than one. maybe it'll catch something you are not checking.

Btw in my fork under /security/code-scanning I see:


update option model API to report num actions

For pybullet it'll be an underestimate (1 instead of like 50+), right? So if planning with this, the agent will optimistically produce plans that it thinks are within the horizon, but actually exceed it. It will therefore fail in main.py with the error "Policy failed to reach goal" -- right? Should be fine.
cc @NishanthJKumar


pull request for e2e test at 11/16/2016 02:15:10

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

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


To use sum of square

https://github.com/Timo9Madrid7/maliciousfl/blob/a6331a8a7c3dc4c96154301c4fc53ed92bda0378/Common/Server/server_handler.py#L319

[x] To add np.square()


The Issuer now becomes Ready=False when ingressClassName is not found

This PR partly fixes https://github.com/jetstack/cert-manager/issues/4537.
Since we added support for Ingress v1, we have slightly changed the semantics of the class field:
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
  name: letsencrypt
spec:
  acme:
    email<EMAIL_ADDRESS>    server: https://acme-v02.api.letsencrypt.org/directory
    privateKeySecretRef:
      name: letsencrypt
    solvers:
      - http01:
          ingress:
            class: traefik # ⚠

Before cert-manager 1.5.0, this field meant that the annotation kubernetes.io/ingress.class would be set on the v1beta1 Ingress used with the solver pod.
Since cert-manager 1.5.0, if your Kubernetes cluster is recent enough (1.21 and above), cert-manager creates an Ingress v1 instead. Since the annotation was deprecated with Ingress v1, it made sense for us to use the field spec.ingressClassName instead.
Unfortunately, this change is breaking: users who used to not have to create an IngressClass are now forced to create one and there is no indication that you should create one. As an example, I spent well over 2 hours this afternoon trying to understand why the solver Ingress wasn't being picked up by Traefik.
In this PR, I suggest that we mark the Issuer (and ClusterIssuer) "unready" when the class refers to an IngressClass that cannot be found.
With this change, it will become easy to find the source of the issue by either looking at the CertificateRequest or the Issuer. For example, cmctl shows this:
$ cmctl status certificate example
...
Issuer:
  Name: letsencrypt
  Kind: Issuer
  Conditions:
    Ready: False, Reason: InvalidConfig, Message: the IngressClass "traefik" does not exist, please create it
CertificateRequest:
  Name: example-c8wzg
  Namespace: default
  Conditions:
    Approved: True, Reason: cert-manager.io, Message: Certificate request has been approved by cert-manager.io
  Ready: False, Reason: Pending, Message: Referenced issuer does not have a Ready status condition
  Events:
    Type    Reason           Age   From          Message
    ----    ------           ----  ----          -------
    Normal  cert-manager.io  39s   cert-manager  Certificate request has been approved by cert-manager.io
    Normal  IssuerNotReady   39s   cert-manager  Referenced issuer does not have a Ready status condition

With kubectl get issuers, it looks like this:
$ kubectl get issuer -owide
NAME          READY   STATUS                                                        AGE
letsencrypt   False   the IngressClass "traefik" does not exist, please create it   179m

A message also shows in the cert-manager logs:
E0107 16:44:13.263031 1687571 setup.go:111] cert-manager/issuers "msg"="no IngressClass found"
"error"="the IngressClass \"traefik\" does not exist, please create it"

The Issuer Ready=False looks like this:
kind: Issuer
status:
  conditions:
  - message: the IngressClass "traefik" does not exist, please create it
    observedGeneration: 2
    reason: InvalidConfig
    status: "False"
    type: Ready

/kind feature
/area acme/http01
Notes to the reviewer:

No tests have been written yet since I am looking for feedback on the idea at this point.
Right now, Issuer objects are not reconciled when IngressClass objects are added/modified, which means you will have to force the reconciliation of your Issuer after getting Ready=False.

A few thoughts:

when was IngressClass actually introduced?
is there an actual requirement for an IngressClass to exist? I believe not.. a user could run an older version of an ingress controller (or their own custom version) which doesn't require this to be created
marking the entire Issuer not-ready if a single solver refers to an 'unknown' class is a very heavy hammer, and a breaking change for users. They may be using a DNS01 solver instead of this particular HTTP01 solver, and so I think it's not a good idea to mark it as not ready altogether.

If we are going to do this, I think adding a Warning event on the Challenge resource or something similar might make more sense? As this is the point where a single solver is actually selected for solving with. We could also be 'permissive' and still attempt to proceed, whilst firing a Warning event to inform the user for those cases where this is stopping the challenge completing.

During yesterday's biweekly meeting, it has been decided that:

We are going to revert to using the annotation instead of ingressClassName for 1.6 and 1.7.
We have decided not to backport to 1.5 because it is going to cause more work; instead, we will be adding a big red warning on the 1.4 -> 1.5 as well as the 1.5 release notes about the fact that you should skip 1.5 and jump directly to 1.6 due to the ingressClassName regression.

Therefore I will now close this PR.


Invalid authorization code error when trying to use Authorization Code and Google Plus

Hello.
I'm trying to obtain id and access tokens using IdentityServer and Authorization Code grant. For start point I decide to use Quickstart #4: Adding external Authentication. I modify Config.cs GetClients in QuickstartIdentityServer like this:
// OpenID Connect implicit flow client (MVC)
new Client
{
    ClientId = "mvc",
    ClientName = "MVC Client",
    AllowedGrantTypes = GrantTypes.CodeAndClientCredentials,

    RedirectUris =
    {
        "http://localhost:5002/signin-oidc",
        "http://localhost:5002"
    },
    PostLogoutRedirectUris =
    {
        "http://localhost:5002/signout-callback-oidc"
    },

    ClientSecrets =
    {
        new Secret("secret".Sha256())
    },

    AllowedScopes =
    {
        IdentityServerConstants.StandardScopes.OpenId,
        IdentityServerConstants.StandardScopes.Profile,
        "api1"
    },
    AllowAccessTokensViaBrowser = true
}

I used Postman to test IdentityServer like this:

It works fine when I use Local Login. I mean, Postman shows me Login page of IdentityServer and then I put user credentials and press login I get access and id tokens.
But if I try to login using Google, I get an error. Postman Console shows me invalid_grant and in logs of my example I get this:
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://localhost:5000/connect/authorize?response_type=code&state=abc&client_id=mvc&scope=api1%20openid%20profile&redirect_uri=http%3A%2F%2Flocalhost%3A5002
info: IdentityServer4.Hosting.IdentityServerMiddleware[0]
      Invoking IdentityServer endpoint: IdentityServer4.Endpoints.AuthorizeEndpoint for /connect/authorize
info: IdentityServer4.Endpoints.AuthorizeEndpoint[0]
      ValidatedAuthorizeRequest
      {
        "ClientId": "mvc",
        "ClientName": "MVC Client",
        "RedirectUri": "http://localhost:5002",
        "AllowedRedirectUris": [
          "http://localhost:5002/signin-oidc",
          "http://localhost:5002"
        ],
        "SubjectId": "anonymous",
        "ResponseType": "code",
        "ResponseMode": "query",
        "GrantType": "authorization_code",
        "RequestedScopes": "api1 openid profile",
        "State": "abc",
        "Raw": {
          "response_type": "code",
          "state": "abc",
          "client_id": "mvc",
          "scope": "api1 openid profile",
          "redirect_uri": "http://localhost:5002"
        }
      }
info: IdentityServer4.ResponseHandling.AuthorizeInteractionResponseGenerator[0]
      Showing login: User is not authenticated
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 24.1604ms 302
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://localhost:5000/account/login?returnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fresponse_type%3Dcode%26state%3Dabc%26client_id%3Dmvc%26scope%3Dapi1%2520openid%2520profile%26redirect_uri%3Dhttp%253A%252F%252Flocalhost%253A5002
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
      Executing action method IdentityServer4.Quickstart.UI.AccountController.Login (QuickstartIdentityServer) with arguments (/connect/authorize/callback?response_type=code&state=abc&client_id=mvc&scope=api1%20openid%20profile&redirect_uri=http%3A%2F%2Flocalhost%3A5002) - ModelState is Valid
info: Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.ViewResultExecutor[1]
      Executing ViewResult, running view at path /Views/Account/Login.cshtml.
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2]
      Executed action IdentityServer4.Quickstart.UI.AccountController.Login (QuickstartIdentityServer) in 6.3777ms
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 14.9031ms 200 text/html; charset=utf-8
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://localhost:5000/account/ExternalLogin?provider=Google&returnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fresponse_type%3Dcode%26state%3Dabc%26client_id%3Dmvc%26scope%3Dapi1%2520openid%2520profile%26redirect_uri%3Dhttp%253A%252F%252Flocalhost%253A5002
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]
      Executing action method IdentityServer4.Quickstart.UI.AccountController.ExternalLogin (QuickstartIdentityServer) with arguments (Google, /connect/authorize/callback?response_type=code&state=abc&client_id=mvc&scope=api1%20openid%20profile&redirect_uri=http%3A%2F%2Flocalhost%3A5002) - ModelState is Valid
info: Microsoft.AspNetCore.Mvc.ChallengeResult[1]
      Executing ChallengeResult with authentication schemes (Google).
info: Microsoft.AspNetCore.Authentication.Google.GoogleHandler[12]
      AuthenticationScheme: Google was challenged.
info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2]
      Executed action IdentityServer4.Quickstart.UI.AccountController.ExternalLogin (QuickstartIdentityServer) in 10.2061ms
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 17.0712ms 302
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 GET http://localhost:5000/signin-google?state=CfDJ8D18SQlTys9FuXQ2gkLHrQFC6pFw-Hs7gxWXqQCkXU8uQcpelI2glpKjxBB4SSND5P57Itsi2uunsLzAA82T9pMhJ-fbPiEiIkd4CIhU-pfzs0XUF8VYrlM4lDLRaKaS_pF93siHgmfyeOqHvs_Cs7pxTBcr8einu0_hjIdvONyG7ikU6XFXvB5Gd17xOqA93APrEk6LsZXk-IhJI_cKrMPfFBFX1eRIAj_0fQSI22TzAgsTHC3xLpqN5qxs2lh7TtON5w8gjXcWBJYOL00zyx9r1BoQ_t9P1nFuR0tapfq1fhehuYbARBiOkbXKukJYOo7ZiJN_1aXi0SQDsVSRxovw_hnvyXuphpXOwDUbyYh1HefjgVksYSNGq4vZq1uGjfDv7SmuCtrJE6hf6ZptOI9FqZMaaTQIsSLnUbqqlFVJgBuPTUX2SflDWaJppxmojfT14cHkx4xNuEHUFzSNxvs&code=4/bAC1a7zWvGEDa-7ONZPE0136LjxPLw8LYyv5JsV-YOsV9girmQYOP4CnTu0Um6B4ihB02I9LEfaNqt1J6hM5cac&scope=https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/plus.me+https://www.googleapis.com/auth/userinfo.profile&authuser=0&session_state=e9342ff00a0022520cf75cc984bf4514836e5bcd..ef0b&prompt=none
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
      Request starting HTTP/1.1 POST http://localhost:5000/connect/token application/x-www-form-urlencoded 204
info: IdentityServer4.Hosting.IdentityServerMiddleware[0]
      Invoking IdentityServer endpoint: IdentityServer4.Endpoints.TokenEndpoint for /connect/token
fail: IdentityServer4.Validation.TokenRequestValidator[0]
      Invalid authorization code: 4/bAC1a7zWvGEDa-7ONZPE0136LjxPLw8LYyv5JsV-YOsV9girmQYOP4CnTu0Um6B4ihB02I9LEfaNqt1J6hM5cac
fail: IdentityServer4.Validation.TokenRequestValidator[0]
      {
        "ClientId": "mvc",
        "ClientName": "MVC Client",
        "GrantType": "authorization_code",
        "AuthorizationCode": "4/bAC1a7zWvGEDa-7ONZPE0136LjxPLw8LYyv5JsV-YOsV9girmQYOP4CnTu0Um6B4ihB02I9LEfaNqt1J6hM5cac",
        "Raw": {
          "grant_type": "authorization_code",
          "code": "4/bAC1a7zWvGEDa-7ONZPE0136LjxPLw8LYyv5JsV-YOsV9girmQYOP4CnTu0Um6B4ihB02I9LEfaNqt1J6hM5cac",
          "redirect_uri": "http://localhost:5002",
          "client_id": "mvc",
          "client_secret": "***REDACTED***"
        }
      }
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 46.0099ms 400 application/json; charset=UTF-8
info: Microsoft.AspNetCore.Authentication.Google.GoogleHandler[4]
      Error from RemoteAuthentication: A task was canceled..
fail: Microsoft.AspNetCore.Server.Kestrel[13]
      Connection id "0HLH8A0UTL1CO", Request id "0HLH8A0UTL1CO:00000004": An unhandled exception was thrown by the application.
System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.<HandleRequestAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at IdentityServer4.Hosting.FederatedSignOut.AuthenticationRequestHandlerWrapper.<HandleRequestAsync>d__6.MoveNext() in C:\local\identity\server4\IdentityServer4\src\IdentityServer4\Hosting\FederatedSignOut\AuthenticationRequestHandlerWrapper.cs:line 38
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.<Invoke>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at Microsoft.AspNetCore.Cors.Infrastructure.CorsMiddleware.<Invoke>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at IdentityServer4.Hosting.BaseUrlMiddleware.<Invoke>d__3.MoveNext() in C:\local\identity\server4\IdentityServer4\src\IdentityServer4\Hosting\BaseUrlMiddleware.cs:line 43
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at Microsoft.AspNetCore.Hosting.Internal.RequestServicesContainerMiddleware.<Invoke>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Frame`1.<ProcessRequestsAsync>d__2.MoveNext()
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
      Request finished in 737.4864ms 0

If I change MVC Client allowed grant types to Implicit and use Postman with Implicit Grant Type everything works well, but I receive access token only.
Is it normal behaviour for IdentityServer? I read documentation about OpenID Connect Authentication and it seems like that everything should work well because this type of flow is supported by OpenID Connect.

Can you see if our samples work properly? It's difficult when using postman to know if the issue is postman or not.

I've tried ConsoleClientWithBrowser and modify it like this:
private static async Task SignIn()
{
    // create a redirect URI using an available port on the loopback address.
    // requires the OP to allow random ports on <IP_ADDRESS> - otherwise set a static port
    var browser = new SystemBrowser(5002);
    string redirectUri = string.Format($"http://<IP_ADDRESS>:{browser.Port}");

    var options = new OidcClientOptions
    {
        Authority = Constants.Authority,
        ClientId = "mvc",
        RedirectUri = redirectUri,
        Scope = "openid profile api1",
        FilterClaims = false,
        Browser = browser,
        ClientSecret = "secret",
        Flow = OidcClientOptions.AuthenticationFlow.AuthorizationCode
    };

    var serilog = new LoggerConfiguration()
        .MinimumLevel.Error()
        .Enrich.FromLogContext()
        .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message}{NewLine}{Exception}{NewLine}")
        .CreateLogger();

    options.LoggerFactory.AddSerilog(serilog);

    _oidcClient = new OidcClient(options);
    var result = await _oidcClient.LoginAsync(new LoginRequest());

    ShowResult(result);
    await NextSteps(result);
}

And also add http://<IP_ADDRESS>:5002 to the RedirectUris of Clients in IdentityServer and everything works! When I changed Callback URL in Postman to http://<IP_ADDRESS>:5002 it's also start working!! I don't know why... Can you explain it to me?

This seems to be a general question about IdentityServer - not a bug report or an issue.
Please use one of the our free or commercial support options
See here for more details.
Thanks!


Support selecting packages

Current CLI version has hardcoded path to an example package. Instead, some package selection mechanism should be implemented.
Ideas:

Detect the current working directory and search for packages there (MetadataCommand should be able to do that automatically)
Provide some sort of CLI mechanism for choosing a package

Before implementing this issue, a preferred solution should be discussed and selected in this thread.

Shouldn't this be a responsibility of Scarb?

I don't think this can be easily handled in Scarb. Scarb metadata rust package will find all packages within a workspace you are currently in.
Filtering which packages to run tests on has to be done on our side. Metadata even added an ability to easily filter packages specifically for this purpose.

Blocked by scarb workspaces


Add communication standards

Coming originally from our internal guide
https://www.notion.so/meilisearch/Communication-standards-9261041d49604109a758d79ba78e8fbb

Pinging @meilisearch/engine-team to let you know, but you already agreed on the content since the guide were already on Notion. Let me know if something does not fit you anymore.


Add hierarchical clustering and PLIER notebooks

This PR adds:

Northcott, et al. expression data and metadata
01 notebook for data prep (e.g., conversion of gene identifiers)
02 notebook for hierarchical and consensus clustering
03 notebook for running PLIER
04 notebook for plotting LV differences between subgroups

Here are the HTML files for easy viewing: ml_notebooks.zip

Can this go into training-modules and then we'll link it from the schedule here? I think we were trying to keep this repo relatively slim and to only include things that were specific to this exact curriculum (schedule, anything about the specific docker images used here).
In that repo, can you name it machine-learning to go along with the docker install?


run.js

Hello Lee Pang
Thank you so much for creating this framework!
I managed to deploy it successfully on my Windows desktop. However, when I transferred the program files to a secured environment, the program stops after it reaches the file in dist/script/wsf/js/run.js.
The following steps were logged:
.bat file was allowed to run
dist/script/wsf/run.wsf was allowed to run
dist/script/wsf/js/json2.js was allowed to run
dist/script/wsf/js/json.minify.js was allowed to run
dist/script/wsf/js/run.js was allowed to run
The process terminates afterwards.
Wanted to check if the run.js file requires any additional configurations or external dependencies/special settings?
Cheers~

@wleepang Thanks so much for your reply!
I was checking with some of my coworkers, it seems that portable apps were blocked from our operating system. I'm trying to modify your framework by working with R instead of R-Portable packaged within the folders. Any advice on this?

@wtf13 - you need to escape the "" characters, so the option in config.cfg should be:
"r_bindir": "C:\\Program Files\\R\\R-3.3.2\\bin"

Thanks leepang! That was exactly what I did earlier, just forgot to append my code as a chunk earlier on.
"r_bindir": "C:\\Program Files\\R\\R-3.3.2\\bin"
I'm still getting the following message however: Code 80070002: The system cannot find the file specified.
When i replaced R portable with the system installed R in the app framework within the \dist folder, it seems to work with the following in config.cfg.
"r_bindir": "dist\R\R-3.4.2\bin"
Was wondering if you have any ideas why this is happening?

@wtf13 - After some testing, I found that paths with spaces weren't being handled correctly, causing the error you encountered.   I just merged in some updates that should address this issue, and added some additional flexibility in specifying the R executable used.

@wleepang thanks a lot for resolving the issue!
Managed to run it successfully from my desktop :)
However, when I copied the entire application folder to 'Program Files" in the C: drive, the program does not launch from the new path. After the windows command prompt appears, the 'loading packages' pop-up does not show up. Any advice on why this is happening?

@wtf13 - did you pre-ensure the package dependencies for your application prior to moving it (i.e. did you create the app library on your development desktop)?
It sounds like there might be some access permissions restrictions for the R interpreter.
Does it work from another location accessible to users?

Closing as this is more than 1yr old. Feel free to reopen if still an issue.


Make generation of measurements file deterministic

Addresses #35.
This is currently not implemented/added for CreateMeasurements2 (@rschwietzke).
If it's desirable that both produce the same output, LMK and I can add that.
Makes both CreateMeasurement implementations generate the same output, and makes it deterministic based on a provided seed (with a default value).

Feel free to undo the use of FastRandom. nextGaussian is a lot of code, hence I prefered to take that all out and also the double to char/byte conversion. There are ways to make that all faster, It is for instance a single thread and also we roll char to byte again and again.

FastRandom was neatly quick, and just using it everywhere was quite easy (and provided a bit of speed up to the non-2 version as well). Since both implementations produce the same output now, I vote that we get rid of the slower one.

Updated with the new random station generation.
Now we have 3 measurement creators that output the exact same file :P
I have also made some slight syntactic changes to the name generation @mtopolnik. Semantically it should do the same thing, but would appreciate if you could take a look either way.

I bit the bullet and rented out a CCX3 :D Very surprising results using the full 1B dataset on this machine:
merykitty - 51 seconds
thomaswue - 21 seconds
ebarlas, royvanrijn break on the 31-bit mapped region size length
obourgain: 5 seconds!

Correction: didn't check the command output... obourgain takes 5 seconds to break with OOM :D

Update: royvanrijn's solution now works.
@gunnarmorling I'm wondering if you're having second thoughts on merging this, given the difference in the timings. OTOH it's kind of beside the point to reward solutions that work great for 416 short keys but degrade significantly for 10,000 keys using the full 100 byte range.


can scalar have a repr instance when ground fields do?

missing repr is annoying

I don't understand, can you give mwe?

class Scalar (R : outParam (Type _)) (K : semiOutParam (Type _)) extends RCLike K where
  -- used for specification
  toComplex : K → ℂ
  toReal    : R → ℝ
  ofReal    : ℝ → R
  ofComplex : ℂ → K -- If `K` model reals then this function should ignore the imaginary part

where if K (R too?) has Repr instance, so should Scalar

You need to be even more clearer. Scalar is a class, I don't understand why should it have Repr instance. Do you mean that Scalar should extend Repr R? That is probably bad idea as I don't think you can provide instance Repr Real


#331

Wrong target branch again.

You can normally change the target branch without closing the PR, although it might be possible to disable that feature on a project - I'm not sure.
Click "Edit" to edit the title, and the target branch becomes a dropdown.


Cosmos DB: Auth with Azure AD (incl. MSI) failing because CRUD on stored procedures is a management plane operation

Expected Behavior
Should be able to use Cosmos DB (e.g. state store) with Azure AD credentials, including MSI.
Actual Behavior
Initializing a state store component that uses Cosmos DB fails with an error similar to:
process component mystatestore error: Forbidden, Request blocked by Auth *** : The given request [GET /dbs/***/colls/***/sprocs/] cannot be authorized by AAD token in data plane. Learn more: https://aka.ms/cosmos-native-rbac.\r\nActivityId: ***, Microsoft.Azure.Documents.Common/2.14.0" app_id=*** instance=*** scope=dapr.runtime type=log ver=edge

The issue is that the Cosmos DB components need to access stored procedures and CRUD operations on those are management plane operations that can't be performed with tokens for the data plane (source). Currently the SDK requests tokens for data plane operations only, while management plane operations require different tokens.
This needs to be fixed in the SDK first: https://github.com/a8m/documentdb
Release Note
RELEASE NOTE: FIX Issues authenticating with Cosmos DB using Azure AD credentials
/assign

/assign


End to end test case for union type with subRecord

Fix the bug in AvroRelConverter where it throws when a union type has a subRecord
Adding a test case with union type with a subrecord.

General comment not entirely related to this specific change:
All the schemas in our tests have an outer record with primitive and complex types within it. We should also add tests with schemas containing just the primitive types or complex types (other than the record). I'm not sure if the code handles such cases.

Yup we need to support the primitive types in Samza SQL. I will open a bug to add a support for it.


20339  - ensure no entities

https://highfidelity.fogbugz.com/f/cases/20339/Ensure-test-environment-is-clear-of-entities
Description
During automated testing, entities may be left over from previous tests.  These can cause tests to fail, especially if these entities include a zone.
To solve this - all entities within a 1000 metre radius are deleted, when running in an automatic mode.
Testing

Run Interface and go to localhost.
Move to a remote region (such as 9999,9999,9999)
Create some entities at that location - (i.e. cube, sphere and text)
Run the following test: https://raw.githubusercontent.com/NissimHadar/hifi_tests/20339-ensureNoEntities/tests/engine/render/lod/overlay/model/test.js
Verify that the added entities  have NOT been deleted.
Run the following test: https://raw.githubusercontent.com/NissimHadar/hifi_tests/20339-ensureNoEntities/tests/engine/render/lod/overlay/model/testAuto.js
Verify the added entities have been deleted.  There should be no entities nearby after the test has been completed.
Re-add some entities.
Run the following test: https://raw.githubusercontent.com/NissimHadar/hifi_tests/20339-ensureNoEntities/tests/engine/render/lod/overlay/testRecursive.js
Verify the added entities have been deleted.  There should be no entities nearby after the test has been completed.

I would suggest to reconsider this solution, this sounds like a brut force approach to the problem.
what if you are in an actual domain with stuff ?
THe first question that come to mind is  why doesn;t the entities all created during th etests have a lifetime at the minimum ?
and why aren;t they destroyed at the end of the test
this sounds more like an actual bug in the current system ?


Add docs for issue 790

This PR adds documentation which summarizes research for #790
Checklist

[x] Documented

Codecov Report

Merging #879 into master will decrease coverage by 0.05%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #879      +/-   ##
============================================
- Coverage     82.80%   82.74%   -0.06%
  Complexity      648      648
============================================
  Files           173      173
  Lines          3472     3472
  Branches        514      514
============================================
- Hits           2875     2873       -2
  Misses          314      314
- Partials        283      285       +2


illegal option "-nucmer.out.ntref"

Hi!
We're trying to use nucmer as part of a pipeline to cluster viral genomes. We run into this error when running the pipeline:
$ nucmer --coords --maxmatch --nooptimize /workspace/data/thomase4/axial/virFinderViralDNA /workspace/data/thomase4/axial/virFinderViralDNA -p -nucmer.out
1: PREPARING DATA
2,3: RUNNING mummer AND CREATING CLUSTERS
/usr/local/bin/MUMmer3.23/mummer: illegal option "-nucmer.out.ntref"
ERROR: mummer and/or mgaps returned non-zero
Googling suggests that this may be an issue related to reference length, and that we can recompile to increase maximum reference size, like this:

make clean
make CPPFLAGS="-O3 -DSIXTYFOURBITS"

Which we did. But we still get this error. We suspect that it's related to the fact that our fasta file has over 1 million sequences in it. Has anybody else run into this error before?
Thanks!

Still no solution to this issue after 3 years?


Cmd+F Not searching in selection broken

Issue Type: Bug
Cmd + F (Find) has gotten worse. Deselecting “search in selection” still only searches in selection, have to select entire document and select “search in selection” to get it to work. Since last update.
VS Code version: Code 1.31.0 (7c66f58312b48ed8ca4e387ebd9ffe9605332caa, 2019-02-05T22:32:14.164Z)
OS version: Darwin x64 17.7.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (8 x 2200)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
3, 5, 5

Memory (System)
16.00GB (0.08GB free)

Process Argv
-psn_0_1323331

Screen Reader
no

VM
0%

Extensions (23)

Extension
Author (truncated)
Version

autofilename
Jer
0.1.3

alignment
ann
0.3.0

snapshot-tools
asv
0.2.2

vscode-eslint
dba
1.8.0

gitlens
eam
9.5.0

EditorConfig
Edi
0.12.8

vsc-material-theme
Equ
2.6.3

sass-lint
gle
1.0.4

vscode-styled-components
jpo
0.0.25

sort-selection-concentrically
min
1.0.0

prettify-json
moh
0.0.3

mssql
ms-
1.4.0

sublime-keybindings
ms-
4.0.0

vetur
oct
0.14.5

partial-diff
ryu
1.4.0

code-settings-sync
Sha
3.2.4

stylelint
shi
0.48.0

vscode-fileutils
sle
2.13.5

code-spell-checker
str
1.6.10

sort-lines
Tyr
1.8.0

twig
wha
1.0.2

vscode-import-cost
wix
2.12.0

ReactSnippets
xab
2.3.0

I have encountered this bug, too. I'm on Windows 7 pro.
"Find in selection" button is broken.

This is still problem in vscode 1.31.1 (1b8e8302e405050205e69b59abb3559592bb9e60).
I'm worried if this regression bug that was introduced since 1.31.0 has been overlooked because January 2019 Recovery doesn't include this issue.

The regression was introduced in https://github.com/Microsoft/vscode/commit/f9775c5fe8ae78ec791d13a71e581850e60ab0d5.


low audio volume when video calls connected across platforms

Specify the sample to which the issue belongs (use [x]):
[] Chat sample
[x] P2P Calls sample
[] Conference Calls sample
Platform (use [x])
[x] Android
[x] iOS
[] macOS
[x] Windows
[] Web
[] Linux
Device info
Manufacture:
Model:
OS version:
Describe the bug:
The volume when call is connected between users is low. This behavior is inconsistent and occurs across platforms.

can you reproduce it in our sample? what steps are for reproducing? we met some issues with the iOS platform, there was an issue with the conflict between the iOS system sound managing and the flutter_webrtc plugin. In the case the call was accepted from the Callkit from the killed state the sound was absent. The developer of the plugin added special methods for managing audio settings on the iOS side, you can try to call the following code after starting the a new call and after accepting it on the Flutter app side:
    if (Platform.isIOS) {
      Helper.setAppleAudioIOMode(AppleAudioIOMode.localAndRemote);
    }

Also, you can try to play with other configs using Helper.setAppleAudioConfiguration(). But I noticed that if select the AppleAudioMode.voiceChat as an AudioMode, the headphone output will be selected and you can switch to the speaker (and back), but if select the AppleAudioMode.videoChat the speaker will be selected and you will not switch to the headphone.

no activity for a long time, closing.


Initiate a Chimoney Payout from a Twitter Comment

If someone says something I like on twitter, I should be able to send them Chimoney for the comment
Build a bot that rewards Twitter users with Chimoney

Bot can be mentioned in a tweet or issue and instructed to send $N to a @user using Chimoney. See Account Activity
Bot initiates a Chimoney payout to the twitter user name with the twitter: username field passed
Bot sends a DM to the twitter user that initiated the Payout with a payment link to pay for the transaction. This link is returned from the /initiate-chimoney endpoint. See Message API
The Payer user clicks the link and is taken to the chimney Payment page and they can pay from their Chimoney wallet
Chimoney automatically sends a DM and timeline post to the user that was rewarded
They can then redeem their reward to any of the options at dash.chimoney.io/redeem
Optionally, reply to the original tweet you made in step one asking the receiver to check their DM. See Post API

I'll love to work on this if using python is fine. Could it be assigned to me? Thanks

Yes. Sure you can use Python and it can be assigned to you

I'm done with a test version:
to test  Tweet: @chisendtest send amount:int" to @twitteruser
for multiple users, @chisendtest send amount:int to @twitteruser1 @twitteruser2
Wanted to get some reviews on it still in its base form

Single send [{@twitteruser, amount:int}]
Multiple send [{@twitteruser, amount:int}, {@twitteruser2, amount:int}]
It should always take a list regardless of whether it's sent to one user or multiple. Hope this answers the question.

All of the following should be valid commands
@chisendtes send 10 to @user1, @user2
@chisendtes send 10 to @user1 @user2
@chisendtes send 10 to @user1
@chisendtes send $10 to @user1
@chisendtes send $10 to @user1  @user2
@chisendtes send $10 to @user1, @user2, @user3
@chisendtes send $10 to @user1, @user2 @user3

@uchibeke Thanks will update the planning to add other function like send airtime and any I can think of
It's also currently live for about an hour for test so I could use the review to improve the flow

So technically, this should support all payout options if you use the initiate endpoint. By default, after payment, the recipient should be able to redeem airtime, momo, gift cards etc. Were you looking to explicitly support gifting of airtime like @chisendtest send $10 airtime @user
Do you want to use @send_chimoney or @gift_chimoney as the username instead?

So I tested but I did not get the DM with the link to pay for the transaction. Although I did get a reply from the bot. Is there something that I am missing
See https://twitter.com/chisendtest/status/1577026341567856640

The account was temporarily disabled by twitter before it could commit the request
I've reactivated the account so it should work in the next 5 min

So technically, this should support all payout options if you use the initiate endpoint. By default, after payment, the recipient should be able to redeem airtime, momo, gift cards etc. Were you looking to explicitly support gifting of airtime like @chisendtest send $10 airtime @user
Do you want to use @send_chimoney or @gift_chimoney as the username instead?

Any works just created a temporary account for testing

It's back up.
You can run the command again.
Thanks

Yes. It works.
I was able to test with the bot, make a payment from my wallet and I got the DM from Chimoney with the redeem link! And I was able to redeem it!
Great job!

@uchibeke Thanks, would clean up the code and open a PR with the complete project.

Made a PR for this, but need to publish the pychimoney(if this is an agreed name) package for it to work on any system easily

Let's use chimoney.py or chimoney_py
Looking forward to reviewing both PRs

Also, for the twitter bot, let's use chimoney_bot as the username or chimoney_send

Let's use chimoney.py or chimoney_py
Looking forward to reviewing both PRs

One of the PRs has been merged since it was a dependency on the Twitter bot
is "pip install chimoney.py" ok then so I run the deployment to pip asap

Yes. This is perfect @thelimeskies

I LOVE the random giveaway feature! Great idea!
Maybe extend it to support likes, comments, retweets
@send_chimoney giveaway 10 tweetliked 30 12:00pm
@send_chimoney giveaway 10 commented 30 12:00pm
@send_chimoney giveaway 10 retweeted 30 12:00pm
Also, why don't you consider using Render.com? It seems simpler than AWS, in my experience and they have a free tier too.
I have used them all, AWS, Heroku, Digital Ocean, Linode, GCP, Azure etc and I use Render more now

Well check it out, Thanks @uchibeke

the python package has been published
https://pypi.org/project/chimoney-py/
"pip install chimoney-py" work now
I was trying to use render.com to deploy the bot but have been unable to add payment(not accepting any of my debit cards) since that is required for a background worker
@uchibike

Nice. Please open a pr and we will review @thelimeskies

Hi @uchibeke the Twitter account has been created @send_chimoney
and has been updated the new PR contains an Access and Access Secret keygen so one developer account can be used with multiple Twitter bots(Creating) so multiple environments can be created(test, staging, prod).
Deployment isn't yet completed

@uchibeke Bot has been deployed on AWS temporarily
handle @send_chimoney
Twitter page under construction for better UX

Could you reply with the correct format if a user sends an invalid format
Uchi

From: Asikhalaye Samuel @.>
Sent: Sunday, October 9, 2022 12:18:59 PM
To: Chimoney/chimoney-community-projects @.>
Cc: Uchi Uchibeke @.>; Mention @.>
Subject: Re: [Chimoney/chimoney-community-projects] Initiate a Chimoney Payout from a Twitter Comment (Issue #13)
@uchibekehttps://github.com/uchibeke Bot has been deployed on AWS temporarily
handle @send_chimoneyhttps://twitter.com/send_chimoney
Twitter page under construction for better UX
—
Reply to this email directly, view it on GitHubhttps://github.com/Chimoney/chimoney-community-projects/issues/13#issuecomment-1272576611, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABLKD4G3EWBX4GEF22NDS4LWCLV7HANCNFSM6AAAAAAQ262ASA.
You are receiving this because you were mentioned.Message ID: @.***>

Noted. Will add that
Was planning a test so I resolve every issue that arises
Thanks.

The bot has been updated(both live and the PR made).

Updated the Argument regex so accepts more formats now
Updated the replies

@uchibeke I think I'm done with this issue. Finalized on testing today so I want to start working on the twitter account for public use by tomorrow

Thank you

Fixed in #40 #4

Good day @uchibeke,
I keep getting this error while using the generated payout link. The bot is live now(I've sorted the issue with render).


Investigate replacing feature flag service

Capturing a SIG meeting discussion today...
The feature flag service is kind of a frustrating dependency for us currently. It's very important, but it's also hard to maintain as we don't have a ton of expertise in Erlang. In addition, due to limitations of our build pipeline it's very out of date.
Our general idea is to investigate replacing the feature flag service with some other off-the-shelf solution, then refactoring everything to use OpenFeature. Erlang support would come back into the demo as part of a smaller, more self-contained service (possibly some sort of consumer off Kafka) that should be more amenable to the build pipeline.

From some research, I think our best bet might be flagd. It's maintained by OpenFeature, and it seems to be fairly lightweight and straightforward for our purposes. Even better, it's OpenTelemetry compatible, so we can get independent instrumentation out of it. It supports more evaluation styles than we currently do as well (such as targeting, multi-variable experiments, etc.) and can be configured with JSON files rather than requiring a separate database.

I vote we replace the product catalog service with an Erlang/Elixir equivalent. This service is part of the minimal install and is one of 3 Go-based services in the demo.

I vote we replace the product catalog service with an Erlang/Elixir equivalent. This service is part of the minimal install and is one of 3 Go-based services in the demo.

That should be vaguely easier to maintain since there's no UI component at least?

ProductCatalog sounds like a good suggestion to be replaced.
I'm just afraid of whenever we start adding Swift and Android to the demo.
Those 2 will have to talk with ProductCatalog, and changing anything in Erlang/Elixir is a bit overwhelming when you are not used to work with it, which is the case for 98% of global population 😅

https://github.com/open-telemetry/opentelemetry-demo/pull/1388
Went ahead and made a PR swapping things out so we can get an idea of what this all would look like. There's a few gaps (no Python provider for flagd, which I'll have to write or find) but overall it seems ok.

@julianocosta89 @puckpuck After spending a bit of time trying to rewrite the product catalog in Erlang, I'm not so sure about it. Frankly, 3/4ths of this is that I simply don't grok Erlang well enough to be productive in it (and ChatGPT only gets you so far). I think our best bet would be to create a new Erlang service that reads off Kafka and try to make it as minimal as possible to avoid the need to touch it in the future outside of OpenTelemetry updates. I feel like making Product Catalog an Erlang service just creates another load-bearing dependency that'll be hard for us to work with going forward.

Also worth noting there's no OpenFeature libraries for Erlang at this point in time, so we'd have to write that as well.

Yeah, I've figured that would be tricky!
There is also another thing, if we make a erlang/elixir service to talk with kafka, there is no instrumentation for it 😢
Not sure how great that would be

Let me bring to the discussion @joshleecreates that has some experience in Erlang/Elixir, and also @tsloughter that was the one that initially implemented the FeatureFlagService.

Just saw this issue after i saw the other. I can do the product catalog. Also can do a kafka service, but seems easier to just translate an existing service that seems to just read in json and serve it over grpc?

Personally I lean away from "batteries-inlcuded" frameworks like Phoenix in the demo since the frameworks' conventions are often at odds with the development and build needs of the demo, so removing Phoenix gets a +1 from me.

@tsloughter @joshleecreates I think the ideal replacement Erlang service would be something that meets the criteria of #912 . Reads orders off the Kafka queue, then persists them to a DB.
If we wanted to swap out a JSON service, then we could... but I'd be more in favor of doing something net-new, just to make sure it wasn't a load-bearing part of the architecture.

I knew about the Windows 11 issue and I sort of may vaguely recall an ARM build discussion at one point but is there a github issue for that.

@tsloughter I'm not sure there's an exhaustive writeup but it's this issue: https://github.com/open-telemetry/opentelemetry-demo/issues/956
The short version is that some weird combination of issues with QEMU causes segfaults when trying to update past OTP 23. The actual notes are spread out over a combination of github issues, PRs, and Slack threads. I think the WSL issue is actually independent of it.

I had another idea, let me know what you all think.
The easiest service to replace we have in the demo today is the quoteservice, it is just talking with shippingservice and it is not doing much. It receives the number of items, and returns a quote, simple as that. Currently the quoteservice is not talking with FeatureFlagService, so we wouldn't need to worry about missing OpenFeature libraries for Erlang.
We could replace the quoteservice with Erlang/Elixir and then rewrite the productcatalogservice in PHP.
PHP has an OpenFeature SDK on Laravel, so we could use continue to use the productcatalogservice with the Feature Flags we have today.
It will be a bit more work, but I think it is a good idea. WDYT?

We currently have 3 services with Go that feel quite a lot. We could replace accountingservice with Erlang and create an additional DB to store the sales data. In this way, we wouldn’t need to convert productcatalog, which is quite central. Also, the demo already feels quite large, so we wouldn’t introduce new services other than the DB.

We currently have 3 services with Go that feel quite a lot. We could replace accountingservice with Erlang and create an additional DB to store the sales data. In this way, we wouldn’t need to convert productcatalog, which is quite central. Also, the demo already feels quite large, so we wouldn’t introduce new services other than the DB.

yeah, that would be okay to me as well.
The only problem is that there is no auto-instrumentation for Kafka in Erlang/Elixir, so we need to manually do it.

The only problem is that there is no auto-instrumentation for Kafka in Erlang/Elixir, so we need to manually do it.

This doesn't seem like a big problem if we're just consuming a single topic, since we also want to show one example of manual instrumentation in each service anyways

while i'm in favor of reducing go services, i'd prefer we replace them with something like Java or .NET (probably .NET) -- while I love each and every otel language equally, the world does not, and we should probably err on the side of language popularity when it comes to these decisions rather than trying to have a 1:1 mapping of services to languages.

@austinlparker why frauddetection and not accountingservice?
FraudDetection is Kotlin and the only Kotlin service in the demo.
AccountingService is Go and we have 3 services written in Go.

sure, accountingservice is fine

:wave: Hey there. I've been messing around with the otel demo a bit recently and it is pretty great, thanks!
I'm not sure if this is the best place for this, but since this issue is specifically about using flagd for feature flags, I thought I'd comment here first, instead of raising a new issue. In docker compose I was using the featureflagservice to trigger the memory leak in the recommendationservice via the demo.flagd.json file. It works fine in the Docker compose setup because the file is mounted from the src/ dir into the flagd container.
But this does not work in K8s. I installed the demo via the Helm chart and everything starts up fine. However, the question is: how do I trigger the memory leak? I looked at the featureflagservice pod in k8s and there are no volume mounts. I tracked down that in k8s the FFS gets its flags from ffspostgres. So the docs that mention the demo.flagd.json don't apply here.
I tried port-forwarding 8081 for the featureflagservice and I can see a very basic UI, but I get Not Found for every link I click.. It would be slick to be able to edit the flags directly from the flagd UI, but I'm not sure if that's possible because I haven't done any more digging.
But after poking around in the ffspostgres pod I landed on:
kubectl exec my-otel-demo-ffspostgres-58df9cd6bc-5s77z -- psql -U ffs -d ffs -c \
  "UPDATE featureflags SET enabled=1 WHERE name='recommendationCache'"
UPDATE 1

After changing the flag directly in ffspostgres manually I see the recommendationservice starting to display latency, gaps, and spikes in memory usage (not shown in the figure below).

It's obiviously working to trigger the memory leak because the pod is getting OOMKilled by k8s, which is awesome!
kubectl get pods | grep recommendationservice
my-otel-demo-recommendationservice-756854bf-r22p8     0/1     OOMKilled   2 (89s ago)   52m

All this to say, I think the docs could use an update to clarify that updating the feature flags in the demo.flagd.json file only works for docker compose. Also wondering if there's an easier path to manipulating the feature flags in k8s? I opened https://github.com/open-telemetry/opentelemetry.io/pull/4159 to correct the name of the flag in the json file. I'm happy to augment that PR with the necessary info for toggling the feature flags in k8s, if anyone has input/guidance on that front.

@cthain part of the reason it doesn't work is because the helm charts haven't been updated yet. generally we don't keep them up to date with main; we usually update them before a release goes out (which should happen soon!)

Update post SIG meeting:
I started to build out a new elixir service downstream from Kafka. In my initial experiments I found that the Kafka client library I had chosen (https://github.com/kafkaex/kafka_ex) does not seem to support the version of Kafka used with the demo, or I am misunderstanding how to form the connection. In either case, it seems apparent that Kafka + Elixir is an unusual combination and not necessarily the best way to demo Erlang/Elixir observability.
In the SIG we discussed some potential alternatives:

Building a customer support / chat app using Erlang or Elixir
Building an admin portal using Elixir/Pheonix

That chat app seems to be a good path forward because:

It's a very Erlang-y use case
It's not called by any other services, but could call other services, making it an optional component
It provides an interesting area for demoing full stack telemetry with a frontend integration

cc @julianocosta89 @austinlparker

If you'd like to discuss with the SIG we'll be meeting tomorrow (9 PST) in the ErlEF Observability WG zoom instead of the SIG zoom. See https://docs.google.com/document/d/18JVh6ICLyRCJBpRVIXwcR1fb-K4qRX3WHYgtM7mFx2U/edit for the agenda and zoom link.

I see we are still discussing what to do with an Elixir service. We should take that discussion to a new issue since I'm closing this one. We now have flagd rolled out with the 1.9 release for feature flagging, which covers this issue's original request.


tool does not restore the previous ON state neither for WiFi not for BT

M1, MB pro 16: Ventura 13.2.1
initial state: Wifi ON BT ON
settings:
wifi turn off, BT turn off
wifi restore initial state, BT restore initial state
actual result: WIFI is OFF after wake up, BT is OFF after wake up
initial state: Wifi ON BT ON
settings:
wifi **turn off, BT turn off
wifi always enable, BT always enable
actual result: WIFI is ON after wake up, BT is ON after wake up
initial state: Wifi ON BT ON
settings:
wifi do nothing, BT turn off
wifi **do nothing, BT restore the previous state
actual result: WIFI is ON after wake up, BT is OFF after wake up
it looks like the restoration of the initial state on both – BT and WIFI does not work as expected well, at least in my case.
there is similar issue in the original repo: https://github.com/odlp/bluesnooze/issues/18

Hello. I haven't noticed anything broken recently but I'll try to test your scenarios at some point.

Yes. I can confirm. Sometimes bluetooth is off after wake up. I have "restore previous state" set.

Hi, I can confirm too on Air M1 with latest macOS - it's a random and rare bug. Maybe this solution from origin project will be useful.

Also doesn't work for me on MacBook Pro M1


Complete ru.json

I completed ru.json according to the configuration of de.json.
The latest version is https://github.com/eddiesigner/liebling/pull/442/commits/bf061c7a55373d3b9e7b79f628bf93175ab581f8

Hey, thank you! It's merged now ;)


Refactor profiles

Public profile is currently key/value.
Refactor to support multiple public profiles in the same database with any number of schemas.
Add support for a basicProfile schema based on Ceramic basicProfile.
Requires:

[x] Refactoring client-ts
[x] Update vault-common
[x] Updating vault-mobile

Relabelling as a bug because this is a critical change that needs to happen before a wider client-ts release.

This has been completed in client-ts and should automatically work in valut-common and vault-mobile once they upgrade.
For now, the basicProfile schema is based on the basic data in the vault but can be expanded in the future.


[#968] Replace HTTP test proxy with SSH tunnels

SSH tunnels support HTTPS and other tcp connections.

@brusdev  I just found that when 'test' namespace already exists, this line panicks:
https://github.com/artemiscloud/activemq-artemis-operator/blob/0babfdc623fc29ce8b721331756ff21b6baf1543/controllers/suite_test.go#L223
I think we should use
Expect(err == nil || errors.IsAlreadyExists(err)).To(BeTrue())

@brusdev I just found that when 'test' namespace already exists, this line fails:
https://github.com/artemiscloud/activemq-artemis-operator/blob/0babfdc623fc29ce8b721331756ff21b6baf1543/controllers/suite_test.go#L223
I think we should use Expect(err == nil || errors.IsAlreadyExists(err)).To(BeTrue())

@gaohoward I have just fixed it


WARNING: The following packages have a svelte field in their package.json but no exports condition for svelte.

Description
I must install every component manually
https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#missing-exports-condition

You can ignore it for now. I have modified this question, but I haven’t released a new version yet. In addition, some components in the document may not have been released. I’m really sorry.