Is it possible to create a custom Step for PrePostProcessor pipeline?

Hello! I am trying to create a custom op for a tokenizer. I would like to add the tokenizer to the model cardiffnlp/twitter-roberta-base-hate-latest for internal pre-processing. My idea is to use the onnxruntime_extensions library, specifically the PrePostProcessor pipeline, so I created a new Step to add to the pre-processing and it correctly saves the model, but then when I create an ort session it throws the following error:
onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from ./src/models/twitter_roberta_base/roberta_model.with_pre_post_processing.onnx failed:Fatal error: com.microsoft.extensions:HfRobertaTokenizer(-1) is not a registered function/op
I am not sure if this is the way to accomplish what I want, but if anyone could provide me with some guidance it would be much appreciated. My goal is to quantize the model and run it in an Android app for SequenceClassification (HateSpeech specifically).
Here is the pipeline code:
@onnx_op(op_type="HfRobertaTokenizer",inputs=[PyCustomOpDef.dt_string],outputs=[PyCustomOpDef.dt_int64, PyCustomOpDef.dt_int64],attrs={"padding_length": PyCustomOpDef.dt_int64})
def roberta_tokenizer(input_text, **kwargs):
    tokenizer = RobertaTokenizer.from_pretrained("cardiffnlp/twitter-roberta-base-hate-latest")
    padding_length = kwargs.get("padding_length", 512)  # Set a default padding length
    tokens = tokenizer(input_text[0], padding='max_length', max_length=padding_length, return_tensors='np')
    input_ids = tokens['input_ids']
    attention_mask = tokens['attention_mask']
    return input_ids, attention_mask

class RobertaTokenizerStep(Step):
    def __init__(self, tokenizer_param: TokenizerParam, need_token_type_ids_output: bool = False, name: Optional[str] = None):
        """
        Brief: This step is used to convert the input text into the input_ids and attention_mask.
            It supports an input of a single string for classification models.
        Args:
            tokenizer_param: some essential infos to build a tokenizer,
            You can create a TokenizerParam like this:
                tokenizer_param = TokenizerParam(vocab=tokenizer.vocab, # vocab is dict or file_path
                                                 merges_file = tokenizer.merges_file, # merges file for BPE
                                                 add_prefix_space = True or False (Optional),
                                                 )
            name: Optional name of step. Defaults to 'RobertaTokenizerStep'
            need_token_type_ids_output: whether to include token_type_ids output.
        """
        outputs = ["input_ids", "attention_mask"]
        if need_token_type_ids_output:
            outputs.append("token_type_ids")
        super().__init__(["input_text"], outputs, name)
        self._tokenizer_param = tokenizer_param

    def _create_graph_for_step(self, graph: onnx.GraphProto, onnx_opset: int):
        input_type_str0, input_shape_str0 = self._get_input_type_and_shape_strs(graph, 0)

        input_shape_0 = input_shape_str0.split(",")
        prefix_ = f'step_{self.step_num}'
        batch_dim = input_shape_0[0] if len(input_shape_0) > 1 else "1"
        output_shape_str = f"{batch_dim}, _{prefix_}__num_ids"
        assert input_type_str0 == "string"

        onnx_tokenizer_impl = "HfRobertaTokenizer"

        def build_output_declare():
            return ",".join([f"int64[{output_shape_str}] {out}" for out in self.output_names])

        def get_tokenizer_ret():
            return ",".join(self.output_names)

        def build_output_imp():
            return ""

        def build_input_declare():
            return f"{input_type_str0}[{input_shape_str0}] {self.input_names[0]}"

        def build_unsqueeze():
            if len(input_shape_0) == 1:
                return f"""
            input_with_batch = Unsqueeze({self.input_names[0]}, i64_0)
            """
            else:
                return f"""
            input_with_batch = Identity({self.input_names[0]})
            """

        converter_graph = onnx.parser.parse_graph(
            f"""\
            {onnx_tokenizer_impl} ({build_input_declare()})
                => ({build_output_declare()})
            {{
                i64_0 = Constant <value = int64[1] {{0}}> ()
                {build_unsqueeze()}
                {get_tokenizer_ret()} = com.microsoft.extensions.{onnx_tokenizer_impl} (input_with_batch)
                {build_output_imp()}
            }}
            """
        )

        roberta_tokenizer_param = self._tokenizer_param
        token_model_attr = []

        attrs = {
            "vocab": roberta_tokenizer_param.vocab_or_file,
        }

        for attr in attrs:
            token_model_attr.append(onnx.helper.make_attribute(attr, attrs[attr]))

        node_idx = next(i for i, v in enumerate(converter_graph.node) if v.op_type == onnx_tokenizer_impl)
        converter_graph.node[node_idx].attribute.extend(token_model_attr)

        return converter_graph

onnx_opset = 16

roberta_hf_tokenizer = AutoTokenizer.from_pretrained("cardiffnlp/twitter-roberta-base-hate-latest", use_fast=True)

# Add pre and post processing to the model
inputs = [create_named_value("input_text", onnx.TensorProto.STRING, [1, "num_sentences"])]

pipeline = PrePostProcessor(inputs, onnx_opset)

pipeline.add_pre_processing(
    [
        RobertaTokenizerStep(
            TokenizerParam(
                vocab_or_file=roberta_hf_tokenizer.vocab
            )
        )
    ]
)

pipeline.add_post_processing(
    [
        ArgMax(),
    ]
)

onnx_model = onnx.load("./src/models/twitter_roberta_base/roberta_model.onnx")
new_model = pipeline.run(onnx_model)
onnx.save_model(new_model, "./src/models/twitter_roberta_base/roberta_model.with_pre_post_processing.onnx")

Then I load the model:
session_options = onnxruntime.SessionOptions()
session_options.register_custom_ops_library(_lib_path())

# Load the ONNX model
onnx_model_path = './src/models/twitter_roberta_base/roberta_model.with_pre_post_processing.onnx'
onnx_model = onnx.load(onnx_model_path)

# Alternatively, iterate through the nodes to check for the custom operator
for node in onnx_model.graph.node:
    if node.op_type == "HfRobertaTokenizer":
        print(f"Custom operator {node.op_type} found in the model.")

ort_session = onnxruntime.InferenceSession(onnx_model_path, sess_options=session_options, providers=["CPUExecutionProvider"])

You'll have to make sure you're registering the custom op in the same app/Python session that is loading the model. If model quantization is happening in a separate Python codebase from Python training you could export the onnx_op-decorated method in a package and import it wherever you're loading the model.
If you're trying to use the Java onnx-extensions package to run a model with your custom layer I believe the only ways to do so would be to 1) package your Python code in the Java app, register your custom operator, and point to the CustomOps lib in your Java app, or 2) write your custom operator in C++ and create a library with your customer operator.

Hey @Jtunis! thanks for the response. I ended up creating a Rust crate with the huggingface tokenizers library and calling the tokenizer through Android NDK. Nevertheless, I think it would be nice to explore the second option you mentioned, do you have a sample to work on top of it?

I don't yet unfortunately. I've also been interested in implementing custom ops in Rust rather than C++ and just came across this. Haven't looked at it in detail yet, but maybe you could look at wrapping Huggingface's library in what they have going on there.


[Failed to Build] Linux

Failed to build on Linux
OS: Arch Linux
Rust: [
1.38,
1.39.0-beta.5
1.40.0-nightly (032a53a06 2019-10-03)
]
error[E0433]: failed to resolve: could not find `PolarizedTraitRef` in `chalk_rust_ir`
   --> crates/ra_hir/src/ty/traits/chalk.rs:637:28
    |
637 |             chalk_rust_ir::PolarizedTraitRef::Negative(trait_ref)
    |                            ^^^^^^^^^^^^^^^^^ could not find `PolarizedTraitRef` in `chalk_rust_ir`

error[E0433]: failed to resolve: could not find `PolarizedTraitRef` in `chalk_rust_ir`
   --> crates/ra_hir/src/ty/traits/chalk.rs:639:28
    |
639 |             chalk_rust_ir::PolarizedTraitRef::Positive(trait_ref)
    |                            ^^^^^^^^^^^^^^^^^ could not find `PolarizedTraitRef` in `chalk_rust_ir`

error[E0433]: failed to resolve: could not find `PolarizedTraitRef` in `chalk_rust_ir`
   --> crates/ra_hir/src/ty/traits/chalk.rs:656:35
    |
656 |         trait_ref: chalk_rust_ir::PolarizedTraitRef::Positive(trait_ref),
    |                                   ^^^^^^^^^^^^^^^^^ could not find `PolarizedTraitRef` in `chalk_rust_ir`

error[E0433]: failed to resolve: could not find `PolarizedTraitRef` in `chalk_rust_ir`
   --> crates/ra_hir/src/ty/traits/chalk.rs:716:35
    |
716 |         trait_ref: chalk_rust_ir::PolarizedTraitRef::Positive(trait_ref.to_chalk(db)),
    |                                   ^^^^^^^^^^^^^^^^^ could not find `PolarizedTraitRef` in `chalk_rust_ir`

error[E0560]: struct `chalk_rust_ir::TraitDatumBound` has no field named `flags`
   --> crates/ra_hir/src/ty/traits/chalk.rs:494:13
    |
494 |             flags: chalk_rust_ir::TraitFlags {
    |             ^^^^^ `chalk_rust_ir::TraitDatumBound` does not have this field
    |
    = note: available fields are: `trait_ref`, `where_clauses`, `associated_ty_ids`

error[E0063]: missing field `flags` in initializer of `chalk_rust_ir::TraitDatum`
   --> crates/ra_hir/src/ty/traits/chalk.rs:502:25
    |
502 |         return Arc::new(TraitDatum { binders: make_binders(trait_datum_bound, 1) });
    |                         ^^^^^^^^^^ missing `flags`

error[E0560]: struct `chalk_rust_ir::TraitDatumBound` has no field named `flags`
   --> crates/ra_hir/src/ty/traits/chalk.rs:528:68
    |
528 |         chalk_rust_ir::TraitDatumBound { trait_ref, where_clauses, flags, associated_ty_ids };
    |                                                                    ^^^^^ `chalk_rust_ir::TraitDatumBound` does not have this field
    |
    = note: available fields are: `trait_ref`, `where_clauses`, `associated_ty_ids`

error[E0063]: missing field `flags` in initializer of `chalk_rust_ir::TraitDatum`
   --> crates/ra_hir/src/ty/traits/chalk.rs:529:23
    |
529 |     let trait_datum = TraitDatum { binders: make_binders(trait_datum_bound, bound_vars.len()) };
    |                       ^^^^^^^^^^ missing `flags`

error[E0560]: struct `chalk_rust_ir::ImplDatumBound` has no field named `impl_type`
   --> crates/ra_hir/src/ty/traits/chalk.rs:643:9
    |
643 |         impl_type,
    |         ^^^^^^^^^ `chalk_rust_ir::ImplDatumBound` does not have this field
    |
    = note: available fields are: `trait_ref`, `where_clauses`, `associated_ty_values`

error[E0063]: missing fields `impl_type`, `polarity` in initializer of `chalk_rust_ir::ImplDatum`
   --> crates/ra_hir/src/ty/traits/chalk.rs:646:22
    |
646 |     let impl_datum = ImplDatum { binders: make_binders(impl_datum_bound, bound_vars.len()) };
    |                      ^^^^^^^^^ missing `impl_type`, `polarity`

error[E0560]: struct `chalk_rust_ir::ImplDatumBound` has no field named `impl_type`
   --> crates/ra_hir/src/ty/traits/chalk.rs:659:9
    |
659 |         impl_type: chalk_rust_ir::ImplType::External,
    |         ^^^^^^^^^ `chalk_rust_ir::ImplDatumBound` does not have this field
    |
    = note: available fields are: `trait_ref`, `where_clauses`, `associated_ty_values`

error[E0063]: missing fields `impl_type`, `polarity` in initializer of `chalk_rust_ir::ImplDatum`
   --> crates/ra_hir/src/ty/traits/chalk.rs:661:22
    |
661 |     let impl_datum = ImplDatum { binders: make_binders(impl_datum_bound, 1) };
    |                      ^^^^^^^^^ missing `impl_type`, `polarity`

error[E0560]: struct `chalk_rust_ir::ImplDatumBound` has no field named `impl_type`
   --> crates/ra_hir/src/ty/traits/chalk.rs:719:9
    |
719 |         impl_type,
    |         ^^^^^^^^^ `chalk_rust_ir::ImplDatumBound` does not have this field
    |
    = note: available fields are: `trait_ref`, `where_clauses`, `associated_ty_values`

error[E0063]: missing fields `impl_type`, `polarity` in initializer of `chalk_rust_ir::ImplDatum`
   --> crates/ra_hir/src/ty/traits/chalk.rs:721:22
    |
721 |     let impl_datum = ImplDatum { binders: make_binders(impl_datum_bound, num_args as usize + 1) };
    |                      ^^^^^^^^^ missing `impl_type`, `polarity`

error: aborting due to 14 previous errors

Some errors have detailed explanations: E0063, E0433, E0560.
For more information about an error, try `rustc --explain E0063`.
error: could not compile `ra_hir`.

What command did you use to build rust-analyzer? It looks like the build does not use a lockfile

cargo build --release
cargo install --path ./crates/ra_lsp_server/ --force

cargo install without --locked will ignore Cargo.lock.

Adding --locked fixed the problem
https://github.com/rust-analyzer/rust-analyzer/blame/master/docs/user/README.md#L45-L53


[Feature Request] Change Identifier/FileName

Identifier MUST be unique
Identifier MUST be immutable on ISA - level
Identifier MAY be changed on ARC - level, this function MUST change folder name, etc.

Change record type to object with properties:
Example:
type ArcAssay(identifier: string, ?measurementType : OntologyAnnotation, ?technologyType : OntologyAnnotation, ?technologyPlatform : string, ?tables: ResizeArray<ArcTable>, ?performers : Person list, ?comments : Comment list) =
    let tables = defaultArg tables <| ResizeArray()
    let performers = defaultArg performers []
    let comments = defaultArg comments []
    let mutable identifier : string = identifier

    /// Must be unique in one study
    member this.Identifier
        with get() = identifier
        and internal set(i) = identifier <- i

    static member FileName = Path.ISA.AssayFileName

    member val MeasurementType : OntologyAnnotation option = measurementType with get, set
    member val TechnologyType : OntologyAnnotation option = technologyType with get, set
    member val TechnologyPlatform : string option = technologyPlatform with get, set
    member val Tables : ResizeArray<ArcTable> = tables with get, set
    member val Performers : Person list = performers with get, set
    member val Comments : Comment list = comments with get, set


Normalize key order in object comparison.

Key order should not be depended upon in the compareObjects call.

Makes sense :)

Thank you :)


added way to connect to websocket and two slots to be called when

connection is eastablished and when messege is recived (onEventRecevied)

lets start websocket

ignore autosave....

looks good


Unable to run inference with array in "inference detector"

Problem
3 days ago in mmdet/apis/inference.py, the hardcore loading was removed.
I was able to run an inference with code like this:
img = 'test.jpg'
 img = mmcv.imread(img)
 result = inference_detector(model, img)
Now I am unable to run it like this. inference_detector() only works with file-path now.
See my error:
Traceback (most recent call last):
File "process_img.py", line 71, in
main()
File "process_img.py", line 63, in main
result = inference_detector(model, img)
File "C:\Users\ASUS\mmdetection\mmdet\apis\inference.py", line 95, in inference_detector
data = test_pipeline(data)
File "C:\Users\ASUS\mmdetection\mmdet\datasets\pipelines\compose.py", line 40, in call
data = t(data)
File "C:\Users\ASUS\mmdetection\mmdet\datasets\pipelines\loading.py", line 59, in call
img_bytes = self.file_client.get(filename)
File "C:\Users\ASUS\Anaconda3\lib\site-packages\mmcv\fileio\file_client.py", line 294, in get
return self.client.get(filepath)
File "C:\Users\ASUS\Anaconda3\lib\site-packages\mmcv\fileio\file_client.py", line 185, in get
with open(filepath, 'rb') as f:
OSError: [Errno 22] Invalid argument: '[[[ 9 51 16]\n  [ 9 51 16]\n  [12 53 19]\n  ...\n  [39 72 47]\n  [40 74 50]\n  [40 74 50]]\n\n [[10 52 17]\n  [10 52 17]\n  [13 54 20]\n  ...\n  [37 71 46]\n  [38 73 49]\n  [38 73 49]]\n\n [[17 56 23]\n  [17 56 23]\n  [18 56 24]\n  ...\n  [29 68 41]\n  [29 70 43]\n  [29 70 43]]\n\n ...\n\n [[41 68 62]\n  [41 68 62]\n  [40 70 63]\n  ...\n  [32 68 49]\n  [27 62 41]\n  [27 62 41]]\n\n [[42 69 64]\n  [42 69 64]\n  [47 77 69]\n  ...\n  [26 62 44]\n  [23 58 38]\n  [23 58 38]]\n\n [[42 70 64]\n  [42 70 64]\n  [48 78 71]\n  ...\n  [24 61 43]\n  [22 57 37]\n  [22 57 37]]]'
However, in the API documentation, it is written that this should work with an array.

It is a bug introduced by #3611. They will fix it soon.

Already fixed in #3634


Added ocp-disconnected team/members

Added ocp-disconnected team/members to resolve #332

@pabrahamsson any chance this can get approved today?

/test org-validate-configs


add initial scrolling support

handle events & send scroll frame in rust
implement (some subpart of) react <ScrollView>

We'll need to reintroduce this too


source map fails on io.js (nvm?)

as per discussion with @gzm0, here's a simple example that demos the issue
$ git clone https://github.com/yawnt/node-sourcemap-fail.git && cd node-sourcemap-fail
$ npm i source-map-support
$ build.sbt  node_modules  project  src
$ node
> require('source-map-support').install()
$ node -v
v2.3.1
$ npm -v
2.11.3
$ sbt run
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256M; support was removed in 8.0
[info] Loading global plugins from /home/yawnt/.sbt/0.13/plugins
[info] Loading project definition from /tmp/node-sourcemap-fail/project
[info] Set current project to node-sourcemap-fail (in build file:/tmp/node-sourcemap-fail/)
[info] Updating {file:/tmp/node-sourcemap-fail/}node-sourcemap-fail...
[info] Resolving org.eclipse.jetty#jetty-continuation;8.1.16.v20140903 ...
[info] Done updating.
[info] Compiling 1 Scala source to /tmp/node-sourcemap-fail/target/scala-2.11/classes...
[info] Fast optimizing /tmp/node-sourcemap-fail/target/scala-2.11/node-sourcemap-fail-fastopt.js
[info] Running hai.App
[error]
[error] /tmp/node-sourcemap-fail/target/scala-2.11/node-sourcemap-fail-fastopt.js:1029
[error]   throw new $c_jl_Error().init___T("hi, i'm error")
[error]                           ^
[error] java.lang.Error: hi, i'm error
org.scalajs.jsenv.ExternalJSEnv$NonZeroExitException: node.js exited with code 1
	at org.scalajs.jsenv.ExternalJSEnv$AbstractExtRunner.waitForVM(ExternalJSEnv.scala:96)
	at org.scalajs.jsenv.ExternalJSEnv$ExtRunner.run(ExternalJSEnv.scala:143)
	at org.scalajs.sbtplugin.ScalaJSPluginInternal$.org$scalajs$sbtplugin$ScalaJSPluginInternal$$jsRun(ScalaJSPluginInternal.scala:479)
	at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$45$$anonfun$apply$27$$anonfun$apply$28.apply(ScalaJSPluginInternal.scala:539)
	at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$45$$anonfun$apply$27$$anonfun$apply$28.apply(ScalaJSPluginInternal.scala:533)
	at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) org.scalajs.jsenv.ExternalJSEnv$NonZeroExitException: node.js exited with code 1
[error] Total time: 7 s, completed Jul 20, 2015 9:30:11 AM

it works, however, in Chromium (funny thing, Firefox doesn't seem to support stacktraces, although it does correctly load the source map file)

You are throwing a java.lang.Error which is not recognized as JavaScript error by the VM. Therefore, it does not display (or resolve) any stack trace.
You probably meant to throw a js.Error (which you cannot throw, since it doesn't extend throwable). I'm not sure if the following does the right thing:
throw JavaScriptException(new js.Error ("foo"))

@sjrd?

the stacktrace is correctly resolved in chromium, however, as you can see from the image :|

my problem is that errors coming from Akka are not under my control, they could be java.lang.Error as far as I know :/

I'm not sure if the following does the right thing:

Yes it does the right thing, i.e., actually throw the underlying js.Error.
Both Chromium and V8 resolve the stack traces correctly. The problem is that V8 does not even display the stack trace in the console because the exception is not a js.Error, whereas Chromium always displays stack traces. If my analysis is correct, I'm not sure there's anything we can do about it. :s

I think we can:

Define a ScalaJSError which extends js.Error and takes a throwable as argument
When creating a throwable, create such an Error (we need it anyway for traces).
At export boundaries, "unwrap" the error
At interop boundaries re-wrap the error

Or now that I think of it: Maybe we should only throw these around. We need special handling in Scala try ... catch blocks anyway...

Hum ... That's a substantial change in the core mechanism for exceptions. I'll have to think about that.

i'm not familiar with the topic, but V8 does provide some stacktrace API, maybe those could be leveraged?
https://code.google.com/p/v8-wiki/wiki/JavaScriptStackTraceApi

Again, if Node.js doesn't display the stack trace in the first place, that doesn't help.


Fullscreen!

We need the game to be in fullscreen?

720p
1080p
other?

Could use the F11 key?

Done in #51, plz close


Build filter for image size (S/M/L)

Do we adopt resolutions up to 640x480 to be small, up to 1600x900 to be medium and above that to be large? This seems to be more or less in line with what both Google and Flickr do (although flicker has a slightly lower resolution for large images).

Fixed in #533


Misleading rate limit error

Sometimes I get this in stderr:
Error: Command failed: phraseapp keys list --locale-id xxx -q translated:false
ERROR: Rate limit exceeded: from 500 requests 492 are remaining (reset in 201 seconds)

This should not occur when there are 492 remaining of the 500, or it should always be outputted so it can be parsed and ignored if needed

Hi, thanks for reporting this. This is indeed misleading and I will have a look why this is reported incorrectly

@Arjan-Zuidema We released  a new CLI v2 https://github.com/phrase/phrase-cli which should resolve this issue


Potential issue: deleted models cause frontend stuck.

I'm investigating adding more models for my slickgpt fork, and found that:
If I start a new chat session with model A, then the model gets deleted in openai.ts (rather than setting the hidden: true flag), then the web frontend hangs and becomes unusable.
To mitigate this, I proposed a commit to switch back to the default model (gpt3.5) when the model used for the chat session is deleted.
https://github.com/xmoiduts/slick-zy-gpt/commit/68d8f0c373cd76b775e8219274c5b6b726936bff

thanks for fixing it in #105


Table Manager can now tag tables it manages.

Also, move over to use the *WithContext functions for this methods, and tidy up some of the mocking.

Lint errors:

./pkg/chunk/table_manager.go:79: arg ts for printf causes recursive call to String method

./pkg/chunk/table_manager.go:71:6: exported type Tags should have comment or be unexported

./pkg/chunk/table_manager.go:96:1: exported method Tags.Equals should have comment or be unexported

./pkg/chunk/table_manager.go:111:1: exported method Tags.AWSTags should have comment or be unexported

./pkg/chunk/table_manager.go:250:6: exported type TableDesc should have comment or be unexported

./pkg/chunk/table_manager.go:257:1: exported method TableDesc.Equals should have comment or be unexported

./pkg/ingester/mapper_test.go: higher than 25 cyclomatic complexity - 33 ingester TestFPMapper ./pkg/ingester/mapper_test.go:46:1


[qt] Support GeoJSON feature collection as std::list

The current conversion routine supports GeoJSON feature collections using QList/QVector and QByteArray (JSON string). This adds support for feature collections using std::list.

Thanks! Looks good to me.
Do you mind adding a changelog entry in the platforms/qt folder as this seems to be a relevant change for that?

Done, thanks for the review!


Fetch runtime code from storage cache when using proofing backend

Before we fetched the runtime code from the TrieBackend and this lead
to not using the storage cache. Thus, we recalculated the storage hash
for the runtime code on every call into the runtime and this killed the
performance on parachains block authoring. The solution is to fetch the
runtime code from the storage cache, to make sure we use the cached
storage cache.

I performed some test, and we moved from a ~100tx/block to ~350tx/block using this commit.
Awesome work !

bot merge


reformat rain forecast

Hi Eric, since you will modify the output of rain forecast again, I will close your pull request first. Sorry for that.


Default gateway

I'm not sure in what circumstances we want to provide a default gateway; perhaps always, since we can usually assume we'll be the only interface. But is it correct to do so?

@squaremo can we close this given Docker's docker_gwbridge functionality?

Did you figure out what determines whether or not you get an interface on the docker_gwbridge?

No, good thinking - we should make sure we understand that before relying on it.


Fix type signature of react-router-dom

Fixed lack of several annotations of react-router-dom which for using exact type.

I think #2342 would be more reasonable than this, therefore 'll close it.


WIP: DECL_PYTHON_VARLEN_SEQ_TYPEMAP typenames only works with Python …

…sequence
Addresses issue #871.
typemap(in) for DECL_PYTHON_VARLEN_SEQ_TYPEMAP was incorrect:

It was only accepting Python sequences (list, tuple,...) but was not
working properly when trying to pass the original ITK type.
It an incorrect type was passed, it was crashing instead of returning
an error message.

Repushed in https://github.com/InsightSoftwareConsortium/ITK/pull/1857


typing_indicator: Add a 'stream_id' parameter to 'POST /typing'.

CZO Discussion
This PR adds a stream_id parameter to the POST /typing endpoint.
Now, to is used only for "direct" type. In the case of "stream" type, stream_id and topic are used.

Changelog

/api/set-typing-status

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

I hope the API docs changes are clear enough to understand, as  I invested a few more time writing them :)

This seems clear to me, merged, thanks @prakhar1144!


add "equal time step" option to the chart

Add a toggle to show the chart using equally spaced time intervals. Otherwise it's hard to read when there are large gaps between games.

fixed by #10


feat(gamepad): pass buttonName as extra param to gamepad callback

I have a scenario where I want to register the same listener for several gamepad buttons. I also want to know which button was pressed, which makes it easier to register 1 event listener, and remove 1 event listener (instead of creating multiple listeners)
AS-IS
It's difficult to make a decision to know which button was pressed inside the callback in onGamepad
We have to write code like this, but it only works for one key, not an array of keys

onGamepad('south', onPlayerInput.bind({buttonName:'south'})); // not so pretty, and can be difficult to use correctly.

function onPlayerInput(...args){
  console.log('buttonName', this.buttonName});
}

// alternatively
onGamepad('south', (...args) => onPlayerInput(...args,{buttonName:'south'}));

TO-BE
Receive the buttonName as the third parameter (inside an object for extra flexibility if we want to add more params in the future,) making it easier to know which button initiated the callback.

const onPlayerInput = (gamepad, button, {buttonName}) => {
  console.log('buttonName', buttonName);
  if(buttonName === 'south') {
    // do something special
  }
}

initControls() {
  onGamepad(['south, north'], onPlayerInput);
}

TODO

[x] Add additional typings to kontra.d.ts?

I don't know if kontra.d.ts is autogenerated or not

Nice. I hadn't realized that the GameButton didn't have a property to know which button it was (unlike Keyboard Events). The kontra.d.ts file is automatically generated from the JSDoc comments. So you'll need to update the JSDoc comment for onGamepad to update the callback parameter to include the new return parameter of the function.

Thanks for the advice on what to change to update kontra.d.ts.
Now, I wonder if it's better to do one of the following:

Add buttonName as an extra attribute to the existing GamepadButton interface? (Maybe it will be confusing since we are expanding the default GamepadButton interface by the browser?)
Create a new interface for the third argument. Maybe we can call it GamepadExtras? This option will cleanup the code a little compared to what I have done so far.

Or maybe you prefer another option?
Also, is it worth creating an extra test for this new feature in gamepad.spec.js?
Looking forward to hear what you think.

I think for now we can pass the buttonName as the 3rd parameter itself (not inside another object). Looking at the updateGamepad function, I can't see anything else that should be passed to the callback, so just passing the name should be fine.
For the tests, you shouldn't need to add any new ones, but there are a few that test that the callback was called with certain parameters. We'll want those all updated to include the new buttonName parameter.

Awesome! Nice work, and thanks for the pr.


fix: adjust navbar colors to match design system

SUMMARY:
moving towards glassmorphism navbar per design system specification.
CHANGE TYPE:

[x] Bugfix Pull Request
[ ] Feature Pull Request

TEST COVERAGE:

[ ] Tests for this change already exist
[ ] I have added unittests for this change

TEST PLAN:
Pull it down, run storybook, and look at navbar stories using your eyeballs.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@921bf1c). Click here to learn what that means.
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #561   +/-   ##
=======================================
  Coverage        ?   84.85%
=======================================
  Files           ?      791
  Lines           ?    16838
  Branches        ?     5914
=======================================
  Hits            ?    14288
  Misses          ?     2484
  Partials        ?       66

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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

needs_sandbox


Cosmetic changes

feature/#53-cosmetic1

ignore feature/#53-cosmetic 1. Use feature/#53-cosmetic2:
-modify shocked emoji in empty shopping cart to pleading emoji (less scary) in Cart.js
-added hours of operation on Contact.js page


chore(deps): update renovate/renovate docker tag to v37.92.4

This PR contains the following updates:

Package
Update
Change

renovate/renovate (source)
minor
37.89.5 -> 37.92.4

Release Notes

renovatebot/renovate (renovate/renovate)
v37.92.4
Compare Source
Build System

deps: update dependency graph-data-structure to v3.5.0 (#26282) (f993525)

v37.92.1
Compare Source
Documentation

gitlab bot security: rewrite (#26270) (1604f50)

Build System

deps: update dependency @renovatebot/ruby-semver to v3.0.21 (#26271) (78e66c3)

v37.91.5
Compare Source
Miscellaneous Chores

deps: update dependency @types/diff to v5.0.9 (#26264) (b52cfab)
deps: update ghcr.io/containerbase/devcontainer docker tag to v9.30.3 (#26261) (e1a6dd1)
migrate vscode settings (#26265) (15d3b4f)

Build System

deps: update dependency @renovatebot/pep440 to v3.0.14 (#26267) (95c2a31)

v37.91.4
Compare Source
Bug Fixes

deps: update ghcr.io/containerbase/sidecar docker tag to v9.30.2 (#26257) (2677033)

Miscellaneous Chores

deps: update github/codeql-action action to v2.22.10 (#26256) (5ff1817)

v37.91.3
Compare Source
Code Refactoring

increase regex validation debugging (#26244) (1fd0c5c)

Build System

deps: update dependency @renovatebot/ruby-semver to v3.0.20 (#26247) (79c7335)

v37.91.2
Compare Source
Miscellaneous Chores

deps: update dependency @types/ini to v1.3.34 (#26243) (aa1f47c)
deps: update ghcr.io/containerbase/devcontainer docker tag to v9.30.2 (#26245) (eeb1024)

Code Refactoring

Clarify VersioningApi validation methods (#26235) (3c87df2)

Build System

deps: update dependency semantic-release to v22.0.12 (#26242) (2d066fb)

v37.91.1
Compare Source
Build System

deps: update dependency @renovatebot/pep440 to v3.0.13 (#26239) (ef543f8)
deps: update dependency semantic-release to v22.0.9 (#26240) (435220e)

v37.91.0
Compare Source
Features

manager/azure-pipelines: Deployment jobs support (#26048) (c39aa7e)

v37.90.1
Compare Source
Bug Fixes

gitea: disable issues on external tracker (#26228) (f88353c)

v37.89.7
Compare Source
Build System

deps: update emojibase monorepo to v15.3.0 (#26214) (8820993)

v37.89.6
Compare Source
Miscellaneous Chores

deps: update dependency type-fest to v4.8.3 (#26208) (2879819)

Build System

deps: update dependency prettier to v3.1.1 (#26212) (498a605)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 5.3.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


QuickSort on Singly Linked list

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Program Quick sort for Singly linked list in C++ added
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
Issue : #6031
Pull Request : #6306

@ankitaggarwal23 Please review my PR and let me know if it has some correction to do.

@ankitaggarwal23  @gat786  Please review my PR and let me know if it has some correction to do.

@ankitaggarwal23  Review my PR and I'm not able to detect why these checks  are not being checked.
Help me to get out of this and if any further correction please mention.

@ankitaggarwal23 @anushkrishnav  Review my PR and I'm not able to detect why these checks are not being checked.
Help me to get out of this and if any further correction please mention.


Typing ( after a function from another module that needs to be auto imported does not add the ) after

Issue Type: Bug
Let's say you have the function start() on a file and want to use that on another file. If the function is already on module.exports and you type start( on the other file, the function will be automatically imported at the top but vscode will not close the brackets, thus creating an error (not a big deal obviously but slightly annoying)
VS Code version: Code 1.53.1 (5d424b828ada08e1eb9f95d6cb41120234ef57c7, 2021-02-08T23:29:42.785Z)
OS version: Windows_NT x64 10.0.19042

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz (12 x 3192)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
19.89GB (6.31GB free)

Process Argv
D:\Users\rodri\Documents\GitHub\hypixel-translators-bot --crash-reporter-id 1aa51578-c79e-468f-b062-c24334e21918

Screen Reader
no

VM
0%

Extensions (20)

Extension
Author (truncated)
Version

vscode-crowdin
Cro
1.0.6

vscode-eslint
dba
2.1.14

gitlens
eam
11.2.1

EditorConfig
Edi
0.16.4

vscode-lombok
Gab
1.0.1

discord-vscode
icr
5.2.0

vscode-env
Iro
0.1.0

graphql-for-vscode
kum
1.15.3

csharp
ms-
1.23.9

gradle-language
nac
0.2.3

vetur
oct
0.32.0

java
red
0.74.0

vscode-yaml
red
0.15.0

vscodeintellicode
Vis
1.2.11

vscode-java-debug
vsc
0.31.0

vscode-java-dependency
vsc
0.18.0

vscode-java-pack
vsc
0.12.1

vscode-java-test
vsc
0.28.0

vscode-maven
vsc
0.27.1

minecraft-lang-colorizer
zz5
1.0.0

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspyt653:30253241
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30211401
vstry914:30256638
pythonvsdeb440:30248342
pythonvsded773:30248341
pythonvspyt600cf:30251589

Are there any updates on this? Please let me know if you need more info

I just tested this and it works fine for me. One exception is that ( is not considered a commit character when typescript.suggest.completeFunctionCalls is enabled.
Can you please share a code example (as text) where this does not work

I was actually using this on JavaScript but I can't seem to reproduce this anymore so I assume the issue has since been fixed so I'll close this, sorry for the inconvenience!


Battlemusic does'nt work/load[battlemusic.zip]

Mod Version:
DynamicSurroundings-1.12.2-<IP_ADDRESS>
Forge Version:
1.12.2-<IP_ADDRESS>47
Link to client log:
https://pastebin.com/BE9xrckB
Description:
I tried to use the Battlemusic function, but after adding the battlemusic.zip to my resourcepacks the sounds/musicfiles seem not to be loading.
I went to the Induvidual Sound options turned the volume to max and tried to play the music, but it kept silent. It did not even give me the function to stop the sound.
A small list of mods I use, but dont think are interfering. I hope.
AmbientSounds_v3.0.9_mc1.12.2.jar
antiqueatlas-1.12.2-4.6.3.jar
AutoRegLib-1.3-32.jar
Baubles-1.12-1.5.2.jar
bettercaves-1.12.2-1.6.0.jar
betternether-<IP_ADDRESS>.jar
betterportals-<IP_ADDRESS>.jar
BiomesOPlenty-1.12.2-<IP_ADDRESS>1-universal.jar
Botania+r1.10-363.jar
coroutil-1.12.1-1.2.36.jar
DynamicSurroundings-1.12.2-<IP_ADDRESS>.jar
DynamicSurroundingsHuds-1.12.2-<IP_ADDRESS>.jar
DynamicTrees-1.12.2-0.9.7.jar
DynamicTreesBOP-1.12.2-1.4.1e.jar
Farseek-1.12-2.4.jar
Flan's Mod-1.12.2-5.5.2.jar
Forgelin-1.8.4.jar
ironchest-1.12.2-<IP_ADDRESS>7.jar
LibraryEx-1.12.2-1.0.12.jar
mobends-0.24_for_MC-1.12.jar
NetherEx-1.12.2-2.0.15.jar
OptiFine_1.12.2_HD_U_F5.jar
OreLib-1.12.2-<IP_ADDRESS>.jar
Quark-r1.6-177.jar
QuarkOddities-1.12.2.jar
RoguelikeDungeons-1.12.2-1.8.0.jar
savemystronghold-1.12.2-1.0.0.jar
SoundFilters-0.11_for_1.12.jar
Streams-1.12-0.4.8.jar
Thaumcraft-1.12.2-6.1.BETA26.jar
twilightforest-1.12.2-3.10.1013-universal.jar
zombieawareness-1.12.1-1.11.16.jar

I also obviously have battlemusic true


Switch to independent introspector package

The introspector has been moved out of tree as it's quite independent from mojito.

Do we wanna make introspection a direct instead of an indirect dep?

Go mod tidy failed me


Capability to clone asset type in Asset Package

Is your feature request related to a problem? Please describe.
Capability to clone asset type in Asset Package.
Describe the solution you'd like
The user would select an Asset Type in the Asset Package and duplicate it using a new name and the system would generate a new asset type code.  Tool would give an option to copy rules, Categories and Terminal Configurations, etc.
Additional context
Tool would be used during data modeling exercises with a customer.

request by SE

I could see cloning Asset Group, Tier I question.
Copying Asset Groups and Types to other classes, I can see that.


Issues with jupyter 4.0

It looks like the syntax for loading modules has changed again in jupyter 4.0:
$([IPython.events]).on("app_initialized.NotebookApp", function () {
    require(['base/js/utils'], function(utils) {
        utils.load_extensions('notify');
    });
});

After fixing this, the notebook and extension load correctly, but I still don't see the notification permissions in the toolbar.  Actually, now everything seems to work once I change custom.js as mentioned above.

This is addressed by a much simpler way to load extensions as described in 6ad96d0.


Window moving between multiple monitors with keybinds

I recently started using my keyboard for window management more often, and noticed that moving the windows with the movewindow dispatcher between monitors with different layouts seems to be broken.
This is how you can reproduce it:

Two monitors next to each other with different layouts (left dwindle, right master)
When moving a window from the master to the dwindle monitor with movewindow, l, the window is not tiled correctly.
This window is broken and mainly inaccessible.
When killing the window from a terminal, Hyprland crashes.

Here's a video of it:
https://github.com/zakk4223/hyprWorkspaceLayouts/assets/41426325/10fb1793-cfa8-4f35-b69c-089fe8c95007
(it looks like my OBS config is a bit messed up, so sorry for the poor resolution haha, but I think it still illustrates the point)
I also had a quick peek at the code and fixing it doesn't seem as straight forward. I presume that this window moving is handled by moveWindowTo, but this implementation seems to be very layout specific (at least on dwindle and master).
I guess we could do something similar how it is done in the master layout, using getWindowInDirection and  see whether that window is on another layout, and based on that swap the window (which is implemented as of recently). But that would probably not be ideal in some edge cases, also when considering supporting 3rd party layouts.
Let me know what you think about this, I would also be willing to try implementing some approach you deem good enough.

You wouldn't swap, you'd just remove+add.
There's a code path in the dispatcher function that I think is never hit, which does the remove+add. It's supposed to handle window_direction_monitor_fallback but it looks like the function in the Compositor already does, so it always does layout->moveWindowTo. And Dwindle doesn't even honor that config value.
I think it's as simple as a windowRemove -> windowAdd but I"ll see if any extra tracking has to be done


Benchmarking evaluation component

Description
Adding benchmark evaluation as a component
Fixes #(447)

Many thanks for the initial draft here. I just pushed some changes that should bring the PR on track to get merged. Note that I didn't have enough time to fix all the errors that now pop up in the evaluation file. Would be nice if you could adapt the file accordingly.
I also kind thought that the changes to the algorithms tests would look a little different. I would have expected them to more or less replace the existing tests. You have access to the DD package as well as the final state/matrix DD from the Experiment result object.

I just applied some finishing touches and this is now ready to merge 🎉 Many thanks for all the effort! Looking forward to using the benchmark library for the first time.

Thanks a lot for the changes and merging, and of course the guidance and supervision! Hopefully customer satisfaction will be high :D


Include Unicode 11 zip

So it looks like Unicode 10.0 was what was used for 3.7, but close to release, it must have changed to 11.0. The zip is just to prevent things form failing on the off chance that the resources cannot be downloaded from Unicode.org.


Gsutil

With the same reasoning from https://github.com/hellofresh/kangal-jmeter/pull/30#issuecomment-1624795588 I'm closing this PR.


Added test cases for @fold traversal

Tests for @fold directive constraints. Test cases for type coercions and filters within a fold traversal.

Coverage increased (+0.2%) to 94.43% when pulling fe9d4083492b9085e8f62e99527943e820e7a6e3 on amartyashankha:fold_traversal into 4f7d5124a606970eb9130400be2e87bc44474f12 on kensho-technologies:fold_traversal.


modify loading tokens and erc20 txs

problem: current rosetta did not show any erc20
fix: adding whiteListtokens to configuratuion
minor modifications:
adding to json file for simplify config
when the tokenList grows longer, json file may be more convienient than env
adding an new type:invalid
before

after

@mdehoog please have a look of this pr

@mdehoog thanks for your comments, modified


[FLINK-26074] Improve FlameGraphs scalability for high parallelism jobs

What is the purpose of the change
The FlameGraph feature added in FLINK-13550 issues 1 RPC call per subtask. This may cause performance problems for jobs with high paralleism and a lot of subtasks. This PR improves sampling by grouping thread sampling request and issuing only one call per TaskManager for all the relevant threads at once.
Verifying this change
Verified manually and by the existing tests.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@flinkbot run azure

@AHeise could you take another look? There are only a couple of minor points remaining.

I think all comments have been addressed and overall the code looks fine. Please rebase your branch since a lot of tests are currently failing on the CI of this branch

We should run some manual benchmark with and without this fix though.

Did you run the benchmarks?

@flinkbot run azure

Thanks @fapaul, addressed the comments. I also did a manual test on the cluster started from flink-dist.


"This file was not a valid JSON Serenity test report" error message

Hi @jan-molak,
Since a few weeks I have the below java error. Since a few days I have 2 warns I did not have before about the .json files not being relevant serenity test reports ones.
[failsafe] Script 'all:chrome' exited with code 100
[report]
[report] ><EMAIL_ADDRESS>report /home/myprojectpath
[report] > serenity run
[report]
[report] info: Using Java at: /usr/bin/java
[report] TypeError: Cannot read property '0' of undefined
[report]     at checkJavaHome.then.catch.then.then.catch.then.std (/home/myprojectpath/node_modules/java-home/lib/java-home.js:92:27)
[report]     at process._tickCallback (internal/process/next_tick.js:68:7)
[report]     at Function.Module.runMain (internal/modules/cjs/loader.js:744:11)
[report]     at startup (internal/bootstrap/node.js:285:19)
[report]     at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)
[report] warn: net.thucydides.core.reports.json.JSONTestOutcomeReporter - This file was not a valid JSON Serenity test report: 1cf3dc08679f3ecf62d7c2d3ec01a353.json
[report] warn: net.thucydides.core.reports.json.JSONTestOutcomeReporter - This file was not a valid JSON Serenity test report: 1cf3dc08679f3ecf62d7c2d3ec01a353.json
[report] info: All done!
[failsafe] Script 'report' exited with code 0

Is it a serenityjs <-> java reporter regression? Or shall I look at anything I could have done wrong on my side?

Hey @san-ouadghiri! Could you please paste the (anonymised) contents of 1cf3dc08679f3ecf62d7c2d3ec01a353.json?

Hello,
I have a similar error.
I have attached the file. Appears to be malformed json.
1cf3dc08679f3ecf62d7c2d3ec01a353.txt

Thanks, this might happen when a Serenity/JS task is not correctly synchronised with other promises.
Compare the below:
this.When('she books the flight', function() {
  this.stage.theActorInTheSpotlight().attemptsTo(BookTheFlight());
});

with:
this.When('she books the flight', function() {
  return this.stage.theActorInTheSpotlight().attemptsTo(BookTheFlight());
});

The lack of the return statement in the first implementation causes the actor to execute the task outside of the Cucumber promise chain.
My first instinct would be to go through the step library and look for any missing return statements.
Does this help?
Jan

Thank you. That helped.
In some steps I did not return and in some I am returning regular Chai as Promised assertions.
I suppose all returns should be of screenplay Actor operations.
Is that true?

Excellent, I'm glad it helped.

I suppose all returns should be of screenplay Actor operations.

Yes, all the cucumber steps where the actor performs their tasks should return the actor.attemptsTo chain

in some I am returning regular Chai as Promised assertions.

Have a look at the (Serenity/JS Handbook: Assertions](https://serenity-js.org/design/assertions.html); the best way to use the chai-as-promised assertions from within the See.if task.

Hi @jan-molak
I am also getting the same error, I have checked all return statements etc.
Is there somethig that I have missed.
I have attached scenario_report as well as step file
Book_Apoointment_steps.txt
scenario-report-41680d5c18cec7626ccbdd26645668b0.txt

Hey @Manishrn, it looks like the steps library uses a mixture of different step definition styles, misses the return statement in the background information contains speciality step, and doesn't use the actor in verification steps:
  this.Given(/^that BookPr is on appointments page$/, async () => {
    return await BookPr.attemptsTo(SingleAppointment.onAppointmentPage());
  });

  this.When(/^BookPr starts to book appointment$/, async () => {
    return await BookPr.attemptsTo(BookSingleAppointment.createSingleAppointment());
  })

  this.Then(/^single booking page should be visible$/, function () {

     return Ensure.that(Text.of(NewAppointmentComponent.AppointmentText),equals('Appointments'));
  })

  this.When(/^background information contains speciality$/, async ()=>{

     Ensure.that(Text.of(NewAppointmentComponent.AppointmentText),equals('Appointments'));
  })

Try this implementation instead:
  this.Given(/^that BookPr is on appointments page$/, function () {
    return BookPr.attemptsTo(
      SingleAppointment.onAppointmentPage()
    );
  });

  this.When(/^BookPr starts to book appointment$/, function () {
    return BookPr.attemptsTo(
      BookSingleAppointment.createSingleAppointment()
    );
  })

  this.Then(/^single booking page should be visible$/, function () {
    return BookPr.attemptsTo(
      Ensure.that(Text.of(NewAppointmentComponent.AppointmentText), equals('Appointments')),
    );
  });

  this.When(/^background information contains speciality$/, function () {
    return BookPr.attemptsTo(
      Ensure.that(Text.of(NewAppointmentComponent.AppointmentText),equals('Appointments'))
    );
  });

Hope this helps!
Jan

@jan-molak :
I tried with step you have given, but no luck.
-Manish

Verify that the Scenario Outline has the information regards the scenario and run again and see.


Development of the atmosphere tool

I created this issue to guide us through the development of the atmosphere tool.
Motivation
We want to understand the impact of a change in the atmospheric conditions into our ability to reliably reconstruct the events.
Goal of the tool
The tool will be able to compare the results of Corsika simulations generated with different atmospheric conditions. The main parameters to be investigated are the photon density distribution on the ground and its wavelength distribution.
To develop
One atmosphere

[ ] Create an array of telescopes that covers up to 1 km on the ground (using class LayoutArray)
[ ] Generate a corsika config file with appropriate parameters to save the list of photons with wavelength (corsika_config.py and corsika_runner.py). Options for including different atmosphere files should be given.
[ ] Use the array and config file created to run a production (production.py)
[ ] Create a Corsika output handler (using pyeventio)
[ ] In the Corsika output handler, estimate the following variables (with plots):

[ ] photon density as function of distance to array center;
[ ] wavelength distribution;
[ ] 2D distribution (distance to the center vs wavelength)
[ ] 2D distribution (X vs Y on the ground)
[ ] integrated photon counts;

Compare two atmospheres

[ ] Plot the distributions from the two atmospheres together (for visual comparison)
[ ] Use a statistical test to evaluate how two distributions differ from each other (should be generic and able to be used for other kinds of distribution functions)

Sounds good, two comments:

applications/make_regular_arrays.py is the application used to make the regular arrays
have a look at https://github.com/cta-observatory/pycorsikaio for reading corsika binary output

Sounds good, two comments:

applications/make_regular_arrays.py is the application used to make the regular arrays
have a look at https://github.com/cta-observatory/pycorsikaio for reading corsika binary output
Thanks.

Yes, I am basing on applications/make_regular_arrays.py to generate the "large" array.
I've been using pyeventio (https://github.com/cta-observatory/pyeventio) and getting all the information I need from the telescope file. Do we have a preference for which Corsika output file to use?

Ah - you are reading the sim_telarray file, not the corsika file. All good, although for looking at the atmosphere it would be enough to test the corsika file.

Actually Im using only Corsika. Sorry, I mixed up the output file names, I am reading it from the Cherenkov Telescope Data File name (defined by TELFIL in the Corsika input). pyeventio reads it too, I have access to the photon list (with position, direction, wavelength) and the telescope positions.
@orelgueta do you know the status of the softwares, and which one of the two is preferred? pyeventio or pycorsikaio?

pyeventio reads the output of sim_telarray, while pycorsikaio reads corsika files. So if you use corsika only, you will need that one. I am not up to date on the status, but if it is not working, we fix it.

All I know is that pyeventio can read both as @VictorBarbosaMartins says. We could ask Max about the status and which we should use. It would be nice if pyeventio can be used for everything instead of having two separate packages.

I did not know that, so ignore my comments.

Max just implemented a few new things in pycorsikaio this week so maybe it's still worth looking into it and understanding what the difference is. @VictorBarbosaMartins, would you be able to look into it?

Sure, i will have a look


Panderson/pure storage link changes

The links to the Pure Storage documentation have changed.

@gungazoo - Thanks for your pull request. A member of the content team will review it.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

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

Thanks, @jjaygbay1. For convenience, I resolved the merge conflict.

Hi @gungazoo and @jjaygbay1 ,
As this is a new article, we'll need the commits to be moved to the private repo - azure-docs-pr so we can do a full review with staging and acrolinx. @jjaygbay1 - can you move the commits and serve as the author? (let us know if you need assistance).
Some issues of note: the new article is missing some required metadata fields which will need to be added. Also, all new articles must have an entry in a toc.yml ... and there might be other issues to resolve before these additions can be merged, but we will do a full review after the commits are moved and a new PR is opened in the private repo.

#hold-off

@jjaygbay1 - If it helps, you can find instructions to move the commits to the private repo here.

I sent an email to the content owner today.
@MicrosoftDocs/public-repo-pr-review-team


For some reason gitportal doesn't seem to work w this

https://github.com/docker/welcome-to-docker/blob/main/.gitignore

Yeah, seeing weird behavior with this. I'm going to try to have a fix out tomorrow night.

Ope, I know what's going on here now. Fix is coming asap


Windows 10: Faulting module name: nvwgf2umx.dll

Describe the bug
Upon launch, sniffnet starts up for about 15 seconds and then crashes  - throwing the following error:
Faulting application name: sniffnet.exe, version: <IP_ADDRESS>, time stamp: 0x6464d509
Faulting module name: nvwgf2umx.dll, version: <IP_ADDRESS>95, time stamp: 0x59dbff63
Exception code: 0xc000041d
Fault offset: 0x00000000008f4b48
Faulting process id: 0x4008
Faulting application start time: 0x01d993d5a61e5ed9
Faulting application path: C:\Program Files\sniffnet\bin\sniffnet.exe
Faulting module path: C:\WINDOWS\System32\DriverStore\FileRepository\nvdm.inf_amd64_2499cb38d840b3b4\nvwgf2umx.dll
Report Id: 71b82124-6a0a-40d2-8501-716fd4331d2d
Faulting package full name:
Faulting package-relative application ID:
To Reproduce
double click on sniffnet.exe icon
Expected behavior
launches without issue
Desktop (please complete the following information):

OS: Windows 10 Enterprise Build 19045
Browser:  Chrome
Version 113.0.5672.127 (Official Build) (64-bit)

How did you build Sniffnet? With cargo? Or did you use the installer?

The build attached to #218 worked - thanks.

The build attached to #218 worked - thanks.

Awesome, I'm happy you can now use Sniffnet 🙌


[storage-if] Move db reader to storage/storage-interface

Motivation
We're going to remove the dependency on libradb from most crates, by isolating the interface as traits into another crate.
Have you read the Contributing Guidelines on pull requests?
Y
Test Plan
CI

:umbrella: The latest upstream changes (presumably 27252e31cf17b4f041e601c4d830775daad3169f) made this pull request unmergeable. Please resolve the merge conflicts.

So clean.
@bors-libra  r+

:pushpin: Commit bb84bcf has been approved by msmouse

:hourglass: Testing commit bb84bcf86d2e5fe4846fef4939fc5b989516d23a with merge e203b531cd5d980c18afefd75ae1aae1b42ac9e5...

:broken_heart: Test failed - checks-circle_commit_workflow

@bors-libra r=msmouse

:bulb: This pull request was already approved, no need to approve it again.

This pull request previously failed. You should add more commits to fix the bug, or use retry to trigger a build again.
There's another pull request that is currently being tested, blocking this pull request: #3284

:pushpin: Commit bb84bcf has been approved by msmouse

@bors-libra retry

:hourglass: Testing commit bb84bcf86d2e5fe4846fef4939fc5b989516d23a with merge 3ecc3dd1012d484382cd457dcc0e71e19044974f...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: msmouse
Pushing 3ecc3dd1012d484382cd457dcc0e71e19044974f to master...

Nice PR, could we have a little more?


[material-ui][Typography] Enforce responsive typography type checking in sx prop

Fixes #42918
Typography Prop Extended to Enforce Typography Breakpoint Types.

[x] I have followed (at least) the PR section of the contributing guide.

Reviewed CI build step failure and am working to resolve.

Addressed many of CI failures. Could use an assist with understanding why the test_static is failing with the following prompt: pnpm proptypes` changes committed?  I ran pnpm proptypes && pnpm docs:api to generate changes and committed.

@ZeeshanTamboli  Thank you for the feedback on the PR! Makes sense about omitting the sx prop to reduce the scope of changes. And the same for @typescript-to-proptypes-ignore to disable the proptype generation in favor of PropTypes.object to keep the generated prop types easy to read. 🚀

@ZeeshanTamboli, @DiegoAndai @siriwatknp Commenting to keep this PR active. Awaiting final review.

@ZeeshanTamboli, @DiegoAndai, @siriwatknp Commenting to keep this PR active. Awaiting final review.

Upon reflection, I believe this is a breaking change. If users extend TypographyProps in their custom components, they must also omit the sx prop if it's defined in their custom component. That would seem like a edge case though. It looks good to me, and I've requested reviews from others.

@DiegoAndai @siriwatknp Just a ping to review this PR.

Hey @Sergio16T and @goodwin64, I'm sorry for the delay in responding to this PR. It's been an intense couple of months with the v6 release 😅.
Let me know if I understand correctly: the intent of https://github.com/mui/material-ui/issues/42918 is for users to be able to restraint the typography type? So it won't accept any other values that are not the variants?
If so, I don't think this should be changed in the component level but rather the SxProps level, as it should work on all components in the same way
What do you think @siriwatknp? I'm not familiar with how the typography sx property is implemented, may I ask you to provide your insight into how it works?

While this fixes the typography but it creates more complexity to the codebase. What's about other fields? I'm pretty sure there will be more requests once this is merged.
The underlying problem is the type of sx prop, not specifically typography. It cannot be enforced to the responsive type because sx prop has to support any CSS selector which is a string.
The best experience I can achieve so far is with autocomplete for the typography but not possible to enforce the responsive keys due to https://github.com/mui/material-ui/blob/master/packages/mui-system/src/styleFunctionSx/styleFunctionSx.d.ts#L64
I put on hold to this PR until we can figure out a better solution for the whole sx type system. cc @Janpot


DIME Analytics team feedback

[x] Data Visualization Cheatsheet (found here) is different then others
[x] Fix "about us" to department
[ ] Have an outline of graphs in each page
[x] Explain what the graphs in the landing page are
[x] Improve spacing between graphs

can we change the 'useful links' section so that it is distinguishable from summary statistics and impact evaluation? right now it looks like it would be the same type of category. maybe we could move it to run along the bottom, above 'about us'? or change the formatting so it is more clearly distinct

Develop Branch:

"EventStudyDinD" Y and X labels are flipped, relative to the website
https://github.com/worldbank/r-econ-visual-library/blob/b64f0c3c4025c4c3c84e0d293c8005e0448c3476/Library/EventStudyDinD.Rmd#L94-L97

"ScatterFittedLine" Y and X labels are flipped, relative to the website
https://github.com/worldbank/r-econ-visual-library/blob/b64f0c3c4025c4c3c84e0d293c8005e0448c3476/Library/ScatterFittedLine.Rmd#L42-L45

Data not found for: "Scatterlabels", "HorizontalBarOrderGroup"


[Sdk v3] Diagram injectable modules

Create a diagram of the Okta specific components following principles described in the dependency injector documentation, see: https://python-dependency-injector.ets-labs.org/examples/application-single-container.html#application-single-container
Initial set of components are (pardon the .NET naming conventions):

IAuthorizationHeaderProvider
IPaginationProvider
IRetryProvider
IEventProvider
ILogger

To adhere to a more Python specific naming convention the above interface names should be thought of as metaclasses and names should reflect this:

AuthorizationHeaderProviderMeta
PaginationProviderMeta
RetryProviderMeta
EventProviderMeta
LoggerMeta


Support flatmap

Codecov Report

Merging #213 (22f063b) into main (d986900) will increase coverage by 2.63%.
The diff coverage is 83.74%.

:exclamation: Current head 22f063b differs from pull request most recent head 44fea0b. Consider uploading reports for the commit 44fea0b to get more accurate results

@@            Coverage Diff             @@
##             main     #213      +/-   ##
==========================================
+ Coverage   63.35%   65.98%   +2.63%
==========================================
  Files         120      125       +5
  Lines        4721     4951     +230
  Branches      489      527      +38
==========================================
+ Hits         2991     3267     +276
+ Misses       1586     1517      -69
- Partials      144      167      +23

Impacted Files
Coverage Δ

towhee/operator/base.py
86.95% <ø> (ø)

...whee/tests/emulated_pipelines/emulated_pipeline.py
25.71% <0.00%> (ø)

towhee/utils/hub_tools.py
45.67% <55.55%> (+45.67%)
:arrow_up:

towhee/__init__.py
86.76% <74.07%> (-4.15%)
:arrow_down:

towhee/engine/operator_loader.py
76.08% <74.07%> (-4.87%)
:arrow_down:

towhee/engine/task_scheduler.py
77.92% <75.00%> (-2.60%)
:arrow_down:

towhee/dataframe/dataframe.py
78.04% <75.92%> (-0.90%)
:arrow_down:

towhee/engine/graph_context.py
84.72% <77.55%> (-15.28%)
:arrow_down:

towhee/engine/_operator_io.py
90.38% <80.00%> (-2.95%)
:arrow_down:

towhee/tests/dataframe/test_dataframe.py
97.33% <80.00%> (-2.67%)
:arrow_down:

... and 24 more

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 d986900...44fea0b. Read the comment docs.


Negative Debit

I have a case like this: :61:1908150815D-104,12NMSCNONREF//010F214191270328
It fails to parse correctly, likely because of the D-104,12. I'm not certain that's correct or not though. I guess it comes down to the - being allowed or not. Perhaps you've seen such a case before?

sorry for the late reply.
sadly I do not know about that case. Do you know if some MT940 specs supports this?

This is my only experience with the format, so I unfortunately don't 😕

I don't think that the - is a negative sign but is the placeholder for the currency (not valid though). the amount itself cannot be negative as it's numerical.
i like that source for quick reference: https://www.kontopruef.de/mt940s.shtml

I ended up doing this on each line:
# Replace `D-100,00` with `RD100,00`
content.gsub!(/D-/, 'RD')

# Replace `C-100,00` with `RC100,00`
content.gsub!(/C-/, 'RC')

And it has worked so far 🤷♂

:+1:

@LQkkeN have you checked if the - is really meant to be a negative sign and not a broken currency? if so all is well but if not this makes things worse as you return incorrect statements

Yes 😆


feat (rhino-mapper) Add surface mapping option for roofs and ceilings

In Speckle Mapper for Rhino, add mapping options:

surface as (Revit native) ceiling
surface as (Revit native) roof

Options will be accessible in "Revit Element to Map" drop down after receiving project info, see below.
Test project info for Revit house here: https://speckle.xyz/streams/9ff64f51e6/commits/e0b54940a7

@paloknapo could you make the test project info stream public, or add me?


Global error handling within Windows apps

Requested by Lee Englestone (https://twitter.com/LeeEnglestone/status/723177951789879296) to incorporate a single line method for global exception handling within an application.

Added as part of commit 9bcfeed.
Can be activated by calling await AppLogHandler.StartAsync(); in the OnLaunched method of App.xaml.cs.


Links to groupsummary page

[x] Link from group creation
[x] Link from suvey page
[x] Link to hamburger

All done


Deep Learner vanishes from my inventory and bugged UI

Context: I'm playing on ATM8, and I died with deep learner in offhand when I grabbed my grave the deep learner did not appear on my inventory but the UI was still bugged.
I built another deep learner but when I take it out of hand the UI is still buggy.

Is your original deep learner in a curios slot?  I think the grave pickup may attempt to place it there.


Probably need a new source : XE is blocking this

Requests from XE.com are returning as:

Autoextraction Prohibited

Yup, I forked the code and used https://currencylayer.com/ free API. It gives access to 1000 calls, so use use a cron job to poll it every hour and store all the currencies in the Google Datastore and use that to interface with the currencies. Hope that gives you some idea :)


Eliminate test warnings and other minor fixes

Impact: minor
Type: bugfix
Changes

Add the missing key prop to InPageMenuItem in InPageMenu render. Eliminates errors that are logged in console.
Fix component prop types on InPageMenuItem and MiniCart components. Eliminates errors that are logged in console.
Adjustments to test files to eliminate all of the red errors and warnings that previously would appear between the test results when running yarn test. These were not test failures but decreased the readability of the test results.

Breaking changes
None
Testing
Mostly just a code review, and make sure tests pass without all of the warnings logged. The two component files that were touched are InPageMenu and MiniCart, so make sure those still function correctly and without errors in the docs.

🚀 Preview deployed
Built with commit afe52934ba03096751bcb5d676391066de9c6336
https://deploy-preview-384--stoic-hodgkin-c0179e.netlify.com

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Using new C# 7.1 language features - cleaning use of default

cc @shiftylogic, @KrzysztofCwalina, @Vedin

Just curious why this change is necessary. This is a lot of churn for a trivial benefit.

Just curious why this change is necessary. This is a lot of churn for a trivial benefit.

Agreed. The change isn't really necessary, but we have new language features, so might as well use and try them, no?
Just as an example, is use of var necessary?
Otherwise, do you suggest we continue to use default expressions with type specified or just start using the shorter form from now on?

I'm not against using new language features. I'm just commenting that this is a lot of churn. My opinion would be to use new features for new code or when you go an update an area / fix a bug. However, going and wholesale changing the code every time we add a new language features seems like a lot of work.

However, going and wholesale changing the code every time we add a new language features seems like a lot of work.

Visual Studio was the beast of burden here so it wasn't very difficult. In general, I agree though.

I like cleanup work :-). Keeps sources from deteriorating over time.

Does any of this work in the IDE?

Does any of this work in the IDE?

Yes. You have to install the VSIX linked here:
https://github.com/dotnet/corefxlab/pull/1608#issue-235443369

cc @KrzysztofCwalina, shall I resolve the conflict and merge?


[BlockStoreLoop] Refactor the BlockStoreSteps so that it returns a enum result #330

I'll do this one later today.

ah it's fine @Aprogiena, thanks for doing it.


HDDS-3334. OM Client failover to next OM on NotLeaderException

What changes were proposed in this pull request?
On receiving NotLeaderException from OM server, we should failover to the next OM in the list instead of the suggested Leader. This will ensure that all the OMs are contacted in a round robin way. Failing always to the suggested leader is not robust.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-3334
How was this patch tested?
TestOzoneManagerHA#testOMProxyProviderFailoverToCurrentLeader already covers this test.

+1 LGTM


Invoke-CMRunScript doesn't allow for parameters to be passed

Hi Adam,
I was trying to use Invoke-CMRunScript to execute a script in SCCM.  The script is configured with a parameter that needs to be passed.  I don't see how I can make that work with your function.  Can this be easily updated?

The last time I looked at this, the AdminService didn’t support passing in parameters to the Run Scripts function. I haven’t touched this in quite some time so I’m not sure if things have improved since this was last updated.

From: Nathan Hopkins @.>
Sent: Friday, October 11, 2024 2:34:57 PM
To: AdamGrossTX/ConfigMgr.AdminService @.>
Cc: Subscribed @.***>
Subject: [AdamGrossTX/ConfigMgr.AdminService] Invoke-CMRunScript doesn't allow for parameters to be passed (Issue #17)
Hi Adam,
I was trying to use Invoke-CMRunScript to execute a script in SCCM. The script is configured with a parameter that needs to be passed. I don't see how I can make that work with your function. Can this be easily updated?
—
Reply to this email directly, view it on GitHubhttps://github.com/AdamGrossTX/ConfigMgr.AdminService/issues/17, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AE7SYDTRW5TTABBZLP24VKTZ3AR6DAVCNFSM6AAAAABPZQ3TM2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGU4DEMBVHAZDONA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


Delete on exit beam-artifact temp file

Fixes #29215
Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

Run XVR_JavaUsingPython_Dataflow PostCommit

Run XVR_Direct PostCommit

Run XVR_Flink PostCommit

Run XVR_Samza PostCommit

Run XVR_Spark3 PostCommit

Flink XVR failed due to https://github.com/apache/beam/issues/29220 try again

Run XVR_Flink PostCommit

Run XVR_Samza PostCommit

both XVR test able to pass on Python38, wait until Python311 to complete then we will merge

tests passed


feat: skeletons for the featured products section

Since the <FeaturedProductsSection> is loaded on the client, sometimes there's an unpleasant page jump if you scroll before this section has loaded.
I've added skeletons that normally won't be visible, you have to scroll down to the products section fast enough. I wasn't sure whether to pass dummy data into the <ProductCard> component, or to add a prop skeleton={true} or to implement a separate <ProductCardSkeleton>.
https://github.com/user-attachments/assets/c2d73c98-95c3-4d64-a70b-9321073f98bb

@tetianaman applying a different animation to the skeletons would mean that this animation stops abruptly once the data is a loaded, and the <Reveal> animation begins. It would look ugly.


Wells - Using grid system

Hi all,
Building off of https://github.com/twitter/bootstrap/pull/2283 it seems like it would be useful if wells could still interact with the grid system (using the mixins of wells to then change the grid system that would be placed within it (the padding variable)). Not all sites use "container-less" content areas, but would still benefit from the grid system within it. Thanks!

We won't modify the grid system within a well. Too much code for such little benefit.

Appreciate the input on that - figured out a way pretty simple way around it. Thanks!


feat: Add Data Plane Kafka extension

What this PR changes/adds
This PR introduces a DataSource/DataSink pair for Kafka as a Data Plane extension. This extension provides functional support for streaming events through the Data Plane.
Note that approach for streaming events comes with a lot of limitations:

no ordering or delivery guarantee,
no asynchronicity (consumer always be up to receive the events)
slow performances

Therefore this code is not intended for usage in production environment.
Why it does that
Add limited support of streaming based on Kafka in the Data Plane.
Further notes
List other areas of code that have changed but are not necessarily linked to the main feature. This could be method signature changes, package declarations, bugs that were encountered and were fixed inline, etc.
Linked Issue(s)
Closes #1388
Checklist

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

@bscholtes1A is there a reason why development was stopped?

Codecov Report
Patch coverage: 37.03% and project coverage change: -0.23 :warning:

Comparison is base (4e14333) 66.44% compared to head (f550ba4) 66.21%.

:exclamation: Current head f550ba4 differs from pull request most recent head 95141d6. Consider uploading reports for the commit 95141d6 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2548      +/-   ##
==========================================
- Coverage   66.44%   66.21%   -0.23%
==========================================
  Files        1023     1031       +8
  Lines       20707    20901     +194
  Branches     1202     1219      +17
==========================================
+ Hits        13758    13839      +81
- Misses       6438     6550     +112
- Partials      511      512       +1

Impacted Files
Coverage Δ

...se/edc/dataplane/kafka/pipeline/KafkaDataSink.java
0.00% <0.00%> (ø)

.../edc/dataplane/kafka/pipeline/KafkaDataSource.java
0.00% <0.00%> (ø)

...taplane/kafka/pipeline/KafkaDataSourceFactory.java
33.33% <33.33%> (ø)

...dataplane/kafka/pipeline/KafkaDataSinkFactory.java
45.83% <45.83%> (ø)

...ctor/dataplane/http/params/HttpRequestFactory.java
96.77% <100.00%> (+0.22%)
:arrow_up:

...e/edc/dataplane/kafka/DataPlaneKafkaExtension.java
100.00% <100.00%> (ø)

...dataplane/kafka/config/KafkaPropertiesFactory.java
100.00% <100.00%> (ø)

...ine/validation/KafkaSinkDataAddressValidation.java
100.00% <100.00%> (ø)

...lidation/KafkaSourceDataAddressValidationRule.java
100.00% <100.00%> (ø)

... and 13 files with indirect coverage changes

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


Custom CSS

How to add custom styles before rendering, which are not visible for the user

I was about to suggest this feature as well. That's a very good idea but I don't think it is supported yet.
What I did was to toggle the styles I wanted on/off before and after calling html2canvas()

In my case export takes noticeable time, so I overlap the working area with a full-size non-transparent div (with an animated spinner), and apply an "export" class to exported container — this allows me to write any styles I want, and the users don't see it.


Support for patch files

After a project is fetched, apply a patch to apply any local changes.
Add a new attribute patch: to the manifest which gives an absolute path or a path relative to the manifest with a patch file (unified-diff git/svn). This will be applied after fetching a project, but before hashing it.
Don't assume any tooling on the system and use a pure python library (https://libraries.io/pypi/patch)
Don't forget:

The documentation in manifest.py explaining this new attribute.
Feature/Unit tests
Add patch: to the schema for validation to succeed.
Add any external lib license to legal.rst (and make sure it is MIT compatible)

The path library seems a bit out of date. There is a fork because PR weren't being merged: https://github.com/conan-io/python-patch-ng
An good alternative seems to be https://pypi.org/project/diff-match-patch/

Patch-ng looks to me like good alternative since it is based on the patch library and we could switch back if that becomes active again.


Multiple input is broken when set cmdheight > 1 and redraw

Steps to reproduce
set cmdheight=2
autocmd CmdlineChanged * redraw

vim -Nu test_vimrc
Please input below texts.
for i in range(4)
  echo 'hello'
endfor

My result is...

The redraw seems broken.
Expected behaviour
The input text should be redrawed like when set cmdheight=1
Version of Vim
8.2.4756
Environment
OS: Manjaro Linux
Terminal Alacritty
TERM: alacritty
Logs and stack traces
No response

The redraw command redraws the text in the windows, not the command line.
You should not use :redraw while editing the command line, because it will clear any messages.
I don't see why you have that autocmmand, it serves no purpose by itself.

The redraw command redraws the text in the windows, not the command line.
You should not use :redraw while editing the command line, because it will clear any messages.

I don't see why you have that autocmmand, it serves no purpose by itself.

OK.   I should explain why the feature is needed.
I have developed pum.vim plugin.
https://github.com/Shougo/pum.vim
The plugin supports the original command line popup menu by floting window or popup window.
But in command line, :redraw is needed to update popup window feature.
I don't know the replacement feature.
I use both CmdlineChanged autocmd and :redraw for it.
But :redraw seems broken when set cmdheight > 1.  So I have reported it.

Shougo wrote:

The redraw command redraws the text in the windows, not the command
line.
You should not use :redraw while editing the command line, because
it will clear any messages.

I don't see why you have that autocmmand, it serves no purpose by itself.

OK.   I should explain why the feature is needed.
I have developed pum.vim plugin.
https://github.com/Shougo/pum.vim
The plugin supports the original command line popup menu by floting window or popup window.
But in command line, :redraw is needed to update popup window feature.
I don't know the replacement feature.
I use both CmdlineChanged autocmd and :redraw for it.
But :redraw seems broken when set cmdheight > 1.  So I have reported it.

I see.  Well, we can redraw the command line with :redraw.  That's a
small change.  However, the first line will be gone, since only the
second line is being edited.
Perhaps we should have a redraw command to only update popup windows.
However, I would first want to know when this is needed, when are they
not updated automatically?
--
How To Keep A Healthy Level Of Insanity:
4.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Perhaps we should have a redraw command to only update popup windows.
However, I would first want to know when this is needed, when are they
not updated automatically?

Thank you.  I want to use the feature if possible.
Popup window is updated in other modes, but it is not updated automatically when command line mode.
If I execute :redraw in command line mode, it is updated.

Perhaps we should have a redraw command to only update popup windows.
However, I would first want to know when this is needed, when are they
not updated automatically?

Thank you.  I want to use the feature if possible.
Popup window is updated in other modes, but it is not updated
automatically when command line mode.
If I execute :redraw in command line mode, it is updated.

The main problem with command line mode is that if output caused the
screen to scroll up, redrawing popups in their old positon would cause a
big mess.
If you use a popup for something related to the command line (completion
I guess), then just redrawing that one is probably what you want.  This
also has the advantage that you don't need to know about any other
plugin that might have a popup displayed.
I'll add this to the todo list, but don't expect it soon...
--
'Well, here's something to occupy you and keep your mind off things.'
'It won't work, I have an exceptionally large mind.'
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Looking at the todo item for this:  We could add a ":redrawpopups" command that redraws all the popup windows.
However, I wonder in exactly what situation it would be needed.  And whether it is OK they might be drawn in the wrong
place when the command line has scrolled up.
Can you provide a script (as simple as possible, no plugins) that illustrates this?  Ideally in a way it could be used in a test.

OK.
Please test the script.
autocmd CmdlineChanged * call s:redraw_popup()

let s:id = -1
function! s:redraw_popup()
  let winopts = {
        \ 'pos': 'topleft',
        \ 'line': &lines + 1,
        \ 'col': getcmdpos() + 1,
        \ 'wrap': 0,
        \ }
  let lines = [getcmdline()]

  if s:id > 0
    call popup_move(s:id, winopts)
    call popup_settext(s:id, lines)
  else
    let s:id = popup_create(lines, winopts)
  endif

  " :redraw is needed now
  "redraw
endfunction

It prints the current command line in the popup window, but :redraw is needed now.


Added right-click directive and attribute

I had need of right-click capabilities, so I added a directive locally to MDP to handle this case.
How to use:

Declare a function in your controller and assign it to a scope variable. The function should accept the arguments (event,day).
Assign this variable to the "right-click" attribute of your multiple-date-picker. Don't include the parentheses in the attribute!

e.g. <multiple-date-picker right-click="myFunction"></multiple-date-picker>
Working plunk: http://plnkr.co/edit/NlPtbdMhFnfe7OMm2d9N?p=preview

Merged it with some refacts, thanks :)

Thanks, glad I could help :)


Provider constructor configuration

Make it possible to specifiy confiuration values in provider constructors.
Same options as in #13 but for config via code.

Closed by #17


Cannot export two remote services with CXF distribution provider

Issue 13:  https://github.com/ECF/JaxRSProviders/issues/13  was opened to allow multiple remote services to be exported.   As part of fixing that issue, it was discovered that CXF's code does not currently support multple endpoints dynamically added to org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet class.   For supporting exporting multiple endpoints with different servlets this is required.
To work around this, it may be necessary to implement an alternative Servlet class to CXFNonSpringJaxrsServlet.
The work is likely to be done in these classes:
org.eclipse.ecf.provider.cxf.server.CXFJaxRSServerContainer
org.eclipse.ecf.provider.cxf.server.DPCXFNonSpringJaxrsServlet.DPCXFNonSpringJaxrsServlet

Fixed.


Fix broken Samples link

Docs Build status updates of commit 020bb41:
:clock10: Full build: the average full build time is 143 min(s) 23 sec(s), this is based on the last 365 build(s) for this repository.

Docs Build status updates of commit 020bb41:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-services/webapps.md
:white_check_mark:Succeeded
View (azure-python)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


get_figure() doesn't work with maps

Ah, validation:
fig = py.get_figure('https://plot.ly/~jackp/10742/weather-pattern-contours-over-uk/',raw=True)