xCluster: add Nodes parameter (enables cluster creation with several nodes)

Pull Request (PR) description
Adds a "Nodes" string array parameter, specifying node names that will be added to the cluster along with the local computer at creation time (i.e passed to the New-Cluster command).
This Pull Request (PR) fixes the following issues:
#148, #157
The motivation behind this PR is that I was unable to join a secondary node to the cluster, tried both from the secondary node and from the primary node. The only way I had to achieve a cluster with more than one node was to specify all the nodes in the creation (using New-Cluster command and passing all the nodes into the -Node parameter).
Task list:
Will complete the task list if this PR makes sense to the owners.

This change is

Codecov Report

Merging #177 into dev will decrease coverage by <1%.
The diff coverage is 88%.

@@         Coverage Diff         @@
##            dev   #177   +/-   ##
===================================
- Coverage   100%    99%   -1%
===================================
  Files         7      7
  Lines       434    447   +13
===================================
+ Hits        434    444   +10
- Misses        0      3    +3

Great work on this one! This looks good. It doesn't break the previous behavior. I'm good with this change. Please continue with the task list. :smile:
I made a few comments, please see if they need to be addressed as well.

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, 5 unresolved discussions, some commit checks failed.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 46 at r1 (raw file):

        [Parameter()]
        [System.String[]]
        $Nodes,

This parameter is not needed here since it is non-mandatory and not used in the Get-TargetResource function.
Please see https://github.com/PowerShell/DscResources/blob/master/BestPractices.md#get-targetresource-should-not-contain-unused-non-mandatory-parameters

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 202 at r1 (raw file):

            if($Nodes -ne $null)
            {
                $AllNodes += $Nodes

If $Nodes already contains $env:COMPUTERNAME this add a duplicate? :thinking:
Throughout.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 249 at r1 (raw file):

$list

Would you mind renaming this variable to $existingNodes or something similar if there is a better descriptive name for this instead of `list'? This is to align with the comment for the same thing in the other function.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 258 at r1 (raw file):

                        Write-Verbose -Message ($script:localizedData.RemoveOfflineNodeFromCluster -f $targetNodeName, $Name)

                        Remove-ClusterNode -Name $targetNodeName -Cluster $Name -Force

In Test-TargetResource break was used to exit the foreach-loop. Is that appropriate here too?

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 379 at r1 (raw file):

$list

Would you mind renaming this variable to $existingNodes or something similar if there is a better descriptive name for this instead of `list'.?

Comments from Reviewable

Review status: 0 of 3 files reviewed at latest revision, 5 unresolved discussions, some commit checks failed.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 46 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
This parameter is not needed here since it is non-mandatory and not used in the Get-TargetResource function.
Please see https://github.com/PowerShell/DscResources/blob/master/BestPractices.md#get-targetresource-should-not-contain-unused-non-mandatory-parameters

Done.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 202 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
If $Nodes already contains $env:COMPUTERNAME this add a duplicate? :thinking:
Throughout.

Done.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 249 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

$list

Would you mind renaming this variable to $existingNodes or something similar if there is a better descriptive name for this instead of `list'? This is to align with the comment for the same thing in the other function.

Done.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 258 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
In Test-TargetResource break was used to exit the foreach-loop. Is that appropriate here too?

I don't think so, because we need to go through all of the nodes in the Set

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 379 at r1 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

$list

Would you mind renaming this variable to $existingNodes or something similar if there is a better descriptive name for this instead of `list'.?

Done.

Comments from Reviewable

I addressed your point, updated the mof file, fixed some styling errors and added a unit test.
Nevertheless I get several failing tests, including the one I added, and I'm unable to figure out why they are failing, I need some guidance on this.
Also appveyor complaints about some invalid characters used, I'm using "@()" to initialize an array. Should I be using a different way to create an empty array ?

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 258 at r1 (raw file):
Previously, woodp (Pedro Wood) wrote…
I don't think so, because we need to go through all of the nodes in the Set

You are right, now is done

Comments from Reviewable

Review status: 0 of 3 files reviewed at latest revision, 5 unresolved discussions.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 258 at r1 (raw file):
Previously, woodp (Pedro Wood) wrote…
You are right, now is done

Done.

Comments from Reviewable

Sorry for being away so long for this PR. It has been a lot of work at the day job and maintaining in other resources modules. But I will focus on getting this through not. :smile:
Found a few more review comments for this one.

Reviewed 2 of 3 files at r2, 1 of 1 files at r3.
Review status: all files reviewed at latest revision, 9 unresolved discussions, some commit checks failed.

a discussion (no related file):
There are failing tests for the Set-TargetResource. Can you look them over and see why they are failing with this code change?
https://ci.appveyor.com/project/PowerShell/xfailovercluster/build/1.6.342.0#L474

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 222 at r3 (raw file):

Get-All-Nodes($Nodes)

Please change this to named arguments Get-AllNodes -Nodes $Nodes. Throughout.
Also see other comment for renaming this function.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 222 at r3 (raw file):

$AllNodes

Please rename this to use camelCase syntax ($allNodes lower case 'a'). Throughout.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 233 at r3 (raw file):

if(

Please add a space between the if-statement and the parenthesis

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 365 at r3 (raw file):

foreach(

Please add a space between the foreach-statement and the parenthesis

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 376 at r3 (raw file):

                        {
                            Write-Verbose -Message ($script:localizedData.ClusterNodeIsDown -f $targetNodeName, $Name)
                            $returnValue = $false

Should this be $found = $false? For the evaluation on row 383 to be true?

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 383 at r3 (raw file):

if(

Please add a space between the if-statement and the parenthesis

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 530 at r3 (raw file):

Get-All-Nodes

Could we use the Verb-Noun syntax for this? So for this function name it would be Get-AllNodes instead?

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 543 at r3 (raw file):

if(

Please add a space between the if-statement and the parenthesis

Comments from Reviewable

I did a typo that could have been seen as strange, what I meant to say in previous review comment was that I will focus on getting this through now. Let me know if you need any help 😄

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 376 at r3 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Should this be $found = $false? For the evaluation on row 383 to be true?

not sure about this one

Comments from Reviewable

Review status: 1 of 3 files reviewed at latest revision, 9 unresolved discussions.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 222 at r3 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

Get-All-Nodes($Nodes)

Please change this to named arguments Get-AllNodes -Nodes $Nodes. Throughout.
Also see other comment for renaming this function.

Done.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 222 at r3 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

$AllNodes

Please rename this to use camelCase syntax ($allNodes lower case 'a'). Throughout.

Done.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 233 at r3 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

if(

Please add a space between the if-statement and the parenthesis

Done.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 365 at r3 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

foreach(

Please add a space between the foreach-statement and the parenthesis

Done.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 383 at r3 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

if(

Please add a space between the if-statement and the parenthesis

Done.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 530 at r3 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

Get-All-Nodes

Could we use the Verb-Noun syntax for this? So for this function name it would be Get-AllNodes instead?

Done.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 543 at r3 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

if(

Please add a space between the if-statement and the parenthesis

Done.

Comments from Reviewable

Reviewed 2 of 2 files at r4.
Review status: all files reviewed at latest revision, 3 unresolved discussions.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 376 at r3 (raw file):
Previously, woodp (Pedro Wood) wrote…
not sure about this one

LGTM. This is good as-is. Was me looking at it wrongly. Thanks for correcting me.

Tests/Unit/MSFT_xCluster.Tests.ps1, line 322 at r2 (raw file):

Assert-MockCalled -CommandName New-Cluster -Exactly -Times 1 -Scope It -ParameterFilter {
$Nodes -eq 'foo' -and
$Nodes -eq 'bar'
}

I liked this ParameterFilter to assert that the call to New-Cluster cmdlet was the correct one. But maybe this can work for the parameter filter?
Assert-MockCalled -CommandName New-Cluster -Exactly -Times 1 -Scope It -ParameterFilter {
    $Node.Contains($env:COMPUTERNAME) -eq $true `
    -and $Node.Contains('foo') -eq $true `
    -and $Node.Contains('bar) -eq $true
}

Comments from Reviewable

Review status: 2 of 3 files reviewed at latest revision, 3 unresolved discussions.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 376 at r3 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
LGTM. This is good as-is. Was me looking at it wrongly. Thanks for correcting me.

Done.

Comments from Reviewable

Review status: 2 of 3 files reviewed at latest revision, 2 unresolved discussions.

Tests/Unit/MSFT_xCluster.Tests.ps1, line 322 at r2 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

Assert-MockCalled -CommandName New-Cluster -Exactly -Times 1 -Scope It -ParameterFilter {
$Nodes -eq 'foo' -and
$Nodes -eq 'bar'
}

I liked this ParameterFilter to assert that the call to New-Cluster cmdlet was the correct one. But maybe this can work for the parameter filter?
Assert-MockCalled -CommandName New-Cluster -Exactly -Times 1 -Scope It -ParameterFilter {
    $Node.Contains($env:COMPUTERNAME) -eq $true `
    -and $Node.Contains('foo') -eq $true `
    -and $Node.Contains('bar) -eq $true
}

Done.

Comments from Reviewable

a discussion (no related file):
Previously, johlju (Johan Ljunggren) wrote…
There are failing tests for the Set-TargetResource. Can you look them over and see why they are failing with this code change?
https://ci.appveyor.com/project/PowerShell/xfailovercluster/build/1.6.342.0#L474

done

Comments from Reviewable

Tests/Unit/MSFT_xCluster.Tests.ps1, line 322 at r2 (raw file):
Previously, woodp (Pedro Wood) wrote…
Done.

Done.

Comments from Reviewable

Reviewed 1 of 1 files at r5.
Review status: all files reviewed at latest revision, 5 unresolved discussions.

a discussion (no related file):
Please add the Nodeparameter to the resource in the README.md.
See other comment of renaming Nodes to  Node.

a discussion (no related file):
Please update the Unreleased section in the CHANGELOG.md with an entry explaining this change.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 83 at r5 (raw file):

    }

    @{

We should return the existing node names in the property Node in this hash table.
See other comment of renaming Nodes to  Node.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 98 at r5 (raw file):

Nodes

I suggest we rename this to Node singular, because this can be set to one or more.  It aligns with the other parameters. Throughout.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 539 at r5 (raw file):

    $allNodes = @()
    $allNodes += $env:COMPUTERNAME

A question. It is not really clear in the code that $Nodes will always default to $env:COMPUTERNAME, so I thought of the following.
Would it work to add $env:COMPUTERNAME as the default value for $Nodes parameter, and remove the entry from here?  Wouldn't the user specify the current target node and any other nodes in this parameter, and if it is not assigned it will be set to the default value$env:COMPUTERNAME? If so, is this helper function necessary?
If wer add the value as default value to the $Nodes parameter, we also need to update the parameter description in README.md, comment-based help and schema.mof.

Comments from Reviewable

Review status: all files reviewed at latest revision, 6 unresolved discussions.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 224 at r5 (raw file):

            Write-Verbose -Message ($script:localizedData.AddNodeToCluster -f $targetNodeName, $Name)

            $existingNodes = Get-ClusterNode -Cluster $Name

is this scenario supported?
Node is set to @('Server1','Server2'). Existing nodes is reported as @('Server1','Server2','Server3'). User did not specify the last node 'Server3', because the user wanted it removed from the cluster.

Comments from Reviewable

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 539 at r5 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
A question. It is not really clear in the code that $Nodes will always default to $env:COMPUTERNAME, so I thought of the following.
Would it work to add $env:COMPUTERNAME as the default value for $Nodes parameter, and remove the entry from here?  Wouldn't the user specify the current target node and any other nodes in this parameter, and if it is not assigned it will be set to the default value$env:COMPUTERNAME? If so, is this helper function necessary?
If wer add the value as default value to the $Nodes parameter, we also need to update the parameter description in README.md, comment-based help and schema.mof.

That sound good to me, although the helper function also removes the duplicate objects, so I think we would need to leave it anyway

Comments from Reviewable

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 224 at r5 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
is this scenario supported?
Node is set to @('Server1','Server2'). Existing nodes is reported as @('Server1','Server2','Server3'). User did not specify the last node 'Server3', because the user wanted it removed from the cluster.

No, I didn't consider that scenario. Will think it over.

Comments from Reviewable

Review status: all files reviewed at latest revision, 6 unresolved discussions.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 539 at r5 (raw file):
Previously, woodp (Pedro Wood) wrote…
That sound good to me, although the helper function also removes the duplicate objects, so I think we would need to leave it anyway

Sounds good filtering out unique nodes names. But maybe we should rename the helper function to Get-UniqueNodeName (or plural ...Names)?

Comments from Reviewable

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 539 at r5 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
Sounds good filtering out unique nodes names. But maybe we should rename the helper function to Get-UniqueNodeName (or plural ...Names)?

after removing that it was reduced to a one line function, so I just inlined it

Comments from Reviewable

Review status: 1 of 5 files reviewed at latest revision, 6 unresolved discussions, some commit checks failed.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 83 at r5 (raw file):
Previously, johlju (Johan Ljunggren) wrote…
We should return the existing node names in the property Node in this hash table.
See other comment of renaming Nodes to  Node.

Done.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 98 at r5 (raw file):
Previously, johlju (Johan Ljunggren) wrote…

Nodes

I suggest we rename this to Node singular, because this can be set to one or more.  It aligns with the other parameters. Throughout.

Done.

DSCResources/MSFT_xCluster/MSFT_xCluster.psm1, line 224 at r5 (raw file):
Previously, woodp (Pedro Wood) wrote…
No, I didn't consider that scenario. Will think it over.

Done.

Comments from Reviewable

a discussion (no related file):
Previously, johlju (Johan Ljunggren) wrote…
Please add the Nodeparameter to the resource in the README.md.
See other comment of renaming Nodes to  Node.

done

Comments from Reviewable

a discussion (no related file):
Previously, johlju (Johan Ljunggren) wrote…
Please update the Unreleased section in the CHANGELOG.md with an entry explaining this change.

done

Comments from Reviewable

Labeling this PR as abandoned since it has gone 14 days or more since the last update. An abandoned PR can be continued by another contributor. The abandoned label will be removed if work on the PR is taken up again.

a discussion (no related file):
Previously, johlju (Johan Ljunggren) wrote…
The tests are failing, can you look and see if you can resolve them?

I'm not being able to figure out why these 2 tests fail. For the first one I always get an exception, if I add the filter for the GetClusterNode mock, I get "StubNotImplemented" otherwise I get an exception without any info at all. Is very difficult with only this info to know why it fails. Also don't seem to get how the mocks/stubs work.

The Stubs are used to have something to attach the mock to. A unit test should not need the actual module with the cmdlets installed, instead those are replaced by stubs (empty functions except for the throw you are seeing) so that when using Mock the mock can find the function and get the parameters from the stub.
If the stub is not mocked, or mocked with the wrong parameter filter, the stub throws a not implemented error so that we can know the mock was not called but the actual function (the stub or the cmdlet in the Failover Cluster module).
So in your case, when you get StubNotImplemented the mock is not called.
Did this help you? Let me know if you need more information.

Closing this PR due to inactivity. If there are someone who wants to work on this issue or PR please open a new PR.


Added Bundle 'powerline/fonts'

Added Bundle 'powerline/fonts' since powerline, vim-powerline, & vim-airline won't really be usefull if they don't actually have fonts that make them look nice.

thanks @laughingman182 !


Add a  Credit Card Payment Form

Is your feature request related to a problem? Please describe.
No its not a problem.
Describe the solution you'd like
I would like to add  a  Credit Card Payment Form

Additional context
Please assign this under gssoc21

@ridsuteri @991rajat Please assign.


Dev mods agent sensitivity analysis

adding sensitivity analysis to MoDS Simple Agent

It would probably be better to have the save and load surrogate flags in the algorithm node, in case there are multiple surrogate algorithms. For the load flag this could be placed in an otherwise empty algorithm node.

addressed in f11af2a


HTMLElement missing getOffsetWidth()

HTMLElement has getOffsetHeight().
However, it is missing getOffsetWidth().

https://github.com/konsoletyper/teavm/pull/401


Can't remove group and all descendants from space view

It's possible to add a group and all its descendants, but afterwards it's not possible to remove them again. Instead the plus will be greyed out and it says "Entity does not have any components."
Especially annoying if I log a large number of entities such as
world/lines/#1
world/lines/#2
world/lines/#3
...

You can add all lines with a single press, but you have to remove one-by-one.
This video demonstrates this with the world path. Can add all descendants, but can't remove them all again.
https://github.com/rerun-io/rerun/assets/9785832/4f9f418a-b541-44a6-8d98-9ba9df2cb0c1
Expected behavior
Show the minus and allow removing all descendants.
Desktop (please complete the following information):

OS: Ubuntu 20.04

Rerun Version
rerun_py 0.6.0 [rustc 1.69.0 (84c898d65 2023-04-16), LLVM 15.0.7] x86_64-unknown-linux-gnu release-0.6 643dea9, built 2023-05-25T20:35:24Z

all of this works quite differently by now, don't think this issue applies any longer


fix: QPlainTextEdit 纯文本

哈哈～
据我所知，QPlainTextEdit 应该是纯文本编辑器，而 QTextEdit 才是富文本编辑器。
The QTextEdit class provides a widget that is used to edit and display both plain and rich text. link
The QPlainTextEdit class provides a widget that is used to edit and display plain text. link

Haha~, you were right.


DOC: Add equations to docstrings of brownian motion (close #138)

Codecov Report

Merging #178 (d8b7df9) into develop (230d090) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           develop      #178   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           40        40
  Lines         1157      1157
=========================================
  Hits          1157      1157

Impacted Files
Coverage Δ

pfhedge/instruments/primary/brownian.py
100.00% <ø> (ø)

pfhedge/instruments/primary/heston.py
100.00% <ø> (ø)

pfhedge/stochastic/brownian.py
100.00% <ø> (ø)

pfhedge/stochastic/cir.py
100.00% <ø> (ø)

pfhedge/stochastic/heston.py
100.00% <ø> (ø)

Continue to review full report at Codecov.

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


[ImageCacheIt] Pass headers when using getItem static method

When using ImageCacheIt in template, you could pass in a http header via the headers property (as specified in the docs), like this:
<ImageCacheIt
        [headers]="headers"
        [src]="imageUrl"></ImageCacheIt>

Would it be possible to also pass in the headers property when using the getItem method to load images that require a header?
Perhaps something like this?
ImageCacheIt.getItem(imageUrl, { headers: headers });

Yes this should be possible with a little change


add music module

Codecov Report
Patch coverage: 100.00% and project coverage change: -0.54% :warning:

Comparison is base (5cefe93) 97.37% compared to head (2633039) 96.84%.
Report is 1 commits behind head on main.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #77      +/-   ##
==========================================
- Coverage   97.37%   96.84%   -0.54%
==========================================
  Files          23       24       +1
  Lines        1792     1805      +13
==========================================
+ Hits         1745     1748       +3
- Misses         47       57      +10

Files Changed
Coverage Δ

src/modules/music/MusicTest.cpp
100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

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


UI tweaks

Changes:

smaller main poster to match other cast/similar size -> made posters universal height
adjusted left padding to be universal from main poster/cast/similar/activity/seasons
added harsher gradient for cast names

Want to Change:

tmdb vote/episode vote to be inline with title/year and episode title/time
more prominent rating on home screen, maybe like how ryot does it with top right overlay

Hey @reitenth, thanks for making these changes!
Good catch on the Activity section, it looks much better with your changes.
I'm not too sure on the main poster being shrunk to match the sizes of the other posters, I like how the main one is emphasized. It's also easier to see/appreciate the poster when it's a bit bigger. Maybe we could look into making a compact theme, if you prefer it that way?
Feel free to make the rating inline with the contents title, I'm sure it would look better that way.
We have a detailed view that shows the rating and status of a show on your watched list (toggled via the eye icon menu on navigation bar), is that the sort of prominent rating you were thinking of?

Hey @reitenth, I haven't heard back from you in a while so I'm going to close this PR for now.
Please feel free to open an issue with any features/ui related improvements you might have in the future, I'm happy to discuss anything.
Thanks again for opening this pull request!


Question about training data structure

Hi, I would like to use a different dataset for the second step of fine-tuning. How should I structure the data as provided by you? For example, how can I obtain the files train_images.lineidx and train_images.lineidx.8b?
Can you provide a brief tutorial on how to use tsv_file_ops.py and tsv_file.py?

Hi @YuanSun-XJTU , @kevinlin311tw will update our brief tutorial soon for the tsv file construction. Currently, you can check this file as a work around by using the raw image/mask/pose from your new dataset for fine-tuning. Will let you know when the tsv tutorial is ready.

THANKS!


Feature: Add a warning for duplicated test cases in the problem statement

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Client

[x] Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
[x] I followed the coding and design guidelines.
[x] I translated all newly inserted strings into English and German.

Motivation and Context

There was a problem with duplicated test cases in the problem statement. https://github.com/ls1intum/Artemis/issues/7736
The backend part was already implemented, but in the issue it was mentioned, that a warning in the problem statement should also be shown, that test cases are duplicated.
Steps for Testing

Prerequisites:

1 Instructor / 1 Tutor
1 Programming Exercise

Log in to Artemis
Navigate to Course Administration
Create a programming exercise / open an existing programming exercise.
Copy a test case and paste it somewhere else in the problem statement
Make sure that a warning appears in each line where a duplicated test occurs
Make sure that all duplicated test cases are listed in the "test case issues" tooltip

Testserver States

[!NOTE]
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked

Review Progress

Performance Review

[ ] I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance
[ ] I (as a reviewer) confirm that the server changes (in particular related to database calls) are implemented with a very good performance

Code Review

[ ] Code Review 1
[ ] Code Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Summary by CodeRabbit

New Features

Added display for duplicated test cases in programming exercise instructions, including a count of occurrences.

Bug Fixes

Enhanced analysis of problem statements to identify and report duplicated test cases.

Documentation

Updated analysis model to include duplicatedTestCases field for better tracking and reporting.

Tests

Added new tests to ensure duplicated test cases are correctly identified and handled in the instruction analysis.

I'm not completely happy with the term "duplicated test case" here. This is already used in Artemis if the test repository contains two test cases with the same name (e.g. two methods named test in different classes or @DisplayName with the same string).
Writing "the same test case is used in multiple tasks" here would avoid this name clash while being more precise. What do you think?


Potential bug with new lines in the help output when markdown mode is used

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the Typer documentation, with the integrated search.
[X] I already searched in Google "How to X in Typer" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to Typer but to Click.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
import typer

app = typer.Typer(rich_markup_mode="markdown", name="tester-app")

@app.command(name="tester-cmd", help="""
    Header

    Line 1
    Line 2
    Line 3
""")
def cmd():
    pass

if __name__ == "__main__":
    app()

Description

Create the typer application as above
Run this application with --help switch
Lines are not properly formatted (they don't start from a newline):

Input:
> tester-app tester-cmd --help

Output:
 Usage: dbx tester-cmd [OPTIONS]

Header
Line 1 Line 2 Line 3

Expected output:
Header
Line 1
Line 2
Line 3

If I run the same command with: app = typer.Typer(rich_markup_mode="rich", name="tester-app")
I get the expected result:
 Header
 Line 1
 Line 2
 Line 3

If I add more newlines in markdown mode, I get the following:
Input:
@app.command(name="tester-cmd", help="""
    Header

    Line 1

    Line 2

    Line 3
""")
def cmd():
    pass

Output:
 Header
 Line 1 Line 2 Line 3

It only works if I add 3 newlines:
Input:
@app.command(name="tester-cmd", help="""
    Header

    Line 1

    Line 2

    Line 3
""")
def cmd():
    pass

Output:
 Header
 Line 1

 Line 2

 Line 3

But it's also not the desired output. Desired output would be something similar to rich formatting:
 Header
 Line 1
 Line 2
 Line 3

Operating System
macOS
Operating System Details
Apple M1, macOs Monterey 12.2.1
Typer Version
0.6.1
Python Version
Python 3.9.12
Additional Context
No response

For those who were running into the same issue, here is a quick monkey patch I've prepared:

add the custom output formatter:

import inspect
from typing import Union, Iterable

import click
from rich.console import group
from rich.markdown import Markdown
from rich.text import Text
from typer.core import MarkupMode
from typer.rich_utils import MARKUP_MODE_MARKDOWN, STYLE_HELPTEXT_FIRST_LINE, _make_rich_rext

@group()
def _get_custom_help_text(
    *,
    obj: Union[click.Command, click.Group],
    markup_mode: MarkupMode,
) -> Iterable[Union[Markdown, Text]]:
    # Fetch and dedent the help text
    help_text = inspect.cleandoc(obj.help or "")

    # Trim off anything that comes after \f on its own line
    help_text = help_text.partition("\f")[0]

    # Get the first paragraph
    first_line = help_text.split("\n\n")[0]
    # Remove single linebreaks
    if markup_mode != MARKUP_MODE_MARKDOWN and not first_line.startswith("\b"):
        first_line = first_line.replace("\n", " ")
    yield _make_rich_rext(
        text=first_line.strip(),
        style=STYLE_HELPTEXT_FIRST_LINE,
        markup_mode=markup_mode,
    )

    # Get remaining lines, remove single line breaks and format as dim
    remaining_paragraphs = help_text.split("\n\n")[1:]
    if remaining_paragraphs:
        remaining_lines = inspect.cleandoc("\n\n".join(remaining_paragraphs).replace("
", "\\"))
        yield _make_rich_rext(
            text=remaining_lines,
            style="cyan",
            markup_mode=markup_mode,
        )

Monkey-patch the original method before initializing the app object:

import typer.rich_utils

typer.rich_utils._get_help_text = _get_custom_help_text

This allows you to use
 tag (which is recognized by other markdown readers, for example by mkdocs-click.
Some output limitations of the method above:

 can only be specified in command help, this method won't work in arguments/options help strings

 shall only be specified once and and the end of the string that is followed by a non-empty line.

We've also just run into this issue. Markdown that is rendered correctly by Rich is not rendered correctly when fed through a Typer docstring. @renardeinside's monkeypatch may work but a proper fix would be much more palatable.

One more bump, it makes the Markdown mode not really usable unfortunately.

It's now over a year since this problem was reported and Markdown support remains completely broken. Is this library abandonware by now? It'd be a real pity.

+1 for https://github.com/tiangolo/typer/pull/671 to get merged. This is a real bummer when using rich and markdown in help docs.

Yeah, would love to see a fix for this!

Is this library abandonware by now?

It isn't. Open-source maintenance is quite a bit of work, and we're facing some backlog, but we're still committed to maintaining and improving typer. In the next few months, we hope to be making more progress on that backlog.
Thanks all for your comments & contributions, they're very much appreciated!

I also wish there was a normal mode (not rich or markdown) that does not join the lines! I wish it was just like the plain text I wrote.


Route-based IPsec: Mobile Clients Phase2 PFS Group sets Phase2 PFS on those as well

Describe the bug
Created IPsec Mobile Client Settings and activated Phase2 PFS Group and set it to 2 (1024 bits).
Created a route-based IPsec Tunnel and set Phase2 PFS Group to 14.
In ipsec.conf the route-based entry has the ESP modified from the Mobile client setting.
To Reproduce
See above.
Expected behavior
The Mobile Client Phase2 PFS Group should only modify Mobile Clients IPsec. I actually see no benefit from having that setting in Mobile Client at all, since even for the mobile clients we have to create a Phase2 manually...
Environment
Software version used and hardware type if relevant.
OPNsense 19.1.4 (amd64, OpenSSL).

When you set PFS group on mobile VPN page it always overrides the one on P2

I don't think it should do that for a non-Mobile IPsec connection... or at least it should be somewhere documented that it does...
Use case:
IPsec mobile clients connect to the opnsense in the office. From there they get routed over a IPsec tunnel to various datacenters of various partners. Some of those require PFS 21, other 14, other do not care at all...
So it was quite time consuming to find out that this "Mobile Client" setting also fiddled around in our other tunnels...

A proposed solution to a problem relating to a setting that in all likelihood users already rely on for their daily use should be put forward that addresses concerns of backwards-compatibility and improving POLA at the same time. I'm sure "I don't think it should do that"does not cover these requirements.

overrides all **mobile** phase2 settings
...and in the route-based IPsec routes as well...

Should we adjust the help text accordingly? IMO if it's a real issue that can't be documented I'd rather see this override gone. But that would require analysis why this setting exists in the first place.

Just had a look into the code. It seems really to do it for all of them. So adjusting the help text should fix that, but...
As far as I understand the Mobile Client PFS group is also set in the attr plugin in strongswan and the sent to clients that understand the attr.
So if it is set of course the Phase 2 should be set accordingly - but only for that one mobile connection... and not for all of the ipsec connections...


SSL/TLS certificates Problem

can you help me :
[15:10:57] [err] [fls-na.amazon.fr.no-fishing.tk] acme: Error 400 - urn:acme:error:connection - dns :: DNS problem: NXDOMAIN looking up A for fls-na.amazon.fr.no-fishing.tk
Error Detail:
[15:10:57] [err] [images-na.amazon.fr.no-fishing.tk] acme: Error 400 - urn:acme:error:connection - dns :: DNS problem: NXDOMAIN looking up A for images-na.amazon.fr.no-fishing.tk
Error Detail:
[15:10:57] [!!!] failed to obtain certificates
[15:10:57] [inf] disabled phishlet 'amazon'

#296


Godot Mono C# 3.0.5

A reply.

Now, go back and add some description to your bug report/feature request, instead of leaving us in the dark, guessing what you meant. Additionally, there is an issue template, please try to follow it. :smiley:

i cant opened, please delete this post, I can not edit it and I do not send anything, I could not delete it either, please delete this post


[docs-infra] Clear company name footer

Summary 💡
When reaching the footer on https://master--material-ui.netlify.app/system/styles/basics/, it's not clear what's the organization working on this open-source project.
However, when landing on these it's clearer.

https://qwik.builder.io/

https://react.dev/learn

https://nextjs.org/docs/app/building-your-application/rendering/composition-patterns
https://developer.hashicorp.com/vault/docs/internals/architecture

Motivation 🔦
I think that it wouldn't harm to position the organization that works on a given project at the footer of the page. Regardless of how we call it, it would help since our products are related.
@DanailH Raised how with https://37signals.com/ people having no idea that the same company is behind their different products, they mention the company in the footer.

I like the idea. We can also consider rearranging the footer on the website as well (not only the docs)


Stocks input field for company name doesn't work

We weren't listening to the onChange handler.
Fixes #1850

@collinjackson @Hixie

I wonder if we can test this with yegors new fancy?
On Sunday, February 14, 2016, Adam Barth<EMAIL_ADDRESS>wrote:

@collinjackson https://github.com/collinjackson @Hixie
https://github.com/Hixie
—
Reply to this email directly or view it on GitHub
https://github.com/flutter/flutter/pull/1880#issuecomment-183992107.

@eseidelGoogle We could just test this with a normal unit test.  However, I don't think it's worthwhile.

Ok
On Sunday, February 14, 2016, Adam Barth<EMAIL_ADDRESS>wrote:

@eseidelGoogle https://github.com/eseidelGoogle We could just test this
with a normal unit test. However, I don't think it's worthwhile.
—
Reply to this email directly or view it on GitHub
https://github.com/flutter/flutter/pull/1880#issuecomment-183994222.

lgtm. the value of testing this would be to set the tone for our examples, fwiw.


More Assignment Alignment Issues

The following will not align <= likely due to an interaction with when
	ch1_cw_i_val <= '0' & discretes_ctrl.tx_output_gain(15 downto 1) when iq_select = '0' else (others => '0');
	ch1_cw_q_val <= '0' & discretes_ctrl.tx_output_gain(15 downto 1) when iq_select = '1' else (others => '0');
	ch2_cw_val <= '0' & discretes_ctrl.tx_output_gain(15 downto 1);
	ch3_cw_val <= '0' & discretes_ctrl.tx_output_gain(15 downto 1);

It is specifically due to when followed by a => symbol.
Adding a fix where it explicitly looks for when <choice> =>    where the => must be followed by whitespace to the end of the line.  This does fix it but might cause some other weird behaviors.  Will have to keep an eye on it.


feat: Add stream processor metrics

The purpose of this change is to provide some common basic metrics for all Arroyo consumers to help better understand consumer performance and break down where time is being spent.
Specifically 3 timings are being provided:

arroyo.consumer.poll.time - Time spent in poll. Higher if the librdkafka buffer is empty
arroyo.consumer.processing.time - Time spent in strategy submit and poll methods together
arroyo.consumer.paused.time - Time spent in backpressure where consumer is paused

@fpacifici I ended up refactoring a little bit after you reviewed. About the context manager, I am sort of reluctant to provide 2 interfaces for the same thing right now given the current scope of this class. If there is only 1, I would prefer the non-context manager interface first as it seems a bit more versatile to me.


Artemis-3547 improve code

improve org.apache.activemq.artemis.api.core.client.loadbalance.RoundRobinConnectionLoadBalancingPolicy class code. The "first" field is not necessary here!

Please squash your commits and reference the related Jira in the commit messages as noted in the hacking guide. Thanks!


Correlation Ids

Would it be a good idea for AsyncAPI to support built-in correlation ids to enable distributed tracing ?
I would see this as a (optional?) parameter correlationId under #/definitions/operation. The value of this parameter must be the name of one of properties defined in the message schema for the operation.
Automated tracing tools could be implemented with no knowledge of the internal implementation behind the APIs (these tools can listen to publish topics and aggregate on the values of correlationId). Clients of subscribe topics would be aware of the correlation semantics of a particular property in the message they must send to the subscriber of the topic.

I think this is a very interesting feature. Not sure this should be part of the spec though. Why not using specification extension, e.g., x-correlation-id?

I suggested it to be part of the spec because correlation between inputs and outputs is a fundamental difficulty of asynchronous systems, whereas for synchronous systems inputs / outputs are naturally linked. I don't mind implementing it as a vendor extension, but in the world of heterogeneous async systems (microservices), everyone should implement the same extension, which seems to me harder to achieve.

Fair point.

I'm marking this issue to be released on next minor version, v1.3.0.

Thanks for the great suggestion @andreimarculescu.

I'm going to pick this up my next issue. BRB...

Proposal
Proposed approach is:

Port the Runtime Expression object from OpenAPI 3.0.
Add a Correlation ID object to the specification that describes both the type as a Schema object and the location as a Runtime Expression object.
Add a Correlation ID property to the Message object that can reference/declare inline the Correlation ID object.

Rationale
Reasons for approach are as follows:

Generally speaking (although there are other use cases of course) correlation IDs are meaningful in the context of RPC style patterns that implement reply-to queue type mechanisms. By virtue of that fact Correlation IDs are probably best placed being specified on the Message object.
However, having a reusable Correlation ID object would be a huge convenience for the designer so they can be included in multiple message specifications.
Creating a Correlation ID object normalises it across providers i.e. some use headers, others message properties. By declaring it as a message attribute we can always deal with it in the same way
By using a Runtime Expression we can engineer with flexibility. For example where there’s no Correlation ID out of the box for the messaging provider designers can implement a reference to something that might be in the message body.
If the correlation ID comes from a nested field in the payload they can provide a clear and explicit reference in the Runtime Expression that is supported by the mechanics of the specification. For example, if the Correlation ID is in $message.payload#/nestedFieldA/nestedFieldB/randomField that can be unequivocally defined in the specification supported by an appropriate object.
Using this approach lends itself well to RPC-style features in the backlog such as reply-to-queue**.

Example
The Correlation ID object implemented as a Runtime Expression & Schema Object:
MyCorrelationId:
  ‘{$message.header.correlationId}’:
    schema:
      type: string
      pattern: ‘^[0-9a-zA-Z]$’

Then a Message object would look like this:
MyNiceMessage:
  correlationId:
    $ref: ‘#/components/correlationIds/MyCorrelationId`
  payload:
    schema:
	 type: object
      properties:
        Fruit:
         type: string
         enum:
           - Banana

This is a very good idea 👍
Other than that, no much feedback I am afraid.

This proposal looks good to me so far but I'd like to know why do we need to have a schema object inside the correlation id. How is this useful? I can't think on a correlation id that's something different than a string or a number.
I understand it can be useful to have something like a pattern but a whole schema object seems overkilling. What do you think?

@fmvilas ☝

This proposal looks good to me so far but I'd like to know why do we need to have a schema object inside the correlation id. How is this useful? I can't think on a correlation id that's something different than a string or a number.

It adds flexibility without increasing complexity IMO. When I designer wants to enforce the fact that a correlation ID has to be an integer - for example - the capability is there to be used in a well-understood way.

I understand it can be useful to have something like a pattern but a whole schema object seems overkilling. What do you think?

Essentially it doesn't "cost" the specification anything to define it as a Schema object and allows the designer to easily define as a number or a string using a well-understood lexicon. An option could be to cut down the Schema object so only primitives are supported - but then we introduce another construct to the specification that needs maintenance and increases bloat. For me just reusing the Schema object is the lesser of two evils in that scenario.

☝
Roughly this is what a "Simple Type" object might look like if we go down that road:
{
    "id": "http://json-schema.org/draft-04/schema#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Core schema meta-schema",
    "definitions": {
        "schemaArray": {
            "type": "array",
            "minItems": 1,
            "items": { "$ref": "#" }
        },
        "positiveInteger": {
            "type": "integer",
            "minimum": 0
        },
        "positiveIntegerDefault0": {
            "allOf": [ { "$ref": "#/definitions/positiveInteger" }, { "default": 0 } ]
        },
        "simpleTypes": {
            "enum": [ "integer", "number", "string" ]
        }
    },
    "type": "object",
    "properties": {
        "id": {
            "type": "string"
        },
        "$schema": {
            "type": "string"
        },
        "title": {
            "type": "string"
        },
        "description": {
            "type": "string"
        },
        "default": {},
        "multipleOf": {
            "type": "number",
            "minimum": 0,
            "exclusiveMinimum": true
        },
        "maximum": {
            "type": "number"
        },
        "exclusiveMaximum": {
            "type": "boolean",
            "default": false
        },
        "minimum": {
            "type": "number"
        },
        "exclusiveMinimum": {
            "type": "boolean",
            "default": false
        },
        "maxLength": { "$ref": "#/definitions/positiveInteger" },
        "minLength": { "$ref": "#/definitions/positiveIntegerDefault0" },
        "pattern": {
            "type": "string",
            "format": "regex"
        },
        "additionalItems": {
            "anyOf": [
                { "type": "boolean" },
                { "$ref": "#" }
            ],
            "default": {}
        },
        "uniqueItems": {
            "type": "boolean",
            "default": false
        },
        "required": { "$ref": "#/definitions/stringArray" },
        "additionalProperties": {
            "anyOf": [
                { "type": "boolean" },
                { "$ref": "#" }
            ],
            "default": {}
        },
        "definitions": {
            "type": "object",
            "additionalProperties": { "$ref": "#" },
            "default": {}
        },
        "properties": {
            "type": "object",
            "additionalProperties": { "$ref": "#" },
            "default": {}
        },
        "patternProperties": {
            "type": "object",
            "additionalProperties": { "$ref": "#" },
            "default": {}
        },
        "dependencies": {
            "type": "object",
            "additionalProperties": {
                "anyOf": [
                    { "$ref": "#" },
                    { "$ref": "#/definitions/stringArray" }
                ]
            }
        },
        "enum": {
            "type": "array",
            "minItems": 1,
            "uniqueItems": true
        },
        "type": {
          "$ref": "#/definitions/simpleTypes"
        },
        "format": { "type": "string" },
        "allOf": { "$ref": "#/definitions/schemaArray" },
        "anyOf": { "$ref": "#/definitions/schemaArray" },
        "oneOf": { "$ref": "#/definitions/schemaArray" },
        "not": { "$ref": "#" }
    },
    "dependencies": {
        "exclusiveMaximum": [ "maximum" ],
        "exclusiveMinimum": [ "minimum" ]
    },
    "default": {}
}

OK I'm proceeding on the basis of a cutdown Schema object that only supports the following:
"simpleTypes": { "enum": [ "integer", "number", "string" ] }

I think I can create with minimal bloat through referencing the Schema object and using not to constrain the behaviours e.g. no objects, arrays, etc... BRB with an implementation...

☝ PR submitted for feature

🎉


first working version for pca plot & analysis

This PR provides a sort of working version for the PCA tools to provide a template for the other tools. The tool now creates a collection of pdfs (plot) or tables (analysis).
Especially the output should not be an html file which serves as a container for everything else - it works just with it being a collection of PDFs which can then be downloaded or displayed in Galaxy.
This also fixes the count problem - I just didn't update the test cases yet. In general, less test data should be used - ideally one set of input data on which all tools are run.
Also the folder structure is now fixed and the common code for initiating the files is in a macro so it can be shared amongst all tools. This should also be done for parameters - to be put into a macro - and then for the help text as well.

@bdartigues you can merge this and then continue working on the other wrappers, then it should be fine. Will you have the time for this today and tomorrow?

I will have time tomorrow to update all others xml files. @hechth  Many thanks for this PR !!!


Chatterino 2.5.2-beta.1 crash

Checklist

[X] I'm reporting a problem with Chatterino
[X] I've verified that I'm running the most recent nightly build or stable release
[X] I've looked for my problem on the wiki
[X] I've searched the issues and pull requests for similar looking reports

Describe your issue
I've been running the Chatterino beta for a few days, and last night it crashed while I was asleep.
53d788c4-4fcc-420d-930f-29022b52b935.dmp.gz
Screenshots
No response
OS and Chatterino Version
Chatterino 2.5.2-beta.1 (commit 13d871fc) built with Qt 6.7.1, MSVC 194234435, Crashpad Running on Windows 10 Version 22H2, kernel: 10.0.19045

Hmm, the crash only contains the exception handler in the stack and the stacks from other threads don't seem that interesting either.

Yeah, I didn't find anything of particular interest in windbg either.
I just realized that its possible the crash was not even related to Chatterino. I also had JetBrains Rider open at the time and running another project, although idling, and both of those also crashed overnight without any meaningful information in the Rider log nor Windows Event Viewer.


Content-types configuration

A module we use for core functionality is changing the way it accepts configuration. Instead of an app-based globally-reached config, it now requires a config as a parameter. We need to change our application to provide a configuration as a parameter to this module.
Feature: Module requires config as parameter
  As a core developer
  I want to control the configuration provided from Punchcard to the `content-types` module
  So that I can dynamically configure said module based on one or multiple config sources

  Scenario: Standalone app
    Given that my application uses the `content-types` module
      And that I want to provide my core input plugin path to `content-types`
    When I use content types in my application
    Then I should provide a configuration to `content-types`
      And the path to my core input plugin directory should be included in said configuration..

  Scenario: App as module
    Given that my application uses the `content-types` module
      And that my application can be used as an included module in another app
      And that I provide core configuration for my application
      And that users may optionally provide my application with configuration
    When I my application is being used as a module
    Then I should perform a merge of a user's config with my core config
      And said config should include a path to my application's core input plugins directory
      And said config may optionally include a path or paths to an implementor-provided input plugins directory or directories.

Module accepts config parameter

[x] Standalone app
[x] App as module

Was repoened, forgot to reassign

working and merged


PIN-5664 Reject consumer delegation

Merge after #1210
Test reject:

DB with rejected state:

Nice, just a few comments on tests 👍


Destroy or delete method

Would it be possible to provide a destroy or delete method that is the opposite of render in that it will remove any files that would have been created by render?

I'd be happy to take this on and file a PR in the near future. (I've come here from https://github.com/amberframework/amber/issues/188 as above).
I've reviewed some of the source and I've skimmed over the original issue for appending to files   (https://github.com/mosop/teeplate/issues/2). Is it logical to assume that using a - prefix might be suitable for marking a file for destruction?
Happy to hear some feedback on this before filing a PR @mosop

@aaronstillwell - Thanks for offering to take this one.
As far as having a - indicate that a file would be deleted. That wouldn't match my use-case.
What I was looking for is something that takes the exact same logic to decide what files are rendered.
It could be the same structure as this method:
def render
  begin
    @entries.each do |entry|
      if @per_entry
        entry.render
      else
        entry.confirm
      end
    end
    @entries.each(&.render) unless @per_entry
  rescue ex : Quit
    @quitted = true
  end
end

Just, instead of entry.render, it would be entry.delete and instead of entry.confirm, entry.confirm.delete
If the minus (-) designation were to be used, I would expect it to remove lines from the file that match.

Woops, gotcha @marksiemers, you're absolutely right the - makes no sense. Happy to take this on using the approach you've described though :ok_hand:

@aaronstillwell - I screwed up the forking on this, but it should still be fine: https://github.com/amberframework/teeplate
You can open a PR there.


leveldb panic

when i run the command peer node start, i got the follow error,

@denyeart @manish-sethi can you give me a clue?

the result of the peer version

and the runtime environment of the peer is k8s

It means there is already a database open that is using that file system. Perhaps you have another peer process using the same directory.
Also, Fabric v1.4.2 is very old and not being maintained/supported anymore.


refactor TopologyBuilder

@guozhangwang
Simpler topology construction by taking an advantage that sources/sinks/processors are always added in a topological order. Processor nodes are constructed in the same order as API calls (addSource, addSink, addProcessor). I will use this guarantee in the join support.

A couple of comments, otherwise LGTM.

LGTM!


Tokens getting disabled for Active Directory users

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
Install Rancher with the following Helm command:
helm install rancher rancher-stable/rancher \
  --namespace cattle-system \
  --set hostname=$RANCHER_SERVER_BASE \
  --set rancherImage=$REGISTRY/rancher/rancher \
  --set systemDefaultRegistry=$REGISTRY \
  --set useBundledSystemChart=true \
  --set ingress.tls.source=secret \
  --set privateCA=true \
  --version v2.3.5 \
  --wait

Followed by Terraform to configure the Active Directory authentication
...
resource "rancher2_auth_config_activedirectory" "activedirectory" {
  servers                            = [local.ldap_servers]
  service_account_username           = local.service_account_dn
  service_account_password           = local.service_account_password
  default_login_domain               = var.default_login_domain
  user_search_base                   = var.user_search_base
  certificate                        = local.certificate
  port                               = var.port
  tls                                = var.tls

  user_login_attribute  = "sAMAccountName"
  user_object_class     = "person"
  user_search_attribute = "SamAccountName|sn|givenName"
  user_enabled_attribute   = var.user_enabled_attribute

  group_search_base               = var.group_search_base
  group_search_attribute          = "sAMAccountName"
  group_object_class              = "group"
  group_name_attribute            = "name"
  group_member_user_attribute     = "distinguishedName"
  group_member_mapping_attribute  = "member"
  nested_group_membership_enabled = true

  access_mode = "restricted"
  allowed_principal_ids = [
    "local://${data.rancher2_user.admin.id}",
    "activedirectory_group://CN=XXXXXXXX",
  ]
}
...

Log in with an authorized AD-user, Twice
(first time "creates" the user in Rancher, the second to log in) Not sure if this is intentional?

If you look at a token via API you can see that the tokens has not expired but been disabled

{
"authProvider": "activedirectory",
"baseType": "token",
"clusterId": null,
"created": "2020-02-18T07:17:33Z",
"createdTS":<PHONE_NUMBER>000,
"creatorId": null,
"current": false,
"description": "Test",
"enabled": false,
"expired": false,
"expiresAt": "",
"groupPrincipals": null,
"id": "token-rpgq6",
"isDerived": true,
"labels": {
  "authn.management.cattle.io/token-userId": "u-dvv3kmol5j",
  "cattle.io/creator": "norman"
  },
"lastUpdateTime": "",
"links": {
  "remove": "…/v3/tokens/token-rpgq6",
  "self": "…/v3/tokens/token-rpgq6",
  "update": "…/v3/tokens/token-rpgq6"
  },
"name": "token-rpgq6",
"ttl": 0,
"type": "token",
"userId": "u-dvv3kmol5j",
"userPrincipal": "map[displayName:Kyrklund, Jonathan (XXXXX) loginName:XXXXXX me:true metadata:map[creationTimestamp: name:activedirectory_user://CN=XXXXXX] principalType:user provider:activedirectory]",
"uuid": "7cc38a4e-3a71-4c76-8101-677b6fa5d6f5"
}

Other details that may be helpful:
A fix we found is to configure/set a local username for the AD-logged in users.
We do this by a REST call to API adding:
"username": "XXXXXX",
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.3.5
Installation option (single install/HA): HA
Kubernetes version: v1.17.2
Docker version (use docker version): Docker CE 19.03.5

After some troubleshooting and comparing with a functioning environment we found the reason for this issue.
The Active Directory we use is locked down, so AD-users doesn't have permissions to lookup other users. In this case Rancher needs permissions to lookup the memberOf-attribute of the users in the domain.
After updating the permissions of our Service Account we have verified that tokens will not be disabled anymore


Update/create/delete hosts and groups

Is there any intention to provide Update/create/delete hosts and grous action?

Nope

@kovetskiy а в планах нет?


error 400 after creating product with variant

Hi,
I am trying to create a product using ShopifyAPI::Product.new(hash) but it returns error 400 or bad request. Am i doing it wrong? Please help.
{
    :title => "Product Name",
    :body_html => "",
    :taxable => false,
    :tags => "coffee",
    :barcode => "",
    :images => [
        {
            :src => ""
        }
    ],
    :status => "published",
    :variants => [
        {
            :sku => 123,
            :price => 10.0,
            :inventory_management => "shopify",
            :inventory_quantity => 10
        }
    ]
}

If anyone is still able to reproduce this, please re-open.


"No link found" for every URL provided

Hi,
I trying to use this tool but every type of URL that I pass to -u parameter the response is exaclty the same:
[14:08:55] Doing a short traversal.
[14:08:55] Number of links to test are: 0
[14:08:55] Started finding XSS
[14:08:55] 	No link found, exiting

Honestly I can't understand this error.. for example, if I try:
$ xsspy -u https://example.com/

it responds "No link found" but there is a link:
$ curl -s https://example.com/ | grep "<a"

More information...

what kind of link is this tool searching for?

It needs payloads and url where payload could be added.
Watch here :
https://github.com/pgaijin66/XSS-Payloads
https://github.com/shogunlab/shuriken


expand hpg shorthands in addons:create

https://github.com/heroku/heroku-pg-extras/commit/cafea80b7a739e8c7083f5be12fec434dc7824e0


Wrong assets bundle used in widget settings template

In my case, the generated generated:
{% do view.registerAssetBundle("wmyl\\wmylforms\\assetbundles\\wmylforms\\WmylFormsAsset") %}
when the class actually is:
{% do view.registerAssetBundle("wmyl\\wmylforms\\assetbundles\\latestwmylformswidget\\LatestWmylFormsWidgetAsset") %}

So this is actually "right" -- for the _settings.twig templates, it doesn't create a separate AssetBundle, it just uses your main plugin's AssetBundle.
You can of course change this to be anything you want.
The Widget's _body.twig template, however, does have a custom AssetBundle just for the widget.

But the generated AssetsBundle was named after the Widget, not the plugin, which is why I had to change the registerAssetBundle call. The generated code did not work out of the box.
However, it probably only happens if you specify a custom name for the widget.

The asset bundle named after the widget is for the _body.twig template


Feature request: Quick way to set nested JSON values

Let's say an API takes several values, like in this example call:
{
   "name": "Fred",
   "age", 27,
   "pets" : {
      "penguins": 2,
      "dogs":1
   }
}

I can reference name and age easily:
$> http PUT https://www.example.com/users/1  name=Phil age=25

But editing pets is uglier:
$>   http PUT https://www.example.com/users/1 pets:='{"penguins":2, "dogs":1}'

I'd like to do something like one of these:
$> http PUT https://www.example.com/users/1 pets.penguins=2  pets.dogs=1
$> http PUT https://www.example.com/users/1 pets="penguins=2 dogs=1"
$> http PUT https://www.example.com/users/1 pets\penguins=2 pets\dogs=1

That said, "." and "" could conceivably be part of a JSON key, so maybe that's not actually a good idea?

Maybe have a look at JSONPath (http://goessner.net/articles/JsonPath/) for syntax inspiration.

Duplicate of #78

Closing this in favor of #78

🎉 This feature is now publicly available in HTTPie for Terminal 3.0:
👉🏻  https://httpie.io/docs/cli/nested-json


Fix a bug recently reported in the mailing list

Also, fix the incorrect SSL roots path (which was somehow working anyway) and update the per-rpc creds interop test to use the code path that was buggy (which needed to be done anyway).

Is there a test that could have caught this?

The thing that I was trying to fix here (the missing ! in call.set_credentials!) should be caught by the rewritten interop test


Split CommonAPIClient interface into several smaller interfaces

This groups method definitions by "object" type (container, image, …) into smaller interface and use composition to make CommonAPIClient and APIClient the same as right now 🐹.
This follows https://github.com/docker/engine-api/pull/265#discussion_r66227712 👼
This also moves Checkpoint* methods to the experimental interface as it will be enabled into experimental first.
/cc @calavera @MHBauer @dnephin @cpuguy83 @stevvooe @icecrime @thaJeztah
🐸
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>

LGTM, nice!

LGTM

LGTM

I missed the party: :heart:

nice LGTM

LGTM. Nice!


Updated controller and services

@sreeBeva-code updated some of the classes of your controller and services too...☺

@fardin3405 we merged our works, waiting for you...😐


Confusing modification of computed property error message on repeated property on insert

EdgeDB Version: 3.5 and 4.1+0c628ea
EdgeDB CLI Version: 4.0.2+500be79
OS Version: macos 13

Steps to Reproduce:

Run the following (clearly wrong) query
insert Example {prop:=datetime_current(), prop:=datetime_current()};

error: QueryError: modification of computed property 'prop' of object type 'default::Example' is prohibited
  ┌─ <query>:1:43
  │
1 │ insert Example {prop:=datetime_current(), prop:=datetime_current()};
  │                                           ^^^^^^^^^^^^^^^^^^^^^^^^ error

Of course in this example it's easy to see what's wrong with the query, but in the much more complicated example we discovered this in, it was pretty bewildering. Also filing not just for UX but in case it is a hint of any more concerning underlying problem.

Schema:
type Example {
    property prop: datetime;
}

I would like to see this say something about defining the computed property twice or maybe redefining the computed prop. Seems like that would be clearer. A couple of suggestions that might work:

redefining the computed property 'prop' of object type 'default::Example' is prohibited
you may not define the computed property 'prop' of object type 'default::Example' more than once

I think I'd lean toward the latter option out of those two.

Perhaps it's coming up as computed because of the datetime_current function. However, it's also confusing to call it a "modification". The original query we noticed this in was an upsert which was extra confusing. I'm accustomed to minimizing the queries for bug reports but in this case that actually contributes to the central problem here which is the confusing nature of the message.

The big item is that this isn't a computed property at all.

Oh, right. This is an insert. 🤦♂  Forget my suggestions then. Maybe this instead:

you may not assign the property 'prop' of object type 'default::Example' more than once

or something along those lines.

Another way this crops up: forgetting to not define a shape after turning a select into a with,
with gpt4users := (select
   User {preferredFoundationModel: {provider_model_identifier}}
filter .preferredFoundationModel.provider_model_identifier like "gpt-4%"
),

update gpt4users set {
  preferredFoundationModel := (select FoundationModel filter .provider_model_identifier = "gpt-4-turbo")
}


Rename NAD for BMAAS: s/baremetal-net/baremetal/

When trying to attach to OVN there is an error when creating the ovs bridge:
  ovs-vsctl: Error detected while setting up
   'br-baremetal-net': could not add network device
   "br-baremetal-net to ofproto (Invalid argument).
   See ovs-vswitchd log for details.

Let's rename it, so that it fits in the 15 char limit for interface name when ovn-operator adds the 'br-' prefix.

use

Actually the reason here is not dash in the name but interface name limit to 15 characters which surpasses when ovn creates a bridge by prefixing br-.

use

Actually the reason here is not dash in the name but interface name limit to 15 characters which surpasses when ovn creates a bridge by prefixing br-.

ah, ok I will update the commit message to say that as well.

use

Actually the reason here is not dash in the name but interface name limit to 15 characters which surpasses when ovn creates a bridge by prefixing br-.

ah, ok I will update the commit message to say that as well.
Is there an actual reason for ovn-operator to add the 'br-' prefix? It could just use the physical network name defined in the mapping without adding a prefix?

I don't think there is a reason from functional point but seems it was done for consistency/historical usage, but @slawqo may know more.


added isCtrl attribute to all controls in rigbits menu

Hey! Small update from my side. Adding the "isCtrl" to the controls created through the rigbits menu.

@JaschaW  Thanks! I will merge it now :)


feat(Order/KonigLemma): Konig's infinity lemma

This PR proves Konig's infinity lemma, and gives a consequence for sigma types which is useful in applications to Ramsey theory.

[x] depends on: #14004

!bench

Sorry, I was in the middle of a review but was interrupted for a couple hours.

Thanks! I've adjusted the PR summary (there was an incomplete sentence, and I reworded it a bit based on our discussion about the docstring). Please take a look and edit further if you want and then merge!
bors d+

bors r+


How to instantly crash the Ipython console

From<EMAIL_ADDRESS>on 2010-11-03T07:46:12Z
In [1]: ù
WARNING:

You or a %run:ed script called sys.stdin.close() or sys.stdout.close()!
Exiting IPython!
Closing threads... Done.
Well it's actually an unwanted exit, not a crash. This doesn't happen if I run ipython from a shell. I'm using the beta5 on Ubuntu 10.10 and can't afford to upgrate to 6 right now to check. Can someone try?
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=438

From pierre.raybaut on 2010-11-03T10:57:02Z
This is happening on v2.0.0beta6 too.
Status: Accepted

From<EMAIL_ADDRESS>on 2010-11-04T05:58:07Z
Update: looks like it happens with any accented letter, including à, è, ì, ò, ù, À, È, Ì, Ò, Ù.
On an italian keyboard it is really annoyng, since the "ù" is so close to enter and is a typical typo.

From pierre.raybaut on 2010-12-15T05:56:02Z
Status: Duplicate
Labels: -Type-Defect
Mergedinto: 502


Initial support for the Orin NX in Jetson Xavier NX devkit carrier board, booting from NVME

@resin-jenkins test this please


Send Presentation Error

Hello, not sure if I should raise this ticket here or in Ursa repo.
When calling the API: present-proof/records/{{supplier_presentation_exchange_id}}/send-presentation, the body payload structure works for the 1st time but fails in the second time.
ACA-Py version: bcgovimages/aries-cloudagent:py36-1.16-0_0.6.0
Below shows the body payload that failed.
{
    "requested_attributes": {
        "attrProp1": {
            "cred_id": "57bfb3bd-dbf3-48da-aaf3-8d5891a4f8ab",
            "revealed": true
        },
        "attrProp2": {
            "cred_id": "57bfb3bd-dbf3-48da-aaf3-8d5891a4f8ab",
            "revealed": true
        }
    },
    "requested_predicates": {
        "predProp1": {
            "cred_id": "57bfb3bd-dbf3-48da-aaf3-8d5891a4f8ab",
            "timestamp":<PHONE_NUMBER>
        }
    },
    "self_attested_attributes": {},
    "trace": false
}

This is the error message I've got from the API call, which is not clear enough to explain what's wrong. I see this error message comes from the Ursa repo.
400: Error when constructing proof: Error: Invalid structure. Caused by: UrsaCryptoError: Predicate is not satisfied. CommonInvalidStructure.
Can anyone help explain what it means?

It's odd that it is failing with an Ursa message.  That implies then when the presentation is sent the first time, the part of the protocol state object that is the presentation is updated somehow such that it fails in Ursa.  Not sure why that would happen.  Is there any way for you to look at the data passed into the Ursa call on each call and see the difference.
That said, I'm not sure sending the same presentation twice should work.  If the presentation has been sent, does it make sense to send it again?

@swcurran, I didn't explain well on what I've done. Actually, I've created two proof requests. Proof Request 1 with the same payload structure as shown in my ticket did go through this API call successfully. The error I've got was after I created Proof Request 2 sent from the verifier, and when the holder tried to send the proof presentation, then I got this error, which doesn't make sense to me, because the process was exactly the same and handled by my frontend app. I'll clean my environment again and reset up the whole local environment and test it again.

Ah...got it.  That is not good -- that definitely should not happen.  If you can provide an example, please do.  This is easily tested in the Alice/Faber demo.  Just tried it and ran about 10 presentations in a row and all is worked.

@swcurran, I reset up the whole environment and test it again, and the same issue still occurs after I created 2 proof requests.  In the proof request, I have 2 attribute request and 1 predicate request. The only differences between them are (1) the predicate's value is a bit different (e.g. 1st predicate said DOB < 2000 and 2nd predicate said DOB < 1990) and (2) the time stamp used, and the time stamp is created when a proof is requested which is a simple logic implemented in my frontend. I printed out the body payload used for the send-presentation API for the 2 tries as shown below.
First body payload was successful, I forgot to take a screenshot of the successful response.

Second body payload caused errors.

Could you ask someone to test this case and see if this issue can be reproduced? Please see the ACA-Py version I use in my ticket.

To reproduce this, could you please share the JSON of the credential that you shared, the data in the credential (although that hopefully doesn't matter) and the two proof requests.  Then we can replicate the same scenario using Alice/Faber.
Have you tried running only the second proof request/proof?  Perhaps it is something in that proof request.

@swcurran , see below JSON information.

Credential JSON:

{
    "results": [
        {
            "referent": "91f4aa0f-b456-463c-ad71-0ebc7c4576d1",
            "attrs": {
                "expire_date": "2030",
                "issue_date": "2020",
                "last_name": "LName1",
                "date_of_birth": "1990",
                "first_name": "FName1"
            },
            "schema_id": "MtSBSkitb28PSoCj9EpSDs:2:passport:0.16",
            "cred_def_id": "MtSBSkitb28PSoCj9EpSDs:3:CL:14069:passport",
            "rev_reg_id": "MtSBSkitb28PSoCj9EpSDs:4:MtSBSkitb28PSoCj9EpSDs:3:CL:14069:passport:CL_ACCUM:364824ea-c227-480e-8a35-ca803c066d78",
            "cred_rev_id": "1"
        }
    ]
}

Proof presentation payload 1 (payload 2 only uses a different time stamp)

{
    "requested_attributes": {
        "attrProp1": {
            "cred_id": "91f4aa0f-b456-463c-ad71-0ebc7c4576d1",
            "revealed": true
        },
        "attrProp2": {
            "cred_id": "91f4aa0f-b456-463c-ad71-0ebc7c4576d1",
            "revealed": true
        }
    },
    "requested_predicates": {
        "predProp1": {
            "cred_id": "91f4aa0f-b456-463c-ad71-0ebc7c4576d1",
            "timestamp":<PHONE_NUMBER>
        }
    },
    "self_attested_attributes": {},
    "trace": false
}

I've tried proof presentations for twice. 1st worked, but 2nd failed.

@swcurran, any update?

Sorry - no. I've not had time to try this.   It's a very weird one.

Going through old issues and saw this one again.  I still am not sure what could be going on, but did want to confirm this. I assume that you are generating and sending a new presentation based off the second presentation request -- correct?  E.g. you aren't literally sending the same presentation on the second run?  That would generate an error -- as expected. The presentation request sent will have a unique nonce per request, and so using the same presentation twice will generate an error.
Thanks.
@ianco -- could you please run through a scenario like this?

@swcurran, yes, the new presentation was based off the second presentation request.

I tested this the easiest way I know how and it works fine:

Start von-network instance
Start indy-tails-service instance
Run Faber: ./run_demo faber --revocation
Run Alice: ./run_demo alice
Connect the two -- copy Faber invite and paste at prompt from Alice
Faber: Menu item 1 -- issue credential -- works
Faber: Menu item 2 -- request proof -- works
Faber: Menu item 2 -- request proof -- works
Faber: Menu item 5 - revoke credential -- works
Faber: Menu item 2 -- request proof -- works -- verification fails
Faber: Menu item 1 -- issue credential -- works
Faber: Menu item 2 -- request proof -- works
Faber: Menu item 2 -- request proof -- works

That is a single program requesting the same proof content, but different proof requests multiple times. I also did a try without revocation and it worked fine as well.
I can't imagine this doesn't work -- it's something that has been working for many years.  My guess is that there is something in the setup you have or the sequence of steps.
I guess a full log of the steps you are doing might help.

@swcurran, thanks for the update. Strangely, I can't reproduce this issue either in my environment at the moment. I'll close this ticket for now. If got new findings, would reopen it.


Gh-1462 GetSchema

Codecov Report

Merging #1468 into develop will decrease coverage by 0.8%.
The diff coverage is 87.5%.

@@              Coverage Diff              @@
##             develop    #1468      +/-   ##
=============================================
- Coverage      66.49%   65.69%   -0.81%
+ Complexity      1744     1694      -50
=============================================
  Files            718      638      -80
  Lines          23539    21120    -2419
  Branches        2978     2732     -246
=============================================
- Hits           15652    13874    -1778
+ Misses          6685     6164     -521
+ Partials        1202     1082     -120

Impacted Files
Coverage Δ
Complexity Δ

.../src/main/java/uk/gov/gchq/gaffer/graph/Graph.java
57.38% <100%> (ø)
0 <0> (ø)
:arrow_down:

...ffer/store/operation/handler/GetSchemaHandler.java
100% <100%> (ø)
0 <0> (?)

.../src/main/java/uk/gov/gchq/gaffer/store/Store.java
67.93% <25%> (-0.61%)
0 <0> (ø)

.../uk/gov/gchq/gaffer/store/operation/GetSchema.java
94.11% <94.11%> (ø)
0 <0> (?)

.../uk/gov/gchq/gaffer/rest/factory/GraphFactory.java

...fer/rest/service/v1/GraphConfigurationService.java

...q/gaffer/federatedstore/operation/RemoveGraph.java

...v/gchq/gaffer/rest/service/v2/StatusServiceV2.java

...store/impl/CountAllElementsDefaultViewHandler.java

...gov/gchq/gaffer/rest/ServletLifecycleListener.java

... and 76 more

Continue to review full report at Codecov.

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

Closing while tests are altered

Closing while test fixed

Closing while changes are made.


Use new smithy-lang tap

Issue # (if available):
Description of changes:
Updates the integ workflow to use the smithy-lang tap
By submitting this pull request, I confirm that my contribution is made under the terms of the MIT-0 license.

Seems like workflow container cached the brew deps. Trying something to remove that.

It appears that the AWS tap is added by default so we will need to wait for: https://github.com/aws/homebrew-tap/pull/498
to be merged


Support voice triggers

Support the ability to trigger the bot like Alexa and use speech-to-text to route the request to GPT.

This likely needs to be written into a custom TTS client, and be a 2.0 thing. This can use the NAudio framework. I've looked into the native support in Speaker.bot and it's terrible. I've also looked into Voice Attack and .Net Speech Services. All of these options were pretty terrible at recognition of most trigger words. .Net Speech Services yielded the best results, when Windows 10 was actually trained in the specific keyword, on top of the normal training. However, it still only detected about 70% of the time. It seems like the best path forward is to use a Cloud-based Speech-to-Text API that supports streaming, and then sending it all of the speech and determining actions as the data flows back. Attempts to do most of the speech analysis locally and only sending the actual prompts after the trigger word have not yielded consistent results.

I have evaluated this from multiple angles. This is a tough nut to crack. There really isn't any software out there that handles voice triggers as well as Google Speech-to-Text. OpenAI's Whisper API is also interesting as well. The thing is we are just trying to detect the trigger words using this functionality, and this requires sending all the audio stream for the entire stream for processing, more like we were doing closed captions. This isn't the end of the world, mind you, but it is expensive for no good reason. Ideally a custom client app could fix this, if .Net Speech was better at detecting the trigger words, but in testing, it's not great. With training it's a little better, but we are still talking low 70s hit rates. Windows is just not Alexa. I imagine there are paid libraries that would do a better job, there has to be, but as an open source project we need to stay within the bounds of free and licensable. I'm still investigating options for this, and am open to suggestions from the community. This is definitely a 2.0/PNGTuber-GPT Pro thing though, I don't see this making it into the base solution without some other app being involved, as Streamer.bot's voice detection is absolutely horrible, because it's just based on .Net Speech / Voice Attack the same way.


Create a URL Builder for scrapping timetable

Find the best solution to creating the URL required for scrapping Timetable data from ERP.
Refer: /data/scrapper/course_rooms.py

@kshitij10496 Can you mention a couple of reasons you are not happy with the present string formatting solution? It looks good to me, and gives a pretty high degree of flexibility when the URLs change in the future.

@kshitij10496 Can you mention a couple of reasons you are not happy with the present string formatting solution? It looks good to me, and gives a pretty high degree of flexibility when the URLs change in the future.

I just don't think string formatting is the best way to create URLs in Go.
Ideally, we should use URL type with query parameters.

In Go? The course scrapper is written in Python though. ❓


Define the Name and Structure of Financial Sections

Objective: Clearly outline how you want to organize different financial sections, which could be called "wallets" or "projects."

Details:

Decide if each financial section will have its own set of accounts, like cash, cards, or other assets, and how they’ll be organized.
Think about what makes each section unique. For example, will sections be project-based (e.g., "Vacation Fund") or user-specific (e.g., "John's Wallet")?
Define the terms you'll use consistently across the app, such as "wallet," "section," "project," etc., and stick with them for clarity.

Outcome: A document or note with a clear structure and naming conventions for the sections and any relevant terms.

The financial sections will be referred to as Finance Groups. Each Finance Group will have its own accounts, such as cash, cards, or other assets. These groups will be unique, independent, and flexible; they can be project-based, user-specific, or configured to meet various needs, making them highly versatile.


Proxy: Simplifies ProxyAddress struct to better represent what is possible

Also adds AddressForward type to firewall package, to support both proxy device DNAT rules as well as forthcoming network address forwarding support on bridge networks.

Converting to draft as not working with nft

@stgraber fixed the issues, ready for review.


split up session and rest

This separates the websocket session from the rest polling.
Adavantages:

If there was a new websocket event, then the timedelta until the next poll start from there
We can explicitly react to errors on polling with REST

@prairiesnpr : I'm not really sure about what to do with the tests now. Can you give me a hint?

I've been traveling for work all week, will do my best to look at this and #511 soon.


Only load the latest version of the module

If multiple copies of the same module are found in the modules directory, we should only load the one with the highest version number.  Currently we will load and potentially even run all copies.

Closed by #537


bbcode to support different sizes

It would be real handy to have different font sizes supported in bbcode
https://en.wikipedia.org/wiki/BBCode
suggests the following syntax:
[style size="15px"]Large Text[/style]

Duplicate of https://github.com/godotengine/godot/issues/5557.

Indeed.


Document how to debug and fix usedUndeclaredArtifacts issues

It is unclear how to debug usedUndeclaredArtifacts issues. Neither running with --info nor --stacktrace seems to offer useful insights. I didn't try running with --scan, because I did not want to unwittingly upload proprietary code or configurations.
It would be great to document a concrete process for debugging and fixing these issues.

I tried the task configuration, which yielded a log file containing simply:
usedUndeclaredArtifacts
 - <the artifact version>@jar

Is there a way to increase the verbosity of the log?

Which information you would like to have?

I think there is bug with the library for getting verbose logging.
see details in
https://github.com/gradle-dependency-analyze/gradle-dependency-analyze/issues/528#issuecomment-2198612819


List should not be unfiltered and unfound after adding modules/status/comment

Filter/Find a contact.
Add a module.
Automatically list all contacts again.

Will look into it


Update release notes to 2022.12

🔨 2022.12 🔨
@rpaladin I ran a bit out of time today, hope you won't quickly going through this PR to check that I haven't forgotten anything or missed any other highlights worth including? 🙂  - (I'm usually testing on github.io, but it didn't work for me this time, so I'll probably just DM you and ask some questions in terms of setting it up locally for the next release notes)

Hi @Naxela, I pushed some fixes/improvements. By the way.. I apologize if you didn't want me to commit directly. I didn't mean to. Usually, my Github client simply creates a fork and pushes to that, but apparently I can push directly to your fork?? I guess that's because you've allowed Allow edits from maintainers?

On user-owned forks, if you want to allow anyone with push access to the upstream repository to make changes to your pull request, select Allow edits from maintainers.
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork#enabling-repository-maintainer-permissions-on-existing-pull-requests

My commit changelog

Crop images to appropriately sizes.
Added additional new tutorials w/ embed previews (I'm planning on converting them to local images in the near future, I don't have time right now).
Corrected PR count and added some more accurate information.
Corrected some wrong PR links.
Corrected user names.
Improved grammar.

Thanks again!👍

@rpaladin Hi, committing directly is absolutely fine! 🙂 - Especially since I've been AFK until now due to work-related events, so it's actually just great that you were able to and same time - Thanks for that 👍


Upgrade some dependencies for security reasons

related to #12286

What kind of change does this PR introduce?
deps

Did you add tests for your changes?
no

Does this PR introduce a breaking change?
no

What needs to be documented once your changes are merged?
nothing

Quick question: Is this PR likely to be fixed & merged any time soon?

Quick question: Is this PR likely to be fixed & merged any time soon?

no. I wanted to try out if updating these versions would work. But it seem like there are breaking changes here, so this can't be upgraded in webpack 4.
These problems are already fixed in webpack 5.


Efficiency update: polarity swap after reading all channels

In the current version, the tool swaps polarity of the voltage for each of the 32 channels. This is terribly inefficient as it takes time to verify the signal has settled each time the polarity reversal is done.
Instead, just read each channel at a positive value and store results, then read each channel at a negative value and then calculate the linear fit.

addressed in pull request 3


Enable OpenOCD for Zynq

To enable Zynq we need to set a new configuration file for openOCD to allow the programming of the device.

To enable Zynq we need to set a new configuration file for openOCD to allow the programming of the device.

Could you tell me that how I can set a new configuration file for openocd to enable kintex7(methods or steps)?


feat: Lambda Role Name

Provide a way to generate Lambda IAM Role names.
See also: https://github.com/gogoair/foremast/pull/112

Test cases needed.

I got your tests. I got your tests right here!

Everything looks good. The last thing needed is the Readme update.

README! Done.


Descriptions

Hi LaihoE!
I open this cause some topic we discussed previously about the numbers and the names of hitgroups. I'll leave here the names you gave me:
HEAD=1
CHEST=2
STOMACH=3
LEFTARM=4
RIGHTARM=5
LEFTLEG=6
RIGHTLEG=7
Also, I wanted to ask you about the round end reasons, do you have the descriptions? If you have them, can you leave here? In case you don't i can look for them comparing the matches.
Thank you a lot!

Not sure about these. You can probably use "message" to help.
    legacy                      message  nomusic  player_count  reason   tick  winner
0        0         #SFUI_Notice_CTs_Win        0            20       8  11112       3
1        0         #SFUI_Notice_CTs_Win        0            20       8  18448       3
2        0         #SFUI_Notice_CTs_Win        0            20       8  23496       3
3        0    #SFUI_Notice_Target_Saved        1            20      12  32584       3
4        0         #SFUI_Notice_CTs_Win        0            20       8  38999       3
5        0         #SFUI_Notice_CTs_Win        0            20       8  43124       3
6        0         #SFUI_Notice_CTs_Win        0            20       8  51625       3
7        0         #SFUI_Notice_CTs_Win        0            20       8  59561       3
8        0         #SFUI_Notice_CTs_Win        0            20       8  65914       3
9        0         #SFUI_Notice_CTs_Win        0            20       8  70358       3
10       0  #SFUI_Notice_Terrorists_Win        0            20       9  77131       2
11       0         #SFUI_Notice_CTs_Win        0            20       8  82000       3
12       0  #SFUI_Notice_Terrorists_Win        0            20       9  86511       2
13       0  #SFUI_Notice_Terrorists_Win        0            20       9  93171       2

Just wanted to add for context. Extracted this information from another CSGO parser project a few years back.
The numbers might be different for CS2 but the defusal maps win reasons seems to be the same at least (1,7,8,9)
var roundWinReasons = {
1: 'Bomb Exploded', // t win
4: 'TerroristsEscaped', // t win?
5: 'CTStoppedEscape', // ct win?
6: 'TerroristsStopped', //ct win?
7: 'Bomb Defused', // ct win
8: 'Terrorists Killed', // ct win
9: 'Counter-Terrorists Killed', // t win
10: 'Round Draw', //round draw
12: 'Target Saved', // ct win
17: 'Terrorists Surrender', // ct win
18: 'Counter-Terrorists Surrender', // t win
19: 'TerroristsPlanted', //??
20: 'CTsReachedHostage' //??
}

https://github.com/LaihoE/demoparser/pull/206
These are now directly translated to readable versions.


Empty menu

When torxakis is loaded with the following model
PROCDEF P [A] () EXIT ::=
   A | EXIT
ENDDEF

PROCDEF R [A,B] () EXIT ::=
   P[A]() [>> P[B]()
ENDDEF

CHANDEF Chans ::=
    A, B
ENDDEF

MODELDEF Model ::=
    CHAN IN A
    CHAN OUT B
    BEHAVIOUR R [A,B]()
ENDDEF

one gets
PS C:\experiments> torxakis .\DisableParallel.txs

TXS >>  TorXakis :: Model-Based Testing

TXS >>  txsserver starting: "PC-17716.tsn.tno.nl" : 54321
TXS >>  Solver "cvc4" initialized : cvc4 [1.6]
TXS >>  TxsCore initialized
TXS >>  input files parsed:
TXS >>  .\DisableParallel.txs
TXS >> stepper Model
TXS >>  Stepper started
TXS >> menu
TXS >>  []
TXS >>

Where the menu should be [A,B].

Note that the model should allow only two sequences / traces:
A
B

Note also the translation to LPE shows two valid initial steps:
TXS >> lpe R[A,B]()
TXS >>  LPE behaviour generated:
TXS >>  LPE_R [A,B] ( 0, (ANY :: Int), (ANY :: Int), (ANY :: Int) )
TXS >> show procdef LPE_R
TXS >>
TXS >>
TXS >>  PROCDEF LPE_R [ A :: ; B :: ] ( pc$R :: Int; R$pre1$A$B$R$pre1$disable$lhs :: Int; R$pre1$A$B$R$pre1$lhs$pc$R$pre1$lhs :: Int; R$pre1$A$B$R$pre1$rhs$pc$R$pre1$rhs :: Int ) EXIT
TXS >>  ::=
TXS >>  ( { A | EXIT } [[ ( 0 == pc$R ) ]]
TXS >>  >-> ( LPE_R [A,B] ( 1, 0, -1, -1 )
TXS >>  ) )
TXS >>  ##
TXS >>  ( { A | EXIT } [[ ( IF ( 1 == pc$R ) THEN ( IF ( 0 == R$pre1$A$B$R$pre1$disable$lhs ) THEN ( 0 == R$pre1$A$B$R$pre1$lhs$pc$R$pre1$lhs ) ELSE False FI ) ELSE False FI ) ]]
TXS >>  >-> ( LPE_R [A,B] ( 1, 0, -1, -1 )
TXS >>  ) )
TXS >>  ##
TXS >>  ( { B | EXIT } [[ ( 0 == pc$R ) ]]
TXS >>  >-> ( LPE_R [A,B] ( 1, 1, 0, -1 )
TXS >>  ) )
TXS >>  ##
TXS >>  ( { B | EXIT } [[ ( IF ( 1 == pc$R ) THEN ( 0 == R$pre1$A$B$R$pre1$rhs$pc$R$pre1$rhs ) ELSE False FI ) ]]
TXS >>  >-> ( LPE_R [A,B] ( 1, 1, R$pre1$A$B$R$pre1$lhs$pc$R$pre1$lhs, -1 )
TXS >>  ) )
TXS >>  ENDDEF

Also here it seems that the synchronous communication with EXIT at top level is the issue!


"ADIOI_CRAY_WRITECONTIG" error when extracting large mesh

I got mulitple similar errors when extracting a large velocity mesh(2.1T) on Titan:
* ...
ADIOI_CRAY_WRITECONTIG(261): filename='la_habra_large_cvmsi_20m.media'  error='Input/output error'  errno=5  PE=03599  W_rec=16784  off=474083277000  len=0000003000  See MPICH_MPIIO_ABORT_ON_RW_ERROR.
Error writing to file
...*

The *.pbs file includes:
*
module load iobuf
aprun -n 20736 $UCVMBIN/ucvm2mesh-mpi -f ucvm_la_habra_large.conf
*

The *.conf file includes:
x0=-119.288842
y0=34.120549
z0=0.0
# Number of cells along each dim
nx=9000
ny=6750
nz=3072
# Partitioning of grid among processors
px=18
py=18
pz=64
# Vs/Vp minimum
vp_min=0
vs_min=0
# Mesh and grid files, format
meshfile=la_habra_large_cvmsi_20m.media
gridfile=la_habra_large_cvmsi_20m.grid
meshtype=IJK-12
# Location of scratch dir
scratch=/lustre/atlas/proj-shared/geo112/****/cvm

A very similar pbs and conf file work well when extract a smaller velocity mesh (100+G):
*
nx=1400
ny=1400
nz=600
# Partitioning of grid among processors
px=25
py=25
pz=10
*

so I assume it is because some IO problems on Titan? Is there any suggestion to fix this issue?
Thank you!

use ucvm2mesh_mpi_layer. This should scale better for large mesh.


Add INIT_REFRESH in nbgl_refresh_mode_t

INIT_REFRESH is used by OS to fully clear the screen in white.
Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)
[ ] Tests
[ ] Documentation
[ ] Other (for changes that might not fit in any category)

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

Project coverage is 59.65%. Comparing base (808514e) to head (26adf27).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #567   +/-   ##
=======================================
  Coverage   59.65%   59.65%
=======================================
  Files          12       12
  Lines        1678     1678
=======================================
  Hits         1001     1001
  Misses        677      677

Flag
Coverage Δ

unittests
59.65% <ø> (ø)

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

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


SILGen: Generate an 'apply [nothrow] for calls to 'rethrows' functions

Previously we would emit a try_apply with an error block containing an
'unreachable', and rely on SIL passes to optimize it out, but there's
no reason not to generate the simpler pattern upfront.

@swift-ci Please smoke test

@swift-ci Please test source compatibility


One

Hey everyone.  I have come to love the product and enjoy using it, and it has really met the need for me after looking around and finding so many awful solutions. One thing I do continue to run into though is issue with saving, and I have it on several machines and I seem to have the ability to one click save (with a little Disk Icon made available) in the upper left, but cannot get it in other versions/windows. It cause me to accidentally overwrite a pretty large file I had built up, and so I finally reached that point where I think I might just make this myself :)
Anyways, having seen it before I was just curious if anyone could enlighten me a little bit as to the issue and whether it has been mentioned before.  I image it has, but I also am pretty new to the open source contribution world so forgive me for not knowing the protocols for going and digging and doing my own research first, but I thought maybe this step could save me an hour or so of said digging.
Thanks for your help everyone :)