cmd/link: on Windows, generate dynamic base executables also on amd64 and x86

As part of windows/arm support, in CL125468 cmd/ld has learnt how to generate dynamic base executables, that is binaries that can be relocated at any virtual memory address. This allows the Windows kernel to turn on ASLR.
The support has been activated only on windows/arm. It should be activated also on amd64 and x86, so that Go binaries on Windows can benefit from ASLR.
/cc @alexbrainman

I'm assuming this is still unplanned, and not scheduled for 1.14? Is there anything I could do to help get this merged in, the CL looks very straightforward, I guess just the original submitter of the CL hasn't replied in months?

When the trybots were run for the CL mentioned above, the CL failed on Windows systems.  Somebody will need to debug that.

I'm assuming this is still unplanned, and not scheduled for 1.14? Is there anything I could do to help get this merged in, the CL looks very straightforward, I guess just the original submitter of the CL hasn't replied in months?

I would like this implemented.
And we don't need John to finish his CL. We could create a new CL.
@capnspacehook, why do you want this change? How will you use it?
The only issue is still bothering me. I think this change should be default, not hidden behind "never used during day to day work" flag. Otherwise people will never use this facility.
On the other hand, having Go code always load at the same address is often useful when debugging.
Perhaps we should make this default, and allow for some go command flag to make Go code use fixed addresses. John's CL selected to use -buildmode=pie vs -buildmode=exe to control this. But -buildmode=exe is default on windows now. Should we make -buildmode=pie default on windows? I think it will be confusing to windows users. They don't know what pie is comparing to exe. Ian?
/cc @zx2c4 for input.
Thank you.
Alex

Indeed this should be turned on by default. Most debuggers and reverse engineering tools can rebase fine and figure stuff out. Recent versions of IDA Pro do this a lot faster than it used to be too.

Indeed this should be turned on by default. Most debuggers and reverse engineering tools can rebase fine and figure stuff out.

I am fine with that, if others do not object.
@ianlancetaylor , if we want to make all Windows executables use random addresses ( https://en.wikipedia.org/wiki/Address_space_layout_randomization ) by default, do we need proposal here?
Thank you.
Alex

It doesn't need a proposal, but I'm not sure it's the right thing to do.  What do other compilers do?  In particular, what do GCC and clang do?

@alexbrainman I am really interested in the added security benefits of PIE windows executables; as you mentioned ASLR and inhibiting reverse engineering more.
As for what to do, I agree that PIE mode for Windows executables should be default. But I think using the pie and exe buildmodes would be confusing, maybe buildmode=exe would stay the default when GOOS=windows, but a flag could be introduced that makes binaries load at a fixed address for debugging?

@alexbrainman I am really interested in the added security benefits of PIE windows executables; as you mentioned ASLR and inhibiting reverse engineering more.

ASLR, yes. "Inhibiting reverse engineering" - what?

Sorry, I just meant ASLR will make reverse engineering a bit more difficult, if I understand correctly. Now that I think about it, I think I got RE mixed up with binary exploitation... my bad

What do other compilers do? In particular, what do GCC and clang do?

I do not know about clang. But I tried Mingw GCC C, and Microsoft C and C#.
According to https://stackoverflow.com/questions/8554014/how-to-know-whether-a-dll-uses-aslr-or-not
GCC does not produce ASLR binaries by default:
C:\>dumpbin /headers mingw.exe | sed "/OPTIONAL HEADER VALUES/,+30!d"
OPTIONAL HEADER VALUES
             20B magic # (PE32+)
            2.30 linker version
            1E00 size of code
            3800 size of initialized data
             A00 size of uninitialized data
            14E0 entry point<PHONE_NUMBER>4014E0)
            1000 base of code
          400000 image base<PHONE_NUMBER>400000 to<PHONE_NUMBER>411FFF)
            1000 section alignment
             200 file alignment
            4.00 operating system version
            0.00 image version
            5.02 subsystem version
               0 Win32 version
           12000 size of image
             400 size of headers
           1B418 checksum
               3 subsystem (Windows CUI)
               0 DLL characteristics
          200000 size of stack reserve
            1000 size of stack commit
          100000 size of heap reserve
            1000 size of heap commit
               0 loader flags
              10 number of directories
               0 [ 0] RVA [size] of Export Directory
            8000 [ 7C4] RVA [size] of Import Directory
               0 [ 0] RVA [size] of Resource Directory
            5000 [ 27C] RVA [size] of Exception Directory
               0 [ 0] RVA [size] of Certificates Directory

C:\>

But both Microsoft C and C# both generate ASLR by default:
C:\>dumpbin /headers ms_c.exe | sed "/OPTIONAL HEADER VALUES/,+30!d"
OPTIONAL HEADER VALUES
             20B magic # (PE32+)
           14.16 linker version
           13200 size of code
            D200 size of initialized data
               0 size of uninitialized data
            1388 entry point<PHONE_NUMBER>001388)
            1000 base of code
       140000000 image base<PHONE_NUMBER>000000 to<PHONE_NUMBER>023FFF)
            1000 section alignment
             200 file alignment
            6.00 operating system version
            0.00 image version
            6.00 subsystem version
               0 Win32 version
           24000 size of image
             400 size of headers
               0 checksum
               3 subsystem (Windows CUI)
            8160 DLL characteristics
                   High Entropy Virtual Addresses
                   Dynamic base
                   NX compatible
                   Terminal Server Aware
          100000 size of stack reserve
            1000 size of stack commit
          100000 size of heap reserve
            1000 size of heap commit
               0 loader flags
              10 number of directories
               0 [ 0] RVA [size] of Export Directory

C:\>dumpbin /headers ms_csc.exe | sed "/OPTIONAL HEADER VALUES/,+30!d"
OPTIONAL HEADER VALUES
             10B magic # (PE32)
           48.00 linker version
             600 size of code
             800 size of initialized data
               0 size of uninitialized data
            24DE entry point (004024DE)
            2000 base of code
            4000 base of data
          400000 image base (00400000 to 00407FFF)
            2000 section alignment
             200 file alignment
            4.00 operating system version
            0.00 image version
            4.00 subsystem version
               0 Win32 version
            8000 size of image
             200 size of headers
               0 checksum
               3 subsystem (Windows CUI)
            8540 DLL characteristics
                   Dynamic base
                   NX compatible
                   No structured exception handler
                   Terminal Server Aware
          100000 size of stack reserve
            1000 size of stack commit
          100000 size of heap reserve
            1000 size of heap commit
               0 loader flags
              10 number of directories

C:\>

Alex

I rebuilt a few of the musl.cc toolchains with this patch applied on top of the current musl.cc binutils 2.33.1. Please test and confirm this works, and if so, this patch will be included in subsequent releases. I won't be updating this comment when that happens; check the homepage.

0002-binutils-ld-19011-attachment.patch -- minor tweaks from original

If GCC doesn't generate PIE by default, it's not obvious to me that go should.  Clearly we should make sure that go build -buildmode=pie builds a PIE.  But I don't yet see why go build (which for a main package is equivalent to go build -buildmode=exe) should build a PIE.
The question here is not whether PIE is more secure.  It's what the default behavior should be.

If GCC doesn't generate PIE by default, it's not obvious to me that go should.

I don't think you should dismiss the fact that Microsoft compilers do generate PIE by default. Most Windows executables are built by Microsoft tools.

Clearly we should make sure that go build -buildmode=pie builds a PIE.

Sure, we could do that. But I don't see why Go developers would use this command option. ASLR is supposed to help make Windows more secure. Developers don't care about their users OS security. It is OS admin responsibility to make system secure. Developers will use whatever default build mode is.
Also current windows-arm version of Go already uses PIE by default
https://go-review.googlesource.com/c/go/+/125648
I think our current go command flags are just confusing in that area.
Alex

The question here is not whether PIE is more secure. It's what the default behavior should be.

I can't see a compelling reason at all not to produce PIE executables for all Go users, vanilla and cgo, as the default option. Sure we can have a switch to disable PIE for the weird cases where people don't want it, but as @alexbrainman points out, PIE (and DEP, for that matter) is the default situation on Windows since a very long time. Differing from that and providing a less secure experience with Go out of the box is bad news. The fact that Go was producing 90s-style executables by default certainly caught me by surprise.

Alright, WireGuard for Windows 0.0.35, just now released to users, enables DEP and high-entropy ASLR, on both amd64 and 386. I'll report back if anybody indicates awful breakage -- the largeish userbase is usually pretty reactive. I suspect things will be mostly okay.

@alexbrainman Fair enough.
Does anybody think it would be a bad idea to change the default to be PIE on Windows?
Does anybody have a suggestion as to how it should work?  Would we keep the current -buildmode options and change the default for a main package to be -buildmode=pie, while -buildmode=exe would continue to build a non-PIE?

Probably the question of the default should be a separate issue.

ARM does it unconditionally. What if we just did it that way?
Or do you think providing the option is important?

Does anybody think it would be a bad idea to change the default to be PIE on Windows?

I think we should create new proposal for that, and see what happens.
The only downside I see, we might discover some bugs.

Does anybody have a suggestion as to how it should work? Would we keep the current -buildmode options and change the default for a main package to be -buildmode=pie, while -buildmode=exe would continue to build a non-PIE?

That sounds good to me. As long as -buildmode=pie is the default, and users don't need to type it, I think we will be alright.

ARM does it unconditionally. What if we just did it that way?
Or do you think providing the option is important?

I have an impression that we don't have choice for ARM.
And I think it is important, that we have easy way to disable ASLR if required. I would use that myself while debugging. And, if we follow Ian's suggestion, it is just -buildmode=exe option away.
Alex

AFAIK, Windows ARM bins have to be relocatable. And I think Ian's suggestion makes a lot of sense

Probably the question of the default should be a separate issue.

Done: #35192

Change https://golang.org/cl/203602 mentions this issue: cmd/link: enable ASLR on Windows executables

This CL is now called "cmd/link: allow ASLR on Windows executables", and I've moved the default stuff to https://go-review.googlesource.com/c/go/+/203606 .


unable to find Jenkins folder in collector folder

Hi I am setting up Hygieia for a devops solution in Jenkins. I am unable to the Jenkins folder inside collector folder as given in the document. Please help me to find the same.

@Q3188 We are in the mid of migrating the components of Hygieia into their own repositories. Jenkins collector has its own repository now and here is the link to the same hygieia-build-jenkins-collector .. We will get the documentation fixed ASAP.

@Q3188 The documentation has been updated. Please check the latest documentation


registerEndpoint does not expose endpoint to $fetch from @nuxt/test-utils (ofetch)

Environment

Operating System: Windows_NT
Node Version:     v20.16.0
Nuxt Version:     3.13.1
CLI Version:      3.13.1
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      compatibilityDate, devtools, modules, $test
Runtime Modules<EMAIL_ADDRESS>Build Modules:    -

Reproduction
A minimal repro showing that nitro's (I think) $fetch works while the one from test-utils module (ofetch/happy-dom) does not
Describe the bug
Using $fetch as in the examples from the documentation will not be able to find registered server routes in the tests. The problem is that in case you want to render component/page in the tests, it will use $fetch from happy-dom which cannot find these registered routes.
Additional context
No response
Logs
> nuxt-app@ test C:\Users\User\Desktop\projects\testing-testing
> vitest

 DEV  v2.0.5 C:/Users/User/Desktop/projects/testing-testing

stdout | tests/app.nuxt.test.ts
<Suspense> is an experimental feature and its API will likely change.

stdout | tests/app.nuxt.test.ts > App 2 > fetch that works with registerEndpoint
fetch response { data: { some: 'test' } }

 ❯ tests/app.nuxt.test.ts (2)
   ❯ App (1)
     × fetch that doesn't work with registerEndpoint
   ✓ App 2 (1)
     ✓ fetch that works with registerEndpoint

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
 FAIL  tests/app.nuxt.test.ts > App > fetch that doesn't work with registerEndpoint
FetchError: [GET] "/some/test/endpoint": <no response> Failed to parse URL from /some/test/endpoint
 ❯ $fetchRaw2 node_modules/.pnpm/ofetch@1.3.4/node_modules/ofetch/dist/shared/ofetch.37386b05.mjs:231:14
 ❯ Module.$fetch2 node_modules/.pnpm/ofetch@1.3.4/node_modules/ofetch/dist/shared/ofetch.37386b05.mjs:268:15
 ❯ tests/app.nuxt.test.ts:17:26
     15| describe('App', async () => {
     16|     it('fetch that doesn\'t work with registerEndpoint', async () => {
     17|         const response = await $utilsFetch('/some/test/endpoint');
       |                          ^
     18|         console.log('utils response', response);
     19|         expect(JSON.stringify(response)).toBe(JSON.stringify({data: {

Caused by: TypeError: Failed to parse URL from /some/test/endpoint
 ❯ $fetchRaw2 node_modules/.pnpm/ofetch@1.3.4/node_modules/ofetch/dist/shared/ofetch.37386b05.mjs:222:26

Caused by: TypeError: Invalid URL
 ❯ new URL node_modules/.pnpm/happy-dom@15.7.4/node_modules/happy-dom/src/url/URL.ts:9:15
 ❯ $fetchRaw2 node_modules/.pnpm/ofetch@1.3.4/node_modules/ofetch/dist/shared/ofetch.37386b05.mjs:222:32
 ❯ $fetchRaw2 node_modules/.pnpm/ofetch@1.3.4/node_modules/ofetch/dist/shared/ofetch.37386b05.mjs:231:20

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯Serialized Error: { code: 'ERR_INVALID_URL', input: '/some/test/endpoint' }
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯

 Test Files  1 failed (1)
      Tests  1 failed | 1 passed (2)
   Start at  16:25:43
   Duration  3.10s (transform 900ms, setup 725ms, collect 1.12s, tests 16ms, environment 493ms, prepare 464ms)

 FAIL  Tests failed. Watching for file changes...
       press h to show help, press q to quit
Cancelling test run. Press CTRL+c again to exit forcefully.

 ELIFECYCLE  Test failed. See above for more details.

By the suggestion of @dosu I split into two files and added three tests in each, but now it cannot even setup, it just times out after 10 seconds because it cannot setup.
If I just add createContext() at least it will setup, hovewer, it still cannot get the mocked response.
For the index page I found that useAsyncData will return an empty response (no data to be tested for the app) and onMounted the $fetch will turn out in an error.

found that you can just mock $fetch or fetch with vitest through stubGlobal or if you have it in a function, then you can mock the function with vi.mock


Any way to search specific subdirectories?

I would like to search specific subdirectories under cwd (e.g., 'src', 'include') and exclude others (e.g., 'bin', 'doc', etc.)
Is there any way to configure easygrep to do that?
MV

Try setting some exclusions. See EasyGrepFilesToExclude. This is only currently supported for grep, ack, and ag.

I would've preferred a "positive" vs. a "negative" selection (search this vs. don't search that,) but I'll give that option a try
Thanks
MV


Simplify OIDC configuration

For remote deployments it is siffucient to set OCIS_URL and PROXY_HTTP_ADDR.
We should be able to clonfigure all related services to use a specific OpenID identity provider using a single env var as well.
OIDC_ISSUER sounds about right. It could go into

STORAGE_OIDC_ISSUER
PROXY_OIDC_ISSUER
WEB_OIDC_AUTHORITY
STORAGE_LDAP_IDP

Not related:

KONNECTD_ISS because konnetd is to be replaced with OIDC_ISSUER

We could even make the proxy forward /.well-known/openid-configuration to the actual issuer (taking into account WEB_OIDC_METADATA_URL which should probably be called OIDC_CONFIGURATION_URL or OPENID_CONFIGURATION_URL)?
@fschade I see OIDC_HOST in k6 ... is that the OIDC_ISSUER?
Opinions?

Yes it is, OIDC_ISSUER sounds good to me. If we can decide this as a name I could change it in the cdperf too. Thanks for taking care

Yes it is, OIDC_ISSUER sounds good to me. If we can decide this as a name I could change it in the cdperf too. Thanks for taking care

We could even make the proxy forward /.well-known/openid-configuration to the actual issuer (taking into account WEB_OIDC_METADATA_URL

This might have security implications. AFAIK  the openid-configuration should be served from the idp-domain. A HTTP-Redirect should be okay though.

We could even make the proxy forward /.well-known/openid-configuration to the actual issuer (taking into account WEB_OIDC_METADATA_URL

This might have security implications. AFAIK  the openid-configuration should be served from the idp-domain. A HTTP-Redirect should be okay though.

Renaming in to issuer is done in cdperf. Thanks for pointing this out
https://github.com/owncloud/cdperf/blob/6f9b9f739564458a3ac9b7e8ce1d73e770a1cc03/scripts/cdperf#L12

Renaming in to issuer is done in cdperf. Thanks for pointing this out
https://github.com/owncloud/cdperf/blob/6f9b9f739564458a3ac9b7e8ce1d73e770a1cc03/scripts/cdperf#L12

we have OCIS_OIDC_ISSUER which can be used to set the url of the external idp


Fix of build path and apk default name

Hi, just changed the build path where apk is and the default apk name is MainActivity-* ever.
Hope it helps!

This is going to change from installation to installation, which is why the docs are worded the way they are. For example, on my machine android builds to platforms/android/build/outputs/apk/


Use ryu for faster float-to-string conversion

In https://github.com/geoarrow/geoarrow-rs/pull/788 @b4l prototyped a custom implementation of writing to WKT, and he said

It is up to twice as fast as wkt and geo.

It doesn't look like this wkt crate uses ryu, and so I'm curious if that's a large part of why his implementation is faster. https://github.com/dtolnay/ryu seems to be a very popular library, and so it doesn't seem like an unreasonable dependency.
It looks like it should be relatively easy to swap in ryu and test if that's significantly faster? It looks like https://github.com/georust/wkt/blob/c3088cdc730c4d643b8535513ddcc3b0efca5e95/src/types/coord.rs#L37-L44 is the main place where floats are converted to strings.
I suppose the primary issue with using ryu is that ryu's Float trait supports only f32 and f64, while WktNum supports a broader range of types, including integers.
Assuming that ryu is indeed quite a bit faster, I think it's worth special casing f32 and f64 if we can, assuming that most real world data will be f64.
(For maintainability reasons, if geoarrow-rs can use wkt directly, that's much more appealing to me than rolling our own).
Any thoughts?

I think that sounds really promising. I’d prefer not to lose support for integer geometries though. I wonder if there’s a way to accommodate both?On Sep 24, 2024, at 19:22, Kyle Barron @.***> wrote:
In geoarrow/geoarrow-rs#788 @b4l prototyped a custom implementation of writing to WKT, and he said
It is up to twice as fast as wkt and geo.
It doesn't look like this wkt crate uses ryu, and so I'm curious if that's a large part of why his implementation is faster. https://github.com/dtolnay/ryu seems to be a very popular library, and so it doesn't seem like an unreasonable dependency.
It looks like it should be relatively easy to swap in ryu and test if that's significantly faster? It looks like https://github.com/georust/wkt/blob/c3088cdc730c4d643b8535513ddcc3b0efca5e95/src/types/coord.rs#L37-L44 is the main place where floats are converted to strings.
I suppose the primary issue with using ryu is that ryu supports only f32 and f64, while WktNum supports a broader range of types, including integers.
Assuming that ryu is indeed quite a bit faster, I think it's worth special casing f32 and f64 if we can, assuming that most real world data will be f64.
(For maintainability reasons, if geoarrow-rs can use wkt directly, that's much more appealing to me than rolling our own).
Any thoughts?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

This was discussed a little in https://github.com/rust-lang/rust/issues/52811.

I think that sounds really promising. I’d prefer not to lose support for integer geometries though. I wonder if there’s a way to accommodate both?

I'm not exactly sure how that would work because the existing implementation is using a blanket trait implementation.
So if I try to implement something also on ryu::Float:
impl<T> fmt::Display for Coord<T>
where
    T: WktNum + fmt::Display,
{
    fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
        write!(f, "{} {}", self.x, self.y)?;
        if let Some(z) = self.z {
            write!(f, " {}", z)?;
        }
        if let Some(m) = self.m {
            write!(f, " {}", m)?;
        }
        Ok(())
    }
}

impl<T> fmt::Display for Coord<T>
where
    T: WktNum + ryu::Float + fmt::Display,
{
    fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
        write!(f, "{} {}", self.x, self.y)?;
        if let Some(z) = self.z {
            write!(f, " {}", z)?;
        }
        if let Some(m) = self.m {
            write!(f, " {}", m)?;
        }
        Ok(())
    }
}

it errors with:
conflicting implementations of trait `std::fmt::Display` for type `types::coord::Coord<_>`

Is there some way to use a single implementation and tell whether that T implements ryu::Float?

I don't think we can solve it as phrased.
But maybe we could achieve what we (fast float WKT while still allowing integer WKT) doing something like we did in geo for our integer vs. float Kernel implementations:
https://github.com/georust/geo/blob/68f80f851879dd58f146aae47dc2feeea6c83230/geo/src/lib.rs#L350

That would essentially remove the blanket implementation and implement on the raw number types instead?

Right - I think that's a fair trade.
I have yet to encounter someone actually using any of our geo libraries for an exotic numeric type, but I'd be interested in seeing how hard it is to add support for them (or to give them the tools to add support for themselves) if we happen to break things for them.

To be clear, I'm suggesting we could break things for exotic numeric types and wait to see if anybody cares before we put a bunch of effort into supporting it.


Fix mod causing players to log in at incorrect position. Update some icons and block occupancy issues.

This commit fixes a previous regression which caused players to log in at 0,0 each time they logged in. The root of the problem seems to have been objects in the unity asset bundle that were mistakenly marked as active.
This commit does include prior changes by @padmanek
I've tested it locally, but more testing would always be appreciated.
Icons for the small pen and animal feeder were updated to include the green background common to the rest of the mod. They also follow the new "FullIcon" format, which is supposed to be standard now. They match the orthographic 22.5 degree angle camera on vanilla-game icons.
Occupancy was fixed for the small pen, which had some negative (and thus ignored values). This may cause the object to shift in existing saves.
README.md was changed to add a change log and some version numbers and dates. If that versioning scheme isn't desired, feel free to change the number. I think it helps add some clarity to have numbers on them.
One final note, the Client folder doesn't need to be uploaded to eco.mod.io, it's for developers who need to create a new unityasset bundle only.

Hello @andykorth, thank you for your fix, i'm not able to test it myself since my gamingrig is dead. Maybe i'll create a beta branch and ask people for submitting reports before pushing to final release on mod.io


Cannot use acorn to encrypt secret for acorn-image-system namespace

We used to be able to put builder dockerhub credentials in acorn-image-system, but now when we try to encrypt we see the following error:
❯ acorn secret encrypt -j acorn-image-system
  ✗  ERROR:  projects.api.acorn.io "acorn-image-system" not found

However, encryption keys are still generated:
❯ k get secrets -n acorn-system acorn-image-system-3b1be871-ae7-enc-keys
NAME                                       TYPE     DATA   AGE
acorn-image-system-3b1be871-ae7-enc-keys   Opaque   2      19h

Using these manually via acorn secret encrypt --public-key YuqdCCLBS22HBTZjWh1R2dVZoQm4ALINKS_-Qvh6ERI results in a properly encrypted secret, but when that secret is added to the cluster, acorn fails to decrypt it.
test   test        ghcr.io/drpebcak/test:latest       1         1            33m ago               [defined: decrypting acorn credential acorn-image-system/index.docker.io: Unable to decrypt values: pubkey YuqdCCLBS22HBTZjWh1R2dVZoQm4ALINKS_-Qvh6ERI: Decryption Key Not Available on this Cluster, pubkey YuqdCCLBS22HBTZjWh1R2dVZoQm4ALINKS_-Qvh6ERI: Decryption Key Not Available on this Cluster] [controller: [routes.go:51] decrypting acorn credential acorn-image-system/index.docker.io: Unable to decrypt values: pubkey YuqdCCLBS22HBTZjWh1R2dVZoQm4ALINKS_-Qvh6ERI: Decryption Key Not Available on this Cluster, pubkey YuqdCCLBS22HBTZjWh1R2dVZoQm4ALINKS_-Qvh6ERI: Decryption Key Not Available on this Cluster]

This has been observed against v0.6.0-49-gfdb36e57.

Deprioritizing since we have a solution in place


Recommend default directory paths for .sfz files

I'm working on a project: https://studiorack.github.io/studiorack-site/ which allows audio plugins to be installed via:

Website (manual download of .zip files)
App (automatically download/extract/move to plugin directories)
Command line tool (automatically download/extract/move to plugin directories)

Problem
I downloaded several different sfz packs and extracted the folders to directories on my harddrive. When opening sfz players such as sfizz and sforzando, I had to manually find/navigate to the extracted files. The default directory for each player was different:

sforzando defaults to: /Library/Application Support/Plogue
sfizz defaults to: /Users/username/Documents/SFZ instruments

This inconsistency also means that SFZ players cannot scan the default folder and automatically detect .sfz files. Requiring manual effort by the user.

As a SFZ author, I want to distribute an installer, which automatically downloads/extracts/moves/installs the pack into a recommended sfz default directory, saving users time and avoiding any manual mistakes
As a SFZ user, I want to install/extract sample packs into a recommended sfz default directory, where my .sfz player will automatically detect the files and show the instrument in a dropdown.

Investigation
The VST specification is very specific about VST plugin and preset default locations:
https://developer.steinberg.help/display/VST/Plug-in+Locations
https://developer.steinberg.help/display/VST/Preset+Locations
This creates consistency, it allows installers to install VST plugins and presets into the correct directories. Plugin hosts know where to look first, improving the user-experience (less manual looking for folders/locations) and more efficient than scanning the entire harddrive for .vst files.
Solution
Add guidelines for SFZ packs:

File/folder structure: .zip file containing .sfz .wav files etc
Versions: lossy, lossless
Installation directory: per platform Linux, Mac, Win

These will allow players and installers like my own to follow the guidelines are have compatibility

This inconsistency also means that SFZ players cannot scan the default folder and automatically detect .sfz files.

I don't see any inconsistency, it's just a personal preference from their developers, and I don't see why people like to have a single folder where to put everything in.
sfz instruments can be really huge, so anyone can choose to fill one (or more?) dedicated disks or partitions, so if you want to assign a path for sfz in your software, you can simply create a list box where to add one or more paths to scan, if empty just return a message box to the user if someone really need to know where all the files are.
There is no consistency in forcing a single place, it's rather a limitation like in VST3 that only recently they added support for an user folder where not everyone have system admin rights. Sampled instruments are not plugins anyway.

Yeah, default file location currently isn't part of the standard. To standardize it would take asking sfz player developers to update their software. Which is fine, if they do it we can document it, but we can't make them do anything.


add support for more players

We need more players for users to choose from. Currently only VLC is supported.

You can look at webtorrent API for supported players to add into yast.

Please assign me this issue.

Hi @Av-nish, thanks for taking interest in this project. Assigning this issue to you. You can look at the supported players in the webtorrent cli docs. Take subset of these players that can be installed and run on PC. You will also need to update the docs accordingly. Write some unit tests to make sure that the commands are generated properly

Triaging this issue and will be handled after migration to anacrolix/torrent is done. #67


user content no map

make the default api not return the geojson of edits.
https://github.com/AmericanRedCross/osm-stats/blob/master/documentation/API.md#users
add an option ?map  to add geojson to user

Code for this is in https://github.com/AmericanRedCross/osm-stats-api/blob/master/routes/user.js


[Bug] [DataX] sqlserverwriter Escape symbol problem

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
When using the DataX module，Sqlserverwriter used the wrong transfer symbol，Make it impossible for the work to continue。

What you expected to happen
Remove the wrong escape symbol
How to reproduce
Using the Datax module, any data source is written to SQLServer

Anything else
No response
Version
3.1.x
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

https://github.com/apache/dolphinscheduler/pull/13604/files
it had been fixed,plz close this issue
@SbloodyS @EricGao888

https://github.com/apache/dolphinscheduler/pull/13604/files
it had been fixed,plz close this issue @SbloodyS @EricGao888

Thanks.


[bridge] increase minimal committee stake power to 90

Description
Previously the 75% minimal stake is too low to include most validators. This PR changes it to 90%.
I have two commits in this PR:

the first commit sets the value by distinguish chain id - if it's testnet, then use 7500, otherwise 9000. This is safe because on mainnet we haven't enabled registration yet.
the second commit uses a different approach with protocol config. Basically it adds a minimal_threshold_for_bridge_committee field and is set to 90% after the added version. In this way we don't need to differentiate chain ids. It's safe for testnet because this value won't be needed post committee initialization.

I like the 2nd commit better because the code is cleaner.
Test plan
How did you test the new or updated feature?

Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

[ ] Protocol:
[ ] Nodes (Validators and Full nodes):
[ ] Indexer:
[ ] JSON-RPC:
[ ] GraphQL:
[ ] CLI:
[ ] Rust SDK:

@patrickkuo  @dariorussi  ready for review


Merge new-helsinki-brand branch

Travis settings try to install bower which is now removed and thus fails

hel-bootstrap-3 installs bootstrap-sass dependency inside itself. Added bootstrap-sass as separate dependency.


consider solving  big body problem?

http body convert to string.
In fileupload or download request, body size is big, may lead to OOM

Traffic playback should be a request response to the interface, the file should not do this or at least have a switch to control whether the file is recorded


Change receive message log to debug level rather than info level

Is it just me or should this log (line 33) output be a debug level log?
Getting a log output on every message from WhatsApp is quite noisy when not using debug output.
https://github.com/42wim/matterbridge/blob/24f6747516a9a80f82068656df50b3972928ba56/bridge/whatsappmulti/handlers.go#L26-L33

yes, fixed in master now


how to draw a 3d plot for chunk like yours?

Hi, anlthms, thank you for your script. I have run your script but got a different result. I think if I can plot the chunk in 3d, the difference may be easily detected.
Would you mind telling me the script for visualizing? thank you.

I used the plot_3d function from this script: https://www.kaggle.com/gzuidhof/data-science-bowl-2017/full-preprocessing-tutorial


Update lint.yml

Everything about the previous review comment is updated
eg creating the linter.yml file and updating the readMe.md file

You have used the correct template for the readme but it is not updated
according to the project. Please update your README file.  Idon't
understand this sentence fully please give me some clarification, kindly
with some examples.
On Thu, Jun 1, 2023 at 6:49 PM Mahbub Alam @.***> wrote:

@.**** requested changes on this pull request.
Hi @Anustar452 https://github.com/Anustar452,
Great work on making the changes requested by the previous reviewer 👏
You've done well implementing some of the requested changes, but there are
still some which aren't been addressed yet.
Required Changes ♻

You have used the correct template for the readme but it is not
updated according to the project. Please update your README file.
Please also include an MIT license file in your project. The link to
your license should be included in your README file. The MIT License is a
popular open-source license that allows others to use, modify, and
distribute your code as long as they give credit to you the original
author, and include the original license text. You can use this link
https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository
to learn how to add one to your project.
To Highlights
✔ No linter error.
✔ Proper Github flow used.
✔ Descriptive PR title & description.
Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the
approval of this PR. However, I strongly recommend you take them into
account as they can make your code better.

N/A

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something
is not 100% clear.
Please, remember to tag me in your question so I can receive the
notification. You can also reach me on slack
https://microverse-students.slack.com/team/U01J39GL614
Please, do not open a new Pull Request for re-reviews. You should use the
same Pull Request submitted for the first review, either valid or invalid
unless it is requested otherwise.
As described in the Code reviews limits policy
https://microverse.zendesk.com/hc/en-us/articles/1500004088561 you have a
limited number of reviews per project (check the exact number in your
Dashboard). If you think that the code review was not fair, you can request
a second opinion using this form https://airtable.com/shrQAqnBwek5a0O0s.
—
Reply to this email directly, view it on GitHub
https://github.com/Anustar452/Hello-Microverse/pull/5#pullrequestreview-1455801764,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZ7AWJJUMNCZKGV5FUWYRR3XJC22DANCNFSM6AAAAAAYXBBXHA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Python quick start code

I'd love to dig into this. Could you provide an example in Python to run the pre-trained model in a notebook? Also, I noticed that the generated audio with the pre-trained model has a lot of background noise. Is this expected, and is there a way to mitigate it?

@DePasqualeOrg:
Thanks for giving my code a try! You're right that a notebook example would be helpful. For now, here's a quick Python snippet to get you started with running the pretrained model (which is actually just a tiny model trained on no more than a handful of <4 second audio clips and was uploaded only for demo purpose):
from e2tts_mlx import tts
tts("From now on we're pals.")

Or if you've installed via pip, you can use the CLI:
e2tts 'Now, you understand.'

I'll work on a more comprehensive Jupyter notebook at some point later. Let me know if you have specific areas you'd like covered.
@nattaylor:
Thanks for the feedback and sharing the example! The noise is related to some ad hoc adjustments in the code I made to simplify and streamline the training process. I may refactor some of these over the upcoming weekend, and it would be great if you could take another look once I've made the changes.

Thanks! The examples from the original paper were very impressive, so I'm looking forward to trying this out.

The examples are what hooked me in too!


[App]: export WANDB_SILENT="true" isn't being honored

Current Behavior
"Changes to your wandb environment variables will be ignored because your wandb session has already started. For more information on how to modify your settings with wandb.init() arguments, please refer to the W&B docs."
Expected Behavior
pure silence; that means no logging whatsoever
Steps To Reproduce
No response
Screenshots
No response
Environment
OS:
Browsers:
Version:
latest
Additional Context
I want absolute silence

Hi @vgoklani, thanks for writing in! Mind sharing your wandb --version and a screenshot of the output of the following code?
import wandb
import os

os.environ["WANDB_SILENT"] = 'True'

run = wandb.init(project="test_silent")
for step in range(10):
    run.log({"metric": step})
run.finish()

I tried using the latest version and it works as expected

Hi @vgoklani, since we have not heard back from you we are going to close this request. If you would like to re-open the conversation, please let us know!


AbstractSingleImageLayer: Correct logging.

URL was not correctly logged.

Looks good, thanks :-)

Looks good, thanks :-)


Adds manual migration info to the Migration page

We'll need to create, deploy and link the World and UdonSharp Unity Package files described in this new section before publishing.

@MerlinVR - thanks for the heads-up on that issue with #101, I hadn't seen your comments there yet.
Yes, the Resolver package adds the ability to right-click a package directory in your Project view and select "Export VPM Package", which will make a package named for the id and version of the target package and place it in a new directory called "Exports" at the root of the project.


Feat: Automatically add All CRNs when more than 5 pre-filling CRNs

Changes

Allows extension to add more than 5 CRNs at once.
Automatically (simulate) click the add summary button (Users should click the submit button by themselves) according to new CityU registration page UI.

However, this PR is dependent on another PR #1 , therefore need to ship after that PR merged first.
Generally, if we cannot ship this in this Summer registration we can ship it after Fall registration start.

I find that there are some legacy features in popup.html/css/js that handle the limitation of adding at most 10 CRNs per submission, which may be misleading to users (the new UI allows you to add unlimited CRN input boxes). I suggest that this feature be included in the legacy only.

I find that there are some legacy features in popup.html/css/js that handle the limitation of adding at most 10 CRNs per submission, which may be misleading to users (the new UI allows you to add unlimited CRN input boxes). I suggest that this feature be included in the legacy only.

I flag this features out (controlled with feature flag in #1). I will (pull the featureFlag) make use of Github IO Page of the repo to archive instant control of the featureFlag (will can toggle feature flag without submitting re-review request to Google Chrome Extension Store).
Soon with release of #4 (submitted to google), this features will not show 10 CRNs thing.


Refactor publication and users apps into separate repositories

Describe the issue
In the current version, the manager app is closely tied to the publication and users apps, essentially meaning that the overall topobank code is monolithic rather than modular.
Expected behavior
The individual Django apps should be as self-contained as possible. Ideally, publication and users act as plugins that can be replaced with other implementations. For example, publication is currently tied to DataCite while users is tied to ORCID, and we may in the future want to enable other publication or authentication pathways.
Benefits
Refactoring the code will ease modularity and testability of both core and apps.

This is related to #1018, which needs to be resolved before we can split the code.

Closed by #1058


fix(CatalogRequestMessage): QuerySpec as JSON-LD

What this PR changes/adds
Add QuerySpec as JSON-LD object in CatalogRequestMessage
Why it does that
Briefly state why the change was necessary.
Further notes
List other areas of code that have changed but are not necessarily linked to the main feature. This could be method signature changes, package declarations, bugs that were encountered and were fixed inline, etc.
Linked Issue(s)
Closes #3015
Checklist

[ ] added appropriate tests?
[ ] performed checkstyle check locally?
[ ] added/updated copyright headers?
[ ] documented public classes/methods?
[ ] added/updated relevant documentation?
[ ] assigned appropriate label? (exclude from changelog with label no-changelog)
[ ] formatted title correctly? (take a look at the CONTRIBUTING and Etiquette for pull requests for details)

Codecov Report
Patch coverage: 3.03% and project coverage change: -0.16 :warning:

Comparison is base (69edfbb) 65.87% compared to head (f8b085c) 65.72%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3016      +/-   ##
==========================================
- Coverage   65.87%   65.72%   -0.16%
==========================================
  Files        1045     1049       +4
  Lines       21739    21790      +51
  Branches     1308     1308
==========================================
  Hits        14321    14321
- Misses       6870     6922      +52
+ Partials      548      547       -1

Impacted Files
Coverage Δ

...ormer/from/JsonObjectFromCriterionTransformer.java
0.00% <0.00%> (ø)

...ormer/from/JsonObjectFromQuerySpecTransformer.java
0.00% <0.00%> (ø)

...ansformer/to/JsonObjectToCriterionTransformer.java
0.00% <0.00%> (ø)

...ansformer/to/JsonObjectToQuerySpecTransformer.java
0.00% <0.00%> (ø)

...main/java/org/eclipse/edc/spi/query/Criterion.java
36.66% <0.00%> (-28.04%)
:arrow_down:

...main/java/org/eclipse/edc/spi/query/QuerySpec.java
67.16% <ø> (ø)

...sonObjectFromCatalogRequestMessageTransformer.java
88.88% <100.00%> (ø)

.../JsonObjectToCatalogRequestMessageTransformer.java
75.00% <100.00%> (+39.00%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

In the transformers, we probably need to handle the cases where there is a transformation/conversion error. Should the transformer continue, collating errors (and not setting the builder) or fail fast?


Fix typos in Internationalization guide

Description (required)

This PR fixes two typos in the Internationalization guide:

Fix wrong import for getLocaleByPath in example code:
Imported from astro:18n, should be from astro:i18n.

Fix wrong prototype for getRelativeLocaleUrlList:
First argument is locale: string, should be path?: string (from Astro's source code).

Fix wrong prototype for getAbsoluteLocaleUrlList
First argument is locale: string, should be path?: string (from Astro's source code).

Related issues & labels (optional)

Suggested label: improve documentation

Hello! Thank you for opening your first PR to Astro’s Docs! 🎉
Here’s what will happen next:

Our GitHub bots will run to check your changes.
If they spot any broken links you will see some error messages on this PR.
Don’t hesitate to ask any questions if you’re not sure what these mean!

In a few minutes, you’ll be able to see a preview of your changes on Netlify 🥳

One or more of our maintainers will take a look and may ask you to make changes.
We try to be responsive, but don’t worry if this takes a few days.


Update webpacker configuration and fix slow specs

Specs were running slow because Webpacker was re-compiling packs on every example for some controllers.
I re-ran rails webpacker:install and commited some of the suggested changes: upgrade to edge Webpacker, include Babel configuration, and webpacker.yml changes. That didn't really solve the problem, but seems like a useful change.
Then I saw a compilation error caused by missing source: MorphSVGPlugin, so I decided to just take that out. Follow and like animations still run, was this even still used anywhere?
Finally I noticed that some entries in .gitignore were duplicated so I sorted and de-duped them.

Ahh, sorry for the confusion — MorphSVGPlugin is used, but since alonetone is open source and that plugin isn't — I've uploaded it to slack and you'll have to put it manually in place. The animations  should depend on it — it should be the the difference between clunky and interpolated animations.
Bit confused about the babel changes — we use a .babelrc which looks like it probably does most of what the new code is doing and is kinda tweaked for stimulus.... maybe we don't need the new code.
Happy to merge the rest of the changes!

I researched it a bit and the difference is that .babelrc is file relative. So it applies to the current directory and all directories underneath. You can use babel.config.js for project-wide configuration, so that only works from the project root. I like the existing version because it's shorter.

Alright, I have a better plan. Closing this PR.


Switch from virtualenv to pyenv to fix problem with fpectl needed due…

Does this mean our bundle won't work with virtualenv? (not talking about docker here)

No


Display gifs in tweets

Cannot display .mp4 link in embed, we need to download the video to play it. Luckilly the max time is 2:20 for videos so we can consider doing this

Does not work for standard tweets...

Does not work, too much effort for something that is not important information for the bot. Since gifs are not useful for financial advice in any way.


Can not register

Here what i have done is:
// ProfileController:
home: function (req, res) {
Passport
.findOne({ protocol: 'local', user: req.user.id })
.exec(function(err, passport) {
return res.json({
todo: 'home() is not implemented yet! But you are logged in :)',
token: passport.accessToken
});
});
}
//config/policy.js
// '': true,
'': ['passport', 'sessionAuth'],
'Profile': {
'showAll': ['passport', 'bearerAuth','sessionAuth'],
},
'auth': {
'*': ['passport']
}
But i can not register. when i click http://localhost:1337/auth/register it says  redirects to http://localhost:1337/auth/local/register and says the page you are trying to reach does not exit.
Have i missed something in any file of the code??

Do you have your code hosted somewhere?

Closing as the project is no longer maintained.


Clock makes panel going out of sreen

If  "padding zero" is set changes from 9 to 10 (day of today) or 9:30 to 12:20 this happens:

Also in normal state clock is real at the border, having  spacers could be an option.

Fixed. I have just upload a new commit.
Thanks for your help.


date range selection

Is your feature request related to a problem? Please describe.
as a user I would like to select day from- to  and see all days in blue color, to select trip date range

Hey He!
THere is an option to add it now!


Item Emotes JSON will be in handy for the update we talked about

some that i found i added bot already in that server
changes can be made later
keeping another json file because this will be in handy + it will be a big list once complete

Denied, there's an emojis dictionary in data/data.json please move it there.


Ontop with Microsoft JDBC Driver: Mapping Error

Description
I am using Ontop to create a virtual graph on top of Azure Data Explorer (ADX), which supports the MS JDBC Driver:

MS JDBC Driver version: 11.1.2.jre11
Ontop CLI version: 4.2.1

My connection properties are the following:
jdbc.url=jdbc:sqlserver://myadxcluster.westeurope.kusto.windows.net:1433;authentication=ActiveDirectoryMSI;database=events;msiClientId=<AUTH_APP>;
jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
ontop.inferDefaultDatatype=true

My mapping looks as follows:
[PrefixDeclaration]
:               https://example.com/ontology#
owl:            http://www.w3.org/2002/07/owl#
rdf:            http://www.w3.org/1999/02/22-rdf-syntax-ns#
xml:            http://www.w3.org/XML/1998/namespace
xsd:            http://www.w3.org/2001/XMLSchema#
obda:           https://w3id.org/obda/vocabulary#
rdfs:           http://www.w3.org/2000/01/rdf-schema#

[MappingDeclaration] @collection [[
mappingId       EventMapping
target          :Device/{DeviceID} a :Device .
source          SELECT DeviceID FROM DeviceEvents

]]

Problem
If I run $ONTOP_CLI_DIR/ontop validate" on the properties, mappings and ontology, I get the following error:
ERROR: There is a problem loading the mapping file /home/myuser/Mapping.obda
it.unibz.inf.ontop.exception.InvalidMappingSourceQueriesException: Error: Cannot find relation "master"."dbo"."DeviceEvents" (available choices: ["events"."dbo"."DeviceEvents"]) "DeviceEvents"
Problem location: source query of triplesMap
[id: EventMapping
target atoms: triple(s,p,o) with s/RDF(https://example.com/ontology#Device/{}(TmpToNVARCHAR(DeviceID)),IRI), p/<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>, o/<https://example.com/ontology#Device>
source query: SELECT DeviceID FROM "DeviceEvents"]
	at it.unibz.inf.ontop.spec.mapping.pp.impl.SQLPPMappingConverterImpl.getRAExpression(SQLPPMappingConverterImpl.java:145)
	at it.unibz.inf.ontop.spec.mapping.pp.impl.SQLPPMappingConverterImpl.convert(SQLPPMappingConverterImpl.java:61)
	at it.unibz.inf.ontop.spec.mapping.impl.SQLMappingExtractor.convert(SQLMappingExtractor.java:245)
	at it.unibz.inf.ontop.spec.mapping.impl.SQLMappingExtractor.convert(SQLMappingExtractor.java:216)
	at it.unibz.inf.ontop.spec.mapping.impl.SQLMappingExtractor.convert(SQLMappingExtractor.java:185)
	at it.unibz.inf.ontop.spec.mapping.impl.SQLMappingExtractor.convertPPMapping(SQLMappingExtractor.java:151)
	at it.unibz.inf.ontop.spec.mapping.impl.SQLMappingExtractor.extract(SQLMappingExtractor.java:106)
	at it.unibz.inf.ontop.spec.impl.DefaultOBDASpecificationExtractor.extract(DefaultOBDASpecificationExtractor.java:46)
	at it.unibz.inf.ontop.injection.impl.OntopMappingConfigurationImpl.loadSpecification(OntopMappingConfigurationImpl.java:127)
	at it.unibz.inf.ontop.injection.impl.OntopMappingSQLConfigurationImpl.loadSpecification(OntopMappingSQLConfigurationImpl.java:87)
	at it.unibz.inf.ontop.injection.impl.OntopMappingSQLAllConfigurationImpl.loadSpecification(OntopMappingSQLAllConfigurationImpl.java:47)
	at it.unibz.inf.ontop.injection.impl.OntopSQLOWLAPIConfigurationImpl.loadOBDASpecification(OntopSQLOWLAPIConfigurationImpl.java:34)
	at it.unibz.inf.ontop.injection.impl.OntopOBDAConfigurationImpl.loadSpecification(OntopOBDAConfigurationImpl.java:44)
	at it.unibz.inf.ontop.cli.OntopValidate.run(OntopValidate.java:120)
	at it.unibz.inf.ontop.cli.Ontop.main(Ontop.java:18)

The problem seems to be in the SQL part of the mapping: SELECT DeviceID FROM DeviceEvents. The message suggests alternatives (like ["events"."dbo"."DeviceEvents"]). Indeed, I can run a query like SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' OR TABLE_TYPE='VIEW'
which returns: TABLE_CATALOG: events,  TABLE_SCHEMA: dbo,  TABLE_NAME: DeviceEvents
Therefore, I assume the authentication is not a problem, since it can fetch this type of metadata.
I have tried many variants of writing that SQL statement such as:

SELECT DeviceID FROM "events"."dbo"."DeviceEvents" (as suggested)
SELECT DeviceID FROM [events].[dbo].[DeviceEvents]
SELECT DeviceID FROM events.dbo.DeviceEvents

Those variations result into a slightly different error:
ERROR: There is a problem loading the mapping file /home/myuser/Mapping.obda
it.unibz.inf.ontop.exception.MappingIOException: it.unibz.inf.ontop.exception.MetadataExtractionException: com.microsoft.sqlserver.jdbc.SQLServerException: Request is invalid and cannot be processed: Semantic error: OTR0001: Scalar SQL function 'SCHEMA_ID' is not supported. [line:position=1:1016]
RequestId: TDS;4bac0e2d-990d-4c21-9551-2059845208f6;15
Time: 2022-08-11T14:38:06.0669249Z
	at it.unibz.inf.ontop.spec.impl.DefaultOBDASpecificationExtractor.extract(DefaultOBDASpecificationExtractor.java:51)
	at it.unibz.inf.ontop.injection.impl.OntopMappingConfigurationImpl.loadSpecification(OntopMappingConfigurationImpl.java:127)
	at it.unibz.inf.ontop.injection.impl.OntopMappingSQLConfigurationImpl.loadSpecification(OntopMappingSQLConfigurationImpl.java:87)
	at it.unibz.inf.ontop.injection.impl.OntopMappingSQLAllConfigurationImpl.loadSpecification(OntopMappingSQLAllConfigurationImpl.java:47)
	at it.unibz.inf.ontop.injection.impl.OntopSQLOWLAPIConfigurationImpl.loadOBDASpecification(OntopSQLOWLAPIConfigurationImpl.java:34)
	at it.unibz.inf.ontop.injection.impl.OntopOBDAConfigurationImpl.loadSpecification(OntopOBDAConfigurationImpl.java:44)
	at it.unibz.inf.ontop.cli.OntopValidate.run(OntopValidate.java:120)
	at it.unibz.inf.ontop.cli.Ontop.main(Ontop.java:18)
Caused by: it.unibz.inf.ontop.exception.MetadataExtractionException: com.microsoft.sqlserver.jdbc.SQLServerException: Request is invalid and cannot be processed: Semantic error: OTR0001: Scalar SQL function 'SCHEMA_ID' is not supported. [line:position=1:1016]
...

I found this article for another type of database which points to a similar problem for another database technology: https://github.com/ontop/ontop/issues/462
Can I then conclude this is a problem with the particular SQL dialect?

I have created an instance of a Microsoft SQL database with the same table name and schema and I can confirm the mapping and JDBC properties work and I can create an endpoint. It must be an error related to Azure Data Explorer.
Perhaps the key of the problem is "Scalar SQL function 'SCHEMA_ID' is not supported."

Hi @arrascue, thanks for reporting this compatibility issue with Azure Data Explorer.
Let's hope support for this function will be added on the Microsoft side.


turn on/off the remove/add all controls.

added options to turn on and off the remove and add all controls.

This sounds like useful functionality - thanks for the patch.
I'm not really maintaining this, though. I only have it cloned so I can push my occasional patches back to the primary maintainer, crdeutsch:
https://github.com/crdeutsch/multiselect
It'd probably be best to open a pull request against his repo.

thanks for the info. i'll send a pull request to the maintainer.

Sounds great, and again, thanks for the patch.


[Error] Downloading stash for Hardcore, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues and include your DebugInfo.log

[Error] Downloading stash for Hardcore, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues and include your DebugInfo.
Please help me. Thank you
DebugInfo.zip

Have you used Procurement before? Are you logging in with sessionID or email?
The error is that the GGG servers came back with no data when Procurement asked for your items.


Setup helx-ui CI

@cnbennett3 these yaml files are the base we need to run CI for helx-ui I think. I had a couple questions:

Reading yaml_build.sh I should be able to run test with npm based on the unit_test function, but this doesn't happen in the container, it would happen in our Jenkins image like the python tests. I don't think this will work without adding node to the jenkins container. Thoughts? Should the base container have node so we can run these items in ci without them being in a container in a repo setup just to facilitate tests for languages?
On helxplatform/development#676 you mentioned setting up a project for the build. Is that done in the UI separate from adding these build scrips?

Any concerns or suggestions for the yaml?

@cnbennett3 thanks for pointing out the custom shell functionality to me in the ci repo. I wanted to get your feedback on the approach/updates needed here.

npm provides functionality to define a "script" in package.json. This helps us keep functionality close to the repo so that when test are ran locally you can expect similar/same behavior in CI, so that if you can build and test locally then you should be good when the same command runs in CI.

In this case there is already an npm test

This doesn't rely on anything other than the pipeline having npm/node available and the command being executed.

What are your thoughts on something in yaml_build or a custom script that is essentially just letting a command be invoked without CI trying to instrument more around the environment?
This also means if we wanted to add coverage or other instrumentation later the repo can define it in a language standard mode (package.json/pyproject.toml) and it can be invoked without needing any of the scripts to be updated.
There are a lot of steps like the docker build and push that are already defined and work great, so I don't want to reinvent those, but also want to utilize the language tools for testing.
Thoughts?

@cnbennett3 from our conversation yesterday I brain stormed on this and after digging I think adding a udf style function may be a good start. I was hesitant to change the unit_test function to even be an independent .sh because so much currently relies on it.
Instead I added a udf (user defined function) that makes few assumptions just running the command with args.
One thing I am still not sure how to handle is when test is not defined in the source yaml. In that scenario we don't want to run test/unit_test, but we also don't want to fail. What are your thoughts on the best way to handle this?
Last note, added node 10 to the base image. Stretch node is pretty old, and we will want that to run npm in our jenkins image similar to running python/pytest.

We have cases without unit tests, eg nginx-master.yaml. In cases like that, I've kept the yaml categories explicit and set the values to null:
test:
  cmd_path:
    null
  cmd_args:
    null
  datafile:
    null

I went back and forth about this, realize its excess verbiage. I also realized last night that, although it's been working, there needs to be a line added at the beginning of unit_test that checks for cmd_path == null and returns true.
Not sure if this is clean enough for what you had in mind, I'm open to other ideas if you have any--
One other comment, to answer the question you had above re project. The project is set up in Jenkins. New Item --> Freestyle Project (Enter Item Name). Then copy the settings from another project into the fields they're all the same except for the repo URL.

Actually, perhaps a better way to handle the cases with no unit test is to define a null_unit_test function to called for those cases and have it simply return true (similar to the Null Object pattern).

I like the idea of a null object, but will use the
test:
  cmd_path:
    null
  cmd_args:
    null
  datafile:
    null

Setup for now as the other CI conversation happen.
You mentioned a check for cmd_path==null, but since the else returns true I guess we don't need this right now?
https://github.com/helxplatform/devops/blob/develop/cicd/jenkins/bashlib/yaml_build.sh#L227

Yes, that works fine, had overlooked that when I wrote that comment.

On hold, pending Jenkins restore.

@cnbennett3 with the restore complete I setup a helx-ui project. Anything else I should wait for, or am I good to merge this?


fix fix predicate contains  cast that results in null, the pr…

…edicate will be miss. (#39550)
https://github.com/apache/doris/pull/39550
drop table datetest;

create table datetest (
  id int,
  dt date
)
DUPLICATE key (id)
distributed by hash(id) buckets 1
properties(
  "replication_num" = "1"
);
insert into datetest values (1, '2024-01-01');

mysql [test10]>select dt from datetest  WHERE dt = 1 ;
+------------+
| dt         |
+------------+
| 2024-01-01 |
+------------+

now
mysql [test10]>select dt from datetest  WHERE dt = 1 ;
Empty set (0.16 sec)

Proposed changes
Issue Number: close #xxx

run buildall


chore(assets): Add source assets to the project

This will allow us to autogenerate them.

@LuminousSpike can this just target main? I presume there is nothing it is dependent on?


I'm getting too many warnigs but my project is getting started

Just want to know is it okay to ignore this ?

Thanks for the question, our Github issue board is for bugs and feature requests only, though 😕
Please ask this question in the forum✨
If you were describing a bug, please create a report and fill out the template


Fix character offset and byte offset problem in No-English language and issuse #6

detail: https://github.com/Microsoft/vscode/issues/5735
We should replace this code if https://github.com/Microsoft/vscode/issues/5735 is accepted.

@xaverh please notice that "buffer": "^4.6.0" is in vscode 1.0.0, I'm noe sure which version is it in vscode 0.10.10. If the dependency of vscode version shoud be changed to 1.0.0?
@ioachim  This PR solve #6 and #7.

@owt5008137 Thanks for correcting the issue! Is there any issue why you didn't use the Node Buffer class, but the buffer module? That way we could decode the string just once (as you can send the buffer directly to ChildProcess.stdin, instead of the string, avoiding encoding the string twice.

@owt5008137 Thanks for your help. Very appreciated! I pushed a new version to the Marketplace.

@ioachim buffer is just the Node Buffer class.
import buffer = require('buffer')

I'm not sure if I can use all the node.js inner modules, so I add it to package.json. Just remove it if it's already included in VSCode.Decoding the string twice means VSCode decode the string once and this plugin decode it again.
If the text in VSCode editor is not a utf8 string, the getText api still get a utf8 content, so it must be decoded and encoded to utf8 once.
I have read some code in clang-format, it seems only support utf-8.And it only accepts byte offset and the output is also byte offset and byte length.
But VSCode's API only accept character offset and length.
So we still need to know what's the character offset of the byte offset(UTF-8 character has 1-6 bytes), and then I decode it again. What I can do is only remember last relationship of byte offset and character offset to avoid decode the same content more than once.
Of course it's better if we can use VSCode's decode result, but I did not find and API to get these.Do you have any idea to do it?

The decoding is needed in any case, when writing to stdin it is done internally.
The codeContent parameter should be the Buffer instead of a string, and the value given to it should be the same written to the clang-format stdin. To avoid decoding the whole buffer twice.
What I started writing was code to get the char-offset from the byte-offset by reading the buffer directly, instead of encoding back to string, by parsing each byte of the slice. That way we avoid allocating a string each time we want to measure the length in characters.

@ioachim
var codeBuffer = new Buffer(codeContent);

This code also run only once every time we format the content.
I'm not sure, but all the buffer objects created by slice(start, end) should be reference to the same buffer block.Because them are all readonly.
Your solution seems a better way by converting byte-offset to char-offset one by one.But I wonder how many memory it will cost to make index of every byte-offset.Or just index every diffrent length? Is it will cost O(log(n)) to get the char-offset from the byte-offset?

About the first part: yes, slice() makes a reference to the original buffer, not a copy. Passing the buffer is a just a minor improvement.
About the string allocation thing, my proposal wasn't to save each position, as you say it doesn't make much sense cost wise, but replacing the buffer.toString('utf8').length calls with calls to a function that gets the length by checking the bytes in that slice.

@ioachim Oh, I see.It's really a good idea.
It's really no need to allocate so many string objects or make any index.Especially clang-format always has a monotonic increasing output.

@owt5008137 I'll write that changes sometime this week :+1:

@ioachim OK,I will pull your code then.


Class DigitalInputDevice: Missing factor 1000 in debouncing when recalculating stop time

In this line https://github.com/RaspberryPiFoundation/picozero/blob/dev/picozero/picozero.py#L1601
the stop time is resetted, when state changes within debouncing time.
stop = ticks_ms() + self._bounce_time
From my point of view there is a missing "* 1000", because "self._bounce_time" is in seconds.
This line should be exactliy like the one above: https://github.com/RaspberryPiFoundation/picozero/blob/dev/picozero/picozero.py#L1597
stop = ticks_ms() + (self._bounce_time * 1000)

Yes, I agree, it just looks like a simple oversight. It would have affected the bounce time when values changed.
I have prepared a fix in PR #104

This has been resolved in 0.4.2
@MarcScott - can you close the issue please.


Fix Demo Skype Example

SigninCard does not have a title function instead should be text according to the latest code
https://docs.botframework.com/en-us/node/builder/chat-reference/classes/_botbuilder_d_.signincard.html

thanks


WIP: Add example for nginx custom error pages

This change is

Coverage remained the same at 43.943% when pulling bc464c7cb899325783e8a0fccb8ae84080aa2654 on aledbf:custom-error-pages into 6cca4c5cdde7ed1d89312add4c2ba93988556ea2 on kubernetes:master.

Coverage increased (+0.03%) to 43.968% when pulling bc464c7cb899325783e8a0fccb8ae84080aa2654 on aledbf:custom-error-pages into 6cca4c5cdde7ed1d89312add4c2ba93988556ea2 on kubernetes:master.


async Future support?

Would be nice to be able to use this library with async/await. I don't think it's super hard, although I don't have time to look at it right this second.

Good suggestion!
I actually have been aware of the need of integrating async/await since these have become stable in the standard library. We definitely need to implement this, but I need some time to look into it and figure how to implement it properly.


Errors during install (npm fails)

Summary
NPM faills.
Attached npm errors log
npm-debug.log.zip
Additional info

Postleaf version:
Node version:
Affected browsers:
Operating system: Ubuntu 16.04

Note: This issue tracker is ONLY for bug reports and feature requests. If this is a personal support issue, please ask on the forum instead: community.postleaf.org

Does this fail when you try running gulp build or is it npm install?

You're using node 4.2.6 (info using node@v4.2.6), but Postleaf needs node 7

@lukewatts both, if you check the log, errors are generated in both phases.
@karsasmus I updated and the npm install
2017-04-26T09_06_25_854Z-debug.log.zip
still fails, attached the new log

Personally I had to install gulp, node-gyp and node-pre-gyp globally.
Then I had to rebuild the following packages (e.g. node rebuild node-sass):

node-sass
optipng-bin
jpegtran-bin
sequelize
sqlite3

Try to open your package.json, goto line 10 and change install to postinstall

@lukewatts
@karsasmus
Hi and thank you for the replies.
I did what you both recommended.. and the install worked (npm and gulp).
But the app crashes with the following message :
Error: Postleaf failed to start! 🐛
SequelizeUniqueConstraintError: Validation error

I'm also stuck at this point. I've created a separate issue here:
#22

Saw it..
I will also see if I can figure it out.
Any thoughts @claviska ?

Isn't install and postinstall the same thing? From the npm docs:

I couldn't find anything that says they're different, and install works for me so I'm not entirely sure. 🤷♂
As mentioned in #22, I just released 1.0.0-alpha.2 which fixes the database issue (see #9).
If you were installing 1.0.0-alpha.1 instead of master, try alpha.2 and it should work. If you were using master, then I'm not sure why it didn't work short of a permissions issue.
Let me know if it works with alpha.2.

@claviska Thanks for the answer.. I will try out alpha2 and see
will keep you posted

Hooray! Working and it's beautiful :)
@lukewatts, @karsasmus  @claviska thank you <3
I updated to alpha2 and added (+x to the permission, didn't change the user).


No jsDoc intellisense when function is declared as part of prototype.

VSCode Version: 1.0.0
OS Version: Windows 10

Steps to Reproduce:

Create js file with following code:

function constructorFunction () {}

/**
 * The prototype method.
 * @param {String} a Parameter definition.
 */
function prototypeMember(a) {}

constructorFunction.prototype.method = prototypeMember;

var x = new constructorFunction();
x.method();

Check that intellisense shows parameter description for x.method().
Replace method definition with shorter syntax:

/**
 * The prototype method.
 * @param {String} a Parameter definition.
 */
constructorFunction.prototype.method = function (a) {};

Intellisense for x.method() is not working now both for function and param descriptions.

Moving to TS.

This issue was moved to Microsoft/TypeScript#8147

This works for me on master.
@DenysYefimenko, can you test this by installing typescript@next in a test package and in Code's settings.json temporarily setting "typescript.tsdk": ".../node_modules/typescript/bin", where ... is the path of your test npm package? (You'll have to restart Code or Reload Window to get the changes.)


make-stats to return dictionaries

Makes for much nicer generators and human readable src-stats.yaml. Heavily backwards incompatible though.
Also logs a warning if any query returns no results, which can easily happen with dp-queries when using censor_dims.

I have no idea what that RTD failure is about, but it seems spurious.


Add a way to make more Tiberium using Naquadah Gas

Currently the only two sources of Tiberium are Void Miners or Space Mining (Or converting diamonds/firestone using Naquadah Fuels but that defeats the point). Tiberium is the primary bottleneck of Naqfuel, requiring dedicated space elevators of nothing but Space Mining modules to keep up with the demand.
This PR makes the Tiberium Dust + Naquadah Gas -> Tiberium Crystal recipe produce 1.2 crystals instead of 1.0, essentially allowing the player to convert Naquadah Gas into more Tiberium. Naquadah gas is already a fairly useless byproduct of Naqfuel, so this would help players keep up with the demand.

I think the old recipe should stay available, if only for compatibility.

@Sopel97 as you can see new recipe is old recipe only with a 20% chance get a second item. Recipe was converted to RA2 that’s why it looks different.

Circuit work in Autoclave but old recipe will be redundant.

@Sopel97 as you can see new recipe is old recipe only with a 20% chance get a second item. Recipe was converted to RA2 that’s why it looks different.

right, sorry, I thought by mistake that the old recipe didn't have the naq gas input

I think it would make more sense to just reduce the tiberium requirements of naqfuel. its already underpowered and in need of balancing, and its supposed to be a primarily naquadah based fuel, but it actually takes barely any naquadah compared to all the other materials it needs. since nobody seems to be interested in actually rebalancing naqfuel, putting a band-aid over the worst problems seems like a reasonable solution.

@kenken244 feel free to rework it.


Support like for AI collation for Sublink and CoerceViaIO nodes

Description
While supporting LIKE operator for AI collation, we have done defensive coding where we throw unrecognized node error for the nodes which we have not handled explicitly. We have found such issues where we throw the error for sublink and CoerceViaIO node type. This commit adds the support for like for AI collations for Sublink and CoerceViaIO node type.
Issues Resolved
Issues Resolved: BABEL-4998
Signed-off-by: Shameem Ahmed<EMAIL_ADDRESS>Test Scenarios Covered

Use case based - YES

Boundary conditions -

Arbitrary inputs -

Negative test cases -

Minor version upgrade tests -

Major version upgrade tests -

Performance tests -

Tooling impact -

Client tests -

Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

6 of 7 (85.71%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.003%) to 73.199%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

contrib/babelfishpg_tsql/src/collation.c
6
7
85.71%

Files with Coverage Reduction
New Missed Lines
%

contrib/babelfishpg_tsql/src/collation.c
1
84.86%

Totals

Change from base Build<PHONE_NUMBER>:
0.003%

Covered Lines:
41730

Relevant Lines:
57009

💛  - Coveralls


Uniformity

@ndaelman-hu I finished with my round of adding admonitions and just adjusting my sections a little. I will leave it here for now in case you want to review it and give me feedback.
A couple other things:

In terms of the notebook file that I added for you before, you should NOT run the following cell, which was for my debugging purposes:

import MDAnalysis as MDA
path = '/home/jfrudzinski/work/GRO_DEV/MD_Overview/Hexane/Hexane_trimmed/'
sys = 'hexane.267'
tpr_fnm = sys+'.tpr'
trr_fnm = sys+'.trr'
universe = MDA.Universe(path + tpr_fnm, path + trr_fnm)

For now I just put a approximate timing of 40 min per section. This would give us time for a 20 min coffee break (We might want a 30 min break instead though, I am not sure). In any case, I realized that Part II needs a bit more time that it seems, because the final exercise has them go through each of the entries in the workflow. I REALLY want them to do this cause it showcases the usefulness of using NOMAD for day-to-day activities. (I can also walk them through it as you will do in part of Part I). Do you think we will be able to keep Part I approx. 40 min? Like 20 min for them to explore the first part and then 20 min for you to guide them through the rest?

Okay, I will review this today, after finishing up with issue #4


Add cloudwatch on multibake

As per a conversation with @nicolasochem and @harryttd, I'm going to continue to use pulumi out of this repository for the time being. As such, I'm submitting the PR to add cloudwatch support.

Adding the pulumi config options in the readme would be helpful for testers using this


How can I get oxygenSaturation?

oxygenSaturation
https://developer.apple.com/documentation/healthkit/hkquantitytypeidentifier
Isn't it wrong to think that the items on this page can be obtained by HealthKit?
If it doesn't seem to be supported yet, please do so. Thank you.

This is now available by #51

Thank you!!


feat: add pre-commit hooks

Overview

Policy isn't Policy unless it's enforced.

To this end, we would like to have an easy way for developers to ensure that they are following the standards set forth in this repo.
Two things that we would like to accomplish:

package up / collect existing pre-commit hooks that we use and ensure they are applied
create new hooks based on the standards laid out here

Existing hooks
Our existing terraform repositories have the following pre-commit hooks:
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.4.0 # Use the ref you want to point at
    hooks:
      - id: check-json
      - id: check-yaml
      - id: end-of-file-fixer
      - id: trailing-whitespace
  - repo: https://github.com/antonbabenko/pre-commit-terraform
    rev: v1.77.2
    hooks:
      - id: terraform_fmt
        stages: [commit]
      - id: terraform_validate
        stages: [commit]
      - id: terraform_docs
        stages: [commit]
      - id: terraform_providers_lock
        stages: [commit]
        args:
          - --args=-platform=darwin_amd64
          - --args=-platform=linux_amd64
  - repo: https://github.com/pre-commit/mirrors-prettier
    rev: v2.7.1
    hooks:
      - id: prettier
        stages: [commit]
  - repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
    rev: v9.5.0
    hooks:
      - id: commitlint
        stages: [commit-msg]
        additional_dependencies: ["@open-turo/commitlint-config-conventional"]
  - repo: https://github.com/rhysd/actionlint
    rev: v1.6.24
    hooks:
      - id: actionlint
  - repo: https://github.com/jumanjihouse/pre-commit-hooks
    rev: 3.0.0 # or specific git tag
    hooks:
      - id: shellcheck
      - id: shfmt

It would be great to capture some of these in this repo to ensure that they are followed and changed when versioned get updated.
This might take a tool such as common-repo to accomplish.
Enforcement of new standardards
We would also like to enforce the standards laid out here.  For example, if we have a standard that says all files must use kebob-case for their name, then having a pre-commit check to enforce that will ensure that people follow it.
Some obvious checks:

output must only show up in tf files that start with outputs.
variable must only show up in tf files that start with variables.
local duplication of variable without modification
the usage of resource type in a resource name -- i.e. resource "aws_iam_policy" "pod_policy" {

See #5


Add target="_blank" to links which leads outside the website

this would make navigation a lot easier

don't really see the point, if you want to open a new tab/window then use the controls your browser gives you (usually middle click). overriding these kinds of defaults, especially for arbitrary reason, is just confusing.
what's the case where navigation is difficult currently?


etcd fails to start

When I try to use my cloud_config
...
coreos:
  etcd2:
    # generate a new token for each unique cluster from https://discovery.etcd.io/new?size=3
    discovery: https://discovery.etcd.io/{here_is_my_token}
    # multi-region and multi-cloud deployments need to use $public_ipv4
    advertise-client-urls: http://<IP_ADDRESS>:2379
    initial-advertise-peer-urls: http://<IP_ADDRESS>:2380
    # listen on both the official ports and the legacy ports
    # legacy ports can be omitted if your application doesn't depend on them
    listen-client-urls: http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
    listen-peer-urls: http://<IP_ADDRESS>:2380,http://<IP_ADDRESS>:7001

to start etcd, it constantly fails:
$ sudo systemctl status etcd2.service
â etcd2.service - etcd2
   Loaded: loaded (/usr/lib64/systemd/system/etcd2.service; disabled; vendor preset: disabled)
  Drop-In: /run/systemd/system/etcd2.service.d
           ââ20-cloudinit.conf
   Active: activating (auto-restart) (Result: exit-code) since Wed 2016-01-27 12:51:28 UTC; 1s ago
  Process: 15890 ExecStart=/usr/bin/etcd2 (code=exited, status=1/FAILURE)
 Main PID: 15890 (code=exited, status=1/FAILURE)
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/etcd2.service

Service logs:
$ sudo journalctl -u etcd2.service
Jan 27 11:47:02 coreos-node-2 systemd[1]: Starting etcd2...
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: recognized and used environment variable ETCD_ADVERTISE_CLIENT_URLS=http://<IP_ADDRESS>:2379
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: recognized and used environment variable ETCD_DATA_DIR=/var/lib/etcd2
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: recognized and used environment variable ETCD_DISCOVERY=https://discovery.etcd.io/0e4e76f0cc9f23f066765f42085553e7
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: recognized and used environment variable ETCD_INITIAL_ADVERTISE_PEER_URLS=http://<IP_ADDRESS>:2380
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: recognized and used environment variable ETCD_LISTEN_CLIENT_URLS=http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: recognized and used environment variable ETCD_LISTEN_PEER_URLS=http://<IP_ADDRESS>:2380,http://<IP_ADDRESS>:7001
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: recognized and used environment variable ETCD_NAME=8dbf97f4282d4a8298459f1421a6b577
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: etcd Version: 2.2.3
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: Git SHA: 05b564a
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: Go Version: go1.4.3
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: Go OS/Arch: linux/amd64
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: setting maximum number of CPUs to 1, total number of available CPUs is 2
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: listening for peers on http://<IP_ADDRESS>:2380
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: listening for peers on http://<IP_ADDRESS>:7001
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: listening for client requests on http://<IP_ADDRESS>:2379
Jan 27 11:47:02 coreos-node-2 etcd2[1343]: listening for client requests on http://<IP_ADDRESS>:4001
Jan 27 11:47:03 coreos-node-2 systemd[1]: etcd2.service: Main process exited, code=exited, status=1/FAILURE
Jan 27 11:47:03 coreos-node-2 systemd[1]: Failed to start etcd2.
Jan 27 11:47:03 coreos-node-2 systemd[1]: etcd2.service: Unit entered failed state.
Jan 27 11:47:03 coreos-node-2 systemd[1]: etcd2.service: Failed with result 'exit-code'.

CoreOS version info:
$ cat /etc/os-release
NAME=CoreOS
ID=coreos
VERSION=899.5.0
VERSION_ID=899.5.0
BUILD_ID=2016-01-22-1100
PRETTY_NAME="CoreOS 899.5.0"

I'm puzzled about what could be the actual problem...

@tobilg We need the full configuration to see what could be wrong. Please see https://github.com/coreos/etcd/blob/master/Documentation/reporting_bugs.md.
As you can see coreos-node-2 systemd[1]:, your cloud-config might be wrong.
Did you run in Google cloud? This is the sample configuration that works in google cloud.
coreos:
  etcd2:
    # https://discovery.etcd.io/new?size=3
    discovery: https://discovery.etcd.io/YOUR_TOKEN
    # multi-region and multi-cloud deployments need to use $public_ipv4
    advertise-client-urls: http://$private_ipv4:2379
    initial-advertise-peer-urls: http://$private_ipv4:2380
    listen-client-urls: http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
    listen-peer-urls: http://$private_ipv4:2380,http://$private_ipv4:7001
  units:
    - name: etcd2.service
      command: start

@gyuho Thanks for the feedback. Unfortunately I don't really see a difference in the configuration other than the usage of $private_ipv4. My cluster is running in bare metal, so I can't use this as of the docs at
https://coreos.com/os/docs/latest/cloud-config.html

Note: The $private_ipv4 and $public_ipv4 substitution variables referenced in other documents are only supported on Amazon EC2, Google Compute Engine, OpenStack, Rackspace, DigitalOcean, and Vagrant.

Where exactly so you see a problem?

@tobilg Sorry for late response. Actually there's another issue with almost the same behavior as you https://github.com/coreos/etcd/issues/4308. That thread will give you a better idea.
This looks like systemd configuration issue. Can you just execute etcd directly, without using systemd? As you see, it crashes in systemd.
Please let me know if you have any other question.
Thanks,

Kindly ping @tobilg. Did you get it to work? Is there anything else that we can help?

@gyuho I read through the issue you linked. As I showed in my configuration above, the https://github.com/coreos/etcd/issues/4308#issuecomment-179995493 stating that --advertise client needs to be set to http://host_ip:4001 is already there (<IP_ADDRESS> is the host_ip)...
Also, I think my config is consistant with the CoreOS docs.
Update: If I use my IP address instead of <IP_ADDRESS>with listen-client-urls and use a new discovery token, I'm successful starting my etcd2 cluster again.

Great that you figured out. Please let us know if there's anything else that we can improve in etcd side (docs, error logs).
Thanks.

@gyuho Thanks again... I think it might be waothwhile to check if the CoreOS docs I linked in my last comment are valid with current versions of etcd.
I also wonder if there was a change in etcd, because I run my production cluster with the same settings like my test cluster (where I had these problems). The only difference is that the production runs on the latest stable version of CoreOS, and my test cluster runs on the latest beta version.

Ok we will check. Thanks.


No space left on device, but write data success

DEBUG:
littlefs/lfs.c:497:error: No more free space 441
LINE 116: lfs write data length: 256
Code:
const struct lfs_config g_lfs_cfg = {
// block device operations
  .read  = user_provided_block_device_read,
  .prog  = user_provided_block_device_prog,
  .erase = user_provided_block_device_erase,
  .sync  = user_provided_block_device_sync,

  // block device configuration
  .read_size = 256,
  .prog_size = 256,
  .block_size = 4096,
  .block_count = 256,
  .cache_size = 256,
  .lookahead_size = 32,
  .block_cycles = 500,

};
err = lfs_file_open(&g_lfs, &g_lfs_file[0], lfs_read_buf1, LFS_O_RDWR | LFS_O_CREAT);
if(err)
printf("lfs open error:%d  LINE %d\n", err,  LINE);
	err = lfs_file_write(&g_lfs, &g_lfs_file[0], lfs_write_buf, sizeof(lfs_write_buf));
	if (err > 0)
		printf("LINE %d: lfs write data length:%d\n", __LINE__,  err);

	lfs_file_close(&g_lfs, &g_lfs_file[0]);

QUESTION:
When the flash space is exhausted, an error should be reported when writing data again, but now the lfs_file_write() function does not report an error. why?

Inline file？

DEBUG:
littlefs/lfs.c:497:error: No more free space 441
LINE 116: lfs write data length: 256
Code:
const struct lfs_config g_lfs_cfg = {
// block device operations
  .read  = user_provided_block_device_read,
  .prog  = user_provided_block_device_prog,
  .erase = user_provided_block_device_erase,
  .sync  = user_provided_block_device_sync,

  // block device configuration
  .read_size = 256,
  .prog_size = 256,
  .block_size = 4096,
  .block_count = 256,
  .cache_size = 256,
  .lookahead_size = 32,
  .block_cycles = 500,

};
err = lfs_file_open(&g_lfs, &g_lfs_file[0], lfs_read_buf1, LFS_O_RDWR | LFS_O_CREAT);
if(err)
printf("lfs open error:%d LINE %d\n", err, LINE);
	err = lfs_file_write(&g_lfs, &g_lfs_file[0], lfs_write_buf, sizeof(lfs_write_buf));
	if (err > 0)
		printf("LINE %d: lfs write data length:%d\n", __LINE__,  err);

	lfs_file_close(&g_lfs, &g_lfs_file[0]);

QUESTION:
When the flash space is exhausted, an error should be reported when writing data again, but now the lfs_file_write() function does not report an error. why?

I have met the same issue, want to know the reason.

If I understand correctly, you are calling write after open returns LFS_ERR_NOSPC?
littlefs doesn't handle this, the file is left uninitialized if lfs_file_open errors.
So the correct code would be something like this:
err = lfs_file_open(&g_lfs, &g_lfs_file[0], lfs_read_buf1, LFS_O_RDWR | LFS_O_CREAT);
if(err)
    printf("lfs open error:%d  LINE %d\n", err,  __LINE__);

if (!err) {
    err = lfs_file_write(&g_lfs, &g_lfs_file[0], lfs_write_buf, sizeof(lfs_write_buf));
    if (err > 0)
        printf("LINE %d: lfs write data length:%d\n", __LINE__,  err);

    err = lfs_file_close(&g_lfs, &g_lfs_file[0]);
    if(err)
        printf("lfs close error:%d  LINE %d\n", err,  __LINE__);
}

We recently added some checks that assert in this case, but they require that asserts are enabled (https://github.com/littlefs-project/littlefs/pull/443)


IE 11: Focus ring not appearing on every-other element

When tabbing through the items in a page's explorer view in Internet Explorer 11, the focus ring only appears on every second tab stop. Here's a screencap of this behavior in action:

@thibaudcolas has a hunch of what might be causing this.

#6170 🌈


Handle Nginx errors

We should be able to parse errors from Nginx. Currently when an error is thrown in Nginx openreview-py is not able to parse it correctly leading to misleading error messages.

It has been fixed. We can close it.


Export execution plan tree to file

Instead of having to take a screenshot of the execution plan, it would be convenient to be able to export the tree to e.g., some image format or pdf.

Related to #50

duplicate of #50


Error when checking for moving draggable in canvas mouseMove handler

Moving over a map with a canvas layer and the dragging option of a map is set to false throws an error. See http://jsbin.com/xoyiqifoki/edit?js,console,output
This is because the test in https://github.com/Leaflet/Leaflet/pull/3547/files#diff-5b3512e2ba3d374197128a67b330a0efR205 (introduced in #3547) doesn't check if the map is draggable.

Fixed by #3942


Chapter 3: Undefined names in Python code

% flake8 . --count --select=E9,F63,F7,F82,Y --show-source --statistics
./Chapter03/ip-address-pattern.py:7:2: F821 undefined name 'app'
@app.get(f"/<ip:{IP_ADDRESS_PATTERN}>")
 ^
./Chapter03/ip-address-pattern.py:8:35: F821 undefined name 'Request'
async def get_ip_details(request: Request, ip: str):
                                  ^
./Chapter03/ip-address-pattern.py:9:12: F821 undefined name 'text'
    return text(f"type={type(ip)} {ip=}")
           ^
3     F821 undefined name 'app'
3

Thanks. I guess I really had meant this one as a snippet and not a full script. I suppose I should add the imports and necessary app instantiation.


triu and tril have wrong dtypes for some chunks in old version of numpy

What happened:
When using a version of numpy that doesn't implement the shape argument to zeros_like, the zero fill in triu and tril is always float.
What you expected to happen:
The computed chunks should all have the same dtype as the array itself, which should come from the input argument.
Minimal Complete Verifiable Example:
import numpy as np
import dask.array as da

x = da.ones((6, 6), chunks=2, dtype=np.int64)
t = da.triu(x)
chunk = t[4:6, 0:2]
print(chunk.compute().dtype)

Prints float64 on numpy 1.15.1, but int64 (correct) on numpy 1.20.1.
Anything else we need to know?:
It's caused by the fallback code in zeros_like_safe, which ignores the dtype. There is a fix for this in #7277, but I thought I should file it as a separate bug for changelog tracking purposes. The fix is largely independent of the rest of #7227, so let me know if you'd like it cherry-picked into a separate PR.
#6997 might also fix it in passing.
Environment:

Dask version: master (d540d73)
Python version: 3.8
Operating System: Ubuntu 20.04
Install method (conda, pip, source): source

This should be resolved since all the mentioned PRs are in.


refactor: scheduler evaluator

Description

Refactor scheduler evaluator.

Related Issue

Motivation and Context

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist:

[x] Code compiles correctly.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report

Merging #805 (38d0091) into main (9278caa) will increase coverage by 0.33%.
The diff coverage is 79.80%.

@@            Coverage Diff             @@
##             main     #805      +/-   ##
==========================================
+ Coverage   40.68%   41.01%   +0.33%
==========================================
  Files          95       98       +3
  Lines        7812     7893      +81
==========================================
+ Hits         3178     3237      +59
- Misses       4229     4248      +19
- Partials      405      408       +3

Flag
Coverage Δ

unittests
41.01% <79.80%> (+0.33%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

internal/idgen/task_id.go
100.00% <ø> (ø)

pkg/util/mathutils/math_utils.go
20.83% <0.00%> (-6.95%)
:arrow_down:

scheduler/config/config.go
4.81% <0.00%> (+0.11%)
:arrow_up:

scheduler/supervisor/host.go
60.00% <ø> (+3.75%)
:arrow_up:

scheduler/core/evaluator/evaluator.go
50.00% <50.00%> (ø)

scheduler/core/evaluator/plugin.go
50.00% <50.00%> (ø)

scheduler/core/evaluator/evaluator_base.go
92.20% <92.20%> (ø)

scheduler/supervisor/peer.go
48.27% <100.00%> (-2.48%)
:arrow_down:

client/daemon/peer/peertask_stream.go
53.82% <0.00%> (-2.15%)
:arrow_down:

... and 1 more


agda standard-library: v1.3 -> v1.4

Motivation for this change
Bump Agda standard library package to v1.4 (released September 17th, 2020).
Tested with the following command in the root of the nixpkg repository.
nix-build -E "with import ./. {}; pkgs.agda.withPackages (p: with p; [ standard-library ])"

Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@turion

duplicate of #98199

Whoops sorry about that. I should have checked the PR list more closely.