Support dynamic packet definitions based on header

This ticket is to support dynamic packet definitions that change their definitions per-packet based on the header. This came out of conversations with @tloubrieu-jpl and @nischayn99 about a particular packet they have on Europa Clipper which changes its definition based on a header field (which isn't the secondary header field, even).
I came up with two ways we can support this. I'm writing them here so others can discuss and weigh in.
Packet Factory
We can have a PacketFactory, with its own load() method, which allows you provide a function reference that returns a packet definition based on the primary header. For each packet, the primary header would be parsed, and then the provided function would be called, and the packet would be re-parsed with the definition provided by the function. An example of what this would look like is as follows.
def packet_factory_fun(headers):
       if headers[xxx] == yyy:
           return VariableLength([
                  ....
            ])
        elif  headers[xxx] == zzz:
           return VariableLength([
                  ....                           # different than before
            ])
        else:
            return VariableLength([
                  ....                           # even more different
           ])

pkt_fac = PacketFactory(packet_factory_fun)
result = pkt_fac.load('telemetry.bin')

If you wanted to parse more than the primary header and use that to decide on the rest of the packet, you could pass in an optional argument to provide that "decision" definition.
def packet_factory_fun(initial_results):
    # make decision based on result of parsing with initial_defs
    ...

initial_defs= VariableLength([
    # initial fields to parse
    ...
])

pkt_fac = PacketFactory(packet_factory_fun, initial_defs=initial_defs)
result = pkt_fac.load('telemetry.bin')

Define fields conditionally based on Expression
I don't think this is the best option, but I think it's a bit complex but I will mention it here. We could add a a keyword argument condition= that you could set to some very simply expression that would be evaluated for each packet to determine if the field is included. For example, if the field is only included if the secondary header field is none, you could add condition="CCSDS_SECONDARY_FLAG==1".
I don't think this is the best because adding the ability to parse these expressions is going to add a lot of complexity. We could also just replace the string expression with a callable (probably a lamba) and do something like condition=(lambda headers: headers['CCSDS_SECONDARY_FLAG'] == 1), but I also think that doing that multiple times might be messier than using a factory.
pkt = ccsdspy.FixedLength([
     PacketField(name='SHCOARSE', data_type='uint', bit_length=32, condition="CCSDS_SECONDARY_FLAG==1"),
     PacketField(name='SHFINE',   data_type='uint', bit_length=20, condition="CCSDS_SECONDARY_FLAG==1"),
     PacketField(name='OPMODE',   data_type='uint', bit_length=3),
     PacketField(name='SPACER',   data_type='fill', bit_length=1),
     PacketField(name='VOLTAGE',  data_type='int',  bit_length=8),
     PacketArray(
         name='SENSOR_GRID',
         data_type='uint',
         bit_length=16,
         array_shape=(32, 32),
         array_order='C'
     ),
])

@ehsteve @jmbhughes would you mind weighing on to let me know what you think?

I think the PacketFactory strategy will work. A couple quick thoughts:

I prefer the first solution over the second. The first allows you to define a completely different packet structure depending on some condition. The second solution seems like the logic might get hard to follow. You could have a lot of different conditions and then it's difficult to see the full packet definition at a glance. (It could get really complicated if it's defined by conditional functions... the function could have a bunch of nested conditions or something.) Which raises one of my first questions, can there be a convenience function (in either scenario) to print out all the possible packet definitions based on their branches? And a way to interrogate which packet definition was used for which packet? It probably wouldn't be used in practice but would be a great debugging tool.
Is there a way to save rewriting redundant parts of packet definitions that don't depend on the header? I imagine it might be the case that only a few portions change and the rest is the same. Maybe this is already possible with clever writing of the VariableLength object, but a nice example in the documentation would be good.
For the last bit of your description about using initial_defs, is it possible to avoid reading the packet twice? You read a chunk of the packet to get the fields you need to determine what the rest of the packet is formatted like and then read again to figure out the rest? Or can you cleverly not have to reread the rest? It's an implementation detail that might impact speed, don't know.
If you do go for your second example, I would use functions passed in instead of functions. As you pointed out, supporting expression parsing could get complex.

I'm happy to clarify any of these points and discuss them more. I think the key point is getting input from people who would use this feature. I do think it would solve one of the problems I raised at one point where the packet definition can change over time. Now, you would just define a PacketFactory with different definitions based on the primary header date information.

@ddasilva I like the packet factory solution.
As @jmbhughes mentioned that could be interesting not to read the packet twice but it is not critical.
I was thinking we might be able to make the case where the packet structure depends on a field value beyond the header a generalization of the case where the packet structure depends on the header: if the packet factory has a definition of a base packet with the generic fields the beginning of the packet, we could use any of the fields defined (in the default header or by the developer in the factory) to decide on the packet structure returned by the function used as argument of the packet factory constructor.
That would prevent us from having a specific sub case for handling decision from fields outside the header.

Iteration on previous proposition:
After thinking a bit more, although I like the proposal, I don't think it actually acts as a factory, which, in my mind, and in object design patterns, is an object which has a get method returning a built object, here for example a variableLength packet structure.
In our legacy code we have a protean packet structure object which we name this way because the shape of the packet structure changes depending on the packets.
I would make the protean structure object a specialization of the variableLength object (or its parent object).
But otherwise it is very much alike what @ddasilva proposed above for when one needs to parse more that the header to find out what the full packet structure is.
On an example it is how I am thinking of that:
def get_other_fields(static_field_values: dict):
    if  static_field_values[HEADER_FIELD_NAME]== “this value”:
        return pseudo_apid1, [PacketField(…), …]
    elif static_field_values[OTHER_FIELD_NAME] == “another value”:
        return pseudo_apid2, [PacketField(…), …]
    …

packet_struct  = ProteanPacket([static_fields], dynamic_fields_fun=get_other_fields)
parsed_packets: dict = packet_struct .load(stream)

Note that since the structures of the packet differ that would be preferable to store them into distinct outputs that I proposed to group in a dictionary with a pseudo_apid as a key.
Different idea
Another totally different option which came up to my mind is to simply have a generalization of the split by apid util script to split streams on a non APID fields,. The developers would then parse each stream with its specific base packet definition. But then I don’t see a solution for splitting depending on a non header field.
Sorry if I am making things more confused. Your ideas with the experience you have on other types of packet might help.

I like the formulation that @tloubrieu-jpl presents a bit more. While it provides the same capability, the aesthetics are much better. Though, I might choose a difference name than Protean because while this is a real word I suspect most people wouldn't know what it means (and especially so for most non-native English speakers). I could be totally wrong here, though.
Right now, packet definitions aren't instantiated with an APID. What was your reasoning with having get_other_fields() return a pseudo apid?

I was worried at first that this may not be compatible with the CCSDS standard but, looking through the guidebook, nowhere does it say that an APID needs to define a singular non-changing packet. My worry was that it would be weird to add functionality to a library called CCSDSPy that is not compatible with the CCSDS standard!
Though i like the ideas presented above, i feel like they rely too much on defining packets through code rather than more readable definitions such as a csv and I think it is important to maintain that capability. It seems like the problem that is presented here is that the APID does not uniquely define a packet but a combination of the APID and some other packet field does. Could we not expand our packet definition to include an ID item that does uniquely define the packet format. Something like the following
pkt = ccsdspy.FixedLength([
     PackedID(value=256, bit_offset=[5, 32], bit_length=[11, 3]),
     PacketField(name='SHCOARSE', data_type='uint', bit_length=32),
     PacketField(name='SHFINE',   data_type='uint', bit_length=20),
     PacketField(name='OPMODE',   data_type='uint', bit_length=3),
     PacketField(name='SPACER',   data_type='fill', bit_length=1),
     PacketField(name='VOLTAGE',  data_type='int',  bit_length=8),
     PacketArray(
         name='SENSOR_GRID',
         data_type='uint',
         bit_length=16,
         array_shape=(32, 32),
         array_order='C'
     ),
])

In the above example, it would add the bits of the APID and the 3 bits at position 32 and if they equal 256, it make use of this definition to parse the packet. We could optionally allow the user to provide their own function to calculate the unique identifier. Hopefully adding this functionality to the parsing code would be easy as the parsing code itself does not have to change, we just have to add a gate at the front of the code to identify the packet. If there were many similar packets, it would mean repeating parts of the packet but I am not so worried about that since you can still write this in code and remove the repetitions if you wanted to with a loop of some kind.
By the way, this is similar to how COSMOS does it (see https://openc3.com/docs/v5/telemetry#append_id_item) though more advanced.

@ehsteve Your solution is interesting, and it would be nice to keep the ability to specify packets in csv. So when you specified a packet id like above, would the load(file_name) method only return the subset of packets in file_name that match the packet id specified, dropping the rest?
If you have multiple kinds of packets and you want to iterate through them in the order in which they appear, what would be the approach to interweave them back together?
This method also has the advantage that each field is there every time, so we don't have to deal with a scenario in the packet factory or protean packet solutions where some fields will have to become NaN/None/Masked.

@ddasilva could we add or expand the function split_by_apid to split the file into different packet types?
My longterm preferred approach would be to somehow allow a user to define multiple packets and let the load function figure it all out. split_by_apid always felt to me like a bit of a hack.

Hi @ddasilva , @ehsteve ,
Sorry I missed your comments earlier.
The pseudo_apid that I was proposing meant to be able to differentiate the packet formats when a single APID is inconsistent with its format. I believe that is the same idea that you discussed after, and I am very open to other solutions to to uniquely identify packet formats beyond the APID so to be able to export the packets following a given format in a single CSV. The proposal of @ddasilva  yesterday looks good to me.
On that topic, what we noticed when we started to use these non consistently formatted APIDs is that when we use the parsed output, we eventually want to regroup the different format tables belonging to a single APID together, by iterating on the lines in parallel for each format. That related to @ddasilva question yesterday. For doing that we maintain a dictionary dict[api, format_id]. That can be a property of the packet definition.
I am sorry that this makes the CCSDS standard more complex but these cases happen in real life, I think when the instrument team realizes they need additional format after the APID have been frozen at mission level.
At last for the name of the class I agree Protean is a bit pedantic, but again I would not go for Factory which has a specific meaning in design patterns and can be misleading. I asked chatGPT for other names, it proposed the following prefixes:

morpho
amorphous
mutable

I like mutable, what do you think ?

@tloubrieu-jpl sorry! yes i think we are saying the same thing for the packet identifier. Why do we need a new class though? What I am suggesting is that we just add this functionality to the existing class. Do we want users to have try to figure out what class they need beyond Fixed or Variable to understand how to parse their packets?

My longterm preferred approach would be to somehow allow a user to define multiple packets and let the load function figure it all out. split_by_apid always felt to me like a bit of a hack.

Yeah, we have all the tooling developed, it's just a matter of making it convenient. This could be done a couple ways. Without adding a new class, we could simply do it like this:
from ccsdspy import utils

packet_defs = {
   1035: FixedLength(...),
   1099: VariableLength(...),
   #...
}

for apid, packet_dict in utils.iter_mixed_file("my_mixed_file.bin", packet_defs):
    print(f"{apid} - {packet_dict}")

@tloubrieu-jpl sorry! yes i think we are saying the same thing for the packet identifier. Why do we need a new class though? What I am suggesting is that we just add this functionality to the existing class. Do we want users to have try to figure out what class they need beyond Fixed or Variable to understand how to parse their packets?

I am also averse to adding a new class. We could just add the dynamic_fields_fun=fun keyword to the VariableLength constructor, and not add a new class.  In the long term future, I think it would make sense to deprecate FixedLength and VariableLength in factor of PacketDefinition, and then have the library figure out which decoder to use automatically (maybe you can override it's decision with load(file, engine="fixed_length")). But I don't want to get to too off-topic for this thread (if you want to discuss it further, let's open a new issue).
I do agree that the ability to define these definitions in csv files is a big advantage. I think to start with, the easiest thing is to do the PacketId() approach. In the future, we could talk about supporting the dynamic_fields_fun=fun, because it technically allows scenarios that PacketId() doesn't.
Would the PacketId() approach work for your immediate needs @tloubrieu-jpl? Technically this isn't as expressive as the callable solution we discussed, but it hits every use case I have heard about so far (including those outside this conversation).

Hi @ddasilva , can you remind me what the PacketId() option is ? Thanks

Basically, you would define a field using the PacketId class, which has a similar interface to PacketField, but it also accepts a value. When a binary stream is parsed with a definition that includes a PacketId, the load() method will only return the subset of packets where the field corresponding to the PacketId has the value supplied.  This is how I interpreted @ehsteve's suggestion. Can you confirm @ehsteve?
For example, this definition would only return packets where the first field APID_SUBSPECIFIER has a value of 5. And when it finds such a packet, it is decoded with the rest of the definition provided here. If you have a different packet layout when APID_SUBSPECIFIER is 7, then you would define another packet using value=7 using a different set of fields that follow it.
pkt = ccsdspy.FixedLength([
     PacketID(name="APID_SUBSPECIFIER", value=5, bit_length=3, data_type="uint"),
     PacketField(name='SHCOARSE', data_type='uint', bit_length=32),
     PacketField(name='SHFINE',   data_type='uint', bit_length=20),
     PacketField(name='OPMODE',   data_type='uint', bit_length=3),
     PacketField(name='SPACER',   data_type='fill', bit_length=1),
     PacketField(name='VOLTAGE',  data_type='int',  bit_length=8),
     PacketArray(
         name='SENSOR_GRID',
         data_type='uint',
         bit_length=16,
         array_shape=(32, 32),
         array_order='C'
     ),
])

@ddasilva yes that is what I suggested. I worry that your example for PacketId is not versatile enough though. What if you need to check two fields in the packet to uniquely identify it?
Also do we want to make PacketId required? That would make the packet definition explicit in all cases even when just using APID. It does not need to become required right away. We could issue a warning in the next release that this is coming and add it to the release after that.

I'm a bit concerned that if we allow logical combinations of PacketId values, we'll get ourselves into a mess where we'll have to implement a small logic engine, and then risk having it creep into a small interpreter. This was what I didn't like about the second proposed solution in the original text of this issue. I think that if you want to do logic, it's fair to make you define it in python.
So, what I would propose to address this issue is implement just PacketId's if they work for @tloubrieu-jpl's use cases, and if they don't, then we'll also implement the dynamic_field_fun=fun option.
Making PacketId required in the long term for APIDs sounds reasonable, but maybe we should talk about this in a video call in the future to make sure we're clear about how this would work (all would be invited to attend).

Hi @ddasilva. Sorry for my late reply, I wanted to review our code more accuratelly but did not have time to do so, but I know the PacketId option will work in at least one of our case the Nischay is working on.
Thanks,
Thomas

Thanks, that's great @tloubrieu-jpl. Would it be possible for @nischayn99 to provide me with some test data, definitions, and example output (to the extent such is available)?

Hi @ddasilva , @nischayn99 can prepare VariableLength packets using PacketId which should work with a test binary file that we'll send along. That should be done by the end of week.

Hi @ddasilva , sorry for the long delay here.
After looking at our case, I am actually not sure if the PacketId will work for us.
In our packets we have a field called SCI0TYPE. When its value is 0x1, the packet structure is the metadata type. When it is different from 0x1 (0x2, 0x4, 0x8, 0x10, 0x20, 0x40) we have a different packet structure.
Do you think the PacketId option would work in this case ? I am asking because you said you don't want the value attribute to support a complex semantic, in this case that would be value != 0x1 or value in set(0x2, 0x4 ....).
Or maybe, we could consider a default packet structure (when there is no PacketId) and one which only applies where a PacketId is defined  and has a given value ?
As you suggested, we can organize a meeting to discuss that...
Thanks,
Thomas

Thanks for your confirmation. @tloubrieu-jpl  . I believe there is a way to support your use case without adding any other functionality. Can you do this?

Define a "decision packet" definition with this key field, followed by an expanding field
Define your two other full packet definitions, A and B
Loop through packet bytes using utils.iter_packet_bytes()

parse each packet bytes with the decision packet definition
check your condition on the result, and then reparse with A or B

In the interest of time and an ending summer internship, this might be the fastest solution to get you going before we come up with a more streamlined long-term implementation.

Thanks @ddasilva , this is finally much more simple that anything we elaborated in our current parser and in this ticket before, I like that. Thank you again for the pragmatic solution, that would cover all our cases.

By the way, we had a short prolongation of 60hours over 3 weeks of @nischayn99 internship.


[test-triage] sram_ctrl/{main,ret}:sram_ctrl_stress_all{,_with_rand_reset}

Hierarchy of regression failure
Block level
Failure Description
UVM_WARNING @<PHONE_NUMBER>3 ps: (uvm_reg_field.svh:1264) [UVM/FLD/SET/BSY] Setting the value of field "en" while containing register "sram_ctrl_regs_reg_block.readback" is being accessed may result in loss of desired field value. A race condition between threads concurrently accessing the register model is the likely cause of the problem.
Steps to Reproduce
GitHub Revision: 8cb25a6867
./util/dvsim/dvsim.py hw/ip/sram_ctrl/dv/sram_ctrl_main_sim_cfg.hjson -i sram_ctrl_stress_all \
    --build-seed<PHONE_NUMBER>0898561482658723926798947801831709189350919955228328310045202344042 \
    --fixed-seed<PHONE_NUMBER>9520020538065943561764986450042451907920781657771145504888113370195

The two changes made to this block between it passing and failing are https://github.com/lowRISC/opentitan/pull/23212 and https://github.com/lowRISC/opentitan/pull/23292 .
Tests with similar or related failures
The following also broke at the same time.

[ ] sram_ctrl/main:sram_ctrl_access_during_key_req
[ ] sram_ctrl/ret:sram_ctrl_access_during_key_req

This will be fixed once #23360 has been merged.

Closing as #22360 has been merged now.


[5.5] fix scheduling a non queueable job

This fixes the breaking change in https://github.com/laravel/framework/pull/21473 where onQueue() is called on a job that shouldn't be queued and thus it errors since the method isn't found.

Thanks for the fix, @themsaid! Took me a while to track this issue down after updating illuminate/console from v5.5.2 to v5.5.16.
Any idea when illuminate/console might get this fix? I see it's tagged in v5.5.19 of the framework but the console hasn't received a tag yet.


Price line label show on both axis

Lightweight Charts Version: 3.4.0
Steps/code to reproduce:
var series = chart.addLineSeries({
  color: "green",
  lineWidth: 2,
  priceScaleId: "left"
});

series.setData(
  data.map((row) => ({
    time: row.time,
    value: row.value * 10
  }))
);

var series2 = chart.addLineSeries({
  color: "red",
  lineWidth: 2,
  priceScaleId: "right"
});

series2.setData(data);

series2.createPriceLine({
  price: 98,
  color: "blue"
});

Actual behavior:
Price line label show on both axis
Expected behavior:
Price line show only on its axis
Screenshots:

CodeSandbox/JSFiddle/etc link:
https://codesandbox.io/s/price-line-show-on-both-axis-wo98u?file=/src/index.js:16149-16520

The issues is somewhere here. @thanhlmm would you like to provide a fix for that?

@timocov I will


Include additional steps on gh-pages deployment guide

Description

One of the support threads mentioned that when deploying to gh-pages it could be beneficial to include an extra step between steps 4 - 5 to create a gh-pages branch.

Also, it would be helpful to include a comment to our deploy workflow that npm ci requires a package-lock to run.

[x] I can submit a PR for this

Nice thanks for creating this. Just pasting my notes from this here too:
Based on feedback on Discord

Support thread: https://discord.com/channels/830184174198718474/992488097562509442

npm ci failed because repo didn’t include package-lock.json — add note to that effect

Also, would it be an idea to add (or make note of) the step that you must manually create a gh-pages branch? This wasn’t clear to me the first time around as it says in step 5 "Choose the gh-pages branch as the Source of your site and press Save." and it never says you should create it first 🙂

Some more comments: https://discord.com/channels/830184174198718474/846469231176056853/992368536934686741

It seems that when you push the GitHub workflow file (deploy.yml) you have to push again something on main branch, then and only then, GH will create the correct branch. After this you're able to selecto gh-pages branch into settings. Also GH creates a "pages-build-deployment" workflow, IDK why 🤔
The confusion is that I expected the gh-pages branch to be created immediatly after pushing the deploy.yml file


Console spam if server is offline.

Hello!
As the title says, the console get spammed with this http://pastebin.com/zgLa8tgD .
Any ideas?

Seems like you have ping passthrough on with some creepy forced hosts.

I solved the previous issue, but today I noticed this error showing in the console on player join -> http://pastebin.com/R0wa2tVt

First pastebin: No real error, its just something bungee waits for netty instead of fixing it themselves.
Second pastebin: Too many open files - you need to increase the server's open file limit, google it

Okay, I figured out how to increase this limit.
What should I set as the limit?

@xGioChR That error is caused by an obfuscated plugin which main class is called wl (look bungee.yml / plugin.yml with a zip tool inside your plugins jars)


Show menu about the relevant page on WhatLinksHere etc.

Fixes #18
This will require mediawiki.Title added as a dependency.

This will require mediawiki.Title added as a dependency.

MoreMenu.import.js needs updating, which I can handle. The bigger problem here though is we now have to update all the production gadget definitions across ~50 wikis, but fortunately I've got the rights to do it, and I believe we can update the definitions first without side effect.


feat: add commands in readme to setup locally

Description
I provide some commands ,by applying which the project get setup locally
Fixes # 1176

@microsoft-github-policy-service agree

i agree with the agreemnet and i am contributing on behalf of myself

fixes #1176


Add hardhat support

EVMts uses solc. User should be able to use hardhat if they choose to for their compiling needs.

Moving to linear


kernel: read/write messages >2GB

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?
go version go1.6 darwin/amd64

What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/sergeyvidyuk/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT="1"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"

What did you do?
https://play.golang.org/p/wBCOUuRZeT
Doesn't work in playground at all. Please run locally.

What did you expect to see?
500M elements in int64 slice

What did you see instead?
write tcp <IP_ADDRESS>:50186-><IP_ADDRESS>:50187: write: invalid argument
read tcp <IP_ADDRESS>:50187-><IP_ADDRESS>:50186: read: invalid argument

I don't understand what you are trying to do, but I guess, if you want to read and write a bit large chunk per socket IO system call, you need to modify the kernel implementation. FWIW, there are sort of soft and hard limits; see kern.ipc.sorecvmincopy and friends.

See https://github.com/opensource-apple/xnu/blob/10.11/bsd/kern/uipc_socket.c#L2957. Closing, there is nothing we can do about it.

Would it be possible for Go(net or encoding/binary) to break message down to 2GB chunks during reads/writes. Maybe ReadFull can be relaxed and made incremental ?

You could do that yourself. The data sizes you are dealing with are unreasonably large for a single operation, and if you expect to handle items like that you should design your software not to lock down so much memory in a single call. Use a streaming design instead.

In the os package we cap reads and writes at 1GB on Darwin and FreeBSD.  See issue #7812 and https://golang.org/cl/89900044.  This issue is essentially the same as #7812, only for the net package rather than the os package, and we could fix it the same way.  Reopening.

@ianlancetaylor,
Just for clarification, I'm still unclear what you mean by "the same way", because unlike IO operation to filesystem, there are various characteristics of the underlying protocols for socket IO operation. Are you suggesting to introduce sort of chunk split layer not only into read/write on byte stream protocols but into datagram protocols? Or just for byte stream protocols?

That's true, it seems fairly clear that we should only do it for TCP, not UDP.  Fortunately, I think we have that information in the Read and Write methods in net/fd_unix.go.

I remain unconvinced of the value of lifting the limit.


ceph/daemon:latest tag no longer exists

Not sure why, not in the automated build log either. Trying to provision containers with your latest ansible kit and can't seem to do it because of this.
Thanks for fighting the good fight. :)

See #278 and #310
Basically, we don't know what to do about latest right now.  Choose an OS-and-release tag, and things will be safer for you, anyway.

ok, that makes a lot of sense WRT krbd and friends. Thanks for the heads up.

My bad I removed the tag latest yesterday, I just created one that points to build-master-jewel-ubuntu-14.04

thanks @leseb!


Web UI notification

Hi,
I'm wondering if there is an API to show the ACAP app's custom notifications for the user on the Web UI?
There are standard notifications like below but I didn't find a way to reuse them for custom notifications of my application.

Thanks.

This is not something we are currently supporting. The camera WebUI is somewhat limited in scope and focused around installation and initial configuration of the device. Commonly ACAPs include their own UI where these types of notifications can be displayed, alternatively rely on the event framework for sending notifications. Check the ACAP developer pages for more information on how to include configuration UI for your ACAP.

Got it, thanks.


Add option to only send failures

In our use-cases, we're not interested in looking at successful test cases (and being billed for them), so we'd like an option to only send failures to the API.
This PR also fixes the fake_example helper that was ignoring the status argument and always creating failing examples.
I've tested this in our org and confirmed that it indeed only sends failed tests.

@francoiscampbell Out of product-and-pricing curiosity, is the “and being billed for them” aspect the only significant downside to uploading all tests including those that passed? Or are there other reasons too?
There's a lot of value that we can today and will in future offer that relies on full awareness of the test suite (for example, flaky test detection needs to see that a test passed and failed without code changes in between). We'd love to get more feedback on how pricing fits into that. Perhaps we can can get in touch privately to get your thoughts?

After discussing with the Buildkite Test Analytics team, this option isn't compatible with the roadmap for the product.


feat(admin): getL1ToL2MessageByTxHash(l1DepositTxHash)

Description
added getL1ToL2MessageByTxHash(l1DepositTxHash), essentially letting devs fetch L1ToL2Message via SourceHash
Metadata

adds extra functionality requested in #204

Sorry for the delay here. This is looking pretty good!
A few suggestions for the high level architecture

A single instance of the indexer ideally should handle all chains (not 1 chain per indexer).
The indexer should be initialized at the orchestrator for ALL chains.
The indexer instance is passed to the opsim, where it listens to events for a specific chain.

I think both the admin endpoint and the opsim should query the indexer (not the store manager).
This provides better separation of responsibility because the only one that is in charge of managing the lifecycle of the indexer, and opsim / admin only use it on a readonly basis. This is similar to the approach for the l2 to l2 indexer.
Will leave comments on specific lines for this!


Running sync causes lockfile parsing error

Hi,
I've tried running this crate on several popular crates and it works for some of them, but I also had issues.
For some crates, serde_json.1.0.48 for example or the latest tokio I get this error:

Caused by:
  failed to load pkg lockfile

Caused by:
  failed to parse lock file at: /home/algirdas/crate_data/serde_json/serde_json-1.0.48/Cargo.lock

Caused by:
  invalid serialized PackageId for key `package.dependencies`

Any ideas?

I'd expect those errors if the version of cargo that we depend on isn't up to date, but I checked and we are requiring 0.42.0 which is the latest version.
Are you running the latest version of cargo-local-registry?

You can use the following to see the version:
cargo install cargo-update
cargo install-update --list

Thanks for the fast reply.
I've run these command just now and yes I am up to date. 0.2.0

Looks like we had a merge about 1 month ago to upgrade the cargo dependency to 0.42.0, but we haven't had a release yet.
I will have to do a release - that could solve it.
Not sure when I'll fit that in though - not today for sure.

Is it fixed now? I got the same error. My cargo version is 0.42.0.

No - I still need to do a release. Perhaps I will find time this long Easter weekend. I will report back on this issue when it is completed.

Release is done. Please confirm that this resolves the issue.


onLayout and .measure doesn't work for nested Text components

Description
onLayout and .measure doesn't work for nested Text components
Reproduction
Link to demo: https://rnplay.org/apps/rSlYMg
Let's say we have next layout
<View>
  <Text onLayout={this.onRootTextLayout}>
    <Text onLayout={this.onChildTextLayout}>Text</Text>
  </Text>
</View>

onLayout for the first (outer) Text works as expected. But it doesn't work for the second (nested) component.
The same for the .measure method.
<View>
  <Text ref={el => this.rootText = el}>
    <Text ref={el => this.childText = el}>Text</Text>
  </Text>
</View>

// ...

// Works as expected
this.rootText.measure((fx, fy, width, height, px , py) => console.log('rootText offset top:' + py));

// Doesn't work. Always show 0.
this.childText.measure((fx, fy, width, height, px, py) => console.log('childText offset top:' + py));

Additional Information

React Native version: 0.38
Platform: both
Operating System: MacOS

please read this doc to understand how nested text works.
https://facebook.github.io/react-native/docs/text.html#nested-text
I don't think that's a bug

please read this doc to understand how nested text works.
https://facebook.github.io/react-native/docs/text.html#nested-text
I don't think that's a bug

Had that problem before, fixed it by adding collapsable={false} on the element you want you measure, in you case try adding it to the view. BTW i had that issue only on Android.
Hope it helps :)

Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally!
If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:

Does the issue still reproduce on the latest release candidate? Post a comment with the version you tested.
If so, is there any information missing from the bug report? Post a comment with all the information required by the issue template.
Is there a pull request that addresses this issue? Post a comment with the PR number so we can follow up.

If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution.

I 've encountered the same problem. Does anyone know how to solve it? It's important for me to nest text in a parent text and get its position.

@Mobile-Mike Text doesn't have collapsable prop as view does. That's what the problem is.

@maslianok Have you solved the issue at last? I'm having the same problem now.

Same here

I also stumbled upon this issue. I get why it's not working, since nested text components are concatenated. But I really need to know the position of a nested text since I wan't to decorate it with an icon...


Intial Developement for SDK

Intial setup for the package so, that we can make further developement on that.
Tasks

[x] Boot a repo: github.com/datopian/ckan3-py-sdk. **Done -- repo here
[x] Stub the README with e.g. what we have below **Done -- read file
[x] Write a first failing test e.g. just the first part of upload which is authz request.

[x] Make it pass. **Done -- authz request test commit link

[x] Do github actions so we have CI **Done -- actions .yml file
[x] Start doing more tests **Done -- tests for authz and upload api here

Some other quick feedback:

[x] If github actions done please add badge on front page
[x] have you had  anyone else try this
[x] do we have a python package (setup.py etc) so we can publish on pypi (later) - i imagine something like ckan-client
[x] README seems a bit too focused just on versioning - i would frame this as a generic "CKAN 3 SDK for CKAN instances with CKAN v3 style cloud storage (see https://tech.datopian.com/blob-storage/)"
[x] rename Tests section to Developers and add instructions on running the tests.
[x] Is README up to date e.g. Instal section mentions setup.py but i don't see one ...

[x] Is getting started actually correct?

@rufuspollock can you have a look, please.

@uwaheed88 what should i look at exactly? And in general, can you have PRs so i can review ...
Regarding issue structure: tasks are good and could you add acceptance and short description as per https://playbook.datopian.com/issues-tasks/#creating-issues

Some other quick feedback:

[ ] If github actions done please add badge on front page
[ ] have you had  anyone else try this
[ ] do we have a python package (setup.py etc) so we can publish on pypi (later) - i imagine something like ckan-client

@uwaheed88 for me reviewing updates on issues, please

copy checklist items back into description (e.g. from my comment) - i did not do this so my feedback was clear. Howeve ryou want those items in description so one place for all tasks
update check list items as per https://playbook.datopian.com/issues-tasks/#completing-tasks - and if you are not clear on that please say. specifically i expect a short bolded comment on a task explaining what you've done so that i can do review really quickly.

As an illustration, you've checked:

[ ] If github actions done please add badge on front page

however, i can't see that badge on front page ...

Does that mean its in PR?? Not done, a confusion.
Also why is PyPI package failling?

FIXED. All done - see also #6 (fixed).


🚀 RELEASE: updates for release v0.13.2

This sets up the release for 0.13.2

I just made a release with these commits in it as well, so closing this one!
ref: #391


fix(collection): add options validation

Fixes NODE-1671
This PR builds off of the recent options validation changes, which will be incorporated into next after the last PR (#1848) is merged.

With the last commit, I added tests for validationLevel: 'none' and changed the behavior of validate so it throws an error when a required option is missing, regardless of validationLevel.

Closing this so we can look at a cleaner PR.


Added profile and privacy policy route

The new links don't work, they're giving me an internal server error


Add localization provider after built-in providers

On a customer project, a Commerce solution, there was an issue where loading the editor UI issued thousands of SQL queries to get individual translation resources.
I found that ShellInitialization adds its EmbeddedXmlLocalizationProvider's to ProviderBasedLocalizationService, after the DbLocalizationProvider has added itself. So every time the UI needs an embedded resource, it will first attempt to load it from DbLocalizationProvider.
Would it be possible to add DbLocalizationProvider after EmbeddedXmlLocalizationProvider?

hey, this is the latest commerce, right?

These are some of the package versions I am currently using:

DbLocalizationProvider.EPiServer: 8.1.5
EPiServer.CMS.UI: 12.31.1
EPiServer.Commerce.UI: 14.24.0

btw, can you share you setup code? are you calling explicitly services.AddEmbeddedLocalization<...>() before adding LocalizationProvider ?

Seems to work fine, if I add .AddOptimizelyAdminUI() to services.AddDbLocalizationProviderAdminUI().
Thanks.


Fix exception whenever user access unknown realm

to fix #217

I think there should be calculated unknown realm but it depends on provider that can not be calculated for unknown realm...

Thanks!


Console warning when setting clickable property to CSS selector

Vue2-dropzone Version: #.#.# (npm list --depth=0<EMAIL_ADDRESS>Node Version (node -v): v8.4.0
NPM Version (npm -v): 5.3.0
OS: Ubuntu 17.04
Vue version<EMAIL_ADDRESS>
Description:
I have a Vue-Dropzone component and a separate upload button for initiating the upload. According to the documentation, the clickable property takes either a string or a Boolean argument:

Whether the dropzone area is clickable, if false then users can only drag items
on to the area. Can also accept a CSS selector of an element that will open the
file dialog when clicked.

My component has:
<dropzone
    id='dropzone'
    :url='url'
    :headers='headers'
    :accepted-file-types='".doc,.docx"'
    :auto-process-queue='true'
    :use-font-awesome='true'
    :max-number-of-files='1'
    :clickable='"#upload-button"'
  </dropzone>

However, while this does work I get a warning on the browser console:
[Vue warn]: Invalid prop: type check failed for prop "clickable". Expected Boolean,
got String. Found in
---> <Dropzone>
   <ElCol>
     <ElRow>
       <LoadSourceDocument> at app/javascript/packs/components/load-source-document.vue
         <App> at app/javascript/packs/App.vue
           <Root>

Steps To Reproduce:
Create a Dropzone component as above.

Same problem, also get these

[Vue warn]: Error in mounted hook: "Error: Invalid clickable option provided. Please provide a CSS selector, a plain HTML element or a list of those."

Error: Invalid clickable option provided. Please provide a CSS selector, a plain HTML element or a list of those.

@ijdickinson @SergioReis97 Thanks for pointing. I'll look into it!

@ijdickinson @SergioReis97 Everything is working as expected in my case.
Specifically for @SergioReis97, Verify whether your html element exist with provided selector. The error occurred in your case is due to not getting the element with specified html selector

I've tried placing the selector on the navbar and it does trigger the file upload action but still got the errors on console

Is your selector is outside of the component in which dropzone is imported?

The navbar yes, but the button is above it directly, like this
<button class="btn btn-primary btn-clickme">Click me to browse Files </button>
<dropzone clickable='".btn-clickme"'....></dropzone>

@SergioReis97 Really weird! Even though making change like yours it works for me!

I even tried putting the button in the index.html file that to make sure the button exists when dropzone tries to query it but no efect. Maybe a possible solution could be using slots for some of those props.
For example
<template slot="clickable" >
   <button class="btn btn-primary">Click me to browse Files </button>
</template>

And even for the language props this slotting could be usefull in case someone wants a more complex message.

@SergioReis97 Check this example which works perfectly for me.

Same problem, also tryed with ok as false and then on mounted function making ok true and still same errors.

Hi folks,
Version 3 is now released. Check out the new docs for more info.

We still get this error when unittesting using jest. The clickable element is in a different component. Any idea how we can fix this?


Storage Classes created in Kubectl cannot be set as default in the UI

Rancher versions:
rancher/server or rancher/rancher: v2.0.7
rancher/agent or rancher/rancher-agent: v2.07
Steps to Reproduce:
Create a storage class

Go to the storage class

in the UI attempt to set as default
Results:
Default is not set

I have the same problem on v2.1.0 using nfs-client


Fix of item 2 of issue 254

Previous PR #273 can not be reopened, so I re-create a new one here after fix problem when dealing J2735's ASN file.
If the type of a field of information object set is imported from other module, then modify corresponding parameter to reflect the fact.
For the case stated in item 2 of #254, there are two RepeatRate defined in different modules, i.e.
TCICommonTypes.asn and IEEE-1609-3-WEE. So a suitable prefix using module name should be added to distinguish between them and two files, i.e. TCI-CommonTypes_RepeatRate.c and IEEE-1609-3-WEE_RepeatRate.c, are generated.
For module IEEE-1609-3-WSA, it import RepeatRate from module IEEE-1609-3-WEE. So
static const asn_ioc_cell_t asn_IOS_SrvAdvMsgHeaderTCI-CommonTypes_RepeatRate.h` and  `IEEE-1609-3-WEE_RepeatRate.c` are generated.ExtTypes_1_rows[] = {
	{ "&extRef", aioc__value, &asn_DEF_RefExt, &asn_VAL_1_c_RepeatRate },
	{ "&ExtValue", aioc__type, &asn_DEF_RepeatRate },
...
	{ "&ExtValue", aioc__type, &asn_DEF_AdvertiserIdentifier }
};

should be :
static const asn_ioc_cell_t asn_IOS_SrvAdvMsgHeaderTCI-CommonTypes_RepeatRate.h` and  `IEEE-1609-3-WEE_RepeatRate.c` are generated.ExtTypes_1_rows[] = {
	{ "&extRef", aioc__value, &asn_DEF_RefExt, &asn_VAL_1_c_RepeatRate },
	{ "&ExtValue", aioc__type, &asn_DEF_IEEE_1609_3_WEE_RepeatRate },
...
	{ "&ExtValue", aioc__type, &asn_DEF_AdvertiserIdentifier }
};

Starting from 3GPP release 11, there are also duplicate type names MobilityInformation defined in module S1AP-IEs and in module SonTransfer-IEs of 36.413 (S1AP) which suffer from this problem. There is error message when compiling with SonTransfer-IEs module along with other major S1AP modules.
ProtocolExtensionField.c:277:31: error: ‘asn_DEF_MobilityInformation’ undeclared here (not in a function); did you mean ‘S1AP_IEs_MobilityInformation_t’?
  { "&Extension", aioc__type, &asn_DEF_MobilityInformation },

Applying this pull request, the generated code become :
	{ "&Extension", aioc__type, &asn_DEF_S1AP_IEs_MobilityInformation },

thus solve S1AP's compilation problem.

Coverage increased (+0.02%) to 71.138% when pulling f97fac41f9110ea64a6e4005c3298a4648a719f4 on brchiu:fix_of_item_2_of_issue_254 into 4cc779fd9bd7f556699b5863cf111b359da10b66 on vlm:master.


pdf's are unreadable

reading downloaded pdf is unreadable
many pages are unreadable and a wasteful
Steps to reproduce the behavior:

Go to https://docs.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-
Click on "Download PDF"
Scroll down to page 36 onward for thousands of pages.
letters scrolled down on left and right of each page.

Screenshots

Desktop (please complete the following information):

Windows 10 Pro
Chrome, firefox]
84.0.4116.5, 75.0

still no improvement.

@Bubbasd I can't reproduce step 4.


Update to 3.3.6

Bootstrap released version 3.3.6 on November 2015 and this versions (probably the last one of version of 3.3.6 is adding relevant bugfixing.
It would be so valuable to update bootstrap-rtl consequently.
@morteza: as user i'm finding really interesting the approach of @bright in (https://github.com/bright/bootstrap-rtl) that seems to me to make the project more maintainable and also usable from the user perspective; what if you join the effort if we all join the effort in a single project?

Although I'm not using bootstrap anymore, I'm supporting any kind of mutual work.
bright's project seems promising and also kinda more robust an idea. I'll add a link to this fork to the readme file.
Let me know what your plan is for bt4.0.

What about instead make me and @bright contributors of the repository so that we can contribute in finalizing here the support for the benefit of the other users? :)

obviously @bright: what is your thinking about?

It would be great to see others pitching in here. While it's unfortunate that BS doesn't include RTL by default, I think this project overcomes that difficulty.
Personally I have seen some issues using this as a drop-in replacement with bootstrap due to the version mismatch with the latest bs release (as well a delayed npm release). Im sure there many here who can pitch in a bit and get the ball rolling - if only they had access.

You can however submit a pull request, and I will merge it to this repository. It seems just fine for this kind of contributions.

To save you all some work: Im quite happy with the approche taken in https://github.com/zeroxme/bootstrap-3-arabic. It is easer to include, and totally up to date.

thanks @mbrevda

ah no @mbrevda but this is not the design i'm hoping to have.
this is a complete somehow rewrite of bootstrap, that would require maintainence and requires the user to load one or the other;
i like totally more the approach of @bright / @NOtherDev

I'm too pretty sure some other approaches and also teamwork improve what we already have. Though consider how harder its maintenance would be here in a personal account (I'm a little bit short of time).
However, I suggest forking this project somewhere else to an organization account, so we all can contribute without the hassle of owner-must-keep-the-project-alive. Let me know if it works for you, and create an organization for further plans...

sure this can work for me also;
@MahdiMajidzadeh @iamsamzahedi @mojtabakaviani @mohsengituser what do you also think?

personally i've avaluated to switch simply using https://github.com/MohammadYounes/rtlcss that is working quite well!

This is pretty cool an idea, I'm in for a project that RTLize all frameworks. To be honest, I'm not using Bootstrap anymore (I'm using SemanticUI right now), and it seems RTL issues can be solved for all of the UI frameworks at once in a single project.

I don't got it, what want to do??
I think best idea is create an organization in github and put rtl version of popular framework in it
any body interested?


Getting below issue while initializing ios app

CONSOLE LOG file:///app/app.component.js:29:20: tabLoaded
CONSOLE ERROR [native code]: ERROR TypeError: undefined is not an object (evaluating 'this.parent.get')

Hi,
Could you provide your code please, like this I will be able to reproduce the error and fix it!
Thanks

Its the same code base of demo, i just changes the dependency to 3.0.0

Can't reproduce the issue with the latest version of package


Can't Escape Regexes in Logstash Query

Hi,
I would like to get an information about all response codes that are different than 200.
Currently I'm using "lscount" method as described, for each response code (example for 500):
lscount("logstash", "_type:access-log,", "response:500", "1m", "15m", "")
Creating directly ES query I can use "must_not" or "query": "_type:access-log  AND NOT response:200" to get information about response codes that are different than 200.
I've noticed that it's not possible to use "query" as an argument in lscount method.
Please advise me, what options do I have.
Thank in advance!

After the : is a ES style regex. I don't have the time to look up the exact
syntax right now, but I imagine you might be able to do something like
[1345]00
On Thu, Nov 12, 2015 at 7:52 AM, DanKans<EMAIL_ADDRESS>wrote:

Hi,
I would like to get an information about all response codes that are
different than 200.
Currently I'm using "lscount" method as described, for each response code
(example for 500):
lscount("logstash", "_type:access-log,", "response:500", "1m", "15m", "")
Creating directly ES query I can use "must_not" or "query":
"_type:askint-access AND NOT response:200" to get information about
response codes that are different than 200.
I've noticed that it's not possible to use "query" as an argument in
lscount method.
Please advise me, what options do I have.
Thank in advance!
—
Reply to this email directly or view it on GitHub
https://github.com/bosun-monitor/bosun/issues/1456.

Thanks for replay. It might be something:[300 TO 600] syntax. Unfortunately it won't work with Bosun plugin:
SearchParseException[[logstash-2015.11.16][18]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"aggregations":{"g__type":{"aggregations":{"ts":{"date_histogram":{"field":"@timestamp","interval":"1m","min_doc_count":0}}},"terms":{"field":"_type","size":0}}},"query":{"filtered":{"filter":{"and":{"filters":[{"regexp":{"_type":"access-log"}},{"regexp":{"response":"[500 TO 510]"}}]}},"query":{"range":{"@timestamp":{"from":"2015-11-16T16:28:55.320405221Z","include_lower":true,"include_upper":true,"to":"2015-11-16T16:43:55.320405221Z"}}}}},"size":0}]]]; nested: NumberFormatException[For input string: "[500 TO 510]"]; }

It is because it uses regexp in filters:
filters":[{"regexp":{"_type":"access-log"}},{"regexp":{"response":"[500 TO 510]"}}]}}
Normally using for example kibana it creates:
        "bool": {
          "should": [
            {
              "query_string": {
                "query": "_type:logs-access AND response:[300 TO 510]"
              }
            }
          ]
        }
      },```
I think I will go in this way and try to create some regexp to cover this case.
Thanks!

I think this is a problem with escaping. The [] need to be escaped according to allowed characters in: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html.
Triple single quotes lscount("haproxy", '''ResponseCode:\[234\].*''', "", "15m", "15m", "") results in:

Single Double Quotes:

Single Double Quotes with Double Escape:
lscount("haproxy", "ResponseCode:\\[234\\].*", "", "15m", "15m", "")

So it seems like there is no way to escape the string - maybe a problem in our lexer, json encoding, or the interaction between the two?

Looks like the config parser correctly escapes "\\[" to \[, but when encoded to json, it gets "re-escaped" to \\[ again. A bit tricky to fix.

Closing due to:
https://docs.influxdata.com/influxdb/v0.13/troubleshooting/frequently_encountered_issues/#single-quoting-and-double-quoting-in-queries
http://bosun.org/expressions#notes


Issue with encoded query string in URL

I'm having an issue with encoded ampersand (&) signs within a query string URL not being picked up by the MVC routing.
I have a URL sent via an email like so:
/Register/Confirm?userId=9ce93db9-9488-4bb3-975b-11bb9f44a43a%26code=zn0qHewNVpYQdQml50StPFrkUi5hu%2FuR7Nm2VvfFjdiLU7Go%2Ffp%2BHu7vQOMOhPqltYX2L%2Bi6sPk7JNsBxXvo2p0Fg4rDjTz9VRQRxE%2F9aL2drfjdru9QUhqaCL0YIZLsNsh0hb894N4kvC8n85ANfeopj9uYzwTtQFTM2WAi9tquUmpZ6vNQLzoMTxLxJoO%2B3

OR
/Register/Confirm?userId=9ce93db9-9488-4bb3-975b-11bb9f44a43a&code=zn0qHewNVpYQdQml50StPFrkUi5hu%2FuR7Nm2VvfFjdiLU7Go%2Ffp%2BHu7vQOMOhPqltYX2L%2Bi6sPk7JNsBxXvo2p0Fg4rDjTz9VRQRxE%2F9aL2drfjdru9QUhqaCL0YIZLsNsh0hb894N4kvC8n85ANfeopj9uYzwTtQFTM2WAi9tquUmpZ6vNQLzoMTxLxJoO%2B3

Which both get recorded within the HTTP request log as:
/Register/Confirm?userId=9ce93db9-9488-4bb3-975b-11bb9f44a43a&code=zn0qHewNVpYQdQml50S

However with a controller route parameters like such OR a view model, it doesn't pick up the 'code' parameter.
[Route("/Register/Confirm")]
        public async Task<IActionResult> ConfirmEmail(string userId, string code)

I'd expect this to work however the entire value is dumped within userId and code is always empty. However if i use a url as such:
/Register/Confirm?userId=9ce93db9-9488-4bb3-975b-11bb9f44a43a&code=zn0qHewNVpYQdQml50S

as the direct request, no encoding on the ampersand (&) the request goes through fine, unfortunately this isn't do-able within an email link and I would expect the encoded version of this link to work fine as well..
What's going on here? This has only been happening since upgrading from AspNetCore RC 1 to Release 1.1.2.

Why are your ampersands escaped in the url? Escaped separators are supposed to be ignored when parsing, that's what allows them to be used in values.  The & escaping doesn't make sense in a url, that's HTML escaping.
Are you showing the url as captured by a tool like fiddler?

Hi Tratcher, I tried both URI escaping and HTML escaping but had the same result. I can see the capture from within Visual Studios debugging HTTP request however the encoding and ampersand is ignored and doesn't recognise the separate parameters. As I said before this used to work fine in RC so something has changed here?
Originally we used to use the annotation of [FromUri] within the action parameters however I'm aware this has been removed in NetCore now and can no longer be used, this could be the source of change from my perspective.
How else am I suppose to handle URL strings coming via another source/email to pass parameters within my NetCore MVC project?

This is really a round trip problem. You need to send the url to the client as HTML, but get it back as a url. It's appropriate to use HTML escaping when you send it to the client. However, the client should be un-escaping that value and sending the raw & in the request url. Your real issue here is the client failing to un-html-escape the link text.

This issue is being closed because it has not been updated in 3 months.
We apologize if this causes any inconvenience. We ask that if you are still encountering this issue, please log a new issue with updated information and we will investigate.


⚠ deces.matchid.io search API has degraded performance

In 602d993, deces.matchid.io search API (https://deces.matchid.io/deces/api/v1/search?q=pompidou) experienced degraded performance:

HTTP code: 200
Response time: 2012 ms

Resolved: deces.matchid.io search API performance has improved in 9141e97.


[JS][Accessibility] [ac-horizontal-separator does not set "aria-hidden" to true]

Platform

[ ] JavaScript

Author or host
We are using JSRenderer to render Adaptive cards
Version of SDK
Adaptive cards 2.5.0
Details
JSRenderer is adding "ac-horizontal-separator" however it does not have "aria-hidden" property set as true which results into readers are reading this empty div which is not required to be read by reader.

@niravk-microsoft I am not able to repro this. "aria-hidden" is already correctly set to true in the 2.5 release (and that was already true in 2.4 IIRC):

Yes true. Actually we were using 2.4.0 version. with 2.5.0 its working and hence closing this now.


SteamVR Room Setup not working

Describe the bug
When i start the room setup, an empty window appears and disappears directly.
When i have started Steam from terminal, i see this output:
Found path: /home/davidak/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/steamvr_room_setup
Mono path[0] = '/home/davidak/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/steamvr_room_setup_Data/Managed'
Mono path[1] = '/home/davidak/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/steamvr_room_setup_Data/Mono'
Mono config path = '/home/davidak/.local/share/Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/linux64/steamvr_room_setup_Data/Mono/etc'
Preloaded 'ScreenSelector.so'
Preloaded 'libopenvr_api.so'
LuaDbg - Debugging stopped
CSteam3Client::Shutdown

Steps To Reproduce
Steps to reproduce the behavior:

Start Steam
Start SteamVR (with HMD connected)
Start Room Setup from SteamVR settings

Expected behavior
Working Room Setup
Additional context
It worked in 2019: https://chaos.social/@davidak/102414382682090253
Tested with current, beta and old version.
GPU: AMD RX 6600 XT
Driver: AMDGPU
Upstream issue: https://github.com/ValveSoftware/SteamVR-for-Linux/issues/458
Notify maintainers

Metadata

system: "x86_64-linux"
host os: Linux 5.15.43, NixOS, 22.05 (Quokka), 22.05.714.e5556c75ac0
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.8.1
channels(root): "home-manager-22.05.tar.gz, nixos-22.05, nixos-hardware, nixos-unstable"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

It's been working just fine for me on unstable for as long as I can remember.

Played Beat Saber just yesterday.


Just for testing

There is this weird crash on iOS when the wifi hotspot (of Herelink, not on the iOS device) is stopped. Not when e.g. mavlink-router is stopped, but really when the wifi hotspot is stopped. I don't get what and can't manage to get a good stack trace.
I have no clue how the wifi connection would be related to a crash (mavsdk_server receives datagrams over UDP, it should not care about the wifi connection at all).
Anyway, I am wondering if maybe there is something in the gRPC server. This is completely a guess, I want to see what happens if the gRPC server only accepts localhost connections.

That's not it, but it was worth a try :(


[Enhancement] Migration to gradle-experimental

Why using gradle-experimental?

enables easier (integrated within Android Studio) C++ debugging
from my experience, without gradle-experimental, Android Studio 2.0 does not have C++ support (code Structure/Outline, refactor, find usage, ...), whereas Android Studio 1.5 did.

Below is a app/build.gradle file with gradle-experimental support for cpp_hello_motion_tracking_example. I am not a "gradle expert", my proposition is probably not the best. If you are interested and if you validate, I can make a pull-request.
Note there are other files to modify in order to use gradle-experimental, as explained here.
apply plugin: 'com.android.model.application'

model {

    repositories {
        libs(PrebuiltLibraries) {
            tango_client {
                headers.srcDir "../../tango_client_api/include"
                binaries.withType(SharedLibraryBinary) {
                    sharedLibraryFile = file("../../tango_client_api/lib/libtango_client_api.so")
                }
            }
        }
    }

    repositories {
        libs(PrebuiltLibraries) {
            tango_support {
                headers.srcDir "../../tango_support_api/include"
                binaries.withType(SharedLibraryBinary) {
                    sharedLibraryFile = file("../../tango_support_api/lib/libtango_support_api.so")
                }
            }
        }
    }

    android {
        compileSdkVersion 19
        buildToolsVersion "21.1.2"

        defaultConfig.with {
            applicationId "com.google.tango.hellotangojni"
            minSdkVersion.apiLevel 19
            targetSdkVersion.apiLevel 19
        }

        ndk {
            moduleName  = "cpp_hello_motion_tracking_example"
            cppFlags.addAll(["-std=c++11", "-fno-rtti", "-fno-exceptions"])
            ldLibs.addAll(["log", "GLESv2"])
            stl         = "stlport_static"
        }

        sources {
            main {
                jniLibs {
                    dependencies {
                        library "tango_client"
                        library "tango_support"
                    }
                }
                jni {
                    dependencies {
                        library "tango_client"
                        library "tango_support"
                    }
                    source {
                        srcDir "src/main/jni"
                    }
                    exportedHeaders {
                        srcDir "src/main/jni"
                    }
                }
            }
        }

        buildTypes {
            release {
                minifyEnabled false
                proguardFiles.add(file('proguard-rules.txt'))
            }
        }

        productFlavors {
            create("arm7") {
                ndk.abiFilters.add("armeabi-v7a")
            }
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

So excited to see you are dealing same issue. I created a gradle files similar to yours. Yet, I constantly get error "Failure [INSTALL_FAILED_INVALID_APK]". I checked the apk files generated, and found out it's likely that the .so files such as tango_client and opencv-java3 etc are not complied into the apk. Still exploring, but want to throw this out and see if anybody has similar issues.


Move the SEED_CLASSES constant into the correct scope.

Currently the comfy:cms_seeds:import rake task fails if you do not specify classes as the default classes are not in the correct scope.

That doesn't sound right. Exporter using the same constant. Pretty sure tests will fail.
Something going on with constant lookup?

Yup, that constant lookup is failing (Rails <IP_ADDRESS> Ruby 2.3.7).
Sorry, did that a little fast and loose and missed the export class.

Apologies, I was a but hasty opening this PR as I had a nice monkey patch working in the console.
I'm now dog fooding my own patch through my own CI and still getting this failure, going to close this PR and resubmit once I have something working.
This has broken something between 2.0.17 and 2.0.18, I suspect this is because the rack task is passing nil as an argument to import! and so it does not use the defaults.

You know what. This is a bug. For some reason I always thought that constant lookup would go to the parent object.
I guess that only works for truly global constants that live in Object scope.

The constant lookup is not the only issue, the rake task passes nil as an argument regardless.
The lib seeds test fails to test passing nil to import!()
I've got a patch nearly ready, will submit once my CI environment starts co-operating.


Hebrew.no_taamim fails with "AttributeError: 'str' object has no attribute 'string'"

Trying this:
hebrew_text = "\u05d1\u05b8\u05bc\u05a3\u05d8\u05b7\u05d7 \u05d1\u05b8\u05bc\u05ad\u05d4\u05bc \u05dc\u05b5\u05a3\u05d1 \u05d1\u05b7\u05bc\u05e2\u05b0\u05dc\u05b8\u0591\u05d4\u05bc \u05d5\u05b0\u059d\u05e9\u05b8\u05c1\u05dc\u05b8\u0597\u05dc \u05dc\u05b9\u05a3\u05d0 \u05d9\u05b6\u05d7\u05b0\u05e1\u05b8\u05bd\u05e8\u05c3"
print (hebrew_text)
hebrew_text2 = Hebrew.no_taamim(hebrew_text, False, False)
print (hebrew_text2)

Error is this:

בָּ֣טַח בָּ֭הּ לֵ֣ב בַּעְלָ֑הּ וְ֝שָׁלָ֗ל לֹ֣א יֶחְסָֽר׃
Traceback (most recent call last):
  File "C:\GitHub\GetBible\CommonTransliterate.py", line 74, in <module>
    hebrew_text2 = Hebrew.no_taamim(hebrew_text, False, False)
  File "C:\GitHub\GetBible\hebrew\hebrew_obj.py", line 169, in no_taamim
    string = self.no_maqaf().string if remove_maqaf else self.string
AttributeError: 'str' object has no attribute 'string'

Same with:
hebrew_text2 = Hebrew.no_taamim(hebrew_text)
hebrew_text2 = Hebrew.no_taamim(hebrew_text, True, True)
Are you planning on adding a transliteration function?  I'm working on that now.
Thanks,
Neal

Ok, my mistake.  I didn't build an object from your class.  That seems kind of heavy.  Not sure why I can't just call a function.
The following works.  But please let me know if you are adding a transliteration function.
hebrew_text = "\u05d1\u05b8\u05bc\u05a3\u05d8\u05b7\u05d7 \u05d1\u05b8\u05bc\u05ad\u05d4\u05bc \u05dc\u05b5\u05a3\u05d1 \u05d1\u05b7\u05bc\u05e2\u05b0\u05dc\u05b8\u0591\u05d4\u05bc \u05d5\u05b0\u059d\u05e9\u05b8\u05c1\u05dc\u05b8\u0597\u05dc \u05dc\u05b9\u05a3\u05d0 \u05d9\u05b6\u05d7\u05b0\u05e1\u05b8\u05bd\u05e8\u05c3"
print (hebrew_text)
hebrew_obj = Hebrew(hebrew_text)
hebrew_text2 = Hebrew.no_taamim(hebrew_obj, False, False)
print (hebrew_text2)

Hi there,
I have looked at adding transliteration and recently got my hands on some source material that could help, but I haven't made much progress. I'm definitely interested in adding it.
If you would have any interest in contributing to that effort, that would be amazing and I would certainly welcome it. I'd also be happy to do any additional work that's necessary to add the feature so that you could focus on that, such as adding full unit testing to your functionality.
In general, the functionality as currently written in the class is not necessarily the most efficient. If you are working with very large amounts of text, you might be best off recreating some of the functions yourself.

As far as the correct way to use the class, try this:
`Hebrew(my_hebrew_str).no_taamim()

I wrote a crude transliteration that met my needs.  Do you want to talk more about it here, or somewhere else?
I was testing with Eshet Chayil (Proverbs 31) text that I got from a library called GetBible.
I had to reverse the order of some of the Nikudim to get it to work, for example the dot on the Shin had to come before the vowel or the other dagesh.
It cannot tell when a kamatz is an 'oh' vs 'ah'., and likewise cannot determine vocal vs non-vocal shva's.
Neal


Further storage optimizations

Altough storage is optimized via gzip, its possible to store more items in the sync storage.
For now we store the config as one item in the storage object. An item max size is 8kB, while snyc storage as a whole can save up to 100kB.
We could chunk the compressed config and save it distributed in multiple config item.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage/sync

not in scope for v1


Block specific roles from opening MM threads

A option to block roles instead of users.

Additionally, the opposite way where users need to have a specific role to message the bot would be ideal. (as per #572)


Scheduler Page - Duplicate schedulers are not allowed

Describe the bug
https://www.berrycast.com/conversations/40591996-e482-5676-b59c-3fb24b148b94

Duplicate scheduler are not allowed now By @mitulpanch


Rename Repo to CalibrateClimaAtmos or CalibrateMoistHeldSuarez

Could I be a kill-joy here are suggest the name CalibrateClimaAtmos because I expect folks may use this repo as somewhat of a template in future for calibration pipelines too; so starting a naming convention that scales would be a good idea.
Also i hate it ;)

One other note - do we envisage other test cases than Moist HS in this repo. If not then perhaps we could even rename to CalibrateMoistHeldSuarez

I would vote to delete this repo and at least initially put the calibration scripts in ClimaAtmos.
The benefits:

one less friction point with packages and releases
if ClimaAtmos API changes we will know immediately thanks to the CI

The drawbacks:

we will be adding tests to the ClimaAtmos CI, which is already long and large.

@nefrathenrici , @szy21 , @odunbar, @charleskawczynski - what do you guys think?

I'm open to baking in to ClimaAtmos.jl too.  Certainly there is lots of overheads and friction for a new repo.
I guess I can summarize my personal case for this repo as follows.

We have a clean workspace to develop in.
We are less synchronously tied to ClimaAtmos for development, I'm guessing we might push something every few days, or once a week, while CA is pushing many per day at times. I can imagine this will lead to a lot of rebasing to remain in touch prior to PR merges.
Our own development will be unaffected by any issues/changes in ClimaAtmos's presumably far more extensive CI pipelines
Maintaining our code will be easier when we can link to a version controlled  ClimaAtmos.jl, i.e. we can always have a working calibration setup with some vX.Y of ClimaAtmos. Upon any (but not necessary all) future breaking release Y+k of ClimaAtmos we can then choose to update to the new working version vX.(Y+k) at our convenience. If we were internal then ClimaAtmos releases would require our code to always be updated in line with this.

I personally don't know how important each of these issues are. I think maybe the best informed person here would be @costachris or others who worked on CalibrateEDMF?
@costachris could you tell us about your experience? Were you e.g. glad that CalibrateEDMF.jl was not part of TurbulenceConvection.jl during it's development, or were you frustrated by the lack of synchronization / amount of overhead when the calibration code was not part of TC?

I would suggest that we don't name it CalibrateMoistHeldSuarez, as this repo should be more general than only calibraing Held Suarez. In terms of whether it should be in ClimaAtmos or not, I agree that Costa would probably be the best person to tell:)

The anticipation... :)

As you all pointed out, the main consideration is CI and dealing with rapidly changing versions of the underlying model. In CalibrateEDMF, the biggest friction point for me was keeping up with frequent breaking changes in TC when it was being actively developed. Versioning in a separate repo made this more manageable since I could keep working with a compatible version of TC and deal with breaking TC changes at a less frequent cadence.  While it can be a nuisance to keep updating package versions in a separate repo, the benefit is that we can pin versions when upstream changes are not immediately essential for calibration.
As for CI, my understanding  is ClimaAtmos CI takes ~1hr to complete and running full calibration tests will be long by necessity, only adding to that.  This might also lead to situations where developers in CA have to deal with failing calibration tests, which doesn't seem ideal.
If I had to vote one way I would lean towards a new repo. Nevertheless if we want to start out with calibration scripts in ClimaAtmos then move to a separate repo when everything is settled, that also seems reasonable. This is especially true if we pin package versions within a calibration folder under CA or somehow keep the CI for that folder separate.
I don't have any opinions about the name :)

Thanks for the input everyone!
Hopefully folks are OK with the actions of:

Renaming to CalibrateClimaAtmos.jl
Continuing to develop in this repo. (@nefrathenrici who is primarily driving the work effort right now, also expressed interest in continuing here. )

Let's monitor as we go and draw lessons from this decision.

For now, I will continue to work in this repo - hopefully we can name it CalibrateAtmos.jl at some point.


rename xen (and Nocrypto_entropy_xen) to freestanding

supersedes #100.. the xen subdirectory and symlinks to the actual code are needed (at least I cannot convince oasis to copy files before doing anything else (tried with PreConfCommand)) -- for solo5 there will be another subdirectory and symlinks (another option would to keep those files in the xen directory, but that feels wrong as well)

alternative: atm zarith-xen and zarith-freestanding conflicts (since they both modify the META file of zarith to inject data, thus nocrypto is either build with xen or with solo5 --> we can just build in freestanding for both backends... but in the end, I'd like to have a mirage with both solo5 and xen at the same time.  opinions?

It would be brilliant to have a toolchain that supports both targets at once. And just removing duplicate {gmp,zarith}-{xen,freestanding} would be nice in itself.
Although I'm not sure that zarith-freestanding and zarith-xen conflict, as they append different sets of _linkflags to the file.
ATM I have no idea if gmp compiled against ocaml-freestanding would work on Xen. If so, it should be simple to add both sets of _linkflags to -freestanding and get rid of -xen versions.


AppCompat does not support the current theme features

When I build source with compileSdkVersion 22 , throw a exception : Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features.

please add in your style.xml
true

OK :+1:
Thanks.


Introduce HashQuote rule

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (8b843a1) to head (dcfd9c5).
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##                main      #217   +/-   ##
===========================================
  Coverage     100.00%   100.00%
- Complexity       609       627   +18
===========================================
  Files             55        56    +1
  Lines           1882      1931   +49
===========================================
+ Hits            1882      1931   +49

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


can we get a linux version (not android) ?

my android give submiturb error, and not rooted, I can't patch its kernel, so I want a linux version nxloader, exploit by linux pc. thanks!

Just use fusee gelee

Yup, or this :P
https://github.com/DavidBuchanan314/fusee-nano


closes #383

Codecov Report

Merging #527 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master    #527   +/-   ##
======================================
  Coverage    91.5%   91.5%
======================================
  Files          36      36
  Lines        2826    2826
======================================
  Hits         2586    2586
  Misses        240     240

Impacted Files
Coverage Δ

vent/api/plugins.py
92.2% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


chore: bdd-sbrp-import-1576804790 to 0.0.1

chore: Promote bdd-sbrp-import-1576804790 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Memory leak in LengthFieldBasedFrameDecoder

Expected behavior
Decoded frame should have reference count 1
Actual behavior
Decoded frame has reference count 2
Steps to reproduce
(see the code below)
Minimal yet complete reproducer code (or URL to code)
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.embedded.EmbeddedChannel;
import io.netty.handler.codec.LengthFieldBasedFrameDecoder;
import org.junit.jupiter.api.Test;

import java.nio.ByteOrder;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;

public class FrameDecoderTests {
  @Test
  public void write_twoPacketsInSingleWrite_frameHasCorrectRefCount() {
    var frameDecoder =
        new LengthFieldBasedFrameDecoder(ByteOrder.LITTLE_ENDIAN, 16777214, 0, 3, 1, 0, true);
    var ch = new EmbeddedChannel(frameDecoder);
    var packets = new byte[] {1, 0, 0, 0, 42, 1, 0, 0, 0, 43};

    ch.writeInbound(Unpooled.wrappedBuffer(packets));
    var frame = (ByteBuf) ch.readInbound();
    assertNotNull(frame);
    assertEquals(1, frame.refCnt()); // Assertion fails
  }
}

Netty version
4.1.73.Final
JVM version (e.g. java -version)
Temurin 11.0.13
OS version (e.g. uname -a)
Windows 11

Note that I am not very experienced with Netty, so if this behavior is considered normal, I'll gladly close the issue

Nevermind... the ByteBuf seems to be shared with the EmbeddedChannel, so calling finishAndReleaseAll brings the reference count down to one again.


Translate

Hello, do you want an german translation?

Sure

You might want to consider waiting until the 4.0 update. It adds and changes a lot of translations so your translations would be partially invalidated.

Okay

I have Portuguese Translate. Call discord DarcZera#4543


Feature request: Remove particleInit event listening when a component is destroyed

Hello, I encountered a memory leak while using tsparticles plugin.
Description
Switching the particle effect page, the particleInit event listener was repeatedly registered, which was not destroyed when the component was unmounted, and a memory leak occurred.
Environment
"@tsparticles/vue3": "^3.0.0",
"tsparticles": "^3.3.0",
"vue": "3.4.21",
Browser: Chrome 122
Reproduction
I use the particle effect component in the login page, and  log in -> Log out -> Log in -> Log out.  Checking the Event Listeners and Performance monitor, I find that the number of DOM Nodes and JS Event Listeners has been increasing and cannot complete garbage collection
*

https://github.com/tsparticles/vue3/blob/fdd086d0eb44eee5beed4acea4937d2e580956d3/components/vue3/src/components/vue-particles.vue#L23-L29
By searching the source code I found that removeEventListener was needed, and I tested the particles vue2  in the same way, with no problem, that eventBus had been off when the component was destroyed。If possible, please fix the problem quickly, I would appreciate it, thank u
https://github.com/tsparticles/vue2/blob/6c1eae2a84d6216aefdc1886e1f84a98c2b45bda/components/vue2/src/Particles/vue-particles.vue#L57-L61

Thanks for reporting that, can you open a PR about that?

did a pr to fix this issue by adding the removeEventListener on the onUnmounted hook, reproduced the the issue in the nuxt app and tested the solution on chrome and edge.
On another note  in vue3 the eventBus  api as shown in the solution was removed and  using a global event bus for communicating between components is discouraged, but  this patten can still be achieved using an external library like mitt according to the docs.


Fix api calls 177568428

https://www.pivotaltracker.com/story/show/177568428
Status:

Most layers are now loading
Choosing the return period on the legend works

Still to do:

[x] Get "baseline" layers to load (haven't been able to figure out how they are named)

This is now working for baseline layers, and all other layers/settings as well.

The trick was using regex matching on the names, with different regex expression formulas for the two different kinds of floods (costal and riverine).
@lrotschy would you be willing to review and then help me deploy to "staging" for QA and client review?


Diff experience with "accept code" options

Make it like a git merge diff.

Try asking for the git merge formatting and see how VS Code responds


rustup

Cc https://github.com/rust-lang/rust/issues/91542

@bors r+

:pushpin: Commit d537ed401d323182e178aa496871604c50f4600a has been approved by RalfJung

:hourglass: Testing commit d537ed401d323182e178aa496871604c50f4600a with merge 4eadf666d3b96a66a53a91fc700c13884549d1c6...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 4eadf666d3b96a66a53a91fc700c13884549d1c6 to master...


what type the index_spec is?

%% system
-record(ensure_index, {
collection :: colldb(),
index_spec
}).
Can't refer from the ensure_index record, due to there's no type defined for index_spec.
Collection = <<"msg_20161202">>.
{ok,Topo}=mongo_api:connect(single, "<IP_ADDRESS>:27017", Options, WorkerOptions).
{ok,<0.52.0>}
10> mongo_api:ensure_index(Topo, Collection,#{<<"key">> => {<<"league">>, 1, <<"city">>, 1}}).
{error,{{function_clause,[{gen,do_for_proc,
[#{pool => <0.67.0>,
read_preference => #{mode => primary,tags => []},
server_type => standalone},
#Fun<gen.0.132519590>],
[{file,"gen.erl"},{line,252}]},
{gen_server,call,3,[{file,"gen_server.erl"},{line,208}]},
{mc_connection_man,request_worker,2,
[{file,"src/connection/mc_connection_man.erl"},{line,23}]},
{poolboy,transaction,3,[{file,"src/poolboy.erl"},{line,78}]},
{mongoc,transaction,4,
[{file,"src/api/mongoc.erl"},{line,93}]},
{erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,673}]},
{shell,exprs,7,[{file,"shell.erl"},{line,686}]},
{shell,eval_exprs,7,[{file,"shell.erl"},{line,641}]}]},
{gen_server,call,
[#{pool => <0.67.0>,
read_preference => #{mode => primary,tags => []},
server_type => standalone},
{ensure_index,<<"msg_20161202">>,
#{<<"key">> => {<<"league">>,1,<<"city">>,1}}},
infinity]}}}

Hi,
Spec is broken for it, I'll fix it.
index_spec should be the map.

not working, event a map as the third parameter:
10>mongo_api:ensure_index(Topo, Collection,#{<<"key">> => {<<"league">>, 1, <<"city">>, 1}}).
{error,{{function_clause,[{gen,do_for_proc,
[#{pool => <0.85.0>,
read_preference => #{mode => primary,tags => []},
server_type => standalone},
#Fun<gen.0.132519590>],
[{file,"gen.erl"},{line,252}]},
{gen_server,call,3,[{file,"gen_server.erl"},{line,208}]},
{mc_connection_man,request_worker,2,
[{file,"src/connection/mc_connection_man.erl"},{line,23}]},
{poolboy,transaction,3,[{file,"src/poolboy.erl"},{line,78}]},
{mongoc,transaction,4,
[{file,"src/api/mongoc.erl"},{line,93}]},
{erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,673}]},
{shell,exprs,7,[{file,"shell.erl"},{line,686}]},
{shell,eval_exprs,7,[{file,"shell.erl"},{line,641}]}]},
{gen_server,call,
[#{pool => <0.85.0>,
read_preference => #{mode => primary,tags => []},
server_type => standalone},
{ensure_index,<<"msg_20161206">>,
#{<<"key">> => {<<"league">>,1,<<"city">>,1}}},
infinity]}}}

But in the https://github.com/comtihon/mongodb-erlang/issues/144 you said, it is working?

watch the log:
11> mc_worker_api:ensure_index(Topo, Collection, #{<<"key">> => {<<"cid">>, 1, <<"ts">>, 1}}).
ok
12> mongo_api:ensure_index(Topo, Collection, #{<<"key">> => {<<"cid">>, 1, <<"ts">>, 1}}).
{error,{{function_clause,[{gen,do_for_proc,
[#{pool => <0.96.0>,
read_preference => #{mode => primary,tags => []},
server_type => standalone},
#Fun<gen.0.132519590>],
[{file,"gen.erl"},{line,252}]},
{gen_server,call,3,[{file,"gen_server.erl"},{line,208}]},
{mc_connection_man,request_worker,2,
[{file,"src/connection/mc_connection_man.erl"},{line,23}]},
{poolboy,transaction,3,[{file,"src/poolboy.erl"},{line,78}]},
{mongoc,transaction,4,
[{file,"src/api/mongoc.erl"},{line,93}]},
{erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,673}]},
{shell,exprs,7,[{file,"shell.erl"},{line,686}]},
{shell,eval_exprs,7,[{file,"shell.erl"},{line,641}]}]},
{gen_server,call,
[#{pool => <0.96.0>,
read_preference => #{mode => primary,tags => []},
server_type => standalone},
{ensure_index,<<"msg_20161206">>,
#{<<"key">> => {<<"cid">>,1,<<"ts">>,1}}},
infinity]}}}
13>

mc_worker_api is working, not mongo_api.

OK, it is a bug. I'll fix it.

Fixed in https://github.com/comtihon/mongodb-erlang/commit/f43755df27d9cb609458d635b3e2934d21b3d3cc


AirPlay Group Playback Fails with "No players available to form syncgroup" Error

What version of Music Assistant has the issue?
2.3.4
What version of the Home Assistant Integration have you got installed?
No response
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

[X] Yes

The problem
Since updating to Music Assistant 2.3.4, I am unable to play audio on my AirPlay group, which consists of three HomePod Minis. Every attempt to play audio on the group fails with the error:
RuntimeError: No players available to form syncgroup
The group works perfectly when controlled manually via the Apple Home app. Individual playback on each HomePod via Music Assistant also works without issues.
The problem seems specific to this update, as everything worked flawlessly before.
How to reproduce

Create an AirPlay group with three HomePod Minis.
Attempt to play audio on the group using Music Assistant.
Observe the error: No players available to form syncgroup.

Music Providers
Apple Music, Soundcloud, TuneIn, Radio Browser
Player Providers
Airplay
Full log output
music-assistant.log
Additional information

The playback is initiated via the Home Assistant Music Assistant UI.
Other AirPlay devices and individual HomePods work fine with Music Assistant.
The issue only occurs with the group of three HomePod Minis after the update to 2.3.4.

What version of Home Assistant Core are your running
2024.12.5
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Generic x86-64 (e.g. Intel NUC)

Did you really search the open issues? https://github.com/music-assistant/hass-music-assistant/issues/3221


Missing dot in config file

I think there is a missing dot at the end of this line:
https://github.com/zazuko/fuseki-geosparql/blob/a60b232a26bcc04d471f4306c057766931cbffb4/config/config.ttl#L6C1-L7C55
And the one after

Hello @MathiasVDA,
Thanks for opening this issue.
The missing dots are not impacting the Fuseki behavior.
But I will create a PR to improve the formatting so that it gets fixed.


Missing linked coordinates of subgroup variable

What happened:
I have a NetCDF file that has groups like this:
--/PRODUCT/
--/PRODUCT/SUPPORT_DATA/DETAILED_RESULTS
.....

Screenshots

When I read the variable named air_mass_factor_clear inside /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS, the coordinates are missing. But, it works for variable named nitrogendioxide_tropospheric_column in the /PRODUCT/ group.
What you expected to happen:
Coordinates of variables in subgroups are loaded.
 Would you say your issue is the same as the one in https://github.com/pydata/xarray/issues/1982 ?

Hi @TomNicholas, thanks and yes that's the same issue. Shall we close this duplicated one?

Yes I think we should close this as a duplicate. By the way, this isn't a quick fix in xarray.Dataset as it is (see https://github.com/pydata/xarray/issues/1982#issuecomment-437990188 as for why), so if we do ever support this behaviour it's likely to be via the DataTree route described in #4118.


some corrections to test

There is an error in devtools::test() where some functions were not updated on the unit test in plot series
Done some corrections plot series test
related to issue Switch to mia data (remove microbiomeDataSets data) #141  #141

Any updates on this? Checks are failing.

Working on it


Use jQuery and Underscore / Lodash if they exist

Quite a bit of the codebase (extend, contains, is*, and collectFormValue) can be shortened by aliasing or incorporating their jQuery or Underscore or Lodash counterparts. This would reduce js parsing and load time.
Of course this would mean allowing the source to be built with 'batteries included' or not, the former option being great for simple script includes in the browser.

Perhaps when the library grows, for now the methods will remain.


Image size

Does the code have any requirements for image size? It has to be a multiple of 32 or 64?

I use mu own data to eval anf finetune but got this error,image size is 960*600:
(tf) rc@rc:~/StereoMatching/stereo-transformer$ CUDA_VISIBLE_DEVICES=0 python main.py  --epochs 100 --batch_size 1  --checkpoint UAV_ft --num_workers 2 --dataset UAV  --dataset_directory /home/rc/StereoMatching/Dataset/UAV/training-960*600/ --ft --resume /home/rc/StereoMatching/stereo-transformer/run/sceneflow/pretrain/experiment_10/epoch_9_model.pth.tar  number of params in backbone: 1,050,800 number of params in transformer: 797,440 number of params in tokenizer: 503,728 number of params in regression: 161,843 Pre-trained model successfully loaded. Start training Epoch: 0   0%|                                                                                | 0/289 [00:00<?, ?it/s]/home/rc/anaconda3/envs/tf/lib/python3.9/site-packages/torch/_tensor.py:575: UserWarning: floor_divide is deprecated, and will be removed in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor'). (Triggered internally at  /pytorch/aten/src/ATen/native/BinaryOps.cpp:467.)   return torch.floor_divide(self, other)   0%|                                                                                | 0/289 [00:00<?, ?it/s] Traceback (most recent call last):   File "/home/rc/StereoMatching/stereo-transformer/main.py", line 265, in <module>     main(args_)   File "/home/rc/StereoMatching/stereo-transformer/main.py", line 235, in main     train_one_epoch(model, data_loader_train, optimizer, criterion, device, epoch, summary_writer,   File "/home/rc/StereoMatching/stereo-transformer/utilities/train.py", line 32, in train_one_epoch     _, losses, sampled_disp = forward_pass(model, data, device, criterion, train_stats)   File "/home/rc/StereoMatching/stereo-transformer/utilities/foward_pass.py", line 55, in forward_pass     outputs = model(inputs)   File "/home/rc/anaconda3/envs/tf/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl     return forward_call(*input, **kwargs)   File "/home/rc/StereoMatching/stereo-transformer/module/sttr.py", line 103, in forward     output = self.regression_head(attn_weight, x)   File "/home/rc/anaconda3/envs/tf/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl     return forward_call(*input, **kwargs)   File "/home/rc/StereoMatching/stereo-transformer/module/regression_head.py", line 252, in forward     output['gt_response'], target = self._compute_gt_location(scale, x.sampled_cols, x.sampled_rows,   File "/home/rc/StereoMatching/stereo-transformer/module/regression_head.py", line 90, in _compute_gt_location     _, _, w = disp.size() ValueError: too many values to unpack (expected 3)


Add package weight to shipping rate request

I'm currently implementing the module in a store where the available shipping methods depend on the package weight. If there is no package weight set on the rate request, the wrong shipping method will be selected for the cart and the order creation will fail because the selected shipping method is not available anymore after the final shipping rates collection.
//// \Magmodules\Channable\Model\Order::importOrder()
$shippingMethod = $this->getShippingMethod($cart, $store, $itemCount, $shippingPriceCal);
//// $shippingMethod is now 'tablerate_bestway' because package weight has not been set (= 0)
$shippingAddress = $cart->getShippingAddress();
$shippingAddress->setFreeShipping($shippingPriceCal <= 0); // Some carriers also check this flag.

$shippingAddress->setCollectShippingRates(true)
    ->collectShippingRates()
    ->setShippingMethod($shippingMethod);
//// After this shipping rates collection, 'tablerate_bestway' is not available anymore because
//// Magento _does_ take package weight into account

The solution is to set the package weight on the rate request, just like Magento does:
https://github.com/magento/magento2/blob/2.4-develop/app/code/Magento/Quote/Model/Quote/Address.php#L1045
But ... Maybe I'm overseeing something and there was a good reason to leave the package weight out in de Channable module. The only thing I can tell is that the functionality works as intended in my situation.

@markvds thanks for opening the PR, this has been merged into the v1.6.3 version, but due to the recent refactor we had to manually port this commit.


[BUG]Apktool unable to rebuild apk

Information

Apktool 2.4.1-dirty Version -
Operating System Linux(kali linux 2020.4) latest -
game apk Flappy Bird -

Stacktrace/Logcat
┌──(toor㉿kali)-[~/Desktop]
└─$ apktool b new                                                      1 ⨯
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
I: Using Apktool 2.4.1-dirty
I: Checking whether sources has changed...
I: Checking whether resources has changed...
I: Building resources...
W: aapt: brut.common.BrutException: brut.common.BrutException: Could not extract resource: /prebuilt/linux/aapt_64 (defaulting to $PATH binary)
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 127): [aapt, p, --min-sdk-version, 8, --target-sdk-version, 15, --version-code, 4, --version-name, 1.3, --no-version-vectors, -F, /tmp/APKTOOL5100030591731871744.tmp, -0, resources.arsc, -0, png, -0, ogg, -0, arsc, -I, /home/toor/.local/share/apktool/framework/1.apk, -S, /home/toor/Desktop/new/res, -M, /home/toor/Desktop/new/AndroidManifest.xml]
W: aapt: symbol lookup error: /usr/lib/x86_64-linux-gnu/android/libbacktrace.so.0: undefined symbol: _ZN11unwindstack12ElfInterfaceD2Ev

Steps to Reproduce

apktool

Frameworks
If this APK is from an OEM ROM (Samsung, HTC, LG). Please attach framework files
(.apks that live in /system/framework or /system/priv-app)
APK
If this APK can be freely shared, please upload/attach a link to it.
Questions to ask before submission

Have you tried apktool d, apktool b without changing anything? yes
If you are trying to install a modified apk, did you resign it? yes
Are you using the latest apktool version? yes

Not sure here. I can't replicate this on my linux builds, albeit not kali.
I assume kali is doing something in in their custom 2.4.1-dirty build, I don't know who handles packaging/maintaining and I sure don't know how to begin to contribute to that.
Sorry!


TypeScript doc page not returned by search

The main TypeScript doc page at https://react-hook-form.com/ts is not returned when searching for "typescript" using the on-site Algolia widget. (The word "TypeScript" appears no where in the page.)

interesting @pmaier983 would you be able to help? you set up the search. 🙏

@bluebill1049 actually fixed this problem with this commit https://github.com/react-hook-form/documentation/commit/f97ccfa503605b2808aeb3ec0808a0226cb63710. Bill out here fixing bugs without even trying 💪🧠.

I'm going to resolved this issue for now, but  @bard did bring up a good point, so i am going to create a PR changing some TS -> Typescript, allowing algolia a bit of an easier time prioritizing things.

thank you @pmaier983


Markdown to CSV

Hi,
I really like your plug in and this is more of a feature request than an issue.  Have you thought about extending your plug in so it converts markdown tables back in to CSV?  I actually think it might be easier to edit a CSV table than a markdown table.
Thanks,
Douglas.

Thanks for the feedback! I'm not sure when I will have time to work on this again, but when I do, I'll look into implementing this!

Works like a charm!  Thank you very much!


String interpolation with commands

I couldn't find the documentation on how to do the equivalent to echo "test $(lsb_release -cs)" from bash in elvish.
edit: sorry I already found in https://elvish.io/learn/fundamentals.html
though I believe that such examples should be in https://elvish.io/ref/language.html#string as well.

Thanks for the feedback. This is documented in the section on compound expressions, and the section on double-quoted string now links to it.