Process Library and process interaction

There seem to be no way to interact with a process started by the Process library. Eg. there is no way to write to the stdin of a process or expect an output (analogues to Read Until). Do I miss something? How do you test CLI applications, for example?

You can interact with processes using signals, but you are right that there are no keywords to write to stdin. When designing the library, we weren't sure how it should work and decided not to implement it. Nobody has needed it badly enough so far to think about it any more. Do you have ideas how it should work? Would you be interested in providing a pull request if we can agree on the overall design?

basically, the userinterface should be something like that:
Start Process  cat
Write To Stdin  foobar
Read Until  foobar
Terminate Process

Additionally, there should be Read Until Regexp. Should the keywords have other names than these from the Telnet library to avoid name clashes?
Further, we might choose that process interaction only works with buffered stdout/stderr, ie. not written to file, if this makes the implementation easier. Esp. since the Read keywords clears the read bytes from the buffer.

I don't think interacting with a process like that works in the general case. The main problem is that typically stuff the child process writes to its stdout is blocked unless the child explicitly flushes the output. I might be wrong about this and it might be possible to make communication non-blocking, but I do not have time to investigate this myself. Hopefully you have time to look at this yourself. Notice that any solution added to the Process library needs to be generic, work on all supported operating systems, preferably with all Python interpreter types and versions, and must not require cooperation by the child process.

Writing to the process stdin shouldn't be too complicated, though. It would probably be enough to allow passing stdin content to Run Process directly instead of adding a separate keyword to that. If that is done, we should think how to make it possible to create a pipeline where the stdout of one process is the stdin of another. It might be a good idea to submit a separate issue about writing to stdin.

If you need a custom solution, you can use Get Process Object keyword to get the underlying subprocess.Popen object. Alternatively you can create a totally custom library to interact with processes. You might also want to consider using Pexpect instead of the plain subprocess.

Have you @mwalle had time to look at this? Adding full and generic interaction support to Process library may be impossible or just too much work to be worth the effort, but having a way to write to the stdin ought to be pretty easy. If that helps you, perhaps you could submit a separate issue about that and see could you create a pull request.

Unfortunately I haven't found time yet. I already have a patch to write to the output of a stream:
def write_to_stdin(self, text, handle=None):
    """Write the given text into the standard input of the process.

    New is Robot Framework 2.9.x.
    """
    self._processes[handle].stdin.write(text)

But this is only half the way of the interaction and having just this won't help us.
Regarding your comments:

of course you can use this only with cooperating processes. a shell for example or any process with user interaction, which AFAIK should flush its output because the user needs to see its output, too. The crux here is to be able to test such applications like shells.

see above

might be worth a try. Saying i won't copy the whole process spawning stuff which is already in the Process library. Is there an example in which one library extends another one or build on some keywords? Or should I use something like:
 Start Process
 ${obj}=  Get Process Object
 MyLibrary.Some Keyword  ${obj}

Which seems rather ugly to me :)

I guess there could be a separate keyword for writing to the stdin, but I think it would generally be easier if you could just pass stdin=some text to Run/Start Process. It should also be somehow possible to read stdin content from a file to emulate command < file shell syntax. Probably even more important would be passing stdout/stderr of some other process to create a pipeline like command | another.
If general process interaction requires cooperation, I'm not sure is adding it into the Process library itself a good idea. If you create a custom library and notice there are some generic patterns, perhaps we can then later think about it again.
I agree getting the process object in test data and passing it to a custom keyword isn't that clean. Luckily your custom libraries can communicate with Process library directly if needed:
from robot.libraries.BuiltIn import BuiltIn

def some_keyword():
    lib = BuiltIn().get_library_instance('Process')
    obj = lib.get_process_object()

See BuiltIn documentation and the User Guide for more details.

Any new info about this issue? It seems general interaction is a too big task but writing to stdin shouldn't be too hard. Should we perhaps close this issue and open a new one just for stdin? Even that would require some actually implementing it.

Sorry, no news.
Frankly, this is low priority atm. And I'm still not sure if its worth to have only a stdin version. But you may close this bug, If we still need this, we may create a seperate library with the goal to integrate it into the process library once we agree on the solution.

Too bad, I was looking for the possibility to write to stdin and read from the out of another process just to write a test for checking a Kafka was well setup and using a producer command line and a consumer one !
I there a workaround to send data to stdin and get from stdout ?

Here I am, almost a year later, and the best work-around I have seen is to use the ssh library, open an ssh connection to yourself, and do it that way. Although it has its limitations, it's the best I have seen floating around the web so far

Are there suggestions welcome.
Recently I was faced to the same issue. I added the following keyword in a Utils library, but it can be/imho shall be integrated into robot.libraries.Process.
The following keyword does the trick for me:
    def send_stdin_to_process(self, process_handle, data: str, press_enter: bool = True):
        """
        Sends `data` to process including finally an optional return key (if `press_enter` is
        true).

        `process_handle` is the regular robot process handle returned by keyword `Start Process`
        (robot lib: Process)
        """
        press_enter = ParameterCast.asBool(press_enter)
        data = ParameterCast.asString(data)

        # get underlying process object calling the robot keyword
        process = process_lib.get_process_object(process_handle)

        if press_enter:
            data += "\n"

        process.stdin.write(data.encode())
        process.stdin.flush()


Ramanathapuram Map was incorrect .

The TamilNadu District wise map for ramanathapuram was incorrect .
Bug
When hovered over rameshwaram - virudhunagar was getting highlighted as well .  Have raised a fix for the same -  PR  .
To Reproduce
Steps to reproduce the behavior:

Go to https://www.covid19india.org/
Click on TamilNadu State to get the view of district maps
Hover over rameshwaram - virudhunagar gets highlighted .

Expected behavior
When hovered over rameshwaram - ramanathapuram needs to be highlighted .
Screenshots
Current :-

Fix : -

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

This is related to #413 but will take sometime, latest Tamil Nadu district boundaries are still being worked on


[Snyk] Security upgrade nginx from 1.21 to 1.25

This PR was automatically created by Snyk using the credentials of a real user.Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.
Changes included in this PR

web-server/Dockerfile

We recommend upgrading to nginx:1.25, as this image has only 95 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.
Some of the most important vulnerabilities in your base image include:

Severity
Priority Score / 1000
Issue
Exploit Maturity

714
Double Free SNYK-DEBIAN11-CURL-1585150
No Known Exploit

714
Incorrect Default Permissions SNYK-DEBIAN11-CURL-2936229
No Known Exploit

714
Exposure of Resource to Wrong Sphere SNYK-DEBIAN11-CURL-3065656
No Known Exploit

714
Out-of-bounds Read SNYK-DEBIAN11-LIBTASN16-3061097
No Known Exploit

714
OS Command Injection SNYK-DEBIAN11-OPENSSL-2933518
No Known Exploit

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Change the monadic block syntax

Although haskell programmers will dislike it, we think it's better for monadic blocks to have a different syntax.
Due to the strictness requirements of HVM and lazy refs, we'll probably not be able to make every single monad work, so this is also a good extra indication of that.
I propose changing the do keyword to with.
with IO:
  a <- input()
  b <- print(String/concat("Hello, ", a))
  ...

Most monads also define a sequential order of operations, so we shouldn't incentivize to use them too too much, only when it's appropriate.
We should also add a Monad/pure syntax, and I propose wrap since it's somewhat intuitive, even to people who are not familiar with the theory behind it.
with IO:
  a <- ...
  ...
  return wrap(x)

That desugars to Monad/wrap, a call to the Monad unit function (also called "pure" in other languages)

..., we'll probably not be able to make every single monad work, so this is also a good extra indication of that.

Why won't every single monads work?

I propose wrap since it's somewhat intuitive, even to people who are not familiar with the theory behind it.

Indeed, people unfamiliar with the theory behind it may find the keyword pure confusing, but wrap also brings this feeling.
Why not name it return?

Why won't every single monads work?
If you have a program like

def Z(x1, x2):
do Result:
  a <- X(x1)
  b <- Y(x2)
  c <- Z(a, b)
  ...

This is converted to (Result/bind (X x1) @a (Result/bind (Y x2) @b (Result/bind (Z a b) ...)
Note that the call to (Z a b) is not a combinator and so cannot be converted to a lazy reference. This will cause Z to be expanded infinitely.
For this to actually work, we need to do some transformation on this term that will convert it into (...(Result/bind @a @b (Z a b) ...).
I haven't yet found a transformation that works on every possible monad, although I have some good directions to explore.

Why not name it return?
Because return already returns


Update storage-service-encryption.md

Fixed bullets in Overview section that were rendering as a code block

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

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

TTYL, AZPRBOT;

@ciphertxt : Thanks for your contribution to the Azure documentation! The author, @robinsh, has been notified to review your proposed change.

Hi @ciphertxt Thanks very much for fixing the bulletpoints in the SSE article. We appreciate your help and your contribution!
@Tysonn This change can be merged.


Add yonghuatang's file

created a branch, created a file and made a commit, and opened a pull request

comment


Callback return ClientSessionNotInitialized

When i login with my account with HTTP://localhost:5000/login
The website just return INFO:     <IP_ADDRESS>:38239 - "GET /callback?code=mNjFOjEpbpRxNCcB3RtQcGLcqntmbM HTTP/1.1" 500 Internal Server Error
Traceback (most recent call last):
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\uvicorn\protocols\http\h11_impl.py", line 408, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\uvicorn\middleware\proxy_headers.py", line 84, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\fastapi\applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\errors.py", line 187, in __call__
    raise exc
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\middleware\exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\starlette\routing.py", line 73, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\fastapi\routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\fastapi\routing.py", line 212, in run_endpoint_function
    return await dependant.call(**values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\Users\abcdefg\Desktop\Demo\test\demo\run.py", line 55, in callback
    print(await discord.get_access_token(code))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\fastapi_discord\client.py", line 182, in get_access_token
    resp = await self.get_token_response(payload)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\abcdefg\AppData\Roaming\Python\Python311\site-packages\fastapi_discord\client.py", line 165, in get_token_response
    raise ClientSessionNotInitialized

I fixed the broken example code that could cause this problem in 2922de1
If you are using FastAPI lifespan (like in the example) to call discord.init(), you have to change this:
- app = FastAPI()
+ app = FastAPI(lifespan=lifespan)

If you are not calling discord.init(), you can look at the example code in examples/basic.py.


[ENTESB-2889] Remove superfluous annotations from web service interface

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/wildfly-camel-pullreq/332/
Test FAILed.

retest this please

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/wildfly-camel-pullreq/333/
Test FAILed.


Make the homepage example have two tabs (one for "anywhere" another for "GCE")

Would be really cool if we could toggle between the "Anywhere" state (where you need to specify authentication stuff) and the "inside GCE" state (where auth happens automagically.

We accept PRs! ^_^
This is a neat idea but there's really nothing different except the one
small example that happens at the beginning where the key doesn't need to
be specified. I feel this would actually confuse users because nothing
else changes so I think having a whole entire tab would make them think
more actually changed when really their existing code base will do the job
just fine.
On Thursday, May 7, 2015, JJ Geewax<EMAIL_ADDRESS>wrote:

Would be really cool if we could toggle between the "Anywhere" state
(where you need to specify authentication stuff) and the "inside GCE" state
(where auth happens automagically.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/gcloud-node/issues/538.

There is a PR! Take a look ! :)

Hmm, you think it will confuse folks? I really like the idea of having the base example be super simple, but still showing people that if you're running in EC2 or anywhere else, you just have a couple extra lines...


Can't add exoscale host - all info missing from screen

Version - master 4/28
Steps to Reproduce:

Add host
Click on exoscale icon

Results: Nothing on page.  ember.prod.js:36602 Uncaught RangeError: Maximum call stack size exceeded in dev tools
Expected: exoscale info should show up.

Verified with v1.1.0-dev1-rc2 that the exoscale screen is coming up.


Thread Time Activities nested when they should not be

See on vancem1  the WrongCallTree.m.etl trace.
In the ThreadTime with start stop activities view you will see the
Activity Request(//1/292/,)
Which has a series of nested activites (293, 298, 299, ...)   These are not nested, they are independent.

More details.   In the trace

Event Name
Time MSec

Microsoft-ApplicationInsights-Data/Request/Start
78,847.776

Microsoft-ApplicationInsights-Data/Request/Stop
79,126.967

--

Note that most of the Request/Start and Request/Stop events are paired as you would expect (but that also seems to be exactly when there is no multiple Async I/O is going on on that thread.
I have tried to create a repro so I can investigate why the runtime was not emitting the needed events, but had trouble.   Saar is helping me.
My strategy is to use an async-local to generate events every time Task execution contexts change.   That should highlight the path when this failure happens, which should tell us where the missing event is.

Repro instructions:
Create a .NET Core MVC app.   Modify the HomeController.Index() method to be
        public async Task<ActionResult> Index()
        {
            int delay = new Random().Next(200) + 200;
            await Task.Delay(delay);
            return View();
        }

IMPORTANT: also comment out the line
           app.UseHttpsRedirection();

In the Startup.Configure method.  Otherwise it tries to use HTTPS instead of just HTTP, and that needlessly complicates the scenario.
Run the app, and generate load with it using the LoaderGenerator app  with the following params
dotnet LoadGenerator.dll http://localhost:5000 200 20

Which starts 200 threads each of which produce 20 requests (thus 4000 total request),  The loadGenerator program is at
\clrmain\public\PerfInvestigations\17-01-25.AspNet.TechEmpower\LoadGenerator
I have a TaskDebugger class that uses asyncLocals to log every time a context changes.  This can be useful (but not needed to repro).
I would also turn on stacks for all TPL events (normally we turn most of them off), with the perfView qualifer
/providers=*Microsoft-DotNet-TaskDebugger:@StacksEnabled=true,.NETTasks:@StacksEnabled=true

Finally turning on /dotnetCalls or /dotnetAlloc will give you stacks at many points which can be useful just to understand the flow (but of course it slows things down alot.  Newer version of PerfVIew have /dotnetCallsSampled which may also be use.
In the 'Events view you will find
Microsoft-Diagnostics-DiagnosticSource/Activity1Start/Start
Microsoft-Diagnostics-DiagnosticSource/Activity1Start/Stop

which show the start-stop events that show up in the ThreadTime with start-stop tasks.  If you look at any particular thread, when you see multiple starts in a row, that is a sign that you are creating the right conditions to find the bug.   If that thread does not have something that indicates that a execution context switched between the two starts, that is a problem (since PerfView will assume they are nested).
On Vancem1 there is a file WrongCallTreeWithEvents.etl.zip which is one such collection.  Note in this trace the TaskDebugger events did not get parsed.  They show up asProvider(5060e28e-307e-5eca-c182-f1446fa6d35e)/EventID(2), which is the 'ContextChanged' event.
--

Hi @vancem ,
I have a trace exhibiting incorrectly nested activities from an asp.net framework app using appinsights.
Looking at this thread I just wanted to clarify if this issue is related to using app insights and if so is the fix going to be to perfview or to appinsights?
Regards

This issue above has been fixed with PR https://github.com/Microsoft/perfview/pull/728 (actually only the change on ActivityComputer.cs is needed for this particular issue).
Basically the issue is that ASP.NET was using 'raw' ThreadPool APIs, and these lower level APIs did not emit some of the thread pool logging that the higher level (Task) APIs did.    There were however events that WERE available, but they were not 'connected up' completely (that was an oversight), and that fix did the final wiring up needed.
If you build PerfVIew right now it has the fix.  I wanted to wait on some other fixes to get in before publishing the next PerfView.exe on Github, but will bail on that and simply push what is currently checked in in that next day or two if I can't get the other fixes in.

The official 2.0.23 version of Perfview available from https://github.com/Microsoft/perfview/blob/master/documentation/Downloading.md has this fix.

Hi @vancem
I downloaded the latest release and the issue I was experiencing is still happening.
Perhaps I'm misunderstanding what the 'Thread Time (With StartStop Activities) (CPU ONLY) Stacks' view is supposed to show.
Below is what I see from a trace on one of our production nodes:

I would expect each IISRequest to be one activity, then the AspNetReq to be a nested activity and then all other activities to be nested within that accordingly. From the trace it looks like one IISRequest spawns many IISRequests that then begin to nest,
Is this expected behavior? If so, under what circumstances might this occur?
Could you point me in the direction of where to start looking for what might cause this, I'm interested in understanding this a bit more.
If you need additional information please let me know.
I'm happy to open another issue if you think this is unrelated.
Regards

Looking at the open issues I found this as well 708.
We are using appInsights as well


The IODataBatchOptions interface does not extend the RequestInit interface

This means that right now, there is no way to override the default HTTP headers sent with an OData batch request. Similar issue was discussed in another thread #44

As you can see, the IODataBatchRequestOptions does indeed extend the RequestInit interface and hence, an individual request in a batch can be set to override the headers. But since the entire batch is sent with an odata-version 4.0 header, the batch request fails and returns malformed data.
Here is my code for my ODataBatch request:
private _makeODataBatchRequest(): void {
    const serviceScope: ServiceScope = ServiceScope.startNewRoot();
    serviceScope.finish();

    const webAbsoluteUrl: string = this.context.pageContext.web.absoluteUrl;
    const batchOpts: IODataBatchOptions = {
        webUrl : webAbsoluteUrl
        //Need a way here to override default options e.g Headers.
    };
    const odataBatch: ODataBatch  = new ODataBatch(serviceScope, batchOpts);

    const getMyProps: Promise<Response> = odataBatch.get(`${webAbsoluteUrl}/_api/SP.UserProfiles.PeopleManager/GetMyProperties`);

    //Overriding the header for a single request in the batch does not work as the entire batch is sent with odata-version:4.0
    const reqHeaders: Headers = new Headers();
    reqHeaders.append('odata-version', '');
    const performSearch: Promise<Response> = odataBatch.get(`${webAbsoluteUrl}/_api/search/query?querytext='sharepoint'`, { headers: reqHeaders });

    odataBatch.execute().then(() => {

      getMyProps.then((response: Response) => {
        response.json().then((responseJSON) => {
          console.log(responseJSON);
        });
      });

      performSearch.then((response: Response) => {
        response.json().then((responseJSON) => {
          console.log(responseJSON);
        });
      });
    });
  }

Tracked as VSO#242882

This is by design:

It does not make sense to allow you to customize the headers or other request parameters for the overall batch REST call, since it would complicate our algorithm
It does make sense to allow you to customize the headers for individual REST calls, which is why we provide IODataBatchRequestOptions
However, certain headers are not valid inside a batch.  For example, the ODataBatch uses OData Version 4.0, and SharePoint does not allow you to use OData Version 3.0 requests inside an OData Version 4.0 batch.  Therefore, your "odata-version" header above is not valid.

It would be possible for ODataBatch to detect this mistake and report a validation error, rather than allowing the server to report a protocol error.  This limitation seemed obvious to me, but if you think extra validation would be helpful, feel free to open an issue requesting it (and assign to me).
Otherwise, it's unclear to me what headers would ever be useful here:
    const batchOpts: IODataBatchOptions = {
        webUrl : webAbsoluteUrl
        //Need a way here to override default options e.g Headers.
    };

It sounds like you want to specify ODataVersion: 3.0 here, but that would require us to maintain two parallel implementations of the batching algorithm.

I am closing this bug. If you have more questions/clarifications, please reopen it.  Thanks!


Badware link

It looks like the link for Astra Terra (https://christopherdumas.org/astraterra) redirects to some badware site. It prompted a firefox add-on installation

We've removed it for now - if the author fixes their site, we can re-add it.


[CircleGraph] Use defines for string

This will use defines for constant string.
ONE-vscode-DCO-1.0-Signed-off-by: SaeHie Park<EMAIL_ADDRESS>

from draft #482


zmodel schema validation key names: string and int

Description and expected behavior
I'm trying to create a plugin similar to the @zenstackhq/openapi plugin. When I'm passing the meta object to the plugin in an object, I appear to be limited in key name types. Unlike others that ran into reserved word issues, this is much more general. The validator rejects key names if they are ints, strings, dashes, or start with $.  I'm using strings because int's and dashes aren't valid keys.
Screenshots

Environment (please complete the following information):

ZenStack version: 1.0.2
Prisma version: 4.16.2
Database type: Postgresql

Hey @umdstu , thanks for reporting this! Do you mind sharing the openapi plugin code snippet?

I'll grab it when I'm back online, but I just wanted to be clear that this is for a new plugin I'm writing to extend the openapi plugin, that needs to be able to pass in openapi extension style keys (https://swagger.io/docs/specification/openapi-extensions/), e.g. x-api-gateway.
The issue is the zmodel validator rejects quoted key values. So put any quoted key value pair in any plugin config and it'll cry.

Got it. I think this information is enough for me to get going. I'll let you know is more is needed.

I'll grab it when I'm back online, but I just wanted to be clear that this is for a new plugin I'm writing to extend the openapi plugin, that needs to be able to pass in openapi extension style keys (https://swagger.io/docs/specification/openapi-extensions/), e.g. x-api-gateway.
The issue is the zmodel validator rejects quoted key values. So put any quoted key value pair in any plugin meta and it'll cry.
E.g
@@openapi.meta({
    "x-api": {}
})

Hi @umdstu , the latest 1.1.0 release supports using string literals as object keys. Could you give it a try? Thanks!

Hey @ymc9 ! Thanks for the quick turn around on this. Sorry for the delay in responding. I just pulled in v1.1.0 for all of the packages, and after reloading vscode I'm getting no validation errors for quoted string keys!
I am unsure what the state of numbers as keys is supposed to be though. I noticed in your MR that you added what appeared to be support for numbers as keys (NumberLiteral), but wasn't sure exactly what was going on there. Using 200 as a key still does not validate though, e.g.:
@@plugin.meta({
    200: {
        response: ""
    }

Thank you again!

Hey @ymc9 ! Thanks for the quick turn around on this. Sorry for the delay in responding. I just pulled in v1.1.0 for all of the packages, and after reloading vscode I'm getting no validation errors for quoted string keys!
I am unsure what the state of numbers as keys is supposed to be though. I noticed in your MR that you added what appeared to be support for numbers as keys (NumberLiteral), but wasn't sure exactly what was going on there. Using 200 as a key still does not validate though, e.g.:
@@plugin.meta({
    200: {
        response: ""
    }

Thank you again!

Hi @umdstu , you're welcome! The change only added support for using string literals as object keys, but not numeric values. I refrained to add that since most languages don't seem to support it and it may cause ambiguity with array access.
I'm not sure about the exact scenario of your plugin. Is it possible to detect the key (string or numeric string) and process accordingly?

You're absolutely correct, sorry about that.  I think I was only trying to use a number because the string versions weren't working. Just ignore me :)
Thank you again!


Readme: Add link into Development Guide

This makes it super clear where to start contributing to the code.

Thanks for submitting this Pull Request! The commit message needs a DCO sign-off.

You'll need to squash and force-push so that we can get the whole thing and DCO sign-off all in one commit.

@titanous Done!

Thanks!


Sometimes closes Tabs in combination with Multi-Account Containers

When Mouse Clicking a link that's set to "Always open in" with MAC it sometimes (under rare race-condition based circumstances) closes the opened tab
Depends on #29 and https://github.com/mozilla/multi-account-containers/pull/1095

Fixed with version 0.58. Requires MAC version 6.0.0


[v2] No rotation = Ticks hidden

Hello,
After an update, a lot of things are better BUT... I can't see my lil ticks if there is no rotation :°(
maintainAspectRatio is false and the container of the canva has a fixed height

Duplicate of https://github.com/nnnick/Chart.js/issues/2228
my bad

Was fixed in #2276


Enable Unconditional Image Generation on Gaudi 2 [Diffuser/Tasks]

What does this PR do?
This PR enables unconditional image generation. It contains the following items:

New modeling file for UNet2DModel
Dedicated Gaudi pipeline for unconditional image generation
Example codes
Unit tests
Readme files

Benchmarks
| CUDA with Autocast BF16 | HPU Original - FP32 | HPU Autocast - BF16 | HPU Patched - Graph   and BF16 | HPU Patched - Graph   and FP32
-- | -- | -- | -- | -- | --
E2E Time  for BS == 1 | 24s | Not working | Not working | 26s | 34s
E2E Time  for BS == 4 | 47s | — | — | 46s | 74s
E2E Time  for BS==16 | 162s | — | — | 111s | 195s
Before submitting

[No] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[Yes] Did you make sure to update the documentation with your changes?
[Yes] Did you write any new necessary tests?

@regisss
@libinta
Please help to review

Generated result:

@vidyasiv
I have addressed the issues and applied code changes. Would you please check again? Thanks.

Please address pending comments

@vidyasiv
I have replied to those comments. Seems like Github hides those replies. You have to click in the .py file to see all the replies.

@cfgfung  Based on the test, it looks the time_proj() might causing some noises on the output images on bf16.  I prefer the change to be more isolating - just run the time_proj with auto_cast off instead of entire timesteps block but the perf improvement with that is minimal compare to the current change(95sec vs 100sec), so I'm ok with the current change.

@regisss Would you please take a look if it is good to merge? Thanks.


Simplified Boolean logic

Fixes #
Fixed as part of improving codebase quality.

We'd really prefer PRs that fix bugs. Every change is an amount of risk and there should be some concrete (i.e. not stylistic) benefit obtained in exchange.


Data catalogs/portals (first pass)

This is about shaping a Data Catalogs or Data Portals feature. In their simplest form a Data Catalogs is a site listing datasets. It thus includes a dataset listing functionality plus dataset showcase pages.
Strictly here i think we are talking about the "catalog component/feature" which lists the datasets. Normally this will include search/browse feature.

Source: https://app.excalidraw.com/s/9u8crB2ZmUo/2Yi8iB94NSu
TODO: examples etc
TODO: turn this explanation into a post or item in our knowledgebase

@Daniellappv @rufuspollock Maybe this is something worth looking into given our current prioritisation of "data-focused" users?

Yes, for now let's keep this as low priority someday/maybe ...


Did not get HTTP 200 back from the endpoint

I already installed graphql-docs (globally) and now when I run below command
graphql-docs-gen MY-GRAPHQL-ENDPOINT doc.html
It returns with Did not get

HTTP 200 back from the endpoint error message.

Any idea how to fix it?

I ran the following and received the same error.
$ graphql-docs-gen https://fakerql.com/graphql documentation.html
@aminconnectngo @rodriguise Give this tool a try: https://www.npmjs.com/package/@graphidocs/docs
$ graphidocs -e https://fakerql.com/graphql -o ./doc/schema
I was able to produce the docs from that fake graphql api using it.

After parsing the errors, file '/lib/introspectionQuery.txt' is having field named 'onOperation', 'onFragment' and 'onField', which might not contained in your query/schema field.
In my case, It will works when you eliminate them.

@onx2
Thank you. It works great. Also when you choose a schema in the documentation, it gives you the selected schema is required by what other schemas. Very good indeed.

For anyone interested, I ended up with a custom build rather than using a tool.
Using node-fetch and ts-node I fetch the introspection query response, then use graphQL utils to build the schema.
ts-node and node-fetch are run on the command line using yarn or npm (in my case).
So something like this in your scripts section of package.json.
"fetch:schema": "ts-node ./fetch-schema"
This file is run on the CLI and will fetch the introspection query, then save the json response to a schema.json file in your directory.
// root -> fetch-schema.ts
'use strict';

// Don't worry about this section... I used the TS compiler to translate es6 into this because
// I couldn't get es6 to work with ts-node. It's verbose... I know :(
let fs = _interopRequireWildcard(require('fs'));
let _graphql = require('graphql')
let _nodeFetch = _interopRequireDefault(require('node-fetch'));

function _interopRequireDefault(obj) {
  return obj && obj.__esModule ? obj : {
    default: obj
  };
}

function _interopRequireWildcard(obj) {
  if (obj && obj.__esModule) {
    return obj;
  } else {
    const newObj = {};
    if (obj !== null) {
      for (const key in obj) {
        if (Object.prototype.hasOwnProperty.call(obj, key)) {
          const desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
          if (desc.get || desc.set) {
            Object.defineProperty(newObj, key, desc);
          } else {
            newObj[key] = obj[key];
          }
        }
      }
    }
    newObj.default = obj;

    return newObj;
  }
}

// This is the part you need to care about :)
(async () => {
  console.log('\x1b[36m', 'Fetching schema...');

  // ******** IMPORTANT ********
  // Update `url-for-your-graphql-api/graphql` with your actual graphql endpoint
  const response = await (_nodeFetch.default)('url-for-your-graphql-api/graphql', {
    body: JSON.stringify({
      query: _graphql.introspectionQuery
    }),
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
    method: 'POST'
  });

  const schema = await response.json();

  if (schema.error) {
    console.log('\x1b[31m', `
      Failed to save most recent schema.json: ${schema.error}.\n
    `);
  } else {
    console.log('\x1b[36m', 'Writing schema file...');

    // ******** IMPORTANT ********
    // Update path/to/schema.json to the correct path you want to save to
    fs.writeFile('path/to/schema.json', JSON.stringify(schema), undefined, (err) => {
      // throws an error, you could also catch it here
      if (err) throw err;

      // success case, the file was saved
      console.log('\x1b[32m', 'Successfully saved schema.json!\n');
    });
  }
})();

Some TypeScript (or JS I guess if you can import json files) file that handles building the schema
Uses the buildClientSchema utility from graphql.

// ******** IMPORTANT ********
// Change `path/to/schema.json` to the path defined in your `fetch-schema.ts` file.
import { data as introspection } from 'path/to/schema.json';
import { buildClientSchema } from 'graphql';

const schema = buildClientSchema(introspection);

console.log(schema);

/**
  * Functions I used to extract data needed for building out the docs
  *
  * const mutations = schema.getMutationType()
  * const queries = schema.getQueryType()
  * const subscriptions = schema.getSubscriptionType()
  * const typeMap = schema.getTypeMap()
  */

package.json
I think the bare requirements would look something like:
"devDependencies": {
    "node-fetch": "^2.6.0",
    "ts-loader": "^6.0.2",
    "ts-node": "^8.2.0",
    "typescript": "^3.5.1",
  },
  "dependencies": {
    "graphql": "^14.3.1",
    "whatwg-fetch": "^3.0.0"
  }

I'm using TypeScript, so to import .json files I had to set "resolveJsonModule": true in my tsconfig.json.
From here you can utilize all of the built in graphql functions as well as lodash to manage the types, mutations, queries, subscriptions, etc... and build your own UI. I chose to work with React and used Lodash for nice array / object handling.
Hope this helps!

I have this issue too but struggle to understand where @1hsun found the errors.
Was the fix to this library or to the graphQL schema?
Welcome any help as to how I should proceed as the formatting of this library looks superior :-)

The problem was that around early 2018 there was a breaking change in the introspection query. I've submitted a pull request that fixes the issue but I'm not sure if the library is still maintained otherwise. Does work as intended now though.


upgrade is success but packages still old

I followed this https://docs.microsoft.com/en-us/sharepoint/dev/spfx/toolchain/update-latest-packages to upgrade my packages, command is successfully ran. But when i create yo@microsoft/sharepoint webpart project, the package in package.json still outdate, such as:
"@microsoft/sp-core-library": "~1.1.0",
"@microsoft/sp-webpart-base": "~1.1.0",
"@microsoft/sp-lodash-subset": "~1.1.0",

They should be 1.4.1, please help and thanks
Peter

What does the following command output?
npm -g list @microsoft/generator-sharepoint --depth=0

It basically queries your global installed packages and shows the currently used version number.

/usr/local/lib
└──<EMAIL_ADDRESS>When i create the project by "yo @microsoft/sharepoint", in package.json i got:
{
"name": "subscription-webpart",
"version": "0.0.1",
"private": true,
"engines": {
"node": ">=0.10.0"
},
"scripts": {
"build": "gulp bundle",
"clean": "gulp clean",
"test": "gulp test"
},
"dependencies": {
"react": "15.4.2",
"react-dom": "15.4.2",
"@types/react": "0.14.46",
"@types/react-dom": "0.14.18",
"@types/react-addons-shallow-compare": "0.14.17",
"@types/react-addons-update": "0.14.14",
"@types/react-addons-test-utils": "0.14.15",
"@microsoft/sp-core-library": "~1.1.0",
"@microsoft/sp-webpart-base": "~1.1.0",
"@microsoft/sp-lodash-subset": "~1.1.0",
"@microsoft/sp-office-ui-fabric-core": "~1.4.0-0",
"@types/webpack-env": ">=1.12.1 <1.14.0"
},
"devDependencies": {
"@microsoft/sp-build-web": "~1.1.0",
"@microsoft/sp-module-interfaces": "~1.1.0",
"@microsoft/sp-webpart-workbench": "~1.1.0",
"gulp": "~3.9.1",
"@types/chai": ">=3.4.34 <3.6.0",
"@types/mocha": ">=2.2.33 <2.6.0",
"ajv": "~5.2.2"
}
}

Can you also please try to execute yo doctor and share the output?

Here you go, thanks
`/Users/peter/workspace/quantr-express>yo doctor
Yeoman Doctor
Running sanity checks on your system
✔ Global configuration file is valid
✔ NODE_PATH matches the npm root
✔ Node.js version
✔ No .bowerrc file in home directory
✔ No .yo-rc.json file in home directory
✔ npm version
Everything looks all right!`

i understand now, it probably a bug, if i choose "sharepoint online" instead of "on-premies', it give me 1.5.0, please followup

it's by design: SharePoint Online uses the latest set of SharePoint Framework packages (1.5.1 at this moment), while SharePoint Server (on-prem) uses v1.1.0, so if you choose to create a project that will work with SharePoint on-prem, you will get a project based on SPFx v1.1.0.


[WIP] Electron update

@RocketChat/core

Update Electron from 0.36.10 to 1.4.3
SPELLCHEKING IS NOT WORKING

SPELLCHEKING IS NOT WORKING

If I comment in the spell checking code on this PR, it fails because require('spellcheker') fails. However, this also happens on develop so it’s a separate issue and not related to the updated Electron version, is it?

SPELLCHEKING IS NOT WORKING

Under which circumstances is spellchecking not working? If I comment in the spellcheck code in this PR, it works for me (Ubuntu 16.04)

@jGleitz great!
I think only on osx probably broken.

@jGleitz great!

Very well. I had the feeling text input was slightly faster, but I may be wrong as it’s already pretty good right now.
Most importantly, this PR fixes #206 (notifications are now done through system notifications instead of persistent alerts) which is such a huge improvement.

@jGleitz great! thanks for the feedback!


DPS Histogram and Errors with Death in Encounter

The DPS histogram, iteration dps values and possibly average DPS values seem to have some errors when a death is incurred in an enounter.
Rogue Tank sim during Vael (40s):

Rogue Tank sim during Vael (39s):

Mage Balefire Bolt at 5 stacks:

Mage Balefire Bolt at 4 stacks (11s sim):

In addition the mage balefire code needs to be updated to 5 stacks for the death and spirit coefficient logic, I will submit a separate bug for that.

As discussed on Discord, this seems to be caused by .CleanUp in the Balefire / Vael encounter. Things are not being cleaned up and are being passed along the next iteration.


solver settings doc updates

Updated the solver settings and related documentation.

@seanpearsonuk I was without power and internet for a few days due to Hurriance Ian hitting Florida. I will review this Wednesday morning. Thanks!

Only minor comments--mostly adding the Oxford comma (which states to put a comma before the "and" or the "or" in a list of items.

@PipKat  I have merged the vast majority of your suggestions. Many thanks, as always, for your valuable feedback.


Allow for a more granular selection of poll period for certain signals

Currently, all the signals from the panda are polled every 0.1 seconds. Certain signals, however, can be more useful if they are polled faster. For example - if you want to use the PandA's logic to "trigger" a device that doesn't offer a hardware trigger/TTL option, you can do this right now with a CA link to one of the TTLOUT:OUT signals. However, in my experience this limits you to sub ~5 Hz trigger rates, since the PandA IOC polls everything at the same rate.

I'm not sure we have the ability to do what is being asked. The issue is that, currently, we poll the PandA for all changes since the last time we asked, using the GetChanges function. There is an enum to control what values the PandA reports back, but it isn't particularly fine-grained. See the enum defined here. If the field(s) you are interested in rapidly polling are reported by one of those options, then we should be able to do faster polling for specific groups. Otherwise I don't think we can offer anything better than simply increasing the global polling rate.

I think for my use case the most useful group to poll faster would be the BITS values: https://github.com/PandABlocks/PandABlocks-client/blob/c2c8c0b1d78f8317b18602e85984cab365b946d2/src/pandablocks/commands.py#L780, because I believe this includes all the block outputs that are presumably tied to your hardware via TTLOUT blocks.

Maybe we could add new command line args to specify different poll periods for specific change groups. @coretl thoughts?

Just to see if I was hitting any kind of limitation in terms of the max scanning rate of the CA link mechanism from EPICS, I created a simple record that should produce a 50 hz clock signal (switches its value to the opposite every 0.01 seconds, meaning a rising edge every 0.02 seconds, 50 Hz):
record(calc, "$(P)$(R)Clock"){
    field(CALC, "VAL = 1 ? 0 : 1")
    field(SCAN, ".01 second")
}

And made a CA link to this instead of the PandA, and as expected I got things processing at 50 Hz.
I don't think I'd need to go that fast, but it would be nice if we could get this to ~20 Hz let's say.
I think some kind of setup to specify poll periods for the different change groups would work for my case.

Some care is needed here:
https://github.com/PandABlocks/PandABlocks-ioc/blob/8e25d64cc97cfbf242a84c6ccbe600a39ed41c41/src/pandablocks_ioc/ioc.py#L1978-L1985
We have a requirement to see pulse widths shorter than the poll period, so if the value has changes within the poll period then we toggle it and toggle it back again on the next poll. This means that a 100Hz will toggle the TTLOUT PV as fast as it can, which means 5Hz given the 0.1s *CHANGES period.
I am also not keen to go much faster than 10Hz because this is Python after all, and if it works most of the time but occasionally stutters then that will make something fail in the middle of an experiment.
Could we increase the update rate for *CHANGES to 20Hz? That would give 10Hz updates of bit_out PVs, and I don't think we should promise any faster than that.
SOLEIL do this by sending UDP triggers directly out of the FPGA, so maybe this is an idea worth exploring further. What kind of things are you looking to process on the EPICS side?

For me, the use case is as follows:
I've written an areaDetector IOC that can read previously collected datasets either from an HDF file directly or via  tiled endpoint. Once the data read back, it behaves like any other areaDetector, just with the catch that when it reaches the end of the dataset it either stops, or loops back to the front.
The main use case for this is to be able to run existing scans (or something very close to them) w/ real data, so that we can develop real-time analysis/processing software without requiring beamtime. Recently, I've upgraded this model to be able to also simulate hardware trigger support. This works by creating a CA link to a binary signal that is responsible for simulating the TTL signal. The playback IOC is smart enough to be able to be programmed to use either rising/falling edge, gated exposure, or gated acquisition. I have tested this with a simple CLOCK PV that just switches between 1 and 0 every 0.01 seconds, which produces a 50 Hz signal, and the playback runs at 50 Hz without issue.
What I am trying to do here, is basically have a setup so that we can run full panda based flyscan tests in the lab without access to the actual detector. There are plenty of PandA devices available, but it's a bit harder to have a Pilatus 2M available (and even harder to get it real x-ray data we can use for analysis). We do a lot of workflow/processing steps that happen on stop documents for example, and it'd be really nice to re-create the whole setup in the lab. I actually have this working fine now, with the catch that I get ~5 Hz as you said.
It's possible I can work around this by finding a device that offers a TTL input with a much faster polling rate available to an IOC, but I figured I'd see if this was possible at the PandA level.

As this is a single use case that is entirely under your control, could you open an asyn IP connection directly to the PandA TCP socket, and fire "*CHANGES.BITS?" at it as fast as you can from a thread in the playback IOC? That would skip the slow python level, and shouldn't put much extra load on the PandA TCP server...

Alternatively, you could do the same by connecting the playback IOC to the data connection in ASCII mode, and each time you get a new line then treat that as trigger:
$ nc <IP_ADDRESS> 8889
NO_HEADER NO_STATUS
 0 0 0 0 0 0 6.4e-08 0.500000064 0 0 0
 0 0 0 0 0 0 1.000000064 1.500000064 0 0 0
 0 0 0 0 0 0 2.000000064 2.500000064 0 0 0
 0 0 0 0 0 0 3.000000064 3.500000064 0 0 0
 0 0 0 0 0 0 6.4e-08 0.500000064 0 0 0
 0 0 0 0 0 0 1.000000064 1.500000064 0 0 0
 0 0 0 0 0 0 2.000000064 2.500000064 0 0 0

That has the other benefit of letting you ensure that you have the right number of triggers, as you are guaranteed to get a new line for every PandA trigger, whereas *CHANGES could drop one

That should work, will do some testing, and update back here.


attribute file change not detected

Similar to previous versions the attribute file being updating is not always picked up and you must restart the program for it to refresh. Seems to happen when theirs an extended delay between matches.

That is interesting, I haven't personally had that issue but I'll look into it.
I believe in the current release I did add a Reload button in the main window view.  Does that also not refresh the info?

It didn't seem to help. Maybe windows is timing something out

I actually was able to find the issue, I should hopefully be able to get that sorted out pretty quick.

So the new release should hopefully fix this problem, I wasn't really able to test it since I hadn't encountered the problem...but it should try to reread the file now instead of just halting.

Solved!


StyleSheet.flatten is returning frozen object. No need to be frozen, and not documented

Is this a bug report?
Yes. At the very least, if no one agrees that it "should not be frozen", then the docs need to be updated".

Have you read the Bugs section of the Contributing to React Native Guide?
Yes

Environment

react-native -v: 0.46.3
node -v: 7.8.0
npm -v: 5.1.0
yarn --version (if you use Yarn): n/a

Then, specify:

Target Platform: iOS

Development Operating System: macOS 10.12.5 (16F73)

Build tools: None. Just regular react-native run-ios.

Steps to Reproduce

(Write your steps here:)

const styles = StyleSheet.create({ text:{ backgroundColor:'red' } });
Now do const flatNew = StyleSheet.flatten(styles.text);
Now Object.isFrozen(flatNew) is true. There is no need for this freeze. It should be mutable. If you really want it immutable, then docs need update. - http://facebook.github.io/react-native/releases/0.46/docs/stylesheet.html#flatten

Expected Behavior

There is no need for this freeze. It should be mutable. If you really want it immutable, then docs need update. - http://facebook.github.io/react-native/releases/0.46/docs/stylesheet.html#flatten
Actual Behavior

Object is frozen, it cannot be mutated.
Reproducible Demo

Link to expo reproducible: https://snack.expo.io/B1A17ZYrZ

Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally!
If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:

Does the issue still reproduce on the latest release candidate? Post a comment with the version you tested.
If so, is there any information missing from the bug report? Post a comment with all the information required by the issue template.
Is there a pull request that addresses this issue? Post a comment with the PR number so we can follow up.

If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution.


[FPGA] Changing the deprecated noinit to new no_init

Signed-off-by: aditi.kumaraswamy<EMAIL_ADDRESS>Existing Sample Changes
Description
LSU control FPGA tutorial uses the deprecated "noinit", changing to the new "no_init"
Fixes Issue#
ONSAM-1391
External Dependencies
List any external dependencies created as a result of this change.
Type of change
Please delete options that are not relevant. Add a 'X' to the one that is applicable.

[X ] Bug fix (non-breaking change which fixes an issue)
[X ] Implement fixes for ONSAM Jiras

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[X] Command Line

Please create PR to main repo


hard dependency on daemons 1.1.0

Just wondering if there a serious requirement to have a dependency on daemons version 1.1.0
My app uses thin which has defined the dependency on daemons to be >= 1.1.4
This makes bundler install apnd version 0.1.0 which is kinda old.

Also there is a hard dependency on json version 1.4.6 where as json version 1.6 is being used on rails at the moment (as far as I can see).

Don't think so. Do you have an app you can try on? If not I can test it a bit more next week.

I've tested this on my app and it works. I cloned a fork of this repo (33m's) and fixed it there. So, I cant send you the pull request unfortunately. He's got a few safety fixes in his branch that I needed as well.


Refactor Bash/Shell Environment

Author the user story for this feature
Due to the inclusion of Windows, Linux and MacOs and the possible iterations in the future (M1 mac for example) a proper shell/bash environment needs to be created and handled.
Describe the solution
Specifically it can be expanded as follows:

Handle all the iterations of shell environments for each OS (Bash, BinBash, CMD, Powershell etc)
A way to store and handle external commands to be run through the Shell above (NM, Swift demangle etc)
Make sure its easy to extend when needed and compatible with the Os we have identified.
Follow good principles as set out by the flank

There are issues that are occuring in our current implementation (As of 6/28/2021) see : https://github.com/Flank/flank/pull/2048


Unable to lookup camel integration status in local mode

I am trying to run the local test with camel-k example on my VM.
$ yaks run integration.feature --local

The test will get stuck on TEST STEP 3: camel-k:verify-integration and retry to find the integration status until it times out or max attempt exceeded.
The output log look like this:
...
DEBUG| TEST STEP 3: camel-k:verify-integration
INFO | Verify Camel K integration 'hello-world'
INFO | Waiting for integration 'hello-world' to be in state 'Running'
DEBUG| Full Camel JBang command is: -Dcamel.jbang.version=4.1.0 camel@apache/camel ps
DEBUG| Writing file resource: '878951-output.txt' (encoding is 'UTF-8')
INFO | Waiting for integration 'hello-world' to be in state 'Running'- retry in 5000 ms
DEBUG| Full Camel JBang command is: -Dcamel.jbang.version=4.1.0 camel@apache/camel ps
DEBUG| Writing file resource: '879084-output.txt' (encoding is 'UTF-8')
INFO | Waiting for integration 'hello-world' to be in state 'Running'- retry in 5000 ms
...

Also, when I run camel ps command, it shows the integration is in 'Running' status.
$ camel ps
  PID    NAME          READY  STATUS    AGE
 878922  hello-world    1/1   Running  2m13s
 879960  timer-to-log   1/1   Running   1m4s

Environment
OS: Red Hat Enterprise Linux release 8.8 (Ootpa)
jbang version:  0.116.0
Camel version: 4.6.0
YAKS version: 0.19.2
A full set of the test project and log files are provided for investigation: yaks-camel-k-local-issue.zip

Thanks for reporting - I'll have a look ...

I just tried and the example runs successfully on my machine (Mac OS). I will have a look into your logs. Are you able to run any other example (e.g. hello-world.feature) locally?

@christophd Is able to run the hello-world.feature locally.
helloworld_output_logs.zip

I encountered the same problem in Maven test. I found that the getCamelProcessId method in ProcessAndOutput.java was returning the wrong PID. After disabling the logic for find the first descendant PID and returning the main PID, the test passed.
Use first descendant pid:

Use main pid:

log file:
mvn-test-log.zip


zhang19 gaia names

Short description: Changing two Gaia names
Gaia J0452-36A should be Gaia EDR3<PHONE_NUMBER>756117504
Gaia J0452-36B should be Gaia EDR3<PHONE_NUMBER>553134592
The Gaia J names should be removed.
Link to relevant issue: Closes #245
For data ingests:

[x] includes modified JSON files
[x] Update the Versions table

There is no gaia_j0452-36a json file found to modify.

Then I guess we should ingest it.
Here's the original paper.
https://academic.oup.com/mnras/article/489/1/1423/5545604

How can I run/check that the json file edit was implemented in the db?

Then I guess we should ingest it.
Here's the original paper. https://academic.oup.com/mnras/article/489/1/1423/5545604

Ingest using a new file or is there an existing file to add to?

I'm not sure I understand the question. The JSON file modification is changing the database. If you want to see the change in the change in the DB browser, you reload the database. That will generate a new SQLite file using the JSON files.

That's what I thought too and reloaded the db. Unless I misunderstood what you meant by changing the names. I added 'Gaia EDR3<PHONE_NUMBER>553134592' as another name under 'Gaia J0452-36B'. Or does it mean to delete the 'Gaia J0452-36B.json' file and create a new one with the name 'Gaia EDR3<PHONE_NUMBER>553134592'?

Then I guess we should ingest it.
Here's the original paper. https://academic.oup.com/mnras/article/489/1/1423/5545604

This paper is already ingested. Is gaia_j0452-36a and gaia_j0452-36b supposed to be two sources from the same paper? 36b is there but no json for 36a.

It might have gotten changed back when you merged. The way you had it originally was correct

Yes, two sources from the same paper.

It does not pass the test when changing the source because it says there is no Gaia EDR3<PHONE_NUMBER>553134592 in the Source table, just the first name.

I attempted making a json file for gaia 36a, but the ra, dec, equinox, and spectral type code are wrong. I only got the spectral type string and changed the source name. In the paper it seems like I have to convert the coordinates data into decimal before I can ingest them.

Table 1 Data

The separation in arcseconds (115.3) goes in the Companion Relationships table.
you could also add the T_eff, metallicty (Fe/H), gravity (logg), and mass to the Modeled Parameters table.

Might as well also do the photometry. The relevant filters names from the Photometry Filters table are:

Gaia2.G
Gaia2.Gbp
Gaia2.Grp
VHS J = VISTA.J
VHS K = VISTA.K_s
WISE.W1
WISE.W2

Tests for data and integrity are failing completely at the moment


Testpr3

@andkononykhin why would we accept this pull request?

@jasonalaw Please, do not accept it. Its for PR pipelines testing.


Allow extension config

Caolan is appalled by how we form the regex for recursive-search. Might be good to find another module that allows passing in of a function as our query.
To resolve issue #5 .

@blongden Improved?


Npm not installing for android

Version of react-native-iap
Version of react-native 0.57.4
Platforms you faced the error ( Android )
Npm is not installing in project.

I'll close this since information isn't sufficient to help you out. Please reach out again if you find some details.


add docs for running cloudwatch poller

We run this internally, but it isn't documented on the wiki. Requested by @pparth.

Anything new about that? Even without documentation, would it be possible for the OOS version to enable CloudWatch metrics polling?

The way we run it is by building a package with the com.netflix.atlas_v1:atlas-module-cloudwatch_2.12 dependency and helper modules to integrate into Netflix. There are some examples of this in the iep-apps project. The config we use is an application.conf like:
atlas {

  webapi {
    main {
      port = 7101
    }
  }

  akka {
    api-endpoints = [
      "com.netflix.atlas.akka.HealthcheckApi",
      "com.netflix.atlas.akka.ConfigApi"
    ]
  }

  poller {

    frequency = 56s

    sink {
      uri = "http://localhost:7101/api/v1/publish"
    }

    pollers = [
      {
        name = "cloudwatch"
        class = "com.netflix.atlas.cloudwatch.CloudWatchPoller"
      }
    ]
  }

  cloudwatch.tagger {
    class = "com.netflix.atlas.cloudwatch.NetflixTagger"

    common-tags = [
      {
        key = "nf.region"
        value = ${netflix.iep.env.region}
      },
      {
        key = "nf.account"
        value = ${netflix.iep.env.insight-account-id}
      }
    ]

    netflix-keys = [
      "nf.asg",
      "aws.elb"
    ]
  }

  // If there is a need to customize the set of metrics collected
  //cloudwatch.categories = [
  //  "ec2",
  //  "elasticache",
  //  "elb",
  //  "lambda"
  //]

}

netflix.iep.aws.cloudwatch {
  client {
    use-throttle-retries = true
    max-error-retry = 10
  }

  credentials {
    role-arn = "arn:aws:iam::"${netflix.iep.env.insight-account-id}":role/AtlasCloudWatch"
    role-session-name = "cloudwatch"
  }
}

CloudWatch polling was moved out (#1327) as it is not related to the core storage.


Machine charm bugfixes that enable the charm to run without errors. T…

…he following were fixed.

Due to the ordering of life cycle events, we have to wait until the relation_joined event of the juju-info relation before we try to read the unit from the relation. The is_ready method is updated to reflect this.
The old method for fetching the unit changes the state of the charm instance. This is problematic because there are event handlers in the charm that perform this operation twice. A new property was added called principal_unit which fetches the unit in a safe but ugly manner.
There were a few instances of the dict.update method being used to merge dictionaries. The problem here is that dict.update updates dictionaries in place and does not return the new value. In these particular cases, dictionary unpacking is better.
A return value was added to GrafanaAgentCharm._loki_config.
Fixed some typos.

The grafana-agent itself still doesn't work because the configuration files produced aren't quite right.

Ugh, github. Can you rebase this, please @awnns ? I pushed cleanup here, but it's not showing in your PR

I think these changes have already been merged in to the machine_charm branch. Feel free to reopen if needed.


better bot config

Codecov Report
Patch and project coverage have no change.

Comparison is base (67879ff) 86.84% compared to head (1d5f501) 86.84%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #463   +/-   ##
=======================================
  Coverage   86.84%   86.84%
=======================================
  Files          32       32
  Lines        4228     4228
=======================================
  Hits         3672     3672
  Misses        556      556

Flag
Coverage Δ

unittests
86.84% <ø> (ø)

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

incorporated into #484


[FLINK-19512] Introduce the new sink API

What is the purpose of the change
Introduce a new sink API as the FLIP-143.
Brief change log

Add Sink interface
Add Writer interface for producing committable data
Add Committer interface for committing the data
add GlobalCommitter interface for committing the aggregated committable

Verifying this change
NA
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (JavaDocs)

thanks a lot for explaining. LGTM!

Thanks @kl0u for your reminding. I would update the FLIP after this pull request is done.


Make prometheus's storage retention value configurable

Fixes #8763

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: gyliu513
If they are not already assigned, you can assign the PR to them by writing /assign @gyliu513 in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ymesika: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
b1aa50115c42f1aa1686169a5b0d1fc388e53089
link
/test istio-pilot-e2e-envoyv2-v1alpha3

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. I understand the commands that are listed here.

/assign @gyliu513

/lgtm

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: mandarjog
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: gyliu513
If they are not already assigned, you can assign the PR to them by writing /assign @gyliu513 in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Bugfix: stricter regex; disallow trailing newline

To prevent false positives, we can make use of the PCRE_DOLLAR_ENDONLY flag (D) that will constraint the $ anchor to match the end of the string only, not a newline character.

Looks good to me.  Maybe for completeness, you could add a test that starts with a newline (should work with the existing regex, if the docs are right about the behaviour of \A).


Incremental Dockerfile Build

Incremental Dockerfile Build
Allow incremental --as-dockerfile builds.
Trello card: https://trello.com/c/P6TZg0wO/1582-5-builds-s2i-incremental-build-as-dockerfile

lgtm, squash and i'll merge if you're ready

@bparees squashed

[merge]

looks like there are some pathing issues on windows:
RUN if [ -s /tmp/artifacts.tar ]; then mkdir -p \tmp\artifacts; tar -xf /tmp/artifacts.tar -C \tmp\artifacts; fi && \
		    rm /tmp/artifacts.tar

i recall having to work through similar things when i did my PR.

[test]

[test]

[test]

[merge]

i suspect you don't have merge here.
[merge]

 (5) [builds] S2I Incremental Build as Dockerfile


File watcher restarting node server

The file watcher is restarting node server whenever I make changes to any files under the stores/ directory. It doesn't wait for the file to be saved. Even if I type one character it restarts the server.
Can we change this to onSave()?

Are you using a starter template @shyamchandranmec ?

I am using the express js template
On Mon, 27 Mar 2017 at 7:02 PM, Sébastien Chopin<EMAIL_ADDRESS>wrote:

Are you using a starter template @shyamchandranmec
https://github.com/shyamchandranmec ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nuxt/nuxt.js/issues/458#issuecomment-289454025, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEcaFwyL3ej-x84hKg9UP9kXqNxlp0lAks5rp7pcgaJpZM4Mp5ly
.

--
Thanks
Shyam Chandran

Normally the server is not reloaded, only the generated files for webpack.
Can you write the log files?

If I make any changes to any vue files or any js or css files. I can see
the webpack build happening.
But when I change any files under the store directory the entire node
server restarts.
That too whenever I type a character.
Which logs are you referring to? Is it the node server log?
On Mon, 27 Mar 2017 at 7:04 PM, Sébastien Chopin<EMAIL_ADDRESS>wrote:

Normally the server is not reloaded, only the generated files for webpack.
Can you write the log files?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nuxt/nuxt.js/issues/458#issuecomment-289454556, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEcaFwMk6XLp36Gvr3RuPioaOwX_eD7Rks5rp7rQgaJpZM4Mp5ly
.

--
Thanks
Shyam Chandran

@shyamchandranmec, I've tried with a fresh install of nuxt express template and I cannot reproduce your issue.
Can you provide us more info about your code?

@alexchopin I checked with the latest version. Now the node server is not restarting. But the webpack build happens  before even getting saved and the build happens more than 1 time.
Can you please give me your email id. I will share the repo with you


how to prepare CIFAR 100 and CIFAR 10 training and testing data?

Hi, there,
I am trying to re-run provided CIFAR 10 and CIFAR 100 examples. When I use the provided CIFAR 10 training and testing data, it can produce the same results as introduced. However, when I feed programs with the CIFAR 10 and CIFAR 100 data I manually converted, the accuracies decreased a lot.
Specifically, first, I downloaded the matlab version CIFAR 10 and CIFAR 100 data and wrote them into jpg images. Then, I converted these images into RecordIO format data following the same process provided here https://github.com/dmlc/mxnet/blob/master/doc/python/io.md.
Did I miss something? Is there any other pre-processing operations needed? How did you guys prepare these data?
Do anyone have some suggestions? Thank you in advance.

Yes, this procedure should be the same. Please make sure you shuffle the data before pack them

Hi, Tianqi,
Thanks for your reply.
https://github.com/dmlc/mxnet/blob/master/doc/python/io.md tells that the images would be shuffled automatically. Attached is my image list files. Is that ok?
Is it possible that I should change the parameter when calling im2rec? Because when I packing the images from image list, it reported the JPEG encoding quality is 80. Should I specify it to be 100? Would this matter?
cifar_10_test.txt
cifar_10_train.txt
cifar_100_train.txt
cifar_100_test.txt

You want to shuffle the list before you feed them into the record packer

The shuffle of recordReader is only done in a local manner, which means it only shuffles data within each block

Sorry, I am a little confused about "local" and "each block". Could you be more specific? Does this mean I still need to make numbers in the first row in train.lst randomly organized?

Yes, I mean you to shuffle the list, before you pack, so the same labels won't occur consecutively

Hi, I tried to shuffle the first column in the train.lst. However, the accuracy seems to stick around 83% after 20 epochs. Attached is my train.lst file for CIFAR 10. Is there anything wrong with it?
train.txt

By the way, I shuffled .lst files using the bash command shuf. Is there any better way to do this?

I do not mean shuffle first column, but shuffle the lines in your train.lst before you pack

Sorry for the confusion. The lines in train.lst are shuffled.
And I also set the quality parameter to be 100 during packing. But the accuracy is only 84% for CIFAR 10 after 30 epochs.

Btw,is there any API provided to extract the activations in a specific layer in a given model?

yes, c.f. https://github.com/dmlc/mxnet/blob/master/example/imagenet/predict-with-pretrained-model.ipynb

Thank you! You guys are awesome.

I encountered a similar problem. I converted MNIST binary data to jpg images, and then packed jpg images to an ImageRecord binary file. However, the training accuracy was always about 0.114844, which is just a random guess.
I referred to http://mxnet.io/packages/python/io.html#create-dataset-using-recordio to pack images to ImageRecord binary. My command is:
python ~/packages/mxnet/tools/im2rec.py --color 0 --quality 100 --shuffle True "" jpg
Then I used a MLP for training:
`import mxnet as mx
import logging
import os
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(name)
home = os.path.expanduser("~")
prefix = home + "/dataset/"
'''
train = mx.io.MNISTIter(
image = prefix + "mnist/train-images-idx3-ubyte",
label = prefix + "mnist/train-labels-idx1-ubyte",
batch_size = 128,
data_shape = (784,)
)
val = mx.io.MNISTIter(
image = prefix + "mnist/t10k-images-idx3-ubyte",
label = prefix + "mnist/t10k-labels-idx1-ubyte",
batch_size = 128,
data_shape = (784,)
)
'''
train = mx.io.ImageRecordIter(
path_imgrec=prefix + "mnist/train-images-idx3.rec",
data_shape=(1,28,28),
batch_size = 128,
shuffle=True,
)
Define a two-layer MLP
data = mx.symbol.Variable("data")
fc1  = mx.symbol.FullyConnected(data=data, num_hidden=128)
act1 = mx.symbol.Activation(data=fc1, act_type="relu")
fc2  = mx.symbol.FullyConnected(data=act1, num_hidden=64)
act2 = mx.symbol.Activation(data=fc2, act_type="relu")
fc3  = mx.symbol.FullyConnected(data=act2, num_hidden=10)
mlp  = mx.symbol.SoftmaxOutput(data=fc3, name="softmax")
Train
model = mx.model.FeedForward(
symbol = mlp,
num_epoch = 20,
learning_rate = .1,
)
model.fit(X=train,
eval_metric=["accuracy"],
batch_end_callback=mx.callback.Speedometer(128),
logger=logger)`
The logging info is always like this:
INFO:__main__:Start training with [cpu(0)] INFO:root:Epoch[0] Batch [50]  	Speed: 53125.66 samples/sec    	Train-accuracy=0.113125 INFO:root:Epoch[0] Batch [100] 	Speed: 53541.67 samples/sec    	Train-accuracy=0.111406 INFO:root:Epoch[0] Batch [150] 	Speed: 21821.71 samples/sec    	Train-accuracy=0.118438 INFO:root:Epoch[0] Batch [200] 	Speed: 52519.27 samples/sec    	Train-accuracy=0.106875 INFO:root:Epoch[0] Batch [250] 	Speed: 55297.81 samples/sec    	Train-accuracy=0.116562 INFO:root:Epoch[0] Batch [300] 	Speed: 21163.96 samples/sec    	Train-accuracy=0.110156 INFO:root:Epoch[0] Batch [350] 	Speed: 53972.50 samples/sec    	Train-accuracy=0.115625 INFO:root:Epoch[0] Batch [400] 	Speed: 41040.34 samples/sec    	Train-accuracy=0.110937 INFO:root:Epoch[0] Batch [450] 	Speed: 64686.98 samples/sec    	Train-accuracy=0.105625 INFO:__main__:Epoch[0] Resetting Data Iterator INFO:__main__:Epoch[0] Time cost=2.262 INFO:root:Epoch[1] Batch [50]  	Speed: 53814.96 samples/sec    	Train-accuracy=0.111719 INFO:root:Epoch[1] Batch [100] 	Speed: 53497.82 samples/sec    	Train-accuracy=0.112656 INFO:root:Epoch[1] Batch [150] 	Speed: 20033.24 samples/sec    	Train-accuracy=0.115781 INFO:root:Epoch[1] Batch [200] 	Speed: 52946.37 samples/sec    	Train-accuracy=0.115625 INFO:root:Epoch[1] Batch [250] 	Speed: 51084.73 samples/sec    	Train-accuracy=0.113437 INFO:root:Epoch[1] Batch [300] 	Speed: 21558.19 samples/sec    	Train-accuracy=0.107344 INFO:root:Epoch[1] Batch [350] 	Speed: 52814.80 samples/sec    	Train-accuracy=0.112969 INFO:root:Epoch[1] Batch [400] 	Speed: 38230.61 samples/sec    	Train-accuracy=0.115312 INFO:root:Epoch[1] Batch [450] 	Speed: 66028.31 samples/sec    	Train-accuracy=0.108281
Any suggestions? Thanks!

Just figured it out, I didn't rescale image data to 0~1. It works now by making the following change:
train = mx.io.ImageRecordIter(
    path_imgrec=prefix + "mnist/train-images-idx3.rec",
    data_shape=(1,28,28),
    batch_size = 128,
    shuffle=True,
    scale = 1.0/256.0,
)


abode: Bump abodepy dependency to 0.11.7

Description:
Simple version bump of the abodepy dependency to 0.11.7. Fixes cases where one's abode account has a nest thermostat linked (https://github.com/MisterWil/abodepy/pull/17).
Checklist:
If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.

Hi @vickyg3,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

You will also need to update the version in Abode component. See #9491 for reference.

You will also need to update the version in Abode component. See #9491 for reference.

Somehow missed to commit that. Fixed now. Thanks!


Set DataDeps ENV variable

Continuous integration needs the DATADEPS_ALWAYS_ACCEPT environment variable to be set to true to remove the interactive Y/N prompt and automatically download the required data dependencies.

@davidanthoff this should have tests running and passing on version 1.6, I will address 1.7 and 1.8 in a different PR as those will need to handle both (1) updates for performance and (2) a different random number generator ie. new regression files


Repo sync for protected CLA branch

The pull request is created from syncing_branch637925206876015354 to syncing_branch to fix git push error for protected CLA branch

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Broken rendering

Page two of the following PDF renders as an odd series of bold upper case "D" characters mixed with a variety of smaller uppercase random characters:
http://www.deepsloweasy.com/HFE resources/HFE Design Guide 4COTS.pdf

Confirmed.

The issue is fixed in the current version of the pdf.js.


Xds readiness

Add a BlockReady after the first ACK'd XDS response is received.
Part of #156

@keithmattix: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
ea7888e65e8bbc721ff5dd1baccbc94a79bc6bcb
link
true
/test test

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. I understand the commands that are listed here.

@keithmattix: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
991056dfe99054d2f8745e8d20c848583fd1ee5c
link
true
/test test

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. I understand the commands that are listed here.

@keithmattix: PR needs rebase.

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.

@keithmattix: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
b47ff656d6cba381f08449719d7e666a600ba92c
link
true
/test test

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. I understand the commands that are listed here.

@keithmattix: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
11421f05b061fa8af112bd98e8aeb7f833afb3e3
link
true
/test test

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. I understand the commands that are listed here.

@keithmattix: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
ee09232588e580de2d2aabb4e32ff222644cfc0b
link
true
/test test

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. I understand the commands that are listed here.

@keithmattix: PR needs rebase.

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.


Suggestion: Query clipboard permissions when opening an existing server instead of always prompting

Testing https://github.com/microsoft/vscode-jupyter/issues/10170
I find the setting up Jupyter experience kind of complicated. Have you considered doing a soft permissions query instead of a hard text read when connecting to avoid this prompt? Additionally, it would be better from a user's perspective imo to ask for the clipboard on ctrl/cmd+v, not when clicking some button.

navigator.permissions.query({ name: 'clipboard-read' }).then(console.log)

nb-golden due to #10192

This didn't work unless I added the setting referenced in https://github.com/microsoft/vscode-jupyter/issues/10363#issuecomment-1197392852, I assume that's implied?

Yeah sorry. I closed all of these bugs before we added the setting.


Editing-interview-blog

Trello card
https://trello.com/c/VD1DDQVN/3955-improve-interview-prep-blog-post-for-apply-candidates
Context
The Apply team want to link to this blog, so we should remove the image as it's pretty low quality and edit the footer to link to advisers.
Changes proposed in this pull request
Guidance to review

@gemmadallmandfe do we remove the reference to COVID and face masks?

@gemmadallmandfe do we remove the reference to COVID and face masks?

I think that's a good idea - could just remove In times of COVID 19, and face mask - the rest is still valid?


How to override default embedding model?

I want to use other embedding model, but harbor overrides my changes on webui after harbor.sh down && harbor.sh up

Sorry for the inconvenience! We can parameterise it, are you talking about embeddings for the web RAG?
A quick workaround before the parametrisation is available - once you saved your settings in the WebUI, open open-webui/config.json and move the settings from there over to ./open-webui/configs/config.override.json, I'm still thinking how to best handle such cases where a bi-directional configuration flow might be needed

Move my settings to config.override.json doesn't works.

Change config.x.searxng.ollama.json works.

Yes, sorry for the inconvenience again, that's due to the ordering of the configs during merging. The next version will have correct order of precedense, so that overrides are always the last

no problem, thanks for the help

Just pushed the update that fixes ordering of config files when merging, now config.override.json will take over all the others, so it should be safe to place changes there

I'm a bit on the fence if
rag.embedding_engine
rag.embedding_model

Should be allowed to be set via harbor config, in that instance the users won't be able to adjust them via the Open WebUI later (or the inverse - only UI adjustment works and config doesn't)

v0.0.15 has a fix for config precedense, however, the question about bi-directionality remains open

Closing since .env now allows for permanent config override


Causes an excessive amount of GC?

My ability to investigate this is very limited unfortunately.

I reckon a lot of that was probably to do with the building render perhaps? Unless you were doing something else.

Nah, just kind of standing around. Maybe poke it with jvisualvm. This could also be me derping.

After running a GC dump in Java VisualVM for about an hour the other day and an hour today I didn't notice anything related to Harvest Festival, so closing this for now!
If anybody else experience anything similiar we will take this up again :)


Can not import default member in 2.0.0-alpha.5

import fetch from 'node-fetch';
console.log(typeof fetch); // 'undefined'

If const fetch = require('node-fetch'); works, investigate your transpiler setup first.

Honestly, as the loader syntax is still very much up in the air (and all npm modules should still be distributing CommonJS style exports into the foreseeable future) I highly suggest just using require and avoiding the headache. You also get the bonus of being able to destructure on the same line you require.

Just checked<EMAIL_ADDRESS>has
export { Headers, Request, Response, FetchError };export default fetch;

so import fetch from 'node-fetch' would definitely work with Rollup and rollup-plugin-node-resolve with module option turned on.
lib/index.js has
module.exports = exports = fetch;
exports.Headers = Headers;
exports.Request = Request;
exports.Response = Response;
exports.FetchError = FetchError;

so Babel would work as well.

@bitinn @TimothyGu
I'm using Typescript to compile my code.
import fetch from 'node-fetch';

will compile to
var fetch = require('node-fetch').default;

but in lib/index.js does not export default

Argh, another module system. Reopening...

For now, you should be able to use
import fetch = require('node-fetch');

as documented at https://www.typescriptlang.org/docs/handbook/modules.html#export--and-import--require

Does Typescript definition file handle this type of things? If so might need to contact its author to support node-fetch 2.0
(From my phone)

在 2017年7月10日，11:06，Timothy Gu<EMAIL_ADDRESS>写道：
Argh, another module system. Reopening...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Does Typescript definition file handle this type of things?

I don't think so. Just specifying fetch.default = fetch should be enough to fix this issue, though I'd prefer handling it in the compiler plugins (Babel, Rollup).


comment visibility for applicant and partner user groups

Description
When staff writes a comment to someone with both 'applicant' and 'partner' user roles, this person cannot view communication/comments when these messages are only directed to 'applicant'. Does the staff need to select 'applicant' or 'partner'? Or could the individual with both applicant and partner roles receive comments to ONLY applicants?

Solving this in https://github.com/HyphaApp/hypha/issues/3486


PortList only accepts type INode

Hi again,
I have been using this graph a lot over the last few weeks, as it is amazing! Very easy to use, and extend upon.
However, I am finding an issue with the use of PortList, in that it only renders in the UI if the type of the list is List
As mentioned in my other ticket (https://github.com/Gentlymad-Studios/NewGraph/issues/34) I am a base implementation of INode named CoreNode that all my other nodes derive from.
I am implementing resource/value nodes, so that I can have nodes that target / retrieve values when queried by a connected node.
After abandoning my attempt at input nodes (see other issue), I have been using output ports to connect to my value nodes. This is working well for value nodes with a single return / reference. However, I am now trying to implement value nodes that take a collection. For example, I have VNode_Vector3 that returns a single Vector3 value. However, I also want to have VNode_Vector3Collection. This would have a list of ports that would go out to a number of VNode_Vector3 ports.
However, if I implement it like the following, it does not render:
[PortList, SerializeReference]
public List<VNode_Vector3> valueNodes;
I have tried with a number of different classes, all deriving from INode either directly or via parents, and the only way I can get the port list to render is if I do the following:
[PortList, SerializeReference]
public List valueNodes;
This puts the burden of casting to the appropriate type onto the node when it is fetching values, and does not allow me to block connections from incompatible nodes.
Is there a method of implementation that I am not aware of, and if not could this please be considered for a future fix?
Thanks!

I found that if I made a new interface that derives from INode and use that in the list that works too :) Testing now to see if I can create nodes with that interface that work how I want my end product to look like!

It works :) Closing


Clean up base ElementRestrictionOperator interface

EDIT:
Following @v-dobrev's comment below, I have adjusted the idea of this PR to provide a minor cleanup in a different way.
This PR now renames the abstract base class ElementRestrictionOperator to ElementRestriction to be consistent with FaceRestriction (likewise for the derived ConformingElementRestriction class to be similar to ConformingFaceRestriction). It makes more use of this abstract base class in order to make the interface cleaner and removes the need for a lot of dynamic_casts in usage of ElementRestriction objects.
Previous heading:
This is a minor change from the discussion here, which recognizes that there is no need for the intermediate ElementRestrictionOperator abstract base class after #3075.
In the future we may want a common base class for all element restriction classes which have specific functionality, for example for mixed meshes or variable orders. However adding these features will require substantial other code additions and changes and so I propose removing this for now in an effort to simplify and reduce unnecessary abstraction layers until such a larger project is undertaken in the future.
@v-dobrev @pazner

I'll copy my take on this from https://github.com/mfem/mfem/pull/3526#discussion_r1163493425:
Logically, it is good to have a common base class for all element-restriction classes, even if that does not do anything specific at the moment (in the future we may want to add methods, e.g. to query the E-vector layout when using mixed meshes or variable orders). Also, removing the base class changes the API in a way that is not backward compatible -- this needs to be documented in the CHANGELOG if it is decided to make this change.

I'll copy my take on this from #3526 (comment):
Logically, it is good to have a common base class for all element-restriction classes, even if that does not do anything specific at the moment (in the future we may want to add methods, e.g. to query the E-vector layout when using mixed meshes or variable orders). Also, removing the base class changes the API in a way that is not backward compatible -- this needs to be documented in the CHANGELOG if it is decided to make this change.

Thanks @v-dobrev, I agree and have updated this small PR to be more in line with this vision in 2ad5152. I think this small cleanup is still valuable at this point in order to simplify the interface a bit for users and developers.

The renaming ElementRestriction -> ConformingElementRestriction and ElementRestrictionOperator -> ElementRestriction breaks backward compatibility, so I'm not sure it's a good idea. Let's see what others think.

Fair enough, this does indeed break backward compatibility so I will close this for now until there is an opportunity/appetite for code cleanup with larger breaking changes.


[Chore] Tab bar controller should fill screen, prevent hitches & jumps when navigating

Right now, the VC hierarchy is like this:

MainViewController with top bar

Nav Controller

Tab Bar Controller

Home View Controller
etc.

The problem with this setup is that when you push or pop that navigation controller, the top bar doesn't go away because the top bar is outside of the nav controller, so it jerks around and we have to manually play with it.
Also, because the tab bar controller is inside of the nav controller, you lose your tab bar whenever you push into a screen. We want to keep that tab bar there.
A better setup would be:

Tab Bar Controller

Nav controller 1

Home view controller

Nav controller 2

Following view controller

Whenever the user switches tabs, we move the top bar to the root view controller of tab they're on.
This will make everything easier and smoother going forward, and it'll open the door for a "slide-away" top bar implementation.

How would we handle cases for screens that do not have corresponding tabs?

If you push a view controller that wants to hide the tab bar, set hidesBottomBarWhenPushed on that view controller.
Here's a sample app that shows what I mean: TabDemo.zip
The difference is here:

As a user, I think this is high priority. I would say that the jankiness of the tab bar animations on pushes and pops is very broken, and it honestly takes the "quality feeling" of an otherwise great app way way down and makes it look pretty amateur.
Hopefully it's a relatively straightforward fix. Nice suggestions @Adlai-Holler


chore: small updates after clang-tidy

Purpose
after recent clang tidy clean-up I have and issue to build latest develop
/home/matus/dev/taraxa-node/libraries/core_libs/network/rpc/eth/Eth.h:21:8: error: defaulted move assignment for ‘taraxa::net::rpc::eth::Eth’ calls a non-trivial move assignment operator for virtual base ‘taraxa::net::EthFace’ [-Werror=virtual-move-assign]
   21 | struct Eth : virtual ::taraxa::net::EthFace {

second change should improve test
How does the solution address the problem

Changes made

prnet cleaned-up successfully


a question about data preparation

great implementation~however, may i ask about how do you preprocess the dataset? Thx

Thank you for your question. Our data processing approach begins by segmenting the entire dataset of human PET scans into 128x128x128 3D slices, focusing on the central head region. These 3D slices are then normalized and further divided into 128 2D slices along the z-axis (transverse plane). We will soon provide our processed data and checkpoints.

Thanks for your reply! I appreciate it if you guys could provide processed data, checkpoints and latest code :)👍

We have released the data and checkpoints.

May i ask what software you use to segment the dataset

May i ask what software you use to segment the dataset
We use the Python code library SimpleITK to process PET images. The original processing code is missing, so I rewrote a manual processing code and uploaded it to the directory ’./data/dataprocess.py‘

May i ask what software you use to segment the dataset

We use the Python code library SimpleITK to segment PET images. The original processing code is missing, so I rewrote a manual processing code and uploaded it to the directory ’./data/dataprocess.py‘.