Remove brackets from lambdas with a single parameter

Brackets are optional with lambdas when we have a single parameter, removing them makes the code more concise and readable.

I believe the failed test was run at a time when it did not work.

Run Java PortabilityApi PreCommit

Kenn, the Jenkins job was renamed from Run Java PortabilityApi PreCommit to Run JavaPortabilityApi PreCommit, so if the latter passes we are good.

Curiously that latter did trigger after https://github.com/apache/beam/pull/6900#issuecomment-435534719, before I requested the re-run of the wrong thing. Anyhow all looks green, so LGTM and I'll merge.


Prepare a testdata collection that will cover as many format of emails and docs as possible

We should enrich our test data-set (https://github.com/hoover/testdata) with all possible formats of emails and docs, as well as different special characters.
@salevajo should we replace testdata with enron-nuix data set ?

enron is not useful because they only have one format of emails (what that pst extractor output https://github.com/SheetJS/enron_xls/blob/master/README.md) and one format of excels
anyway, moved to https://github.com/CRJI/EIC/issues/1137


Tomquirk/revert pr 2991

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

@NakedFool not entirely sure whats going on here, but we've had multiple reports of these pages showing up, and then disappearing on refresh. I think we should remove them while we figure out what's going on. WOuld you mind investigating what might be happening here?


Update for Xcode beta 2

Hey there, this PR is for the swift-3.0 branch, bringing it up to date with the latest (at time of writing) versions of Swift/Xcode.

Hey @matthewpalmer, sorry to bump this. Have you had time to look at this yet? Is there anything I need to do or change to get this PR accepted?
Cheers 😄

Thanks!


Infer the width and height from the generated image

It would nice to infer the width and height from the generated image when width and height are not explicitly defined.
For reference, Asciidoctor Diagram does the following:
PNG
https://github.com/asciidoctor/asciidoctor-diagram/blob/66876e9c11c401eec943ff6968cd0c5f6c443906/lib/asciidoctor-diagram/util/png.rb#L9-L22
GIF
https://github.com/asciidoctor/asciidoctor-diagram/blob/66876e9c11c401eec943ff6968cd0c5f6c443906/lib/asciidoctor-diagram/util/gif.rb#L10-L18
SVG
https://github.com/asciidoctor/asciidoctor-diagram/blob/66876e9c11c401eec943ff6968cd0c5f6c443906/lib/asciidoctor-diagram/util/svg.rb#L7-L24
Originally posted by @Mogztter in https://github.com/Mogztter/asciidoctor-kroki/issues/99#issuecomment-646970963

Encountered this difference between asciidoctor-kroki and asciidoctor-diagram today as i replaced asciidoctor-diagram with asciidoctor-kroki. Missing width and height resulted in failing tests.
https://github.com/confluence-publisher/confluence-publisher/commit/650036966ef04fc7210ed9b9686e7f1a0c7c47db#diff-46f69509d7d0c7f3b137dc0c21c7c8a787aba4a30ba7c527efa63173f1a9e8bcR1273


Reuse created types

Right now, a new type is created whenever a type is read (across files as well as within one file). Many of these are duplicates (e.g. Int). Reusing the same type for these duplicates would be an improvement.

This was done as part of dee79aa9baded8a438157bea5636afa3371da062.


Comply build keeps on running forever

Comply build commands keeps on running forever in github actions using go setup
all other commands run smoothly

templates/index.ace -> output/index.html nothing prints after this
When run on local Docker it executes everything fine

Seeing this too on Mac, though able to successfully run via Docker.

Same here. CentOS stream just hangs here:
comply build
templates/index.ace -> output/index.html
None of the PDF's are build from the mark up files.
It does work in Docker though.

NVM - This was due to missing texlive-xetex and pandoc for me.

I was able to get comply running locally on macOS and in github actions recently. I am interested in helping figure out the additional documentation or code changes needed to enable this to run more smoothly.
I think #98 is one of the PRs that needs to be merged. Additionally, I think comply needs to be able to find the pandoc and pdflatex commands. On macOS I was able to install these using
brew install pandoc and brew install --cask basictex

Hi all, I have a very similar issue, except comply build seems to hang somewhere after processing a number of files. In the hope that the following is helpful, this is what I've done.
OS: macOS big Sur 11.3.1 (build 20E241)
Comply version 1.5.2
Shell: zsh
# First install the tools we need:
$ brew update
$ brew install pandoc librsvg
$ brew install homebrew/cask/basictex
# (I have also tried this with uninstalling basictex and then installing the full mactex instead; same result)

$ brew tap strongdm/comply
$ comply -v
comply version 1.5.2

# the following two commands ensure zsh has an up-to-date PATH
$ eval "$(/usr/libexec/path_helper)"
$ rehash

# Create a new set of templates
$ mkdir mysoc
$ cd mysoc
$ comply init
# (I edited comply.yml to add my gitlab details)
$ comply build

At this point, it starts producing outputs (I do get the index.html and a number of PDF files), although TeX gets confused at the start:
templates/index.ace -> output/index.html
Error producing PDF.
! Undefined control sequence.
<argument> @{} >{\raggedright \arraybackslash
                                              }p{(\columnwidth - 2\tabcolsep...
l.79 ...umnwidth - 2\tabcolsep) * \real{0.86}}@{}}

Error producing PDF.
! Undefined control sequence.
<argument> @{} >{\raggedright \arraybackslash
                                              }p{(\columnwidth - 8\tabcolsep...
l.257 ...mnwidth - 8\tabcolsep) * \real{0.21}}@{}}

Error producing PDF.
! Undefined control sequence.
<argument> @{} >{\raggedright \arraybackslash
                                              }p{(\columnwidth - 6\tabcolsep...
l.162 ...mnwidth - 6\tabcolsep) * \real{0.22}}@{}}

Error producing PDF.
! Undefined control sequence.
<argument> @{} >{\raggedright \arraybackslash
                                              }p{(\columnwidth - 6\tabcolsep...
l.200 ...mnwidth - 6\tabcolsep) * \real{0.30}}@{}}

Error producing PDF.
! Undefined control sequence.
<argument> @{} >{\raggedright \arraybackslash
                                              }p{(\columnwidth - 8\tabcolsep...
l.280 ...mnwidth - 8\tabcolsep) * \real{0.20}}@{}}

Error producing PDF.
! Undefined control sequence.
<argument> @{} >{\raggedright \arraybackslash
                                              }p{(\columnwidth - 8\tabcolsep...
l.340 ...mnwidth - 8\tabcolsep) * \real{0.20}}@{}}

Error producing PDF.
! Undefined control sequence.
<argument> @{} >{\raggedright \arraybackslash
                                              }p{(\columnwidth - 4\tabcolsep...
l.211 ...mnwidth - 4\tabcolsep) * \real{0.64}}@{}}

policies/change.md -> output/MYSOC-SCP.pdf
policies/log.md -> output/MYSOC-LMP.pdf
policies/conduct.md -> output/MYSOC-COCP.pdf
narratives/system.md -> output/MYSOC-SAN.pdf
policies/processing.md -> output/MYSOC-PIP.pdf
policies/vendor.md -> output/MYSOC-VMP.pdf
policies/datacenter.md -> output/MYSOC-DP.pdf
policies/policy.md -> output/MYSOC-PTP.pdf
policies/cyber.md -> output/MYSOC-CRP.pdf
policies/workstation.md -> output/MYSOC-WP.pdf
policies/incident.md -> output/MYSOC-SIRP.pdf
narratives/products.md -> output/MYSOC-PSN.pdf
policies/password.md -> output/MYSOC-PWP.pdf
policies/access.md -> output/MYSOC-AOTP.pdf
policies/office.md -> output/MYSOC-OSP.pdf
policies/continuity.md -> output/MYSOC-BCP.pdf
narratives/organizational.md -> output/MYSOC-ON.pdf
policies/remote.md -> output/MYSOC-REAP.pdf
policies/application.md -> output/MYSOC-ASP.pdf
policies/development.md -> output/MYSOC-SDLCP.pdf
policies/media.md -> output/MYSOC-MCP.pdf
narratives/control.md -> output/MYSOC-CEN.pdf
policies/confidentiality.md -> output/MYSOC-CP.pdf
policies/information.md -> output/MYSOC-ISP.pdf
narratives/security.md -> output/MYSOC-SEN.pdf

At this point, nothing happens. The process doesn't return. ps and top don't show any other relevant processes other than comply build, and it's been more than 20 minutes (which would be very long for a network timeout or something).
Is there anything I could do to see what comply is stuck on? Is there a way to get more verbose output?

I'm working on tracking down the hang. If you send SIGQUIT to a go program, it will dump stack traces including for each of the outstanding goroutines. After I get comply to hang, here is what I am seeing from ctrl-\
^\SIGQUIT: quit
PC=0x7fff20585cde m=0 sigcode=0

goroutine 0 [idle]:
runtime.pthread_cond_wait(0x1b8b278, 0x1b8b238, 0x7fff00000000)
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/sys_darwin.go:384 +0x39
runtime.semasleep(0xffffffffffffffff, 0xb2950144)
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/os_darwin.go:63 +0x8d
runtime.notesleep(0x1b8b030)
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/lock_sema.go:181 +0xdb
runtime.mPark()
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/proc.go:1340 +0x39
runtime.stopm()
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/proc.go:2257 +0x92
runtime.findrunnable(0xc000053800, 0x0)
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/proc.go:2916 +0x72e
runtime.schedule()
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/proc.go:3125 +0x2d7
runtime.goexit0(0xc0004b9b00)
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/proc.go:3434 +0x1de
runtime.mcall(0x106ba76)
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/asm_amd64.s:327 +0x5b

goroutine 1 [select]:
github.com/strongdm/comply/internal/render.Build(0x175b1eb, 0x6, 0xc00035ed00, 0xc00023b8f0, 0x15afdc9)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/site.go:121 +0x299
github.com/strongdm/comply/internal/cli.buildAction(0xc0001426e0, 0x3, 0xc0002c9220)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/cli/build.go:18 +0x3f
github.com/urfave/cli.HandleAction(0x1630400, 0x1788528, 0xc0001426e0, 0xc0001426e0, 0x0)
	/Users/emurphy/go/pkg/mod/github.com/urfave/cli@v1.22.4/app.go:526 +0x105
github.com/urfave/cli.Command.Run(0x1759d12, 0x5, 0x1758a02, 0x1, 0x0, 0x0, 0x0, 0x177c09f, 0x3c, 0x0, ...)
	/Users/emurphy/go/pkg/mod/github.com/urfave/cli@v1.22.4/command.go:174 +0x579
github.com/urfave/cli.(*App).Run(0xc000338380, 0xc000020040, 0x2, 0x2, 0x0, 0x0)
	/Users/emurphy/go/pkg/mod/github.com/urfave/cli@v1.22.4/app.go:279 +0x808
github.com/strongdm/comply/internal/cli.Main()
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/cli/app.go:36 +0x4f
main.main()
	/Users/emurphy/go/src/github.com/strongdm/comply/comply.go:6 +0x25

goroutine 26 [select]:
net/http.(*persistConn).writeLoop(0xc00040a7e0)
	/usr/local/Cellar/go/1.16.3/libexec/src/net/http/transport.go:2382 +0xf7
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.16.3/libexec/src/net/http/transport.go:1744 +0xc9c

goroutine 25 [IO wait]:
internal/poll.runtime_pollWait(0x3c55da0, 0x72, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00041a318, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.16.3/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.16.3/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00041a300, 0xc000468000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.16.3/libexec/src/internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc00041a300, 0xc000468000, 0x1000, 0x1000, 0x103a2bc, 0xc000081c38, 0x1065c60)
	/usr/local/Cellar/go/1.16.3/libexec/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000406098, 0xc000468000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.16.3/libexec/src/net/net.go:183 +0x91
net/http.(*persistConn).Read(0xc00040a7e0, 0xc000468000, 0x1000, 0x1000, 0xc000424660, 0xc000081d40, 0x1006d15)
	/usr/local/Cellar/go/1.16.3/libexec/src/net/http/transport.go:1922 +0x77
bufio.(*Reader).fill(0xc00042aae0)
	/usr/local/Cellar/go/1.16.3/libexec/src/bufio/bufio.go:101 +0x108
bufio.(*Reader).Peek(0xc00042aae0, 0x1, 0x0, 0x1, 0x4, 0x1, 0x3)
	/usr/local/Cellar/go/1.16.3/libexec/src/bufio/bufio.go:139 +0x4f
net/http.(*persistConn).readLoop(0xc00040a7e0)
	/usr/local/Cellar/go/1.16.3/libexec/src/net/http/transport.go:2083 +0x1a8
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.16.3/libexec/src/net/http/transport.go:1743 +0xc77

goroutine 8 [IO wait]:
internal/poll.runtime_pollWait(0x3c55ae8, 0x72, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00038a118, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
	/usr/local/Cellar/go/1.16.3/libexec/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	/usr/local/Cellar/go/1.16.3/libexec/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00038a100, 0xc000371000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.16.3/libexec/src/internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc00038a100, 0xc000371000, 0x1000, 0x1000, 0x103a2bc, 0xc000485c38, 0x1065c60)
	/usr/local/Cellar/go/1.16.3/libexec/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc000010420, 0xc000371000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.16.3/libexec/src/net/net.go:183 +0x91
net/http.(*persistConn).Read(0xc000122d80, 0xc000371000, 0x1000, 0x1000, 0xc000424360, 0xc000485d40, 0x1006d15)
	/usr/local/Cellar/go/1.16.3/libexec/src/net/http/transport.go:1922 +0x77
bufio.(*Reader).fill(0xc000273500)
	/usr/local/Cellar/go/1.16.3/libexec/src/bufio/bufio.go:101 +0x108
bufio.(*Reader).Peek(0xc000273500, 0x1, 0x0, 0x1, 0x4, 0x1, 0x3)
	/usr/local/Cellar/go/1.16.3/libexec/src/bufio/bufio.go:139 +0x4f
net/http.(*persistConn).readLoop(0xc000122d80)
	/usr/local/Cellar/go/1.16.3/libexec/src/net/http/transport.go:2083 +0x1a8
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.16.3/libexec/src/net/http/transport.go:1743 +0xc77

goroutine 9 [select]:
net/http.(*persistConn).writeLoop(0xc000122d80)
	/usr/local/Cellar/go/1.16.3/libexec/src/net/http/transport.go:2382 +0xf7
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.16.3/libexec/src/net/http/transport.go:1744 +0xc9c

goroutine 16 [semacquire]:
sync.runtime_Semacquire(0xc00046c008)
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/sema.go:56 +0x45
sync.(*WaitGroup).Wait(0xc00046c000)
	/usr/local/Cellar/go/1.16.3/libexec/src/sync/waitgroup.go:130 +0x65
github.com/strongdm/comply/internal/render.pdf(0x175b1eb, 0x6, 0x0, 0xc000424cc0, 0xc000498a80)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/pdf.go:41 +0x165
created by github.com/strongdm/comply/internal/render.Build
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/site.go:107 +0x191

goroutine 67 [semacquire]:
sync.runtime_Semacquire(0xc000498a88)
	/usr/local/Cellar/go/1.16.3/libexec/src/runtime/sema.go:56 +0x45
sync.(*WaitGroup).Wait(0xc000498a80)
	/usr/local/Cellar/go/1.16.3/libexec/src/sync/waitgroup.go:130 +0x65
github.com/strongdm/comply/internal/render.Build.func2(0xc000498a80, 0xc000424d20)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/site.go:116 +0x73
created by github.com/strongdm/comply/internal/render.Build
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/site.go:114 +0x226

goroutine 70 [chan send]:
github.com/strongdm/comply/internal/render.pandoc(0xc000193bc0, 0x10, 0xc0000a8060)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/pandoc.go:23 +0xbb
github.com/strongdm/comply/internal/render.renderToFilesystem.func1(0xc00046c000, 0xc0006a80c0, 0xc0000a8060, 0xc00060e990)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:42 +0x267
created by github.com/strongdm/comply/internal/render.renderToFilesystem
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:30 +0xf3

goroutine 72 [chan send]:
github.com/strongdm/comply/internal/render.pandoc(0xc000241170, 0x11, 0xc0000a8060)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/pandoc.go:23 +0xbb
github.com/strongdm/comply/internal/render.renderToFilesystem.func1(0xc00046c000, 0xc0006a80c0, 0xc0000a8060, 0xc00060eea0)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:42 +0x267
created by github.com/strongdm/comply/internal/render.renderToFilesystem
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:30 +0xf3

goroutine 79 [chan send]:
github.com/strongdm/comply/internal/render.pandoc(0xc000241590, 0x11, 0xc0000a8060)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/pandoc.go:23 +0xbb
github.com/strongdm/comply/internal/render.renderToFilesystem.func1(0xc00046c000, 0xc0006a80c0, 0xc0000a8060, 0xc00060fc20)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:42 +0x267
created by github.com/strongdm/comply/internal/render.renderToFilesystem
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:30 +0xf3

goroutine 80 [chan send]:
github.com/strongdm/comply/internal/render.pandoc(0xc0004335b0, 0x10, 0xc0000a8060)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/pandoc.go:23 +0xbb
github.com/strongdm/comply/internal/render.renderToFilesystem.func1(0xc00046c000, 0xc0006a80c0, 0xc0000a8060, 0xc00060fdd0)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:42 +0x267
created by github.com/strongdm/comply/internal/render.renderToFilesystem
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:30 +0xf3

goroutine 88 [chan send]:
github.com/strongdm/comply/internal/render.pandoc(0xc000241ba8, 0x11, 0xc0000a8060)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/pandoc.go:23 +0xbb
github.com/strongdm/comply/internal/render.renderToFilesystem.func1(0xc00046c000, 0xc0006a80c0, 0xc0000a8060, 0xc000401830)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:42 +0x267
created by github.com/strongdm/comply/internal/render.renderToFilesystem
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:30 +0xf3

goroutine 91 [chan send]:
github.com/strongdm/comply/internal/render.pandoc(0xc00023cfe0, 0x10, 0xc0000a8060)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/pandoc.go:23 +0xbb
github.com/strongdm/comply/internal/render.renderToFilesystem.func1(0xc00046c000, 0xc0006a80c0, 0xc0000a8060, 0xc000132090)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:42 +0x267
created by github.com/strongdm/comply/internal/render.renderToFilesystem
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:30 +0xf3

goroutine 92 [chan send]:
github.com/strongdm/comply/internal/render.pandoc(0xc000241db8, 0x12, 0xc0000a8060)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/pandoc.go:23 +0xbb
github.com/strongdm/comply/internal/render.renderToFilesystem.func1(0xc00046c000, 0xc0006a80c0, 0xc0000a8060, 0xc000132480)
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:42 +0x267
created by github.com/strongdm/comply/internal/render.renderToFilesystem
	/Users/emurphy/go/src/github.com/strongdm/comply/internal/render/document.go:30 +0xf3

rax    0x104
rbx    0x5378e00
rcx    0x7ffeefbfe068
rdx    0x2b00
rdi    0x1b8b278
rsi    0x440100004500
rbp    0x7ffeefbfe110
rsp    0x7ffeefbfe068
r8     0x0
r9     0xa0
r10    0x0
r11    0x246
r12    0x1b8b238
r13    0x16
r14    0x440100004500
r15    0x2b00
rip    0x7fff20585cde
rflags 0x247
cs     0x7
fs     0x0
gs     0x0

I have a fix for the problem where comply hangs if there is any error code returned from the pandoc command, the fix is in #104. That will stop the hang, and then the user can debug the pandoc error without waiting a very long time for CI jobs to time out.
I believe the fix for the underlying pandoc errors that several folks in this thread have run into is in #98, and adding those two packages to the latex template fixes those particular pandoc errors. Of course there may be other pandoc errors that would also trigger the hang.

I agree that the error handling can be improved. In my case, the problem got fixed just pulling the strongdm/pandoc docker image:
$ docker pull strongdm/pandoc
$ cd my-company
$ go run ../comply.go build
templates/index.ace -> output/index.html
policies/password.md -> output/my-company-PWP.pdf
policies/continuity.md -> output/my-company-BCP.pdf
policies/workstation.md -> output/my-company-WP.pdf
policies/risk.md -> output/my-company-RIAP.pdf
policies/datacenter.md -> output/my-company-DP.pdf
policies/privacy.md -> output/my-company-PMP.pdf
policies/cyber.md -> output/my-company-CRP.pdf
policies/processing.md -> output/my-company-PIP.pdf
policies/office.md -> output/my-company-OSP.pdf
policies/availability.md -> output/my-company-AP.pdf
policies/access.md -> output/my-company-AOTP.pdf
narratives/system.md -> output/my-company-SAN.pdf
policies/confidentiality.md -> output/my-company-CP.pdf
policies/application.md -> output/my-company-ASP.pdf
policies/encryption.md -> output/my-company-EP.pdf
narratives/security.md -> output/my-company-SEN.pdf
policies/policy.md -> output/my-company-PTP.pdf
narratives/organizational.md -> output/my-company-ON.pdf
policies/media.md -> output/my-company-MCP.pdf
policies/change.md -> output/my-company-SCP.pdf
narratives/products.md -> output/my-company-PSN.pdf
policies/vendor.md -> output/my-company-VMP.pdf
policies/incident.md -> output/my-company-SIRP.pdf
policies/log.md -> output/my-company-LMP.pdf
policies/remote.md -> output/my-company-REAP.pdf
narratives/control.md -> output/my-company-CEN.pdf
policies/conduct.md -> output/my-company-COCP.pdf
policies/retention.md -> output/my-company-RP.pdf
policies/disaster.md -> output/my-company-DRP.pdf
policies/classification.md -> output/my-company-DCP.pdf
policies/information.md -> output/my-company-ISP.pdf
policies/development.md -> output/my-company-SDLCP.pdf


[Feature Request] Any plan to support DeepSeek v3 api?

DeepSeek v3 is going viral due to its high capability and low price, so I'd like to use the model in smart composer too.
Since it's an openai compatible api, it would not be difficult to add another api to the plugin.
base url: https://api.deepseek.com
model: deepseek-chat

You can try the OpenAI-compatible API, select "Custom (OpenAI Compatible)" for either the chat model or the apply model. If you encounter any CORS issues, please let me know.

Oh, I didn't know the option. Thank you for letting me know!

Well, I tried with the method you suggested, but I got this error message.
Failed to generate response Error: 401 Authentication Fails (no such user)

This is a sample request code from deepseek. Do you have any idea for this error?
// Please install OpenAI SDK first: `npm install openai`

import OpenAI from "openai";

const openai = new OpenAI({
        baseURL: 'https://api.deepseek.com',
        apiKey: '<DeepSeek API Key>'
});

async function main() {
  const completion = await openai.chat.completions.create({
    messages: [{ role: "system", content: "You are a helpful assistant." }],
    model: "deepseek-chat",
  });

  console.log(completion.choices[0].message.content);
}

main();

I'm sorry, I might make a mistake. I issued a new api key and I can get it work.


Fix Chunk::component_batch_raw not checking the bitmap first

@abey79 discovered the issue when doing the Chunk Store UI.
Before:

After:

Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using examples from latest main build: rerun.io/viewer
Using full set of examples from nightly build: rerun.io/viewer

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!
[x] If have noted any breaking changes to the log API in CHANGELOG.md and the migration guide

PR Build Summary
Recent benchmark results
Wasm size tracking

To run all checks from main, comment on the PR with @rerun-bot full-check.

Shouldn't component_batch() (and possibly component_instance[_raw]() receive the same treatment?

Everything bottoms out in component_batch_raw ultimately so that shouldn't be the problem.
That makes me wonder if there are similar shenanigans on UnitChunk though.

Oh right, didn't notice.

There were in fact similar shenaniganeries on UnitChunk, nice catch


Theme

Is there any way to work with themes?
I mean we are using this to build our backstage tech docs and since we have white and dark themes, the SVG that is generated doesnt conflict with white theme, but with dark, arrows and some texts use same background color #333333

I'm not sure there is a way to achieve this with static rendering, but https://github.com/johanneswuerbach/backstage-plugin-techdocs-addon-mermaid supports also theming. Did you check this out already?

I found a way to do a work around.
I mkdocs.yml I've add the extra css item, and the name of the css must match some regex pattern, so I named it main.xpto.min.css
Then it was loaded property from backstage, my first try I named it style.css but backstage didn't loaded.
I am not using the mermaid add-on, I use it only in CI, building the doc and saving it in a bucket.


vfio-user: document in the spec how hugepages should be handled

https://libvfio-user.slack.com/archives/C01AFGCSPTR/p1615373270035500?thread_ts=1615194194.026600&cid=C01AFGCSPTR

We should have something that's sort of like this:
        iova.iov_base                              iov_end(iova)
        +---------------------------------------------+
        |               paddr (guest PA ranges)       |
        |                                             |
   +----+---------------------------------------------+---+
   |    +---------------------------------------------+   |
   |                                                      |
   |                    vaddr (mapped ranges)             |
   +------------------------------------------------------+
ALIGN(iova.iov_base)                                 ALIGN(iov_end(iova))

   #define pa2va(pa) (pa - iova.iov_base) + vaddr.iov_base

There are some example 1MB mappings we get from qemu that are probably illustrative:
28469@1615369738.285335:vfio_listener_region_add_skip SKIPPING region_add 0xfec00000 - 0xfec00fff
28469@1615369738.285339:vfio_listener_region_add_skip SKIPPING region_add 0xfed00000 - 0xfed003ff
28469@1615369738.285341:vfio_listener_region_add_skip SKIPPING region_add 0xfee00000 - 0xfeefffff

We should also mention overlapping mappings I think?

We should also mention overlapping mappings I think?

Mention what about them?

We should also mention overlapping mappings I think?

Mention what about them?

Just that they can exist with an example?


fix: Sort subdirs before mapping them to classes.

The documentation says that [1]:

If [classes are] not provided, the list of classes will be automatically inferred (and the order of the classes, which will map to the label indices, will be alphanumeric).

However, the code was adding classes in the order os.listdir returned them. This commit alphanumerically sorts the sub-directories before mapping them to label indices.
[1] http://keras.io/preprocessing/image/

LGTM


tensorflow binary image for ARM architecture

Any chance that an ARM compatible tensorflow whl binary image is available for Linux?

Not at the moment -- you might try building from source for arm.  We don't really have a test infrastructure yet to make sure we keep it working, which is why we don't build the binary package for it.

@petewarden: What's the status of this now?

I'm hoping to work on this over the next couple of weeks.

I actually misread this - I didn't realize it was discussing an ARM binary for Linux. I'm not likely to be working on that, the closest I have is the makefile support for the Raspberry Pi. I'm going to close this since it's an enhancement and is unlikely to be worked on soon.


CAMEL-9678 camel-undertow - Keep restarting server when add/remove ro…

…utes
Refactored camel-undertow consumer to enable hot swapping individual handlers which correspond to each consumers without restarting undertow server.

Thanks, the PR has been merged. Can you close this? :-)

Thanks! closing


Official abbreviation for cluster api operator

User Story
As a lazy human, I want to avoid to type "cluster api operator".
An official abbreviation glossary would be nice.
/kind feature

I think we can use CAO and IMHO it'll not be a naming conflict with downstream CAPI providers as per the naming contract of cluster-api.
Ref: https://cluster-api.sigs.k8s.io/developer/providers/implementers-guide/naming#repository-naming

Done by https://github.com/kubernetes-sigs/cluster-api/pull/10005


TypeScript 2.9 Watch API change breaking watch support in ts-loader?

Hey everybody! (and in particular @sheetalkamat and @andy-ms !)
TypeScript Version:  2.9.1
Apologies for raising a bug.  I suspect this probably isn't a bug.  (Although I suppose it may be.)  I'm raising this issue because it may be a bug; but either way I could really benefit from some guidance.
I'm one of the maintainers of ts-loader.  I was just doing the relevant housekeeping to cut a new release.  I thought I'd switch to building ts-loader with TypeScript 2.9.  However, this presents the following compile error:
src/servicesHost.ts:190:9 - error TS2322: Type '{ rootFiles: string[]; options: CompilerOptions; useCaseSensitiveFileNames: () => boolean; getNew...' is not assignable to type 'WatchHost'.
  Types of property 'createProgram' are incompatible.
    Type '{ (newProgram: Program, host: BuilderProgramHost, oldProgram?: BuilderProgram | undefined, config...' is not assignable to type 'CreateProgram<BuilderProgram>'.
      Types of parameters 'newProgram' and 'rootNames' are incompatible.
        Type 'ReadonlyArray<string> | undefined' is not assignable to type 'Program'.
          Type 'undefined' is not assignable to type 'Program'.

190   const watchHost: WatchHost = {
            ~~~~~~~~~

The error message isn't as revealing as it might be but I think it's related to createAbstractBuilder somehow no longer aligning with createProgram.
The easiest way to see this in action is to take the ts-loader source code and amend this line from:
    createProgram: compiler.createAbstractBuilder as any // TODO: Chase up with TypeScript team about API change

to:
    createProgram: compiler.createAbstractBuilder

et voila! Compile error.
I've tried digging through the history of builder.ts and I've a hunch that this may be linked to the strictNullChecks switch that recently happened.  Unfortunately I'm not getting enough information from the compiler to meaningful progress this.  I'm drawing a blank.
Would you be able to give me some guidance please?   My apologies if I'm missing something super obvious.

I also have code that might break because of this ... bug / misunderstanding, that I based on the pull request for https://github.com/Microsoft/TypeScript-wiki/blob/master/Using-the-Compiler-API.md#writing-an-incremental-program-watcher:
import chokidar from 'chokidar'
import fs from 'fs-extra'
import path from 'path'
import { BrowserWindow } from 'electron'
import ts from 'typescript'

import pkgDir from 'pkg-dir'

const ROOT = pkgDir.sync(__dirname)
if (!ROOT) {
  throw new Error(`Could not find a valid project root.`)
}

const ROOT_BUILD_GUI = path.resolve(ROOT, 'build', 'gui')
const ROOT_GUI = path.resolve(ROOT, 'gui')

// based on: https://github.com/Microsoft/TypeScript-wiki/pull/169/
const watchGuiTS = async (): Promise<void> => {
  let resolve: () => void
  const promise = new Promise<void>((res) => { resolve = res })

  const formatHost: ts.FormatDiagnosticsHost = {
    getCanonicalFileName: p => p,
    getCurrentDirectory: ts.sys.getCurrentDirectory,
    getNewLine: () => ts.sys.newLine
  }

  const formatDiagnostic = (diag: ts.Diagnostic) => {
    return ts.formatDiagnostic(diag, formatHost).trimRight()
  }

  // @ts-ignore
  const ignoreDiagnostic = (diag: ts.Diagnostic) => {
    // return [6031, 6032, 6042].indexOf(diag.code) !== -1
    return false
  }

  const reportDiagnostic = (diag: ts.Diagnostic) => {
    if (!ignoreDiagnostic(diag)) {
      console.error(formatDiagnostic(diag))
    }
  }

  let firstTS6042 = true

  const reportWatchStatusChanged = (diag: ts.Diagnostic) => {
    if (firstTS6042 && diag.code === 6042) {
      resolve()
      firstTS6042 = false
    }
    if (!ignoreDiagnostic(diag)) {
      console.info(formatDiagnostic(diag))
    }
  }

  const searchPath = ROOT_GUI

  const configPath = ts.findConfigFile(searchPath, ts.sys.fileExists, 'tsconfig.json')
  if (!configPath) {
    throw new Error(`Could not find a valid 'tsconfig.json'.`)
  }

  const host = ts.createWatchCompilerHost(configPath, {}, ts.sys,
    undefined,
    reportDiagnostic,
    reportWatchStatusChanged,
  )

  ts.createWatchProgram(host)

  return promise
}

// ...

(I've used to use ts.createEmitAndSemanticDiagnosticsBuilderProgram instead of undefined in the call to createWatchCompilerHost and had to change that after upgrading to TS 2.9 (seems to be used by default anyway).)
Calling watchGuiTS now results in these two TS-related messages, and as there is no TS6042 message anymore, the function does not get resolved:
message TS6031: Starting compilation in watch mode...
message TS6194: Found 0 errors. Watching for file changes.

So this is where I'm stuck getting TS 2.9(.1) to work with my project ATM.

It might be that my issue (apart from the undefined thing that might be connected to this bug) is unrelated: I just saw that https://github.com/Microsoft/TypeScript/blob/master/src/compiler/diagnosticMessages.json is now missing TS6042 (it was present in the 2.8.3 version), and TS6194 with 0 errors might be the appropriate replacement. (Just guessing, not going on a code dig now.)

Ok, I ended up changing my code around reportWatchStatusChanged to the following:
  const formatDiagnostic = (diag: ts.Diagnostic) => {
    return ts.formatDiagnostic(diag, formatHost).trimRight()
  }

  const ignoreDiagnostic = (diag: ts.Diagnostic) => {
    return [6031, 6032].indexOf(diag.code) !== -1
  }

  const reportDiagnostic = (diag: ts.Diagnostic) => {
    if (!ignoreDiagnostic(diag)) {
      console.error(formatDiagnostic(diag))
    }
  }

  let firstCompilationDone = false

  const isCompilationDone = (diag: ts.Diagnostic) => {
    return diag.code === 6194 && diag.messageText === 'Found 0 errors. Watching for file changes.'
  }

  const reportWatchStatusChanged = (diag: ts.Diagnostic) => {
    if (!firstCompilationDone && isCompilationDone(diag)) {
      resolve()
      firstCompilationDone = true
    }
    if (!ignoreDiagnostic(diag)) {
      console.info(formatDiagnostic(diag))
    }
  }

The part diag.code === 6194 && diag.messageText === 'Found 0 errors. Watching for file changes.' smells like "there is a better way to do this" but it works for now.

@felixrabe you want to look for diagnostics code: 6193 and  6194 since those are the replacement for Watching for file changes message.

Well done! 🌻

fix should be in typescript@next later tonight, and in<EMAIL_ADDRESS>in a week.


Module not found: Error: Can't resolve '@agm/core/services/fit-bounds' in *

Issue description
After doing npm i with "@agm/core": "~1.0.0-beta.6",, the following error happens while building:

ERROR in ./src/app/app.module.ngfactory.js,
ERROR in ./path/to/component.ngfactory.js,
Module not found: Error: Can't resolve '@agm/core/services/fit-bounds' in path/to/module
Module not found: Error: Can't resolve '@agm/core/services/fit-bounds' in path/to/component.

Steps to reproduce and a minimal demo of the problem

Provide FitBoundsService to a module:

import { FitBoundsService } from '@agm/core/services/fit-bounds';
@NgModule({ ..., providers: [ FitBoundsService ], ...})

Import FitBoundsService in a component:

import { FitBoundsService } from '@agm/core/services/fit-bounds';

Current behavior
Fails with previously described build errors.
Expected/desired behavior
Build should not fail.
angular-google-maps, Angular, & any other relevant dependency versions

"@agm/core": "^1.0.0" or "@agm/core": "~1.0.0-beta.6",
"@angular/*": "~8.1.1"

NOTE: everything works as expected if I pin @agm/core to 1.0.0-beta.6,

Why are you using FitBoundsService?
Also, duplicate of #1729

Hi @doom777,
I am using the methods addToBounds and getBounds$from the service to fit my map (bounds) with the result of those operations.
Am I not suppose to use this/was the service unintentionally exposed? If yes, is there any alternative?

@filipjakov we're looking at the imports that were broken with the latest package. Please adjust your package.json to be "@agm/core": "1.0.0-beta.7" (notice there is no ~ or ^ specified, you need exactly beta.7)

@filipjakov these are imposed for libraries, not end users. You are expected to use fit bounds with markers or polyline points inside the map

Ok, thanks guys 👍

I'm seeing the same behavior on version 1.1.0
I'm trying to follow this conversion, but am a bit confused. My use case is that i'm extending AgmMap in my own class in order to achieve some functionality. This requires me to call super() with FitBoundsService
Angular CLI: 8.2.1
Angular: 8.2.14


Hyperband stopping criterion too permissive with noisy metrics

wandb --version && python --version && uname

Weights and Biases version: 0.9.7
Python version: 3.7.9
Operating System: Ubuntu 18.04LTS

Description
Running a sweep using Hyperband (HB) early stopping criterion.  The metric I use to evaluate model quality is somewhat noisy.  The current hyperband stopping criterion considers the run's minimum (best) (code) metric value vs a single-sample snapshot of the other runs in that band. (code).  For noisy metrics, the result is that runs are judged very favorably, and runs that a human would obviously judge as being worse than average are allowed to continue.  This problem becomes especially pronounced in later bands where the min() is taken over a larger number of samples.
What I Did
Consider these charts of the objective metric vs time for a HB run.

The run I'm concerned about is in hot pink, with the badly drawn label "This V".  It passed a band marker at about 3.7 hours where the two brownish runs at the bottom finished.  This smoothed plot makes it clear that the hot pink run is not in the better half of all runs to reach that point, and thus should be stopped.  But because it got one lucky sample below the median, it is allowed to continue, as shown in this unsmoothed plot:

Discussion
It's not totally clear what to do about this.  But the current criterion is clearly biased in a way that leads to wasted compute because it stops a lot fewer runs than it should when the metrics are noisy.  Using single sample snapshots for both the current run and the thresholds I think would yield an unbiased criterion with high variance.  Alternately using the same aggregation for both could also eliminate the bias.  I'm not sure which would do better in general.

Hi there, thanks for the feedback on the hyperband implementation! We based it on the original hyperband paper — if you have any ideas on what we could improve here to make our algorithm more robust to noisy metrics, definitely interested in making this better for you :)

That original paper is a monster, weighing in at 33 pages before appendices and references.  It's long on proofs and short on practicalities.  So I certainly sympathize with anybody trying to build software based on it -- it is far from a model for clarity, even though the key ideas they propose are brilliant in their simplicity.  Given that wandb exposes the idyllic combination of BayesOpt  + Hyperband, I recommend the BOHB paper by Falkner, Klein, and Hutter which dives into some subtleties on getting them to work together as that original paper leaves out a lot of details, forcing us as builders to make our best educated guesses about how to achieve what they describe.
Quoting the original paper, which is surprisingly clear in section 3.1 on the key idea of successive halving: "uniformly allocate a budget to a set of hyperparameter configurations, evaluate the performance of all configurations, throw out the worst half, and repeat until one configuration remains." (Emphasis mine.)  The bug I'm raising here is that the current code is often throwing out less than half of the configurations that pass each band, because it's biased by the different ways of sampling / aggregating the runs' metric histories.  This can result in a significant decrease in HPO performance (compute time to achieve a desired quality).

Sorry - I realize a mistake I made in the original bug report.  I shouldn't have referred to human judgement, because that implies that the algorithm is doing something silly that an expert wouldn't - this isn't the problem.  The algorithm as implemented is objectively incorrect.
At its core, the problem is that it's making an unfair comparison - a single metric vs the min of a series of metrics. The bias means it fails to stop half (or 1/eta) the jobs like it should.  The question is how to fix it.  Compare single value against single value at the instant it reaches the new band?  That would be fair, and simple, but also very noisy.  It achieves the key goal of stopping half the runs, and so all the very long proofs in the paper would apply, but the variance would be very high, meaning that the convergence to a good configuration would be slow.  A lower variance alternative would be to aggregate the metrics within the band in the same way for every run.  Min vs min could work, but that will also have high variance (higher?), as it emphasizes outliers.
I think mean is probably better, since it will lead to the lowest variance assuming normal noise.  Of course these samples are expected to have some systematic progression within the band towards better metric values.  Still, the mean will reduce variance and will be as fair a comparison between runs as anything.  When I say the metrics within the band, I mean just the new metrics since the end of the last band.  So if you band boundaries are {2,4,8}, then when aggregating metrics for band=8, you'd use the metrics at times 5 through 8.  No reason to include the earlier history, since the runs already passed that criterion.
Here's another example where the current implementation will fail badly, and applies even if the objective metric has zero noise: if the training processes start to overfit, such that the metrics of all runs bottom out and then start to go back up (get worse).  In this situation, the current algorithm would never stop a large class of runs which have started to overfit.  Because it would always consider the best metric the run had ever achieved, and compare that against the larger overfitting metric of all the other runs (including itself) which are going back up in the later bands.  The minimum metric value is going to be better than what all the runs are doing later, and so the current implementation will judge every run favorably and never stop them.

@leopd's writeup of this issue is excellent. Is there any progress on this @cvphelps? I'm trying to work out if I should build around the WandB sweeping or the beta Ray Tune sweeping, which I'm hoping won't have this problem.
@leopd, just to add to your suggestions about using the mean instead, would a smoothed/lowpassed comparison at the comparison point maybe be a good option? Equivalently, a weighted average with a recency bias.

Sorry - I totally missed this and it really should compare the snapshot - let me take a look.
The mean or a smoothed option seems like a good idea, although maybe simpler and more flexible is to let the user do the aggregation. Thanks @leopd.

Sorry - I totally missed this and it really should compare the snapshot - let me take a look.
The mean or a smoothed option seems like a good idea, although maybe simpler and more flexible is to let the user do the aggregation. Thanks @leopd.

I'm glad this is being looked at! Giving the user control of the aggregation sounds great if there's a sensible default too. Implementing and tuning a custom "minimum of smoothed" might be slightly fiddly as a user, so it would be nice if there were a utility provided to make that simple. Perhaps if the smoothing amount were parameterised the same way as the smoothing in the UI, it would be easy to fiddle with a slider to pick a smoothing value that looks right.

@SamPruden I think some kind of smoothing criterion makes sense - without a rigorous analysis, intuitively it should reduce variance in the quality of tuning.  It's essentially impossible to know what distribution the noise looks like, so we should just assume normal, in which case using the mean is probably the best smoother.  Over what range?  I'd say only the most recent band.    Also, if your training process produces learning curves that are non-monotonic (pretty common) then an aggregator like min() will have some pathological behavior.
Re: exposing aggregation options to the user - I'd advise against it.  Of course there's no best "right" answer here (barring a full research paper's worth of effort to test), so leaving it as a hyper-hyper-parameter seems reasonable.  But the key reason for tuning is to automate finding good hyper-parameters, and every time you expose hyper-hyper-parameters, you run the risk that somebody thinks they need to do multiple sweeps varying that hyper-hyper-parameter and then they're totally wasting their time and money.  Those extra lines in the documentation to describe the option will make a few people slightly happier (although maybe they shouldn't be), and everybody else slightly more confused.

My thought on exposing aggregation options was that it would be nice to have that power if there are some sensible defaults, but I completely agree that this shouldn't have to be a hyperparameter that most users need to tune, or spend time researching or thinking about.
My instinct is that "minimum of lowpass" would be a good option. It should deal with noise problems, but not be sensitive to the overall shape of the whole curve. Skipping early data could be done if necessary per @leopd's suggestion. @leopd I'm not sure what you mean by "mean" - if you mean moving average then I think that we're in agreement, but if you're talking about taking the mean over a large range then I worry that that would be too sensitive to the shape of the curve.
I haven't done more than skimmed the paper, but if it's true that it's not clear on what metrics they used to achieve their results, we could always just shoot the authors an email.

To motivate the idea that customisation may be good, different training scenarios may have different ideas of "best".
For example, if you take a fairly standard setup, then this may heavily depend on batch size. At one extreme, you may have many tiny batches and would want heavy smoothing. At the other extreme, you may have only a single large batch, and might want no smoothing at all - only a simple minimum.
These scenarios may be quite rare, but it would be a shame to make this feature so locked down that it's not usable in them. For that reason, I would advocate sensible defaults and the option to customise with a big "WARNING: Only mess with this if you know what you're doing!" in the docs.
Counterpoint: A user could always just log a custom metric that's intended to be used by hyperband, so actually we already have customisation power without exposing that option here. This might impose extra fiddly data tracking on the user, but would keep the API simple.


doc: improve README.md

Improve README.md
add link to Diving in section:

documentation

good first issue

Report for any other missing links in README.md

Done :)


Add framework for adaptive complexity, GBP updates, and many miscellaneous tweaks

Changes by package (not a comprehensive list but covers the major stuff):

Global Planner

Lots of small functionality refactors to improve efficiency
Sample from velocity distribution
Add test fixture
Increase warmstart time

Local Planner

Decrease update rate to hardware-feasible time (333Hz)
Add contact schedule change for leaping
Support AC (pass map, foot position and velocity in world frame to NMPC)

NMPC

Support AC with all simple elements, same warm start and NLP as before
Complex system not fully implemented but only Joe will use that, PR to come later
Adds Casadi functions for complex systems and transitions (most of lines added)

Quad Simulator

Adds new local min worlds
Changes mu on all sdfs to 0.5
Disables motor model (temporary)

Quad Utils

Add conversion from centroidal to full system to QuadKD along with feasibility checks
Update filter_chain to add buffer around holes
Re-add traj publisher to planning.launch

Robot Driver

Add cartesian space feedback (gains set to zero)
Add robot state publisher for local plan reference state
Change knee hard stop from bang-bang to stiff proportional FB.


Snowflake Query_id

Is your feature request related to a problem? Please describe.
When we get a dbt run failure, I often look through the debug logs to find the exact query which was run..
Also in case of data issues if we want to use snowflake time travel query id make it easier to go back
Describe the solution you'd like
dbt run_results.json has snowflake query_id.. add this as part of elementary table dbt_run_results
Describe alternatives you've considered
Right now, I look through the snowflake query history to find the sfqid, which works but is a bit tedious.
Additional context
Add any other context or screenshots about the feature request here.

Thank you for surfacing @kkprab, sounds like a great addition!
I wonder if this value is returned in other platforms as well.
Are you open to contributing this feature?
I would provide guidance of course, should be simple

Hey @kkprab  thanks for this idea!
I tested it, and it seems to be a specific information that snowflake adapter is returning on dbt run.
As @Maayan-s said, if you are open to contributing this feature we would love to provide guidance!
In addition, can you please share with us the need this feature helps you with?
And can you please tell us if (or why) the compiled code that we save on the dbt_run_results table and shows in our alerts & report isn't enough?
We would love to learn from your use case an improve our product!

Hi
Yes I am open to contributing for this feature..
I understand that query_id would be only relavant to snowflake... let me try to explain use case
In dbt tables are create or replace so if I want to time travel on a table
Only way is to create table using before (date time or query id)
Reason why we need time travel could be

 Issue with logic (ie changes passed on to PROD with out proper validation) I know in our company it happens some time

 Data comparison

 Say dbt run took long time for certain model with query id it will be faster to get to and view the query profile to find out root casue

If we have query_id there is no better way to time travel as well analysing issue in query profile
Thanks
Prabahar Kamatchirajan
From: IDoneShaveIt @.>
Sent: 06 November 2022 21:04
To: elementary-data/elementary @.>
Cc: Kamatchirajan, Prabahar @.>; Mention @.>
Subject: Re: [elementary-data/elementary] Snowflake Query_id (Issue #383)
[EXTERNAL E-MAIL] This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender.
Hey @kkprabhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkkprab&data=05|01|prabahar.kamatchirajan%40irco.com|12b5605d97f041a78bef08dac03a6c9a|cbcd573c126846b899ebfe1150873655|0|0|638033654414942712|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=a9otcKBamIpiBZaas6696yVMWkRNIhBXH8fmvGInScs%3D&reserved=0 thanks for this idea!
I tested it, and it seems to be a specific information that snowflake adapter is returning on dbt run.
As @Maayan-shttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMaayan-s&data=05|01|prabahar.kamatchirajan%40irco.com|12b5605d97f041a78bef08dac03a6c9a|cbcd573c126846b899ebfe1150873655|0|0|638033654414942712|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=QcD6eQ1piRKIKXbU01SR7bKp6UNqmG19XtX5UWpI8lQ%3D&reserved=0 said, if you are open to contributing this feature we would love to provide guidance!
In addition, can you please share with us the need this feature helps you with?
And can you please tell us if (or why) the compiled code that we save on the dbt_run_results table and shows in our alerts & report isn't enough?
We would love to learn from your use case an improve our product!

Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Felementary-data%2Felementary%2Fissues%2F383%23issuecomment-1304893197&data=05|01|prabahar.kamatchirajan%40irco.com|12b5605d97f041a78bef08dac03a6c9a|cbcd573c126846b899ebfe1150873655|0|0|638033654414942712|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=oRU01b%2BpG8PM9zcaH7ynC5HDZigerk3nhiuyWaNP2QY%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAXHOSKYGKCG72XAUGKFPRM3WHAML5ANCNFSM6AAAAAARX3U7MI&data=05|01|prabahar.kamatchirajan%40irco.com|12b5605d97f041a78bef08dac03a6c9a|cbcd573c126846b899ebfe1150873655|0|0|638033654414942712|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=%2Bif%2FXMp57B0RIFezt%2FBjG9pxYPQuQy0jNWCP0rQwgto%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Thanks @kkprab for willing to contribute this feature and sharing all this information with us!
Here's a guidance for this feature:

We need to add the query_id field to the dbt run results table. To do so we need to add the column here
We need to extract the data from the run_result object and add it to the uploaded run result object here  - In case that there is no query_id, it should be None
Add the query_id to the models that are based on dbt_run_results table: model_run_results, snapshot_run_results

I have made the changes Can I ask you how do I test it?
Thanks
Prabahar Kamatchirajan
From: IDoneShaveIt @.>
Sent: 07 November 2022 13:15
To: elementary-data/elementary @.>
Cc: Kamatchirajan, Prabahar @.>; Mention @.>
Subject: Re: [elementary-data/elementary] Snowflake Query_id (Issue #383)
[EXTERNAL E-MAIL] This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender.
Thanks @kkprabhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkkprab&data=05|01|prabahar.kamatchirajan%40irco.com|12247ffae471442a505508dac0c212c3|cbcd573c126846b899ebfe1150873655|0|0|638034237020265548|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=IIlfWlnI8r1tYisX2%2B6S7oesZ%2F27M%2BZtLTNM25mrgXU%3D&reserved=0 for willing to contribute this feature and sharing all this information with us!
Here's a guidance for this feature:

We need to add the query_id field to the dbt run results table. To do so we need to add the column herehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Felementary-data%2Fdbt-data-reliability%2Fblob%2Fmaster%2Fmacros%2Fedr%2Fdbt_artifacts%2Fupload_run_results.sql%23L13&data=05|01|prabahar.kamatchirajan%40irco.com|12247ffae471442a505508dac0c212c3|cbcd573c126846b899ebfe1150873655|0|0|638034237020265548|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=vcY8eHF3Sn1NfKhwgLAvG%2BYRvp4RGJsZIUiIGNrHQqo%3D&reserved=0
We need to extract the data from the run_result object and add it to the uploaded run result object herehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Felementary-data%2Fdbt-data-reliability%2Fblob%2Fmaster%2Fmacros%2Fedr%2Fdbt_artifacts%2Fupload_run_results.sql%23L37&data=05|01|prabahar.kamatchirajan%40irco.com|12247ffae471442a505508dac0c212c3|cbcd573c126846b899ebfe1150873655|0|0|638034237020265548|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=aJv0rmklAXUycdbwy0Jxe2jRh4JM%2FGXXlo%2FajKO30q4%3D&reserved=0 - In case that there is no query_id, it should be None
Add the query_id to the models that are based on dbt_run_results table: model_run_resultshttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Felementary-data%2Fdbt-data-reliability%2Fblob%2Fmaster%2Fmodels%2Fedr%2Frun_results%2Fmodel_run_results.sql&data=05|01|prabahar.kamatchirajan%40irco.com|12247ffae471442a505508dac0c212c3|cbcd573c126846b899ebfe1150873655|0|0|638034237020265548|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=D1dg9Dx%2BRmGkRq27WO3EK374fuBKr%2Fe%2BnNoLfVjUokY%3D&reserved=0, snapshot_run_resultshttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Felementary-data%2Fdbt-data-reliability%2Fblob%2Fmaster%2Fmodels%2Fedr%2Frun_results%2Fsnapshot_run_results.sql&data=05|01|prabahar.kamatchirajan%40irco.com|12247ffae471442a505508dac0c212c3|cbcd573c126846b899ebfe1150873655|0|0|638034237020265548|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=grz2qZjSmMPNGuMeLRI3b8fdBJFQAdmdtyCtA6tTvrY%3D&reserved=0

Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Felementary-data%2Felementary%2Fissues%2F383%23issuecomment-1305601030&data=05|01|prabahar.kamatchirajan%40irco.com|12247ffae471442a505508dac0c212c3|cbcd573c126846b899ebfe1150873655|0|0|638034237020265548|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=oxzobxdZGxgM2h3%2B2kwOiJvdwFJ%2Bpnx6NNyXcmoVjDY%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAXHOSK5VMOAUVJD5X6CEMILWHD6FFANCNFSM6AAAAAARX3U7MI&data=05|01|prabahar.kamatchirajan%40irco.com|12247ffae471442a505508dac0c212c3|cbcd573c126846b899ebfe1150873655|0|0|638034237020265548|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=DMsyhXC0P7Y7U3HZa8GhdmSqLRfOHoH3GmosdHMDmWw%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@kkprab of course!
You added a change to the dbt_run_results artifact table, meaning all you should do to test your change is to run dbt run with your version of elementary package!
I think that the easiest way for you to do so is to install you local elementary package in your dbt project (guide).
You can do so by replacing elementary package at your dbt project packages.yml file with the following rows:
packages:
  - local: <dbt-data-reliability cloned repo path>

Now when you'll run dbt deps, it will install your changes at your dbt project.
Another option is to run our integration tests.
To do so, follow this guide.
Thanks again for the contribution, and feel free to reach out for any other question that you have!

Hi @kkprab , chiming in here.
Can you please send the full file with this change (or a github link)?
It can help with understanding the issue.
Please correct me if I'm wrong, but I believe you are trying to add an "{% if" statement within the context of "{% set flatten_run_result_dict" in upload_run_results.sql.
That won't work as you can't nest Jinja statements.
I believe this should work though:
'query_id': run_result_dict.get('adapter_response', {}).get('query_id') if run_result_dict.get('adapter_response', {}).get('query_id') else None

Or actually, a shorter version without duplicating the logic that gets the query id:
'query_id': run_result_dict.get('adapter_response', {}).get('query_id') or None

Hi @kkprab  - You should open a pull request.
See this github guide on how to do so, and please let me know if additional help is needed!

Created pull request
@.***
Thanks
Prabahar Kamatchirajan
From: Itamar Hartstein @.>
Sent: 10 November 2022 21:31
To: elementary-data/elementary @.>
Cc: Kamatchirajan, Prabahar @.>; Mention @.>
Subject: Re: [elementary-data/elementary] Snowflake Query_id (Issue #383)
[EXTERNAL E-MAIL] This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender.
Hi @kkprabhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkkprab&data=05|01|prabahar.kamatchirajan%40irco.com|78f83fcfe3f5464cb6e508dac362da3e|cbcd573c126846b899ebfe1150873655|0|0|638037126599475898|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=%2FwKx7Nbf2FGQvNsT5VfuU1XB59SqwEfDanrO7%2FI9Fuc%3D&reserved=0 - You should open a pull request.
See this github guidehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.github.com%2Fen%2Fpull-requests%2Fcollaborating-with-pull-requests%2Fproposing-changes-to-your-work-with-pull-requests%2Fcreating-a-pull-request-from-a-fork&data=05|01|prabahar.kamatchirajan%40irco.com|78f83fcfe3f5464cb6e508dac362da3e|cbcd573c126846b899ebfe1150873655|0|0|638037126599475898|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=OjM5Ucbaj3vNdJyWO2xBoggETJoitlBv2yr7TWE258Y%3D&reserved=0 on how to do so, and please let me know if additional help is needed!

Reply to this email directly, view it on GitHubhttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Felementary-data%2Felementary%2Fissues%2F383%23issuecomment-1310918932&data=05|01|prabahar.kamatchirajan%40irco.com|78f83fcfe3f5464cb6e508dac362da3e|cbcd573c126846b899ebfe1150873655|0|0|638037126599632110|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=L%2Fk8O1j%2BY4ufi7eron7HJspeCJHh5hPfUp9XEXcoCCE%3D&reserved=0, or unsubscribehttps://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAXHOSK5JHGEHAHTCCJRNJQLWHVSQ7ANCNFSM6AAAAAARX3U7MI&data=05|01|prabahar.kamatchirajan%40irco.com|78f83fcfe3f5464cb6e508dac362da3e|cbcd573c126846b899ebfe1150873655|0|0|638037126599632110|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=De9Q1qdLKl38Jxjm7zNuQmGBiUgR0hC67e%2BDpabmIy8%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


Ray cluster test using REST API

Added an integration test case verifying submission of Ray job using REST API.
Description
Created a new integration test case which creates Ray cluster using CR, expose its service as Route, submit a job request using this route and verify the result.
Current TestRayCluster is also refactored to store common parts to dedicated functions.
How Has This Been Tested?
Can be tested using OCP.
Install ODH and CodeFlare operator using Quickstart instructions.
Run the whole test suite based on Go test part of test readme
Merge criteria:

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

Part of https://github.com/opendatahub-io/distributed-workloads/issues/63


Change update warning level over time

Changing update warning level over time and show <UpdateButton> with appropriate colors.
After receiving update-downloaded ipc event from electron-updater newly introduced class would set light warning level and start check interval.
Warning level following requirements described in https://github.com/lensapp/lens-ide/blob/main/requirements/AUTO_UPDATE.md#technical-requirements (R7-R9). For example, it will go medium when 20 days passed after update being downloaded.
Here is the simulation of how button would get changed over time:
https://user-images.githubusercontent.com/9607060/171170380-828df158-b425-48d0-8d8f-6c281d26032f.mov
Testing
To simulate update-downloaded event broadcastMessage(UpdateAvailableChannel) should be fired from somewhere. This will show update button.
Clicking Relaunch to Update Lens doesn't work locally because of this https://www.electronjs.org/docs/latest/api/auto-updater#autoupdaterquitandinstall.
Resolves #5207

Without looking at the code, the last bit of the video confuses me. Why does it go grey? Is that you reloading the application?

Without looking at the code, the last bit of the video confuses me. Why does it go grey? Is that you reloading the application?

Yes, it was page reload, no bugs. Showing that update status still the same after page reload.

I think this PR could easily be moved over to the work that was merged into master from https://github.com/lensapp/lens/pull/5433

Not proceeding with review till rebased with master.

There's a lot of cool and significant improvements to be made here, but let's wait for that rebase first. Shout when that happens? :)


Return Type of Mapper Function

hi does anyone know why the return type of Function has to be this and not just 'R' in <> since they both produce the same output for all test cases.
thanks!

The issue here is with the return type of the Function parameter and the expectation of it to return a Log. Function<? super T, Log> won't work but it should be Function<? super T, ? extends Log<? extends R>> instead.
? extends Log<? extends R> allows the function to return a Log or any subtype of Log that extends R, which is important for flexibility. The flatMap method wants to accommodate mappers that might return Log or any subtype of it. If you constrain it to Log, you might lose out on the ability to use mappers that return subtypes of Log.
By allowing the mapper function to return Log<? extends R>, you're providing flexibility. For example, if R is String, the mapper function can return Log, Log, or any subtype of Log.
However, if you restrict it to Function<? super T, Log>, you are saying that the mapper must always return exactly Log. This might not always be the case, and it can limit the flexibility and utility of the flatMap method.

the return type of the flatMap method is actually still Log
what you are looking at is the parameter for the Function that flatMap takes in. In the end flatMap still returns objected assigned to Log but its able to be mapped to/ work with subclasses of R because of the ? extends Log<? extends R>

Return type and method parameter type are two different concepts. Please don't mix them up

^^ ohh i see thank you all!


[WIP][SPARK-30268][INFRA] Fix incorrect pyspark version when releasing preview versions

What changes were proposed in this pull request?
This PR fix incorrect pyspark version when releasing preview versions.
Why are the changes needed?
Failed to make Spark binary distribution:
cp: cannot stat 'spark-3.0.0-preview2-bin-hadoop2.7/python/dist/pyspark-3.0.0.dev02.tar.gz': No such file or directory
gpg: can't open 'pyspark-3.0.0.dev02.tar.gz': No such file or directory
gpg: signing failed: No such file or directory
gpg: pyspark-3.0.0.dev02.tar.gz: No such file or directory

yumwang@ubuntu-3513086:~/spark-release/output$ ll spark-3.0.0-preview2-bin-hadoop2.7/python/dist/
total 214140
drwxr-xr-x 2 yumwang stack      4096 Dec 16 06:17 ./
drwxr-xr-x 9 yumwang stack      4096 Dec 16 06:17 ../
-rw-r--r-- 1 yumwang stack 219267173 Dec 16 06:17 pyspark-3.0.0.dev2.tar.gz

/usr/local/lib/python3.6/dist-packages/setuptools/dist.py:476: UserWarning: Normalizing '3.0.0.dev02' to '3.0.0.dev2'
  normalized_version,

Does this PR introduce any user-facing change?
No.
How was this patch tested?
manual test:
LM-SHC-16502798:spark yumwang$ SPARK_VERSION=3.0.0-preview2
LM-SHC-16502798:spark yumwang$ echo "$SPARK_VERSION" |  sed -e "s/-/./" -e "s/SNAPSHOT/dev0/" -e "s/preview/dev/"
3.0.0.dev2

Test build #115395 has started for PR 26909 at commit 9a47d02.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20200/
Test PASSed.

Test build #115395 has finished for PR 26909 at commit 9a47d02.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115395/
Test PASSed.

Like R version, this seems to be another side-effect due to skipping release commit. Hopefully, this is the last instance.
cc @jiangxb1987 since we suffered this before.

Is the 'dev0' thing a Python convention? is it used to count up versions of a preview-like release like this? then yeah makes sense, if the result is 3.0.0.dev2 etc

I'm not sure whether it should be dev0 or dev2, otherwise LGTM

Yes. This is the last instance:
https://dist.apache.org/repos/dist/dev/spark/v3.0.0-preview2-rc1-docs/_site/index.html
https://dist.apache.org/repos/dist/dev/spark/v3.0.0-preview2-rc1-bin

Merged to master.


Application Job Tracker

Missing: Handling Data - Saving Data - Data Validation - Handling React State
Demonstration:
https://naughty-kalam-8f947f.netlify.app/

I like that select isn't classic dropdown.
Picking date by calendar is a nice touch, I wouldn't think of it.
Love the dark theme.

Thank you b-pl


Reword too-many-arguments warning text

Closes #224

Codecov Report

Merging #229 (60dc0d9) into master (6144cd7) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #229      +/-   ##
==========================================
- Coverage   99.05%   99.03%   -0.02%
==========================================
  Files          33       33
  Lines        2110     2077      -33
==========================================
- Hits         2090     2057      -33
  Misses         20       20

Impacted Files
Coverage Δ

robocop/checkers/lengths.py
100.00% <ø> (ø)

tests/utest/test_thresholds.py
95.45% <0.00%> (-0.20%)
:arrow_down:

robocop/config.py
97.43% <0.00%> (-0.04%)
:arrow_down:

tests/e2e/test_e2e.py
100.00% <0.00%> (ø)

tests/atest/conftest.py
100.00% <0.00%> (ø)

tests/utest/conftest.py
100.00% <0.00%> (ø)

robocop/checkers/naming.py
100.00% <0.00%> (ø)

robocop/checkers/spacing.py
100.00% <0.00%> (ø)

tests/utest/test_messages.py
100.00% <0.00%> (ø)

... and 5 more

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 6144cd7...60dc0d9. Read the comment docs.


SOI of centernet head

📚 Documentation
what does the parameters SOI of Centernet means，it looks like anchors of RCNN detector，but what is the real meaning of it and how to set for my owndataset?

Did you get your answer? Please let me know, kinda doing the same thing

Hi,
Sorry for the delayed response. SOI is a manually set hyper-parameter to assign FPN levels. And yes, they are kind of "scale"-level anchors. Usually you can use the same values for different datasets --- I used the same values for Objects355/ OpenImages/ LVIS/ MOT/ Crowdhuman/ Mapillary etc. and they all worked fine.


ESP32-S3 Support with microWakeWord

Category

[x] Hardware / PCB
[x] Software / ESPHome

Whats your idea?
With ESPHome now supporting on-device wake word detection (https://www.home-assistant.io/blog/2024/02/21/voice-chapter-6/), it would be awesome to add support for ESP32-S3 with microWakeWord onboard. Happy to collaborate on this work, as well.

microWakeWord needs the PSRAM which needs GPIO Pins 33 to 37. Unfortunatly we are currently using some of those pins for the microphone and speakers so a redesign of the pcb would be needed.

Are there free pins on the ESP32-S3 that could be utilized instead (with PCB redesign)?


Feature: User should be able to search topics to generate questions

As a user,
I want to be able to search for a specific topic,
So that I can easily generate questions related to study.

Implemented by @stefanomontemagno


Update README.md

Few grammatical error corrections on README write up.
Description

How Has This Been Tested?

[ ] Test A
[ ] Test B

Checklist

[x] The PR is tagged with proper labels (bug, enhancement, feature, documentation)
[ ] I have performed a self-review of my own code
[ ] I have added unit tests that prove my fix is effective or that my feature works
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

cc:

Updated README documentation

Thanks @chukwunonsoikenwa !


Add function's mangled name in the protobuf

As of now quokka only exports the demangled name (or user assigned name) for functions but sometimes it could be useful to have the mangled name as well (working with symbols, function signatures, etc...).
This PR introduces the mangled name for functions. This won't break the backward compatibility of the protobuf even though it is modifying it.
To avoid duplicate names, the mangled name will be actually exported only if it differs from the demangled one.

Sounds awesome!


Support Chinese

I really love the idea of this plugin. But as a Chinese user, I found that it doesn't support Chinese, could you make it work in Chinese? That would be great!

Duplicate of #19. If you can tell me how words are counted in Chinese, I will happily implement it.

Duplicate of #19. If you can tell me how words are counted in Chinese, I will happily implement it.

If I write hello in Chinese, it is 你好. So in English, it is one word but in Chines we count it as two words. So each Character in Chinese is a word ( not include the space or something like that). I am not sure if i explain that clearly. Really thank you for your reply!

So the "character count" option is mostly correct, if it were to ignore punctuation and spacing?

So the "character count" option is mostly correct, if it were to ignore punctuation and spacing?

Exactly! In Chinese, we actually count characters without punctuation and spacing as the “word count” concept

This is very helpful. I'll see what I can do.

That's great!!!

Version 2.12.0 includes a new setting called "Word count method" for compatibility with CJK characters.
Thanks for the pointers.

Version 2.12.0 includes a new setting called "Word count method" for compatibility with CJK characters.
Thanks for the pointers.

It worked well! Thank you very much!


The JFrog CLI cpoy move download command supports move and download the match individual paths directories and files under the directories instead of full paths directories and files under the directories.

Is your feature request related to a problem? Please describe.
When running the JFrog CLI move or download command to move or download the matching directory and files in the Artifactory repository, the JFrog CLI moves and downloads the complete directory path and files in the directory by default and can't move and download the match individual paths directories and the files under the directories.

Describe the solution you'd like to see:
Expect the JFrog CLI move or download command to support moving or downloading individually matching directories and the files under the directories.
The generic type repository needs support.
Example:
Run command: jf rt mv "example-repo-local/artifactory2023/artifactory2/test*" example-repo-local/20230706/
Run result: move the test*/* directories and files to example-repo-local/20230706/
Describe alternatives you've considered
No other alternative was found.
Additional context
The JFrog CLI version is 2.36.1.

Hi @sjl0825 ,
Try using Placeholders, I believe they are offering the flexibility you are after. For example:
jf rt mv "example-repo-local/artifactory2023/artifactory2/test/(*)" example-repo-local/20230706/{1}
Let me know if that works for you.

Hi @sjl0825 , Try using Placeholders, I believe they are offering the flexibility you are after. For example: jf rt mv "example-repo-local/artifactory2023/artifactory2/test/(*)" example-repo-local/20230706/{1} Let me know if that works for you.

Thank you for your help. I solved this problem by using Placeholders. Thank you.

Hi @sjl0825 , Try using Placeholders, I believe they are offering the flexibility you are after. For example: jf rt mv "example-repo-local/artifactory2023/artifactory2/test/(*)" example-repo-local/20230706/{1} Let me know if that works for you.

Thank you for your help. I solved this problem by using Placeholders. Thank you.


Unclear on how to hide the markdown editor

Hey there, I wish to make the markdown editor show/hidden on button click.
To make it visible i  wrote the following code with in the click trigger
$("#article").markdown({autofocus:true,savable:false,iconlibrary:'fa'});

but when i try to use the $('#article').showEditor() toggle api. it gives the following error
TypeError: Object [object Object] has no method 'showEditor'.

Thanks @lodev09. That's helpful.


dateFormatter does not recognise skeleton with EEEE

Hi,
I have a date represented by the milliseconds figure and would like to get the full name of the Day that date corresponds to.
I have tried the following, but it seems like skeleton does not recognize the formatter 'EEEE', which is correct from the standard's perspective:
var dateFormatOptions = {skeleton: 'EEEE'};
var deFormatter = Globalize('de').dateFormatter(dateFormatOptions);

This fails with the exception 'E_UNSUPPORTED: Unsupported {"feature":"year pattern u"}'
However, this code does work as expected and returns the full name of the day:
    var dateFormatOptions = {raw: 'EEEE'};
    var deFormatter = Globalize('de').dateFormatter(dateFormatOptions);

You may have noticed {skeleton: 'E'} works just fine. But, {skeleton: 'EEEE'} doesn't. The former shall work when #271 is implemented.
Having said that, your issue shows we should have a better error message for such cases. Therefore, I'm keeping this bug opened until we improve the error message. Specifically, https://github.com/jquery/globalize/blob/master/src/date.js#L64 returns undefined, which in turn is passed as the expanded-pattern for the formatter, which in turn tries to recognize u and fails.
Having said all that, you can use {raw: 'EEEE'} just fine for your use case. Because, you are formatting only single field. Please, just let me know on any questions.

[ ] improve unrecognised pattern error message

@rxaviers Thanks for the quick reply.
I guess my expectation was for 'skeleton' to work and recognise the formatting characters as specified in the standard (http://userguide.icu-project.org/formatparse/datetime). If this is not the case, then I hope that using raw with the standard's formatting parameters is OK. I say this because the documentation explicitly discourages the use of raw and instead recommends skeleton.

guess my expectation was for 'skeleton' to work and recognise the formatting characters as specified in the standard (http://userguide.icu-project.org/formatparse/datetime)

#271

Closing this issue in favor of #271 (about deducing skeletons like EEEE) + #469 (about improving the error message for undefined skeletons).


GraphQL/ObjectDescription is flagging some things that it shouldn't

Hey there!
Thanks so much for publishing this gem! We've been using it in our production app in the last while and it's been great! One issue that we found though is with the GraphQL/ObjectDescription rule. This seems to flag any class within the graphql folder—sometimes erroneously.
For example:
 class OrderStatusSync < Mutations::BaseMutation
      graphql_name "PatientOrderStatusSync"
      description "Fetch an updated tracking status for the given order"

      class TrackingInfoNotAvailable < StandardError; end
end

In this case the TrackingInfoNotAvailable class gets flagged as violating the rule and it needs a description (which of course, StandardError does not provide).
Just wondering what your thoughts are. Would a simple return unless klass.respond_to?(:description) be enough here? Happy to open a PR if you think that's a good idea. Thanks!

Hi @andrewmarkle! I feel like return unless klass.respond_to?(:description) won't work here since we're working with AST and do not have the runtime here. I wonder what's the best way to handle that, there are options:

do nothing and make developers ignore such cases manually (annoying)
check classes on the top level (will give us false negatives)
check the if the base class type/mutation/etc (error prone cause it's hard to understand if the class we inherit from is inheriting from GQL class)

Thoughts?

Why not check the module_parents?
GraphQL::Language::Nodes::Document.module_parents
# [GraphQL::Language::Nodes, GraphQL::Language, GraphQL, Object]

If the module_parents for the class contains GraphQL::Language::Nodes then run the check otherwise don't. Would this produce false negatives?

Why not check the ancestors?
Types::QueryType.ancestors

Produces:
[
    Types::QueryType,
    GraphQL::Types::Relay::HasNodesField,
    GraphQL::Types::Relay::HasNodeField,
    Types::BaseObject,
    GraphQL::Schema::Object,
    GraphQL::Schema::Member,
    GraphQL::Schema::Member::GraphQLTypeNames,
    # ...
]

If the ancestors for the class contains GraphQL::Schema::Object then run the check otherwise don't.
Would this produce false negatives?

Why not check the ancestors of the class? If it contains GraphQL::Schema::Object or something else relevant?

We cannot access ancestors because we work with AST, not with the instance of Class itself 🙂 Rubocop does not even require any dependencies of the code it inspects

Also
app/controllers/graphql/internal_controller.rb:3:9: C: GraphQL/ObjectDescription: Missing type description
  class InternalController < BaseController
        ^^^^^^^^^^^^^^^^^^

@ojab That's because we turn checks on for everything inside any graphql folder. I guess in your case it will be enough to just exclude conrtollers/graphql/**/*


cargo install bore-cli failed

log:
pi@raspberrypi:~/Bore$ cargo install bore-cli
    Updating `https://mirrors.ustc.edu.cn/crates.io-index` index
error: failed to download `bore-cli v0.4.0`

Caused by:
  unable to get packages from source

Caused by:
  failed to download replaced source registry `https://github.com/rust-lang/crates.io-index`

Caused by:
  failed to parse manifest at `/home/pi/.cargo/registry/src/mirrors.ustc.edu.cn-12df342d903acd47/bore-cli-0.4.0/Cargo.toml`

Caused by:
  failed to parse the `edition` key

Caused by:
  supported edition values are `2015` or `2018`, but `2021` is unknown

cargo config
pi@raspberrypi:~/Bore$ cat ~/.cargo/config
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index"

What is your rustc --version? Could you upgrade to the latest stable version 1.60?

$ rustc --version
rustc 1.41.1
pi@raspberrypi:~/.cargo/bin$ ./rustc --version
rustc 1.62.0-nightly (de1026a67 2022-04-23)

There seem to be two rustc on my pi.
I already know the problem and I will fix it, thanks.


Feature/paginate through all jobs list

This PR adds a method to allow users to paginate through all the jobs in the jobs list. It is helpful as it allows people to obtain all of the jobs from the list jobs API.
Also, fix a bug in JobListJobs and Job struct, the API sends user_email in this format and not in camel case like in the struct.

I made few changes to your code.
Version 0.17.1 available on crates.io


Questions work with dashjs: player.setQualityFor("video",240);

1.when i want to  setQualityFor:["video",240/480/720] ,there is error:
Player "example-video" is already initialised. Options will not be applied.
var player=videojs('example-video',{})
player.src({
        src: 'dash.mpd',
        type: 'application/dash+xml'
});
$(btn240).click(function(){
   player=videojs('example-video', {
        html5: {
            dash: {
                setAutoSwitchQuality:false,
                setQualityFor:["video",240]
           }
       }
   })
});

how should i do to change video quality (i have different quality )?
2.Is this the only way to use dashjs? Or there are some other better ways .

You should be able to call player.dash.mediaPlayer.setQualityFor('video', 240) in your button handler.

@forbesjo   player.dash.mediaPlayer.setQualityFor('video',2) can be call.  But it dose not work well, the quality doesn't change. When i call player.dash.mediaPlayer.getQualityFor('video') ,the result is always 0 thought i call setAutoSwitchQuality:false,.
(i don't really understand what means of the second arguments 'number')


fix(slpdb): Commenting out more failing integration tests

:tada: This PR is included in version 1.47.4 :tada:
Your semantic-release bot :package::rocket:


[BUILD] In favor using profile in maven command

Why are the changes needed?

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Recap the background of Hadoop dependencies in Kyuubi.

Kyuubi Server depends on few Hadoop UGI classes to support kerbose, and those are pretty stable APIs through decade. So we decided use hadoop shaded client instead of hadoop vanilla client to avoid transitive deps, see #398.
Current Kyuubi build against Spark 3.0, 3.1 and 3.2-SNOTSHOT(master), all of them support and dist with both hadoop-2.7 and hadoop-3.2.

The property hadoop.binary.version only affect which spark-bin-hadoop-{hadoop-version}.tgz we will use to run integration tests in kyuubi-main module and include into Kyuubi binary dist bundle, and kyuubi server itself always depends on hadoop shaded client 3.2.2, thus we named the maven profile spark-hadoop-2.7/3.2.

Recap the background of Hadoop dependencies in Kyuubi.

Kyuubi Server depends on few Hadoop UGI classes to support Kerbose, and those are pretty stable APIs through decade. So we decided use hadoop shaded client instead of hadoop vanilla client to avoid transitive deps, see #398.
Current Kyuubi build against Spark 3.0, 3.1 and 3.2-SNOTSHOT(master), all of them support and dist with both hadoop-2.7 and hadoop-3.2.

The property hadoop.binary.version only affect which spark-bin-hadoop-{hadoop-version}.tgz we will use to run integration tests in kyuubi-main module and include into Kyuubi binary dist bundle, and kyuubi server itself always depends on hadoop shaded client 3.2.2, thus we named the maven profile spark-hadoop-2.7/3.2.

to the PR title


Read your page on .alias.sh

I am new to git and have forgotten most of my dos commands. Let me try and explain what the plan was. I created the .aliases.sh in my home dir and it is the same dir as .bash_profile. in .bash_profile I placed the source dir like you said. and have your command for myip in aliases. which i dont know why I copied and pasted a new folder never happens. What i wanted to do as I am trying to learn swift and every now and then it gets a bit buggy is clean it out. so I planned to a couple of lines down place this code. with a trigger of cc. one of my problems is when i open up terminal it immediately executes the source folder.
so i deleted the stuff I was trying to add and went for something simpler.
I copied and pasted your #Hosts and trigger for that. here is what that looks like
Last login: Mon Oct 12 04:39:07 on ttys001
-bash: alias: nano: not found
-bash: alias: /private/etc/hosts”: not found
Speedy:~ Speedy$ hosts
-bash: “sudo: command not found
basically it executes when i open terminal. Here is a screen shot of first thing when I open terminal.

the plan is to add a quickKey to clear xcode with this code.

Now this is the first time I have pulled a request so I am not sure when I will be back on. And don't know if git sends me a message or something. this is what I was trying to do. And I get this error -> Speedy:~ Speedy$ cc
clang: error: no input files

Any help is appreciated.
Speedy

Please don’t use this issue tracker for support requests. Use something like https://stackoverflow.com/ instead. Thanks!

That was my first time using the pull thing. Didn’t really know how to use it. Thanks for the help.

On Oct 12, 2015, at 7:52 AM, Mathias Bynens<EMAIL_ADDRESS>wrote:
Please don’t use this issue tracker for support requests. Use something like https://stackoverflow.com/ https://stackoverflow.com/ instead. Thanks!
—
Reply to this email directly or view it on GitHub https://github.com/mathiasbynens/dotfiles/pull/588#issuecomment-147421927.


Registration Selection Page

Implemented the registration selection page designs
Extracted landing page "Register Now" button with shine animation into the new OlympianButton component, and reused that in the registration selection page
Optimized for laptop, desktop, and mobile screen formats (ignore the yellow guidelines that appeared from Inspect Element):

Laptop:

Desktop:

Mobile:

Moved registration question page to /register/general instead of keeping it at /register

Shrunk snowglobe on mobile:

Fixed the OlympianButton link issue

Removed redirect logic from the /register page

Moved Would you like to be considered for travel reimbursement question to transportation page:

Removed How will you be getting to HackIllinois? question

Defaulted travelAcknowledge to not filled in; required that the user clicks "Yes"


[fix](dynamic partition) dynamic partition storage medium not working

fix dynamic_partition.storage_medium not working if hot_partition_num <= 0
Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

run clickbench


Min-Width for badges

Wondering if we can give our badges a min-width. It looks like we're relying on padding to set width. This gives single-digit numerical counts a different width, which is noticeable when looking at a column of badges (say in an inbox).

Not technically a bug but 🤷♀

Can we also please visually center the numbers within the badge when implemented? As you can see in the following examples, the numbers sit at an incorrect baseline position within the badge background field.

Also why are badge counts and the selected tab in the Inbox not bolded?

@braddialpad wanna make sure you saw this -- could be good stuff to groom w/ the team.

Thanks, added to our backlog


Issue 7516 - Postblit not called for structs returned from a ternary operator

https://issues.dlang.org/show_bug.cgi?id=7516
Today, front-end layer handles most of postblit calls, so it's easily fixable.

Rebased on master, and ready for ddmd.

Looks OK. Though DoCopyOrMove doesn't roll off the tongue so well. :-)
Looks like there are failing tests too, though haven't checked why.

There was a small merge conflict. Fixed.

Thanks!


JsonSerializationException: Self referencing loop detected for property 'Creator'

Self referencing loop detected for property 'Creator' with type 'JabbR_Core.Models.ChatUser'. Path 'A[0].OwnedRooms[0]'.
Here is the stack trace
   at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.CheckForCircularReference(JsonWriter writer, Object value, JsonProperty property, JsonContract contract, JsonContainerContract containerContract, JsonProperty containerProperty)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.CalculatePropertyValues(JsonWriter writer, Object value, JsonContainerContract contract, JsonProperty member, JsonProperty property, JsonContract& memberContract, Object& memberValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType)
   at Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType)
   at Microsoft.AspNetCore.SignalR.Json.JsonSerializerExtensions.Serialize(JsonSerializer serializer, Object value, TextWriter writer)
   at Microsoft.AspNetCore.SignalR.Infrastructure.Connection.SerializeMessageValue(Object value)
   at Microsoft.AspNetCore.SignalR.Infrastructure.Connection.GetMessageBuffer(Object value)
   at Microsoft.AspNetCore.SignalR.Infrastructure.Connection.CreateMessage(String key, Object value)
   at Microsoft.AspNetCore.SignalR.Infrastructure.Connection.Send(ConnectionMessage message)
   at Microsoft.AspNetCore.SignalR.Hubs.HubDispatcher.Outgoing(IHubOutgoingInvokerContext context)
   at Microsoft.AspNetCore.SignalR.Hubs.HubPipelineModule.<>c__DisplayClass6_0.<BuildOutgoing>b__0(IHubOutgoingInvokerContext context)
   at Microsoft.AspNetCore.SignalR.Hubs.SignalProxy.TryInvokeMember(InvokeMemberBinder binder, Object[] args, Object& result)
   at CallSite.Target(Closure , CallSite , Object , ChatUser )
   at JabbR_Core.Hubs.Chat.Join(Boolean reconnecting) in C:\Users\jaearle\Documents\Code\JabbR-Core\src\JabbR-Core\Hubs\Chat.cs:line 97
   at JabbR_Core.Hubs.Chat.Join() in C:\Users\jaearle\Documents\Code\JabbR-Core\src\JabbR-Core\Hubs\Chat.cs:line 78
   at Microsoft.AspNetCore.SignalR.Hubs.HubMethodDispatcher.<>c__DisplayClass10_0.<WrapVoidAction>b__0(IHub hub, Object[] parameters)
   at Microsoft.AspNetCore.SignalR.Hubs.HubDispatcher.Incoming(IHubIncomingInvokerContext context)

This is a result of refreshing the page, now that I've added Clients.Caller.userNameChanged(user);  in Chat.cs now. Adding this line solves the issue of chat.state.name being undefined in #113 and allows users to properly send messages (and ensures they're stored in the DB correctly), but when we refresh the page it calls Join again. Need a way to keep track of state between pages so we don't call this more than we have to (but Chat.cs is reinstantiated often with long polling so keeping track of that is going to be tough)

Set to milestone to ensure we do this after fixing #129

This is happening when we pass in a full model instead of a view model to the client side. This specific example was fixed, but I have seen this same self referencing loop error in other places (presumably these will also be fixed by passing in a view model)


Fix missing diagnostics for multiple expressions on the same line in closures, switches, and getters

Switch loops that used parseCodeBlockItem without semicolon checking over to using parseCodeBlockItemList.
Resolves #1452
rdar://107265306

@swift-ci please test


Comments list

Render all comments for a given story

https://github.com/buildit/storybook-addon-reviewer/commit/c74d2be616827aba9706e5cb01f0aaef9e51affb


Fix FileSystem#chdir "path/to/file"

Currently, Dir#chdir(), FileUtils#cd(), and FileUtils#chdir() can move into a file, but the real system raises Errno::ENOTDIR in that case. So I change FileSystem#chdir() to check either the given path is a directory path.
irb(main):001:0> require "fileutils"
=> true
irb(main):002:0> FileUtils.touch "file"
=> ["file"]
irb(main):003:0> Dir.chdir "file"
Errno::ENOTDIR: Not a directory @ dir_chdir - file
        from (irb):3:in `chdir'
        from (irb):3
        from /home/user/.rbenv/versions/2.2.1/bin/irb:11:in `<main>'
irb(main):004:0> require "fakefs"
=> true
irb(main):005:0> FileUtils.touch "file"
=> ["file"]
irb(main):006:0> Dir.chdir "file"
=> nil
irb(main):007:0> Dir.pwd
=> "/file"
irb(main):008:0> exit

Something is wrong with this change, so I created new issue and close this thread.


A typo in README

There is the following typo in README.md:

other parameternames are filled with wrapped executables with the same name

this is small enough to submit a PR directly for


Minigun always revs up with aimbot

Self-explanatory; if the aimbot is enabled and you have the minigun as Heavy fully deployed, it force-revs itself up.

make the aimbot bind


binary_search.py

VERY EASY MANNER

@Priyanshu729 Can you move the program to python/ directory of the repository?

I WILL MOVE THIS IN PYTHON FILE