Support go modules

Support go module versioning conventions and when used don't redirect to gopkg.in/mail.v2
https://github.com/golang/go/wiki/Modules#semantic-import-versioning

@Scapal I just tagged v2.3.0 with support for Go modules. Let me know if this fixes your issue.

This has broken both modules and go get. :(
According to the go.mod if using modules you must import with github.com/go-mail/mail/v2 however, if you doing that it breaks go get as there is no path on GitHub to match that.
It's important that the module name also match the import path for those not currently using modules, which is a lot of people.
The suggested route to solve this problem is to create a /v2 folder in the repo, that contains the v2 module and code. This allows for people to migrate to /v2 at their leisure, while not breaking those trying to support both go modules and go get.
Please consider either rolling back this change or making the suggested corrections. Thanks.
This release has broken https://gobuffalo/buffalo.

@markbates Apologies for the trouble. What does your go version report? From what I read, specifying /v2 should work for branches too:

Go versions 1.9.7+, 1.10.3+, and 1.11 are able to properly consume and build a v2+ module created using this approach without requiring updates to consumer code that has not yet opted in to modules (as described in the the "Semantic Import Versioning" section above).

Also, from looking at your commit in gobuffalo/buffalo@95c2e1a687eebb1eb03d940a96435bb8f2109f56, I notice you were using @alexcesaro's (upstream) import path, gopkg.in/gomail.v2, and not gopkg.in/mail.v2. Was that intentional?
To use this fork, you'll want to import either:

github.com/go-mail/mail - This should be the latest HEAD of the v2 branch.
github.com/go-mail/mail/v2 - If using Go modules, this should be the latest v2.*.* tag.
gopkg.in/mail.v2 - This should be the latest HEAD of the v2 branch.

I'll double check to be sure I'm not making an obvious mistake here. If anyone else can confirm this breakage, we can roll this back. 😅

Also, the branch “solution” means no one using non-modules can get it with go get.
It’s your repo and you can’t obviously, support modules the way you want, but it would be nice if you can make it work for everyone.
Thanks.
On Nov 12, 2018, 12:57 PM -0500, Ivy Evans<EMAIL_ADDRESS>wrote:

@markbates Apologies for the trouble. What does your go version report? From what I read, specifying /v2 should work for branches too:

Go versions 1.9.7+, 1.10.3+, and 1.11 are able to properly consume and build a v2+ module created using this approach without requiring updates to consumer code that has not yet opted in to modules (as described in the the "Semantic Import Versioning" section above).
Also, from looking at your commit in gobuffalo/buffalo@95c2e1a, I notice you were using @alexcesaro's (upstream) import path, gopkg.in/gomail.v2, and not gopkg.in/mail.v2. Was that intentional?
To use this fork, you'll want to import either:

• github.com/go-mail/mail - This should be the latest HEAD of the v2 branch.
• github.com/go-mail/mail/v2 - If using Go modules, this should be the latest v2.. tag.
• gopkg.in/mail.v2 - This should be the latest HEAD of the v2 branch.
I'll double check to be sure I'm not making an obvious mistake here. If anyone else can confirm this breakage, we can roll this back. 😅
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

We tried using http://gopkg.in/mail.v2 too, but again, modules and import paths don’t match.
The problem here is there needs to be a single import path that works for non-modules and modules alike. Currently it’s not possible to import this package and have it resolve in both.
They have to match for Go to work. We ended up having to internalize the package as it’s broken.
On Nov 12, 2018, 12:57 PM -0500, Ivy Evans<EMAIL_ADDRESS>wrote:

@markbates Apologies for the trouble. What does your go version report? From what I read, specifying /v2 should work for branches too:

Go versions 1.9.7+, 1.10.3+, and 1.11 are able to properly consume and build a v2+ module created using this approach without requiring updates to consumer code that has not yet opted in to modules (as described in the the "Semantic Import Versioning" section above).
Also, from looking at your commit in gobuffalo/buffalo@95c2e1a, I notice you were using @alexcesaro's (upstream) import path, gopkg.in/gomail.v2, and not gopkg.in/mail.v2. Was that intentional?
To use this fork, you'll want to import either:

• github.com/go-mail/mail - This should be the latest HEAD of the v2 branch.
• github.com/go-mail/mail/v2 - If using Go modules, this should be the latest v2.. tag.
• gopkg.in/mail.v2 - This should be the latest HEAD of the v2 branch.
I'll double check to be sure I'm not making an obvious mistake here. If anyone else can confirm this breakage, we can roll this back. 😅
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@markbates I understand your frustration and I want to help. A number of users have expressed interest in utilizing Go modules and I'm only supporting it under the condition that it works for everyone. I want to find a solution that works for us all and in order to do that, I need a bit more detail…

What go version are you using?
What exact error messages are you getting?

I just tried importing go-mail with a pristine GOPATH without any trouble. One hiccup I noticed, however was that I needed my project to reside within GOPATH, otherwise I get:
main.go:7:2: cannot find package "gopkg.in/mail.v2" in any of:
	/usr/local/Cellar/go/1.11.2/libexec/src/gopkg.in/mail.v2 (from $GOROOT)
	/Users/ivy/test/go/src/gopkg.in/mail.v2 (from $GOPATH)

After making sure my project was moved/symlinked into GOPATH, I had no trouble outside of a small warning:
go get: warning: modules disabled by GO111MODULE=auto in GOPATH/src;
	ignoring ../../../go.mod;
	see 'go help modules'
Fetching https://gopkg.in/mail.v2?go-get=1
Parsing meta tags from https://gopkg.in/mail.v2?go-get=1 (status code 200)
get "gopkg.in/mail.v2": found meta tag get.metaImport{Prefix:"gopkg.in/mail.v2", VCS:"git", RepoRoot:"https://gopkg.in/mail.v2"} at https://gopkg.in/mail.v2?go-get=1
gopkg.in/mail.v2 (download)
gopkg.in/mail.v2
test

Is this the same case for you too?

With mods on (off works fine):
go get gopkg.in/mail.v2

go<EMAIL_ADDRESS>go.mod has non-....v2 module path "github.com/go-mail/mail/v2" at revision v2.3.0
go: error loading module requirements

With mods off (mods are fine):
go get github.com/go-mail/mail/v2

package github.com/go-mail/mail/v2: cannot find package "github.com/go-mail/mail/v2" in any of:
	/usr/local/go/src/github.com/go-mail/mail/v2 (from $GOROOT)
	/Users/markbates/Dropbox/go/src/github.com/go-mail/mail/v2 (from $GOPATH)

GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/markbates/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/markbates/Dropbox/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/markbates/Dropbox/go/src/github.com/gobuffalo/buffalo/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2 -w"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/zj/ktv0trrj4l79dfq0dkm1b6d40000gn/T/go-build141527679=/tmp/go-build -gno-record-gcc-switches -fno-common"

It's easy to reproduce. You just need to pick an import path, and support that one.

I’m also in my GOPATH as I work exclusively there. This was also reported by other members of the team, the community, Travis, etc...
Trust me when I say this broke stuff for people. This got released and all of a sudden everything came to grinding halt.
You also can’t rever the change now either as go modules will pick up the last release with a go.mod file; so you can’t revert and need to fix the problem head on.
On Nov 12, 2018, 1:20 PM -0500, Ivy Evans<EMAIL_ADDRESS>wrote:

@markbates I understand your frustration and I want to help. A number of users have expressed interest in utilizing Go modules and I'm only supporting it under the condition that it works for everyone. I want to find a solution that works for us all and in order to do that, I need a bit more detail…
• What go version are you using?
• What exact error messages are you getting?
I just tried importing go-mail with a pristine GOPATH without any trouble. One hiccup I noticed, however was that I needed my project to reside within GOPATH, otherwise I get:
main.go:7:2: cannot find package "gopkg.in/mail.v2" in any of:
/usr/local/Cellar/go/1.11.2/libexec/src/gopkg.in/mail.v2 (from $GOROOT)
/Users/ivy/test/go/src/gopkg.in/mail.v2 (from $GOPATH)
After making sure my project was moved/symlinked into GOPATH, I had no trouble outside of a small warning:
go get: warning: modules disabled by GO111MODULE=auto in GOPATH/src;
ignoring ../../../go.mod;
see 'go help modules'
Fetching https://gopkg.in/mail.v2?go-get=1
Parsing meta tags from https://gopkg.in/mail.v2?go-get=1 (status code 200)
get "gopkg.in/mail.v2": found meta tag get.metaImport{Prefix:"gopkg.in/mail.v2", VCS:"git", RepoRoot:"https://gopkg.in/mail.v2"} at https://gopkg.in/mail.v2?go-get=1
gopkg.in/mail.v2 (download)
gopkg.in/mail.v2
test
Is this the same case for you too?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I’ve been working closely with members of the Go team on improving modules support, and I’ve brought this ticket to their attention as an experience report. Hopefully it’ll help them with docs and improvement s

FYI, for a package maintainer, opting into modules for a non-v1 package is a breaking change.
e.g. the version of Go the downstream package(s) uses needs to support modules and import paths need to be updated since it's a non-v1 package.

You also can’t rever the change now either as go modules will pick up the last release with a go.mod file; so you can’t revert and need to fix the problem head on.

You actually can revert the change in v2 and support modules in v3. go get and any module aware dependency manager will do the right thing. The problem is that not all dependency managers are module aware. For golang-migrate, I had to back-out module support in v3 and support modules in v4.
@markbates I believe you need to use github.com/go-mail/mail/v2 imports with modules enabled. You can also look into using the replace directive as a big hammer, but that probably won't help with gobuffalo since it only works for the top-level package. e.g. consumers of gobuffalo would also need to use replace.

Using go modules, outside GOPATH, it works as expected.
imported as "github.com/go-mail/mail/v2"
It creates the following entry in my go.mod:
github.com/go-mail/mail/v2 v2.3.0

No error nor warning during testing or compilation.

again, this is broken if you want to use the same import path for both mods or non-mods.
We’ve internalized the package because this is broken. It’s easy to reproduce in the GOPATH.
Pick an import path and support just the one. It’s that simple.
I get the impression, from this ticket, that there is no interest in changing that. Again, not my project, so I can’t dictate.
I’m moving on from this issue; since we’ve fixed it by censoring for now.
If this gets fixed, we’ll remove the vendor.
Please consider fixing

I can confirm what @markbates said: we need to support both users using go modules and those who don't, that's why the current solution can't work.

We are affected by this problem. Please consider to fix it.

Okay, the fix I'm considering is:

I can remove the go.mod file and tag a new v2.3.1 release. This should fix the issue for almost everyone, correct?

I can also delete the v2.3.0 tag. At least, that seems like the solution to @markbates's earlier response:

You also can’t rever the change now either as go modules will pick up the last release with a go.mod file; so you can’t revert and need to fix the problem head on.

Can anyone sanity check this solution to be sure I don't inadvertantly make things worse?

v2.3.1 is tagged and removes the go.mod manifest. I'm going to hold off on deleting the v2.3.0 tag until someone more knowledgable can chime in (I imagine a go mod cache purge will be needed). Sorry for the inconvenience!

Snag is @ivy

That i lost trust with gopkg.in
then embraced this fork in same manner..
But its stunk me a few times (other project also) so i lost trust in  gopkg.in for that reason

The new go.mod solves the problem...

I'm going to assume by the silence that there's no need to yank the previous tag.

@pedromorgan Agreed 100%, Gopkg.in is no longer necessary. It's really only around for the small minority of developers who might still rely on v1 or an older Go. I'm open to deprecating it.
Unfortunately, the go.mod addition created more problems than it solved…

I believe @dhui is right, it's safe to keep v2 as it is and switch to go modules in v3 that you could start as soon as you can, (even if it's just for that ?).
Go modules is more and more in use even buffallo use it and need Go 1.9.7+ , it will be a shame to don't jump in the wagon.

It's been a while; let's revisit this.
The Go wiki has some guidelines on how to migrate a package to modules that is already on a version >= 2.0: https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher. The general advice they give is to bump up to a new major version (so dep, etc. can stick with their current version), and to either put the new major version on a separate branch or in a subdirectory. Given the stability of this library, I think the major branch approach would be fine, although it would probably prevent dep from importing v3 until https://github.com/golang/dep/issues/1962 is fixed.
I can submit a quick PR that adds modules at v3, but the important parts of the process will be outside the scope of the PR:

(Optional) Create a v3 branch and make it the repo default. There are a couple reasons to do this. First, the dep issue I previously mentioned will prevent dep from importing v3, so creating a separate branch would allow important future updates to be easily backported to v2 for dep users. Second, this would be friendlier to legacy go get users who are just grabbing master.
Tag the new commit at v3.0.0.

If you want more info about this process, the wiki link above has links to more resources.


chore change decimal literal toSql as plainString

for example, 0 with decimal(38,4) will return 0.0000

run buildall


ASp.Net Core Application throws 403 error when deployed on PCF with hwcbuild pack

Hi ,
I am deploying Asp.net Core application pcf environment with hwc_buildpack, I am using
cf push webapp -s windows2012R2 -b hwc_buildpack -p ./
command,  also refer below url and added changes as mentioned there.
https://docs.pivotal.io/pivotalcf/1-10/buildpacks/dotnet-core/index.html
also added manifest file with required configurations.Currently, I am getting 403 error on hitting url of deployed application in browser.
Please let me know is it(hwc_buildpack )supports Asp.net Core or not?
If it support then what are required changes I have to add in it,to make it accessible.
Help Much appreciated!!
Thanks,
Abhijit Patil.

The HWC Buildpack is intended only for full .NET Framework (e.g. ASP.NET) applications deployed on Windows cells. It does not support .NET Core applications and was not designed to.
We highly recommend pushing .NET Core applications to Linux VMs with the .NET Core Buildpack, as mentioned in the doc you linked to. Note the lack of the -s windows2012R2 flag in the push command:
cf push webapp -b https://github.com/cloudfoundry/dotnet-core-buildpack.git
It is possible to push .NET Core applications to Windows Cells, if built properly, but there shouldn't be any significant reason to.

Thanks  Allen,
Thanks for immediate response , it really help me for my understanding and proceed  further.
Currently, I am able to deploy ASP.Net Applications on PCF hwc_buildpack and trying to connect with PCF MySql Database as bounded service in application, however not able connect with it.
Is there any special configuration apart from connection string  we must have to add in web config?
Please guide if you have an experience with PCF MySql DB connection with Asp.net application.
One more thing I have to clarify from you, can deploy and use .NetCore WebAPI as well
on asp.net core buildpack on linux VM.
I found there are least documentation for Asp.net core and ASP.Net on PCF deployment.
Please help me if you have any suggestion for to follow urls/documentations.
Big Thanks!!
Abhijit Patil.

The .NET Core buildpack runs on Linux VMs, and is documented here:
https://github.com/cloudfoundry/dotnet-core-buildpack
http://docs.cloudfoundry.org/buildpacks/dotnet-core/index.html
The HWC buildpack runs on Windows VM, and is not yet fully documented:
https://github.com/cloudfoundry-incubator/hwc-buildpack
@awmartin any ideas about MySQL in traditional .NET apps on Windows?

Closing this due to inactivity.

Update to this issue: it is possible to run .NET Core apps on Windows by pre-publishing them and pushing them using the binary buildpack, which now supports Windows.

Update to this issue: it is possible to run .NET Core apps on Windows by pre-publishing them and pushing them using the binary buildpack, which now supports Windows

Please let me the pre-publishing steps to run the .net core app in windows stack.

@egmanoharan The same as you would if you were planning to run the code on a windows machine yourself. The simple answer for a basic dotnet-core app would be.
dotnet publish --runtime win-x86 -c Release

and then push the resulting published files from the bin/Release/netcoreapp2.0/win-x86/publish directory, (or similar)

Hi Dave Goddard,
I have published the .Net Core 2.0 Application with the command "dotnet publish --runtime win-x86 -c Release" & pushed the resulting published files using binary_buildpack [v1.0.13]. Got a ERR Warning to specify the start command.
_>>
2017-12-04T12:07:59.52+0530 [APP/PROC/WEB/0] ERR Warning: We detected a Web.config in your app. This probably means that you want to use the hwc-buildpack. If you really want to use the binary-buildpack, you must specify a start command.

_

I have specified the start command in the manifest.yml file  "command: .\AppName.exe"
The application is pushed & running successfully , however while access it getting "502 Bad Gateway: Registered endpoint failed to handle the request.
Thanks & Regards,
Mano

I think there may be some confusion about how to deploy ASP.NET Core to CF.
First, ASP.NET Core can be built either against .NET Core or .NET
Framework. If the former, the normally way this happens is to deploy onto
Linux Diego cells using the .NET Core Buildpack.
If you built against .NET Framework instead, you can deploy to Windows VMs
using the HWC Buildpack.
Can you please verify what you’re trying to do?
On Sun, Dec 3, 2017 at 11:32 PM egmanoharan<EMAIL_ADDRESS>wrote:

Hi Dave Goddard,
I have published the .Net Core 2.0 Application with the command "dotnet
publish --runtime win-x86 -c Release" & pushed the resulting published
files using binary_buildpack [v1.0.13]. Got a ERR Warning to specify the
start command.
_>>
2017-12-04T12:07:59.52+0530 [APP/PROC/WEB/0] ERR Warning: We detected a
Web.config in your app. This probably means that you want to use the
hwc-buildpack. If you really want to use the binary-buildpack, you must
specify a start command.
_
I have specified the start command in the manifest.yml file "command:
.\AppName.exe"
The application is pushed & running successfully , however while access it
getting "502 Bad Gateway: Registered endpoint failed to handle the
request.
Thanks & Regards,
Mano
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cloudfoundry/hwc-buildpack/issues/3#issuecomment-348881511,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMuKrl2nqX2XXEE0NqWt6ShwBrFBMoHnks5s85_2gaJpZM4NdxBy
.

My guess is that you aren't listening on $PORT
On Mon, Dec 4, 2017, 4:23 PM greenhouse-ci<EMAIL_ADDRESS>wrote:

I think there may be some confusion about how to deploy ASP.NET Core to
CF.
First, ASP.NET Core can be built either against .NET Core or .NET
Framework. If the former, the normally way this happens is to deploy onto
Linux Diego cells using the .NET Core Buildpack.
If you built against .NET Framework instead, you can deploy to Windows VMs
using the HWC Buildpack.
Can you please verify what you’re trying to do?
On Sun, Dec 3, 2017 at 11:32 PM egmanoharan<EMAIL_ADDRESS>wrote:

Hi Dave Goddard,
I have published the .Net Core 2.0 Application with the command "dotnet
publish --runtime win-x86 -c Release" & pushed the resulting published
files using binary_buildpack [v1.0.13]. Got a ERR Warning to specify the
start command.
_>>
2017-12-04T12:07:59.52+0530 [APP/PROC/WEB/0] ERR Warning: We detected a
Web.config in your app. This probably means that you want to use the
hwc-buildpack. If you really want to use the binary-buildpack, you must
specify a start command.
_
I have specified the start command in the manifest.yml file "command:
.\AppName.exe"
The application is pushed & running successfully , however while access
it
getting "502 Bad Gateway: Registered endpoint failed to handle the
request.
Thanks & Regards,
Mano
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<
https://github.com/cloudfoundry/hwc-buildpack/issues/3#issuecomment-348881511
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AMuKrl2nqX2XXEE0NqWt6ShwBrFBMoHnks5s85_2gaJpZM4NdxBy
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cloudfoundry/hwc-buildpack/issues/3#issuecomment-349110205,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHtTWi3qHJVvOxu2PjSdYSfS8P7xKrkks5s9GLGgaJpZM4NdxBy
.

For me it works adding Steeltoe (https://steeltoe.io/docs/steeltoe-configuration/):
using Steeltoe.Extensions.Configuration.CloudFoundry;
then:
    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .CaptureStartupErrors(true)
            .UseStartup<Startup>()

            // Enable the application to listen on port(s) provided by the environment at runtime
            .UseCloudFoundryHosting()

            // Add VCAP_* configuration data
            .AddCloudFoundry()

            .Build();

With sample manifest like this:

applications:

name: WebApplicationName
stack: windows2012R2
buildpack: hwc_buildpack
command: cmd /c .\WebApplication3.exe --server.urls http://*:%PORT%
disk_quota: 1G
instances: 1
memory: 256M

--urls should workd as well:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/web-host?view=aspnetcore-2.1#override-configuration


Action gets triggered when a track design is hovered over the map

The plugin subscribes to the "ride create" event, but unfortunately that event also gets fired when a track design is hovered over the map, where it creates a temporary ride. This results in many "Can’t change operating mode...” messages.
While I haven’t tried it myself (it was reported to me by a user), you could perhaps check the flags and see if they contain GAME_COMMAND_FLAG_NO_SPEND (= 1 << 5, or 32) - this is always passed when trying to place a track design, but not when placing a regular one (not even when money is disabled).

1 << 32 did it, so this is now fixed in the latest release (0.2).


Intersection with some system variables

I can rewrite some system variables and corrupt ur lang.
Can it be fix by blocking rewriting vars by system detect?

пачиин7илш ло

I can rewrite some system variables and corrupt ur lang.
Can it be fix by blocking rewriting vars by system detect?

Yap, it can be.
Can it be fix by blocking rewriting vars by system detect?

Will u fix ur code or u too laxzy for it?


Failing rapid rebalance

Hi,
The rapid-rebalance attemps from regolancer seem to fail often with this error code: "Error building route: rpc error: code = Unknown desc = no matching outgoing channel available for node 0 ()".
What is going wrong here?

Could it be that the channel in question was disabled suddenly? I personally never had this issue so can only guess but it's an error that lnd returns, not us.

It could be either that your channel was disabled but there could be also some additional factors which lead lnd to not find a channel for the rebalance. For example, this channel got a forward just when you tried to send the payment leading not enough liquidity on your side to please the reserve. There might also be the case that you are in a situation where you have a stuck channel although most of the balance is on your side (see https://github.com/lightning/bolts/issues/728). As rkfg mentioned above the rebalancer behaves as it should and lnd just cannot find a suitable channel anymore. During which rapid rebalance attempt does it normally show you this message, is it only on the same channel ... ?

I saw a similar error but for the last node, so it was about the channel to my node. That channel was disabled to me by the peer but the peer was online and active. I suppose this error in your case means that the channel from you to the first node on route is disabled for whatever reason. In any case that's not our issue.


Make transactions accepted by bitcoind

This PR:

remove confirmations from Utxo and Signet from Network.
rename Bitcoin to Mainnet in Network.
make public signatureToDer
reverse transaction id in transaction inputs
use sighashType instead of a hard-coded constant.

The main problem making bitcoind refusing transactions made with this repository was that the transaction hash in the inputs of transaction were written with the incorrect endianness, the solution I suggest in this PR is maybe not the most appropriate but it works with bitcoind.
Tests from test/bitcoin/{bitcoinTest,transactionTest}.mo now fail. As my changes make the transaction accepted by bitcoind while it doesn't used to be the case, I am wondering if these tests were generated with another mean than this repository.
Don't hesitate with your knowledge of this repository to put back in the standards the suggestions I made.

I think it is problematic that the tests now fail.
Either the code changed in a non-compliant way (which would be weird as bitcoind accepts the transactions) or the tests do not capture what we want.
In my opinion, we need both passing tests and transactions being accepted.

Moved to https://github.com/tgalal/motoko-bitcoin/pull/12


RuntimeError: Request device failed (1): Validation Error

Hi there,
I'm trying to run the example in the README, unfortunately it doesn't seem to be working?
$ python example.py

MESA-INTEL: warning: Haswell Vulkan support is incomplete
Adapter is not Vulkan compliant, hiding adapter: Intel(R) HD Graphics 4600 (HSW GT2)
Traceback (most recent call last):
  File "./example.py", line 15, in <module>
    gfx.show(cube, before_render=animate)
  File "./.venv/lib/python3.12/site-packages/pygfx/utils/show.py", line 271, in show
    ).show(object, up)
      ^^^^^^^^^^^^^^^^
  File "./.venv/lib/python3.12/site-packages/pygfx/utils/show.py", line 168, in show
    self.renderer = WgpuRenderer(self.canvas)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "./.venv/lib/python3.12/site-packages/pygfx/renderers/wgpu/engine/renderer.py", line 142, in __init__
    self._shared = get_shared()
                   ^^^^^^^^^^^^
  File "./.venv/lib/python3.12/site-packages/pygfx/renderers/wgpu/engine/shared.py", line 270, in get_shared
    Shared()
  File "./.venv/lib/python3.12/site-packages/pygfx/renderers/wgpu/engine/shared.py", line 85, in __init__
    self._device = self.adapter.request_device(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "./.venv/lib/python3.12/site-packages/wgpu/backends/wgpu_native/_api.py", line 833, in request_device
    return self._request_device(
           ^^^^^^^^^^^^^^^^^^^^^
  File "./.venv/lib/python3.12/site-packages/wgpu/backends/wgpu_native/_api.py", line 1001, in _request_device
    raise RuntimeError(error_msg)
RuntimeError: Request device failed (1): Validation Error

Caused by:
  Unsupported features were requested: Features(FLOAT32_FILTERABLE)

Thanks for any help!

This looks like the Vulkan driver is not complete. In particular, it says the FLOAT32_FILTERABLE feature is not available, which is something we assumed to be available on all (somewhat modern) desktops.
Is this on Linux? Could you try updating the Vulkan driver with apt install mesa-vulkan-drivers?

Thanks for your help @almarklein. Yep I'm on Ubuntu Linux. I just ran sudo apt install mesa-vulkan-drivers, but unfortunately just get the same error.

Thanks for your help @almarklein. Yep I'm on Ubuntu Linux. I just ran sudo apt install mesa-vulkan-drivers, but unfortunately just get the same error.

can you be more specific about the version of Ubuntu you are using and the hardware you are using?
I use ubuntu a lot and have gotten Pygfx working on Ubuntu 20.04 through 24.10 with a variety of hardware.

Thanks for your help and info @hmaarrfk

Ubuntu 24.04 noble
Not sure if this is helpful:

$ lspci | grep VGA

00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)

I should have also read the first line:

Haswell Vulkan support is incomplete

From what I can tell these errors are coming from Vulkan itself, and not pygfx.
4th gen is quite old. I've only tested as far back as 8th gen.....
Infact, they are telling you that for a variety of reasons, Haswell was not targetted for Vulkan.
I'm sorry to say but your computer might simply be incompatible with Vulkan.

Thanks again for your help @hmaarrfk. Interestingly I can seem to run the triangle example from wgpu-py https://github.com/pygfx/wgpu-py/blob/6bb8bf6497a4dd4624f55f7b2263d9b8a5cceb30/examples/triangle.py
$ python triangle.py

# I do seem to get some warnings:

MESA-INTEL: warning: Haswell Vulkan support is incomplete
Adapter is not Vulkan compliant, hiding adapter: Intel(R) HD Graphics 4600 (HSW GT2)

Thanks for the suggestion and help @almarklein.
I've figured it out: to run the wgpu-py example I needed to follow https://github.com/pygfx/wgpu-py/issues/616#issuecomment-2409817327 and install that from main pip install git+https://github.com/pygfx/wgpu-py.git.
All working now, many thanks for both your help again!

Here is the requested output:
>>> print(wgpu.gpu.request_adapter_sync().info)

MESA-INTEL: warning: Haswell Vulkan support is incomplete
Adapter is not Vulkan compliant, hiding adapter: Intel(R) HD Graphics 4600 (HSW GT2)
{'vendor': '', 'architecture': '', 'device': 'Mesa Intel(R) HD Graphics 4600 (HSW GT2)', 'description': '4.6 (Core Profile) Mesa 24.0.9-0ubuntu0.2', 'vendor_id': 32902, 'device_id': 0, 'adapter_type': 'IntegratedGPU', 'backend_type': 'OpenGL'}

... 'backend_type': 'OpenGL'}

Right, the Vulkan backend is rejected, so it falls back to the OpenGL backend.

Short story is what Mark said; your machine is too old to run Pygfx. The float32 feature that prevents the device from being created, is needed for some functionality in pygfx. In theory we can make it optional, but it would make the code more complicated as we'd have to take into account that the feature may not be available.
That said, as an exercise we can try to see how far your machine can go ...
You could try running pygfx from source and modify this line so _features is an empty set:
https://github.com/pygfx/pygfx/blob/a3f8723c4d1d4af0943566c8a0ce01feba9ad317/pygfx/renderers/wgpu/engine/shared.py#L52
That will likely make it possible to run some examples. If this proofs good enough for your use-case, I am open to making it possible to disable that feature.

_features = set() works thanks!

Hehe, that's actually pretty cool. Ok, I had a brief look, and I think we can support this with minimal effort. #868


[FEATURE] Bind shell agents and Tor support

Bind shell agents:
TL;DR: I want bind agents, and I might implement Tor functionality myself for hidden service access. Benefits: meek domain fronting, no CNC, simple to write.
Bind shells are often discounted because they are generally less useful than reverse shells. Usually (unless you have local LAN access) a bind shell is not accessible from the public internet (unless you have modified the firewall/router to allow the port). However, there are circumstances where they are useful.
Take the APT29 hidden service backdoor for example. They basically wrote a program to start a Tor hidden service on the host, and connected to RDP through that hidden service. In an ideal world, they would have been using hidden service authentication for security, that way it would not have been publicly accessible. Ignoring the fact that RDP must have been ridiculously slow over a Tor connection, they were restricted to using built in Windows tools to perform exfiltration. Empire is uniquely tailored for espion-cough "penetration testing", so it would be an asset to be able to use it over Tor in some capacity. Tor is useful, because it is basically impossible to track down the C2, and it has built in domain fronting (meek bridges).
The other benefit of the APT29 approach is their lack of a C2 in the first place. In their case, the client rather than the server is running the hidden service. Because of the way hidden services work, they punch through the firewall and enable someone to access ports running on a host without needing to open ports on the NAT/router/firewall. It basically behaves like the port had been forwarded with a metasploit listener (bind shell) running on it. So, because of that lack of a central server, there is no single point of failure that can be taken down, and you also have the added benefit of not needing to pay for that server (VPS) in the first place.
Regardless of what approach is being used, we can't deny the benefit of having Tor integrated with Empire, either with bind listeners or a regular reverse tcp connection to a hidden service CNC. I have outlined ways to implement both approaches below:
In both cases, a Tor client running on the client machine would be necessary. This is fairly easy to do, and it should be relatively simple to implement this as an Empire module/listener (not sure what category it would go in, seeing as this is directly tied in with listener functionality). I am willing to do this myself, although I am at best a mediocre programmer.
Reverse shell over Tor:
To do this, there are two prerequisite features that must be implemented: 1) Proper socks4/5 proxy support, and 2) Remote DNS.
Long story short: agent should connect through the Tor proxy running on localhost:9050, and should resolve DNS queries through the Tor DNS port (so that it can resolve .onion addresses). It should connect back to a C2 running as a hidden service.
This is relatively complex to implement, and I personally am not partial to it. Both prerequisite features look like a hassle. However, there may be people who have a use for it.
Bind shell over Tor:
This is simple. All one would need to do is have the server connect to an agent listening on a local port on the client, similar to metasploit bind shells. The Tor client would start a hidden service with the port the agent is listening on. The Empire server connects to the client through the hidden service and issues commands. For authentication, I would personally use hidden service auth, but it could also be built into the bind agent.
Obviously, there are issues with the server resolving the onion address of the client, however this can be solved more easily on the server side (Whonix gateways, forcing connection over Tor with Privoxy, etc.)
Bind shells generally:
Regardless of whether it is used for Tor or just by itself, bind shells are a feature that desperately need to be in Empire, because they create new ways to extend existing functionality. It could be as simple as having a bind shell listener, with options like:
OpenPort: open port in system firewall to allow LAN access to agent. (not necessary to open port with hidden services, but useful for local LAN access.)
PortAuthentication: enable key/cert based authentication for agent. (should be simple to implement, SSL/key exchange is already there. Only useful for securing opened firewall port when you have LAN access.)
It could also communicate over http, much like the regular reverse shell listener.

@Strazzom This sounds really cool. Unfortunately, I don't have the cycles to implement a major feature request like this. However, feel free to give it a shot and submit a PR. We can go from there. Thanks


serverconnect - cert is alway None

Problem Description
I've configured an mitmProxy in upstream mode, and trying to intercept the certificate it (Fiddler) presents to mitmProxy using an add-on.
cert field frommitmproxy.connections.ServerConnection object is always None
Maybe I'm doing something wrong...
Steps to reproduce the behavior:
import mitmproxy
from mitmproxy import ctx

class MyAddon:

    def serverconnect(self, conn: mitmproxy.connections.ServerConnection):
        ctx.log.info("serverconnect: %s" % vars(conn))

addons = [
    MyAddon()
]

System Information
5.0.1

I think this was just recently fixed in #3881, the event is called too soon. Could you try with the master branch?

Pardon me, it's actually #3884
In the mean time you can use serverdisconnect and the cert will be there

Thanks @Prinzhorn
It is indeed returned in serverdisconnect and I will check master branch for serverconnect
I'm trying to create a custom "trust manager" by inspecting cert.x509._subject_invalidator and if it's created by a specific issuer, pass-trough the request, otherwise block it.
Any chance you can please point me to some sort of an example (if any exists) of how to do it?

I'm trying to create a custom "trust manager" by inspecting cert.x509._subject_invalidator and if it's created by a specific issuer, pass-trough the request, otherwise block it.

In this case you can work around by using the request event and  flow.kill() if your check fails.
Pseudocode:
request(flow):
    if(flow.server_conn.cert......):
        flow.kill()

@Prinzhorn Thanks, but my goal is a bit different, I don't want to configure ssl_verify_upstream_trusted_ca in advance, and instead make the decision to accept the cert of the upstream proxy or not, in "runtime"... can this be achieved somehow?

I think @Prinzhorn's previous comment achieves just that. We will eventually expose the relevant OpenSSL bits in an addon, but for now @Prinzhorn's approach is probably the best way to go next to monkeypatching the core.


⚠ Jenkins Plugins Artifactory has degraded performance

In 6066f15, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1390 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 2874bb5 after 3 hours, 15 minutes.


Allow customization of signal handler in registration, add flushing

Thank you for making this library, it's very useful to us!
This PR tries to address a couple of minor pain points we encountered when using the library:

Makes signal handler installation logic reusable and allows for caller to specify an alternative handler (Linux/Darwin)
Adds flushing of the output streams from crash handlers

😄

Thank you for offering your work.
The signal handler that comes with backward-cpp is an example more than something ready for all use-cases. Consider it as a basic example ready for copy paste to make your own.
With my experience maintaining this library over the year, I have observed that implementation of signal handlers can change widely depending of the application (sync, async, threading etc). Therefore I think it is better to keep this outside of backward-cpp.


Rework forward and reverse link names

This changes the reverse name of the "Blocker" link type from blocked by to is blocked by.
Also the forward and reverse name of the "Parenting" link type are prefixed with an is now: is parent of, is child of.
This is done to have a better experience when creating links manually with the UI where the UI says something like This work item foo parent of ..." and it would be much nicer if it instead said This work item foo is parent of`.

Ike Plugins (test-keeper)
Thank you @kwk for this contribution!

It appears that no tests have been added or updated in this PR.
Automated tests give us confidence in shipping reliable software. Please add some as part of this change.
If you are an admin or the reviewer of this PR and you are sure that no test is needed then you can use the command /ok-without-tests as a comment to make the status green.
Your plugin configuration is stored in the file.

[test]

@kwk snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-2039-2

@kwk Can you also update the description here with correct example? -> https://github.com/fabric8-services/fabric8-wit/blob/master/design/work_item_link_type.go#L60

@kwk You need to update the golden files

@kwk You need to update the golden files

Don't worry. I know what to do and I was just interrupted by the build problem this morning. That's why I've left this PR untouched. Also, I didn't assigned any reviewer yet and left the WIP in the title.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #2039   +/-   ##
=======================================
  Coverage   67.27%   67.27%
=======================================
  Files         157      157
  Lines       14198    14198
=======================================
  Hits         9551     9551
  Misses       3749     3749
  Partials      898      898

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 a26ec5a...899bc8f. Read the comment docs.

@kwk snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-2039-3

Just a nitpick. This could be changed for consistency -> https://github.com/fabric8-services/fabric8-wit/blob/master/spacetemplate/importer/importer_blackbox_test.go#L274
Otherwise, Looks Good.

Just a nitpick. This could be changed for consistency -> https://github.com/fabric8-services/fabric8-wit/blob/master/spacetemplate/importer/importer_blackbox_test.go#L274

@DhritiShikhar thank you for your approval. I don't think this is needed because it has nothing to do with my change here.

/ok-without-tests


Final Crossover Review Ticket

Items
Self
P1
P2
Avg

Individual Attendance, Capture the Moment: 2 points
2
2
2
2

Team Presentation to Teacher: 3 points (1 minute),
3
3
3
3

Project quality, running cross domain and no crashes on FE to BE with these reviews
1
1
1
1

UI contains inputs that are validated for garbage, data cleaned (ie validate DOB or Password)
1
1
1
1

UI contains actions for Create, Read,
1
1
1
1

UI contains actions for Update, Delete
1
1
1
1

JWT is guarding a feature, demonstration of cookies
0
0
0
0

Project quality, observation of comments in every function, class, or method reviewed. Be sure to review POJO, API Controller, and JPA.
1
1
1
1

BE contains and API that shows that it handles error conditions (ie duplicate user id)
1
1
1
1

BE contains support for GET and POST methods
1
1
1
1

BE contains a database that supports Create, Read
1
1
1
1

BE contains a database that supports Update, Delete
1
1
1
1

Total Score:
14/15
14/15
14/15
14/15

Night of the Museum- 5/5
Individual score for runtime - 5/5
runs very smoothly
Data is clear
CRUD stuff met
JWT login token is good
Individual Score for Code Review - 5/5
good quality project
errors handled very well
BE contains GET and POST
create, read, update, delete all met
Crossover Grade - 9.5/10
Final Score: 14.5/15

Night at the Museum: 5/5

pictures of behind the scenes
frontend/backend debugging

Live Review:
Individual Score for Runtime: 4/5

no crashing
validate input for player guess
create/read votes
update vote number

Code Review: 5/5

comments in functions reviewed
error handling/exception handling in API controllers
GET/POST for voting
database CRUD

Silent Review:
Team Review: 1/3

runtime links
full stack most individuals

Individual Review: 1/2

review ticket exists
full stack/backend objectives

Total: 17/20


Integrate some changes from qubyte/vendor-copy (mostly addressing advisories)

Hi @chrisnewtn! This addresses https://github.com/vizia/vendor-copy/network/alerts and bumps the rest of the dependencies too. There are no production dependencies anyway, so the advisory isn't a big deal. This just stops it appearing in our email inboxes.


Fix seo title

GOV.UK Registers instead of GDS Registers

Any idea why it has "| Registers on the end of it"? I.e. it's "GOV.UK Registers | Registers". Should we just have "GOV.UK Registers" alone?

@michaelabenyohai that comes from the tech docs gem template so we'd have to make a PR against that to update it.


Environment variables on index.html

Bug Report or Feature Request (mark with an x)
- [ ] bug report -> please search issues before submitting
- [X] feature request

Versions.
1.1.0
Repro steps.

go to index.html
include this code:

<script>
console.log(environment.production);
</script>

Desired functionality.
I would like to access environment files in inline javascript code, ie <script>...</script>
Mention any other details that might be useful.
Motivation we need to setup some tracking IDs (think Google Analytics) and do not know how to replace them at compile time while doing production release.

Answered in https://github.com/angular/angular-cli/issues/4451. Hope that helps!

Closing as a (sort of) duplicate of #4451, answered in https://github.com/angular/angular-cli/issues/4451#issuecomment-285329985.

Better answer at https://github.com/angular/angular-cli/issues/4451#issuecomment-399888807


Refactor handle-resource-offers to not use global compute-cluster

Changes proposed in this PR

Refactor handle-resource-offers-refactor to not use global compute-cluster

Why are we making these changes?
Intermediate step to supporting multiple compute clusters.

Will merge when green


Page hangs after copy the text

I have used copy to clipboard in my page to copy some token. But after copying the text, after few seconds, page gets hang, modal pop up is automatically gone + toggle switch is lost (see in background page, enable/disable token toggle button), javascript events lost.

Hey @rixcapricorn, thanks for reporting, I'm planning to contribute to some open issues. Can you confirm if your problem remains? For now, without a proposal demo to reproduce, I am closing the report since it seems a not related clipboard.js bug to me. You are welcome to re-open if including a reproducible demo using jsfiddle or something like that.


Online issue

required text field not working
if value is empty or zero should be required

note:
I found some issue about _.isEmpty function but not be fix yet.(https://github.com/jashkenas/underscore/issues/432)
ex: _.isEmpty(0) # true , normally it should return false but it's
always return true if type of value is number.

This request is mixed between fixing base module and framework. I don't have idea to split merge request. Please advice me if you can do.


[9.x] Add whereBetweenDate() and whereNotBetweenDate() to filter two dates with a different formats

📌 Same PR #42194 but with the usual approach.
PR: Add whereBetweenDate() and whereNotBetweenDate() to filter two dates with a different formats.
The use-case to use the whereBetweenDate()  and whereNotBetweenDate() :

If you have a column type is DateTime or Timestamp YYYY-MM-DD hh:mm:ss and the values you searching on it have a different format as date YYYY-MM-DD.

Using whereBetween() or  whereNotBetween() on previous use-case will return not the exact data we searching on it because SQL will match with a different format to solve this we need to cast the column to data format using date function
SQL :
-- Before
select * from checklists where created_at between '2022-04-17' and '2022-04-18';
select * from checklists where created_at not between '2022-04-17' and '2022-04-18';
-- After
select * from checklists where date(created_at) between '2022-04-17' and '2022-04-18';
select * from checklists where date(created_at) not between '2022-04-17' and '2022-04-18';

Example
Using whereBetween() or whereNotBetween()
// Query Builder
 DB::table('checklists')->whereBetween('created_at', ['2022-04-17','2022-04-18'])->get();
 DB::table('checklists')->whereNotBetween('created_at', ['2022-04-17','2022-04-18'])->get();
// Eloquent
Checklist::whereBetween('created_at', ['2022-04-17','2022-04-18'])->get();
Checklist::whereNotBetween('created_at', ['2022-04-17','2022-04-18'])->get();

Output for using whereBetween() from '2022-04-17' to '2022-04-18':

Using whereBetweenDate() or whereNotBetweenDate()
// Query Builder
 DB::table('checklists')->whereBetweenDate('created_at', ['2022-04-17','2022-04-18'])->get();
 DB::table('checklists')->whereNotBetweenDate('created_at', ['2022-04-17','2022-04-18'])->get();
// Eloquent
Checklist::whereBetweenDate('created_at', ['2022-04-17','2022-04-18'])->get();
Checklist::whereNotBetweenDate('created_at', ['2022-04-17','2022-04-18'])->get();

Output for using whereBetweenDate() from '2022-04-17' to '2022-04-18':

Using whereBetween() with DB::raw('DATE(colum_name)') to get the exact reuslt
Before

// Query Builder
 DB::table('checklists')->whereBetween(DB::raw('DATE(created_at)'), ['2022-04-17','2022-04-18'])->get();
 DB::table('checklists')->whereNotBetween(DB::raw('DATE(created_at)'), ['2022-04-17','2022-04-18'])->get();
// Eloquent
Checklist::whereBetween(DB::raw('DATE(created_at)'), ['2022-04-17','2022-04-18'])->get();
Checklist::whereNotBetween(DB::raw('DATE(created_at)'), ['2022-04-17','2022-04-18'])->get();

Using whereBetweenDate()
After

// Query Builder
 DB::table('checklists')->whereBetweenDate('created_at', ['2022-04-17','2022-04-18'])->get();
 DB::table('checklists')->whereNotBetweenDate('created_at', ['2022-04-17','2022-04-18'])->get();
// Eloquent
Checklist::whereBetweenDate('created_at', ['2022-04-17','2022-04-18'])->get();
Checklist::whereNotBetweenDate('created_at', ['2022-04-17','2022-04-18'])->get();

I am against that change. The generated SQL statement will prevent the usage of an index on the created_at  column. Instead of changing the query in this case, you should change the logic adding the condition to include the time part.
The SQL statement is not unindexable, you can always add a function-based index. But I believe most developers will be puzzled that this query builder function will render their existing indexes useless when just using 2022-04-17 00:00:00and 2022-04-18 23:59:59 would have worked perfectly with an index.

I am against that change. The generated SQL statement will prevent the usage of an index on the created_at  column. Instead of changing the query in this case, you should change the logic adding the condition to include the time part.
The SQL statement is not unindexable, you can always add a function-based index. But I believe most developers will be puzzled that this query builder function will render their existing indexes useless when just using 2022-04-17 00:00:00and 2022-04-18 23:59:59 would have worked perfectly with an index.

I am agreed with you 👌, using this way 2022-04-17 00:00:00 and 2022-04-18 23:59:59  it's efficient than date functions because SQL it's not using the index as you mentioned, and this will be clear  if you have more thousands of Records.
so I will update  the PR to use way 2022-04-17 00:00:00and 2022-04-18 23:59:59
Using  2022-04-17 00:00:00and 2022-04-18 23:59:59  :

Using date() function sql :

Now I updated the logic using this way 2022-04-17 00:00:00 to 2022-04-18 23:59:59 because it's more efficient than casting using SQL date() function.
The use-case if the column is DateTime and values we searching for Date
Before:

//  it return the exact data  and does not use the index
DB::table('checklists')->whereBetween(DB::raw('DATE(created_at)'), ['2022-04-17','2022-04-18'])->get();
DB::table('checklists')->whereBetween(DB::raw('DATE(created_at)'), ['2022-04-17','2022-04-18'])->get();
//it returns not the exact data
DB::table('checklists')->whereNotBetween(created_at, ['2022-04-17','2022-04-18'])->get();
DB::table('checklists')->whereNotBetween(created_at, ['2022-04-17','2022-04-18'])->get();

After:
DB::table('checklists')->whereBetweenDate(created_at, ['2022-04-17','2022-04-18'])->get();
DB::table('checklists')->whereNotBetweenDate(created_at, ['2022-04-17','2022-04-18'])->get();

I do believe that this idea has fundamental problems and shouldn‘t be included. I don‘t have any time today, will write more tomorrow.

I do believe that this idea has fundamental problems and shouldn‘t be included. I don‘t have any time today, will write more tomorrow.

can you mention what is fundamental problems? however, I make different checks and make a test for all cases
I check if the values are not dateTime and are not Expression which means the string of the accepted value like this '2022-05-5' to format it but anyone who inputs values like number will have an Exception to make its DateTime

I think using  date() function SQL  it's a more general solution it's like whereDate() if you have DateTime column and searching date.
and I think if you are worried about performance you can use normal whereBetween() and specify your values 2022-04-17 00:00:00 to 2022-04-18 23:59:59.

📌 Update the Logic for whereBetweenDate() and whereNotBetweenDate()  by using date function to cast the column dateTime
Supported :

MySQL
Postgres
SQL Server
SQLite

DB::table('checklists')->whereBetweenDate(created_at, ['2022-04-17','2022-04-18'])->get();
DB::table('checklists')->whereBetweenDate(created_at, ['2022-04-17',now()])->get();
DB::table('checklists')->whereNotBetweenDate(created_at, ['2022-04-17','2022-04-18'])->get();

My intention was that you are misusing the naming. A filter like whereBetweenDate(created_at, ...) is, by its naming, filtering on a date column. But you are not doing date operations on the column, your query is using timestamps in a condition for a function which states to use dates, but you are executing on a timestamp column. So basically, you've built whereTimestampBetweenDate, not whereBetweenDate .
And your PostgreSQL code again will prevent an index being used because you are casing the column to a date column, which means an index on the timestamp column will not be used. I've tested that PostgreSQL is intelligent enough to not need the cast and use the index (https://dbfiddle.uk/?rdbms=postgres_14&fiddle=7ec796f279c8d0dfd51831dbabdeaa40). But I am uncertain if all the other databases will behave the same.
You are creating a new filter, with (1) uncertain performance implications and (2) ambigous naming indicating a completely different operation to execute on the database. And all this effort just because whereBetween('2022-04-17 00:00:00', '2022-04-18 23:59:59') is too much effort to type for you. But whereBetween` is perfectly handling all date and numeric data types with correct indexing support because it doesn't change any of the column's meanings.

My intention was that you are misusing the naming. A filter like whereBetweenDate(created_at, ...) is, by its naming, filtering on a date column. But you are not doing date operations on the column, your query is using timestamps in a condition for a function which states to use dates, but you are executing on a timestamp column. So basically, you've built whereTimestampBetweenDate, not whereBetweenDate .
And your PostgreSQL code again will prevent an index being used because you are casing the column to a date column, which means an index on the timestamp column will not be used. I've tested that PostgreSQL is intelligent enough to not need the cast and use the index (https://dbfiddle.uk/?rdbms=postgres_14&fiddle=21312df697a4e0b79e9f794b06d19857). But I am uncertain if all the other databases will behave the same.
You are creating a new filter, with (1) uncertain performance implications and (2) ambigous naming indicating a completely different operation to execute on the database. And all this effort just because whereBetween('2022-04-17 00:00:00', '2022-04-18 23:59:59') is too much effort to type for you. But whereBetween is perfectly handling all date and numeric data types with correct indexing support because it doesn't change any of the column's meanings.

Ok now whereBettenDate()  and whereBettenDate() it's casting the column to date format to get the result it works on MySQL, Postgres , SQL Server, SQLite it's like whereDate() however I will add another function for more performance with name is: whereTimestampBetweenDate() and whereTimestampBetweenDate()  as you mention because it works only if the column is a timestamp ...etc

📌  whereBetweenDate() and whereNotBetweenDate()  caste the column to date
Supported :

MySQL
Postgres
SQL Server
SQLite

DB::table('checklists')->whereBetweenDate(created_at, ['2022-04-17','2022-04-18'])->get();
DB::table('checklists')->whereBetweenDate(created_at, ['2022-04-17',now()])->get();
DB::table('checklists')->whereNotBetweenDate(created_at, ['2022-04-17','2022-04-18'])->get();

📌 Add whereTimestampBetweenDate() and whereNotTimestampBetweenDate()

These two functions it's used where between two dates and the column is Timestamp  and values is Date the function will format the values Y-m-d 00:00:00 to Y-m-d 23:59:59 to get the exact result.

DB::table('checklists')->whereBetweenDate(created_at, ['2022-04-17','2022-04-18'])->get();
DB::table('checklists')->whereBetweenDate(created_at, ['2022-04-17',now()])->get();
DB::table('checklists')->whereNotTimestampBetweenDate(created_at, ['2022-04-17','2022-04-18'])->get();
DB::table('checklists')->whereNotTimestampBetweenDate(created_at, ['2022-04-17',now()])->get();

The cast is again adding the possibility that an index will not be used correctly because the index has been created for a different data type. I'll stop commenting from now on, I've said everything I wanted to add.

I will attach all formats that function whereBetween() can handle it and I will answer why really convinced with this function ?

I choose common formats however we have a lot of formats for DateTime and timestamps.
We have values dates with this format  YYYY-MM-DD  and we are searching on the table with the following formats :

Format
Example values
whereBetween()
whereBetweenDate()

YYYY-MM-DD
2022-05-12
get the exact results
get the exact results but whereBetween() is fast

YYYY-MM-DD hh:mm
2022-05-12 00:00 to 2022-05-12 23:59
! get the results but not the exact data
get the exact results

YYYY-MM-DD hh:mm:ss
2022-05-12 00:00:00 to 2022-05-12 23:59:59
! get the results but not the exact data
get the exact results but whereTimestampBetweenDate() is fast

YYYY-MM-DD hh:mm:ss.sss
2022-05-12 00:00:00.000000 to 2022-05-12 23:59:59.999999
! get the results but not the exact data
get the exact results

YYYY-MM-DDTHH:mm:ss.SSSZ
2022-05-12T09:07:21.205-07:00 to ....
! get the results but not the exact data
get the exact results

So if  you have any format DateTime or timestamp and you are searching on date format YYYY-MM-DD the casting is a general solution but if you are worried about the performance you can use whereBetween() and formating the values with the range DateTime format for the column, for example, you have a column with this format YYYY-MM-DD hh:mm:ss.sss   and the values you searching on it like this 2022-05-12 you need to format the values like this 2022-05-12 00:00:00.000000 to 2022-05-12 23:59:59.999999 to get the exact results.
You have a lot of formats it's not easy to make a function that handles a lot of formats without casting to keep the index working! what if the developer did not make index the column? what if you have a complex query and the index is not used with this complex query? in my opinion, you can find functions that can get the same result you want but in a different way but one of them can get the result fast than one so you are decided what you need to use.
Finally
This PR handles the general solution for any format DateTime or timestamp with  casting column whereBetweenDate() whereNotBetweenDate()  and the common format YYYY-MM-DD hh:mm:ss with keeping index work whereTimestampBetweenDate() , whereNotTimestampBetweenDate()
MySql formats
Sqlite formats
SQL Server formats
postgresql formats

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.

@taylorotwell Thank you for your response.
If you want to make a query where between two dates and the values you are searching like this format YYYY-MM-DD  and the database has any format of DateTime or timestamp. If using whereBetween() it does not return the exact data.
So this PR I made 4 functions  whereBetweenDate()  ,  whereNotBetweenDate() that cast the column on database to get the exact data.
-- before
select * from checklists where created_at between '2022-04-17' and '2022-04-18';
-- after
select * from checklists where date(created_at) between '2022-04-17' and '2022-04-18';

And   whereNotTimestampBetweenDate()  ,  whereNotTimestampBetweenDate()  that handel where between without casting the column on datatabes  if the format is YYYY-MM-DD hh:mm:ss .
-- before
select * from checklists where created_at between '2022-04-17' and '2022-04-18';
-- after
select * from checklists where created_at between '2022-04-17 00:00:00' and '2022-04-18 23:59:59';

Hi @taylorotwell
I followed the Laravel approach. and I think it's a good addition.
I used where between two dates a lot of with project's dashboard if any notes or ideas about the codeI will change.

@taylorotwell
place take a look at this comment on another PR for one person that suggests about make function whereBetweenDate
and I think that will be worthwhile with this PR #42081 we will have functions that handle a lot of ideas about where the date


Please consider looser license

Would you consider re-licensing under BSD or MIT to allow use in commercial software? Thanks.

We will consider changing the license of protobuf-converter to MIT.

The GPL license is also keeping us from even looking at the project - instead we have started writing our own mapping library (which is kind of stupid)...

MIT would be great for us - when do you think you would decide by? We are at a decision point right now.

We decided switch to the MIT license.

Just made changes to the license - b7b3e65c1bda48a2c8ad92d14749732a035cefa9.


Desktop E2E Test: MM-T4385 Select Tab from Menu

This ticket is to create a test script to automate some testing for the Desktop App.
The testing framework makes use of a few frameworks to successfully automate Desktop App tasks:

Playwright: An E2E testing framework provided by Microsoft that currently has “experimental” support for Electron. Using Playwright, you can access individual BrowserWindows or BrowserViews and automate most functionality provided within those windows. You can also get access to the main Electron process and verify/check functionality in the main process. See here for docs: https://playwright.dev/docs/api/class-electron
RobotJS: A Node.JS Desktop Automation tool that allows us to arbitrary emulate mouse and keyboard inputs. This is used for automation around Electron keyboard shortcuts and the menu bar. It is useful to cover cases that aren’t automatable directly through Playwright (since the menu is not an HTML control). See here for docs: http://robotjs.io/docs/syntax

The test should be written in the file e2e/specs/menu_bar/window_menu.test.js
If the file doesn’t exist, feel free to create it.
If you’re looking for examples, see these PRs:
https://github.com/mattermost/desktop/pull/1841
https://github.com/mattermost/desktop/pull/1843
https://github.com/mattermost/desktop/pull/1846
The test script for this ticket is as follows:

Make sure you have at least 3 servers, each with all of their tabs visible.
Using the menu or keyboard shortcut, go to Window and choose a different tab than the one you’re on.
Repeat for the 3rd tab , and then go back to the original tab.

Expected:
The tab views should change

If you're interested please comment here and come join our "Contributors" community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please  join our "Developers" community channel.
New contributors please see our Developer's Guide.
JIRA: https://mattermost.atlassian.net/browse/MM-40051

I would like to take this up.

I went through the code. I think there is a test already written for this. Isn't https://github.com/mattermost/desktop/blob/c43dfe6002ab56056ffc324d6339bf0ec58fdff6/e2e/specs/menu_bar/window_menu.test.js#L61 solving the exact same issue? I can see it is changing the tabs using keyboard shortcut and checking if the view has been change. @devinbinnie, am I right? Please do let me know if this is not the case.

I am very sorry. Just understood. A server can have multiple tabs like channels, playbook, focalboard etc. Here we are talking about switching tabs and not server. But why do we need 3 active servers for this @devinbinnie?

@shadowshot-x I'm not sure if it's absolutely necessary to have 3 servers, but having other servers configured adds potential points of failure, so it's helpful to make sure the functionality still works correctly when you have other servers.


feat(upgrade) replace vav3 with vav4

Signed-off-by: Mike Young<EMAIL_ADDRESS>PR summary

Replaces VA V3 API with VA V4 API
CR V1 API regenerated with automation for consistency
Tests hand-tweaked to remove non-functioning retries from base SDK
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

What is the current behavior?
VA V3 API is deprecated
What is the new behavior?
VA V4 API is default
Additional fields in some responses
Does this PR introduce a breaking change?

[x] Yes
[ ] No

Other information

Existing applications may need to update package references to vulnerability-advisor/v4

Reg v1 - the region mapping and (more importantly) the default region -> As a user, I'd expect the default region for all SDKs to be consistent.
The commit message, I thought so, but having re-read the docs for semantic-release, I think not. I'll update but that'll cause Travis to re-run which will fail until it's been fixed

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Feat Add Mobile Application Icons

Summary
Added app icons for alpha, beta and production versions.
Implement in package.json scripts to generate each one.
Add generated resource to .gitignore and remove tracking files.
Relevant Issues
Closes https://github.com/iotaledger/firefly/issues/2474
Type of Change
Please select any type below that is applicable to your changes, and delete those that are not.

[ ] Breaking - any change that would cause existing functionality to not work as expected
[x] Chore - refactoring, build scripts or anything else that isn't user-facing
[ ] Docs - changes to the documentation
[ ] Fix - a change which fixes an issue
[x] New - a change which implements a new feature
[ ] Update - a change which updates existing functionality

Testing
Platforms
Please select any platforms where your changes have been tested.

Desktop

[x] MacOS
[x] Linux
[ ] Windows

Mobile

[x] iOS
[x] Android

Instructions
packages/mobile $ yarn
packages/mobile $ yarn icons:alpha
packages/mobile $ yarn icons:beta
packages/mobile $ yarn icons:prod

Checklist
Please tick all of the following boxes that are relevant to your changes, and delete those that are not.

[x] I have followed the contribution guidelines for 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
[ ] I have added or modified tests that prove my changes work as intended
[x] I have verified that new and existing unit tests pass locally with my changes
[x] I have verified that my latest changes pass CI workflows for testing and linting
[ ] I have made corresponding changes to the documentation

replaced by https://github.com/iotaledger/firefly/pull/2502


Right side bar

Hey All,
My Right Side Bar in extension dissappears as the brackets load and open. The bar which has Live Preview and Extension buttons on it.
Any help.
In the bottom in status bar it shows 11 errors.
Thanks
Dani

Hi @danicoolpak17,
can you check that the No Distractions mode is not enabled in View -> No Distractions.
If it isn't, could you paste the errors here? You can see the errors by double clicking the errors-counter in the status bar (Console tab)

Hey @petetnt
I did all that but nothing worked , and some of the extensions where causing problems. As I uninstalled them and restarted the Brackets it showing now and updated it as well.
now it is showing less errors here are the left ones.
ErrorNotification.js:125 Cannot assign Ctrl-Shift-Up to io.emmet.increment_number_by_1. It is already assigned to edit.lineUpwindow.console.error @ ErrorNotification.js:125
ErrorNotification.js:125 Cannot assign Ctrl-Shift-Down to io.emmet.decrement_number_by_1. It is already assigned to edit.lineDownwindow.console.error @ ErrorNotification.js:125
thirdparty.min.js:13 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
ErrorNotification.js:125 Cannot assign Ctrl-Shift-Up to io.emmet.increment_number_by_1. It is already assigned to edit.lineUpwindow.console.error @ ErrorNotification.js:125
ErrorNotification.js:125 Cannot assign Ctrl-Shift-Down to io.emmet.decrement_number_by_1. It is already assigned to edit.lineDownwindow.console.error @ ErrorNotification.js:125
thirdparty.min.js:13 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.

So the problem is now fixed? :+1:  If you are able to tell which extension was causing the problems, it might be useful to report it to the extensions repository.
Those errors are soft errors due to multiple extensions/core trying to bind the same shortcuts which you can ignore.
Closing this as solved, feel free to reopen if the problem still occurs.

Yes, indeed i switched to console and saw it by myself , and managed to removed the extensions which were giving me errors. once i read them I understood that there should be no issue in app itself.
now i am trying to find solution for shortcuts and how to assign them.
Thanks @petetnt


Incorrect column offset for col = 0

Describe the bug
When we have an error on the beginning of the line col: 0, norminette returns col: 1.
Erroneous code
// <--- here error on the second `/` with offset 1
//23456789012345678901234567890

//  v offset = 4
int a(void)
{

}
static int b(int c)
{
}

norminette:
Error: INVALID_HEADER       (line:   1, col:   1):	Missing or invalid 42 header
Error: SPACE_BEFORE_FUNC    (line:   5, col:   4):	space before function name
Error: EMPTY_LINE_FUNCTION  (line:   7, col:   1):	Empty line in function
Error: SPACE_EMPTY_LINE     (line:   7, col:   1):	Space on empty line
Error: NEWLINE_PRECEDES_FUNC (line:   9, col:   1):	Functions must be separated by a newline
Error: SPACE_BEFORE_FUNC    (line:   9, col:  11):	space before function name

expected output:
We should expect col: 0 for: INVALID_HEADER, EMPTY_LINE_FUNCTION and NEWLINE_PRECEDES_FUNC.

Spoiler : Expected output
Error: INVALID_HEADER       (line:   1, col:   0):	Missing or invalid 42 header
[...]
Error: EMPTY_LINE_FUNCTION  (line:   7, col:   0):	Empty line in function
Error: SPACE_EMPTY_LINE     (line:   7, col:   0):	Space on empty line
Error: NEWLINE_PRECEDES_FUNC (line:   9, col:   0):	Functions must be separated by a newline
[...]

Additional infos

OS: Mojave 10.14.6
python --version: Python 2.7.16
norminette -v: norminette 3.3.51

Additional context
I use a plugin linter on my code editor which extract the column on norminette output, but I got a weird result because norminette output returns a wrong col with error on the beginning of the line (col = 1 instead of 0) .

Spoiler : Visual linter on norminette output

Hello,
It looks like the first position the tokenizer takes is the column n1. While it COULD make more sense to use col 0 as a starter, it would also be logic to use 0 as the first line.
However, code editors start counting at line 1 and it would probably confuse people. As a personal note, my code editor consider the first column to be col 1.
I can change that, but I'm not sure I would recommend it.

If we start at the offset 1 then we need to increment each error of one to get the good column

Well I think that's already what it does. I haven't used myself a norminette linter but I've seen a few around and if you consider the first column to be 1 (just as lines) it works perfectly.

I recalculated manually with my hand and not with the lib of my hightligther it works perfectly, thanks for your time 😅. I just saw it was the lib that changes the offset if the line got a tab


Potential Regression: Page Template Dialog Missing

Bug Description
It appears that the dialog that confirms that a user wants to switch page templates if the page is not empty isn't getting triggered. I'm guessing something got lost when adding in custom page templates?
Expected Behaviour
If there's anything on a page and a page template is selected it should show a dialog for confirmation before swapping contents.
Steps to Reproduce
https://user-images.githubusercontent.com/10720454/120397178-ac141600-c2ec-11eb-8d8b-08683e62ebd7.mp4
Screenshots

Additional Context

Plugin Version:
WordPress Version:
Operating System:
Browser:

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

@BrittanyIRL This is actually per spec now -- note that the content of the Page is not being swapped but a new Page with the content is added instead.

ok awesome! I wasn't sure.


Fixed inclusion of helper TextFieldDateHelper into main app

TextFieldDateHelper is not included as a helper in the app because it's
not in the helpers directory. Added a workaround for this as I cannot
figure out how to include it from the Engine without moving it into
helpers directory. I don't really get why TextFieldDateHelper is not in the FormtasticBootstrap::Helpers::InputHelper namespace as these methods
seem to be included fine.
The problem manifests when trying to use a datetime
field, which renders the exception: undefined method `text_field_date'
for #<#<Class..."
Or is there some other way of accomplishing this? I'm running rails 3.1.0, perhaps I should update?

I'm getting this error too
undefined method `text_field_date' for #<#Class:0x00000105d84c48:0x00000105d80e40>
My Gemfile :
gem 'rails', '3.2.0'
gem 'mysql2'
gem "high_voltage"
gem 'jquery-rails'
gem 'devise'
gem 'capistrano'
gem 'capistrano-ext'
gem 'passenger'
gem 'exception_notification', :require => 'exception_notifier'
gem 'state_machine'
gem 'carrierwave'
gem 'less-rails-bootstrap'
gem 'formtastic', :git =>  'git://github.com/justinfrench/formtastic.git', :branch => '2.1-stable'
gem 'formtastic-bootstrap', :git => 'git://github.com/cgunther/formtastic-bootstrap.git', :branch => 'bootstrap2-rails3-2-formtastic-2-1'

I had problems getting rails to parse the date fields (date and time) automatically so I just switched back to using the vanilla formtastic datetime stuff in my branch. https://github.com/sunkencity/formtastic-bootstrap I'd really like to have a datepicker and stuff but I don't have the time to fix this properly now. There's a datepicker for bootstrap that will hopefully be in the next release, maybe I'll give it a shot then and try to provide it as a patch.


Related #68415
Also, a code search found internal/reflectlite/value.go also uses abi.NoEscape, I'm not sure whether it needs to be fixed as well.
Run this program with -gcflags=all=-d=checkptr flag:
package main

import "unique"

func main() {
	unique.Make("")
}

What did you see happen?
fatal error: checkptr: pointer arithmetic result points to invalid allocation

goroutine 1 gp=0x140000021c0 m=0 mp=0x104adcb40 [running]:
runtime.throw({0x104a4a3c6?, 0x0?})
	/Users/xxx/sdk/go1.23rc2/src/runtime/panic.go:1067 +0x38 fp=0x14000108dc0 sp=0x14000108d90 pc=0x104a36208
runtime.checkptrArithmetic(0x104a6abaf?, {0x0, 0x0, 0x104a6abaf?})
	/Users/xxx/sdk/go1.23rc2/src/runtime/checkptr.go:69 +0xa8 fp=0x14000108df0 sp=0x14000108dc0 pc=0x1049dd308
internal/abi.NoEscape(...)
	/Users/xxx/sdk/go1.23rc2/src/internal/abi/escape.go:21
internal/concurrent.(*HashTrieMap[...]).Load(0x104a7d6c0, 0x104a6ab80)
	/Users/xxx/sdk/go1.23rc2/src/internal/concurrent/hashtriemap.go:49 +0x38 fp=0x14000108e40 sp=0x14000108df0 pc=0x104a41468
unique.Make[...]({0x0, 0x0})
	/Users/xxx/sdk/go1.23rc2/src/unique/handle.go:35 +0x98 fp=0x14000108f10 sp=0x14000108e40 pc=0x104a43088
main.main()
	/Users/xxx/Projects/guance/local-dev/cmd/checkptr/main.go:6 +0x2c fp=0x14000108f40 sp=0x14000108f10 pc=0x104a41b4c
runtime.main()
	/Users/xxx/sdk/go1.23rc2/src/runtime/proc.go:272 +0x288 fp=0x14000108fd0 sp=0x14000108f40 pc=0x104a08858
runtime.goexit({})
	/Users/xxx/sdk/go1.23rc2/src/runtime/asm_arm64.s:1223 +0x4 fp=0x14000108fd0 sp=0x14000108fd0 pc=0x104a3c804

What did you expect to see?
Normal exit.

Related Issues and Documentation

runtime/checkptr: fatal error: checkptr: pointer arithmetic result points to invalid allocation #68415 (closed)
cmd/compile,runtime: checkptr false negatives for tiny-alloced objects #38872 (closed)
cmd/compile: SIGSEGV with 'go build' #50968 (closed)
cmd/link: Incorrect symbol linked in darwin/arm64 #58935 (closed)
cmd/compile: internal compiler error: unexpected type uint for 1 #32959 (closed)
cmd/compile/internal/types2: unify.go:449: assertion failed, panic #67872 (closed)
cmd/compile: panic running code that uses generic interface value #51303 (closed)
runtime: SIGBUS in initItab (write to readonly ITab.Fun) on unchecked type assertion with generics #65962 (closed)
cmd/compile: ICE compiling rangefunc for < 1.23 in combination with Cgo #67497 (closed)
proposal: cmd/go: consider adding unsafeptr to go vet during test list #57794 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

Most likely a dup of #68415. Can you try the fix for that issue and see if it fixes your example?

We probably want to disable a nocheckptr function (including runtime functions) into a checkptr function. I think we already do something similar for norace.

Most likely a dup of #68415. Can you try the fix for that issue and see if it fixes your example?

Replacing with the wrapper function, it passed the run.
diff --git a/src/internal/concurrent/hashtriemap.go b/src/internal/concurrent/hashtriemap.go
index 4f7e730d4f..b44c25eb70 100644
--- a/src/internal/concurrent/hashtriemap.go
+++ b/src/internal/concurrent/hashtriemap.go
@@ -46,7 +46,7 @@ type equalFunc func(unsafe.Pointer, unsafe.Pointer) bool
 // value is present.
 // The ok result indicates whether value was found in the map.
 func (ht *HashTrieMap[K, V]) Load(key K) (value V, ok bool) {
-	hash := ht.keyHash(abi.NoEscape(unsafe.Pointer(&key)), ht.seed)
+	hash := ht.keyHash(noescape(unsafe.Pointer(&key)), ht.seed)

 	i := ht.root
 	hashShift := 8 * goarch.PtrSize
@@ -69,7 +69,7 @@ func (ht *HashTrieMap[K, V]) Load(key K) (value V, ok bool) {
 // Otherwise, it stores and returns the given value.
 // The loaded result is true if the value was loaded, false if stored.
 func (ht *HashTrieMap[K, V]) LoadOrStore(key K, value V) (result V, loaded bool) {
-	hash := ht.keyHash(abi.NoEscape(unsafe.Pointer(&key)), ht.seed)
+	hash := ht.keyHash(noescape(unsafe.Pointer(&key)), ht.seed)
 	var i *indirect[K, V]
 	var hashShift uint
 	var slot *atomic.Pointer[node[K, V]]
@@ -182,7 +182,7 @@ func (ht *HashTrieMap[K, V]) expand(oldEntry, newEntry *entry[K, V], newHash uin
 // If there is no current value for key in the map, CompareAndDelete returns false
 // (even if the old value is the nil interface value).
 func (ht *HashTrieMap[K, V]) CompareAndDelete(key K, old V) (deleted bool) {
-	hash := ht.keyHash(abi.NoEscape(unsafe.Pointer(&key)), ht.seed)
+	hash := ht.keyHash(noescape(unsafe.Pointer(&key)), ht.seed)
 	var i *indirect[K, V]
 	var hashShift uint
 	var slot *atomic.Pointer[node[K, V]]
@@ -355,7 +355,7 @@ func newEntryNode[K, V comparable](key K, value V) *entry[K, V] {

 func (e *entry[K, V]) lookup(key K, equal equalFunc) (V, bool) {
 	for e != nil {
-		if equal(unsafe.Pointer(&e.key), abi.NoEscape(unsafe.Pointer(&key))) {
+		if equal(unsafe.Pointer(&e.key), noescape(unsafe.Pointer(&key))) {
 			return e.value, true
 		}
 		e = e.overflow.Load()
@@ -368,16 +368,16 @@ func (e *entry[K, V]) lookup(key K, equal equalFunc) (V, bool) {
 //
 // compareAndDelete must be called under the mutex of the indirect node which e is a child of.
 func (head *entry[K, V]) compareAndDelete(key K, value V, keyEqual, valEqual equalFunc) (*entry[K, V], bool) {
-	if keyEqual(unsafe.Pointer(&head.key), abi.NoEscape(unsafe.Pointer(&key))) &&
-		valEqual(unsafe.Pointer(&head.value), abi.NoEscape(unsafe.Pointer(&value))) {
+	if keyEqual(unsafe.Pointer(&head.key), noescape(unsafe.Pointer(&key))) &&
+		valEqual(unsafe.Pointer(&head.value), noescape(unsafe.Pointer(&value))) {
 		// Drop the head of the list.
 		return head.overflow.Load(), true
 	}
 	i := &head.overflow
 	e := i.Load()
 	for e != nil {
-		if keyEqual(unsafe.Pointer(&e.key), abi.NoEscape(unsafe.Pointer(&key))) &&
-			valEqual(unsafe.Pointer(&e.value), abi.NoEscape(unsafe.Pointer(&value))) {
+		if keyEqual(unsafe.Pointer(&e.key), noescape(unsafe.Pointer(&key))) &&
+			valEqual(unsafe.Pointer(&e.value), noescape(unsafe.Pointer(&value))) {
 			i.Store(e.overflow.Load())
 			return head, true
 		}
@@ -387,6 +387,18 @@ func (head *entry[K, V]) compareAndDelete(key K, value V, keyEqual, valEqual equ
 	return head, false
 }

+// This is just a wrapper around abi.NoEscape.
+//
+// This wrapper is necessary because internal/abi is a runtime package,
+// so it can not be built with -d=checkptr, causing incorrect inlining
+// decision when building with checkptr enabled, see issue #68511.
+//
+//go:nosplit
+//go:nocheckptr
+func noescape(p unsafe.Pointer) unsafe.Pointer {
+	return abi.NoEscape(p)
+}
+
 // node is the header for a node. It's polymorphic and
 // is actually either an entry or an indirect.
 type node[K, V comparable] struct {
diff --git a/test/fixedbugs/issue68511.go b/test/fixedbugs/issue68511.go
new file mode 100644
index<PHONE_NUMBER>..9ef090ecb9
--- /dev/null
+++ b/test/fixedbugs/issue68511.go
@@ -0,0 +1,13 @@
+// run -gcflags=all=-d=checkptr
+
+// Copyright 2024 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main
+
+import "unique"
+
+func main() {
+	unique.Make("")
+}

Ok, then this should be fixed in the next rc or the final release.


Missing: List private organizations a user belongs

There's no way in this API to list private organization membership.  Currently, one can only fetch public membership in this library.  This is making use of the GitHub API to list public organization memberships.
Solution: Make use of the GitHub API to list my organization membership.

It would be good to have this in addition to listing public memberships.

I take that back.  It appears to be included in GHMyself class.


vagrant up error

is it still an active repo?
because ive try build it this is the error message ive got:
`
vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ubuntu/trusty64' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing VBoxManage, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "7a0a3b1e-4f83-40f6-b535-8462825dd8c1", "--type", "headless"]
Stderr: VBoxManage.exe: error: Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole`

Wow, no sorry, I haven't maintained this in a long time as NativeScript install has become a lot simpler to install.    Was there some reason you wanted to try and drop it into a vm?


Updating dependencies breaks the app.

Hi Noam,
Cloning the app and running it works. Updating the dependencies (npm update) leads to varios errors when trying to run or build it.
Just to let you know...
Thanks,
Alex

Thanks - I'm on it

Hi @alexchern, fixed it in latest commit - needed to update a few stuff with @mui and replace ts-node-dev with tsx

Work like a charm... Thanks.
P.S.
I've sent you a message on Linked (a question about deployment, which does not belong here...) If you have a minute, can you call me at<PHONE_NUMBER>?


Allow tiles to be objects as well as strings

I was surprised that this wasn't already allowed.

Which doesn't necessarily mean it's a good idea.

I think it's a good idea, oversight on my part. I'd definitely expect this to work.


Rebuilded RenderDoc remote server android APK file size is much bigger than original

Description
Hi,
I've followed android apk compiling steps described here
and managed to get perfectly working org.renderdoc.renderdoccmd.arm64.apk but file size is different (~69mb) than the same file included with precompiled RenderDoc binaries (~6mb) available for download on RenderDoc website (Latest Release: v1.5 - 9 Oct, 2019)
Am I missing some preprocessor or linking definitions?
Steps to reproduce
Building for android:
mkdir build-android
cd build-android
cmake -DCMAKE_BUILD_TYPE=Release -DUSE_INTERCEPTOR_LIB=On -DLLVM_DIR=path/to/llvm/install_arm64/lib/cmake/llvm -DBUILD_ANDROID=On -DANDROID_ABI=arm64-v8a ..
make -j8
Environment

RenderDoc version: Branch v1.x, commit:  a94f238e37cfe2f142093eb8e5da7775abaa88c6
Operating System: Windows WSL
API: GL

The APKs in all official builds are stripped of symbols which are included in libraries by default, deliberately to save space. This doesn't otherwise affect
Please note due to the inherent instability and unreliability of the Android platform I cannot give any support for any builds you make. It would be too easy for a problem to be caused by a misconfiguration or compiler bug in your build environment.


Run callback for shutdown also when container is already shut down

see #1561

... and cherry-picked to 2.4.x
@timbq,
thank you for contribution; looking forward for more!


buildArchive?

Hi @tydeu,
I recently upgraded to the latest Lean v4.6.0-rc1 and found that now I have to manually add the OS and tar.gz to buildArchive?. Just wanted to double-check if that's expected.
https://github.com/lean-dojo/LeanCopilot/blob/4bc4e6c09689472e5523b0acc724c666baf51e6e/lakefile.lean#L65
Please see these two commits:
https://github.com/lean-dojo/LeanCopilot/commit/965d4ba033a10735fd6519b94421843d2f23c704
https://github.com/lean-dojo/LeanCopilot/commit/4bc4e6c09689472e5523b0acc724c666baf51e6e

@yangky11 With 4.6.0-rc1, the default build archive name now includes the architecture, so ideally LeanCopilot should no longer need to customize it. As part of this change, the build archive configuration option was changed to be a complete override, so that users can custom customize this however they want should the default be insufficient. More details are available in the related PR (leanprover/lean4#3226).

thx


Update GSP capacity every month

Detailed Description
make sure we are using the most up to date GSP capacity values
Context
Good to make sure the most recent gsp capacity are used
Possible Implementation

Move script into library and have main function to run it
Add test to check it works, start with different values and then update
Add infrastrucutre code to run this service once a month

This is now done automatically


Is there a way to export the data from Cayley DB?

I am in a need to export the data from the Cayley DB. Is there even an option like that? If so, how would I achieve it?

Yes, there is a cayley dump command for this. Check help for command line flags for more details.


lua 5.2

While I know that you specifically mentioned lua 5.1 to be linked, I wonder about Lua 5.2 - is it planned to support a higher version of lua?

This is a duplicate of issue #19, unless you actually meant Lua 5.3?


Feature: Add/Respect option to use trailing comma

Kotlin 1.4 supports trailing commas. They can be enabled in Idea's Settings->Editor->Code Style->Kotlin->Other.
It would be great if the plugin would respect the setting and generate trailing comma, so instead:
User(
  name = "",
  phone = "",
  address = ""
)

it would generate
User(
  name = "",
  phone = "",
  address = "",
)

You can add trailing comma without option. See here:
https://github.com/suusan2go/kotlin-fill-class/issues/43#issuecomment-777088870


failed: could not pull base image image adoptopenjdk/openjdk11:slim: https://auth.docker.io/token dial tcp: i/o timeout

How to get rid of this issue while working with Camel k in KIND cluster?
failed: could not pull base image image adoptopenjdk/openjdk11:slim: Get \"https://auth.docker.io/token?scope=repository%3Aadoptopenjdk%2Fopenjdk11%3Apull&service=registry.docker.io\": dial tcp: i/o timeout
I upgraded docker desktop on my MacBook and restarted multiple times. I have no proxy setting. This is my home wifi and that GET endpoint works fine in my browser in base machine.
Is there some work around. How can I make the IntegrationKit use my localhost docker registry to pull that base image?

It seems the registry points to docker. In order to change that, you can edit the IntegrationPlatform or install it from scratch to point to your local registry. The operation is described in https://camel.apache.org/camel-k/1.9.x/contributing/local-development.html#local-minikube

You can cache the openjdk11 image in podman and push it to your registry
podman tag adoptopenjdk/openjdk11:slim $REGISTRY/<namespace>/openjdk11:slim
podman push $REGISTRY/<namespace>/openjdk11:slim --tls-verify=false

Then you can install camel-k and set the base-image
kamel install --base-image=<internal registry address:port>/<namespace>/openjdk11:slim

@squakez can this be closed, since it's not an issue in the code ?
@bjethwan there is a camel-k zulip chat if you would like a more interactive way to ask questions.

I'll let @bjethwan close if he's happy with the resolution.


QUESTION: Dynamic menu items from controllers

What's the best way to add to the menu item on the fly from a controller? For example, I have 10 courses I want to append under 'Course Manager' and when 'Course 1' is clicked I want to display Chapters under Course 1.
Thanks

@dunfy Only getting started with this myself but not sue if this might help https://github.com/jeroennoten/Laravel-AdminLTE#6113-menu-configuration-at-runtime

@Nardusgc I tried that by listening to the event in the controller, but I suspect it's already fired by the time the controller action is executed.
Event::listen(BuildingMenu::class, function (BuildingMenu $event) {             $event->menu->add([                 'text' => 'Blog',                 'url' => 'admin/blog',             ]);         });
Guessing it's not possible, I'll have to dig in to the code later if nobody knows.

I guess the only way is to inspect the route and parameters and assign menu items based on the route that's fired? Only problem is it's going to duplicate code and calls to the database.

I've tested it some time ago it worked with simple controllers, you only need to load the Dispatcher for it.

@REJack we should work on our wiki with more examples... :)

@REJack @lacodimizer sorry guys, documentation is fine, I forgot to include use JeroenNoten\LaravelAdminLte\Events\BuildingMenu;
Added that in and the event worked from within the controller, my bad.
Cheers.


AppopticsAPM disabled due to: require failed: MODULE_NOT_FOUND

Here is the error message :
  appoptics:error Can't load bindings +0ms
  appoptics:error AppopticsAPM disabled due to: require failed: MODULE_NOT_FOUND +2ms
  appoptics:error api key _stats conflicts, ignoring +0ms

The key is valid (if I remove the APPOPTICS_SERVICE_KEY, I have a no valid service key), this happens with the key.
First line of App.js is require('appoptics-apm');
Is it possible to use import syntax instead of require ?

is there any chance you're running on either windows or mac? the agent does not run in either environment.
we do not yet support using import.

is there any chance you're running on either windows or mac? the agent does not run in either environment.
we do not yet support using import.

yes, my test environment was on mac -> i'll test on staging which is linux based

yes, my test environment was on mac -> i'll test on staging which is linux based

we probably should detect that in the agent and issue a better message. thanks for the followup.

we probably should detect that in the agent and issue a better message. thanks for the followup.

or simply write it in the documentation ;)

or simply write it in the documentation ;)

it is on the appoptics website, and the readme, near the top, mentions that linux is required. maybe it could add that windows and mac are not supported too.

it is on the appoptics website, and the readme, near the top, mentions that linux is required. maybe it could add that windows and mac are not supported too.


🚧 [jbang] Add it tests

Description

Target

[ ] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[ ] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[ ] I checked that each commit in the pull request has a meaningful subject line and body.

[ ] I formatted the code using mvn -Pformat,fastinstall install && mvn -Psourcecheck

thanks @oscerd I added licenses and now I'm using versions from parent

This is a great work to make testing camel-cli possible. A bit more polish and cleanup and keep on working on this.
As I am adding more features to jbang as well, then I can start to add tests for the new stuff.

This is a great work to make testing camel-cli possible. A bit more polish and cleanup and keep on working on this.
As I am adding more features to jbang as well, then I can start to add tests for the new stuff.

thanks a lot @davsclaus

@mcarlett let us know if you think this is becoming ready to be merged. For more tests you can then do new PRs.
Also if you would write a readme.md file in the jbang-it folder for how to run the tests and use this, if its not super simple to do.

added README file in both new modules, I think this is a good stating point for adding new tests, thanks @davsclaus , I think the PR is ready, let me know if I can improve something, thanks


Call configureImages when properties are set programatically

Partially fixed #451 (still an issue with the placeholder), but that fixed the images update when using AnimatableTextField programmatically.

          2 Warnings

:warning:
Consider adding supporting documentation to this change. Documentation can be found in the docs directory.

:warning:
Consider adding / updating the demo ap.

  Generated by :no_entry_sign: Danger

Travis failing due to iOS 9.3, device not found. Not sure why it's suddenly breaking

@JakeLin Can you take a look at this? 🙃