when sz in linux, crc32 failed

exception:
Uncaught Error: CRC check failed! (got: 97,49,55,32; expected: 99,203,3,169)
    at a (zmodem.js:1)
    at Object.verify32 (zmodem.js:1)
    at i (zmodem.js:1)
    at Function.parse (zmodem.js:1)
    at r.Session.Receive._parse_and_consume_header (zmodem.js:1)
    at r.Session.Receive._consume_first (zmodem.js:1)
    at r.Session.Receive.consume (zmodem.js:1)
    at t.Sentry.consume (zmodem.js:1)
    at WebSocket.handleWSMessage (zmodem.ts:75)

lrzsz version:
sz (lrzsz) 0.12.21rc

but use sz -e is ok
sz -h
-e, --escape                escape all control characters (Z)

so, i think when your crc, include control charaters?
can you fix it.
Thank you~!~

Hi, thanks for the bug report!
Can you please attach the file you were trying to send via sz and the sz command that you used to send the file? And, are you saying that the CRC check does work, or doesn’t work, with the -e flag?
(I mean, there’s not much point to the CRC check since it’s all over TCP anyway.)

In my case,  i use xtermjs to connect my backend Linux server through websocekt,  xtermjs use this lib to implement zmodem
this my backend server distribution information:
root@xcpc:~# cat /etc/issue
Ubuntu 18.04.2 LTS \n \l

github can't attach file to issue,  i will record my operate below:

i touch a new file, nothing in it,  sz file a failed:

root@ecs-52a0:~/sz_test# touch a
root@ecs-52a0:~/sz_test# sz a
3445316036 100644 0 1 0kØ&M

in my browser's developer tool console:
zmodem.js:1 Uncaught Error: CRC check failed! (got: 97,48,32,49; expected: 99,203,3,169)
    at a (zmodem.js:1)
    at Object.verify32 (zmodem.js:1)
    at i (zmodem.js:1)
    at Function.parse (zmodem.js:1)
    at r.Session.Receive._parse_and_consume_header (zmodem.js:1)
    at r.Session.Receive._consume_first (zmodem.js:1)
    at r.Session.Receive.consume (zmodem.js:1)
    at t.Sentry.consume (zmodem.js:1)
    at WebSocket.handleWSMessage (zmodem.ts:75)

but use sz -e can receive server a file success:

root@ecs-52a0:~/sz_test# sz -e a
**B00000000000000

in my browser developer tool console, has two exception, but file can receive success:
zmodem.js:1 Uncaught ReferenceError: array_buf is not defined
    at r.Session.Receive._consume_first (zmodem.js:1)
    at r.Session.Receive.consume (zmodem.js:1)
    at t.Sentry.consume (zmodem.js:1)
    at WebSocket.handleWSMessage (zmodem.ts:75)

zmodem.js:1 Uncaught ReferenceError: array_buf is not defined
    at r.Session.Receive._consume_first (zmodem.js:1)
    at r.Session.Receive.consume (zmodem.js:1)
    at t.Sentry.consume (zmodem.js:1)
    at WebSocket.handleWSMessage (zmodem.ts:75)

Thank you for this! I’ll have a look at this later.
Two other questions:

Does the same problem happen with lrzsz 0.12.20?

Does the xtermjs test suite pass on your machine, with lrzsz 0.12.21rc?

I pushed a fix for the array_buf issue.

Also, in your xtermjs installation, are you using binary or text WebSocket messages? (zmodemjs requires binary.)

same problem with lrzsz version is 0.12.21rc(on ubuntu18.04), not 0.12.20, i will test 0.12.20 later

xtermjs demo for zmodem is pass, i can use sz send file success,  my mac book's lrzsz version is 0.12.20

i develop an proxy use golang,  which use ssh over websocket, It's a little different from demo.

my proxy server transfer data with binary, not use text.

I just tried Ubuntu 18.10’s lrzsz (which reports as version 0.12.21rc) against the test suite, and it passed.
If the demo works but your implementation doesn’t, then notwithstanding the array_buf bug, this sounds like it might be a problem in your implementation.

ok, thanks, I'll check my implementation again.

it's my problem,  i found,  it's ok now, thanks!!!

@yumaojun03 As it happens, while digging into this I realized that there were no tests that actually flex the “happy path” in receive transfers. Worse, I realized that some of tests I did have failed reliably but weren’t even running because of a bug in another test.
So, I’ll roll fixes for all of these into a new release.


Create the collection subsctore for the Audio module

Description
A step towards achieving #6. In order to implement this relation, we should first finish #16.
Acceptance Criteria
Define the acceptance criteria based on the details of #16.

We've decide to create specific modules for Album and podcast series as Collection, and a dedicated module for playlists. Therefore I close this ticket as it's invalid.


down下来安装依赖失败，我这win11的flutter环境可以正常跑flutter项目的，但是拉mpflutter跑就报错下面：

$ ./mpflutter packages get
E:\test\awesome_project>set PUB_HOSTED_URL=https://pub.mpflutter.com
E:\test\awesome_project>flutter packages get
Warning: You are using these overridden dependencies:
! flutter 0.19.0 (1.0.0 available)
! flutter_web_plugins 0.19.0 (1.0.0 available)
! mpcore 0.19.0 (1.0.0 available)
Pub failed to delete entry because it was in use by another process.
This may be caused by a virus scanner or having a file
in the directory open in another application.
Running "flutter pub get" in awesome_project...
pub get failed (1; in the directory open in another application.)

上面是从gitee拉的，现在从GitHub拉跑报错下面：
Warning: You are using these overridden dependencies:
! flutter 1.0.0
! flutter_web_plugins 1.0.0
! mpcore 1.0.0
Pub failed to delete entry because it was in use by another process.
This may be caused by a virus scanner or having a file
in the directory open in another application.
Running "flutter pub get" in mpflutter_demo...
pub get failed (1; in the directory open in another application.)

$ flutter  --version
Flutter 3.3.10 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 135454af32 (3 weeks ago) • 2022-12-15 07:36:55 -0800
Engine • revision 3316dd8728
Tools • Dart 2.18.6 • DevTools 2.15.0
13697 @ dlf16 in E:\test\mpflutter_demo on git:master [17:16:04]
$ git --version
git version 2.39.0.windows.2
13697 @ dlf16 in E:\test\mpflutter_demo on git:master [17:16:16]
$ host
Name             : ConsoleHost
Version          : 7.3.1
InstanceId       : bbe0cc20-8060-4b11-97bb-4761c610c223
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : zh-CN
CurrentUICulture : zh-CN
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled  : True
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace
13697 @ dlf16 in E:\test\mpflutter_demo on git:master [17:16:24]
$ node -v
v16.19.0
13697 @ dlf16 in E:\test\mpflutter_demo on git:master [17:16:48]
$ npm -v
8.19.3

https://github.com/mpflutter/mpflutter/issues/251

#251

用管理员身份打开 powershell 运行还是没跑起来：
13697 @ dlf16 in E:\test\mpflutter_demo on git:master [10:31:41]
$ ./mpflutter packages get
E:\test\mpflutter_demo>set PUB_HOSTED_URL=https://pub.mpflutter.com
E:\test\mpflutter_demo>flutter packages get
Warning: You are using these overridden dependencies:
! flutter 1.0.0
! flutter_web_plugins 1.0.0
! mpcore 1.0.0
Running "flutter pub get" in mpflutter_demo...                     564ms
13697 @ dlf16 in E:\test\mpflutter_demo on git:master [10:31:47]

你这里的提示是已经完成依赖摘取了

怎么运行呀？上面执行命令 ./mpflutter packages get 有在监听端口吗

找到了
在VSCode 只能F5 或者命令 dart lib/main.dart  运行么


Support WebURL on project snippets

Project Snippets return web_url in the fields. Believe adding it to the struct here should allow us to pick it up.
Ref: https://docs.gitlab.com/ce/api/project_snippets.html

Thanks @zaquestion! LGTM!


Update protocol

Please answer these questions before submitting pull request

Why submit this pull request?

[x] Bug fix

[ ] New feature provided

[ ] Improve performance

Related issues

Bug fix

Bug description.
There are "alert" and "alarm" two concepts in protocol
How to fix?
Convert "alert" to "alarm"

Coverage remained the same at 21.988% when pulling 0851b5612e4c27d87976af0daf14242ccf4b7819 on protocol-consistency into f1bf46a348c337ba3c6be8e5b669dc520939593c on master.

@peng-yongsheng Just some typos fix. Merging it.


aws-device-farm-runner 0.0.4

New Pull Request Checklist
Please mark the points which you did / accept.

[x] I read the Step Development Guideline
[x] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[x] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[x] I read and accept the Abandoned Step policy

looks like I forgot to pull my steplib fork master again :/

Please use the latest CLI to share your step, which prevents sharing multiple versions in a single PR.
If you'd want to create this PR manually, please do not share more than one version in a single PR!

You can find the recommended sharing (through the CLI) steps here: https://github.com/bitrise-steplib/step-template/blob/master/bitrise.yml#L82

@viktorbenei yeah I just forgot to pull my steplib fork again before sharing, fixed in https://github.com/bitrise-io/bitrise-steplib/pull/787

No problem ;)


How to upload video from fine Uploader.

Hello,
To upload video,Can we just use allowedExtension mp4 or there are some other criteria?
Thanks!

You don’t need to do anything to upload videos. But if you want to limit the allowed extensions, you can do so as you’ve described.

Hey @rnicholus,
Uploading videos says uploaded successfully but not stored in Server.Also can you help me with the onDeleteComplete events  here is snippet of my code :
callbacks: {
onComplete: function(id, name, response) {
if (response.success) {
alert("UPLOAD SUCCESS");
}
else {
alert("Problem uploading stuff");
}
},
onSubmitDelete: function(id) {
alert("Are You Sure You Wantto delete the item");
},
onDeleteComplete: function(id, xhr, isError) {
if (success) {
alert("DELETE SUCCESS");
}
else {
alert("Problem deleting stuff");
}
}
}
am i doing it correctly ?

Uploading videos says uploaded successfully but not stored in Server

I can't help you with that - you'll need to look closer at your server code.
As for your onDeleteComplete event, you're referencing a variable that does not exist - success. All events are documented at https://docs.fineuploader.com/branch/master/api/events.html. Have a look for more details and examples.


Currently playing dont refresh

If the user leaves the music selection page opened, the "Currently playing" song doesnt updates after the music ends.
Steps to reproduce:

open the jukebox page
pay for selecting the next track
wait for the current track to end

Expected behavior:

the next track in the queue (probably yours) starts playing
the "current playing" title and album cover gets updated

possible fix:
diff --git a/templates/jukebox/jukebox.html b/templates/jukebox/jukebox.html
index 15e551e..bcad502 100644
--- a/templates/jukebox/jukebox.html
+++ b/templates/jukebox/jukebox.html
@@ -258,6 +258,7 @@
     },
     created() {
       this.getCurrent()
+      window.setInterval(this.getCurrent, 10 * 1000)
       this.playlists = JSON.parse('{{ playlists | tojson }}')
       this.selectedWallet.inkey = '{{ inkey }}'
       self = this

Also fixed in #16


extract_centerline() should output the real centerline coordinate, not the discrete version

Description
Currently, the text output of extract_centerline() is simply the voxel coordinates of the output image centerline. There is a lack of precision when doing that. We should instead output the floating point coordinates.

TL;DR: I'm wondering what is the convention for real vs. integer coordinates in these images (pixel-center convention) and if it's worthwhile to document it.
I'm assuming a coordinate index idx corresponds to a real coordinate span of [idx,idx+1), ie. "(z.0,y.0,x.0)" coordinate indicates the corner of a voxel, and a ("z.5", "y.5", "x.5) one indicates the center (half-integer pixel-center convention), so that (0,0,0) and (NZ, NY, NX) are corners of a volume (so int_to_float(x) = x+0.5 and float_to_int(x) = int(round(x-.5)) = int(x)).
The alternative I would be less comfortable with would be to have voxel centers on integer coordinates, where the volume boundaries are not as "meaningful".
And I was wondering if this is obvious / common knowledge / or documented somewhere (eg. the convention is documented in opengl).

Note: looks like nibabel's physical <-> pixel position transform is using the integer pixel center convention.

The used convention (integer pixel center) is documented, so closing this parenthesis.

Yep.


💪 Enhancement: Unify Link Preview & Tooltip open/close behaviours

Both Link Preview & Tooltips are REALLY similar in the opening and closing behaviours. Tooltip is a bit more advanced currently, with features such as a grace area, and only closing by the same method it was opened, while Link Preview is currently behind.
While Link Preview has some extra features of its own, a lot of the logic could be unified to avoid code duplication and behaviour mismatch.

If anyone would like to assist with unifying the behaviors of the tooltip and link preview to reduce some duplication that would be awesome!


FAQ needs to be updated to reflect capacity to block connectors

The FAQ includes the below statements. This is wrong since the introduction of the capability to block connectors . Admins can actually create a DLP that will say no to Dropbox & Twitter, for the whole tenant.
Q: Can I control, on the tenant level, which connector is at all available, for example No to Dropbox or Twitter but Yes to SharePoint)?
A: This is not possible. Customers can subscribe to Audit events to do corrective action if there are flows that have been built that create concerns for customers. In fact, a very large Power Apps customer has leveraged this approach to apply another level of governance.

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

ID: 58eb4b8e-13ae-4b99-5863-cfe07b921ea2
Version Independent ID: 2384f8a9-7698-eb29-c2f4-1a57f9340e47
Content: Governance considerations - Power Platform
Content Source: power-platform/admin/governance-considerations.md
Service: power-platform
Sub-service: admin
GitHub Login: @jimholtz
Microsoft Alias: jimholtz

@Nicokirr
Taking to internal thread.


Legacy App - Loader App

Description
Environments
All testing of issues are done in project-portal-test

project-portal-test
project-portal-test
project-portal-feature

Duplicate #106


[improvement](mtmv, statistics)Collect index row count for MTMV.

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


Form email validation issue

Original reference of this issue https://github.com/angular/angular/issues/740
I was looking through the guide on forms within angular and noticed that in the first example the email field validates if the value is like the following "myemail@mail", this is still not a valid email. The example I was looking at is on this page

Closing this issue admin@mailserver1 (local domain name with no TLD) is valid email. Ref http://en.wikipedia.org/wiki/Email_address#Valid_email_addresses


⚠ PrivateHD has degraded performance

In d0a0d65, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 2718 ms

Resolved: PrivateHD performance has improved in 1ed3575.


ResolutionContext is not resolved in v5.0.0 when using factory methods

In earlier versions, it was possible to pass the current IResolutionContext into a factory method:
.WithFactory<IResolutionContext>(...);.
In v5.0.0, IResolutionContext was removed. Changing the factory method to use ResolutionContext directly does not work, in this case Stashbox tried to create a new instance of ResolutionContext instead of passing the current one into the factory method. Exception message is:
Stashbox.Exceptions.ResolutionFailedException: Unable to resolve type Stashbox.Resolution.ResolutionContext. No public constructor found. Make sure there is at least one public constructor on the type.

Ok, I just found out that IResolutionContext was renamed to IRequestContext.


Please don't use underscore at the beginning of the filenames that Kit produces

Describe the problem
As asked in https://github.com/sveltejs/kit/pull/1370 please many of us ask you not to use underscore at the beginning of the name of the files that kit produces (there are many problems, with Golang but not only).
Describe the proposed solution
Don't use underscore but any other character (except .) or nothing at all, example: instead of __layout.js simply layout.js.
Importance
would make my life easier
@Hugome, @feedmeapples, @rohfle.

Although it turns out this also affects Chrome extensions :frowning_face:

Cannot load extension with file or directory name app. Filenames starting with "" are reserved for use by the system.
Could not load manifest.

Though luckily the Chrome extensions seem to be fine with a leading underscore in __layout.svelte and it's only the _app folder that it's complaining about. So I'm still not inclined to rename __layout.svelte, but maybe we could rename _app

I don't understand why brilliant people who make brilliant products often show themselves as clumsy as an elephant in front of a mouse.
If the community asks you something so "simple" as to avoid using an underscore can you please consider it?
It is also a question of respect for those like me who have been trying to help you as and when they can for years.
What's bad if we don't use underscore for either files or folders? Does the world fall?
Or at least one option in svelte.config.js, please.
Not only Golang has problems, there is Chrome but also other debugging tools and even a proprietary operating system (another case of mine).
Excuse the tone but I am dejected and disappointed by certain hasty responses.

Changing it would break every existing SvelteKit application. Adding an option adds complexity. If someone comes to a new SvelteKit application it's harder to understand where the layouts are, it makes documentation and examples harder if people are doing it different ways, etc. I discussed this with the other maintainers and there's agreement that it should not change
I think we could change _app, but changing __layout would have too many ill effects. Better to invest the time into fixing Go

Changing it would break every existing SvelteKit application.

Isn't that the point of the alpha versions?

Adding an option adds complexity.

I know and in fact I don't agree either. I consider it a last resort.
However, in my request I refer to the files generated in the svelte-adapter-static NOT IN THE USE of Kit with the .svelte files.

I mean the generated files in the build folder with npm run build.

One is generated from the other. I don't know that it'd be that easy to change. I'm sure you could, but it adds more complexity and overhead. E.g. if you're looking at the output file it's harder to tell where it came from if the name doesn't match the input file, you could end up having two files trying to write to the same place, etc. I don't think it'd necessarily be easier than fixing Go and is less correct of a solution

Has this been fixed at all? Having issues with this still 1.5 years later? Has anyone found any work around? The best I've found is manually renaming _layout to layout. Wish it were an option!

The linked Go issue was closed a year and a half ago: https://github.com/golang/go/issues/43854. Maybe you need to upgrade?

Oh. Interestingly files with a leading underscore aren't allowed on GitHub pages, so I've been having a similar issue from the same root cause. Glad it's fixed for you guys! For now I have it working for me by manually renaming.

@jamess-ais you can just create a .nojekyll file: https://github.blog/2009-12-29-bypassing-jekyll-on-github-pages/

I may have placed the file in the wrong place! My bad!

I am also stuck because of the underscores in _app. I could change it manually or I do not know. And the .nojekyll file does not work for me. :( Having an option for changing the name of the _app folder would be nice. I do not think having a lot of options makes Sveltekit complicated to use, as long as the name of the options and the documentation are clear.
My repo is here: https://github.com/playwithalgos/dft-visualisation
And I do not see my app here: https://playwithalgos.github.io/dft-visualisation/build/ while it works locally.
If it is not working soon, I will probably switch to standard sveltejs.

I was unable to fix the error. So I decided to use sveltejs instead of sveltejs/kit.


Add support for DoublyStochastic manifold

Add new manifolds to manifold_factory.py, with a new shape factor or if it matches any existing ones use that.

Add new manifolds to manifold_factory.py, with a new shape factor or if it matches any existing ones use that.

Included in 423a875fef91c28be53ace4886650104eb54aa97


cmd/go: module dependencies not updated with go get -u in 1.17

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

$ go version
go version go1.17 darwin/amd64

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

What did you do?
I ran go get -u
What did you expect to see?
I expected the module dependencies to be update as usual.
What did you see instead?
Only a small number of dependencies were updated. Even directly imported packages with new versions were not updated. The command appeared to download the new versions but did not update the go.mod file.
USER@MacBook-Pro ‹ master › : ~/project/auth
[0] % go get -u
go: downloading private2.repo/project/mfa v0.2.5
go: downloading private2.repo/project/webauthn v1.0.3
go: downloading github.com/fxamacker/cbor v1.5.1
go get: upgraded github.com/aws/aws-sdk-go v1.40.23 => v1.40.24

After running the above command, go.mod still has a require line for private2.repo/project/mfa v0.2.4 and private2.repo/project/webauthn v1.0.2 instead of upgrading them to the new version it just downloaded. Also, many package updates are completely ignored.

 Can you reproduce with 1.16?
CC @bcmills @jayconrod @matloob via https://dev.golang.org/owners

Yes this only seems to happen with go 1.17.
I don't think I made it very clear above (sorry about that), but the two code blocks in the report above show me using go get -u on the same repository sequentially. Running the first go get -u using Go 1.17 updated a single entry and downloaded updated code for two others but did not update go.mod. (Running the command again using 1.17 had no effect). Then I ran the same command using Go 1.16.4 and it proceeded to update all the dependencies as expected.
Go 1.16.4 worked as expected, 1.17 appeared to ignore most of the available updates, even though it had downloaded updated code for two of them.

@niallnsec Thanks for reporting this. It sounds like there might be a bug here, but we need more information to understand what's going on.

Ideally, do you have a public repo that reproduces this problem? Or can you put together a small example?
Does go list -m -u all show the updates you expect?
For modules that are not updated by 1.17, are the packages they contain imported directly from the package in the current directory? Indirectly? By tests?
What version does the go directive have in go.mod?

I have not got a public repo example at the moment, but will keep looking or try to create a test case that has the same behaviour. In the mean time, to answer your other questions:

Does go list -m -u all show the updates you expect?

Yes, for both go1.16.7 and go1.17 the output of go list -m -u all are identical.

For modules that are not updated by 1.17, are the packages they contain imported directly from the package in the current directory? Indirectly? By tests?

The modules not updated are imported both directly and indirectly.

What version does the go directive have in go.mod?

When I upgraded to go 1.17 I update the go directive to 1.17, then did a go get -u followed by a go mod tidy. Prior to that the directive was go 1.16. I now have two require blocks in my repository as was expected.
So all tests show were done with a go directive of 1.17.
I am using a private company Go proxy in my environment, so I disabled that before running the tests to make sure it wasn't playing a part. I get the same results with it in use or not.

Thanks, that helps cross out a few possible causes, but we'll probably still need a reproducible example to figure out what's going on.

I have created a small demo project here: https://github.com/niallnsec/demo_auth
I took the go.mod and go.sum files from my private module exactly as they were following the initial update to Go 1.17. The only edits done manually on these two files (ever) is to remove references to three other internal projects. Otherwise, the module is still importing all of the same public module as in my previous tests.
Using that repository, when using Go 1.16 go get -u gives me the following:
[0] % go get -u
go get: upgraded github.com/aws/aws-sdk-go v1.40.23 => v1.40.27
go get: upgraded golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97 => v0.0.0-20210817164053-32db794688a5
go get: upgraded golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d => v0.0.0-20210813160813-60bc85c4be6d
go get: upgraded golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069 => v0.0.0-20210820121016-41cdb8703e55
go get: upgraded golang.org/x/text v0.3.6 => v0.3.7

However, Go 1.17 does not update all of the packages in the same way when I run the command:
[0] % go1.17 get -u
go get: upgraded github.com/aws/aws-sdk-go v1.40.23 => v1.40.27

In this specific case, all of the modules not updated are indirect imports. The three private modules I removed are all direct imports of the original module these files were taken from and they did not update either when using Go 1.17, although one of them was downloaded.

Thanks, that's really helpful. I was able to reproduce this and narrow it down a bit. Working to find the root cause.
It's likely we'll want to backport the fix to 1.17.1.

@gopherbot Please backport to 1.17. This is a bug in new functionality.

I see the same issue as @niallnsec. Private modules are not updated in go.mod file with go get -u ./... under go 1.17 (though they are downloaded), they do get updated with the same command under go 1.16.7. I also noticed that if I run specifically go get -u <private module name> with go 1.17, it does get updated in the go.mod file. This is a pain, as we often refresh our dependencies using go get -u ./... which used to work flawlessly up to 1.16.7 (and including).
My ugly hack to get around this is the following bash snippet:
go get -u ./...
for priv_mod in $(tail +2 go.mod | awk '/<private repo>/ {if ($1 =="require") print $2; else print $1;}'); do
	go get -u "${priv_mod}"
done
go mod tidy

@tsipo Could you confirm that 1) the main module has go 1.17 in go.mod and 2) the private dependencies that should have been upgraded also have go 1.17 in their go.mod?
If one of those is not true, please open a new issue with enough info to reproduce. It may be a separate bug.

@jayconrod Yes, I can confirm these are all 1.17. I first upgraded all of my libraries in their dependency order (some of the private libraries depend on others), then I upgraded all of my "main modules" which depend on these libraries.
This is from the top level folder (all of the modules - libraries and mains - reside under it):
$ grep -r --include "*.mod" 'go 1' . | grep -c 1.17
13
$ grep -r --include "*.mod" 'go 1' . | grep -c 1.16
0

Thanks for confirming. I think https://golang.org/cl/343879 should fix this for you.


feat: Gelato Integration

It's looking great! On the UI side I'd suggest adding a pause button to a task like in Gelato's UI, so you can both start and stop it withing TurboETH, example image below:

@gogabidzia I'm moving the integration PR to https://github.com/turbo-eth/template-web3-app/pull/130


requirements.txt missing

I seemed to have made the requirements.txt file and save it in the NLP folder in my local computer, but forgot to upload it here.I just uploaded it


['Sign up to WHAT' page] The user can enter the password with whitespace sign

Environment: Windows 10 (x64) - Edge v. 90
Reproducible: always.
Build found: 318d8f1 commit from https://github.com/ita-social-projects/what-front/tree/taqc-bug-fix
Preconditions

WHAT project launched locally using npm.
The project is opened in the browser. URL: 'localhost:8080/auth'.

Steps to reproduce

Click 'Registration' link.
Enter password into 'Password' field with whitespace and special sign.
Onblur the field.

Actual result
There is no any messages, the whitespace is allowed to enter in the field.
Expected result
The red message 'Password must contain at least one uppercase, one lowercase, Latin, one number character' is displayed under the field.
Labels to be added
"Bug", Priority ("Medium"), Severity ("low"), Type ("UI").

There is no requirements that the Password field shouldn't contain whitespaces.
This isn't a bug.


Fixup file names in _LOGS folder

Addresses a nagging problem where the CSV files written out by spark have a generated file name 'part-xxxx-xxxx-xxxx-xxxx-xxxxx.csv'
For example:
./ohio/mapping/20181005_230045-ohio-MAP4_0.MAPRecord.avro/_LOGS/ohio-123453453-map-errors/part-0000-0000-0000-1234-1234.csv
Now when writing a DataFrame out as a CSV it is first written to a temporary file and then copied to its final location.
Now:
./ohio/mapping/20181005_230045-ohio-MAP4_0.MAPRecord.avro/_LOGS/errors.csv
There may be an argument for keeping that date/time information in the CSV filename so that we aren't losing any of the run information if the files in the _LOGS folder get copied out of data directory but I thought that this structure is a lot cleaner and easier to read since the data/time information between the log files and the data directory didn't line up (date_time vs time in milliseconds).

*TODO This fix should also be used when writing out reports

I think the standard for Spark/Hadoop output is that the directory name is significant and the file name is not. Seems like this might end up being a slippery slope...

Meaning, we could do this for log files, but I'd start to get a little leery of doing it for actual data.

I don't think I intended this for the data, but sending part-0000-0000-000-0000.csv to the providers is not what anyone would be expecting IMO.

I definitely think that if we start working against the abstractions built into this system we're using, we could very easily end up getting bitten. And I'm not sure that violating expectations is super harmful here. Just advocating for caution.


docs: Initial import from localai-website

Description
This PR moves the docs into the main repository (https://github.com/go-skynet/localai-website). I believe it is better sitting nearby the code so it avoids to be out-of-sync. Currently the docs lacks behind I think also for this reason.
cc @lunamidori5 docs now will be here

How are we going to deal with tests and things failing to update the site? @mudler

How are we going to deal with tests and things failing to update the site? @mudler

tests are typically green if not caused by changes in the branches :sweat_smile: but it's indeed a good point. CI needs some love at least to cut waiting times

@mudler how does the review system work? Or am I going to get bypass rights?

@mudler how does the review system work? Or am I going to get bypass rights?

will see if we can get the same with CODEOWNERS because I don't see the option - or maybe we can have the how-to's in a separate repository? maybe we can split main docs from howtos/integrations

@mudler how does the review system work? Or am I going to get bypass rights?

will see if we can get the same with CODEOWNERS because I don't see the option atm from the settings page - or maybe we can have the how-to's in a separate repository? maybe we can split main docs from howtos/integrations

@mudler I think keeping them together would be better but thats me, its up to you, just let me know how you want to do this!


This plugin might generate duplicate content if relational field is not mandatory

Bug report
Describe the bug
If you add a non mandatory field in the allowedFields, the plugin might generate invalid urls or duplicate content when the field is not filled in Strapi
Steps to reproduce the behavior

Add a "slug" field to allowedFields
Create a content in which you dont fill the "slug" property in Strapi (for whatever reason)
Generate the sitemap
The sitemap generate multiple entries with the same url because of empty slugs

Expected behavior
Avoid duplicate content and faulty urls by discarding invalid relation fields
Code snippets
https://github.com/pluginpal/strapi-plugin-sitemap/blob/master/server/services/pattern.js#L125
if (!relationalField) {
      pattern = pattern.replace(`[${field}]`, entity[field] || '');
    } else if (Array.isArray(entity[relationalField[0]])) {
      strapi.log.error(logMessage('Something went wrong whilst resolving the pattern.'));
    } else if (typeof entity[relationalField[0]] === 'object') {
      pattern = pattern.replace(`[${field}]`, entity[relationalField[0]] && entity[relationalField[0]][relationalField[1]] ? entity[relationalField[0]][relationalField[1]] : '');
    }

The code replace by an empty string if the field is not populated, which lead to duplicate content if the field is not mandatory
System

Node.js version: V20.5
NPM version:
Strapi version: 4.13.3
Plugin version: 3.1.1
Database: Mysql
Operating system: Ubuntu

Additional context
Add any other context about the problem here.

This issue has been fixed and released with version 3.2.0


Typeable should check the owner of nested types

(Scala 2.12.2 Java 1.8.0_131)
If you like Ammonite, please support our development at www.patreon.com/lihaoyi
@ import $ivy.`com.chuusai::shapeless:2.3.2`
import $ivy.$
@ import shapeless.syntax.typeable._
import shapeless.syntax.typeable._
@
@ class Outer {
    class Inner
    val inner: Inner = new Inner
  }
defined class Outer
@
@ val outer1 = new Outer
outer1: Outer = ammonite.$sess.cmd2$Outer@5ca006ac
@ val outer2 = new Outer
outer2: Outer = ammonite.$sess.cmd2$Outer@4e8036bb
@
@ println(outer1.inner.cast[outer2.Inner])
Some(ammonite.$sess.cmd2$Outer$Inner@174bbe8e)

outer1.inner.cast[outer2.Inner] should be None because the owner does not match. However, Typeable does not check the owner, and returns a Some.

Good spot. I see two ways of fixing this,

Exclude cast targets with a dependent prefix (ie. there would be no Typeable instance for outer2.Inner).
Allow cast targets with a dependent prefix and verify it. That would involve digging out the outer reference from the inner instance and verifying that it is identical to the requested prefix.

Would you like to give either of these a try?

Should the prefix be checked via eq or ==?

eq.

The Typeable type class may contain a Witness.Aux[outer2.type]. However, I have no idea to get a Witness.Aux[outer1.type] in the cast method.

The Typeable macro should be able to dig the prefix term directly out of the SingleType that you'll find somewhere in the cast target. You won't need a Witness.

Unfortunately cast is not a macro.

Typeable instances are materialized via a macro.

Exclude cast targets with a dependent prefix (ie. there would be no Typeable instance for outer2.Inner).

Given:
class Outer {
  class Inner
  val inner: Inner = new Inner
}
package object mypackage extends Outer

Will the following code be forbidden in this approach?
implicitly[Typeable[mypackage.Inner]]

So how to witness outer1 when invoking outer1.inner.cast[xxxx]?

So how to witness outer1 when invoking outer1.inner.cast[Xxx]?

You'd have to did the outer reference out of the instance using runtime reflection.

How about using pattern matching?
(outer1.inner: Any) match {
  case _: outer2.Inner => "yes"
  case _ => "no"
} // => no


[NPCI Get exhaustive list of all branches that support ACH/IMPS

There are some specific IFSC codes that are mentioned on the NACH Page: https://www.npci.org.in/national-automated-clearing-live-members-1, and do not show up anywhere on the RBI website.
IMPS/ACH is supported on these IFSC codes, but NEFT and RTGS are not. A complete list of branches that only show up on this page, but not on RBI website:
APBL0019001  ALLA0888888  HDFC0CAMSBA  KKBK0BUCB01  CRLY0000001  CSBX0CSB001  APBL0014001
APBL0005001  APBL0022001  FDRL0000379  SBIN0000DOP  APBL0015022  YESB0HPB051  UTIB0SIDB99
IOBA0009016  HDFC0CITC01  CBIN0MPDACT  GSCB0JNDC01  INDB0KUCB01  APBL0020001  HDFC0CLCBLO
MAHB0003007  APBL0017001  UTIB0STMNBI  ICIC00NDIMC  APBL0023001  YESB0NBGKPI  UTIB0SBCUB1
RBIS0RBIPI0

However, the above page only lists 1 IFSC code per Bank, which leads me to wonder: are there are any such branches. If there are, an exhaustive list of all ACH IFSC codes will be great to have.

Also see #100 for some more effort around this.

Have raised a request with NPCI for this data.


Unified concepts for BuildOperationExecutor and BuildOperationProcessor

Historically, we have two overlapping ideas of build operation execution

BuildOperationExecutor solely meant for reporting operations (i.e. see what is going on in my build in the IDE or in build scans)
BuildOperationProcessor define units of work as build operations, schedule and execute them (possibly in parallel). Recent work on worker daemons have touched this area. For example: #1617

Certain unifications and simplifications should be performed here. For example, operations that are scheduled for execution should automatically also be reported.

First PR: https://github.com/gradle/gradle/pull/1699 - BuildOperationProcessor emits build operations
Remains to unify BuildOperationExecutor and BuildOperationProcessor APIs to define build operations display names, descriptors etc... This will be done as a separate PR.

PR https://github.com/gradle/gradle/pull/1699 merged

A first step would be to use BuildOperation everywhere and getting rid of the run(BuildOperationDescriptor, Action) methods. That would also remove one layer of indirection, making the whole concept a little more memory efficient.
BuildOperation {
  BuildOperationDescriptor.Builder description()
}

RunnableBuildOperation extends BuildOperation{
  void run(BuildOperationContext context)
}

CallableBuildOperation<T> extends BuildOperation {
  T call(BuildOperationContext context)
}

Then we could unify the run single/run multiple APIs as follows:
BuildOperationExecutor {
  void run(RunnableBuildOperation)
  <T> T call(CallableBuildOperation<T>)
  <O extends BuildOperation> void runAll(BuildOperationWorker<O>, Action<BuildOperationQueue<O>>)
  <O extends RunnableBuildOperation> void runAll(Action<BuildOperationQueue<O>>)
}

BuildOperationQueue<T> {
  void schedule(T)
  void cancel()
  void waitForCompletion()
}

This has been merged


Use validation on own exports

Codecov Report

Merging #17 into master will decrease coverage by 0.54%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #17      +/-   ##
==========================================
- Coverage     100%   99.45%   -0.55%
==========================================
  Files           1        1
  Lines         307      368      +61
==========================================
+ Hits          307      366      +59
- Misses          0        2       +2

Impacted Files
Coverage Δ

dist/partial.lenses.validation.cjs.js
99.45% <0%> (-0.55%)
:arrow_down:

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 2c29d64...d5fd067. Read the comment docs.


Add undeploy

Fixes issue #93 .  Adds an undeploy option.
The assumption is you should "verify" what is actually deployed (issue #107) and create a DeploymentPackage map that contains a "verified" set that will delete those entries.  We currently don't have verification, so this PR just assumes everything is deployed.  This will generate non-fatal error messages that a whisk.Client command could not succeed because it tried to delete an entity that does not exist.  However, it does succeed in undeploying the existing entities.

close as merged


Remove --verbose flag and Reporter#verbose

Close #786

Looks great! Thank you @yuzima! To prevent PR conflicts feel free to drop a comment on issues if you'd like to take it on.


The chrome not installed local, can exec?

The chrome not installed local, can exec?

You've opened already the same issue: #101


FED-1881 Fix regression in SyntheticEvent mock class type-checking

Motivation
When testing these changes, we ran into a case where a consumer was mocking type, and relying on type-checking utilities to respect that.
class MockSyntheticEvent extends Mock implements SyntheticEvent {}

final mockEvent = MockSyntheticEvent();
when(mockEvent.type).then('click');
print(mockEvent.isMouseEvent);

Previously, this would print true, but in v7_wip, it prints false.
Solution

Update event type checking to match old behavior.
Add regression test and additional test

Testing

Verify that regression test fails in the commit before the fix was introduced

CI link: https://github.com/Workiva/react-dart/actions/runs/6817966382/job/18542598172
Expected failing test: Synthetic event helpers SyntheticEventTypeHelpers checks types correctly for Mock objects with type mocked

Verify that regression test pass after the fix was introduced (latest CI passes)

Security Insights
No security relevant content was detected by automated scans.
Action Items

Review PR for security impact; comment "security review required" if needed or unsure
Verify aviary.yaml coverage of security relevant code

Questions or Comments? Reach out on Slack: #support-infosec.

QA+1 CI passes with updated/new tests that cover the functionality

@Workiva/release-management-p


Submit Input instead of Button?

When doing
{!! $builder->submit('Search') !!}

Is there a nice way of outputing that as <input type="submit" value="Search"> instead of the button?

Hey Ian! No, the package won't generate an <input type="submit"> tag. If you really need it, I would just write the markup, you don't lose any functionality by not generating it through the package.
I would recommend using a button if you can, for the same reasons mentioned in the Bootstrap docs:
http://getbootstrap.com/css/#callout-buttons-ff-height


chore(jinjava): Bump jinjava to 2.4.12

Addressed comment 3 in https://github.com/spinnaker/spinnaker/issues/3401#issuecomment-450695043


Batch analysis

I want to batch analysis my data but I can not find any examples. Could you please update a tutorial and some examples for it?

Take a look at MILK
https://github.com/lanl/MILK
comes with tutorials, description is here
https://journals.iucr.org/j/issues/2023/04/00/nb5355/index.html


fix: upgrade to edge runtime 1.3.4

What kind of change does this PR introduce?

Upgrade Edge Runtime to 1.3.4.
Modified the main serve function to pass forceCreate: true option so it will recreate workers per request.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 62.154%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4444

Relevant Lines:
7150

💛  - Coveralls


DrumKit project feature update - Play Audio on Pressing key

Related Issue
-To play the audio in the DrumKit project on pressing the respective key on the keyboard.
Closes: #1011
Describe the changes you've made
A clear and concise description of what you have done to successfully close your assigned issue. Any new files? or anything you feel to let us know!
Added the addEventListener functionality on the keys
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
A clear and concise description of it.
NA
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] New and existing unit tests pass locally with my changes.

Screenshots
Put any screenshot(s) of the project here.

@Vishal-raj-1 @ridsuteri
@harshgupta20 please review my PR
It must be showing lots of changes in the file but they are due to my formatting of the code.


can the filename include the folder?

in many projects (web, esp) there are "index" files, it'd be nice to be able to configure having the folder show up so there is some context as to which index file

Absolutely! I wanted this recently too after working with the Next.js App Router. Here are some helper functions:
local incline = require 'incline'
local Path = require 'plenary.path'

--- Given a path, return a shortened version of it.
--- @param path string an absolute or relative path
--- @param opts table
--- @return string | table
---
--- The tail of the path (the last n components, where n is the value of
--- opts.tail_count) is kept unshortened.
---
--- Each component in the head of the path (the first components up to the tail)
--- is shortened to opts.short_len characters.
---
--- If opts.head_max is non-zero, the number of components in the head
--- is limited to opts.head_max. Excess components are trimmed from left to right.
--- If opts.head_max is zero, all components are kept.
---
--- opts is a table with the following keys:
---   short_len: int - the number of chars to shorten each head component to (default: 1)
---   tail_count: int - the number of tail components to keep unshortened (default: 2)
---   head_max: int - the max number of components to keep, including the tail
---     components. If 0, keep all components. Excess components are
---     trimmed starting from the head. (default: 0)
---   relative: bool - if true, make the path relative to the current working
---     directory (default: true)
---   return_table: bool - if true, return a table of { head, tail } instead
---     of a string (default: false)
---
--- Example: get_short_path_fancy('foo/bar/qux/baz.txt', {
---   short_len = 1,
---   tail_count = 2,
---   head_max = 0,
--- }) -> 'f/b/qux/baz.txt'
---
--- Example: get_short_path_fancy('foo/bar/qux/baz.txt', {
---   short_len = 2,
---   tail_count = 2,
---   head_max = 1,
--- }) -> 'ba/baz.txt'
---
local function shorten_path(path, opts)
  opts = opts or {}
  local short_len = opts.short_len or 1
  local tail_count = opts.tail_count or 2
  local head_max = opts.head_max or 0
  local relative = opts.relative == nil or opts.relative
  local return_table = opts.return_table or false
  if relative then
    path = vim.fn.fnamemodify(path, ':.')
  end
  local components = vim.split(path, Path.path.sep)
  local tail = { unpack(components, #components - tail_count + 1) }
  local head = { unpack(components, 1, #components - tail_count) }
  if head_max > 0 and #head > head_max then
    head = { unpack(head, #head - head_max + 1) }
  end
  local result = {
    Path.new(unpack(head)):shorten(short_len, {}),
    table.concat(tail, Path.path.sep),
  }
  if return_table then
    return result
  end
  return table.concat(result, Path.path.sep)
end

--- Given a path, return a shortened version of it, with additional styling.
--- @param path string an absolute or relative path
--- @param opts table see below
--- @return table
---
--- The arguments are the same as for shorten_path, with the following additional options:
---   head_style: table - a table of highlight groups to apply to the head (see
---      :help incline-render) (default: nil)
---   tail_style: table - a table of highlight groups to apply to the tail (default: nil)
---
--- Example: get_short_path_fancy('foo/bar/qux/baz.txt', {
---   short_len = 1,
---   tail_count = 2,
---   head_max = 0,
---   head_style = { guibg = '#555555' },
--- }) -> { 'f/b/', guibg = '#555555' }, { 'qux/baz.txt' }
---
local function shorten_path_styled(path, opts)
  opts = opts or {}
  local head_style = opts.head_style or {}
  local tail_style = opts.tail_style or {}
  local result = shorten_path(
    path,
    vim.tbl_extend('force', opts, {
      return_table = true,
    })
  )
  return {
    vim.list_extend(head_style, { result[1], '/' }),
    vim.list_extend(tail_style, { result[2] }),
  }
end

Example usage:
incline.setup {
  render = function(props)
    return shorten_path_styled(vim.api.nvim_buf_get_name(props.buf), {
      short_len = 1,
      tail_count = 2,
      head_max = 4,
      head_style = { group = 'Comment' },
      tail_style = { guifg = 'white' },
    })
  end,
}

Should this be implemented by default? I think showing the full path is really useful.

to have indicator whether buffer is modified
local function modified_suffix(buf)
  if vim.api.nvim_buf_get_option(buf, 'modified') then
    return ' [+]'
  else
    return ''
  end
end

-- change signature of shorten_path_styled to accept buf instead of path
local function shorten_path_styled(buf, opts)
  local path = vim.api.nvim_buf_get_name(buf)
  ... -- the rest is unchanged except for the returned table
  return {
    result[1] and vim.list_extend(head_style, { result[1], '/' }) or '',
    vim.list_extend(tail_style, { result[2] }),
    modified_suffix(buf) -- add this
  }
end

-- and finally pass buf in render function
incline.setup {
  ...
  render = function(props)
    return shorten_path_styled(props.buf, {
    ...


number of playlist subscribers

Hi
Thank you for Spotipy! It's awesome. One quick question:
Is it possible to get the number of subscribers to a playlist using Spotipy?ck
I tried asking this on stackoverflow using the Spotipy tag which doesn't seem to exist
Thank you
Tom

That doesn't seem to be provided by the API


feat : character module of modules with values in an injective module and rework enough-injectivesness proof

For $R$-modules $M$ and $D$ where $D$ is injective, we can consider the dual module $M^\star := \mathrm{Hom}_R(M, D)$.
$(\cdot^\star)$ can define a contravariant functor $R$-mod to $R$-mod by $L \mapsto L^\star$ where $L^\star f = f \circ L$ where $L \in \mathrm{Hom}_R(M, N)$ and $f \in N^\star$. This functor sends monomorphisms to epimorphisms.
For an abelian group $A$, it is useful to consider its character module in the unit rational circle. This construction appears in proof of enough-injectiveness of groups and it can be shown that a module is flat if and only if its character module is injective, reference. Hence we use Baer to relate ideals.
Also refactored enough-injectiveness of abelian groups. The refactor is not a separated PR because construction of character module needs some result from GroupCat/Injective.lean file.

Bumping my comment here in case it doesn't show up in your notification for some reason ...

Bumping my comment here in case it doesn't show up in your notification for some reason ...

Indeed I missed your comment, sorry about that. I have incorporated your instances. Thanks!

@jjaassoonn Sorry this PR has been sitting for a while. Looking at it now, it seems that this PR should be split up into three: one PR about the additional lemmas about (semi)linear maps; another PR for character modules and their API; a final PR about the use of character modules for the proof of enough injectives. Could you please consider making this split?

I have golfs at this branch, otherwise this looks good!
Where is the flatness PR? I thought it's #9120 but there's currently no flatness material in it and you just closed it.

I made a mess when merging master and accidentally deleted all flatness material. I have recreate them on branch zjj/flat.

maintainer merge

Thanks!
bors merge


AWS file uploads don't work from bin/run-dev

Describe the bug
This is a dev-stack only issue. When trying to upload a file through the applicant UI, a 500 response is returned from the localstack (e.g. AWS emulator).
To Reproduce
Steps to reproduce the behavior:

Log in as a program admin.
Create program with a file upload question
Logout then apply to the program as an applicant
Choose a file to upload and then click "Upload"
Browser redirects to a page with {} and dev console shows a 500 response from localstack.

Expected behavior
Applicant is redirected to the file uploaded UI
Root cause and possible solutions in a forthcoming update.

Background
AWS file upload sequence
We make AWS file uploads work by making use of localstack, an AWS emulator. When the user is on a screen that requires a file upload, we achieve this by customizing the form action to point to an HTTP endpoint exposed by S3 (in this case, localstack) for uploading content (code). In addition, there are several hidden fields to authenticate the request. Finally, we set a redirect URL to use upon successful upload (code). This is set to a civiform handler that then updates the database to point to the newly created S3 reference. Importantly, the URL is built using the base_url configuration variable, which defaults to http://localhost:9000 (code).
Ports / networking setup
When running bin/run-dev, Civiform is accessed by connecting to localhost:9000 to perform these requests. This points to the civiform container, which exposes port 9000 to the host (code). The AWS emulator runs in a separate container. Within the emulator's container, attempting to connect to localhost:9000 would fail.
Problem
When forming the S3 upload request, we set a success redirect URL with a host of http://localhost:9000 (due to the above default base_url configuration). The S3 upload is successful. One would expect the localstack emulator to then simply issue an HTTP redirect to the specified URL and all would be well. Unfortunately, it appears to try and open an HTTP connection to http://localhost:9000:
requests.exceptions.ConnectionError: MyHTTPConnectionPool(host='localhost', port=9000): Max retries exceeded with url: /applicants/2/programs/1/blocks/1/updateFile/false?key=applicant-2%2Fprogram-1%2Fblock-1%2Fsomefile.png&bucket=civiform-local-s3 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f49599780a0>: Failed to establish a new connection: [Errno 111] Connection refused'))

Recall that the localstack container can't see port 9000 on localhost. As such, the request fails.
Possible solutions
There doesn't appear to be a simple solution to this as far as I know. Documenting a few paths that might end up working as well as a couple that seemed simple but didn't work out.
See if localstack allows disabling the attempt to connect
Attempting connection to the redirect doesn't seem like it adds value to me. It'd be ideal if we could just disable this behavior. If that happened, we wouldn't need to worry about Docker networking at all and life could continue as desired. I still need to look into this further, but it'd be the most ideal from my perspective.
Make localhost:9000 visible to the localstack container
While civiform:9000 is visible within the localstack container (due to how Docker container networking is set up), exposing localhost:9000 would involve us moving to "host" networking mode (docs). This would also solve the problem, but comes with a host (pun intended) of downsides:

Host networking only works on Linux and doesn't work for Mac (hard blocker)
Other Docker internal networking is disabled and all ports from all containers (and all ports on the host machine) become visible to all containers. This would be a large step back in security posture.

Set the redirect host to something visible to the localstack container
For run-dev only, we could expose configuration variable that overrides the host used for these types of requests. Then we would override it to http://civiform:9000 for bin/run-dev instances. The localstack container would be able to issue this connection and the initial redirect would succeed. Unfortunately, this by itself isn't sufficient. When the redirect URL is navigated to by the browser, the host has changed from localhost:9000 -> civiform:9000. This means that the session cookies won't exist. This means that one would be redirected to the login page.
To work around this, we could add a custom Play filter (https://www.playframework.com/documentation/2.8.x/JavaHttpFilters) that redirects requests with host civiform:9000 and a path matching the upload redirect URL to host localhost:9000. I tried this out and it "works", but special care would need to be taken to:

Only enable this in dev
Not enable it for browser-test environments, which actually use civiform:9000 URLS

Path forward
My plan is to spend a bit of time inspecting whether it's possible to disable the HTTP connection from within localstack, since that would be the simplest solution. Otherwise, I may pursue the new configuration variable + custom filter approach. This is definitely more complexity than I'd like, but I think having file uploads work consistently in our dev environment is a core scenario that we should be able to test.

Also, I'm very open to other paths to solve this that I may have missed.

A new option has emerged which forces the complexity into localstack, which I like. If we enable nginx in our container, we could use the template here to have localhost:9000 within the localstack be reverse proxied to civiform:9000.
This would let localstack "connect" to the redirect host. Then when the browser redirect actually happened, the host of localhost:9000 would be preserved as well as the associated cookies.
I'm pretty in favor of this as it'd essentially mean we modify our localstack container to do the following:

apt-get install nginx
Write a /etc/hosts/nginx/conf.d/localhostredirect.conf file
service nginx restart

I just need to figure out how to fit that into our existing docker-compose infrastructure.

In case it wasn't clear in the previous update, I tried this approach in my locally running container (manually running commands in a /bin/bash terminal within the emulator) and the redirect worked without issue.

Note: I found that this was still not working for me. (It also doesn't work for @yotommy  but was working for @nb1701 and @gwendolyngoetz .) After uploading a file to a question and then clicking "Save and next", I was getting this error:
<Error>
InternalError
<Message>exception while calling s3.PostObject: MyHTTPConnectionPool(host='localhost', port=9000): Max retries exceeded with url: /applicants/19/programs/1/blocks/1/updateFile/false?key=applicant-19%2Fprogram-1%2Fblock-1%2Fgemma-stpjHJGqZyw-unsplash.jpg&bucket=civiform-local-s3 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0xffff801de550>: Failed to establish a new connection: [Errno 111] Connection refused'))</Message>
<RequestId>ca40a88a-d366-427d-9679-df5d63886e23</RequestId>
</Error>

In debugging with @bion , we opened the localstack container in Docker Desktop, ran tail -f /var/bin/nginx/*.log, and saw this error log:
==> /var/log/nginx/error.log <==
2023/11/20 20:31:08 [emerg] 7#7: host not found in upstream "civiform" in /etc/nginx/conf.d/localstack.nginx.conf:6

What this means: The localstack service is set up to route any localhost:9000 traffic to civiform:9000 instead (link). However, when it tried to route to civiform:9000, it couldn't find any host with that name and failed.
What we need to change: We need to link the localstack service to the civiform service so that localstack can correctly route traffic to civiform.


Is there any plan to support hexo?

No, but feel free to port it over! Someone did a version for Hugo.

I'm interested in the one for hugo but can not find it anywhere ... do you have any link ?

https://github.com/Zenithar/hugo-theme-crisp

This in bad hugo


Create the basic lib structure, extracted from a real project

https://github.com/inaka/Dayron/pull/12/files

#12


SAN Certificate, Add domain name on certificate with subdomain

Hello,
I search to add principal domain name on SAN certificate. For example, i create a SAN certificate with this subdomain:
ndd1.example.asso.com
ndd2.example.asso.com
ndd3.example.asso.com
and i want add :
example.asso.com
on SAN certificate. Is it possible ?

I was wondering if it's possible to do the opposite?!

No.
Both actions require building a new cert.

THX!


Error hidden when anonymous command uses WriteError

Steps to reproduce
Paste into console (Error record arguments don't matter):
[CmdletBinding()] param() end {
$PSCmdlet.WriteError([Management.Automation.ErrorRecord]::new([Exception]::new(), '', 0, '')) }

Expected behavior
Exception of type 'System.Exception' was thrown.

Actual behavior
Nothing is shown.  When calling $Error[0], this is shown:
Get-Command:
Line |
 201 |  … if ($myinv.MyCommand -and (Get-Command -Name $myinv.MyCommand -ErrorA …
     |                                                 ~~~~~~~~~~~~~~~~
     | Cannot validate argument on parameter 'Name'. The argument is null, empty, or an element of the argument collection contains a null value. Supply a collection that does not contain any null values and then try the command again.

Stringification probably shouldn't be relied on here, and $myinv.MyCommand.Name should be used instead.
Environment data

Name                           Value
----                           -----
PSVersion                      7.1.0-preview.2
PSEdition                      Core
GitCommitId                    7.1.0-preview.2
OS                             Microsoft Windows 10.0.18362
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

It is in ConciseView.

At least in terms of symptom the following is similar, but also occurs in scripts:
# Should report the statement-terminating error that occurs during parameter
# binding, but doesn't:
& { [CmdletBinding()]param() } -Unsupported

Hiding errors is a big deal. I wasted at least an hour figuring this same thing out today.
Can we either get this fixed ... or revert to NormalView by default for the next release?

It's a pretty simple fix, this:
$myinv.MyCommand -and (Get-Command -Name $myinv.MyCommand

needs to be
$myinv.MyCommand.Name -and (Get-Command -Name $myinv.MyCommand.Name

in the format scriptblock.

Wouldn't that still be $null and still throw from Get-Command? 🤔

It would if it got there.  It'll short circuit before running Get-Command if the above is done.  The problem is that MyCommand isn't $null, just it's stringification.


Update combinationSum.js

fixing a few typos in comments

Codecov Report

Merging #137 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master   #137   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files         117    117
  Lines        2283   2283
  Branches      396    396
=====================================
  Hits         2283   2283

Impacted Files
Coverage Δ

.../algorithms/sets/combination-sum/combinationSum.js
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Thank you for the corrections @thewizarodofoz !


Support for preprocessor

Is it possible to get the Bucklescript preprocessor working in ReScript?

It hasn't been implemented yet, but is possible. What is your use case?

We have few in mind.
First, we are looking to conditionally add/remove functionality. Our project includes a large validation library as a dependency. We'd like to be able to IFDEF out calls to it for a "light" version, for folks who don't need that or in environments with tough network constraints. For example:
let validate = (s: string) =>
  #ifdef BIGLIB
  Biglib.validate(s)
  #endif
  #elif
  Ok(s)
  #endif

There are other cases where we'd like to bundle different features in different distributions. In other languages we'd use a plugin model. At first glance, a preprocessor seems natural in ReScript. We'd definitely try to isolate the features we switch on and off to a small module or collection of small modules.

I began using preprocessing a couple of months ago to create a better debug implementation. When the -bs-g compiler flag is not present, my debug log methods become identity externals. The aim is to completely remove debug statements from the compiled JS and reduce bundle size.
I have since expanded it to greatly increase a constant that controls how many runs mu property tests execute. they finish in a few seconds while developing but then in CI we sed out the -bs-g flag and tests take 5 minutes to finish.

That reminds me of another use case. Sometimes we need to run on NodeJS and replace something built-in the browser like DOMParser with a library.

This came up today in Discord with a pretty good use case, adjusting code based on NODE_ENV=production
https://github.com/yawaramin/dbc/blob/34e27d573539932e1a25aad7f679787e51ffe3d9/src/Yawaramin__Dbc.ml

For our usecase we need to swap the config module if we compile & bundle for production.
Conditional compilation is the only reason why we need a ml file in our codebase.


[<IP_ADDRESS>] Updated Linux pages

Updated how-to steps for Ubuntu
Deleted Debian as it was out of date and the steps are the same as for Ubuntu

Hurm


Custom builds

It would be nice to be able to easily create custom builds that only include the functions chosen. Lodash has something similar (see here).
A simple way might be to atomise the main file into es6 modules and included some commandline params for the build script.

A simple way might be to atomise the main file into es6 modules

Would that be hard to do?
I  could try to split all the functions in files, but I am not well versed in build tools to mend them together again :)


Do not try to use the resolver if ip string is used when connect

Motivation:
We should not try to use the resolver if an ip is given as host string when connect the remote peer.
Modifications:
Add check if ip is used and if so not use the resolver.
Result:
Fast-path for the case of ip address usage when connect.

test this please

I’m not familiar with the inner workings of SocketAddress but from my experience transitioning from IPv4 to IPv6 and from experience going via NAT64 gateways that are now mandatory part of review process on the iOS and macOS it is a better practice to always pass every connect-by-name parameter (being it an actual hostname or IPv4 address or IPv6 address in various representations) through getaddrinfo BSD/Linux call to let kernel do the work, otherwise you are risking making an assumption that will break the connectivity under certain circumstances...
I’m away from the computer to send in more links, just sending this in as a heads up to make code fool proof for the future...

@mman the calling of getaddrinfowill be replaced soon with our own dns resolver which is fully async. Its just a work around for now but should be replaced as its "blocking". So I think this change makes sense.

@Lukasa added a unit test.

@Lukasa also let me know what you think about think about the point @mman made.

I think @mman has a decent argument for the client side here. It doesn't necessarily wholly affect the server side, of course, so we'd be in a decent position to say it doesn't matter, but in general there is something to be said for asking getaddrinfo what it thinks.

@Lukasa well then the question arise how we can ever have a full-blown async resolver that we use for the client-side if we always need to call getaddrinfo anyway.  Or we just "assume" that it will not "block" if an ip is used for it ?

FWIW: I currently work on an iOS application using server-side-swift on iOS for a telco. Since we already use Netty on Android anyways, I consider switching to SwiftNIO on iOS too (it currently uses a trimmed down Noze.io).
All I'm trying to say is that SwiftNIO on the client is not a purely hypothetical thing, but something people (me) may want to actually do 😎
As for DNS, I currently do the lookups in a concurrent dispatch queue using both getaddrinfo and res_nquery+companions.

@normanmaurer I think the long term goal is to use different resolvers. On the server we want a proper first class async resolver, but on the client it would probably be sufficient to do as @helje5 suggests and call getaddrinfo from our thread pool.

@normanmaurer what do we want to do with this guy?

Seems like @Lukasa wants to keep the old behaviour... so maybe we should just close it ?

Works for me. :smile:


remove elasticsearch-async tests

elasticsearch-async has been deprecated and its functionality brought
into elasticsearch-py proper (tests for that can be found in
async_elasticsearch_client_tests.py). Since version 3.7 of aiohttp,
the tests fail and can't easily be fixed. We plan to remove support
for this module anyway in version 6.0 of the agent, so it's an
acceptable quick fix to remove testing for the module now already.

:bug: Flaky test report
:grey_exclamation: There are test failures but not known flaky tests.
Test stats :test_tube:

Test
Results

Failed
1

Passed
11120

Skipped
8409

Total
19530

:broken_heart: Tests Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Build Cause: [Pull request #949 opened]

Start Time: 2020-10-26T13:25:26.274+0000

Duration: 23 min 26 sec

Test stats :test_tube:

Test
Results

Failed
1

Passed
11120

Skipped
8409

Total
19530

Test errors
Expand to view the tests failures

Name: Initializing / Test / windows-2.7-none / test_client_shutdown_sync[sending_elasticapm_client0] – tests.client.client_tests

Age: 1
Duration: 0.394
Error Details: RuntimeError: dictionary changed size during iteration

Log output
Expand to view the last 100 lines of log output

[2020-10-26T13:48:37.527Z] INFO:auditwheel.wheeltools:New filename tags: manylinux2010_i686
[2020-10-26T13:48:37.527Z] INFO:auditwheel.wheeltools:Previous WHEEL info tags: cp38-cp38-linux_i686
[2020-10-26T13:48:37.527Z] INFO:auditwheel.wheeltools:New WHEEL info tags: cp38-cp38-manylinux2010_i686
[2020-10-26T13:48:37.527Z] INFO:auditwheel.main_repair:Wheel is eligible for a higher priority tag. You requested manylinux2010_i686 but I have found this wheel is eligible for manylinux1_i686.
[2020-10-26T13:48:37.527Z] INFO:auditwheel.wheeltools:Previous filename tags: linux_i686
[2020-10-26T13:48:37.527Z] INFO:auditwheel.wheeltools:New filename tags: manylinux1_i686
[2020-10-26T13:48:37.527Z] INFO:auditwheel.wheeltools:Previous WHEEL info tags: cp38-cp38-linux_i686
[2020-10-26T13:48:37.527Z] INFO:auditwheel.wheeltools:New WHEEL info tags: cp38-cp38-manylinux1_i686
[2020-10-26T13:48:37.527Z] INFO:auditwheel.main_repair:
[2020-10-26T13:48:37.527Z] Fixed-up wheel written to /tmp/cibuildwheel/repaired_wheel/elastic_apm-5.9.0-cp38-cp38-manylinux1_i686.whl
[2020-10-26T13:48:37.527Z]     + /opt/python/cp38-cp38/bin/python -c 'import sys, json, glob; json.dump(glob.glob('"'"'/tmp/cibuildwheel/repaired_wheel/*.whl'"'"'), sys.stdout)'
[2020-10-26T13:48:37.527Z]     + mkdir -p /output
[2020-10-26T13:48:37.528Z]     + mv /tmp/cibuildwheel/repaired_wheel/elastic_apm-5.9.0-cp38-cp38-manylinux1_i686.whl /tmp/cibuildwheel/repaired_wheel/elastic_apm-5.9.0-cp38-cp38-manylinux2010_i686.whl /output
[2020-10-26T13:48:37.528Z]     + /opt/python/cp38-cp38/bin/python -c 'import sys, json, os; json.dump(os.environ.copy(), sys.stdout)'
[2020-10-26T13:48:37.528Z]     + which python
[2020-10-26T13:48:37.528Z]     + which pip
[2020-10-26T13:48:37.528Z]     + rm -rf /tmp/cibuildwheel/built_wheel
[2020-10-26T13:48:37.528Z]     + mkdir -p /tmp/cibuildwheel/built_wheel
[2020-10-26T13:48:37.528Z]     + pip wheel /project -w /tmp/cibuildwheel/built_wheel --no-deps
[2020-10-26T13:48:45.646Z] WARNING: You are using pip version 20.2.3; however, version 20.2.4 is available.
[2020-10-26T13:48:45.646Z] You should consider upgrading via the '/opt/_internal/cpython-3.9.0/bin/python3.9 -m pip install --upgrade pip' command.
[2020-10-26T13:48:45.646Z] Processing /project
[2020-10-26T13:48:45.646Z]   Installing build dependencies: started
[2020-10-26T13:48:45.646Z]   Installing build dependencies: finished with status 'done'
[2020-10-26T13:48:45.646Z]   Getting requirements to build wheel: started
[2020-10-26T13:48:45.646Z]   Getting requirements to build wheel: finished with status 'done'
[2020-10-26T13:48:45.646Z]     Preparing wheel metadata: started
[2020-10-26T13:48:45.646Z]     Preparing wheel metadata: finished with status 'done'
[2020-10-26T13:48:45.646Z] Building wheels for collected packages: elastic-apm
[2020-10-26T13:48:45.646Z]   Building wheel for elastic-apm (PEP 517): started
[2020-10-26T13:48:45.646Z]   Building wheel for elastic-apm (PEP 517): finished with status 'done'
[2020-10-26T13:48:45.646Z]   Created wheel for elastic-apm: filename=elastic_apm-5.9.0-cp39-cp39-linux_i686.whl size=311845 sha256=02dbc0dde984f0be9c7649ac3d4521d06f39ce31e1a4e8f513a101a349e77d3d
[2020-10-26T13:48:45.646Z]   Stored in directory: /tmp/pip-ephem-wheel-cache-omk73u8j/wheels/b1/d1/e9/62441f1a701c6dcdb0d9ccfd73a0bfbac93e8cf297e5312e15
[2020-10-26T13:48:45.646Z] Successfully built elastic-apm
[2020-10-26T13:48:45.646Z]     + /opt/python/cp38-cp38/bin/python -c 'import sys, json, glob; json.dump(glob.glob('"'"'/tmp/cibuildwheel/built_wheel/*.whl'"'"'), sys.stdout)'
[2020-10-26T13:48:45.646Z]     + rm -rf /tmp/cibuildwheel/repaired_wheel
[2020-10-26T13:48:45.646Z]     + mkdir -p /tmp/cibuildwheel/repaired_wheel
[2020-10-26T13:48:45.646Z]     + sh -c 'auditwheel repair -w /tmp/cibuildwheel/repaired_wheel /tmp/cibuildwheel/built_wheel/elastic_apm-5.9.0-cp39-cp39-linux_i686.whl'
[2020-10-26T13:48:45.646Z] INFO:auditwheel.main_repair:Repairing elastic_apm-5.9.0-cp39-cp39-linux_i686.whl
[2020-10-26T13:48:45.646Z] INFO:auditwheel.wheeltools:Previous filename tags: linux_i686
[2020-10-26T13:48:45.646Z] INFO:auditwheel.wheeltools:New filename tags: manylinux2010_i686
[2020-10-26T13:48:45.646Z] INFO:auditwheel.wheeltools:Previous WHEEL info tags: cp39-cp39-linux_i686
[2020-10-26T13:48:45.646Z] INFO:auditwheel.wheeltools:New WHEEL info tags: cp39-cp39-manylinux2010_i686
[2020-10-26T13:48:45.646Z] INFO:auditwheel.main_repair:Wheel is eligible for a higher priority tag. You requested manylinux2010_i686 but I have found this wheel is eligible for manylinux1_i686.
[2020-10-26T13:48:45.646Z] INFO:auditwheel.wheeltools:Previous filename tags: linux_i686
[2020-10-26T13:48:45.646Z] INFO:auditwheel.wheeltools:New filename tags: manylinux1_i686
[2020-10-26T13:48:45.646Z] INFO:auditwheel.wheeltools:Previous WHEEL info tags: cp39-cp39-linux_i686
[2020-10-26T13:48:45.646Z] INFO:auditwheel.wheeltools:New WHEEL info tags: cp39-cp39-manylinux1_i686
[2020-10-26T13:48:45.646Z] INFO:auditwheel.main_repair:
[2020-10-26T13:48:45.646Z] Fixed-up wheel written to /tmp/cibuildwheel/repaired_wheel/elastic_apm-5.9.0-cp39-cp39-manylinux1_i686.whl
[2020-10-26T13:48:45.646Z]     + /opt/python/cp38-cp38/bin/python -c 'import sys, json, glob; json.dump(glob.glob('"'"'/tmp/cibuildwheel/repaired_wheel/*.whl'"'"'), sys.stdout)'
[2020-10-26T13:48:45.646Z]     + mkdir -p /output
[2020-10-26T13:48:45.646Z]     + mv /tmp/cibuildwheel/repaired_wheel/elastic_apm-5.9.0-cp39-cp39-manylinux2010_i686.whl /tmp/cibuildwheel/repaired_wheel/elastic_apm-5.9.0-cp39-cp39-manylinux1_i686.whl /output
[2020-10-26T13:48:46.214Z] cibuildwheel-cbb8a859-c8ec-473c-80c0-9e573f87eec3
[2020-10-26T13:48:46.214Z] + ls -l wheelhouse
[2020-10-26T13:48:46.214Z] total 8584
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 305379 Oct 26 13:47 elastic_apm-5.9.0-cp27-cp27m-manylinux1_i686.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 311214 Oct 26 13:46 elastic_apm-5.9.0-cp27-cp27m-manylinux1_x86_64.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 305382 Oct 26 13:47 elastic_apm-5.9.0-cp27-cp27m-manylinux2010_i686.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 311221 Oct 26 13:46 elastic_apm-5.9.0-cp27-cp27m-manylinux2010_x86_64.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 305377 Oct 26 13:48 elastic_apm-5.9.0-cp27-cp27mu-manylinux1_i686.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 311213 Oct 26 13:46 elastic_apm-5.9.0-cp27-cp27mu-manylinux1_x86_64.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 305378 Oct 26 13:48 elastic_apm-5.9.0-cp27-cp27mu-manylinux2010_i686.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 311216 Oct 26 13:46 elastic_apm-5.9.0-cp27-cp27mu-manylinux2010_x86_64.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 308879 Oct 26 13:48 elastic_apm-5.9.0-cp35-cp35m-manylinux1_i686.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 314586 Oct 26 13:46 elastic_apm-5.9.0-cp35-cp35m-manylinux1_x86_64.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 308882 Oct 26 13:48 elastic_apm-5.9.0-cp35-cp35m-manylinux2010_i686.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 314593 Oct 26 13:46 elastic_apm-5.9.0-cp35-cp35m-manylinux2010_x86_64.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 309132 Oct 26 13:48 elastic_apm-5.9.0-cp36-cp36m-manylinux1_i686.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 314833 Oct 26 13:47 elastic_apm-5.9.0-cp36-cp36m-manylinux1_x86_64.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 309136 Oct 26 13:48 elastic_apm-5.9.0-cp36-cp36m-manylinux2010_i686.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 314840 Oct 26 13:47 elastic_apm-5.9.0-cp36-cp36m-manylinux2010_x86_64.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 310058 Oct 26 13:48 elastic_apm-5.9.0-cp37-cp37m-manylinux1_i686.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 315773 Oct 26 13:47 elastic_apm-5.9.0-cp37-cp37m-manylinux1_x86_64.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 310062 Oct 26 13:48 elastic_apm-5.9.0-cp37-cp37m-manylinux2010_i686.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 315779 Oct 26 13:47 elastic_apm-5.9.0-cp37-cp37m-manylinux2010_x86_64.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 314693 Oct 26 13:48 elastic_apm-5.9.0-cp38-cp38-manylinux1_i686.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 320092 Oct 26 13:47 elastic_apm-5.9.0-cp38-cp38-manylinux1_x86_64.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 314695 Oct 26 13:48 elastic_apm-5.9.0-cp38-cp38-manylinux2010_i686.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 320095 Oct 26 13:47 elastic_apm-5.9.0-cp38-cp38-manylinux2010_x86_64.whl
[2020-10-26T13:48:46.214Z] -rw-r--r-- 1 jenkins jenkins 311889 Oct 26 13:48 elastic_apm-5.9.0-cp39-cp39-manylinux1_i686.whl
[2020-10-26T13:48:46.215Z] -rw-r--r-- 1 jenkins jenkins 317285 Oct 26 13:47 elastic_apm-5.9.0-cp39-cp39-manylinux1_x86_64.whl
[2020-10-26T13:48:46.215Z] -rw-r--r-- 1 jenkins jenkins 311888 Oct 26 13:48 elastic_apm-5.9.0-cp39-cp39-manylinux2010_i686.whl
[2020-10-26T13:48:46.215Z] -rw-r--r-- 1 jenkins jenkins 317286 Oct 26 13:47 elastic_apm-5.9.0-cp39-cp39-manylinux2010_x86_64.whl
[2020-10-26T13:48:47.254Z] Stashed 28 file(s)
[2020-10-26T13:48:48.565Z] Scheduling project: APM Integration Test MBP Selector » master
[2020-10-26T13:48:48.593Z] [INFO] Can not determine redirect link!!!
[2020-10-26T13:48:49.779Z] Stage "Benchmarks" skipped due to when conditional
[2020-10-26T13:48:49.973Z] Timeout set to expire in 12 hr
[2020-10-26T13:48:50.067Z] Stage "Prepare Release" skipped due to when conditional
[2020-10-26T13:48:50.105Z] Stage "Prepare Release" skipped due to when conditional
[2020-10-26T13:48:50.190Z] Stage "Prepare Release" skipped due to when conditional
[2020-10-26T13:48:50.278Z] Stage "Prepare Release" skipped due to when conditional
[2020-10-26T13:48:50.667Z] Running on Jenkins in /var/lib/jenkins/workspace/thon_apm-agent-python-mbp_PR-949
[2020-10-26T13:48:50.823Z] [INFO] getVaultSecret: Getting secrets
[2020-10-26T13:48:51.080Z] Masking supported pattern matches of $VAULT_ADDR or $VAULT_ROLE_ID or $VAULT_SECRET_ID
[2020-10-26T13:48:52.053Z] + chmod 755 generate-build-data.sh
[2020-10-26T13:48:52.053Z] + ./generate-build-data.sh https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-949/ https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-949/runs/1 UNSTABLE 1405509
[2020-10-26T13:48:52.303Z] INFO: curl https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-949/runs/1/steps/?limit=10000 -o steps-info.json
[2020-10-26T13:48:55.531Z] INFO: curl https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-python/apm-agent-python-mbp/PR-949/runs/1/tests/?status=FAILED -o tests-errors.json


Restore-DbaDatabase throws PercentCompleteEventHandler issues

got this in an email
Hi.

I am working on a script that copies databases from once source to multiple destinations and I am trying out the Copy-DbaDatabase command. I have run into a problem here.
The first time when the command is executed, it works fine. The second time always fails  with following error:

Backup-DbaDatabase : Cannot convert argument "value", with value:
"Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler", for "add_PercentComplete" to type
"Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler": "Cannot convert the
"Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler" value of type
"Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler" to type
"Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler"."
At C:\Program Files\WindowsPowerShell\Modules\dbatools\allcommands.ps1:6034 char:44
+                         $backupTmpResult = Backup-DbaDatabase -SqlInstance $sour ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Backup-DbaDatabase], MethodException
    + FullyQualifiedErrorId : MethodArgumentConversionInvalidCastArgument,Backup-DbaDatabase

Same input is used both times.
A solution is always to re-start the powershell console and it works fine again.
Have you seen this error before?

I am using Powershell 4.0.
I got around the issue by starting a new powershell session, attaching the command to it.

Example:

powershell.exe -Command {Copy-DbaDatabase .....}
This way I was able to execute the Copy-DbaDatabase command more than once in a single script.

I asked what version of PS he was using, figuring it was 4. Sure enough. I'm sorry I forgot to ask the version of dbatools.
Chrissy

for the life of me I can't replicate. Tried my best but just couldn't.

Was able to reproduce in v4 when multiple versions of SMO are loaded:
PS> $psversiontable.psversion

Major  Minor  Build  Revision
-----  -----  -----  --------
4      0      -1     -1

PS> [appdomain]::currentdomain.getassemblies() | sort -property fullname | where-object { $_.fullname -like '*Smo,*' } | format-table fullname

FullName
--------
Microsoft.SqlServer.Smo, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Microsoft.SqlServer.Smo, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=89845dcd8080cc91

Can't reproduce w/ dbatools in isolation. Have only seen it when mixing native SMO and dbatools calls in the same session, and different SMO assembly versions are available (ex. an old SqlServer module version that was installed with SSMS 16.5.3).

I think i'm in the same boat. However it's triggered using invoke-dbaloggshipping
My environment = SQL Server 2017 Web Edition @ Windows 2016 Server
$psversiontable.psversion
Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      14393  2395

This is the command i used
Invoke-DbaLogShipping -SourceSqlInstance $sourceServer -DestinationSqlInstance $destinationServer -Database $database -BackupNetworkPath "\\networksharedpath1\logshipping"  -CompressBackup -GenerateFullBackup -CopyDestinationFolder "\\SECONDARYSQL\logshipping" -NoRecovery -Verbose -EnableException -Force
Sometimes it works, sometimes it doesn't
Error output
PSMessageDetails      :
Exception             : System.Exception: Cannot convert argument "value", with value: "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler", for "add_PercentComplete" to type
                       "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler": "Cannot convert the "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler" value of type
                       "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler" to type "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler"." --->
                       System.Management.Automation.MethodException: Cannot convert argument "value", with value: "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler", for
                       "add_PercentComplete" to type "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler": "Cannot convert the
                       "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler" value of type "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler" to type
                       "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler"." ---> System.Management.Automation.PSInvalidCastException: Cannot convert the
                       "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler" value of type "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler" to type
                       "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler".
                          at System.Management.Automation.LanguagePrimitives.ThrowInvalidCastException(Object valueToConvert, Type resultType)
                          at System.Management.Automation.LanguagePrimitives.ConvertNoConversion(Object valueToConvert, Type resultType, Boolean recurse, PSObject originalValueToConvert,
                       IFormatProvider formatProvider, TypeTable backupTable)
                          at CallSite.Target(Closure , CallSite , Object , Object )
                          --- End of inner exception stack trace ---
                          at System.Management.Automation.ExceptionHandlingOps.CheckActionPreference(FunctionContext funcContext, Exception exception)
                          at System.Management.Automation.Interpreter.ActionCallInstruction`2.Run(InterpretedFrame frame)
                          at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
                          at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
                          at System.Management.Automation.Interpreter.Interpreter.Run(InterpretedFrame frame)
                          at System.Management.Automation.Interpreter.LightLambda.RunVoid1[T0](T0 arg0)
                          at System.Management.Automation.PSScriptCmdlet.RunClause(Action`1 clause, Object dollarUnderbar, Object inputToProcess)
                          at System.Management.Automation.PSScriptCmdlet.DoProcessRecord()
                          at System.Management.Automation.CommandProcessor.ProcessRecord()
                          --- End of inner exception stack trace ---
TargetObject          : TESTSQL1
CategoryInfo          : NotSpecified: (TESTSQL1:String) [], Exception
FullyQualifiedErrorId : dbatools_Invoke-DbaLogShipping
ErrorDetails          :
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at Stop-Function, C:\Program Files\WindowsPowerShell\Modules\dbatools\0.9.387\allcommands.ps1: line 95730
                       at Invoke-DbaLogShipping<Process>, C:\Program Files\WindowsPowerShell\Modules\dbatools\0.9.387\allcommands.ps1: line 52161

We recently removed the global variable. Can you test again, @samuelthan and @beargle ? 🙇

Will close unless there's additional feedback

I tried to solve this error when using : Copy-DbaDatabase

Cannot convert argument "value", with value: "Microsoft.SqlServer.Management.Smo.PercentCompleteEventHandler", for "add_PercentComplete" to ...

First I found man sessions of Windows PowerShell_ISE open so I killed them.
Then I found the error disappeared when I used the most simplest for of the commands.
But it failed when I included some PowerShell functions of my own.
So copied over the essential functions I required and I removed the include line and it worked fine.


Tables support

Hi @aguingand,
Thank you for this extension. I would like to ask whether it is possible to display tables?

Yes, follow the tiptap guide https://tiptap.dev/docs/editor/api/nodes/table, table are converted to markdown with this extension

@aguingand, thank you very much

@aguingand, Sorry for bothering you. Is it possible to handle the case when the table markdown comes from backend and I need to render it and edit(if necessary)?


Improve strong mode compliance

Closed by https://github.com/dart-lang/angular2/commit/f091aeb93fbdd7d4158a2202e0764159bdf4d46a


Refactor TVsCE

[x] Read the workspace folder(s) from vscode object each time
[x] Properly format JSON responses from the CLI before displaying
[ ] Keep a cached observable of config, use it in most places instead of re-reading from the file
[x] Avoid calling taq testFromVsCode before all commands (assume the last known state is still valid)

@russellmorton How do we prioritize the remaining item:

Keep a cached observable of config, use it in most places instead of re-reading from the file

It has no immediate user-facing benefit, except (a potentially imperceptible) performance improvement.
Some code will be improved though.


Add insane

This is insane.

Insanity is a serious condition and could be better written using another word.
Read more here: http://whatprivilege.com/replacing-crazy-for-ableism-and-preciseness-of-language/ (also some more words we could add there) (also some good discussion in the comments)

Great find, and great list, ill work on implementing it later today!


feat(mlbs): documentation of advanced locality awareness

Rendered: https://deploy-preview-1506--kuma.netlify.app/docs/dev/policies/meshloadbalancingstrategy/#advanced-localityawareness
Did you sign your commit? Instructions
Have you read Contributing guidelines?
xref: https://github.com/kumahq/kuma-website/issues/1475

Can we update this page:
https://kuma.io/docs/dev/policies/locality-aware/ ?
Let's make sure we say folks should stop using this and use our new more expressive feature instead

These titles are confusing:

It's only advanced because we used to have something before. I think now there should be a single title "laLB" and then subsections:

default behaviour
disabling cross-zone routing
configuring laLB


Update triangle example

Update triangle example to match the new wgpu triangle example.

Also cleaned up the cube.py, which contained some test-code.
And mad it so the light direction is (0, 0, -1) is the direction is ill-defined. This makes the light look down the neg z-axis by default, which is good for many basic examples.