RDK-36060: Add logging for telemetry support

https://jenkins.cmf.code.rdkcentral.com/job/github-triggered/13176/ started

https://jenkins.code.rdkcentral.com/job/build-component/54832/ started.

https://jenkins.cmf.code.rdkcentral.com/job/build-component-platform/24739/ started.

build-rpi-hybrid-refapp2 Console Log uploaded to Gist URL: https://gist.github.com/9e9197e2ebd2120df7ae32dcab9167d6

build-rpi-hybrid-wpe-dunfell Console Log uploaded to Gist URL: https://gist.github.com/7096393a38fa8d27f82ab8a75d571ba6

build-brcm-refboard Console Log uploaded to Gist URL: https://gist.github.com/028359c3724c725c559aa50735da63c9

https://jenkins.cmf.code.rdkcentral.com/job/github-triggered/13517/ started

https://jenkins.cmf.code.rdkcentral.com/job/build-component-platform/25009/ started.

https://jenkins.code.rdkcentral.com/job/github-triggered/19979/ started


MorphPivot Model deleting events are not fired

Laravel Version: 5.8.32
PHP Version: 7.3.1
Database Driver & Version: PostgreSQL 10.6

Description:
Laravel 5.8 supports events firing on pivot models. Unfortunately I face the problem, that Pivot with Morph-relation don't fire deleting and deleted events.
Steps To Reproduce:
Create Intermediate Table / Pivot Model and define events on boot, e.g.
namespace App;
use Illuminate\Database\Eloquent\Relations\MorphPivot;

class BranchConsultant extends MorphPivot
{
    public static function boot()
    {
        parent::boot();
        $events = [
            'retrieved', 'creating', 'created', 'updating', 'updated',
            'saving', 'saved',
            'deleting', 'deleted',
        ];
        foreach($events as $event) {
            static::$event(function ($item) use ($event) {
                \Log::info("**** {$event} has been fired!");
            });
        }
    }
}

Try to attach, detach or sync your objects - deleting or deleted events are never fired.
Why is it happening?
Illuminate\Database\Eloquent\Relations\MorphPivot extend Illuminate\Database\Eloquent\Relations\Pivot, as it has to implement nature of morph relations. To be able to delete correct pivot row properly, delete query has to be updated like this: $query->where($this->morphType, $this->morphClass); With it delete method overrides delete method from Pivot class (from AsPivot-trait better said).
In January this year delete method on regular Pivot model got updated - amongst other things events were implemented, but MorphPivot has still old codebase.
Solution discussion
I don't really know what is 'laravels'-way to implement things, but I have two suggestions to solve this problem.

Update Illuminate\Database\Eloquent\Relations\MorphPivot::delete() method to something like this:

/**
 * Delete the pivot model record from the database.
 *
 * @return int
 */
public function delete()
{
    if (isset($this->attributes[$this->getKeyName()])) {
        return (int) parent::delete();
    }

    if ($this->fireModelEvent('deleting') === false) {
        return 0;
    }

    $this->touchOwners();

    return tap($this->getDeleteQuery()->where($this->morphType, $this->morphClass)->delete(), function () {
        $this->fireModelEvent('deleted', false);
    });
}

This is actually currently implementation of Illuminate\Database\Eloquent\Relations\Concerns\AsPivot::delete() with only one extra code: ->where($this->morphType, $this->morphClass)
But I am not sure, if first 3 lines of method are also relevant for morph pivots. Tbh I don't really understand the situation, where this if-statement gets executed.
Other stuff seems to be right for me - call deleting event with evtl. breaking, touchOwners and then delete pivot row with firing deleted event afterwards.

On the other side it is kinda duplicated code, and we are here now because of it. Isn't it better to call parent::delete() with some argument? E.g. give a closure as argument, that hangs this additional where to SQL statement before it gets sent to DB.

// MorphPivot.php
public function delete()
{
    return parent::delete(function($query) {
        return $query->where($this->morphType, $this->morphClass);
    });
}

// AsPivot.php
public function delete($modifyQueryClosure)
{
    if (isset($this->attributes[ $this->getKeyName() ])) {
        return (int) parent::delete();
    }

    if ($this->fireModelEvent('deleting') === false) {
        return 0;
    }

    $this->touchOwners();

    $query = $this->getDeleteQuery();
    if (isset($modifyQueryClosure) && $modifyQueryClosure instanceof \Closure) {
        $query = $modifyQueryClosure($query);
    }

    return tap($query->delete(), function () {
        $this->fireModelEvent('deleted', false);
    });
}

In my opinion the second solution is better. Let me know what do you think, and I will create a PR with right solution
UPDATE: Just tried second solution locally - it is probably not that good solution, as it violates Model::delete() compatibility. Well, then first one? Or is there a better solution?

/cc @ralphschindler

This was fixed on 6.x forward. Laravel 5.8 is no longer maintained.


first draft IN mapping

This is a first pass at the Indiana mapping.

@moltude I've addressed your comments here: https://github.com/dpla/ingestion3/pull/290/commits/f3dd5d98507f63da6ff5ccc8e3e88a236466ab3b Could you review them and make sure it all looks good?

@mdellabitta strip trailing semicolons from edmRights is implemented here: https://github.com/dpla/ingestion3/pull/290/commits/febb65dbac3aee7acb46e2ecfb0b652e17c6476c


Docs typo fix in 4-registering-components-multiple-times.md

Fixed some typos in the routing docs.

@all-contributors add @Aidan-Simard docs


net/http: TestServerKeepAlivesEnabled_h2 test flake

A recent trybot run showed this failure (CL is https://go-review.googlesource.com/c/35352/2):
https://storage.googleapis.com/go-build-log/ad057e0a/windows-386-gce_7ecf210b.log
--- FAIL: TestServerKeepAlivesEnabled_h2 (0.08s)
	clientserver_test.go:50: Get https://<IP_ADDRESS>:50159: read tcp <IP_ADDRESS>:50161-><IP_ADDRESS>:50159: wsarecv: An established connection was aborted by the software in your host machine.
FAIL
FAIL	net/http	6.180s

/cc @bradfitz

I see nothing suspicious or racy in the test.
I'm afraid I won't be able to help on this one, just like I was unable to help last time in #14061.
/cc @alexbrainman

I run
go test -v -short -run=TestServerKeepAlivesEnabled_h2 net/http

in a loop against https://go-review.googlesource.com/#/c/35352/2 on my both windows xp and windows 7. It didn't fail even once.
Alex

Another failure from dashboard https://build.golang.org/log/cf6c2853214fb8d7a7667e0872d3bc3b8520b56d
Alex

Another from trybot: https://storage.googleapis.com/go-build-log/bebb0f25/windows-amd64-gce_fd553238.log

Another: https://storage.googleapis.com/go-build-log/f5e15285/windows-amd64-gce_a7914729.log

Another: https://storage.googleapis.com/go-build-log/20d6577d/windows-386-gce_75489d06.log

Yet another: https://storage.googleapis.com/go-build-log/55ca0192/linux-amd64_45ee111b.log

Err, I just noticed this was supposed to be a windows issue, and that the error is not exactly the same. Should I open a separate issue?

@mvdan yep, that looks like a separate issue

One more: windows, but the error message is closer to this one that #21724.
https://storage.googleapis.com/go-build-log/622d6748/windows-386-2008_eeda70f1.log

I applied this diff:
diff --git a/src/net/fd_windows.go b/src/net/fd_windows.go
index c2156b2..96f68b0 100644
--- a/src/net/fd_windows.go
+++ b/src/net/fd_windows.go
@@ -125,12 +125,20 @@ func (fd *netFD) connect(ctx context.Context, la, ra syscall.Sockaddr) (syscall.
 		}
 	}
 	// Refresh socket properties.
+	fd.debug("connect", "")
 	return nil, os.NewSyscallError("setsockopt", syscall.Setsockopt(fd.pfd.Sysfd, syscall.SOL_SOCKET, syscall.SO_UPDATE_CONNECT_CONTEXT, (*byte)(unsafe.Pointer(&fd.pfd.Sysfd)), int32(unsafe.Sizeof(fd.pfd.Sysfd))))
 }

+func (fd *netFD) debug(cmd, msg string) {
+	println(&fd.pfd, ":", cmd, ":", fd.pfd.Sysfd, ":", msg)
+}
+
 func (fd *netFD) Close() error {
+	fd.debug("close", "about to close")
 	runtime.SetFinalizer(fd, nil)
-	return fd.pfd.Close()
+	err := fd.pfd.Close()
+	fd.debug("close", "closed")
+	return err
 }

 func (fd *netFD) shutdown(how int) error {
@@ -148,7 +156,13 @@ func (fd *netFD) closeWrite() error {
 }

 func (fd *netFD) Read(buf []byte) (int, error) {
+	fd.debug("read", "about to read")
 	n, err := fd.pfd.Read(buf)
+	if err != nil {
+		fd.debug("read", "err="+err.Error())
+	} else {
+		fd.debug("read", "read "+itoa(n))
+	}
 	runtime.KeepAlive(fd)
 	return n, wrapSyscallError("wsarecv", err)
 }
@@ -220,6 +234,7 @@ func (fd *netFD) accept() (*netFD, error) {
 	rsa, _ := rrsa.Sockaddr()

 	netfd.setAddr(netfd.addrFunc()(lsa), netfd.addrFunc()(rsa))
+	fd.debug("accept", "")
 	return netfd, nil
 }

to 538b4bab3dd9e34b3d30b6aeaef8db1d34275274 and I can see this:
C:\Users\Alex>u:\test -test.v -test.run=TestServerKeepAlivesEnabled_h2
=== RUN   TestServerKeepAlivesEnabled_h2
0xc042094b40 : connect : 256 :
0xc042094900 : accept : 244 :
0xc042144000 : read : 312 : about to read
0xc042094b40 : read : 256 : about to read
0xc042144000 : read : 312 : read 160
0xc042144000 : read : 312 : about to read
0xc042094b40 : read : 256 : read 799
0xc042094b40 : read : 256 : about to read
0xc042144000 : read : 312 : read 93
0xc042094b40 : read : 256 : read 51
0xc042144000 : read : 312 : about to read
0xc042094b40 : read : 256 : about to read
0xc042144000 : read : 312 : read 167
0xc042094b40 : read : 256 : read 62
0xc042144000 : read : 312 : about to read
0xc042144000 : close : 312 : about to close
0xc042144000 : close : -1 : closed
0xc042144000 : read : 312 : read 38
0xc042094b40 : read : 256 : about to read
0xc042094b40 : read : 256 : read 239
0xc042094b40 : close : 256 : about to close
0xc0421fe000 : connect : 384 :
0xc042094b40 : close : -1 : closed
0xc0421fe000 : read : 384 : about to read
0xc042094900 : accept : 244 :
0xc042200000 : read : 344 : about to read
0xc042200000 : read : 344 : read 160
0xc042200000 : read : 344 : about to read
0xc0421fe000 : read : 384 : read 799
0xc0421fe000 : read : 384 : about to read
0xc042200000 : read : 344 : read 93
0xc0421fe000 : read : 384 : read 51
0xc042200000 : read : 344 : about to read
0xc0421fe000 : read : 384 : about to read
0xc042200000 : read : 344 : read 167
0xc0421fe000 : read : 384 : read 62
0xc042200000 : close : 344 : about to close
0xc0421fe000 : read : 384 : about to read
0xc042200000 : close : -1 : closed
0xc042200000 : read : 344 : about to read
0xc042200000 : read : -1 : err=use of closed network connection
0xc0421fe000 : read : 384 : err=An existing connection was forcibly closed by the remote host.
0xc0421fe000 : close : 384 : about to close
0xc042094900 : close : 244 : about to close
0xc0421fe000 : close : -1 : closed
0xc042094900 : close : -1 : about to close
0xc042094900 : close : -1 : closed
0xc042094900 : close : 244 : closed
--- FAIL: TestServerKeepAlivesEnabled_h2 (0.34s)
        clientserver_test.go:50: Get https://<IP_ADDRESS>:53283: read tcp <IP_ADDRESS>:53285-><IP_ADDRESS>:53283: wsarecv: An existing connection was forcibly closed by the remote host.
FAIL

Note how there are two similar connections here. And during first connection client receives 799, 51, 62 and 239 bytes. While during second connection it fails to receive last 239 bytes.
I suspect what is happening here, the server sends these 239 bytes and closes connection immediately. That forces connection closed before client can read the data. If server wants to make sure that client gets the data, it must use CloseWrite followed by multiple Read until connection is closed.
Alex

I suspect what is happening here, the server sends these 239 bytes and closes connection immediately.

You are right. I ran the test on a Windows box with GODEBUG=http2debug=2. After receiving a request, the server replies with a HEADERS, DATA, and GOAWAY, then closes the connection. The client's ReadFrame fails immediately, before receive any of those frames.
I understand why this flakes on Windows: The flake depends on whether or not the server reads the client's WINDOW_UPDATE frame before or after the server sends GOAWAY. If the WINDOW_UPDATE is not read when the connection is closed, then the kernel closes the connection with RST (instead of FIN) due to the non-empty receive buffer. I reduced this to the following repro:
https://play.golang.org/p/IEGfOLUQyP
I don't understand why TestServerKeepAlivesEnabled_h2 flakes on Windows but not Linux. Given that I have not seen a Linux flake, I expected the above program to fail on Windows but not Linux, but it fails deterministically on both Windows and Linux. Interestingly, the above program does not fail on play.golang.org. Perhaps docker is doing something weird.
In any case, the fix is simple. Currently, we close the connection immediately if we've responded to all streams that were open before we sent GOAWAY. Instead, we should keep the connection open for a short period of time so we can drain any packets from the kernel receive buffer. Ideally we'd delay about 1 RTT, under the assumption that the client won't send more frames after seeing GOAWAY, but getting a precise RTT measurement is annoying. I think it's sufficient to wait about 1 second (which we are already doing in a similar case).

I don't understand why TestServerKeepAlivesEnabled_h2 flakes on Windows but not Linux

I really wouldn't know. But you said "If the WINDOW_UPDATE is not read when the connection is closed, then the kernel closes the connection with RST", maybe WINDOW_UPDATE is always read before connection is closed on Linux (for one reason or another). Is it easy enough to make server close connection before reading WINDOW_UPDATE on Linux (just to see what happens)?

Interestingly, the above program does not fail on play.golang.org. Perhaps docker is doing something weird.

I don't think play.golang.org is running docker. Is it?

In any case, the fix is simple.

If you say so. Happy to leave it for you.
Alex


Unify dataset?

Would you mind if I unify the individual country datasets into one? I know google said they aren't exactly comparable, but still... perhaps the shapes are? I'd like to take a look.
If I do, do you want me to push it to this repo?

Is there a particular reason why you'd want to combine these data sets? There are country and some state-level data for ~130 countries now. The combined data-set isn't likely to be very meaningful or easy to use.

I'm looking to compare the "change in state" observed from google data and compare it to the stringency index in each country to see if the stringency is a good proxy for people staying home. Or perhaps there's a lag? Anyway, that's what I wanna do.

I needed the same thing, so I unified the data in https://gist.github.com/vitorbaptista/064ca62e37137743cad431ac93f6dedb.


Print event at the end of invocation

What
Add a print statement at the end to print out the events from host.  cc @sisuresh
Why
To make the contract event example more meaningful. It's much better to show the event being printed than describing it as part of the host that can be retrieved.
Known limitations
The print relies on the Debug trait of xdr::ContractEvent, which isn't pretty. We might want to add the proper Display impl of it at the xdrgen later.

Here is what is looks like:

Could the output be JSON? The XDR should serializable to JSON pretty printed.

Updated to using Json pretty printing.

What does the output look like with pretty printing? The last time I used serde's pretty printing, each byte of an array was on a new line, which made it hard to read.

@sisuresh Yeah you are right, it does span many lines. I'm neutral on print vs pretty print. I can change it to print if you prefer.

Switched json pretty string to regular string as it fits the screen better:

Yeah I think the regular string is better.

Not something we have to do right now, but probably will need to as part of the RPC work.

@leighmcculloch Would this change be part of the env or the cli. If it's in the env I can create an issue for it.

This would be in the CLI / RPC, and independent of the host/env.


update network adopt payload

add mode: wifi or mode: ethernet to network api/adopt payload

added in commit 98ee419


[Event Change Request] Codeunit 99000815 - OnUpdateDateFilterReservEntryLoop

This change request is related to #1532
In codeunit 99000815 Reservation-Check Date Confl., function UpdateDate, please update OnUpdateDateFilterReservEntryLoop as follows:
FilterReservEntry.SETRANGE("Reservation Status");
IF NOT FilterReservEntry.FIND('-') THEN
  EXIT;

REPEAT
  // >> MODIFY ------
  // OnUpdateDateFilterReservEntryLoop(FilterReservEntry,ForceModifyShipmentDate);
  OnUpdateDateFilterReservEntryLoop(FilterReservEntry,Date,ForceModifyShipmentDate);
  // << MODIFY ------
  IF FilterReservEntry."Quantity (Base)" < 0 THEN
[…]

@JesperSchulz Could you please give me a status update on this issue?

Note: implemented as
LOCAL [IntegrationEvent] OnUpdateDateFilterReservEntryLoop(VAR ReservationEntry : Record "Reservation Entry";VAR ForceModifyShipmentDate : Boolean;Date : Date)


Not returning tools from autocrafting

Issue description: Items not returned
What happens: Autocrafting Fruit Salad
What you expected to happen: Returning the Cutting Board (no durability) and Fruit Salad
Steps to reproduce:

Make pattern
added to crafter
requested fruit salad
...

Version (Make sure you are on the latest version before reporting):

Minecraft: 1.10.2
Forge: <IP_ADDRESS>8
Refined Storage: 1.0.5

Does this issue occur on a server? [yes/no]
unknown
If a (crash)log is relevant for this issue, link it here:
no crash log
[pastebin/gist/etc link here]

Upgrade to 1.1.x


Rename packit-service-worker to packit-worker

The CI failure seems to be pretty relevant:
/home/zuul-worker/src/github.com/packit/deployment/playbooks/../openshift/packit-worker.yml.j2 could not be found

The CI failure seems to be pretty relevant:
/home/zuul-worker/src/github.com/packit/deployment/playbooks/../openshift/packit-worker.yml.j2 could not be found

The CI failure seems to be pretty relevant:
/home/zuul-worker/src/github.com/packit/deployment/playbooks/../openshift/packit-worker.yml.j2 could not be found

Hi,
the problem with ^^ was fixed by a2fd9f4.
However there seems to be another problem:
 "message": "OCI runtime create failed: container_linux.go:349: starting container process caused \"exec: \\\"/usr/bin/run_worker.sh\\\": stat /usr/bin/run_worker.sh: no such file or directory\": unknown",

I haven't found its cause yet.

The CI failure seems to be pretty relevant:
/home/zuul-worker/src/github.com/packit/deployment/playbooks/../openshift/packit-worker.yml.j2 could not be found

Hi,
the problem with ^^ was fixed by a2fd9f4.
However there seems to be another problem:
 "message": "OCI runtime create failed: container_linux.go:349: starting container process caused \"exec: \\\"/usr/bin/run_worker.sh\\\": stat /usr/bin/run_worker.sh: no such file or directory\": unknown",

I haven't found its cause yet.

Build rules on Docker Hub were set to build from Dockerfile instead of Dockerfile.worker.
I fixed it and it's currently building new images.
I'll retrigger the tests once they're done.

Build rules on Docker Hub were set to build from Dockerfile instead of Dockerfile.worker.
I fixed it and it's currently building new images.
I'll retrigger the tests once they're done.

recheck

recheck

wow, awesome, green!!

wow, awesome, green!!

@lachmanfrantisek  you're doing the next prod deployment, FYI this PR will require running make deploy

@lachmanfrantisek  you're doing the next prod deployment, FYI this PR will require running make deploy

I'm going to try this locally and then (if it's ok) on stage so I think I'd just go and do prod (if stg is ok) as well.

I'm going to try this locally and then (if it's ok) on stage so I think I'd just go and do prod (if stg is ok) as well.

Both, stg and prod have been redeployed with the content of this PR.

Both, stg and prod have been redeployed with the content of this PR.

Kudos!

Kudos!


imwrite error

After a recent Pkg.update(), I'm now having trouble writing images:
julia> img = testimage("mandrill")
julia> imwrite(img, "mandrill.jpg")
ERROR: image coder signature mismatch `MIFF':    68910 !=      210 @ error/module.c/OpenModule/1324
 in error at error.jl:19
 in error at /Users/adare/.julia/v0.4/Images/src/ioformats/libmagickwand.jl:149
 in writeimage at /Users/adare/.julia/v0.4/Images/src/ioformats/libmagickwand.jl:239
 in imwrite at /Users/adare/.julia/v0.4/Images/src/io.jl:189

Here's my setup:
julia> versioninfo()
Julia Version 0.4.0-dev+4553
Commit af7a8c2 (2015-04-28 14:27 UTC)
Platform Info:
  System: Darwin (x86_64-apple-darwin13.4.0)
  CPU: Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3
julia>

Thanks.

I suspect you have a broken ImageMagick. My first step is to see if you're on OSX: check. My second step is to refer you to documentation. #294 has links. Let me know if that works.

I tried the suggestions linked from #294 without any luck. Then I took aim at my system homebrew. I did brew rm imagemagick, then Pkg.build(), and that worked. I'm not sure why doing Pkg.update() earlier today broke the previously peaceful coexistence between my system's homebrew packages and Julia's. Thanks for the quick reply to point me in the right direction.

This looks like an issue that's solved on master of bindeps.jl, but a new version hasn't been tagged yet.
If you're willing to check this all out, you should be able to Pkg.checkout("BinDeps").  Then, if you have a system homebrewed imagemagick, Pkg.build("Images") will point its Images/deps/build.jl to that.
If you then brew unlink imagemagick, and Pkg.build("Images") again, then Images/deps/build.jl should point to the Julia homebrewed imagemagick.
Related issues:
staticfloat/homebrew-juliadeps#38 (discusses what Images/deps/build.jl should look like)
JuliaLang/BinDeps.jl#299

Sorry for the slow reply here...just confirming that this is now fixed for me. Thanks!

Great, thanks for letting us know.


DotNetCoreCLI - 'pack' does not allow arguments to be passed

Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Feature
Enter Task Name: DotNetCoreCLI - pack command should allow arguments to passed like the other commands do.
Environment
Azure Pipelines - Hosted Agent - windows-latest
Issue Description
Currently there is no way to addition arguments to the pack command e.g --no-build --no-restore
This is further limiting as one cannot pass MSBuild properties e.g /p:Property
Attempting the following:
- task: DotNetCoreCLI@2
      inputs:
        command: 'pack'
        packagesToPack: 'src/My.Sample.Api/*.csproj'
        packDirectory: '$(Build.ArtifactStagingDirectory)/application'
        versioningScheme: 'off'
        arguments: '/p:NuspecFile=My.Sample.Api.nuspec /p:IsPackable=true --no-build --no-restore'

Does not yield the expected results. The following command is run:
"C:\Program Files\dotnet\dotnet.exe" pack d:\a\1\s\src\My.Sample.Api\My.Sample.Api.csproj --output d:\a\1\a\application /p:Configuration=Release --verbosity Detailed
The arguments are ignored. This is inconsistent with the other commands in the DotNetCoreCLI task like build/restore/etc as mentioned in #9789
The expected result would be
"C:\Program Files\dotnet\dotnet.exe" pack d:\a\1\s\src\My.Sample.Api\My.Sample.Api.csproj --output d:\a\1\a\application /p:Configuration=Release /p:NuspecFile=My.Sample.Api.nuspec /p:IsPackable=true --no-build --no-restore --verbosity Detailed

Agreed. Is there no way to add the arguments? @bishal-pdMSFT

@bjorn-ali-goransson You can use the custom command. This will allow you to specify arguments.
- task: DotNetCoreCLI@2
  displayName: dotnet pack
  inputs:
    command: custom
    custom: pack
    packagesToPack: "SampleProject.csproj"
    arguments: -c Release --verbosity normal

Agree with @mustafaoral 's suggestion. Although not consistent, it is reasonable workaround. I would love to hear feedbacks though.

@bishal-pdMSFT  It is a workaround in the sense that you can run the original, find the command line generated and then use custom - but it's not a very nice workaround.  It's also very confusing when it happens (or at least confused me just now!)

@mustafaoral Your workaround does not seem to work. It will simply call dotnet.exe pack -c Release --verbosity normal and not pass anything like the packagesToPack parameter

@scp-mb I think while the words I chose weren't incorrect, the example I gave was, slighly. It was a bit misleading due to the inclusion of the packagesToPack parameter, which is ignored when using the custom command.
In my case, I was only interested in being able to provide verbosity level, and the inclusion of the parameter didn't cause any issues; dotnet pack still produced the expected artefact without specifying project or solution file, so I myself was a bit misled as to how the task should be constructed. I've edited my original answer to remove the parameter from the example.

@scp-mb  You have to do all the arguments for it to work
e.g. what I use:
- task: DotNetCoreCLI@2
  displayName: Pack
  inputs:
    command: custom
    custom: pack
    arguments: >
      path/to/project.csproj
      --no-build
      -p:PackageId=$(thisPackageId)
      --output $(Build.ArtifactStagingDirectory)
      -p:PackageVersion=$(buildVersion)
      -p:Configuration=$(buildConfiguration)

Thanks for the example @musmuris. Tweaked it to our requirements and that does work fine, which is as expected.

This is definitely annoying for us also, would like to keep using the glob pattern support for finding the projects, but going custom means there is no advantage whatsoever in using the Task anymore.

For those who should stumble on this one, like I did, and spend significant amount of time on getting this to work. dotnet pack task for DotNetCoreCLI@2 does not support the arguments parameter in the azure-pipelines.yaml.
BUT for some reason it supports the configuration: 'Release', while neither build nor push do support that (at least I was unable to get it working). So there is lack of consistency, but you can at least get a work around and not use the custom tasks.

I find it really annoying that this is, after two years, not fixed? It's an obvious inconsistency in the usage pattern and we just figured out that we are deploying debug builds to our production environment.

Any update on this would be appreciated.

This issue also extends to the 'push' command too.
It is documented that it is not supported but as @leomoty said two years ago, when using the command input set to 'custom' we're unable to pack multiple packages by specifying a glob pattern which reduces how useful this task is.
In my own case, I wanted to set the --skip-duplicate argument on a custom command to push packages as this AzureDevops task does not support arguments when using the 'push' command.
However this means that the packagesToPush input cannot be used when the command input is set to 'custom'. The tradeoff is that multi package upload is not available as there's no way to specify a glob pattern in a custom command.
My workaround now is instead set the task to continueOnError: true to not throw an error on package push conflicts which is not ideal as it prevents meaningful errors from this task from gating pipelines.

By locking at the source code here, some of the arguments can be handled directly by standard inputs, this includes

searchPatternPack
configurationToPack
versioningScheme
versionEnvVar
requestedMajorVersion
requestedMinorVersion
requestedPatchVersion
buildProperties
verbosityPack
nobuild
includesymbols
includesource

My task is now
- task: DotNetCoreCLI@2
  displayName: Pack Projects
  inputs:
    command: pack
    packagesToPack: '**/*.csproj;'
    packDestination: '$(Build.ArtifactStagingDirectory)'
    nobuild: true
    includesymbols: true
    configurationToPack: Debug
    verbosityPack: Detailed
    versioningScheme: byEnvVar
    versionEnvVar: 'GitVersion.AssemblySemVer'

Now that I need to add custom arguments, I had to fall back to a custom command since the pack command dont' handle them. Theses DotNetCoreCLI Tasks are not complete.
                  command: custom
                  custom: pack
                  projects: '**/*.csproj;'
                  arguments: >
                    --no-restore
                    --no-build
                    -c Debug
                    --verbosity detailed
                    --include-symbols
                    --configuration $(buildConfiguration)
                    --property:PackageOutputPath='$(Build.ArtifactStagingDirectory)'
                    /p:Version=$(GitVersion.FullSemVer)

HI , I try to use script to push  nuget,but i get 401 error!!
- script:  dotnet nuget push --source "GWorkOrgPackages" --skip-duplicate  --api-key VSTS --skip-duplicate  '$(Build.ArtifactStagingDirectory)/*.nupkg'
   displayName: 'update nuget pacakge'

Well, yeah, the amount of time it takes to fix such a small thing is obnoxious, but apparently they are appending buildProperties to list that is being passed through /p, so we can leverage that to set MSBuild properties, at least. 🤷


Don't read data from html file

sequences.js currently reads the spreadsheet which is copy and pasted in a  in index.html. That was done quick and dirty and needs to be cleaned up. One way is to read the data from the csv file properly, or to use the API. Can get API info on request.

Reading directly from csv file now.


Use the version 6.1 with WIN7

Overview
HI!
I need use the version 6.1 in win 7, but my protocols does't analyzes. I'm thing which this occur because the Python installed together opentrons software not is compatible with a WIN 7, can you help me to use this version in this version of windows?
Steps to reproduce
No response
Current behavior
No response
Expected behavior
No response
Operating system
Windows
System and robot setup or anything else?
No response

Hello @prscustodio - to ensure you get a quick response in the future you can always contact our support team at<EMAIL_ADDRESS>Our app does not support Windows 7 and we cannot guarantee that our app will function properly on that OS. We have actually seen that Opentrons App version 6+ cannot properly analyze protocols. The workaround would be to downgrade to an app version that has worked for you in the past or upgrade your operating system to one that our app supports.

As Ethan said, since Microsoft no longer supports Windows 7, we cannot guarantee that the app will work either.

If you are able to set up a working Python environment on your computer with the opentrons package installed, you can use the app's advanced settings to configure the app to use your own Python environment instead of its built in one
Even if the app is unable to analyze the protocol, assuming the app is working at all, you should be able to send and run your protocol to your OT-2 regardless

The support team may be able to provide further guidance on one or both of these suggestions, but again, we do not support Windows 7, so suggestions are the best we'll be able to do here.


AI fixes and additional functionality

I tried to merge it, but after the update to 3.9 it seems parts of the content of the pull request has already been added in the meantime, so I did not really know how to merge it.
So is it possible that you merge it and make a new PR?

It shows as merged, but it is not, a big part of the PR was already added in 3.9,  but there is still some changes not used from aiPlayer.cpp and aiPlayer.h


Increase cancel buffer to two messages as heartbeat and signal could …

…both error
Potentially a race condition could occur where both heartbeat and signal error and try to send a message on the same cancel channel.  So I think the buffer needs to be 2.

thanks!


Pseudocolor mixed cells test failure on Windows

In the pseudocolor mixed cells test, there is a green bar that is yellow on Windows.
I've verified that the scalar values are all being passed correctly to the renderer, but haven't investigated VTK internals yet.
I've attached pictures of the baseline and the Windows results for pseudcolor_mixed_cells_01, but _02 also has the same problem.
baseline
windows results
Desktop

OS and version: Windows 7 (current testing platform for Windows)
VisIt Version: 3.0

Windows testing moved to windows 10, does not happen with this OS, so closing.


Feature/56

TODO after review, before merge:

use latest version of ocm-e2e-framework

Waiting for approval to merge


Assignment 1.4 - tried various things

Tried a few other things including deleting a branch etc, hence it is different


Create CODE_OF_CONDUCT.md

Hello i propose to create a code of conduct :)

This is just an un-modified copy/paste, the email address<EMAIL_ADDRESS>has no relation to this project, nor is it recognized.


error calling "int": cannot convert bool to integer

Hi,
I have been playing a bit with kapacitor but now I have some trouble converting true/false condition into integers through eval(lambda: int())  function. Currently I have latest version available on influxdb site kapacitor-0.13.1.x86_64 for centOS .
here my example tick script:
 stream
    |from()
        .measurement('source')
    |eval(lambda: int("value" > 0))
        .as('test')
    |influxDBOut()
        .database('dest')
        .measurement('destination')

and here the log error output:

[httpd] 2016/07/12 18:26:28 I! ::1 - - [12/Jul/2016:18:26:28 +0000] PATCH /kapacitor/v1/tasks/test HTTP/1.1 204 0 - KapacitorClient 25efa7d0-485e-11e6-8033-000000000000 9.419409ms
[httpd] 2016/07/12 18:26:30 I! ::1 - - [12/Jul/2016:18:26:30 +0000] GET /kapacitor/v1/tasks?dot-view=attributes&fields=type&fields=status&fields=executing&fields=dbrps&limit=100&offset=0&pattern=&script-format=formatted HTTP/1.1 200 224 - KapacitorClient 276ba665-485e-11e6-8034-000000000000 4.411627ms
[test:eval2] 2016/07/12 18:27:27 E! error calling "int": cannot convert bool to integer
[test:eval2] 2016/07/12 18:27:27 E! name "test" is undefined. Names in scope: value
[edge:test|eval2->influxdb_out3] 2016/07/12 18:27:27 I! aborting c: 1 e: 1
[test:influxdb_out3] 2016/07/12 18:27:27 E! point without fields is unsupported
[edge:test|stream->stream0] 2016/07/12 18:27:27 D! closing c: 1 e: 1
[edge:test|stream0->from1] 2016/07/12 18:27:27 D! closing c: 1 e: 1
[edge:test|from1->eval2] 2016/07/12 18:27:27 D! closing c: 1 e: 1
[edge:test|eval2->influxdb_out3] 2016/07/12 18:27:27 D! closing c: 1 e: 1
[task_master] 2016/07/12 18:27:27 E! Stopped task: test point without fields is unsupported
[task_store] 2016/07/12 18:27:27 E! task test finished with error: point without fields is unsupported

Any help with this ?
Best regards,
Alessandro

@alexbarta Converting from bool to int was added in the version 1.0.0-beta1. Try upgrading and it should work.

Thanks @nathanielc , I'll check it out .


Scope discovery needs for maintenance phase tasks

User story
As a user, I need to know the status of my data so that I can do my job.
Background & context
The audit identified that a large way we meet users' needs after they onboard is through tables and dashboards. It also IDed that an area of opportunity to meet user needs quickly through dynamic and customizable content.
The goal of digging into maintenance phase needs and dashboard is to meet their needs more efficiently and to prepare for an increase in types of information and data that our users may need to find.
Open questions

What specific research activities will help us learn what we need

Working links
Acceptance criteria

[ ] Specific qualitative and quantitative research needs IDed
[ ] Create follow up ticket to develop plans for that research

Working research plan

Waiting for some feedback and to be closed EoD 5/9


⚠ Bofrost.at has degraded performance

In b0c28e0, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1307 ms

Resolved: Bofrost.at performance has improved in 048c8fa after 9 minutes.


Set and override theme core colors

The Material Theme Builder allows you to customize.
We currently only support creation by specifying a source colour.
When I first discovered the library, I tried to add a secondary colour incorrectly via custom_colors, which is like the Extended colors section in the Theme Builder.
It would be nice if we could input a secondary input and have that update the theme. We should at least support the core color overrides in the theme builder, i.e., primary, secondary, tertiary, error, neutral, neutral variant..
Ideally, there is a way to set this at creation.
This could be done after creation with set_secondary, set_tertiary, etc.

closed in bb48350


print syntax in Python 3.5.1

Hello,
When attempting to run the logo certification tool on a Windows machine, I am running into a problem where the Print statement requires parentheses. After doing some research, it appears this is a change from Python 2 to Python 3, though when exactly the change took place is unclear to me. I have attached a screen shot of an example where I am running the Python shell and attempt to use the print statement with and without ().

In this case, replace the interpreter to Python 2.x, and then it should work fine. We don't yet have support for Python 3.x. If you'd like to see Python 3.x, then file a feature request.
Also, we're looking for more contributors in case anyone once to do the porting to 3.x.

I would be willing to help with that once I am more familiar with the tool.


Crop images with circle shape UI

can you add support circle shape frame UI on crop image  ?
i need just circular UI but  export square image 1:1 size

in fact， image is always  a rect, you can show it with circular

here are the demo. https://github.com/fluttercandies/extended_image/blob/978092941fbe5e241221ba885f88263d3344c51b/example/lib/pages/complex/image_editor_demo.dart#L495


[FGP, FACE] Feature needs to be implemented in Doorlock

Feature description
...
The following feature has to be implemented in the Door lock
1. FGP	- Finger Credentials (Lock supports finger-related credentials (fingerprint, finger vein))
2. FACE	- Face Credentials (Lock supports face-related credentials (face, iris, retina))

Platform
All Platform
Reference :
Spec : https://github.com/CHIP-Specifications/connectedhomeip-spec/blob/master/src/app_clusters/DoorLock.adoc

@Survensa What exact implementation are you looking for on the SDK side here?  The SDK will call into the app for these; it's up to the app to do the face/finger bits itself....


Could you tell us how to use this awesome application ?

+++1  how to use this awesome application ?

Added a usage sectiont to README.md


Add 'strict_variables' option to make Foil thrown exception when a required variable is missing

In #4 @skyosev proposed a 'strict_variables' option (similar to Twig one) that would be useful in development context.
My first thoughts is to add it and support 3 values:

true      -> thrown an Exception when a required var is not defined
false     -> resolve undefined vars as empty strings (current and default behavior)
"notice" -> thrown a notice when a required var is not defined and resolve to empty string. This way it can be ignored using proper error_reporting setting.

Feature has been implemented in version 0.3.0


adding privacy regulation FAQ

As discussed in the Identity and Privacy committee, here's a cut at a FAQ entry
It really ought to be a page of its own, but let's start with a FAQ and then figure out where to move it.

Adding 'hold' label for legal review


undefined: cdn.Cdn

After a good amount of time struggle I manage to setup all dependencies but while running server.go it's throwing an exception as:
# command-line-arguments
./server.go:41:3: undefined: cdn.Cdn
I already did
go get github.com/olebedev/cdn
&
donloaded cdn-0.4.3-64-osx
from https://github.com/olebedev/cdn/releases but I really have no clue what I've to do with this becuase, it's neither an installer nor and dependency (doesn
t have any idea what to do with it on Mac OSX)
I don't know how to setup this cdn.
Please help

same error with ./server.go:41:3: undefined: cdn.Cdn
could you solve?
I think the project is untracked !?

Yeah, it's abandoned. Sorry guys for the inconvenience.


SUGGESTION: add new ticket notification for assistant

Hello,
for us make sense to notify other users (not only admins) for new ticket creation, maybe you can add Assistant::notifyAll($newTicketNotification); to the tap helper in createAndNotify
tap(new TicketCreated($ticket), function ($newTicketNotification) use ($requester) {
Admin::notifyAll($newTicketNotification);
Assistant::notifyAll($newTicketNotification);
$requester->notify($newTicketNotification);
});
Best
MM

@insology I am preparing a new feature that will allow outbound notification via an API call. Currently, you provide a URL endpoint and token. Is this what you are looking for or notifying other handesk users?

@jdc1898 I mean a notification when e new ticket is created, for now only the admin receive the notification, should be useful that also other users leve (for example assistant or all users) can receive a notification

Sounds good to me, actually all users can toggle the notifications so it makes sense that assistants (they are meant to be like support gurus but without admin privilegies) get all tickets

@BadChoice all the users can toggle the notifications but aren't notified for new tickets, the notifications are only for their assigned tickets updates (is it correct?)

Yes, but I believe we can add the assistants notify too

@BadChoice perfect, that was my idea.


Support github action changes?

Set fetch-depth: 1 when using https://github.com/actions/checkout to checkout a branch.
It's difficult to get changes from the local Git history.
It would be helpful to have a flag --github-action to fetch changes from the remote, like in the example below:
const { data: changedFiles } = await github.rest.pulls.listFiles({
  owner: context.repo.owner,
  repo: context.repo.repo,
  pull_number: context.issue.number
});

Hey @Wei18 ,
thanks for the observation, indeed, on some CIs it's hard to calculate the changeset since the repo checkout is shallow (depth 1).
However, adding GitHub API library as a dependency has some drawbacks. Would it be satisfactory to add a feature to receive the list of changed files as as command line argument, so the workflow would look in the following way:

A script is fetching the changeset from GitHub
Output of this script is forwarded as a command line argument to XcodeSelectiveTesting

What do you think?

LGTM.

@Wei18 can you check this version, would it work for you? https://github.com/mikeger/XcodeSelectiveTesting/pull/39

I was slightly delayed. I'll let you know once I've verified #39.

I added the change to release 0.11.0

Thanks
mint run<EMAIL_ADDRESS>-c $(gh pr view 6112 --json files --jq '.files[].path' | sed 's/^/"/;s/$/"/')  --dependency-graph

Command Breakdown
mint run<EMAIL_ADDRESS>
This runs the XcodeSelectiveTesting tool using Mint, which is a package manager for Swift command-line tools.
The specific version being used is 0.11.0.
-c (or --changed-files)

Specifies the list of files that have changed. This is required by XcodeSelectiveTesting to determine which tests to run based on the changes.
$(gh pr view 6112 --json files --jq '.files[].path' | sed 's/^/"/;s/$/"/')

This dynamically retrieves the changed files from Pull Request #6112 using the GitHub CLI (gh) and formats them properly:
gh pr view 6112 --json files --jq '.files[].path':

Fetches the list of changed file paths in PR #6112 in JSON format and extracts the file paths using jq.
| sed 's/^/"/;s/$/"/':

I found an issue with the log:
-c "Favlist/Favorite Collection/FavoriteCollectionViewController.swift"

Changed file at /Users/Wei/Code/iOS/"Modules/App/App/CleanCode/Favlist/Favorite appears not to belong to any target
Changed file at /Users/Wei/Code/iOS/Tab/FavItem/FavItemListViewController.swift" appears not to belong to any target

Interesting, let me investigate. I rely on https://github.com/apple/swift-argument-parser.git, I will check if updating it would solve the issue

FYI, full log
mint run<EMAIL_ADDRESS>-c $(gh pr view 6112 --json files --jq '.files[].path' | sed 's/^/"/;s/$/"/')  --dependency-graph
swift-driver version: <IP_ADDRESS>
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/Favlist/Favorite appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/AppLifeCycle/FakeLaunchScreenViewController.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/Module/Match/ItemCollectionViewController.h" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/Module/Match/ItemCollectionViewController.m" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/AppLifeCycle/SceneDelegate/Dependencies/DefaultDependency.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/Collection/FavoriteCollectionViewController.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/SignupLogin/SignupManager.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/AppLifeCycle/SceneDelegate/Dependencies/AppDependency.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/Common/Utils/PKIAppUtils.h" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/AppLifeCycle/SceneDelegate/Dependencies/demoDependency.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/Browse/BrowseItemCollectionViewController.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/AppLifeCycle/AppDelegate.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/AppLifeCycle/FakeLaunchViewModel.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/Infrastructure/Router/RouteAction+Runnable.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/Module/Match/ItemCollectionViewController.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/AppLifeCycle/CheckoutNavigator.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/CommonComponents/View/BaseWKWebView/WebViewMessageCommand.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/Favlist/Favorites appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/ItemHistory/ItemHistoryViewController.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/Common/Utils/PKIAppUtils.m" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/Tab/FavItem/FavItemListViewController.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/Common/Utils/PKIAppUtils.swift" appears not to belong to any target
Changed file at /Users/demo/Code/iOS/"Modules/demoApp/demoApp/Module/Explore/BrowseViewController.swift" appears not to belong to any target
Reading test plan from file: Testplan+Snapshot.xctestplan
Error: The file “Testplan+Snapshot.xctestplan” couldn’t be opened because there is no such file.

echo paths
echo $(gh pr view 6112 --json files --jq '.files[].path' | sed 's/^/"/;s/$/"/')      [16:38:31]
"Modules/demoApp/demoApp/AppLifeCycle/AppDelegate.swift" "Modules/demoApp/demoApp/AppLifeCycle/CheckoutNavigator.swift" "Modules/demoApp/demoApp/AppLifeCycle/FakeLaunchScreenViewController.swift" "Modules/demoApp/demoApp/AppLifeCycle/FakeLaunchViewModel.swift" "Modules/demoApp/demoApp/AppLifeCycle/SceneDelegate/Dependencies/AppDependency.swift" "Modules/demoApp/demoApp/AppLifeCycle/SceneDelegate/Dependencies/DefaultDependency.swift" "Modules/demoApp/demoApp/AppLifeCycle/SceneDelegate/Dependencies/demoDependency.swift" "Modules/demoApp/demoApp/Browse/BrowseItemCollectionViewController.swift" "Modules/demoApp/demoApp/CommonComponents/View/BaseWKWebView/WebViewMessageCommand.swift" "Modules/demoApp/demoApp/Favlist/Favorite Collection/FavoriteCollectionViewController.swift" "Modules/demoApp/demoApp/Favlist/Favorites Tab/FavItem/FavItemListViewController.swift" "Modules/demoApp/demoApp/Infrastructure/Router/RouteAction+Runnable.swift" "Modules/demoApp/demoApp/ItemHistory/ItemHistoryViewController.swift" "Modules/demoApp/demoApp/SignupLogin/SignupManager.swift" "Modules/demoApp/demoApp/Common/Utils/PKIAppUtils.h" "Modules/demoApp/demoApp/Common/Utils/PKIAppUtils.m" "Modules/demoApp/demoApp/Common/Utils/PKIAppUtils.swift" "Modules/demoApp/demoApp/Module/Explore/BrowseViewController.swift" "Modules/demoApp/demoApp/Module/Match/ItemCollectionViewController.h" "Modules/demoApp/demoApp/Module/Match/ItemCollectionViewController.m" "Modules/demoApp/demoApp/Module/Match/ItemCollectionViewController.swift"

If I manually pass file paths directly into the -c option, it works as expected, but when I dynamically generate the file paths using a command substitution, it fails.
PASS
mint run<EMAIL_ADDRESS>--dependency-graph -c \
"A/AppDelegate.swift" \
"A/CheckoutNavigator.swift" \
"A/ScreenViewController.swift"

FAIL
test=$(gh pr view 6112 --json files --jq '.files[].path' | sed 's/^/"/;s/$/"/')
mint run<EMAIL_ADDRESS>--dependency-graph -c $(echo $test)

FAIL
mint run<EMAIL_ADDRESS>--dependency-graph -c $(gh pr view 6112 --json files --jq '.files[].path' | sed 's/^/"/;s/$/"/')

Thanks, this makes sense. Glad it worked for you


Group Movies into Collections

It would be nice if the collections from tmdb are used, so you can group trilogies etc. into one entry in the overview, which opens a series-like modal.

I agree with this ! It would correct the issue that when alphabetic order is set, the different movies from a trilogy are not grouped together and in right order (first movie first, and then in chronological order) : for now it’s also in alphabetic order, but it’s not so logical for me...


Adding new wrappers for getting presolve model

Not sure if there is okay to ask,
I am trying to utilize CPXbasicpresolve() to fetch the tighten bounds after presolve through JuMP package. Given the understanding of the CPLEX package, I implemented the following function in my local CPLEX.jl's branch. The C API documentation is here, http://www.ibm.com/support/knowledgecenter/SSSA5P_12.6.2/ilog.odms.cplex.help/refcallablelibrary/cpxapi/basicpresolve.html
function get_basic_presolve(model::Model)
	nvars = num_var(model)
	ub = Array(Cdouble, nvars)
	lb = Array(Cdouble, nvars)
	status = Array(Cint, 1)
	# Call CPX_basicpresolve to return the redmodel's bounds
	stat = @cpx_ccall(basicpresolve, Cint,(
						Ptr{Void},
	                   	Ptr{Void},
						Ptr{Cdouble},
						Ptr{Cdouble},
						Ptr{Cint}),
						model.env.ptr, model.lp, lb, ub, status)
	stat == 0 || throw(CplexError(model.env), stat)
 	return lb, ub
end

I am not sure if I am doing the right thing here but when I call
redlb, redub = CPLEX.get_basic_presolve(m.internalModel.inner)
Because, it does the work sometimes but it is not very stable. The error is long and it is an seg fault. So, I am guessing something is wrong with the memory. My model is a MILP implemented through JuMP. The model extensively used anonymous variables for the easy of variable management. The error is attached below. Should I be careful with these type of work in what aspect? Or is it because of this C API is not stable inherently? There are some nice C API in low level that could be beneficial for our/others work and this is the first hurdle we encountered. Thanks!
Below is the error. Many of it are basically duplicates.
signal (11): Segmentation fault: 11
while loading /Users/sitew/Dropbox/SourceCodes/logbin/nlp3_run.jl, in expression starting on line 52
intersect_tag at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/jltypes.c:673 [inlined]
jl_type_intersect at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/jltypes.c:1004
intersect_tuple at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/jltypes.c:633 [inlined]
jl_type_intersect at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/jltypes.c:992
jl_type_intersection_matching at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/jltypes.c:1521
jl_lookup_match at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/typemap.c:376
jl_typemap_intersection_node_visitor at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/typemap.c:503 [inlined]
jl_typemap_intersection_visitor at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/typemap.c:565
ml_matches at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:2279 [inlined]
jl_matching_methods at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:2300
_methods_by_ftype at ./reflection.jl:223
jlcall__methods_by_ftype_673 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call_gf_by_type at ./inference.jl:765
jlcall_abstract_call_gf_by_type_685 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call at ./inference.jl:1096
jlcall_abstract_call_589 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_eval_call at ./inference.jl:1126
abstract_eval at ./inference.jl:1147
jlcall_abstract_eval_536 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_interpret at ./inference.jl:1238
jlcall_abstract_interpret_531 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
typeinf_frame at ./inference.jl:1726
typeinf_loop at ./inference.jl:1655
typeinf_edge at ./inference.jl:1592
jlcall_typeinf_edge_743 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
typeinf_edge at ./inference.jl:1598
jlcall_typeinf_edge_741 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call_gf_by_type at ./inference.jl:888
jlcall_abstract_call_gf_by_type_685 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call at ./inference.jl:1096
jlcall_abstract_call_589 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_eval_call at ./inference.jl:1126
abstract_eval at ./inference.jl:1147
jlcall_abstract_eval_536 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
copy! at ./abstractarray.jl:477
abstract_eval_call at ./inference.jl:1100
abstract_eval at ./inference.jl:1147
jlcall_abstract_eval_536 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
copy! at ./abstractarray.jl:477
abstract_eval_call at ./inference.jl:1100
abstract_eval at ./inference.jl:1147
jlcall_abstract_eval_536 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_interpret at ./inference.jl:1238
jlcall_abstract_interpret_531 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
typeinf_frame at ./inference.jl:1726
typeinf_loop at ./inference.jl:1655
typeinf_edge at ./inference.jl:1592
jlcall_typeinf_edge_743 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
typeinf_edge at ./inference.jl:1598
jlcall_typeinf_edge_741 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call_gf_by_type at ./inference.jl:888
jlcall_abstract_call_gf_by_type_685 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call at ./inference.jl:1096
jlcall_abstract_call_1231 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_apply at ./inference.jl:962
jlcall_abstract_apply_1201 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call at ./inference.jl:1031
jlcall_abstract_call_589 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_eval_call at ./inference.jl:1126
abstract_eval at ./inference.jl:1147
jlcall_abstract_eval_536 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
typeinf_frame at ./inference.jl:1781
typeinf_loop at ./inference.jl:1655
typeinf_edge at ./inference.jl:1592
jlcall_typeinf_edge_743 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
typeinf_edge at ./inference.jl:1598
jlcall_typeinf_edge_741 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call_gf_by_type at ./inference.jl:888
jlcall_abstract_call_gf_by_type_685 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call at ./inference.jl:1096
jlcall_abstract_call_1231 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_apply at ./inference.jl:962
jlcall_abstract_apply_1201 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call at ./inference.jl:1031
jlcall_abstract_call_589 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_eval_call at ./inference.jl:1126
abstract_eval at ./inference.jl:1147
jlcall_abstract_eval_536 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
typeinf_frame at ./inference.jl:1781
typeinf_loop at ./inference.jl:1655
typeinf_edge at ./inference.jl:1592
jlcall_typeinf_edge_743 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
typeinf_edge at ./inference.jl:1598
jlcall_typeinf_edge_741 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call_gf_by_type at ./inference.jl:888
jlcall_abstract_call_gf_by_type_685 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call at ./inference.jl:1096
jlcall_abstract_call_1231 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_apply at ./inference.jl:962
jlcall_abstract_apply_1201 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_call at ./inference.jl:1031
jlcall_abstract_call_589 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
abstract_eval_call at ./inference.jl:1126
abstract_eval at ./inference.jl:1147
jlcall_abstract_eval_536 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
typeinf_frame at ./inference.jl:1781
typeinf_loop at ./inference.jl:1672
jlcall_typeinf_loop_235 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
typeinf_edge at ./inference.jl:1592
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
typeinf_ext at ./inference.jl:1616
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
jl_apply at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia.h:1392 [inlined]
jl_type_infer at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:210
jl_compile_for_dispatch at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1295
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:184 [inlined]
jl_invoke at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:29
nlp3 at /Users/sitew/Dropbox/SourceCodes/logbin/prob.jl:261
unknown function (ip: 0x310d160dd)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
macro expansion; at /Users/sitew/Dropbox/SourceCodes/logbin/nlp3_run.jl:66 [inlined]
anonymous at ./<missing> (unknown line)
unknown function (ip: 0x310d0e12f)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_toplevel_eval_flex at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/toplevel.c:569
jl_parse_eval_all at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/ast.c:717
jl_load at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/toplevel.c:596 [inlined]
jl_load_ at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/toplevel.c:605
include_from_node1 at ./loading.jl:488
jlcall_include_from_node1_20125 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
process_options at ./client.jl:262
_start at ./client.jl:318
jlcall__start_21452 at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib (unknown line)
jl_call_method_internal at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/./julia_internal.h:189 [inlined]
jl_apply_generic at /Users/osx/buildbot/slave/package_osx10_9-x64/build/src/gf.c:1942
true_main at /Applications/Julia-0.5.app/Contents/Resources/julia/bin/julia (unknown line)
main at /Applications/Julia-0.5.app/Contents/Resources/julia/bin/julia (unknown line)
Allocations: 11676207 (Pool: 11673276; Big: 2931); GC: 22
Segmentation fault: 11

Here is another test, I used CPXgetprestat in C API (https://www.ibm.com/support/knowledgecenter/SSSA5P_12.6.0/ilog.odms.cplex.help/refcallablelibrary/cpxapi/getprestat.html)
The implementation is very easy. However, unlike CPXbasicpresolve, this function is very stable.
function get_red_status(model::Model)
nvars = num_var(model)
ncons = num_constr(model)

prestat_p = Array(Cint, 1)
pcstat = Array(Cint, nvars)
prstat = Array(Cint, ncons)
ocstat = Array(Cint, nvars)
orstat = Array(Cint, ncons)

#Call CPXgetprestat to return information about presolved model
stat = @cpx_ccall(getprestat, Cint,(
					Ptr{Void},
					Ptr{Void},
					Ptr{Cint},
					Ptr{Cint},
					Ptr{Cint},
					Ptr{Cint},
					Ptr{Cint}),
				 model.env.ptr, model.lp, prestat_p, pcstat, prstat, ocstat, orstat)
stat == 0 || throw(CplexError(model.env), stat)

output = Dict()
output["nvars"] = nvars
output["ncons"] = ncons
output["prestat_p"] = prestat_p
output["pcstat"] = pcstat
output["prstat"] = prstat
output["ocstat"] = ocstat
output["orstat"] = orstat

return output

end

The problem is the length of the status array, From the docs you linked to:

rstat | An array to receive the status of the row. The array must be  of length at least the number of rows in the LP problem object. May be  NULL.

You might need something like
status = Vector{Cint}(num_constr(model))

instead of
status = Array(Cint, 1)


Question for texture ktx compressed so many has artifacts

Hi,
This is the screen seen in the model-viewer after ktx compression and the screen opened in unity using ktxUnity.
In Unity, there are artifacts like spots.
Why would there be such a difference?
I used toktx for compressing, the command are same as below.
toktx --genmipmap --uastc 3 --uastc_rdo_l 0.5 --uastc_rdo_b 100 --zcmp 20 --assign_oetf linear --assign_primaries none --resize 2048x2048 --threads 10

Thanks.

I'd also like an answer to this, been struggling to get high quality compression.  Is there any recommended settings e.g. high,medium, low?

Hi,
I haven't played a lot with the settings, but the defaults (UASTC) usually gives me good results.
Just to clarify, does the result look similar in other viewers/engines? I want to rule out that this is a bug of KTX for Unity.
thanks

So probably not a unity bug yes

Can you provide a sample texture? Ideally the original plus your ktx/toktx settings.
If yes, please re-open so we can keep track and I'll look into it.


Building WebGL libraries that work with each other in the same webgl context.

Description of the problem
It's difficult and complex these days to mix WebGL libraries together, to draw things using different libraries in the same webgl context. (examples of difficulties: https://github.com/mrdoob/three.js/issues/8147, https://github.com/pixijs/pixi.js/issues/3230, https://github.com/pixijs/pixi.js/issues/3345, https://github.com/pixijs/pixi.js/issues/1366, https://github.com/pixijs/pixi.js/issues/298, https://github.com/jonobr1/two.js/issues/233)
For example, suppose we would like to render Three, Babylon, and Pixi objects into the same WebGL context, in the same 3D space.
It is currently very difficult to do this because each WebGL library manages state of the context in their own ways, and these private internals often change and break solutions that people come up with because there's no standard way to do it.
Pixi.js v4 goes through efforts to make Pixi compatible with Three.js, so that it can render in a Three scene, but this is obviously fragile.
Solution
Enter Regl to the party.
Maybe if the foundations for each library (Three, Babylon, Pixi, Two, etc) were built on Regl, we'd have a common way of rendering to a single context.
Regl makes an abstraction just on top of raw WebGL for managing WebGL state. It doesn't render for you all the things that Three.js can, it only provides the minimal foundation for working with raw WebGL in a stateful way that is easy to manage.
It seems that libraries like Three, Babylon, PlayCanvas, Pixi, Two, etc, could benefit from using a standardized way for managing WebGL state, which would make it easy to combine renderings from any of these libraries into the same WebGL context.

What are your thoughts on refactoring the foundation of OSG.js to use Regl for managing WebGL state? Does Regl offer enough flexibility for OSG.js to do what it needs to do on top of Regl?

I did not have time to dig / evaluate regl but we clearly dont have time to refactor osgjs with this system. Probably it will make sense for the next iteration of 3D api in the web (WebGPU).
But still I would be interested about the performance improvement if someone try to do it.


[stable/mariadb] inject mariadb-replication-password from secret on…

mariadb-replication-password in master-Statefulset should only be used if replication is enabled

/assign @sameersbn

Hi, @bitfisher. Thanks for the PR!. Could you please increase the chart version?

Thanks! Remember to sign the DCO so all checks are successful.

Thanks! This is ready to be merged, @carrodher.

As #19548 was merged, this needs another bump to the chart version, @bitfisher. Thanks!

@bitfisher don't forget to sign the DCO!

/ok-to-test
/lgtm

According to the failing CI test the chart version not ok, can you bump it?

/retest

@carrodher Bumped version and CI test is now ok!

/lgtm


Don't invoke adb with no runnable Android preset

Android export plugin will periodically call adb.exe to check for available devices. It does this constantly while the editor is running, regardless if the project is targeted for Android or not. Performance implications aside, this check will sometimes fail and spit an error that reminds you that it runs in the background.
This PR tweaks this behavior. The adb will be called only if the project has an export preset for Android and it's marked runnable (AFAIK it's a requirement to run something on a device). I added a new signal that gets emitted when adding/removing preset and toggling Runnable.

The same is true for iOS, so it should have the same change as well.

Did similar change to iOS, but I didn't test it.

Renamed the signal to export_presets_runnable_updated.

Thanks!


Refactor kraken in réponse to the removal of ContainerCreateResponse from Docker API

ContainerCreateResponse removed from moby/moby/api/types

Introduced 2/24/15: https://github.com/moby/moby/commit/f57c26553b91e16fa3ee6a815943eaf8f29af82b
Removed 9/22/15: https://github.com/moby/moby/pull/16508

We use this API in these places:
cmd/container_helper.go
57:func streamLogs(ctx context.Context, cli *client.Client, resp types.ContainerCreateResponse) {
74:func printContainerLogs(ctx context.Context, cli *client.Client, resp types.ContainerCreateResponse) ([]byte, error) {
286:func containerAction(ctx context.Context, cli *client.Client, command []string, krakenlibconfig string) (types.ContainerCreateResponse, int, func(), error) {
287:	var containerResponse types.ContainerCreateResponse
329:func containerRenameOrRemove(cli *client.Client, resp types.ContainerCreateResponse, clusterName string, doKill bool, forceRemove bool) func() {

vendor/github.com/docker/docker/client/container_create.go
22:func (cli *Client) ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, containerName string) (types.ContainerCreateResponse, error) {
23:	var response types.ContainerCreateResponse

vendor/github.com/docker/docker/client/interface.go
36:	ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, containerName string) (types.ContainerCreateResponse, error)

vendor/github.com/docker/docker/api/types/types.go
16:// ContainerCreateResponse contains the information returned to a client on the
18:type ContainerCreateResponse struct {

Additionally, github.com/docker/docker has moved to moby/moby. This should be considered while refactoring.

Here is a picture of the codebase with containerAction in the middle. It was generated with go-callvis like this go-callvis --nostd --focus cmd  --ignore github.com/samsung-cnct/kraken/vendor . | dot -Tpng -o output.png && open output.png
placeholder until I get the file hosted

Additionally pkg/tlsconfig was moved into the client package in this commit: https://github.com/moby/moby/commit/6916c215b00ab4d7edf4be14848ab2e695697381


Demag GUI automatically setting data model number

Currently, Demag GUI sets the data model number based on whether there is a magic_measurements.txt file or a measurements.txt file in the WD.  I'd like to change the logic so that it  can be overridden at the command line level by the -DM switch.  Sometimes it is reasonable for there to be a measurements.txt and a magic_measurements.txt file in the same directory -- for example, that is what will happen if you use Pmag GUI to import measurement files using the 2.5 import scripts and then convert them to 3.
Basically, I propose:
if -DM in sys.argv:
    user specifies data_model
elif 'measurements.txt' is a file:
     data_model == 3
else:
     data_model == 2

I don't like to go poking in Demag GUI without checking in, does this work for you @Swanson-Hysell & @Caoimhinmg ?

Logic looked good so I just went ahead and did it just put demag_gui.py -DM 3 or demag_gui.py -DM 2 or 2.5 or whatever it doesn't care if you pass floats. Let me know if you've any problems with my implementation.


fix 0.57.3 use button is error!

this issues is
java.lang.String cannot be cast to com.facebook.react.uimanager.AccessibilityDelegateUtil$AccessibilityRole - on 0.57.3 #21754)
Thank you for sending the PR! We appreciate you spending the time to work on these changes.
Help us understand your motivation by explaining why you decided to make this change.
If this PR fixes an issue, type "Fixes #issueNumber" to automatically close the issue when the PR is merged.
Pull requests that expand test coverage are more likely to get reviewed. Add a test case whenever possible!
Test Plan:
Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos!
Release Notes:
Help reviewers and the release process by writing your own release notes. See below for an example.
[CATEGORY] [TYPE] [LOCATION] - Message

Can someone at Facebook, please merge this if possible.
It's necessary for me to continue my work, as the current  element is completely broken.

this fix is no need
the master branch is ok
https://github.com/facebook/react-native/issues/21754#issuecomment-429577266


Gpio API progress

Hello,
This is the first of many PRs with the progress I made so far regarding Gpio API design. It is still work in progress but I just want to share it so you can have the opportunity to take a look and start making comments and suggestions.
@wfurt, @pjanotti, @stephentoub, @tommcdon, @dotnet/corefxlab-contrib
Thanks!

A general thing that would make easier reading the code is to add more comments.


Add features to matchups; Fix a bug in player parsing

Matchups tell you the winner of each week
Matchups tell you if the game is a playoff game (winner's bracket)
Null check the player position dictionary before using it

I just checked upstream -- looks like you fixed some stuff.  Will rebase mine and push again


Implement UI testing framework

Closes #31. Previously attempted in #32. Rebased off of #124, so blocked until that is merged.
This PR implements UI tests: special programs that check lint diagnostics. UI tests can be used to ensure that a lint functions correctly, and handles all edge cases.
This has been a long time in the making, but I'm so happy that it finally works! :D

CI is failing due to multiple .rlib / .rmeta files being found for bevy. This is due to caching bringing in old compilations of Bevy, and rustc being unsure which to choose. Cargo usually figures this out for us, but the UI tests use rustc directly, which cannot guess.
In the past I fixed this by calling cargo clean and rebuilding everything from scratch, but tests already take long enough, so I'm going to see if I can somehow specify the exact .rmeta file that tests should link to.
Looks like rustc_metadata::locator is promising. I'll try reading that!

I opened a thread in the Rust Zulip, so hopefully someone gets back to me on how to solve this issue. I fear I may have to either add cargo as a dependency or remove caching completely for tests, so I'm hoping there's a better solution that I didn't think of.

I'm going to split off the actual UI tests into a separate PR, to make review of this one a bit more digestible. The one UI test that I did add is a proof of concept, and will probably be modified when the rest of the tests are created.

One unfortunate part of UI tests is that they aren't automatically formatted by cargo fmt. I may be able to add something to CI to check for that, but that will probably be in a follow-up.

Thanks for the review! :)


gcsfs 0.5.2 breaks on permission issue

After updating from 0.5.1 to 0.5.2 we get the following error:
<<Project<EMAIL_ADDRESS>does not have serviceusage.services.use access to project <<Project Number>>.

This does not happen for GCFS 0.5.1.

Sorry about that, will get a fixed release out soon.
I noticed the same error yesterday when my default Google project didn't match the project I was passing to GCSFileSystem.
Can you confirm that yours match? It's gcloud config get-value project

I should mention, this happened when using google_default to connect (the default token, if successful, or explicitly with token="google_default".

@DPGrev can you check with master? If it's the same issue, the call create the GCSFileSystem will now raise when the projects don't match up.
If it's a different issue, it'd be good to diagnose that before I do a release later today.

FWIW, I get the same does not have serviceusage.services.use access error in 0.5.3, in particular when I try pd.read_csv(). Also, pandas_df.to_csv() just fails silently. Rolling gcsfs back to 0.5.1 resolves these issues.

@sukhinin541 can you share more information? In particular,

What auth mechanism are you using?
Does your gcloud config get-value project match the project you're using with gcsfs?

@DPGrev could you do the same?

@TomAugspurger, here are my answers:

When I use gcsfs directly, I'm letting it determine my credentials, i.e. fs = gcsfs.GCSFileSystem()
gcloud config get-value project matches what fs.project returns

Also, when I call read_csv()/to_csv() Pandas methods, I'm only indirectly using gcsfs, so I'm not sure which auth mechanism is utilized in that scenario.
Let me know if you need more info.

I am having the same error, also with gcsfs-0.5.3. I similarly have authenticated a service account in my linux environment, and have gcsfs auto-detect the environment's config. I have confirmed I don't this issue with an early version of gcsfs.

OK. I may have to make some changes to the requester-pays API then. I Most likely we'll need an explicit requester_pays=False / True flag in GCSFileSystem.__init__, rather than always including the project in the requests made to GCS.
I wish I understood a bit more about why we're getting the errors though. In my case, the project I passed to GCSFileSystem didn't match the project of the account I authenticated with.
@sukhinin541

When I use gcsfs directly, I'm letting it determine my credentials, i.e. fs = gcsfs.GCSFileSystem()

Can you explicitly use token="google_default"? That's the first thing gcsfs tries, but it falls back to other auth methods.

@TomAugspurger, when I provide token='google_default', I still have the following situation:

gcloud config get-value project matches what fs.project returns
I get does not have serviceusage.services.use access error when I try to use fs.open()

Also, the project number mentioned in the does-not-have-access error message is the correct number for the project ID that's returned by fs.project

Actually, I was able to reproduce this using GCSFileSystem.get on an object in a bucket I own. Debugging a bit more.

Ah, nevermind, my user account didn't have permissions for that bucket. So it failed for GCSFS 0.4.x and master.

#224 was just merged, which should fix things for you all. If you could try installing from master I'd appreciate it.
I'll do a release tomorrow.

I can confirm that the issue goes away after installing from the master.

Thanks for confirming. I just released gcsfs 0.6.0 with those changes. For everyone not using requester-pays, the behavior should be identical to 0.4.x

I suddenly seem to have the same issue with any version of gcsfs including 0.7.1.
import gcsfs
fs = gcsfs.GCSFileSystem()
fs.ls("")

OSError: Forbidden: https://www.googleapis.com/storage/v1/b/
XXX@XXX does not have serviceusage.services.use access to the Google Cloud project.

I have confirmed that I'm on the same project, and the weird thing is that gsutil ls works just fine - which afaik shares the credentials as gcsfs ?


docs(chips): add label with outline appearance to input example

Fixes #16292

Thanks for the contribution but closing since the example above it uses a mat-label


[proposal] Extend sails command, to allow custom commands

Hi,
this is a proposal to allow custom commands to sails.
So with this change we can do following within our sails app
. approot
+ ...
+ console
   + --- sails.js
+ ...

Sails.js
var program = require('sails').SailsCommands();

cmd = program.command('custom');
cmd.description('A custom command');
cmd.action(function(){
    console.log('custom programm')
});

if (program.args.length === 0) {
  if(require.main === module) {
    program.usageMinusWildcard();
  }
}

This would allow to add some custom logic and group it to the sails commands
$ node console/sails.js

  Usage: sails [command]
  Commands:

    version
    lift|l [options]
    new [options] [path_to_new_app]
    generate
    deploy
    console|c
    www
    debug
    help
    ***custom                           A custom command***

  Options:

    -h, --help     output usage information
    -v, --version  output the version number
    --silent
    --verbose
    --silly

what do you guys think?

@xhallix Great start!  I'm wondering about a couple of additional things:

namespacing (i.e. what about sails run foo?)
distribution  (how do I share this with my homies?)

@mikermcneil

So you they a custom cmd should have its own namespace?
What is the benefit here when using sails run foo instead of sails foo?
I did not plan to make it shareable, because it will only run in the context of your very own sails app.
I thought about using this as a helper, when you want to start a cron Job, db operations or several custom things in your app which should be done within sails context. Also it help to have comprehensive list of your command available in your Apps.
Php symfonie's command Line approach is doing a great Job and this was inspired by this.
I would not make this to complicate and share it, because most time the cmd operations are related to your pp.

What do you think?

So you say a custom cmd should have its own namespace?

Not necessarily, just wanting to bring it up.  I don't think it would be a good idea to allow core commands to be overridden, because it could get confusing -- but I realize you're not suggesting that here.

What is the benefit here when using sails run foo instead of sails foo?

I think the reason it might matter is that it can make it harder to distinguish what commands are part of Sails core and what commands are being introduced by a plugin.  But if custom commands wouldn't be introduced by plugins, then I'm not sure this would matter as much.
That said, there is precedent for the * run * usage because of the way NPM scripts work (e.g. npm run foo).

I did not plan to make it shareable, because it will only run in the context of your very own sails app.

Gotcha.  Yeah, I mean I could make something up, but I think it'd be important to see a compelling external use case from for making them shareable -- I'm just bringing it up to talk through it (because these things almost always come up).

Here's an example of a scripts/ folder from a Sails app I've worked on:

^ it might be nice to do sails run compile-terms-of-service or sails compile-terms-of-service -- but I could just as easily run node scripts/compile-terms-of-service to achieve the same effect, right?

@xhallix It sounds like the pain points that custom scripts solve are (1) providing a conventional place to put scripts, and (2) providing a baseline that can be improved over time as far as standardizing how CLI opts are declared, etc.  Is that right?  If so, I think we might be able to do this in a formal way that can also optionally take care of loading/lifting sails for you.
I think I'd prefer to see a solution that can still be kicked off by just running node scripts/path-to-the-thing.js, because that makes it easier when using cron etc (i.e. you don't have to learn how to get access to the sails cli in ./node_modules/sails/bin/sails for production environments where you don't have access to the sails global).   Whether or not you can also kick these scripts off using a top-level custom cmd on the sails CLI vs. sails run name-of-script is a separate question, I think.

@mikermcneil
Namespaces: I see your point here and you are right. Someone could overwrite a sails command with his own custom command. But since it refers only to a given app, it shouldn't matter much, like you said 👍
Yes, I'm trying to provide a possibility to have a baseline for all console commands.
Image when the app grows, there might be a bunch of console commands. So doing node console/sails in your app, will give you a comprehensive list about all possible commands within your app. That's the main focus of the proposal.
The benefit is also, that you have access to the sails object on CLI-tasks, which is nice :)
Maybe sails new myapp  could create this logic (console/sails.js as posted above) to provide an easy entry point for developers, which would like to add CLI functionality.

I think I'd prefer to see a solution that can still be kicked off by just running node scripts/path-to-the-thing.js, because that makes it easier when using cron etc (i.e. you don't have to learn how to get access to the sails cli in ./node_modules/sails/bin/sails for production environments where you don't have access to the sails global).

You don't need sails cli in ./node_modules/sails/bin/sails at any time since console/sails.js will represent the same cli tasks and everything can run through this on a server
I think it is up to userland to make a script executable via console/sails or directly from node console/antotherCLIScript. They can always choose how to call it, but I guess most will use sails newStuff.
To make things more user friendly I would offer, to provide a new global command, something sails add newscript which will automatically adds a cmd to console/sails and creates a new script file in console/newscript.js one can work on.
If you don't like to see something like that, feel free to close this PR, it's totally fine for me.
Best

I like the idea of having sails commands. But having said that, they need to actually have the whole sails app environment available. For example, in other frameworks, I used to have several batch jobs that were just run using a cron job. All of them used at least the models defined in our app, I can see it useful to have not only models, but also services.
I even would like to be able to "render" views, for example, to send emails using templates, by just rendering it in a view (some ideas).
I guess it could be done in a way where you can actually do a programatically sails.lift...

I like the idea of having sails commands. But having said that, they need to actually have the whole sails app environment available. For example, in other frameworks, I used to have several batch jobs that were just run using a cron job. All of them used at least the models defined in our app, I can see it useful to have not only models, but also services.
I even would like to be able to "render" views, for example, to send emails using templates, by just rendering it in a view (some ideas).
I guess it could be done in a way where you can actually do a programatically sails.lift...

Sorry for always bringing Yii here, but: http://www.yiiframework.com/doc-2.0/guide-tutorial-console.html

Sorry for always bringing Yii here, but: http://www.yiiframework.com/doc-2.0/guide-tutorial-console.html


assert is missing in test_extension.py

An assert is missing in this test https://github.com/tfeldmann/organize/blob/eeb68c5288d5c3a6b3b5891c9c2389588f2cb503/tests/filters/test_extension.py#L53

Thanks for reporting!


New package: Geocoder v0.1.0

Registering package: Geocoder
Repository: https://github.com/arubhardwaj/Geocoder.jl
Created by: @arubhardwaj
Version: v0.1.0
Commit: 2eefa9fc3416b78ba54d85c1e84373756a787b89
Git reference: HEAD
Release notes:

Julia package for geocoding using API from GoogleMaps and Open Street Maps. It uses API from MapQuest for open street maps data.

@arubhardwaj please see the message above.  Once you fix the automerge issues you can register again the new revision without changing the version number and this pull request will be automatically updated.
[noblock]

Thanks @giordano I was confused and was looking for someone to say that only. Thanks a lot! I updated that already, I will register it now.


Create thumbnails

See ImageMagik script used in Hurricane Irma - https://github.com/USGS-VIZLAB/hurricane-irma/issues/110#issuecomment-329227314

We need a first thumbnail or GIF in time for the vizzy submission (~April 13)

Starter code for an R-based GIF is at https://github.com/USGS-VIZLAB/viz-scratch/tree/master/water_use_gifs, looks something like this:

@ldecicco-USGS you are assigned this, but that was a month ago. Still interested or should we reassign to someone else? Also, the code to generate a static national pie map now lives in this repo (see https://github.com/USGS-VIZLAB/water-use-15/blob/master/piemap.yaml), and I think we can reuse it to make various thumbnail sizes.

How about we open up the issue to someone for now. I'm going to spend the morning to see if I can get the original vizzy up-to-date.

Tool to check if they are working properly: https://help.medium.com/hc/en-us/articles/215769058-Update-Facebook-Twitter-cards

Facebook looks good, but has two warnings:

Invalid OG URL: The given value '' for property 'og:url' was not a valid absolute URL.

Twitter is being cut off slightly at the bottom, so I need to adjust the size:

Twitter actually needs a 2:1 image (see https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/summary-card-with-large-image).

Ugh, following the directions for image size, but still cutting if off..... 👊

^ I can't figure out why that would be getting cutoff. Everything I read says to use a 2:1 aspect ratio which that is...


Add more tests for pandas and rollback to 1.4.3

I think we should merge this even though the CI is not running. We don't want to compile pandas anyway, we just want to rollback pandas and add more robust testing


"Options passed to vue-multiselect do not contain groups, despite the config"

Hello,
I want to use vue-multiselect to allow a user to choose a Fontawesome 5 icon.
To do so, I'm importing a kinda huge JSON file, that I pass as an option to Vue-MultiSelect.
Since there are categories, I found out how to set this up in my JSON file and made it look like follows:
[
  {
    "category": "Accessibility",
    "icons": [
      {
        "name": "fab fa-accessible-icon"
      },
      {
        "name": "fas fa-american-sign-language-interpreting"
      },
      {
        "name": "fas fa-assistive-listening-systems"
      }
    ]
  }
]

Then I set up the Vue Multiselect as follows:

  <vue-multiselect
    :options="icons"
    :close-on-select="true"
    v-model="sm.icon"
    :group-select="true"
    group-label="category"
    group-values="icons"
    rack-by="name"
    label="name"
  >
      <template
        slot="singleLabel"
        slot-scope="props"
      >

          {{ cleaned(props.option.name) }} // Allows me to make the classes readable

      </template>
      <template
        slot="option"
        slot-scope="props"
      >

          {{ props.option.$groupLabel }}

          {{ list(props.option.name) }} // Allows me to make the classes readable

      </template>
    </vue-multiselect>

Everything works, but I keep having the following warning in my console:

Options passed to vue-multiselect do not contain groups, despite the config.

What didn't I do? The group name is showing up nicely and seems to behave as expected
Thank you in advance

That is weird. Would you be able to create JSFiddle with that?

Hello, I apologize for the time it took, I had struggles to set everything up inside a JS Fiddle, so I switched to a Code SandBox, on which I can reproduce this anomaly (check the "console' at the bottom of your screen).
Here is the link: https://codesandbox.io/s/14pw28xjpl
Thank you in advance

Seems the warning is thrown despite the fact that it shouldn’t. Will need some time to investigate the issue. Please ignore the warning for the time being :(

No problem, thank you :relaxed:

Even i face the same issue ... is any update on it

Hi is this issue have been solved? coz I face the same too. Please update.... Thanks in advance

Same problem here. It seems to be problem if you use templates for singleLabel and option.
Did anyone found a solution?

Yes, if using standard html (not pug) notation then getting rid of commas worked for me: https://jsfiddle.net/kehmjnxu/1/

Why was this closed? The provided "workaround" by @janswist clearly doesn't use slot templates at all, so it's obviously not going to trigger the bug.