Added Apache 2.0 LICENSE

Adding Apache 2.0 license

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Install not working on Mac OSX ?

It would appear like after #2 , it broke Mac OSX installs? (thanks @lucamolteni for the ref to this repo)
Following this instructions: https://github.com/mvndaemon/mvnd#install-using-homebrew
I get:
$ brew install mvndaemon/homebrew-mvnd/mvnd
Updating Homebrew...
==> Tapping mvndaemon/mvnd
Cloning into '/usr/local/Homebrew/Library/Taps/mvndaemon/homebrew-mvnd'...
remote: Enumerating objects: 70, done.
remote: Counting objects: 100% (70/70), done.
remote: Compressing objects: 100% (38/38), done.
remote: Total 70 (delta 28), reused 57 (delta 17), pack-reused 0
Unpacking objects: 100% (70/70), done.
Error: Invalid formula: /usr/local/Homebrew/Library/Taps/mvndaemon/homebrew-mvnd/Formula/mvnd.rb
formulae require at least a URL
Error: Cannot tap mvndaemon/mvnd: invalid syntax in tap!

which looks somehow caused by?
https://github.com/mvndaemon/homebrew-mvnd/commit/c71eb13ae62ad372344bbdd5a9e15f4edf5eb54e#diff-8cd17450ac232e461b1c809c078c8516f21f02506b2d77d8a20ea24ef69cbecbL4
This is my system information:
$ brew --version
Homebrew 2.6.2
Homebrew/homebrew-core (git revision 377d7b; last commit 2020-12-16)
Homebrew/homebrew-cask (git revision 19365; last commit 2020-12-16)

It should be fixed by https://github.com/mvndaemon/homebrew-mvnd/commit/22a9c854943a5b2b143e94c123f094ad6f2427e6

Thank you @gnodet !


A bit of refactoring

I did some refactoring:

extracted cancel block so that the code is not repeated twice.
to simplify a bit the retrieveStories function I extracted the creation of a story to its own function
Story is not expected to change so all properties can be immutable as well

Thanks; I appreciate it!


Reverse proxy for (pure) anchore calls

Q
A

Bug fix?
no

New feature?
yes

API breaks?
yes

Deprecations?
yes

Related tickets
fixes #X, partially #Y, mentioned in #Z

License
Apache 2.0

What's in this PR?
The PR contains a proxy implementation that is dynamically configured and proxies security scan related requests to the appropriate anchore instances / endpoints
Why?
Some of the anchore related calls are simply proxied through pipeline; the code handling these calls can be generalised / simplified using a proxy like approach
Checklist

[x] Implementation tested (with at least one cloud provider)
[x] Error handling code meets the guideline
[x] Logging code meets the guideline (TODO)
[x] OpenAPI and Postman files updated (if needed)
[ ] User guide and development docs updated (if needed)

To Do

UI/cli tool changes
remove deprecated code

The PR is being reorganised and a new one is about to b created


Mystique Screen interface

Go to playground and type
interface Screen<T> {}

you will see error: all declarations of an interface must have identical type parameters.
I have tried it in Chrome and Mozila, OS -windows 8
It seems to me that some code inside playground in global scope.

I found out that Screen is the global object in browser environment, then I saw the same issue about 'name' variable. For novice it is not obvious that code in playground is executed in global scope.  The questions like this will appear more and more. Maybe it will better to limit scope or make some attention to this for users.
In my case typescript generates nothing, there is no any variable named Screen. How can I suppose that nothing interferes with global Screen object?

If you use modules, you'll get a "fresh" scope inside the global scope where you can shadow existing names as you like.
In real life, conflict with global variables when code executes at the global scope is actually a very large concern and it's desirable to be warned of this. It'd be very bad, for example, to assign to Screen or some other mutable variable and break some downstream code.

Yes, in real life it is. But we are in a pure playground as I thought.
Thank you)


Document reasons for choosing default extensions?

I turn off NoImplicitPrelude and StrictData in the projects that I generate from this flake, but now I wonder if I'm missing something.
Is there any discussion/description on why these are enabled by default?

I think I was just enabling pragmas that I use almost universally, I am fine with turning them off!

What if we redid the FZF interface using gum and did a multiselect thing for pragmas and libraries?
https://github.com/charmbracelet/gum#choose

Great idea @solomon-b, closing in favour of #14


Update debug module to 2.4.1

The debug v.2.3.3 has a syntax error, which was fixed within v.2.4.1

Please have a look at issue:
https://github.com/visionmedia/debug/commit/94d78b5b80fb1282dcf97b739cd58402dbeeec14

Sorry, I missed this PR earlier. Thank you


Fix broken link in documentation. Fixes #1638.

This is literally just pointing broken documentation to the the docs that are pointed to in the react-router repo.

Coverage remained the same at 99.242% when pulling 092c2dc02cbfdfc5105ff70dc92c15b3395428d2 on JonathanMerklin:dev into 2d09df1d1a2aaca43023976816f9310836131a40 on react-boilerplate:dev.

Coverage remained the same at 99.242% when pulling 092c2dc02cbfdfc5105ff70dc92c15b3395428d2 on JonathanMerklin:dev into 2d09df1d1a2aaca43023976816f9310836131a40 on react-boilerplate:dev.

Coverage remained the same at 99.242% when pulling 092c2dc02cbfdfc5105ff70dc92c15b3395428d2 on JonathanMerklin:dev into 2d09df1d1a2aaca43023976816f9310836131a40 on react-boilerplate:dev.


wordcloud|add|yining1023/doodleNet

Just replace  with your word - don't remove the wordcloud|add|
Next click 'Submit new issue'
Note: Please give the wordcloud a few minutes to update as Github sometimes caches images :hourglass:
Don't worry, if your word is not properly added, a comment will be added to this issue
Code of Conduct:

Please do not blatantly self promote (i.e. constantly spam-add your own name)
No swearing, insults or inappropriate content
Try to answer the prompt but most of all, have fun!

Sorry, your word was not valid. Please use valid alphanueric characters, spaces, apostrophes or underscores only

Sorry, your word was not valid. Please use valid alphanueric characters, spaces, apostrophes or underscores only


LINZ concordance

This is split out from HBRC feedback #39 (@aceaves) to make it easier to address each in turn.

All LINZ category codes need to be mapped to the new system as this is a foundation dataset. Some do not align well, for example, Specialist Livestock and Intensive Animal Production/Pastoral Farming.

@aceaves do you mean mapping to the LINZ ratings codes? LINZS30300?


fix: todoluissamples start failed when doing cross train

Description
This is a regression by some feature branch merge:
CrossTain config contains the empty lu files, but sever filters the empty files. crosstrain api will throw error when no lu file find.

Task Item
refs #4961
closes #5099

Screenshots

Coverage decreased (-0.003%) to 55.773% when pulling<PHONE_NUMBER>b3f16741f34b5dadafcadbb1628790 on lei9444:fixlu into d15d465e91f5d490fc25f1604c007bee898ac14a on microsoft:main.


Add .html to old slug urls when seeding slug migrations

All the jekyll urls have .html suffix.

They all work without the .html suffix as well, see:

https://www.gov.uk/service-manual/agile/writing-user-stories
https://www.gov.uk/service-manual/agile/writing-user-stories.html

oooh, does this mean SlugMigration needs an array of slugs instead of a single one?

It doesn't have to. In this case it can register the .html suffix if it's not present in the slug field.


Export directory made configurable.

Description
I have been working with digital ocean spaces. After the successful setup of the dev, stage, and prod environment. I can configure the upload directory for the form fields but cannot set it for the exports. I end up with a default export directory for all environments. The issue was fixed by configuring the default_export_directory in the config file and overriding the getFileDirectory method in the Filament\Actions\Exports\Models\Export model to utilize this new setting.
Visual changes
Before:

After:

Functional changes

[x] Code style has been fixed by running the composer cs command.
[x] Changes have been tested to not break existing functionality.
[ ] Documentation is up-to-date.

Hi, apologies but we are no longer accepting new features for v3 as per #13744. Also, please check out our contributing guide which talks about proposing the feature before submitting the PR, to ensure you aren't spending time building something that we won't merge.
Also, I'm unsure if I would accept this PR for v4, since I think you can achieve what you're looking for using the root config option of config/filesystems.php, which applies a prefix to all files in the disk. You could add an env var set to development stage or production

@danharrin I think I missed this root configuration. Thank you so much.


Documentation update

Adding some documentation about mixed authentication and the firehose.
Fixes #394
@tumblr/systems

LGTM


Add Space Between to company/organisation list

Amazing! Thank you for using Fela and adding your company ;)


Prepare 0.45.0 release

Summary
This commit prepares the 0.45.0 release, this involves 3 steps:

[x] changing all the version numbers to 0.45.0 from 0.45.0rc1
[x] updating the release notes to prepare them for publishing
[x] removing release notes from 0.45 that were back-ported to 0.25

As we did in 0.25, we're using a pre-release feature in reno to add subsections to the release notes. Subsections are added to the features, deprecations, and upgrade sections for:

transpiler
algorithms
circuits
quantum_info
pulse
providers
primitives
visualization
synthesis
misc
qasm

I have also added the following sections:

qpy

Details and comments
TODO:

[x] Add missing changelog tags
[x] Add subsections config
[x] Add sections to release notes
[x] Add prelude
[x] Change all the version numbers to 0.45.0 from 0.45.0rc1

Missing PRs tagged for 0.45:

[x] ~#11164 -> docs~ -> pushed to 0.45.1
[x] ~#11163 -> docs~ -> pushed to 0.45.1
[x] ~#11096 -> visualization bugfix~ -> pushed to 0.45.1
[x] #11176 -> transpiler bugfix (no changelog)
[x] #11178 -> passmanager bugfix (no changelog)

I've turned the targeting computer off and I'm just going to admin merge this after CI passes so we avoid a second round of CI from the merge queue. This way we don't have to wait another hour to tag the release

https://github.com/Qiskit/qiskit/assets/5968590/ae750fad-b359-4d3f-9a6d-6abca84d86cd


Changing Port?

Hi,
my server is already running an application on port 8080. How can i change the port for kreator.js?

That is not a setting of kreator, it's just an http server you have to start in order to view the application in your browser. Instead of using http-server like in the description start a server using python python -m SimpleHTTPServer <PORT_NUMBER>.


Create an SAP Fiori App Using SAP Business Application Studio

Tutorial URL: https://developers.sap.com/tutorials/appstudio-fioriapps-create.html
Please specify the step you are referring to:
Step 4: Test run the application:
3. For the next steps of the wizard, select the following:
Screenshots need to be added so as the user do not get confused.
Expected Result:

Actual Result:
The result does not appear as a wizard.

Labels to be attached:
Landscape label: trail1, trail2
Sprint Label: SCPTest-2008A
Scenario Labels: SCPTest-fbizapp
Thanks and Regards,
Farozan Farman

Hi @FarozanFarman ,
Thanks for your feedback.
The term wizard was chosen for this capability. see from the BAS documentation: "Some commands will lead you into a minimal text-based wizard, allowing you to enter additional parameters.".
 You can find similar terminology there, eg in the "Create a project" section here.
Regards - Raz

Thank you for your feedback. The issue seems to be resolved, so I am closing the issue.
If you still have questions, feel free to reopen the issue.


NO-JIRA: Dependabot#3659

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes # 3659
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/approve

/lgtm

/retest-required

/retest-required

/lgtm

/test e2e-kubevirt-aws-ovn


Renamed value_heuristic, now takes context into account

Renamed value_heuristic to derivation_heuristic; derivation_heuristic now takes context into account, while BFS discards it

Could you merge the branch into yours? I've made some performance related changes and now there are conflicts.


Not able to compile with target framework != .NET Core 3.1

I downloaded the UE5 branch of your project,imported all,but I have problems with your .Automation Class Library.
I can see it in VS2019,but when I add the references to Gauntlet.Automation, it wont compile (says that Gauntlet.Automation tagets .NET core 3.1 framework)
When I imported your Library,it automatically imported it targeting 4.6.2 .NET framework (the newest installed on my machine).
Am I missing something?

You should create a new project in Visual Studio and choose Class Library C# (.NET, not .NET Framework). Create a new solution and add the existing DaedalicTestAutomationPlugin.Automation.csproj. Right-click on your project in VS and open Properties, go to the Build/Output path, and set Base output path to $(UNREAL_ENGINE_4_PATH)\Engine\Binaries\DotNET\AutomationScripts.
Delete Properties folder from  Build\Scripts\DaedalicTestAutomationPlugin.Automation in your UE4 project directory.
Also, instead of all these above, you can just edit DaedalicTestAutomationPlugin.Automation.csproj in Visual Studio or any text editor and replace the content with that
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <Configurations>Debug;Development</Configurations>
    <BaseOutputPath>$(UNREAL_ENGINE_4_PATH)\Engine\Binaries\DotNET\AutomationScripts\</BaseOutputPath>
  </PropertyGroup>

  <ItemGroup>
    <ProjectReference Include="$(UNREAL_ENGINE_4_PATH)\Engine\Source\Programs\AutomationTool\Gauntlet\Gauntlet.Automation.csproj" />
  </ItemGroup>

</Project>

Next, generate UE4 project files, open your project solution and rebuild DaedalicTestAutomationPlugin.Automation (probably you should rebuild UE AutomationTool too).
Also, probably after that, you will occur the next issue if you try to run your tests via command line (Gauntlet), something like that:
ERROR: System.ArgumentException: An item with the same key has already been added. Key: D:\Workspaces\MyProjectWorkspace\MyProject\Build\Scripts\DaedalicTestAutomationPlugin.Automation\DaedalicTestAutomationPlugin.Automation.csproj
          at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
          at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
          at AutomationToolDriver.Program.LoadExistingBuildRecords(List`1 BaseDirectories) in D:\Workspaces\MyProjectWorkspace\Engine\Source\Programs\AutomationTool\CompileScriptModules.cs:line 206
          at AutomationToolDriver.Program.InitializeScriptModules(String ScriptsForProjectFileName, List`1 AdditionalScriptsFolders, Boolean bForceCompile, Boolean bNoCompile, Boolean bUseBuildRecords, Boolean& bBuildSuccess) in D:\Workspaces\MyProjectWorkspace\Engine\Source\Programs\AutomationTool\CompileScriptModules.cs:line 97
          at AutomationToolDriver.Program.MainProc() in D:\Workspaces\MyProjectWorkspace\Engine\Source\Programs\AutomationTool\Program.cs:line 423
          at UnrealBuildBase.ProcessSingleton.RunSingleInstance(Func`1 Main, Boolean bWaitForUATMutex) in D:\Workspaces\MyProjectWorkspace\Engine\Source\Programs\Shared\EpicGames.Build\Automation\ProcessSingleton.cs:line 61
          at AutomationToolDriver.Program.Main(String[] Arguments) in D:\Workspaces\MyProjectWorkspace\Engine\Source\Programs\AutomationTool\Program.cs:line 394

So, if you have a command-line script like the one from Daedalic documentation
"C:\Projects\UnrealEngine\Engine\Build\BatchFiles\RunUAT.bat"
RunUnreal
-project="C:\Projects\UnrealGame\UnrealGame.uproject"
-scriptdir="C:\Projects\UnrealGame"
-platform=Win64
-configuration=Development
-build=editor
-test="DaedalicTestAutomationPlugin.Automation.DaeGauntletTest"

Then you should remove scriptdir parameter. In my case that helped, but I'm still not sure it won't affect how a plugin will work in my project. At the moment it works fine, but maybe it's only my first impression until I implement more complicated tests like in the UE4 version. :c


add image on top of it

how i can add an image on top of it,
is there a function like draw on and i can set the x and y of the added image like the canvas

Please view the sample project, most of what you need is there. To request help with your project, please use StackOverflow.


Inconsistencies -> PM PE for profile only variables

Solution:
After discussing with populations, there are certain variables that doesn't follow the rules below. There is a list of variables that:

has PE/PM provided by the census bureau
but we still calculate the PE?PM against a different base (compare to the census bureau)

Note: this list of variables don't change over time, so we should try to create this list by observation

Issue:
For profile only variables (DP) on a non-aggregated geographic level, PE(P) and PM(Z) comes from the API
Currently for the example of tract level variable cvlfuem2, the PE, PM are taken directly from the census API

However, based on observations from the database (the edm version y2014-2018 and the population version y2014-2018-erica) are using the calculated PE and PM. It seems like issues like this persists in many other variables. (variables prepended with _ are from the last release, variables without _ are produced using pff-factfinder)

Special cases:
select
	*
from (
select
	a.census_geoid,
	a.geoid,
	a.pff_variable,
	a.c, a.e, a.m, a.p, a.z,
	b.c as _c, b.e as _e, b.m as _m, b.p as _p, b.z as _z
from (
	select *, (CASE WHEN LEFT(a.census_geoid, 5) = '36005' THEN 2
            WHEN LEFT(a.census_geoid, 5) = '36047' THEN 3
            WHEN LEFT(a.census_geoid, 5) = '36061' THEN 1
            WHEN LEFT(a.census_geoid, 5) = '36081' THEN 4
            WHEN LEFT(a.census_geoid, 5) = '36085' THEN 5
    END)||RIGHT(a.census_geoid, 6) as geoid
    from pff_acs."2018-test" a
    where a.geotype = 'tract'
) a
join pff_acs."2018" b
on a.pff_variable = lower(b.variable)
and a.geoid = b.geoid
and b.geotype = 'CT2010'
) a
where e = _e and m = _m and (p != _p or z != _z)
order by pff_variable, geoid;

abroad
asnflp
asnseast
cvlfuem2
dfhsdfcnt
dfhssmcnt
dfhsus
fambwpv
hh5
hspdom
oochu4
p65plbwpv
pbwpv
pu18bwpv

confirm that none of these variables are used by community profiles, we will not fix the package at this moment, and will fix in mid Jan when we get to work closely with populations division

this is still an issue

this is still an issue

Mostly resolved differences in P, but still have issues in Z calculation
looking into agffhm
 {
        "pff_variable": "agffhm",
        "base_variable": "cvem16pl3",
        "census_variable": [
            "DP03_0033"
        ],
        "domain": "economic",
        "rounding": 0,
        "source": "profile"
    },

previous pull:

current pull:

Mostly resolved differences in P, but still have issues in Z calculation
looking into agffhm
 {
        "pff_variable": "agffhm",
        "base_variable": "cvem16pl3",
        "census_variable": [
            "DP03_0033"
        ],
        "domain": "economic",
        "rounding": 0,
        "source": "profile"
    },

previous pull:

current pull:

mostly resolved except p65plbwpv, and pu18bwpv tracked in #72

mostly resolved except p65plbwpv, and pu18bwpv tracked in #72


Uplift to latest eventing-contrib

In preparation for the pending repository consolidation (moving eventing-contrib/kafka -> knative-sandbox/eventing-kafka) we need to get our implementation up to the same dependency versions as eventing-contrib.  This was recently done (week or two ago) and should be pretty painless.  Need to move forward to 0.17.1 / master and associated dependencies.

/assign @travis-minke-sap


fix: fix icmp_echo demo build fail (IDFGH-13701)

Description

For examples/protocols/icmp_echo, when CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is enabled, build fail, repl used before defined.

Related
#14284

Testing
tested on branch master and tag v5.3 with s3(ESP Thread Border Router/Zigbee Gateway), build success and the example works functionally.

Checklist
Before submitting a Pull Request, please ensure the following:

[x] 🚨 This PR does not introduce breaking changes.
[ ] All CI checks (GH Actions) pass.
[x] Documentation is updated as needed.
[x] Tests are updated or added as necessary.
[x] Code is well-commented, especially in complex areas.
[x] Git history is clean — commits are squashed to the minimum necessary.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.MacChu0315 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

sha=b2575902ed16db4d48e570465396344dbb4a1f9b


docs(nav-push): Change property order

same order as in constructor and per importance

Thank you 🙂


Added test and patch to support addresses as constructor args.

What was wrong?
Addresses could not be used as constructor arguments
How was it fixed?
Added relevant code to utils/abi.py to check the address type (was omitted).
Also wrote relevant tests (basically copying what was written for other contracts)
Cute Animal Picture

Thank you for the contribution.  Just the one small change and I'll happily get this merged and released.

You're welcome :)
All updated.

The last travis job failed because the regex checks have the patterns encoded as strings, but the address was bytes. I've added address = force_text(address) in the is_address method to fix this, though not sure if it's the best approach. Another approach would be making the patterns into bytes instead of strings, but that will probably cause all the address tests to fail (as they're strings).
This approach is the smallest way to solve the problem I can think of.

This change is available in the 1.4.0 release on pypi or here in the releases section of this repository.  Thanks again for your contribution.


kujira assets

I helped draft out what I believe is the situation with LOCAL on Kujura:
https://github.com/cosmos/chain-registry/pull/3102/files#diff-1d9d2c8e24e586a0741ec2191ce697e973a65c99122e648f715c99be34eeca45
Although I don't know if the submitter has abandoned that PR.
Note how there is a trace for the asset and how we don't need to upload a duplicate copy of the logo image. I think we were just blocked on needing the IBC connection to Terra to be registered.

Yeah just adding this in so Pulsar can index it. Will leave it up to the Local DAO team to deal with the details.
Not sure the context for the ibc channel here though. This is a factory token originating on the kujira network

I think they were also trying to register their legacy token from Terra Classic

But for this PR, should be fine


Add option for outputs

Feature Spec
Add an option to have outputs in thipster
Use Cases
Use THipster
Implementation Notes
Proposed format :
outputs:
    - aaa.ip
    - zzz

Component
Engine

And / or add an option to tag attributes that have to be in outputs


z index - for comments

i think @cne1x is right that we would get better ranges using a z2 + time. Would be interested to see that.


Fix dot product bug to fix new CGLS algorithm

I've tracked down the bug in the new CGLS algorithm as a bug in the datacontainer dot product method. I am not entirely sure why using numpy's dot method gives the wrong result, but changing to using our own datacontainer elementwise multiplication and sum function produces the right result for the dot product. This in turn means that the new CGLS algorithm agrees completely with the old function version of CGLS.
Try running the wip/compare_CGLS_algos.py script which compares the old and new CGLS algorithms. When using numpy's dot, there is a non-zero difference between the results and the objective values also slightly disagree. Changing it to the proposed version fixes this.
The bug in the dot product may have (potentially major) consequences elsewhere. For example it may be that the observed problem of the new CGLS not agreeing with FISTA on the same problem or the problem of not achieving a primal-dual gap of zero could be due to this.
Closes #239.

The reason that dot and the other method return different results is due to machine precision. The operation we are trying to perform is to square each element of the array and sum them all.
Python is not hard typed, so you never quite know what happens under the bonnet. Python will choose the right type at run time so we loose control.
Look at this:

import numpy
import functools

# a and b are equal
A = numpy.load('pippoa.npy')

#N = 20
#a = A[:N,:N]
a = A

norm = 0
for j in range(a.shape[1]):
    for i in range(a.shape[0]):
        norm += a[i][j] * a[i][j]
print ("norm \t\t\t\t{} {}".format( norm, type(norm)))

norm = numpy.float32(0)
for j in range(a.shape[1]):
    for i in range(a.shape[0]):
        norm += a[i][j] * a[i][j]
#print ("norm 32", norm)
print ("norm \t\t\t\t{} {}".format( norm, type(norm)))

norm = numpy.float64(0)
for j in range(a.shape[1]):
    for i in range(a.shape[0]):
        norm += a[i][j] * a[i][j]
#print ("norm 64", norm)
print ("norm 32\t\t\t\t{} {}".format( norm, type(norm)))

norm = numpy.float64(0)
for j in range(a.shape[1]):
    for i in range(a.shape[0]):
        el = numpy.float64(a[i][j])
        norm += (el * el)
#print ("norm 6464", norm)
print ("norm 64\t\t\t\t{} {}".format( norm, type(norm)))

print ("(a*a).sum() \t\t\t{}\t\t{}".format( (a*a).sum(), a.dtype))

nn1 = (a*a).sum(dtype=numpy.float32)
print ("(a*a).sum(dtype=numpy.float32) \t{}\t\t{}".format( (a*a).sum(dtype=numpy.float32), a.dtype))
print ("(a*a).sum(dtype=numpy.float64) \t{}\t\t{}".format( (a*a).sum(dtype=numpy.float64), a.dtype))

sf = functools.reduce(lambda x,y: x + y, (a*a).ravel(), numpy.float32(0))

print ("reduce(a*a)32 \t\t\t{}\t\t{}".format( sf, a.dtype))
sf = functools.reduce(lambda x,y: x + y, (a*a).ravel(), numpy.float64(0))
print ("reduce(a*a)64 \t\t\t{}\t\t{}".format( sf, a.dtype))

nn = a.ravel().dot(a.ravel())
print ("a.ravel().dot(a.ravel() \t{}\t\t{} {} {}".format(nn, a.dtype, nn * numpy.finfo(type(nn)).eps , abs(nn-nn1)))

print ("a.flatten().dot(a.flatten()) \t{}\t\t{}".format(  a.flatten().dot(a.flatten()), a.dtype))
c = numpy.reshape(a, (a.shape[0] * a.shape[1] , ))
print ("c.dot(c) \t\t\t{}\t\t{}".format(  c.dot(c), c.dtype))

d = numpy.asarray(a, dtype=numpy.float64)
print ("(d*d).sum() \t\t\t{}\t{}".format(  (d*d).sum(), d.dtype))
print ("d.ravel().dot(d.ravel()) \t{}\t{}".format(  d.ravel().dot(d.ravel()), d.dtype))

print ("d.flatten().dot(d.flatten()) \t{}\t{}".format(  d.flatten().dot(d.flatten()), d.dtype))

This outputs
norm<PHONE_NUMBER>5856.0 <class 'numpy.float64'>
norm<PHONE_NUMBER>3280.0 <class 'numpy.float32'>
norm 32<PHONE_NUMBER>5856.0 <class 'numpy.float64'>
norm 64<PHONE_NUMBER>3032.016 <class 'numpy.float64'>
(a*a).sum()<PHONE_NUMBER>7584.0                float32
(a*a).sum(dtype=numpy.float32)<PHONE_NUMBER>7584.0                float32
(a*a).sum(dtype=numpy.float64)<PHONE_NUMBER>5856.0                float32
reduce(a*a)32<PHONE_NUMBER>6192.0                float32
reduce(a*a)64<PHONE_NUMBER>5856.0                float32
a.ravel().dot(a.ravel()<PHONE_NUMBER>0432.0                float32 2555754.0 2097152.0
a.flatten().dot(a.flatten())<PHONE_NUMBER>0432.0                float32
c.dot(c)<PHONE_NUMBER>0432.0                float32
(d*d).sum()<PHONE_NUMBER>3032.02       float64
d.ravel().dot(d.ravel())<PHONE_NUMBER>3032.016      float64
d.flatten().dot(d.flatten())<PHONE_NUMBER>3032.016      float64

(a*a).sum() gets the same value as the manual implementation summing the arrays in reverse and forcing the sum container to 32bit.
norm = numpy.float32(0)
for j in range(a.shape[1]):
    for i in range(a.shape[0]):
        norm += a[a.shape[0] -1 -i][a.shape[1]-1-j] * a[a.shape[0] - 1 -i][a.shape[1]-1-j]
#print ("norm 32", norm)

The floating point sum is always going to accumulate summation errors, and they are going to be dependant on the implementation. I think increasing the precision of the sum above the elements to be summed is the best solution. This python does automatically (Edo's first norm implementation) but numpy's sum doesn't appear to.
further reading

@jakobsj  @gfardell @epapoutsellis
following this discussion I reimplemented the dot for the DataContainer. It allows the use of numpy.dot but the default implementation is a reduction method where the type used to hold the result is approriate.
The method used in dot can be changed using:
a.dot(b, method='numpy')
a.dot(b, method='reduce')
a.dot(b) # equivalent to previous

As @gfardell noted, Python (3.6) is smart enough to choose an appropriate type without specifying it. (worth checking what Python 2.7 does here).

Thanks everyone for looking into this. It seems that my proposed change may
have achieved to match the output of the old version of CGLS, but this was
also using the sum() method, so likely more inaccurate.
Reading the link and comments from @gfardell - so we believe numpy.dot
automatically increases precision? Seems odd that numpy's sum wouldn't
then, but we should go with what works best of course.
What is the idea behind the "reduce" version?
On Wed, 1 May 2019 at 16:31, Edoardo Pasca<EMAIL_ADDRESS>wrote:

@jakobsj https://github.com/jakobsj @gfardell
https://github.com/gfardell @epapoutsellis
https://github.com/epapoutsellis
following this discussion I reimplemented the dot
https://github.com/vais-ral/CCPi-Framework/blob/cgls_bug_beast/Wrappers/Python/ccpi/framework/framework.py#L765
for the DataContainer. It allows the use of numpy.dot but the default
implementation is a reduction method where the type used to hold the result
is approriate.
The method used in dot can be changed using:
a.dot(b, method='numpy')
a.dot(b, method='reduce')
a.dot(b) # equivalent to previous
As @gfardell https://github.com/gfardell noted, Python (3.6) is smart
enough to choose an appropriate type without specifying it. (worth checking
what Python 2.7 does here).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vais-ral/CCPi-Framework/pull/273#issuecomment-488316137,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACMDSCHETULGRGWNGULC6IDPTGZV3ANCNFSM4HJQNWMA
.

As @gfardell noticed, this version
norm = numpy.float32(0)
for j in range(a.shape[1]):
    for i in range(a.shape[0]):
        norm += a[a.shape[0] -1 -i][a.shape[1]-1-j] * a[a.shape[0] - 1 -i][a.shape[1]-1-j]
#print ("norm 32", norm)

gave the most accurate result, when we don't go to float64 for everything. However it is a nested Python loop, which is normally quite slow. I used functools.reduce to achieve the same result.
reduce passes all the elements of an Iterable one by one to a function which does an appropriate reduction of the elements (like a sum) and finally returns the result.

I must say that
functools.reduce(lambda x,y: x + y[0]*y[1], zip(arav,brav), 0)
sum(arav*brav)

are not equivalent but do return the same value.
The difference is that the reduce implementation is a bit more memory efficient as it won't calculate and store arav*brav, but it will just calculate the product of each pair of elements in arav and brav and accumulate the sum in a 64 bit float.


Thermal foundation axes not working

I used the command to print the unlocalized name of all the axes from Thermal Foundation, inserted them and what I deemed possible variations, to no avail. They only break one block at a time. All the axes I added from other installed mods work perfectly.
I'm using tree chopper v1.2.4 for 1.12.2 on forge 1.12.2 -<IP_ADDRESS>40

Any help would be much appreciated.

Should probably either code your mod to recognize the most popular modded axes or create a config file section so people can add them to be recognized on their own.

I'm getting the same issue with thermal foundation axes:

  item.thermalfoundation:tool.axe_copper
  item.thermalfoundation:tool.axe_tin
  item.thermalfoundation:tool.axe_silver
  item.thermalfoundation:tool.axe_lead
  item.thermalfoundation:tool.axe_aluminum
  item.thermalfoundation:tool.axe_nickel
  item.thermalfoundation:tool.axe_platinum
  item.thermalfoundation:tool.axe_steel
  item.thermalfoundation:tool.axe_electrum
  item.thermalfoundation:tool.axe_invar
  item.thermalfoundation:tool.axe_bronze
  item.thermalfoundation:tool.axe_constantan

I've also tried with & without "item.etc...." in front. Only breaks one block at a time.
1.12.2 Forge 2732
Treechoppermod 1.2.4
ThermalFoundation <IP_ADDRESS>

Any closer to some help? A proper configuration format example would be splendid! Just tell me how it pulls the name and I'll be good.


SSH Tunnel feature

In HeidiSQL I only use the SSH tunnel option for connecting to remote databases. Connecting to remote databases with Falcon would be easier with an SSH tunnel option in the connection screen. Doing this manually via the terminal is not a lot of extra work for experienced users, but beginners might find this  troublesome.

From a quick search: tunnel-ssh provides the needed functionality and depends on ssh2 (written in pure JavaScript; i.e. no native modules required :tada:)
https://www.npmjs.com/package/tunnel-ssh
https://www.npmjs.com/package/ssh2


Change from % nuclei with QC problems to one nucleus with QC problems

Change in script Segmenetation_FeatureExtraction.m so that single nucleus with QC problems in an image is sufficient for removal of the image.

Done, more data gets rejected now. Also, close contact <200 nm has become extremely rare now.


Form bug - Can't see the "Publish" button even when being an Owner

Hi team,
I'm facing a super strange bug here with Grist Forms.
User Benoit Mangenot is the owner of his document. While creating a form on it, he can't see the Publish button :

Two weird things here :

when i connect to the form, I do see the publish button (i am Owner as well, as an ANCT member).

when i look in "seen as ... Benoit Mangenot", i do see the button, but he can't.

It seems to happen for all forms - owners who are not ANCT members can't see their publish boutton.
Any idea / help here ? Poke @berhalak :)

Hi @paulfitz , thank you for your quick answer. Glad to see it has been spotted, i'll check with my tech team to see which version we are currently working on - or if we wait for the formal release.
Thanks!

Closing this issue as it has been fixed !


fix: add algorithm for nesting tags

This PR adds an algorithm to nest these tags correctly. It (at least locally) passes all the tests and highlight properly with all the default themes from shiki.
Closes #25

I was impressed that this required no test changes - so I've added a test for this specifically.
Before -> After

I knew this was going to be complex code, and I think you did a great job commenting the complex bits - do I entirely understand it? No. Do I think I can understand it if I need to make change, yes 👍🏻  - that's enough for me

Deployed as 1.5.0, nice work

Also, the shiki-twoslash site got updated with the right /n and /r because I fixed my versioning script in the repo - thanks!


I can't use example

I can't use NyxxVm.
And I use Nyxx('MY_DISCORD_TOKEN');
But returned
NotSetupError: Token is null or empty or bot isn't set properly!

What setup?
if (!setup || (_token == null || _token.isEmpty)) throw NotSetupError();
https://github.com/l7ssha/nyxx/blob/322c559b6e0acc6997cd9d0622a4433edcaa60a5/lib/src/nyxx/Nyxx.dart#L186

Are you pulling nyxx from github? Why you can't use NyxxVm?

I pulled nyxx from github. I could use NyxxVm!
Thanks 😊
Pub version can't use nyxxVm yet?

I didn't publish new release yet so it isn't available


Add padding to child polygons for deep hierarchies

Hi - it'd be quite useful to be able to pad child hierarchies a bit, so it's clearer what the top-level polygons are, compared to lower level ones.
You can set the stroke width as discussed in https://github.com/Kcnarf/d3-voronoi-treemap/issues/8 but that doesn't always look good and has issues with the lines overlapping child polygons; I'd like to be able to pass a padding function that returns the desired padding based on tree depth.
(I'm going to try to see if I can implement this and raise a PR, thought I'd raise an issue for discussion first)

If there is no need of on-the-fly computation (due to selection/filter), then the precalculated alternative is a good one.


Farseer causing crashes on my server

Anytime a Farseer aggro's in our server, it immediately causes the server to crash.
crash-2024-10-24_21.38.10-server.txt

Fixed


Trying to extract flash1.psarc extracts files, but gives an error

File:
steam\Uncharted Legacy of Thieves Collection\Uncharted4_data\build\pc\main\flash1.psarc
Just decide to share.

The uncompressed size defined for this file in the archive is wrong
So as a result, I can't do anything


doc: The 'ublue-os/fleek' repository doesn't contain the 'internal/nix/home.nix.tmpl' path in 'main'.

Readme includes a link to where the templates are getting pulled from that reports
The 'ublue-os/fleek' repository doesn't contain the 'internal/nix/home.nix.tmpl' path in 'main'.

I looked for the templates to see if I could submit a PR but they don't appear to be in this repo.

thanks for the report!
The readme is fixed in this pr: #138
the templates are in /internal/flake/*.nix.tmpl while you wait for that to get approved.

fixed by #138


Tags rel="alternate" added for locale not specified in defineI18nRoute

Environment

Operating System: Windows_NT
Node Version:     v20.8.0
Nuxt Version:     3.9.1
CLI Version:      3.10.0
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      runtimeConfig, devtools, experimental, colorMode, css, modules, nitro, robots, routeRules, site, sitemap, tailwindcss, ui, gtm, i18n
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction

Describe the bug
My main config has nl-be and fr-be. Some pages, which I get from a headless CMS, might only be available in one language.
I did not specify fr-be in the page with defineI18nRoute. But the fr/fr-be alternate links are added to the HTML.
<link id="i18n-alt-fr" rel="alternate" href="https://spuntini.be/fr-be/tendances-inspiration/broodkeuze-bepaalt-mee-ons-succes" hreflang="fr">
<link id="i18n-alt-fr-be" rel="alternate" href="https://spuntini.be/fr-be/tendances-inspiration/broodkeuze-bepaalt-mee-ons-succes" hreflang="fr-be">

Calling switchLocalePath('fr-be') returns /fr-be/tendances-inspiration/broodkeuze-bepaalt-mee-ons-succes (with the nl-be slug), I would expect null or /fr-be
Passing a null for the slug in fr-be changes the behaviour slightly, in that the  tags are moved up a few lines, and switchLocalePath returning nothing.
Additional context
This is test in a /pages/trends/[slug].vue page.
Our config:
import type { ModuleOptions } from "@nuxtjs/i18n";

export const i18nConfig: ModuleOptions = {
  baseUrl: "https://spuntini.be",
  defaultLocale: "nl-be",
  locales: [
    {
      code: "nl-be",
      iso: "nl-be",
      name: "Nederlands",
    },
    {
      code: "fr-be",
      iso: "fr-be",
      name: "Français",
    },
  ],
  vueI18n: "./config/i18n-vue.config.ts",
  strategy: "prefix",

  experimental: {
    localeDetector: "./server/localeDetector.ts",
  },

  // https://i18n.nuxtjs.org/guide/custom-paths#example-3-dynamic-routes
  customRoutes: "config",
  pages: {
    "trends/[slug]": {
      "nl-be": "/trends-inspiratie/[slug]",
      "fr-be": "/tendances-inspiration/[slug]",
    },
  },
};

Pages that are available in both languages work as expected, including setLocale.
I read the docs, not sure if I missed something, but this does not seem right to me.
Logs
No response

Closing due to inactivity and lack of (a clear) reproduction, if you're still experiencing this issue please open a new issue with a (minimal) reproduction.


proposal: sync: add golang.org/x/sync/errgroup

As briefly discussed in https://github.com/golang/go/issues/56102#issuecomment-1317765390, I propose to promote errgroup.Group to the sync package. The proposed API set is listed below.
Rationale
Compared to sync.WaitGroup, errgroup.Group do not require cognitive load to manage Add() and Done() and can easily manage the number of concurrent tasks using SetLimit. For example,
g := sync.WaitGroup{}
sem := make(chan struct{}, 5)
for i := 0; i < n; i++ {
	sem <- struct{}{}
	g.Add(1)
	go func() {
		defer func() {
			g.Done()
			<-sem
		}()

		// ...
	}()
}
g.Wait()

vs.
g := errgroup.Group{}
g.SetLimit(5)
for i := 0; i < n; i++ {
	g.Go(func() {
		// ...
	})
}
g.Wait()

Tu et al. [1] also reported that WaitGroup is often misused and causes concurrency bugs. For instance, an example taken from Figure 9:
func (p *peer) send() {
	p.mu.Lock()
	defer p.mu.Unlock()
	switch p.status {
		case idle:
+			p.wg.Add(1)
			go func() {
-				p.wg.Add(1)
				...
				p.wg.Done()
			}()
		case stopped:
	}
}

func (p * peer) stop() {
	p.mu.Lock()
	p.status = stopped
	p.mu.Unlock()
	p.wg.Wait()
}

[1] Tu, Tengfei, et al. "Understanding real-world concurrency bugs in go." Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems. 2019. https://doi.org/10.1145/3297858.3304069
Existing Usage
A search over GitHub, code that uses errgroup.Group includes 16.1k files and pkg.go.dev shows there are 10,456 imports.
APIs
package sync

// An ErrGroup is a collection of goroutines working on subtasks that are part of
// the same overall task.
//
// A zero ErrGroup is valid, has no limit on the number of active goroutines,
// and does not cancel on error.
type ErrGroup struct

// SetLimit limits the number of active goroutines in this group to at most n.
// A negative value indicates no limit.
//
// Any subsequent call to the Go method will block until it can add an active
// goroutine without exceeding the configured limit.
//
// The limit must not be modified while any goroutines in the group are active.
func (g *ErrGroup) SetLimit(n int)

// Go calls the given function in a new goroutine.
// It blocks until the new goroutine can be added without the number of
// active goroutines in the group exceeding the configured limit.
//
// The first call to return a non-nil error cancels the group's context, if the
// group was created by calling WithContext. The error will be returned by Wait.
func (g *ErrGroup) Go(f func() error)

// TryGo calls the given function in a new goroutine only if the number of
// active goroutines in the group is currently below the configured limit.
//
// The return value reports whether the goroutine was started.
func (g *ErrGroup) TryGo(f func() error) bool

// Wait blocks until all function calls from the Go method have returned, then
// returns the first non-nil error (if any) from them.
func (g *ErrGroup) Wait() error

// NewErrGroupWithContext returns a new ErrGroup and an associated Context derived from ctx.
//
// The derived Context is canceled the first time a function passed to Go
// returns a non-nil error or the first time Wait returns, whichever occurs
// first.
func NewErrGroupWithContext(ctx context.Context) (*ErrGroup, context.Context)

Update: WithContext is renamed to NewErrGroupWithContext.

Note that sync could not import context because context use sync.Mutex. This is not an absolute constraint because context can switch to a different mutex lock to avoid importing sync package.

Having a function just named "WithContext" in package sync seems not great, since it would be called like g, ctx := sync.WithContext(ctx).

That's a good point. However, naming can be revised in other liked forms, the core idea is to include errgroup.WithContext. Other naming possibilities can be NewErrGroup, e.g., g, ctx := sync.NewErrGroup(ctx).

Personally I don't think the low-level sync package is the right place for the high level errgroup concept.  Let's not assume that x/sync has to match to the standard library sync.

I think this is a common enough need and has proven its worth. Most users shouldn’t use the original WaitGroup anymore. My only question would be if there should be a sync/v2 with this plus generics for Map etc.

@ianlancetaylor I am also fine if it is a sub package of sync sync/errgroup, and then the API signature doesn't need any rename, etc. 😃
The primary purpose is to get it into stdlib, and the naming can be decided into whatever community likes.
If the decision is to have a standalone package, an emphasis comment in the WaitGroup can increase the public exposure of errgroup.

I had been joining errors in my errutil.ExecParallel helper, which uses my pre-Go 1.20 multierror type. I'm not sure though if it would work as well for errgroup.

Hi, original errgroup author here. 👋
I would not want errgroup to enter the standard library without some API changes. It has served us well, but now we have the benefit of hindsight.
There are two significant problems with the API:

An errgroup.WithContext today cancels the Context when its Wait method returns, which makes it easier to avoid leaking resources but somewhat prone to bugs involving accidental reuse of the Context after the call to Wait.

The need to call Wait in order to free resources makes errgroup.WithContext unfortunately still somewhat prone to leaks. If you start a bunch of goroutines and then encounter an error while setting up another one, it's easy to accidentally leak all of the goroutines started so far — along with their associated Context — by writing

return err

instead of
cancel()
g.Wait()
return err

Those can both be remedied by adding a method Stop that cancels the Context and also waits for in-flight goroutines to exit:
g, ctx := errgroup.New(ctx)
defer g.Stop()
…
if err != nil {
	return err
}

Ideally, that would be accompanied by an improvement to the lostcancel check in cmd/vet to report missing calls to Stop, and/or a finalizer that verifies that Stop has been called by the time the group becomes unreachable.

@apparentlymart, I do not think it would be appropriate for errgroup to join the errors together. Generally only the first error matters, because it causes the Context to be canceled. After that happens, it can be difficult to tell whether subsequent errors are errors in their own right, or secondary effects of that cancellation.

Also, even on error and canceled context it still creates remaining goroutines.
Consider this example with 10k batch.
errg, ctx := errgroup.WithContext(context.Background())
items := []int{1, 2, 3, ...... 10000}
for _, item := range items {
	item := item
	errg.Go(func() error {
		if err := process(ctx, item); err != nil {
			return fmt.Errorf("something went wrong while processing item %d", item)
		}
		return nil
	})
}
err := errg.Wait()

Usually simple fix would be to check for canceled context. But this doesn't always look obvious.
errg, ctx := errgroup.WithContext(context.Background())
items := []int{}
loop:
for _, item := range items {
	item := item
	select {
	case <-ctx.Done():
		break loop
	default:
	}

	errg.Go(func() error {
		if err := process(ctx, item); err != nil {
			return fmt.Errorf("something went wrong while processing item %d", item)
		}
		return nil
	})
}
err := errg.Wait()

@bcmills Do you have thoughts on how can api look to bake this cancellation into errgroup package?

Hi @anjmao if I'm understanding right what you are proposing, it's the same as https://pkg.go.dev/github.com/sourcegraph/conc/pool#ContextPool.WithCancelOnError. Maybe conc's API can be used as an inspiration for this.

WithCancelOnError configures the pool to cancel its context as soon as any task returns an error or panics. By default, the pool's context is not canceled until the parent context is canceled.

@jimen0 errgroup package already works like that and cancels context when created using WithContext. The issue that even if your context is canceled errgroup.Go will spawn new goroutine and run your function.

I do not think it would be appropriate for errgroup to join the errors together. Generally only the first error matters, because it causes the Context to be canceled. After that happens, it can be difficult to tell whether subsequent errors are errors in their own right, or secondary effects of that cancellation.

I agree, errgroup.Wait() should definitely return the first error, but it's also reasonable to provide a way to get all of the errors too, perhaps via Errors() []error. This is very much useful, in all the ways that Promise.allSettled is useful in Javascript. Several of the errors would just be context.Canceled or similar if WithContext is used, that would be fine in practice. If I ask the errgroup for all the errors it's possible to give me, I'm happy to get what I get.

Re: @bcmills

I do not think it would be appropriate for errgroup to join the errors together. Generally only the first error matters, because it causes the Context to be canceled.

That is only true if you construct the errgroup using errgroup.WithContext. If you use the zero value new(errgroup.Group), then all errors are meaningful. (And in fact I found this issue searching for a way to get all errors back in exactly this situation.)
To thread that needle, perhaps it could return errors.Join of all errors such that errors.Is(err, context.Canceled) returns false.

To thread that needle, perhaps it could return errors.Join of all errors such that errors.Is(err, context.Canceled) returns false.

That's an interesting suggestion, but I'm not sure how well it would work out in practice — errors that stem from a Context cancellation don't necessarily wrap context.Canceled, and it can be very difficult for libraries that propagate those errors to reliably convert them back.
For example, a function that performs a network operation might use context.AfterFunc and net.Conn.SetDeadline to cancel it, resulting in an error wrapping syscall.ETIMEDOUT instead of context.Canceled.

@bcmills good point.
Strictly speaking, if you returned a composite, ordered error, anyone who wanted could pick out just the first error, but that's a common enough use case that it'd be annoying to have to do the dance.
Yet another perspective is that Wait could return the first error when there is a cancelable context set up, but an errors.Join of all errors when there isn't. That should track the likely meaningfulness of the errors.

Strictly speaking, if you returned a composite, ordered error, anyone who wanted could pick out just the first error, but that's a common enough use case that it'd be annoying to have to do the dance.

That, and worse: if someone has a very long-lived errgroup, collecting all of the errors when only one is wanted could cause a significant memory leak (to store errors that are ultimately going to be ignored).

Yet another perspective is that Wait could return the first error when there is a cancelable context set up, but an errors.Join of all errors when there isn't.

That would be possible, but it seems a little too magical to me. If we're going down this road, I would rather have an explicit call or parameter to toggle the behavior.

If we're going down this road, I would rather have an explicit call or parameter to toggle the behavior.

Works for me. It'd be much nicer than my current code that separately tracks and juggles a slice of errors...

The cleanest alternative right now is a defer, I think:
errs := make(chan []error, 1)
errs <- nil
saveErr := func(p *error) {
	if *p != nil {
		errs <- append(<-errs, *p)
	}
}
g.Go(func() (err error) {
		defer saveErr(&err)
		…
})

My own rendezvous.WaitFirstError(... TaskCtx) (designed independently before discovering this thread) has the following features:

a child context is shared between all the tasks (to inform them of failure of a sibling) (like errgroup.WithContext)
all non-nil errors are reported, with errors.Join
if the parent context is canceled AND at least one task fails, the error of the parent context (ctx.Err()) is reported as the first error as that error may have triggered the others in cascade. This ensures that if the parent context has been canceled/timeout and at least an error occurred then errors.Is(err, context.Canceled /* or Timeout*/) is true, but if the context has been canceled/timeout but no error occurred in task (task succeeded or cancellation occurred even before the start) then errors.Is(err, context.Canceled /* or Timeout*/) is false.

@bcmills wrote:

That's an interesting suggestion, but I'm not sure how well it would work out in practice — errors that stem from a Context cancellation don't necessarily wrap context.Canceled, and it can be very difficult for libraries that propagate those errors to reliably convert them back.

That's the reason for my last feature.

I often find myself using an errgroup where Go/TryGo and Wait runs in different goroutines, when there's an unknown set of tasks:
for e := range events {
  if !group.TryGo(task) {
    // Here I need to know that the task couldn't be started
    // I might e.g. need a cancellation handle for ad-hoc task spawning
  }
}

In another goroutine:
<-ctx.Done()
group.Wait()
// All tasks should be complete.

With current x/sync functionality, reuse is possible (is this a bug?):
g, ctx := errgroup.WithContext(context.Background)
g.Wait() // Done, right?
g.TryGo(fn) // Reports true and runs the goroutine, after it's waited. Risk of leaks

So I'm very much in favor of a Stop method, especially if it can prevent accidental group reuse:

TryGo after a group is stopped returns false forever.
Go after stop should probably panic?

As an aside, would it be wise to break out and remove the semaphore features (SetLimit) for simplicity? Concurrency is notoriously difficult already, so the bar for complexity should imo be extremely high.

My 2 cents: the problem of managing a long-running pool of workers seems very different to me than what errgroup was designed to do. I think of errgroup as more of a Go implementation of Javascript's Promise.All than a worker pool. Trying to bend it to support a long-running for loop in a server process seems to conflate two issues and unnecessarily complicate the simple concept encapsulated by this package.

I'm for it. Also (not sure it's very relevant information): this proposal was just mentioned by Yarden Laifenfeld in GopherCon Israel and the vibe in the room was of general consensus to add this to sync as well instead of keeping it in x since it seems so useful (even if it's rather high-level, it seems like it's the "one way to solve it" which Go likes).

One gripe I have with the current API is the SetLimit setter.
It's error-prone since it must not be called while there are active goroutines. Incidentally, it attempts to detect this situation, but only in a best-effort approach (by checking whether the length of the underlying channel is zero).
How often do people change the limit of an existing errgroup.Group anyway? Without any data to back up my claim, I would guess: not very often. Wouldn't it be safer to make the limit effectively constant after instantiation of a group? If a different limit is needed, clients could simply create another group.
The only remaining question is what the factory function(s) for groups would look like. I don't have a satisfying answer, but I've been experimenting with the following API:
package errgroup

type Group struct {
  // contains filtered or unexported fields
}

func New(opts ...Option) (*Group, error)
func (g *Group) Context() context.Context
func (g *Group) Go(f func() error)
func (g *Group) SetLimit(n int)
func (g *Group) TryGo(f func() error) bool
func (g *Group) Wait() error

type Option interface {
  // contains filtered or unexported methods
}
func WithContext(ctx context.Context) Option
func WithLimit(n int) Option

I know that many members of the community (@bcmills included) don't like functional options, and I've certainly softened my stance about them since I gave a talk about the pattern at GopherCon Europe 2023, but if you can stomach them, client code is quite nice:
g, err := errgroup.New(
  errgroup.WithContext(ctx),
  errgroup.WithLimit(64),
)
if err != nil {
  // handle error
}

In particular, a single factory function would be enough and its error result, though superfluous now, would enable the future addition of fallible configuration options.
One main downside is that it allocates more than the current API.
Anyway, I'm not seriously suggesting that the hypothetical new API should look like this; I just wanted to share my thoughts here.

Did you mean to include func (g *Group) SetLimit(n int) as part of the API? I imagined you would want to drop it.

FWIW, I wrote it on some other issue, but I really like https://pkg.go.dev/cmd/internal/par and wish it were exported. It's a very slick and useful API. You could add errgroup to it and that would be a fairly complete set of high level tools for concurrency management.

Maybe worth noting that https://pkg.go.dev/github.com/rogpeppe/go-internal/par is available, though I think it is an earlier snapshot of the cmd/go internal package.

It's out of date because it's from before generics.

Did you mean to include func (g *Group) SetLimit(n int) as part of the API? I imagined you would want to drop it.

You're correct. My mistake. Fixed. Thanks!

Another idea for the API is to move context into the callback:
package errgroup

type Group struct {
  // contains filtered or unexported fields
}

func New(opts ...Option) (*Group, error)
func (g *Group) Go(f func(context.Context) error)
func (g *Group) TryGo(f func(context.Context) error) bool
func (g *Group) Wait() error

type Option interface {
  // contains filtered or unexported methods
}
func WithContext(ctx context.Context) Option
func WithLimit(n int) Option

That makes the scope of the derived context pretty clear.
Having two options leaves open the door to more, but will this really develop more options? New(ctx, limit) would be fairly simple and you can pass nil and -1 if you want the defaults.

@earthboundkid I could live with that.

errgroup.Group behaves differently if it has a context or not. If we wanted to lose the behavior of not cancelling that comes from not having a context, then we could require the context to be non-nil.

Ah yes, I understand: since the factory function would now become the only way to set the group's limit, it would have to allow a nil context. Otherwise, there would be no way to setting a limit without setting a context.

I'd be in favour of requiring a non-nil context, context.Background() or context.TODO() if no other will do.

it's also reasonable to provide a way to get all of the errors too, perhaps via Errors() []error

If errgroup's API is augmented with a method for returning all the errors, that method should return, not a []error, but a iter.Seq[error], now that Go has standardised iterators.


Problems reading the B side in Apple II flippy 5.25" disks

I'm tried to read Apple IIe 140Kb 5,25" 2 sides flippy disks
The main side I can make a directly working directly image with:
gw read --format apple2.appledos.140 --raw flux\disk1\track00.0.raw --drive=A --dd L --tracks="step=2"
and:
gw convert --format apple2.appledos.140 flux\disk1\track00.0.raw disk1.do
This makes a .do 140KB correct working image of the A side. The problem is with the botom side.
I tried read both sides in raw with:
gw read Flippy_v1.scp --drive=A --tracks="c=0-35:step=2" --dd L --adjust-speed=300rpm
and then open the .scp raw data with HxC and with "edit tools" tried to "swap sides" and "Reverse Tracks". Exporting now the data as ".do" makes a 136KB image thats not works in emulator.
It's possible to add the opion of reverse flux data in convert options?
Thanks very much for you hard and soft. It's amaizing!

This is the Apple2 version of issue #460
Can you supply a flux image file or two?

Yes I see that is the same problem with the Commodore flippy disks in Apple II.
The original top side ripped with gw read --format apple2.appledos.140 --raw flux\disk1\track00.0.raw --drive=A --dd L --tracks="step=2"
disk1.zip
The two sides raw ripped with gw read Flippy_v1.scp --drive=A --tracks="c=0-35:step=2" --dd L --adjust-speed=300rpm
Apple_04-A-SIMULADOR_MILLON-B-DEFENDER_35tr_h0_h1_300rpm_ddL.zip
Another one:
Apple_03-A-COMPILADOR-B-COPION_36tr_h0_h1_300rpm_ddL.zip
It seems in HxC that the bottom side have 5 tracks offset. But unfurtainly my drive don't accept negative values for offset in h1:
gw read Apple_08-A-PASCAL-B-FISICA_35tr_h0_h1.off-8_300rpm_ddL.scp --drive=A --tracks="c=0-34:step=2:h1.off=-8" --dd L --adjust-speed=300rpm
Reading c=0-34:h=0-1:h1.off=-8:step=2 revs=3
Command Failed: Seek: Invalid cylinder -8

I suspect that the only solution will be open the jacket and swap the floppy ?
Thank you very much

Do you know if your drive is "flippy modded" with a track0 sensor override on pin 33? That is the original mod by the Kryoflux authors and Greaseweazle won't allow stepping to negative cylinders except via this sensor override method (which it autodetects).

My drive is an  Chynon FZ-506 not modded. Don't spin without index pulses.
Requires hole pulses to work.
El dt., 20 d’ag. 2024, 23:02, Keir Fraser @.***> va
escriure:

Do you know if your drive is "flippy modded" with a track0 sensor override
on pin 33? That is the original mod by the Kryoflux authors and
Greaseweazle won't allow stepping to negative cylinders except via this
sensor override method (which it autodetects).
—
Reply to this email directly, view it on GitHub
https://github.com/keirf/greaseweazle/issues/473#issuecomment-2299759756,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZGVG2ILWQTHTKGJHDUTBPDZSOVHTAVCNFSM6AAAAABM2PUDRCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJZG42TSNZVGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Sorry, now I understand. Indeed you have a few options for flippy reads:

Modded drive that can step to negative tracks
Modded drive with an extra index sensor (https://learn.adafruit.com/flippy-floppy-drive-modification?view=all)
Flip in jacket, or jacket with two index holes

I have a new gw convert option for you to try. This is on branch flippy-reverse. You can find Windows build here (you need to be logged in to GitHub to see the Artifact links):
https://github.com/keirf/greaseweazle/actions/runs/10487456321
Or if on Mac or Linux you can try installing with pipx:
pipx install git+https://github.com/keirf/greaseweazle@flippy-reverse

Here is the command line I use to convert your flippy side 1 (as best as possible since you are missing 4 tracks that your drive cannot access!):
gw convert Apple_04-A-SIMULADOR_MILLON-B-DEFENDER_35tr_h0_h1_300rpm_ddL.scp --tracks=hswap:h0.off=-4 --reverse a.do

Hello! Tested your improvment in test relese. Worked as expected. Makes a correct Apple II ".do" image with the data of the bottom side with flux reversed. As you said, the raw data loses the first 4 tracks in my drive.
It would be very usefull for people that have a mooded head Drive that can read tracts 0-4 of the bottom side on flippy disks.
Thank you very much for you work and speed to create this release


⚠ ClamAV has degraded performance

In 5d3828f, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 79 ms

Resolved: ClamAV performance has improved in 5b30122 after 5 minutes.


Feat/premium distribution

Checklist

[ ] Title follows the Naming Conventions.
[ ] Add a description.
[ ] Add testing instructions.
[ ] Add at least one reviewer.
[ ] Leave comments on changes you would like to discuss.
[ ] Remove changes that are not related to this pull request.
[ ] Remove debugging code.
[ ] Test your changes locally and on staging (if applicable).
[ ] Ensure the build is passing.

Naming Conventions
Common types according to commitlint-config-conventional (based on the Angular convention) can be:

build—changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm).

chore—other changes that don’t modify src or test files.

ci—changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs).

docs—documentation only changes.

feat—a new feature.

fix—a bug fix.

perf—a code change that improves performance.

refactor—a code change that neither fixes a bug nor adds a feature.

revert—reverts a previous commit.

style—changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc).

test—adding missing tests or correcting existing tests.

Branches
Branches are created from main and can follow the naming convention below. For common types, see Types.
Convention:
type/description

Example:
feat/add-xyz

premium streaming and distributions


Now Playing Background Image of certain local files may fail to load

Do you have the latest versions of Spicetify, Spotify and Lucid?

[X] I'm using the latest versions of Spicetify, Spotify and Lucid

Is there already an issue for your problem?

[X] I have checked older issues, open and closed

Is your problem definitely caused by the theme?

[X] I have checked the app behavior without the theme and it is different

Environment & Computer Info
- Spotify version: Spotify for Windows (64 bit), <IP_ADDRESS>2
- Installed from: Spotify Site
- Spicetify version: Spicetify v2.38.5
- Color scheme: -
- Extensions: adblockify.js, keyboardShortcuts.js, fullscreen.js
- Custom apps: marketplace, lyrics-plus, better-local-files
- Lucid installation method: PS script

Description of the bug:
When playing certain local files, the background may remain on the previous song's background. Possibly caused by Spicetify-Lucid trying to determine the path for the image.

Steps to reproduce this issue:
Set the Background Image in Lucid Settings to now-playing. Play a local file with "&" in the name. Some files will not encounter this issue while some files may.

Potential solution:
Instead of overwriting the background-Image path, use CSS property background-image: var(--now-playing-art-image);

Sorry to hear that I will be checking this issue soon

Hey can you send those music files
its working fine on my songs

Found the issue there was no quotes " which caused this issue


Supporting puppeteer 2.0

🚀 Feature Proposal
Support a peer dependency of Puppeteer 2.0 rather than requiring a 1.x version
Motivation
We depend on this package for our tests, and we'd like to run them on macOS Catalina, but we've had issues with the version of chromium necessary for these tests, on Catalina. Puppeteer 2.0 supports a newer version of chromium that should support Catalina better.
Example
We would use this to run the functional tests for a project I work on.
Pitch
Supporting the latest browsers will keep this package relevant! :)

I agree. I've already upgraded to using puppeteer 2.0, but I keep getting this warning:
warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>

@paperbd @ryanjwilke Yeah look in package.json only ^1.5.0 is supported:
"peerDependencies": {
  "puppeteer": "^1.5.0"
},

I've opened a pull request to fix it here: https://github.com/smooth-code/jest-puppeteer/pull/289

@colinrotherham Thanks. No rush for me really. All my tests still work just fine with 2.0 :)
Thanks for working on a fix for us all already.

Looks like https://github.com/smooth-code/jest-puppeteer/pull/289 is merged now, so I'll close this. Thanks so much @colinrotherham!


Explicitly specifying a pURL for a dependency

We use a repository as a transparent proxy for NPM, whereby we only talk to that proxy, and it serves up a package installed directly into that repository, if one exists, or falls back to querying global NPM.
The problem with this setup is that cdxgen appears to detect all packages as though they come from global NPM, rather than understanding that some come from a local repository. Our particular issue is that a package we have has the same name as one in global NPM, and so, for example, DependencyTrack detects the wrong "latest version" value when ingesting an SBOM from cdxgen.
Is it possible to make cdxgen aware of the alternative repository?

@robertlagrant This is interesting. package url wouldn't contain the registry name so cdxgen could be enhanced to add an external reference of type "distribution" by parsing .npmrc or with an explicit registry argument.
https://cyclonedx.org/docs/1.4/json/#components_items_externalReferences_items_type
Could you file a ticket on dependency track and ask them if there is a different way to provide this information? Also, would your local repo serve as a complete npm compatible registry by responding to various api calls etc? Wondering if there is any security weakness or inconvenience.

The latter is possible. I might try that first, thank you.

DependencyTrack might honor the "repository_url" qualifier of a PURL. see https://github.com/DependencyTrack/dependency-track/issues/1145
Be advised to keep the PURL as short as possible.

Note: Do not abuse qualifiers: it can be tempting to use many qualifier keys but their usage should be limited to the bare minimum for proper package identification to ensure that a purl stays compact and readable in most cases.

see https://github.com/package-url/purl-spec/blob/master/PURL-SPECIFICATION.rst#known-qualifiers-keyvalue-pairs
see https://github.com/package-url/purl-spec/blob/master/PURL-TYPES.rst#npm

@jkowalleck What is the proposed solution if passing vcs_url via purl is not preferable? Any thoughts on an external reference of type "distribution"?

the thing is that vcs_url is totally fine in terms of PURL.
but dependency track has other ways to detect the needed sources. Scanners reflect the package registries, if i undersand it right.
Basically, this is a compatibility issue with dependency track, not a PURL issue.
You need to get in contact with the people from DependencyTrack and ask them for a solution that works for them, because you provide data that they need to work with. All you can do is provide the data as DependencyTrack need it.
@nscuro FYI

@robertlagrant I will take up this issue since spotted a potential dependency confusion vulnerability with resolved urls.


H is Null with old gear

When you drop a weapon carried over from a previous adventure it generates an error message when you try to pick it back up (including using "Get All").
I could repeat this bug in multiple adventures.

Fixed.


Run on Bacalhau

If we had Archival Snapshots on IPFS/Filecoin,we could use Bacalhau to run ETLs and generate the CSVs from them.
With the current state of Bacalhau, it might be tricky since we're lacking an scheduler and better monitoring around jobs. We can work around both of these though.
Another potential blocker might be the hardware requirements of the current ETL setup. We probably need more than 8 cores and 16GB of RAM.

We could cache the proofs.


mapScalarToJavaXXX generates Java code that does not compile - cannot find symbol

Summary
Using the mapScalarToJavaString, mapScalarToJavaLong and other mapScalarToJavaXXX settings in the gradle plugin result in generated code that does not compile using Java.
A workaround that generates code that compiles is to replace mapScalarToJavaString with mapScalar and an explicit expression.
- mapScalarToJavaString("LanguageCode")
+ mapScalar("LanguageCode", "java.lang.String", "com.apollographql.apollo3.api.Adapters.StringAdapter")

Version
3.5.0
Logs
Example compilation error
error: cannot find symbol
          case 2: _language = com.apollographql.apollo3.api.StringAdapter.fromJson(reader, customScalarAdapters); break;
                                                           ^
  symbol:   class StringAdapter
  location: package com.apollographql.apollo3.api

Steps to reproduce the behavior
Add mapScalarToJavaString("GeoPoint") to the tests/java-tests/build.gradle.kts
diff --git a/tests/java-tests/build.gradle.kts b/tests/java-tests/build.gradle.kts
index 4a4a922f6..9dd04dedb 100644
--- a/tests/java-tests/build.gradle.kts
+++ b/tests/java-tests/build.gradle.kts
@@ -18,4 +18,5 @@ dependencies {
 apollo {
   packageName.set("javatest")
   generateModelBuilder.set(true)
+  mapScalarToJavaString("GeoPoint")
 }

Run ./gradlew java-tests:test
error: cannot find symbol
          case 0: _location = new NullableAdapter<>(com.apollographql.apollo3.api.StringAdapter).fromJson(reader, customScalarAdapters); break;

  symbol:   class api
  location: package com.apollographql.apollo3

Many thanks for reporting this. A fix PR is there and will be available in the next version.


Dehumidifier support -no controls-

Dehumidifier show no controls on device page on home assistant, maybe the device is not supported:

I have the Dehumidifier on Smart Life, and I can see it in the cloud as follows:

Smart Life screenshot:

Expected behavior
Device page shows no controls
Home Assistant Version
2021.6.6
Device info:
2021-07-07 16:26:55 ERROR (Thread-3) [tuya iot] error while get mqtt config
2021-07-07 16:26:56 DEBUG (SyncWorker_1) [tuya iot] Response: {
"result": [
{
"active_time":<PHONE_NUMBER>,
"biz_type": 18,
"category": "kt",
"create_time":<PHONE_NUMBER>,
"icon": "smart/icon/1493368623_0.png",
"id": "60556140d8bfc0de3c6c",
"ip": "<IP_ADDRESS>",
"lat": "",
"local_key": "302e2e22e303a0cc",
"lon": "",
"name": "Dehumidifier",
"online": true,
"owner_id": "44687697",
"product_id": "hPT9bBxYTh5xVZd8",
"product_name": "Dehumidifier",
"status": [
{
"code": "temp_set",
"value": 60
},
{
"code": "windspeed",
"value": "0"
}
],
"sub": false,
"time_zone": "-03:00",
"uid": "az1625116767839FaKfc",
"update_time":<PHONE_NUMBER>,
"uuid": "60556140d8bfc0de3c6c"
}
],
**Device specifications **
2021-07-07 16:26:56 DEBUG (SyncWorker_1) [tuya iot] Request: method = GET, url = https://openapi.tuyaus.com/v1.0/devices/60556140d8bfc0de3c6c/specifications, params = None, body = None, headers = {'client_id': 'ckkw73mmapx808h09dfp', 'sign': '5E5CC058397BBC85F472F0DD15AB15858FBBDCF09E7AB03B326A58427ED7F6E4', 'sign_method': 'HMAC-SHA256', 'access_token': 'd64d486560bb8f03f6f8de9008271824', 't': '1625686016434', 'lang': 'en'}
2021-07-07 16:26:56 DEBUG (SyncWorker_1) [tuya iot] Response: {
"result": {
"category": "kt",
"functions": [
{
"code": "temp_set",
"type": "Integer",
"values": "{"unit":"％","min":15,"max":70,"scale":0,"step":5}"
},
{
"code": "windspeed",
"type": "Enum",
"values": "{"range":["0","2"]}"
}
],
"status": [
{
"code": "temp_set",
"type": "Integer",
"values": "{"unit":"％","min":15,"max":70,"scale":0,"step":5}"
},
{
"code": "windspeed",
"type": "Enum",
"values": "{"range":["0","2"]}"
}
]
},
"success": true,
"t":<PHONE_NUMBER>636
}

@alkalinelito According to the cloud your device is a "Air conditioner", but in smart life screen, it a dehumidifier, so what's the real device it is?

Hi, it's a dehumidifier

This are the device pictures, no idea why tuya cloud classifies it as "Air conditioner"

Hi @tsutsuku , Should 1.5.0 support this dehumidifier now? .


Update recipe for PKG-4569_codesign

Rebuild for PKG-4513 authenticode signing

Linter check found the following problems:
ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_0fwjryhtlp/clone` failed. (See above for error)
The following problems have been found:
===== ERRORS =====

clone/recipe/meta.yaml:60: invalid_url: https://xz.tukaani.org/xz-utils/ : HTTPSConnectionPool(host='xz.tukaani.org', port=443): Max retries exceeded with url: /xz-utils/ (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xffff9d2d6ff0>: Failed to resolve 'xz.tukaani.org' ([Errno -2] Name or service not known)"))
===== Final Report: =====
1 Error and 0 Warnings were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_cbo9jt3qy0/clone` failed. (See above for error)
The following problems have been found:
===== ERRORS =====

clone/recipe/meta.yaml:60: invalid_url: https://xz.tukaani.org/xz-utils/ : HTTPSConnectionPool(host='xz.tukaani.org', port=443): Max retries exceeded with url: /xz-utils/ (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0xffffaf633b30>: Failed to resolve 'xz.tukaani.org' ([Errno -2] Name or service not known)"))
===== Final Report: =====
1 Error and 0 Warnings were found


getting both url version: percent encoded url  and not encoded url

With the option --nouri-encode one can disable the percent encoding of an url. That's good for the printing of urls with non-ascii chars (when using an unicode engine) but bad for the links. Imho it would be better if both versions were available. Then urls could be printed like this:
 \href{https://ru.wikipedia.org/wiki/SLAM_(%D0%BC%D0%B5%D1%82%D0%BE%D0%B4)}{\nolinkurl{https://ru.wikipedia.org/wiki/SLAM_(метод)}}

Would it be possible for biber to create e.g. a field urlencode and urldecode?

I agree, this will be the best way. Reader ever needs the percent-encoding, yet some very old browsers may need it...

Please try biber 3.8 DEV version. The --nouri-encode option is removed and url is always encoded. A new .bbl field urlraw will always be output too which may be the same as url if there is no encoding necessary.


Fixed the incorrect URL

The Proofpoint TAP ARM template has incorrect URL.
Current Path: https://github.com/Azure/Azure-Sentinel/blob/master/DataConnectors/Proofpoint TAP/AzureFunctionProofpointTAP.zip?raw=true 🛑
Expected Path: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/ProofPointTap/Data Connectors/AzureFunctionProofpointTAP.zip?raw=true ✅
Required items, please complete
Change(s):

Updated the new URL for a package

Reason for Change(s):

Incorrect URL

Version Updated:

Required only for Detections/Analytic Rule templates
See guidance below

Testing Completed:

Tested in my local Sentinel environment by adding Proofpoint TAP connector

Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Hi @0ccupi3R, as @v-atulyadav there is no need to update the whole we have updated the short link pointing it to correct path. Closing this please free to reopen this PR if needed, thanks.


'The directory of the analytics-streams in config.json' should be mentioned in the document

Description:
what would be the directory of the analytics-stream processor configuration? this should be mentioned in the document[1] and the value of dir is
<DAS_HOME>/repository/components/tools/identity-anonymization-tool-x.x.x/conf

[1] https://docs.wso2.com/display/DAS3xx/General+Data+Protection+Regulations+for+WSO2+Data+Analytics+Server#GeneralDataProtectionRegulationsforWSO2DataAnalyticsServer-Step2:Configuretheconfig.jsonfile
Related Issues:
#290

This is fixed now in [1]


emoji: Google modern and google classic have same emoji in settings.

@HarshitOnGitHub fyi.
Adding blocker since this is probably a blocker for release.

@rishig This is directly related to #10038.

ok great, closing this then.


Opening the rank plot JSON in the Vega Editor when a non-Intercept rank is selected results in the ranks being unsorted in the Editor

I think this is due to #46's solution being a primarily JS-based one, so it won't apply to the Vega/Vega-Lite JSON.
If we can encode the rank resorting in the Vega / (ideally Vega-Lite) JSON, this should fix this.

This is closed now that rank sorting is encoded in the Vega-Lite JSON as a window transform. I guess I forgot to close this when I updated that a while back.


Updater: No download progress hooks

Description of feature request:
For large downloads an interactive client would typically want to provide progress information (progress bar or just a running percentage or count of bytes). tuf.Updater could provide functionality that enables this.
The practical case I'm looking at is pip which currently uses the progress module while downloading chunks with requests module. If tuf support is added to pip, it will lose the progress indication functionality.
Current behavior:
The downloads are done in chunks already but there does not seem to be any way to add hooks into the download loop.
Expected behavior:
Updater could e.g. call an optional hook function with some progress data periodically. At a minimum the number of bytes downloaded so far should be available.

Thanks for the great feature request, @jku! Let me cross-reference with this general updater stack clean-up issue (https://github.com/theupdateframework/tuf/issues/841) and another issue that touches the networking aspects (#932).

When/if this is fixed, the default download settings should be re-evaluated:
CHUNK_SIZE = 400000 #bytes
MIN_AVERAGE_DOWNLOAD_SPEED = 50 #bytes/second

A large download at 50b/sec seems to mean one progress update every two hours which would not be very interactive.
Of course the values also mean that a server sending a large file 1 b/sec would only get flagged as slow retrieval attack after 4 days of downloading... so maybe these values could be re-evaluated anyway.

This would be deprecated with #1213 updater: abstract out the network IO

Resolved obsolete by #1213


[projects] Align project cards with design

The text fades out even if it fits perfectly. The cards also seem too tall in general.

The text fades out even if it fits perfectly. The cards also seem too tall in general.

@sprrwhwk thanks for creating this issue, I had noted the exact same thing.

@sprrwhwk @Atmosfearful btw, this did not appear to impact the card sizes on the retire page https://www.carbonmark.com/retire

@sprrwhwk @Atmosfearful on the latest merge to production, the cards on the marketplace are not matching design again, they reverted back to the long format.


Add Baleen to GRPC service

bsiyer created the following on May 06:
Original issue: https://github.ibm.com/ai-foundation/PrimeQA/issues/185

Not targetted for primeqa.


cut and paste from transactions tab

It would be very convenient to be able to cut addresses from the transactions tab. Currently it's not possible.

We can do similar what we have to for events.


Can't pull items from ship engine on Fabric 1.20.1

This issue occurs when only Valkyrien Skies and addons are installed and no other mods

[X] I have tested this issue and it occurs when no other mods are installed

Minecraft Version
1.20
Mod Loader
Fabric
Issue description

Issue reproduction

Place a ship engine.
Place a bucket of lava, try to place a hopper underneath.
Expected Behavior: The hopper pulls the empty bucket/bucket of lava.
Actual Behavior: The hopper did not pull the empty bucket.

This applies to modded things aswell.
Logs
No response

fixed in #301


Strange non-alphabetical ordering on the results page

http://blowyourfaceoff.com/endgame.php?gid=366122&name=Non-Euclidean Human

Fixed with https://github.com/melindamorang/blowyourfaceoff/pull/87

Fixed with https://github.com/melindamorang/blowyourfaceoff/pull/87


Add Weightless benchmark bailing

The (child)-bounties benchmark require SpendOrigin as dispatch origin. Since SpendOrigin is configured to NeverEnsureOrigin in Polkadot, it is impossible to make these Calls since no origin instance can be created.
This MR fixes this by:

Adding a Weightless early return option for benchmarks whose weight will be annotated with 0. It is not completly zero since users still pay the ExtrinsicBaseWeight and a length-based fee.
Using this option in the bounties and child-bounties benches.

This is a better solution than https://github.com/paritytech/substrate/pull/11562 since there would be a lot of ifs needed otherwise.
TODO:

[x] Double check that all Polkadot benches still work (https://github.com/paritytech/polkadot/pull/6045)

These are not actually companions but needed to make the CI green:
Polkadot companion: https://github.com/paritytech/polkadot/pull/6328
Cumulus companion: https://github.com/paritytech/cumulus/pull/1940

bot merge

@coderobe this should set the weights for many of the (child)-bounty calls to zero for the Kusama runtime.
Just so that you are aware when you see it in the next update :smile:


Add flag for disabling read tx timeout on BlockchainProvider

We need a flag on the legacy blockchain provider that will disable the database transaction timeout whenever a transaction is created. This should cause it to call the disable_long_read_transaction_safety method whenever new db providers are created, like we do for state root in the old engine:
https://github.com/paradigmxyz/reth/blob/47efb604ede2487c722b7af6ba567686b171068a/crates/blockchain-tree/src/blockchain_tree.rs#L1240
This should allow long running RPCs to be called without timing out when the legacy engine is used.

I assume this should only affect the StateProviders?

I assume this should only affect the StateProviders?

If possible, yes

I think we can solve this with a function on StateProvider?

I think we can solve this with a function on StateProvider?

It would be fine if we did that on the state provider structs, but all the ProviderFactory methods that return state providers, return StateProviderBox

fixed by https://github.com/paradigmxyz/reth/pull/11856


Utils: Is - Type Checker library

At the moment, the is type checker library is coming from https://github.com/ItsJonQ/is.
It's working okay so far. However, I'd like to be able to check a wider range of types.
🧙♂ @sindresorhus/is
I'm a big fan of @sindresorhus/is:
https://github.com/sindresorhus/is
(The Typescript support is amazing on that btw)
However, this library has a bundle size of approx 10kb (3.1kb gzipped).
That's the only downside that I know of.
Ideally, I feel like this is checker should be as tiny as possible.
Perhaps this amount is okay?
💨 Lodash
An alternative would be to prepare lodash's type checkers in the is.type() like API.
(I swear, the DX for is.type() is amazing)
Although G2 doesn't use lodash... The reason I'm suggesting repurposing lodash's type checkers is because Gutenberg uses lodash. In that sense, we wouldn't need to import another library, which would save on bundle size (in theory)

Why not just use lodash directly? It's already used by Gutenberg so it'd completely remove the additional JS to be bundled. Likewise, the type definitions for lodash are comprehensive so the DX is great. To me there's little difference between _.isNumber() and is.number() from a DX perspective. You get helpful completion either way (_.is will fill out with a whole host of type checking methods in intellisense for example).

Why not just use lodash directly?

That's a fair point! One interesting question.
What if we want to add custom is type checking that lodash doesn't support?
I'm not sure what the best way would be to combine that with lodash 🤔
For example, _.isNumeric(), which is truthy for '3' (string) or 3 (number).
Lodash's _.isNumber() doesn't support string numbers.
I've learned that this is super important (and helpful) for complex TextInput values (e.g. CSS property values)

Hmmm, understood! In that case a "pass-through" library that mostly just passes through to lodash but augments with a few extra methods seems like a good option rather than re-writing the whole thing (given lodash's battle-tested-ness.


chrome-launcher + spelling fixes + docs

Makes it so consumers can just have chrome launch automatically without starting it themselves (though they can still launch manually if they prefer).

Not sure how we're booting chrome in aws... might need to alter that script now that chromeless will try and boot chrome automatically

I get  Error: No Chrome Installations Found if I install 64 bit version which installs itself int AppData


stay full screen if in full screen when creating new terminal

Small issue and probably not even an issue just an idea of how a behavior should be.
When creating a new tab and you are already in full screen mode why doesn't it create the new tab in full screen mode as well?
Thanks for the awesome package.

The fullscreen mode is written in a manner that makes it different for each terminal because each terminal has it's own height value. The fullscreen mode could be global, meaning that new tabs would be effected as well but then you would not be able to fullscreen some terminals while keeping others normal.
Thanks for using Terminal-Plus.

Could you not just have the new tab adopt the value of the tab that is currently in focus by default?  That would be predictable behavior right?

I could definitely add that. I'll inform you when I have a release with this implemented.

awesome...


Biomes not showing up in F3

Describe the problem
Essentially, in the overworld pack for me all biomes appear as "minecraft:plains". I have other Iris dimension packs, and they work just fine. However, my overworld for whatever reason isn't. I created the world properly as instructed via wiki, and I use a compatible world management plugin (MyWorlds). All on the right version.
This issue is huge to me, since I'm working on spawn systems for mythicmobs, which with the messed up biomes in F3, causes issues with that.

What Should Happen
The biomes should appear properly in F3, and not just minecraft:plains throughout the overworld.
What Biome
All / Global
Object Id
N/A
Minecraft Version
PurpurMc 1.19.2
Iris Version
Iris-2.3.5-1.19.2.jar
Relevant log output. (IF APPLICABLE)
No Errors in log.
Checklist

[X] I am using an unmodified version of the overworld. (If you modified the overworld and see an issue, contact support)
[X] I am using the latest version of the overworld OR I have made sure this issue was not already resolved on the latest version.
[X] I am using Spigot, Paper, Tuinity, or Purpur. (If you are not, and still think it is a valid issue, contact support)

This is a datapack issue, you need to let the server restart, and be sure to be on the proper pack etc... reach out on discord for more help!


fix: model dependencies are not accurately resolved

Description
This PR addresses some model dependencies that are not accurately resolved.
Related issue(s)
Fixes https://github.com/asyncapi/modelina/issues/542

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

11 of 11 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 93.202%

Totals

Change from base Build<PHONE_NUMBER>:
0.005%

Covered Lines:
2294

Relevant Lines:
2344

💛  - Coveralls

/rtm


Send CommandResponse when requesting to clear RPCs on EntityCreation

Was there a jira ticket for this? And needs a bugfix release note.


RenderPeople Labels seems not correct.

Hi, I am using the labels of RenderPeople dataset recently, and find that the length of labels is not the same as vertices. For example, the rp_alison_posed_027_30k scan has 16890 vertices, but only 14999 labels.
Also, the labels has the same order problem like the labels of THuman2 dataset.

Can you fix these problem?
Thanks

My guess is that the reordering is probably due to the mesh loading function. Could you share the script you are using? I will verify it with the Renderpeople scans I have.
Alternatively, you can try loading the mesh the way we prepare the data. We have a long pipeline, and it requires loading the mesh twice.

We load original renderpeople scans using the script used here:
https://github.com/mattloper/opendr/blob/bc16a6a51771d6e062d088ba5cede66649b7c7ec/opendr/serialization.py#L50

We save the above mesh and then reload in later stage using using pytorch3d:
https://github.com/anticdimi/CloSe/blob/01ee5bdc30d8bc10eacd390ecea06d5fb5243e2d/prep_scan.py#L47

Thanks for your reply, I just use trimesh to load the renderpeople scans, and the code is as follow:
import trimesh
import numpy as np
from PIL import Image
import open3d as o3d

def read_obj(obj_file, img_file):
    mesh = trimesh.load(obj_file, order=False, process=True)

    texture_image = Image.open(img_file)
    texture_image = texture_image.convert('RGB')
    texture_data = np.array(texture_image)
    uv_coords = mesh.visual.uv

    pixel_coords = uv_coords.copy()
    pixel_coords[:, 0] = uv_coords[:, 0] * (texture_image.width - 1)
    pixel_coords[:, 1] = (1 - uv_coords[:, 1]) * (texture_image.height - 1)
    pixel_coords = pixel_coords.astype(int)

    pixel_coords = np.clip(pixel_coords, 0, [texture_image.width - 1, texture_image.height - 1])

    vertex_colors = texture_data[pixel_coords[:, 1], pixel_coords[:, 0]] / 255.0

    vertices = mesh.vertices
    normals = mesh.vertex_normals
    faces = mesh.faces

    return vertices, vertex_colors, normals, faces

obj_file = '/mnt1/dataset/renderpeople/zips/rp_alison_posed_027_OBJ/rp_alison_posed_027_100k.obj'
img_file = '/mnt1/dataset/renderpeople/zips/rp_alison_posed_027_OBJ/tex/rp_alison_posed_027_dif_8k.jpg'
points, colors, normals, faces = read_obj(obj_file, img_file)

YOu are changing the vertex order in mesh. You should change
mesh = trimesh.load(obj_file, order=False, process=True)
to
mesh = trimesh.load(obj_file, maintain_order=True, process=False)


Images Not Loading

Not sure why but all I did was clear out the content and re-add my own but it never renders the images.  You can see what I'm trying to fix at www.geekedoutsolutions.com and the code is at https://github.com/Geeked-Out-Solutions/blog its not giving me any errors so if you know any reason this might be happening I'm all ears can't find it yet.
Thanks

nevermind figured it out was related to a odd name of the image.

Glad you got it figured? It shouldn't fail silently, though - what was the problematic name?

It was cause I had () in the image name but it never generated a error saying it couldn't load it, etc.


Disable doc build

[x] closes #13

Didn't find a nice way, e.g. a flag, provided by azure to disable a job.

seems fine, I think failing some checks?

Those black/flake 8 checks are handled in https://github.com/twosigma/pandas/pull/14


[FR] Keep ansi code with '--with-nth'

[X] I have read through the manual page (man fzf)
[X] I have the latest version of fzf
[X] I have searched through the existing issues

Info

OS

[X] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[X] bash
[ ] zsh
[ ] fish

Problem / Steps to reproduce
Will be really useful to keep the ansi codes when using '--with-nth' option
At that time, using '--with-nth' remove every characters from the left of the separator letting previously colors applied removed from the output
For example:
echo -ne '\e[31m/a\e[33m/file\e[0m\n/a/test' | fzf --ansi --with-nth=3.. -d '/'

Here, file lost its yellow color
With the preservation of ansi colors with --with-nth= , the string will preserve its colors and will be print as :
echo -ne '\e[31m\e[33mfile\e[0m\ntest'

So the last color applied will be preserved as in the original input
Regards,

Are you sure that you have the latest version of fzf? It's fixed several months ago (#1500).

Sorry, I indeed missed a release and didn't seen the previous issue about this.
Seems to works like a charm and fzf-obc will be happy to benefit of this :)


Fixed #8280 -- Allowed management command discovery for eggs

Thanks jdetaeye for the report, and bhuztez and jdetaeye for the
initial patches.

buildbot, please retest this

There is a bug somewhere on Python 3.2 with pkgutil.iter_modules. At some point, sys.path_importer_cache is populated with an importlib._bootstrap._FileFinder instance which always return an empty list for iter_modules. I'm a bit stuck right now.

Seems the introduced workaround solved the issue with 3.2. I didn't feel like investigating more, considering that we should drop 3.2 support soon.


show existing brainlife tags when adding tags to an input/output datatype

It would be nice if the existing tags that are currently used on brainlife would show up as options to choose from when a user is trying to add a tag to an input or output datatype or other file. I wanted to add the tag acpc_aligned to an input T1 for an app, but could not remember how it was written (with or without _ ?). If it showed up as a clickable option below, we could avoid typos and other small tagging mistakes.

Implemented. Please test.
The control looks strange - because it's competing stylesheet with vue/element which I am planning to replace with something else (bootstrap4)


right sidebar

hi,
when expanding the right sidebar, it takes up too much space imo.

I don't think this is related to the theme as I didn't make any edits to the width of the sidebar. If you hover over the upper left corner of it you can grab a drag handle and shrink the width.

correct! i didn't find the handle initially!
thanks

correct! i didn't find the handle initially! thanks

I think there may be a bug in the theme that is causing the handle to be super small that I'll look at.


Add UKVI AB test setup for May 2017

Description
This PR sets up AB test for the following ukvi page sections:

/remain-in-uk-family/*
/join-family-in-uk/*

Cohorts across the aforementioned UKVI pages section fall under the following:

original (with a 50% weighting)
spouseProminent (with a 50% weighting)

@nickcolley We have already discussed the possibility of using the alternative. Given the nature of the users involved and how crucial this A/B testing is,,,  we have decided to use this frontend option.

Docs for setting up AB testing: https://docs.publishing.service.gov.uk/manual/ab-testing.html

@fofr thanks


Support for .NET v4.6.2

Agent version and platform
Version of your agent? 2.105.5 on Windows (Hosted VSTS Agent so I'm not sure)

VSTS type and version
VisualStudio.com

What's not working?
It is not really a bug but I was wondering if there is a possibility to have .NET v4.6.2 support for hosted VSTS build agents?

If so, how can I achieve this?
If not, is this on the roadmap?

Yeah, not an agent bug.
Hosted image will get soon.

Will get the support soon or what do you mean?