Test org.jpeek.web.ReportsTest#rendersOneReport is unstable

The test execution is unstable and probable depends on environment state.

The test is failed on local environment

java.io.IOException: Cannot run program "unzip" (in directory "C:\Users\AKRYVT~1\AppData\Local\Temp\x4718881456374315808\sources\com\jcabi\jcabi-urn"): CreateProcess error=2, The system cannot find the file specified
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
        at org.jpeek.web.Reports.apply(Reports.java:132)
        at org.jpeek.web.Reports.apply(Reports.java:55)
        at org.jpeek.web.ReportsTest.rendersOneReport(ReportsTest.java:68)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.apache.maven.surefire.junitcore.pc.Scheduler$1.run(Scheduler.java:393)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
        at java.base/java.lang.ProcessImpl.create(Native Method)
        at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:420)
        at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:151)
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
        ... 23 more

The test is broken on Trevis  env. as part of #366 PR
https://travis-ci.org/yegor256/jpeek/builds/632328904#L1574
with exception

java.io.IOException: Server returned HTTP response code: 403 for URL: http://repo1.maven.org/maven2/com/jcabi/jcabi-urn/maven-metadata.xml
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
	at java.net.URL.openStream(URL.java:1045)
	at org.cactoos.io.InputOf.lambda$new$4(InputOf.java:103)
	at org.cactoos.io.InputOf.stream(InputOf.java:310)
	at org.cactoos.io.TeeInput.stream(TeeInput.java:867)
	at org.cactoos.io.InputAsBytes.asBytes(InputAsBytes.java:77)
	at org.cactoos.io.BytesOf.asBytes(BytesOf.java:341)
	at org.cactoos.text.TextOf.lambda$new$0(TextOf.java:297)
	at org.cactoos.scalar.Checked.value(Checked.java:76)
	at org.cactoos.scalar.IoChecked.value(IoChecked.java:63)
	at org.cactoos.text.TextEnvelope.asString(TextEnvelope.java:65)
	at org.jpeek.web.Reports.apply(Reports.java:102)
	at org.jpeek.web.Reports.apply(Reports.java:55)
	at org.jpeek.web.ReportsTest.rendersOneReport(ReportsTest.java:83)
        ...

I would like to have the test stable. If environment really doesn't have smth is needed for test execution, probable, we should make this test as ignored.

@paulodamaso/z please, pay attention to this issue

@0crat in

@0crat in (here)

@paulodamaso Job #368 is now in scope, role is DEV

Bug was reported, see §29: +15 point(s) just awarded to @akryvtsun/z

The job #368 assigned to @dgarus/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

@dgarus/z this job was assigned to you 6days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

@dgarus/z this job was assigned to you 6days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

@paulodamaso Hi!
Why this job will be taken away from me?
I've prepared the PR 6 days ago.

@dgarus We have a 10 day limit to close issues, as per the policy (here). As you have already made the PR and are waiting for the review, I suggest you to add an impediment to this (see here)

@0crat wait

@0crat wait (here)

@dgarus The impediment for #368 was registered successfully by @dgarus/z

@akryvtsun could you pls close the issue?

@dgarus Thank you!


Avoid WebSocket internal close codes

Implement changes from https://github.com/saltyrtc/saltyrtc-meta/pull/111

Actually there's nothing to be done here. The Java library allows sending 1001 close codes.


Failing to run this project

Please bear with me since I am a bit of a newborn regarding wasm/wamr stuff.
I got my first .wasm file running on iwasm, but when I try to run the example on my device, I get:
process didn't exit successfully: `/Users/juyohan/Documents/prizm/rust-wamr/target/debug/build/wamr-sys-59d9b44a23893fa7/build-script-build` (exit status: 101)
  --- stdout
  CMAKE_TOOLCHAIN_FILE_wasm32-wasi = None
  CMAKE_TOOLCHAIN_FILE_wasm32_wasi = None
  TARGET_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_PREFIX_PATH_wasm32-wasi = None
  CMAKE_PREFIX_PATH_wasm32_wasi = None
  TARGET_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_wasm32-wasi = None
  CMAKE_wasm32_wasi = None
  TARGET_CMAKE = None
  CMAKE = None
  running: cd "/Users/juyohan/Documents/prizm/rust-wamr/target/wasm32-wasi/debug/build/wamr-sys-376b4bc6a253a016/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/Users/juyohan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wamr-sys-0.1.1/libiwasm" "-G" "Unix Makefiles" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_SYSTEM_NAME=wasi" "-DCMAKE_SYSTEM_PROCESSOR=wasm32" "-DCMAKE_INSTALL_PREFIX=/Users/juyohan/Documents/prizm/rust-wamr/target/wasm32-wasi/debug/build/wamr-sys-376b4bc6a253a016/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC --target=wasm32-wasi" "-DCMAKE_C_COMPILER=/usr/bin/clang" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC --target=wasm32-wasi" "-DCMAKE_CXX_COMPILER=/usr/bin/clang" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC --target=wasm32-wasi" "-DCMAKE_ASM_COMPILER=/usr/bin/clang"
  -- The C compiler identification is AppleClang <IP_ADDRESS>30022
  -- The CXX compiler identification is AppleClang <IP_ADDRESS>30022
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - failed
  -- Check for working C compiler: /usr/bin/clang
  -- Check for working C compiler: /usr/bin/clang - broken
  -- Configuring incomplete, errors occurred!

  --- stderr
  CMake Deprecation Warning at CMakeLists.txt:4 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.

  System is unknown to cmake, create:
  Platform/wasi to use this system, please post your config file on discourse.cmake.org so it can be added to cmake
  Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. Please post that file on discourse.cmake.org.
  System is unknown to cmake, create:
  Platform/wasi to use this system, please post your config file on discourse.cmake.org so it can be added to cmake
  System is unknown to cmake, create:
  Platform/wasi to use this system, please post your config file on discourse.cmake.org so it can be added to cmake
  CMake Error at /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/CMakeTestCCompiler.cmake:67 (message):
    The C compiler

      "/usr/bin/clang"

    is not able to compile a simple test program.

    It fails with the following output:

      Change Dir: '/Users/juyohan/Documents/prizm/rust-wamr/target/wasm32-wasi/debug/build/wamr-sys-376b4bc6a253a016/out/build/CMakeFiles/CMakeScratch/TryCompile-aRu56z'

      Run Build Command(s): /opt/homebrew/Cellar/cmake/3.28.3/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_008f9/fast
      /Library/Developer/CommandLineTools/usr/bin/make  -f CMakeFiles/cmTC_008f9.dir/build.make CMakeFiles/cmTC_008f9.dir/build
      Building C object CMakeFiles/cmTC_008f9.dir/testCCompiler.c.obj
      /usr/bin/clang   -ffunction-sections -fdata-sections -fPIC --target=wasm32-wasi  -MD -MT CMakeFiles/cmTC_008f9.dir/testCCompiler.c.obj -MF CMakeFiles/cmTC_008f9.dir/testCCompiler.c.obj.d -o CMakeFiles/cmTC_008f9.dir/testCCompiler.c.obj -c /Users/juyohan/Documents/prizm/rust-wamr/target/wasm32-wasi/debug/build/wamr-sys-376b4bc6a253a016/out/build/CMakeFiles/CMakeScratch/TryCompile-aRu56z/testCCompiler.c
      error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-wasi"'
      1 error generated.
      make[1]: *** [CMakeFiles/cmTC_008f9.dir/testCCompiler.c.obj] Error 1
      make: *** [cmTC_008f9/fast] Error 2

    CMake will not be able to correctly generate this project.
  Call Stack (most recent call first):
    CMakeLists.txt:6 (project)

  thread 'main' panicked at /Users/juyohan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cmake-0.1.50/src/lib.rs:1098:5:

  command did not execute successfully, got: exit status: 1

  build script failed, must exit now
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Any idea on the issue? I feel like something is missing

I had the same issue, I was trying to run:
 cargo run --target wasm32-wasi

It was fixed by using:
cargo run

In the README.md, there is this statement that says:

✏ Quotes:
wasm32-wasi is a most common target for Wasm. It means that the .wasm is compiled with cargo build --target wasm32-wasi or wasi-sdk/bin/clang --target wasm32-wasi.
Say there is a gcd_wasm32_wasi.wasm which includes a function named gcd

In fact the gcd_wasm32_wasi.wasm is build with --target wasm32-wasi.
If I understood correctly I'm also quite new to this.

@SeaRoll

System is unknown to cmake, create:
Platform/wasi to use this system, please post your config file on discourse.cmake.org so it can be added to cmake
Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. Please post that file on discourse.cmake.org.
System is unknown to cmake, create:
Platform/wasi to use this system, please post your config file on discourse.cmake.org so it can be added to cmake
System is unknown to cmake, create:
Platform/wasi to use this system, please post your config file on discourse.cmake.org so it can be added to cmake

It seems /usr/bin/clang somehow links to the clang of wasi-sdk during compiling wamr-sys. please make sure using a standard clang (e.g. pre-build binaries).

@SeaRoll any updates?

Just went with golang at my company, but I will try this out once again when I get the opportunity

Allow me to close it firstly. Please feel free to reopen or file a new one when meeting any question.


result.ex: use lower case for opts argument

Uppercase Opts matched only on the atom Opts and didn't allow to pass the maps opt to cqerl

Good catch!


Minimum API Level

Hi, thank you for this brilliant demo.
Maybe add an instruction to set “Project Settings > Player > Others Settings > Minimum API Level” to “Android 7.0 'Nougat' (API Level 24)“. I got an error on build and changed it, but it may not be obvious for some users. Cheers.

Hi. Thanks! I'll add an instruction to set the Minimum API Level. Cheers.


lint と beautify を自動的にやるようにする

現状自分しか触らないのでsublimeのプラグインでいいやという判断
npm run lint でもlintできるし

sublimeのbeautifyプラグインの設定。vimとかでも参考になるかも。
{
    // The plugin looks for a .jsbeautifyrc file in the same directory as the
    // source file you're prettifying (or any directory above if it doesn't exist,
    // or in your home folder if everything else fails) and uses those options
    // along the default ones.

    // Details: https://github.com/victorporof/Sublime-HTMLPrettify#using-your-own-jsbeautifyrc-options
    // Documentation: https://github.com/einars/js-beautify/
    "html": {
        "allowed_file_extensions": ["htm", "html", "xhtml", "shtml", "xml", "svg"],
        "brace_style": "collapse", // [collapse|expand|end-expand|none] Put braces on the same line as control statements (default), or put braces on own line (Allman / ANSI style), or just put end braces on own line, or attempt to keep them where they are
        "end_with_newline": true, // End output with newline
        "indent_char": " ", // Indentation character
        "indent_handlebars": false, // e.g. {{#foo}}, {{/foo}}
        "indent_inner_html": false, // Indent <head> and <body> sections
        "indent_scripts": "keep", // [keep|separate|normal]
        "indent_size": 4, // Indentation size
        "max_preserve_newlines": 0, // Maximum number of line breaks to be preserved in one chunk (0 disables)
        "preserve_newlines": true, // Whether existing line breaks before elements should be preserved (only works before elements, not inside tags or for text)
        "unformatted": ["a", "span", "img", "code", "pre", "sub", "sup", "em", "strong", "b", "i", "u", "strike", "big", "small", "pre", "h1", "h2", "h3", "h4", "h5", "h6"], // List of tags that should not be reformatted
        "wrap_line_length": 0 // Lines should wrap at next opportunity after this number of characters (0 disables)
    },
    "css": {
        "allowed_file_extensions": ["css", "scss", "sass", "less"],
        "end_with_newline": false, // End output with newline
        "indent_char": " ", // Indentation character
        "indent_size": 4, // Indentation size
        "newline_between_rules": true, // Add a new line after every css rule
        "selector_separator": " ",
        "selector_separator_newline": true // Separate selectors with newline or not (e.g. "a,\nbr" or "a, br")
    },
    "js": {
        "allowed_file_extensions": ["js", "json", "jshintrc", "jsbeautifyrc"],

        // Set brace_style
        //  collapse: (old default) Put braces on the same line as control statements
        //  collapse-preserve-inline: (new default) Same as collapse but better support for ES6 destructuring and other features. https://github.com/victorporof/Sublime-HTMLPrettify/issues/231
        //  expand: Put braces on own line (Allman / ANSI style)
        //  end-expand: Put end braces on own line
        //  none: Keep them where they are
        "brace_style": "collapse-preserve-inline",

        "break_chained_methods": false, // Break chained method calls across subsequent lines
        "e4x": false, // Pass E4X xml literals through untouched
        "end_with_newline": true, // End output with newline
        "indent_char": " ", // Indentation character
        "indent_level": 0, // Initial indentation level
        "indent_size": 4, // Indentation size
        "indent_with_tabs": false, // Indent with tabs, overrides `indent_size` and `indent_char`
        "jslint_happy": false, // If true, then jslint-stricter mode is enforced
        "keep_array_indentation": false, // Preserve array indentation
        "keep_function_indentation": false, // Preserve function indentation
        "max_preserve_newlines": 0, // Maximum number of line breaks to be preserved in one chunk (0 disables)
        "preserve_newlines": true, // Whether existing line breaks should be preserved
        "space_after_anon_function": true, // Should the space before an anonymous function's parens be added, "function()" vs "function ()"
        "space_before_conditional": true, // Should the space before conditional statement be added, "if(true)" vs "if (true)"
        "space_in_empty_paren": false, // Add padding spaces within empty paren, "f()" vs "f( )"
        "space_in_paren": false, // Add padding spaces within paren, ie. f( a, b )
        "unescape_strings": false, // Should printable characters in strings encoded in \xNN notation be unescaped, "example" vs "\x65\x78\x61\x6d\x70\x6c\x65"
        "wrap_line_length": 0 // Lines should wrap at next opportunity after this number of characters (0 disables)
    }
}


syscall/exec_windows.go: appendEscapeArg does not escape all necessary characters

Go version
go version go1.22.4 windows/amd64
Output of go env in your module/workspace:
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\Nathan\AppData\Local\go-build
set GOENV=C:\Users\Nathan\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\Nathan\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\Nathan\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:/Program Files/Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLCHAIN=auto
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.22.4
set GCCGO=gccgo
set GOAMD64=v1
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=0
set GOMOD=C:\Users\Nathan\Downloads\battest\go.mod
set GOWORK=
set CGO_CFLAGS=-O2 -g
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-O2 -g
set CGO_FFLAGS=-O2 -g
set CGO_LDFLAGS=-O2 -g
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=C:\Users\Nathan\AppData\Local\Temp\go-build2629603369=/tmp/go-build -gno-record-gcc-switches

What did you do?
I'm trying to run a go executable with problematic arguments, eg.
go run test.go "a<b" "hello world"

Under the hood this will forward the arguments to a file called test.bat, and print the arguments.
This is what the files look like:
test.go:
package main

import (
	"os"
	"os/exec"
)

func main() {
	cmd := exec.Command("C:\\Windows\\System32\\cmd.exe", append([]string{"/C", ".\\test.bat"}, os.Args[1:]...)...)
	cmd.Dir = "C:\\Users\\Nathan\\Downloads\\battest"
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr
	err := cmd.Run()
	if err != nil {
		panic(err)
	}
}

test.bat:
@echo %*

What did you see happen?
$ go run test_issue.go "a<b" "hello world"
The system cannot find the file specified.
panic: exit status 1

What did you expect to see?
$ go run test.go "a<b" "hello world"
"a<b" "hello world"

Through debugging I found that the issue is down to the appendEscapeArg function in exec_windows.go under the syscall package. This function will add quotes around arguments that have spaces or tabs, but it doesn't look for any other characters that need escaping.
I noticed you can override the commandLine that syscall is served and bypass this function, and so I copied and tweaked the relevant code to also escape arguments that contain <, or >. Now it works as expected.
I'd open a PR, but I don't know enough about windows, particularly; are there other characters that need escaping?
Here's my fix for what it's worth:
package main

import (
	"os"
	"os/exec"
	"syscall"
)

func main() {
	cmd := exec.Command("C:\\Windows\\System32\\cmd.exe", append([]string{"/C", ".\\test.bat"}, os.Args[1:]...)...)
	cmd.SysProcAttr = &syscall.SysProcAttr{CmdLine: makeCmdLine(cmd.Args)}
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr
	err := cmd.Run()
	if err != nil {
		panic(err)
	}
}

// makeCmdLine builds a command line out of args by escaping "special"
// characters and joining the arguments with spaces.
func makeCmdLine(args []string) string {
	var b []byte
	for _, v := range args {
		if len(b) > 0 {
			b = append(b, ' ')
		}
		b = appendEscapeArg(b, v)
	}
	return string(b)
}

// appendEscapeArg escapes the string s, as per escapeArg,
// appends the result to b, and returns the updated slice.
func appendEscapeArg(b []byte, s string) []byte {
	if len(s) == 0 {
		return append(b, `""`...)
	}

	needsBackslash := false
	needsQuotes := false
	for i := 0; i < len(s); i++ {
		switch s[i] {
		case '"', '\\':
			needsBackslash = true
		case ' ', '\t', '<', '>':
			needsQuotes = true
		}
	}

	if !needsBackslash && !needsQuotes {
		// No special handling required; normal case.
		return append(b, s...)
	}
	if !needsBackslash {
		// hasSpace is true, so we need to quote the string.
		b = append(b, '"')
		b = append(b, s...)
		return append(b, '"')
	}

	if needsQuotes {
		b = append(b, '"')
	}
	slashes := 0
	for i := 0; i < len(s); i++ {
		c := s[i]
		switch c {
		default:
			slashes = 0
		case '\\':
			slashes++
		case '"':
			for ; slashes > 0; slashes-- {
				b = append(b, '\\')
			}
			b = append(b, '\\')
		}
		b = append(b, c)
	}
	if needsQuotes {
		for ; slashes > 0; slashes-- {
			b = append(b, '\\')
		}
		b = append(b, '"')
	}

	return b
}

The above is identical to the native implementation, except that it renames hasSpace to needsQuotes and adds , '<', '>' to the needsQuotes switch case.

Related Issues

os/exec: execution of batch-files (.cmd/.bat) is vulnerable in go-lang for windows / insufficient escape #27199 (closed)
os/exec: extraneous quote escaping in argument received by spawned program, on Windows #21739 (closed)
affected/package:  #61780 (closed)
os: commandLineToArgv() does not correctly parse argv[0] in Windows #50028
os.Args is missing/eating/interpreting double quote on Windows #30952 (closed)
`os.Args` parsing with quotes is somehow incorrect on Windows platform #42443 (closed)
Automatic parameter escaping in syscall.StarProcess on windows is too restrictive #1849 (closed)
path/filepath: filepath.Match returns different output depending on OS #59188 (closed)
os/exec: PATH in windows ErrNotFound is not escaped #38994 (closed)
path.Base doesn't work for Windows paths #57649 (closed)

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

Duplicate of #15566

@seankhliao that doesn't sound like the same issue, though it touches on the same mechanic. The issue you linked speaks about arguments that are getting escaped which should not have been, I'm talking about arguments that aren't getting quoted that should have been.

I believe it's the same, cmd.exe (and by extension .bat files) use a different set of escaping rules, and the linked CL for that issue is CL 30947 which would escape / quote correctly.
see also https://github.com/golang/go/issues/27199#issuecomment-417568878

@seankhliao alright, I'll defer to your better judgement. Thanks!


cherry-pickcheck invalid value when set parallel instance variables (#28141)

pick from master #28141
Proposed changes
Issue Number: close #xxx

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

run buildall


rust-bindgen: 0.50.0 -> 0.51.0

Motivation for this change
Update rust-bindgen to the latest release.

https://github.com/rust-lang/rust-bindgen/releases/tag/v0.51.0

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
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)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] 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.

@GrahamcOfBorg build rust-bindgen

https://github.com/rust-lang/rust-bindgen/blob/master/CHANGELOG.md#0510


Easter eggs?

I'm looking for ideas and proposals of hidden features to implement here. Something that is not mentioned in the guide, but the users can find and use!
All ideas are welcome.
cc @HarshNarayanJha

Very sorry for responding soooooooo late. I was busy due to school exams and then cancellation of it due to corona and then online classes... But now I'm back with a bugfix and also thought about some Easter eggs. Will soon open a PR.
Thanks.

@HarshNarayanJha and I found an easter egg accidentally! See #18.

Hmm... I've been thinking about the "fire trick" we made. I want to play with https://github.com/kitao/pyxel#color-palette to change the bullet color when experiencing the trick.
Here's my preview:

I'm between using colors 9 (orange) or 3 (green, showed above).

Yeah, that's great. I will excite the player as What, different coloured bullets. Have I discovered something unusual
We can also make the game more interactive by giving a notification to the player from Diddi (who modified the spaceship, as in your story), that the player has unlocked a secret function of the ship....

Great idea!
In that case, I may set a higher width/height in the pyxel.init, so we can make space for text notifications. I may be working on this on the next week :wink:.

Hmm... I've been thinking about the "fire trick" we made. I want to play with https://github.com/kitao/pyxel#color-palette to change the bullet color when experiencing the trick.

I already pushed this at #26.

I'm thinking about "secret keys" that unlock special feats. For example:

Enemies/prizes that are not shown when the secret is not found
A special move or function?

I'm thinking about "secret keys" that unlock special feats. For example:

Enemies/prizes that are not shown when the secret is not found
A special move or function?

Like a grand enemy type thing which yields 1000 pts or 2000 pts, or large/big trash, or we could make this grand enemy's appearing probability very less, which makes it appear only once in a single play. It will move very fast, and it will give something big like ~5000 pts.
Or, player could use a special key combo. which can only be used once in a single play (like Z-moves, if you know pokemon...), and it will cause all the enemies/trashes on the screen to be killed, yielding very large number of points at once. This could be used when the player sees a large number of trashes on-screen...
And we could possibly create some mind-blowing animations for this...
More ideas on the way....

Like a grand enemy type thing which yields 1000 pts or 2000 pts, or large/big trash, or we could make this grand enemy's appearing probability very less, which makes it appear only once in a single play. It will move very fast, and it will give something big like ~5000 pts.

See #41, it takes this idea.

It's been more than a year since our last "easter egg" proposal. Is there anything else we could add? If not, I think we could close this issue.

Yes, go ahead!

Ok!
I think want to resurrect this idea:

Or, player could use a special key combo. which can only be used once in a single play (like Z-moves, if you know pokemon...), and it will cause all the enemies/trashes on the screen to be killed, yielding very large number of points at once. This could be used when the player sees a large number of trashes on-screen...

Sounds like something possible!

Logic shall be simple enough. I guess I can at least code it on my iPad

Ok, if you wanna give it a try, I'll separate this on another issue, and I'll assign you as a reminder ;)


convos: 4.40 -> 5.00

Motivation for this change
https://github.com/Nordaaker/convos/blob/5.00/Changes
Things done

[ ] 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

[X] 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"
[X] 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
[ ] Fits CONTRIBUTING.md.

Tested OK on linux x64
Result of nixpkgs-review pr 103950 1

1 package built:

convos

@GrahamcOfBorg build convos.tests


License info changes

This has the changes for the last license info icons and links.
I had to "punt" on showing the license type since it isn't available yet in the editing contexts. Work on those contexts are on-going, so let's plan to come back later to tidy this up.

Looks good in v0.9.0-beta.14. i as the icon displays the License info.


enable custom title/menus on linux

resolves #62727

@sbatten Since @bpasero is out, I suggest to just merge this in.

hate it!


fix bug recover version history failed

Current coverage is 45.04% (diff: 100%)

Merging #211 into master will increase coverage by 0.67%

@@             master       #211   diff @@
==========================================
  Files            11         11
  Lines          8925       8925
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           3960       4020    +60
+ Misses         3920       3859    -61
- Partials       1045       1046     +1

Powered by Codecov. Last update 056b995...764c707


bugfix: output expression incorrectly throws npe

[ ] I have registered the PR changes.

Ⅰ. Describe what this PR did
output 表达式错误时，抛出期望的异常。而不是空指针
Ⅱ. Does this pull request fix one issue?

fixes #4948
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #4954 (5d03b1d) into develop (0cdaa08) will decrease coverage by 0.27%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #4954      +/-   ##
=============================================
- Coverage      49.02%   48.75%   -0.28%
+ Complexity      4091     4083       -8
=============================================
  Files            736      736
  Lines          25818    25818
  Branches        3184     3184
=============================================
- Hits           12657    12587      -70
- Misses         11815    11901      +86
+ Partials        1346     1330      -16

Impacted Files
Coverage Δ

...ava/io/seata/server/metrics/MetricsSubscriber.java
14.78% <0.00%> (-71.31%)
:arrow_down:

...er/src/main/java/io/seata/server/ServerRunner.java
50.00% <0.00%> (-15.39%)
:arrow_down:

...a/io/seata/rm/datasource/xa/ResourceManagerXA.java
8.95% <0.00%> (-13.44%)
:arrow_down:

...erver/storage/file/session/FileSessionManager.java
48.40% <0.00%> (-5.10%)
:arrow_down:

...o/seata/server/coordinator/DefaultCoordinator.java
44.48% <0.00%> (-3.27%)
:arrow_down:

.../java/io/seata/server/coordinator/DefaultCore.java
44.97% <0.00%> (-2.96%)
:arrow_down:

...a/io/seata/rm/datasource/xa/DataSourceProxyXA.java
73.33% <0.00%> (-2.23%)
:arrow_down:

...in/java/io/seata/server/session/SessionHelper.java
65.62% <0.00%> (-1.05%)
:arrow_down:

...r/console/impl/file/GlobalLockFileServiceImpl.java
97.43% <0.00%> (+2.56%)
:arrow_up:

...rage/redis/store/RedisTransactionStoreManager.java
67.13% <0.00%> (+3.96%)
:arrow_up:

... and 2 more

已经登记

md文件里，贡献者名单里加一下自己的名字吧。


Fix typo: exent -> event

Closes: https://github.com/cometbft/cometbft/issues/1328
Tiny typo fix.

To which versions should this be backported?

@p-offtermatt, our usual process is to submit PRs to main and then backport to the relevant release branches from there. Could you please rebase this PR onto main? We'll make sure it gets into the relevant backport branches.

Not sure how to do this here because the typo is not present on main https://github.com/cometbft/cometbft/blob/2c0b09d5b675fcb1224d8b7a795f5ce724c033f2/state/txindex/indexer_service.go#L102C20-L102C20

Ah, I see. I suspect we'll need to manually backport this to v0.34.x.

Thank you!


Search within files doesn't work until file tab has been clicked

I don't know if this is a bug or by design but when you re-open VSCode and it auto loads a lot of files, when you use the search feature only files that have had their tab clicked will be searched in.  So, if you want to search in all open files, you will first have to click each tab before results are returned from them.

VSCode Version:  Latest
OS Version:  Windows 10

Steps to Reproduce:

Open multiple files with common terms.

Search for a word that is in one or more files.
The results will only return matches in the active tab.
Click each file tab and then rerun search.  All results will now appear.

Does this issue occur when all extensions are disabled?: Yes/No

Yeah, this is a known issue, there is another bug for it, sorry for the trouble.


hyper-hyper surfaces

I added a factory class in utils/hypersurface.py that produces a Hypersurface with coefficients calculated from splines at given oscillation parameters. There is also a loading function that loads a set of interpolated hypersurfaces from a JSON file. The structure of the input JSON file is simple and consists basically of paths to hypersurfaces fit at different oscillation parameters. A script producing such a file will be added to the fridge.
The pi_hypersurfaces stage was adapted to be able to work with interpolated hypersurfaces as well and de-lintered.
Furthermore, a small utility was added in utils/matrix.py to test matrices for positive semi-definiteness (psd) and find the unique psd matrix that is closest to a given matrix as measured by the Fronebius norm.

I haven't read your code in detail, but a quick glance shows you aren't using the Numpy docstring conventions. Since our documentation is auto-generated, it's critical that the docstrings follow this convention.
See here for the developer guide: https://icecube.wisc.edu/~peller/pisa_docs/readmes/general_conventions.html#documentation-conventions
which links to the actual docstring convention here (redirected link in the above): https://numpydoc.readthedocs.io/en/latest/format.html#docstring-standard
or just look at files in PISA -- especially in the core -- to see examples of docstrings in PISA.

My apologies, I'll change the doc-strings accordingly.

Alright, that should do it for the doc-strings!

One more thing that I will add: storage of spline keyword arguments inside the JSON file to make fits reproducible, i.e. someone using the same file should get the same interpolated hypersurfaces. I also want to add support for a piecewise linear mode as an alternative to splines.

Please add imunuit to the PISA depencies in setup.py

Wasn't that done in https://github.com/IceCubeOpenSource/pisa/pull/560/commits/d06a81447647bc97a4087d705e7e8526e717f532 ? Or is there another place missing?

Sorry my bad, checked for it in the files changed and saw it wasn't there. Just realised that this is a second PR, e.g. you already did that in the first PR already I guess.

Went through the code, looks good to me. I tested it with GRECO and found some minor issues, which I've fixed and made a PR to the branch (https://github.com/atrettin/pisa/pull/2).
From my side I'm happy to merge this PR to master once my fixes are integrated.

All comments from @jllanfranchi and @ts4051 seem resolved, so gonna merge this


Think about adding some kind of caching to the "Package sanity tests".

This is likely already downloading several GiB of packages on every run, and will only get worse.

Trialled this. The download+unpack and pack+upload of the caching itself takes far longer than just downloading the packages.


Cant change room in HomeKit

The plugin appears to work fine other than all 5 units default to the default room and thereafter they cant be moved.
When in Homekit i attempt to change the room the unit is allocated to, it rejects the attempt and returns the selection back to the default room.
11/29/2020, 10:16:06 AM [Kumo] Kumo API: Successfully connected to the Kumo API.11/29/2020, 10:16:06 AM [Kumo] Number of devices found: 511/29/2020, 10:16:06 AM [Kumo] Restoring existing accessory from cache: Bedroom11/29/2020, 10:16:06 AM [Kumo] Restoring existing accessory from cache: Dining Room11/29/2020, 10:16:06 AM [Kumo] Restoring existing accessory from cache: Study11/29/2020, 10:16:06 AM [Kumo] Restoring existing accessory from cache: Living Room11/29/2020, 10:16:06 AM [Kumo] Restoring existing accessory from cache: Master Bedroom

By Homekit, do you mean the Home app on an iOS device or the website (homebridge-ui-x). When an accessory is first added it always defaults to the "default room" in the iOS Home app. I change the room assignment inside the Home app and I haven't had it revert back to the "default room" unless I deleted the accessory from the cache. This might be a plugin problem. I would like to hear from others if they share this issue or not.

Hi
Yes, this is in the Home app on iOS ot iPadOS.  When added they all went to the default room (the ‘living room’).  It is at the point trying to change the room assignment inside the Home app that it reverts back.
I tried to capture a video to explain:
https://share.icloud.com/photos/0RWEhta9EzKaU4nGVLEVkNNHw


remove SortingOptions from vscode.d.ts

No need to be in vscode.d.ts

Duplicate of https://github.com/microsoft/vscode/pull/175248


Added 3 new color variants

Fixes #BLUI-5072 .

Changes proposed in this Pull Request:

Added textFieldContainer, blackLightWhiteDark and whiteLightBlackDark color variants.
Type augmentation for newly added color variants.

Screenshots / Screen Recording (if applicable)

To Test:

Any specific feedback you are looking for?

why did you include the "white light black dark" and "black light white dark"? And if you are looking to include component specific colors, what about these other colors? (maybe you can ignore the switch off handle one, because it was already part of the Brightlayer component)

Please update packge.json with the new alpha version to publish.


Added feature of Inclusive chatting

Added a file called Inclusive.js in the commands folder
Added certian words in Inclusive.js that will trigger when non-inclusive words are used.
Edited Index.js to trigger according to inclusive.js.

Hey, @SiddhantKhisty could you please add a screenshot of these commands working?


Improvements to Nichols chart plotting

These are relatively minor updates to the Nichols chart (AKA grid) plotting.
It's far from ideal; further possible improvements:

more tightly fitting the chart to the view (or data) xlim and ylim (the "extent"); the pain here is figuring out which contours to plot, and where to place the labels

depending on the limits, some contours will end up with a two visible segments

recreating the axis on zoom and pan events

this might not be too difficult; Axes support 'xlim_changed' and 'ylim_changed' events

a deluxe version of this would be too add (secondary?) axes, and show the closed-loop gain and phase in the "data value" text (the "x= , y = " on the Matplotlib toolbar)
I wonder if we could use a custom ContourSets, and plug into however that labelling is done?

Here are some before-and-after pictures (left is before) of a few example systems.
The new code gives a better result in almost all respects.  One visible problem is that the closed-loop phase label for "0°" clashes with the "-40dB" (and similar) closed-loop gain label.  The gains become crowded when the gain span is large (final figure), but that is the same in both versions.
I haven't added tests; I'll see how much time I have to do that.  Easyish tests:

check for "tight" phase limits (see first example below)
check that the axes child text elements are have clip_on (I'd have to not check title  & tick labels, presume this is possible)
check for existence of phase labels, contingent on label_cl_phases flag
test both branches of the if in _inner_extents, and in fact test the behaviour in general by setting xlim & ylim before calling nichols_grid.
Please suggest other tests.

Details (commit message)
Clip closed-loop contour labels.
Add labels for constant closed-loop phase contours.
Use smaller of data or view extents when deciding on how big, in
phase, a chart to create.
Use more uniformly spaced closed-loop phase contours, and use more
widely-spaced contours when phase extent is large.
Add optional ax argument, for axes to add grid to.

Coverage increased (+0.01%) to 94.215% when pulling 782e526059f17dc15ec68f2d1eb7855ece740969 on roryyorke:rory/nichols-improvements into 2102181c444221385a61ffb180f18ad5b45bc62f on python-control:master.

Changes look good.  It might be worth adding some unit tests to cover the new features (eg, use of ax keyword).

OK, I'll look at some tests, including testing the ax argument.
I'll probably wrap up the linfnorm PR first, and I'm not sure when I'll get this PR done.

I changed nichols_grid to return the artists it adds; this made testing much easier, but also makes it possible to customize the grid appearance and labels.   Below is a not-especially-compelling example; more realistically one might change the intensity or alpha of the grid and labels.
plt.clf()
mc,nc,ml,nl = ct.nichols_grid()
for i,(c,l) in enumerate(zip(nc,nl)):
     nc.set_color(f'C{i}')
     nl.set_color(f'C{i}')
for i,(c,l) in enumerate(zip(mc,ml)):
     c.set_color(f'C{i}')
     l.set_color(f'C{i}')

This looks good to go to me.  @roryyorke: any additional changes that you plan to make?

No, all done.
On Sat, 30 Apr 2022, 07:05 Richard Murray, @.***> wrote:

This looks good to go to me. @roryyorke https://github.com/roryyorke:
any additional changes that you plan to make?
—
Reply to this email directly, view it on GitHub
https://github.com/python-control/python-control/pull/723#issuecomment-1113917247,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA3C7TMVNROIIOFAL7I2EDVHS5QRANCNFSM5TSN3NBA
.
You are receiving this because you were mentioned.Message ID:
@.***>


feat(cross_db_utils): add object type in datatypes.sql

This is a:

[ ] bug fix PR with no breaking changes — please ensure the base branch is master
[x] new functionality — please ensure the base branch is the latest dev/ branch
[ ] a breaking change — please ensure the base branch is the latest dev/ branch

Description & motivation
Offer object datatype in the package
Checklist

[x] I have verified that these changes work locally on the following warehouses (Note: it's okay if you do not have access to all warehouses, this helps us understand what has been covered)

[ ] BigQuery
[x] Postgres
[ ] Redshift
[x] Snowflake

[x] I followed guidelines to ensure that my changes will work on "non-core" adapters by:

[ ] dispatching any new macro(s) so non-core adapters can also use them (e.g. the star() source)
[ ] using the limit_zero() macro in place of the literal string: limit 0
[ ] using dbt_utils.type_* macros instead of explicit datatypes (e.g. dbt_utils.type_timestamp() instead of TIMESTAMP)

[ ] I have updated the README.md (if applicable)
[ ] I have added tests & descriptions to my models (and macros if applicable)
[ ] I have added an entry to CHANGELOG.md

Hi @vicmattos, thanks for opening this! Curious as to your use case - are you working on a project that covers both Snowflake and PGSQL? Can you tell me more?
As far as compatibility with the other two warehouses:

From a quick Google, it looks like Redshift doesn't support objects; so instead it would be a VARCHAR(64K): https://docs.aws.amazon.com/redshift/latest/dg/federated-data-types.html
BQ is unclear, but it also doesn't seem to have a complex object type so I assume it would return a string as well: https://cloud.google.com/bigquery/docs/reference/standard-sql/json_functions

Finally, new contributions to dbt-utils should have integration tests. What could we do to check that this behaves correctly?

Hi @joellabes.
My use case is that I have my production environment in Snowflake and my local development environment in PGSQL.
I created a sandbox environment with docker and vscode to test behaviour hypothesis for DBT: https://github.com/vicmattos/dbt-sandbox
About the complex datatypes in other warehouses:

Found a complex data type in Redshift called SUPER, which it's definition looks like with an object type (https://docs.aws.amazon.com/en_us/redshift/latest/dg/r_SUPER_type.html)
Thought that BQ had a Struct type that would be closer to the object type (https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#struct_type)

Regarding integration tests, I'm not sure. Actually this is my first OSS contribution, so I might do a lot of things wrong.
Thanks for your response and sorry for my late message.

@vicmattos thanks for following up, and appreciate you doing the extra legwork to find SUPER and STRUCT types; agreed that they're closer to an object. Could add the mappings for the other two as well? That'd be really useful to ensure that dbt-utils' cross-database capabilities remain strong.
This is what I'm thinking re testing, let me know if it makes sense:
Could we create a serialised object string and deserialise it to an object/jsonb/super/etc, then try to access a value from it?
If that works for you, happy to work with you to take a basic proof of concept query and turn it into a full integration test. Let me know! Also open to other approaches.


Update examples to be extension free/dual

Chrome 41 supports u2f without extensions, so the examples should be updated to take advantage of that.

Patch is at https://github.com/Yubico/php-u2flib-server/pull/29, note that some of the JS code never worked before as it had syntax errors.
I will work on some cleaner examples as well, but this is for later.


K32W0 SDK 2.6.9 changes

This PR includes the changes needed for K32W0 SDK 2.6.9
Remove radio_v1.c
The implementation has been ported over, remove the file & references.
Signed-off-by: Alex Porosanu<EMAIL_ADDRESS>Add SecLib dependency for JN5189 build
Since pdm_port.c now uses the header SecLib.h, and the subsequent function AES_128_ProcessBlocks from SecLib, the include paths as well as the source files for the ot-nxp SDK lib must be updated accordingly for JN5189.
Signed-off-by: Alex Porosanu<EMAIL_ADDRESS>k32w0: enable selection of FRO_32K as a 32KHz clock source
For lowering the BOM the customers can choose to not populate the XTAL_32K for an accurate 32KHz clock, rather rely on the cheaper and less accurate free-running 32KHz oscillator available on the K32W0 SoC. This patch adds a build option in case the user wants to use this FRO_32K as a clock source.
Signed-off-by: Alex Porosanu<EMAIL_ADDRESS>k32w0: enable calibration if FRO32K clock source is used
Since FRO32K is less stable than the XTAL32K clock source, periodic recalibration is required. Also, all time-related functions need to take into account the drift generated by this clock source. This patch adds the the periodic recalibration in case FRO32K is selected as a clock source, regardless if LP mode is enabled or not and also replaces the corresponding timer functions with their compensated counterparts.
Signed-off-by: Alex Porosanu<EMAIL_ADDRESS>k32w0: fix build
Add SecLib_ecp256_sw.c
Signed-off-by: George Stefan<EMAIL_ADDRESS>k32w0: Move PDM Save-On-Idle functionality to OT level
This commit opens the path for reusing the Save-on-Idle functionality across multiple platforms. For now, the code is taken as it is from FWK with the following additions:

fix from FWK PR 2994: fix the case when the address of a RAM buffer changes due to re-allocation;
protect the save-on-idle queue with a mutex and with a critical region.

Signed-off-by: Doru Gucea<EMAIL_ADDRESS>k32w0: pdm: allow saving XCVR data on the idle task
If PDM_SAVE_IDLE is defined, then XCVR calibration data is saved in persistent storage on the FreeRTOS idle task.
Signed-off-by: Doru Gucea<EMAIL_ADDRESS>Fixing integration issue for k32w0 rcp
Signed-off-by: Gatien Chapon<EMAIL_ADDRESS>k32w0: lp: Restore radio registers at wakeup
Cover the case when otPlatRadioDisable() is called without a previous call to otPlatRadioSleep().
Signed-off-by: Doru Gucea<EMAIL_ADDRESS>k32w0: enable board type to be specified via CMake flags ***
For added flexilbity, enable the user to select a different flavor for the target board where the K32W0 SoC will reside. For now, there's only one such board, the K32W2ARD-ITPS. The user can select the board by specifying the -DBOARD_OVERRIDE parameter on the build script command line.
Signed-off-by: Alex Porosanu<EMAIL_ADDRESS>k32w0: pdm_ram_storage: enable pdm-encryption with staging-buffer management
Signed-off-by: Andrei Menzopol<EMAIL_ADDRESS>k32w0: add the address for the top of RAM1 bank
Since we already have the address of the top of RAM0, we add here the address for the 2nd back of SRAM. This will be useful later on.
Signed-off-by: Alex Porosanu<EMAIL_ADDRESS>K32W0: radio: Use MMAC energy scan API instead of radio
This should be used in order to allow dual pan to handle this API and do the energy scan when protocol is actually active.
Signed-off-by: Ionut Ursescu<EMAIL_ADDRESS>common: add tinycrypt
k32w0: mbedtls-config: add tinycrypt check config
k32w0: radio: fix low power state machine

start with allowing low power mode
tx/rx prevent low power mode, sleep allows it

Signed-off-by: George Stefan<EMAIL_ADDRESS>common: ram_storage: decouple RAM descriptor header and data
A RAM descriptor now has two fields: a header and a pointer to a buffer. A RAM descriptor will only be allocated once, at initialization, but its internal buffer can be reallocated dynamically based on the application needs. Additionally, only this internal buffer will be saved in PDM. The header (metadata) can be restored based on the PDM read.
Mutex handle is only used in PDM_SAVE_IDLE context.
Signed-off-by: Marius Tache<EMAIL_ADDRESS>k32w0: pdm: shorten critical sections when using save on idle
FS_vIdleTask behavior:

copy current queue entry in a local variable, protected by asQueue mutex.
lock mutex of the RAM buffer referenced by the local variable.
RAM buffer data is copied in a dynamically allocated internal buffer.
unlock mutex of the RAM buffer referenced by the local variable.
save internal buffer in a PDM sync save, then free the allocated memory.
if the internal buffer was not successfully saved, enqueue it by calling FS_eSaveRecordDataInIdleTask.

Other changes:

In ENABLE_STORAGE_DYNAMIC_MEMORY use case, the RAM buffer will be allocated unconditionally. Removed some local variables and replaced their usage with ramDescr->header variables. getRamBuffer notifies the application of an error by returning NULL.
Removed FreeRTOS scheduler API wrappers.
Data length field wasa removed since it's information was stored in the RAM buffer header. Changed data buffer type from void* to ramBufferDescriptor*.
Wipe will now only delete the records from the RAM buffer and from the PDM. Deinit will manage the ramDescr->buffer and ramDescr deallocation.
Mutex handle and operations are used only in PDM_SAVE_IDLE context. Moved PDM_SaveRecord wrapper in header so applications can also use it (e.g. Matter platform code).

Signed-off-by: Marius Tache<EMAIL_ADDRESS>k32w0: radio: Use new get RSSI function
u8MMAC_EnergyDetect(0) is not returning a signed value which is not suitable for RSSI values. Replaced it with a proper dual pan aware RSSI function. Also added a check to check if a valid RSSI has been read.
Signed-off-by: Ionut Ursescu<EMAIL_ADDRESS>k32w0: pdm: fix compile error when using static RAM buffer
If PDM_USE_DYNAMIC_MEMORY=0, a static RAM buffer is used. In combination with PDM_SAVE_IDLE, the code did not compile.

moved extern otPlatRealloc statement outside ENABLE_STORAGE_DYNAMIC_MEMORY.
fixed mutex create error handling.

Signed-off-by: Marius Tache<EMAIL_ADDRESS>k32w0: pdm_ram_storage: pdm-encryption rework buffer management
Enable pdm encryption.
Manage staging buffer when static, dynamic and dynamic with pdm_idle ram buffers are used.
Signed-off-by: Andrei Menzopol<EMAIL_ADDRESS>k32w0: nxp-ultrafast-p256: add ecdsa implementation
Signed-off-by: Andrei Menzopol<EMAIL_ADDRESS>k32w0: pdm_ram_storage: use correct pdm encryption flags
Use correct flags for temporary buffer pdm encryption option
Signed-off-by: Andrei Menzopol<EMAIL_ADDRESS>[K32W0] disable calibration loop in otSysProcessDrivers when low power is enabled because it's being handled by SDK
[common] Correct make pretty
[k32w0] Fixing OT RCP RX ring buffer read issue
Signed-off-by: Gatien Chapon<EMAIL_ADDRESS>Run make-pretty
Signed-off-by: Andrei Menzopol<EMAIL_ADDRESS>Signed-off-by: Alex Porosanu<EMAIL_ADDRESS>Signed-off-by: George Stefan<EMAIL_ADDRESS>Signed-off-by: Doru Gucea<EMAIL_ADDRESS>Signed-off-by: Gatien Chapon<EMAIL_ADDRESS>Signed-off-by: Ionut Ursescu<EMAIL_ADDRESS>Signed-off-by: Marius Tache<EMAIL_ADDRESS>Signed-off-by: Mihai Ignat<EMAIL_ADDRESS>Signed-off-by: Gabriel Couturier<EMAIL_ADDRESS>Co-authored-by: Alex Porosanu<EMAIL_ADDRESS>Co-authored-by: George Stefan<EMAIL_ADDRESS>Co-authored-by: Doru Gucea<EMAIL_ADDRESS>Co-authored-by: Gatien Chapon<EMAIL_ADDRESS>Co-authored-by: Ionut Ursescu<EMAIL_ADDRESS>Co-authored-by: Marius Tache<EMAIL_ADDRESS>Co-authored-by: Mihai Ignat<EMAIL_ADDRESS>

Hello @jwhui, could you please review and merge this PR. Thank you!


Enhancement: Add 3.13 matrix

Summary
(re)enable the allow-python-prereleases ci arguments and allow for building against 3.13 so that we may begin testing against the alpha builds to help upstream people in case there are bugs but also to test our own things.
Basic Example
No response
Drawbacks and Impact
No response
Unresolved questions
No response

[!NOTE]
While we are open for sponsoring on GitHub Sponsors and
OpenCollective, we also utilize Polar.sh to engage in pledge-based sponsorship.
Check out all issues funded or available for funding on our Polar.sh dashboard

If you would like to see an issue prioritized, make a pledge towards it!
We receive the pledge once the issue is completed & verified
This, along with engagement in the community, helps us know which features are a priority to our users.

3.13rc is out now, time for testing to see which libs we will be waiting on :)

3.13rc is out now, time for testing to see which libs we will be waiting on :)

msgspec for one. https://github.com/jcrist/msgspec/issues/698

Is there any updates or plans for this?

Msgspec have recently merged 3.13 support, so we're just waiting for the next release there.

Related PR:

#3850


Fix manually entering time in datetimepicker-s in Safari

When you try to manually edit the time of a datetimepicker (for example trying to change the start date/time metadata field of an event), instead of using the combo boxes from the picker, Safari does weird things to your focus, which makes the task really difficult.
This is a known issue in the (seemingly unmaintained) jqueryui-timepicker-addon library. Luckily this patch seems to work around it.
It's a bit of a hack, but the thing we are tampering with here
is related to a feature we are not using, so I don't see the harm. 🤷♀
See also https://trentrichardson.com/examples/timepicker/#alt_examples
in the tab "Options" and "Examples" to (try to) understand
what the option means (you might also need
https://api.jqueryui.com/datepicker/#option-altField)
and so verify that the bug is not Opencast, but in the library already.
Your pull request should…

[x] have a concise title
[x] close an accompanying issue if one exists
[x] be against the correct branch
[x] include migration scripts and documentation, if appropriate
[x] pass automated tests
[x] have a clean commit history
[x] have proper commit messages (title and body) for all commits

Quite a bit uglier, but this should do it. 👀
I don't think there is a nicer way without going upstream, which I don't have high hopes about.


Regular call meeting day update

Problem description
the regular call meeting day was moved to Monday
Expected action
update the Readme.md file accordingly
Additional context
https://github.com/camaraproject/CallForwardingSignal/discussions/102

Fixed by: https://github.com/camaraproject/CallForwardingSignal/pull/106

PR merged


Try to make the CI status more robust

There's a typo in ci.yaml that didn't stop the merge before: https://github.com/rust-num/num-integer/pull/58#issuecomment-1921914776
I'm going to try the merge queue without fixing that to make sure it's now caught.

Nope! I guess success() doesn't look at needs results. I'll try again...


TDD with Enzyme shallow and mount?

Sorry if I'm probably asking something stupid, but I don't find an answer to this question...
When I render a component using shallow or mount, the component is rendered in memory and is not attached to DOM.
This means that, while I run my tests, I don't actually see any output in the browser.
How am I supposed to do Test Driven Development if I can't see if the component I'm developing looks as it should? (css style, sizes etc)
Thanks.

IMO you don't really need to see the component when you're doing functionality to it. I mean you don't test if the component is green. You test perhaps the state of the component. At least that's how I do it.

Yes but in TDT you create the whole component starting from a test. So, how are you supposed to see if the component looks like it should if you never have a chance to see it?
It would be like being playing in Code in the Dark all the day 😨

I see your point. But how do you write a test for something visual? If you can write a test to it you don't have to have a visual feedback because if the test passes then it's ok.
My experience with TDD is short and I might be wrong but you don't need to see the visual representation of the component to write the component. I'm not sure that styling the component would be something that can be tested very easily.

You shouldn't "test" the style, but you should be able to see the result visually while you write the component.
Otherwise you'd have to run the whole app, open a page where the component is loaded, and use this context to style it.
The purpose of TDD is to avoid what I've described above, and just render the significant part of code to let you write tests on it, an see the result.
For example, if you have a dropdown, you want to test that the button is rendered, then you want to test that clicking it, the dropdown will open, and so on.
While you test the functionality, you can style the component.
Or maybe I'm missing something...

The visual styling is an important part of the component but I think TDD cannot address it. That is why I do visual styling and design of the component outside TDD cycle. And to style a component you should be able to take it out of the app context and use some sort of style guide or sandbox for it.
So basically if you can write a test to it, then it can be done inside TDD cycle. And since test should be able to run in a headless CI env (at least in my case) it's important that real browser isn't needed.

About your last sentence, using Xvfb I run my tests on real browsers even on CI. (which makes it easier to find bugs on the browsers the user actually uses)
I see your point about the "style guide / sandbox", but seems tedious having to switch between two environments to create a full component...

I can't decide the CI setup so headless it is with PhantomJS when needed. And with over 300 tests I'd prefer running without browser.
It might be a bit tedious to switch but I'm in a different mindset when I style a component and when I write the functionality.

Can you suggest me any tool for the style guide / sandbox stuff then?
Thanks

Styleguidist is working in our setup.
https://github.com/sapegin/react-styleguidist

Ah, I've tried it few days ago with no luck.. thanks anyway.
Using the Enzyme render, the component isn't rendered in the browser right? It would make possible for me to write a style test with this specific purpose :/

When building a UI in TDD, don't you write acceptance tests first, and then build - and in no case do you need to see the UI while building?

@FezVrasta - hopefully I am understanding your question here...You want to see the output(render) of your component to test it? I've been doing some tests for this myself. I had some issues with shallow().equals(). I've resorted to running assertions off of .debug() which outputs what the render should look like. I haven't noticed a case where this is hacky, so it might help your cause?

Enzyme's single responsibility is testing React component structure, state, props, and so on. If you're looking to test in the browser you can look at test runners like karma, and if you want to visually inspect your site for accuracy you can always run it locally and just look at it. Either way though, this would be out of the scope of enzyme. I encourage you to ask any clarifying questions you still have, but since this isn't actionable for us I'm going to close this out for now!

Sorry if I'm again here asking questions...
I really can't wrap my head around this. Let's say I have an input component.
In the test I focus it, write something inside, press enter to submit etc.
Something doesn't work, the text is not written inside the component.
If I could see what the test is doing, I could easily find that my component doesn't get focused.
Without seeing what the test is doing, I must do a guess work to find the problem.
It just seems pretty convenient to see the output of what your test is doing to easily spot bugs.
How can this problem be solved with Enzyme?


Convert a 3D model

Excuse me, do you need any more requirements for the model? The Cola I created with 3DMAX is not recognized. Can I display the recognition level of the model. Or can we provide the available FBX format model?

Hey @qazqaz12378. Thanks for reaching out. I'm a bit confused, but I'll restate what I think you're asking and we can go from there.
It sounds like you created a model of a real world object using some 3D software. Then, I'm assuming you converted that 3D model into an Object Anchors model (docs). You're now trying to detect your physical object using a HoloLens 2. Is this correct?
Are you using one of our sample applications to detect your object?
Have you reviewed the FAQ in our docs? The "What should I do if the Object Anchors runtime cannot detect my object?" question may be helpful. Also, if you're creating a virtual representation of a physical object from scratch, you'll want to make sure the scale is correct.

Sorry, I can't speak English. I use Google translation
（It sounds like you created a model of a real world object using some 3D software. Then, I'm assuming you converted that 3D model into an Object Anchors model (docs). You're now trying to detect your physical object using a HoloLens 2. Is this correct?） YES
（Are you using one of our sample applications to detect your object?） yes
I use Rubik's cube and coke model, scale is correct

I see. I'm concerned that those objects may be a bit too small. Our recommendation in our best practices indicates to use objects between 1 and 10 meters. Could you try a larger object?

OK, I'm looking for some big objects。
thank you


Edit MDLDocs to use DMX files after first import instead of SMD files, circumventing limitations.

Changes the docs to only use smd files after the decompile step and after that swap to dmx files asap,
circumvents smd file limitations such as the bone limit.
adds information on what is different with usind dmx (material path, renaming materials via qc)

For context

https://discord.com/channels/920776187884732556/1030990903374008331/1129421858991767655


GenAI 10.12

Include:

High level introduction into GenAI
Basic capabilities / concepts & how-tos
Conversational UI as new module
GenAI as new module
Updated Bedrock & OpenAI connector with dependency on GenAI
Moved documents to create a section
Bedrock referral page in the GenAI section

To do:

content/en/docs/appstore/modules/genai/conversational-ui.md // Rik will add details later on Friday

Draft:
Ready for review:

content/en/docs/appstore/modules/genai/bedrock.md // Redirect page (Kasia)
content/en/docs/appstore/modules/genai/genai-commons.md // Rik to validate with the team (Kasia)
content/en/docs/appstore/modules/genai/concepts/_index.md (Mark)
content/en/docs/appstore/modules/genai/concepts/prompt-engineering.md // New document (Mark)
content/en/docs/appstore/modules/genai/concepts/function-calling.md // Small changes to include Bedrock. (Kasia)

Review in progress:

content/en/docs/appstore/modules/genai/_index.md (Kasia)
content/en/docs/appstore/modules/openai/_index.md // Similar changes from Bedrock (Dana)

Reviewed:

content/en/docs/appstore/modules/aws/amazon-bedrock.md -- added operations, included dependency on GenAI commons
content/en/docs/appstore/modules/genai/concepts/rag-example-implementation.md -- minor changes; mainly moved.

content/en/docs/appstore/modules/genai/_index.md is ready for review.
Others will be added when we complete them.

@katarzyna-koltun-mx - can you check that the URLs are consistent and have a think about what the URL structure should be?
I prefer all the docs to have the URL structure /appstore/modules/genai/, but do you think we need more distinction between specific technical solutions?

Case question:
Are we going for "generative AI" as opposed to "Generative AI"?


Nans in generated address data

Hello,
when i follow the generate_data notebook and create synthetic data, the generated fake values contain sometimes nan values for parts of STREET_ADDRESS entities.
Nan values are also in the exemplary data file synth_dataset_v2.json, e.g.
{
"full_text": "I'll meet you at 25615 Tawastintie 72 Apt. 004\nKNIVSTA, nan 18237 after the concert.",
"masked": "I'll meet you at {{STREET_ADDRESS}} after the concert.",
"spans": [
{
"entity_type": "STREET_ADDRESS",
"entity_value": "25615 Tawastintie 72 Apt. 004\nKNIVSTA, nan 18237",
"start_position": 17,
"end_position": 65
}
],
"template_id": 46,
"metadata": null
}
Is this on purpose?
Thanks in advance :)

Address detection is quite challenging. There are some NER models who do a good job at detecting addresses as LOCATION. Due to irregularities in address formats, using rule-based approaches is challenging.
If you have an a-priori knowledge on the types of addresses you are expected to have in your data (e.g. from which countries), you could limit the formats by creating custom recognizers, for example, which only detect 5 digit zip codes and not other types, which might be common in other countries.


1.2.4 release to maven central?

Hi, is there a plan to release v1.2.4 to maven central?
I am interested in particular in the memory leak fix that was merged in 2ea5d9.  I can pull the source myself, but it would be great to be able to pull in the jar the usual way via my pom file, etc.
Thanks!

Hi,
I will take a look. Thanks!
On Wed, Apr 8, 2015 at 18:05 ggggl<EMAIL_ADDRESS>wrote:

Hi, is there a plan to release v1.2.4 to maven central?
I am interested in particular in the memory leak fix that was merged in
2ea5d9. I can pull the source myself, but it would be great to be able to
pull in the jar the usual way via my pom file, etc.
Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/jdeferred/jdeferred/issues/55.

Hi,
Just following up to find out if/when this might be accomplished?
Thanks again!

hiya - my bad - 1.2.4 should already be in the repo!
https://maven-repository.com/artifact/org.jdeferred
cheers,

oh wait it's still in staging for some reason :/

Right, cool, I see that - do you know when it might be moved out of staging?
Thanks!

I just re-performed the release - it should be on maven central shortly! Thanks,

it's there now!
https://maven-repository.com/artifact/org.jdeferred

Thanks for looking into it -
Is there something I am missing though?  Clicking into the 1.2.4 page, I still see the repo URL as https://oss.sonatype.org/content/repositories/staging/org/jdeferred/jdeferred/1.2.4/
Thanks!

doh! that seems to be exactly wht happened last time... sorry abt that - let me check again!

But I can download 1.2.4 from Maven just fine - strange...

It seems to be coming in now, actually - before you tried to re-release I was not finding it, but now I seem to be.  I guess that did work, regardless of the URL I pasted above -
I guess whatever you did worked
thanks!

=) closing!


Auto re-connect support

Can we add support for auto-reconnect when connection is dropped?

That is out of the scope of this project. If you want such features I would suggest looking at things like Primus or reconnecting-websocket

Ok. Thanks.

What about adding at least a connect method for client so that we can re-connect when connection is dropped. I use it in nodejs and reconnection is desired there.

Just create a new instance?

What happens to old event listeners then? Do I need to bind them again with .on?

Of course, as it's new instance.

Ok, cool. Thanks for quick support.

@adityapatadia ,  do you have snippet to share the way you don auto re connect.
Or did you used primus or reconnecting-websocket modues

I used simple setTimeout based logic at that time. When connection dropped, I re-connected it again after some delay. But somehow it was not very reliable so I switched to socket.io for my project.

Primus is super bloated. you have already emitted an 'unexpected-response' event which further calls an abortHandshake method where you are emitting an 'error' event , what you could do is have an extra option inside ws options in the constructor that tries to establish the initial connection again when 'error' or 'unexpected-response' events are emitted and also a setInterval that checks for 'WebSocket.readyState === OPEN'


ChartsWidget for common multi chart usage

This for pre-review
Remaining tasks I am working on now

Separate Line and Scatter plots
Comments
isort & black

see multi_agent_simulation_chart.py for implementation and asyncio run fix.

Thanks @anirudh2, This is a great chance for me to understand the commit format and workflow with this draft PR.
Though a little clarificiation I may need 🦆
I believe for a real PR, please correct below steps

Open issue for new chart feature
Create branch for it
Add the chart.py and commit
Update the multi_agent_simulation.py commit
Create PR & assign for review
Merge , and delete branch

Thanks @anirudh2, This is a great chance for me to understand the commit format and workflow with this draft PR. Though a little clarificiation I may need duck I believe for a real PR, please correct below steps

Open issue for new chart feature
Create branch for it
Add the chart.py and commit
Update the multi_agent_simulation.py commit
Create PR & assign for review
Merge , and delete branch

It's not so much to do with the above steps. The problem comes from your PR both a) moving code around, and b) refactoring. Those are at least two distinct steps, and, therefore, two distinct PRs. Also, the leap between unrefactored code and refactored code should be incremental, so you probably have multiple PRs there. In general, I try to split up my work into the smallest possible units, each of which would still work. Each one of those then becomes a PR. In my code, this often means that I'm committing each time I write a new function or something similar, since a function is immediately useful, even if it's not actively being used.

@anirudh2 I think you mean more iterations/commits.  Unfortunately, I've directly wrote the 500 lines of code in 2 steps as first one to wrap the functionality which was already there and next redefine types & documentation.

Nope. I mean more PRs. Incremental change is the name of the game. At each incremental change, you get it approved. That's how you don't end up with 500 lines of code that no one sees coming until the PR comes in. If you submit more frequent PRs with fewer lines of code, they become easier to review and to have a discussion about.

@anirudh2 how about below PRs

Separate charting functionality from multi agent simulation (move)
Refactor multi agent simulation charting to remove duplication (change)
Wrap multi agent charting into structures to simplify bootstrapping/configuration (change)
Refactor missing graphics parameter types (change)

PS: I have opened a single enhancement issue for above PRs, do I need to open multiple issues for each PR ?

@aasseman Tbh, I've not looked at what Tumay is refactoring to know if his plan is reasonable. Do you have an opinion?
@tumaysem I'm of the opinion that each issue should encompass only a single topic of discussion. Again, I don't know enough about the code you're refactoring to comment, so I'll defer to @aasseman

I have another question about this item "PRs that move code should not also change code".
I will be moving "chart functionality" out of "multi agent simulation" and if we assume each commit should be a working one.  I can't think of a way accomplishing this without creating a change on the "multi agent simulation". Even this raises additional shared state design requirement between the "multi agent simulation" and moved code "chart functionality".

Good question. Let me give an example using the Gilded Rose kata. If you've not seen this before, this is a classic refactoring kata - a short (< 20 minute) exercise for practicing good refactoring practices.
class GildedRose(object):

    def __init__(self, items):
        self.items = items

    def update_quality(self):
        for item in self.items:
            if item.name != "Aged Brie" and item.name != "Backstage passes to a TAFKAL80ETC concert":
                if item.quality > 0:
                    if item.name != "Sulfuras, Hand of Ragnaros":
                        item.quality = item.quality - 1
            else:
                if item.quality < 50:
                    item.quality = item.quality + 1
                    if item.name == "Backstage passes to a TAFKAL80ETC concert":
                        if item.sell_in < 11:
                            if item.quality < 50:
                                item.quality = item.quality + 1
                        if item.sell_in < 6:
                            if item.quality < 50:
                                item.quality = item.quality + 1
            if item.name != "Sulfuras, Hand of Ragnaros":
                item.sell_in = item.sell_in - 1
            if item.sell_in < 0:
                if item.name != "Aged Brie":
                    if item.name != "Backstage passes to a TAFKAL80ETC concert":
                        if item.quality > 0:
                            if item.name != "Sulfuras, Hand of Ragnaros":
                                item.quality = item.quality - 1
                    else:
                        item.quality = item.quality - item.quality
                else:
                    if item.quality < 50:
                        item.quality = item.quality + 1

class Item:
    def __init__(self, name, sell_in, quality):
        self.name = name
        self.sell_in = sell_in
        self.quality = quality

    def __repr__(self):
        return "%s, %s, %s" % (self.name, self.sell_in, self.quality)

Here, what I might do is identify one thing that I want to refactor at a time - say "Aged Brie" because that's the shortest one to type haha.
PR 1
I'd try to identify what is happening to an Item with name "Aged Brie" as it passes through the update_quality() method. Based on this, I'd write some unit tests to confirm my understanding of the behaviour if they aren't already implemented.
PR 2
Then, I'd implement a method to handle the aged brie case. The code here would not necessarily be the best code, but I'd make sure it passes the tests.
PR 3
Without creating any new objects, I'd now try to clean up the aged brie method a bit, at each refactor making sure I'm still passing the tests. Of key importance while refactoring and implementing new code is the software engineering principle KISS. I've also not yet modified the update_quality() method.
PR 4, 5, and 6
Repeat for "Sulfuras"
PR 7, 8 and 9
Repeat for "Backstage"
PR 10, 11, and 12
Repeat for base case
PR 13
Refactor update_quality() to use new methods, which I have confidence in since I've tested them throughout.
PR 14 - N
See if you can make your solution simpler by creating new objects or helper methods. For each new object or helper, write tests.
At each point, the only time I create a new object or method is to make the code cleaner. I never add something because it's a more clever solution. KISS is one of the driving principles behind good design because it makes your code easier for others to follow and for you to debug. It's always worth remembering this classic quote from Clean Code.
Note
Personally, I'm a fan of trunk-based dev, so when doing that, you'd replace "PR" above with "commit." In either case, the idea is add to the main repo frequently, with small changes. This 1) prevents others from duplicating your effort accidentally since they don't know you're working on it 2) ensures people are able to follow your changes (and revert them) easily and 3) enables us to fail fast. Say you and I are working on the same codebase, and I write some code that causes your code to fail. I'd rather know about that after implementing 10 lines of code than after implementing 1000 lines of code. It's easier for me to narrow down where the problem is coming from in the former case. It's also easier for the repo maintainer to revert my small commit without hindering other people's progress. There are other reasons to favour trunk-based dev imo, but I'll leave it there for now.

I start working on the real PRs, thank you @anirudh2 for your patience and support.

Also closing the draft PR thread and deleting related branch.


Added di composition snippet

Нужен перевод

this described in Angular doc https://angular.io/guide/hierarchical-dependency-injection#component-level-injectors
do we need to have this as a snippet?

@fetis yep, because this is not a popular way to using angular di

btw, "DI composition" says nothing for me. Maybe re-phrase it to more clear name?

Can we have a shorter example please


Simple iterables schema generation

Change Summary
schema generation for : list, : tuple and : set annotations.
Related issue number
No
Performance Changes
Not run
Checklist

[x] Unit tests for the changes exist
[x] Tests pass on CI and coverage remains at 100%
[x] Documentation reflects the changes | It was already in docs, this PR just fix
[x] HISTORY.rst has been updated

if this is the first change since a release, please add a new section
include the issue number or this pull request number #<number>
if you're not a regular contributer please include your github username @whatever

ref #330 and #331.

Awesome! :tada:


Mod Versions

Hiya
The Mini Problem I have is that i have:
RSO-MOD 3.7.8 for a Public server and
RSO-MOD 3.8.0 for a Private server
But Factorio sees Both Versions even if i would like to use 3.7.8 in 1 Modpack and the 3.8.0 in a nother pack.
Could it be implemented that you can see/choose Mod version in the Pack that is in the folder ??
Instead for me to go to the mod folder and move 1 mod file or more to a nother folder ?
and So even if i Update All my Mods i can have the Modpack with a certant mod version and only update the version If/When server updates for that Modpack ? but others Dont
My Best Regards
Henrik H Aka Szereka

Not easily possible, no. ModMyFactory was designed to behave in the same way as Factorio itself does to ensure compatibility. Implementing a functionality like you describe would not only require significant changes to how MMF manages mods but would also break compatibility.
I heard that the ability to have multiple different versions of the same mod installed simultaneously is a planned feature for Factorio 0.17. Should this indeed be the case then ModMyFactory will also receive this ability, which at that point should also be rather straight forward to implement. However until 0.17 is actually released and we know for sure I won't make any assumptions.

I've decided to retroactively add this feature to older Factorio versions in preparation for when 0.17 hits. It will be part of MMF version 1.10 whenever it's ready (hopefully in time for 0.17).


Partial fix for #790

This will avoid running the VolumePermissionEnricher for OpenShift. However, the proper solution is to use an appropriate profile where this enricher is not included if you dont want to have this sort of enrichment (which is maybe still a hack ?)
Fixes #790

Current coverage is 15.95% (diff: 0.00%)

Merging #791 into master will decrease coverage by 0.01%

@@             master       #791   diff @@
==========================================
  Files           146        146
  Lines          8025       8033     +8
  Methods           0          0
  Messages          0          0
  Branches       1642       1645     +3
==========================================
  Hits           1282       1282
- Misses         6590       6597     +7
- Partials        153        154     +1

Powered by Codecov. Last update ad53099...8b139cf

IMO this enricher should be opt-in, not opt-out. It is not required for all PV provisioners & as we're learned can actually cause issues.

Would be no problem for me, but then the Fabric8 CD pipeline builds should be started with something like -Dfabric8.profile=cd (or whatever name) where in this profile this enricher is enabled. This would also have the advantage, that one really can fine tune the build for CD and do what is required withou affecting all the other use case.
Would this be an issue to introduce a dedicated profile, @rawlingsj ?

Since there is no feedback yet, and I guess the fix is needed for the CD to work, I'm going to merge this now.
I will also setup a 'fabric8-cd' profile with the things I believe belong to CD and an experimental 'default-ng' with the enricher / generators for a setup for a neutral (i.e. plain Kubernetes / OpenShift) environment. This will happen in an extra PR and can be discussed separately.

[merge]


[Help Required] Is it possible to have a specific tag in tooltip?

What you are struggling with
Hi,
I have a dataset that has two tags, one tag I use as alias and for regexp delimiter. I want to use the second tag for my tooltip (the tag name is host)
What you tried
Tooltip Template:
Value : _host_
Tooltip Template:
Value : _tag_host_

Thanks

I have "Tooltip Template" as "Host: row_name" because each row has the hostname in the first column. Does this help you?

Have u tried the new tag delimiter feature ? https://github.com/yesoreyeram/yesoreyeram-boomtable-panel/blob/master/README.md#tag-delimiter-for-influxdb-and-prometheus----experimental-feature-

Thanks @yesoreyeram  I've tried the tag delimiter, but either it did not work or I did not manage to understand exactly how to use it. Maybe you can post more images? for example, you have {{metric_name}} it was not clear what exactly it needs to be


etcdserver: fix creating member dir

@gyuho I reverted your previous fix since that is a partial fix, which does not cover the discovery case.
I feel this is a easier way to fix the root problem. We should not create member dir before validation.

Got it. LGTM. Thanks for fixing this!

@gyuho Can you also give this a quick test. So we know it does fix https://github.com/coreos/etcd/issues/3827?

Sure, give me a sec.

@xiang90 Just tested manually assigning errors and confirmed that it doesn't create directories when bootstrap fails.


799 | Champagne Tower | C++

Title - 799. Champagne Tower
What will change - C++ solution for 799. Champagne Tower
Type of Issue -
Please add/delete options that are not relevant.

[x] Adding New Code

Programming Language
Please add/delete options that are not relevant.

[x] C++

Self Check

Ask for issue assignment and wait to get assigned to it before making Pull Request.
Add your file in the proper folder
Clean Code and Documentation for better readability
Add Title and Description of the program in the file

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server ✉ - https://discord.gg/CXksGdn
Happy Coding,

@ccocz please assign me to this

Please assign me this.

please assign this to me

@Yashica7 @SSKale1 please assign this issue to me.

@swaingotnochill please assign this issue to me.


amplify publish needs "hosting add" and crashed when publish 2

amplify publish
Please add hosting to your project before publishing your project
Command: amplify hosting add
amplify add hosting
Hosting is already fully enabled.
amplify remove hosting
No resources added for this category
This is updated version of CLI

@emeryaa
I need more information to investigate this issue, please do the following:

remove and reinstall your amplify CLI, to make sure it is not in a corrupted state:

$ npm remove -g @aws-amplify/cli
$ npm install -g @aws-amplify/cli

take a screen shot of the folder structure in inside amplify/backend
send the screen shot to me at<EMAIL_ADDRESS>send the file amplify/backend/amplify-meta.json to me at<EMAIL_ADDRESS>

@emeryaa Please delete the hosting folder in amplify/backend/hosting directory and try adding hosting using the CLI again.

Sorry for spam at other topics. I just dont understand who may delete my
issues about that. I will send you all info with screenshots within minutes.
On Wed, Mar 27, 2019 at 8:50 PM Kaustav Ghosh<EMAIL_ADDRESS>wrote:

@emeryaa https://github.com/emeryaa Please delete the hosting folder in
amplify/backend/hosting directory and try adding hosting using the CLI
again.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-cli/issues/1129#issuecomment-477250064,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZTyrv3QnvxA7692C-7DekQrMPhAeoCZks5va6FygaJpZM4cMg02
.

I had reinstall amplify and sent you data in the attach as you request
On Wed, Mar 27, 2019 at 8:55 PM Den Emeryanov<EMAIL_ADDRESS>wrote:

Sorry for spam at other topics. I just dont understand who may delete my
issues about that. I will send you all info with screenshots within minutes.
On Wed, Mar 27, 2019 at 8:50 PM Kaustav Ghosh<EMAIL_ADDRESS>wrote:

@emeryaa https://github.com/emeryaa Please delete the hosting folder
in amplify/backend/hosting directory and try adding hosting using the CLI
again.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-cli/issues/1129#issuecomment-477250064,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZTyrv3QnvxA7692C-7DekQrMPhAeoCZks5va6FygaJpZM4cMg02
.

Delete hosting folder and add it again  it helps.  But how I can restore
settings of api and auth products? I need configure it manualy again? From
admin panel of aws? as I do it before, when I had crashed publish project
at time before?
At time before I had configure again facebook authorization, cognito auth.
api schema, api resolvers and etc. Reason of it. Crashed publish project
with amplify publish command at the CLI. and Cycle of errors with adde
hosting to the project.
On Wed, Mar 27, 2019 at 9:01 PM Den Emeryanov<EMAIL_ADDRESS>wrote:

I had reinstall amplify and sent you data in the attach as you request
On Wed, Mar 27, 2019 at 8:55 PM Den Emeryanov<EMAIL_ADDRESS>wrote:

Sorry for spam at other topics. I just dont understand who may delete my
issues about that. I will send you all info with screenshots within minutes.
On Wed, Mar 27, 2019 at 8:50 PM Kaustav Ghosh<EMAIL_ADDRESS>wrote:

@emeryaa https://github.com/emeryaa Please delete the hosting folder
in amplify/backend/hosting directory and try adding hosting using the CLI
again.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-cli/issues/1129#issuecomment-477250064,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZTyrv3QnvxA7692C-7DekQrMPhAeoCZks5va6FygaJpZM4cMg02
.

@emeryaa
I did not receive your emails.

New issue with execute codegen api. Screenshot attached
On Wed, Mar 27, 2019 at 9:12 PM Den Emeryanov<EMAIL_ADDRESS>wrote:

Delete hosting folder and add it again  it helps.  But how I can restore
settings of api and auth products? I need configure it manualy again? From
admin panel of aws? as I do it before, when I had crashed publish project
at time before?
At time before I had configure again facebook authorization, cognito auth.
api schema, api resolvers and etc. Reason of it. Crashed publish project
with amplify publish command at the CLI. and Cycle of errors with adde
hosting to the project.
On Wed, Mar 27, 2019 at 9:01 PM Den Emeryanov<EMAIL_ADDRESS>wrote:

I had reinstall amplify and sent you data in the attach as you request
On Wed, Mar 27, 2019 at 8:55 PM Den Emeryanov<EMAIL_ADDRESS>wrote:

Sorry for spam at other topics. I just dont understand who may delete my
issues about that. I will send you all info with screenshots within minutes.
On Wed, Mar 27, 2019 at 8:50 PM Kaustav Ghosh<EMAIL_ADDRESS>wrote:

@emeryaa https://github.com/emeryaa Please delete the hosting folder
in amplify/backend/hosting directory and try adding hosting using the CLI
again.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-cli/issues/1129#issuecomment-477250064,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZTyrv3QnvxA7692C-7DekQrMPhAeoCZks5va6FygaJpZM4cMg02
.

Delete API folder from backend and execute codegen is not helps

Structure of folders

how I can restore
settings of api and auth products?

I need to check your amplify-meta.json, backend-config.json, and team-provider-info.json files, please send them over through email so I can investigate this issue.

Please check it in attach
On Thu, Mar 28, 2019 at 12:17 AM UnleashedMind<EMAIL_ADDRESS>wrote:

I need to check your amplify-meta.json, backend-config.json, and
team-provider-info.json files, please send them over through email so I can
investigate this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-cli/issues/1129#issuecomment-477330844,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZTyrksggLFHXpwcaBRNgTiZdQNGL_oFks5va9HegaJpZM4cMg02
.

Any update here?
On Thu, Mar 28, 2019 at 12:46 AM Den Emeryanov<EMAIL_ADDRESS>wrote:

Please check it in attach
On Thu, Mar 28, 2019 at 12:17 AM UnleashedMind<EMAIL_ADDRESS>wrote:

I need to check your amplify-meta.json, backend-config.json, and
team-provider-info.json files, please send them over through email so I can
investigate this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-cli/issues/1129#issuecomment-477330844,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZTyrksggLFHXpwcaBRNgTiZdQNGL_oFks5va9HegaJpZM4cMg02
.

We will investigate this issue further, but for now, delete the file ".graphqlconfig.yml" and then run amplify codegen add --apiId <the-appsync-project-id>

It's not working. Just a shit! I spend my time to meet with that soft from amazon. and I have to pay money to amazon for his services!  I just confuse that service like amazon have such silly errors at his software.
I spend my time to meet with that soft and I want working decision for that issue and I dont want to meet the CLI of other services.
as Amazon support team member you must to know how to make it work
If words has ends will start the war.

Hello @emeryaa . Sorry you're having difficulties. We want to help make you successful, however we do want all community members to communicate with each other and ask for help in a respectful manner. Please do be aware we have a Code of Conduct that should be followed: https://github.com/aws-amplify/amplify-js/blob/bfa477662591bbd7a92bbb8486778924589e4adb/.github/CODE_OF_CONDUCT.md
Please follow the following steps to get your API  in the Amplify Project using the codegen command.

First delete the <amplify-project-root>/.graphqlconfig.yml file (This step is very crucial since this will get rid of your inconsistent project state)

Run amplify codegen add --apiId <the-appsync-project-id> (Please don't run any other command like amplify add codegen or amplify codegen before running this command)

If you're not successful with this command. Please let me know the contents of your <amplify-project-root> directory and your terminal logs so that I can further assist you.

Yes, but I too confuse why amazon have such silly errors with his soft. This make me some nervous.
Look, today to made modern a website for the world. I need to know JS, be able to project the db, know some of one backend language like a python,ruby, golang, php, need to know how to build apis, maybe later I need to know some additinal language for external fishes. And do I need to fight with such respectful service like amazon? Which it have a lot of services at his stack. And his CLI?? what is it?? Why it make me so nervous? Its basic functions! wtf??!

Yes, and Im not successful with this command. Its not working for me like I said before
this my files at the root directory

this like I execute commands in command line interface

I just newly execute amplify init then amplify codegen add --apiId <the-appsync-project-id>
Its not working for me!

Please update your software ASAP. I need to publish my website to aws. I want to pay my money to amazon and respectivly to you.

@emeryaa Sometimes you can't view .* files on your editor.  It not helps
On Sat, Mar 30, 2019 at 2:07 AM Kaustav Ghosh<EMAIL_ADDRESS>wrote:

@emeryaa https://github.com/emeryaa Sometimes you can't view .* files
on your editor. So, I would recommend removing it from the terminal using rm
.graphqlconfig.yml command from your project root and then running amplify
codegen add --apiId
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-cli/issues/1129#issuecomment-478164236,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZTyrih3XdYEjphtgD-to-4S8FjgYCKFks5vbo6mgaJpZM4cMg02
.

amplify codegen remove
then
amplify codegen add --apiId
but api dont work with this configuration
[{"message":"Request failed with status code 401"}]
I have newly created auth and api. and manualy copy paste settings at admin panel of aws

Deleting amplify/backend/hosting and trying again, worked for me


Update README.md & Improve UI

🛠 Fixes Issue

👨💻 Changes proposed

✔ Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers
📷 Screenshots

@kalashvasaniya Please don't open a PR directly, open an issue first describing what all changes you want to do, and then if someone assigns that you then only submit a PR :(

Also since the same issue is already open multiple times and this PR doesn't have any significant development, hence I am closing this PR as of now :(


[Feature Request] Locking dispensers/droppers

Don’t allow accessing the inventory, but do allow dispensing stuff—a dispenser that can’t dispense would literally just be a worse chest, after all.

This already works because I never disallowed buttons to begin with.


Unable to update to the latest version of Swinject as SwinjectStoryboard depends on an older version of Swinject

SwinjectStoryboard depends on Swinject 2.7.1.
Since we use SwinjectStoryboard in our project, this has been blocking us from using the latest Swinject version.
There is an open issue 169 highlighting this problem.
I'm creating this issue here in the hope that SwinjectStoryboard and Swinject might have some common maintainers.
Please take a look at it.
Thank you.
James

Thanks for the ticket, we'll take a look and fix this ASAP! Sorry for the delay.

Hi @mpdifran, thank you for having a look at this issue.
There is an open PR  created by @BarredEwe to address this.

Merged! Thanks for the contribution.


Doesn't work with Arduino Uno WiFi rev2 radio chip (NINA)

I tried verifying one of the examples given but I got an error that says that the library currently supports only ESP chips.
I really don't wanna buy a new WiFi chip to plug into my already WiFi board so is could this be a feature?
Or is there any other work around

WiFiNINA devices are not supported yet. See #66


Use symbolic names for offsets in the unwind library

(This is sitting atop #345 at the moment, just to make sure CI's happy.)