design question: external reactor

Heya, newbie question here. I was wondering why you chose to bundle in the event loop inside the lib instead of taking in an external event loop. I know this was impossible in mio (at least I tried and failed), but was kinda hoping it'd be possible with tokio.
E.g. instead of this:
fn main() {
    let url = "https://replicate.npmjs.com/_changes".to_string();
    let mut changes = ChangesStream::new(url);

    changes.on(|change| {
        io::stdout().write_all(&change).unwrap();
    });

    changes.run();
}

I figured it'd be neat to be able to do this:
fn main() {
  let url = "https://replicate.npmjs.com/_changes".to_string();
  let mut changes = ChangesStream::new(url);
  let mut core = reactor::Core::new()

  changes.on(|change| {
    // And now for example we could use the same
    // core to do all sorts of timer stuff in here.
    io::stdout().write_all(&change).unwrap();
  });

  // slightly assuming core is able to run multiple things
  // and not just a single program; it'd be kinda moot otherwise hah
  core.run(changes);
}

I don't know; coming from Node I think I'm just very used to having a single event loop onto which all IO is attached; I was wondering if you'd have thoughts on this. Thanks heaps! :sparkles:

Hey @yoshuawuyts !
So, first of all, this might not even be making the best use of tokio; we're open to general improvements. I feel like -core isn't necessarily the right place at the stack here; we'll figure it out.
But, beyond that, it was mostly trying to emulate the node api as close as possible. Since node's event loop is implicit, we tried to make it implicit. There's also not a reason we couldn't expose both....

hey @yoshuawuyts ! so iirc when i was working on this with @seanmonstar we found that keeping the loop outside the changes-stream was forcing a lot of unnecessary complication in trying to coordinate communication between the client and the loop.
as @steveklabnik when we originally designed the interface, we had considered both interfaces- so it is def possible that it was just an issue we ran into while developing and we could get rid of it now. i might try that out now and see how it goes.
fyi, PRs welcome, so if you ever wanna play around and suggest something, please do!

@yoshuawuyts what do you think of https://github.com/ashleygwilliams/changes-stream-rust/pull/15/files?

We worked on the original API so as to feel familiar to the Node API, but I do have some thoughts as to how it can feel more natural to the Rust futures landscape. The design I imagine would be to return a futures::Stream, which allows consumers to pull items off when they want it. The current design doesn't allow that, so if a callback at some point cannot handle another change set, it has no way of signaling that.
Here's some code, since that speaks better than I do:
pub struct ChangeStream { .. }

impl ChangeStream {
    pub fn changes(&self) -> Changes {
        // details shmetails...
    }
}

pub struct Changes { .. }

impl Stream for Changes {
    type Item = Package;
    type Error = ChangesError;

    fn poll(&mut self) -> Poll<Package, ChangesError> {
        let chunk = try_ready!(self.hyper_response_body.poll());
        let package: Package = try!(serde::from_slice(&chunk));
        Ok(Async::Ready(Some(package)))
    }
}

Then, someone can consume the Stream when they want. It's simple to make it act like the current design, just use stream.for_each(|package| ...), but it also means someone can ask for packages at a different rate.
let mut central_event_loop = Core::new().unwrap();
let stream = ChangeStream::new(url, &core.handle);
let changes = stream.changes();

let work = changes.for_each(|package| {
    println!("package = {:?}", package);
    Ok(())
});

// use this thread to run this forever, like current design
central_event_loop.run(work);

// or, spawn this work onto the event loop, letting it run by whomever actually owns it
central_event_loop.handle().spawn(work);

@ashleygwilliams nice, I'm digging it!


History tab AppBar color does not fit theme color

What

[ ] History tab AppBar color does not fit theme color

I would like to work on this issue. Also, could you please help me with where I could find the mockups?

The mocks are all on Figma, but there is sadly no way to make them publicly available, but here they are.
But here they are @GowthamGoush

From them it looks it's not a color problem but more a matter of removing it's elevation / making it flat.

Got it, thank you @M123-dev!

I fixed the elevation of the app bar. Should I also consider changing the color of the status bar? (Currently transparent)

I think you can leave it white for the moment, some of the current AppBar's are probably going to change  to it or get removed as well

Alright, I will raise a pr for the elevation alone.

Also, I wished to convey that mocks are available publicly. May I contact you on slack regarding this since you mentioned that it is not available for the public?

@GowthamGoush actually there is a way I didn't know about until now, thanks @teolemon. It can be visited here: https://www.figma.com/file/lhRhMulB4Ek9NYDWl3FxAo/Fellowship-Jam-file?node-id=155%3A1991
You can switch between the different pages by pressing on the figma logo on the top left

That's cool. Thanks for the quick response


Add flake8-blind-except

@JonathanPlasse - Before I cut a release for this: I'm now realizing that this conflicts with a flake8-bugbear rule. How would you feel about changing this rule to use a different prefix, like BE or BLE?

It is ok with me. I can update it.

Thanks :)


REST capabilities

Only thing that is missing to implement REST is JSON encode/decode functions. It was recently discussed (and declined) here https://github.com/love2d/love/issues/1548.
Maybe this library would be the right place to also include JSON serialization and deserialization functions?
For example, LÖVR has its own implementation of http library, and also bundles CJSON.

No. There are many JSON encode/decode in Lua, both pure Lua and C modules. Providing JSON encoding/decoding capabilities is out-of-scope of this library.


Testing Docopt throws a DocoptExit when getting args from a different module

I'm trying to test my module, using this example. Here's some relevant code:
junc.py
"""
Usage:
    junc list [--json]
    junc connect <name>
    junc add [(<name> <username> <ip>)] [<location>]
    junc remove <name>
    junc backup [<file>]
    junc restore [<file>]
"""

# More irrelevant Python here

tests/test_junc.py:
from docopt import docopt

import junc # This import is fine
doc = junc.__doc__

args = docopt(doc, ['junc', 'list']) # This line throws DocoptExit

There's more to these files but I'm shortening
Previously mentioned line throws a DocoptExit. Here's the output when running pytest:
junc/tests/test_junc.py:9: in <module>
    args = docopt(doc, ['junc', 'list'])
../../../envs/main3/lib/python3.6/site-packages/docopt.py:579: in docopt
    raise DocoptExit()
E   docopt.DocoptExit: Usage:
E       junc list [--json]
E       junc connect <name>
E       junc add [(<name> <username> <ip>)] [<location>]
E       junc remove <name>
E       junc backup [<file>]
E       junc restore [<file>]

Any ideas?

docopt expects args[1:] rather than args.  Try with:
args = docopt(doc, ['list']) # note 'junc' not passed as arg

https://github.com/docopt/docopt/blob/6879155f77855ea29977ccb96ad6bc09b55d567f/docopt.py#L553

Thought that I tried that but I guess not. This fixes it. Thanks @SeeSpotRun. PEBKAC.


How to use jetson-utils as submodule

Hey, great work with this library and jetson-inference.
I have some problem using this library as submodule, may I have some kind of assistance? I also think that the CMakeList is broken (it uses definition that should not exist) but I'm a novice in using CMake.
Thanks

Hi @fduxvtech, I would just install jetson-inference, which will also install jetson-utils.  Then you can use jetson-utils from external projects like this:  https://github.com/dusty-nv/jetson-inference/blob/master/examples/my-recognition/CMakeLists.txt

Hi @dusty-nv, I'm from a different account(same person).
I'd l like to modify some stuff and rebuild when needed instead of installing every time, so my question about the submodule if that make sense. I don't know a better way than using the submodule.

If you add it in your main CMakeLists.txt like here, does it build?   https://github.com/dusty-nv/jetson-inference/blob/19ed62150b3e9499bad2ed6be1960dd38002bb7d/CMakeLists.txt#L164
You may also need to set these like I do in the jetson-inference/CMakeLists.txt
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/utils/cuda" )
find_package(CUDA)
message("-- CUDA version: ${CUDA_VERSION}")

set(
	CUDA_NVCC_FLAGS
	${CUDA_NVCC_FLAGS};
    -O3
	-gencode arch=compute_53,code=sm_53
	-gencode arch=compute_62,code=sm_62
)

if(CUDA_VERSION_MAJOR GREATER 9)
	message("-- CUDA ${CUDA_VERSION_MAJOR} detected, enabling SM_72")

	set(
		CUDA_NVCC_FLAGS
		${CUDA_NVCC_FLAGS};
		-gencode arch=compute_72,code=sm_72
	)
endif()

# setup project output paths
set(PROJECT_OUTPUT_DIR  ${PROJECT_BINARY_DIR}/${CMAKE_SYSTEM_PROCESSOR})
set(PROJECT_INCLUDE_DIR ${PROJECT_OUTPUT_DIR}/include)

file(MAKE_DIRECTORY ${PROJECT_INCLUDE_DIR})
file(MAKE_DIRECTORY ${PROJECT_OUTPUT_DIR}/bin)

message("-- system arch:  ${CMAKE_SYSTEM_PROCESSOR}")
message("-- output path:  ${PROJECT_OUTPUT_DIR}")

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_OUTPUT_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_OUTPUT_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_OUTPUT_DIR}/lib)

# build C/C++ library
include_directories(${PROJECT_INCLUDE_DIR} ${PROJECT_INCLUDE_DIR}/jetson-inference ${PROJECT_INCLUDE_DIR}/jetson-utils)
include_directories(/usr/include/gstreamer-1.0 /usr/lib/aarch64-linux-gnu/gstreamer-1.0/include /usr/include/glib-2.0 /usr/include/libxml2 /usr/lib/aarch64-linux-gnu/glib-2.0/include/)

Ok I'll try this in a few days, I'll return to you eventually, but thanks for now!


AVX-512 compile error on macOS Clang

Describe the bug
Clean clone of Wasmer fails to compile on MacOS due to AVX-512 error when compiling assembly code.
The actual compilation command that fails (full compilation log below):
"cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-Wall" "-Wextra" "-std=c11" "-o" "wasmer/target/debug/build/blake3-da163d92031ce8e8/out/c/blake3_avx512_x86-64_unix.o" "-c" "c/blake3_avx512_x86-64_unix.S"
cargo:warning=c/blake3_avx512_x86-64_unix.S:2315:9: error: instruction requires: AVX-512 ISA AVX-512 VL ISA
cargo:warning=        vpxord xmm3, xmm3, xmm0

Compilation works if  -march=skylake-avx512 is added to command above, the error happens because Clang by default does not enable AVX-512 intrinsics since they are not supported by my CPU.
Additional context

Full compilation log:
error: failed to run custom build command for `blake3 v0.3.1`

Caused by:
  process didn't exit successfully: `wasmer/target/debug/build/blake3-32d62a0f85ffa978/build-script-build` (exit code: 1)
--- stdout
cargo:rerun-if-env-changed=CARGO_FEATURE_PURE
cargo:rerun-if-env-changed=CARGO_FEATURE_PURE
TARGET = Some("x86_64-apple-darwin")
HOST = Some("x86_64-apple-darwin")
CC_x86_64-apple-darwin = None
CC_x86_64_apple_darwin = None
HOST_CC = None
CC = None
CFLAGS_x86_64-apple-darwin = None
CFLAGS_x86_64_apple_darwin = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2,sse3,ssse3")
CC_x86_64-apple-darwin = None
CC_x86_64_apple_darwin = None
HOST_CC = None
CC = None
CFLAGS_x86_64-apple-darwin = None
CFLAGS_x86_64_apple_darwin = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2,sse3,ssse3")
cargo:rerun-if-env-changed=CARGO_FEATURE_PREFER_INTRINSICS
TARGET = Some("x86_64-apple-darwin")
HOST = Some("x86_64-apple-darwin")
CC_x86_64-apple-darwin = None
CC_x86_64_apple_darwin = None
HOST_CC = None
CC = None
CFLAGS_x86_64-apple-darwin = None
CFLAGS_x86_64_apple_darwin = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2,sse3,ssse3")
CC_x86_64-apple-darwin = None
CC_x86_64_apple_darwin = None
HOST_CC = None
CC = None
CFLAGS_x86_64-apple-darwin = None
CFLAGS_x86_64_apple_darwin = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2,sse3,ssse3")
cargo:rerun-if-env-changed=CARGO_FEATURE_PURE
cargo:rerun-if-env-changed=CARGO_FEATURE_PREFER_INTRINSICS
cargo:rustc-cfg=blake3_sse41_ffi
cargo:rustc-cfg=blake3_avx2_ffi
cargo:rustc-cfg=blake3_avx512_ffi
TARGET = Some("x86_64-apple-darwin")
OPT_LEVEL = Some("0")
HOST = Some("x86_64-apple-darwin")
CC_x86_64-apple-darwin = None
CC_x86_64_apple_darwin = None
HOST_CC = None
CC = None
CFLAGS_x86_64-apple-darwin = None
CFLAGS_x86_64_apple_darwin = None
HOST_CFLAGS = None
CFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("true")
CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2,sse3,ssse3")
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-Wall" "-Wextra" "-std=c11" "-o" "wasmer/target/debug/build/blake3-da163d92031ce8e8/out/c/blake3_sse41_x86-64_unix.o" "-c" "c/blake3_sse41_x86-64_unix.S"
exit code: 0
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-Wall" "-Wextra" "-std=c11" "-o" "wasmer/target/debug/build/blake3-da163d92031ce8e8/out/c/blake3_avx2_x86-64_unix.o" "-c" "c/blake3_avx2_x86-64_unix.S"
exit code: 0
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-Wall" "-Wextra" "-std=c11" "-o" "wasmer/target/debug/build/blake3-da163d92031ce8e8/out/c/blake3_avx512_x86-64_unix.o" "-c" "c/blake3_avx512_x86-64_unix.S"
cargo:warning=c/blake3_avx512_x86-64_unix.S:28:9: error: instruction requires: AVX-512 ISA
cargo:warning=        kmovw k1, r9d
cargo:warning=        ^
cargo:warning=c/blake3_avx512_x86-64_unix.S:38:9: error: instruction requires: AVX-512 ISA AVX-512 VL ISA
cargo:warning=        vpcmpltud k2, ymm2, ymm0
cargo:warning=        ^

rustc 1.42.0 (b8cedc004 2020-03-09) | x86_64

Output of sysctl -a | grep machdep.cpu.features:
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C

To note, no support for AVX-512.
Related issue from Wasmer: https://github.com/wasmerio/wasmer/issues/1373

We do have macOS machines in our Github Actions CI runs, and I can confirm on at least this run that they don't support AVX-512. So maybe this problem is specific to a certain compiler version? I will add some printing to the CI run to show exactly what compiler version is in use, and I'll see if I can repro this on a local macOS machine. clang version 9.0.1 does not repro on my Linux machine.

Compilation works if -march=skylake-avx512 is added to command above

This suggests a likely workaround will be to add -mavx512f -mavx512vl to that invocation of the compiler, as we do with the intrinsics-based implementation. (Runtime CPU feature detection will prevent us from actually executing this code on a machine that doesn't support the instructions.) With GCC it seems like

Seems like it might be related to these:
https://bugs.llvm.org/show_bug.cgi?id=39875
https://bugs.llvm.org/show_bug.cgi?id=36202
Those links report that the problem may have been fixed with Clang 7.0. It might make sense to work around older Clang nonetheless?

Seems like it might be related to these:
https://bugs.llvm.org/show_bug.cgi?id=39875
https://bugs.llvm.org/show_bug.cgi?id=36202
Those links report that the problem may have been fixed with Clang 7.0. It might make sense to work around older Clang nonetheless?

Saw that as well when initially searching for the issue, but disregarded it because in my case Clang is pretty recent.
clang --version
Apple LLVM version 10.0.0 (clang-1<IP_ADDRESS>)
Target: x86_64-apple-darwin17.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Huh. Can you confirm that -march=skylake-avx512 does work for you, as suggested above? And just to be sure, could you clarify how you're setting the flags?

I'm not able to repro the failure on the macOS Catalina laptop I have here. This command succeeds:
"cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-Wall" "-Wextra" "-std=c11" "-o" "target/debug/build/blake3-787565f4b6ccf4dc/out/c/blake3_avx512_x86-64_unix.o" "-c" "c/blake3_avx512_x86-64_unix.S"
Version info:
Apple clang version 11.0.0 (clang-1<IP_ADDRESS>)
Target: x86_64-apple-darwin19.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

I just added a "print compiler version" step to each CI build. You can see it in this run. It looks like all the macOS CI machines run Clang 11. Is this a 10 vs 11 difference? (This is using the Apple version numbers, which I believe are different from the version numbers we see on Linux.)

Apple LLVM 10 corresponds to upstream LLVM 6.0.1 so the bug Jack pointed out makes sense.

Taking a LLVM 6.0.1 build, we can get it to work with ./clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang -mavx512f -mavx512vl -mavx512dq blake3_avx512_x86-64_unix.S

7ef795d62effe2f59e7aff6d4bbba81e398d23e3 makes it not need -mavx512dq anymore.

I tried to build with that fix on my system but still same result.

Taking a LLVM 6.0.1 build, we can get it to work with ./clang+llvm-6.0.1-x86_64-linux-gnu-ubuntu-16.04/bin/clang -mavx512f -mavx512vl -mavx512dq blake3_avx512_x86-64_unix.S

Can also confirm this works.
Should those arguments be added to build.rs in the build_x86_asm section?

Something like
diff --git a/build.rs b/build.rs
index c2572aa..e3e7122 100644
--- a/build.rs
+++ b/build.rs
@@ -166,6 +166,8 @@ fn build_x86_asm() {
         // explicit workaround for macOS also.
         build.file("c/blake3_sse41_x86-64_unix.S");
         build.file("c/blake3_avx2_x86-64_unix.S");
+        build.flag("-mavx512f");
+        build.flag("-mavx512vl");
         build.file("c/blake3_avx512_x86-64_unix.S");
     }
     build.compile("blake3_ffi");

should work, I guess, but I'd rather not add it unconditionally. You might find yourself with a fairly old gcc version but a binutils that supports AVX-512, and compilation would fail then. So this should only be added if it can be established that the compiler is clang <= 6.0.1 with the integrated assembler.

Yes I need to make some build.rs changes. I've also been interested in refactoring things a little bit, so that for example even if you can't handle the AVX-512 assembly, you still get the SSE4.1 and AVX2 assembly, instead of automatically falling back to intrinsics-only.

You might find yourself with a fairly old gcc version but a binutils that supports AVX-512, and compilation would fail then

The current behavior is to check whether the compiler supports -mavx512 or whatever, and to not even try to compile/assemble any AVX-512 code if it doesn't. (Currently that means falling back to Rust SSE4.1 and AVX2 intrinsics only, but the refactoring I'm talking about doing above will change that to falling back to SSE4.1 and AVX2 assembly instead on x86_64.) So in the case you're describing, the build will still work, but the user will miss out on the AVX-512 implementation, even though in theory they could've successfully assembled it. Do you think it's worth trying to improve that case (binutils supports AVX-512 even though the compiler doesn't), or is that obsolete enough that it's not worth bothering?

Is it not possible to disable the feature on compilation failure, and not rely on whether -mxxxx flags exist?
Either way, that case is fairly unlikely, so I don't have strong opinions one way or another on how to handle it.

That's an option, yes. We could try to build the default way, catch any failures that result, and then try to build again with some different approach. The reason I haven't done that so far, though, is that I'm worried about masking unexpected errors. Like if I go into the AVX-512 assembly and insert some dumb typo, I really want that to break the build. I don't want my bug to cause everyone to silently fall back to a different implementation.

@tritao could you check whether this branch builds on your system (cargo test etc): https://github.com/BLAKE3-team/BLAKE3/tree/buildrs

Sure, just tried it and everything worked, all tests pass, including AVX-512 ones. 👍

Awesome, I'll land it later tonight. The AVX-512 tests will appear to pass, even if your machine doesn't support AVX-512, because they'll short-circuit without testing anything :p (Unfortunately cargo test doesn't have a way to represent skipping a test at runtime.)

Just published v0.3.2 with this fix.


Hover for Show Visualizer shows resource attributes

In this case, hovering over a specific resource in the Show visualizer will show a simple bulleted view of all of the attributes of this resource. I'm not totally sure how many of the defaults we would show or if we would only showcase the values the user explicitly declared in the Bicep file.
Then we could highlight any of the depends on values in a different color (maybe yellow?).
This will help bring added value to the visualizer view.

While not exactly the same feature, it is possible to double-click a resource in the visualizer to "go to definition" and see the bicep code for that resource, which serves a similar need.

Thanks @alex-frankel for that extra info. For a low-cost alternative with this idea. Is there any way that on hover we could pop up "Double click to go to resource".
@StephenWeatherford  or @bhsubra may know as well.
Would this work even if the user closed the bicep file and left the visualizer open? As in, would double clicking a resource in the Viz open the bicep file and take them to the resource in question?

Pretty sure hover is markdown, so we can put whatever in it.  Could probably even put in a link to go to the resource.

@StephenWeatherford do you mean like a link to go to resource in Azure portal? Or go to resource in the Bicep file (which already exists)?


Page name in new tab feature

Hi!
It is a great work you are doing with this Enhancer. I am using it since I knew it exists. One of the features I've been waiting is the multiple tabs in the same window, I really appreciate, but I miss something that probably you already are thinking of it: Put the name of the page in each tab. Right now in any tab always shows "notion.so".
I'll be waiting for many other features.
Kind regards,

For most users, it does show the page name. Showing "notion.so" is a bug.
Please add more information to https://github.com/dragonwocky/notion-enhancer/issues/196 with what platform you are on and screenshots of what you get when you open the devtools consoles (on mac cmd+option+i and alt+cmd+option+i, otherwise ctrl+shift+i and alt+ctrl+shift+i).


demo

Kudos! Thanks for the contribution. Here is a small token of thanks. We hope you showcase this to inspire more contributions and make  better.
issue closed


Limit output event queue size

To prevent the Gradle client from running out of memory
if a task produces large amounts of output in a short time.
The daemon is less affected by this since it usually has a
much larger heap size and can deal even with hundreds
of thousands of events. But the client only has 64m by
default and needs to flush more eagerly.
This is by no means fool-proof. There could still be a process
generating a single line that contains so much text that the
client runs out of memory. But that seems pretty rare compared
to creating lots of separate lines in a short time.
The particular use case was a Webpack task with verbose logging.
Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass sanity check: ./gradlew sanityCheck
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

@eriwen What we talked about the other day ☝

Thanks @oehme! LGTM!

@bot-gradle test and merge

OK, I've already triggered a build for you.

OK, I've already triggered a build for you.

Pre-tested commit build failed.

That test failure seems unrelated - These tests don't even produce much output.

Ping :)

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

I assume the above failures were due to some configuration change on the agents? Merged in master to hopefully fix that.

Thanks for being reactive, I was going to rebase it or ask you that.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

CI looks completely borked to me - Couldn't lock cache directory

I just rebased on the latest master, we had some infra issues with CI. Let's see if it goes better now.

@bot-gradle test QF

Sorry some internal error occurs, please contact the administrator @blindpirate

@bot-gradle test QF

OK, I've already triggered QuickFeedback build for you.

@bot-gradle test and merge

Your PR is queued because #15979 is being built.

OK, I've already triggered a build for you.


I have some issues about plugins

when i click the bulid button it doesn't work and it occured
Uncaught Error: Scene must have a bounding radius less than 500m. Reduce size, filter large objects out, or run the plugin locally.
i use aframe 1.4.0
this is my code
https://codepen.io/afpdmbla-the-encoder/pen/yLqgbaa

You have lots of errors in the console, first use the latest versions that are compatible with aframe 1.4.0, those are currently:
<script src="https://aframe.io/releases/1.4.1/aframe.min.js"></script>
<script<EMAIL_ADDRESS><script<EMAIL_ADDRESS>
It seems to be an issue with
https://github.com/donmccurdy/aframe-inspector-plugin-recast
not aframe-extras per se. This plugin wasn't updated for a long time. I don't know much about it myself.

After you updated the versions, try with a simpler scene first, just primitive planes, a box on it etc. Look if it works, then add your own glb so you can pin point what model gives you an issue.

thanks!

can i ask one more? I have some problems about "jump-ability","kinematic-body","static-body","dynamic-body"..... Does it work in Aframe 1.4.1?
And how can I use kinematic-body & nav-mesh?
when i use both of them kinematic body cognized navmesh by square

this is my Aframe Scene when i use jump-ability
https://codepen.io/afpdmbla-the-encoder/pen/yLqgbaa

Also see the dedicated page on the wiki: https://aframe.wiki/en/#!pages/physics.md


No exit code on errors?

Slsa doesn't throw an exit code if something in the workflow fails? Expected exit code > 0 ?
---------- Preparing pico-de-galo SLSA ----------
---------- Logging in to Docker registry: *** ----------
Error response from daemon: Get "https://***/v2/": dial tcp: lookup ***: Temporary failure in name resolution
---------- Clean up Google Cloud stuff ----------

Example workflow run: https://github.com/navikt/omsorgsdager/actions/runs/4362091341/jobs/7626603426

This repo will be archived so closing this issue.


Functionality lost in move from 2.1 to 2.3 - accessControlAllowOrigin

Feature

Feature
In 2.1, it was possible to set accessControlAllowOrigin to be: origin-list-or-null.  When using accessControlAllowCredentials to be true, the Access Control Allow Origin should match the Origin in the HTTP request, and not be "*".
In 2.3, the log for middleware/headers matches "*" or a specific origin, but not provide a mechanism to copy the origin header.
This is a feature request to re-add the functionality in.  I am open to provide a patch for this.

Hello,
https://github.com/traefik/traefik/pull/6785#issuecomment-652907156

Hello @dbrown-verimatrix  ,
We've looked at your issue, and we found an existing issue that deals with this subject.
Therefore, we will close this issue as a duplicate in favor of #6785.
Thus, we encourage you to participate in the other issue.
Thank you for your contribution.


Suggestion

Fix boxes in esp
fix bhop
fix noflash
fix triggerbot
add aimbot and silent aim (if possible)
add radar hack
add spectator alert
add skinchanger (if possible)
add granade prediction

Download
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Thanks for the suggestions.
A-lot of these would bring the red trust factor chance up on the cheat.
Which we don't want to do at this time. That cheat is no longer receiving any major updates unless it's to fix a fatal error.

Download
https://www.mediafire.com/file/czdodbba054p738/fix.rar/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/czdodbba054p738/fix.rar/file
password: changeme
In the installer menu, select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

@g0ldyy just remove this whole "issue", bcuz i keep getting emails everyday from bots


Be more strict about versionlock strings

This commit locks down the versionlock defined type using a more
comprehensive regular expression, storing the Pattern in a type alias.
Previously two simple regular expressions were used, but they allowed
for invalid inputs with wildcards that spanned multiple fields--
wildcards are only permitted within an individual field.
Fixes #35

thanks!


Add change log for v0.6.4

Description

References

Testing

[ ] This change adds test coverage for new/changed/fixed functionality

Checklist

[x] I have read and agreed to the terms within the Auth0 Code of Conduct.
[x] I have read the Auth0 General Contribution Guidelines.
[x] I have reviewed my own code beforehand.
[x] I have added documentation for new/changed functionality in this PR.
[x] All active GitHub checks for tests, formatting, and security are passing.
[x] The correct base branch is being used, if not main.

Codecov Report

Merging #72 (2abe660) into main (a3b52ca) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #72   +/-   ##
=======================================
  Coverage   94.59%   94.59%
=======================================
  Files          33       33
  Lines        5555     5555
=======================================
  Hits         5255     5255
  Misses        240      240
  Partials       60       60

Continue to review full report at Codecov.

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


Authorization issue when calling az policy assignment create with policy id.

Describe the bug
If I run:
az policy assignment create --name 'Allowed locations' --policy "/providers/Microsoft.Authorization/policyDefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c" -p '{\"listOfAllowedLocations\":{\"value\":[\"westeurope\",\"northeurope\",\"eastus\"]}}' -g 'Resource Group Name'
I get the following error:
The client 'live.com#[my account] with object id '[GUID]' does not have authorization to perform action 'Microsoft.Authorization/policyDefinitions/Microsoft.Authorization/e56962a6-4747-49cd-b67b-bf8b01975c4c/read' over scope '/providers/Microsoft.Authorization/policyDefinitions/providers/Microsoft.Authorization/policyDefinitions'.
To Reproduce
Run:
az policy assignment create --name 'Allowed locations' --policy "/providers/Microsoft.Authorization/policyDefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c" -p '{\"listOfAllowedLocations\":{\"value\":[\"westeurope\",\"northeurope\",\"eastus\"]}}' -g 'Resource Group Name'
Expected behavior
The cli help (az policy assignment create -h) states:  --policy: Name or id of the policy definition. Therefore I expect the same result as when running the command with just the name of the policy:
az policy assignment create --name 'Allowed locations' --policy "e56962a6-4747-49cd-b67b-bf8b01975c4c" -p '{\"listOfAllowedLocations\":{\"value\":[\"westeurope\",\"northeurope\",\"eastus\"]}}' -g 'Resource Group Name'
which results in:
{                                                                                "description": null,                                                                                "displayName": null,                                                                                "id": "/subscriptions/[subscription id]/resourceGroups/[resource group]/providers/Microsoft.Authorization/policyAssignments/Allowed locations",                                                 "metadata": null,                                                                                "name": "Allowed locations",                                                                                "notScopes": null,                                                                                "parameters": {                                                                                "listOfAllowedLocations": {                                                                                "value": [                                                                                "westeurope",                                                                                "northeurope",                                                                                "eastus"                                                                                ]                                                                                }                                                                                },                                                                                "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c",                                                                                "resourceGroup": "[resource group]",                                                                                "scope": "/subscriptions/[subscription id]/resourceGroups/[resource group]",                                                                                "sku": {                                                                                "name": "A0",                                                                                "tier": "Free"                                                                                },                                                                                "type": "Microsoft.Authorization/policyAssignments"                                                                                }
Environment summary
azure-cli (2.0.31)
Python (Windows) 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)]
Additional context
Thanks for your work and help!

Howdy,
Thanks for the high-quality repro, it made approaching this issue easy. The issue you're encountering is that the policy ID that you're providing does not include a subscription ID and is therefor is not matching this regex. You can fix this issue by adding /subscriptions/${AZURE_SUBSCRIPTION_ID} to the front of the value you're currently providing for --policy.
That said, the error message that is returned is pretty unhelpful. I'm going to spend a little more time this afternoon seeing if there's something I can do to fix that before closing this issue.

Frustratingly, it seems like if you run:
az policy assignment create --name 'Allowed locations' --policy "ni" -p '{"listOfAllowedLocations":{"value":["westeurope","northeurope","eastus"]}}' -g 'Resource Group Name'

you get back a reasonably good error message: "The policy definition 'ni' could not be found." But if you run:
az policy assignment create --name 'Allowed locations' --policy "knights/ni" -p '{"listOfAllowedLocations":{"value":["westeurope","northeurope","eastus"]}}' -g 'Resource Group Name'

you get the same error message you saw.
I've opened an issue in the Swagger repository, so that hopefully all languages benefit. However, for the meantime, I'm going to add a check to ensure that the CLI handles this more gracefully.

I'm going to unassign myself from this, as we're blocked until the next version (the current version is 0.6.0 at time of writing.)

add to S165.


Merge: merge 0.16.1

merge ledgetech/lua-resty-http  0.16.1 to api7/lua-resty-http
refer to https://github.com/ledgetech/lua-resty-http/releases/tag/v0.16.1
Should I increase version from 0.1.0 to 0.1.1 ?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 3 committers have signed the CLA.:x: jianzhou:x: pintsized:x: Tieskejianzhou seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


A bug with createLayer and getTilesWithinShape

Version

Phaser Version: v3.50.0-beta.10

Operating system: Windows 10

Browser: Chrome

Description
A error with createLayer and  map.getTilesWithinShape(rect, { isColliding: onlyColliding });

Example Test Code
LINK TO EXAMPLE.

Additional Information

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.


Setup alerts for broken data pipelines

Describe the feature you'd like to request
We currently don't have any alerts for any of our pipelines failing other than manually checking right now. We should have automated checks for ourselves.
Describe the solution you'd like
Some kind of automated check messages us either on discord or some other method.
Describe alternatives you've considered
N/A

We can also think about doing things like mentioned here: https://github.com/dagster-io/dagster/discussions/19944
My thought would be something like this but it would send a message to our discord.
In order to have that setup we'd need to connect the secret to our dagster deployment. I would then pull that secret directly from the python code (perhaps we have an environment variable to reference it's location). Otherwise we can use the already provided secret resovler: https://github.com/doitintl/kube-secrets-init that is a side car to our applications. However, I think it would be better to have our dagster hand written components use the secret manager directly as opposed to relying on the side car. It just exposes less secrets in the environment directly.


Fixed a typo

Haha, can't believe I made such a silly typo of my own language. 🙈 Thank you so much for the PR!


[FIX] Makes heights and widths cross browser compatible

Before

Now

Fixes #72

@RonLek In firefox, the login page looks like the following, can you please increase the width of the login keeping it consistent with chrome.

Now

@murtaza98 @Sing-Li we can merge this PR.

@RonLek pls fix merge conficts.  thx

Done @Sing-Li . We can merge this in.


declare required Cassandra version

Current version of Heroic (at least heroic-shell -P cassandra -X cassandra.seeds= -X cassandra.configure) doesn't work with Cassandra 3, so declare correct version in dependencies.

Thanks!

Does anyone have a quick overview of what's broken on Cassandra 3.0.x and what it might take to get it working?  A company I work for might be interested in doing the work and contributing back...

@rthille according to this:
https://docs.datastax.com/en/developer/driver-matrix/doc/common/driverMatrix.html
Version 3.0 of the Java driver should be compatible with most Cassandra versions still in use. It might only be a matter of upgrading the driver version in the repackaging, in the metric backend, and check that it works.
It might be useful to adapt the existing integration tests so that they can be run against arbitrary backends (right now it's only in-memory). This should give us a suite that allow us to check for compatibility.

@udoprog Thanks!  I'll pass this onto the guys working on Heroic (I do our Cassandra stuff).


Unexpected vif_type=tap breaking all tests

My most recent PR FV run  (Icehouse) failed with these errors in the nova-scheduler log:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1388, in _build_instance
    set_access_ip=set_access_ip)
  File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 414, in decorated_function
    return function(self, context, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1806, in _spawn
    LOG.exception(_('Instance failed to spawn'), instance=instance)
  File "/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, in __exit__
    six.reraise(self.type_, self.value, self.tb)
  File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 1803, in _spawn
    block_device_info)
  File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2370, in spawn
    write_to_disk=True)
  File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3572, in to_xml
    disk_info, rescue, block_device_info)
  File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3378, in get_guest_config
    flavor)
  File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/vif.py", line 384, in get_config
    _("Unexpected vif_type=%s") % vif_type)
NovaException: Unexpected vif_type=tap

Sounds similar to #297; maybe they've revved the package.
This was run-fv-tests-pr-req build 129.

Looks like nova has been revved to 1:2014.1.5-0ubuntu1.4 upstream, replacing our 1:2014.1.5-0ubuntu1.3calico1.0.0+1.

Pins should prevent this.

@matthewdupre is there anything left to do on this now you've fixed the pins?

Not on this particular issue (or this particular upstream release).
If anybody hits this symptom, please check your apt preferences (or RPM priorities).  The install instructions should lead you through setting them up.  If you can't use a pin / priority for some reason, please let us know on slack / IRC / ..., and we'll try and prioritize the rebase.


feat: add contract to pretty output

Motivation
Found this https://github.com/foundry-rs/foundry/issues/610#issuecomment-1067972155 which is super cool. For some reason though it does not contain the contract name which sometimes is useful when checking inheritance chain.
Solution
Added the field to the table as it's already present in the non pretty print.

@sakulstra Needs a run of cargo +nightly fmt and we're good to go :smile:

@onbjerg thx for the review, updated the linting


Update network-file-system-protocol-known-issues.md

Storage Events aren't supported for NFS specific operations. However, if you are performing Blob or Datalake storage operations on NFS enabled account, then the events shall get created based on the API being called.
We had a case wherein customer had concerns regarding clarity in the documentation.
In the below link we although we have specified events aren't supported for NFS however if due to interoperability we call operation such as Put Blob, event will get generated for the same.
Hence added this section as a feedback for clarity
Please Review
https://learn.microsoft.com/en-us/azure/storage/blobs/storage-feature-support-in-storage-accounts

@normesta
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Due to the upcoming conference, all merging and publishing are on hold until the morning of 5/23.
This PR is ready for merge on 5/23.
#label: "event-triaged-to-10AM"
#label: "missed-content-complete"


Documentation mentions describe-ingresses action but it was removed from the charm

Bug Description
The charm documentation mentions describe-ingresses action as a way to "Inspect the ingress configuration" but it is no longer available.
To Reproduce

deploy the charm

$ juju run nginx-ingress-integrator-server/0 describe-ingresses

Operation 107 failed to schedule any tasks:
action "describe-ingresses" not defined on unit "nginx-ingress-integrator-server/0"

Environment
Managed k8s cluster in PS6, no access to kubectl only juju.
deployed charm revision: 109 from latest/edge
Relevant log output
action "describe-ingresses" not defined on unit "nginx-ingress-integrator-server/0"

Additional context
No response

@gregory-schiano The action has been removed in https://github.com/canonical/nginx-ingress-integrator-operator/commit/5a655217451c9b07d9524dfb6425c2bede44acb1#diff-b9ed39bbc9c0387bd3e07da31d13373745534a1cd723d3e292c73496b12e307c . I have no history of why this has happened. Can you please judge if the documentation should be updated or the action re-added? Thanks.

The action wasn't great it was outputting the K8S ingress definition managed by the integrator.
Now, the nginx-ingress-integrator only supports 1 ingress at a time, therefore I don't see a need to describe the ingress.

@verterok described a case where he doesn't have access to kubectl but to juju cli, this could be a useful case for this action, don't you think, @gregory-schiano?

@gregory-schiano friendly ping

@cbartz well the issue describes a case where somebody tried to run the action. But the user shouldn't have to rely on kubectl to know if the charm is working properly or not. The charm status and the status message should be sufficient for an operator to know what's happening if it's working.
Worse case for debugging juju debug-log and setting log level to debug should give enough relevant information.
So I agree the documentation needs a cleanup, but I don't think this command is relevant and should be reintroduced
Thanks for the reminder Amanda :)


Reading stream in SheetJS

Im working with xlsx and it takes so much time to read from an excel file so Ive made a search and I have found that reading streams make program reads files faster and more performant but I have searched for reading stream syntax in SheetJS but I didnt found so Can u pls help me Im stuck right now

Streams help in certain use cases where hard work can be offloaded to native APIs (for example, using a system utility program instead of pure JS).  No browser-based solution can really take advantage of it, short of rewriting parts in wasm.  So even though there are definite improvements in node contexts, we're hesitant to use something that will degrade browser performance.


SQL autocomplete dropdown doesn't work properly when script contains comments

Use PostgreSQL connector
Open SQL editor
Write down some queries on table a, b, c, comment it.
Start writing new query like "select * from d where " and try to autocomplete (ctr+space)

Result:
Columns that are suggested by dropdown will be from a, b or c table, not from d.
Version: 3.6.3

Can't reproduce.
Can you post an example of SQL queries?

Database creation script below the scenario.
Scenario:

Type query: "select * from a", execute it.
Type query:
-- select * from a
select * from b where
Press ctrl+space.
DBeaver will show dropdown with 'column1' and 'column2' which are present in 'a' table, not 'b'.
Remove first query (commented)
Press ctrl+space.
DBeaver will propose 'column3' and 'column4', which is correct.

CREATE DATABASE test
WITH OWNER = root
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'pl_PL.UTF-8'
LC_CTYPE = 'pl_PL.UTF-8'
CONNECTION LIMIT = -1;
CREATE TABLE a
(
column1 integer NOT NULL,
column2 text,
CONSTRAINT "keyA" PRIMARY KEY (column1)
)
WITH (
OIDS=FALSE
);
ALTER TABLE a
OWNER TO root;
CREATE TABLE b
(
column3 integer NOT NULL,
column4 text,
CONSTRAINT "keyB" PRIMARY KEY (column3)
)
WITH (
OIDS=FALSE
);
ALTER TABLE b
OWNER TO root;

Same problem here happening not only on PostrgreSQL but on MySQL, DB2 and Oracle too.
Step 5 can be deleting commented query or just inserting a new empty line between them.

Now I can see it.
Thanks for report.


Respect alignment

BKCurrencyTextField does not respect the horizontal text alignment set via storyboard

Is this issue resolved by removing text alignment code like below?
https://github.com/bkook/BKMoneyKit/pull/7

Yes, it is. (In my pull request, only the second commit is the one that should be merged -- the first one removes a bunch of comments for some reason)

How can i match the chinese bankcard with BKCardNumberField?
For example  6222 6001 1003 9982 714


chore(package): update rollup to version 0.38.2

https://greenkeeper.io/

Current coverage is 44.62% (diff: 100%)

Merging #31 into master will not change coverage

@@             master        #31   diff @@
==========================================
  Files             7          7
  Lines           121        121
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits             54         54
  Misses           67         67
  Partials          0          0

Powered by Codecov. Last update 0c75ccb...f2319c6


ancient flag on all samples tsv prevents rerun of gistic2

I updated the all_sample_sets tsv in the config and added a new case_set that does not have any output files. I have tried to run with the following commands

./snakemake.numbers.sh src/snakemake/run_gistic2.smk all gambl "seq_type=EXOMES -np" which shows only the _gistic2_input_sample_sets symlink rule needs to be run, nothing else downstream, as the subsequence rule using this output as the ancient() flag
./snakemake.numbers.sh src/snakemake/run_gistic2.smk all gambl "seq_type=EXOMES --forceall -np" which will rerun the download of the reference files, which is not ideal behaviour
./snakemake.numbers.sh src/snakemake/run_gistic2.smk all gambl "seq_type=EXOMES -R _gistic2_prepare_seg -np" as this rule is the one depending on _gistic2_input_sample_sets, and this still shows that only _gistic2_input_sample_sets needs to be run.

I propose that the samples_sets file should not have the ancient() flag as the rerun of a case_set is tightly controlled by the config file, so if this file is updated, it would not rerun everything. And/Or the ancient() flag be added to the reference files so that we can use --forceall without re-running the downloads

This is no longer needed, as the ancient flag on the sample set tsv shouldn't affect the ability to run on new samples.


Please make a new release for Go 1.14

Problem statement
https://github.com/go-swagger/go-swagger/issues/2215 showed that go-swagger is broken for users of Go 1.14. There has not been a release since this was fixed. Any Go 1.14 users are forced to pin to a commit until a release is made.
Thanks!

https://github.com/go-swagger/go-swagger/releases/tag/v0.23.0


Delivery Method

Let developers to specify a global delivery method.
This is done via the framework configuration (#1 ).
Lotus::Mailer.configure do
  # ...
  delivery_method :sendmail

  # or
  delivery_method :smtp, address: "localhost", port: 1025

  # or
  delivery :test

  # or
  delivery_method MyCustomDeliveryMethod, foo: 'bar'
end

Lotus::Mailer will depend on mail gem. This library already supports this scenario.
Our goal is to store that settings and to pass them at the single mail instance, that we're gonna to deliver.
In other words, we MUST avoid this:
Mail.defaults do
  delivery_method :smtp, address: "localhost", port: 1025
end

In favor of this:
mail = Mail.new
mail.delivery_method Lotus::Mailer.configuration.delivery_method

Should the delivery method be the same for all mailers?


[Event Modification] Table 21 "Cust. Ledger Entry" - OnBeforeSetAmountToApply

Requesting additional parameters in event OnBeforeSetAmountToApply in table  21 "Cust. Ledger Entry";
Current:
    procedure SetAmountToApply(AppliesToDocNo: Code[20]; CustomerNo: Code[20])
    begin
        OnBeforeSetAmountToApply(Rec);

        ...
    end;

    [IntegrationEvent(false, false)]
    local procedure OnBeforeSetAmountToApply(var CustLedgerEntry: Record "Cust. Ledger Entry")
    begin
    end;

Requested:
    procedure SetAmountToApply(AppliesToDocNo: Code[20]; CustomerNo: Code[20])
    begin
        OnBeforeSetAmountToApply(Rec, AppliesToDocNo; CustomerNo);    //MODIFIED

        ...
    end;

    [IntegrationEvent(false, false)]
    local procedure OnBeforeSetAmountToApply(var CustLedgerEntry: Record "Cust. Ledger Entry", AppliesToDocNo: Code[20]; CustomerNo: Code[20])    //MODIFIED
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


MPI: MPI array type for dispatch

I think it might be good to implement a lightweight MPI array type wrapping a standard array. Then, we can dispatch on the MPI array type to distinguish parallel from serial runs (and we need to pass the coefficients anyway). Moreover, this allows us to redirect broadcasting etc. to the parent array and overload reductions to make use of MPI. In this way, we can also use error-based time step control from OrdinaryDiffEq.jl etc.
We may look at

https://github.com/CliMA/ClimateMachine.jl/blob/master/src/Arrays/MPIStateArrays.jl
https://github.com/fverdugo/PartitionedArrays.jl
https://github.com/jipolanco/PencilArrays.jl
https://github.com/barche/MPIArrays.jl

I think this is a great idea!

Since this came up again in our meeting today: I added a few references to related array types to the first post. Right now, I expect we need the following featuers.

An array type indicating that it's working with MPI. It should wrap some parent array and an MPI communicator, at least.
It needs to support some common interface functions such as similar etc.
It needs to support broadcasting to work with fixed step size RK methods

Broadcasting should fall back to the parent type. We should ensure that it's compatible with FastBroadcast.jl.

It needs to support reductions to work with error-based adaptive time stepping, e.g.

https://github.com/SciML/DiffEqBase.jl/blob/03e584fe2c18d1c06d174bb5d043545518198e62/src/common_defaults.jl#L25
https://github.com/SciML/DiffEqBase.jl/blob/03e584fe2c18d1c06d174bb5d043545518198e62/src/common_defaults.jl#L2

It needs to support resize! (if the parent array type does) to support AMR
We need to think about how to handle our current Trixi.wrap_array working with PtrArray etc. with the new MPI array type

Further related notes:

We might think about disabling unstable_check or setting it to something based on dt, see https://diffeq.sciml.ai/stable/basics/common_solver_opts/#Miscellaneous


Atom freezes after starting and can only be started using --clear-window-state

Prerequisites

[X ] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Especially since Atom 1.24.0 it happens quite regularly that Atom freezes after starting.
The freeze is not complete but rather the menu partially works but it is not possible to edit any already open files or to open a new file.
It is also impossible to toggle to the developer tools.
After a while Atom reports that it is hung but it is still not possible to close it.
Only closing the running task from the command helps.
Starting in save mode does not help and only starting with the option --clear-window-state resolves the problem.
I encountered this problem already in the past but it happened so few times that I assumed some others reasons but starting with Atom 1.24.0 it happens quite (about 30% of the time when closing a reopening Atom) often almost making it hard to work it Atom.
Steps to Reproduce

Close Atom with open file tabs
Start Atom again

Expected behavior: [What you expect to happen]
Atom to start
Actual behavior: [What actually happens]
Atom freezes
Reproduces how often: [What percentage of the time does it reproduce?]
~30%
Versions
Atom    : 1.24.0
Electron: 1.6.16
Chrome  : 56.0.2924.87
Node    : 7.4.0
apm  1.18.12
npm  3.10.10
node 6.9.5 x64
atom 1.24.0
python 2.7.3
git 2.12.2.windows.2
visual studio 2013
Windows 7 Professional x84
Additional Information

Thanks for the report - just to confirm, while you were going through the debugging steps did you also try temporarily resetting to factory defaults to see if that helps?
http://flight-manual.atom.io/hacking-atom/sections/debugging/#reset-to-factory-defaults
Also, do you see this behavior if you open Atom with a particular project only or with any project?

I can't speak for OP, but I just came here to report the same issue and I can confirm resetting to defaults doesn't help, and it happens with any project.

@rsese The problem also seems persists when resetting to defaults but I will have to do some more testing before being 100% sure. It happens with multiple projects.

Are the projects you've tried with similar e.g. the programming language, size, etc.?  Are they all Git repositories as well?
Lastly, have you also tried starting Atom with just a simple test project that has a single file?  Just trying to narrow down the cases where y'all see this behavior.

Oh also, does anyone have a public project that we can test with?

@rsese I completely understand how little information I offer and it it is almost impossible to narrow this problem right now. I just hoped, that others might have the same problem and maybe there are ways to better trace this issue.
To your questions:

it is one very large project and it is not a Git repository
yes smaller repositions often work
I forgot to mention that I typically open the project by starting atom from the Windows explorer with a right mouse click on a certain directory but the error also happened when starting Atom from the command line or the application menu.
Unfortunately I cannot provide a public project

As far as I'm concerned, it's a single small project and Git repository with mostly shell scripts and some Python ones (also not a public one I'm afraid). However, I do often use Atom to open plain .txt files, often in folders by themselves, and it frequently happens then as well, particularly with files larger than a few megabytes (which I never once had a crash with before 1.24.0).

I can confirm this, with very and small projects, all are git repositories. Running an up-to-date Debian unstable.

I believe I also have this issue as well in RHEL7 with both stable and beta packages:
atom-beta-1.25.0.beta2-0.1.x86_64
atom-1.23.3-0.1.x86_64
My project tree is a combination of git repos and non-git repos.

Thanks for the details @doberkofler :+1:

it is one very large project and it is not a Git repository

How large is the project?  And just to confirm, you mentioned you see the freezing with multiple projects, are they large as well?
If you start Atom in the foreground with atom --foreground, are there any error messages?
Lastly, can you install the 1.25 beta and confirm if Atom doesn't freeze in that case?
For anyone else commenting, please check whether safe mode, temporarily resetting to factory defaults, or clearing saved state (you'll lose any unsaved data so save your work first) helps.

@mmclanerh was that the .rpm from https://atom.io?
Oh also, if anyone has steps to reproduce with a public project they can share, that would be helpful.

@rsese  Used releases from github repo releases.
Interestingly enough, found gnome-shell had segfaulted shortly before/during atom launch.  Diving deeper.. found that the "timezone" gnome-shell extension was causing the segfault.  I removed that extension and now atom launches.  Weird?  Very...

At least for me the only thing that helps is using --clear-window-state

I didnt mean it in a cruel way wether it was you doing the hack or helping the Person responding to what I originally sent out,,  I just want to be left alone
Sent from my HTC
----- Reply message -----
From: "Dieter Oberkofler"<EMAIL_ADDRESS>To: "atom/atom"<EMAIL_ADDRESS>Cc: "Subscribed"<EMAIL_ADDRESS>Subject: [atom/atom] Atom freezes after starting and can only be started using --clear-window-state (#16805)
Date: Wed, Feb 28, 2018 12:26 AM
At least for me the only thing that helps is using --clear-window-state
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/atom/atom/issues/16805#issuecomment-369145601, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AjHLqGS7Dupy11D5-k58Ntd5sxzgtZAIks5tZP-vgaJpZM4SNWwC.

The steps to reproduce the problem don't describe a single issue. Needing to clear window state can be caused by multiple things. Unfortunately, without a project to reproduce this on or more specific repro steps, this issue is unlikely to be actionable.

@lee-dohm @rsese
At least for me, the freeze now happens almost each time I start Atom and I basically can no longer use the editor for production purposes.
This is all the information I collected until now:

At least sometimes, Atom does not completely freeze, but rather takes (2-10 minutes) before the UI responds again.

Using the --clear-window-state option always resolves the freeze problems but after a little while (1hour to 1 day) the freezes start again.

Resetting to factory defaults does seem to have the same results as when using the --clear-window-state option.

I have not yet been able to test the 1.25.0 Beta Version and wanted to ask if and/or how I can use two Atom versions at the same time?

Using the --save option does not solve the problem.

When starting Atom with the --foreground option and it does not completely freeze the following message is shown:

Attempting to call a function in a renderer window that has been closed or released.
Function provided here: Object.<anonymous> (C:\Users\doberkofler.LBITS\AppData\Local\atom\app-1.24.0\resources\app.asar\node_modules\github\lib\worker.js:71:22
Remote event names: destroyed, crashed

Using the options --dev, --enable-electron-logging or  --log-file=atom.log does not seem to generate any additional debugging information nor is a log file created.

I now also have problem in a public GitHub repository but when installing from scratch, it does not seem to freeze as it seems to have something to do with my local configuration.

How can I provide a reproducible project if it only happens with my existing settings and when clearing the state --clear-window-state Atom is starting again and what exactly is --clear-window-state doing?

This is actually how the UI looks when frozen:

This is what happens after a while:

@doberkofler Do you have "Use Tree Sitter Parsers" checked in the Core settings page? If so, uncheck it and see if that helps. Also, can you ever reproduce this problem when running Atom using --safe?
Clearing the window state deletes any state that was serialized by Atom or any package when Atom exits.

@lee-dohm

I cannot find a core setting option named "Use Tree Sitter Parsers". Where should it exactly be?
Using the --saveoption does not change anything. Only using --clear-window-state resolves the freezes.

@doberkofler

Using the --save option does not change anything. Only using --clear-window-state resolves the freezes.

The command line switch is --safe not --save. Can you please verify that you are using --safe and not --save?

I have not yet been able to test the 1.25.0 Beta Version and wanted to ask if and/or how I can use two Atom versions at the same time?

On Windows they can run side by side but they can't be installed side by side. You would need to download the portable version: https://github.com/atom/atom/releases/download/v1.25.0-beta2/atom-windows.zip & https://flight-manual.atom.io/getting-started/sections/installing-atom/#portable-mode

I cannot find a core setting option named "Use Tree Sitter Parsers". Where should it exactly be?

This option is currently only available in the beta release of Atom so you don't have it checked :slightly_smiling_face:

Dear all.
I have the same issue as @doberkofler.
My project tree is a combination of git repos and non-git repos. I'm on MacOS 10.13.3 with the latest Atom stable release (1.24).
The only thing that helps is using --clear-window-state
What does this command do exactly ? Is there a file somewhere that stores the windows state ?
Thx.

@ouatataz While the symptoms may be the same, I can almost guarantee that the root cause is not the same. Please open a new issue, completely fill in the template and include your entire config.cson and a list of the packages you have installed.
You can find out more about --clear-window-state in the Flight Manual. No, there is not a single file somewhere that stores the window state, that's why we have the switch.

The "atom --clear-window-state" solved the issue of Atom not opening for me on a Mac.  Was getting Not Responding and wasn't opening.  Stragely, Brackets was doing the same thing.  Neither would open/launch.  Somehow this command also solved the problem in both Atom and Brackets at least for now.


Beta 2 - User input malformed: battery_status is not a valid option for dictionary value @ data['device']

Got this error when trying to review SENSORS (Beta 2).

Fixed in beta 3. Ill close this issue when beta 3 is available.

Ho Ho Ho. Happy holidays. 🎄🎅
If you don’t have plans, enjoy iCloud3 v3.0.0 beta 3
Gary


Source filename filters bug

Describe the bug
source filename Filter does not work properly.
To Reproduce
Steps to reproduce the behavior:

generate projects and import task.
add source filename filter.

Expected behavior
When i print the query of queryset in apply_filters func in managers.py of data_manager,
there is no data related to the file source.
SELECT "task"."id", "task"."data", "task"."meta", "task"."project_id", "task"."created_at", "task"."updated_at", "task"."is_labeled", "task"."overlap", "task"."file_upload_id",
COUNT(DISTINCT "task_completion"."id") FILTER (WHERE NOT "task_completion"."was_cancelled") AS "total_annotations",
COUNT(DISTINCT "task_completion"."id") FILTER (WHERE "task_completion"."was_cancelled") AS "cancelled_annotations",
COUNT(DISTINCT "prediction"."id") AS "total_predictions"
FROM "task"
LEFT OUTER JOIN "task_completion" ON ("task"."id" = "task_completion"."task_id")
LEFT OUTER JOIN "prediction" ON ("task"."id" = "prediction"."task_id")
WHERE "task"."project_id" = 12 GROUP BY
"task"."id", "task"."data", "task"."meta", "task"."project_id", "task"."created_at", "task"."updated_at", "task"."is_labeled", "task"."overlap", "task"."file_upload_id"

Perhaps TaskQuerySet does not hold information related to source filename.
I attached an error message.
[27/Aug/2021 08:43:24] "PATCH /api/dm/views/10?interaction=filter&project=12 HTTP/1.1" 200 574
[2021-08-27 08:43:24,160] [core.utils.common::custom_exception_handler::83] [ERROR] 30aae87e-7c4b-4cf0-99ab-49493641cfd3 Related Field got invalid lookup: icontains
Traceback (most recent call last):
  File "/home/jhunkim/conda/lib/python3.7/site-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "/ssd/1.2020_AST/0.2021_project/backup-label-studio/1.2.0/label-studio/label_studio/data_manager/api.py", line 118, in tasks
    queryset = self.get_task_queryset(request, view)
  File "/ssd/1.2020_AST/0.2021_project/backup-label-studio/1.2.0/label-studio/label_studio/data_manager/api.py", line 103, in get_task_queryset
    return Task.prepared.all(prepare_params=view.get_prepare_tasks_params())
  File "/ssd/1.2020_AST/0.2021_project/backup-label-studio/1.2.0/label-studio/label_studio/data_manager/managers.py", line 369, in all
    return self.get_queryset(fields_for_annotation).prepared(prepare_params=prepare_params)
  File "/ssd/1.2020_AST/0.2021_project/backup-label-studio/1.2.0/label-studio/label_studio/data_manager/managers.py", line 254, in prepared
    queryset = apply_filters(queryset, prepare_params.filters)
  File "/ssd/1.2020_AST/0.2021_project/backup-label-studio/1.2.0/label-studio/label_studio/data_manager/managers.py", line 237, in apply_filters
    queryset = queryset.filter(filter_expression)
  File "/home/jhunkim/conda/lib/python3.7/site-packages/django/db/models/query.py", line 942, in filter
    return self._filter_or_exclude(False, *args, **kwargs)
  File "/home/jhunkim/conda/lib/python3.7/site-packages/django/db/models/query.py", line 962, in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, *args, **kwargs)
  File "/home/jhunkim/conda/lib/python3.7/site-packages/django/db/models/query.py", line 969, in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
  File "/home/jhunkim/conda/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1358, in add_q
    clause, _ = self._add_q(q_object, self.used_aliases)
  File "/home/jhunkim/conda/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1380, in _add_q
    split_subq=split_subq, check_filterable=check_filterable,
  File "/home/jhunkim/conda/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1244, in build_filter
    check_filterable=check_filterable,
  File "/home/jhunkim/conda/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1380, in _add_q
    split_subq=split_subq, check_filterable=check_filterable,
  File "/home/jhunkim/conda/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1319, in build_filter
    condition = self.build_lookup(lookups, col, value)
  File "/home/jhunkim/conda/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1156, in build_lookup
    raise FieldError('Related Field got invalid lookup: {}'.format(lookup_name))
django.core.exceptions.FieldError: Related Field got invalid lookup: icontains

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

OS: ubuntu 18.04
Label Studio Version 1.2.0

Additional context
Add any other context about the problem here.

@jhunkim Please, check this PR: https://github.com/heartexlabs/label-studio/pull/1373
Hope it's fixed there.

@jhunkim Please, check this PR: #1373
Hope it's fixed there.

Thanks for the quick fix.


Map access list not editable

Hello,
I'm using:
Weathermap version 1.0.0dev
OS version CentOS 7
PHP version 7.1.22
Cacti version 1.1.38
I'm trying to test Weathermap 1.0.0dev on a production cacti. I can say it works great for me!
However the only issue I encountered is the Edit access list which is not editable.
I mean the created map is only viewable by the admin user, but not with other users although the permission to view the weathermap plugin was granted for that particular user.
The following popup is not editable:

Could this be a bug or being worked on?

Being worked on. Here's the todo list: https://github.com/howardjones/network-weathermap/projects/6

ok thanks for the prompt reply !


Add Status field in ContainerState class to get explicit status of a container

Description
Currently the ContainerState from ContainerInfo (response of docker inspect) doesn't have a field mapping to status of state json sub-object in following examples:
{
        "Status": "created",
        "Running": false,
        "Paused": false,
        "Restarting": false,
        "OOMKilled": false,
        "Dead": false,
        "Pid": 0,
        "ExitCode": 0,
        "Error": "",
        "StartedAt": "0001-01-01T00:00:00Z",
        "FinishedAt": "0001-01-01T00:00:00Z"
    }
{
        "Status": "exited",
        "Running": false,
        "Paused": false,
        "Restarting": false,
        "OOMKilled": false,
        "Dead": false,
        "Pid": 0,
        "ExitCode": 0,
        "Error": "",
        "StartedAt": "2016-04-14T06:49:59.089717628Z",
        "FinishedAt": "2016-04-14T06:50:20.24937831Z"
    }

The status should be mapped to get explicit container status, rather than inferring from the rest of the fields...
How to reproduce
Always the behavior, missing feature.
What do you expect
Container status is an explicit field mapped in the ContainerState class.
What happened instead
NA
Software:

docker version: 1.9.1
docker-client version: 4.0.2

Full backtrace
NA

Anyone any comment on this?

This should be fairly easy to add in a PR. Do you want to do that? If not, I could get to it sometime soon.

@johnflavin PR proposed, please review.

@johnflavin BTW, we are waiting for version 4.0.5 available on maven central repo, it is not there yet, what is the frequency to push to maven central repo?
Also where I can find the release notes/changelog for a version? In github releases page, there is not much info I can get.
Thanks.

Good questions.  As far as I know, there are no release notes, just the history contained in the commits, issues, and PRs.

I'll release now.

@quickwind Released as 4.0.6. Thanks for your PR.

@davidxia Thanks, when we can have this release available in Maven central repo? Or do you have your own repo that up to date we can use?

@quickwind, I actually linked directly to maven central above.


Feature: Add hints wherever possible.

Few examples where this needed:

table attributes

Field basic properties

Also we need hits for checkboxes. But may be there need to suggest better desing solution.

implemented in #646


Dynamic view pager

Support insertion and deletion based on a data set observer.

Thanks your pull request.
But I don't want to add more properties.
Now the new version support dynamic. https://github.com/ongakuer/CircleIndicator/commit/f83dfa4f9d33d8725ea0ae6fa9457f99ca4deafb


multiple WhereClause are merged, but not WithClause

if we add multiple WhereClause to a Query the new additions are merged with the previous WhereClause to create a compound. This doesn't happen for WithClause which I can't determine any rationale behind. There may also be other clauses that could usefully be merged.
Suggestion for implementing is to change check in Query.add to use instanceOf MergeClause instead of instanceof WhereClause and create MergeClause with the single merge method. Happy to provide pull request if helpful

We have rebooted that project, @leocrawford. I think this issue doesn't apply anymore.
Maybe you want to check out the new implementation.
Thanks.


cannot interact with very bottom of map (or buttons) on iPhone X

I'm submitting a ...  (check one with "x")

[ ] question
[x] any problem or bug report
[ ] feature request

If you choose 'problem or bug report', please select OS:  (check one with "x")

[ ] Android
[x] iOS

cordova information:  (run $> cordova plugin list)
cordova-plugin-battery-status 1.2.4 "Battery"
cordova-plugin-console 1.0.7 "Console"
cordova-plugin-customurlscheme 4.3.0 "Custom URL scheme"
cordova-plugin-device 1.1.6 "Device"
cordova-plugin-device-orientation 1.0.7 "Device Orientation"
cordova-plugin-globalization 1.0.7 "Globalization"
cordova-plugin-googlemaps 2.2.4 "cordova-plugin-googlemaps"
cordova-plugin-hidden-statusbar-overlay 2.0.1 "HiddenStatusbarOverlay"
cordova-plugin-inappbrowser 2.0.2 "InAppBrowser"
cordova-plugin-inapppurchase 1.1.0 "In App Purchase"
cordova-plugin-insomnia 4.3.0 "Insomnia (prevent screen sleep)"
cordova-plugin-network-information 1.3.3 "Network Information"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-tts 0.2.3 "TTS"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-plugin-x-socialsharing 5.1.8 "SocialSharing"
cordova-universal-links-plugin 1.2.1 "Universal Links Plugin"
cordova.plugins.diagnostic 3.9.2 "Diagnostic"
es6-promise-plugin 4.2.2 "Promise"
Current behavior:
For iPhone X, the bottom of the app is completely unresponsive. I cannot pan the map, or click any buttons that are placed at the bottom.
In the attached screenshot, you can see the placement of the Google logo is oddly high, and that area below it cannot be interacted with.
The image on the right is from an iPhone 7, and it works as expected. Buttons appear at the bottom sometimes, and they can be clicked.
Edit: BTW, I'm not sure which version, but it's v2.0+ and this does not happen on the iPhone X. Something happened between 2.0 and now that caused this.
Expected behavior:
The bottom of the map should be draggable, and buttons placed there should be clickable.
Screen capture or video record:

Please share your project files on github.

I just created a new phonegap project, then added cordova-plugin-googlemaps, then used the demo code provided on the read me (with html/body at height/width of 100%). I noticed that if I set the map canvas to a fixed dimension, like 500px by 500px, then it displays correctly.
I'm creating a demo repo I'll post in an hour or so if you really want it.
The index.html code is:
`

<link rel="stylesheet" type="text/css" href="css/index.css" />
<title>Hello World</title>
<style>
    html {
        height: 100%; width: 100%;

    }
    body {

        padding: 0px; margin: 0px; height: 100%; width: 100%;
    }
    </style>

    <script type="text/javascript">
    var map;
    document.addEventListener("deviceready", function() {
                              alert('ready');
                              var div = document.getElementById("map_canvas");

                              // Initialize the map view
                              map = plugin.google.maps.Map.getMap(div);

                              // Wait until the map is ready status.
                              map.addEventListener(plugin.google.maps.event.MAP_READY, onMapReady);
                              }, false);

                              function onMapReady() {
                                  var button = document.getElementById("button");
                                  button.addEventListener("click", onButtonClick);
                              }

function onButtonClick() {

    // Move to the position with animation
    map.animateCamera({
                      target: {lat: 37.422359, lng: -122.084344},
                      zoom: 17,
                      tilt: 60,
                      bearing: 140,
                      duration: 5000
                      }, function() {

                      // Add a maker
                      map.addMarker({
                                    position: {lat: 37.422359, lng: -122.084344},
                                    title: "Welecome to \n" +
                                    "Cordova GoogleMaps plugin for iOS and Android",
                                    snippet: "This plugin is awesome!",
                                    animation: plugin.google.maps.Animation.BOUNCE
                                    }, function(marker) {

                                    // Show the info window
                                    marker.showInfoWindow();

                                    // Catch the click event
                                    marker.on(plugin.google.maps.event.INFO_CLICK, function() {

                                              // To do something...
                                              alert("Hello world!");

                                              });
                                    });
                      });
}
</script>

`

Repo that demonstrates the bug: https://github.com/caleb87/googlemapsdemo

I can not see any marker cluster code in this file.
https://github.com/caleb87/googlemapsdemo/blob/f005664cee430fe2f1a32b12a7580540a4296b11/www/index.html

Google logo is managed by the native sdk, not this plugin.

I apologize as I was wrong. I literally rebuilt the app 50+ times and the bottom below the Google logo was unresponsive. I removed these four plugins at same time, and then it worked. I went back to find the culprit by adding the exact version, and now I cannot get the bug to reproduce.
cordova-plugin-statusbar 2.1.3 "StatusBar"
cordova-plugin-contacts 2.0.1 "Contacts"
cordova-plugin-device-motion 1.2.5 "Device Motion"
cordova-plugin-file-transfer 1.5.1 "File Transfer"
:(


Figure out a cleaner way to deal with redirect writers

We need to investigate if there is a way to get rid of WriteTo, WriteLiteralTo etc completely in our runtime code gen which in turn will remove the need to have redirected writers like RedirectedBasicWriter which does pretty much what RuntimeBasicWriter does except use WriteTo.
Also need to investigate the implications of this working with Razor 1.0.
cc @NTaylorMullen @rynowak

b44d59ca36e63f403d13c37186baef8cc4551158


Add Tohoku University

Please add the domain of Tohoku University

@enket Pull request merged. Thank you!


[OpenGL] Textures are always bound to unit 0

...in places other than ActivateResourceSet. So, basically, if a texture is bound as a result of calling any other method (such as Map or CopyTexture), it always ends up in unit 0.
And that can become a problem.
Imagine this scenario: you have a sampler in your shader bound to texture unit 0. In the meantime, a background thread is trying to load a new image. In the end, CopyTexture is called, which causes it to be bound to unit 0. As a result, the newly created texture is sampled instead of the original one.
For instance, in a 2D game, that would mean that whenever a new texture is loaded on a background thread, it is briefly displayed on the screen, as it replaces the texture that was previously in unit 0.

I understand the problem and I've verified a basic fix. I think this warrants doing a bit of cleanup related to how texture binding is handled more broadly, because it's too messy right now and there are probably other subtle issues with how the binding state is tracked. For example, because OpenGL objects are lazily initialized, there could be some other obscure issues where initializing the textures at an unexpected time could override the cached state.
Practically, I think everything needs to go through the OpenGLTextureSamplerManager if it ever touches the texture units. On top of that, the command executor probably needs to flush the resource sets right before a draw call and not assume that the texture units have been undisturbed. That will be more expensive than what I'm currently doing, but it should be fine.
As a mitigation, I these "one-off texture usages" should bind to the upper-most texture units that are available, because those are extremely unlikely to be in use. Doing so would avoid any real conflicts 99% of the time.

@SomeAnon42 I have a fix here: https://github.com/mellinoe/veldrid/commit/4e25323875ec2b96070aad596c4d89601c8d9883.
I'm going to run a few more tests on it on different platforms before merging it into master, but I think it is mostly correct.

@SomeAnon42 Are you able to tes tout whether your scenario is fixed by the change? I did add a regression test that should match what you were seeing: https://github.com/mellinoe/veldrid/blob/4e25323875ec2b96070aad596c4d89601c8d9883/src/Veldrid.Tests/RenderTests.cs#L425

Yes, everything is fine now.

@SomeAnon42 Awesome, thanks for the report and the testing.


Client Diagnostics plugin

Aggregates a few stats while processing packets, and flushes them to bevy's Diagnostics system every second.
I like the ScreenDiagnosticsPlugin for quickly displaying various diagnostics. I have it set up like this:
use bevy_replicon::prelude::ReplicationDiagnostics::*;

app
  .add_plugins(ScreenDiagnosticsPlugin::default())
  .add_systems(Startup, setup_replicon_diagnostics);

fn setup_replicon_diagnostics(mut diags: ResMut<ScreenDiagnostics>) {
    diags
        .add("r:c/s".to_string(), REPLICATED_COMPONENT_CHANGES_DIAGNOSTIC)
        .format(|v| format!("{v:.1}"));

    diags
        .add("r:e/s".to_string(), REPLICATED_ENTITY_CHANGES_DIAGNOSTIC)
        .format(|v| format!("{v:.1}"));

    diags
        .add("rp/s".to_string(), REPLICATED_PACKETS_DIAGNOSTIC)
        .format(|v| format!("{v:.1}"));
}

https://github.com/lifescapegame/bevy_replicon/assets/29747/d22445d5-491e-4de2-9085-9abd6b72f798

Made the ReplicationStats resource optional.
still adding the plugin in the ClientPlugin though.
Could add it to the PluginGroup, but it's only really relevant for clientside stats.

And could you please update the changelog too?

Have made the suggested changes, thanks 🙂
I kept comments on the DiagnosticIds, because they show up on the docs page for the plugin struct, which is useful.
The ReplicationStats resource is public, because it's possible to insert that resource yourself, without using the plugin. Then you are free to aggregate the stats as you like, without needing the Diagnostics system.

Codecov Report
Attention: 59 lines in your changes are missing coverage. Please review.

Comparison is base (0de33b5) 94.85% compared to head (716c4ed) 89.59%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #85      +/-   ##
==========================================
- Coverage   94.85%   89.59%   -5.26%
==========================================
  Files          13       14       +1
  Lines         874      942      +68
==========================================
+ Hits          829      844      +15
- Misses         45       98      +53

Files
Coverage Δ

src/lib.rs
100.00% <ø> (ø)

src/client.rs
85.09% <58.82%> (-3.19%)
:arrow_down:

src/client/diagnostics.rs
0.00% <0.00%> (ø)

... and 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Resolved conflicts.


Feature/prune lineage class

IMPORTANT: Please search among the Pull requests before creating one.
Description

TODO.
How has this been tested?

N/A
Closes

closes #777

@WeilerP could you please check if the bug when merging the lineage names still happens (and/or add a small snippet for me to debug)?

@WeilerP could you please check if the bug when merging the lineage names still happens (and/or add a small snippet for me to debug)?

This concerns the incorrect merging of macro states used for absorption probabilities, right? Yes, this fixes it.
Couldn't construct a failure example on the pancreas dataset, though. I tried renaming the cluster "Beta" to "Not Alpha" but this didn't cause any problems on cellrank@master.

I encountered another weird behavior, though (not sure if it is relevant for this PR):
import numpy as np
import cellrank as cr
import scanpy as sc
import scvelo as scv
from cellrank.tl.kernels import ConnectivityKernel, VelocityKernel
from cellrank.tl.estimators import GPCCA

scv.settings.verbosity = 3
scv.settings.set_figure_params("scvelo")
cr.settings.verbosity = 2

adata = cr.datasets.pancreas_preprocessed()
adata.obs['clusters'].replace({'Alpha': 'EN', 'Beta': 'Posterior EN'}, inplace=True)
scv.utils.show_proportions(adata)

vk = VelocityKernel(adata)
vk.compute_transition_matrix()

ck = ConnectivityKernel(adata).compute_transition_matrix()
combined_kernel = 0.8 * vk + 0.2 * ck

g = GPCCA(combined_kernel)
g.compute_schur(n_components=20)
g.plot_spectrum(real_only=True)

g.compute_macrostates(n_states=3, cluster_key="clusters")
g.plot_macrostates()

Throws the error
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Input In [1], in <module>
     23 g.compute_schur(n_components=20)
     24 g.plot_spectrum(real_only=True)
---> 26 g.compute_macrostates(n_states=3, cluster_key="clusters")
     27 g.plot_macrostates()

File ~/code/cellrank/cellrank/tl/estimators/terminal_states/_gpcca.py:206, in GPCCA.compute_macrostates(self, n_states, n_cells, cluster_key, **kwargs)
    200     logg.warning(
    201         f"Unable to compute macrostates with `n_states={n_states}` because it will "
    202         f"split complex conjugate eigenvalues. Using `n_states={n_states + 1}`"
    203     )
    204     self._gpcca = self._gpcca.optimize(m=n_states + 1)
--> 206 self._set_macrostates(
    207     memberships=self._gpcca.memberships,
    208     n_cells=n_cells,
    209     cluster_key=cluster_key,
    210     params=self._create_params(),
    211     time=start,
    212 )

File ~/code/cellrank/cellrank/tl/estimators/terminal_states/_gpcca.py:988, in GPCCA._set_macrostates(self, memberships, n_cells, cluster_key, check_row_sums, time, params)
    985 self._write_terminal_states(None, None, None, None, log=False)
    987 # fmt: off
--> 988 assignment, colors = self._set_categorical_labels(assignment, cluster_key=cluster_key)
    989 memberships = Lineage(memberships, names=list(assignment.cat.categories), colors=colors)
    990 # fmt: on

File ~/code/cellrank/cellrank/tl/estimators/terminal_states/_term_states_estimator.py:213, in TermStatesEstimator._set_categorical_labels(self, categories, cluster_key, existing)
    211     raise KeyError(f"Unable to find clusters in `adata.obs[{cluster_key!r}]`.")
    212 series_query, series_reference = categories, self.adata.obs[cluster_key]
--> 213 series_reference = series_reference.cat.rename_categories(
    214     {c: str(c) for c in series_reference.cat.categories}
    215 )
    217 # load the reference colors if they exist
    218 if Key.uns.colors(cluster_key) in self.adata.uns:

File ~/miniconda3/envs/cellrank/lib/python3.8/site-packages/pandas/core/generic.py:5487, in NDFrame.__getattr__(self, name)
   5480 if (
   5481     name not in self._internal_names_set
   5482     and name not in self._metadata
   5483     and name not in self._accessors
   5484     and self._info_axis._can_hold_identifiers_and_holds_name(name)
   5485 ):
   5486     return self[name]
-> 5487 return object.__getattribute__(self, name)

File ~/miniconda3/envs/cellrank/lib/python3.8/site-packages/pandas/core/accessor.py:181, in CachedAccessor.__get__(self, obj, cls)
    178 if obj is None:
    179     # we're accessing the attribute of the class, i.e., Dataset.geo
    180     return self._accessor
--> 181 accessor_obj = self._accessor(obj)
    182 # Replace the property with the accessor object. Inspired by:
    183 # https://www.pydanny.com/cached-property.html
    184 # We need to use object.__setattr__ because we overwrite __setattr__ on
    185 # NDFrame
    186 object.__setattr__(obj, self._name, accessor_obj)

File ~/miniconda3/envs/cellrank/lib/python3.8/site-packages/pandas/core/arrays/categorical.py:2601, in CategoricalAccessor.__init__(self, data)
   2600 def __init__(self, data):
-> 2601     self._validate(data)
   2602     self._parent = data.values
   2603     self._index = data.index

File ~/miniconda3/envs/cellrank/lib/python3.8/site-packages/pandas/core/arrays/categorical.py:2610, in CategoricalAccessor._validate(data)
   2607 @staticmethod
   2608 def _validate(data):
   2609     if not is_categorical_dtype(data.dtype):
-> 2610         raise AttributeError("Can only use .cat accessor with a 'category' dtype")

AttributeError: Can only use .cat accessor with a 'category' dtype

This is solved when plotting the clusters at some point prior to g.plot_macrostates() (which makes the column categorical). The problem does not occur, however, if you use
adata.obs['clusters'].replace({'Beta': 'Not Alpha'}, inplace=True)

I'm running this with pandas==1.3.5. Might be good if we'd convert the column specified in compute_macrostates to categorical?

The above error is not relevant, but I also cannot reproduce it (pandas==1.4.2).

The above error is not relevant, but I also cannot reproduce it (pandas==1.4.2).

Okay, still want me to open an issue? This is still happening for me after upgrading to pandas==1.4.2. I'm using

cellrank==1.5.1+g97777d93 scanpy==1.8.2 anndata==0.8.0 numpy==1.21.5 numba==0.55.0 scipy==1.7.3 pandas==1.4.2 pygpcca==1.0.3 scikit-learn==1.0.2 statsmodels==0.13.1 python-igraph==0.9.9 scvelo==0.2.4 pygam==0.8.0 matplotlib==3.5.1 seaborn==0.11.2

Okay, still want me to open an issue? This is still happening for me after upgrading to pandas==1.4.2. I'm using

If the adata.obs['clusters'] is still categorical after adata.obs['clusters'].replace({'Beta': 'Not Alpha'}, inplace=True) (I'd usually call adata.obs['clusters'].cat.rename_categories({'Beta': 'Not Alpha'}, inplace=True)), then yes.
Based on the line in the stack trace, I think the series_reference is causing problems (adata.obs['clusters']), not the reference, though not 100% certain no modification happens before in our code.


Cargo fails to select version of tiff compatible with byteorder 1.3.1

Problem

I'm trying to depend on both the image crate version 0.21.0 and byteorder 1.3.1. The image crate depends on tiff 0.2.0. However in the tiff crate at version 0.2.0 they had a dependency on byteorder 1.2.*, meaning that byteorder 1.3.1 is not in that range. Cargo correctly refused to compile at this point due to tiff explicitly not being compatible with byteorder 1.3.1. However other people noticed the problem and they released a tiff version 0.2.1 since then, which supposedly fixes the problem. Instead of depending on byteorder 1.2.* they now depend on byteorder 1.2 which at least according to the docs means >=1.2.0.
BUT cargo still tries to select a version of byteorder 1.2.* and apparently tiff 0.2.0 even though 0.2.1 is published. So there seems to be some bug going on.

Steps

Depend on image 0.21.0
Depend on byteorder 1.3.1
Compile

Possible Solution(s)

Notes
Output of cargo version:
cargo 1.32.0 (8610973aa 2019-01-02)

tiff 0.2.1 still has the old * requirements.

Oh wow, yeah that's true. Somehow master being on 0.2.1 with the fix in made me think that 0.2.1 would be the version that is fixed. Thank you so much.


Use deep traversal search folder to improve performance

The CVE-2023-23397.ps1 script can take a long time to run.
In the current version, we bind to each individual folder in the mailbox and perform a search in that folder. This means repeated calls against the same mailbox. The more folders, the more calls.
Also, this search is synchronous. The FindItems call will not return until the server has the results. So we spend time waiting for these calls, and potentially more time on folders with lots of items.
This PR uses a different approach, essentially making the search asynchronous.

In the first pass, we create a single search folder in each mailbox. This search folder searches the whole mailbox for relevant items.
In the second pass, we read the results from that folder.

This allows the server to do the work in the background. The script can just come by later and read the results.
Usage:
To take advantage of the new feature, run with the same syntax as usual, but add -UseSearchFolders. Example:
Get-Mailbox -ResultSize Unlimited | .\CVE-2023-23397.ps1 -Environment Online -UseSearchFolders

This switch only applies to Audit mode. Cleanup mode has no syntax changes. To take maximum advantage of the search folders, it's best to leave them in place until cleanup is done, so you can repeatedly and quickly search for any new items. After cleanup is completed, the search folders can be removed with:
Get-Mailbox -ResultSize Unlimited | .\CVE-2023-23997.ps1 -Environment Online -UseSearchFolders -SearchFolderCleanup

Promote new search feature via PR #1611


Updated Documents

Minor updates with easy merging and no feature changes.
Partially fixes issue #15

Added punctuation marks and fixed typos in documentation.

@Techno-Disaster You may take a look at these documentation improvements. I am going to add the system updates in sometime.


perform_under is run several times

I have to do performance test of service for create user, but it's always return raise error because of duplicate record (create method)
I thought sample was default run once. but I don't get it why it run more than 1.
my code
it 'is expected to run under 100ms', :performance_test_1 do
    expect { subject.execute }.to perform_under(5).ms
end

it runs the code more than 1 so i always failed the performance test because duplicated record
Describe your environment

OS version:
Ruby version: 3.0.3
RSpec::Benchmark version: 0.6.0

Hi 👋
Thanks for using rspec-benchmark and submitting this issue report.
This is expected behaviour and by design. Any performance comparison triggers a warmup run of a given expectation to get Ruby going. This helps establish a baseline before the actual performance test runs. In the case of perform_under a single iteration is run. Then the actual test measurements are taken. You can influence this with the warmup matcher as per the documentation. So in your case, you could do:
expect { ... }.to perform_under(5).ms.warmup(0)

You could wrap the above with a RSpec matcher like perform_under_without_warmup.
As a side note, performance tests are geared towards checking computation that can be run many times without having any side effects. This way you're testing an algorithm and its characteristics. Any setup to make sure that the test has expected data needs to happen before the assertion. Creating a performance test for saving a record to a database has many issues. One of them is what is actually being tested. The web framework performance of saving a record? Database responsiveness? My suggestion would be to focus on testing an algorithm that represents a business logic rather than external services whose performance is not so much under your control.
I hope this helps. I'm going to close this issue as this is not a bug. Please submit a PR if you think the documentation should provide a better explanation of this.