GPU device returns error: file exists

code like this:
	p, err := mxnet.CreatePredictor(symbol,
		params,
		mxnet.Device{Type: mxnet.GPU_DEVICE, Id: 0},
		[]mxnet.InputNode{{Key: m.inputKey, Shape: m.inputShape}},
	)
	if err != nil {
		return err // error occurs here
        }

Is GUP not supported in this bindings?

@oskca
sorry for late， if you still have this issue please let me know. I will fix it in two days.

It works now, thanks :smile:


⚠ DesiTorrents has degraded performance

In 415fb94, DesiTorrents ($DST) experienced degraded performance:

HTTP code: 200
Response time: 3623 ms

Resolved: DesiTorrents performance has improved in 3a29cbb after 6 minutes.


cant open even with sudo

I cant open CheckNonceGUI with sudo open

hi i did everything see below and still can't open the app.  Thank you
I have Mojave 10.14.0
If the app gives an error about being damaged please run -
xattr -cr Path/To/CheckNonceGUI.app
And try again.
If the app doesn't run at all, try opening a terminal window and running -
sudo open Path/To/CheckNonceGUI.app/Contents/MacOS/CheckNonceGUI


Update npm published package

NPM latest version is 6 years old, can we get published a new one with latest code?

Working on this now - expect something Soon ™ ! 🙌

<EMAIL_ADDRESS>is now published on npm. Note that it's purely a docs touchup to improve the published README.md and repository metadata. I'll push more versions soon that include actual features and fixes. Cheers! 🧡


Question description of Project 2

Do we only need to implement a program to do matrix multiplication of square matrices with same shapes? In other words, are the values of M, N and K equal?

You should support any size of matrix as long as the multiplication is legal. Therefore, M, N, K may be not equal.


Saving chrono::NaiveDateTime panics with TokenDone cur_cmd: 224

I'm inserting a record into my database, and one of the columns in the insert is a DATETIME2 type. I'm using 0.3.{1 || 2}, and I've noticed the below:

The insert saves correctly, as I can see the datetime2 being populated
The insert throws an error though, with the below error
Removing the datetime2 parameter, and not saving any value there, results in the save not panicing.

thread '<unnamed>' panicked at 'query: unexpected token: DoneProc(TokenDone { status: (empty), cur_cmd: 224, done_rows: 0 })', C:\Users\nedipale\.cargo\registry\src\github.com-1ecc6299db9ec823\tiberius-0.3.2\src\query.rs:158:22
n

For reference, my query looks like:
let timestamp = chrono::NaiveDateTime::from_timestamp(three, 0);
conn.query("
    INSERT INTO my_table (
        one, two, three, the_datetime2_col, five, six
    ) values (@P1, @P2, @P3, @P4, @P5, @P6)",
    &[
        &one.as_str(),
        &two.as_str(),
        &three.as_str(),
        &timestamp,
        &five.as_str(),
        &true
    ]
)

Do you know what could be causing this?

Well, does using exec insteadof query work ?

It returns ExecResult which from the docs is A single resultset yielding the status of query execution (currently the amount of affected rows).
I wanted to execute an insert, and get the ID of the inserted record back. Using exec still returns a result count of 0 even though I can see that the record is inserted in the database.
Using exec no longer blocks my work though, but do you mind if I leave this issue open, so that I can come back to it later when I make more time; to properly reproduce it? Thanks!

AFAIK the proper way to do this would be to add an OUTPUT clause to the INSERT and
use query.
Something like:
INSERT INTO my_table(one, two)
OUTPUT INSERTED.ID
VALUES (@P1, @P2)


Pipe failure modes

We should make it possible to specify a timeout on a transmission Pipe. If the socket on the pipe is down when we try to publish something on it it should go into a selective-receive, awaiting a new pipe from the transmitter—this might already be in the process mailbox, but if it is not we should wait the specified timeout and then do something alternative.
That alternative could be to return {:error, :closed} to the caller, but I suggest a pipe can be configured with specified failure modes when the timeout is triggered:

:crash crash the owner process
:drop drop the package, this can be used if the process produces a lot of messages and they are not that important (say a sensor that emit every second), this will allow us to have a short timeout, and otherwise rely on the process receiving the new pipe in its mailbox eventually.
:error send a regular {:error, :closed}-tuple to the caller letting the user define what should happen now that the timeout has been reached.

Pipes has been added in the Tortoise.Pipe module. They still need some documentation, but they should be ready for implementing different kinds of error handling now.


Submit form and wait before getting the response

Hello,
With the help of gsouf I now have the following script:
$content = $page     ->evaluate(         '(() => {             document.querySelector('#username').value = 'username';             document.querySelector('#password').value = 'password';             document.querySelector('#loginform').submit();         })()'     )     ->getReturnValue();
Only when doing this the return value is empty.

@woodsbox That's normal, getReturnValue will wait for the script to execute and return the value returned by the script. When the script returned the new page is not loaded yet, you will have to add a new instruction for that.
As I said that's not implemented in the library yet, so I need to give further test instead of giving you a wrong answer. If you have a little patience I will check for this tomorrow in the morning (UTC+2)

@gsouf I'm sorry I thought you ment open a new ticket, of course I have time to wait!! thanks already so much for your help!

Hi @woodsbox
I added a method (waitForPageReload) to the page evaluation that lets you wait for the page to reload when javascript has been evaluated in the page. See the example here: https://github.com/chrome-php/headless-chromium-php/blob/master/examples/form-submit.php

@woodsbox nont that you will have to update to version 0.1.3

@gsouf  maybe stupid question but how to update?

@woodsbox you should use composer update

@gsouf Perfect!!!
Only wanted to let you know this works:
document.querySelector("#myinput").value = "hello";
This doesn't:
document.querySelector('#myinput').value = "hello";
The ' couses a 500 internal error.

@woodsbox that's great. Yes the reason is probably that quotes are conflicting with php string quotes.


cmd/compile: uncaught RuntimeError: memory access out of bounds

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

$ go version
go version go1.14.1 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/hajimehoshi/Library/Caches/go-build"
GOENV="/Users/hajimehoshi/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/hajimehoshi/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/ht/ky_bwgzs4bd5z1hh02k34x_h0000gn/T/go-build937690981=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

Build this Go program as Wasm and run it on a browser several times:
package main

import (
        "fmt"
        "time"
)

func main() {
        ch1 := make(chan string)
        ch2 := make(chan string)
        ch3 := make(chan struct{})

        go func() {
                for {
                        time.Sleep(5 * time.Millisecond)
                        ch1 <- "A"
                }
        }()
        go func() {
                for {
                        time.Sleep(7 * time.Millisecond)
                        ch2 <- "B"
                }
        }()
        go func() {
                for {
                        time.Sleep(3 * time.Second)
                        close(ch3)
                }
        }()

loop:
        for {
                select {
                case str := <-ch1:
                        fmt.Println(str)
                case str := <-ch2:
                        fmt.Println(str)
                case <-ch3:
                        fmt.Println("Done")
                        break loop
                }
        }
}

What did you expect to see?
No error (except for 'already exit')
What did you see instead?
Sometimes I saw this error:
Uncaught RuntimeError: memory access out of bounds
    at runtime.__waitq_.dequeue (wasm-function[113]:0xbe09)
    at runtime.chanrecv (wasm-function[109]:0xab34)
    at runtime.chanrecv1 (wasm-function[108]:0xa89b)
    at syscall.fsCall (wasm-function[1636]:0x12510e)
    at syscall.Write (wasm-function[1634]:0x12471b)
    at internal_poll.__FD_.Write (wasm-function[1657]:0x128d1e)
    at os.__File_.Write (wasm-function[1669]:0x129ef2)
    at fmt.Fprintln (wasm-function[1700]:0x131eb1)
    at main.main (wasm-function[1720]:0x14065c)
    at wasm_pc_f_loop (wasm-function[950]:0xc3a5f)

  | runtime.__waitq_.dequeue | @ | 008b857e-113:116
  | runtime.chanrecv | @ | 008b857e-109:249
  | runtime.chanrecv1 | @ | 008b857e-108:37
  | syscall.fsCall | @ | 008b857e-1636:354
  | syscall.Write | @ | 008b857e-1634:451
  | internal_poll.__FD_.Write | @ | 008b857e-1657:385
  | os.__File_.Write | @ | 008b857e-1669:164
  | fmt.Fprintln | @ | 008b857e-1700:170
  | main.main | @ | 008b857e-1720:471
  | wasm_pc_f_loop | @ | 008b857e-950:14
  | wasm_export_resume | @ | 008b857e-949:5
  | _resume | @ | wasm_exec.js:544
  | (anonymous) | @ | wasm_exec.js:308
  | setTimeout (async) |   |
  | runtime.scheduleTimeoutEvent | @ | wasm_exec.js:306
  | runtime.scheduleTimeoutEvent | @ | 008b857e-969:6
  | runtime.beforeIdle | @ | 008b857e-158:107
  | runtime.findrunnable | @ | 008b857e-564:1278
  | runtime.schedule | @ | 008b857e-569:960
  | runtime.park_m | @ | 008b857e-572:245
  | runtime.mcall | @ | 008b857e-899:77
  | runtime.gopark | @ | 008b857e-515:312
  | runtime.selectgo | @ | 008b857e-655:2335
  | main.main | @ | 008b857e-1720:349
  | wasm_pc_f_loop | @ | 008b857e-950:14
  | wasm_export_resume | @ | 008b857e-949:5
  | _resume | @ | wasm_exec.js:544
  | (anonymous) | @ | wasm_exec.js:308
...

CC @neelance

I could not confirm this issue on node.js, but could confirm on Chrome browser (Version 80.0.3987.149 (Official Build) (64-bit))

CC @dmitshur
Any updates?

I can also reproduce it. It seems y.prev in runtime.(*waitq).dequeue is pointing to some garbage, a huge number beyond the address space. And it is also reproducible without the second channel (ch2), with a different error where it panics in with nil channel in chanrecv, called from syscall.fsCall. This channel is clearly non-nil, as it is created a few lines ago. Looks like some kind of memory corruption to me. I haven't figured out the cause, though.

This doesn't happen with Go 1.13.9. I think this is a regression. I'll try to bisect.

6becb033341602f2df9d7c55cc23e64b925bbee2  seems the culprit: in this commit, I saw a different error:
fatal error: unexpected signal during runtime execution
wasm_exec.js:47
runtime stack:
wasm_exec.js:47 runtime: unexpected return pc for syscall.fsCall called from 0x160258670d0f8fc0
wasm_exec.js:47 stack: frame={sp:0x156ac0, fp:0x156b58} stack=[0x154fd8,0x156bd8)
wasm_exec.js:47<PHONE_NUMBER>1569c0:<PHONE_NUMBER>038ab1<PHONE_NUMBER>00002a
wasm_exec.js:47<PHONE_NUMBER>1569d0:<PHONE_NUMBER>13bbc0<PHONE_NUMBER>bf0003 <runtime.typedmemmove+3>
wasm_exec.js:47<PHONE_NUMBER>1569e0:<PHONE_NUMBER>000001  160258670ca48400
wasm_exec.js:47<PHONE_NUMBER>1569f0:<PHONE_NUMBER>000001<PHONE_NUMBER>42c360
wasm_exec.js:47<PHONE_NUMBER>156a00:<PHONE_NUMBER>42c3b0<PHONE_NUMBER>57001a <runtime.chanrecv+26>
wasm_exec.js:47<PHONE_NUMBER>156a10:<PHONE_NUMBER>000000<PHONE_NUMBER>156b38
wasm_exec.js:47<PHONE_NUMBER>156a20:<PHONE_NUMBER>000007<PHONE_NUMBER>240000 <runtime.(*mheap).coalesce.func2+0>
wasm_exec.js:47<PHONE_NUMBER>156a30:<PHONE_NUMBER>880010 <runtime.beforeIdle+16><PHONE_NUMBER>000000
wasm_exec.js:47<PHONE_NUMBER>156a40:<PHONE_NUMBER>000002<PHONE_NUMBER>000007
wasm_exec.js:47<PHONE_NUMBER>156a50:<PHONE_NUMBER>46b9c0<PHONE_NUMBER>000001
wasm_exec.js:47<PHONE_NUMBER>156a60:<PHONE_NUMBER>000001  160258670d0f8fc0
wasm_exec.js:47<PHONE_NUMBER>156a70:<PHONE_NUMBER>161800<PHONE_NUMBER>410058
wasm_exec.js:47<PHONE_NUMBER>156a80:<PHONE_NUMBER>000000<PHONE_NUMBER>000001
wasm_exec.js:47<PHONE_NUMBER>156a90:<PHONE_NUMBER>560002 <runtime.chanrecv1+2><PHONE_NUMBER>410000
wasm_exec.js:47<PHONE_NUMBER>156aa0:<PHONE_NUMBER>156b38<PHONE_NUMBER>000001
wasm_exec.js:47<PHONE_NUMBER>156ab0:<PHONE_NUMBER>e60010 <runtime.casgstatus+16><PHONE_NUMBER>26000d <syscall.fsCall+13>
wasm_exec.js:47<PHONE_NUMBER>156ac0: <0000000000410000<PHONE_NUMBER>156b38
wasm_exec.js:47<PHONE_NUMBER>156ad0:<PHONE_NUMBER>42c360<PHONE_NUMBER>000001
wasm_exec.js:47<PHONE_NUMBER>156ae0:<PHONE_NUMBER>000000<PHONE_NUMBER>42c3b0
wasm_exec.js:47<PHONE_NUMBER>156af0:<PHONE_NUMBER>000000<PHONE_NUMBER>4105d8
wasm_exec.js:47<PHONE_NUMBER>156b00:<PHONE_NUMBER>000007<PHONE_NUMBER>410000
wasm_exec.js:47<PHONE_NUMBER>156b10:<PHONE_NUMBER>000001<PHONE_NUMBER>13bbc0
wasm_exec.js:47<PHONE_NUMBER>156b20:  160258670cc8d600<PHONE_NUMBER>410000
wasm_exec.js:47<PHONE_NUMBER>156b30:<PHONE_NUMBER>09005e <runtime.schedule+94><PHONE_NUMBER>000000
wasm_exec.js:47<PHONE_NUMBER>156b40:<PHONE_NUMBER>000000<PHONE_NUMBER>000000
wasm_exec.js:47<PHONE_NUMBER>156b50: !160258670d0f8fc0 >0000000012ed0000 <runtime.isSystemGoroutine+0>
wasm_exec.js:47<PHONE_NUMBER>156b60:<PHONE_NUMBER>400900<PHONE_NUMBER>000000
wasm_exec.js:47<PHONE_NUMBER>156b70:<PHONE_NUMBER>000000<PHONE_NUMBER>13bbc0
wasm_exec.js:47<PHONE_NUMBER>156b80:<PHONE_NUMBER>590004 <runtime.chanparkcommit+4><PHONE_NUMBER>42e0b8
wasm_exec.js:47<PHONE_NUMBER>156b90:<PHONE_NUMBER>0c001b <runtime.park_m+27><PHONE_NUMBER>400900
wasm_exec.js:47<PHONE_NUMBER>156ba0:<PHONE_NUMBER>42e0b8<PHONE_NUMBER>000001
wasm_exec.js:47<PHONE_NUMBER>156bb0:<PHONE_NUMBER>13bbc0<PHONE_NUMBER>4d0001 <runtime.mcall+1>
wasm_exec.js:47<PHONE_NUMBER>156bc0:<PHONE_NUMBER>400900<PHONE_NUMBER>156c00
wasm_exec.js:47<PHONE_NUMBER>156bd0:<PHONE_NUMBER>000000
wasm_exec.js:47 syscall.fsCall(0x12ed0000, 0x400900, 0x0, 0x0, 0x13bbc0, 0x10590004, 0x42e0b8, 0x120c001b)
wasm_exec.js:47 	/Users/hajimehoshi/go-code/src/syscall/fs_js.go:513 +0xd
wasm_exec.js:47
wasm_exec.js:47 goroutine 1 [waiting]:
wasm_exec.js:47 syscall/js.Value.Call(0x7ff800000000000a, 0x32e54, 0x5, 0x452000, 0x6, 0xa, 0x5)
wasm_exec.js:47 	/Users/hajimehoshi/go-code/src/syscall/js/js.go:326 +0x3
wasm_exec.js:47 syscall.fsCall(0x32e54, 0x5, 0x436cb8, 0x5, 0x5, 0x44e001, 0x430a90, 0x41e008)
wasm_exec.js:47 	/Users/hajimehoshi/go-code/src/syscall/fs_js.go:496 +0xc
wasm_exec.js:47 syscall.Write(0x1, 0x41e008, 0x2, 0x8, 0x1440000e, 0x12da18, 0x0)
wasm_exec.js:47 	/Users/hajimehoshi/go-code/src/syscall/fs_js.go:417 +0x11
wasm_exec.js:47 internal/poll.(*FD).Write(0x42c120, 0x41e008, 0x2, 0x8, 0x0, 0x0, 0x0)
wasm_exec.js:47 	/Users/hajimehoshi/go-code/src/internal/poll/fd_unix.go:268 +0x22
wasm_exec.js:47 os.(*File).write(...)
wasm_exec.js:47 	/Users/hajimehoshi/go-code/src/os/file_unix.go:276
wasm_exec.js:47 os.(*File).Write(0x40c020, 0x41e008, 0x2, 0x8, 0x436e18, 0x13410000, 0x10770005)
wasm_exec.js:47 	/Users/hajimehoshi/go-code/src/os/file.go:153 +0xf
wasm_exec.js:47 fmt.Fprintln(0x4a200, 0x40c020, 0x436ec8, 0x1, 0x1, 0x13a20, 0x156c08, 0x0)
wasm_exec.js:47 	/Users/hajimehoshi/go-code/src/fmt/print.go:265 +0x8
wasm_exec.js:47 fmt.Println(...)
wasm_exec.js:47 	/Users/hajimehoshi/go-code/src/fmt/print.go:274
wasm_exec.js:47 main.main()
wasm_exec.js:47 	/Users/hajimehoshi/test/wasmbug/main.go:38 +0xf
wasm_exec.js:47
wasm_exec.js:47 goroutine 6 [chan send]:
wasm_exec.js:47 main.main.func1(0x42e060)
wasm_exec.js:47 	/Users/hajimehoshi/test/wasmbug/main.go:16 +0x4
wasm_exec.js:47 created by main.main
wasm_exec.js:47 	/Users/hajimehoshi/test/wasmbug/main.go:13 +0x5
wasm_exec.js:47
wasm_exec.js:47 goroutine 7 [sleep]:
wasm_exec.js:47 time.Sleep(0x6acfc0)
wasm_exec.js:47 	/Users/hajimehoshi/go-code/src/runtime/time.go:247 +0xe
wasm_exec.js:47 main.main.func2(0x42e0c0)
wasm_exec.js:47 	/Users/hajimehoshi/test/wasmbug/main.go:21 +0x3
wasm_exec.js:47 created by main.main
wasm_exec.js:47 	/Users/hajimehoshi/test/wasmbug/main.go:19 +0x6
wasm_exec.js:47
wasm_exec.js:47 goroutine 8 [sleep]:
wasm_exec.js:47 time.Sleep(0xb2d05e00)
wasm_exec.js:47 	/Users/hajimehoshi/go-code/src/runtime/time.go:247 +0xe
wasm_exec.js:47 main.main.func3(0x42e120)
wasm_exec.js:47 	/Users/hajimehoshi/test/wasmbug/main.go:27 +0x3
wasm_exec.js:47 created by main.main
wasm_exec.js:47 	/Users/hajimehoshi/test/wasmbug/main.go:25 +0x7

After 6becb033341602f2df9d7c55cc23e64b925bbee2, c2e2296dd7dea68de4a45d8dc82b1920130eb74a is the first error to see the same error as reported.

CC @ianlancetaylor

I think that somebody familiar with wasm is going to have to dig into this.  My contribution here is https://golang.org/cl/171827 and https://golang.org/cl/203890.  It sounds like the new timers have broken some garbage collection invariant, but I don't know what it would be.  Sorry.

Thanks @hajimehoshi and @ianlancetaylor ! I could probably look into this a little more, but maybe not today. I'm having some issue running wasm on my browser...

@cherrymui Hi, what's going on this? Thanks.

This is the same issue as #38574, please see my analysis there.

Thanks.
I was wondering if this will be backported to 1.14 or not since this is a memory-corruption error.

@hajimehoshi Seems unlikely, because js/wasm is still experimental. See https://github.com/golang/go/wiki/MinorReleases for the policy on backports.

Ah OK, that's unfortunate but makes sense. Thanks!


0.9.0-RC2 GUI randomly crashed on first display of "MOONFUND" market after startup

When I relaunched the client and went to page again, it displayed the info ok.

Duplicate: https://github.com/BitShares/bitshares/issues/1477


fix(qwikVite): multiple outputs logic

Overview
Fixes #6620 and retains #6452. Successor of #6643.
What is it?

[ ] Feature / enhancement
[x] Bug
[ ] Docs / tests / types / typos

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Use cases and why

One use case

Another use case

Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[x] Added new tests to cover the fix / functionality

Thanks @KingSora
@wmertens can you review please?  🙏

Thanks @KingSora !


Add CSS Lint support (using Node's csslint)

CSS Lint is a wonderful new CSS syntax checker, which also has a command-line tool using Node.js. It shouldn't be difficult to add it, and could be a great addition to Syntastic.

Looks like someone added what we needed: https://github.com/stubbornella/csslint/issues/152
And sitedyno did a pull request for it. @oryband

Hey guys, sorry for not responding to this earlier - I have just moved to a different country (best excuse ever?!).
I have pulled from sitedyno. Please confirm that this fixes the issue :)

No problem. I'm actually having issues with csslint 0.8.0 not working at all.

you guys still having issues with this? it seems to be working fine for me on csslint 0.8.5

cool, ill close this off then. Just comment here or open another issue if there are any more problems


Looks Like Trash On Mobile

Describe the bug
elements with .page-logo overlap text on very small devices, looks ok on a OnePlus but iPhone SE looks awful
To Reproduce
Steps to reproduce the behavior:

Visit Website on Phone
Cry

Expected behavior
Should either hide images on small devices or force text to a new row and center the image
Screenshots

Desktop:

Irrelevant

Smartphone:

ALL (especially smaller ones)

Reference #13


dynamically update characteristic props

Hi, anyone knows how to dynamically change characteristic props, like for instance HIDDEN permission to dynamically hide or show? or if this works at all?
My actual understanding is that props are sent to clients when they issue the /accessories request, is there a way to notify the clients that characteristic props have changed?

I tried changing permissions (read-only vs read/write) and changing minValue and maxValue dynamically, only to find that HomeKit would hang or kick the accessory.  My conclusion so far is that HomeKit really doesn’t like changing properties.

Regarding read-only vs read-write you can somehow manage that returning a READ_ONLY_CHARACTERISTIC error from your "set" handler, but show/hide would be truly useful.

Regarding read-only vs read-write you can somehow manage that returning a READ_ONLY_CHARACTERISTIC error from your "set" handler, but show/hide would be truly useful.

Yes, that’s doable, but I would prefer the HomeKit app to display a read-only control pro-actively, rather than re-actively slapping the user on their wrist.


Possible future enhancement NPD

i think you can try to use recently introduced Normalised Pixel Difference features instead of existing.
You can read more here: http://www.cbsr.ia.ac.cn/users/scliao/papers/Liao-PAMI15-NPD.pdf
I'm currently doing some tests using NPD for facial landmarks alignment and it clearly outperforms classical pixel difference features.

Thanks a lot!

@inspirit
Hi, I'm studying face alignment now. I have replaced conventional pixel difference by normalized pixel difference. However, it seems that NPD made no contribution to accuracy. Is there any part I need to modify to match the new feature? Thanks!

this is not that easy as just using NPD instead of pixel diffs. you should take into account that response values will be different so you should select threshold more careful. please refer to the paper i mentioned above

Actually, I have selected threshold from -0.25 to 0.25 when using NPD, while -64 to 64 when using PD. But I made no improvement. Anyway, thanks!

in my implementation i'm generating random splits with 2 thresholds one negative and one positive.
threshold values are in range -127 to 127. so for each split i try 10 random thresholds * 30 random pixel positions, and then select the one that reduce the error better than others.
the split check against 2 thresholds is:
const float npd = response(feature_responses);
// thresh1 is negative, thresh2 is positive in [0,127) range
return npd < thresh1 || npd > thresh2;

Thank you very much, I have read the paper.  Originally I thought that double thresholds were only used in duadratic tree. Now I figure it out. Thanks!

@inspirit , Could you mind leaving me your e-mail address? I have some problems about face alignment to inquire you. Thanks!

Have you got any progress with NPD? I have tried many parameters, but still can't get to good results. I 'm wondering if I need to changge to NPD too. Thanks. @prayshe

I have some questions too..:
const float npd = response(feature_responses);
Do you used response (f1-f2)/ (f1+f2) or more complicated function?
// thresh1 is negative, thresh2 is positive in [0,127) range
return npd < thresh1 || npd > thresh2;
What scale is used for npd weighing?


M3-4351: Linode Storage Tab

Description
Create the Linode Storage tab, which includes panels for Disks and Volumes. The Volumes panel makes use of the new EntityTable and component row pattern.
Type of Change

Non breaking change ('update', 'change')

Core functionality and formatting should be in place. WIP label because I need to look further into which wrappers and imports can be removed from LinodeStorage.tsx

@jskobos I've cleaned everything up, the only remaining point is the drawer for attaching to the current Linode. Having it open the "Attach Existing Volume" variant of the Create Volume drawer would require passing a prop down for conditional logic in VolumesActionMenu_CMR I believe, otherwise that variant would end up opening if a user tried to attach a volume from the Volumes landing page, too. Should I do that or do you think this is good to go?


Several DKIM Selectors, SPF Status Reporting Issues

@wolveix First, thank you so much for improving DSS!
Following up as we are more closely working through a set of domains, I found the following three (3) additional DKIM selectors missing results from the latest DSS to consider for its catalog:
s1
s2
qualtrics
Here's a domain that DSS didn't report SPF or DKIM results, has DKIM selector of "qualtrics":
ugicorp.com
EasyDMARC Domain Security Scanner site to compare with:
https://easydmarc.com/tools/domain-scanner

Hey @OrlandoMD! You're very welcome regarding the improvements to DSS, it's thanks to your feedback that we're able to improve it further :)
Thanks for this information. While there may be value in including s1 and s2, I'm not sure about qualtrics personally. I'll need to research it more. The only issue with expanding the list is that it requires an additional lookup for every domain. I'm working on parallelizing DNS requests (currently only bulk domains run concurrently, not each of their DNS lookups) which may trivialize this concern.
Regarding the missing SPF information for that domain, this is due to the issue addressed in #15. This domain seems to have an even larger SPF response than the other domain, requiring the buffer to be increased even further. Please see my example command below with the full response:
❯ ./bin/dss scan ugicorp.com --dnsBuffer 2048 --dkimSelector qualtrics
scanResult:
    domain: ugicorp.com
    dkim: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCXf1qc5i1bhv5TLyEWR3uoqF2LKr/CGszInmpf/Gyi5VW5SfA4/rcv1mKs6kADC+L6jBfmtMiel0pFPtYzSThplfsKysc6t3/dQosxYSXxYXXmTdXQbGWKcJ9rTQSlXa9fHFdHOx/JaFGwyE3gvwAWF6IH6Q8jCm6ztZI/WfTCowIDAQAB
    dmarc: v=DMARC1; p=none<EMAIL_ADDRESS><EMAIL_ADDRESS>fo=1d1Mt/kWuxIrM4F1LIGZ01ZP4DNE1ZKsaKob2Sv022oZeKV+FR+W4zVqK2ailYQGOZL33Hwc2PvWVf4Rn58UL8Q==MS=ms787728055QWq6nc6VzT1iPf8JpQHQSq1ZTmCvIvk/kZz7BA3dhy19E2JH0OgWltUKo5ZNgYYJzQgcquIaLGYc8x077HJuw==MS=ms46967064ccc9p3j5230l5g0gtbasqv8jb6v=DMARC1; p=none; fo=1<EMAIL_ADDRESS><EMAIL_ADDRESS>a:smtp.ugicorp.com ip4:<IP_ADDRESS> ip4:<IP_ADDRESS>/22 ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> include:spf-0024bf01.pphosted.com  include:_spf-dc8.sapsf.com include:_spf.salesforce.com include:spf.protection.outlook.com ~allpSTYt3mv1kYgY3kiXRWLW6YZz0pOD5c+AUHCnZHGi0wH508f4Ab+dgR0tXPzak1X2iLeDwbz75/raGq60chBng==
    mx:
        - mx0a-0024bf01.pphosted.com.
        - mx0b-0024bf01.pphosted.com.
    spf: v=spf1 a:smtp.ugicorp.com ip4:<IP_ADDRESS> ip4:<IP_ADDRESS>/22 ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> ip4:<IP_ADDRESS> include:spf-0024bf01.pphosted.com  include:_spf-dc8.sapsf.com include:_spf.salesforce.com include:spf.protection.outlo
    duration: 79.589749ms

One quality of life change I think would be worthwhile would be to allow the user to supply a list of potential DKIM selectors, rather than limiting you to only providing one.

You bet – a core catalog perhaps, with an option to specify custom ones.
The recent updates improved results greatly.
Not sure why the SPF is missing in the example.. but thought you’d like to know about it.
Respectfully,
Orlando
From: Robert Thomas @.>
Sent: Monday, September 11, 2023 3:52 PM
To: GlobalCyberAlliance/DomainSecurityScanner @.>
Cc: Orlando Stevenson @.>; Mention @.>
Subject: Re: [GlobalCyberAlliance/DomainSecurityScanner] Several DKIM Selectors, SPF Status Reporting Issues (Issue #17)
Warning: External Email.
One quality of life change I think would be worthwhile would be to allow the user to supply a list of potential DKIM selectors, rather than limiting you to only providing one.
—
Reply to this email directly, view it on GitHubhttps://github.com/GlobalCyberAlliance/DomainSecurityScanner/issues/17#issuecomment-1714486274, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEKCZPX3VWSGLQTMIXIN2ETXZ5TVXANCNFSM6AAAAAA4T2EGUQ.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>Warning: This email comes from an external sender. Be cautious when opening URLs or attachments from external senders.
This email and any attachments are confidential. They may contain legal, professional, proprietary and/or other privileged information. They also may contain information that is subject to copyright belonging to NERC. This email and any attachments are intended solely for the addressee(s). If you are not the intended recipient, do not use the information in this email in any way, permanently delete this email and any attachments and notify the sender immediately.

@wolveix  Hi, as part of considering enhancing DKIM lookup capabilities when the information may be available in DNS, here's a related Bard thread you may find hepful, including sample code.  Not sure if it will help :)
https://g.co/bard/share/4462021897fd
Best,
Orlando

Hey @OrlandoMD, been a little too busy to work on this until now. You can now specify multiple DKIM selectors (comma seperated), and per the DNS results being truncated due to exceeding the buffer, DSS automatically retries with a buffer of 4096. Hopefully this solves your use-case :)


Automated Package Upgrade

:tada: This PR is included in version 5.0.121 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


links to self in docs aren't resolving correctly

Problem
In https://rustwasm.github.io/wasm-bindgen/web-sys/supporting-more-web-apis.html, the link https://rustwasm.github.io/web-sys/testing.html does not resolve to anything.
Instead it's meant to link to https://rustwasm.github.io/wasm-bindgen/web-sys/testing.html, but it's missing the /wasm-bindgen/ piece of the path.
There are more instances of this occurring on the same page, which probably means there are more instances of this happening throughout the book.
Possible solutions

inject a <base> tag. This can be a bit weird to work with though; I've had mixed experiences with it.
maybe there's an mdbook to set the root correctly?
manually go over all links and prefix them with /wasm-bindgen/.

hope this is helpful!

Thanks for the report!


Refactor and cleanup the influxdb_tools in traffic_stats

Cleanup lint warnings in the traffic_stats/influxdb_tools go files (mostly due to repeated constant strings), and fix some idiomatic issues, like using both the  + operator and fmt.Sprintf() to concatenate strings on the same line.

Use the errors package to report and add on to errors, rather than maintaining a global errorMessage.

Move the sync and create tools into separate folders so that the code can be tested (otherwise the compiler complains that main() and queryDB() are duplicated)

Use the cli package to make the somewhat more user friendly.

Test the get*Stats methods to ensure they behave accordingly, fix panic issues where a nil or empty slice gets passed in to those functions and the function doesn't check, and actually iterate over entire input slice, rather than only first result element

Add test file for traffic_stats.go, mostly to provide a starting point.

There's a few things going on in this PR, I got carried away and will have to open another subsequent PR for adding tests (and some refactoring if it's needed to make the code testable).

Hey @PSUdaemon, thanks for the review. I'm more than happy to make changes to the PR to conform to project standards. I think the question of dependencies is a good one, both in terms of introducing new dependencies, but also in terms of versioning. As it stands, someone checking out this code would be using whatever version of the dependencies that they have checked out (or the version they checked out as they were trying to get the project to build). Vendoring is not the most fun topic, but it does solve a very real problem.

I think we should at least start using the go vendoring functionality and see where that takes us. We already run into issues with our influxdb deps. We also have to be careful of licensing. I think all the licenses here are ok to bundle with an Apache project.
How about we start with the pkg/errors dep and then maybe @dewrich can provide some input of what he thinks of goconvey. I'm not anti-dependency, I just think we should be choosey.
By the way, are you using this code in production somewhere? We are always interested in hearing how this project is being used.

I did look at the licenses beforehand, but I'll admit I don't know the most about the technicalities of Open Source licenses. I'll go back and get the tests to use the stdlib, as well as the cli flags. I would also advocate the use of vendoring... that said, if I remember correctly, there was statement from the godep author saying he was no longer maintaining the code, since there is now a team actually working on a "native" vendoring solution.
I'm not currently using this code in production, I was pointed to it recently and curious about it, so as I was taking a look I figured I'd try to help out.

+1 on vendoring.  We are currently defining the version of the InfluxDb client to use in the build script and vendoring is a much better solution.

I've had good experiences with godep for the most part, and I'd be happy to bring it in (I can maybe throw in a Makefile to make some of the local commands easier). That said, a native solution is in the works so it will probably have to be updated at some point.

+1 on built-in vendoring, -1 on godep unless there's a compelling reason.
I'd also be +1 on Makefiles iff there's a compelling reason for them. Go build tools are minimal, but I've only found the need for Makefiles in about 10% of projects. If we only need a couple build lines, e.g. a go generate;go build or a complex command like go build -ldflags "-X main.GitRevision=git rev-parse HEAD -X main.BuildTimestamp=date +'%Y-%M-%dT%H:%M:%S'", Make isn't worth the complexity over simple two-line build.sh. IMO. But definitely Make over something less standard.

@rob05c Sadly, there's not actually a native vendoring tool solution yet, and I haven't heard any news about when it could be expected. While we can certainly move dependencies into a vendor/ directory manually, that can be a slippery slope, since you need to also vendor the dependencies of your dependencies, which can conflict with the versioning of your own dependencies. There's a few rather annoying scenarios for this, and having some form of tooling around it generally helps. On the other hand, there are currently relatively few dependencies in the project... that said, as the Go codebase grows, the more intractable the manual solution becomes.

@sbogacz Have you seen https://golang.org/cmd/go/#hdr-Vendor_Directories ?

@rob05c Yeah, that's what I'm talking about. That functionality (and since greater versions of go1.6, the tooling as well) supports the existence of a vendor folder, and knows to look in there before defaulting to the GOPATH to find an import in the code. In terms of actually building the vendor folder, is where there's no native solution (probably tooling) yet. For example, if we take two hypothetical libraries, both of which maybe provide a layer over NSQ to do cache invalidation for a distributed cache. One version may be using the new standard library context while the other is still using golang.org/x/net/context.
Since many libraries don't actually vendor (probably rightly so most of the time), it would then be up to whoever is saving that dependency to get the separate contexts in a sub-vendor folder within the vendor tree. It's certainly not impossible, but it's a problem that scales with the number of dependencies. What tools like godep and govendor do is to automatically navigate the GOPATH looking for the dependencies (even figuring out peculiarities like symlinked directories etc.), and try to build a vendor tree with the flattest structure possible, so that you don't have say, 18 copies of "google.golang.org/grpc/" (for example). Does that make sense, I'm not sure that's the best explanation.
Maybe the better way to put it is this: Go supports vendoring, in the sense of the existence of the vendor directory, and has since Go1.6 (and experimentally in 1.5). godep or govendor are tooling options to allow for the automated building of vendor directories.

Right.

On the other hand, there are currently relatively few dependencies in the project... that said, as the Go codebase grows, the more intractable the manual solution becomes.

Right now, Traffic Control doesn't have enough Go dependencies for sub-dependency conflicts to be an issue, and in my experience Go idioms don't tend toward that many dependencies. So, I think YAGNI applies, and I vote we keep using the built-in vendoring until sub-dependency conflicts become an issue, and reconsider a third-party tooling dependency then.

Added some more commits to show the direction I was thinking of going with some of the refactoring, what the move back to flag from urfave/cli looks like, and added the vendor directory. These changes so far work fine locally. If these look OK to you guys @PSUdaemon @rob05c @dewrich, then I'll propagate them to the sync command, and traffic_stats.go.
I'll hold off on changing the tests until there is consensus.

@dneuman64 These last changes should encapsulate what we talked about:

Remove urfave/cli dependency by having a config object that can be "autopopulated" by the standard library flag
Make create and sync commands use the config object
Add some test functions (under package name assert, both for reuse between the tool tests, and the eventual tests for traffic_stats), and rewrite the sync tests to use them, removing the goconvey dependency

The create and sync scripts still run locally (for me), and nothing has really changed for traffic_stats.go.

thanks @sbogacz, I will test it all out when I get a chance and let you know if I find any issues.

It looks like there are some errors in the vendored InfluxDb code when I try to build traffic_stats. I will dig around a little bit and see what I can figure out, unless this rings a bell with you?
github.com/apache/incubator-trafficcontrol/traffic_stats/vendor/github.com/influxdata/influxdb/client/v2
# github.com/apache/incubator-trafficcontrol/traffic_stats/vendor/github.com/influxdata/influxdb/client/v2
vendor/github.com/influxdata/influxdb/client/v2/client.go:302: undefined: models.NewTags
vendor/github.com/influxdata/influxdb/client/v2/client.go:329: p.pt.Tags().Map undefined (type models.Tags has no field or method Map)
vendor/github.com/influxdata/influxdb/client/v2/client.go:344: not enough arguments to return
vendor/github.com/influxdata/influxdb/client/v2/udp.go:78: p.pt.Round undefined (type models.Point has no field or method Round)
vendor/github.com/influxdata/influxdb/client/v2/udp.go:79: p.pt.StringSize undefined (type models.Point has no field or method StringSize)
vendor/github.com/influxdata/influxdb/client/v2/udp.go:85: p.pt.AppendString undefined (type models.Point has no field or method AppendString)
vendor/github.com/influxdata/influxdb/client/v2/udp.go:90: p.pt.Split undefined (type models.Point has no field or method Split)
++ pwd
+ echo 'Could not build go program at /home/dneuma4602k/incubator-trafficcontrol/rpmbuild/BUILD/traffic_stats-1.9.0: '
Could not build go program at /home/dneuma4602k/incubator-trafficcontrol/rpmbuild/BUILD/traffic_stats-1.9.0:
+ exit 1
error: Bad exit status from /var/tmp/rpm-tmp.KyDW2S (%build)

The influxdb client has a depedency on github.com/influxdata/influxdb/models so that directory needs to be added to the vendor folder.

That's the difficulty in vendoring without tooling, totally missed those. I'll add to the vendor folder and push

@dneuman64 I had to bring in several more dependencies into vendor to cover those dependencies' dependencies (not to beat a dead horse, but tooling can really help here). I won't have a good chance to test anytime soon, but let me know if that fixes the issue, or if there's still a problem.

ok, I think just one more thing.  The vendored traffic_ops/client code is out of date.  Can you get the latest master version of client code in there?  Might be best to just rebase onto the latest master as well. As is stands now traffic stats won't work with a traffic ops running master.

@dneuman64 Crossing fingers

Looks like you still need to get the latest traffic_ops/client files into traffic_stats/vendor

🤦♂  Pulled in upstream but didn't update vendor, so here we go again...

👍 Everything looks good now.
One thing that does need to be done is to update the docs to reflect the new flag names for the influxdb tools.  I am still going to merge this PR, but it is something that needs to be done, either by us or by you.
http://trafficcontrol.apache.org/docs/latest/admin/traffic_stats.html#id2

@PSUdaemon @dneuman64 @rob05c @dewrich Hey guys, in case you haven't seen it yet, they just released the pre-alpha version of the native dependency tool for Go. Here it is.
I don't think it's ready for use just yet, but I wanted to put it on your radar.


[CodeCompletion] Suggest 'in' after expression in closure

Cherry-pick #58550 into release/5.7

Explanation: Suggest 'in' in code completion after an expression even without a newline.   func test(value: [Int]) { value.map { value <HERE> } }, in this case value in the closure is ambiguous between an expression referring the outer function parameter, or a parameter declaration in the closure. Previously, code completion only considered the former and suggest the members of '[Int]', but not 'in' keyword. As a result, when the user actually want to type 'in' here, they needed to hit 'esc' to cancel the code completion. In this change, suggest 'in' keyword even without a newline, as long as the current decl context is a closure and it doesn't have 'in' in it. Also previously 'in' was suggested even outside the closure and even it already had the explict 'in'. This PR limit suggesting 'in' inside closures without explicit 'in'.
Scope: Code completion after expressions inside closures
Risk: Low
Issues: rdar://80489548
Testing: Added regression test cases
Reviewer: Alex Hoppen (@ahoppen)

@swift-ci Please test

@swift-ci Please test


Locales

Add localization for different countries/languages. English/Spanish/Catalan...

https://developer.android.com/training/basics/supporting-devices/languages#kts

Done https://github.com/griush/GalileoHack/pull/37.


Xstatus.CRG clarification

https://github.com/riscv/riscv-cheri/issues/441
When looking at the text I noticed that it had typos and xrefs missing.
This PR doesn't solve the actual problem yet.
What's the relationship between mstatus.CFG and sstatus.CFG? @jonwoodruff ? @jrtc27 ?
The text is very vague, should it be that the same bit is in mstatus and sstatus like in mip/sip.ssip? for example.....

This bit was written by @andresag01 , so I'm not confident of any considerations he might have had, but, if I understand what this is asking:
The generation bit is tied to the current page table.  If a new page table root is swapped in on any exception level change, then CRG should change as well.  If the page table root must be swapped manually, then CRG should also be swapped manually.
Sorry for the lazy response!

This bit was written by @andresag01 , so I'm not confident of any considerations he might have had, but, if I understand what this is asking:
The generation bit is tied to the current page table. If a new page table root is swapped in on any exception level change, then CRG should change as well. If the page table root must be swapped manually, then CRG should also be swapped manually.
(Assuming that "CFG" in this issue is meant to be "CRG" in the original issue...)

This bit was written by @andresag01 , so I'm not confident of any considerations he might have had, but, if I understand what this is asking: The generation bit is tied to the current page table. If a new page table root is swapped in on any exception level change, then CRG should change as well. If the page table root must be swapped manually, then CRG should also be swapped manually.
(Assuming that "CFG" in this issue is meant to be "CRG" in the original issue...)

yes - CFG was a typo, sorry! It should have been CRG.
All the exception handling and PTE management is in S-mode.
Personally I can't see any use for mstatus.CRG, would M-mode software ever want control over this?
I don't know the answer but maybe it's safer to leave it in, following the clarification in the second commit.

We've discussed this internally and can't think of any use for mstatus.CRG, so I've removed it.


Can't apply drag & drop to class

Hey,
I want to create multiple dropzones. They have in common, that the all have the same class, so i though i can use as a selector in my dragdrop function the class ".dropzone"
window.remove = DragDrop('body', {
        onDrop: function (files, pos) {
          var names = files.map(function (file) { return file.name })
          window.alert('onDrop fired! ' + files.length + ' files: ' + names.join(', '))
          window.files = files
          console.log('onDrop', files)
          console.log('Dropped at coordinates', pos.x, pos.y)
        }
      })

But I'm getting this error:
Uncaught TypeError: Cannot read property 'addEventListener' of null

When i change the class back to body, it works.
What can I do to prevent this ?
To mention it, I'm using your min.js file

The error is most likely due to there being no <div class="dropzone" /> element when DragDrop is called. If it is created by javascript it needs to be there before calling DragDrop.

I think @JamesKyburz is correct. Also, if you pass in a selector like .dropzone the library will just select the first element. So, you're going to need to loop over all the elements yourself.

That said, I think we can provide a friendlier message in case an invalid element or selector is provided: https://github.com/feross/drag-drop/issues/29


trace.c: Add missing trace category entry

Fixes #17397

This pull request is ready to merge

We should have a CI test to validate that this doesn't happen again.

Added #17422 to cover that.

Merged to master and 3.0 branches. Thank you for the review.


remove trillian images from release process

now that https://github.com/sigstore/scaffolding/pull/968 has landed and v0.6.16 of scaffolding has been released, we should stop building and publishing trillian as part of rekor releases.

also note we'll want to update https://github.com/sigstore/rekor/blob/63aa08fd13ebcb50ec4688c80e968942159ffa10/docker-compose.yml#L53 and related

also note we'll want to update
https://github.com/sigstore/rekor/blob/63aa08fd13ebcb50ec4688c80e968942159ffa10/docker-compose.yml#L53
and related

yup, i'll do that in a separate PR.


how to get the realtime position of hololens?

how to get the realtime position of hololens?

A spatialPerception object (defined in Shared/HoloLensForCV) is created when you call StartMediaFrameSourceGroup().


ruby-zoom: init at 4.1.0

Motivation for this change
This tool is very useful in quickly searching in a git repository and opening the results in an editor.
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] OS X
[x] Linux

[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

From the website,
https://gitlab.com/mjwhitta/zoom
Zoom adds some convenience to ag/ack/grep by allowing you to quickly
open your search results in your editor of choice.
Also available as a ruby gem.
https://rubygems.org/gems/ruby-zoom

You have to add ncurses as a build input:
buildInputs = [ ncurses ];

@zimbatm do you know, why ncurses is not picked up by the gem, if it is passed as buildInput to bundlerEnv

@Mic92 it probably needs to be passed to the ruby-terminfo gem derivation. One way to do that is to create a global override for that gem over here: https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/ruby-modules/gem-config/default.nix .

@zimbatm was not aware of this file, @vmandela this what you have to do instead.

It's also possible to pass your own gemConfig to the bundlerEnv but in that case I think it's useful to have it for all bundlerEnv users.

@zimbatm, thank you for pointing out the solution.
I have modified the global gem-config and I am able to build and run the tool successfully. I have updated the pull request with the working commit.

@Mic92 , @zimbatm , Please let me know if there are any changes required for this PR to be merged.

Thanks!

Thank you.


fix(sqllab): Un-render deselected tabs

SUMMARY
When you switch tabs in sql lab, we were keeping them all rendered in the dom, but hidden. This meant that everytime the sql lab redux state changed, we'd re-render all tabs that were viewed since the last page load. This prop is defined on antd tabs (https://ant.design/components/tabs/#API), and un-renders tabs that aren't currently selected, improving the perf of both switching tabs and updating the sql query being run.
TESTING INSTRUCTIONS
go to SQL Lab, change tabs and see the old tabs un-rendered from the DOM. Ensure all SQL Lab functionality still works
to: @kgabryje @ktmud @rusackas @john-bodley

I wonder if it's worth setting this option to true only when there are a lot of tabs.

@ktmud that's an interesting point, although i didn't see any significant perf regression to requiring a rerender in the dom when switching tabs (especially since all the tabs were being rerendered before when a tab switch happened).
We could certainly iterate here to try and find the best solution, although i suspect that it's more dependent on the content of each tab (does it have results, has it loaded tables in the selected schema, how long is the query in the ace editor) than the raw number of tabs


Make pep8speaks "speak" again 🤩

[x] Dockerizing the project
[x] Deploying pep8speaks on a server

Closed by #193


get issue when enable fluxcd addon after one cluster was delete.

Describe the bug
after delete a cluster which has been attached to vela, when want to enable fluxcd again for new clusters, will get error.
To Reproduce

join two clusters to vela.

# vela cluster join skeet1.config
# vela cluster join skeet2.config
# vela cluster list
CLUSTER                 ALIAS   TYPE            ENDPOINT                        ACCEPTED        LABELS
local                           Internal        -                               true
kind-skeet-test2                X509Certificate https://<IP_ADDRESS>:6443      true
kind-skeet-test1                X509Certificate https://<IP_ADDRESS>:6443      true

enable fluxcd for there 2 clusters.

# vela addon enable ./fluxcd onlyHelmComponents=true clusters=kind-skeet-test1
enable addon by local dir: ./fluxcd
I0902 09:39:44.573035    7617 apply.go:113] "patching object" name="config-helm-repository" resource="core.oam.dev/v1beta1, Kind=ComponentDefinition"
I0902 09:39:44.621371    7617 apply.go:113] "patching object" name="helm" resource="core.oam.dev/v1beta1, Kind=ComponentDefinition"
I0902 09:39:44.647619    7617 apply.go:113] "patching object" name="component-uischema-helm" resource="/v1, Kind=ConfigMap"
I0902 09:39:44.665421    7617 apply.go:113] "patching object" name="config-helm-repository" resource="/v1, Kind=ConfigMap"
Addon fluxcd enabled successfully.
I0902 09:39:44.873438    7617 utils.go:156] find cluster gateway service vela-system/kubevela-cluster-gateway-service:9443
Please access addon-fluxcd from the following endpoints:
+---------+--------------------------+----------------------------------------------+-------------------------------------------+-------+
| CLUSTER |        COMPONENT         |           REF(KIND/NAMESPACE/NAME)           |                 ENDPOINT                  | INNER |
+---------+--------------------------+----------------------------------------------+-------------------------------------------+-------+
| local   | fluxcd-source-controller | Service/flux-system/fluxcd-source-controller | fluxcd-source-controller.flux-system:9090 | true  |
+---------+--------------------------+----------------------------------------------+-------------------------------------------+-------+

# vela addon enable ./fluxcd onlyHelmComponents=true clusters=kind-skeet-test2
enable addon by local dir: ./fluxcd
I0902 09:39:44.573035    7617 apply.go:113] "patching object" name="config-helm-repository" resource="core.oam.dev/v1beta1, Kind=ComponentDefinition"
I0902 09:39:44.621371    7617 apply.go:113] "patching object" name="helm" resource="core.oam.dev/v1beta1, Kind=ComponentDefinition"
I0902 09:39:44.647619    7617 apply.go:113] "patching object" name="component-uischema-helm" resource="/v1, Kind=ConfigMap"
I0902 09:39:44.665421    7617 apply.go:113] "patching object" name="config-helm-repository" resource="/v1, Kind=ConfigMap"
Addon fluxcd enabled successfully.
I0902 09:39:44.873438    7617 utils.go:156] find cluster gateway service vela-system/kubevela-cluster-gateway-service:9443
Please access addon-fluxcd from the following endpoints:
+---------+--------------------------+----------------------------------------------+-------------------------------------------+-------+
| CLUSTER |        COMPONENT         |           REF(KIND/NAMESPACE/NAME)           |                 ENDPOINT                  | INNER |
+---------+--------------------------+----------------------------------------------+-------------------------------------------+-------+
| local   | fluxcd-source-controller | Service/flux-system/fluxcd-source-controller | fluxcd-source-controller.flux-system:9090 | true  |
+---------+--------------------------+----------------------------------------------+-------------------------------------------+-------+

delete cluster 1, then detach it from vela, then join cluster 3

# vela cluster detach kind-skeet-test1
Detach cluster kind-skeet-test1 successfully.
# vela cluster join skeet3.config
Successfully add cluster , endpoint: https://<IP_ADDRESS>:6443.

enable fluxcd for cluster 3, got error.

# vela addon enable ./fluxcd onlyHelmComponents=true clusters=kind-skeet-test3  registry=registry1-docker-io.repo.cci.nokia.net
enable addon by local dir: ./fluxcd
I0902 09:51:25.443700     776 apply.go:113] "patching object" name="config-helm-repository" resource="core.oam.dev/v1beta1, Kind=ComponentDefinition"
I0902 09:51:25.468111     776 apply.go:113] "patching object" name="helm" resource="core.oam.dev/v1beta1, Kind=ComponentDefinition"
I0902 09:51:25.497614     776 apply.go:113] "patching object" name="component-uischema-helm" resource="/v1, Kind=ConfigMap"
I0902 09:51:25.523131     776 apply.go:113] "patching object" name="config-helm-repository" resource="/v1, Kind=ConfigMap"
Error: Enabling failed, please run "vela status addon-fluxcd -n vela-system" to check the status of the addon

error detail.

# vela status addon-fluxcd -n vela-system
About:

  Name:         addon-fluxcd
  Namespace:    vela-system
  Created at:   2022-09-02 09:36:24 +0000 UTC
  Status:       workflowTerminated

Workflow:

  mode: DAG
  finished: true
  Suspend: false
  Terminated: true
  Steps
  - id: pq6ytoyxme
    name: deploy-deploy-fluxcd-ns
    type: deploy
    phase: failed
    message: step deploy: run step(provider=multicluster,do=deploy): Found 3 errors. [(error encountered in cluster kind-skeet-test1: HandleComponentsRevision: dial tcp <IP_ADDRESS>:6443: connect: no route to host), (error encountered in cluster kind-skeet-test1: HandleComponentsRevision: dial tcp <IP_ADDRESS>:6443: connect: no route to host), (error encountered in cluster kind-skeet-test1: HandleComponentsRevision: dial tcp <IP_ADDRESS>:6443: connect: no route to host)]

Services:

  - Name: fluxcd-ns
    Cluster: local  Namespace: flux-system
    Type: k8s-objects
    Healthy
    No trait applied

  - Name: fluxcd-helm-controller
    Cluster: kind-skeet-test2  Namespace: flux-system
    Type: webservice
    Healthy Ready:1/1
    Traits:
      ✅ service-account      ✅ labels      ✅ command
  - Name: fluxcd-CRD
    Cluster: local  Namespace: flux-system
    Type: k8s-objects
    Healthy
    No trait applied

  - Name: fluxcd-source-controller
    Cluster: local  Namespace: flux-system
    Type: webservice
    Healthy Ready:1/1
    Traits:
      ✅ service-account      ✅ labels      ✅ command
  - Name: fluxcd-rbac
    Cluster: kind-skeet-test2  Namespace: flux-system
    Type: k8s-objects
    Healthy
    No trait applied

  - Name: fluxcd-rbac
    Cluster: local  Namespace: flux-system
    Type: k8s-objects
    Healthy
    No trait applied

  - Name: fluxcd-source-controller
    Cluster: kind-skeet-test2  Namespace: flux-system
    Type: webservice
    Healthy Ready:1/1
    Traits:
      ✅ service-account      ✅ labels      ✅ command
  - Name: fluxcd-ns
    Cluster: kind-skeet-test2  Namespace: flux-system
    Type: k8s-objects
    Healthy
    No trait applied

  - Name: fluxcd-helm-controller
    Cluster: local  Namespace: flux-system
    Type: webservice
    Healthy Ready:1/1
    Traits:
      ✅ service-account      ✅ labels      ✅ command
  - Name: fluxcd-CRD
    Cluster: kind-skeet-test2  Namespace: flux-system
    Type: k8s-objects
    Healthy
    No trait applied

Expected behavior
in error msg, there is a connect error for cluster 1(<IP_ADDRESS>), which has been deleted and detached from vela.
Its information still exists somewhere in vela, so, how to delete it?
Screenshots

KubeVela Version
1.53
Cluster information
v1.21.12
Additional context

Can you provide the topology policy of this application?

In fact, you can enable this addon without any clsuters args, It's will be installed to all exsiting clusters by default.

In fact, you can enable this addon without any clsuters args, It's will be installed to all exsiting clusters by default.

thx for your comments, i did not use any policy, just use the commands in issue describe. if one cluster was deleted and detached, how to skip it when enable add-on for other new clusters?

This command will generate a KubeVela application for addon to install components to clusters, so can you use k get -n vela-system app addon-fluxcd and show the how's the app's policy field looks like?

There is no need to enable the addon to all clusters one by one. You can just use vela addon enable fluxcd to install it to all existing clusters.

Hi @wangyikewxgm ,
this is the result of the command.
# kubectl  get -n vela-system app addon-fluxcd
NAME           COMPONENT   TYPE          PHASE                HEALTHY   STATUS      AGE
addon-fluxcd   fluxcd-ns   k8s-objects   workflowTerminated   true      Ready:1/1   2d22h

Maybe I need to introduce my work briefly. I work in a common service team, in our business group, we maintained a lot of open source components(istio, mariadb, keycloak, nginx, tomcat, ...) for other production groups in our company.
my team is focused on maintaining a tool to provide k8s env easily and quickly include of several k8s distributions(vanilla, Tanzu, OpenShift, EKS, GKS, etc.), all components team will use this tool to create their test env for AnyCloud. so, every day, a lot of k8s env will be created before their testing, and all of this k8s env will be deleted after their testing.
In fact, some components depend on other components, so for these components, they need to install some chart applications for their k8s env before their testing. So I plan to introduce kube-vela as an application distribution center, all our component applications are delivered as a helm/chart package, so, fluxcd addon is a good choice for me.
I also hope if one cluster was deleted by other users,  this cluster will be skipped when we enable fluxcd addon again. but it looks like not work as we expect. after detached this cluster, it will report the connection error about this cluster.
    message: step deploy: run step(provider=multicluster,do=deploy): Found 3 errors. [(error encountered in cluster kind-skeet-test1: HandleComponentsRevision: dial tcp <IP_ADDRESS>:6443: connect: no route to host), (error encountered in cluster kind-skeet-test1: HandleComponentsRevision: dial tcp <IP_ADDRESS>:6443: connect: no route to host), (error encountered in cluster kind-skeet-test1: HandleComponentsRevision: dial tcp <IP_ADDRESS>:6443: connect: no route to host)]

btw, here is the document I followed.
https://kubevela.net/zh/blog/2022/07/07/helm-multi-cluster

Hi @wangyikewxgm ,
this is the result of the command.
# kubectl  get -n vela-system app addon-fluxcd
NAME           COMPONENT   TYPE          PHASE                HEALTHY   STATUS      AGE
addon-fluxcd   fluxcd-ns   k8s-objects   workflowTerminated   true      Ready:1/1   2d22h

Maybe I need to introduce my work briefly. I work in a common service team, in our business group, we maintained a lot of open source components(istio, mariadb, keycloak, nginx, tomcat, ...) for other production groups in our company. my team is focused on maintaining a tool to provide k8s env easily and quickly include of several k8s distributions(vanilla, Tanzu, OpenShift, EKS, GKS, etc.), all components team will use this tool to create their test env for AnyCloud. so, every day, a lot of k8s env will be created before their testing, and all of this k8s env will be deleted after their testing.
In fact, some components depend on other components, so for these components, they need to install some chart applications for their k8s env before their testing. So I plan to introduce kube-vela as an application distribution center, all our component applications are delivered as a helm/chart package, so, fluxcd addon is a good choice for me.
I also hope if one cluster was deleted by other users, this cluster will be skipped when we enable fluxcd addon again. but it looks like not work as we expect. after detached this cluster, it will report the connection error about this cluster.
    message: step deploy: run step(provider=multicluster,do=deploy): Found 3 errors. [(error encountered in cluster kind-skeet-test1: HandleComponentsRevision: dial tcp <IP_ADDRESS>:6443: connect: no route to host), (error encountered in cluster kind-skeet-test1: HandleComponentsRevision: dial tcp <IP_ADDRESS>:6443: connect: no route to host), (error encountered in cluster kind-skeet-test1: HandleComponentsRevision: dial tcp <IP_ADDRESS>:6443: connect: no route to host)]

Can you paste this application detail info? I want to have a look of this application's spec.policies field.

looks like there are 3 policies.
# kubectl get -n vela-system app addon-fluxcd -oyaml | grep policies -A35 -B3 -n
3402-        - --storage-adv-addr=http://fluxcd-source-controller.flux-system.svc:9090
3403-      type: command
3404-    type: webservice
3405:  policies:
3406-  - name: namespace
3407-    properties:
3408-      rules:
3409-      - selector:
3410-          resourceTypes:
3411-          - Namespace
3412-    type: shared-resource
3413-  - name: deploy-fluxcd-ns
3414-    properties:
3415-      clusterLabelSelector: {}
3416-      namespace: flux-system
3417-    type: topology
3418-  - name: not-gc-CRD
3419-    properties:
3420-      rules:
3421-      - selector:
3422-          resourceTypes:
3423-          - CustomResourceDefinition
3424-        strategy: never
3425-    type: garbage-collect
3426-  - name: not-keep-CRD
3427-    properties:
3428-      rules:
3429-      - selector:
3430-          resourceTypes:
3431-          - CustomResourceDefinition
3432-        strategy:
3433-          path:
3434-          - '*'
3435-    type: apply-once
3436-status:
3437-  conditions:
3438-  - lastTransitionTime: "2022-09-02T09:36:26Z"
3439-    reason: Available
3440-    status: "True"

As the result shows, the configuration is right. Maybe the controller cannot handle this situation. ping @Somefive

As the result shows, the configuration is right. Maybe the controller cannot handle this situation. ping @Somefive

thx for your help @wangyikewxgm.
@Somefive  would you please help us to pass over this issue?

@skeetwu After you detached the cluster, could you run vela cluster list and kubectl get clustergateway to validate if the cluster has already been deleted?

Hi @Somefive
thx for your response. it looks like cluster kind-skeet-test1(<IP_ADDRESS>) has been deleted.
[root@ncs006-cwes-01 ~]# vela cluster list
CLUSTER                 ALIAS   TYPE            ENDPOINT                        ACCEPTED        LABELS
local                           Internal        -                               true
kind-skeet-test3                X509Certificate https://<IP_ADDRESS>:6443      true
kind-skeet-test2                X509Certificate https://<IP_ADDRESS>:6443      true
[root@ncs006-cwes-01 ~]# kubectl get clustergateway
NAME               PROVIDER   CREDENTIAL-TYPE   ENDPOINT-TYPE   HEALTHY
kind-skeet-test3              X509Certificate   Const           false
kind-skeet-test2              X509Certificate   Const           false
[root@ncs006-cwes-01 ~]#

and I tried to enable the fluxcd again, the error still exists.
[root@ncs006-cwes-01 ~]# vela addon enable ./fluxcd onlyHelmComponents=true clusters=kind-skeet-test2  registry=registry1-docker-io.repo.cci.nokia.net
enable addon by local dir: ./fluxcd
I0909 06:15:20.584281   19478 apply.go:113] "patching object" name="config-helm-repository" resource="core.oam.dev/v1beta1, Kind=ComponentDefinition"
I0909 06:15:20.623111   19478 apply.go:113] "patching object" name="helm" resource="core.oam.dev/v1beta1, Kind=ComponentDefinition"
I0909 06:15:20.902580   19478 apply.go:113] "patching object" name="component-uischema-helm" resource="/v1, Kind=ConfigMap"
I0909 06:15:20.933153   19478 apply.go:113] "patching object" name="config-helm-repository" resource="/v1, Kind=ConfigMap"
Error: Enabling failed, please run "vela status addon-fluxcd -n vela-system" to check the status of the addon

[root@ncs006-cwes-01 ~]# vela status addon-fluxcd -n vela-system &2>1 | grep <IP_ADDRESS>
message: step deploy: run step(provider=multicluster,do=deploy): Found 3 errors. [(error encountered in cluster kind-skeet-test1: HandleComponentsRevision: dial tcp <IP_ADDRESS>:6443: connect: no route to host), (error encountered in cluster kind-skeet-test1: HandleComponentsRevision: dial tcp <IP_ADDRESS>:6443: connect: no route to host), (error encountered in cluster kind-skeet-test1: HandleComponentsRevision: dial tcp <IP_ADDRESS>:6443: connect: no route to host)]

Hi @Somefive , this issue has blocked us for a long time, if available, please help us.
Big thx!

Hi @wangyikewxgm @Somefive ,
I used these steps as a workaround to pass this issue.

get all clusters vela cluster ls
probe these clusters one by one vela cluster probe $cluster-name
detach the clusters which can not be reached vela cluster detach  $cluster-name
delete addon fluxcd application vela delete addon-fluxcd -n vela-system -y --force

after these steps, we can deploy a new application for the new cluster again.
Thx for your guy's help.

Sorry for the late response. We are recently fixing another fluxcd addon upgrade issue and I have just finished fixing that one. I reviewed this issue and found you were blocked at an error in HandleComponentsRevision. There is a parameter named --optimize-disable-component-revision in controller, which you can add to the vela-core controller and disable the feature. I think if you are not using the legacy rollout, it would be okay to disable this feature and workaround.

@wangyikewxgm There is something weird for the describe process. @skeetwu Firstly enable addon for cluster 1 and then enable addon for cluster 2. Will the second enable operation override the first enable? I think it should cause the addon to use cluster 2 and treat cluster 1 as outdated.


Add IEEE754 files to Visual Studio

Also adds a check for _MSC_VER to disable the FENV logic for versions prior to 2013.  Older versions don't have the fenv.h header file that is required for this to work properly.
This should fix the issue seen in #946.

Thanks for taking care of this :)

Coverage remained the same at 99.909% when pulling 9500d53f6c7e9e6a7a14bcf006ec8911d24268a3 on Andne:vs2005 into fc9317df1afb0094a44e4bf216bbfbb60a0d57e9 on cpputest:master.

@arstrube The build looks good now, but for some reason VS2015 (v140) has a couple failures.  Any thoughts on this?  Should we try to fix them or just disable the plugin completely on Visual C++ for now?
I've also noticed that since we run the tests as part of the build step normally, it's causing the failures to show as build failures instead of failed tests.  Should maybe look at what it would take to cleanup this behavior as well.  Not really specific to this problem, just a general build cleanup issue.

Hi Andy, this looks indeed good (except for the one point noted above). The failures are due to the fact that compilers don't seem to implement some of the checks consistently. FE_INVALID is one of those. It doesn't mean that it's not working. We have several options here:

Remove FE_INVALID from all tests.
Use #ifdef in some way to exempt MS from these tests.
Set CPPUTEST_FENV_IS_WORKING_PROPERLY to 0 for MS (no tests will be run).

@basvodde what do you think?

Coverage remained the same at 99.909% when pulling bf58b42bc1ec75ad0a3cac037219dc42a7277c1f on Andne:vs2005 into fc9317df1afb0094a44e4bf216bbfbb60a0d57e9 on cpputest:master.

I think I have IEEE754PluginTest_c.c cleaned up, any thoughts on how to handle VS2013 and VS2015?  They can pass some of the tests but a couple of them still fail.

Coverage remained the same at 99.909% when pulling 7d99131ca06c96f799ef296629d3b31ffeb3bc83 on Andne:vs2005 into fc9317df1afb0094a44e4bf216bbfbb60a0d57e9 on cpputest:master.

I think both failures are due to the invalid flag. I see the following options:

disable the tests alltogether (not a good idea since most pass)
remove tests that involves invalid (get rid of math.h as well)
#ifdef the invalid tests away for Msvc

I slightly prefer the second option over the third. Invalid will still work on those systems that pick it up, but it won't be documented as working by any tests. I would like to see sqrt() and math.h gone.

oooh. But just realized if we act on it and don't test it we will decrease coverage :-((


fix looker3d bugs

What changes are proposed in this pull request?
This PR fixes bugs in fo3d navigation and fo3d status logs.
How is this patch tested? If it is not, please explain why.
E2E.

Summary by CodeRabbit

New Features

Enhanced error logging functionality to utilize modal sample IDs.
Improved rendering logic in the UI to streamline loading states and conditionally display components based on the initialization of the scene.

Bug Fixes

Adjusted component dependencies to ensure correct sample context is used across various components.

Style

Updated CSS for the Container to prevent horizontal overflow, enhancing layout responsiveness.

Tests

Expanded test suite to include modal sidebar interactions and multi-sample rendering capabilities for comprehensive validation.

I would check group datasets before merging. A ${sampleId}-${groupId} might be required, e.g. with
import fiftyone as fo
import fiftyone.zoo as foz

session = fo.launch_app(dataset, group_id=dataset.first().group.id)


run.bash expects .docker.xauth to be a regular file but it might not be

Problem
Our run.bash script attempts to detect whether /tmp/.docker.xauth exists and to create it if it doesn't. However, on some systems with multiple displays /tmp/.docker.xauth may be a directory containing files for each display. In this case our conditional check incorrectly concludes that the file is not there, tries to create it, and fails. This is because we use:
XAUTH=/tmp/.docker.xauth
if [ ! -f $XAUTH ]

which will be true if /tmp/.docker.xauth doesn't exist or if it does exist but is a directory.
Solution
Make our conditional smarter so it can detect directories too.

Fixed in #38 by changing "-f" to "-e" to check for any file.


Dynamic Habitat Graph

create a new component components/subs/HabitatGraphDynamic.vue that includes filtering and printing capabilities.
Add button to Habitat Graph with print icon (in red?)
https://icons.getbootstrap.com/icons/printer/

basic foundation done


fix TimeDate(y, m, d, ...) month spillover

Just ran into a bug when doing TimeDate(2020, 12, 1) because of clever fldmod usage to spill over excess units into the higher order "field". The months are improperly spilled over to years.
Currently the tests break on Julia 1.6 because of https://github.com/JeffreySarnoff/CompoundPeriods.jl/issues/3

This is the error:
Error During Test at /home/travis/build/JeffreySarnoff/TimesDates.jl/test/runtests.jl:166
  Test threw exception
  Expression: canonical(Δtd) == Nanosecond(3729608940042968750) == mapfoldl(Nanosecond, +, canonical(Δtd))
  MethodError: ==(::CompoundPeriod, ::Nanosecond) is ambiguous. Candidates:
    ==(x::P1, y::P2) where {P1<:CompoundPeriod, P2<:Period} in CompoundPeriods at /home/travis/.julia/packages/CompoundPeriods/H3LW5/src/compare.jl:40
    ==(x::CompoundPeriod, y::Period) in Dates at /home/travis/julia/share/julia/stdlib/v1.7/Dates/src/periods.jl:374
  To resolve the ambiguity, try making one of the methods more specific, or adding a new method more specific than any of the existing applicable methods.

@dm3 I am not getting to this quickly enough.  Would you like to have commit authorization for this and for CompoundPerionds?

@JeffreySarnoff, sure. Although I don't promise I'll get to this sooner than you do.
I'd still like your design input on the related issue #23.

TimesDates.jl is intended to be a careful, competent, rigorous nanosecond resolved package for working with Dates, Times, and TimeZones.  For each comparable method, this implementation (with the assistance of  CompoundPeriods.jl) is intended to be a comprehensive work-alike extension.  When these two packages were developed, those goals held.  Since then, there have been adjustments to the stdlib Dates and there have been enhancements to Compound Period use.
For each disagreement in behavior, the methods here and in CompoundPeriods.jl should be modified to comport with the stdlib way of doing things and with TimeZones.jl.,

Any news on this PR? I'm running into the same problem.

thanks for the patience -- looking at this  now

fixed in master , merge pending


Fixed build failure

This PR fixes a build failure in vim-8.1.2003 with the following configuration:
$ cd vim/src
$ ./configure --with-features=huge --enable-gui=none --disable-channel
$ make -j8
...snip...
gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/ui.o ui.c
ui.c: In function ‘ui_wait_for_chars_or_timer’:
ui.c:482:6: error: ‘brief_wait’ undeclared (first use in this function); did you mean ‘buf_write’?
      brief_wait = TRUE;
      ^~~~~~~~~~
      buf_write
ui.c:482:6: note: each undeclared identifier is reported only once for each function it appears in

Codecov Report

Merging #4906 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4906      +/-   ##
==========================================
+ Coverage   81.64%   81.66%   +0.01%
==========================================
  Files         125      125
  Lines      146156   146156
==========================================
+ Hits       119335   119356      +21
+ Misses      26821    26800      -21

Impacted Files
Coverage Δ

src/ui.c
69.95% <ø> (+0.96%)
:arrow_up:

src/os_unix.c
63.27% <0%> (ø)
:arrow_up:

src/term.c
79.17% <0%> (+0.05%)
:arrow_up:

src/channel.c
84.21% <0%> (+0.07%)
:arrow_up:

src/if_xcmdsrv.c
86.35% <0%> (+0.35%)
:arrow_up:

src/profiler.c
94.67% <0%> (+0.56%)
:arrow_up:

Continue to review full report at Codecov.

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


PPO update schedule

I'm trying to read through the PPO1 code to gain a better understanding as to how the algorithm works, how one might go about implementing it, etc. I'm confused as to the difference between the "optim_batchsize" and the "timesteps_per_actorbatch" arguments that are fed into the "learn()" function. What are these hyper-parameters? In addition, I see in the "run_atari.py" file, the "make_atari" and "wrap_deepmind" functions are used to wrap the environment. In the "make_atari" function, it uses the "EpisodicLifeEnv", which ends the episode once the a life is lost. On average, I see that the episode length in the beginning of training is about 7 - 8 timesteps, but the batch size is 256, so I don't see how any updates can occur. Thanks in advance for your help.

I suggest you read the PPO paper, since it's hard to understand the code without understanding the algorithm on a high-level.
The basic idea is that you have N workers, each with an environment. After all the environments have been stepped for timesteps_per_actorbatch steps, all of the experience is put into a dataset, and the network is trained on the dataset using mini-batch sizes determined by optim_batchsize.
While an environment is being run, if the episode ends, a new episode is automatically started. So, if you gather 256 timesteps in total but each episode is only 8 timesteps, you will end up with 32 episodes in your buffer.

Thanks for the link, I think I understand the algorithm better now. One more question, how are the learning curves shown in the paper generated? More specifically, what does the y-axis represent/ what is the quantity being graphed? Thanks again.

The x-axis is time, the y-axis is reward. Reward is an environment-specific quantity. For Atari games, it is the score. For MuJoCo, it often indicates a distance of some kind.

I see. So after every update to the global policy, it is evaluated by being run in the environment, and the reward after that episode of evaluation is graphed? I'm sorry for the string of questions, I'm a beginner who's just starting to learn more about Reinforcement Learning. Thanks!


if there is multiple textfield in same page, the attachable toolbar will response to all textfield focus/unfocuse events..

because the KeyboardVisibilityController is binding to global keyboard, instead of binding to a specified TextFiled instance.

Hi @hurricane009,
Thanks for using the package and for raising this issue. As you mentioned, the part of the logic that is responsible of reacting to keyboard events is bound to the global keyboard, and not to a specific TextField instance. That is the intended behavior. I am guessing that you need the KeyboardAttachable to react only to certain TextField instances instead of reacting everytime the keyboard is shown, right?
In order to develop such a feature, it would be very helpful for me to have a code sample of your current layout, the one in which you try to achieve this behavior. This way it will be easier for me to figure out exactly what you want.
Thanks!


Omit dev deps from shrinkwrap/yarn.lock

If merge PRs to master that contain GitHub URLs as dependency versions, the GH URL gets added to the shrinkwrap/yarn.lock files as part of the last-successful-build travis job.
If we then release the last successful build and a GH branch in the dev deps goes away, people cannot add new deps to their projects that also depend on js-IPFS as npm processes all dependencies in the lock files when adding new modules, which fails because a GH branch is no longer available.
We should look into excluding dev deps from the lock files in the update-last-successful-build and update-release-branch-lockfiles aegir commands.

I think we should be able to add an --only=prod argument to npm shrinkwrap, for yarn yarn install --production?


Notification usage updates

Updates the notification component usage guidance to follow the new template.

@jillianhowarth definitely didn't mean to suggest that we should solve all of that in this PR, sorry if it came across that way!
Finally caught up on that one thread in Slack and left a comment, let me know if you want to chat there or if review comments here would be preferred 👍


Set up OpsGenie to page for severity 1 alerts.

Severity 1 is often the highest level, indicating critical incidents that require immediate attention.

GC Forms Alarm Management Policy

Alarms enumeration and implemention

OpsGenie Forms dashboard https://cds-snc.app.opsgenie.com/teams/dashboard/dbe73fd1-8bfc-4345-bc0a-36987a684d26/main

Notify opsgenie cloudwatch config: https://github.com/cds-snc/notification-terraform/blob/ed865840fbe88bfdf6fb88dfc28b2780ae39b722/aws/common/sns.tf#L123


Feature request: Add Event handler for AWS Lambda Function URLs

Use case
With the general availability of AWS Lambda Function URLs to implement microservices AWS Lambda Powertools for Python should support handling this event type.
This should support the routes being specified in a separate file just like for other event handlers.
Solution/User Experience
from aws_lambda_powertools import Logger, Tracer
from aws_lambda_powertools.logging import correlation_paths
from aws_lambda_powertools.event_handler import FunctionUrl

tracer = Tracer()
logger = Logger()
app = FunctionUrl()

@app.get("/hello")
@tracer.capture_method
def get_hello_universe():
    return {"message": "hello universe"}

# You can continue to use other utilities just as before
@logger.inject_lambda_context(correlation_id_path=correlation_paths.FUNCTION_URL)
@tracer.capture_lambda_handler
def lambda_handler(event, context):
    return app.resolve(event, context)

Alternative solutions
No response
Acknowledgment

[X] This feature request meets Lambda Powertools Tenets
[X] Should this be considered in other Lambda Powertools languages? i.e. Java, TypeScript

It would be nice if when specifying the route an optional "authorizer function" could be passed.  Such a function would have the same signature as a handler and whose result could be a boolean indicating if access is allowed or not.  If no "authorizer function"  then all access would be allowed for that route.

Thank you @gwlester for showing interest in having support for Lambda Function URL. We'll look into it after we return from our pause.
We built support during beta, so it should be technically a days job to revisit and consider maintenance aspects.
As for authorisers, we'd prefer to create a middleware support for event handler (in-flight, after the pause) so that we don't recommend non-function URL customers to disregard API GW/ALB/AppSync Authorizer capabilities.
Thank you!

@gwlester this already works via the http api handler

This code works fine
from aws_lambda_powertools import Logger, Tracer
from aws_lambda_powertools.logging import correlation_paths
from aws_lambda_powertools.event_handler import APIGatewayHttpResolver

tracer = Tracer()
logger = Logger()
app = APIGatewayHttpResolver()

@app.get("/hello")
@tracer.capture_method
def get_hello_universe():
    return {"message": "hello universe"}

# You can continue to use other utilities just as before
@logger.inject_lambda_context(correlation_id_path=correlation_paths.API_GATEWAY_HTTP)
@tracer.capture_lambda_handler
def lambda_handler(event, context):
    return app.resolve(event, context)

Also the sample projects works ok too:
from aws_lambda_powertools import Logger, Metrics, Tracer
from aws_lambda_powertools.event_handler.api_gateway import APIGatewayHttpResolver
from aws_lambda_powertools.logging import correlation_paths
from aws_lambda_powertools.metrics import MetricUnit

logger = Logger(service="APP")
tracer = Tracer(service="APP")
metrics = Metrics(namespace="MyApp", service="APP")
app = APIGatewayHttpResolver()

@app.get("/hello/<name>")
@tracer.capture_method
def hello_name(name):
    tracer.put_annotation(key="User", value=name)
    logger.info(f"Request from {name} received")
    metrics.add_metric(name="SuccessfulGreetings", unit=MetricUnit.Count, value=1)
    return {"message": f"hello {name}!"}

@app.get("/hello")
@tracer.capture_method
def hello():
    tracer.put_annotation(key="User", value="unknown")
    logger.info("Request from unknown received")
    metrics.add_metric(name="SuccessfulGreetings", unit=MetricUnit.Count, value=1)
    return {"message": "hello unknown!"}

@tracer.capture_lambda_handler
@logger.inject_lambda_context(
    correlation_id_path=correlation_paths.API_GATEWAY_HTTP, log_event=True
)
@metrics.log_metrics(capture_cold_start_metric=True)
def lambda_handler(event, context):
    try:
        return app.resolve(event, context)
    except Exception as e:
        logger.exception(e)
        raise

{
    "level": "INFO",
    "location": "decorate:352",
    "message": {
        "version": "2.0",
        "routeKey": "$default",
        "rawPath": "/hello/foo",
        "rawQueryString": "",
        "headers": {
            "sec-fetch-mode": "navigate",
            "sec-fetch-site": "none",
            "accept-language": "en-US,en;q=0.9",
            "x-forwarded-proto": "https",
            "x-forwarded-port": "443",
            "x-forwarded-for": "<IP_ADDRESS>",
            "sec-fetch-user": "?1",
            "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
            "sec-gpc": "1",
            "x-amzn-trace-id": "Root=1-6260fcf5-4cf3d34a732581c86e1a7e0e",
            "host": "bg6wooanpk5l6pte7d73k2flmy0pmkms.lambda-url.us-east-2.on.aws",
            "upgrade-insecure-requests": "1",
            "cache-control": "max-age=0",
            "accept-encoding": "gzip, deflate, br",
            "sec-fetch-dest": "document",
            "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"
        },
        "requestContext": {
            "accountId": "anonymous",
            "apiId": "bg6wooanpk5l6pte7d73k2flmy0pmkms",
            "domainName": "bg6wooanpk5l6pte7d73k2flmy0pmkms.lambda-url.us-east-2.on.aws",
            "domainPrefix": "bg6wooanpk5l6pte7d73k2flmy0pmkms",
            "http": {
                "method": "GET",
                "path": "/hello/foo",
                "protocol": "HTTP/1.1",
                "sourceIp": "<IP_ADDRESS>",
                "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36"
            },
            "requestId": "ed9f2d37-4585-479b-98c0-3dea09aaecaf",
            "routeKey": "$default",
            "stage": "$default",
            "time": "21/Apr/2022:06:43:01 +0000",
            "timeEpoch":<PHONE_NUMBER>869
        },
        "isBase64Encoded": false
    },
    "timestamp": "2022-04-21 06:43:01,874+0000",
    "service": "APP",
    "sampling_rate": "0.1",
    "cold_start": false,
    "function_name": "sam-app-HelloWorldFunction-jNNQamivEruW",
    "function_memory_size": "256",
    "function_arn": "arn:aws:lambda:us-east-2:254688924456:function:sam-app-HelloWorldFunction-jNNQamivEruW",
    "function_request_id": "ed9f2d37-4585-479b-98c0-3dea09aaecaf",
    "correlation_id": "ed9f2d37-4585-479b-98c0-3dea09aaecaf",
    "xray_trace_id": "1-6260fcf5-4cf3d34a732581c86e1a7e0e"
}

@michaelbrewer -- after looking at the code last night it looked like it would "just work".  It would still be nice to have an explicit class for it.
I know ya'll did some work on this already -- would you mind/like if I took a crack and submitted a Pull Request with it (assuming that I have time before August)?

Go for it. But to save you time and frustration, I would suggest waiting for an official green light from the maintainers, otherwise your PR will most likely be closed.
Also for Function Url we should probably have some disclaimers and warnings around security.

Hey @gwlester we'll be looking in implementing official support for Lambda Function URL as soon as our pause ends.

Hi @gwlester! We're looking to start implementing this feature for release at the end of the next week. We would love if you had the change to contribute the necessary changes yourself. Otherwise, we will also be happy to take a look and ask you for a review. What would be the best for you?

Hi @gwlester we've now worked on an implementation of the AWS Lambda Function URL data class and event handler here: https://github.com/awslabs/aws-lambda-powertools-python/pull/1408
We would appreciate if you take a look and review the code. And we're looking forward to any feedback you might have.

Looks good!
Thanks much!!!!
On 8/3/22 07:35, Ruben Fonseca wrote:

Hi @gwlester https://github.com/gwlester we've now worked on an
implementation of the AWS Lambda Function URL data class and event
handler here: #1408
https://github.com/awslabs/aws-lambda-powertools-python/pull/1408
We would appreciate if you take a look and review the code. And we're
looking forward to any feedback you might have.
—
Reply to this email directly, view it on GitHub
https://github.com/awslabs/aws-lambda-powertools-python/issues/1142#issuecomment-1203892204,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKQKGBL35MFZX7RZ4SYVHLVXJRRTANCNFSM5T57HPRA.
You are receiving this because you were mentioned.Message ID:
@.***>

--
+------------------------------------------------------------------------+
| Gerald W. Lester                                                       |
|"The man who fights for his ideals is the man who is alive." - Cervantes|
+------------------------------------------------------------------------+


Create Github Action to add data model to BigQuery

Closes https://github.com/ncihtan/data-models/issues/158

Thanks @adamjtaylor! Changes made


Created a responsive footer for main layout

I am not sure which instagram and twitter accounts to put on them, so just put a general link on the icons for now.

I think this is good. I will try to correct the problem with the window variable.


propably last file name fix

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the current behavior? (You can also link to an open issue here)

What is the new behavior (if this is a feature change)?

Other information:

WOW
refresing strat list without restart when I add new file

chart from 2 month period is slow a bit. maybe in with larger range could use line chart or larger candles to improve performance?

its looking like lines are from market and volume values :)

Thanks for you contribution to the filenames! :)
Yes, the chart can get really slow with large datasets - I'm looking into this. Maybe change to line, when backtest result yields over a set X amount of candles...


Suggestion to Replace Here-String in Ex. 3 with Hashtable

I think, for clarity, formatting, and to use something a little more PowerShell native (?), it would be good to replace the here-string in Example 3 with a hashtable, e.g.:
[System.Collections.HashTable]$TableForJSON = @{
    "data"     = $filecontentencoded;
    "dataType" = "pfx";
    "password" = "<password>";
}
[System.String]$JSONObject = $TableForJSON | ConvertTo-Json

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 376f32b3-0acb-625a-e635-e62503213c63
Version Independent ID: c26787f2-f910-c3f0-d787-818d11f71c4a
Content: Set up WinRM access for an Azure VM - Azure Virtual Machines
Content Source: articles/virtual-machines/windows/winrm.md
Service: virtual-machines-windows
GitHub Login: @mimckitt
Microsoft Alias: mimckitt

@ScottMetzel Thanks for your comment. We will review the issue and get back to you shortly.

@ScottMetzel Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate. We will update you accordingly.

@mimckitt Can you please check and add your comments on this doc update request as applicable

I think that's a fair ask. I updated the doc. Once the changes are merged they will go live after a few hours.
#66743


RS testing fails sporadically

To test the remote sensing widget, astronomical data needs to be downloaded. This fails sporadically,
One might add the required data to the docker image to make testing more reliable...?

@Marilyth
I would say it would be sufficient to testing downloading the data only when creating the docker image. Thus alleviating the IO load on the tests/speeding them up and being more reliable.
Also, using the docker image for running MSS would have the correct data already available.
Could you add the necessary data to the docker image?

I assume this also slows down the start of topview and requesting version info
https://github.com/Open-MSS/MSS/issues/922
https://github.com/Open-MSS/MSS/issues/950

Someone did already what I'm thinking about, and it is also on conda-forge
https://pypi.org/project/skyfield-data/
Name                       Version           Build  Channel
skyfield-data                  0.1.0            py_0  conda-forge
skyfield-data                  1.0.0    pyh9f0ad1d_0  conda-forge
skyfield-data                  1.1.0    pyh9f0ad1d_0  conda-forge
skyfield-data                  2.0.0    pyhd3deb0d_0  conda-forge
skyfield-data                  3.0.0    pyhd3deb0d_0  conda-forge

The de421.bsp is not updated often. Probably needs an update in 2200 or so.
Adding the packet and adopting the code correspondingly seems like the very best solution!

Checked it. Requires update in 2052. There is a function in the data-package called check_expirations, which should be added in a MSS test in the remote sensing widget part.


Count and CountA implementations

Issue #284

CountRows([1, 2, 3, 4, 5])

Can you please rename this file to CountRows.txt (with 's' at the end)?

Refers to: src/tests/Microsoft.PowerFx.Core.Tests/ExpressionTestCases/CountRow.txt:1 in 74445e4. [](commit_id = 74445e43fe8166ec662fc79dbd0bfe7b3246b92d, deletion_comment = False)

@CarlosFigueiraMSFT I was double-checking how Excel handles error value cells in the CountA formula. It does include the error values in the counting. I'm committing the changes since CountIf was implemented also returning an error in case of an error value row. Let me know your thoughts to I can act accordingly.

Count([0,""])

I just ran all these against JS to confirm and they pass.

Refers to: src/tests/Microsoft.PowerFx.Core.Tests/ExpressionTestCases/Count.txt:1 in 2aece30. [](commit_id = 2aece300ba47c9dada0760b0575bd45a4927030f, deletion_comment = False)

@MikeStall is there are manual on how I can perform JS tests from my end?

@MikeStall is there are manual on how I can perform JS tests from my end?

Not yet ... they're some internal tests. We're working on getting them public too.


Add support for Rubys rbenv

Fixes Issue #2060
Description of Change
Added support for Rubys rbenv by adding the bundleAuditWorkingDirectory command line arg or the analyzer.bundle.audit.working.directory setting. This should allow you to do something like the following and have the appropriate version of bundler-audit used for your Ruby project:
dependency-check -s /path/to/project/repo --format ALL --out /path/to/dependency_check_out --log /path/to/dependency_check_out/dc.log --noupdate --bundleAuditWorkingDirectory /path/to/project/repo

This will be merged - but I need to consider backward compatibility.  As such, this will not make the 5.1.1 release that will happen within the next 24 hours.

Hey @jeremylong - thanks for your review and comment. Can you clarify what part of this PR breaks backwards compatibility? I added a new optional argument that allows you to specify where the call to the bundler-audit sub-process will be invoked from. If this argument is not specified it will still default to a temp directory during initialization (as specified by getSettings().getTempDirectory()) or the directory that the Gemfile.lock exists in during the analysis phase which is how it previously worked before my PR.

@csansone-handy What I said was I need to consider backward compatibility (meaning I had not yet done a full review of the PR). Sorry if I was unclear - I did not have time to fully review this as I needed to get the 5.1.1 release out.
Thanks for the PR! This will be included in the next release (which may be as soon as a week).l

Awesome thanks for the clarification! Looking forward to the release!


Remove default bevy features not used by the library

Hello!
This PR removes most of bevy default features, leaving bevy_gilrs for the gamepad support.
That way unused default features won't install dependencies not needed by the game.
Hope this is useful!

Thanks for the contribution! I hadn't thought of this! In a discussion with @ramirezmike today we thought it may be a good idea to have this crate hide the mouse as well.
I think it would also be good to have it set the game to full screen and the correct resolution (1280 by 1024 5:4). We will want to enable any features required by those as well as we add them.
I don't see any issues with merging this at the moment though.


IsURL() return false for ascii domain names that ends with a upper-case letter

I think the ([-\.][a-zA-Z0-9]+)* part of the URL regular expression will match the TLD of a ascii domain name except for the last letter, which will be matched by the second [a-z\x{00a1}-\x{ffff}0-9]+ instead.
So the URL regular expression will not match a ascii domain name that ends with a upper-case letter.

Thanks :+1:

can we please also support urls that contain "_" ?

this is breaking out current setup: where machines are dev_001.service.xxx

is there a config flag to disable the check i can use for now?