Testutils unit tests hang occassionally.

This hang occurred on a go tip build.
testutil           TestTenantAdded                          0.00s      PASS

testutil           TestReconnects                           N/A        NOT RUN

testutil           TestTenantRemoved                        N/A        NOT RUN

testutil           TestPublicIPAssigned                     N/A        NOT RUN

testutil           TestNewSsntpTestControllerConnectionArgs N/A        NOT RUN

testutil           TestControllerErrorChan                  N/A        NOT RUN

testutil           TestControllerErrorChanTimeout           N/A        NOT RUN

testutil           TestControllerEventChan                  N/A        NOT RUN

testutil           TestControllerEventChanTimeout           N/A        NOT RUN

testutil           TestControllerCmdChan                    N/A        NOT RUN

testutil           TestControllerCmdChanTimeout             N/A        NOT RUN

testutil           TestControllerCloseChans                 N/A        NOT RUN

testutil           TestStartIdentityServer                  N/A        NOT RUN

testutil           TestServerStatusChan                     N/A        NOT RUN

testutil           TestServerStatusChanTimeout              N/A        NOT RUN

testutil           TestServerErrorChan                      N/A        NOT RUN

testutil           TestServerErrorChanTimeout               N/A        NOT RUN

testutil           TestServerEventChan                      N/A        NOT RUN

testutil           TestServerEventChanTimeout               N/A        NOT RUN

testutil           TestServerCmdChan                        N/A        NOT RUN

testutil           TestServerCmdChanTimeout                 N/A        NOT RUN

testutil           TestServerCloseChans                     N/A        NOT RUN

testutil           TestRoleToTestCert                       N/A        NOT RUN

And here are the stack traces
SIGABRT: abort

PC=0x45d151 m=0

goroutine 0 [idle]:

runtime.futex(0x8b65d0, 0x0, 0x0, 0x0, 0x0, 0x7f2a00000000, 0x0, 0x0, 0x7ffda061a168, 0x40eeab, ...)

	/home/travis/.gimme/versions/go/src/runtime/sys_linux_amd64.s:387 +0x21

runtime.futexsleep(0x8b65d0, 0x0, 0xffffffffffffffff)

	/home/travis/.gimme/versions/go/src/runtime/os_linux.go:45 +0x62

runtime.notesleep(0x8b65d0)

	/home/travis/.gimme/versions/go/src/runtime/lock_futex.go:145 +0x6b

runtime.stopm()

	/home/travis/.gimme/versions/go/src/runtime/proc.go:1594 +0xad

runtime.findrunnable(0xc420027300, 0x0)

	/home/travis/.gimme/versions/go/src/runtime/proc.go:2021 +0x248

runtime.schedule()

	/home/travis/.gimme/versions/go/src/runtime/proc.go:2120SIGABRT: abort +0x151

PC=runtime.park_m(0x4cd9530xc42009a680 m=)

2

/home/travis/.gimme/versions/go/src/runtime/proc.go:

2183 +0xa0

goroutine runtime.mcall(00x7ffda061a300 [)

idle	]:

/home/travis/.gimme/versions/go/src/runtime/asm_amd64.s:240 +0x5b

goroutine 1 [semacquire, 8 minutes]:

runtime.futex(0xa1d778, 0x0, 0x7f26108d5d88, 0x0sync.runtime_Semacquire, (0x7f26000000000xc420329744, )

0x4cd676	, /home/travis/.gimme/versions/go/src/runtime/sema.go0x3c:, 470x0 +, 0x300x7f26108d5dd0

, 0x4836a0, ...sync.(*WaitGroup).Wait)

(0xc420329738)

	/home/travis/.gimme/versions/go/src/sync/waitgroup.go:131 +0x73

github.com/01org/ciao/ssntp.(*Server).Stop(0xc4203296a0)

		/home/travis/.gimme/versions/go/src/runtime/sys_linux_amd64.s/home/travis/gopath/src/github.com/01org/ciao/ssntp/server.go::348388 + +0x23c0x23

github.com/01org/ciao/ciao-scheduler.ssntpTestsTeardown()

runtime.futexsleep(0xa1d778	, /home/travis/gopath/src/github.com/01org/ciao/ciao-scheduler/scheduler_ssntp_test.go:0x7f2600000000611,  +0xdf84758000x26e)

	github.com/01org/ciao/ciao-scheduler.TestMain/home/travis/.gimme/versions/go/src/runtime/os_linux.go(:0xc42046dee862)

 +0xd7

/home/travis/gopath/src/github.com/01org/ciao/ciao-scheduler/scheduler_internal_test.go:170runtime.notetsleep_internal +(0x4d0xa1d778

, 0xdf8475800main.main, (0x0)

)

		github.com/01org/ciao/ciao-scheduler/_test/_testmain.go/home/travis/.gimme/versions/go/src/runtime/lock_futex.go::164174 + +0x1bd0xd0

runtime.notetsleep(

0xa1d778, goroutine 0xdf847580017,  [0xa0d9277601syscall)

, 	8/home/travis/.gimme/versions/go/src/runtime/lock_futex.go minutes:, locked to thread194]:

 +0x56

runtime.goexit()

runtime.sysmon	(/home/travis/.gimme/versions/go/src/runtime/asm_amd64.s)

:2163 +	0x1/home/travis/.gimme/versions/go/src/runtime/proc.go

:3618

 +goroutine 0x1345

 [chan receive]:

runtime.mstart1()

	/home/travis/.gimme/versions/go/src/runtime/proc.go:1126 +0x11egithub.com/01org/ciao/vendor/github.com/golang/glog.(*loggingT).flushDaemon

(0x8b5c80runtime.mstart)

()

	/home/travis/gopath/src/github.com/01org/ciao/vendor/github.com/golang/glog/glog.go	:/home/travis/.gimme/versions/go/src/runtime/proc.go882: +10960x7a +

0x64

created by github.com/01org/ciao/vendor/github.com/golang/glog.init.1

	/home/travis/gopath/src/github.com/01org/ciao/vendor/github.com/golang/glog/glog.go:410 +goroutine 0x21d1

 [semacquire

, 8goroutine  minutes161]:

 [IO wait, 8 minutes]:

sync.runtime_Semacquire(net.runtime_pollWait0xc42048765c()

0x7f2a230dbc00	, /home/travis/.gimme/versions/go/src/runtime/sema.go0x72:, 470x9 +)

0x30

	/home/travis/.gimme/versions/go/src/runtime/netpoll.go:sync.(*WaitGroup).Wait160( +0xc4204876500x59)

	net.(*pollDesc).wait/home/travis/.gimme/versions/go/src/sync/waitgroup.go(:0xc42005fb10131,  +0x730x72

, 0x8962c0, 0x893448main.(*builder).do)

(0xc420425480	, /home/travis/.gimme/versions/go/src/net/fd_poll_runtime.go0xc4201f04e0:)

75 +0x38

	net.(*pollDesc).waitRead/home/travis/.gimme/versions/go/src/cmd/go/build.go(:0xc42005fb101365,  +0xc4202128000x4ce,

0x400)

main.runTest	(/home/travis/.gimme/versions/go/src/net/fd_poll_runtime.go0xa167c0:, 800xc42000c0a0 +, 0x340x6

, 0x6)

net.(*netFD).Read(0xc42005fab0, 0xc420212800, 0x400, 0x400, 0x0, 0x8962c0, 0x893448)

		/home/travis/.gimme/versions/go/src/cmd/go/test.go/home/travis/.gimme/versions/go/src/net/fd_unix.go::621243 + +0x12b00x181

main.mainnet.(*conn).Read(()

0xc420034880, 0xc420212800, 	0x400/home/travis/.gimme/versions/go/src/cmd/go/main.go, :0x400182,  +0x00x607,

0x0, 0x0)

	/home/travis/.gimme/versions/go/src/net/net.go

:173goroutine  +170x70 [

syscall, 8crypto/tls.(*block).readFromUntil minutes(, locked to thread0xc420354060]:

, 0x7f2a230dc080, runtime.goexit0xc420034880(, )

0x5, 	0xc420034880/home/travis/.gimme/versions/go/src/runtime/asm_amd64.s, :0x4533002163)

 +0x1

/home/travis/.gimme/versions/go/src/crypto/tls/conn.go:

472goroutine  +50x91 [

syscall, 8crypto/tls.(*Conn).readRecord minutes(]:

0xc420343180, 0x75c917, 0xc420343280, os/signal.signal_recv0x337aaf1f()

0x0)

	/home/travis/.gimme/versions/go/src/crypto/tls/conn.go	:/home/travis/.gimme/versions/go/src/runtime/sigqueue.go574: +1160xc4 +

0x108

crypto/tls.(*Conn).Read(os/signal.loop0xc420343180(, )

0xc420371000, 	0x1000/home/travis/.gimme/versions/go/src/os/signal/signal_unix.go, :0x100022,  +0x00x22,

0x0, created by 0x0os/signal.init.1)

		/home/travis/.gimme/versions/go/src/crypto/tls/conn.go/home/travis/.gimme/versions/go/src/os/signal/signal_unix.go::110928 + +0x1160x41

bufio.(*Reader).fillgoroutine (270xc4201ffe00 [)

syscall, 	8/home/travis/.gimme/versions/go/src/bufio/bufio.go minutes:]:

97 +0x10b

syscall.Syscall6(0xf7bufio.(*Reader).Read, (0x10xc4201ffe00, , 0x26070xc420459b30, , 0xc4200345780x1, , 0x10000040x9, , 0x00x44, , 0x00x77, , 0x4e8e790x0, )

0xc420116248, 	0x4775ee/home/travis/.gimme/versions/go/src/bufio/bufio.go)

:	209/home/travis/.gimme/versions/go/src/syscall/asm_linux_amd64.s +:0x18344

 +0x5io.ReadAtLeast

(0x894840, os.(*Process).blockUntilWaitable0xc4201ffe00(, 0xc4204595300xc420459b30, , 0x00x1, , 0x7ccd400x9, , 0x4c33b00x1)

, 0x38980f722d1b	, /home/travis/.gimme/versions/go/src/os/wait_waitid.go0x4102b0:, 280xc4203c5c68 +)

0xa8

	os.(*Process).wait/home/travis/.gimme/versions/go/src/io/io.go(:0xc420459530307,  +0x00xa4,

0x0, io.ReadFull0x0()

0x894840	, /home/travis/.gimme/versions/go/src/os/exec_unix.go0xc4201ffe00:, 220xc420459b30 +, 0x4d0x1

, 0x9os.(*Process).Wait, (0xc4203555900xc420459530, , 0x00xc4203ca418, , 0x00x0)

, 	0x0/home/travis/.gimme/versions/go/src/io/io.go)

:	325/home/travis/.gimme/versions/go/src/os/exec.go +:0x58115

 +0x2b

encoding/gob.decodeUintReader(os/exec.(*Cmd).Wait0x894840(, 0xc42021f8c00xc4201ffe00, , 0xc4203ca3c00xc420459b30, , 0xc4200347900x9)

, 	0x9/home/travis/.gimme/versions/go/src/os/exec/exec.go, :0x59cea7434,  +0xc4203c5d280x6d,

0xc4203c5d30, main.(*builder).runTest.func10x4532e0()

0xc4204574a0, 	0xc42021f8c0/home/travis/.gimme/versions/go/src/encoding/gob/decode.go)

:	119/home/travis/.gimme/versions/go/src/cmd/go/test.go +:0x631145

 +0x2bencoding/gob.(*Decoder).recvMessage

(0xc4204bde80created by , main.(*builder).runTest0xc4203c5d28

)

	/home/travis/.gimme/versions/go/src/encoding/gob/decoder.go:76 +0x57

encoding/gob.(*Decoder).decodeTypeSequence(0xc4204bde80, 0x75c900, 	0xc4204bde80/home/travis/.gimme/versions/go/src/cmd/go/test.go)

:1146 +	0xb13/home/travis/.gimme/versions/go/src/encoding/gob/decoder.go

:

140 +goroutine 0x16f21

 [selectencoding/gob.(*Decoder).DecodeValue, (80xc4204bde80 minutes, ]:

0x719d40, 0xc420409180, 0x16, 0x0, main.(*builder).do.func20x0()

0xc420487650, 	0xc420425480/home/travis/.gimme/versions/go/src/encoding/gob/decoder.go, :0xc4202980c0208)

 +0xd8

/home/travis/.gimme/versions/go/src/cmd/go/build.go:encoding/gob.(*Decoder).Decode1346( +0xc4204bde800x1bd,

0x719d40created by , main.(*builder).do0xc420409180

, 0x772b3f, 0x4115af	)

/home/travis/.gimme/versions/go/src/cmd/go/build.go:	1362/home/travis/.gimme/versions/go/src/encoding/gob/decoder.go +:0x4a5185

 +

0x16dgoroutine

22 [github.com/01org/ciao/ssntp.(*session).Readselect(, 0xc42014c2308 minutes, ]:

0x719d40, 0xc420409180, 0x20, 0x0main.(*builder).runTest)

(	0xc420425480/home/travis/gopath/src/github.com/01org/ciao/ssntp/session.go, :0xc4201f0270194,  +0xc420251e700x5e,

0x514c23)

github.com/01org/ciao/ssntp.handleSSNTPClient(0xc4203296a0, 0x89aca0, 0xc420343180	)

/home/travis/.gimme/versions/go/src/cmd/go/test.go:	1148/home/travis/gopath/src/github.com/01org/ciao/ssntp/server.go +:0xfc5172

 +0x234

main.(*builder).do.func1(created by 0xc4201f0270github.com/01org/ciao/ssntp.(*Server).Serve)

	/home/travis/.gimme/versions/go/src/cmd/go/build.go:1297 +	0x7d/home/travis/gopath/src/github.com/01org/ciao/ssntp/server.go

:298main.(*builder).do.func2 +(0xb1f0xc420487650

,

0xc420425480, goroutine 0xc4202980c057)

 [IO wait	, /home/travis/.gimme/versions/go/src/cmd/go/build.go8: minutes1356]:

 +0x145

created by net.runtime_pollWaitmain.(*builder).do(

0x7f2a230db9c0, 0x72	, /home/travis/.gimme/versions/go/src/cmd/go/build.go0xd:)

1362 +	0x4a5/home/travis/.gimme/versions/go/src/runtime/netpoll.go

:

160goroutine  +260x59 [

chan receivenet.(*pollDesc).wait, (80xc42005faa0 minutes, ]:

0x72, 0x8962c0, 0x893448)

	/home/travis/.gimme/versions/go/src/net/fd_poll_runtime.go:75main.processSignals.func1 +(0x380xc420457320

)

net.(*pollDesc).waitRead(	0xc42005faa0/home/travis/.gimme/versions/go/src/cmd/go/signal.go:, 210xc420326400 +, 0x400x400

)

	created by /home/travis/.gimme/versions/go/src/net/fd_poll_runtime.gomain.processSignals:

80 +	0x34/home/travis/.gimme/versions/go/src/cmd/go/signal.go

:23net.(*netFD).Read +(0x930xc42005fa40

,

0xc420326400goroutine , 250x400 [, select0x400, , 80x0 minutes, , locked to thread0x8962c0]:

, 0x893448)

	/home/travis/.gimme/versions/go/src/net/fd_unix.go:243 +runtime.gopark0x181(

0x862d28net.(*conn).Read, (0x00xc420034878, , 0x83d3f50xc420326400, , 0x60x400, , 0x180x400, , 0x20x0)

, 0x0	, /home/travis/.gimme/versions/go/src/runtime/proc.go0x0:)

259	 +/home/travis/.gimme/versions/go/src/net/net.go0x13a:

173 +runtime.selectgoImpl0x70(

0xc42049f730, crypto/tls.(*block).readFromUntil0x0(, 0xc4203f8f600x18, )

0x7f2a230dc080, 0xc420034878, 0x5, 0xc420034878, 0x0)

	/home/travis/.gimme/versions/go/src/crypto/tls/conn.go:472 +0x91

crypto/tls.(*Conn).readRecord	(/home/travis/.gimme/versions/go/src/runtime/select.go0xc420342e00:, 4230x75c917 +, 0x11d00xc420342f00

, runtime.selectgo0xc420453b28()

0xc42049f730	)

/home/travis/.gimme/versions/go/src/crypto/tls/conn.go	:/home/travis/.gimme/versions/go/src/runtime/select.go574: +2380xc4 +

0x1c

crypto/tls.(*Conn).Readruntime.ensureSigM.func1((0xc420342e00)

, 0xc420370000, 0x1000, 0x1000, 0x0, 0x0, 0x0)

	/home/travis/.gimme/versions/go/src/crypto/tls/conn.go:1109 +0x116

	bufio.(*Reader).fill/home/travis/.gimme/versions/go/src/runtime/signal1_unix.go(:0xc4201ffb00304)

 +0x2f3

/home/travis/.gimme/versions/go/src/bufio/bufio.goruntime.goexit:()

	/home/travis/.gimme/versions/go/src/runtime/asm_amd64.s:2163 +0x1

rax    0xfffffffffffffffc

rbx    0x0

rcx    0xffffffffffffffff

rdx    0x0

rdi    0xa1d778

rsi    0x0

rbp    0x7f26108d5d98

rsp    0x7f26108d5d50

r8     0x0

r9     0x0

r10    0x7f26108d5d88

r11    0x246

r12    0x097

 +r13    0x00x10b

r14    0x7f26108d69c0bufio.(*Reader).Read

(r15    0xc4201ffb000x7f26108d6700,

0xc420459720rip    , 0x4cd9530x1

, rflags 0x90x246,

0x0cs     , 0x330x0

, fs     0x00x0)

gs     0x0

/home/travis/.gimme/versions/go/src/bufio/bufio.go:209 +0x183

io.ReadAtLeast(0x894840, 0xc4201ffb00, 0xc420459720, 0x1, 0x9, 0x1, 0xc4201ffa01, 0xc42014c1e0, 0x0)

	/home/travis/.gimme/versions/go/src/io/io.go:307 +0xa4

io.ReadFull(0x894840, 0xc4201ffb00, 0xc420459720, 0x1, 0x9, 0xc4201ffb60, 0xc420342e00, 0xc4204bdd80)

	/home/travis/.gimme/versions/go/src/io/io.go:325 +0x58

encoding/gob.decodeUintReader(0x894840, 0xc4201ffb00, 0xc420459720, 0x9, 0x9, 0x59cea7, 0xc420453d58, 0xc420453d60, 0x4532e0)

	/home/travis/.gimme/versions/go/src/encoding/gob/decode.go:119 +0x63

encoding/gob.(*Decoder).recvMessage(0xc4204bdd80, 0xc420453d58)

	/home/travis/.gimme/versions/go/src/encoding/gob/decoder.go:76 +0x57

encoding/gob.(*Decoder).decodeTypeSequence(0xc4204bdd80, 0x75c900, 0xc4204bdd80)

	/home/travis/.gimme/versions/go/src/encoding/gob/decoder.go:140 +0x16f

encoding/gob.(*Decoder).DecodeValue(0xc4204bdd80, 0x719d40, 0xc420409280, 0x16, 0x0, 0x0)

	/home/travis/.gimme/versions/go/src/encoding/gob/decoder.go:208 +0xd8

encoding/gob.(*Decoder).Decode(0xc4204bdd80, 0x719d40, 0xc420409280, 0x772b3f, 0x507ee5)

	/home/travis/.gimme/versions/go/src/encoding/gob/decoder.go:185 +0x16d

github.com/01org/ciao/ssntp.(*session).Read(0xc42014c1e0, 0x719d40, 0xc420409280, 0x0, 0x0)

	/home/travis/gopath/src/github.com/01org/ciao/ssntp/session.go:194 +0x5e

github.com/01org/ciao/ssntp.(*Client).handleSSNTPServer(0xc420089680)

	/home/travis/gopath/src/github.com/01org/ciao/ssntp/client.go:119 +0x120

created by github.com/01org/ciao/ssntp.(*Client).Dial

	/home/travis/gopath/src/github.com/01org/ciao/ssntp/client.go:342 +0x737

rax    0xca

rbx    0x0

rcx    0xffffffffffffffff

rdx    0x0

rdi    0x8b65d0

rsi    0x0

rbp    0x7ffda061a138

rsp    0x7ffda061a0f0

r8     0x0

r9     0x0

r10    0x0

r11    0x286

r12    0x40000

r13    0x1

r14    0x1

r15    0x1

rip    0x45d151

rflags 0x286

cs     0x33

fs     0x0

gs     0x0

@markdryan do you have a failed job number in travis?  Github tends to clobber the test-cases output from a readability standpoint.  I'm missing whether the above is a hang, or just the timeout leading to a fail.
The ones I've seen haven't been hangs so much as the test Results channels timing out.  They've got a relatively short timeout, relative to the time it takes a ciao client to reconnect to the server when the server goes offline.  The clients often take 2, sometimes take 3, and rarely take 4 retries to re-connect, with a cumulative elapsed time growing.  The server should be back online very quickly (say 2seconds), but seemingly because of variability in the underlying virtual environment of the Travis test run, sometimes it's taking longer (say 10seconds).  Depending on the randomness added in the client retries, it sometimes happens that the client sleeps between reconnects on the order of 1second, then 1second, then 1second, then 40seconds.  I've tried to describe this in https://github.com/01org/ciao/commit/0e16917936eabe454ada1df8bc0bc601d4a4a954
I can change these timeouts to something longer, like 60s.  The timeout is helpful to diagnose a hang.  But we're tripping the time out today mostly for things that aren't actually hangs.
I could also remove the timeout, since it's proved problematic.  Go test does have it's own hang checking.

Here's an example of one that clearly hit the 25s timeout:
https://travis-ci.org/01org/ciao/jobs/161094052
'''
ciao-scheduler     TestReconnects                           26.03s     FAIL
ciao-scheduler     TestTenantAdded                          25.00s     FAIL
ciao-scheduler     TestTenantRemoved                        25.00s     FAIL
'''

@tpepper I'm afraid I don't.  The problem is that when we get these sorts of failures we restart the builds to get Travis's approval for the PR.  When we do this the log of the failed build gets overwritten, which is why I copied the logs here.  Guess I didn't copy enough info.  Sorry.  But what I can say is this was definitely a hang.  test-cases sent an abort signal to the instance of go test running the testutil package, which is why you see most of the tests have a status of not run.  From the logs it looks like TestReconnects was the test that hung.

The other tell-tale sign is the running time of the build.  Of course you can't see this in the issue report but the build took about 15 minutes to run or rather to fail.  This is typical of builds that hang.

@tpepper I also saw one of those 25 second hangs yesterday and I entered a separate bug
https://github.com/01org/ciao/issues/581


add sdkman tip

Signed-off-by: Veselin Vlasakiev<EMAIL_ADDRESS>

Thank you @varasu for your first contribution. Welcome to the team!


Initial support for multiple build targets

This PR will add support for building different platforms based on different action releases.
Ultimately the plan is to support all builds form the same version as discussed in https://github.com/webbertakken/unity-actions/issues/3. In the meantime we should already be able to build for all targets.
Acceptance criteria is to have all builds run in parallel. https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobs
This is a work in progress

The above means that we effectively can not use matrix to determine the version of an action.
That even increases the need for being able to run all builds with different targets and versions from an action with the same version.

Last few commits start into a direction of javascript running a docker container based on the input.

This works. Now need some cleanup and ensuring stability before merging.

Reference: Multiple build targets: https://github.com/webbertakken/unity-actions/issues/12
Reference: Multiple images: https://github.com/webbertakken/unity-actions/issues/3

Reference: Multiple images: https://github.com/webbertakken/unity-actions/issues/3


ClipLidarToPolygon is modifying retained point data

I used CLipLidarToPolygon with WBT v2.3.0 to clip some raw LAS data to a target region from a SHP file. The process completed successfully and all seemed fine. The issue is that when I loaded the data into a viewer along with the original source data you could see that the points were moved in the clipped output. The clipped output had a perfect little grid pattern while the source data was much more organic and unaligned. When you zoom in on this it becomes very apparent. I would have expected a clipping operation to simply copy over retained points verbatim, not adjust their positions. Any I missing something? The documentation makes no mention of modifying the source points.
I'll close this by saying, the files I'm working on are way too large to include in this report. If someone has a good idea on how to easily demonstrate this, I'd love to hear it.

As far as I can tell at this point, this is not a WBT issue. It's more like operator error.
I was taking a classified LAS file and using PDAL to filter to just Ground points and feeding that into WBT to clip to a target area. The filtering on classification step was the issue. PDAL was defaulting to writing with a scaling factor of 0.01 (1cm) when the source file had a scaling factor of 0.001 (1mm) and that meant all the points were moved to fit on a 1cm grid when writing. I cannot say if WBT modifies points when it shouldn't or not, but I can certainly say that PDAL does if you aren't careful.


WIP: Add ML native module (inference)

Add a ML native module.
To make things easier we are focusing on inference for now, as the API for training is a little different.
The ML framework currently used is darknet to ease integration with the video object detection use case and be able to measure the performance increase compared to the WASM equivalent. We might change that in the future.
The native module will take a model (weighted graph) and an array (input to the model) as input and output a prediction (result of the inference). The parameters are passed via /services/mlinf.dat.

Superseded by https://github.com/veracruz-project/veracruz/pull/596 and https://github.com/veracruz-project/veracruz/pull/587


Update installation.md

Remove unwanted merge conflict text from Installation.md

Thank you for contributing to the sauce-docs project!
A well described pull request helps maintainers quickly review and merge your change
Before submitting your PR, please check our contributing
guidelines, applied for this repository. Avoid large PRs, help reviewers by making them as simple
and short as possible.

Description

Motivation and Context

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation fix (typos, incorrect content, missing content, etc.)

Checklist

[ ] I have read the contributing document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Fixed by:  https://github.com/saucelabs/sauce-docs/pull/251


Several adjustments needed

Allow extension of models (remove sealed):

ContentItemCreateModel
AssetWithRenditionsReference

Allow settable Id (for unittests):

ElementMetadataBase

Return null for content not found instead of an exception:

ActionInvoker
ManagementHttpClient

Allow injection of HttpClient

ManagementClient
HttpClient

Motivation
Fixes #270
And several changes that allow us to extend the models used, and to not throw Exceptions on items not found (but rather return null instead). This is a breaking change ofcourse, but having to catch Exceptions to check if something exists is very cumbersome.
Checklist

[ ] Code follows coding conventions held in this repo
[ ] Automated tests have been added
[ ] Tests are passing
[ ] Docs have been updated (if applicable)
[ ] Temporary settings (e.g. variables used during development and testing) have been reverted to defaults

How to test
If manual testing is required, what are the steps?

hello and thank you for the PR, apologies for a rather late reply. since this seems to be a recurring request, I'll make this a priority and review the proposed changes. will let you know with any updates, thanks for your patience!


[doc] Shuffle doc organization and simplify publication

This commit creates a better structure for documentation and
makes it easier to map to the doc website. Specifically, now
we have the following subdirectories:

using_iree/: docs for using IREE as a dependent project.
get_started/: docs for getting started with developing IREE.
developing_iree/: docs for developing/contributing to IREE.
design_docs/: design docs. :)

Obsolete docs like simple_ir_walkthrough.md and mnist_example.md
are deleted so that we can just copy the whole docs/ directory
over and publish them on the doc website.
The URL for docs now follow hyphened-names, which is the
common practice, except for the Dialect/ directory. Because
we use MLIR to generate dialect documentation and they have
an expectation there..
Because of the above, we are able to clean up the publication
scripts.

See https://github.com/antiagainst/iree/tree/doc-website/docs for where the docs are placed.

The URL for docs now follow hyphened-names, which is the
common practice

Looks like underscored_names, not hyphened-names? (which is fine, just confused by the PR description)

The URL for docs now follow hyphened-names, which is the
common practice

Looks like underscored_names, not hyphened-names? (which is fine, just confused by the PR description)

It's hyphened-names for URL. Underscored_names for the source code. :)

Missed a reference to docs/using_iree/using_colab.md in https://github.com/google/iree/blob/main/colab/README.md ?

Good catch! Fixed. :)


Metrics Export

While exporting experiment i.e.
python -u -m mlflow_export_import.experiment.export_experiment
--experiment sklearn-wine
--output-dir out
--export-metadata-tags True
only the latest metric value is exported.
so if in a run we have 1000 steps and if all the steps are logged only the latest value of metric is recorded in the export.
Is there a way to get metric data for all the steps?

@gaurangv99 I just checked in a fix. Let me know if it works for you. Sorry for the delay.


Wireless Connector Dissappearing

So, on my Galacticraft Space Station i have a large AE System. Im using a lot of Wireless Connectors, but since i updated to the latest version (<IP_ADDRESS>), the Wireless Connectors have been dissappearing randomly once the dimension is unloaded or the server reboots. There is no log for this, as just about 2-4 of them sometimes arent there when the server reboots or the dimension has been unloaded.

That's odd. I'll look into this.
Can you confirm if going back to <IP_ADDRESS> stops this issue?

Yes, there is a security station on the network.
And i can try later to go back to <IP_ADDRESS> to see if it stops :)

Also, something else is bothering me with the Wireless Connectors to. Its the fact that if i have to many Wireless Connectors hooked to my ME System, and some have a big longer range, like 30-50 blocks or so, when the space station dimension is unloaded and reloaded, the AE System seizes to work. I actually have to entirely disconnect the Wireless Connectors their Dense ME Cables, or else the ME System (even with a Creative Power Source) will stop working, and just show its offline, but when disconnecting two or three random Wireless Connectors, the AE System starts working again. Then i can reconnect the Wireless Connectors. Then, maybe 10 minutes later or so, the same thing happens. I dont know what causes it, but im sure it cant be power loss, atleast not when i have multiple creative power sources hooked up to the system.

I've tried and couldn't reproduce either issue.
Did you try going back to .59? i'm trying to pinpoint what changes could be involved in this and knowing at what version it broke would make it a lot easier.

You can try with my modpack if you like, you find it by looking for "SG-B 248M" in the TechnicLauncher. Anyways, i did try going back to 59 and it didnt happen then, so i dont know.

I'm closing this issue as part of a spring cleaning of my issue trackers from old stuff.
If you believe it's a bug that is still relevant in Minecraft 1.12 - Feel free to reopen it.


Switch Number formatting to Pandas toHTML formatting or delete

Pandas has a built-in tohtml function which accepts number formatting. There is currently work on adding number formats to the Pandas Styler class. After that is done then that functionality can probably be deleted from this project.
See https://github.com/pydata/pandas/issues/11692 for details on that issue.

It was also requested to modify the behaviour of negative currencies and units to be of the form -$X.XX instead of $-X.XX

I think this can be closed since Babel is being used for numbers now


webui.go:549:33:2 other occurrence(s) of '/list-triggers'

webui.go:549:33:2 other occurrence(s) of '/list-triggers' found in: webui.go:569:33 webui.go:656:18

Already fixed.


Introduce proxy auto-detection based on ENV variables

Auto-detection is based on standard ENV variables used in a UNIX system.
Some documentation can be seen here:
https://www.gnu.org/software/wget/manual/html_node/Proxies.html
The most common and used are "#{schema}_proxy" and no_proxy, but it also
supports other non-recommended formats covered by Ruby URI library.
Fix #356

I'm not against idea of having default proxy values in general, but I also don't really think it's a good to put this into this gems defaults. Probably it would be better to have some sort of global config instead
# Default: nil
HTTP.default_proxy = nil

# If you want to respect ENV vars as default proxies, add to you bootstrap code:
HTTP.default_proxy = lambda { |req| ::URI(req.uri.to_s).find_proxy }

There's still no "agreement" on what these env vars should be. Some use /https?_proxy/, some /HTTPS?_PROXY/, and some /HTTPS?_PROXY/i. And personally I find this suuuuuper frustrating. Firefox, FWIW does not use these env vars anymore.
@tarcieri would like to know your input.

Per the discussion on #361, what @ixti said was where we netted out before: we'd like to support this (see also aforementioned #356), but it should be opt in.
See @ixti's suggestion of a via_default_proxy method here:
https://github.com/httprb/http/pull/361#issuecomment-234998621

I can explain a little bit better how it should work...
There is a lack of canonical documentation on the env variables, but the two best sources are: https://www.gnu.org/software/wget/manual/html_node/Proxies.html and https://github.com/ruby/ruby/blob/7909f06212ae8df6ba7203f8152292a190b2b33a/lib/uri/generic.rb#L1475-L1490
I tried to cover most common scenarios on our specs

Also if it helps I can split the travis fix in its own PR, so we can fix master

Closing this PR as stale.
It seems like it was going in the right direction and was close to ready once upon a time. Please rebase and reopen if you'd like to pursue it.


Support ternary operator

I have ES6 code that looks similar to this:
const foo = _.isEmpty(bar) ? null : <div />

The transform-react-stateless-component-name plugin adds a
foo.displayName = 'foo';

line to the transpiled code, but this obviously causes a runtime exception when foo is null.

Hi @dlineberger, I added the code you provided as a test case and the test pass, so it didn't try to assign it a displayName property. Is there more information that you could provide?

Closing as there has been no activity for a while. I am more than happy to reopen if it is still an issue.


Environment expansion working differently in 0.10.0 and 0.10.2

Describe The Bug
In the version 0.10.0 if I use  ${ADDRESS:http://<IP_ADDRESS>:1234} and the env variable is not defined it was returning http://<IP_ADDRESS>:1234 in the version 0.10.2 this doesn't work and it returns the same ${ADDRESS:http://<IP_ADDRESS>:1234}

I'll check it out

I'll check it out

Thank you

@bakjos sorry for the late reply. this is now fixed and released.


Add ReasonML support

[x] Add reasonreact interop
[x] Add reasonreact test component

I have handled all the outdated packages except mocha-webpack (which seems stale) and semantic-ui-react:
npm outdated
Package                 Current        Wanted  Latest  Location
mocha-webpack      2.0.0-beta.0  2.0.0-beta.0   1.1.0  boilerplate
semantic-ui-react        0.81.3        0.81.3  0.88.2  boilerplate

That said this is the audit output right now:
npm audit

                       === npm audit security report ===

found 0 vulnerabilities
 in 21883 scanned packages

lgtm


README contains outdated, false information

the version of cosmos-kit you compared is over a year old, and has since been reduced in size by a large order of magnitude

21MB for cosmes:

Hey @pyramation, thanks for pointing out the outdated benchmarks, we've bumped the following packages to the latest versions within the benchmarks:
https://github.com/coinhall/cosmes/blob/4750b44fb73450df52c4b74406116f0f14e7559c/benchmarks/cosmoskit-v2-react/package.json#L12-L15
And updated the benchmarks to include a timestamp accordingly:

Note that what is being compared is the final bundle size, not the published package size. CosmES is 22MB unpacked when published, because it publishes all the TS type definitions, source maps, and all the protobufs needed. It's not just a Cosmos Kit alternative, but also a cosm.js alternative. However, the final output app bundle will always be much smaller than 22MB, because CosmES fully supports tree-shaking, unlike cosm.js which Cosmos Kit depends on.
Please feel free to replicate the benchmarks results - the full methodology is documented within the README and the code can be located within the benchmarks folder. If there are any optimisations you'd like to make to minimise the bundle size, please do open a PR as well. The code and benchmark is purposely set to be as "dumb" as possible so it isn't 100% accurate, but is likely what a developer will experience when first using either CosmES or Cosmos Kit.

Hi @AaronCQL,
I wanted to point out that these benchmarks might not be directly comparable. We're looking at two different scopes: our full UI Kit, designed for building complete dApps, versus the cosmes example with all UI components integrated directly into the example itself. For a more apples-to-apples comparison, you might want to look at our @cosmos-kit/react-lite package, which offers similar functionality.
Also, I noticed you're using buf.build. Unless I missed something, it seems like it doesn't support amino encoding, which is essential for securing Ledger transactions. Could you confirm whether amino is supported in your setup? I didn’t see it in the documentation. I understand amino is supposed to be deprecated, but it's not emprically or in production case deprecated at all.
Seems that the main reason we're seeing the big difference is, we are also including a UI, which isn't necessary if you build your own react integration or use our react-lite package, and you've also decided not to use amino encoding. That and obvisously cosmojs 1.0 doesn't support tree-shaking which will change soon
Thanks for checking on this!

Here are some adjustments that can be made. We still need cosmjs to support tree-shaking, and it will, but this should bring the number down a bit:

-import { useChain } from "@cosmos-kit/react";
+import { useChain } from "@cosmos-kit/react-lite";

 import "./polyfill.ts";

 import { wallets } from "@cosmos-kit/keplr";
-import { ChainProvider } from "@cosmos-kit/react";
-import { assets, chains } from "chain-registry";
+import { ChainProvider } from "@cosmos-kit/react-lite";
+import { chain } from "chain-registry/mainnet/osmosis";
 import React from "react";
 import ReactDOM from "react-dom/client";

 import { App } from "./App.tsx";

-import "@interchain-ui/react/styles";
 import "./index.css";

 const WC_PROJECT_ID = "2b7d5a2da89dd74fed821d184acabf95";

-      chains={chains} // supported chains
-      assetLists={assets} // supported asset lists
+      chains={[chain]} // supported chains
+      // for a more fair comparision, commenting this out since 0 assets are
+      // assetLists={[assets]} //

And to be clear here is the current comparison to make it a bit more visual of why this is an issue:

Feature
CosmJS+Cosmos-Kit Benchmark
Cosmes Benchmark

Complete UI Kit
✅
❌

Amino Encoding
✅
❌

Supports Ledger Transactions
✅
❌

Supports Osmosis
✅
✅

Includes Chain-Registry
✅
❌

Includes All Chains
✅
❌

Includes Assets
✅
❌

Includes All Assets and Denoms
✅
❌

Lightweight React Integration
Optional (@cosmos-kit/react-lite)
✅

Supports Tree-shaking
❌
✅

I feel the comparison stating "smaller than cosmos-kit" alone doesn't quite capture the full picture. In reality, the statement should include cosmjs, cosmos-kit, lib sodium, and interchain ui. As many of you are aware, the major contribution of weight comes from these additional libraries, not just cosmos-kit. This distinction is crucial and should be clarified as the current framing could be misleading. We’re working on addressing this, but it’s important to ensure our discussions are accurate and transparent.

Finally, I wanted to say thank you for your work. I'm actually kind of glad this whole comparison thing came up. It's been a great push for us to roll out our new release that supports tree shaking.
Speaking of which, we've dropped lib sodium for noble in our new release, so that's another update on our end.
Maybe it's time to collaborate? With the upcoming additions in our toolkit, like telescope for amino, proto, and the new sign mode textual, it feels like a natural fit. When both amino and direct signing are deprecated, your team won't be able to use buf-build anymore (which is also not compatible with ledger)
Seriously, I think there's a lot we could achieve together. How about a conversation? We’re gearing up to integrate all these elements soon that would likely make these comparisons negligible, and it could be a game-changer. Let’s chat 🙌🏻


extracts high quality suggestions. refactors implementation for getFi…

…eldSuggestions: abstractions individual steps. creates a composable arrayReduce abstraction

Coverage remained the same at 18.998% when pulling b617fcca015c0aba3d3c4b49a43f6d63e19db518 on theseyi:hq-suggest into 98a3a0ea4f4acd32a1352f77a268f338c5e42a50 on linkedin:master.


Request: Have the option for two compiled JS files. One has all the application code and the other that is compiled less frequently that has all the libraries to reduce uglify time

The reason being that if you end up using a lot of libraries, uglify can take a really long time. Seems like the solution would be to uglify the library files infrequently.

I think the solution is probably in an incremental build, which I hope to accomplish by replacing grunt with something more modern.
That said, uglify only runs when you do a compile - not when you do a build. The latter is meant for development, which is why expensive steps like uglification are skipped. Are you running compile during active development? If so, why did you choose to do so?

I only use it when deploying, but I deploy a couple times a day. It really wouldn't save much time - uglify only takes a few minutes (after I added a huge graphing library).
One other thing I was thinking about - is there a way to run a grunt watch without karma? The reason being that if the test suite gets big then it would increase the cycle time quite a bit on the watch. It would be nice to have a watch that did everything but run tests.

 Either remove karma from your watch or create a new watch task that doesn't run karma.

Cool. Thanks, Josh.
On Thu, Dec 3, 2015 at 1:43 PM Josh David Miller<EMAIL_ADDRESS>wrote:

There isn't such a feature, but it's simple for you implement:
https://github.com/ngbp/ngbp/blob/v0.3.2-release/Gruntfile.js#L560.
Either remove karma from your watch or create a new watch task that doesn't
run karma.
—
Reply to this email directly or view it on GitHub
https://github.com/ngbp/ngbp/issues/413#issuecomment-161779087.


Cool!

Sorry this isn't an issue but this is really cool.
I've been writing something kind of similar but for people who can't use their hands.
I'm not sure how you've simulated input, but I wrote a tool called dotool so mine could work in X11, Wayland and TTYs, which might be helpful.

@JohnGebbie Thanks, Numen seems so accurate and responsive. I also use VOSK, but I never get that short response delay and accuracy like "change serial port baud rate" and "oh no oh no oh dear", is there really such big difference between use native code and use a server... In my case it waits at least 1~2 seconds to return the result for most sentence.
About the input, I was intend to support complex phrase like "do something A do something B do something C", so it can be used as a "macro" and bind to some short alias. And the "uinput" used in dotool is linux specific, why not use cross platform library like robotgo.

You're welcome, I'm not sure about the difference with a server, never tried it, but I remember it was much slower when I used the big language model, instead of vosk-model-small-en-us.
Maybe try numen though, it does feel about a second.
robotgo looks cool but I don't want to be tied to a graphical session, I use numen in the virtual consoles a lot, even just to log in, and don't don't want something that depends on scraping applications. I've got a raspberry pi mode in the works, where the pi appears as a input device to the computer it's plugged into, which lets me use other computers and change operating system etc., and it wouldn't be possible otherwise. Numen is just like a simple voice keyboard.

Understand.
I tried numen with the "change serial port baud rate" couple times, the result:
chanda serial port bought the right
changes siro pot border rate
changes zero pot border rate
change siro bought bought a rate
change serial port bought a rate
change serial port bother it

Seems it's caused by my pronunciation :-)
How do you handle something like njson.MarshalIndent? I can't come up with a perfect solution, I mean it's too slow to say it letter by letter, so I tried to add lots of golang specific words to the dictionary, like the unmarshal indent , but there're too many words to add. I thought about scan directory go/src and add all the words to the dictionary, but that may introduce conflict problem like "see" and "sea". How do you type long variable names like that?

Ah dang.
It's beside the point, but the "change" phrase gives you a little menu of alternatives.
I just use a lot of autocompletion.
In vim you can press Ctrl+p to autocomplete what you're typing to something you've already written, so I say "troll pit".
Then there's Ctrl+x Ctrl+p that lets you keep auto completing what was after the match, which I've rebound it to Alt+p so I say "hype pit".
So it'd be something like:
"nerd jury"                    : nj
"nerd jury troll pit"          : njson
"nerd jury troll pit hype pit" : njson.MarshalIndent
You can also repeat Ctrl+p to pick the next match further up the buffer, so sometimes I use my repeat phrases like "double" and "handful".
I sometimes autocomplete function calls and stuff as well with "hype pit handful again" and the like.
Hope that kinda made sense.

Yeah, that's the best solution so far. But mapping "pit" to "p" slows down the input a bit and results in a learning curve, this is why I didn't use TalonVoice at the first place. I know very little about AI but it's so developed nowadays, somehow it must be capable of identifying just letters, maybe a dedicated model for letters only, so user can simply say "n j s o n" quickly, I think that may be the final solution, how do you think?

No I don't know any.
I only tried open source speech recognition and vosk was leagues better than pocketsphinx and julius.
There's maybe doing kaldi stuff yourself or your own model, but I really don't know.
I don't see how "pit" slows down the input, "pit" and "p" are both a syllable?
I get you, I read this on a post about Talon:
"It isn’t realistic to think that you will memorize every possible command"
And noped out of there.
But I'm happy with numen's phrases, there's about 130 and that's that, I don't expect you to add more.
I think the real complexity is Talon is trying to be your text editor/window manager/assistant with fancy grammars and application specific rules.

Maybe it‘s also caused by my pronunciation that when I say “p“ 10 times is slightly quicker than 10 “pit“, never mind :-)
I also tried full joycon button typing, I mean use 26 buttons for all the alphabets, which can be done by using 2~4 modes, each for a group of alphabets, but that‘s also too idealistic, it‘s not that efficient and has some signal conflict problem.
I got a wireless split keyboard, now I‘m trying to bind it to my trousers with velcro:-) Hope there will be some lightweight, soft, foldable split keyboard on the market, and an eye tracking glass.

I'll close this but feel free to email me or whatever whenever. It was nice talking :)


[Adapter Cards-Schema Explorer]: In scan mode user is not able to access the list items present under the adaptive cards using arrow key as focus is not synchronising with the narrator announcement.

Target Platforms
Other
SDK Version
1.5
Application Name
Adaptive Cards
Problem Description
Test Environment:
OS: Version 22H2 (OS Build 25197.1000)
Edge Dev: version 107.0.1379.1 (Official build) dev (64-bit)
Screen Reader: Narrator
Application URL: [[https://adaptivecards.io/](https://adaptivecards.io/explorer/)
Pre-Requisites:
Run the Narrator using "Control+ Windows +Enter" short key in the scan mode.
Repro Steps:
1.Open above URL with V- credential.
2.Navigate to 'Schema Explorer' link using tab key and press enter key to activate it.
3.Navigate to 'Input.Text" link present under Input from the left navigation using the tab key and activate it using Enter key.
4. Navigate to the adaptive cards present under it using the Tab key.
5. Navigate to the "Required Input.ChoiceSet Label" combo box under Adaptive Cards and activate using the Enter key.
6. Try to navigate through the list items present under it using narrator in the scan mode.
7. Observe the issue here.
Actual Result:
User is not able to Access the list items present under the "Input.ChoiceSet Label(Compact)" combo box in the scan mode as focus is not in sync with the narrator announcement.
Expected Result:
User should be able to access and activate the list items present under the "Input.ChoiceSet Label" combo box using the arrow keys and focus should be in syn with the narrator announcement.
Observation:
1.Same issue exists throughout the application wherever the similar options present in the adaptive cards.
2.Similar issue is present under the "Input.Date" link present under the input from the left navigation pane.
PFA: 2.Focus is not in syn with the narrator announcemnt in the calender..mp4.
User Experience:
Screen reader users who are with low vision will get impacted if keyboard focus is not in sync with Narrator after which user will not be able to track or navigate the content properly.
MAS Reference:
https://liquid.microsoft.com/Web/Object/Read/MS.Accessibility/Requirements/01.03.02
"Have feedback to share on Bugs ? Please help fill Trusted Tester Bug Feedback (office.com) “.
Screenshots
https://user-images.githubusercontent.com/104482612/190184701-fc336b5a-0299-4876-963f-da3bd75803a5.mp4
2.https://user-images.githubusercontent.com/104482612/190193151-b5b7caf3-16ab-4f3b-8f79-5c84c94fd84f.mp4
Card JSON
NA

Sample Code Language
NA
Sample Code
NA

This issue is not repro, hence closing this issue.


Test required for all GRPC_CALL_ERROR cases

There should be a test that all GRPC_CALL_ERROR cases are, in fact, triggered when expected. At the current time, this only exists for INVALID_FLAGS.

This has been fixed in Dec.


Update portalfx-telemetry-getting-started.md

Per @Dave's comments.

OPS Build status updates of commit 9825a1f:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error] Publish service's config file: .openpublishing.publish.config.json is not found. Exception:

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

Looks good. Where did we land on including a limit on the number of managed identities a single team can submit? I didn't see that in the changes.

@dbrankin I figured we shouldn't include a limit yet since we don't know if partners will even use the managed identities. If we start to see folks abusing that then could we ringfence them? I'm ok to include a limit but I'm not sure what limit should be..3?4?5?


[enhancement]: Add a node to extract metadata from previously generated images

Is there an existing issue for this?

[X] I have searched the existing issues

Contact Details
Stretch (villainstretch) on Discord
What should this feature add?
A node to allow the extraction of metadata from an image so that images generated in txt2img can be dropped in to a workflow and the various parameters can be pulled out for use in other nodes.
Use case:
I wish to create a workflow for upscaling images generated in txt2img.
A workflow can be created for doing it but that requires manually transferring not just the image but also all the generation parameters, one by one for every image I wish to upscale.
With a node like this, a workflow can be created that will a user to only drop in the generated low res image and everything needed for the upscale can be extracted from it.
Alternatives
Perhaps adding outputs to the existing Image Primitive node will suffice but may unnecessarily complicate the node.
Additional Content
No response

This doesn't extract all metadata, but I wrote this node a bit ago and could be a good starting off point
https://discord.com/channels/1020123559063990373/1155281573952897114


6481 add portfolio report

added reporting to portfolio sub nav. roughed out component view and container view.

@bthaile Can you remove the stuff you added to the Portfolio:Reporting page? We have other stories for all the stuff that's going to be added there.

Yes, I'll remove the contents of portfolio reporting page.

@bthaile Feel free to remove everything but the "Portfolio: Reporting" title. (Also, the title text needs to be changed from "Portfolio: Report" to "Portfolio: Reporting".)

@sharkcrayon made changes based on your request, should be gtg.

@bthaile One more thing to remove: the "Export Data" link in the top right.


CmdStan Guide difficult to find

Summary:
Stan Website's documentation page https://mc-stan.org/users/documentation/ does not link to the CmdStan User's Guide. The page does have links to RStan and PyStan documentation (although the PyStan link is 404) but no mention of CmdStanR or CmdStanPy, either.

added CmdStan to documentation page - users/documentations/index.md.
also added links to CmdStanPy and CmdStanR.


Increasing size limit for paddlepaddle_gpu

Hi, our recently released version paddlepaddle_gpu-0.15 hit the package size limit this day, we try to publish several versions compatible for different CUDA support for deep learning developers that may have some different environment.
The package built with cuda9.0 support currently is over 100MB can you please help to increase this to around 150MB, we'll make effort to reduce the package size in later releases. thanks.

Related: https://github.com/pypa/warehouse/issues/4019

@typhoonzero Can you give us some more details about this package? Looking at https://pypi.org/project/paddlepaddle/ and https://pypi.org/project/paddlepaddle-gpu/, there are no descriptions for these packages and they don't link to any documentation, homepage or repository.

Hi the homepage is: http://www.paddlepaddle.org/en, and project on github is: https://github.com/PaddlePaddle/Paddle. Thanks

@typhoonzero I've increased the limit for paddlepaddle_gpu to 150MB on PyPI. Please be mindful about how often you make a release at this size.


Feature request: Support custom namespace separator

Tried migrating over to this library from next-i18next as this one supports everything that we need out of the box, like dynamic namespaces, unfortunately we have thousands of keys that are in this format:
{
  "someValue:description": "The translation"
}

Because of our usage of : in the key names, none of our transaltions work. i18next supports a custom nsSeparator. Would it be possible to support something like this on next-translate? Or are there any other suggestions around this, aside from converting all of our keys. Thank you for this awesome library btw!

@dcodus thanks for that suggestion. I noted to 1.1


Still getting a Cart validation error when creating an Apple Pay Direct order as guest user

Hi there,
We are experiencing a similar error like the one mentioned in issue/574.
This is supposed to be fixed, but our problem might be related.
As described in the original issue we are getting a very similar Error like this:
Apple Pay Direct error when finishing payment: The cart is invalid, got 1 error(s). salutation-missing-profile: A salutation needs to be defined for the customer profile SW77821, <user name>. {"error":"[object] (Shopware\\Core\\Checkout\\Cart\\Exception\\InvalidCartException(code: 0): The cart is invalid, got 1 error(s).\nsalutation-missing-profile: A salutation needs to be defined for the customer profile SW77821, <user name>. at /srv/www/htdocs/shop/vendor/shopware/core/Checkout/Cart/CartException.php:76)"} {"file":"/srv/www/htdocs/shop/custom/plugins/MolliePayments/src/Controller/Storefront/ApplePayDirect/ApplePayDirectControllerBase.php","line":416,"class":"Kiener\\MolliePayments\\Controller\\Storefront\\ApplePayDirect\\ApplePayDirectControllerBase","callType":"->","function":"finishPayment","url":"/mollie/apple-pay/start-payment","ip":"<ip>","http_method":"POST","server":"<url>","referrer":"<url>“}
When a guest user wants to use apple pay direct we get Warnings that there is an error (The payment with Apple Pay failed.) and a warning that The profile has no salutation.
Until Version 4.6 there was a link to set the default salutation but the payment could not be finished anyway.
Since the new update 4.9.1 the link just goes to account / registering / login page.
We use Shopware <IP_ADDRESS>
For over 2 months we are in contact with the support and we hoped for a solution with update 4.9.1.
I am not sure where the problem exactly lies, but the Error description and analysis in the original issue seems to be matching perfectly quite good with our problem.
Any Ideas if this is a new problem, or what could be done to fix it?
Best Regards,
Leo Härdle

Apple Pay does not provide a salutation, therefore we are searching in shopware for a salutation with the technical name "not_specified" in shopware salutations, to set them. if you dont have a salutation with this technical name, then it will not work i think.
can you add a new salutation in shopware admin with technical name "not_specified"?

Hey thank you for the fast reply.
We have a salutation with the technical name "undefined" and the name "not specified" which is pobably exactly the one I need.
I changed the technical name to 'not_specified' but it does not help.
But unfortunately the problem remains exactly the same.

Hey again,
Thanks for the answer ultimately it lead to success.
🥳. It works now.

hi awesome, love such easy tasks :D then i can close the ticket


When tracing AsyncRestTemplate, the Spans are not correlated with parent span

Hi guys!
I'm tracing in a standard MVC application calling backend services through the AsyncRestTemplate, but when checking in the Zipkin UI it seems that the traces does not become children of the parent span, instead just starting a new span. My guess is that the parent span does not get referenced after switching threads.
I've not experienced this behaviour using a standard synchronous RestTemplate, and I'm using the default AsyncRestTemplate provided by Sleuth-Zipkin.
I've setup a sample project to reproduce the issue at: https://github.com/billybong/asyncresttemplatetracing

That's unexpected. Once I'm back from sick leave I'll check it out. Thanks a lot for the sample!

@billybong can you check out if the latest snapshots work for you? I think I fixed this with https://github.com/spring-cloud/spring-cloud-sleuth/issues/546

Closing due to inactivity. Hopefully fixed via #546


events.k8s.io/v1beta1 Event is deprecated

What happened: Installed latest kuttl and wrote a test suite, and ran the suite, warning is logged:
Warning: events.k8s.io/v1beta1 Event is deprecated in v1.22+, unavailable in v1.25+

What you expected to happen: No warnings about deprecated APIs
How to reproduce it (as minimally and precisely as possible):

Run any kuttl test suite on Kubernetes 1.22+

Anything else we need to know?: n/a
Environment:

Kubernetes version (use kubectl version): v1.23.5+b463d71
KUTTL version (use kubectl kuttl version): 0.12.1
Cloud provider or hardware configuration: OpenShift 4.10 on baremetal
OS (e.g. from /etc/os-release): Ubuntu 20.04.3 LTS
Kernel (e.g. uname -a): 5.4.0-109-generic
Install tools: n/a
Others: n/a

This is not a problem because KUTTL is ready to use the events.k8s.io/v1 API. We can maintain events.k8s.io/v1beta1 for people using KUTTL with older Kubernetes versions.


New rule: no-prototype-builtins

Disallow use of Object.prototypes builtins directly
http://eslint.org/docs/rules/no-prototype-builtins
https://github.com/eslint/eslint/issues/2693

foo.hasOwnProperty("bar")

Seems like would be in reasonably widespread use - do we have a % breakage on this?

Seems like would be in reasonably widespread use - do we have a % breakage on this?

Perhaps. Just wanted to start a discussion, since I noticed this is in the latest eslint version. Seems like a legit potential bug in lots of programs, since it's an intricacy of the language that few understand.

Seems like a legit potential bug in lots of programs, since it's an intricacy of the language that few understand.

Yeah, we should def try and catch as many bugs as possible - to clarify: not opposed to enforcing this as it will catch errors (hadn't thought about this particular interaction until this issue).

do we have a % breakage on this?

# tests 427
# pass  401
# fail  26

3 of those failures are false positives due to a bug in the newest eslint. Still, this is a decent-sized breakage.
Next step would be to look through the 23 cases where it fails and see which are actual potential sources of crashes. If half of them are, then it probably makes sense to enable this in the next major version, even though some will need to change their code.

Honestly I'm surprised that % breakage is that small. Anyway, I'm not a fan of hasOwnProperty, but using it is strongly recommended for for in loops, and I've never seen such recommendation using this monstrosity:
for (var bar in foo) {
  if ({}.isPrototypeOf.call(foo, bar)) {
    // ...
  }
}

BTW, if someone needs map, should use Map or prototype-less object, not a plain object.

How is this
for (var bar in foo) {
  if ({}.hasOwnProperty.call(foo, bar)) {
    // ...
  }
}

much worse than this?
for (var bar in foo) {
  if (foo.hasOwnProperty(bar)) {
    // ...
  }
}

I've seen a lot of recommendations for using the former instead of the latter.
Also, I totally agree that you should use a Map, but sadly not all runtimes has that available...

Tiny modules to the rescue? :)
module.exports = hasOwnProperty

function hasOwnProperty (obj, prop) {
  return {}.hasOwnProperty.call(obj, prop)
}

// example
var hasOwnProperty = require('has-own-property')
// ...
for (var bar in foo) {
  if (hasOwnProperty(foo, bar)) {
    // ...
  }
}

..this one looks the best 😁

Said and done 👍
https://www.npmjs.com/package/has-own-property

LOL you beat me barely! :)
npm ERR! you do not have permission to publish "has-own-property". Are you logged in as the correct user? : has-own-property

@Flet Just saw that you created your own repo, sorry I thought that you where handing out an idea 😳
I'd be happy to transfer ownership on npm to you

No worries @linusU! Honestly I thought sindre would already have this built 😁

Haha, yes, I was quite surprised when I saw that the name was free 😆
I'm adding you as a maintainer at least :) that is, if you want to?

Cool! :)

@LinusU my problem was it too my over 2 minutes to figure out a cute emoji for the title 😜

Hehehe, yeah, I saw that you where very fast with the project structure. Do you use any tool for that? I literally typed out the entire module with cat > file 😆

I use @ungoldman's module-init to get the structure up quickly.

What about own properties?

let object = {
    hasOwnProperty () {
      return false;
    }
};

for (let key in object) {
    console.log(Object.prototype.hasOwnProperty.call(object, key)); //true
}

for (let key in object) {
    console.log(object.hasOwnProperty(key)); // false
}

It can be fixed:
Object.prototype.length = 1;

let object = {};

for (let key in object) {
    console.log(key); //length
}

for (let key in Object.entries(object)) {
   // nothing
}

But what about legacy code?

What about type detections?

Object.prototype.toString.call([]); // [object Array]

What about polyfills?

It seems you should to have more info about JS programs

I think we'll pass on this for now. Upon further investigation, the error is a bit too confusing and yields mostly false positives. We can always re-examine this later.


[prometheus-cpp] Update to version 0.7.0

Hey @gjasny, thanks for the port update. Is there a particular reason for enabling testing? As a general rule we do not build tests as it brings on additional dependencies and build times for a feature that users most likely will not be using. If there isn't, I can go ahead and re-disable the tests the tests for you. Let me know!

Hi @grdowns,
There's no particular reason to enable the tests. By enabling but not running them you gain a check for missing symbols.
Feel free to disable them, again.
Thanks,
Gregor

@dan-shaw, could you please add a test feature for this port? This way users who are interested in the additional level of symbol checking or want to run the tests themselves will be able to do so easily. Thanks!

Thanks for the PR!


[1133] Add env vars for course republishing to VSTS

Context
This gives manage-courses-backend the information it needs to trigger course republishing on manage-courses-api.
Terraform prior art: https://github.com/DFE-Digital/bat-infrastructure/pull/119
Guidance to review
I don't understand VSTS very well so don't know if adding this without going and poking the interface to define values for settingsManageApiBaseUrl and settingsManageApiSecret will cause everything to break.

 Config in Manage Courses Backend for bearer token auth with Manage Courses API


Semantic versioning tools and moving examples to jupyterbook

Fixes #54

@nikhilwoodruff any ideas why I'm getting Permission denied when running is-version-number-acceptable.sh?

@MaxGhenis bit of a cryptic one, but I think I've fixed it by increasing the permissions on the files with chmod +x .github/*.sh

@ernbilen fyi on https://github.com/PolicyEngine/synthimpute/pull/56/commits/a1094fbe5a8dbd46a3c10fe32f55f704d073acef
Doesn't work yet, should be modularized to avoid duplicating so much of rf_impute, and should be in a separate PR, but a start!


opcode: add SHR opcode

add SHR opcode
increase max degree of evm circuit from 9 to 11 due to 0..8 lagrange basis polynomial in SHR implementation. Will this be OK or any suggestion to optimize constraint degree in SHR?
Another two fixed lookup tables are added

don't change the permission of run.sh...

Need to close and reopen a new PR due to some bug in Github that causes changes from main to appear in the PR


Complete implementation of methods on standard types

The builtin types of Python have a number of methods associated with them - for example, dict objects have update(), items(), keys(), pop() and so on. These methods need to be implemented in Java. In many cases, there will be a simple mapping to an analogous function in the underlying Java type; however, sometimes you'll need to write an implementation using the available Java primitives.
Tests are are also required; they should go in the module corresponding to the data type in the tests/datatypes directory.
Tests are based on comparing the output of some sample Python code when run through CPython to the output when run through VOC. When the two outputs are identical - and I mean byte-identical, down to the text and punctuation of the error message if appropriate - the test passes.
If you want an example to follow, look at the implementation of clear() on dict:

The @org.python.Method annotation is used to expose the clear() method as a symbol that should be available at runtime.
All arguments are exposed as org.python.Object, and then cast to the right data type as required.
Finally, the method returns a Python None.

Hi there, first timer here, trying to help :smile:
I'm working on the dict builtin type, but I've got a encountered problems and I need some assistance:

dict functions like pop(), get() can get an additional, optional value to be returned on default, yet the Java functions only have one argument. Is this correct? Could another optional argument be added?
Should I add my tests to DictTests class or create my own?
I did not manage to figure out how to run any test. Do I run setup.py again and use voc as usual?
I tried to run ant java to get the support library as well, but it returned an error.

Thanks in advance!

Hi Tal! Thanks for offering to help out!
To answer your questions:

Implementing optional parameters is a little odd, but it is definitely possible. The best way to explain how it works is probably to look at an example - the builtin function range(). Range can take 1, 2 or 3 arguments; the @method() declaration defines this by specifying 1 argument in args, and 2 in default_args. At time of invocation, VOC will allow any argument in default_args (or default_kwargs) to be omitted; if the implementation of the method is in Java, then responsible for filling in the blanks. In the method body, you check each argument for the value null (a Java null, not the Python org.python.types.NoneType.NONE); a null means "use the default value"; anything else is the specifically provided value. for that argument.
Yes - you should add your tests to the existing DictTests.
You can run the tests by running python setup.py test from the root directory of the project. This can take a while, so it isn't very convenient for rapid turnaround testing; I'd suggest taking a look at cricket to make it easier to run single tests.
Can you provide details of the error message you're getting?

Gotcha, thanks for the quick response!
Cricket looks amazing, I will use that! :+1:
It's not an error I'm getting, but I am unsure where the get the python support library binaries, and Google was not helpful

Try running ant java in the root directory of the project which has the build xml file.

Alright, everything working and I'm on to it, thanks for the help!
One last question: I'm getting a funny behavior while testing len:
self.assertCodeExecution("""
            x = {'a': 1, 'b': 2}
            print(len(x))
            print(x)
            """)

Running the test I get the following error:
AssertionError: "2\n{'b': 2, 'a': 1}\n" != "2\n{'a': 1, 'b': 2}\n"
  2
- {'b': 2, 'a': 1}
+ {'a': 1, 'b': 2}
 : Global context

It seems that the Java out has flipped the order unlike the Python out, though this can be overlooked since built-in dictionaries aren't supposed to keep items' order.
The test is passing fine using an empty or 1 item dictionary.
Is opening an issue required?

This is one of those things that is going to fall under "feature, not bug" :-)
Python dictionaries are unsorted data structures, so their order isn't guaranteed. This is something that regularly bites the Django test suite - it's trivially easy to write a test that depends on a dictionary being processed in a particular order, but moving from a 32 bit to a 64 bit machine can (and thats "can", not "will") change the order in which the dictionary is stored.
In this case, the default ordering of a Java HashMap isn't the same as the hashing order provided by Python on the same machine. I suppose we could be ultra-pedantic and consider this a discrepancy, and therefore a bug - but the Python core team themselves consider relying on dictionary hashing order to be a bug (see the release notes for 2.7.3.
So, the "fix" here is to modify the test. Some possibilities:

Only use a dictionary of length 0 or 1 (which will have a predictable order)
Rather than checking the output of x, check that x contains 'a' and 'b', but doesn't contain 'c'.
Don't worry about checking the output of x at all - after all, in this particular case, I'm not sure it's checking anything in particular that the "len(x) == 2" check isn't doing.
Print a sorted version of the content. Of course, this assumes you have a working implementation of sorted() and items() as well, which is probably getting to the point where the test is too complex.

So I've managed to implement most of the methods, but I still have some left and I need assistance.

There are few functions (like __class__, __delattr__, __getattribute__) that appear in dir({}), but not in the Dict.java class. Is this for a reason or should I add them by myself?
The function __format__: The format_spec should be defined one time, globally, and then re-used in every __format__  functions. I couldn't find it if it has.
The “rich comparison” methods. When called directly ({}.__lt__(1)) they return "NotImplemented", and when called using {} < 1 they raise the following following excpetion: TypeError: unorderable types: dict() < int(). What should the code do, then?
The __dir__ function has a similar problem with an explicit call using {}.__dir__() and an indirect call using dir({}) returning two different string outputs.
The keys(), values() and  items() functions, should return a "View" object. After doing some digging I figured that the "dict_X" type which is returned using Python3 is actually the XView type from the package collections.Abc which needs to be imported (see here). How should I handle that?
If the return type of a method is a fixed type, should I change it from org.python.Object?

Thanks!

__class__ is an an attribute, not a method; it should be automatically populated in the obj.attrs HashMap on the Java object instance as part of object construction. __delattr__ and __getattribute__ are both methods that should be defined on the base org.python.types.Object definition. In both cases, you're the first person looking closely at getting a type to 100% Python compliance, so it's possible you might have hit a point where some of the internal handling of org.python.type.Type needs to be corrected to ensure that inherited methods are picked up as expected. While I would certainly like to see 100% compliance on the first swing, don't get too bogged down - an implementation that is 95% correct with a couple of notable differences will be 85% better than what is there right now; we can fix the remaining problems in a second pass.
I agree. org.Python probably is the best place for this.
Implement __lt__() as if it were being invoked directly as a function. The code to convert the NotImplemented into a TypeError will go in the implementation of the COMPARE_OP Python opcode.
In this case, the dir() builtin is implemented in org.Python. As with (3), some exception and re-raise handling is required.
I've got stubs for the sys and time modules; it sounds like you'll need to start a stub for the collections module, with an Abc submodule, containing a definition of a KeysView type. The basic definition of KeysView - constructors, toJava etc - should be close enough to org.python.types.Dict that you can use it as a template.
You need to be clear whether it is (a) an argument with a default, or (b) a keyword argument with a default. The general prototype of a Python function is myfunc(a, b=1, *varargs, c=2, **kwargs); a is a required argument; b is an argument with a default; c is a keyword argument with a default). In this case, dict.update([E,], **F), so:

    @org.python.Method(
        varargs="E",
        kwargs="F"
    )
    org.python.Object update(org.python.Object [] E, java.lang.Map<org.python.Object> F)

If the method is being exposed as a method in Dict, it needs to return org.python.Object, no matter what type the method is returning (even if it's returning None/void). Arguments should always be org.python.Object, org.python.Object [], or java.lang.Map<org.python.Object>, depending on whether it's an argument/keyword argument, a vararg, or a varkwarg.

I was looking at implementing the NotImplemented -> TypeError bit in COMPARE_OP, but just to make sure I'm on the right track - this is where the 'reflected operations' need to be dealt with right?
Or in other words, should the COMPARE_OP Python opcode be where we check if y is a subclass of x (but not the same class), and whether the operations return NotImplemented?

I would love to begin contributing code, any where I should start?

@wesseljb We've got a Guide for first time contributors on our website; if you've been there, and you've come to this ticket looking for specific advice on a builtin method to implement, I would suggest taking a look at the Str type. There are a bunch of simple methods on String dealing with case manipulation and so on, which should be fairly approachable for a first contribution.

Thank you, I will look at the methods on string.
On 10 October 2016 at 17:04, Russell Keith-Magee<EMAIL_ADDRESS>wrote:

@wesseljb https://github.com/wesseljb We've got a Guide for first time
contributors http://pybee.org/contributing/first-time/ on our website;
if you've been there, and you've come to this ticket looking for specific
advice on a builtin method to implement, I would suggest taking a look at
the Str type. There are a bunch of simple methods on String dealing with
case manipulation and so on, which should be fairly approachable for a
first contribution.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pybee/voc/issues/38#issuecomment-252650128, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGvh47EWXP7y-GSkduvcccpNF7B5Cqr7ks5qylP8gaJpZM4GvREI
.

I've been working on bytes() in Batavia (https://github.com/pybee/batavia/pull/221). My next job there job will be to correctly implement all the args/kwargs unpacking and error management for user-defined functions, up until https://www.python.org/dev/peps/pep-3102/.
For VOC, I'd like to do the same: first work on the bytes() builtin and the underlying Bytes object implementation to get the hang of the project, then move on to implement args/kwargs handling.

I'm working on case changes and type checks in String but there is a test that's failing due to unsupported characters: 'Ã¡'. The error I got was:
Traceback (most recent call last):
  File "..\voc\tests\utils.py", line 379, in assertCodeExecution
    py_out = runAsPython(self.temp_dir, adj_code, extra_code, args=args)
  File "..\voc\tests\utils.py", line 148, in runAsPython
    return out[0].decode('utf8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc1 in position 112: invalid start byte

For now I've removed those characters from the test.
I have also implemented islower() and isupper() (#375). This is my first time contributing so I wanted to check if I was doing this right.
Also, is there a better way to look for unimplemented methods? I've just been searching for "NotImplementedError" in random files.
Thanks in advance.

Searching for "NotImplementedError" is one approach; the other is to open a CPython shell, check to see what methods are available on a given type, and cross check with the Java implementation to make sure they're all present. Even adding the empty stubs of the functions that should be there would be a huge help.

I am working on String.
I will implement startswith() and improve endswith().

Hi, I am working on String methods..
I will implement replace(),strip(),lstrip(),maketrans(),translate().

I'll be doing the partition() String method then.

Hello, a first-timer here. Wish to contribute and help.
I have some Java and python knowledge. Where and how could I start ?

@Zoham have you checked the docs about contributing?
There is a first timers guide here, with instructions and pointers to next steps: http://pybee.org/contributing/how/first-time/what/voc/

Can I work on str.casefold?

Hey guys, which method implementation are still available that I can reserve and start working on ?

I would like to work on this if possible.. I have some experience in Java and Python. Thanks, Chandler

Working on bytes.endswith.

Hey, i'm working on bytes.zfill

This would be my first open source contribution. Can I work on str.rsplit()....?

This would be my first open source contribution.Can I work on str.rsplit()?

This would be my first open source contribution. Can I work on str.rsplit()?

@sairajsawant Any method that isn't already implemented, and hasn't been claimed by someone else in the last few days is fair game - so by all means, implement str.rsplit()!

I'm working on str.rsplit() !

Is str.rsplit() still taken? If not, I would like to try it.

str.rsplit() is taken?If yes allow me to help

str.rsplit() was implemented a long time ago.
As per the source file, the following methods are not implemented ( some of them are tricky enough and require a universal implementation ):
throw new org.python.exceptions.NotImplementedError("__format__() has not been implemented.");
        throw new org.python.exceptions.NotImplementedError("__dir__() has not been implemented.");
        throw new org.python.exceptions.NotImplementedError("__rmul__() has not been implemented.");
        throw new org.python.exceptions.NotImplementedError("__rmod__() has not been implemented.");
        throw new org.python.exceptions.NotImplementedError("encode() has not been implemented.");
        throw new org.python.exceptions.NotImplementedError("format() has not been implemented.");
        throw new org.python.exceptions.NotImplementedError("format_map() has not been implemented.");
        throw new org.python.exceptions.NotImplementedError("maketrans() has not been implemented.");
        throw new org.python.exceptions.NotImplementedError("translate() has not been implemented.");

working on join method of bytes and bytearray

#760

Hi! First time open source contributor here, trying to work on the keys and values method for Dict
In Python, the dict.keys(), dict.values() and dict.items() return dictview objects that are actually of different classes (class dict_keys,class dict_values and class dict_items) respectively
Keeping that in mind, is it necessary for us to write code for a single DictView class that can handle all the three together or is creating separate DictKeys, DictValues and DictItems classes also a valid approach? (In my opinion the latter seems more logical as in Python dict_keys behaves like a set and dict_values behaves like a list)

@Aniket1998 It doesn't have to be a single class; it just has to behave in a way consistent with Python. If three independent classes makes that easier, then that's fine.

hey! I am gonna try bytes.splitlines() and bytearray.splitlines(). Thanks!

bytearray.splitlines() will take some time, if someone wishes to proceed with it, they may certainly do so!

@ChetanKhanna Am I ok to pick up bytes.splitlines() or are you still working on that?

Hi ! Are there any methods left I can work on as a beginner and first-time contributor ?


Queries still sent to root servers when forwarder set

Problem
I have noticed that even though I have a forwarder set, bind is still trying to query root servers.
Explanation
My lan dns is a pihole that uses dns over https. I have rules on my router's firewall to redirect all dns queries on port 53 to the pihole. With lancache, I've noticed that when it queries the pihole, I also see identical queries at the same time coming from my router. Having enabled logging for redirects on my router, I can see that the lancache attempts to query root servers which get then redirected back to the pihole. If it weren't for the redirects these dns lookups to root servers could be considered a privacy leak, for what it's worth.
On entering the lancache-dns container, I see that the bind installation by default has /etc/bind/named.conf.default-zones which has the "." zone configured.
Solution
I cloned this repo, added in overlay/etc/bind/named.conf.default-zones with the "." zone commented out, and rebuilt the container.
lancache-dns no longer tries to query root servers, and simply sends the request straight on to the forwarder.
This is a relatively simple solution for me, but may require some modification to your build scripts to have it dynamically comment out the root zone if a forwarder is set.

Correction. This did NOT fix it. It still seems to be querying root servers, and now I'm not sure why.

this may be fixed?  I copied the named.conf.option from the latest version and it had the "forward only" already set.


Change testing to only cover latest sphinx version

Remove sphinx version pinning - only the latest version of sphinx will be fully supported, but previous versions will work if sphinx dependencies (i.e. jinja2) are managed correctly. This is inline with the approach at sphinx
Remove tests that were specific to older versions of sphinx and pygments
Remove jinja2 version pinning, as this is pinned in latest version of sphinx
Will resolve #166

Following the changes yesterday, I'm now planning on only testing against the latest sphinx and pygments versions here. This will simplify the testing outcomes and help us to be a bit more reactive with new versions of our dependencies. @Daltz333 does this seem reasonable?


chore: remove eslint

haven't found a way to make a basic eslint config work due to the config changes, so removing eslint for now.

Sad, might give it a try


fleetctl: status and restart commands with global units

This PR is yet another revision of a long-running issue, fleetctl restart and status with global units.

First allow "fleetctl status" to run with global units. For the purpose, implement a helper cmdGlobalMachineState() that filters a list of machines only with unique entries.
Introduce a new command "fleetctl restart". This part is originally taken from https://github.com/coreos/fleet/pull/1238 written by "Kyle Boorky<EMAIL_ADDRESS>committed by @hhoover .
Introduce unit test and functional test for fleetctl restart.
Add new tests for global tests in TestScheduleGlobalUnits().

This PR is not about changing API or metadata format in etcd registry. It's not introducing any new mechanism, because I don't think I can afford changing such design at the moment. It's rather a compromise between practical requirements and the current design of fleet. Though we still need to think about how to decrease number of ssh connections when restarting global units, as suggested by @kayrus. See also https://github.com/coreos/fleet/issues/1559.
Fixes https://github.com/coreos/fleet/issues/975

@dongsupark have you been using this since you created this PR? How's it holding up?
This will only allow for restarting existing units and doesn't enable updating an existing global unit one by one, right?
We've been doing something similar outside of fleet using SSH connections and calling systemctl, but had some issues with fleet getting in a broken state when updating global units, which seemed to be caused by the fact that we weren't updating the desired state of the units in fleet (ie we submitted a new one using fleet and then started it using systemctl without doing a fleetctl start).
Is anyone planning to review and merge this in the near future?

@simonvanderveldt
I'm just waiting for anyone to review this PR. And I thought it wouldn't be that urgent issue.
I'm also aware that in the past not everyone was happy with supporting the restart command. So I wouldn't just merge this PR, unless anyone could review it.

Fixed minor things, and force-pushed.
If no one objects, I'd like to merge it before the release v1.0, to close https://github.com/coreos/fleet/issues/1559.


Lesson export

Hi, opening a PR for a preliminary review. I think I've got all the basic functionality working now and we can start working on making adjustments to improve it.
Added:

An export button next to the edit button of each post
A markdown_export.js file to save the lesson as a .md
If a lesson has images then the images are downloaded alongside the markdown file inside a .zip

You should be able to view your markdown files by opening them in VS code and pressing ctrl + v on windows. At the moment indentation has been left out as I don't think this is supported in github markdown. I've also left the "small" heading tag as normal text for the time being.
Looking forward to getting some feedback :)

Hi @jrobind, sorry about that. Yes, I'm using VS code. I missed the .editorconfig file before. Other than installing the extension editorconfig are there any other steps I need to take to make use of that file?
If you'd like I'll make a new branch, add my changes and we can try again?


Restricting Zoom and Scroll Direction (X/Y Axis Only) and Callback for Current ZoomableState Updates.

Hello, first off, thanks for your work on this library. I'm currently integrating it into a project where I need to restrict zoom and scroll functionality to either the X or Y axis. Additionally, I'm looking for a way to access and update the current ZoomableState during zoom events via a callback. Is there an existing method in the library to handle these requirements, or are these features something that could be considered for future development?

I need to restrict zoom and scroll functionality to either the X or Y axis

Additionally, I'm looking for a way to access and update the current ZoomableState during zoom events via a callback

Can you share some more context for both of these usecases?

For your question posted here, wanna try applying the transformations yourself? This way you can filter the scale/offset values reported by telephoto's gesture listener along your desired axis.
val state = rememberZoomableState(
  zoomSpec = ZoomSpec(10f),
  autoApplyTransformations = false,
)

SineWave(
  Modifier
    .weight(1f)
    .fillMaxWidth()
    .zoomable(state, clipToBounds = false)
    .applyTransformation(state.contentTransformation)
)

fun Modifier.applyTransformation(transformation: ZoomableContentTransformation): Modifier {
  return graphicsLayer {
    scaleX = transformation.scale.scaleX
    //scaleY = transformation.scale.scaleY
    translationX = transformation.offset.x
    //translationY = transformation.offset.y
    transformOrigin = transformation.transformOrigin
  }
}

Thank you very much for your response. The solution you provided works perfectly. I probably should have thought of this approach myself after realizing that the Current ZoomableState Update was available. Nevertheless, I am extremely grateful for your assistance. It has been incredibly helpful. Thank you again for providing such an excellent library.


Update env variables in installation docs

fix installation docs:

the env var that controls the installed version is PIXI_VERSION
running

PIXI_VERSION=v0.18.0 curl -fsSL https://pixi.sh/install.sh | bash

will install the latest version.
the env var needs to on the bash that runs the install script

Awesome! Thank you!


only change values.yml ref: master to PR if repo is pelorus

when testing w/ openshift/release things were failing because the
change ref was from release and not pelorus.  Causing:
Cloning "https://github.com/konveyor/pelorus.git" ...
error: fatal: couldn't find remote ref refs/pull/29693/head
Describe the behavior changes introduced in this PR
Linked Issues?
resolves # <-- Use this if merging should auto-close an issue
related to # <-- Use this if it shouldn't
Testing Instructions
Please include any additional commands or pointers in addition to our standard PR testing process.
@redhat-cop/mdt

/lgtm


Fix indentation and class style for settings tabs

Realized after updating Atom that the settings tab was still showing an overlapping X on the icon. And that I was using tabs instead of spaces (monstrous!). This fixes those two things for you.

Aha, I hide tab icons so I didn’t catch this. And I ought to include an .editorconfig or something—in the meantime many thanks for making style consistent!

Thanks again @booc0mtaco. This is published as close-on-left 0.6.1.


Add ordering by virtual_fields

Now it is impossible to add ordering by virtual field if only virtual_field has not the same name as Model field has.

fixed in PR https://github.com/sanoma/django-arctic/pull/276


Include datasets

In GitLab by @grst on Mar 16, 2020, 15:08
Include demo datasets as part of the package (sctcrpy.datasets) similar to how it is done in scanpy.
Nice datasets to include:
10x

[x] https://www.nature.com/articles/s41586-020-2056-8#data-availability
[ ] 10x genomics demo datasets.

Smartseq2

[ ] https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE75688 (500 cells of human breast cancer, FASTQ available)
[ ] https://www.cell.com/immunity/pdf/S1074-7613(19)30001-9.pdf (mouse)

This is a prerequisite of making a nice tutorial.

Closed in favor of #198.
We will have a nice BCR Smart-seq2 dataset, I don't think there is an urgent reason to add more.


Add material(s) for procedural windows on OSM buildings

A while ago, I was inspired by this forum post to make a procedural window material for OSM buildings. After some polish, it works well in most areas and I'd love to make it available for Cesium for Unreal users. This comment contains an overview of the material that I made. We can use this issue to discuss whether it's appropriate to add to the samples, as well as possible improvements, adjustments, or alternatives.
The assets have been added to the branch procedural-osm-material, and a pull request has been created here.
What is this material?
(There's actually two materials, one that uses metadata for randomization, and one that doesn't, but they are similar otherwise. The metadata version is shown in the initial images.)
These materials add a window-like effect along the sides of OSM Buildings meshes. It can work with any tileset, but is designed for the simpler OSM buildings rather than photogrammetry.

 They are also emissive, which can create a "city lights" effect in nighttime scenes.

The materials have adjustable parameters so that users can optimize them for their scenes. For example, you can adjust building colors, window size, emissive intensity, and roughness of both the building and the window.
The material only maps along the sides of buildings, and even works for slanted roofs. The angle at which it cuts off the windows can be adjusted.

There's two variants:

ProceduralWindowsMetadata

This version uses a CesiumEncodedMetadata component to randomize building colors based on each primitive's elementId parameter. It is a slightly more expensive and complex shader, but produces a more convincing visual effect.
This is the material used for the two above pictures.
It offers additional customization of night appearance, which can result in varied brightness between buildings or buildings with their lights off.
It requires that the CesiumOSMBuildings tileset has a CesiumEncodedMetadata component set to the appropriate Material Layer, with all attributes except elementId removed.
It does not appear to be currently compatible with Bing Maps Raster Overlays - Adding an imagery overlay consistently seemed to break the metadata styling.

ProceduralWindowsSimple

This version does NOT use metadata to influence color, and as a result each building is the same color. It does have all other features mentioned in the overview above.

This material can work with a Bing Maps Raster Overlay, which serves to add color variation.

Implementation note - I haven't been able to find a convincing solution for color variation for this version. Typical techniques that use noise to influence object color don't work in this case, because it's a 3D tileset. The actor itself can't recognize one building from another without using metadata. 2D or 3D noise textures are an option, but because it must be applied in world space, you will have clusters of buildings of the same color, and some buildings will be multicolored in a very non-building way.

These materials could be expanded upon for improved visual fidelity. For example, instead of blending between different colors, you could use metadata to choose between textures, like brick or stone.
Performance
These materials perform within the typical range for 3D Tileset materials. Neither significantly impacted FPS on my machine.
They both use a 1024x1024 texture, which introduces some overhead.

ProceduralWindowsSimple stats:

Base pass shader: 201 instructions
Base pass shader with Volumetric Lightmap: 289 instructions
Base Pass vertex shader: 71 instructions
Texture samplers: 8 (9 if using Bing Maps imagery)

ProceduralWindowsMetadata stats:

Base pass shader: 242 instructions
Base pass shader with Volumetric Lightmap: 329 instructions
Base Pass vertex shader: 71 instructions
Texture samplers: 8

To compare, here are the stats for MI_CesiumThreeOverlaysAndClipping, which is the default Cesium for Unreal material.

Base pass shader: 237 instructions
Base pass shader with Volumetric Lightmap: 325 instructions
Base Pass vertex shader: 71 instructions
Texture samplers: 12

Caveats
Note that this material is not intended for photorealism. It's useful for helping OSM Buildings read more as buildings in a scene, but it's not perfect.
The window pattern is projected in world space along the X and Y axes. Therefore, it's subject to all the drawbacks of a world-aligned texture.
Here's how it looks in various situations on various buildings.

The material can't know where the ground is, so each story of a building is aligned at the same Z height. Windows may appear to clip through the ground.
The material is applied to all objects in the tileset, whether or not they're supposed to represent a building. For example, these are bridge towers.
Since it's world-aligned, if you are far from the origin the windows will no longer be applied correctly. You can fix this with origin rebasing.
The horizontal width of the windows will vary and possibly overlap depending on the building's alignment to the cardinal directions.

Seems like this was addressed by #37, so I'm going to close this issue. Thanks @argallegos !


Manually bump client release branch from 2.1.1 to 2.1.2

Manually bump client release branch from 2.1.1 to 2.1.2

Approved


Re-architect playbook to only make changes that are required

Even though Ansible/Fortios_* modules are idempotent, large batches of changes require a lot of CPU and Network. It would be more sensible to retrieve a list of existing objects/groups/policies from the FW and then make changes only when they differ from the target.
This is a significant change but would substantially improve playbook times and reduce CPU load.

Incorrect tag specification


Enabling hostIPC does not have any effect

Environmental Info:
K3s Version:
k3s version v1.30.1+k3s1 (80978b5b)
go version go1.22.2

Node(s) CPU architecture, OS, and Version:
Linux remod-p1 6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug  2 20:41:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Cluster Configuration:
1 server, 1 agent
Describe the bug:
It seems that enabling hostIPC does not have any effect.
Steps To Reproduce:

Installed K3s: curl -sfL https://get.k3s.io | sh -
Create a pod definition:

echo "apiVersion: v1
kind: Pod
metadata:
  name: test-ipc
spec:
  hostIPC: true
  containers:
    - name: test-ipc
      image: ubuntu:focal
      command: [\"sh\", \"-c\"]
      args: [\"while true; do echo 'foo'; sleep 1; done;\"]" > test-ipc-pod.yaml

Install pod: kubectl apply -f  test-ipc-pod.yaml
Check IPC mode: docker inspect $(docker ps -q --filter "name=k8s_test-ipc") | grep IpcMode

Expected behavior:
The IpcMode is set as if you'd run a docker image with --ipc=host:
"IpcMode": "host",
Actual behavior:
"IpcMode": "container:e86cde4006dd4ebb82229db13e77b223e248b4969dc3738d58600971874ff372",
Additional context / logs:
I've noticed that the POD sibling of the container uses "IpcMode": "host", but that seems to be independent of whether I am setting hostIPC to true or false:
$ docker inspect $(docker ps -q --filter "name=k8s_POD_test-ipc") | grep IpcMode
            "IpcMode": "host",

It sounds like you're using cri-dockerd (--docker) although you didn't call this out?
I don't know this is expected to work, but this is not managed by anything here in K3s. If you're using Docker as your container runtime, I would open an issue with https://github.com/Mirantis/cri-dockerd

All clear, thanks for the pointer @brandond !

@brandond
Still on this, but not 100% related with the title.
Using k3s with containerd, with the Pod spec described above.
I do a ctr c info CONTAINER_ID and I got something like this under namespaces mapping:
{
    "type": "ipc",
    "path": "/proc/2058171/ns/ipc"
}

Where that proc path number is the pause container.
If I start a container using nerdctl (nerdctl run --ipc=private ubuntu:focal sh -c  "while true; do echo 'foo'; sleep 1; done;", then I do a ctr c info CONTAINER_ID and I got no IPC details on namespaces mapping.
Now my question are:

is this behaviour a bug or a feature?
if it is a feature, can we bypass the pause container and have a similar way how nerdctl does things?

K3s (this project) doesn't do any of this. This is all containerd and CRI API stuff. If you want things changed, that would need to happen elsewhere.

I will say that the pause container IS the pod sandbox. The pause container exists to remain running, as namespaces are cleaned up by the kernel as soon as the last process in them exits. The pause container (pod sandbox) remains running as long as the pod exists, so that other containers can run within the same namespaces.
This is just how Kubernetes and CRI works.

Thanks for the reply! Yes, I got the same behaviour with other k8s engines (EKS and minikube). Thanks for confirming our suspicions.