Unstable state:  cannot ^C a plan and then finally do.  then RE stuck in running

In [929]: %run -i ~/.ipython/profile_collection/plans/03-plan.py

In [930]: RE(my_plan_overnight())

Finished moving the polarization to horizontal.

Starting plan for H polarized light with 12 rixs images for each Ei = [576.5, 576.5, 579.3, 579.3, 580.5, 580.5]
Move m3diag to "yag"
A 'deferred pause' has been requested. The RunEngine will pause at the next checkpoint. To pause immediately, hit Ctrl+C again in the next 10 seconds.:30,  2.02s/mm]
Deferred pause acknowledged. Continuing to checkpoint.
m3Pausing...8%|████████▎                                                                                | 3.6856/48.3995 [00:07<01:30,  2.02s/mm]
---------------------------------------------------------------------------
RunEngineInterrupted                      Traceback (most recent call last)
~/.ipython/profile_collection/plans/03-plan.py in <module>()
----> 1 RE(my_plan_overnight())

/opt/conda_envs/collection-2018-2.0/lib/python3.6/site-packages/bluesky/run_engine.py in __call__(self, *args, **metadata_kw)
    745
    746             if self._interrupted:
--> 747                 raise RunEngineInterrupted(self.pause_msg) from None
    748
    749         return tuple(self._run_start_uids)

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

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

In [931]:

In [931]: RE.abort()
Aborting: running cleanup and marking exit_status as 'abort'...
OOPS!  The plan stopped.  The completed scans are:

Finished moving the polarization to horizontal.

Starting plan for H polarized light with 12 rixs images for each Ei = [579.3, 579.3, 580.5, 580.5]
Move m3diag to "yag"
Transient Scan ID: 20486     Time: 2018/07/21 21:39:14
Persistent Unique Scan ID: '2bcc4bfe-8aee-4a3c-aa48-ef57580e9642'
New stream: 'baseline'
Start-of-run baseline readings:
+--------------------------------+--------------------------------+
|                      ring_curr |<PHONE_NUMBER>9029074             |
|                gc_tcg_pressure | 0.0                            |
|              epu1_gap_readback | 32.709                         |

I let the plan continue a bit because there were some scans that I didn'want to kill for beamline reasons.  I hit ^C at the begnning because the FE shutter was closed.  When the plan continued anyway, I just manually reopend the shutter.  At one point, I thought we had suspenders on, but stay tuned for that at the end of this report.
|                      dcslt_inb | 17.999000000000002             |
|                      dcslt_out | 45.0                           |
|                      dcslt_bot | 11.002000000000002             |
|                      dcslt_top | 9.999999999999996              |
|                           dc_z | 180.00145                      |
|                       dc_twoth |<PHONE_NUMBER>586                 |
+--------------------------------+--------------------------------+

Move gcdiag to "grid"
gcdiag_y:   4%|████▋                                                                                | 4.0961/94.4001 [00:04<01:31,  1.02s/mm]
gcdiag_y:   5%|█████▎                                                                                | 4.5914/94.4001 [00:04<01:31,  1.02s/mm]
gcdiag_y:   5%|█████▊                                                                                | 4.947/94.4001 [00:05<01:30,  1.01s/mm]
gcdiag_y:   6%|██████                                                                                | 5.2683/94.4001 [00:05<01:30,  1.01s/mm]
gcdiag_y:   6%|██████▌                                                                                | 5.591/94.4001 [00:05<01:29,  1.01s/mm]
gc---------------------------------------------------------------------------                                               | 5.6975/94.4001 [00:05<01:29,  1.01s/mm]
KeyboardInterrupt                         Traceback (most recent call last)
~/.ipython/profile_collection/plans/03-plan.py in <module>()
----> 1 RE.abort()

/opt/conda_envs/collection-2018-2.0/lib/python3.6/site-packages/bluesky/run_engine.py in abort(self, reason)
   1009         self._exit_status = 'abort'
   1010         if self.state == 'paused':
-> 1011             self._resume_event_loop()
   1012         return self._run_start_uids
   1013

/opt/conda_envs/collection-2018-2.0/lib/python3.6/site-packages/bluesky/run_engine.py in _resume_event_loop(self)
    814                 return
    815             try:
--> 816                 self.loop.run_forever()
    817             finally:
    818                 if self._task.done():

/opt/conda_envs/collection-2018-2.0/lib/python3.6/asyncio/base_events.py in run_forever(self)
    420             events._set_running_loop(self)
    421             while True:
--> 422                 self._run_once()
    423                 if self._stopping:
    424                     break

/opt/conda_envs/collection-2018-2.0/lib/python3.6/asyncio/base_events.py in _run_once(self)
   1394                            timeout * 1e3, dt * 1e3)
   1395         else:
-> 1396             event_list = self._selector.select(timeout)
   1397         self._process_events(event_list)
   1398

/opt/conda_envs/collection-2018-2.0/lib/python3.6/selectors.py in select(self, timeout)
    443             ready = []
    444             try:
--> 445                 fd_event_list = self._epoll.poll(timeout, max_ev)
    446             except InterruptedError:
    447                 return ready

/opt/conda_envs/collection-2018-2.0/lib/python3.6/site-packages/bluesky/utils.py in handler(signum, frame)
    162                 orig_func = self.original_handler
    163                 self.release()
--> 164                 orig_func(signum, frame)
    165
    166         signal.signal(self.sig, handler)

KeyboardInterrupt:

In [932]:

gcdiag_y:  94%|█████████████████████████████████████████████████████████████████████████████████████████████████████▉      | 89.0968/94.4001 [01:29<00:05,  1.00s/mm]
In [932]:
gcdiag_y:  95%|██████████████████████████████████████████████████████████████████████████████████████████████████████▏     | 89.2739/94.4001 [01:29<00:05,  1.00s/mm]
In [932]:
gcdiag_y:  95%|██████████████████████████████████████████████████████████████████████████████████████████████████████▎     | 89.3834/94.4001 [01:29<00:05,  1.00s/mm]
In [932]:
gcdiag_y:  95%|██████████████████████████████████████████████████████████████████████████████████████████████████████▌     | 89.5971/94.4001 [01:29<00:04,  1.00s/mm]
In [932]:
gcdiag_y:  95%|██████████████████████████████████████████████████████████████████████████████████████████████████████▋     | 89.7074/94.4001 [01:29<00:04,  1.00s/mm]
In [932]:
gcdiag_y:  95%|███████████████████████████████████████████████████████████████████████████████████████████████████████     | 90.0728/94.4001 [01:30<00:04,  1.00s/mm]
In [932]:
In [932]:

gcdiag_y:  96%|███████████████████████████████████████████████████████████████████████████████████████████████████████▊    | 90.7024/94.4001 [01:30<00:03,  1.00s/mm]
In [932]:
gcdiag_y:  96%|████████████████████████████████████████████████████████████████████████████████████████████████████████▏   | 91.0251/94.4001 [01:31<00:03,  1.00s/mm]
In [932]:
gcdiag_y:  97%|████████████████████████████████████████████████████████████████████████████████████████████████████████▍   | 91.2866/94.4001 [01:31<00:03,  1.00s/mm]
In [932]:
gcdiag_y:  97%|██████████████████████████████████████████████████████████████████████████████████████████████████████████▊   | 91.62/94.4001 [01:31<00:02,  1.00s/mm]
In [932]:
gcdiag_y:  97%|█████████████████████████████████████████████████████████████████████████████████████████████████████████▏  | 91.9405/94.4001 [01:32<00:02,  1.00s/mm]
In [932]:
In [932]:

gcdiag_y:  98%|█████████████████████████████████████████████████████████████████████████████████████████████████████████▋  | 92.3862/94.4001 [01:32<00:02,  1.00s/mm]
In [932]:
gcdiag_y:  98%|██████████████████████████████████████████████████████████████████████████████████████████████████████████▏ | 92.7628/94.4001 [01:32<00:01,  1.00s/mm]
In [932]:
gcdiag_y:  98%|██████████████████████████████████████████████████████████████████████████████████████████████████████████▎ | 92.9757/94.4001 [01:33<00:01,  1.00s/mm]
In [932]:
gcdiag_y:  99%|███████████████████████████████████████████████████████████████████████████████████████████████████████████▋ | 93.298/94.4001 [01:33<00:01,  1.00s/mm]
In [932]:
gcdiag_y:  99%|███████████████████████████████████████████████████████████████████████████████████████████████████████████ | 93.6248/94.4001 [01:33<00:00,  1.00s/mm]
In [932]:
gcdiag_y:  99%|███████████████████████████████████████████████████████████████████████████████████████████████████████████▍| 93.8828/94.4001 [01:33<00:00,  1.00s/mm]
In [932]:
In [932]:

In [932]:

In [932]:

In [932]:

In [932]:

In [932]:

In [932]:

In [932]:

In [932]:

this is where I hammered the `^C^ and fintally it stopped.
At this point, I was having trouble highlight the termail window text and things were a bit wierd so I was about to give up on this issue and then I found that I am stuck in running.

In [932]: RE.abort()
Aborting: running cleanup and marking exit_status as 'abort'...
Out[932]:
['2bcc4bfe-8aee-4a3c-aa48-ef57580e9642',
 '0e859145-bd5d-4ea3-8e19-d8edd857ddaf']

In [933]: %run -i ~/.ipython/profile_collection/plans/03-plan.py

In [934]: RE(my_plan_overnight())
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
~/.ipython/profile_collection/plans/03-plan.py in <module>()
----> 1 RE(my_plan_overnight())

/opt/conda_envs/collection-2018-2.0/lib/python3.6/site-packages/bluesky/run_engine.py in __call__(self, *args, **metadata_kw)
    685         # If we are in the wrong state, raise.
    686         if not self.state.is_idle:
--> 687             raise RuntimeError("The RunEngine is in a %s state" % self.state)
    688
    689         futs = []

RuntimeError: The RunEngine is in a running state

In [935]: RE.abort()
Aborting: running cleanup and marking exit_status as 'abort'...
Out[935]:
['2bcc4bfe-8aee-4a3c-aa48-ef57580e9642',
 '0e859145-bd5d-4ea3-8e19-d8edd857ddaf']

In [936]: RE(my_plan_overnight())
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
~/.ipython/profile_collection/plans/03-plan.py in <module>()
----> 1 RE(my_plan_overnight())

/opt/conda_envs/collection-2018-2.0/lib/python3.6/site-packages/bluesky/run_engine.py in __call__(self, *args, **metadata_kw)
    685         # If we are in the wrong state, raise.
    686         if not self.state.is_idle:
--> 687             raise RuntimeError("The RunEngine is in a %s state" % self.state)
    688
    689         futs = []

RuntimeError: The RunEngine is in a running state

 '0e859145-bd5d-4ea3-8e19-d8edd857ddaf']

In [939]: exit
ERROR:asyncio:Task was destroyed but it is pending!
task: <Task pending coro=<Event.wait() done, defined at /opt/conda_envs/collection-2018-2.0/lib/python3.6/asyncio/locks.py:269> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7f2517fa5588>()]> cb=[_wait.<locals>._on_completion() at /opt/conda_envs/collection-2018-2.0/lib/python3.6/asyncio/tasks.py:380]>
xf02id1@xf02id1-ws2:~$  bsui
Versions of DAMA software:

    - Bluesky    : v1.3.0
    - Ophyd      : v1.2.0a3
    - Databroker : v0.11.0

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-2.0
    $ ipython --profile=collection

Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 18:21:58)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.3.1 -- An enhanced Interactive Python. Type '?' for help.

IPython profile: collection
Loading metadata history from /home/xf02id1/.config/bluesky/bluesky_history.db
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-xf02id1'
/opt/conda_envs/collection-2018-2.0/lib/python3.6/site-packages/ophyd/utils/startup.py:11: UserWarning: This function is deprecated in ophyd 1.2 and will be removed in ophyd 1.3. setup is now automatically called.
  warnings.warn("This function is deprecated in ophyd 1.2 "
Versions of DAMA software:

    - Bluesky    : v1.3.0
    - Ophyd      : v1.2.0a3
    - Databroker : v0.11.0

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-2.0
    $ ipython --profile=collection

Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 18:21:58)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.3.1 -- An enhanced Interactive Python. Type '?' for help.

IPython profile: collection
Loading metadata history from /home/xf02id1/.config/bluesky/bluesky_history.db
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-xf02id1'
/opt/conda_envs/collection-2018-2.0/lib/python3.6/site-packages/ophyd/utils/startup.py:11: UserWarning: This function is deprecated in ophyd 1.2 and will be removed in ophyd 1.3. setup is now automatically called.
  warnings.warn("This function is deprecated in ophyd 1.2 "

important note is that cryo.t was found at 30 after all of this.  The first point was 15, so somehow things jumped ahead..  Unfotunately, no archive data to prove it. Just the scan numbers
 [9]: db[-3]['start']['scan_id']
namespace()
Out[9]: 20485

This was the one before the plan started.
The only item i suspenders is the ring current
In [937]: RE.suspenders
Out[937]: (SuspendFloor(EpicsSignalRO(read_pv='SR:OPS-BI{DCCT:1}I:Real-I', name='ring_curr', value=375.1611844984303, timestamp=1532224354.963782, pv_kw={}, auto_monitor=False, string=False), sleep=120, pre_plan=None, post_plan=None,tripped_message=),)

In [938]:

Here is code for the plan:
def my_plan_overnight():

    thetas = [15, 30]
    zs = [16.45, 17.47 ]

    #xs =
    yield from mv(cryo.t, thetas[0], cryo.z, zs[0] )
    yield from rixscam_energies_SatNight(12, 'H' )

    yield from mv(cryo.t, thetas[1], cryo.z, zs[1] )
    yield from rixscam_energies_2(12, 'H')

def rixscam_energies_SatNight(num_rixs_im, pol_type, extra_md = ' ' ):
    # num_rixs_im = number of RIXS befove every beamline alignment
    # the list of pitch and energy has to be updated accordingly to num_rixs_im, example a total of 24 scans with alignment every 12 scans requires to double the list
    #                                 m7_pit_val = [5.42, 5.42, 5.44, 5.44]   &  Ei = [500, 500, 505, 505]
    # pol_type = polarization H, or V, offset are already assumed
    # extra_md = optional, note or metadata
    m7_pit_val = [5.4210,5.4210, 5.4305,5.4305,5.4385, 5.4385]
    Ei_val = [ 576.5,576.5, 579.3,579.3, 580.5, 580.5 ]

    yield from mv(extslt.vg,30)

    if pol_type == 'H':
        yield from pol_H(4)
    elif pol_type == 'V':
        yield from pol_V(6)
    else:
        print('You forgot to specify the polarization type or pol_type.')

    f_string=''

    print('Starting plan for {} polarized light with {} rixs images for each Ei = {}'.format(pol_type,num_rixs_im,Ei_val))

    try:
        #yield from align.m1pit
        #yield from m3_check()
        for i in range(len(m7_pit_val)):
            yield from mv(espgm.m7pit, m7_pit_val[i])
            yield from mv(pgm.en, Ei_val[i])
            yield from align.m1pit
            yield from m3_check()
            yield from mv(gvbt1,'open')
            #scan_num_cor = 2+2*i
            for j in range(0, num_rixs_im):
                yield from mvr(cryo.y,-0.01)
                uid = yield from count([rixscam],num=1, md = {'reason':'Sr2CrO4 - E = {} eV - Pol {}'. format(Ei_val[i],pol_type)})
                if uid == None:
                    uid = db[-1].start['scan_id']#+1+j+scan_num_cor
                    f_string += 'scan no ' + str(uid) + ': E = ' + str(Ei_val[i]) + '\n'
                else:
                    f_string += 'scan no ' + str(db[uid].start['scan_id']) + ': E = ' + str(Ei_val[i]) + '\n'
            yield from mv(gvbt1,'close')
            #yield from align.m1pit
            #yield from m3_check()

        yield from mv(gvbt1,'open')
        yield from mv(gvsc1,'close')
        for i in range(0,3):
            uid = yield from count([rixscam],num=1, md = {'reason':'gv:sc1 dark'})
            if uid == None:
               uid = -1
            f_string += 'scan no ' + str(db[uid].start['scan_id']) + ':  dark \n'
        yield from mv(gvbt1,'close')
        yield from mv(gvsc1,'open')

        print (f_string)

    except Exception:
        yield from mv(gvbt1,'close')
        yield from mv(gvsc1,'open')
        print('OOPS!  The plan stopped.  The completed scans are:\n')
        print(f_string)

This happened on 07/21.  Apperently, it happened again later that evening.

THis is consistent problem.  Note that we are not writing scripts like:
RE(my_plan())
RE(my_plan())
RE(my_plan())
RE(my_plan())
RE(my_plan())
RE(my_plan())
RE(my_plan())
but things are acting like this is what we have done

my_data_scans():
    try:
        a long list of moving motors and loops for repeated counts
    except Exception:
         put instrument in a safe place and print out completed scans from sting used to create md

my_overnight_scans():
     change some conditions
     yield from my_data_scans([with_some_args])
     change some conditions
     yield from my_data_scans([with_some_args])
     change some conditions
     yield from my_data_scans([with_some_args])

is causing this behavior.  Unsure if this is known/expected.  Creating bug report for documentation.
To correct this behavior now, seems that I should use wrappers or put the try/except in the top plan

Does this section address your question effectively? How might it be improved?

@danielballan Yes, this is what I need to do. Could you add a disclaimer just below the header that highlights that if you do not use the wrappers, you can generate undesired behavior that could generate a state that could affect future measurements and possibly open you up to destroy something?

@ambarb TLDR: add raise on its own line in your except blocks as

try:
    ...
except Exception:
    ...
    raise

@danielballan We probably need to document that if a GeneratorExit exception is thrown in your plan must drop dead (this is a python language thing https://www.python.org/dev/peps/pep-0342/#new-standard-exception-generatorexit or https://amir.rachum.com/blog/2017/03/03/generator-cleanup/) which is something the wrappers take care of for you.  However, that is not the problem here.
The issue is that in your execpt block you are not re-raising the exception!  What is happening is your first call to rixscam_energies_SatNight is getting the exception thrown it, it then handles it and from the point of view of the outside world everything is good to continue! So the outer plan continues on to the second call to rixscam_energies_SatNight.  However because this was done in the context of an abort we have already started to tear down the internal state of the RE so (apparently) the ctrl-C handling is not working.
At this point I must paraphrase Tolstoy "All happy code paths are alie; every unhappy code path is unhappy in its own way" and in the ctrl-c panic induced state restarting (as you did) is the best bet).
You have probably exposed 2 bugs in the RE

things are not quite right in the abort path
the panic path leaves the RE un-useable (but we mostly knew that)

Bundling this into #960


[Feature Request] Enable pagination for querying tokens by owner

Background & Context
Hey Zora peeps 👋 , I have a question/feature request about tokens and pagination.
I want to surface token collector data for a given set of collectionAddresses. Using the tokens query, I can definitely fetch all these tokens, further filter the results (e.g. by specifying ownerAdddresses) or limit the page size to some number less than 500, but paginating through these results in a way that gives complete data for each owner within a page has proved to be trickier than I expected.
Expected Behavior
Be able to query tokens with some limit and sort/group results by owner addresses. The endCursor returned could then be used to fetch the next set of owned tokens when the client needs it.
Actual Behavior
We have no guarantee that tokens for the same owner don't exist across page breaks. e.g.
  query MyQuery {
     tokens(where: {collectionAddresses: ["0x29d8C82ADbA12c822c37090FC1Cf7F430bbC1A60"]}, pagination: {limit: 50}) {
      nodes {
        token {
          tokenId
          owner
        }
      }
      pageInfo {
        endCursor
        hasNextPage
        limit
      }
  }

One would need to paginate through the resulting set and group tokens manually to confidently return token data for a given owner. Also, the main workarounds I can think of kind of defeat the purpose of cursor pagination 😢 (see below).
Potential Workarounds

Option A: Don't paginate on the graphQL level -- i.e. exhaustively query for all tokens & map owners to their NFTs on the client-side as mentioned above.

Works, but wouldn't scale well for collections with lots of holders/tokens.

Option B: Get all owner count data first (e.g using ownersByCount), for most cases query tokens with a subset of ownerAddresses that we can be sure are less than our limit and for cases where a single owner has >500 tokens owned, paginate through all of those results before returning our result.

Seems better, but I think sort of defeats the purpose of cursor pagination. Rather than giving the client the chance to fetch more data when it needs it via the endCursor, this kind of batches the owners we query with instead 🤔

Am I missing something? Would it be possible to incorporate this sort of behavior in the future? I'm all ears!

Option B seems reasonable at this point to me (Better perf than #a). I am forwarding this to the indexer team :).


Update gitter link in README.md

Wondered why I still couldn't get in despite the last PR and noticed the link wasn't updated

Thank you!


Async ce inside a Result ce

Hello
I am using 1.4.3
Is it possible to have an async ce inside a result ce ?  I am trying to do the following
someResult
|> Result.bind (
   fun okValue ->
      result{
           let! (x: returnType) = async { return someAsynFunc okValue }
           return Ok (x)
      })

and it gives me an error saying No overloads match for method source.
I have read through issue 84 and 88 but I am still unclear on the matter. Any help is appreciated.
Thanks

No this is not possible.  Result CEs are for synchronous work while AsyncResult is for Async work.  You'll have to convert the entire chain to using asyncResult if you're using F#'s Async CE anywhere.

Thank you for the clarification. Closing the issue


Global import broken

🐛 The bug
With the previous version phosphor-vue, global import was possible using
import { createApp } from 'vue'
import PhosphorVue from 'phosphor-vue'

const app = createApp(App)
app
  .use(PhosphorVue)

app.mount('#app')

With the new version, this is not possible anymore.
🛠 To reproduce
https://stackblitz.com/edit/vue-dniokx?file=src/main.js
🌈 Expected behaviour
that switching to the new package works straightforward (just like written in the README.md)
ℹ Additional context
No response

I've now implemented global imports, check the release notes: https://github.com/phosphor-icons/vue/releases/tag/v2.1.4


Brackets 1.6 32 bit crashes in ubuntu 15.10 when open folder.

this is an issue i am getting when i try to open multiple files via open folder option in files.

Similar to this I think: https://github.com/adobe/brackets/issues/12146


[v2.9] set version on final image

Issue:

Problem

Solution

Testing

Engineering Testing
Manual Testing

Automated Testing

Test types added/modified:

Unit
Integration (Go Framework)
Integration (v2prov Framework)
Validation (Go Framework)
Other - Explain: EXPLAIN
None
REMOVE NOT APPLICABLE BULLET POINTS ABOVE

If "None" - Reason: EXPLAIN THE REASON

If "None" - GH Issue/PR: LINK TO GH ISSUE/PR TO ADD TESTS

Summary: TODO
QA Testing Considerations

Regressions Considerations

TODO
Existing / newly added automated tests that provide evidence there are no regressions:

TODO

Closing in favor of: https://github.com/rancher/rancher/pull/46172


[d3d8] - Acceleration of SUGURI X-Edition HD (265170) - Title crashes while transitioning to the main menu.

Description:
Acceleration of SUGURI X-Edition HD (265170) succesfully launches and displayed the developer bumpers, but immediately when transitioning to the main menu.

D8VK
Windows

Software information
Acceleration of SUGURI X-Edition HD (265170)
System information

GPU: Intel Iris Xe Graphics
Driver: <IP_ADDRESS>22
Wine version: N/A (Windows 10 10.0.19044)
DXVK version: 474d8c0

Apitrace file(s)

Link: https://drive.google.com/file/d/1NP5MhNIDux9b9NmEAYGrOure_cxA6J87/view?usp=share_link

Log files

d3d9.log: AoSuguriHD_d3d9.log

I can confirm this is working correctly on Windows with master (2c56a1a).


ibmse: use optional root_ca when launch kbs

Make root_ca optional
Check certs offline by default

@Xynnn007 @fitzthum may I ask your help to review this?

lgtm. btw do you want this commit be included in the incoming release?

@Xynnn007 Yes. Thanks!


create rooms command

Created rooms command to display a list of the rooms when called with no id. Users can also call the rooms command with an roomId or index from the table to display a particular room's information. If the command is called with a locationId, the rooms of that location will be listed.
I also updated the readme for the schema commands, installedapps:delete command, and room command.

I hadn't thought of this before but this should probably be under locations (as in "locations:rooms" instead of just "rooms") since that's how the API URL is structured. Maybe we could add an alias for just "rooms" (you can see an example of an alias in deviceprofile.ts).


edit profile pic feature added

Solved issues in pr #394. @narayansoni  can you review the changes

Hi @SasiVardhan247  thanks for contribution but I wanted to remind you one thing you missed. You don't have to work on the master branch, create a separate branch for the changes. Keep the master branch clean so you can safely pull changes from the remote branch.For now, you can clean fetch your master branch from this remote by force pull.

Also, there's no progress indication of profile pic upload. You can implement one like in the upload post.

Hi @SasiVardhan247 thanks for contribution but I wanted to remind you one thing you missed. You don't have to work on the master branch, create a separate branch for the changes. Keep the master branch clean so you can safely pull changes from the remote branch.For now, you can clean fetch your master branch from this remote by force pull.

ok sure , nxt time i'll work on seperate branch


Fixing Beaver PID handling

Creating Beaver PID directory when missing
Cleaning Beaver PID after shutting it down

(cherry picked from commit 730d3fc)
This is a re-cherrypick of pr #566

I'm good with this :+1:

:+1: LGTM


The nuclear operative "Syndiejuice" has unlabelled jugs

Description
Read title, it's the same issue that the regular chemvend used to have.
Reproduction

Be nukie agent
Open the syndiejuice to start mixing chemicals
Screams!

Screenshots

will add these soon I just want to get this issue made

Worth noting this is happening to the regular ChemVend too again.

Possibly due to #30064 ?

Can confirm this on master for both chemvends. Looks like #30064 completely removed the dummy spawning responsible for checking labels.

mfw core behavior built on undocumented and strange code

mfw core behavior built on undocumented and strange code

More like mfw code randomely deleted from PR with no justification or testing.


Add support for host architecture detection of arm64 on Windows desktop

This is currently support on macOS via OperatingSystemUtils, a similar addition to the HostArchitecture enum and implementations for Linux and windows.
API: https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/base/os.dart#L123
Example macOS implementation: https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/base/os.dart#L302

Hi this should work for linux architecture detection but im not really sure how to test it
@override
  HostPlatform get hostPlatform {
    if (_hostPlatform == null) {
      String unamePath;
      String getconfPath;
      if (which('uname') == null) {
        // Fallback to known install locations.
        for (final String path in <String>[
          '/usr/bin/uname',
          '/bin/uname',
        ]) {
          if (_fileSystem.isFileSync(path)) {
            unamePath = path;
          }
        }
      } else {
        unamePath = 'uname';
      }
      // This if is redundant because of the else
      if (unamePath == null) {
        throwToolExit('uname not found. Try adding it to your PATH environment variable.');
      }
      if (which('getconf') == null) {
        // Fallback to known install locations.
        for (final String path in <String>[
          '/usr/bin/getconf',
          '/bin/getconf',
        ]) {
          if (_fileSystem.isFileSync(path)) {
            getconfPath = path;
          }
        }
      } else {
        getconfPath = 'getconf';
      }
      // This if is redundant because of the else
      if (getconfPath == null) {
        throwToolExit('getconf not found. Try adding it to your PATH environment variable.');
      }
      RunResult arm64Check = _processUtils.runSync(<String>[unamePath, '- m']);
      // On arm64 "uname -m will output aarch64 or an armv8 variant if processor is arm64"
      if (arm64Check.exitCode == 0 && (arm64Check.stdout.trim().startsWith('arm') || arm64Check.stdout.trim().startsWith('aarch')))
        // getconf is used to determine whether the kernel is 32 or 64 bit
        arm64Check = _processUtils.runSync(<String>[getconfPath, 'LONG_BIT']);
      if (arm64Check.exitCode == 0 && arm64Check.stdout.trim() == "64"){
        _hostPlatform = HostPlatform.linux_arm64;
      }
    } else {
      _hostPlatform = HostPlatform.linux_x64;
    }
    return _hostPlatform;
  }

Hi this should work for linux architecture detection but im not really sure how to test it
@override
  HostPlatform get hostPlatform {
    if (_hostPlatform == null) {
      String unamePath;
      String getconfPath;
      if (which('uname') == null) {
        // Fallback to known install locations.
        for (final String path in <String>[
          '/usr/bin/uname',
          '/bin/uname',
        ]) {
          if (_fileSystem.isFileSync(path)) {
            unamePath = path;
          }
        }
      } else {
        unamePath = 'uname';
      }
      // This if is redundant because of the else
      if (unamePath == null) {
        throwToolExit('uname not found. Try adding it to your PATH environment variable.');
      }
      if (which('getconf') == null) {
        // Fallback to known install locations.
        for (final String path in <String>[
          '/usr/bin/getconf',
          '/bin/getconf',
        ]) {
          if (_fileSystem.isFileSync(path)) {
            getconfPath = path;
          }
        }
      } else {
        getconfPath = 'getconf';
      }
      // This if is redundant because of the else
      if (getconfPath == null) {
        throwToolExit('getconf not found. Try adding it to your PATH environment variable.');
      }
      RunResult arm64Check = _processUtils.runSync(<String>[unamePath, '- m']);
      // On arm64 "uname -m will output aarch64 or an armv8 variant if processor is arm64"
      if (arm64Check.exitCode == 0 && (arm64Check.stdout.trim().startsWith('arm') || arm64Check.stdout.trim().startsWith('aarch')))
        // getconf is used to determine whether the kernel is 32 or 64 bit
        arm64Check = _processUtils.runSync(<String>[getconfPath, 'LONG_BIT']);
      if (arm64Check.exitCode == 0 && arm64Check.stdout.trim() == "64"){
        _hostPlatform = HostPlatform.linux_arm64;
      }
    } else {
      _hostPlatform = HostPlatform.linux_x64;
    }
    return _hostPlatform;
  }

Another option instead of using uname and getconf could just be calling dart --version since it contains "linux_arm64" at the end of the output

Another option instead of using uname and getconf could just be calling dart --version since it contains "linux_arm64" at the end of the output

I'm working to support arm64 Linux desktop at the moment. https://github.com/flutter/flutter/pull/61221

I'm working to support arm64 Linux desktop at the moment. https://github.com/flutter/flutter/pull/61221

oh okay i guess this didn't need doing then lel

oh okay i guess this didn't need doing then lel

Down-scoping to Windows, as Linux is done.


Fix repeat save event animation and vibration

Fixes #351. This PR refactors the SaveEventButton to immediately trigger animation and vibration on press and track an animating state. I also ran into an issue with delayed rendering for various screens due to the use of isFocused in the respective shouldComponentUpdate. To fix this I refactored by creating a OnlyUpdateWhenFocused component and wrapped all out screens with this in src/Navigation.js.
Tester check-list

[ ] Tested on multiple devices / OS versions (Test on the physical device(s) you have access to, otherwise use BrowserStack):

[ ] Galaxy S7 (Android 6.0)
[ ] iPhone 7 (iOS 10.x)

If someone could test out the vibration, that would be amazing. I don't have a device which does this.

Works well for me on iPhone 7

Tested on Pixel 2. Fix works :+1:


Do not write BOM (byte order mark) in projection file

In the recent changes adding stream support, we use a constructor for StreamWriter that results in using internally a UTF8Encoding that writes a BOM (byte order mark). At least one version of Arcgis cannot process such a file, and winds up having no projection. My colleague reported this; I don't have a license for Arcgis. I have figured out how to fix the problem, but not knowing if it is a thorough fix, I am attaching a patch file here, instead of using a pull request.
Note that if you use the UTF8Encoding constructor that takes a boolean, and pass it false, no BOM is written using such an encoding.
projection_bom_fix.patch

Actually the field _utf8EncodingNoBOM is not needed; the static read only property would be sufficient.

Thank you @FrankHileman for your diligence and the detailed suggestions you provided. I’ve implemented the fix based on your recommendations, and it’s now in place. Please feel free to check if the new code works for you. If any issues arise, feel free to reopen this ticket.


Installation error of 1.21.0 on Linux: wrong permissions after uncompress tar file.

What version of Go are you using (go version)?

$ go version
go version go1.21.0 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env

What did you do?
The suggested command for installing Go is not working with 1.21.0.
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
Tar generates a folder with 750 permissions:
$ ls -la /usr/local
...
drwxr-x--- 10 root 4096 sept.  6 17:39 go
...

So a chmod 755 -R is neecessary.
With 1.20.7 no problems:
$ sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.20.7.linux-amd64.tar.gz

$ ls -la /usr/local
...
drwxr-xr-x 10 root 4096 juil. 26 23:43 go
...

What did you expect to see?
/usr/local/go with 755 permissions.
What did you see instead?
/usr/local/go with 750 permissions.

Ok, I saw 1.21.1 was released very same moment I have created the issue.
With 1.21.1, no problems.

Duplicate of #61862


terminal not working in my ubuntu 18.04

[ ] I have reset Atom to defaults prior to submitting report.
[x] I have not reset Atom to defaults prior to submitting report.

Description

Steps to reproduce

Expected behavior:
Actual behavior:
Reproduces how often:
Versions

> atom --version

> apm --version

OS name and version:
Platformio-ide-terminal version:
Additional Information

[ ] I have reset Atom to defaults prior to submitting report.
[x] I have not reset Atom to defaults prior to submitting report.

Description

Steps to reproduce

Expected behavior:
Actual behavior:
Reproduces how often:
Versions

> atom --version

> apm --version

OS name and version:
Platformio-ide-terminal version:
Additional Information


Windows DLL and no-comp configuration option adds but hides some symbols

When openssl is configured with no-comp to disable compression, there are still some default dummy functions compiled into the library. (SSL_COMP_get_name(), SSL_get_current_compression(), SSL_get_current_expansion()), those just return dummy results.
Those symbols are then removed from the public interface of the DLL via a .def file entry. This is a totally different approach than used with many other optional (like no-ssl3), which are simple not defined at all.
This is a problem for building pyca/cryptography#1675. Either it works with a static openssl library or with a dynamic one, but supporting both is unecessarily hard.
It would be nice if either those dummy symbols are not hidden via .def or if the functions are not compiled into the library in the first place, like it is done in most other cases when functionality can be configured out of the library.

This seems to be fixed already in 1.1.0, but remains an issue in 1.0.2.

Fixed by a79a40a9fe.


"See also" Links in html docs are generated incorrectly

Each Helm Command in the web docs contains a "See also" section, but most of the links are broken.
e.g. "helm completion" links to
https://docs.helm.sh/helm/#helm_completion
but it should link to:
https://docs.helm.sh/helm/#helm-completion
("_" replaced by "-")
This is the case for all multi word links there.

I filed the issue in the helm/helm-www issue queue.

Thanks again for filing this issue. As @technosophos mentioned at the time, it was worked from the helm/helm-www issue queue; we resolved it in https://github.com/helm/helm-www/pull/168. You can see this working in the v2 docs: https://v2.helm.sh/docs/helm/#helm_completion - I'll resolve this now.


Add a description for master_key_password

It confused me when I read the doc that username and password were explained but not master_key_password. This adds a description for it.

@stimms : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@stimms - thanks for the clarifying update!
#sign-off

@stimms - thanks for the clarifying update!
#sign-off


Don't replace syntax when output has shadowed ids

#lang racket/base

(define (and x y) (list x y))

(define (member? e l)
  (if (member e l)
      #t
      #f))

should not be refactored to (and (member e l) #t) because and is shadowed.

I have added more tests. However, I am surprised that the final test I added seems to work, when I expected my changes to be insufficient to catch it:
test: "shadowed `define-syntax-rule`: single-clause syntax-rules macro"
------------------------------
(define-syntax define-syntax-rule
  (syntax-rules ()
    [(define-syntax-rule new old)
     (define-syntax new
       (syntax-rules ()
         [(new . args) (old . args)]))]))
(define-syntax my-or
  (syntax-rules ()
    [(my-or a b)
     (let ([tmp a])
       (if a a b))]))
------------------------------

After adding 2 more shadowed-output tests I have a guess about what's going on. I had been confused because it seemed to me to have information about the "future" expansion of the syntax object that it's looking at. But then I realized the way resyntax uses current-expand-observe observe-event!, it actually fully expands the program before doing any analyses, not just the "partial expansion" that I had imagined in my head from seeing un-expanded syntax objects. Since expansion continues after the expansion observe event, the expander state contains the information it needs to detect these conflicts.

Since expansion continues after the expand-observe event, the expander state contains the information it needs to detect these conflicts.

This same principle also allows it to detect the let-to-define tricky case


feat: integrate migrated ckb-indexer to e2e

add builtin indexer
replace indexer of e2e-test to builtin indexer

Codecov Report

Merging #8 (93f0bf4) into add_e2e_pkg (c401edf) will decrease coverage by 0.00%.
The diff coverage is 77.77%.

@@               Coverage Diff               @@
##           add_e2e_pkg       #8      +/-   ##
===============================================
- Coverage        82.28%   82.28%   -0.01%
===============================================
  Files               95       97       +2
  Lines            19717    19741      +24
  Branches          1861     1861
===============================================
+ Hits             16225    16243      +18
- Misses            3438     3444       +6
  Partials            54       54

Impacted Files
Coverage Δ

packages/ckb-indexer/src/builtinRpc.ts
66.66% <66.66%> (ø)

packages/ckb-indexer/src/builtinIndexer.ts
77.77% <77.77%> (ø)

packages/ckb-indexer/src/index.ts
100.00% <100.00%> (ø)

packages/ckb-indexer/src/indexer.ts
27.65% <100.00%> (+0.17%)
:arrow_up:

packages/ckb-indexer/src/rpc.ts
37.93% <100.00%> (ø)

Continue to review full report at Codecov.

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


SIGSEGV, PhaseIdealLoop::spinup

Please provide a brief summary of the bug
Hello
Any got this and knows a workaround ?
SIGSEGV (0xb) at pc=0x00007effe3232f33, pid=1, tid=256
JRE version: OpenJDK Runtime Environment Temurin-11.0.16+8 (11.0.16+8) (build 11.0.16+8)
Java VM: OpenJDK 64-Bit Server VM Temurin-11.0.16+8 (11.0.16+8, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
Problematic frame:
V [libjvm.so+0xe20f33] PhaseIdealLoop::spinup(Node*, Node*, Node*, Node*, Node*, small_cache*) [clone .part.48]+0x53
Please provide steps to reproduce where possible
It randomly happens.
Expected Results
n/a
Actual Results
n/a
What Java Version are you using?
openjdk version "11.0.16" 2022-07-19  OpenJDK Runtime Environment Temurin-11.0.16+8 (build 11.0.16+8)  OpenJDK 64-Bit Server VM Temurin-11.0.16+8 (build 11.0.16+8, mixed mode)
What is your operating system and platform?
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
How did you install Java?
n/a
Did it work before?
yes
change : n/a

Did you test with other Java versions?
ok: 11.0.10 (AdoptOpenJDK)

nok:  <IP_ADDRESS> (Eclipse Adoptium), 11.0.16 (Eclipse Adoptium)

Relevant log output
n/a

Does the crash output also point you to the hs_err log file, the crash log is usually written to /tmp - I may be able to spot something in there

@Jammy42 you may have luck with 11.0.18 - please do let us know if you see a future crash.


Make title meaningful after component creation

Hey, I just made a Pull Request!

Fixes #2458.
After the change, the UX should look like this:

If the component creation was successful:

If the component creation failed:

:heavy_check_mark: Checklist

[ ] All tests are passing yarn test
[x] Screenshots attached (for UI changes)
[ ] Relevant documentation updated
[ ] Prettier run on changed files
[ ] Tests added for new functionality
[ ] Regression tests added for bug fixes

Nice work! Welcome to the community!

Thanks for the quick merge @benjdlambert :sweat_smile:


HIVE-24315. Improve validation and error handling in HPL/SQL (amagyar)

Following bugs have been fixed:

arithmetic expressions produce wrong results in certain cases because of incorrect precedence rule
arithmetic expressions produced null result because of missing auto conversion rules
evaluating undefined variable/function resulted null instead of exception
calling a procedure/function with incorrect number of arguments resulted null instead of exception
attempt to call an undefined function no longer causes exception on the server side
calling a function with incorrect type of parameters now results an exception
incorrect syntax was sometimes ignored without any error.

I removed the empty overrides.

+1


errorStorage deleteSelected does not work

Describe the bug
errorStorage  deleteSelected does not work
Reporter
Ali
Category

Frank Console

To Reproduce
Steps to reproduce the behavior:

Go to error storage
select a message
Click delete selected
See error

Expected behavior
Screenshots
Environment:

Application server (WebSphere)
Browser [Chrome]
IAF Version IAF 7.6-20200608.143400: ibis4oma

Additional context
Please have the same functionality for messageLog

Can't reproduce, what is the issue? Are there any errors?


Add documentation

Motivation
Documentation is essential to showcase our tool and make it easier for users to understand how to use it.
Proposed Solutions
Use https://www.sea-ql.org/StarfishQL/docs/index/ as reference and write the documentation for the project

Here is the documentation https://www.sea-ql.org/Seaography/


nmap module not found

I got this error
└─$ python dosinator.py -h
Traceback (most recent call last):
File "/home/kali/Desktop/Dosinator/dosinator.py", line 14, in
from nmap import nmap
ModuleNotFoundError: No module named 'nmap'
I already installed python3-nmap but still got the same error.

can you run pip install python-nmap on the terminal

yes but it didn't work

Could you join our discord group and share the screenshot of the error you received?
https://discord.gg/nGBpfMHX4u


Get-TssSecret should have easier access to items

Summarize Functionality
In version 0.10.0 I could do this where the secret had fieldname 'password':
(Get-TssSecret -id 1).password
In version 0.47.0 I have to do something like this:
((Get-ppTssSecret -id 1).items.where{$_.fieldname -eq 'password'}).itemvalue
this makes the tool much harder to use in terminal. I would need to write complex wrappers that build custom objects for multiple template types just to get the old functionality.
Is there a command that is similiar or close to what you are looking for?
Yes
Technical Details
No response

There are methods available for easy retrieval of slug values that can be found using Get-Member or the class documentation can be found here:  Secret.
The method that can be used to get a field value:
(Get-TssSecret ...).GetFieldValue('password')

The process noted from previous version was for pre-release and a new processing and object base was chosen for various reasons.

Thank you. I should have known to check out the methods. That's much better than my solution of using calculated fields in a wrapper:
[array]$calc = foreach($field in $secret.items.fieldname){@{name=$field;expression=[ScriptBlock]::create('($_.items.where{$_.fieldname -eq ' + "'$field'}).itemvalue")}}
$secret | select-object $calc

The script method option is one way of doing it and is not an uncommon practice. It adds a bit of overhead building that object out every time in the function and if you are piping to the function that adds up in timing. The classes used in this module are for pure performance reasons. Use of C# class takes all the fluff and overhead PowerShell has for building the properties and objects.
I am using the binding ability that PowerShell has though with the classes. Allowed me to get rid of hundreds of lines of code building those objects. The only requirement is the class needs the same property names as the API, and then PowerShell takes care of matching everything up to output the end result.
Current:
https://github.com/thycotic-ps/thycotic.secretserver/blob/c9a7707096d322682080a02f59af866ce7976335/src/functions/secrets/Get-TssSecret.ps1#L191-L196
The git history is not available on GitHub now as the file and folders have been renamed, but the code previously used in 0.10.0:
                $outSecret = [PSCustomObject]@{
                    SecretId = $restResponse.id
                    TemplateId = $restResponse.secretTemplateId
                    FolderId = if ($restResponse.folderId -eq -1) { $null } else { $restResponse.folderId }
                    Active = $restResponse.active
                    LauncherConnectSecretId = if ($restResponse.launcherConnectAsSecretId -eq -1) { $null } else { $restResponse.launcherConnectAsSecretId }
                    Restricted = $restResponse.isRestricted
                    OutOfSync = $restResponse.isOutOfSync
                    OutOfSyncReason = $restResponse.outOfSyncReason
                    AutoChangeEnabled = $restResponse.autoChangeEnabled
                    AutoChangeNextPassword = $restResponse.AutoChangeNextPassword
                    ApprovalForAccessRequired = $restResponse.requiresApprovalForAccess
                    CommentRequired = $restResponse.requiresComment
                    Checkout = $restResponse.checkOutEnabled
                    CheckoutUserId = if ($restResponse.checkOutUserId -eq -1) { $null } else { $restResponse.checkOutUserId }
                    CheckoutIntervalMinutes = if ($restResponse.CheckoutIntervalMinutes -eq -1) { $null } else { $restResponse.checkOutIntervalMinutes }
                    CheckoutChangePassword = $restResponse.checkOutChangePasswordEnabled
                    AccessRequestWorkflowMapId = if ($restResponse.accessRequestWorkflowMapId -eq -1) { $null } else { $restResponse.accessRequestWorkflowMapId }
                    Proxy = $restResponse.proxyEnabled
                    SessionRecording = $restResponse.sessionRecordingEnabled
                    SSHCommandsRestricted = $restResponse.restrictSshCommands
                    SSHCommandsOwnersUnrestricted = $restResponse.allowOwnersUnrestrictedSshCommands
                    DoubleLock = $restResponse.isDoubleLock
                    DoubleLockId = if ($restResponse.doubleLockId -eq -1) { $null } else { $restResponse.doubleLockId }
                    InheritPermissions = $restResponse.enableInheritPermissions
                    InheritSecretPolicy = if ($restResponse.enableInheritSecretPolicy -eq -1) { $null } else { $restResponse.enableInheritSecretPolicy }
                    SiteId = $restResponse.siteId
                    SecretPolicyId = if ($restResponse.secretPolicyId -eq -1) { $null } else { $restResponse.secretPolicyId }
                    HeartbeatStatus = $restResponse.lastHeartBeatStatus
                    HeartbeatDate = [datetime]$restResponse.lastHeartBeatCheck
                    PasswordChangeFailedCount = $restResponse.failedPasswordChangeAttempts
                    PasswordChangeDate = [datetime]$restResponse.lastPasswordChangeAttempt
                    TemplateName = $restResponse.secretTemplateName
                }
                foreach ($itemDetail in $restResponse.items) {
                    $name = $itemDetail.fieldName
                    $value = $itemDetail.itemValue
                    $outSecret.PSObject.Properties.Add([PSNoteProperty]::new($name,$value))
                }
                $properties = $outSecret.PSObject.Properties | Sort-Object Name
                $final = [PSCustomObject]@{}
                foreach ($prop in $properties) {
                    $final.PSObject.Properties.Add([PSNoteProperty]::new($prop.Name,$prop.Value))
                }
                $final

The primary reason for taking the properties off the main object is for security reasons. Outputting a Secret from Get-TssSecret was going to be a given in most scripts, having the fields on the parent object would mean they are more easily logged by PSReadline and built-in logging for Windows PowerShell (aka operational log in Event Viewer). I didn't want the field data exposed that easily, so opted to keep it all under the Items property and add the method to force the user to make that choice of getting the value.

thanks for the context and the amazing work. better performance and security are appreciated.


dev/snapshot description

Before sending a pull request, please review Contribution Guidelines:
https://github.com/google/syzkaller/blob/master/docs/contributing.md

LGTM. @xairy please merge if you don't have any additional comments.

Merged, thanks!


Error XMLHttpRequest: Network Error 0x2ee4, Could not complete the operation due to error 00002ee4 on IE11

I run automation with protractor on IE11 using InternetExplorerDriver-32 bit, but I have a error:
XMLHttpRequest: Network Error 0x2ee4, Could not complete the operation due to error 00002ee4
I test manually and it work well.
I think InternetExplorerDriver has any configuration because I do some actions:

Run IE11 with InternetExplorerDriver.
Show this error when take an action in a page.
Terminate session.
Open task manager and kill InternetExplorerDriver task.
Return page and test manually and it work well.

Node Version: 6.11
Protractor Version: 5.1.1
Browser(s): IE11 version 11.0.43 64 bit
Operating System and Version Windows 10 64 bit
Your protractor configuration file

      {
        'browserName': 'internet explorer',
        "IE_ENSURE_CLEAN_SESSION": true
      }

Hi there!
Your question is better suited for StackOverflow or Gitter. Please ask a question there with the 'protractor' tag or post in the Gitter Channel to get help.
From the the getting help section of the README:

Please ask usage and debugging questions on StackOverflow (use the "protractor" tag) or in the Angular discussion group. (Please do not ask support questions here on Github.)

Thanks!


Frontend not working correctly through primary URL

Styling is not loading when accessing the development version through https://gov.au/marketplace.

Because it was the original plan, we're serving everything (including static content) from / in the app, but the new proxy serves the site from /marketplace
The HTML generation doesn't care, but it has to include links to static content.  If the links include /marketplace, they break for non-proxied requests the devs use.  If they don't, they break for proxied requests.
The sanest thing to do is just serve everything from /marketplace

This fix has been pushed to the live version now.


footer button scroll to top fix

this fixes issue #236

the issue persists even after syncing the fork.


Use markup for code snippets

We can make use of GH's Java language support for the the code snippets, given the security scan tab supports GH flavored markdown.
A minor change to improve readability to use the layout you are probably already used to from other occasions on GH.

Thanks!


Multi-lines formatting issue in markdown

Jsii-docgen generates API documentation with only 2 lines: the first sentence and the rest of the code comment.
It generates incorrect output in various cases including:

Only the first comment line is interpreted with a CR. The other CRs are not interpreted
Code block is one single line, no indentation
bullet lists are not formatted properly but all items are put into the same line with "*"

Example here :

The code comment https://github.com/aws-samples/aws-analytics-reference-architecture/blob/d9f06ff7127754368ee1f6a9ffa472750c04c7d4/core/src/data-lake-storage.ts#L50
The generated API.md https://github.com/aws-samples/aws-analytics-reference-architecture/blob/main/core/API.md#datalakestorage-

The bug is coming from this static function that replaces "\n" with space
https://github.com/cdklabs/jsii-docgen/blob/e292ef6a638f256c99a5bffd7bd77a5c0dbc29d7/src/docgen/render/markdown-doc.ts#L66


Preprocessor

Few notes about the preprocessor, mainly based on the short mention in docs.

Preprocessor has one very useful property. It runs the first, always. As such, it is easy to think about it, unlike actions done on the source at some unknown point later.

Docs: Delta only has the conditional compilation directive #ifdef and its friends, which can be configured only from the command-line, not from source code as can be done in C and C++ with #define.
This is going in the good direction, but I'd extend it for large scale programs:

If program is small, then having its defines on cmdline is sufficient.

However, if the code base gets bigger, it may be inconvenient. Cmdline length has its limitations and it's hard to place cmdline parameters into versioning system.
My proposal is for such projects to use auxiliary file, with fixed known name (e.g. configuration.delta, always in project root, the name being reserved and not allowed for ordinary source). This file would contains all defines for the project and nothing else. If command line still uses any defines, they would apply only to this auxiliary file, not elsewhere. (This means the cmdline defines would be valid only  in configuration.delta, and may not be used at all in the ordinary code).

This arrangement would keep all defines in one, well known and easy to review location.
A 3rd party library could provide their own configuration.delta file, intended to be a hint which specified what macros the library uses. Its content could be manually merged into the project's configuration.delta in the project's root. Library's configuration.delta would be ignored by the compiler (due to being in "wrong" place).

"Boolean" defines, e.g. #define FOO (-DFOO), should be always present even if undefined/false.
 #define FOO // goes the path1 : #ifdef FOO path1 #else path2 #endif

 #undef FOO // goes path2 : #ifdef FOO path1 #else path2 #endif

 ... if FOO is neither defined not undefined, its use means error

On cmdline it could be -DFOO, -UDFOO, or -DFOO=false.
This would eliminate oversights, when someone forgot something and quietly and unknowingly picked up the undef path.

If define is numeric, then it would be helpful to provide range or enumeration for the value:
#define FOO_PERCENTS  40 in 0 .. 100
#define SIZE 1 in 1, 2, 4, 8, 16

These numeric constraints would be observed in the code, e.g.   #if FOO_PERCENTS > 200 would be then refused as completely impossible.
This would eliminate basic mistakes, using some number while not really knowing what it means.

If define is enumeration of symbols, then all symbols should be present, like:
#define PLATFORM WIN in WIN, UNIX, MACOS

Use of enumerated define would check against typos, against unknown values and against missing values.  Newly added platform would need the proper update everywhere,  it won't leave some path forgotten.
All enumerated values should be covered:
// this would be OK
#if PLATFORM == WIN ... #elif PLATFORM == UNIX .... #elif PLATFORM == MACOS .... #endif

// here compiler would complain about missing path for MACOS
#if PLATFORM == WIN ... #elif PLATFORM == UNIX .... #endif

I use this trick:
#ifdef DEBUG
#  define DBG(...) __VA_ARGS__
#else
#  define DBG(...)
#endif

to have debug only function parameters and values w/o much typing. It is technically macro substitution, but not really. Something like that would be handy.
C example:
// in DEBUG mode function takes additional __FILE__, __LINE__
// parameters for better troubleshooting
void foo(int x, int y DBG(, const char* file, int line)) { ... }
...
foo(10, 20 DBG(, __FILE__, __LINE__));

Ideally, the language would be aware what such trick means, and would NOT require that noisy comma separator:
// comma inserted automagically
void foo(int x, int y DBG(const char* file, int line)) { ... }
...
foo(10, 20 DBG(__FILE__, __LINE__)); // comma inserted automagically

or perhaps even would insert "implicit DBG macro":
void foo(int x, int y DBG(const char* file, int line)) { ... }
...
foo(10, 20,  __FILE__, __LINE__); // means foo(10, 20) in release

C* will not have a traditional preprocessor like in C and C++. I think it's commonly accepted that the preprocessor as implemented in C and C++, while sometimes very useful, is full of problems.
Instead, C* will attempt to provide satisfying alternative solutions to most use cases of macros in C and C++.

Yes, this kind of build configuration file is a good idea, as demonstrated by most modern languages. C* will have something similar. This is being tracked at: https://trello.com/c/XMcfC7xv/83-build-configuration-file

You're right, uses of boolean defines should require them to be explicitly set to true or false, to protect against typos etc. Currently undefined macros are treated as false in #ifdef checks. I created the following card to track this: https://trello.com/c/BYrmpGmA/429-warn-about-undefined-macros

I'm not sure how useful this would be, #if FOO_PERCENTS > 200 doesn't seem like something someone would actually write. We will probably come back to this later if it turns out to be useful. Anyway, something similar could be achieved via enums' exhaustiveness-checking, see point 5 below.

The plan is to allow using enums and compile-time switch-statements' exhaustiveness-checking to address this. Something like:
switch (os.platform()) {
  case Windows: …
  case Unix: …
}

The return type of os.platform() would be an enum containing all the possible values, so the compiler would give an error here saying enum value 'macOS' not handled in switch. Also, only the branch for the current platform will be compiled, since the return value of os.platform() is a known compile-time constant.
Tracking issue: https://trello.com/c/qXDJPlhM/430-compile-time-switch-and-if

Yes, debug-only code is a good idea. The current idea for syntax would be a simple if (DEBUG) { … }. I haven't yet thought about debug-only parameters and whether we want to support them and if so, with what kind of syntax. I created a card to track this feature: https://trello.com/c/ywrhEpgN/428-debug-only-code

I'll close this issue and track the specific issues in their own cards. Thanks for the writeup!


Adjust layout

This PR adjusts the grid layout for the page and brings the title and chevron into the grid layout. I simplified the html structure (mostly dropping containing divs) in order to simplify placing items in the grid. On page load, the title has large top and bottom padding, but then when the first step div scrolls into view it transitions to regular padding. It's still not perfect, but hopefully an improvement. We can adjust as needed once the final content is in.
On page load, it looks like:

then once you scroll it shifts to:

or on mobile:

To run, pull changes to your local machine and run npm run serve in your development IDE.
If you could test on Safari, that would be great. I've tested this on Edge, Firefox, and Chrome.

It's functioning really well, but I'm concerned about how small it is on my laptop screen. Specifically, the chart is a very small component of the page:


feat(module:tree): support virtual scroll

close #4426 close #3808 close #3436 close #2680 close #1771
PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[ ] No

Other information

自定义节点的文件夹展开icon没生效，npm有点问题晚点看 https://preview-4979-ng-zorro-antd.surge.sh/components/tree/zh#components-tree-demo-directory

自定义节点的文件夹展开icon没生效，npm有点问题晚点看 https://preview-4979-ng-zorro-antd.surge.sh/components/tree/zh#components-tree-demo-directory

多删了一个 afterValueChange('reRender')，等会再看看


Feat/Enable PWA

Changes:

Added manifest.json
Added icons
Adjusted main layout

This addresses https://github.com/palladians/minaverse/issues/10


Is there support for the new method to get tokens instead of getToken()

  token = FirebaseInstanceId.getInstance().getToken();

is deprecated.. Is there planning to use the new method for token retrieval?

To get the device token to use push configure this library and after initializing
const push = PushNotification.init ({...});
add this event to redeem deviceToken, it will also be executed if the token is updated.
push.on('registration', ({ registrationId }) => {    this.$store.dispatch("fcm/atualizarRegistroFCM", registrationId); });
If you're trying to get Firebase authentication results or the like, look at the official Firebase documentation. Firebase Docs


CreatedBeforeDate builder method is missing

@

@mortyccp We do not recommend using this method now, you can use other two to build your rules.

So does this mean that the create before date expiration option is not working for golang sdk? I read from the official docs that it support 2 option for the expiration: after days or created before date. But currently the public api of this sdk is providing an absolute date and after days option. I think this is super misleading. And you improve it?

@mortyccp Thank you for you advise, my last reply was wrong, we plan to add the method in v2.0.1

@mortyccp，Now，the CreatedBeforeDate api is deleted. I suggest you refer to the test func (s *OssClientSuite) TestSetBucketLifecycleNew  in client_test.go
Thank you for your suggestion！


greeting

Hi Ivan, thx for your work on CloudPort. This tool is amazing. I'm a college student and apparently a lazy one. Sometimes it's too hard for me to get up and ride my bicycle to the lab. I don't want to mess with our network administrator either. These days I've been thinking setting a proxy on my VPS to enable me to get access to the cluster even at home. But I guess this kind of work should already be implemented by someone awesome, after some digging I found out your repo. Nice job man!

Thank you, man! I'm happy CloudPort helped you! Such feedback makes me blush from joy. :relaxed:
If you have any ideas, how to make it better, just tell me. Or, if you could spread the word and introduce CloudPort to anyone, who can also use it and solve some issues with it, that would be also very nice. :wink:

Hi @ivanilves , thx for your prompt response. Now I want to further improve my experience of CloudPort, and I really need some of your advice.
Now the situation is  I can successfully use the program generated by cloudport.xyz to expose the private cluster to public. But the thing is my access to the server of cloudport.xyz has high latency, so I want to set up my own server using CloudPort or directly using ptu. I tried both, and I'm quite confused by the issue.
For ptu, I installed in on my machine under the subnet. I never tried Go before so when I ran into this:
mcfatealan@mcfatealan-desktop:~/ptu$ ./script/install
Installing dependencies...
# github.com/golang/lint
../.gvm/pkgsets/go1.5.1/global/src/github.com/golang/lint/lint.go:249: undefined: types.ImportMode

I have no idea how to solve this. BTW, I installed Go1.5.1 by binaries.
For CloudPort, I installed in on my VPS, and I met an issue that
root@localhost:~/CloudPort# ./script/provision local

* Deploy: master

sudo: dmidecode: command not found
[BOOTSTRAP ERROR] Should be deployed only on virtual machines!

Why does this have to work on virtual machines? That's kinda weird to me....
Thanks for your reading! If you have time, could you please suggest some simple suggestions for my situation? Thx!

Hi @ivanilves , I did some workaround to pass the Virtual Machine test. Now I already installed CloudPort on my VPS.
PLAY RECAP *********************************************************************
localhost                  : ok=52   changed=1    unreachable=0    failed=0

The thing is that now how do I make sure the service is successfully running? I tried to access the url "[ip]:80", but it gave me nginx 502 error.
root@localhost:~/CloudPort# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 00:17 ?        00:00:11 init
root         2     1  0 00:17 ?        00:00:00 [kthreadd/200887]
root         3     2  0 00:17 ?        00:00:00 [khelper/200887]
root       437     1  0 00:17 ?        00:00:00 cron
root       564     1  0 00:21 ?        00:00:00 sshd: root@pts/0
root       575   564  0 00:21 pts/0    00:00:00 -bash
root       822     1  0 00:23 ?        00:00:01 upstart-file-bridge --daemon
root       825     1  0 00:23 ?        00:00:01 upstart-socket-bridge --daemon
root      1797     1  0 00:59 ?        00:00:00 nginx: master process /usr/sbin/nginx
redis     2278     1  0 00:59 ?        00:00:00 /usr/bin/redis-server <IP_ADDRESS>:6379
root      6343   575  0 00:30 pts/0    00:00:02 /usr/bin/python /usr/local/bin/ssserver -c /etc/shadowsocks/config.json
root      8158 28910  0 01:17 ?        00:00:00 sshd: root@pts/2
root      8542  8158  0 01:17 pts/2    00:00:00 -bash
root     11753     1  0 01:05 pts/0    00:00:00 /bin/bash /usr/bin/mysqld_safe
root     11754     1  0 01:05 pts/0    00:00:00 logger -p daemon.err -t /etc/init.d/mysql -i
mysql    12104 11753  0 01:05 pts/0    00:00:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysql
www-data 14064  1797  0 01:05 ?        00:00:00 nginx: worker process
www-data 14065  1797  0 01:05 ?        00:00:00 nginx: worker process
www-data 14066  1797  0 01:05 ?        00:00:00 nginx: worker process
www-data 14067  1797  0 01:05 ?        00:00:00 nginx: worker process
root     15751     1  0 01:57 ?        00:00:00 /usr/bin/dockerd --raw-logs
root     15759 15751  0 01:57 ?        00:00:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0
root     15766   575  0 01:57 pts/0    00:00:00 ps -ef
root     24784     1  0 00:58 ?        00:00:00 rpcbind -w
root     24959     1  0 00:58 ?        00:00:00 /lib/systemd/systemd-udevd --daemon
root     28910     1  0 00:59 ?        00:00:00 /usr/sbin/sshd -D
root@localhost:~/CloudPort# netstat -tunelp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
tcp        0      0 <IP_ADDRESS>:443         <IP_ADDRESS>:*               LISTEN      0<PHONE_NUMBER>  6343/python
tcp        0      0 <IP_ADDRESS>:26335           <IP_ADDRESS>:*               LISTEN      0<PHONE_NUMBER>  28910/sshd
tcp        0      0 <IP_ADDRESS>:3306          <IP_ADDRESS>:*               LISTEN<PHONE_NUMBER>768  12104/mysqld
tcp        0      0 <IP_ADDRESS>:6379          <IP_ADDRESS>:*               LISTEN<PHONE_NUMBER>649  2278/redis-server 1
tcp        0      0 <IP_ADDRESS>:111             <IP_ADDRESS>:*               LISTEN      0<PHONE_NUMBER>  24784/rpcbind
tcp        0      0 <IP_ADDRESS>:80              <IP_ADDRESS>:*               LISTEN      0<PHONE_NUMBER>  1797/nginx
tcp6       0      0 :::26335                :::*                    LISTEN      0<PHONE_NUMBER>  28910/sshd
tcp6       0      0 :::111                  :::*                    LISTEN      0<PHONE_NUMBER>  24784/rpcbind
udp        0      0 <IP_ADDRESS>:111             <IP_ADDRESS>:*                           0<PHONE_NUMBER>  24784/rpcbind
udp        0      0 <IP_ADDRESS>:791             <IP_ADDRESS>:*                           0<PHONE_NUMBER>  24784/rpcbind
udp        0      0 <IP_ADDRESS>:56374           <IP_ADDRESS>:*                           0<PHONE_NUMBER>  6343/python
udp        0      0 <IP_ADDRESS>:443         <IP_ADDRESS>:*                           0<PHONE_NUMBER>  6343/python
udp6       0      0 :::111                  :::*                                0<PHONE_NUMBER>  24784/rpcbind
udp6       0      0 :::791                  :::*                                0<PHONE_NUMBER>  24784/rpcbind
root@localhost:~/CloudPort# restart cloudport
restart: Unknown instance:

Hey @mcfatealan

Please tell me your OS distribution. I suppose you run Ubuntu 14.04 64bit, but just in case.

Please copy/paste here the output of ansible --version command.

Also please GZIP and attach here:

/var/log/cloudport - all the directory, plz tar/gzip it
/var/log/upstart/cloudport.log
/var/log/upstart/sidekiq.log

This would be enough to start troubleshooting. :wink:

Hi @ivanilves , thx for your concern!
The outputs are listed here:

Yes, I specially reinstalled my VPS before trying CloudPort, making sure it's exactly the OS required.

root@localhost:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:   	Ubuntu 14.04.5 LTS
Release:       	14.04
Codename:      	trusty

root@localhost:~# ansible --version
ansible <IP_ADDRESS>
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides

The weird thing is there is nothing under this directory (empty directory). And there is no /var/log/upstart/cloudport.log or /var/log/upstart/sidekiq.log (file non-exist)

Should there be a cloudport service? I didn't see one.
root@localhost:/var/log# service  --status-all
 [ - ]  apache2
 [ - ]  apparmor
 [ - ]  bind9
 [ ? ]  console-setup
 [ + ]  cron
 [ - ]  docker
 [ - ]  fetchmail
 [ - ]  keymap.sh
 [ ? ]  killprocs
 [ ? ]  kmod
 [ ? ]  modules_dep.sh
 [ ? ]  mysql
 [ ? ]  networking
 [ + ]  nginx
 [ - ]  nmbd
 [ ? ]  ondemand
 [ - ]  postfix
 [ - ]  procps
 [ + ]  quota
 [ - ]  quotarpc
 [ ? ]  rc.local
 [ + ]  redis-server
 [ + ]  rpcbind
 [ - ]  rsync
 [ - ]  rsyslog
 [ - ]  samba
 [ - ]  samba-ad-dc
 [ - ]  saslauthd
 [ ? ]  screen-cleanup
 [ ? ]  sendsigs
 [ - ]  smbd
 [ + ]  ssh
 [ - ]  sudo
 [ + ]  udev
 [ ? ]  umountfs
 [ ? ]  umountnfs.sh
 [ ? ]  umountroot
 [ - ]  unattended-upgrades
 [ - ]  urandom
 [ ? ]  vzquota
 [ - ]  wide-dhcpv6-client
 [ - ]  x11-common
 [ - ]  xinetd

I also tried the continuous integration suite:
root@localhost:~/CloudPort# ./script/ci
rake aborted!
Mysql2::Error: Access denied for user 'cloudport'@'localhost' (using password: YES)
/usr/local/rvm/gems/ruby-2.2.5/gems/mysql2-0.4.4/lib/mysql2/client.rb:87:in `connect'
/usr/local/rvm/gems/ruby-2.2.5/gems/mysql2-0.4.4/lib/mysql2/client.rb:87:in `initialize'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/connection_adapters/mysql2_adapter.rb:18:in `new'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/connection_adapters/mysql2_adapter.rb:18:in `mysql2_connection'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:438:in `new_connection'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:448:in `checkout_new_connection'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:422:in `acquire_connection'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:349:in `block in checkout'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:348:in `checkout'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:263:in `block in connection'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:262:in `connection'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:571:in `retrieve_connection'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/connection_handling.rb:87:in `connection'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/migration.rb:916:in `initialize'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/migration.rb:823:in `new'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/migration.rb:823:in `up'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/migration.rb:801:in `migrate'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/tasks/database_tasks.rb:137:in `migrate'
/usr/local/rvm/gems/ruby-2.2.5/gems/activerecord-4.2.5/lib/active_record/railties/databases.rake:44:in `block (2 levels) in <top (required)>'
/usr/local/rvm/gems/ruby-2.2.5/bin/ruby_executable_hooks:15:in `eval'
/usr/local/rvm/gems/ruby-2.2.5/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

Hi,

2.6.32-042stab113.17

Really nice suggestion! Some 2.6.32 have backported Docker, while some not...
Could you try to create Docker container manually on this VPS and see if it works?
What kind of virtualization uses your VPS?
Do you have /etc/init/cloudport.conf file?
Could you do sudo start cloudport ? And dmesg | tail if it fails?
Will /var/log/upstart/cloudport.log appear after running sudo start cloudport ?
Thank you!
P.S.:

Should there be a cloudport service? I didn't see one.

Not an issue, the CloudPort uses Upstart, but service command is up to old System V.

root@localhost:~/CloudPort# ./script/ci

Yeah, it for run with Rails testing environment, so it's OK for it to fail.

Hi @ivanilves , first, thanks for offering me so much advice!
I guess the most important issue is that the default kernel is too old to run docker, this info found in /var/log/upstart/docker.log:
time="2016-10-06T01:04:45.053884951-04:00" level=fatal msg="Your Linux kernel version 2.6.32-042stab113.17 is not supported for running docker. Please upgrade your kernel to 3.10.0 or newer."

My VPS provider is bandwagon (no I'm not doing Ads XD ). They use OpenVZ.
I have /etc/init/cloudport.conf, and it looks good.
I tried to sudo start cloudport,  and it failed. The funny thing is that dmesg | tail gives me no output...
There is no /var/log/upstart/cloudport.log even after trying that.
I guess I should first update my kernel first :) I'll come to you after that, thx man!

Errr... I found a post saying that you cannot compile and install your own kernel on OpenVZ... http://serverfault.com/questions/586171/cant-update-linux-kernel-on-vps
I tried hard yesterday, and got unexpectedly failure. I guess that's why.

Hey @mcfatealan
Here are things we need to point out:

Go 1.5.1 became defacto deprecated and broken these days.
U need to have Go 1.4 installed to build further versions of Go.

So we need to build p.t.u. with golang 1.7.1. I've updated installation doc:
https://github.com/ivanilves/ptu/blob/master/doc/Install.md
Also you will need tailoring  doc:
https://github.com/ivanilves/ptu/blob/master/doc/Tailor.md
P.S.:
  I tried a little bit and I could see things are moving on. I have to go catching the night bus now and I'll test this tomorrow. Thx again!

Hey @ivanilves , I succeeded! Now I could get access to the lab cluster by ssh to my VPS first. It's really really cool. Thanks so much for your help and advice these days. I really appreciate your kindness.
Here I'd like to share some of my experience for people who are in the similar occasions and looks for convenient solutions.
First, the big picture is:
home ==>  VPS ==> my personal machine in the lab ==> lab cluster
except my VPS, they don't have a valid ip to the public.
I've tried the following solutions:
1.ssh tunnel (remote port forwarding), this could be the straight forward solution. The thing is the tunnel is not stable, you cannot expect the tunnel is still there after driving home.
2.using cloudport.xyz, this one is the most efficient, but the latency could suffer (or not, I'm in China so the latency is quite annoying)
3.set up my own CloudPort on my VPS, this sounds cool, but it's a little complex and on some VPS using OpenVZ, the kernel is quite old and what's worse you cannot modify it, making docker unavailable.
4.simply use ptu. Thx @ivanilves updating the doc, I could set up one in several minutes. And the latency is satisfying.

Err... I met a new problem, the connection will unexpectedly drop as ssh tunnel does. And ptu shows no output for the disconnection. Is there any solution?

Hey @mcfatealan
I understand you. That's great you are examining all in details :ok_hand: :clap:
This is really strange... There are no errors displayed? How much time passes between (approximately) between you start ptu and the tunnel gets disconnected? Does restarting the ptu restores the forwarded connection?
I mean ptu used to reconnect indefinitely. And it should display errors on dropped tunnel / something.

Well, this is ptu log
-------------------------------------------------------------------------------
> ptu v0.5.0 "Amante Latino"
--------------------------------------------------------------------------------
2016/10/10 17:02:01 [OK] SSH tunnel initialized!
--------------------------------------------------------------------------------
Build ID    : chang-b20161008-142238-28847
Target host : <IP_ADDRESS>:22
--------------------------------------------------------------------------------

CONNECT HERE: <IP_ADDRESS>:16725

[ Examples ]
    SSH : ssh -p 16725 <IP_ADDRESS>
   SFTP : sftp -oPort=16725 <IP_ADDRESS>
    RDP : rdesktop <IP_ADDRESS>:16725
   HTTP : curl http://<IP_ADDRESS>:16725/
  HTTPS : curl -k https://<IP_ADDRESS>:16725/
--------------------------------------------------------------------------------
2016/10/10 17:02:30 [CONN] From: <IP_ADDRESS>:64148 | Forward: <IP_ADDRESS>:57814 => <IP_ADDRESS>:22
2016/10/10 17:06:05 [CONN] From: <IP_ADDRESS>:64181 | Forward: <IP_ADDRESS>:57816 => <IP_ADDRESS>:22

The time period might be half a hour? I guess.
After that:
  % ssh -p 16725<EMAIL_ADDRESS>
ssh: connect to host <IP_ADDRESS> port 16725: Connection refused

Restarting is no use. And on my VPS you can see that port is no longer listening by netstat -tunelp.

@mcfatealan
I've tested myself, works pretty stable for me for > 4 hours.
Could you please:

Try to run it on your own machine (to see if the :bug: happens also outside your VPS)
Try to compile the the code with previous version of Go:

gvm install go1.6.3
gvm use go1.6.3 --default

and the re-compile re-tailor the p.t.u. ?
Thank you!

OK, no interest from my peer, closing :grin: :wave:

Hi @ivanilves , sorry for the late response, it's just that I've been busy preparing some work stuff for the last two weeks, so I didn't send the result back to you immediately. Actually I tested it on my own machine one week ago, and it's quite steady -- one day without disconnection, I guess the VPS is to blame. At that time I thought the test is not enough, so I didn't immediately post it here.

The biggest problem for me is nothing to do with your codes -- it's the unsteadiness of VPS and the high latency (my VPS is located on LA, so still facing difficult experience). At last I used one of our lab machines as a springboard to do ssh-tunnel. It's not cool as what you did, but it suits my situation best.
Thanks so much for your help all the time, really :D

Ah! Good to know you have working solution! :clap: :clap: :clap:
Anyway you are welcome to use p.t.u./CloudPort whenever you need it
and also recommend it to your peers if they need some thing like this! :wink:
Thank you!


CSS within HTML

Hi there,
I'm wondering, there's atm no way to add CSS in HTML, is it possible to get that turned on/disable something to make that happen? I'm running a few queries in my CSS but somehow it is not catching the variables within .css files that I've defined in my tailwind.config.js

Hi Yannick, yes it is.
You can turn off css-modules by going to postcss.config.fileand set modules to false.
Then you must go to tailwind.config.js and change the purge prop with: purge: ["./*.html", "./src/**/*.{css,tsx}"]. So the JIT of Tailwind also takes into account .tsx files.
I with these two now you should be able to write tailwind classes inline in jsx.
In any case, tell me if it doesn´t work, and also extend the explanation of your issue so I can help you more.
Cheers!

It's hard to explain to be fair, I'd like to use both the CSS modules, but also want to add sometimes something inline within the TSX component.
https://i.file.glass/d3eiJIkWaI.png
https://i.file.glass/L7oRSdKzWA.png
I've got this within my CSS class and the sidebarOpen and sidebarClosed don't seem to work somehow.
Now when I turned off your given values, it works but I don't want everything to be inline.

Hey Yannick, I use that approach and it works well with css-modules.
The problem is the cx.
Use classnames library instead: https://www.npmjs.com/package/classnames
Then you can do:
import classNames from 'classnames'
//....
//....
<div className={classNames(styles.sidebar, sidebarOpen ? styles.sidebarOpen : styles.sidebarClose)}

Now it should work as you expect.
Cheers.

I wrote the cx myself, this is the code I used.
export type ClassType = string | null | false | undefined;

function joinClassnames(...classes: ClassType[]): string {
  return classes.filter(Boolean).join(" ");
}

const cx = joinClassnames;

export default joinClassnames;
export { cx, joinClassnames };

I assume it's broken then?

Looks like that didn't work either using classnames, eventually you want to have a look over Discord or such?

Yes why not, share a link. Ill go in.

Username is Yannick#1936

We've found the solution together. As the root div was another element, using the :global tag, including that specific class name will solve the issue as follows:
.sidebar {
  @apply [CLASSES HERE]
}

:global(.sidebar-expanded) .sidebar {
  @apply lg:!w-64;
}


Newlines in generation when using grammar

Using llama-cpp-python w/ LangChain integration and this PR to support grammars.
Test w/o grammar_path:
llm = LlamaCpp(
    model_path="/Users/rlm/Desktop/Code/llama.cpp/llama-2-13b-chat.ggmlv3.q4_0.bin",
    n_gpu_layers=n_gpu_layers,
    n_batch=n_batch,
    callback_manager=callback_manager,
    verbose=True,
)
question = "What NFL team won the Super Bowl in the year Justin Bieber was born?"
llm(question)

The result is as expected.

Test w/ grammar_path:
llm = LlamaCpp(
    model_path="/Users/rlm/Desktop/Code/llama.cpp/llama-2-13b-chat.ggmlv3.q4_0.bin",
    n_gpu_layers=n_gpu_layers,
    n_batch=n_batch,
    f16_kv=True,  # MUST set to True, otherwise you will run into problem after a couple of calls
    callback_manager=callback_manager,
    verbose=True,
    grammar_path="/Users/rlm/Desktop/json.gbnf",
)
question = "Request: schedule a call at 8pm; Command:"
llm(question)

The result has a large number of newlines:
'{"schedule": {"date": "2018-09-14T20:00:00.000Z", "duration": 60}}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'

Has anyone seen / resolved similar behavior?

@rlancemartin the grammar only specifies the syntax of the output not necessarily the stopping condition, if the model  doesn't generate an EOS token and no other stopping criteria is met "\n" is  the only valid character at the end of the generation. You either need to pass something to the stop list or using StoppingCriteria that checks if the output is parseable using json.loads.

@rlancemartin the grammar only specifies the syntax of the output not necessarily the stopping condition, if the model doesn't generate an EOS token and no other stopping criteria is met "\n" is the only valid character at the end of the generation. You either need to pass something to the stop list or using StoppingCriteria that checks if the output is parseable using json.loads.

Thanks. Yes, this works.
# Make sure the model path is correct for your system!
llm = LlamaCpp(
    model_path="/Users/rlm/Desktop/Code/llama.cpp/llama-2-13b-chat.ggmlv3.q4_0.bin",
    n_gpu_layers=n_gpu_layers,
    n_batch=n_batch,
    f16_kv=True,  # MUST set to True, otherwise you will run into problem after a couple of calls
    callback_manager=callback_manager,
    verbose=True,
    grammar_path="/Users/rlm/Desktop/json.gbnf",
    stop=["STOP"]
)

Prompt w/ STOP token specified:
prompt = PromptTemplate(template=template, input_variables=["question"])
llm_chain = LLMChain(prompt=prompt, llm=llm)
question = "Request: schedule a call at 8pm; Command:"
llm_chain.run(question)

Result, as expected:
'{"type": "request", "message": "Hello! I would like to request your availability for a call tonight at 8pm. Would you be available?", "tones": [{"id": "polite", "name": "Polite"}]}'

Is there a best-practice for this? (I'm just using STOP as a test-case.)

OK, I think I get it a bit further:
The problem seems to be with the json.gbnf specifically.
I'm working on modifying that file.


Add support for python3.10 - removing loop parameter

Hello,
As of python 3.10. loop argument for most of the functions was remove (see https://docs.python.org/3/whatsnew/3.10.html#whatsnew310-removed)
Also I took the liberty and reformated the code with black, hope that's ok

Hello @nhoad , could you please check this again?

Hi Peter!! Sorry I've been slow with this, I've been dealing with some personal issues lately - I'll try to have this merged in and released sometime this week. Thank you for splitting it into two commits, that's really helpful.

I've verified the tests pass all the way back to Python 3.6, removed support for Python 3.5 and released this as version 0.7.0. Thank you again!