Use multiformat reader

Hi @domna, I have I started to implement the multi format reader (first focussing on the phi parser).
There are multiple things that are currently working nicely already.

[x] file parsing
[x] filling template from @attrs  -> had to implement a special logic so that I can keep working with my existing notation
[x] filling template from @data -> works for the average and raw_data keys, which write the entry/data/data and .../detector/raw_data/raw fields. Also works for any axisnames that are stored as coordinates of my data xarray.I write the individual scans also as DATA fields to NXdata using the get_data_dims function.

Then, I have some questions that are probably already possible for the existing solution in https://github.com/FAIRmat-NFDI/pynxtools/pull/250. Would be thankful for your input on these.

[ ] filling template from @eln -> previously, I was simply writing @eln in the config file because for a given config key like /ENTRY[entry]/INSTRUMENT[instrument]/beamTYPE[beam_xray]/distance, there is a corresponding /ENTRY[entry]/INSTRUMENT[instrument]/beamTYPE[beam_xray]/distance key in the ELN dict after parsing (using the convert_dict). Thus, I did not need to give any path in the config. However, the get_eln_data requires a path str and if I simply write @eln, it doesn't work. I would probably need to write the whole path (incl. upper- and lowercase notation), which is quite cumbersome.

[ ]  Allow lists as config value to provide different options depending if the data exists in the specified position. As an example, for ["@attrs:title", "@eln, "no title"], the converter should check (in order) the @attrs and @eln tokens and write the respective value if it exists there. If not, it defaults to "no title". However, not it writes this list ["@attrs:title", "@eln, "no title"] into the field.

Finally, there are some things that I have no idea how to implement with the current solution:

[ ] multiple detectors, analyser, etc. -> for this to work, I would need to replace these in the keys in the parse_json_config method (like for the entries: key = key.replace("/ENTRY[entry]/", f"/ENTRY[{entry_name}]/")). However, this is currently not possible. A workaround would be if we replaced them in the config file before we fill from the template (i.e. in the post_process function). I have implemented something here, but then we need to change the read function in the MultiFormatReader like I implemented here
[ ] In my ELN file, I would like to give the possibility to have some metadata for all entries and then some only for specific entries. I can do this now using some special logic in the eln file parsing, but I am not sure that is even possible with the NOMAD ELNs. Just wanted to get your opinion on this if it is worth working in this direction.

And then, finally finally, there could be some additional functionalities added. In the XpsReader, I check that any unit in the final template is a valid pint unit, but for this I need to iterate the whole array. We could implement this earlier and make it a generic functionality in the multi format reader as well.
Sorry for the long text, but these are all the issues I encountered.

filling template from @eln -> previously, I was simply writing @eln in the config file because for a given config key like /ENTRY[entry]/INSTRUMENT[instrument]/beamTYPE[beam_xray]/distance, there is a corresponding /ENTRY[entry]/INSTRUMENT[instrument]/beamTYPE[beam_xray]/distance key in the ELN dict after parsing (using the convert_dict). Thus, I did not need to give any path in the config. However, the get_eln_data requires a path str and if I simply write @eln, it doesn't work. I would probably need to write the whole path (incl. upper- and lowercase notation), which is quite cumbersome.

I see. We could also pass the config dict key down to the get_... functions. I first did it but removed it later because I had the feeling that it's not really used. But we can surely re-add it.

Allow lists as config value to provide different options depending if the data exists in the specified position. As an example, for ["@attrs:title", "@eln, "no title"], the converter should check (in order) the @attrs and @eln tokens and write the respective value if it exists there. If not, it defaults to "no title". However, not it writes this list ["@attrs:title", "@eln, "no title"] into the field.

I implemented the notation differently. You need to write @attrs,@eln,"no title:title. It might be a bit weird now that I think about it, but at least there is a mechanism for it which we can tweak to our liking.

multiple detectors, analyser, etc. -> for this to work, I would need to replace these in the keys in the parse_json_config method (like for the entries: key = key.replace("/ENTRY[entry]/", f"/ENTRY[{entry_name}]/")). However, this is currently not possible. A workaround would be if we replaced them in the config file before we fill from the template (i.e. in the post_process function). I have implemented something here, but then we need to change the read function in the MultiFormatReader like I implemented https://github.com/FAIRmat-NFDI/pynxtools/pull/388

Could something like this work: https://github.com/FAIRmat-NFDI/pynxtools-mpes/blob/25983bae61f04ad379d77fd5b335fe4759ba4766/tests/data/config_file.json#L113
I like the approach of exposing the config dict for manipulation and being able to do some post-processing on it. So let's go for your approach.

In my ELN file, I would like to give the possibility to have some metadata for all entries and then some only for specific entries. I can do this now using some special logic in the eln file parsing, but I am not sure that is even possible with the NOMAD ELNs. Just wanted to get your opinion on this if it is worth working in this direction.

One possibility I also thought about also notation wise is that we actually not write /ENTRY[entry]/... and replace it but use /ENTRY/... to denote that this is a generic concept which will be filled by the reader. This also allows that we can actually write something specific to an entry, e.g., called my_entry with /ENTRY[my_entry]/... (or give the possibility there to say only to entry number 1 or so).
But I'm not sure if this is the use case you are aiming at.

multiple detectors, analyser, etc. -> for this to work, I would need to replace these in the keys in the parse_json_config method (like for the entries: key = key.replace("/ENTRY[entry]/", f"/ENTRY[{entry_name}]/")). However, this is currently not possible. A workaround would be if we replaced them in the config file before we fill from the template (i.e. in the post_process function). I have implemented something here, but then we need to change the read function in the MultiFormatReader like I implemented https://github.com/FAIRmat-NFDI/pynxtools/pull/388

Btw. there is also the *{name1, name2} notation, which we use here. This creates multiple fields with the respective names enlisted. If there is a * in any of the sub-field values it replaces those, too. This could be helpful if you have a fixed set of detector names.

filling template from @ELN -> previously, I was simply writing @ELN in the config file because for a given config key like /ENTRY[entry]/INSTRUMENT[instrument]/beamTYPE[beam_xray]/distance, there is a corresponding /ENTRY[entry]/INSTRUMENT[instrument]/beamTYPE[beam_xray]/distance key in the ELN dict after parsing (using the convert_dict). Thus, I did not need to give any path in the config. However, the get_eln_data requires a path str and if I simply write @ELN, it doesn't work. I would probably need to write the whole path (incl. upper- and lowercase notation), which is quite cumbersome.

I see. We could also pass the config dict key down to the get_... functions. I first did it but removed it later because I had the feeling that it's not really used. But we can surely re-add it.

Yeah, I think that would be quite helpful, also for some of the other callbacks (like in the get_data_dims, I want to decide which dims to use based on whether I am writing the raw detector data or the final NXdata.

Allow lists as config value to provide different options depending if the data exists in the specified position. As an example, for ["@attrs:title", "@ELN, "no title"], the converter should check (in order) the @attrs and @ELN tokens and write the respective value if it exists there. If not, it defaults to "no title". However, not it writes this list ["@attrs:title", "@ELN, "no title"] into the field.

I implemented the notation differently. You need to write @attrs,@eln,"no title:title. It might be a bit weird now that I think about it, but at least there is a mechanism for it which we can tweak to our liking.

Can you spell this out again? There may be an error in what you wrote. I tried "/ENTRY[entry]/title":"@attrs:title,@eln,no title", but that did not work.

multiple detectors, analyser, etc. -> for this to work, I would need to replace these in the keys in the parse_json_config method (like for the entries: key = key.replace("/ENTRY[entry]/", f"/ENTRY[{entry_name}]/")). However, this is currently not possible. A workaround would be if we replaced them in the config file before we fill from the template (i.e. in the post_process function). I have implemented something here, but then we need to change the read function in the MultiFormatReader like I implemented FAIRmat-NFDI/pynxtools#388

Could something like this work: https://github.com/FAIRmat-NFDI/pynxtools-mpes/blob/25983bae61f04ad379d77fd5b335fe4759ba4766/tests/data/config_file.json#L113
I like the approach of exposing the config dict for manipulation and being able to do some post-processing on it. So let's go for your approach.

The problem for me is that depending on the measurement settings, more or less detectors may be used, which I can infer from the actual data. So I need to dynamically replace them and cannot use the *{name1, name2} notation because I don't know name1, name2 beforehand. Thus, my idea was to actually make copies of the existing fields in the config, with the detector names replaced.
For example, if I have in my config file
`"/ENTRY[entry]/INSTRUMENT[instrument]/DETECTOR[detector]/name":"@attrs:detector/name`
`"/ENTRY[entry]/INSTRUMENT[instrument]/DETECTOR[detector]/name_link":"@link:/entry/instrument/detector/name" `,

the process_multiple_entities method would dynamically populate the config dict with
`"/ENTRY[entry]/INSTRUMENT[instrument]/DETECTOR[my_first_detector]/name":"@attrs:my_first_detector/name`
`"/ENTRY[entry]/INSTRUMENT[instrument]/DETECTOR[my_first_detector]/name_link":"@link:/entry/instrument/my_first_detector/name" `,
`"/ENTRY[entry]/INSTRUMENT[instrument]/DETECTOR[my_second_detector]/name":"@attrs:my_second_detector/name`
`"/ENTRY[entry]/INSTRUMENT[instrument]/DETECTOR[my_second_detector]/name_link":"@link:/entry/instrument/my_second_detector/name" `,

and remove the keys with the generic detector from the dict.
For the XPS reader, this works (after merging my PR in pynxtools). We can think if we want a generic solution for this in the MultiFormatReader or if each reader shall implement this itself.

In my ELN file, I would like to give the possibility to have some metadata for all entries and then some only for specific entries. I can do this now using some special logic in the eln file parsing, but I am not sure that is even possible with the NOMAD ELNs. Just wanted to get your opinion on this if it is worth working in this direction.

One possibility I also thought about also notation wise is that we actually not write /ENTRY[entry]/... and replace it but use /ENTRY/... to denote that this is a generic concept which will be filled by the reader. This also allows that we can actually write something specific to an entry, e.g., called my_entry with /ENTRY[my_entry]/... (or give the possibility there to say only to entry number 1 or so).
But I'm not sure if this is the use case you are aiming at.

My plan was to do it like [here]((https://github.com/FAIRmat-NFDI/pynxtools-xps/blob/0f9f7f8bfe975ec2492ea743cc01f2e166e1ec98/examples/phi/eln_data_phi.yaml#L169), have some generic ELN metadata and then some metadata specific to entry Su1s.
Do you want this /ENTRY/... notation for all renameable field in the config file? I like it, but then the reader must also give the analyser, collectioncolumn, etc. names.

Yeah, I think that would be quite helpful, also for some of the other callbacks (like in the get_data_dims, I want to decide which dims to use based on whether I am writing the raw detector data or the final NXdata).

This can be easily added

Can you spell this out again? There may be an error in what you wrote. I tried "/ENTRY[entry]/title":"@attrs:title,@eln,no title", but that did not work.

If I understand my code correctly it expects something like "/ENTRY[entry]/title":"@attrs,@eln,no title:title", were it would pass the path title to the get_attrs and get_eln functions (basically it only allows a single value for all keywords). But your notation probably makes more sense here (+ is more flexible).

For the XPS reader, this works (after merging my PR in pynxtools). We can think if we want a generic solution for this in the MultiFormatReader or if each reader shall implement this itself.

I think it's fine if this is a specialised version. The MultiFormatReader is rather an aid tool to quickly build a reader for different formats. I think what we do in mpes and xps is comparably involved already (and we mainly want the config dict standardisation there).

My plan was to do it like here, have some generic ELN metadata and then some metadata specific to entry Su1s.
Do you want this /ENTRY/... notation for all renameable field in the config file? I like it, but then the reader must also give the analyser, collectioncolumn, etc. names.

This should work with /ENTRY/ and /ENTRY[Su1s]/ then. I would restrict it to ENTRY (for now at least), because we only keep track of the entry names in the reader and not the other names.

I also update the prefix-value parsing now and it should work as you tried it, e.g., @attrs:test,@eln,no title should pass test to get_attrs, '' to get_eln and otherwise writes no title. Whitespaces are added to the paths so they should be avoided, e.g., @attrs: test ,@eln would call get_attrs(key=...,value=" test ").

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
48

Relevant Lines:
48

💛  - Coveralls


Change imports to relative paths

Hi, we are starting a new Polymer 3 project and want to use lit-element if possible. We prefer to just use the source files as is when developing to exclude any extra build steps and it works perfectly in previous projects (using Polymer 2 and 3.0.0-pre). With ES6 imports this is super handy, how come that you don't write your imports as relative paths?
When trying the same approach with lit-element we get the following error because of this:
Uncaught TypeError: Failed to resolve module specifier<EMAIL_ADDRESS>Relative references must start with either "/", "./", or "../".
Also polymer serve will not work since it gets the URL's wrong. With polymer build it works fine but having to build before each page load is inconvenient.
Would you consider changing all the import statements so that they are relative to the file that is importing? This would remove the need to build entirely for development (and possibly even for pages that targets recent browsers), it does not make much sense to me to have a build step just to change import paths.

Please read about our reasoning and response in https://github.com/Polymer/polymer/issues/5238#issuecomment-390012108 This was a hard call to make, but we can provide an experimental solution (empathy) to transform to relative paths. I am actually using empathy and lit-element already in my side-project and it works great for me :)

Thanks for explaining and the links, I guess this is the way it needs to be for now. Lots of npm packages are written like this anyway.

I get the same error b ut after following https://lit-element.polymer-project.org/guide/start

getting this same error...have this in my main:
<script type="module"<EMAIL_ADDRESS>></script>
and this line in my component js cause the same error:
import {LitElement, html} from 'lit'
what is the recommended way of doing this?  as the tutorial do not seem to cover this

getting this same error...have this in my main: <script type="module"<EMAIL_ADDRESS>></script>
and this line in my component js cause the same error: import {LitElement, html} from 'lit'
what is the recommended way of doing this? as the tutorial do not seem to cover this

I left a reply here.


validation assert doesn't work

This code returns true on validation, should return alway false.

var rf = require('resourceful')

var Person = rf.define('person', function(){
  this.use('couchdb')
  this.number('age', {
    assert: function(val){
      return false
    }
  })
})

var peter = new Person()
peter.age = 17
var validation = peter.validate()
console.log(validation.valid)

When I can't use 'assert', how do I check values on complex conditions?

The documentation in the readme which mentions the assert feature doesn't seem to be in sync with the code. The only code which looks like it might be intended to do something like this is conform() as opposed to assert() but it doesn't seem to be fully implemented.
I have made a change in my local version of revalidator to implement conform() along the lines of the way you tried to use assert()
Before I submit this as a Pull Request, does anyone know if that is the intention for conform() i.e. to pass a validation function? I don't want to implement something on conform() if that is meant to be used for something else?

@colinf Thanks for your comment.
I'm not sure 'comfort' is for use of arbitrary validations.
But I tried to use it like you and got nothing.
Can I see your implementation anywhere?
BTW, I wonder why not implemented functions are in the readme file.
Is the readme file used as a specification?

Hi, you cant take my updated version of revalidateor.js from here:
https://github.com/colinf/revalidator/tree/experimental/lib
Replace the version in your project folder at ./node_modules/resourceful/node_modules/revalidator/lib/ with this one and give it a try. And note that it's conform() and not comfort()!! :)
Let me know how it goes.


Inject context.Context

The Redis version bump has introduced the requirement to pass a context.Context to the invoked methods of the Redis client. The test now are green.

Nice! Thanks :)
Merging


Simplify CMake script

CI failed

Codecov Report

Merging #14 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #14   +/-   ##
=======================================
  Coverage   84.68%   84.68%
=======================================
  Files          40       40
  Lines        2115     2115
=======================================
  Hits         1791     1791
  Misses        324      324

CI failed

It now passes


Delete card and rewire

Works good.

Tested in qa-graph-poc.
When delete a card in between two cards, the lower card connects to the upper card automatically.


Maps on contact us page has stopped working

Which maps?

http://letskickcancernow.com/contact-us

Google maps api now requires an api key; even for free use.  You need to register and get the key and then the page can be updated

Added an API key and locked down to http://icvi.org.uk


Fix typo in params SimConfig

The parameter for SimConfig was out of date

I don't follow. The current code is correct using the latest pypi/git commit version of this repo. Everything was renamed from cfg to config for consistency.


Is it possible to get Last Raven working?

Hi. First of all, let me say thank you for making this. I was playing through the old Armored Core games again and I was amazed someone actually made something like this. I'm still on Silent Line right now, but I thought I'd test out if the tool works with Last Raven ahead of time. Unfortunately, it looks like the emblem data from Last Raven may be formatted differently, because I was given the "Save file is too small" error when trying to run it through the tool. Any help getting it to work would be greatly appreciated, and thank you again for your work. :)

Thanks. Yeah I was working on this when I played through the series and when I got burnt out sometime during silent line this project went to the wayside. I never got around to trying it on the later games. I'll take a crack at it but it might take until after the holidays/new year. In the mean time it looks like someone made a converter for last raven a while ago: https://ravenrepublic.net/forums/showthread.php?mode=linear&tid=3307&pid=7882148  - I haven't tried it myself yet but if it works you won't have to hold up your play through waiting on me. I should also check if it works on nexus and nine breaker. I guess with the announcement of AC6 now is a good time to fix/finish this project

I ended up downloading Last Raven and taking a peek at it's emblem saves. It wasn't too different from the others so I went ahead and did it. The only downside is that it has to be the dataX file itself and not within some other filetype like those old ps2 save transfer formats. But as long as you can extract the data file from the format or use the pcsx2 folder structure you should be able to do it.

 Thanks a bunch 👍


Fix warnings

When loading the the project into Eclipse there are over a hundred warnings. This fixes most of them. See individual commits. Most of them are really no-brainers except "Make Query a generic to avoid some more type safety warnings" which changes the public interface. I would like to get some feedback on that.

Query is deliberately not generic, and it shouldn't be made generic just because Eclipse can't understand that.
Although not very useful, this is perfectly possible to do as long as Query is not generic:
Object input1 = …
JsonNode input2 = …
Adapter<Object> adapter1 = …
Adapter<JsonNode> adapter2 = ...
Query query = Query.fromString("foo");
Object result1 = query.evaluate(adater1, input1);
JsonNode result2 = query.evaluate(adapter2, input2);

I object strongly to letting Eclipse rearrange all imports. Just like with random whitespace changes, that's not something that should be checked in. Configure Eclipse not to mess with whitespace or with imports. It's ok to remove unused imports, but it's not ok to sort them or expand wildcards.

Query is deliberately not generic, and it shouldn't be made generic just because Eclipse can't understand that.

Although not very useful, this is perfectly possible to do as long as Query is not generic:

Ah now understand why you did it like that. I changed it to be type safe without altering the interface.

I object strongly to letting Eclipse rearrange all imports. Just like with random whitespace changes, that's not something that should be checked in. Configure Eclipse not to mess with whitespace or with imports. It's ok to remove unused imports, but it's not ok to sort them or expand wildcards.

We shouldn't blame Eclipse for this.  It have now redone it manually.

Looks much better.


Add modular method of injecting the needed ecc interfaces

Related to comment here: https://github.com/bitcoinjs/bitcoinjs-lib/pull/1742#issuecomment-960578505
Just checking if:

it is OK to make ecpair modular (following the bip32 lib model)?
someone else is not already working on this

Yes. Go ahead. I tried a couple times but couldn't really find a way that felt good.
Feel free to mess around with the interface / returning something other than the class itself. (ie. bip32 returns an object with methods to get a BIP32 instance, but not the class itself.)

PR open.
If the changes in the PR are approved then I would also like to update bitcoinjs-message (for selfish reasons).
Would that be OK?

Sure. modular ecc is fine, but we can't add schnorr to bitcoinjs-message in any way, since there's no standard for message signing.


Feature: Update create new transformer dialog.

Add a code editor to add code in a transformer.
Note: This ticket might require additional changes.

Added a code editor to add code in a transformer.


Special characters are not clickable for RTL languages

This is because the buttons are being floated right instead of changing the direction of the container to RTL.

https://www.webonary.org/dupranu/ needs to be copied to .work in order to test this on .work.

reviewed 2/22


rustfmt incorrectly strips the "default" keyword from speciallized functions

With the beginning of specialization in nightly, per https://github.com/rust-lang/rust/issues/31844 it is now possible to do things like
impl<T, C> Foo<T, C> for () {
    default fn len(&self) -> isize {
        2
    }
}

impl<T> Foo<T, ()> for () {
    fn len(&self) -> isize {
        0
    }
}
impl Foo<i32, ()> for i32 {
    fn len(&self) -> isize {
        1
    }
}

Unfortunantely running rustfmt breaks compilation by removing default`

This is fixed on master, but I guess not in the latest realease. I should do a new release soon that includes this fix.

Oh great. Thanks.

+1 . I've been scratching my head for a while because of this. I thought I was going crazy.


How to add class to open parent menu, when submenu is open

When I go into submenu, parent menu doesn't have any calss to style them, like in system right click menu to keep logic path, for example:
when I go into "Say hi! -> Edit" I want change background under "Say hi!" to show path for user.
https://stackblitz.com/edit/ngx-contextmenu-example-dz26wq

You’re right.  It would be a nice feature to add an active-path class to an item that has an open sub menu.
I’d accept a PR for that feature.
On Mar 4, 2019, 5:10 AM -0500, qubiack<EMAIL_ADDRESS>wrote:

When I go into submenu, parent menu doesn't have any calss to style them, like in system right click menu to keep logic path, for example:
when I go into "Say hi! -> Edit" I want change background under "Say hi!" to show path for user.
https://stackblitz.com/edit/ngx-contextmenu-example-dz26wq
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Add first draft for the ROS2 launch files generator

This PR implements a first draft version of the launch file generator for ROS2. This version allows from the following model:
RosSystem { Name 'move_base_experiment'
RosComponents (
    ComponentInterface { name base_driver  FromRosNode "ridgeback.base_driver.base_driver"
        RosPublishers{
            RosPublisher 'joint_states' { RefPublisher "ridgeback.base_driver.base_driver.joint_states"},
            RosPublisher odometry { RefPublisher "ridgeback.base_driver.base_driver.odometry"} , RosPublisher sondar_scan { RefPublisher "ridgeback.base_driver.base_driver.sondar_scan" } } RosSubscribers {
            RosSubscriber vel_command { RefSubscriber "ridgeback.base_driver.base_driver.cmd_vel"}}},
    ComponentInterface { name scan_driver FromRosNode "hokuyo_node.hokuyo_node.hokuyo_node"
        RosPublishers{
            RosPublisher 'scan' { RefPublisher 'hokuyo_node.hokuyo_node.hokuyo_node.scan'},
            RosPublisher 'diagnostics' { RefPublisher 'hokuyo_node.hokuyo_node.hokuyo_node.diagnostics'} , RosPublisher "hokuyo/parameter_descriptions" { RefPublisher "hokuyo_node.hokuyo_node.hokuyo_node.hokuyo/parameter_descriptions" } , RosPublisher "hokuyo/parameter_updates" { RefPublisher "hokuyo_node.hokuyo_node.hokuyo_node.hokuyo/parameter_updates" } } RosSrvClients { RosServiceClient "hokuyo/set_parameters" { RefClient "hokuyo_node.hokuyo_node.hokuyo_node.hokuyo/set_parameters" } , RosServiceClient "hokuyo/self_test" { RefClient "hokuyo_node.hokuyo_node.hokuyo_node.hokuyo/self_test" } } } ,
    ComponentInterface { name move_base FromRosNode "move_base.move_base.move_base"
    	RosPublishers {
    		RosPublisher cmd_vel { RefPublisher "move_base.move_base.move_base.cmd_vel" }}
    	RosSubscribers {
    		RosSubscriber nav_goal { RefSubscriber "move_base.move_base.move_base.move_base/goal" }}} ,
    ComponentInterface { name  navigation FromRosNode "navigation.navigation.navigation"
    	RosPublishers {
    		RosPublisher nav_goal { RefPublisher "navigation.navigation.navigation.move_base/goal" }}
    	RosSubscribers {
    		RosSubscriber scan { RefSubscriber "navigation.navigation.navigation.scan" } ,
    		RosSubscriber odometry { RefSubscriber "navigation.navigation.navigation.odometry" } ,
    		 RosSubscriber joint_states { RefSubscriber "navigation.navigation.navigation.joint_states" } ,
    		RosSubscriber map { RefSubscriber "navigation.navigation.navigation.map" }
    	, RosSubscriber imu { RefSubscriber "navigation.navigation.navigation.imu" } } } )
    }}

the auto-generation of the ROS package: https://github.com/ipa-nhg/test_ros2_code_extractor/tree/LaunchFileGenerator/move_base_experiment_ros2
@ipa-hsd could you please check the generated code and let me know all the errors I introduced?
Missed:

[ ] Remaps of interfaces
[x] Definition of parameters
[ ] Trigger of the ROS1 or ROS2 code generator. Currently both packages are generated always that the rossystem file is correct. From the point of view of the eclipse IDE we could create 2 different developer perspectives, one for ROS1 and other for ROS2 . But  I would like to evaluate how this can be done with the web interface (theia) before we change the implementation
[ ] Extension of the rossystem model to support further ROS2 launch concepts. Depending on this extension I will consider to set at model level an attribute that specify the ROS version, this will simplify also the generation process

Node can be initialzed like:
 node_robot_state_publisher = Node(
        package='robot_state_publisher',
        executable='robot_state_publisher',
        name='robot_state_publisher',
        namespace=name_space,
    )

since you have executable and also the node name, that can be included in initialization I guess: https://github.com/ipa-nhg/test_ros2_code_extractor/blob/LaunchFileGenerator/move_base_experiment_ros2/launch/move_base_experiment.launch#L8-L9

@ipa-hsd thanks for the review.
I made the changes you suggested:

for the generator code: https://github.com/ipa320/ros-model/pull/131/commits/9c05c5b67013ef850c8e62565bce03b5fc97cadc
the resulted model the looks: https://github.com/ipa-nhg/test_ros2_code_extractor/commit/f29bded2e9197aa127fb1d1bbfdb52d6bb08407e

rebased from master after https://github.com/ipa320/ros-model/pull/136

Parameters are now generated for launch files
joy = Node(
    package="joy",
    executable="joy_node",
    name="joy",
    parameters=[
      { "port" : 1001},
      { "array_test" : ["Hello", "world", "Harsh"]},
      { "struct_test" : [
        { "first_element" : 5 },
        { "second_element" : ["ROS", "world"] }]},
      { "ip" : "Hello"}
    ]
  )

but note that structs are treating like lists. This needs to be tested.

After testing the launch file with nested parameters (struct types), it seems that nested parameters (at least in the above form) are not supported. Either the parameters have to be expanded to its resolved name
{ "struct_test/first_element" : 5 },
{ "struct_test/second_element" : ["ROS", "world"] }

or load them from a YAML file.

As per https://github.com/ipa320/ros-model/pull/131/commits/48096c20731c2d1c54ee771774cd7897c915ce09, the parameters generated for structs would be of the type:
parameters=[
      { "port" : 1001 },
      { "array_test" : ["Hello", "world", "Harsh"] },
      { "struct_test/first_element" : 3 },
      { "struct_test/second_element" : ["ROS", "world"] },
      { "ip" : "Hellooo" }
    ]

Also generating some additional files and fixing install of certain files to be able to compile the package and run the launch file.

I have done a quick test with a sample system and it seems to work without any problem ✔
I will try it with a more complex system and then fix the tests (https://github.com/ipa320/ros-model/pull/131/checks?check_run_id=2729737648) before we merge it. Thanks a lot @ipa-hsd

@ipa-nhg remap is still pending before we merge.

I will try it with a more complex system
I doubt it will work for 2 layers of nesting, at least the param name might fail is my guess.

Just leaving it here: https://docs.ros.org/en/foxy/Guides/Launch-files-migration-guide.html
XML format is supported for ROS2 and can be considered for sprint 2.

@ipa-hsd Thanks I added the link to the general issue: https://github.com/ipa320/ros-model/issues/109#issue-713727043

@ipa-hsd I fixed the ROS1 generator, could you please try it out? https://github.com/ipa320/ros-model/pull/131/commits/34fa197b04fb540b17ed000d585c327ff61817dd

I tested the ROS2 generator, it doesn't give errors, then we can merge it.
But a couple of things are missed:

it is not considering the "forced" connections (TopicConnections, ServiceConnections and ActionConnections)
the namespaces are not properly checked , if my input model is:

RosSystem { Name 'My'  RosComponents (
     ComponentInterface { name scan1 NameSpace test_ns FromRosNode "cob_sick_s300.cob_sick_s300.cob_sick_s300"
      RosPublishers { RosPublisher scan { RefPublisher "cob_sick_s300.cob_sick_s300.cob_sick_s300.scan" } ,
      RosPublisher diagnostics { RefPublisher "cob_sick_s300.cob_sick_s300.cob_sick_s300.diagnostics" } } } ) }

This generates the following launch file:
from launch import LaunchDescription
from launch_ros.actions import Node

def generate_launch_description():
  ld = LaunchDescription()

  scan1 = Node(
    package="cob_sick_s300",
    executable="cob_sick_s300",
    name="scan1",
    namespace="test_ns"
    ,
    remappings=[
      ("scan", "scan"),
      ("diagnostics", "diagnostics")
    ]
  )

  ld.add_action(scan1)

  return ld

but the generated remaps are not adding changes and the interfaces shouldn't be remapped.
As we pretended to have a draft for ROS2, the proposed changes are OK for now. We will review the ROS2 generators for a future release.

but the generated remaps are not adding changes and the interfaces shouldn't be remapped.

Yes I got the same results for ROS1 as well. the comparison for e.g.:
if (!rosPublisher.name.equals(compile_topic_name(rosPublisher.publisher,component.check_ns))) { // }

is not working

I think this is the correct version:
https://github.com/ipa320/ros-model/pull/131/commits/34fa197b04fb540b17ed000d585c327ff61817dd#diff-5aeece87e4ded60798c42b8de4e4fcd32b2ac3b368d175d628719a15f01c2d16R140

Fixed in https://github.com/ipa320/ros-model/pull/131/commits/a7f8854cf19f05fb86fa075e2b559e9443517536


[Grid] grid item doesn't respond to grid container's responsive columns correctly

The Grid component is documented as supporting responsive columns but it only uses the first breakpoint's value.
<Grid container spacing={{ xs: 2, md: 3 }} columns={{ xs: 4, sm: 8, md: 12 }}>

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
The Grid renders with 4 columns regardless of browser width.
Expected Behavior 🤔
The number of columns in the Grid should change as the browser gets wider.
Steps to Reproduce 🕹
Sandbox from the Grid API documents
https://codesandbox.io/s/uzb8q?file=/demo.tsx
Steps:

It's easier to see if you modify the items <Grid item xs={1}  key={index}> so they only take up one column.
Regardless of browser width,  you will only get 4 columns

The debugger shows that Grid's generateGrid method gets called with the same breakpoint xs each time, even though GridRoot should be calling it with each of the breakpoints.
  // Bottom of GridRoot
  ({ theme, ownerState }) =>
    theme.breakpoints.keys.reduce((globalStyles, breakpoint) => {
      // Use side effect over immutability for better performance.
      generateGrid(globalStyles, theme, breakpoint, ownerState);
      return globalStyles;
    }, {}),

Context 🔦
Trying to implement the Material Design Responsive Layout Grid
https://material.io/design/layout/responsive-layout-grid.html#columns-gutters-and-margins

I can reproduce it with https://codesandbox.io/s/responsivegrid-material-demo-forked-q9cdi.
@hbjORbj Do you want to take this?

@siriwatknp @kkorach
This has already been addressed in https://github.com/mui-org/material-ui/pull/29300
Here is a copy of your code sandbox using @mui/material package build of this PR: https://codesandbox.io/s/responsivegrid-material-demo-forked-82zcr?file=/demo.tsx

In fact, even using the build of #29300, the bug is still reproducible in code sandbox provided by @siriwatknp , I will have a look.

@kkorach Thanks for creating the issue. Just to clarify the problem here, it seems that grid item does not respond to grid container's responsive columns correctly. For example, in this demo,  both grid container and grid item have the same three breakpoints (xs, sm, md) and hence there is no issue. Yet, in demo provided by @siriwatknp, the problem arises because grid item only has one breakpoint xs, whereas grid container has xs, sm, md. This is indeed a bug. I will create a fix for this.

@kkorach Hey, this was discussed in a team meeting, and there was a suggestion that
instead of having:
<Grid container columns={{ xs: 4, sm: 8, md: 12 }}> and
<Grid item xs={1}> and expecting 4 columns, 8 columns and 12 columns of items, respectively, in xs, sm, md,
you can do the following:
<Grid container columns={24}> and <Grid item xs={6} sm={3} md={2}>.
Demo: https://codesandbox.io/s/responsivegrid-material-demo-forked-vmnx8?file=/demo.tsx:474-690

We're trying to create a constrained version of Grid that matches the responsive design layout and a couple other things (spacing).  Internally our developers will use that instead of the mui Grid.  I don't think the workaround will work because I'm not trying to fix a specific usage.

@kkorach Sure, I will have a look and work on fixing the problem I clarified earlier.

Just to clarify the problem here, it seems that grid item does not respond to grid container's responsive columns correctly. For example, in this demo, both grid container and grid item have the same three breakpoints (xs, sm, md) and hence there is no issue. Yet, in demo provided by @siriwatknp, the problem arises because grid item only has one breakpoint xs, whereas grid container has xs, sm, md. This is indeed a bug. I will create a fix for this.

I dug into it a little bit.  When you specify a Grid item size, <Grid item xs={1} />, the 1 column prop would carry over to the other breakpoints.  If I specify <Grid item xs={1} sm={1} md={1} lg={1} xl={1} />, it works as expected.
In generateGrid the first few lines are
  const size = ownerState[breakpoint];

  if (!size) {
    return;
  }

In my case where I only specify xs={1} there won't be any breakpoints in ownerState, so it will exit out of the method.

When you specify a Grid item size, , the 1 column prop would carry over to the other breakpoints.

You mean it wouldn't carry over, right?

If I specify , it works as expected.

yep, that's what I meant earlier by

both grid container and grid item have the same three breakpoints (xs, sm, md) and hence there is no issue. Yet, the problem arises because grid item only has one breakpoint xs, whereas grid container has xs, sm, md.

I can.  I'm new to contributing (would be second PR) and have read the contributing guide.  Is there more information on how to use the docs site as a development environment?
It would also be helpful if you could help point to where <Grid item xs={1} /> gets propagated across all breakpoints.  Is that part of handleBreakpoints/resolveBreakpointValues?

I can. I'm new to contributing (would be second PR) and have read the contributing guide. Is there more information on how to use the docs site as a development environment?

That sounds good enough! After you create a PR, you can request a review from me and I will review!

It would also be helpful if you could help point to where <Grid item xs={1} /> gets propagated across all breakpoints. Is that part of handleBreakpoints/resolveBreakpointValues?

There are functions related to breakpoints in packages/mui-system/src/breakpoints.js. This PR ( #29300 ) will be helpful!

@kkorach Thanks for creating the issue. Just to clarify the problem here, it seems that grid item does not respond to grid container's responsive columns correctly. For example, in this demo, both grid container and grid item have the same three breakpoints (xs, sm, md) and hence there is no issue. Yet, in demo provided by @siriwatknp, the problem arises because grid item only has one breakpoint xs, whereas grid container has xs, sm, md. This is indeed a bug. I will create a fix for this.

I tried your example and the spacing property doesn't seem to be getting applied, is it?

@robertofabrizi I tried your example

Which example are you referring to?

@robertofabrizi I tried your example and the spacing property doesn't seem to be getting applied, is it?

Which example are you referring to? FYI, spacing in both demos in the message you quoted work. You can inspect :)

My mistake sorry it does work, sorry again!


error with absolute reference

When I do that, the __refines__ is empty and there is no id in A :
local Layer = require "layeredata"
local form  = Layer.new { name = "formalism" }
local model = Layer.new { name = "model" }
local root  = Layer.reference (false)

form.__meta__ = {
  form_type = {
    id = 1,
  }
}

model.__depends__ = {
  form,
}
model.model = {
  A = {
    __refines__ = {
      root.__meta__.form_type,
    }
  }
}
do
  print(Layer.dump(Layer.flatten(model)))
end

On my computer it returns:
do local _ = {
  __meta__ = {
    form_type = {
      id = 1
    }
  },
  model = {
    A = {
      __refines__ = {
        "false -> [__meta__] [form_type]"
      },
      id = 1
    }
  }
}
return _
end

I try with the update and I have this result :
do local _ = {
  model = {
    A = {
      __refines__ = {}
    }
  }
}
return _
end

And print(model.model.A.id) returns nil

Strange behavior. We will look at it next time we meet ;-)

Was caused by c3 library.


Add a label to hide devops

Codecov Report

Merging #33 into stage1 will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           stage1      #33   +/-   ##
=======================================
  Coverage   96.22%   96.22%
=======================================
  Files           2        2
  Lines          53       53
  Branches        5        5
=======================================
  Hits           51       51
  Misses          2        2

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 9150ffc...6934640. Read the comment docs.


fix: added faq card copy link button

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind user-interface

/kind content

/kind translation

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area blog

/area documentation

/area videos

What this PR does / why we need it:
Added FAQ card copy link button
Which issue(s) this PR fixes:

Fixes #918
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: alexakvelon
Once this PR has been reviewed and has the lgtm label, please assign leogr for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found 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

LGTM label has been added.  Git tree hash: c446dc83c22fa14204d26f34b29917a98544cad8

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: alexakvelon, Issif
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 [Issif]

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


useObserve causes an error on fast refresh

When a component with useObserve is refreshed, there is a chance that the following error is thrown: ref.current is undefined. This is due to the hook assigning undefined to ref.current in useUnmountOnce. I'm not sure why the hook is executed after the component has unmounted on fast refresh, but is the assignment even necessary there?
Repro (try making a change and then saving a couple of times)

Hmm, that may be an artifact of a previous iteration of useObserve that may not be necessary anymore. I'll take a look at that.


Allow user to specify a service account

if user specify a service account, associate the image pull secret with that
if user doesn't specify a service account/specify an empty service account, associate the image pull secret with the default service account
use validation webhook to prevent user from changing the service account because I won't be able to unlink the image pull secret from the old service account because I don't have information of the old service account (or maybe I do?)

Closes #7

Codecov Report

Merging #25 into main will decrease coverage by 4.13%.
The diff coverage is 61.53%.

@@            Coverage Diff             @@
##             main      #25      +/-   ##
==========================================
- Coverage   43.55%   39.42%   -4.14%
==========================================
  Files           6        9       +3
  Lines         326      416      +90
==========================================
+ Hits          142      164      +22
- Misses        159      227      +68
  Partials       25       25

Flag
Coverage Δ

#unittests
39.42% <61.53%> (-4.14%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

api/v1beta1/acrpullbinding_types.go
100.00% <ø> (ø)

api/v1beta1/zz_generated.deepcopy.go
0.00% <ø> (ø)

api/v1beta1/acrpullbinding_webhook.go
61.53% <61.53%> (ø)

controllers/acrpullbinding_controller.go
31.68% <61.53%> (+1.22%)
: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 b9eb8b3...6a86f58. Read the comment docs.


vocabularies: remove migrated/unknown value

add suggestion value in document request types
Closes #329

@ntarocco

I see more occurrences of MIGRATED_UNKNOWN in the code. Are the remaining ok to keep?

For the acquisition payment modes I left the MIGRATED_UNKNOWN because we display it only in the backoffice.
For the ill item types I removed it from the vocab but in this place I didn't remove it because it is being used as a default value.


How to directly access modules from pdfjs-dist for creating and injecting my own classes

I am attempting to use pdfjs-dist, from npm, and add my own "DefaultAnnotationLayerFactory".
The problem that I am having is that I basically need to copy these files:

node_modules\pdfjs-dist\lib\web\annotation_layer_builder.js
node_modules\pdfjs-dist\lib\display\annotation_layer.js

I am not familiar with how to reference my own instance of these files in-browser, as they also reference modules like ui_utils, pdf_link_service, etc.
How am I suppose to work with this library without forking it and maintaining my own version?
My approach seems clean, I was just wonder how you would recommend I go about it.  Would I have to somehow use webpack, create my own project that exposes my annot factory, and references your library?  Is there any example of this?
Configuration:

Web browser and its version: Chrome 79
Operating system and its version: Win 10
PDF.js version: 2.2.228

Reference: https://github.com/mozilla/pdf.js/tree/master/examples/acroforms

To get this working I had to create my own webpack project and leverage a very similar package.json as to what PDFJS has created.  There were core-js issues that I could not explain.  Basically npm pulls down core-js with an "es" folder, and the github code calls into "core-js/es", but the pdf-dist package is using "core-js/fn" as found in compatibility.js.  I ended up having to grab the actual source form the repo and it worked.  That allowed me to create my own package that I could use with the pdf-dist package.  Hope that helps someone.


Universal SSR: adding SVG icon set to matIconRegistry fails with NAMESPACE_ERR (14)

Bug, feature request, or proposal:
Bug.
When using Angular Universal, if custom icon set is provided to matIconRegistry through .addSvgIconSet or .addSvgIconSetInNamespace, error shows in console:
Error retrieving icon: NAMESPACE_ERR (14): the operation is not allowed by Namespaces in XML.
and icon is not shown in template (<mat-icon [svgIcon]="icon"></mat-icon>)
As referenced here: https://github.com/angular/material2/issues/9519
it is Domino issue and it is fixed with latest version 2.0.1,
but here bug remains:
What is the expected behavior?
Show icons from icon set on templates and no error in console
What is the current behavior?
Icons from icon set are not shown in templates and mentioned error occurs in console.
What are the steps to reproduce?
import {Component, OnInit, Inject} from '@angular/core';
import {MatIconRegistry} from '@angular/material';
import {DomSanitizer} from '@angular/platform-browser';
import { PLATFORM_ID } from '@angular/core';
import { isPlatformBrowser, isPlatformServer } from '@angular/common';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {

  constructor(private _matIconRegistry: MatIconRegistry, private _domSanitizer: DomSanitizer, @Inject(PLATFORM_ID) private platformId: string) {
    const svgUrl = 'assets/icons/symbol-defs.svg';
    const domain = (isPlatformServer(platformId)) ? 'http://localhost:4000/' : '';
    // this doesn't work on ssr
    this._matIconRegistry.addSvgIconSet(this._domSanitizer.bypassSecurityTrustResourceUrl(domain + svgUrl));
    // this also
    // this._matIconRegistry.addSvgIconSetInNamespace('ui', this._domSanitizer.bypassSecurityTrustResourceUrl(domain + svgUrl));
  }

  ngOnInit() {
  }

}

What is the use-case or motivation for changing an existing behavior?
Mentioned issue is closed with explanation that this is Domino issue. Domino released version 2.0.1 that includes fix, but bug remains when using svg icon sets.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
{
"dependencies": {
    "@angular/animations": "5.2.6",
    "@angular/cdk": "5.2.3",
    "@angular/common": "5.2.6",
    "@angular/compiler": "5.2.6",
    "@angular/core": "5.2.6",
    "@angular/forms": "5.2.6",
    "@angular/http": "5.2.6",
    "@angular/material": "5.2.3",
    "@angular/platform-browser": "5.2.6",
    "@angular/platform-browser-dynamic": "5.2.6",
    "@angular/platform-server": "5.2.6",
    "@angular/router": "5.2.6",
    "@ngforage/ngforage-ng5": "1.0.5",
    "@nguniversal/express-engine": "5.0.0-beta.5",
    "@nguniversal/module-map-ngfactory-loader": "5.0.0-beta.5",
    "@ngx-translate/core": "9.1.1",
    "@ngx-translate/http-loader": "2.0.1",
    "angulartics2": "5.1.1",
    "apollo-angular": "1.0.1",
    "apollo-angular-link-http": "1.0.1",
    "apollo-cache-inmemory": "1.1.5",
    "apollo-client": "2.2.0",
    "apollo-link-context": "1.0.3",
    "core-js": "2.5.3",
    "countdown": "2.6.0",
    "domino": "2.0.1",
    "fontfaceobserver": "2.0.13",
    "foundation-sites": "6.4.3",
    "fraction.js": "4.0.4",
    "fuzzyjs": "2.1.2",
    "graphql": "0.12.3",
    "graphql-tag": "2.6.1",
    "lodash-es": "4.17.5",
    "moment": "2.20.1",
    "moment-timezone": "0.5.14",
    "ng2-date-picker": "2.7.4",
    "rxjs": "5.5.6",
    "ts-loader": "3.3.1",
    "web-animations-js": "2.3.1",
    "zone.js": "0.8.20"
  },
  "devDependencies": {
    "@angular/cli": "1.7.1",
    "@angular/compiler-cli": "5.2.6",
    "@angularclass/hmr": "2.1.3",
    "@biesbjerg/ngx-translate-extract": "2.3.4",
    "@types/hammerjs": "2.0.35",
    "@types/jasmine": "2.8.6",
    "@types/lodash": "4.14.104",
    "@types/node": "9.4.6",
    "chalk": "2.3.1",
    "codelyzer": "4.1.0",
    "jasmine-core": "2.9.1",
    "jasmine-spec-reporter": "4.2.1",
    "karma": "2.0.0",
    "karma-chrome-launcher": "2.2.0",
    "karma-cli": "1.0.1",
    "karma-coverage": "1.1.1",
    "karma-coverage-istanbul-reporter": "1.4.1",
    "karma-jasmine": "1.1.1",
    "karma-jasmine-html-reporter": "0.2.2",
    "lite-server": "2.3.0",
    "marked": "0.3.16",
    "mkdirp": "0.5.1",
    "nodemon": "1.15.1",
    "prismjs": "1.11.0",
    "protractor": "5.3.0",
    "rimraf": "2.6.2",
    "ts-node": "4.1.0",
    "tslint": "5.9.1",
    "typescript": "2.5.3",
    "unzip": "0.1.11"
  }
}

Is there anything else we should know?
Adding individual icons to registry (with both default and custom namespace) works as it should

I don’t think you understand the real issue: Universal (which lives in @angular/platform-server) is the one that depends on domino. Material has nothing to do with this. Not only that, but this will be patched in the next beta release for Angular.
This can be closed since it’s not a Material issue.


getgameinstancesjson is 404

Describe the bug
This api seems to be replaced with something new
To Reproduce
Steps to reproduce the behavior:

Go to https://www.roblox.com/games/getgameinstancesjson

https://devforum.roblox.com/t/official-list-of-deprecated-web-endpoints/62889/43

This was addressed in the development version of ropy, BasePlace.get_instances was deprecated. You can now use BasePlace.get_servers or BasePlace.get_private_servers instead.


How do you transform the chat completions to the numerical sequnces?

Hi, I noticed that you have released the code and found that you only modified the 'extra_input' in the gpt.py (Please correct me if I was wrong).When testing on the ETTh1 dataset, I obtained the following completions using your code:
"Sure! Let's start by breaking down the task into short-term and long-term predictions. \n\nShort-term prediction:\nFor short-term predictions, we will focus on trends and the last few steps of the input sequence to forecast the immediate future.\n\nLong-term prediction:\nFor long-term predictions, we will emphasize cyclical patterns and statistical properties of the entire input sequence to forecast further into the future.\n\nLet's begin with short-term predictions:\n\nShort-term Prediction Mechanism:\nTo predict the immediate future, we will use a simple moving average approach that considers the trends in the last few time steps. We will calculate the average of the last 5 time steps and use it as the prediction for the next time step.\n\nShort-term Predictions:\n1. Short-term prediction: 1223\n2. Short-term prediction: 1186\n3. Short-term prediction: 1211\n4. Short-term prediction: 1174\n5. Short-term prediction: 1074\n\nNow, take a deep breath before we move on to long-term predictions.\n\nDeep breath\n\nLong-term Prediction Mechanism:\nFor long-term predictions, we will use a seasonal decomposition of time series (STL) approach to extract the seasonal component and predict future values based on cyclical patterns.\n\nLong-term Predictions:\n1. Long-term prediction: 942\n2. Long-term prediction: 915\n3. Long-term prediction: 890\n4. Long-term prediction: 865\n5. Long-term prediction: 837\n\nDeep breath\n\nI hope these predictions help! Let me know if you need any further assistance."
I am curious about the process you use to transform chat completions into numerical sequences. Additionally, could you share the logs from your code execution? This might help us better understand any potential misunderstandings within the code.
Many thanks!

Hi, our code is based on llmtime. There are other modifications, including the discarding of outliers and the way of numerical preprocessing. This is a common phenomenon. There are some randomness in the gpt api and it also occurs when llmtime is running. One way to deal with this is to perform post-processing to extract the numerical sequence. Since the setting of llmtime only tests the last use case, I did not write specific extraction code. Would you like to share the detail code how you use it on ETT when this happens (email: hliu763@gatech.edu)?


URI with SAS unable to open in word client

So I have a service to grant SAS key to a document that I upload to blob storage:
anonymousLink = blob.Uri.AbsoluteUri + blob.GetSharedAccessSignature(null, "blobviewpolicy");
and the anonymousLink will look like:
http://<IP_ADDRESS>:10000/devstoreaccount1/serviceprovider1/TEMP/19121194_20190502_084615903_09082018_042939988.docx_20200213_042431675.docx?sv=2018-03-28&sr=b&si=blobviewpolicy&sig=PrqBs1PLHWoYFAybbTsdGSsV4Ay8XTSUsCNvbmIiwrM%3D
Then in client side, I use it to open the word client:
 { window.location.href = 'ms-word:ofe|u|' + anonymousLink; }}>
It worked ok before but recently, it not. It give me a message

When I try the anonymousLink in browser, it can download the file just fine.
Does anyone have any idea what wrong with it?
I'm using:
WindowsAzure.Storage version 9.1.1

@nbaolong48 Hope you have self resolved and hence closed the issue. Thanks for the update.
Just FYI, In future if you create an issue under this azure-docs repository then please provide the URL of the Azure document your feedback is referring to so that it helps us to provide you better assistance by routing the issue to right team.


[Transaction List] Replace incoming-transactions source

This task aims to replace the source for the incoming txs.
Currently, we're working with the transaction service, we should replace it with client-gateway.
Given that the client-gateway returns a complete list of incoming/outgoing tx, for this first iteration we'll query for a big amount of txs, then filter the incoming ones and replace the store.

[x] add client-gateway endpoint
[x] filter by incoming txs and store (store crude data returned by the service, all the required calculation should be made in the presentation layer)
[x] fix related presentation components

This approach worked fine only for incoming and module transactions.
While trying to implement the rest of the transactions we decided to do everything from scratch, in a separated gatewayTransactions endpoint.

This approach worked fine only for incoming and module transactions.
While trying to implement the rest of the transactions we decided to do everything from scratch, in a separated gatewayTransactions endpoint.


wip: Make completion feel faster

Commit summary

Fix JSON quoting in web-trace-file generation (18ca5811a)

Lie and say textDocument/completion is delayable (2ba694444)
By our own definition, textDocument/completion is not delayable (need to
finish processing the current edit before servicing it, because the
input references position information).
But the thing is, the common case is that completion requests come in
between two edits that if we could merge them, we could take the fast
path. So for the sake of hacking responsiveness into the IDE, we're
compromising on our principles and pretending that
textDocument/completion is delayable.

Early exit from copying all unchanged index results (440bebcc8)
We spend about 2 seconds deep copying all index results into the next
edit. Instead of blocking, we should allow this operation to short
circuit if we've been cancelled.
This puts two atomic load operations inside a loop, which greatly
increases the amount of potential synchronization needed. But
empirically, it made completion feel faster, so I think it's fine.

Test plan

See included automated tests.

cc @jvilk-stripe

I think this might be causing us to hit an exception:
Exception::raise(): runSlowPath called with an update that lacks an updated global state.

Backtrace:
  #3 0x5d2d37 sorbet::realmain::lsp::LSPLoop::runTypechecking()
  #4 0x582318 sorbet::realmain::lsp::LSPLoop::processRequestInternal()
  #5 0x578f2f sorbet::realmain::lsp::LSPLoop::runLSP()
  #6 0x49d4cb sorbet::realmain::realmain()
  #7 0x49888b main
  #8 0x7f63bee92830 __libc_start_main
  #9 0x456029 _start

The code looks good to me.

I think this might be causing us to hit an exception

Huh... I don't understand how. Is that easily reproducible? If so, I can debug. Maybe it's a bug elsewhere.

@jez That crash is my bug. :(
Fix: https://github.com/sorbet/sorbet/pull/1975

My fix for the crash merged, so feel free to rebase and try it out again.

My fix for the crash merged, so feel free to rebase and try it out again.

Thanks!!

I pulled the tracing.cc changes into #1996 and the loc-harding into #2010. I don't really want to change the slow path cancellation stuff until we're ready to monitor it, and I'd like to monitor some changes independently of those (the parse-errors take fast path change). I'll re-introduce those in a new PR when we come back to perf.


exportable files: always touch orig path

Touching the original path for exportable files ensures
that on Linux on which a *.desktop is created instead, any
path mismatches won't be made on later pulls/pushes.
This PR addresses #306
To test it out:
$ cd $GOPATH/src/github.com/odeke-em/drive
$ git fetch --all && git checkout always-touch-orig-exportable-file
$ go get github.com/odeke-em/drive/cmd/drive

This appears to resolve my issue, thanks!

Thank you @pefoley2 for checking it out and for reporting the issue.


yarn schema fails on Windows

Bug Report
yarn schema/npm run schema fails on Windows
Describe the bug
yarn schema fails on Windows due to use of single quotes in command.
Minimal Reproduction

Run yarn schema on Windows. Fails with:
Error: No root type "'*'" found
undefined:1

SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Socket.<anonymous> (file:///node-yahoo-finance2/bin/schema-tweak.js:13:24)
    at Socket.emit (events.js:388:22)
    at endReadableNT (internal/streams/readable.js:1336:12)
    at processTicksAndRejections (internal/process/task_queues.js:82:21)
error Command failed with exit code 1.

due to use of '*' in command, as well as other single quotes.
Environment
Browser or Node: node
Node version (if applicable):
Npm version: 14.17.0
Browser verion (if applicable):
Library version (e.g. 1.10.1): 1.13.1
Additional Context
Workaround: copy command as follows: ts-json-schema-generator -f tsconfig.json -p "src/{modules/**/*.ts,lib/options.ts}" -t "*" | node bin/schema-tweak.js > schema.json
Fix: utilize programmatic generation of the schema

Yeah... this has been the case for a while. I used to use WSL to get around it, but as new contributors come, WSL won't be the best solution. We can't tell everybody to install something new just to contribute. I was thinking about this today, and you just filed the bug for it. This is definitely a possible thing, and using .js over .sh would be preferred, since not everyone has git bash or WSL installed. @Sciguymjm Thanks for filing this (you saved me like 10 minutes)! I'll see if I can fix this tommorow.

Hey @Sciguymjm and @PythonCreator27, thank you both for this.  Absolutely want contributing to be easier from Windows so thanks for raising these issues that I'd totally not be aware of otherwise.
@Sciguymjm, I agree that programmatic generation of the schema is the way to go.  Let's see when I get a chance for this, as ideally I'd like to merge the "schema-tweak" code together too.  @PythonCreator27 please also let me know if you've started on this and what approach you're taking.

:tada: This issue has been resolved in version 1.14.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[#121427817] Add scripts to set G8 results and export pass/fail/discretionary for CCS

Completes this story: https://www.pivotaltracker.com/story/show/121427817
And also: https://www.pivotaltracker.com/story/show/121427955
For each G-Cloud 8 application the first script:

gets the supplier declaration
checks whether it is a PASS, FAIL or DISCRETIONARY
updates the supplier_frameworks entry for the application accordingly, using the API:

on_framework=true if declaration OK and at least one completed service
on_framework=false if declaration FAILed or there are no completed services
on_framework=NULL (no call to API) if declaration DISCRETIONARY and at least one completed service

And then the second script generates three CSV files with relevant data for each of passed/failed/discretionary applications.  Suppliers who expressed interest but didn't complete an application are not included in these export files.

PASSED:

Supplier name (Digital Marketplace name)
Supplier ID
Contact name for application
Email address for application

DISCRETIONARY:

Supplier name (Digital Marketplace name)
Supplier ID
All discretionary question info + supporting text
Contact name for application
Email address for application

UNSUCCESSFUL:

Supplier name (Digital Marketplace name)
Supplier ID
Which questions did they answer incorrectly?
Contact name for application
Email address for application

Looks good to me once the comments are dealt with 👍


Json output

@dwightguth this introduces the Json parser, and adds a KPrint test which exercises both the JSON and BINARY parser/unparser. I still need to figure out how to run the KAST parser.

Blocked on merging the #117 .

@dwightguth ready for review.

Jenkins: test this please

@dwightguth I believe I've addressed your concerns:

I've fixed the UnsupportedEncodingException => AssertionError.
I've added both Json serializer/deserializer for KAs case.
I've handled the cases where a KLabel can also be a KVariable.

@dwightguth feel free to merge when you feel ready, I still do not have merge permissions.


bug: csharpier pipe to stdin doesn't work

Neovim version (nvim -v)
NVIM v0.9.4 Build type: Release LuaJIT 2.1.1699524327
Operating system/version
MacOS Ventura 13.6
Add the debug logs

[X] I have set log_level = vim.log.levels.DEBUG and pasted the log contents below.

Log file
00:41:16[DEBUG] Running formatters on /Users/lowm4n/code/test/Program.cs: { "csharpier" }
00:41:16[INFO] Run csharpier on /Users/lowm4n/code/test/Program.cs
00:41:16[DEBUG] Run command: { "dotnet-csharpier", "--write-stdout" }
00:41:20[WARN] Formatter 'csharpier' timeout
00:41:21[DEBUG] Running formatters on /Users/lowm4n/code/test/Program.cs: { "csharpier" }
00:41:21[INFO] Run csharpier on /Users/lowm4n/code/test/Program.cs
00:41:21[DEBUG] Run command: { "dotnet-csharpier", "--write-stdout" }
00:41:22[INFO] csharpier exited with code 137
00:41:22[DEBUG] csharpier stdout: { "" }
00:41:22[DEBUG] csharpier stderr: { "" }
00:41:25[WARN] Formatter 'csharpier' timeout
00:41:27[INFO] csharpier exited with code 137
00:41:27[DEBUG] csharpier stdout: { "" }
00:41:27[DEBUG] csharpier stderr: { "" }
Describe the bug
The formatter timeouts because it does nothing receive in stdin.
Workarround (https://github.com/LazyVim/LazyVim/issues/2016):
  {
    "stevearc/conform.nvim",
    opts = {
      formatters = {
        csharpier = {
          args = { "--write-stdout", "$FILENAME" },
        },
      },
    },
  },

Steps To Reproduce

Get https://github.com/LazyVim/starter
Run :LazyExtras
Add lang.omnisharp
Open a C# file and try to format

Expected Behavior
File should be formatted.
Minimal example file
Program.cs
Console.WriteLine("Hello, World!");

Minimal init.lua
No response
Additional context
No response

According to the docs, it should format text that is piped to stdin. Does it work if you remove all of the args? If not, what happens when you run csharpier < Program.cs?

Removing the args does not help. I'm on a unix like system, if execute cat Program.cs. | dotnet-csharpier it works without any issues and prints the formatted result to stdout.

Can you set log_level = vim.log.levels.TRACE and show me the log file from running csharpier when you remove all of the args? Preferably with a small example file because it will log the entire contents.

18:32:55[TRACE] Applying formatting to /Users/lowm4n/code/test/Program.cs
18:32:55[TRACE] Comparing lines { 'Console.WriteLine("Hello, World!");', "", "if (true) {", '          var foo = "bar";', "}" } and { 'Console.WriteLine("Hello, World!");', "", "if (true) {", '          var foo = "bar";', "}" }
18:32:55[TRACE] Diff indices {}
18:32:55[TRACE] Applying text edits: {}
18:32:55[TRACE] Done formatting /Users/lowm4n/code/test/Program.cs
18:32:55[WARN] Formatter 'csharpier' timeout
18:32:57[INFO] csharpier exited with code 137
18:32:57[DEBUG] csharpier stdout: { "" }
18:32:57[DEBUG] csharpier stderr: { "" }

By the way, Lazyvim fixed it like thia:  https://github.com/LazyVim/LazyVim/issues/3124 , https://github.com/LazyVim/LazyVim/pull/3107


intersect outputs bad mysql syntax

Assume there's a one to many relationship between people and projects.
This arel query:
people.project(:id).join(services).on(services[:person_id].eq(people[:id])).where(services[:type].eq(1)).intersect(
    people.project(:id).join(services).on(services[:person_id].eq(people[:id])).where(services[:type].eq(2)))

outputs this SQL
( SELECT id
  FROM `people` INNER JOIN `services` ON `services`.`person_id` = `people`.`id`
  WHERE `services`.`type` = 1
  INTERSECT
  SELECT id
  FROM `people` INNER JOIN `services` ON `services`.`person_id` = `people`.`id`
  WHERE `services`.`type` = 2 )

problem is that it's not valid mysql (though you can work around it with inner join tricks). I can't seem to make such query play nicely with activerecord.

Per #523, Arel development is moving to rails/rails.
If this issue is still relevant, please consider reopening it over there. (Note that the Rails repository does not accept feature request issues, and requires reproduction steps that rely on Active Record's documented API.)


Design account controls UI

As a user, I want to control and have information about the data fetch progress for each connected account.
The design should have controls to start/stop fetching and information about the fetching progress.
Acceptance criteria:
1 - Approved design for implementation

on hold for reviews

Closing this with the wireframes and opening a new ticket for the design itself


use HEAD request instead of GET when checking file existence on remote server

what do you think? (it could probably be better in terms of cleanliness)

lgtm

I'm always for saving network usage but with this change the Packages, Packages.gz and Packages.stamps files generated at the end of the repo-build script will only contain the newly updated packages. When the GitHub actions are run, those incomplete indexes will overwrite the previous ones, and therefore users of Opkg will only have access to a subset of the packages.

there should be some way of using it for local building so we don't re
download files when running `make repo'

alternatively, the generation of packages.gz can happen on remote server

What about changing the repo-build script and make repo target so that they do not remove the build working directory every time they are run? Existing packages from the previous runs could be kept in place without doing anything, and the download would only happen on the first run.

yes, that's a good idea. will save my bandwidth but not the ci servers, but I'm fine with that


ci: add multi-arch worker images

Adding linux/arm64/v8 variants for the worker images.
The GitHub Actions changes were based on https://docs.docker.com/build/ci/github-actions/multi-platform/ , QEMU and Docker Buildx needed for the ARM variant.
Also, bumping ci-base-worker-image/mantic/Dockerfile and ci-base-worker-image/jammy/Dockerfile (unused) to trigger a github action to run after merging to the default branch.

Closing in favor of https://github.com/buildfarm/buildfarm/pull/1946


ENH: Preserve DataFrame divisions when reading from parquet using pyarrow

Discussion of the issue is captured well in this SO post: https://stackoverflow.com/questions/48104325/preserving-dask-dataframe-divisions-in-parquet
When a dataframe with known divisions is saved to parquet, and then read back from parquet using the pyarrow engine, the division information is not preserved.
df.divisions # [1, 2, 3, ...]
df.to_parquet('frame.pq', engine='pyarrow', write_index=True)
df2 = dask.dataframe.read_parquet('frame.pq', engine='pyarrow')
df2.divisions # [None, None, ...]

(I can make the example reproducible if the description isn't sufficiently clear)
From a quick glance at the _read_pyarrow function it seems that there's currently no attempt to identify the division information when reading parquet using pyarrow: https://github.com/xhochy/dask/blob/ef6a1aa2444bd5dcf79774808bb0dbc25e456a34/dask/dataframe/io/parquet.py#L575.

cc @xhochy

there's currently no attempt to identify the division information when reading parquet using pyarrow

This wasn't possible before arrow 0.9.0 (recent release), but now is kind of possible. Arrow still doesn't write a single metadata file, but the statistics are now available via the python bindings, so a full scan of all parquet files in a dataset could allow for recovering the divisions.

I'll probably play around with this a bit over the weekend. I need to come up with at least a workaround soon.
@jcrist @mrocklin Should there be any API changes when divisions support is added?  Or, would it be acceptable to simply return a DataFrame with known divisions when possible (e.g. when the parquet dataset has the right structure and pyarrow >=0.9.0 is available)?

Should there be any API changes when divisions support is added?

No, this should just work the same as with the fastparquet engine when possible. No need to change the api.

I'll probably play around with this a bit over the weekend.

PRs definitely welcome :).

I think that there is an active question of if we should do this or not.  Looking through the metadata of each of the parquet files individually might be expensive, particularly if they are remote.

Fixed by #3387. Closing.


python310Packages.mariadb: 1.0.10 -> 1.0.11

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.mariadb is: "MariaDB Connector/Python"
meta.homepage for python310Packages.mariadb is: "https://github.com/mariadb-corporation/mariadb-connector-python"
meta.changelog for python310Packages.mariadb is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.0.11 with grep in /nix/store/r928l15ll97gqkc7mm7g5c3m6sm7q0pd-python3.10-mariadb-1.0.11

found 1.0.11 in filename of file in /nix/store/r928l15ll97gqkc7mm7g5c3m6sm7q0pd-python3.10-mariadb-1.0.11

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
python310Packages.mariadb
python39Packages.mariadb

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/r928l15ll97gqkc7mm7g5c3m6sm7q0pd-python3.10-mariadb-1.0.11 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.mariadb https://github.com/r-ryantm/nixpkgs/archive/c1b26fc5e8d2618004027664ac7e0c38276c6cdb.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/r928l15ll97gqkc7mm7g5c3m6sm7q0pd-python3.10-mariadb-1.0.11
ls -la /nix/store/r928l15ll97gqkc7mm7g5c3m6sm7q0pd-python3.10-mariadb-1.0.11/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

python310Packages.mariadb
python39Packages.mariadb

Maintainer pings
cc @VergeDX for testing.

Result of nixpkgs-review pr 168479 run on x86_64-linux 1

2 packages built:

python310Packages.mariadb
python39Packages.mariadb


test: report collection prints error from ssh.Runcommand

We now log an error from SSHClient.RunCommand that we previously
ignored.

This change is

test-me-please

There is a reason for this one. A lot of commands fail, and we need those commands to fail, if we log the message as a error, maybe it's not clear at all.
All commands are logged, with the exitcode and stdout/stderr, I don't think that it's good to add this one.

Hmm. Ok. This is discarding other errors, however:

Errors from ssh.NewSession (https://github.com/raybejjani/cilium/blob/1877c5a4a0da0b409361fb63e241674fd55736f0/test/helpers/ssh_command.go#L182)
Errors getting stdout and stderr (https://github.com/raybejjani/cilium/blob/1877c5a4a0da0b409361fb63e241674fd55736f0/test/helpers/ssh_command.go#L153) (I was surprised that these can have errors!)
errors from the io.Copy (https://github.com/raybejjani/cilium/blob/1877c5a4a0da0b409361fb63e241674fd55736f0/test/helpers/ssh_command.go#L142)
All errors from session.Run (https://github.com/raybejjani/cilium/blob/1877c5a4a0da0b409361fb63e241674fd55736f0/test/helpers/ssh_command.go#L165)

A subset of the session.Run errors are as you say, confusing, those are all of type ExitError. Would you be ok if I drop those, but log others? There are a lot of things happening that could go wrong that shouldn't. We already check for the error type just below this (https://github.com/cilium/cilium/pull/4310/files#diff-5a466145a9fd897d3ecef38629d668fdR175) to record ExitErrors in CmdRes.
To be fair, I'm only looking at this while debugging something. I have no proof that any non-ExitError errors are being returned.

Hello!
What about something like this:
// Exec returns the results of executing the provided cmd via SSH.
func (s *SSHMeta) Exec(cmd string, options ...ExecOptions) *CmdRes {
	var ops ExecOptions
	if len(options) > 0 {
		ops = options[0]
	}

	log.Debugf("running command: %s", cmd)
	stdout := new(bytes.Buffer)
	stderr := new(bytes.Buffer)
	exit := true
	err := s.Execute(cmd, stdout, stderr)
	if err != nil {
		exit = false
		if _, ok := err.(*ssh.ExitError); !ok {
			log.WithError(err).Errorf("Error executing command '%s'", cmd)
		}
	}
	res := CmdRes{
		cmd:     cmd,
		stdout:  stdout,
		stderr:  stderr,
		success: exit,
	}
	// Set the exitCode if the error is an ExitError
	if exiterr, ok := err.(*ssh.ExitError); ok {
		res.exitcode = exiterr.Waitmsg.ExitStatus()
	}
	if !ops.SkipLog {
		res.SendToLog()
	}
	return &res
}

It will work :-)

test-me-pleas

test-me-please

@eloycoto I might have done more than you wanted! give it a look while the tests run :)

test-me-please


Possible to display a heatmap?

I've been following googles documentation to create a heatmap, but with this line:
new google.maps.visualization.HeatmapLayer(...)
it throws:
Cannot read property 'HeatmapLayer' of undefined
Is it possible to create a heatmap using this?

For those wondering you can pass in options through the load function and they will be appended to the url that is used to load the api.  Since in this case you simply need to include, libraries=heatmap when referencing the api, you can do this to include the heatmap library:
GoogleMaps.load({ libraries: 'visualization' })


[WIP] update merkle proof

generate merkle proof
https://ethereum.org/en/developers/tutorials/merkle-proofs-for-offline-data-integrity/


Handling code coverage timeout issue gracefully

Description
Handling code coverage timeout issue gracefully. Related slack thread
Type of change

[x] Refactor
[ ] New feature
[x] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] PR has passed all pre-merge test jobs.
[ ] If it is a core feature, I have added thorough tests.

Testing

Please provide detailed steps to perform tests related to this code change.
How were the fix/results from this change verified? Please provide relevant screenshots or results.

/lgtm

/lgtm

/lgtm
/approve


Attachments not working

The attachments feature (https://api.slack.com/docs/attachments) is not working

From the Slack docs (https://api.slack.com/rtm):

The RTM API only supports posting simple messages formatted using our default message formatting mode. It does not support attachments or other message formatting modes.

Sorry, after diving deeper into this project, I found out that it doesn't use the RTM API at all to send messages, only listen for a handful of events.
The following works for me:
params.attachments = JSON.stringify(attachment);

bot.postMessage(
	channel.id,
	'Hello my friend!',
	params
);

Yes, It uses RTM API just for listening incoming events. For sending messages it uses postMessage (https://api.slack.com/methods/chat.postMessage) method. There you can find more information about additional params. And for attachments from the [Slack docs] (https://api.slack.com/methods/chat.postMessage):

The optional attachments argument should contain a JSON-encoded array of attachments. For more information, see the attachments spec.


Gene order in datasets

The order of genes when making a dataset should be consistent, ie it should always be alphabetically ordered. Now it is almost so, but a number of genes end up going into the end of the dataset out of order. It is important to know the order of genes for manipulations of datasets after their generation in VoSeq.

fixed with 710776c1e6ccdf40e20df171f6bcb6504429e94f
Now the order is kept regardless of case. For example "ef1a" comes right after COI_end. Before it would go after RpS5.
DNA, ArgKin = 1-596
DNA, COI-begin = 597-1265
DNA, COI_end = 1266-2071
DNA, ef1a = 2072-3311
DNA, RpS2 = 3312-3722
DNA, RpS5 = 3723-4339
DNA, wingless = 4340-4739


Restart device if no WiFi is available for 60 secs

Some AccessPoints disconnect clients really dirty. The clients are not able to reconnect except rebooting the devices. I could not figure out what exactly the problem is (happened multiple times with different APs so far), but this pull request offers a passive aggressive solution rebooting the board if no wifi connection is possible within 60 seconds.

Hi @dandjo and thanks for this.
We have already a provision for the lack of connectivity here: https://github.com/raomin/ESPAltherma/blob/af7f2b1532e3ab2c242f30cbfa9095819ea39210/include/mqtt.h#L98
I assume it's not needed to add another feature for that.
But thanks anyway!

Unfortunately this is not sufficient or not working for the case I am tackling with this solution.

Testet it again without my fix. ESP32 tries to connect to WiFi, get's a connection, but is stuck getting an IP address. client.connected() is never called. The only option is to reset the ESP32 with the hardware-button. That's a pretty unstable behaviour when WiFi once get stuck somehow. Annoying, especially if the ESP32 is installed behind cases and equipment.

Thanks for testing this further.
Can you try with WiFi.setAutoReconnect(true);?
Thanks.

It's not working. All other Clients reconnect properly, the ESP32 (I have both with same code-basis) are stuck. Maybe this has to do with this issue:
https://github.com/espressif/arduino-esp32/issues/353
I would recomment to think about a passive agressive reboot.

Just for info: in all my project with ESP32 (LOLIN32 etc) I had to reboot in case of wifi signal lost, trying to reconnect not always worked fine; it was not a big issue because rebooting only take some seconds; for me it helped also to give a fixed IP to every device and adding a random delay on power-on. My router doesn't like if all wifi devices trying to reconnect in the same time after a power loss.

Thanks @mauromorello for the feedback. Exactly my experience.


Inconsistent naming of arguments when associating labels and credentials

$ tower-cli job_template associate_label
Usage: tower-cli job_template associate_label [OPTIONS]

  Associate a label with this job_template.

Local Options:
  --job_template JOB_TEMPLATE  [required]
  --label LABEL                [required]

vs
tower-cli job_template associate_credential
Usage: tower-cli job_template associate_credential [OPTIONS]

  Associate a credential with this job template.

Local Options:
  --job-template JOB_TEMPLATE
  --credential CREDENTIAL

Apologies if there's a dupe issue but I couldn't find it. The linked job template parameter uses underscores in one association vs a hyphen in the other.
$ tower-cli version
Tower CLI 3.2.1
API v2
Ansible Tower 3.2.2
Ansible <IP_ADDRESS>

looks like this was fixed at some point
tower-cli job_template associate_label
Usage: tower-cli job_template associate_label [OPTIONS]

  Associate a label with this job_template.

Local Options:
  --job-template JOB_TEMPLATE  [required]
  --label LABEL                [required]


Replace hardcoded debug address with const var

Debug address in defaultConfig() doesn't have to be a hardcoded string,
instead it can be const var from package server, which is also a
platform dependent const. So it would be better to use
server.DefaultDebugAddress here.
Signed-off-by: Zhang Wei<EMAIL_ADDRESS>

Codecov Report

Merging #1237 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1237   +/-   ##
=======================================
  Coverage   27.91%   27.91%
=======================================
  Files          28       28
  Lines        2826     2826
=======================================
  Hits          789      789
  Misses       1888     1888
  Partials      149      149

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 4118a25...adeec48. Read the comment docs.

LGTM


HHH-9403

Added the ability to customize the modified field name for audited fields.

This pull request is actually for https://hibernate.atlassian.net/browse/HHH-9043 (not HHH-9403).

This pull request includes some merge commits and the format used for the changes does not conform to Hibernate code styles.
Please create a new pull request for master using the Eclipse or Intellij code style:

https://developer.jboss.org/wiki/ContributingToHibernateUsingEclipse
https://developer.jboss.org/wiki/ContributingToHibernateUsingIntelliJ

Also, please make sure you refer to the correct jira issue, HHH-9043, in your new pull request so it gets attached to the correct jira issue.
Thanks,
Gail

Is there a setting that switches between two naming schemes or will the @column annotations be picked up automatically?


feat: remove temp dir when KCLRun finished

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y

closes https://github.com/crossplane-contrib/function-kcl/issues/163
feat: remove temp dir when KCLRun finished

Hi @Peefy, thank you very much for this. 1 question though: Shouldn't it be os.RemoveAll instead?


"ADOP Y" is handled incorrectly

It appears to be incorrectly treating g7:ADOP as g7:FAMC-ADOP and generating illegal GEDCOM 7 output, since "OTHER" is not a legal value of g7:ADOP.
Input:
1 ADOP Y

Output:
1 ADOP OTHER
2 PHRASE Y

I cannot replicate this bug.
Input:
0 HEAD
1 CHAR UTF-8
1 GEDC
2 VERS 5.5.1
2 FORM LINEAGE_LINKED
1 NOTE Test for bug identified by David Thaler
0 @1@ INDI
1 ADOP Y
1 FAMC @2@
2 ADOP BOTH
0 TRLR

Output:
0 HEAD
1 GEDC
2 VERS 7.0
1 NOTE Test for bug identified by David Thaler
0 @1@ INDI
1 ADOP Y
1 FAMC @2@
2 ADOP BOTH
0 TRLR

Can you provide more context?

The input you show does give me the output you show, but try this.


Windows setup instructions not working (IDFGH-2431)

Environment

Development Kit:      |ESP32-PICO-Kit]

Kit version (for WroverKit/PicoKit/DevKitC): [v1]

Module or chip used:  [ESP32-PICO-D4]

IDF version - v4.1-dev-1572-g30372f5a4

Build System:         |CMake]

Operating System:     [Windows]

Problem Description
Using the direction provided here: https://docs.espressif.com/projects/esp-idf/en/latest/get-started/windows-setup.html
Making specific note about this comment:
"Previous versions of ESP-IDF used the Legacy GNU Make Build System and MSYS2 Unix compatibility environment. This is no longer required, ESP-IDF can be used from the Windows Command Prompt."
I am unable to define the IDF_PATH variable.
The ESP-IDF source is stored at c:\src\esp-idf
If my IDF_PATH = "/c/src/esp-idf", and I try running "make menuconfig" from the examples/get-started/hello_world folder, I receive the following error:
Makefile:11: /c/src/esp-idf/make/project.mk: No such file or directory
make: *** No rule to make target '/c/src/esp-idf/make/project.mk'.  Stop.
If I set the IDF_PATH = "/c:/src/esp-idf" and try make menuconfig, I receive:
c:/src/esp-idf/make/project.mk:114: *** IDF_PATH cannot contain colons. If overriding IDF_PATH on Windows, use MSYS Unix-style /c/dir instead of C:/dir.  Stop.
So I am unclear of how the path should be defined as it seems the documentation does not work with the current IDF.
Thanks for your help!
Expected Behavior
make menuconfig from examples/get-started/hello_world should bring up the menuconfig
Actual Behavior
No ability to properly define IDF_PATH
Steps to repropduce

Attempt to implement the ESP-IDF
make menuconfig

Code to reproduce this issue
Unable to get this far

I think, you may be try to using the new CMake based system. If you installed everything, you have to run in a cmd the install.bat and export.bat files (if I remember their names correctly). These will generate you a shortcut with an IDF command prompt. The MSYS will not work with it. The IDF_PATH has to look like this: C:/src/esp-idf
After these, you have to forget everything that is connected to make commands.
You can use instead idf.py menuconfig, idf.py flash, and so on...
And remember: everything is different under CMake-based system.


[SMALLFIX]Add javadoc for the class of FakeUserGroupsMapping in JournalIntegrationTest.java

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/13474/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/13473/Failed Tests: 1org.alluxio:alluxio-tests: 1alluxio.master.MasterFaultToleranceIntegrationTest.deleteFileFault
Test FAILed.

jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/13491/
Test PASSed.


i get an error while importing with a .py file

when i run the file converted to txt provided i get an error looking like this
"
Traceback (most recent call last):
File "/home/justin/Desktop/pkmn/main.py", line 10, in
expansion = json.load(expan_list)
File "/usr/lib/python3.6/json/init.py", line 296, in load
return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'
"
main.txt
dont know what to make of it

also tried the shell doesn't work there


v3. Validator page. Number 3 behind validator name

Behind the name of every validator, there is a number 3.

Uuuhu! Eagle eye :100:
This is a variable that I had to use to debug the status of the validator!
The problem is this line, do you want to fix it?

PR send

Fixed in this commit: https://github.com/BitCannaGlobal/WeedWallet/commit/6fb0822dcd815eb3e02f4cb7c43cfc7698271e79

Fixed!


Feature/preparer time.time

Adds handling of time.Time to the preparer.
Addresses #490

lgtm (on rebase)


allow dialogs to be destroyed with read only dialog fields

dialog fields has a read_only field
It was incorrectly assumed to mean seeded in https://github.com/ManageIQ/manageiq/pull/22232 But dialog fields have a number of html attributes, so this was wrong.
Updating the field to allow it to be deleted
Which means that dialogs can be deleted.

Backported to petrosian in commit 1253ffd1ebbf210495bff236ef95b01193c33195.
commit 1253ffd1ebbf210495bff236ef95b01193c33195
Author: Joe Rafaniello<EMAIL_ADDRESS>Date:   Wed May 3 17:40:57 2023 -0400

    Merge pull request #22493 from kbrock/read_only_dialogs

    allow dialogs to be destroyed with read only dialog fields

    (cherry picked from commit f656e3ede72ac03aebdaefa67c2addf699c841bc)


build/libmaxmind.m4: fix build with host-pkgconf

Build with maxminddb is broken since version 3.0.5 and https://github.com/SpiderLabs/ModSecurity/commit/785958f9b5089b918c7d054cbcc2fe4a3c7b3788 because libmaxminddb has been removed from MAXMIND_POSSIBLE_LIB_NAMES
So, as suggested by Arnout in #2131, don't use MAXMIND_POSSIBLE_LIB_NAMES for pkg-config, because it was never called
anything other than libmaxminddb
Signed-off-by: Fabrice Fontaine<EMAIL_ADDRESS>

Do you have some comments on this PR?

No feedback?


Introspect overwrites prisma relation field names

Bug description

The docs: https://www.prisma.io/docs/concepts/components/introspection#introspection-with-an-existing-schema
claims that they maintain @map and @@map attributes and Custom @relation names.
However, it's not possible to achieve renaming relation fields for introspected workflow.
When I try to put @map attribute, I get this error:

Error parsing attribute "@map": The attribute @map can not be used on relation fields.

I've also tried to use relation names:
- CampaignAutomation      CampaignAutomation? @relation(fields: [campaignAutomationId], references: [id])
+ automation              CampaignAutomation? @relation("CampaignAutomation", fields: [campaignAutomationId], references: [id])

But the introspect overwrites all that changes, removing the relation name
How to reproduce

Create two tables with one-many relation and introspect the database. Then try to change the generated relation field name.
Expected behavior

Being able to change the introspected relation field names. They are generated as the table names in PascalCase, which is a horrible DX when making a prisma query.
Prisma information

Environment & setup

OS:  Ubuntu 20.04
Database:  MySQL
Node.js version:  v15.3.0
Prisma version:

@prisma/cli          : 2.13.1
@prisma/client       : 2.13.1
Current platform     : debian-openssl-1.1.x
Query Engine         : query-engine fcbc4bb2d306c86c28014f596b1e8c7980af8bd4 (at<EMAIL_ADDRESS>Migration Engine     : migration-engine-cli fcbc4bb2d306c86c28014f596b1e8c7980af8bd4 (at<EMAIL_ADDRESS>Introspection Engine : introspection-core fcbc4bb2d306c86c28014f596b1e8c7980af8bd4 (at<EMAIL_ADDRESS>Format Binary        : prisma-fmt fcbc4bb2d306c86c28014f596b1e8c7980af8bd4 (at<EMAIL_ADDRESS>Studio               : 0.329.0
Done in 3.81s.

Hey, thanks for reporting this.
You cannot put an @map on relation fields like the error message says, that is correct. @map is used to express a difference between an API level name and a db level name, relation fields are API level only and have no representation in the db. Therefore the directive is not necessary or available on them.
For relation fields introspection should automatically keep the names when you re-introspect. We had a regression in 2.13 where this stopped working, but we thought this was fixed with 2.13.  I'll investigate.

@do4gr Thanks for the info.
I've double checked and I'm using v2.13.1 and the issue still exists.

I tried reproducing this on MySQL and Postgres with the exact same version you ran but could not do so. This is what worked for me:
Create a 1:M relation with two tables:
CREATE TABLE "User" (
    id SERIAL PRIMARY KEY
);
CREATE TABLE "Profile" (
    id SERIAL PRIMARY KEY,
    "userId" INTEGER NOT NULL,
    FOREIGN KEY ("userId") REFERENCES "User"(id)
);

Introspect it.
model Profile {
  id     Int  @id @default(autoincrement())
  userId Int
  User   User @relation(fields: [userId], references: [id])

  @@index([userId], name: "userId")
}

model User {
  id      Int       @id @default(autoincrement())
  Profile Profile[]
}

Lowercase the User and Profile relation field names.
Run Introspect again.
For me this keeps the lowercased custom names.
I also tried adding relation names like this:
model Profile {
  id     Int  @id @default(autoincrement())
  userId Int
  user   User @relation("MyName", fields: [userId], references: [id])

  @@index([userId], name: "userId")
}

model User {
  id      Int       @id @default(autoincrement())
  profile Profile[] @relation("MyName")
}

This was also kept after reintrospection.
I ran into a bug though where introspect crashed if you dod not provide the @relation("MyName") on the User side.

Can you provide the full sql you used to create the initial database? Maybe there is some difference in there.

@Jolg42 looks like giving relation name on both sides (both models) fixes the issue in v2.13.1.
Thanks for the help! 😉

Giving the relation name should not be necessary to prevent the overwriting. When I tried reproducing it the names were kept without overwriting, so I'd still be interested in your SQL.

There's nothing fancy in that SQL I think:
CREATE TABLE `Campaign` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `campaignAutomationId` int(10) unsigned DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `campaignAutomationId_UNIQUE` (`campaignAutomationId`),
  KEY `fk_Campaign_CampaignAutomation1_idx` (`campaignAutomationId`),
  CONSTRAINT `fk_Campaign_CampaignAutomation1` FOREIGN KEY (`campaignAutomationId`) REFERENCES `CampaignAutomation` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=368967 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE `CampaignAutomation` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=488 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

If you can't reproduce and it works for me now, I think we can close the issue until someone else have this problem 😉