Value returned from template is not a number

Hello, I'm getting the following error:
16-01-10 18:56:40 homeassistant.components.automation.numeric_state: Value returned from template is not a number: 23.84

I think the automation that is causing this is that one:
 automation:
   - alias: Bellow 20 test
      trigger:
        platform: numeric_state
        entity_id: sensor.augustos_room_temperature
        below: 20
      condition:
        platform: state
        entity_id: switch.notifications
        state: 'on'
      action:
        service: notify.me
        data:
          message: >
            {{ states( 'sensor.augustos_room_temperature' ) }}ºC

What is causing this error?

The error is coming from the trigger part of the automation rule. It is trying to convert the state of sensor.augustos_room_temperature into a float (see here).
I am not sure why this error would occur if the state is 23.84. float(23.84) or float("23.84") clearly work in Python. float takes care of trimming off whitespace as well so something like float("23.84     \n") would not be a problem.
Maybe there is a hidden character in the value? Something like "23.84 \0". You wouldn't see anything when you print out the value in the error message, but converting it to a float fails.

Thanks for the insight @philipbl those values are been sent from my SparkCore by this function:
void formatAndPublish( String topic, String value )
{
    if ( client.isConnected() )
    {
        byte bytebuffer[ value.length() + 1 ];
        value.getBytes( bytebuffer, value.length() + 1 );
        client.publish( topic, bytebuffer, value.length() + 1, true );
    }
}

There is a way to "see" this supposed hidden character?
Thanks!

100% sure the problem is the \0 at the end of the string, juste looked in the Strings documentation from Arduino, now, lets find out what is the best way to fix it.

Now I'm a little bit con...
In the blog post using the ESP8266 the the code looks like this:
 client.publish(temperature_topic, String(temp).c_str(), true);
I looked up the .c_str() function and I found ou this:
"Returns a pointer to an array that contains a null-terminated sequence of characters (i.e., a C-string) representing the current value of the string object. This array includes the same sequence of characters that make up the value of the string object plus an additional terminating null-character ('\0') at the end."
And now? The example is wrong?

A null character (\0) isn't necessarily a bad thing. You need it if you have an array of chars, as the Strings documentation mentions. You just have to be careful when you should manually add it and when you shouldn't. I just used it as an example of a character that could mess up the conversion from string to float in Python but would be invisible.
Putting all that aside, the code that you posted seems to have a slight problem and I think that could be causing the error. You are adding one to the length of the value. This means when you copy the bytes from the string into the buffer (getBytes), you are copying an extra byte that you shouldn't be copying. That could cause problems when home assistant receives the value and tries to convert it into a float.
I think the code should be more like this:
void formatAndPublish( String topic, String value )
{
    if ( client.isConnected() )
    {
        byte bytebuffer[ value.length() ];
        value.getBytes( bytebuffer, value.length() );
        client.publish( topic, bytebuffer, value.length(), true );
    }
}

But better yet, I think you could do something like this:
void formatAndPublish( String topic, String value )
{
    if ( client.isConnected() )
    {
        client.publish( topic, value.c_str(), value.length(), true );
    }
}

To figure out if this is what is actually happening, you could print out the value of each character of the problem value. Something like this could be added to the error handling on line 102 of numeric_state.py:
for c in value:
    print(c, "=", ord(c))

I'm hoping you will see something like this:
2 = 50
3 = 51
. = 46
8 = 56
4 = 52
 = 0

Otherwise, I am not sure what is going on.

After reading the documentation I understood the purpose of the null character.
I'll try to review my code, but I remember that I had to add the +1 because the value I was getting on Home Assistant was missing a digit. But looking again, I thing I don't need the +1 in this line ``` client.publish( topic, bytebuffer, value.length() + 1, true );````
When I get back home I'll do some tests.
Thanks!

I just add the code you suggest:
for c in value:
    print(c, "=", ord(c))

And I got this:
INFO:homeassistant.core:Bus:Handling <Event MQTT_MESSAGE_RECEIVED[L]: qos=0, payload=3170.60, topic=home/room/augusto/luminosity>
2 = 50
4 = 52
. = 46
8 = 56
1 = 49
 = 0
WARNING:homeassistant.components.automation.numeric_state:Value returned from template is not a number: 24.81

Than I removed the  + 1 ending up with:
 client.publish( topic, bytebuffer, value.length(), true );
And no more erros... \o/
The code you sent:
void formatAndPublish( String topic, String value )
{
    if ( client.isConnected() )
    {
        client.publish( topic, value.c_str(), value.length(), true );
    }
}

Ins't working yet, getting some errors when compelling to the SparkCore, but when I find out a better solution I'll post here.
Thanks again!


NNI installation issue with ConfigSpace-0.4.7

Describe the issue:
nni[BOHB] has a dependency ConfigSpace==0.4.7, which causes the installation to fail with the error below. The issue is originated from the ConfigSpace package. ConfigSpace uses the numpy in its setup.py without declare it as a setup_requires (source). If numpy is not installed in the current environment, the installation will fail.
Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-t78p1yeg/configspace_3b56d223c52b4c88851d1ac2a6c0dfa1/setup.py", line 4, in <module>
        import numpy as np
    ModuleNotFoundError: No module named 'numpy'

This problem has been addressed in ConfigSpace==0.4.11 and onwards. I am wondering if NNI could upgrade ConfigSpace to this version or later to avoid the installation error. thanks.
Environment:

NNI version: 2.2 with BOHB
Training service (local|remote|pai|aml|etc):local
Client OS: linux
Server OS (for remote mode only): linux
Python version: 3.7
PyTorch/TensorFlow version: 1.8
Is conda/virtualenv/venv used?: yes
Is running in Docker?: no

Configuration:

Experiment config (remember to remove secrets!): N/A
Search space: N/A

Log message:

nnimanager.log: N/A
dispatcher.log: N/A
nnictl stdout and stderr: N/A

How to reproduce it?:

create an empty environment without numpy
run pip install nni[BOHB]

I'm also encountering this. Did you find any workarounds?

Fixed in v2.5.


Add debian 9 to KMT

What does this PR do?
This PR adds debian 9 to KMT and makes the appropriate changes to allows all tests to pass on this kernel.
For NPM this PR bumps up the kernel version required for protocol classification to 4.11, since that is when socket filter programs were allowed to use bpf_skb_load_bytes helper.
For tcp_queue_length and oom_kill checks this PR adjusts the bpf code to pass the 4.9 verifier.

Motivation

Additional Notes
Associated PR in ami-builder https://github.com/DataDog/ami-builder/pull/183

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


typo: Double word "that"

Escaped a few _ because of italic formatting shown in editor

Merging typo fix


Why is the Pale Oak Sapling not listed?

Hello,
Your plugin is nice! I read its SpigotMC.org page and noticed, that the Pale Oak saplings aren’t listed there. I wanted to ask you why they aren’t listed and if you can add them. Thanks!
Kind regards,
Atten007 😊

Hello,
thank you for your positive feedback. The plugin is written for version 1.21.3 so far, the Pale Oak sappling was only available experimentally until 1.21.4. Therefore it is not yet available in the plugin. I will update the plugin to 1.21.4 now, the Pale Oak sappling will be available there then
With kind regards
Cyklon


Pinentry "smart" React component

@keybase/react-hackers PTAL!
This is still using mocked JSON for the RPC payload, because Patrick's still working on the service implementation.
Screencast attached.

:+1:


nyc@8 tries to instrument test.js when no include or exclude specified

compare https://github.com/JaKXz/type-convert/pull/2 with the master branch.
Looks like a bug to me @bcoe since there isn't any include or exclude specified in my nyc stanza and nyc@7 didn't try to instrument the test.js file.

Hey @JaKXz interesting, it should default to https://github.com/istanbuljs/test-exclude/blob/master/index.js#L73
would love your help debugging.

@JaKXz found the culprit; we serialize to subprocesses as a comma separated environment variable; our globs have a comma so this logic broke things.


Station data sanitization

Add tooling to pull and merge all published station data into a single authoritative source.
Add tooling to identify station conflicts with IDs and names that are incorrectly labeled.
Add datasette cluster-map to the Docker image
Fix a few manually identified station maps

Overall this looks great! All the new scripts work well for me and the datasette cluster maps are beautiful!
I did run into a couple things. There's more details in the comments, but generally:

The src/bluebikes/stations/legacy/mapping.py script broke. I think it's just due to new folder structure and files getting renamed, so just changing the file/folder defaults and README should be sufficient.
We should make a few updates to the pyproject.toml to update version numbers and for script calls under the new project folder structure.

Let me know if you want me to make a PR for the fixes, I think I have a good idea of what changes are needed.

The src/bluebikes/stations/legacy/mapping.py script broke. I think it's just due to new folder structure and files getting renamed, so just changing the file/folder defaults and README should be sufficient.
We should make a few updates to the pyproject.toml to update version numbers and for script calls under the new project folder structure.

I updated the path and version in the pyproject file. Should there be a test that leverages poetry for running scripts? I personally find myself just running various scripts directly which lead to this breakage.


Modsec phases and Nginx phases pratice

I am trying to create an nginx server, that uses modsecurity-nginx. But has only this specific purpose.

Return 403 if modsec applies the distruptive action 'deny', return 200 every other time, no body.

This has these two solutions (open to other suggestions).

Solution 1:

location / {
        modsecurity on;
        modsecurity_rules '';
        return 200;
}

Solution 2:

location @return200  {
        return 200;
}

location / {
        modsecurity on;
        modsecurity_rules '';
        try_files FAKE_NON_EXISTENT @return200;
}

The difference between the two is, return immediately, is a REWRITE phase directive, would this skip some of the ModSec phases?
try_files is PreContent phase, so more time given to the request before it ends? How do these correspond to ModSec processing phases?

Hello @Rockybilly ,
I don't really follow what you are trying to do.
But a redirect to a different location block where ModSecurity is not active can result in less processing of the request by ModSecurity in the original location block. One way to see what is happening is to enable the ModSecurity debug log (at the highest level of 9).

Okay it wasn't about moving to a different location that does not include modsecurity, so my example was a bit wrong.
I guess this is more clear.
modsecurity on;
modsecurity_rules '';

location @return200  {
        return 200;
}

location / {
        try_files FAKE_NON_EXISTENT @return200;
}

But let's say I have some modsec rules that does body checking. try_files directive is after the content phase, return is in the rewrite phase(before content). Would this prevent the body checking from happening (because of early finish of the request)?

Have you tried it to see what happens?
I have never used the nginx try_files directive before and so cannot speak directly to that.
There are at least some expected behaviours in nginx that can result in a redirected POST request being transformed into a GET request ... which could, of course, affect body processing in that subsequent block. See, for example: https://github.com/SpiderLabs/ModSecurity-nginx/issues/152#issuecomment-583037424


[Ansor][AutoTVM v2.0] Part 0: Ansor minimum system for auto schedule generating

Hi all,
The last PR of Ansor #5883 is not clear enough for reviewers to fully understand our design. After some discussion, we changed our upstream plan to propose a minimal version of Ansor which contains a small but complete framework, so others can get a better understanding of the whole structure of Ansor.

In [RFC] Ansor: An Auto-scheduler for TVM (AutoTVM v2.0), we've introduced the Ansor auto-scheduler. And we reached an agreement that should replace AutoTVM with Ansor in the end.
For most existing templates, current Ansor can directly replace them with better performance and less tuning time.
For other special templates (low-precision, sparse), the plan is to introduce search space customization and gradually rewrite them with Ansor's new API.
This PR introduces a self-contained minimum version of Ansor with most of the bones.
This PR includes the interface of core data structures and an empty search policy that does nothing. More advanced search policy and cost models will be in the next few PRs.
Infrastructure: A Sketch IR for Schedule Searching
Different from AutoTVM, whose tuning spaces are composed of predefined parameters, Ansor constructs a search space by manipulating the loop structures of the given compute DAG.
To enable flexible manipulation of the loop structures, we implemented a lightweight loop structure IR (Intermediate Representation) based on the original TVM IR but specifically for schedule search. The IR is composed of the state and action, which are defined as follows:

State: A state of schedule search is the loop structure defined by the schedule (i.e., the TVM IR created by tvm.lower). See LoopState in the Key Data Structure for details.

Action: An action is composed of one or more schedule primitives to manipulate (e.g., split, reorder, fuse) a state. See TransformStep in the Key Data Structure for details.

We don't use the existing TVM IR but to extend a new Sketch IR on it is because:

We want fast incremental change to the loop structures;
We want serializable transform history for replay, backtracking, and mutation;
We may create some macro schedule primitives that represent the combination of several TVM schedule primitives

After the search is done, we will lower this to TVM IR with TVM schedule primitives.
Key Data Structures
To help build an overview of Ansor, this shows the class relations of some important Ansor data structures:

ComputeDAG: Compute declaration graph and its related analysis tools.
Related source files: src/ansor/compute_dag.*, python/tvm/ansor/compute_dag.py
Ansor takes a compute declaration, which could be a single operator or a subgraph, described by tvm.compute as an input and converts it to a ComputeDAG.
ComputeDAG implementation includes a set of analyses such as the total float operations, consumer/producer relations of each operation stage, whether a stage should be tiled/compute inlined, and so on (some of the analysis will be included in the follow-up PRs). These analyses can help the search policy to do specific decisions during schedule search process.

LoopState: This defines the "state" for the search problem.
Related source files: src/ansor/loop_state.*, python/tvm/ansor/loop_state.py.
Each LoopState corresponds to a specific schedule for the target ComputeDAG.
A LoopState consists of: 1. the current loop structure; 2. the transform history to reach this loop structure.
The loop structure keeps a preview of how the schedule will finally look like after lowering (number of iterators, the extent of each iterator, the compute_at locations, etc), which can help the search policy to make decisions during the search.
The transform history is a sequence of TransformStep which will finally be mapped to schedule primitives.

TransformStep: This defines the "action" for the search problem, i.e., the schedule primitives for our sketch IR.
Related files: src/ansor/transform_step.*, python/tvm/ansor/loop_state.py
Each step has its corresponding tvm.te schedule primitives. We record all TransformSteps for every state as its transform history. After finishing the schedule search, these transform steps will be lowered with their corresponding TVM's schedule primitives.
Note: This PR only contains a small subset of the TransformSteps. The complete set of transform steps will be in the next PRs.

ComputeDAG is also playing a role of connecting Ansor state system to TVM schedule system. That is, ComputeDAG is able to replay TransformSteps to the final TVM schedule (e.g., ComputeDAG(state, actions)).

SearchTask: Meta information and hardware parameters for a specific schedule search task.
Related source files: src/ansor/search_task.*
This structure includes the target ComputeDAG, device information as well as some hardware parameters obtained from the system or user inputs.

SearchPolicy: The search policy is defined for Ansor to auto-generate a high-performance schedule for different computations.
Related source files: src/ansor/search_policy/*
A SearchPolicy takes a SearchTask, system information and some tuning options as inputs, performs the schedule search, and returns a state with the best performance. The resulting state can be used to apply to TVM schedule later.
Note that in Ansor paper (https://arxiv.org/abs/2006.06762), we proposed a sketch generation policy which achieves pretty good results with various workloads on different devices. On the other hand, in this minimum system PR, we only provide an EmptyPolicy to illustrate the search policy interface.

Ansor Minimum System
This is a brief diagram for the Ansor system:

Define the target computation with TVM te API and create a ComputeDAG structure.
Specify the target device, hardware parameters, tuning options and pack those with ComputeDAG to create a SearchTask structure.
SearchPolicy takes the SearchTask as input and performs the schedule search. During the search process, SearchPolicy will generate multiple candidate states, each of which corresponds to a specific TVM schedule.
Get the best state and use ComputeDAG API to transform it to the final TVM schedule.

In the Ansor system, we use the sketch generation policy (will be brought in later PRs) described in the paper as the default search policy, which should be enough to cover most use cases. Meanwhile, we will have an RFC for a custom rule mechanism that enables user-defined template search to serve the same functionality as the current AutoTVM template. Specifically, we will provide Python APIs for the new IR that is intended to be used by users for sketch customization. They look very similar to existing schedule primitives, as shown in python/tvm/ansor/loop_state.py.
Our goal is to make sure Ansor can cover all AutoTVM functionalities while achieving the same or better performance so that the community can gradually switch to Ansor from AutoTVM.
More Details on LoopState
In this section, we illustrate how a loop state looks like and how does it connect to the current TVM build system.
Take a simple State that includes Split, Fuse and Reorder steps for example:
A, B, C = matmul_ansor_test(512, 512, 512)
dag = ansor.ComputeDAG([A, B, C])
state = dag.get_init_state()
i, j, k = state[C].iters
io, ii = state.split(C, i, [16])
jo, ji = state.split(C, j, [8])
state.reorder(C, [io, jo, k, ji, ii])
fused_it = state.fuse(C, [io, jo])

First, let's print out a state. It shows the loop structure of the corresponding TVM schedule, the "preview":
>>> print(state)

Placeholder: A, B
for<EMAIL_ADDRESS>(0,2048)
  for k (0,512)
    for j.1 (0,8)
      for i.1 (0,16)
        C = ...

It stores all history transform steps required to reach the current state. We can print the history transform steps as TVM's python schedule API. This can be used for debugging or to apply the schedule on a former TVM version without Ansor support.
>>> print(dag.print_python_code_from_state(state))

i, j, k = tuple(C.op.axis) + tuple(C.op.reduce_axis)
i_o, i_i = s[C].split(i, factor=16)
j_o, j_i = s[C].split(j, factor=8)
s[C].reorder(i_o, j_o, k, j_i, i_i)
i_o_j_o_fused = s[C].fuse(i_o, j_o)

We can also replay these steps to get a schedule for tvm.lower and tvm.build.
>>> sche, args = dag.apply_steps_from_state(state)
>>> print(tvm.lower(sche, args, simple_mode=True))

primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
  attr = {"global_symbol": "main", "tir.noalias": True}
  buffers = {C: Buffer(C_2: handle, float32, [512, 512], []),
             A: Buffer(A_2: handle, float32, [512, 512], []),
             B: Buffer(B_2: handle, float32, [512, 512], [])}
  buffer_map = {A_1: A, B_1: B, C_1: C} {
  for (i.outer.j.outer.fused: int32, 0, 2048) {
    for (j.inner.init: int32, 0, 8) {
      for (i.inner.init: int32, 0, 16) {
        C_2[((((floordiv(i.outer.j.outer.fused, 64)*8192) + (i.inner.init*512)) + (floormod(i.outer.j.outer.fused, 64)*8)) + j.inner.init)] = 0f32
      }
    }
    for (k: int32, 0, 512) {
      for (j.inner: int32, 0, 8) {
        for (i.inner: int32, 0, 16) {
          C_2[((((floordiv(i.outer.j.outer.fused, 64)*8192) + (i.inner*512)) + (floormod(i.outer.j.outer.fused, 64)*8)) + j.inner)] = ((float32*)C_2[((((floordiv(i.outer.j.outer.fused, 64)*8192) + (i.inner*512)) + (floormod(i.outer.j.outer.fused, 64)*8)) + j.inner)]) + ((float32*)A_2[(((floordiv(i.outer.j.outer.fused, 64)*8192) + (i.inner*512)) + k)])*(float32*)B_2[(((k*512) + (floormod(i.outer.j.outer.fused, 64)*8)) + j.inner)])))
        }
      }
    }
  }
}

The steps of this state can be serialized into the log file as:
>>> target = tvm.target.create("llvm")
>>> task = ansor.SearchTask(dag, "test", target)
>>> inp = ansor.measure.MeasureInput(task, state)
>>> res = ansor.measure.MeasureResult([0.1], 0, "", 0.2, 1)
>>> with open("test.log", "w") as fp:
>>>     ansor.serialization.write_measure_records_to_file(fp.name, [inp], [res])

{"i": [["test", "llvm"], [[], [["SP", 2, 0, 512, [16], 1], ["SP", 2, 2, 512, [8], 1], ["RE", 2, [0, 2, 4, 3, 1]], ["FU", 2, [0, 1]]]]], "r": [[0.1], 0, 0.2, 1], "v": "v0.2"}

Ansor serializes all transform steps to the log file; while AutoTVM serializes parameters of a predefined template. The log format discussion would be based on https://discuss.tvm.ai/t/rfc-canonicalizing-autotvm-log-format/7038/.

In the next few PRs, we'll introduce the complete search policy and tutorials for single op/ subgraph schedule search, Relay integration, and tutorials for end-to-end network schedule search, custom rules to support customized search space.
This is a joint work by @merrymercy @jcf94 @minminsun @FrozenGene @comaniac @yangjunpro @yidawang .

@icemelon9 @yzhliu @zhiics @kevinthesun @anijain2305 it would be great if you guys could also help review the core data structure and flow to make sure everything is covered.

cc @jwfromm @jroesch @ZihengJiang @spectrometerHBH @junrushao1994 @Hzfengsy

@jcf94 Thanks for this PR! Will take a look late this week or early next week.

Left a lot of feedback, overall would like to get some clarity in the docs and comments, and think about reducing away some of the concepts to better map to existing TVM systems, it seems like some of the configuration and other bits might be able to fit in nicely with the new machinery from the UnifiedIR. The PR is long and I started to get tired towards the end so I will try to come back for a secondary pass.
Thanks for all your hardwork on this!

Thanks! Your review comments are really helpful!
I agree that the original intention of our LoopState system is similar to the UnifiedIR to some extent. We also had some periodic discussions with @Hzfengsy during the development. Since the UnifiedIR is not ready for now, we kept the current design, it's great if we can upgrade Ansor with UnifiedIR in the future.
cc @merrymercy

You guys used crossover, and it often suck in genetic algorithm. Had you guys done ablation study of genetic algorithm with pure-mutation approach?

 Had you guys done ablation study of genetic algorithm with pure-mutation approach?

Crossover has to be used carefully as you pointed out. We currently only cross stages to avoid invalid schedules, so it is impactful on multi-stage workloads such as Winograd conv2d. Anyways, crossover would be added at the later stage of up streaming Ansor, so we don't need to worry about that in this PR now.

 Had you guys done ablation study of genetic algorithm with pure-mutation approach?

Crossover has to be used carefully as you pointed out. We currently only cross stages to avoid invalid schedules, so it is impactful on multi-stage workloads such as Winograd conv2d. Anyways, crossover would be added at the later stage of up streaming Ansor, so we don't need to worry about that in this PR now.

please take this as the ansor paper question other then the pr question - i am just curious what will happend if you dont do crossover.

Thank you for the contribution! Just did a round of review on the c++ side. Code is pretty well written and organized - really enjoy it when reading them through. Comments are mostly nitpicks, and feel free to ignore if they don't make sense :-)

Thank you for the contribution! Just did a round of review on the c++ side. Code is pretty well written and organized - really enjoy it when reading them through. Comments are mostly nitpicks, and feel free to ignore if they don't make sense :-)

Thanks! It's really kind of you to provides these helpful comments!
I'll take some time to fix them later.

Most of the commemts have been addressed, expect for some controversies.

Guys, please another look and https://tvm.apache.org/docs/contribute/code_review.html#approve-and-request-changes-explicitly

I made a change request about the namespace change to auto_schedule

Most comments from the reviewers are addressed.
We summarize the unresolved comments here. They will be addressed by follow-up PRs.

The design of python/tvm/auto_schedule/auto_scheduler.py::auto_schedule. This is the most important user interface to use the auto-scheduler. We will send an RFC to discuss this.
Move src/auto_schedule/utils.h::ThreadPool to src/support/parallle_for.h (create a new file)
Consolidate the usage of python/tvm/auto_schedule/utils.py::get_const_int, python/tvm/auto_schedule/utils.py::get_const_tuple in the whole TVM code base.

@jcf94 and @merrymercy thanks for all the hard work! Can I request that we put another unresolved issue? In my opinion the written English parts i.e comments, explanations, etc could still use some improvement with both content and grammar and I would propose in general that we do some at least 1 or 2 rounds of full documentation polish (comments, examples, tests, tutorials, etc)  before we officially release a feature (in this case when all of Ansor is landed in master). We tried to do this with Relay but I think we should continue to strive to do a better job with new features like this.

Does not have to change now, but let us change the use of ThreadPool to parallel_for abstraction.

Does that means to just modify ThreadPool to ParallelFor now? Class renamed & added some comments on the member function.

@jcf94 and @merrymercy thanks for all the hard work! Can I request that we put another unresolved issue? In my opinion the written English parts i.e comments, explanations, etc could still use some improvement with both content and grammar and I would propose in general that we do some at least 1 or 2 rounds of full documentation polish (comments, examples, tests, tutorials, etc) before we officially release a feature (in this case when all of Ansor is landed in master). We tried to do this with Relay but I think we should continue to strive to do a better job with new features like this.

Thanks! That would be of great help since I'm not a native speaker. The documentation does need to be polished.

What's the meaning of the rust error in CI? It appears again after I retriggered the CI.

@jcf94 and @merrymercy thanks for all the hard work! Can I request that we put another unresolved issue? In my opinion the written English parts i.e comments, explanations, etc could still use some improvement with both content and grammar and I would propose in general that we do some at least 1 or 2 rounds of full documentation polish (comments, examples, tests, tutorials, etc) before we officially release a feature (in this case when all of Ansor is landed in master). We tried to do this with Relay but I think we should continue to strive to do a better job with new features like this.

I do appreciate and support the proposal. Let's move forward with the feature upstream process and after the major features haven been merged into master branch we can work together to refine the documentation.

I had been looking over this PR a bit more, and it seems like a lot of review is dropped when file is updated. This is no one flaw's but a flaw in github's review design, and I think it just mean we should be careful in the upcoming Ansor review - just because code is merged, doesnt mean it is at top quality, and we should continue going over them.


Tests

Sorting out fennel, lua to fennel, how everything fits together and how to run a fennel test suite was a bit much when I just started mucking around with the idea in my dot files.

I'll just leave this here, maybe it helps :) : I implemented a tiny testing framework for my own plugin, here: https://github.com/alexaandru/nvim-lspupdate/blob/fennel/fnl/test/init.fnl , here are the test cases: https://github.com/alexaandru/nvim-lspupdate/blob/fennel/fnl/test/util.fnl and here how is all being run: https://github.com/alexaandru/nvim-lspupdate/blob/fennel/Makefile#L5 and it all works like a charm: https://github.com/alexaandru/nvim-lspupdate/actions/runs/1101496110 :)
Thank you for Hotpot, it has ruined my life in the most wonderful way :) All I do now is rewrite everything in Fennel... :D Cheers!

Thanks :+1: I will have a look through it!


Add no-std targets and test steps to CI testing

Deleting this PR and resubmitting a new one with separate commits.


RDF Serializer > Project owl:sameAs

Topology: ProjectOwlSameAs
This topology produces custom owl:sameAs triples as a short-cut for the path
crm:E1 CRM Entity
    → P28 same as URI [owl:sameAs] (same as)
        → crm-sup:C30 Uniform Resource Identifier (URI)
            → P21 has value (is value of)
                → crm:E62 String

This requires one join of statements. For performance reasons, the statements are
filtered before the join.
flowchart TD
    1a-->2a-->2b-->4a
    1b-->3a-->3b-->4a-->4b-->5a-->5b

    subgraph 1
        1a([1a project_statement_with_entity])
        1b([1b project_statement_with_literal])
    end
    subgraph __2
        2a([2a FlatMap])
        2b([2b ToTable])
    end
    subgraph __3
        3a([3a FlatMap])
        3b([3b ToTable])
    end
    subgraph __4
        4a([4a Join])
        4b([4b Map])
    end
    subgraph __5
        5a([5a To])
        5b[5b project_rdf]
    end

1) Register streams
1a) Create a KStream from project_statement_with_entity
1b) Create a KStream from project_statement_with_literal
2) KTable of left statement
2a) FlatMap the stream to List<KeyValue<ProjectEntityKey, Boolean>>
TextWithDeleteValue:

text String
deleted Boolean

Only add an item to the list, if property_id==1943 (same as URI: https://ontome.net/ontology/p1943)
Use the statement.object_id as Key, since we use it to join.
Use __deleted in the a TextWithDeleteValue.deleted, since we need to handle deletes.
Use statement.subject_id as TextWithDeleteValue.text, since we need this as subject of the final owl:sameAs
2b) ToTable: Convert the stream to a table
3) KTable of right statement
3a) FlatMap the stream by List<KeyValue<ProjectEntityKey, TextWithDeleteValue>>
Only add an item to the list, if

property_id==1843 (has value: https://ontome.net/ontology/p1843)
statement.object.appellation.string is a valid URI. Test it with regex: ^[a-z](?:[-a-z0-9\+\.])*:(?:\/\/(?:(?:%[0-9a-f][0-9a-f]|[-a-z0-9\._~!\$&''\(\)\*\+,;=:@])|[\/\?])*)?

Use statement.subject_id as Key, since we use it to join.
Use __deleted in the a TextWithDeleteValue.deleted, since we need to handle deletes.
Use statement.object.appellation.string as TextWithDeleteValue.text, since we need this as literal of final owl:sameAs
3b) ToTable: Convert the stream to a table
4) Join and produce turtle
4a) Join the KTables (KTable-KTable Equi-Join), creating a ProjectRdfRecord
ProjectRdfRecord:

key ProjectRdfKey
value ProjectRdfValue

the operation is insert if both TextWithDeleteValue are not deleted.
the turtle is:
<http://geovistory.org/resource/{left.text}> <http://www.w3.org/2002/07/owl#sameAs> <{right.text}> .

4b) Map the ProjectRdfRecord to ProjectRdfKey and ProjectRdfValue.
5) sink
5a) To: sink it to project_rdf

As an example flow (pseudo data):
left stream

s:1 p:1943 o:200 d:false
s:2 p:1943 o:200 d:false

left flat mapped

k:200 v:(text:1,deleted:false)
k:200 v:(text:2,deleted:false)

right stream

s:200 p:1843 o:https://wikidata/i345 d:false

right flat mapped

k:200 v(text:https://wikidata/i345,deleted:false)

join

k:200 v:(text:1,deleted:false) | k:200 v(text:https://wikidata/i345,deleted:false)
k:200 v:(text:2,deleted:false) | k:200 v(text:https://wikidata/i345,deleted:false)

output

s:1 p:sameAs o:https://wikidata/i345 d:false
s:2 p:sameAs o:https://wikidata/i345 d:false

left stream
s:1 p:1943 o:200 d:true

left flat mapped

k:200 v:(text:1,deleted:true)

join
k:200 v:(text:1,deleted:true) | k:200 v(text:https://wikidata/i345,deleted:false)

output

s:1 p:sameAs o:https://wikidata/i345 d:true


Evaluation

Thanks for your share.
The evaluation metrics used in your paper are very reasonable, and I want to use them to test my own model. Could you share the relevant test codes?

We follow the work of Moon and the official code of MuPoTS-3D dataset.

Thanks for your response.
Could you share the code for calculating PCOD, the new metric proposed in the paper?

in lib/eval dataset

Thanks for your response, it helps a lot.
Could you provide details of Panoptic's test set, which frames did you use for each activity? Perhaps you can provide a list.

We adopt uniform sampling and the number of samples is described in the paper.


stub emails when cypress testing widget

The emails came from /bank/pending
Should test once more before merging

@henmyhre If you could do #376 as well, it would fix this loading issue


ListBox selection not working correctly with CompileBinding

Describe the bug
When CompileBinding is enabled, ListBox selections aren't working as expected, but work perfectly fine when disabled.
To Reproduce
BindingBug.zip
Here is a simple repro project.
On the left are Playlists, on the right are Folders. Click "+" above Playlists twice to add 2 items. Add a folder in each. Works fine.
Now, edit MainView and remove all x:CompileBindings references. Try again.
This time, selecting a Playlist on the left doesn't change the displayed Folder on the right.
Expected behavior
It should behave like when CompileBinding is disabled.
Avalonia version
11.1.0-rc1
OS
Linux
Additional context
I believe I reported this a long while ago but didn't have time to investigate further and just disabled CompileBinding. Seeing it is still an issue in 11.1.0-rc1, I''m finally providing the simple repo.
Now it's causing me an issue because disabling CompileBinding is causing a problem with Trimming.

It's a large repro to sort through, but it's related to interfaces in MainViewModel.
public ICollectionView<IPlaylistViewModel> Playlists { get; } = new CollectionView<IPlaylistViewModel>(); // Does not work

public CollectionView<IPlaylistViewModel> Playlists { get; } = new CollectionView<IPlaylistViewModel>(); // Works

Woah, simply adding a setter to that interface property makes the app work indeed! Very unintuitive solution to the problem.
It is still a strange behavior that it breaks only for compiled binding and works with regular bindings.

Very unintuitive solution to the problem

Depends on the error message. If it says that setter is missing, then it all good and there is no issue.
If not, we should make it more clear.

There are no errors, from what I can tell

I've simplified the repro:
public partial class MainWindowViewModel : ViewModelBase
{
    public ObservableCollection<int> Items { get; }

    private int _selectedItem;
    public int SelectedItem
    {
        get => _selectedItem;
        set => SetProperty(ref _selectedItem, value); // Still compiles even when removed
    }

    public MainWindowViewModel()
    {
        Items = [1, 2, 3, 4, 5];
        SelectedItem = Items.First();
    }
}

<Grid RowDefinitions="*,auto">
    <ListBox ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding}" />
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

    <TextBlock Grid.Row="1" Text="{Binding SelectedItem}" />
</Grid>

The issue is that there seems to be no logged sanity check for the BindingMode. SelectedItemProperty has a default of TwoWay which isn't overridden here. The get-only version fails silently at runtime. Even on LogEventLevel.Verbose, there isn't a Binding or Property area error logged.
I think this should be a compile-time failure and force the dev to specify OneTime or OneWay (if not the AvaloniaProperty's default) when binding to get-only properties, but that's a breaking change.

@stevemonaco validation in compile time is problematic, because we can't get BindingMode during compilation, unless it's specified explicitly.


[SPARK-48358][SQL][TESTS][FOLLOWUP] Use condition instead of errorClass in SqlScriptingInterpreterSuite

What changes were proposed in this pull request?
In the PR, I propose to replace errorClass by condition in SqlScriptingInterpreterSuite
Why are the changes needed?
The changes from the PR https://github.com/apache/spark/pull/47756 conflict to https://github.com/apache/spark/pull/48027
Does this PR introduce any user-facing change?
No.
How was this patch tested?
By running the modified test:
$ build/sbt "test:testOnly *SqlScriptingInterpreterSuite"

Was this patch authored or co-authored using generative AI tooling?
No.

Merging to master. Thank you, @HyukjinKwon for review.


Add type annotation to python function

🚀 Feature Proposal

I like to use type annotation in my python code for inline-seance hints and better readability.
However, the extension does not provide the type annotation even though the leetcode does.

Motivation
It will save time and help write better code.

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

what is it?


Reuse Encoder/Decoder instance

Addresses #172

Thank you for the contribution. I'm considering it's safe or not if we use this PR in the async/await context.

Ah, right. It only changes the synchronous functions, although CI failed. It looks good.
Could you take a look at CI failure? I'll merge this PR if CI passes.

Cool, sounds good. I'll investigate the failure as soon as I have a moment, but just rebased on the tip of main in case that makes a difference.


fix: Change the CMD flowise command in Dockerfile to be the same as in the document

The Dockerfile wasn't working with the command:
CMD flowise
Based on the documentation, to start Flowise, you should use the command "start". In this case, the Dockerfile was updated to use:
ENTRYPOINT ["npx", "flowise", "start"]
Reference:
get started | Flowise

@HenryHengZJ could you merge this one? It's an easy one and fixes the docker images which are currently broken.

Testing on my Windows machine running Docker on WSL, bump into errors:

Ohh.. good catch! In Linux/Mac it's the opposite, it doesn't work without the start parameter, so I assumed the image was broken in every platform.
I'll try to find out what's going, it's the first time I see inconsistent behaviors in different platforms for the same Docker image.

This is the error that we get in Linux/Mac:

I'm no Docker expert but suspect we might need docker-entrypoint.sh, I can help to test on Windows side, whereas you guys can test on Linux/Mac

I implemented it with an entrypoint script as @HenryHengZJ suggested. This might solve the issue, WSL seems to be doing something different to run the images.
@HenryHengZJ could you try what I pushed to this branch in my own repository? This is working for me in Mac.
https://github.com/danieldabate/Flowise/tree/docker-image-fix
If it works @erasmo-pinheiro can apply the same changes to this PR or I can create a new PR.

Ok, you can discard my previous message. I think I found what's going on.
@HenryHengZJ, you are running the Docker image with Docker Compose, right? The issue here is that the Docker Compose is trying to override the COMMAND, when it should actually override the ENTRYPOINT now.
I was testing running the Docker image directly with docker run, that's why it was working for me. If I do it from Docker Compose it fails.
Changing command: /bin/sh -c "sleep 3; flowise start" to entrypoint: /bin/sh -c "sleep 3; flowise start" in docker-compose.yml should solve the issue.

Ok, you can discard my previous message. I think I found what's going on.
@HenryHengZJ, you are running the Docker image with Docker Compose, right? The issue here is that the Docker Compose is trying to override the COMMAND, when it should actually override the ENTRYPOINT now.
I was testing running the Docker image directly with docker run, that's why it was working for me. If I do it from Docker Compose it fails.
Changing command: /bin/sh -c "sleep 3; flowise start" to entrypoint: /bin/sh -c "sleep 3; flowise start" in docker-compose.yml should solve the issue.

Ok, you can discard my previous message. I think I found what's going on.
@HenryHengZJ, you are running the Docker image with Docker Compose, right? The issue here is that the Docker Compose is trying to override the COMMAND, when it should actually override the ENTRYPOINT now.
I was testing running the Docker image directly with docker run, that's why it was working for me. If I do it from Docker Compose it fails.
Changing command: /bin/sh -c "sleep 3; flowise start" to entrypoint: /bin/sh -c "sleep 3; flowise start" in docker-compose.yml should solve the issue.

@danieldabate I've updated this Pull Request with the entrypoint in Docker Compose. It's ready to review.

awesomee it works! Thank you @danieldabate @erasmo-pinheiro !


Another Style/FormatStringToken false positive

Github didn't let @lionel218 open this issue for some reason. See the original report at https://github.com/bbatsov/rubocop/issues/5245#issuecomment-370500831

Expected behavior
no offense from Style/FormatStringToken
Actual behavior
% bundle exec bin/rubocop test/test.rb --only Style/FormatStringToken
Inspecting 1 file
C

Offenses:

test/test.rb:2:75: C: Style/FormatStringToken: Prefer annotated tokens (like %<foo>s) over unannotated tokens (like %s).
  format('%<day>s %<start>s-%<end>s', day: open_house.starts_at.strftime('%a'),
                                                                          ^^
test/test.rb:4:76: C: Style/FormatStringToken: Prefer annotated tokens (like %<foo>s) over unannotated tokens (like %s).
                                      end: open_house.ends_at.strftime('%l %p').strip)
                                                                           ^^

1 file inspected, 2 offenses detected

Steps to reproduce the problem
Use this file:
def event_date(open_house)
  format('%<day>s %<start>s-%<end>s', day: open_house.starts_at.strftime('%a'),
                                      start: open_house.starts_at.strftime('%l'),
                                      end: open_house.ends_at.strftime('%l %p').strip)
end

RuboCop version
$ rubocop -V
0.53.0 (using Parser <IP_ADDRESS>, running on ruby 2.5.0 x86_64-darwin16)

Did you solve this issue?

Just upgraded to 0.75 and I'm seeing this error again. Anyone else?

@katherine-boost I was working on this cop for the 0.75 release. What error exactly are you seeing?

The error:
Style/FormatStringToken: Prefer annotated tokens (like %<foo>s) over unannotated tokens (like %s).

The line of code provoking the error:
formatted_cents = format('%02d', cents % 100)

@katherine-boost That is not an error. The cop behaves as designed. With style annotated, which is the default, it suggests to use named format sequences and not positional ones. In your example:
formatted_cents = format('%02<remainder>d', remainder: cents % 100)

Also see https://docs.rubocop.org/en/stable/cops_style/#styleformatstringtoken

Hello, just wanted to post another issue in here. When I set this in my rubocop.yml to enforce the template style:
Style/FormatStringToken:
  EnforcedStyle: template

I'm getting this error:
C: Style/FormatStringToken: Prefer template tokens (like %{foo}) over annotated tokens (like %<foo>s).
  format('%<red>02x%<green>02x%<blue>02x', color_values)

I'm not sure if I am able to switch these to the template style, because I believe that is only for strings, while I need to use the %02x to get hex values.

@ndbroadbent Good point. Would you mind creating a new issue for this? Template style has indeed no way I know to influence the type conversion. By the way, it seems to accept non-strings as an argument, but does not simply do to_s (e.g. for arrays).


allow SLOMetricAbsent alert name to be configurable

allow absent alert name to be configurable
presently all SLOs if they have absent data for indicator metric will have same alert name. This PR will allow that to be configurable with alerting.name and will just append default to end of name.
by the way, thank you for making this amazing project 💯

Thank you for making the contribution.
Before we merge this, I'm just curious why you want to change the alertname. A alert is identified by all labels in the alert labelset. Thus it's still uniquely identifiable.

The title of alerts in Slack notifications presents the name. So, it is nice to have alert names the are configurable. Otherwise it looks like same alert in a slack channel repeated. Yes, you can click through to get more information but a scroll through of a channel w/o having to click into slack notifications is often helpful and time saving.

We have many slos coming into one slack channel per environment.

golangci-lint failed, not sure why

golangci-lint failed, not sure why

Please rebase to the latest main and the lint errors should go away now.

I've added one more commit to your PR to make it configuration of the absent alert name direct and explicit.
Thank you for the valuable contribution!


Create framework

Create framework on Figma

https://www.figma.com/design/2zWFO2aUmekJtTr66yWhad/Untitled?node-id=0-1&t=AUP1ukarw96T3Chl-0


Clang Compile build errors -- how to resolve XCode preferences dependencies?

We have an application with the following structure:
<project root>
<reference root>\
The reference project has many children of variable depth.  E.G.
<reference root>\Required\Libraries<framework>\Headers
<reference root>\Optional\Categories\
With each containing header and implementation files.  Some of those child directories have periods in them, e.g. "Base.framework"
When we received the code from a client, it would not compile in Xcode -- the error was a missing reference to a file located in <reference root>\Required\Libraries\Base.framework\Headers\
The reference was via an import like: #import <Base/Base.h>.
This build error was resolved by modifying our xcode preferences, an pointing a variable to:
<reference root>\
However, we are now seeing a very similar error in the vs-imported code.  After running the importer in <project root>, I can successfully load the project in Visual Studio.  When I try to build the project I get the following warning and error:
Warning (sbclang.targets) : Unable to resolve path \Required\Libraries** for property: IncludePaths
Error (App_Prefix.pch): "Base/Base.h file not found"
Within the vcxproj file we have:

...
%(IncludePaths);$(SolutionPublicHeadersDir);\Required\Libraries\**\**;\Applications\Xcode51-DP.app\Contents\Developer\Toolchains\XcodeDefault.xctoolchain\usr\include;\Required\**;\Optional\**
...

As well as:

As a result of the last two lines, those two files are in the Solution explorer for that project.
I've tried the following, both of which changed nothing:

Using a relative path: "....\Required\Libraries**"
Explicitly adding the missing directory\file to the project (it wasn't added via the importer)

Potential issues of note:

The missing directory\file is one of the directories that has a period.
None of these directories were successfully imported into the new vcsx project but it's unclear if they're actually all needed -- it may be only the Base.framework\Base.h file that's needed.

We're currently stuck because we cannot build the imported project -- any help would be greatly appreciated.
Thanks!

You could manually try adding the path to include paths (including the base.framework) to the generated vcxproj.


Added Contributing.md

issue #18

📚 Documentation preview 📚: https://mocksafe--69.org.readthedocs.build/en/69/

@dmayo3 any update?

@dmayo3 any update?

Hi
Thanks for your contribution!
I haven't had any time to look at this properly yet. I'm busy this weekend, I will try to look at it this coming week.

@dmayo3 by mistake added version update commit to this pr, i'll be deleting it don't worry about it, also working on comments you provided.


Not working on safari browser both on macbook and iphone

It happens only when you load the page for the first time.......

Any source code for this problem？


fix: correct config store queries

Description
Correct config store queries and references.

Testing instructions
Preview link:
Checklist

[x] Review label added
[ ] Conditional version tags added, if applicable.

Functionally LGTM


Running cogs/install.scm error

Hello, I like so much steel!! It's my first time to deal with.
I've been trying to run in the root of repo this command:
cargo run -- cogs/install.scm
But i get this:

Thank you for taking the time to review this issue. Your help is greatly appreciated!

Did you follow the instructions found here?

Thank you for taking the time to respond to this issue.
Yes, i did it, without any results.

Got it, thanks - can you try running install.scm from the cogs directory?

Sure, I'll try.
I did run the command again, and i get this:

i did re-run the command again, and i got this:

Was this from running cargo run -- install.scm from the cogs directory? Also - can you delete the contents of $STEEL_HOME to get a clean slate?
I was able to reproduce the initial error, so the instructions do need to be updated, however when I ran install.scm from the cogs directory with a clean slate, everything ran successfully.

I ran and works!!!
cd cogs
cargo run -- install.scm

Thank you so much


graphical errors

Any idea why I get this weird glitches

or why it doesn't occupy the rest of the horizontal space?
(edit)
do you think it could have something to do that im using vuematerial

The styling of this component is based on materializecss.
So you have to use this CSS framework to proper display the table.

@thepill I don't think it's great to load Materialize CSS on behalf of the user, as the CSS applies globally.
What we can do instead is declare it better in documentation or something. But before that I'll look into vue-material and see why they don't work together

Grabbing CSS from Materialize sounds better compatibility but much more bloat. I'll see if it's possible to do this without bloat such as by using sass imports or something

@MicroDroid @thepill
I was using this fork of your library beforehand, it doesn't have this visual issues maybe you can get a clue there, I changed to yours because the other one  is not really maintained,
Thanks for your help guys.

@rodrigoAbril I'm looking into it myself just now. I'll see how it goes and report back. But the main reason this didn't work for you is that because vue-material doesn't use Materialize CSS, but some other Material Design library such as MDL

@rodrigoAbril @thepill I couldn't get around that. I tried to see if maybe loading only specific components from Materialize CSS's Sass files could make it work standalone. That worked but I had to load more than half of the library for that, and thus, I would rather not bloat it like that, most people just add Materialize CSS globally. And no, I am not going to copy only applied/used CSS and put it somehow in the plugin.
So the bottom line is, Materialize CSS is a requirement for this library to work.

@MicroDroid , it is ok, I'll import materialize in the scoped styles of my Vue component, maybe that will take care of it, I'll let you know how it goes

Great, and thanks in advance for the report back.
In fact, just make sure that this will add some bloat to your code, considering you're loading the whole Materialize CSS library just for the Datatable component.
I instead suggest you to perhaps find some other plugin that works better for you or perhaps make a fork of this one

Importing materialize inside Vue file scoped styles works
<style lang="sass">
  @import url(http://fonts.googleapis.com/icon?family=Material+Icons)
  @import url(https://cdnjs.cloudflare.com/ajax/libs/materialize/0.99.0/css/materialize.min.css)
</style>

@MicroDroid thank you

@rodrigoAbril What about the bottom controls being centered?

@MicroDroid oh yeah its just something that I added to fit a fab-button on the right side
.table-footer
    justify-content : center

Ah okay :)


How to update edgetpu compiler from 14.1 to 15.0?

I've tried uninstalling edgetpu compier and reinstalling, but I still get the 14.1 version。

@ZhouKai90 hey, it is uploaded to the apt repo recently, have you tried a sudo apt update?

@ZhouKai90 hey, it is uploaded to the apt repo recently, have you tried a sudo apt update?

Sure, Can you give me the .deb download link? like this https://packages.cloud.google.com/apt/pool/edgetpu-compiler_14.1_amd64_ef6eef29200270dcb941d2c1defa39c7d80e9c6f30cf7ced1c653a30bde0a502.deb

@Namburger Sure, Can you give me the .deb download link? like this https://packages.cloud.google.com/apt/pool/edgetpu-compiler_14.1_amd64_ef6eef29200270dcb941d2c1defa39c7d80e9c6f30cf7ced1c653a30bde0a502.deb

Hello, here is the actual package, you can just extract and install:
edgetpu-compiler_15.0_amd64.deb.tar.gz
$ tar xvf edgetpu-compiler_15.0_amd64.deb.tar.gz
$ sudo dpkg -i edgetpu-compiler_15.0_amd64.deb

@Namburger ths a lot.

No problems, although you should be able you get it now, could you try updating the apt repo and reinstall?

@Namburger when I use edgetpu-compiler_15.0 compile my tflite model , I still get the "RESIZE_NEAREST_NEIGHBOR Operation version not supported" error information. The newest version still hasn't fixed this problem?

@ZhouKai90 I will contact our compiler team today to get more info, mean while can you please confirm that you can get the new compiler installed via apt-get as it should?
Also, can you attach your model?

@Namburger when I use edgetpu-compiler_15.0 compile my tflite model , I still get the "RESIZE_NEAREST_NEIGHBOR Operation version not supported" error information. The newest version still hasn't fixed this problem?

Nearest Neighbors should not be listed as a supported operation on the website until this has been resolved

@ZhouKai90 I will contact our compiler team today to get more info, mean while can you please confirm that you can get the new compiler installed via apt-get as it should?
Also, can you attach your model?
@Namburger  Thanks for your answer!!! I have been able to use via apt-get to  install the new compiler . Otherwise, here is my model.
https://github.com/ZhouKai90/YOLO_Tensorflow2/blob/main/save/pedestrian/pedestrians_mobilenetv2_yolov3_540_960_uint8_MLIR.tflite

@ZhouKai90 I will contact our compiler team today to get more info, mean while can you please confirm that you can get the new compiler installed via apt-get as it should?
Also, can you attach your model?
@Namburger Thanks for your answer!!! I have been able to use via apt-get to install the new compiler . Otherwise, here is my model.
https://github.com/ZhouKai90/YOLO_Tensorflow2/blob/main/save/pedestrian/pedestrians_mobilenetv2_yolov3_540_960_uint8_MLIR.tflite

@Namburger when I use edgetpu-compiler_15.0 compile my tflite model , I still get the "RESIZE_NEAREST_NEIGHBOR Operation version not supported" error information. The newest version still hasn't fixed this problem?

Nearest Neighbors should not be listed as a supported operation on the website until this has been resolved

I also tried with bilinear, but still produces too high tflite op version for the edgetpu compiler.

@ZhouKai90 I will contact our compiler team today to get more info, mean while can you please confirm that you can get the new compiler installed via apt-get as it should?
Also, can you attach your model?

@Namburger Thanks for your answer!!! I have been able to use via apt-get to install the new compiler . Otherwise, here is my model.
https://drive.google.com/file/d/1eKHb14XXmeobDrDiePsh5u0Rbj6Z8VHJ/view?usp=sharing

de

@ZhouKai90 whici version of TensorFlow have you been using for training and quantization ?

@ZhouKai90 which version of TensorFlow have you been using for training and quantization ?

TensorFlow 2.3.0

Got it, the default version of "RESIZE_NEAREST_NEIGHBOR" in TF 2.3.0 is not supported by edgetpu_compiler yet. So I recommend you to export/quantize the model using TF1.x if possible for now.

Got it, the default version of "RESIZE_NEAREST_NEIGHBOR" in TF 2.3.0 is not supported by edgetpu_compiler yet. So I recommend you to export/quantize the model using TF1.x if possible for now.
May I ask what's the plan to support RESIZE_NEAREST_NEIGHBOR V3 for edgetpu_compiler? It is inconvenient to use the  TF1.x version.

May I ask what's the plan to support RESIZE_NEAREST_NEIGHBOR V3 for edgetpu_compiler? It is inconvenient to use the TF1.x version.

@ZhouKai90
RESIZE_NEAREST_NEIGHBOR V3 is one of our top priories for the next release.  Watch https://coral.ai/news for the latest information


Added deal_card and print_card

This pull request introduces new functions to handle dealing and printing cards in the Simple-BlackJack project. The most important changes include adding the deal_card and print_card functions, along with their corresponding declarations in the header file.
New functions added:

Simple-BlackJack/src/deck.c: Added deal_card function to deal a card from the deck, including logic to handle an empty deck scenario.
Simple-BlackJack/src/deck.c: Added print_card function to print the details of a card.

Header file updates:

Simple-BlackJack/src/deck.h: Added declarations for the new deal_card and print_card functions.

Thanks Nick!!


Render library side nav items from schema

Once navData is available in the schema, read that to populate the side nav.
This is not building the actual pages, just the side nav and the links within.

Hey team! Please add your planning poker estimate with ZenHub @alisonjoseph @andreancardona @francinelucca


Explorer is broken when deleting a workspace root folder on disk

Steps to Reproduce:

add like 5 workspace folders
expand all of them
rename the last one using windows explorer
reload window

=> explorer is badly broken, you will notice if you try to press the collapse all action and nothing happens

@bpasero I can not reproduce this behvaior.
I followed your exact steps, what happens for me is that after rename the file watcher crashes in console. Which I guess is expected @Tyriar
After that the explorer works just fine, if you try to open some file from the renamed folder explorer shows an error which is expected
@bpasero what do you see in the console? Can you also repro with latest out of source and on mac?

@bpasero good catch. Can you please code review and verify. Thank you

@isidorn even though I can verify the issue no longer happens, that code is a bit crazy to be fair. In the happy case where all of the roots resolve in under 100ms, I think the code works fine, but what if one or many root need more than 100ms? We:

schedule the refresh again
statsToExpand was not emptied after the last scheduler finished so are we expanding things again that are already expanded?
the refreshSchedulerPromise was already completed (either successfully or as error) from the last schedule run but now we trigger another schedule that will call the success or error handler of that exact same promise (which is a no-op)
we always return the same refreshSchedulerPromise after scheduling the scheduler, but the result of that promise will always be from the first schedule invocation

This might not lead to issues, but I find the code very hard to understand in that current state.

@bpasero you are right. All valid flaws.
Let me try to restructure


Query type safety

So far we've implemented compile-time SQL query checks. Next step is to introduce a Typescript type generation against raw SQLs found in the code.
Parser: https://github.com/sqlparser-rs/sqlparser-rs

How would it work from terminal
$ sqlx-ts generate-types ./src ...DB credentials

Then the application generates typescript interfaces into a designated folder with all types parsed using sqlparser-rs. Users can import these generated types in their code to keep their query result type safe.

Luckily, we only need to understand and be able to interpret SELECT potion of any query to generate a type
We will inherit all the work that's done so far + multiple database connections feature
To keep it simple, if we multiple files process in threads isn't done by the time of this issue, we can keep everything single threaded

This is partially done already, I'm busy working on subquery parsing logic


Mention inherit

Somewhere in https://book.divnix.com/ch05-01-language-basics.html inherit foo; and inherit (foo) bar baz; should probably be explained, as well as the fact that they can be used in both lets and attrsets.

Agreed, thank you for pointing that out


fix: elastic indices datasource boolean parsing

Hello,
A little fix on the elastic indices datasource. When parsing boolean settings the following error could occur:
Planning failed. Terraform encountered an error while generating this plan.

╷
│ Error: failed to convert setting to bool
│
│   with data.elasticstack_elasticsearch_indices.existing_indices["my-indice"],
│   on main.tf line 56, in data "elasticstack_elasticsearch_indices" "existing_indices":
│   56: data "elasticstack_elasticsearch_indices" "existing_indices" {
│
│ expected setting to be a bool but got %!t(string=false)

@tobio I think a fast review could let it be included in the 0.11.9 version.
Thanks.

@tobio it looks there is failing test step on 8.8.2 but I don't see anything related to the changes I did with this PR.
I guess everything should be OK if we try to run it again?

Thanks for coming back to fix this up!


Clean up whitespace in readme generation

This simplifies to ensure that we get even spacing between all the pieces,
and ends with a single newline instead of two, which looks spurious.

UPDATE: In light of https://github.com/exercism/configlet/pull/24 I don't think this is necessary. We're going to remove the README generation soon.


Updated QA toolchain

Added PHPUnit and php-cs-fixer as dev dependencies.
Setup PSR-0 dev autoloading for tests.
Added php-cs-fixer configuration.
Updated Travis-CI configuration to:
Add testing for 5.5, 5.6, 7, and hhvm.
Use the phpunit and php-cs-fixer installed by composer.
Remove xdebug support (as we're not generating coverage).
Only run CS checks on 5.6.

Additionally, once the above were complete, ran php-cs-fixer without the --dry-run flag to fix CS issues.

append || return 0 to xdebug
use 1.7.* as constrait of cs tool

@Maks3w —

append || return 0 to xdebug

Already did; see the most recent commit.

use 1.7.* as constrait of cs tool

~1.7.0 is functionally equivalent anyways (will install anything between 1.7.0 and 1.8.0, not including 1.8.0), and wildcards are frowned upon by the Composer team.

I don't like the DISABLE_XDEBUG config option.
Alone does not have sense.
Require to manual change when xdebug become available on PHP7 or HHVM

@Maks3w will the || return 0 correct for that? If so, send a PR removing the variable and the conditional.


Server busy or offline, reconnecting

debug=ture
log this
[2017-03-22 23:05:35] [requests.packages.urllib3.connectionpool] [DEBUG] "POST /auth HTTP/1.1" 200 None
[2017-03-22 23:05:35] [pgoapi.auth] [INFO] Google User Login successful.
[2017-03-22 23:05:35] [pgoapi.auth] [DEBUG] No Access Token available!
[2017-03-22 23:05:35] [pgoapi.auth] [INFO] Request Google Access Token...
[2017-03-22 23:05:35] [requests.packages.urllib3.connectionpool] [INFO] Starting new HTTPS connection (1): android.clients.google.com
[2017-03-22 23:05:35] [requests.packages.urllib3.connectionpool] [DEBUG] "POST /auth HTTP/1.1" 200 None
[2017-03-22 23:05:35] [pgoapi.auth] [INFO] Google Access Token successfully received.
[2017-03-22 23:05:35] [pgoapi.auth] [DEBUG] Google Access Token: eyJhb******************...
[2017-03-22 23:05:35] [pgoapi.pgoapi] [INFO] Starting RPC login sequence (iOS app simulation)
[2017-03-22 23:05:35] [pgoapi.rpc_api] [DEBUG] Generating main RPC request...
[2017-03-22 23:05:35] [pgoapi.rpc_api] [DEBUG] Incremented RPC Request ID: ******************
[2017-03-22 23:05:35] [pgoapi.rpc_api] [DEBUG] Generating sub RPC requests...
[2017-03-22 23:05:35] [pgoapi.rpc_api] [DEBUG] No Session Ticket found - using OAUTH Access Token
[2017-03-22 23:05:35] [pgoapi.auth] [DEBUG] Access Token still valid for further 00:58:00 hours<PHONE_NUMBER> <<PHONE_NUMBER>)
[2017-03-22 23:05:35] [pgoapi.auth] [DEBUG] Using cached Google Access Token
[2017-03-22 23:05:35] [requests.packages.urllib3.connectionpool] [INFO] Starting new HTTPS connection (1): pokehash.buddyauth.com
[2017-03-22 23:05:36] [PokemonGoBot] [INFO] [api_error] Server busy or offline, reconnecting in 960 seconds
[2017-03-22 23:05:36] [socketIO-client] [DEBUG] <IP_ADDRESS>:4000/socket.io [socket.io packet sent] 2["bot:broadcast", {"account"<EMAIL_ADDRESS>"data": {"msg": "Server busy or offline, reconnecting in 960 seconds"}, "event": "api_error"}]
**************: Received packet MESSAGE data 2["bot:broadcast", {"account"<EMAIL_ADDRESS>"data": {"msg": "Server busy or offline, reconnecting in 960 seconds"}, "event": "api_error"}]
[2017-03-22 23:05:36] [  engineio] [INFO] ******: Received packet MESSAGE data 2["bot:broadcast", {"account"<EMAIL_ADDRESS>"data": {"msg": "Server busy or offline, reconnecting in 960 seconds"}, "event": "api_error"}]
received event "bot:broadcast" from ****************** [/]
[2017-03-22 23:05:36] [  socketio] [INFO] received event "bot:broadcast" from ****************** [/]
emitting event<EMAIL_ADDRESS>to all [/]
[2017-03-22 23:05:36] [  socketio] [INFO] emitting event<EMAIL_ADDRESS>to all [/]
**********: Sending packet MESSAGE data 2["api_error:@gmail.com",{"account":"@gmail.com","data":{"msg":"Server busy or offline, reconnecting in 960 seconds"},"event":"api_error"}]
[2017-03-22 23:05:36] [  engineio] [INFO] **********: Sending packet MESSAGE data 2["api_error:@gmail.com",{"account":"@gmail.com","data":{"msg":"Server busy or offline, reconnecting in 960 seconds"},"event":"api_error"}]
******************: Received packet PING data None

this is to generic :-( and doesn't look like debug:true..
Try to debug this, for example in VsCode : https://github.com/DonJayamanne/pythonVSCode/wiki/Debugging (it works on Windows/Linux/MacOS ; this is what I use).

[2017-03-23 22:04:04] [PokemonGoBot] [INFO] Login procedure started.
[2017-03-23 22:04:12] [PokemonGoBot] [INFO] Login successful.
[2017-03-23 22:04:12] [PokemonGoBot] [INFO] Niantic Official API Version: 0.57.4
_inventory was not initialized
_inventory was not initialized
[2017-03-23 22:04:12] [       cli] [INFO]
[2017-03-23 22:04:12] [       cli] [INFO] Ran for 0:00:08
[2017-03-23 22:04:12] [       cli] [INFO] Total XP Earned: 0  Average: 0.00/h
[2017-03-23 22:04:12] [       cli] [INFO] Travelled 0.00km
[2017-03-23 22:04:12] [       cli] [INFO] Visited 0 stops
[2017-03-23 22:04:12] [       cli] [INFO] Encountered 0 pokemon, 0 caught, 0 released, 0 evolved, 0 never seen before ()
[2017-03-23 22:04:12] [       cli] [INFO] Threw 0 pokeballs
[2017-03-23 22:04:12] [       cli] [INFO] Earned 0 Stardust
[2017-03-23 22:04:12] [       cli] [INFO] Hatched eggs 0
[2017-03-23 22:04:12] [       cli] [INFO]
[2017-03-23 22:04:12] [       cli] [INFO] Highest CP Pokemon:
[2017-03-23 22:04:12] [       cli] [INFO] Most Perfect Pokemon:
Traceback (most recent call last):
File "pokecli.py", line 865, in
main()
File "pokecli.py", line 195, in main
bot = start_bot(bot, config)
File "pokecli.py", line 147, in start_bot
bot.start()
File "/home/kujou/pkbot/PokemonGo-Bot/pokemongo_bot/init.py", line 155, in start
self._setup_api()
File "/home/kujou/pkbot/PokemonGo-Bot/pokemongo_bot/init.py", line 1149, in _setup_api
self.login()
File "/home/kujou/pkbot/PokemonGo-Bot/pokemongo_bot/init.py", line 1006, in login
f = urllib2.urlopen(link)
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 404, in open
response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py", line 422, in _open
'_open', req)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 1222, in https_open
return self.do_open(httplib.HTTPSConnection, req)
File "/usr/lib/python2.7/urllib2.py", line 1184, in do_open
raise URLError(err)
urllib2.URLError: <urlopen error [Errno 104] Connection reset by peer>
[2017-03-23 22:04:12] [sentry.errors] [ERROR] Sentry responded with an error: 'module' object has no attribute 'HTTPSHandler' (url: https://app.getsentry.com/api/90254/store/)
Traceback (most recent call last):
File "/home/kujou/pkbot/PokemonGo-Bot/local/lib/python2.7/site-packages/raven/transport/threaded.py", line 174, in send_sync
super(ThreadedHTTPTransport, self).send(data, headers)
File "/home/kujou/pkbot/PokemonGo-Bot/local/lib/python2.7/site-packages/raven/transport/http.py", line 47, in send
ca_certs=self.ca_certs,
File "/home/kujou/pkbot/PokemonGo-Bot/local/lib/python2.7/site-packages/raven/utils/http.py", line 44, in urlopen
class ValidHTTPSHandler(urllib2.HTTPSHandler):
AttributeError: 'module' object has no attribute 'HTTPSHandler'
[2017-03-23 22:04:12] [sentry.errors.uncaught] [ERROR] [u'URLError: <urlopen error [Errno 104] Connection reset by peer>', u'  File "pokecli.py", line 865, in ', u'  File "pokecli.py", line 195, in main', u'  File "pokecli.py", line 147, in start_bot', u'  File "pokemongo_bot/init.py", line 155, in start', u'  File "pokemongo_bot/init.py", line 1149, in _setup_api', u'  File "pokemongo_bot/init.py", line 1006, in login', u'  File "python2.7/urllib2.py", line 127, in urlopen', u'  File "python2.7/urllib2.py", line 404, in open', u'  File "python2.7/urllib2.py", line 422, in _open', u'  File "python2.7/urllib2.py", line 382, in _call_chain', u'  File "python2.7/urllib2.py", line 1222, in https_open', u'  File "python2.7/urllib2.py", line 1184, in do_open']
Thu Mar 23 22:04:13 JST 2017 Pokebot  Stopped.
Press any button or wait 20 seconds to continue.

looks like network issue..

@pogarek thank you!
Now i have another question...
When i login with pokebot...
My all android devices are logged out...
I need to log in repeatedly, per a few hours

are they logged out from Android ? that is weird.. However I'm not an Android guy.. @MerlionRock , @Jcolomar  any ideas?

I tried to close the two-step authenticate
and tried to use account password or app passwd...
But did not solve the problem

u mean are logged in bot and in phone same time?

when i login in bot at linux , Google account at my phone said account information has changed, i must log in again @Jcolomar

another question
why bot have two device id?
this Android and this Android they are one bot
http://x777.co/data/attachment/forum/201703/24/001201t73xdi37dfdgdizz.png

Thats happend to me also, and i never had to log again on phone. I dont listen it

It seems that the problem can not be solved.

i dont think is a problem. From begining i started use the bot, that notification appears (im using google account)

With debug "true" I get (numbers and token modified ;))
[2017-03-23 20:36:18] [pgoapi.auth] [INFO] Google User Login successful.
[2017-03-23 20:36:18] [pgoapi.auth] [DEBUG] No Access Token available!
[2017-03-23 20:36:18] [pgoapi.auth] [INFO] Request Google Access Token...
[2017-03-23 20:36:18] [requests.packages.urllib3.connectionpool] [INFO] Starting new HTTPS connection (1): android.clients.google.com
[2017-03-23 20:36:18] [requests.packages.urllib3.connectionpool] [DEBUG] "POST /auth HTTP/1.1" 200 None
[2017-03-23 20:36:18] [pgoapi.auth] [INFO] Google Access Token successfully received.
[2017-03-23 20:36:18] [pgoapi.auth] [DEBUG] Google Access Token: XYZ...
[2017-03-23 20:36:18] [pgoapi.pgoapi] [INFO] Starting RPC login sequence (iOS app simulation)
[2017-03-23 20:36:18] [pgoapi.rpc_api] [DEBUG] Generating main RPC request...
[2017-03-23 20:36:18] [pgoapi.rpc_api] [DEBUG] Incremented RPC Request ID: 123
[2017-03-23 20:36:18] [pgoapi.rpc_api] [DEBUG] Generating sub RPC requests...
[2017-03-23 20:36:18] [pgoapi.rpc_api] [DEBUG] No Session Ticket found - using OAUTH Access Token
[2017-03-23 20:36:18] [pgoapi.auth] [DEBUG] Access Token still valid for further 00:58:00 hours (123 < 123)
[2017-03-23 20:36:18] [pgoapi.auth] [DEBUG] Using cached Google Access Token
[2017-03-23 20:36:18] [requests.packages.urllib3.connectionpool] [INFO] Starting new HTTPS connection (1): pokehash.buddyauth.com
[2017-03-23 20:36:18] [PokemonGoBot] [INFO] [api_error] Server busy or offline, reconnecting in 1044 seconds

So I guess hashing service is down.
Tried both with a google and a PTC account, same messages. Login from phone works on these accounts.

yes, niantic or hashing servers have issues now

I'm having the same issue as DeepJeep (Server busy or offline immediately after starting new HTTPS connection to pokehash), and as the same hash key works well with pokebot ninja on another ptc account, I do not think that the bossland or niantic servers have issues.

@s1ak So what do we do now ??
Wait for it or use some other hash server.

I send a message to the buddyauth.com! We are waiting for the support... :)

You can edit "/PokemonGo-Bot/lib/python2.7/site-packages/pgoapi/hashserver.py" and remove the 's' of "https". But it's not the best solution.

@neurovul Thanks! This work.
On linux (Ubuntu/docker): /usr/local/lib/python2.7/dist-packages/pgoapi/hash_server.py

@neurovul @s1ak
What chances are of getting banned ??

better to leave https and change on the same file
_session.verify = True
to
_session.verify = False
then remove hash_server.pyc and restart

@GhosterBot Thanks it works. But how long do you think this will work ?

People at pokehash are currently fixing certificat issue. It should be ok in a near futur (don't know exactly when, so don't ask ;-)
At this time, there should be a message here telling us we could put back
_session.verify = True

Okay cool. But the server busy or offline issue still comes more frequently.

@Yasheshpandita indeed. So http does less "server busy", but is less secure, all datas (and your hask key) are clearly sent over the internet. At least it's your choice ;)

@s1ak did you  get feedback from hashbuddy?
I tried again to start the bot today (without changing config to http or such) and it seems to work again.
So everything seems to work fine again (besides sporadic disconnect/reconnects)

this should be solved by now. closing


remove automerge job

Since github now has this feature build in https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/automatically-merging-a-pull-request

See this pr or https://github.com/QCoDeS/Qcodes/pull/2701 for an example of how this works


Export isInternalDeclaration and isDeclarationStatement

These two are the only internal functions used by our mini-d.ts bundler, and I think they'd be safe to export for wider use.

@jakebailey I'm going through old PRs: Is this still worth bringing up at a design meeting?

Yes; it's still an API that I use unsafely in dtsBundler and would like to make public.

Undrafting since we seemed to have added a new API for similar reasons. I think I also should propose nullTransformationContext and isPartOfTypeNode.

Updated for further discussion; I'm not sure if we should make context optional or nullTransformationContext exported. In the design meeting, we seemed to favor the former. But, maybe overriding it like in the below is desirable:
https://github.com/microsoft/TypeScript/blob/85c2577285154657f99f32db6231cb3f9815fe51/src/services/textChanges.ts#L1370-L1376

Would definitely like @rbuckton to give his opinion on the visitor change here; we were unsure in the meeting which way was good but we thought that making the context option sounded fine, so I updated the PR to do so.


stylua: 0.14.3 -> 0.15.0

Description of changes
I don't know what the default feature set should be. The original repo has no default features, but I haven't been following the original. I also don't want to break backwards compatibility in nixpkgs, but 5.2 is kinda a weird version to stop at, so I changed to default to 5.4
https://github.com/JohnnyMorganz/StyLua/compare/v0.14.3...v0.15.0
https://github.com/JohnnyMorganz/StyLua/blob/main/CHANGELOG.md

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

https://github.com/JohnnyMorganz/StyLua#with-github-releases
By default, these are built with all syntax variants enabled (Lua 5.2, 5.3, 5.4 and Luau), to cover all possible codebases

Upstream's binaries are built with all-features, seems reasonable to follow that?

I will turn on lua54 and luau then, not turning on lua52 and lua53 by default so it is easier to do e.g. lua51 only

I'd rather we follow upstream binaries and do all-features or follow the crate default and have none.

the lua54 feature implies lua53, and the same for lua52
I don't think something like allFeatures ? true fits here

How about sometime like this so we don't need to pick and/or track specific features and people can still override it if they need to?
diff --git a/pkgs/development/tools/stylua/default.nix b/pkgs/development/tools/stylua/default.nix
index 492263f2c36..ee997a6839c 100644
--- a/pkgs/development/tools/stylua/default.nix
+++ b/pkgs/development/tools/stylua/default.nix
@@ -1,10 +1,7 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
-, lua52Support ? false
-, lua53Support ? false
-, lua54Support ? true
-, luauSupport ? true
+, buildFeatures ? "all-features"
 }:

 rustPlatform.buildRustPackage rec {
@@ -25,10 +22,7 @@ rustPlatform.buildRustPackage rec {
     rm .cargo/config.toml
   '';

-  buildFeatures = lib.optional lua52Support "lua52"
-    ++ lib.optional lua53Support "lua53"
-    ++ lib.optional lua54Support "lua54"
-    ++ lib.optional luauSupport "luau";
+  inherit buildFeatures;

   meta = with lib; {
     description = "An opinionated Lua code formatter";

I don't think all-features would have worked in this case so I just switched to [ "lua54" "luau" ], also named it features instead of buildFeatures

I don't think all-features would have worked in this case

Why not?

error: Package stylua v0.15.0 (/build/source) does not have the feature all-features

in ci it is taken as a flag (--all-features) and --features all-features doesn't work

added a release notes entry since this breaks backwards compatibility

error: Package stylua v0.15.0 (/build/source) does not have the feature all-features

in ci it is taken as a flag (--all-features) and --features all-features doesn't work

Set buildflags/checkflags to use --all-flags if features is unset?

the lua54 feature implies lua53, and the same for lua52

Apart from this there a reason not to have 52 and 53 here? If we not going to actually use all-features I think we should set the equivalent as the default.

because it is shorter and this is the equivalent, lua54 implies lua53 and lua52
https://github.com/JohnnyMorganz/StyLua/blob/v0.15.0/Cargo.toml#L29-L30

because it is shorter and this is the equivalent, lua54 implies lua53 and lua52

Yes, I was asking if that was the only reason. For clarity I'd rather we set all of the features.

it was the only reason, conditionally setting buildFlags just seemed kinda hacky to me when the current solution works well enough


Upgrade markdown-link-check to latest stable one

The latest stable one is v1.0.13, and I saw a dead link check error here https://github.com/antrea-io/antrea/runs/5866219791?check_suite_focus=true, but the link can actually be accessed without any issue, trying to upgrade this to see if it helps.
Signed-off-by: Lan Luo<EMAIL_ADDRESS>

hmm, after check the tag, it turns out 1.0.13 and v1 has the same commit id, I think they are the same, so close this PR.


Chain-orc

Make a POC feature (or maybe a separate crate) that allows for cosmos chain orchestration in rust for testing IBC.

Functionality:

Start a chain with N validators
Stop chain
Skip forward N Blocks / N Block header seconds


[FEATURE] Finding details flyout - clicking on rule name should trigger Rule details flyout

Is your feature request related to a problem?
Currently this action navigates the user to the general Rules page.
What solution would you like?
Present the Rule details flyout to the user without navigating anywhere
What alternatives have you considered?
A clear and concise description of any alternative solutions or features you've considered.
Do you have any additional context?
Add any other context or screenshots about the feature request here.

@getsaurabh02 @amsiglan
Initially state
Clicking on rule name was opening list of all rules

In order to reuse <RuleViewerFlyout> component it should be able to drop-in not only on Findings page, but also on Alerts. On video below you can see how it looks at the moment in my local (with fake rule data).
https://user-images.githubusercontent.com/1564068/207426202-4cffb9d4-6120-4a11-8748-c05ce431246f.mov
Here was needed to:

align Rule flyout header to looks the same as Alert and Finding details
fix one existing runtime error on alert flyput opening

There is also "back button" functionality in case of flyouts opening one over another, which I personally think is overhead (let me know if we could agree on it so close X button would always behave as back arrow < button at the moment and < could be removed?
I lost some time on thinking if we can have only one template for all flyouts in plugin, but it seems complicate to be done in this context.
Remain work
I was doing above layouting with mocked Rule details (from Rules page). Getting Rule details on Findings and Alerting page is left to be done in some proper way that I will discuss with @amsiglan. If there is no already data needed, I would like to not pass too many props and services around. Trying also to contribute more on general code organization/architecture with some feedback, hope it could be helpful too.


[WIP]Support multiple markdown processor(redcarpet, pandoc)

I'm looking forward it! :)

This would resolve #12

What's needed to merge this pull request?

@niku @tzz
Hi, I have implemented this PR.
I wanted to save the position on the screen, but does not work well. Other function seems to work.


Bypass add your current mobile number interstitial page

I occasionally get an interstitial page that says "Let's add your current mobile number" and mintapi fails.   This change clicks the "skip for now" link when that page appears.

Awesome, thanks!


make clean doesn't clean up completely

What happened:
After make docker, kmesh would produce the following intermediate modifications:
root@istio-proxy-build-tools-x86:~/yzz/kmesh# git status
On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   bpf/kmesh/bpf2go/bpf2go.go
        modified:   bpf/kmesh/include/config.h
        modified:   config/kmesh_marcos_def.h
        modified:   mk/api-v2-c.pc
        modified:   mk/bpf.pc

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        config/linux-bpf.h

no changes added to commit (use "git add" and/or "git commit -a")

And make clean will indeed roll back a lot of changes but there are still some omissions:
root@istio-proxy-build-tools-x86:~/yzz/kmesh# make clean
git checkout bpf/kmesh/bpf2go/bpf2go.go config/kmesh_marcos_def.h mk/api-v2-c.pc mk/bpf.pc
   CLEAN   kmesh-daemon
   CLEAN   mdacore
   CLEAN   kmesh-cni
   CLEAN   libkmesh_api_v2_c.so
   CLEAN   libkmesh_deserial.so
   CLEAN   kernel
make[1]: Nothing to be done for 'clean'.
root@istio-proxy-build-tools-x86:~/yzz/kmesh# git status
On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   bpf/kmesh/include/config.h

no changes added to commit (use "git add" and/or "git commit -a")
root@istio-proxy-build-tools-x86:~/yzz/kmesh# git diff
diff --git a/bpf/kmesh/include/config.h b/bpf/kmesh/include/config.h
index 4faf4a3..bfed72f 100644
--- a/bpf/kmesh/include/config.h
+++ b/bpf/kmesh/include/config.h
@@ -89,7 +89,7 @@
 #define KMESH_PER_FILTER_NUM             MAP_SIZE_OF_PER_FILTER
 #define KMESH_PER_VIRT_HOST_NUM           MAP_SIZE_OF_PER_VIRTUAL_HOST
 #define KMESH_PER_ROUTE_NUM               MAP_SIZE_OF_PER_ROUTE
-#define KMESH_PER_ENDPOINT_NUM         MAP_SIZE_OF_PER_ENDPOINT
+#define KMESH_PER_ENDPOINT_NUM 15
 #define KMESH_PER_HEADER_MUM 32
 #define KMESH_PER_WEIGHT_CLUSTER_NUM 32
 #endif // _CONFIG_H_

What you expected to happen:
make clean can roll back all changes
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Kmesh version: v0.3.0
Others:

/assign Okabe-Rintarou-0

It is modified due to the code here:
https://github.com/kmesh-net/kmesh/blob/1ae49ce4b623bc888ad2386d9acbc531d6c62d67/kmesh_compile_env_pre.sh#L37-L42
maybe we can recover it to #define KMESH_PER_ENDPOINT_NUM       MAP_SIZE_OF_PER_ENDPOINT or just git restore it?

I think there is a risk in using git restore, either to abort changes or to RESET. It's better to use the other option.

When we first built the kmesh compilation capability, in order to adapt to different versions of the kernel and different compilation environments, there were some actions to modify files in the compilation script. These file modifications recorded some information about the current compilation environment.
modified:   bpf/kmesh/bpf2go/bpf2go.go
modified:   bpf/kmesh/include/config.h
modified:   config/kmesh_marcos_def.h
This part of the modification will not have any actual impact on the next compilation. Of course, if it affects the development experience, I think we can use a script to modify this part of the modification.
It can be executed automatically after make docker ends, or when make clean

When we first built the kmesh compilation capability, in order to adapt to different versions of the kernel and different compilation environments, there were some actions to modify files in the compilation script. These file modifications recorded some information about the current compilation environment. modified: bpf/kmesh/bpf2go/bpf2go.go modified: bpf/kmesh/include/config.h modified: config/kmesh_marcos_def.h
This part of the modification will not have any actual impact on the next compilation. Of course, if it affects the development experience, I think we can use a script to modify this part of the modification. It can be executed automatically after make docker ends, or when make clean

cc @Okabe-Rintarou-0


need a Perl 6 api access tool

Be one of the first companies to have and publish a Perl 6 api wrapper tool.
I'll submit a PR for a Perl 6 tool (in the basic style of the other language api wrappers) if you create a repo named perl6-holidayapi.

https://github.com/joshtronic/perl6-holidayapi :boom:


Consistancy of BarSection parameters

Some parameters differ from a section to a similar one.

RoundBar having Height and Tube having Diameter

Bulb having FlangeWidth and L/I/TBar having Width

@BV-HuguesM Mike has registered a proposal for changing the RoundBar property: #157
I close this issue as it will be resolved from #157


Can't Uninstall Managed Solution

I've recently tried to use your autonumber solution but it didn't quite deliver what I needed so I've tried to uninstall and I get the following error "Cannot delete SdkMessageProcessingStep, because one or more components require it. Details If you contact support, please provide the technical details"
I've ensured I've deleted all AutoNumber records. I've even rebooted the server but still receive the same error when uninstalling, any suggestions what I need to do to remove the solution?

Hi, I can also say that even though I've deleted all Autonumber records from CRM it still continues to generate Autonumbers so it appears as if the solution is holding some records somewhere?

Hi, I'm now completely confused.  I've managed to uninstall the solution by using the Plugin Registration Tool to unregister the step that was prevent the uninstall and now the solution is uninstalled an no plugin shows to be registered (see screenshot) yet still I get a autonumber generated.  It appears there is some remanence of the solution present with stale configuration. Any suggestion how I ensure the solution is completely removed?  Where is the plugin cached on the server? Please HELP - spent three days on this now.

Try IIS reset if you using on-premise CRM.
For online CRM try to register/unregister CeledonAutoNumber assembly several times. That should invalidate plugin cache.
Otherwise open ticket to Microsoft.


Adding localforage and StorageService

This is a cleaned up version of #103 - this does not contain device management, only identity loading and storage in the browser. I plan on writing tests for this, but first I need to create a new custom localforage driver

I decided to take out device management from this PR, because there is another bounty being worked on that would obsolete this method of device management (3box storage)

@marekkirejczyk Not sure what's up with the CI, but can't merge :/


[AVM Module Issue]:  Issue when provisioning VNET integrated Container Apps Environment.

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Issue Type?
Bug
Module Name
avm/res/app/managed-environment
(Optional) Module Version
No response
Description
There is a bug caused by using the preview API (Microsoft.App/managedEnvironments@2024-02-02-preview) in container apps managed environment AVM module that throws the below error when configured with VNET integration.
The issue is not present using the newer: Microsoft.App/managedEnvironments@2024-03-01 version of the API.
Line |
  34 | New-AzSubscriptionDeploymentStack @inputObject -Force
     | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | 07:44:40 - The deployment 'rsg-shared-24091207a1s2i' failed with
     | error(s). Showing 1 out of 1 error(s). Status Message: At least one
     | resource deployment operation failed. Please list deployment operations
     | for details. Please see https://aka.ms/arm-deployment-operations for
     | usage details. (Code: DeploymentFailed)  - The resource write operation
     | failed to complete successfully, because it reached terminal
     | provisioning state 'Failed'. (Code: ResourceDeploymentFailure)    -
     | ConfigureAllocatedClusterHandler failed for Managed Environment
     | xxxx on cluster happyflower-6a7fbbd5 :
     | k8s.Autorest.HttpOperationException: Operation returned an invalid
     | status code 'Conflict', response body
     | {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"secrets \"kube-environment--secret\" already exists","reason":"AlreadyExists","details":{"name":"kube-environment--secret","kind":"secrets"},"code":409}     at k8s.Kubernetes.SendRequestRaw(String requestContent, HttpRequestMessage httpRequest, CancellationToken cancellationToken)    at k8s.AbstractKubernetes.ICoreV1Operations_CreateNamespacedSecretWithHttpMessagesAsync[T](V1Secret body, String namespaceParameter, String dryRun, String fieldManager, String fieldValidation, Nullable`1 pretty, IReadOnlyDictionary`2 customHeaders, CancellationToken cancellationToken)    at k8s.AbstractKubernetes.k8s.ICoreV1Operations.CreateNamespacedSecretWithHttpMessagesAsync(V1Secret body, String namespaceParameter, String dryRun, String fieldManager, String fieldValidation, Nullable`1 pretty, IReadOnlyDictionary`2 customHeaders, CancellationToken cancellationToken)    at Microsoft.ContainerApps.Common.Services.ManagedClusterService.CreateSecretInClusterAsync(ManagedCluster dbManagedCluster, V1Secret secret, String k8sNameSpace, Boolean recreateOnConflict) in C:\__w\1\s\src\Microsoft.ContainerApps\Microsoft.ContainerApps.Common\Services\ManagedCluster\ManagedClusterService.cs:line 1109    at Microsoft.ContainerApps.Common.Services.ManagedClusterService.CreateSecretInClusterAsync(ManagedCluster dbManagedCluster, V1Secret secret, String k8sNameSpace, Boolean recreateOnConflict) in C:\__w\1\s\src\Microsoft.ContainerApps\Microsoft.ContainerApps.Common\Services\ManagedCluster\ManagedClusterService.cs:line 1127    at Microsoft.ContainerApps.BackgroundJobs.OperationHandlers.ManagedClusters.ConfigureAllocatedClusterHandler.ConfigureCustomSecretAsync(ManagedCluster managedCluster) in C:\__w\1\s\src\Microsoft.ContainerApps\Microsoft.ContainerApps.BackgroundJobs\OperationHandlers\ManagedClusters\ConfigureAllocatedClusterHandler.cs:line 749    at Microsoft.ContainerApps.BackgroundJobs.OperationHandlers.ManagedClusters.ConfigureAllocatedClusterHandler.HandleWaitingOperationForIsolatedManagedClusterAsync(ManagedCluster dbManagedCluster, KubeEnvironment dbManagedEnvironment, KubeOperation operation) in C:\__w\1\s\src\Microsoft.ContainerApps\Microsoft.ContainerApps.BackgroundJobs\OperationHandlers\ManagedClusters\ConfigureAllocatedClusterHandler.cs:line 182 (Code:OperationFailed)    CorrelationId: 2f9bf6aa-813c-48d0-be97-fab0d3944e03

(Optional) Correlation Id
No response

@rpetersson can I see some sample code?

@hundredacres
module containerAppsEnvironment 'br/public:avm/res/app/managed-environment:0.8.0' = {
scope: sharedRg
name: '${deployment().name}-shared-cae'
params: {
name: 'cae-${namePrefix}-shared'
logAnalyticsWorkspaceResourceId: caeLAW.outputs.resourceId
workloadProfiles: workloadProfiles
infrastructureSubnetId: virtualNetwork.outputs.subnetResourceIds[1]
internal: true
zoneRedundant: true
appInsightsConnectionString: caeAppiInsights.outputs.instrumentationKey
platformReservedCidr: '<IP_ADDRESS>/16'
platformReservedDnsIP: '<IP_ADDRESS>'
dockerBridgeCidr: '<IP_ADDRESS>/16'
}
}

@rpetersson sorry for the delay in getting back to this. I ran a test using your example code and I am able to get a successful deploy: https://github.com/hundredacres/bicep-registry-modules/actions/runs/11564405049
It's in the test named 3261.
There are some new options added to the module under the preview API version that aren't included the in the latest version. I'm going to reach out to the RP and see what their plans are for adding these.


Any pre built release available?

Hello, just starting with MQTTnet library. So was wondering if you have published any pre built binaries for Windows or linux anywhere? Or its just source and we have to figure out how to build in our favorite OS?

Sorry, I have not included binaries in the repo. This project builds for Win 10 UWP, and Android. I haven't tested the ios.

Hi,
sorry but the app is not stable enough to release a version yet but I will release some preview builds soon.
If you want to contribute and speed up things please let me know.
Best regards
Christian

Hey @chkr1011, are there any updates on this?

Sorry no update yet. I am mostly working on MQTTnet. After the next major release I will focus on this project again. But if you want you can create a pull request which includes scripts for creating the packages etc.

Now the first prerelease builds are available.


Acodex Terminal stops working after updating to v3.1.0

After updating to v3.1.0,

The settings column disappears
Ctrl-k no longer opens/launches the terminal
acodeX-Server no longer starts the terminal server as expected
Thus, nothing works after the update.
I've tried uninstalling and reinstalling everything including python & nodejs (on termux), yet nothing works.
I even tried the curl approach rather than using npm i -g, same issue still.
Is this normal or did I miss something or do something wrong?

Have you updated both Plugin and server ?
And is there any error at the time of updating plugin?
Tell me your Android version?

Btw sorry for Inconvenience 😔

Try v3.1.1

Working perfectly now (i.e. with v3.1.1).
Thanks

Your welcome 🤗

Btw share your feedback on new update for other users