Windows auto-image setup script should be reworked

Currently, there are some issues with the auto-image setup script on windows.
We need to have desktop access and the VM needs to connect to Jenkins (this is vs. SSH on Linux, which is simpler).  To do this, today the setup script installs a startup task (on log-in) as dotnet-bot, then sets up auto-login for dotnet-bot.  It then restarts the machine.  The issue here is that the script is running as the system user, and there seems to be some level of non-determinism in how long it takes for the full dotnet-bot user to appear.  There was a wait installed of about 5 minutes which helps, but this is inefficient.
The suggested workflow is to add the auto login into first, then restart.

Download files as necessary (maybe put a loop here to avoid 404s)
Install user as auto-login
Put connection script into legacy startup folder??

/cc @tannergooding

Actually, the recommendation is to keep the auto-login startup script there like we have today, but modify the powershell script to instead set up auto-login in the registry, then reboot the machine.


Drop -u flag

'undefined' was not intended to be supported in the format.
This was an oversight in the reference implementation.
Delete the flag and all references to it.
Resolves #3

Current dependencies on/for this PR:

main

PR #4   👈

PR #5

This comment was auto-generated by Graphite.


Added a similar method and updated getindex to preserve tuplevector state

Hi,
This is a pretty small pull request. I have been using TupleVectors in a bunch of my personal work and I noticed that using similar, and taking slices of the array was creating a tuple of vectors or a vector of named tuples. To fix this I added a similar method, and a new getindex method that preserves the tuple state.
Old behavior:
tv = TupleVector(a=rand(10), b=rand(10))

similar(tv, 5)
# before pull-request:
# 10-element Vector{NamedTuple{(:u, :z), Tuple{Float64, Float64}}}:
# ...

# after pull-request returns:
# 10-element TupleVector with schema (a = Float64, b = Float64)

tv[1:5]
# before pull-request:
# (a = ...., b= ...)

# after pull-request
# 5-element TupleVector with schema (a = Float64, b = Float64)

I added two tests to check that slices and similar do return  TupleVectors. Hopefully, this is useful!

Great! Thanks for the PR. I hadn't noticed that I had Base.getindex(x::TupleVector, j) but Base.setindex!(a::TupleVector, x, j::Int).   The fields of the data named tuple can be arbitrary arrays. Array methods aren't entirely consistent - the index type can be Any, Integer, or Int depending on the method. Leaving it untyped fails the tests, but Integer passes locally for me. Maybe we can try that?
Also we should add Julia 1.7 to the CI

The CI thing is a small enough change I just did it in master

Ok, it's looking good. I just triggered a new release. Thanks for your help with this!


Updated docstrings in tomlantic.py for issue 3

@markjoshwel After syncing my fork, following this tutorial,  realized I should have merged the branch from my first PR with this new branch. Instead I just updated all the the relevant docstrings. I realized this is bad practice. I'm sorry, I'm still learning. I think I will just close the old PR go forward with this one.
If you have any tips or advice I would definitely appreciate that so much!

@markjoshwel After syncing my fork, following this tutorial, realized I should have merged the branch from my first PR with this new branch. Instead I just updated all the the relevant docstrings. I realized this is bad practice. I'm sorry, I'm still learning. I think I will just close the old PR go forward with this one.
If you have any tips or advice I would definitely appreciate that so much!

regarding this, i'd suggest instead of making separate branches for each change, the workflow that i use and have seen others use is the following:

one issue = one pull request

usually if an issue is too big for a single pull request, example being if it encompasses changes across a large chunk of a codebase, it would be split up into smaller issues. after being split up into smaller issues the same rule would apply (1 issue = 1 PR)
in the other pull request (#7) you have the same commit in this PR, and this is usually bad practice — each pull request should handle separate 'concerns' (or in this case, separate files!)
as such, as #7 already has a commit that addresses this pull request, making this PR essentially redundant.
thankfully the issue that i opened is pretty small, so i could simply merge in this and your other PR without much hassle!
going forward as a contributor to open source projects (and thank you so much for being one!), i'd recommend you just make a single pull request for issues that encompass small changes like #3, which is exactly what you did with #7 (although i'm not sure if this was intended)
anyways, thank you so much for the contribution!

in the other pull request (https://github.com/markjoshwel/tomlantic/pull/7) you have the same commit in this PR, and this is usually bad practice — each pull request should handle separate 'concerns' (or in this case, separate files!)
as such, as https://github.com/markjoshwel/tomlantic/pull/7 already has a commit that addresses this pull request, making this PR essentially redundant.

Embarrassingly, I think I accidently created the branch for the README fixes from the the tomlantic.py fixes, rather than the main branch. I didn't notice until I already submitted  the pull request from my fork, so I was afraid to mess things up :(.
Thank you for being so friendly and welcoming to beginners. I will eagerly await the next issue/assignment you need a hand with!!


Moved test out of run_in_graph_and_eager_mode in lamb test

cc @gabrieldemarmiesse

@junjiek
You are owner of some files modified in this pull request.
Would you kindly review the changes whenever you have the time to?
Thank you very much.


http_proxy contains \r causes proxy error!

Get by proxy issue an error:

Find in proxy.go，parses http_proxy incorrectly when http_proxy contains \r\n(Win7)：

Please don't paste screenshots, and give a short self-contained program that reproduces this issue.
Assuming you mean the HTTP_PROXY environment variable, why would its value even contain a \r character?

Characters that are allowed in a URI but do not have a reserved
purpose are called unreserved.  These include uppercase and lowercase
letters, decimal digits, hyphen, period, underscore, and tilde.

How did \r\n get into your environment variable? Seems like that's the bigger problem.
In any case, this is fixed in Go 1.12 (in that we return a more explicit error earlier) and backported on the Go 1.11 and Go 1.10 branches, though we haven't cut new releases of those yet.
Closing as nothing to do, unless we hear otherwise.

I use the rapidee to manage my windows env.I copy that env setting from other.In rapidee, can't see any different！
I known the URI contains \r\n is invalid.But for robustness, program should not trust any user input .

The HTTP_PROXY environment variable should be used as-is. If you're getting newlines in there, you'll have problems with lots of software. You should file a bug with the software that added the newlines.


The code is a shame

https://github.com/aminyazdanpanah/PHP-FFmpeg-video-streaming/blob/847d30e282ae41b389b88795ddb5010f8b900b59/src/File.php#L67
You are silencing the actual error, substituting it with a useless stub that cannot help to investigate and fix the problem.

If you have any suggestions send a pull request.


[terra-clinical-data-grid] Add theme context

Summary
Apply theme context to terra-clinical-data-grid
Deployment Link

https://terra-clinical-deployed-pr-#.herokuapp.com/
Testing

Additional Details

Thank you for contributing to Terra.
@cerner/terra

Did we add the theme context to RowSelectionCell.jsx?

Added 46e8de9


Add spinner/button longrunning class to settings save button

Made the button for saving settings a <button> element and added the button longrunning class to it.

Merged in 05be39e85f7fde5ba28966a6d0cdfb238d9cc918. Thanks!


codeunit 12 "Gen. Jnl.-Post Line" Include Sender -> Yes

Can you add sender to this event in codeunit 12 "Gen. Jnl.-Post Line"?
    [IntegrationEvent(false, false)] // -> [IntegrationEvent(true, false)]
    local procedure OnPostDtldEmplLedgEntriesOnAfterCreateGLEntriesForTotalAmounts(var TempGLEntryBuf: Record "G/L Entry" temporary; var GlobalGLEntry: Record "G/L Entry"; NextTransactionNo: Integer)
    begin
    end;

It's necessary for posting extra GenJnlLines after handling some buffer here

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


Feature/database models

These are the models I think I will need for this project. I don't yet have perfect knowledge of what the metadata that needs to be stored in the Batch table will look like so I've left some of those fields at just max_length=256 for now. I'm open to changing any of them now if you have any recommendations, however they can always be changed later as well. The rest of the tables I feel more confident about.

Ok @dongbohu I've either responded to all your comments, made the suggested change, or both.


Clarify what is a "Message Request"

In Section 3.2, "Fault/Event-Queue (FQ)", "Message Request" is too vague.  Please change this to "PCIe Message Request".  (Or, if that's incorrect, then an explanation is in order.)

PR #148


Dialog buttons get disabled when clicking inside dialog

I am currently having a problem with the dialog system. I can even reproduce it in your example application (see screenshots).
Thats the initial state when opening the dialog:

However when I click somewhere other than the TextBox (e.g. on the "Add a new fruit" text) both buttons seem to get disabled and I cannot figure out a way to enable them again:

Any update on this?

Seems to be a focus issue. I can get the buttons enabled again by tabbing around or when opening another dialog...
The routedcommand is disabling the button, so an option is to opt out of using the default commands and implement your own event handler or some command to manually close your dialog by reference. That's most likely one or two lines of code so it won't be very problematic: MyDialogHost.IsOpen = false;

Yay, thanks a lot!

You can get the latest CI/-pre build from nuget,

Oh wow, it took me a while to realize that the newer version are not actually listed as newer by NuGet. You might want to consider changing your versioning scheme to make sure the chronologically newest version is actually regarded as newest version by NuGet to enable users to check for updates via NuGet :).


Is there any way to login

Hi,i find can't use localStorage or cookie,is there any way to login?

I have resolved the problem

you can share some code about login process using cookies or localstorage


Dubious, test returned 255

hoo@HZ ~ > panda install Pod::To::HTML
==> Fetching Pod::To::HTML
==> Building Pod::To::HTML
Compiling lib/Pod/To/HTML.pm to mbc
==> Testing Pod::To::HTML
t/01-basic.t .... ok
t/02-code.t ..... ok
t/03-comment.t .. ok
Cannot call infix:<>>(Mu, Int); none of these signatures match:
    ($?)
    (\a, \b)
    (Real \a, Real \b)
    (Int:D \a, Int:D \b)
    (int $a, int $b)
    (Num:D \a, Num:D \b --> Bool)
    (num $a, num $b --> Bool)
    (Rational:D \a, Rational:D \b)
    (Rational:D \a, Int:D \b)
    (Int:D \a, Rational:D \b)
    (Instant:D $a, Instant:D $b)
    (DateTime:D \a, DateTime:D \b)
    (Date:D $a, Date:D $b)
  in block  at /home/hoo/.panda-work/1439741790_1/lib/Pod/To/HTML.pm:88
  in sub assemble-list-items at /home/hoo/.panda-work/1439741790_1/lib/Pod/To/HTML.pm:80
  in sub visit at /home/hoo/.panda-work/1439741790_1/lib/Pod/To/HTML.pm:60
  in sub pod2html at /home/hoo/.panda-work/1439741790_1/lib/Pod/To/HTML.pm:132
  in block <unit> at t/04-lists.t:18

t/04-lists.t ....
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 3/3 subtests

Test Summary Report
-------------------
t/04-lists.t  (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 3 tests but ran 0.
Files=4, Tests=6,  6 wallclock secs ( 0.03 usr  0.00 sys +  6.63 cusr  0.16 csys =  6.82 CPU)
Result: FAIL
test stage failed for Pod::To::HTML: Tests failed
  in method throw at /home/hoo/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:1
  in method install at lib/Panda.pm:133
  in method resolve at lib/Panda.pm:218
  in sub MAIN at /home/hoo/.rakudobrew/bin/../moar-nom/install/share/perl6/site/bin/panda:20
  in block <unit> at /home/hoo/.rakudobrew/bin/../moar-nom/install/share/perl6/site/bin/panda:87

Failure Summary
----------------
Pod::To::HTML
	*test stage failed for Pod::To::HTML: Tests failed

hoo@HZ ~ > perl6 --version
This is perl6 version 2015.07.1-125-gf185e08 built on MoarVM version 2015.07-53-g673a3c1
hoo@HZ ~ > uname -a
Linux HZ 4.1.4-1-ARCH #1 SMP PREEMPT Mon Aug 3 21:30:37 UTC 2015 x86_64 GNU/Linux

The issue in rakudo has been fixed, should pass now.

It works fine now , thx   :)


Adding callback attribute.

According to the documentation, when you send a message there is an option to set the callback url for the delivery receipt.

Hi Daniel, this is excellent - thank you!


3d-tiles branch: trackedEntity doesn't work?

I've only compared 3d-tiles with mesh_compression_open3dgc, but when I use trackedEntity in 3d-tiles it just centers the camera at the center of the Earth, as if without trackedEntity.
I can provide more details later after SIGGRAPH if needed.
function createModel(url) {
    viewer.entities.removeAll();

    var position = Cesium.Cartesian3.fromDegrees(0, 0, 0);
    var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, 0, 0, 0);

    var entity = viewer.entities.add({
        name : url,
        position : position,
        orientation : orientation,
        model : {
            uri : url,
            minimumPixelSize : 128
        }
    });
    viewer.trackedEntity = entity;
}

Most likely, this is the problem: https://github.com/AnalyticalGraphicsInc/cesium/compare/3d-tiles#diff-b63bb2797bd8e2bc3fc273f1d6b1bca0R120
We don't plan to keep the display condition change so feel free to delete all the changes in that file.

Changing that to false fixes it. I really only need this right now for debugging and demo.

Fixed in 741c1adbceb193ae7d78b1e998a8012020c392d0.


Add "SQL Output Panel"

Hello!
Add "SQL Output Panel"

Open via Command Palette -> PRQL: Open SQL Output Panel

Remove folding markers definition

It seems it's not necessary to provide the definition because it's
handled automatically via built-in folding providers. It also probably
never worked in the first place because the regex in "end" is invalid.

@aljazerzen do you know how we can do a release?

@max-sixty

Something nice that @aljazerzen built in the playground was an error panel, so that typing out a query doesn't constantly present an error as expressions are only partially formed.

Yeah, that's better. I will see if I can pop a little segment at the bottom of the SQL output panel with the error.

It seems slower than the playground, maybe 500ms lag. Is this a downside of VSCode? The playground's immediate feedback I found really cool

The output gets refreshed on save, on editor change, and every 1000ms. It should be fast enough to do it on every key press or maybe just lower the interval.

It does look like SQL formatting, but different from the formatting of a SQL file

Yeah, that bothers me as well. It's because VS Code doesn't give you access to the internal highlighter nor a way to get the current theme's language syntax colors (there's an open ticket about it somewhere). You can only access colors from around the editor which is why it should at least match the background.
The highlighting library I'm using does ship with a few themes (are yours on the list @max-sixty @aljazerzen?) so maybe I can see if the user has a theme that's bundled and fallback to the current generic solution if not.

Yes on the first two! Thank you, this would be really great for the project.
On the theming — no great stress if it's not available, I think it looks OK! If there becomes a way to tell VSCode "this is a SQL doc" then great.


useNumberField: old value flash after blur in controlled mode

🐛 Bug Report
When consuming useNumberField in controlled mode the previously set value will be visible briefly after blurring the input.
🤔 Expected Behavior
The input should not display the "old" value after blurring.
😯 Current Behavior
After entering a new value in controlled mode and blurring the input the previous value will flash up for a second before the new value from props is applied again.
💁 Possible Solution
The visual bug seems to be related to this useEffect in useNumberFieldState:
<EMAIL_ADDRESS>  // Update the input value when the number value or format options change. This is done
  // in a useEffect so that the controlled behavior is correct and we only update the
  // textfield after prop changes.
  useEffect(() => {
    setInputValue(format(numberValue));
  }, [numberValue, locale, formatOptions]);

Switching the effect to a useLayoutEffect removes the visual glitch as the updated value is set before the browser repaints.
However, the input will still have one render cycle with the old value again (can be seen in code sample)
💻 Code Sample
Codepen showing the issue: https://codesandbox.io/s/amazing-oskar-zb73h8?file=/src/App.js
(based on controlled example in docs, glitch is also visible there)
To reproduce:

Enter a new value in the input
Click outside the input to blur
Old value will flash up briefly
console.log shows the single render cycle with the old value after blurring

🌍 Your Environment

Software
Version(s)

react-aria/numberfield
3.1.3

Browser
Chrome 98.0.4758.82

Operating System
Win 10

Seems like this issue is still occurring<EMAIL_ADDRESS>works fine, but starting from 3.0.5 it seems to be broken.
See working codesandbox and broken codesandbox. See reproduction above.

Hey, so it looks like you're seeing an issue with StrictMode. If you remove that, your NumberField works perfectly. I'm not sure about the difference between 3.0.4 and 3.0.5 off the top of my head. When we tackle StrictMode, hopefully this will help though.
That work will be done under this issue https://github.com/adobe/react-spectrum/issues/779

Yes indeed, thanks! We came across a second issue that was "caused" by StrictMode (and React 18 related). Anyway thanks for these awesome libraries (react-aria and react-stately), it has been a pleasure using them!

I'm also finding that only every second arrow key press works in StrictMode.
Repro: https://codesandbox.io/s/practical-lake-47ptck?file=/src/App.js
Is it worth creating an issue for this? Should I comment on #779?

@peteragarclover I've made a comment so we know there is a second reported issue here. Thanks for reporting.


Allow multiple statements in single query

Allows users to pass in multiple ;-separated queries into the same call.
Returns a list of ResultSet instances, as if the query() method had been
mapped across the different queries.
client.query("SELECT * FROM mymeas WHERE time>now()-1h; " \
    "SELECT * FROM othermeas WHERE time>now-1h")

Attempting to send multiple queries to the DataFrameClient currently throws an exception.

@amancevice I am all for this. But can you please write a test?

@aviau Sure thing; committed a test just now

And now the test passes flake8 checks...

@aviau just checking in -- do you need anything else to accept the PR?

@aviau Hi, just checking in again

That works.


NodeFailures on SLURM w/ version 2.6

Environment:

2.6.0

[aws]
aws_region_name = us-east-1

[global]
cluster_template = pcprod
update_check = true
sanity_check = true

[aliases]
ssh = ssh {CFN_USER}@{MASTER_IP} {ARGS}

[cluster pcprod]

key_name = s4-sinaia-valinor-nphi
base_os = alinux2
cluster_type = spot
scheduler = slurm

master_instance_type = m4.4xlarge
compute_instance_type = c5.12xlarge
compute_root_volume_size = 500
master_root_volume_size = 800

initial_queue_size = 1
max_queue_size = 800
maintain_initial_size = true

s3_read_resource = arn:aws:s3:::s4-sinaia-valinor-nphi/*
s3_read_write_resource = arn:aws:s3:::s4-sinaia-valinor-nphi/*

tags = {"RunSchedule": "24x7", "PC": "PCPROD"}

extra_json = { "cluster" : { "ganglia_enabled" : "yes" } }

fsx_settings = performancefs
efs_settings = generalfs
scaling_settings = sc
cw_log_settings = pcprodlog

post_install = https://gitlab.com/iidsgt/parallel-cluster/-/raw/c3d78aef623eeeb642f938bad378901a4df293ca/ProdPostInstall.py

post_install_args = "{cromwell_db_user} {cromwell_db_password} {S3_Key} {S3_Secret}"

vpc_settings = pcluster

[cw_log pcprodlog]
enable = true
retention_days = 14

[efs generalfs]
shared_dir = /efs
performance_mode = generalPurpose

[fsx performancefs]
shared_dir = /fsx
storage_capacity = 9600
#imported_file_chunk_size = 1024
deployment_type = SCRATCH_2
#export_path = s3://parallelcluster/fsx
#import_path = s3://parallelcluster
weekly_maintenance_start_time = 5:00:00

[scaling sc]
scaledown_idletime = 30

[vpc pcluster]
### Excluded values

Bug description and how to reproduce:
With ondemand or spot instances nodes are consistently being put into a failed state, or being marked as down and the job being marked as complete when it is not complete.
Additional context:
Cloudwatch nodewatcher lines for a failed node.
15:25:04
2020-03-23 15:25:04,651 INFO [slurm:is_node_down] Node is in state: ''

15:25:04
2020-03-23 15:25:04,652 WARNING [nodewatcher:_poll_wait_for_node_ready] Node reported as down

15:25:14
2020-03-23 15:25:14,682 INFO [slurm:is_node_down] Node is in state: ''

15:25:14
2020-03-23 15:25:14,682 WARNING [nodewatcher:_poll_wait_for_node_ready] Node reported as down

15:25:24
2020-03-23 15:25:24,710 INFO [slurm:is_node_down] Node is in state: ''

15:25:24
2020-03-23 15:25:24,710 WARNING [nodewatcher:_poll_wait_for_node_ready] Node reported as down

15:25:34
2020-03-23 15:25:34,740 INFO [slurm:is_node_down] Node is in state: ''

15:25:34
2020-03-23 15:25:34,740 WARNING [nodewatcher:_poll_wait_for_node_ready] Node reported as down

15:25:34
2020-03-23 15:25:34,740 ERROR [nodewatcher:_terminate_if_down] Node is marked as down by scheduler or not attached correctly. Terminating...

Node Logs
i-0ffa05db478debd93.tar.gz

Hi @medcelerate ,
Thank you for opening this issue, I see that you have posted comment in another post as well.
We have recently seen an issue with the master's network being overwhelmed when there are large number of compute instances, which causes all sorts of problems in sqswatcher and nodwatcher. We will be looking into this issue, it would help if you can also provide the logs on the master node, especially jobwatcher and sqswatcher logs.
In the meantime it might be worth for you to try using a larger compute instance type in order to decrease the number of instances while maintaining the number of cores.

Thanks for the reply! I should mention this is happening even on just 1 or
two nodes. No mpi just single jobs on each node. I will add the logs.
On Tue, Mar 24, 2020 at 8:15 PM rexcsn<EMAIL_ADDRESS>wrote:

Hi @medcelerate https://github.com/medcelerate ,
Thank you for opening this issue, I see that you have posted comment
https://github.com/aws/aws-parallelcluster/issues/1327#issuecomment-602690335
in another post as well.
We have recently seen an issue with the master's network being overwhelmed
when there are large number of compute instances, which causes all sorts of
problems in sqswatcher and nodwatcher. We will be looking into this
issue, it would help if you can also provide the logs on the master node,
especially jobwatcher and sqswatcher logs.
In the meantime it might be worth for you to try using a larger compute
instance type in order to decrease the number of instances while
maintaining the number of cores.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aws/aws-parallelcluster/issues/1709#issuecomment-603570247,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHYKRGJFTSQJODCZLITYD5TRJFEIXANCNFSM4LSAG7QQ
.

sqswatcher.txt
jobwatcher.txt

Here are the files you requested from the master node.

@rexcsn Have the logs been of any usefulness?

Hi @medcelerate ,
Unfortunately, I did not have much time to look.
Here is what I have found so far:

From the jobwatcher logs I am seeing nodes being placed in down* and unk* from time to time. Not sure of the reason.
Node successfully added to scheduler config:

2020-03-18 23:58:57,598 INFO [sqswatcher:_parse_sqs_messages] Processing parallelcluster:COMPUTE_READY event for instance Host(instance_id='i-0ffa05db478debd93', hostname='ip-10-0-24-231', slots='48', gpus=0)
2020-03-18 23:58:57,599 INFO [slurm:_write_node_list_to_file] Writing updated /opt/slurm/etc/slurm_parallelcluster_nodes.conf with the following nodes: ['NodeName=dummy-compute[1-793] CPUs=48 State=FUTURE\n', 'NodeName=ip-10-0-28-209 CPUs=48 State=UNKNOWN\n', 'NodeName=ip-10-0-23-177 CPUs=48 State=UNKNOWN\n', 'NodeName=ip-10-0-16-181 CPUs=48 State=UNKNOWN\n', 'NodeName=ip-10-0-17-138 CPUs=48 State=UNKNOWN\n', 'NodeName=ip-10-0-17-19 CPUs=48 State=UNKNOWN\n', 'NodeName=ip-10-0-27-226 CPUs=48 State=UNKNOWN\n', 'NodeName=ip-10-0-24-231 CPUs=48 State=UNKNOWN\n']

For the particular instance i-0ffa05db478debd93, I don't see any obvious error/exception in nodewatcher log, but nodewatcher is unable to retrieve the node's state from scheduler:

2020-03-18 23:59:06,860 INFO [slurm:is_node_down] Node is in state: 'allocated'
...
2020-03-19 00:00:07,236 INFO [slurm:is_node_down] Node is in state: ''

Since nodewatcher is unable to retrieve node state, it shuts the node down after 5 minutes, which is expected: 2020-03-19 00:05:08,179 ERROR [nodewatcher:_terminate_if_down] Node is marked as down by scheduler or not attached correctly. Terminating...
The node is correctly removed from slurm configuration: 2020-03-19 00:06:59,277 INFO [sqswatcher:_process_sqs_messages] Successfully processed event REMOVE for instance Host(instance_id='i-0ffa05db478debd93', hostname='ip-10-0-24-231', slots=None, gpus=None)

I would say that overall pcluster workflow looks ok, and the main question is why nodewatcher was unable to retrieve the node's state from scheduler, especially when it is able to see the node in allocated at first.
Slurm logs might help in this case, please attach /var/log/slurmctld.log from master and /var/log/slurmd.log from compute if possible.
On the other hand, are you doing any action to modify/update nodes in slurm either manually or from your post-install script? Please confirm that the same problem will persist if you remove the post-install script and use on-demand.
Thank you!

@rexcsn I can confirm the issue does still occur with ondemand instances and spot instances. The only thing we are doing is installing docker. Attached is the slurmctld log. Slurmd logs are hard to get from a node once it is marked as NODE Failure. It appears most of the issues come from when a node is marked as failure.
slurmctld.log

Attached is the slurmd from the last available node.
slurmd.log

A quick update on this, submitted a few jobs that simply require using the aws CLI, and noticed that when network load becomes high the node is unable to be accessed. SSH to the nodes is incredibly slow and the nodes are eventually marked as nodefailure and killed. I'm not sure what the best way to resolve the networking issue would be between the nodes. We are using the c5.4xlarge which should have up to 10gb bandwidth. This happens if writing to EFS or FSX storage.

I've been watching this thread because I recently set up parallelcluster and experienced compute node issues. My compute nodes were consistently being terminated, always about 10 minutes after starting. This behavior occurred with more than one scheduler. Changing 'scaledown_idletime' had no effect.
I too was installing docker in my startup scripts. My issue may be unrelated to this one, but considering we're both installing docker, I thought I'd share.  I found that when I moved my docker installation from post_install to pre_install the compute nodes became stable.
I haven't had time to investigate any more thoroughly. I'm wondering if parallelcluster and docker try to use any of the same ports.

This is interesting, let me try moving docker to pre-install instead. This seems to occur when using docker and when not using docker, but I will give it a go.

@woodshop I went ahead and moved the docker install to pre-install script and it did give the nodes some extra life time, but still having the same issue, nodes are dying around 15 minutes.

Ah too bad @medcelerate, I guess it was worth a try though.

@woodshop One thing to mention I updated the config for all the compute nodes but not the master node, did you see this change when you updated the master as well?

@medcelerate I did a complete teardown with pcluster delete. I don't think I tested the scenario where different configs were used for Master and Compute. In case it helps, I've pasted below my anonymized config, pre_, and post_install scripts. (My post_install script is mainly used to import our home directory and other pre-existing efs volumes into the new "cluster".)
config
[global]
cluster_template = default
update_check = true
sanity_check = true

[aws]
aws_region_name = us-east-1

[cluster default]
base_os = alinux2
compute_instance_type = p2.xlarge
initial_queue_size = 0
maintain_initial_size = true
master_instance_type = m4.large
max_queue_size = 12
placement_group = DYNAMIC
pre_install = XXX
post_install = XXX
s3_read_resource = arn:aws:s3:::XXX/*
scheduler = slurm
vpc_settings = default
key_name = XXX
shared_dir = /shared
scaling_settings = default
ebs_settings = default

[vpc default]
vpc_id = XXX
vpc_security_group_id = XXX
additional_sg = XXX
master_subnet_id = XXX
use_public_ips = false

[scaling default]
scaledown_idletime = 10

[ebs default]
volume_size = 64

parallel-cluster-pre-install.sh
#!/bin/bash
set -x
yum update -y

# install docker with gpu support
amazon-linux-extras install -y docker
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | tee /etc/yum.repos.d/nvidia-docker.repo
yum install -y nvidia-container-toolkit
systemctl restart docker

parallel-cluster-post-install.sh
#!/bin/bash
set -x
. "/etc/parallelcluster/cfnconfig"

yum update -y
yum install -y amazon-efs-utils

file_system_id_1=XXX
file_system_id_3=XXX
file_system_id_4=XXX
efs_mount_point_3=/data/audio
efs_mount_point_4=/home

mkdir -p "${efs_mount_point_3}"
users=( XXX )
for user in "${users[@]}"
do
    mkdir -p "${efs_mount_point_4}/${user}"
done

echo "${file_system_id_3}:/ ${efs_mount_point_3} efs tls,_netdev" >> /etc/fstab
for user in "${users[@]}"
do
    echo "${file_system_id_4}:/${user} ${efs_mount_point_4}/${user} efs tls,_netdev" >> /etc/fstab
done

mount -a -t efs,nfs4 defaults

echo "%wheel ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/wheel
groupadd -g 1001 XXX
groupadd -g 1002 XXX
groupadd -g 1003 XXX
groupadd -g 1004 XXX
groupadd -g 1005 XXX
groupadd docker

useradd -M -u 1001 -g XXX -G izo,docker,wheel -b "${efs_mount_point_4}" XXX
useradd -M -u 1002 -g XXX -G izo,docker -b "${efs_mount_point_4}" XXX
useradd -M -u 1003 -g XXX -G izo,docker -b "${efs_mount_point_4}" XXX
useradd -M -u 1004 -g XXX -G izo,docker -b "${efs_mount_point_4}" XXX

# install extra packages
yum install -y tmux htop

# if Master node, mount file_system_id_1 and copy to /shared
case "${cfn_node_type}" in
    MasterServer)
        mkdir /mnt/efs
        mount -t efs -o tls ${file_system_id_1}:/ /mnt/efs
        cp -r /mnt/efs/* /shared
        umount /mnt/efs
        ;;
    ComputeFleet)
        ;;
    *)
        ;;
esac

@woodshop thanks! I'm starting up a second parallel cluster with the same config and see if we see the same issues with the same config on master and compute.

@woodshop @rexcsn So I created a new cluster following woodshops guidance however at exactly 10 minutes the node which the tasks are running on is marked as down and removed.

More information, I spun up another cluster with dynamic placement group, had the same issue. Furthermore when the node went down it did not create any logs in /home/logs. @rexcsn Could this be an issue with the controller node and compute nodes being in different availability zones?

@woodshop Did you ever use a public/private subnet configuration or just a single subnet?

Hey @medcelerate, with regard to multiple availability zones, th PC wiki suggest that there could be problems with EFS:
https://github.com/aws/aws-parallelcluster/wiki/EFS-issues
The docs also advise a single availability zone is better for performance, via a placement group:
https://github.com/aws/aws-parallelcluster/wiki/Best-Practices
As for my subnet configuration, I'm using a single private subnet for both master and compute.
The subnet allows outbound internet connections via an AWS-managed NAT Gateway. The subnet is reachable within our company's VPN via a site-to-site VPN connection. (I did not personally set up NAT, VPN, and subnets; these were arranged by our IT.)
A few other things... is your parallelcluster version up-to-date? v6.1 was just released a few days ago. Have you made sure that your DHCP option set is configured properly (https://docs.aws.amazon.com/parallelcluster/latest/ug/networking.html)? Also, make sure to run pcluster create with the -nr flag. This way the CloudFormation stack won't be immediately torn down if creation fails, and will preserve any logs in CloudWatch.

@woodshop Definitely not related to EFS, this issue happened prior. The automated vpc creation in parallel cluster put the public and private subnets in separate zones for some reason. The cluster creation doesn't fail but when the nodes die they don't leave much trace.
There is no logs.gz but I do have the relevant ones saved in cloudwatch. Both dns options are set in the vpc.
I am running version 2.6.1 now and am seeing the same issues. It seems like this issue may be networking related but I am unsure what other methods of debugging could be used to trace where the issue is arrising.

@medcelerate I guess your problem is probably not related to availability zones, but you should be able to force them to be in the same zone by setting
[cluster default]
...
placement = cluster
placement_group = DYNAMIC
...

The next thing I would inspect is the security group assignment. Is it possible that the sg is too restrictive? I am using two security groups. The primary group allows all incoming traffic from itself. This should guarantee that the compute and master nodes can talk to each other. My second security group is configured to allow incoming connections from subnets associated with the VPN. You could probably combine these two groups.
Finally, even though your compute nodes are terminating, the logs should persist for 2 weeks in CloudWatch (as long as you don't delete the cluster). Look for any hints in "/aws/parallelcluster//ip-..cfn-init".

@woodshop setting placement=cluster actually causes an error in setup. I have to try running it again, but believe it is due to the public and private subnets being in a different AZ. I checked both the security groups and they allow all traffic between them, both inbound and outbound. I do have the logs in cloudwatch, but there is nothing of interest. The only thing is nodewatcher almost immediately receives a signal that the node is marked down by slurm. I can share that here.

@medcelerate Ah, I didn't understand that your subnets are in different AZs. I can't find anything in the docs that say this isn't supported, but all of the network configurations in the following page show the subnets residing in the same AZ.
https://docs.aws.amazon.com/parallelcluster/latest/ug/networking.html
Is it possible to retry using the same AZ for both subnets?

@woodshop Let me see if I can create a VPC with both in the same AZ, the interesting thing is that this VPC was create with the pcluster configure command so it put the two subnets in different availability zones.

@woodshop Created a new vpc and waiting to see if jobs die, but in the meantine, interesting information. When a job is running there is what is happening in node watcher.
2020-04-14 02:11:48,639 INFO [slurm_commands:get_pending_jobs_info] Retrieved 0 pending jobs
2020-04-14 02:11:48,721 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/800
2020-04-14 02:11:48,722 INFO [nodewatcher:_poll_instance_status] Instance had no job for the past 40 minute(s)
2020-04-14 02:12:48,632 INFO [nodewatcher:_refresh_cluster_properties] Refreshing cluster properties
2020-04-14 02:12:48,739 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/800
2020-04-14 02:12:48,753 INFO [slurm:is_node_down] Node is in state: 'idle'
2020-04-14 02:12:48,764 INFO [slurm:has_jobs] Found the following running jobs:

2020-04-14 02:12:48,771 INFO [slurm_commands:get_pending_jobs_info] Retrieved 0 pending jobs
2020-04-14 02:12:48,891 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/800
2020-04-14 02:12:48,893 INFO [nodewatcher:_poll_instance_status] Instance had no job for the past 41 minute(s)
2020-04-14 02:13:48,663 INFO [slurm:is_node_down] Node is in state: 'idle'
2020-04-14 02:13:48,674 INFO [slurm:has_jobs] Found the following running jobs:

2020-04-14 02:13:48,680 INFO [slurm_commands:get_pending_jobs_info] Retrieved 0 pending jobs
2020-04-14 02:13:48,800 INFO [utils:get_asg_settings] ASG min/desired/max: 0/1/800
2020-04-14 02:13:48,801 INFO [nodewatcher:_poll_instance_status] Instance had no job for the past 42 minute(s)
2020-04-14 02:14:48,731 INFO [slurm:is_node_down] Node is in state: ''
2020-04-14 02:14:48,731 WARNING [nodewatcher:_poll_wait_for_node_ready] Node reported as down

Hi @medcelerate
sorry for our late reply. let me try to help drilling down the issue you are facing.
First things I would do are the following:

Create the same cluster without any pre/post install scripts and see if the issue occurs also in that case.
Pick a master node with enhanced networking such as m5n.4xlarge
Always use placement = compute especially if you require different instance types for the master and compute fleet.
Unfortunately picking a specific AZ is a current limitation of pcluster configure we are aware of. I think for now you could stick to the single subnet setup so that we do not change to many variables at once.

So far I have tried
Changing the master node to c5n.4xlarge - Same Issue
Used placement = compute
Manually added another private subnet in the same AZ as the public subnet.
I will try creating without pre and post install scripts, though our
workload are heavily reliant on docker.
@demartinofra
On Thu, Apr 16, 2020 at 8:51 AM Francesco De Martino <
<EMAIL_ADDRESS>wrote:

Hi @medcelerate https://github.com/medcelerate
sorry for our late reply. let me try to help drilling down the issue you
are facing.
First things I would do are the following:

Create the same cluster without any pre/post install scripts and see
if the issue occurs also in that case.
Pick a master node with enhanced networking such as m5n.4xlarge
Always use placement = compute especially if you require different
instance types for the master and compute fleet.
Unfortunately picking a specific AZ is a current limitation of pcluster
configure we are aware of. I think for now you could stick to the
single subnet setup so that we do not change to many variables at once.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aws/aws-parallelcluster/issues/1709#issuecomment-614632689,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHYKRGK4DHPPQGKJTPLDHYTRM35MLANCNFSM4LSAG7QQ
.

I will try creating without pre and post install scripts, though our workload are heavily reliant on docker.

sure I don't want you to get rid of those but I would like to understand if the problem comes from the custom script so that we can focus on debugging that one and understand how it conflicts with ParallelCluster.

@demartinofra Ok, is there any recommendation for tools to simulate heavy file system usage. I have tested before and high cpu, high memory jobs work fine, only when there start to be writes to fsx or efs that issues start arising.

You could try to run something like this:
#!/bin/bash

count=1
while true; do
  ((count++))
  if !((count%10000)); then
    echo "$(date)"
    dd if=/dev/zero of=/path/to/dir/filei1M_$$.$count.txt count=1 bs=1048576
    sleep 0.01
  fi
done

And use sbatch to submit a script that looks something like this (where of course you need to set nodes and tasks)
cat job.sh
#!/bin/bash
#BATCH --cpus-per-task=1
set -xe

srun /shared_area/cpu_io_intensive_job.sh

My guess is that EFS and FSx are not the real culprits here but rather networking and shared master EBS drive are. We noticed in the past that ganglia performs some aggressive I/O as the number of nodes in the cluster grows while Slurm requires significant networking as the cluster scales. Also the stdout and stderr of the jobs are by default redirected to the job working directory and if you are using the user home this is shared over NFS.
Something that might help is building a CloudWatch dashboard and look at some of the relevant metrics. Here is a quick example: https://gist.githubusercontent.com/demartinofra/4a1fa0ff84726114f1037746151ba2c6/raw/36aff4ea75d7e09c2ed0ed114c519c10e87c2c52/ParallelCluster%2520CW%2520dashboard%2520example

@demartinofra I went ahead and the script on one node with two separate jobs and I am not seeing the usual error messages in nodewatcher, normally it would be giving blank node states and then getting a response that the node is down from the controller. So now this makes me curious what in my pre and post install scripts could be causing the issue.

This is what nodewatcher gives currently
2020-04-16 21:05:58,448 INFO [slurm:has_jobs] Found the following running jobs:
                 4   compute   run.sh ec2-user  R       6:05      1 ip-10-0-34-78
                 5   compute   run.sh ec2-user  R       2:45      1 ip-10-0-34-78
2020-04-16 21:05:58,448 INFO [nodewatcher:_poll_instance_status] Instance has active jobs.
2020-04-16 21:06:58,388 INFO [slurm:is_node_down] Node is in state: 'mixed'
2020-04-16 21:06:58,398 INFO [slurm:has_jobs] Found the following running jobs:
                 4   compute   run.sh ec2-user  R       7:05      1 ip-10-0-34-78
                 5   compute   run.sh ec2-user  R       3:45      1 ip-10-0-34-78
2020-04-16 21:06:58,398 INFO [nodewatcher:_poll_instance_status] Instance has active jobs.
2020-04-16 21:07:58,447 INFO [slurm:is_node_down] Node is in state: 'mixed'
2020-04-16 21:07:58,457 INFO [slurm:has_jobs] Found the following running jobs:
                 4   compute   run.sh ec2-user  R       8:05      1 ip-10-0-34-78
                 5   compute   run.sh ec2-user  R       4:45      1 ip-10-0-34-78
2020-04-16 21:07:58,457 INFO [nodewatcher:_poll_instance_status] Instance has active jobs.
2020-04-16 21:08:58,454 INFO [slurm:is_node_down] Node is in state: 'mixed'
2020-04-16 21:08:58,465 INFO [slurm:has_jobs] Found the following running jobs:
                 4   compute   run.sh ec2-user  R       9:05      1 ip-10-0-34-78
                 5   compute   run.sh ec2-user  R       5:45      1 ip-10-0-34-78
2020-04-16 21:08:58,465 INFO [nodewatcher:_poll_instance_status] Instance has active jobs.
2020-04-16 21:09:58,513 INFO [slurm:is_node_down] Node is in state: 'mixed'
2020-04-16 21:09:58,524 INFO [slurm:has_jobs] Found the following running jobs:
                 4   compute   run.sh ec2-user  R      10:05      1 ip-10-0-34-78
                 5   compute   run.sh ec2-user  R       6:45      1 ip-10-0-34-78
2020-04-16 21:09:58,524 INFO [nodewatcher:_poll_instance_status] Instance has active jobs.

The main things that are installed are:
Docker
GLauth (LDAP: Port 389)
Cromwell (Workflow Manager: Port 8088)
Nslcd (LDAP Client: Port 389)
We previously saw this issue in a much more limited capacity when using docker and may have been fixed in 2.6.1, so I'm curious which one of these services may be the source of the issue. GLauth most likely makes the most network calls as each user is authenticated.

Hi @medcelerate,
Were you able to figure out the issue or still seeing the issue with pcluster v2.6.1?
Recently we saw some customers hitting issues because something in their setup was causing slurmctld to respond slowly. We check node status simply by executing sinfo, and if you are seeing slow response when executing sinfo when using your specific setup, that might cause the command to retrieve node status to timeout and fail.
Curiously, it seems from your log that the command used to retrieve node status did not fail, but the node status is empty, which does not correspond to this case exactly, but might be worth checking anyway.
Thank you!

Yes we are still having the issue, something is causing a big lag in the network, if I remove the ldap and docker components it seems to solve the issue, but I don't comprehend why ldap would be causing an issue.

Hi @medcelerate,
were you able to figure out which component installed in the pre or post install scripts is causing the problem?

So it seems to have to do with the LDAP server. I have yet to find a solution.

I'm going to resolve this since there hasn't been any progress lately. Starting from ParallelCluster 2.9 we have heavily rearchitected our integration with Slurm scheduler. It might be worth giving it a try and feel free to open a new issue in case you are still blocked by this performance issue.


look into trade.restriction.faction and trade.restriction.inverted

These sound like faction blacklist checks

the blacklists seem to be working fine after my investigation so I don't think there's a need for this. Will leave open for a bit just in case.

This is completed as part of the trade rule handling added in supply and travel mule for 3.2.


[Feature] Introduce TRANSACTION_SPEND_LIMIT.

This PR

introduces a TRANSACTION_SPEND_LIMIT, the maximum amount of microcredits a finalize block can cost.
adds a check to verify_deployment requiring that all finalize blocks in a program are under this limit.

From my perspective, in light of needing this limit sooner rather than later (for safety reasons), I have made the decision to merge this PR in first, and discussed with @d0cd and @raychu86 that we should continue iterating on the exact number of credits with @vicsn and @iamalwaysuncomfortable until we empirically find the appropriate value. I strongly believe the fees will need to be repriced as part of this discovery process.
For now, LGTM until a future PR updates this value.


Availability of queue time variable and run time parameter

This document doesn't explain clearly when is queue time variable available for evaluation, it only given an example saying it's not in step 1. Run time parameter is not mentioned at all.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: db159e68-9b01-0d29-c664-f3ee9a2012d6
Version Independent ID: c42f292a-d7cb-ec3f-43d8-410035281a71
Content: Pipeline run sequence - Azure Pipelines
Content Source: docs/pipelines/process/runs.md
Product: devops
Technology: devops-cicd-process
GitHub Login: @juliakm
Microsoft Alias: jukullam

@liusu119 You can find more information on when different variables process on the variables page. I'll add a link within this article.


Is it possible on Apple to bind the light bulb to the switch through a tool like chip-tool

Hi~
I used Raspberry as a Board Router, then created a Thread network,
and added nordic routines light_bulb and light_switch to the Thread network.
I then bind the light_bulb to the light_switch using the chip-tool implementation.
I was wondering if I wanted to add the light_bulb and light_switch to my home app and implement it using the chip-tool, what should I do?
Or is there another way, in an Apple-based ecosystem, to do the same thing by binding light_bulb to light_swtich

I'm not sure what you mean by "implement it using the chip-tool", but:

If you are commissioning devices into Apple Home, but want to set up Matter bindings between them, Home itself does not expose that (though it does have automations).  You may be able to talk to Home and ask it to set up bindings for you from an iOS app, but that's not a core Matter issue.  Please file a feedback assistant ticket about this.
If you are commissioning devices into your own fabric, you can set up bindings using Matter.framework, just like you can write any other attributes.

Let me restate, we all know that nordic light_switch is currently displayed as an unsupported accessory when added to the home app, not an uncertified device, while light_bulb added to the home app is displayed as an uncertified device. light_bulb can be adjusted on/off and levelcontrol in the home app. If the light_switch displays as an unauthenticated device when added to the home app, I would like to know how the light_switch is bound to the switch in the home app. As you said, Apple does not disclose a similar chip-tool tool, because I built a Thread network, I can easily use chip-tool to bind light_bulb to light_switch. You can control the on/off and levelcontrol of the light_bulb using the light_switch.

would like to know how to bind the light bulb example to the switch in the home app

Right now I don't believe you can.  But you should file a feedback assistant ticket to check for sure.

But you should file a feedback assistant ticket to check for sure.
Do you mean I submit a new issue here？
https://github.com/project-chip/connectedhomeip/issues/new/choose
Feature Request or Test Issue ？ or build Issue？
Thank you~

@chuckrui No, I mean you should file a ticket at https://developer.apple.com/bug-reporting/#feedback-assistant, probably using https://feedbackassistant.apple.com/new-form-response
The link you have there is for issues in the open-source SDK.  Your question is about an Apple product, not the open-source SDK.

ok，Thank you~


Regarding csrrw instruction fail in case of write/swap to FRM

In function
CsRegs::updateFcsrGroupForWrite(CsrNumber number, URV value)
for
(number == CsrNumber::FRM)
setSimulatorRoundingMode(RoundingMode(value));

must be replaced by the following:
setSimulatorRoundingMode(RoundingMode((fcsrVal >> shift)));

Hi Urvish,
Many thanks for reporting this issue and providing a fix.  I added your fix
to the repository.
Joe
On Fri, Feb 12, 2021 at 5:59 AM Urvish Patel<EMAIL_ADDRESS>wrote:

In function
CsRegs::updateFcsrGroupForWrite(CsrNumber number, URV value)
for
(number == CsrNumber::FRM)
setSimulatorRoundingMode(RoundingMode(value));
must be replaced by the following:
setSimulatorRoundingMode(RoundingMode((fcsrVal >> shift)));
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/chipsalliance/SweRV-ISS/issues/5, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AASHQX2KPM557VOM76J7CXTS6UJYVANCNFSM4XQR7MFA
.


image-full of card component not working

https://daisyui.com/components/card/
The image-full modifier of card component is not working correctly. Cannot have  of the card serve as background. Can this behavior be confirmed?

I figured out the reason. It does not work in @apply. Have to use it inside of the div class=""
This is one of the limitation of unocss


Enhanced Stacktrace Folding in Terminal for Improved Debugging

The challenge of navigating through lengthy stacktraces in the terminal is a common issue for developers working across various languages and frameworks. A significant portion of these stacktraces often includes information that is not relevant to the debugging process, which can obscure the essential details needed to diagnose and resolve errors. This issue proposes the introduction of an Intelligent Stacktrace Folding feature in VS Code's terminal, aimed at simplifying the debugging experience by automatically condensing stacktraces to highlight the most pertinent information.
The proposed feature would automatically fold less relevant sections of a stacktrace, focusing primarily on lines of code within the user's project, key error messages, and exception descriptions. By reducing the visibility of extraneous information from library or framework files, developers can more quickly identify the root cause of errors.
Key aspects of the Intelligent Stacktrace Folding feature include:
Automatic identification and folding of less relevant stacktrace information, with an emphasis on user code, error messages, and critical exceptions.
The folding mechanism should be intelligent, allowing for a dynamic understanding of what constitutes 'relevant' information based on the context of the error and the user's codebase.
Given the specificity of stacktraces to different languages and frameworks, it is also proposed that an extension API is developed or to extend VS Code debugger adapter. This API would allow for language-specific adjustments to the folding logic, enabling a more tailored debugging experience for developers working in diverse development environments.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

FYI @connor4312

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


audio.resume() restarts song on playback

I've been working on this  repo  which is using the gmusicapi, whenever I've tried to resume playback the song keeps restarting from the beginning. I've stepped through the code and it looks like current_stream isn't having the offsetInMilliseconds set from the context (that's my thinking anyway). Is that something flask_ask handles someplace or is it something I have to set separately from the context?

Is there anything else I can provide for this question to get answered? If there is please let me know.

Hi Danondso, I'm not super familiar with how the streaming audio code works for Flask-Ask as I didn't write it.  This is something that would probably do well with the backend research done on your end with a P.R. Otherwise, you'd have to wait for another user with the same issue to come along and help in that capacity.

Awesome I'll get started looking into it then.

Hey Danondso, I've been working on this issue and have fixed it so that the stream resumes from where it was paused. I'll try to clean up my work and push the change. I'm also trying to fix the offset issue - it is being correctly set from the on_playback_stopped requests, but I think it is overwritten by the PauseIntent.
When you ask alexa to pause, flask-ask first receives an OnPlaybackStopped request (bc she pauses to listen to your command). Then immediately receives the Pause Intent, which seems to mess with the syncing of the current_stream.

treethought that wold be super cool! That makes sense why I was seeing multiple requests go through in the debugger then.

Pausing/resuming with proper offsets should be working with the latest commit.

Can you update the pip package for the new commits?

Flask-Ask 0.8.4 has been uploaded

Awesome I'll check this out when I get home. Thank you guys!

That worked great. Thanks!

It's working for me.  Thanks!


Cannot read properties of undefined (reading 'resubscribe')

Hi,
If I try to start MagicMirror I receive following error:
[09.02.2023 14:27.00.805] [LOG]   [MQTT bridge] MQTT brocker uses unencrypted connection.
[09.02.2023 14:27.00.826] [ERROR] Whoops! There was an uncaught exception...
[09.02.2023 14:27.00.827] [ERROR] TypeError: Cannot read properties of undefined (reading 'resubscribe')
    at MqttClient.subscribe (/home/mirror/MagicMirror/modules/MMM-MQTTbridge/node_modules/mqtt/lib/client.js:701:27)
    at Class.connectMqtt (/home/mirror/MagicMirror/modules/MMM-MQTTbridge/node_helper.js:80:18)
    at Class.socketNotificationReceived (/home/mirror/MagicMirror/modules/MMM-MQTTbridge/node_helper.js:91:14)
    at Socket.<anonymous> (/home/mirror/MagicMirror/js/node_helper.js:109:11)
    at Socket.emit (node:events:390:28)
    at Socket.emitUntyped (/home/mirror/MagicMirror/node_modules/socket.io/dist/typed-events.js:69:22)
    at /home/mirror/MagicMirror/node_modules/socket.io/dist/socket.js:466:39
    at processTicksAndRejections (node:internal/process/task_queues:78:11)
[09.02.2023 14:27.00.828] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
[09.02.2023 14:27.00.828] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues

Thanks in advance.

Hi,
looks like a problem with the configuration to me. Can you share your module configuration of config.js (without username and password) and your dictonary file please?

Hi,
I fixed it but I do not know how. I have had several mistakes after stoping and starting the MagicMirror. After I restarted my computer this errors no longer existed. I think he had difficulties with some module in general and that's why there were several errors.
I could still use some help. The notiDictonary publishes nothing. I use onConnectMessages for debugging and they work again. So I am sure that the connection to the broker exists.
Here my notiDictionary.js:

var notiHook = [
{
    notiId: "CURRENT_PROFILE",
    notiPayload: [
      {
        payloadValue: 'default',
        notiMqttCmd: ["BAD_HUE_LAMPE1_OFF","BAD_HUE_LAMPE2_OFF","BAD_HUE_LAMPE3_OFF","BAD_HUE_LAMPE4_OFF","BAD_HUE_LAMPE5_OFF","BAD_HUE_LAMPE6_OFF","BAD_HUE_BLOOMLAMPE1_OFF","BAD_HUE_BLOOMLAMPE2_OFF","BAD_OSRAM_LEDSTREIFEN_OFF"]
      },
{payloadValue: 'markus', notiMqttCmd: ['BAD_OSRAM_LEDSTREIFEN_ON','BAD_HUE_BLOOMLAMPE1_ON','BAD_HUE_LAMPE6_ON','BAD_HUE_LAMPE3_ON','BAD_HUE_LAMPE1_ON']},
{payloadValue: 'marvin', notiMqttCmd: ['BAD_OSRAM_LEDSTREIFEN_ON','BAD_HUE_BLOOMLAMPE2_ON','BAD_HUE_BLOOMLAMPE1_ON','BAD_HUE_LAMPE6_ON','BAD_HUE_LAMPE5_ON','BAD_HUE_LAMPE2_ON','BAD_HUE_LAMPE1_ON']},
{payloadValue: 'dominik', notiMqttCmd: ['BAD_OSRAM_LEDSTREIFEN_ON','BAD_HUE_BLOOMLAMPE2_ON','BAD_HUE_BLOOMLAMPE1_ON','BAD_HUE_LAMPE6_ON','BAD_HUE_LAMPE5_ON','BAD_HUE_LAMPE4_ON','BAD_HUE_LAMPE3_ON','BAD_HUE_LAMPE2_ON','BAD_HUE_LAMPE1_ON']},
{payloadValue: 'tobias', notiMqttCmd: ['BAD_OSRAM_LEDSTREIFEN_ON','BAD_HUE_BLOOMLAMPE2_ON','BAD_HUE_BLOOMLAMPE1_ON','BAD_HUE_LAMPE5_ON','BAD_HUE_LAMPE3_ON','BAD_HUE_LAMPE1_ON']},
{payloadValue: 'louis', notiMqttCmd: ['BAD_HUE_BLOOMLAMPE2_ON','BAD_HUE_BLOOMLAMPE1_ON','BAD_HUE_LAMPE4_ON','BAD_HUE_LAMPE3_ON']},
{payloadValue: 'leon', notiMqttCmd: ['BAD_OSRAM_LEDSTREIFEN_ON','BAD_HUE_BLOOMLAMPE1_ON','BAD_HUE_LAMPE5_ON','BAD_HUE_LAMPE2_ON']}, //////
   ],
  },

];
var notiMqttCommands = [
  {
    commandId: "BAD_HUE_LAMPE1_ON",
    mqttTopic: "/messages/commands/iBad_Hue_Lampe1_Schalter",
    mqttMsgPayload: 'ON',
  },
  {
    commandId: "BAD_HUE_LAMPE1_OFF",
    mqttTopic: "/messages/commands/iBad_Hue_Lampe1_Schalter",
    mqttMsgPayload: 'OFF',
  },
  {
    commandId: "BAD_HUE_LAMPE2_ON",
    mqttTopic: "/messages/commands/iBad_Hue_Lampe2_Schalter",
    mqttMsgPayload: 'ON'
  },
  {
    commandId: "BAD_HUE_LAMPE2_OFF",
    mqttTopic: "/messages/commands/iBad_Hue_Lampe2_Schalter",
    mqttMsgPayload: 'OFF'
  },
   {
    commandId: "BAD_HUE_LAMPE3_ON",
    mqttTopic: "/messages/commands/iBad_Hue_Lampe3_Schalter",
    mqttMsgPayload: 'ON'
  },
  {
    commandId: "BAD_HUE_LAMPE3_OFF",
    mqttTopic: "/messages/commands/iBad_Hue_Lampe3_Schalter",
    mqttMsgPayload: 'OFF'
  },
   {
    commandId: "BAD_HUE_LAMPE4_ON",
    mqttTopic: "/messages/commands/iBad_Hue_Lampe4_Schalter",
    mqttMsgPayload: 'ON'
  },
  {
    commandId: "BAD_HUE_LAMPE4_OFF",
    mqttTopic: "/messages/commands/iBad_Hue_Lampe4_Schalter",
    mqttMsgPayload: 'OFF'
  },
   {
    commandId: "BAD_HUE_LAMPE5_ON",
    mqttTopic: "/messages/commands/iBad_Hue_Lampe5_Schalter",
    mqttMsgPayload: 'ON'
  },
  {
    commandId: "BAD_HUE_LAMPE5_OFF",
    mqttTopic: "/messages/commands/iBad_Hue_Lampe5_Schalter",
    mqttMsgPayload: 'OFF'
  },
   {
    commandId: "BAD_HUE_LAMPE6_ON",
    mqttTopic: "/messages/commands/iBad_Hue_Lampe6_Schalter",
    mqttMsgPayload: 'ON'
  },
  {
    commandId: "BAD_HUE_LAMPE6_OFF",
    mqttTopic: "/messages/commands/iBad_Hue_Lampe6_Schalter",
    mqttMsgPayload: 'OFF'
  },
  {
    commandId: "BAD_HUE_BLOOMLAMPE1_ON",
    mqttTopic: "/messages/commands/iBad_Hue_BloomLampe1_Schalter",
    mqttMsgPayload: 'ON'
  },
  {
    commandId: "BAD_HUE_BLOOMLAMPE1_OFF",
    mqttTopic: "/messages/commands/iBad_Hue_BloomLampe1_Schalter",
    mqttMsgPayload: 'OFF'
  },
  {
    commandId: "BAD_HUE_BLOOMLAMPE2_ON",
    mqttTopic: "/messages/commands/iBad_Hue_BloomLampe2_Schalter",
    mqttMsgPayload: 'ON'
  },
  {
    commandId: "BAD_HUE_BLOOMLAMPE2_OFF",
    mqttTopic: "/messages/commands/iBad_Hue_BloomLampe2_Schalter",
    mqttMsgPayload: 'OFF'
  },
  {
    commandId: "BAD_OSRAM_LEDSTREIFEN_OFF",
    mqttTopic: "/messages/commands/iBad_Osram_LEDStreifen_Schalter",
    mqttMsgPayload: 'OFF'
  },
  {
    commandId: "BAD_OSRAM_LEDSTREIFEN_ON",
    mqttTopic: "/messages/commands/iBad_Osram_LEDStreifen_Schalter",
    mqttMsgPayload: 'ON'
  },
];

module.exports = { notiHook, notiMqttCommands };

And here is my config:
{
    module: 'MMM-MQTTbridge',
    disabled: false,
    config: {
     mqttServer: "tcp://:@<IP_ADDRESS>:1883",
     mqttConfig:
     {
       listenMqtt: true,
       interval: 30000,
       rejectUnauthorized: true,
       onConnectMessages: [
         {
           topic: "magicmirror/connected",
           msg: "true",
           options: {
             retain: false,
             qos: 0
           }
         },
         {
           topic: "magicmirror/status",
           msg: {value: "online"}
         }
       ]
        },
        notiConfig:
        {
          listenNoti: true,
          ignoreNotiId: ["CLOCK_MINUTE", "NEWS_FEED"],
          ignoreNotiSender: ["system", "NEWS_FEED"],
        },
    },
   },

In the logs I can see following:
[13.02.2023 14:01.34.355] [LOG]   [MQTT bridge] NOTI->MQTT. Topic: /messages/commands/iBad_Osram_LEDStreifen_Schalter, payload: "ON"
[13.02.2023 14:01.34.357] [LOG]   [MQTT bridge] NOTI->MQTT. Topic: /messages/commands/iBad_Hue_BloomLampe2_Schalter, payload: "ON"
[13.02.2023 14:01.34.358] [LOG]   [MQTT bridge] NOTI->MQTT. Topic: /messages/commands/iBad_Hue_BloomLampe1_Schalter, payload: "ON"
[13.02.2023 14:01.34.358] [LOG]   [MQTT bridge] NOTI->MQTT. Topic: /messages/commands/iBad_Hue_Lampe6_Schalter, payload: "ON"
[13.02.2023 14:01.34.359] [LOG]   [MQTT bridge] NOTI->MQTT. Topic: /messages/commands/iBad_Hue_Lampe5_Schalter, payload: "ON"
[13.02.2023 14:01.34.359] [LOG]   [MQTT bridge] NOTI->MQTT. Topic: /messages/commands/iBad_Hue_Lampe4_Schalter, payload: "ON"
[13.02.2023 14:01.34.360] [LOG]   [MQTT bridge] NOTI->MQTT. Topic: /messages/commands/iBad_Hue_Lampe3_Schalter, payload: "ON"
[13.02.2023 14:01.34.360] [LOG]   [MQTT bridge] NOTI->MQTT. Topic: /messages/commands/iBad_Hue_Lampe2_Schalter, payload: "ON"
[13.02.2023 14:01.34.361] [LOG]   [MQTT bridge] NOTI->MQTT. Topic: /messages/commands/iBad_Hue_Lampe1_Schalter, payload: "ON"

But it is never published to this topics. Only the onConnectMessages will work.

Hi,
great to hear that the module works now.
I think the problem ist the starting slashes in your topic configuration.
Usually
mqttTopic: "/messages/...
should be
mqttTopic: "messages/...
You do not use them in the onConnectMessages that's why they are working I think.
But I can not test the next days as I only have my mobile

I have found the problem. The topics are correct. Whoever started here with / one level higher. My problem is the payloads. I may get an ON, but I get an "ON" for example. Means your module is working.

Sounds like a problem i had some time ago.
You may want to give a try to the stringifyPayload option. The Default value is true which may cause the ".
You can set it to false either in the config section of the module or for each message like in the example
  {
    commandId: "Command 3",
    mqttTopic: "shellies/plug/relay/0/command",
    stringifyPayload: false,
    mqttMsgPayload: 'toogle'
  },

Sorry, did not want to say that you are stupid.
Great to see it is working now.
I will close the ticket then


feat: Automatically generate releases on version tag.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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 96.13%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1249

Relevant Lines:
1294

💛  - Coveralls


Add support for markdown output

Adds support for rendering markdown output. It is  strict and doesn't support an arbitrary HTML, just regular markdown.
https://user-images.githubusercontent.com/17034772/123513682-a4972100-d68e-11eb-9211-20ae75eecc8a.mp4

Don’t we generally render markdown in the client? Why not do the same here? :)

@josevalim we moved rendering markdown cells on the client to avoid sending diffs on every keystroke, rather than a general rule. I thought by formatting the AST we get more control over what we actually render, but now I realised that either way there may be HTML in the markdown and it doesn't matter where we sanitize it. This also means that if we want to include markdown output in .livemd we will need to sanitize it there, but that shouldn't be hard with all the markdown rendering we already have.
By rendering on the client we get some syntax highlighting and more liberal use of HTML tags (since we only sanitize executable stuff). So if there are no other concerns I think this sounds good :)


morning algorithms for 10-11-16

After writing your morning algos, test them out in your javascript as well to ensure they work


Vendor Publish does not update views

[ ] Ignores Views if you have published them

"@php artisan vendor:publish --tag=auth-assets --ansi --force"

:)?


Update TupleQueryResultTest.java

Briefly describe the changes proposed in this PR:
fixed noncompliant test code
https://rules.sonarsource.com/java/tag/assertj/RSPEC-5833

PR Author Checklist (see the contributor guidelines for more details):

[ ] my pull request is self-contained
[ ] I've added tests for the changes I made
[ ] I've applied code formatting (you can use mvn process-resources to format from the command line)
[ ] I've squashed my commits where necessary
[ ] every commit message starts with the issue number (GH-xxxx) followed by a meaningful description of the change

Thanks for spotting and this, and providing a fix! Could you please digitally sign the Eclipse Contributor Agreement (ECA)? See the Contributor Guidelines for more details on how to sign. Unfortunately, we cannot accept your contribution until these formalities are out of the way. It shouldn't take more than 5 minutes to sort out, let me know if you need a hand with anything.

Done 😊


switchTo failure.

can we have a sample use of this in the doc.  i also tried using css and xpath but it wont work.
• I switch to "iframe_name"
✖ FAILED in 67089ms
-- FAILURES:
✖ "after all" hook: codeceptjs event in 0ms

any update on this..

is this related to codeceptJS or nightmare ?

it's related to codeceptjs..
getting error like :: Unsupported frame locator: java.util.HashMap

how do you get "java.util.HashMap" in the locator in first place ?

i don't know, i tried with different different locators but result same...


[issue-547] Knative Broker is required even if is not defined in SonataFlow or SonataFlowPlatform

This PR implements the following when Knative is installed:

When there is no sink defined in a workflow, and there is no broker defined in the platform, the workflow reconciliation will continue instead of failing with errors.
When a workflow does not have a broker defined in the workflow's spec.sources for the event type for events that the workflow consumes, and there is no broker configured in the platform, the workflow reconciliation will continue instead of failing with errors. In this case, no trigger will be created for that event type.

Motivation for the change:
This is for backward compatibility with the latest operator release and usability. If will be up to the user to decide whether a broker should be configured for a workflow.
Checklist

[ X] Add or Modify a unit test for your change
[ X] Have you verified that tall the tests are passing?

Fix #547

@wmedvede @jakubschwan can you please verify it?


nss: set -DNS_PTR_LE_32=1 if isILP32

Description of changes
A comment in RNG_RandomUpdate() (drdbg.c) says to add the -DNS_PTR_LE_32=1 flag on ILP32 platforms.
Without this PR, pkgsCross.mips64el-linux-gnuabin32.nss fails to build.  With this PR, it succeeds.
This PR includes the commit found in #208697
Things done

Built on platform(s)

[x] mips64el-linux-gnuabin32

[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Hang on, this shouldn't be causing so many rebuilds.

The string-pasting whitespace situation to avoid rebuilds is kind of hacky.  #208704 cleans that up, but causes a mass-rebuild.  If this merges to master I will undraftify #208704.

Can you squash the two latest commits?

Done.


Closes #205 | TALPCo

Please name your PR after the issue it closes. You can use the following line: "Closes #ISSUE-NUMBER" where you replace the ISSUE-NUMBER with the one corresponding to your dataset.
Checkbox

[x] Confirm that this PR is linked to the dataset issue.
[x] Create the dataloader script nusantara/nusa_datasets/my_dataset/my_dataset.py (please use only lowercase and underscore for dataset naming).
[x] Provide values for the _CITATION, _DATASETNAME, _DESCRIPTION, _HOMEPAGE, _LICENSE, _URLs, _SUPPORTED_TASKS, _SOURCE_VERSION, and _NUSANTARA_VERSION variables.
[x] Implement _info(), _split_generators() and _generate_examples() in dataloader script.
[x] Make sure that the BUILDER_CONFIGS class attribute is a list with at least one NusantaraConfig for the source schema and one for a nusantara schema.
[x] Confirm dataloader script works with datasets.load_dataset function.
[x] Confirm that your dataloader script passes the test suite run with python -m tests.test_nusantara --path=nusantara/nusa_datasets/my_dataset/my_dataset.py.
[x] If my dataset is local, I have provided an output of the unit-tests in the PR (please copy paste). This is OPTIONAL for public datasets, as we can test these without access to the data files.

Thank you for the dataloader, @ryanignatius!
I encountered an error when I tried to use the dataloader with configuration names using the format talpco_{src_lang}_{tgt_lang}_{schema}. Could you please modify line 133 to _, lang_source, lang_target = self.config.name.replace(f"_{self.config.schema}", "").split("_") to get rid of the error?

Thanks for the feedback!
I have updated the code to fix the error as suggested.


.CSV file is not exporting.

I have tagged around 1300 images and wanted to export them in .csv format.
I have changed the export settings to .csv but when I export the images, no .csv file is being created.
How to solve this?

What version/platform are you using?  Check in the developer tools and report back if you are seeing any errors in the developer console.


Changelog for 3.8.4

This PR updates the changelog for a 3.8.4 release, adds some previously-absent entries for 3.8.1-3.8.3, and updates my github username in past entries.
@rpominov @mAAdhaTTah If one of you could merge this (and update the date listed for 3.8.4 to when you do that) and update the npm package, that'd be great. (I'm not one of the maintainers of the npm package.)

@Macil btw, one note on releasing a new version — after release you should npm run deploy-docs.

👍
I totally forgot to mention release.js, sorry.


Remove "Minimal Standards" team

We currently have a Minimal Standards Github team which - in terms of members - is a subset of the Standards team. I could not find any special privileges to any of the five repos that would be granted to the team members (@laserson, @ahmadchan, @schristley, @frubelt and myself), which would not also be granted via the Standards team. Thus I consider it to be a remnant of the repo merger.
Does anyone have any objections against removing this team?

No objection. I had the same thought awhile ago but didn't follow through.

Done.


Pagination with dynamicMainBullets breaks

If the pagination is set with "dynamicBullets: true" and "dynamicMainBullets" is set to more than 4, the pagination is broken as soon as I navigate to a slide and the swiper gets updated.
I simulated this with setting a class dynamically on a component. (see jsfiddle)
Vue.js version and component version
VueJs: v2.5.16
Swiper: 4.2.6
vue-awesome-swiper: 3.1.3
Reproduction Link

jsFiddle

Steps to reproduce
Go to the second slide and click on the "Click Me" button.
What is Expected?
The pagination should stay as it is.
What is actually happening?
The pagination jumps to a wrong state.

@mob8607 @kyusupov33 did anybody ever get back to you on this? I'm also running into some strange behavior with dynamic pagination bullets. It's not exactly this issues but seem very related. I'm having trouble reproducing it reliably but I'm looking for any clues to point me in the right direction.
For me the issue is when scrolling sometimes too many dots become visible. All of the "invisible" small ones that are supposed to be hidden suddenly show themselves. This happens sometimes after swiping for the first time, and sometimes it even happens when clicking a button somewhere else on the page that is unrelated to swiper.
Very confusing.

I have meet this question alse. beause the class is dynamic and the bullet has transition class, so when the class chang, the transition will effect the behavior of bullet

/deep/.swiper-pagination-bullet {
// transition-property: all;  // change all to left
transition-property: left;
}


[JENKINS-27011] Exceptions are logged in ExtendedChoiceParameterDefiniti...

[JENKINS-27011] Exceptions are logged in ExtendedChoiceParameterDefinition.java

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests

@vimil Please review this when you get a chance

LGTM

Actually, you still suppress stacktraces from exceptions. Probably, it's "as designed" due to the risk of log overload if the issue happens

@oleg-nenashev It's generally bad policy to swallow exceptions like this because it makes debugging your groovy scripts much more difficult in the event of an exception

Present in latest release


Added a file dialog in order to select an Excel template file

Hello Marco,
I tried to submit a pull request but I couldn't succeed. So I add the new version of RunExcelProcess down below.
I added a file dialog in order to select an Excel template file.
If cancel button is pressed, an empty file is open (previous behaviour).
The template file can be created from an empty file. Open connection properties and check these 2 options :

in first tab : refresh data when the file is open
in second tab : always use the connection file

When the template is open from external tools, data is refreshed automatically without any message.
Thanks again for this fantastic tool
Didier Terrien
`
private void RunExcelProcess(string serverName, string databaseName, string cubeName)
{
// Create ODC file
OdcHelper.CreateOdcFile(serverName, databaseName, cubeName);
var ODCfileName = OdcHelper.OdcFilePath();
        // Select an Excel template. If Cancel button is pressed, an empty Excel file is opened
        string selectedFileName = "";
        OpenFileDialog openFileDialog = new OpenFileDialog
        {
            Title = "Select an Excel template file",
            //InitialDirectory = Directory.GetParent(Power_BI_file).ToString(),     //would be nice to start searching from the Power BI file folder
            Filter = "xlsx files (*.xlsx)|*.xlsx|xlsm files (*.xlsm)|*.xlsm|All files (*.*)|*.*",
            FilterIndex = 2,
            Multiselect = false,
            RestoreDirectory = true
        };
        if (openFileDialog.ShowDialog() == true)
        {
            // If ok is pressed, get the path of selected file
            selectedFileName = openFileDialog.FileName;
        }
        else
        {
            // If Cancel is pressed, use the ODC file
            selectedFileName = ODCfileName;
        }

        var p = new Process
        {
            StartInfo = new ProcessStartInfo(selectedFileName)
            {
                UseShellExecute = true
            }
        };
        p.Start();
    }

`

Thanks for the contribution! I would keep it on hold for a future release, the priority is now fixing issues that are appearing when the configuration is not good (missing Excel, missing OLAP drivers, ...).
For this step (which is part of the v2 roadmap) we also need to figure out a consistent user experience. However, you are free to build your own version and experiment!

@didierterrien I have a question - when you open an existing file with your code, do you change the connection string? It doesn't seem you do that, but maybe I'm missing something.
The build I'm testing now uses COM Interop to control Excel directly. Once tested well (thanks to telemetry we discover a large number of issues...) we'll reach a point where we replace the connection string of an existing Excel file...

Hello @marcosqlbi,
No I don't change the connection string. I just check two checkboxes in connection settings :

in first tab : refresh data when opening the file
in second tab : always use connection file
This way, the connection string is refreshed from the ODC connection file each time the Excel file is opened. As your tool just updated the ODC file with the Power BI desktop port, it works like a charm.
The only problem I see may happen if two Power BI reports open two Excel files. As they will share the same ODC file, there will be a conflict. If the OCD file could have the same name than the pbix and could be located in the same folder, there will be no conflict.
Don't you think replacing the connection string of an existing Excel file can be considered as an attack by some antiviruses ?

Thanks for the explanation!
I think to proceed as planned - if the approach I'm including n v1 works (using COM Interop) we'll get rid of the ODC file and we'll include the connection straight in the Excel file. This should remove the concurrency issue and enable the change of the connection string while we open the file. However, this will be a v3 feature.

Hello Marco,
Do you agree if I reuse a part of your code (ODC_Helper) in my external tool ? Of course I will add credits to you.
https://thebipower.fr/index.php/power-bi-sidetools/
Best regards

No problems, it is allowed by the MIT license, I suggest you check it because it has an impact on the license of your tool.
https://github.com/sql-bi/AnalyzeInExcel/blob/master/LICENSE

Thanks a lot Marco,
I added the license in the code. I will refer to the web page, to the license and to the GitHub repository of Analyze in Excel in the credits.
Have a nice weekend

Great - thanks!


Complex recursive graphql query

What I'm trying to achieve
Complex recursive graphql query may lead to dos attack
Steps to reproduce the problem

Run the following query on Explorer

  {
   categories(first: 4) {
      edges {
         node {
            products(first: 5) {
               edges {
                  node {
                      category {
                        products(first: 5) {
                           edges {
                              node {
                               category {
                                  products(first: 5) {
                                    edges {
                                       node {
                                        category {
                                         .....recursive
                                         }
                                      }
                                  }
                                }
                                }
                             }
                           }
                        }
                      }
                    }
                  }
                }
             }
          }
       }
    }

What I expected to happen
…
Screenshots

System information
Operating system:
Browser:

Planned into #2423


Update to tendermint 0.34.2

As we are building the lazyledger app using the latest version of the SDK (https://github.com/lazyledger/cosmos-sdk/pull/11), we should update ll-core to use the equivalent of 0.34.1 of tendermint.
ref: https://github.com/lazyledger/cosmos-sdk/issues/2

We've already updated merged in few commits from tendermint master which didn't even land in 0.34.2 (as they are breaking). While it seemed to make sense at that time to always take the latest from tendermint, now that @evan-forbes started building the ll-app (which uses a version of the cosmos-sdk), it makes our lives more difficult: the SDK (even "the latest and greatest" from master) did just catch up with 0.34.2 a few days ago.
Note: in the future, we should move a bit slower with updating from tendermint upstream and always stick to released versions, ideally which will be part of the SDK soon too - unless of course, we want to do the upgrading of our sdk fork ahead of the official sdk team. That said, I don't think we currently have the man-power for that nor is it a priority. In case we really want a change from tendermint master, we can still cherry-pick it (and if it's breaking update the SDK fork accordingly too).
We might even want to revert some of the changes that already made it into ll-core/master if that simplifies building a first version of the app.

We've already updated merged in few commits from tendermint master which didn't even land in 0.34.2 (as they are breaking). While it seemed to make sense at that time to always take the latest from tendermint, now that @evan-forbes started building the ll-app (which uses a version of the cosmos-sdk), it makes our lives more difficult: the SDK (even "the latest and greatest" from master) did just catch up with 0.34.2 a few days ago.
Note: in the future, we should move a bit slower with updating from tendermint upstream and always stick to released versions, ideally which will be part of the SDK soon too - unless of course, we want to do the upgrading of our sdk fork ahead of the official sdk team. That said, I don't think we currently have the man-power for that nor is it a priority. In case we really want a change from tendermint master, we can still cherry-pick it (and if it's breaking update the SDK fork accordingly too).
We might even want to revert some of the changes that already made it into ll-core/master if that simplifies building a first version of the app.

We use 0.34.1 together with a few changes that are breaking and won't land in 0.34.2 but into the next "major" release (0.35.0). I think we can actually close this issue for now and cherry-pick any changes if we want them (either from 0.34.2 or directly from master even).
cc @marbar3778 do you agree?

We use 0.34.1 together with a few changes that are breaking and won't land in 0.34.2 but into the next "major" release (0.35.0). I think we can actually close this issue for now and cherry-pick any changes if we want them (either from 0.34.2 or directly from master even).
cc @marbar3778 do you agree?

Sticking to releases makes sense to me. There are some breaking changes even now that I think we can deal with. Reverting to a release will be very cumbersome.

Sticking to releases makes sense to me. There are some breaking changes even now that I think we can deal with. Reverting to a release will be very cumbersome.


added operating system cheat sheet

What does this PR do?
Add resource(s)
For resources
Description
It contains all the main topics in operating system in precise language.
Why is this valuable (or not)?
It is highly valuable as it contains technical interview oriented topics and notes.
How do we know it's really free?
It's a downloadable PDF made available by a youtube channel.
Checklist:

[*] Read our contributing guidelines.
[ *] Search for duplicates.
[* ] Include author(s) and platform where appropriate.
[* ] Put lists in alphabetical order, correct spacing.
[* ] Add needed indications (PDF, access notes, under construction).
[* ] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

remove line 328 . Adding extra blank line is creating issue

Please note that due to the guidelines Google drive and other file sharing sites are not accepted.
Do you have the original link? Perhaps directly from the author?

@3R1Dev Actually the original documents provided by the author are discrete i.e. those are lecture wise notes. I can create a document that will contain links to the author's documents. does that work?

@ThakareSakshi sure


Documentation gh-action fails

Documentation gh-action is failing. It seems this is due to a new version of matplotlib? Not sure why.
Here is the failing build:
https://github.com/TomographicImaging/CIL/runs/3320975257?check_suite_focus=true
On line 55 onwards is the error message, it is trying to install matplotlib v3.4.3
This was the most recent build that succeeded: https://github.com/TomographicImaging/CIL/runs/3310260502?check_suite_focus=true#step:5:60
On line 60 it installs matplotlib v3.4.2 succesfully.
Between these I made no changes to the documentation gh-action.
For the documentation to build correctly, some packages have to be installed because when it reads the docstrings, it is running some of the files which require certain imports. This is why matplotlib was being installed.
If I take matplotlib out of the requirements for building the documentation, the action succeeds, but I need to check whether all of the pages have been successfully built.

Without installing matplotlib before building the documentation we get these errors, which result in the 'Processors' page not building.
https://github.com/TomographicImaging/CIL/runs/3321204607?check_suite_focus=true#step:5:193
WARNING: autodoc: failed to import class 'processors.CentreOfRotationCorrector' from module 'cil'; the following exception was raised:
No module named 'matplotlib'
WARNING: autodoc: failed to import class 'processors.Normaliser' from module 'cil'; the following exception was raised:
No module named 'matplotlib'
WARNING: autodoc: failed to import class 'processors.Slicer' from module 'cil'; the following exception was raised:
No module named 'matplotlib'
WARNING: autodoc: failed to import class 'processors.Binner' from module 'cil'; the following exception was raised:
No module named 'matplotlib'
WARNING: autodoc: failed to import class 'processors.RingRemover' from module 'cil'; the following exception was raised:
No module named 'matplotlib'
WARNING: autodoc: failed to import class 'processors.MaskGenerator' from module 'cil'; the following exception was raised:
No module named 'matplotlib'
WARNING: autodoc: failed to import class 'processors.Masker' from module 'cil'; the following exception was raised:
No module named 'matplotlib'
WARNING: autodoc: failed to import class 'processors.TransmissionAbsorptionConverter' from module 'cil'; the following exception was raised:
No module named 'matplotlib'
WARNING: autodoc: failed to import class 'processors.AbsorptionTransmissionConverter' from module 'cil'; the following exception was raised:
No module named 'matplotlib'

That's weird. I'd expect matplotlib to be necessary for other modules in CIL, anyway.


[bug] Tauri auto-migration util fails

Describe the bug
Migration util is not working:
npm run tauri migrate

><EMAIL_ADDRESS>tauri
> tauri migrate

    Info Replacing `@tauri-apps/api/tauri` with `@tauri-apps/api/core` on C:\Users\aleks\data\projects\sigma-file-manager\src\stores\storage\workspaces.ts
    Info Installing Cargo dependency "tauri-plugin-http"...
    Updating crates.io index
      Adding tauri-plugin-http v2.0.0-beta.4 to dependencies.
             Features:
             - blocking
             - brotli
             - cookies
             - default-tls
             - deflate
             - gzip
             - http3
             - json
             - multipart
             - native-tls
             - native-tls-alpn
             - native-tls-vendored
             - rustls-tls
             - rustls-tls-manual-roots
             - rustls-tls-native-roots
             - rustls-tls-webpki-roots
             - socks
             - stream
             - trust-dns
             - unsafe-headers
    Blocking waiting for file lock on package cache
    Updating crates.io index
error: invalid character `{` in package name: `tauri-plugin-{{name}}`, characters must be Unicode XID characters (numbers, `-`, `_`, or most letters)
 --> ..\..\..\..\.cargo\git\checkouts\plugins-workspace-fd0259fcb18f51ad\5817611\shared\template\Cargo.toml:2:8
  |
2 | name = "tauri-plugin-{{name}}"
  |        ^^^^^^^^^^^^^^^^^^^^^^^
  |
error: failed to select a version for `tauri`.
    ... required by package `sigma-file-manager-v2 v2.0.0-alpha.1 (C:\Users\aleks\data\projects\sigma-file-manager\src-tauri)`
versions that meet the requirements `^2.0.0-beta` are: 2.0.0-beta.14, 2.0.0-beta.13, 2.0.0-beta.12, 2.0.0-beta.11, 2.0.0-beta.10, 2.0.0-beta.9, 2.0.0-beta.8, 2.0.0-beta.7, 2.0.0-beta.6, 2.0.0-beta.5, 2.0.0-beta.4, 2.0.0-beta.3, 2.0.0-beta.2, 2.0.0-beta.1, 2.0.0-beta.0

the package `tauri` links to the native library `Tauri`, but it conflicts with a previous package which links to `Tauri` as well:
package `tauri v2.0.0-beta.14`
    ... which satisfies dependency `tauri = "^2.0.0-beta"` of package `sigma-file-manager-v2 v2.0.0-alpha.1 (C:\Users\aleks\data\projects\sigma-file-manager\src-tauri)`
Only one package in the dependency graph may specify the same links value. This helps ensure that only one copy of a native library is linked in the final binary. Try to adjust your dependencies so that only one package uses the `links = "Tauri"` value. For more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links.

the package `sigma-file-manager-v2` depends on `tauri`, with features: `window-set-content-protected` but `tauri` does not have these features.

failed to select a version for `tauri` which could resolve this conflict
    Error Failed to install Cargo dependency

Reproduction
Repo: https://github.com/aleksey-hoffman/sigma-file-manager/tree/v2
Following auto-migration guide:
npm install @tauri-apps/cli@next
npm run tauri migrate

Expected behavior
To auto migrate project from v1 to v2
Full tauri info output
[✔] Environment
    - OS: Windows 10.0.22631 X64
    ✔ WebView2: 123.0.2420.81
    ✔ MSVC: Visual Studio Community 2022
    ✔ rustc: 1.77.1 (7cf61ebde 2024-03-27)
    ✔ cargo: 1.77.1 (e52e36006 2024-03-26)
    ✔ rustup: 1.27.0 (bbb9276d2 2024-03-08)
    ✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
    - node: 20.12.1
    - pnpm: 8.8.0
    - npm: 10.5.0

[-] Packages
    - tauri [RUST]: 1.6.0
    - tauri-build [RUST]: 1.5.1
    - wry [RUST]: 0.24.7
    - tao [RUST]: 0.16.7
    - tauri-cli [RUST]: 2.0.0-alpha.6
    - @tauri-apps/api [NPM]: 1.5.3
    - @tauri-apps/cli [NPM]: 2.0.0-beta.12

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../dist
    - devUrl: http://localhost:5180/
    - framework: Vue.js
    - bundler: Vite

The issue should be the store plugin. Try running cargo update before migrate.
If that doesn't work, try changing it's branch to v2 and run cargo update again.
If that also doesn't work, downgrade rust to 1.76 until after the migration (Only 1.77+ is affected by this error message. We fixed the root cause but it needs cargo update to pull the latest commits)

Oh, the app didn't load the full error message, apologies. I think the second error can also be fixed by upgrading the store first (or commenting it out while migrating). I think the migrate command currently can't handle v1 plugins.

I added all the latest cargo dependencies and ran cargo update:
tauri-plugin-store = "2.0.0-beta"
tauri-plugin-dialog = "2.0.0-beta"
tauri-plugin-fs = "2.0.0-beta"
tauri-plugin-shell = "2.0.0-beta"
tauri-plugin-http = "2.0.0-beta"
tauri-plugin-notification = "2.0.0-beta"
tauri-plugin-global-shortcut = "2.0.0-beta"
tauri-plugin-os = "2.0.0-beta"
tauri-plugin-process = "2.0.0-beta"
tauri-plugin-clipboard-manager = "2.0.0-beta"
tauri-plugin-window = "2.0.0-alpha"

but I now get internal Tauri errors:
error[E0432]: unresolved import `tauri::Icon`
 --> C:\Users\aleks\.cargo\registry\src\index.crates.io-6f17d22bba15001f\tauri-plugin-window-2.0.0-alpha.2\src\desktop_commands.rs:8:28
  |
8 |     AppHandle, CursorIcon, Icon, Manager, Monitor, PhysicalPosition, PhysicalSize, Position,
  |                            ^^^^ no `Icon` in the root
  |
  = help: consider importing this variant instead:
          tauri::menu::MenuItemKind::Icon

error[E0603]: struct `WindowBuilder` is private
   --> C:\Users\aleks\.cargo\registry\src\index.crates.io-6f17d22bba15001f\tauri-plugin-window-2.0.0-alpha.2\src\desktop_commands.rs:67:20
    |
67  |     tauri::window::WindowBuilder::from_config(&app, options).build()?;
    |                    ^^^^^^^^^^^^^ private struct
    |
note: the struct `WindowBuilder` is defined here
   --> C:\Users\aleks\.cargo\registry\src\index.crates.io-6f17d22bba15001f\tauri-2.0.0-beta.14\src\window\mod.rs:112:1
    |
112 | / unstable_struct!(
113 | |   #[doc = "A builder for a window managed by Tauri."]
114 | |   struct WindowBuilder<'a, R: Runtime, M: Manager<R>> {
115 | |     manager: &'a M,
...   |
124 | |   }
125 | | );
    | |_^
    = note: this error originates in the macro `unstable_struct` (in Nightly builds, run with -Z macro-backtrace for more info)

Some errors have detailed explanations: E0432, E0603.
For more information about an error, try `rustc --explain E0432`.
error: could not compile `tauri-plugin-window` (lib) due to 2 previous errors

remove the window plugin, it's part of the core library again. It's also the plugin mentioned in the error so hopefully that's the (only) issue there.

@FabianLars I think that worked, thanks!
Could you also let me know how do you get a window in v2 now? The following no longer works:
fn main() {
    tauri::Builder::default()
        .setup(setup_handler)
        .plugin(tauri_plugin_store::Builder::default().build())
        .invoke_handler(tauri::generate_handler![
           ...
        ])
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

fn setup_handler(app: &mut tauri::App) -> Result<(), Box<dyn std::error::Error + 'static>> {
    let mut main_window = app.get_window("main").unwrap();
    Ok(())
}

in preparation of multiwebview support, get_window was renamed to get_webview_window

@FabianLars thank you!
Do you mind taking a look a few more errors and help me figure out what's wrong right now so I could quickly fix other migration errors?
I want to show the migration process on a stream, but I'm afraid it will take a long timeto figure out all the errors by myself

in preparation of multiwebview support, get_window was renamed to get_webview_window

Thank you reply! it's solved my question about use window-vibrancy 0.5.0 in Tauri v2 beta, now everything are working! thx!!!

@FabianLars @lucasfernog guys, please consider prioritizing writing some docs for the Rust side.
It's super difficult to migrate the app to v2. For example, Tray no longer works, API changed drastically, and there's no examples in the docs at all:
https://docs.rs/tauri/2.0.0-beta.15/tauri/tray/index.html


set_config for shared library.

Is your feature request related to a problem? Please describe.
When building shared library - ld seems to fail.
set_config("ld","g++")  is not sufficient.
Describe the solution you'd like
ability to set_config for tool_target_main_linux_x86_64_sh  in xmake.lua
Describe alternatives you've considered
I manually updated tool_target_main_linux_x86_64_sh  block in toolchain file and set program to g++ instead of ld and it works.
Additional context
No response

please set "sh" for shared library linker.
set_toolset("sh", "g++")

or
xmake f --sh=g++


extra features and fixed bug

fixed errror causing crash on map gen
save custom name for scenes
zoom, name and map location stored across maps
scenes now have grid scale set based on zoom level

capability to generate massive scenes that take the mapview zone and all surrounding zones and stich them into one massive scene