fix: upgrade to version 3.0.702

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign garethjevans
You can assign the PR to them by writing /assign @garethjevans in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

@jenkins-x-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault
00c6cc8fea902bbaf654222e9f5a73e7f39b4c61
link
/test vault

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault
00c6cc8fea902bbaf654222e9f5a73e7f39b4c61
link
/test vault

kube
00c6cc8fea902bbaf654222e9f5a73e7f39b4c61
link
/test kube

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

@jenkins-x-bot-test: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

vault
00c6cc8fea902bbaf654222e9f5a73e7f39b4c61
link
/test vault

kube
00c6cc8fea902bbaf654222e9f5a73e7f39b4c61
link
/test kube

gsm
00c6cc8fea902bbaf654222e9f5a73e7f39b4c61
link
/test gsm

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.


Define a time limit for the remindme command

the current limit is between 3 000 000 000 and 5 000 000 000.
The error for 5.0^E9 is not clear
BOT response:
Oops! Remindme not found!
Unable to find the specified remindme!

implemented an if statement that compares duration with a variable limit. This limit is defined by the developer, according to computation effort.


Do you have more boilerplate code (examples) to show an example of some application where the speech recognition is working?

Do you have more boilerplate code (examples) to show an example of some application where the speech recognition is working?

You can check all of the tests I've written to view some more working examples.
They're not using the async-await api (to preserve backwards compatibility with older Swift versions), but it should be enough to get you going.

Thank you, @exPHAT!  I will check it out and get back to you ASAP.

Did you find what you're looking for?

Still need to try it again!  Thanks!

I'm going to close this. Reopen it if you can't run the project.

Hi @exPHAT, do you have a example code with all the boilerplate to get started with using the CoreML model, the delegates, and the PCM Array to whisper.cpp STT?  Thanks, @shyamalschandra!


ICD Elasticsearch DA needs option for setting reference to a pre-existing Elasticsearch instance

In the current Elasticsearch DA there is no option to set references to an existing instance, i.e., we don't want to deploy a new instance again but set the reference to the existing instance (just like we are doing for pre-existing Secrets Manager instance).
We need this feature for reusability of Elasticsearch instance - scenarios where multiple RAG DA Stacks can deploy artifacts,  (users,indexes/content etc.) to the same Elasticsearch instance.
Also reference: https://github.com/terraform-ibm-modules/terraform-ibm-icd-elasticsearch/issues/204
This will be additional Input option. Outputs will then include the information of the referenced instance.

There is already an issue open for this https://github.com/terraform-ibm-modules/terraform-ibm-icd-elasticsearch/issues/235


Fix #1830

add config option "erome.laravel_session" for EromeRipper to avoid JS-Browser-Check

Category
This change is exactly one of the following (please change [ ] to [x]) to indicate which:

[x] a bug fix (Fix #...)
[ ] a new Ripper
[ ] a refactoring
[ ] a style change/fix
[x] a new feature

Description
Please add details about your change here.
I added another config option called "erome.laravel_session" via which you can set the "laravel_session" cookie. This prevents the program from not finding media because it can't get through Erome's JavaScript browser check.
Testing
Required verification:

[x] I've verified that there are no regressions in mvn test (there are no new failures or errors).
[x] I've verified that this change works as intended.

[x] Downloads all relevant content.
[x] Downloads content from multiple pages (as necessary or appropriate).
[x] Saves content at reasonable file names (e.g. page titles or content IDs) to help easily browse downloaded content.

[x] I've verified that this change did not break existing functionality (especially in the Ripper I modified).

Optional but recommended:

[ ] I've added a unit test to cover my change.

Not included because it makes no sense.

There's a lot of changes here, can you go over them in a bit more detail?


New package: Corsair.iCUE.5 version 5.10.82

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?
[X] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.5 schema?

Follow up of

#112943
#120601

Microsoft Reviewers: Open in CodeFlow

This package did not complete, despite waiting for about 1.5 hours. When running the full installer, it seems to hang at 77%:

Are hardware devices required to complete the install?

I think thats just a software installer issue...
Installation took about 1 minute for me..
I got no Corsair software AND i did not get that progress bar?
I did however see another weird issue, the validation finished before corsair got installed
Manifest validation succeeded.
Found Corsair iCUE5 Software [Corsair.iCUE.5] Version 5.10.82
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://www3.corsair.com/software/CUE_V5/public/modules/windows/installer/Install%20iCUE.exe
  ██████████████████████████████  3.23 MB / 3.23 MB
Successfully verified installer hash
Starting package install...
Successfully installed

Name          : Microsoft Visual C++ 2015-2019 Redistributable (x64) - 14.29.30139
Publisher     : Microsoft Corporation
Version       : 14.29.30139.0
ProductCode   : {2c673fb6-3e65-4751-965d-33d30b68a8a6}
Registry Path : Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{2c673fb6-3e65-4751-965d-33d30b68a8a6}
Uninstall     : winget uninstall --id "{2c673fb6-3e65-4751-965d-33d30b68a8a6}"

Press any key to continue . . .


SS environment not uploaded to hub after temporary Hub outage

How to reproduce:

Register peer to Hub (if not already registered)
Shutdown Hub or cut network or shutdown wi-fi router or write wrong Hub IP addr. in management /etc/hosts (anything to make Hub unreachable from SS management)
Create environment on SS console
Wait 4-5 minutes
Restore connection to Hub (make it available to SS management)
Result: after peer sent several heartbeats to Hub, environment still wasn't uploaded to Hub.

The upload interval was too big - 30 minutes
decreased it to 10 min
however during work on this issue found another one: https://github.com/subutai-io/base/issues/1932


Allow availability domain configurable per subnet

At the moment, there is no ability to specify an availability domain for each subnet that gets created.

resolved in #127


Add Prettier Blade plugin

[ ] Changes have been thoroughly tested to not break existing functionality.
[ ] New functionality has been documented or existing documentation has been updated to reflect changes.
[ ] Visual changes are explained in the PR description using a screenshot/recording of before and after.

See comment on Discord


Make the build with new LPT version

https://github.com/intersystems-ru/LightPivotTable/releases/tag/1.8.5

Done!


Fixed typos in using l10n for localisation is typescript code  and removed unused labels from bundles

After running automated tests for checking localisation  found some typos and unused labels

Can you please squash and push changes again?


problem when compute dask array

Hi all, i am new to dask and i have noticed a strange behavior. I have 2 dask array, and I want to replace some elements of the first x by those of the second y randomly so here is what I do:
import numpy as np
import time
from pympler import asizeof
n,  d = 10000000,  2
x = da.random.uniform(size=(n,d), chunks=n) #the first array
y = da.random.uniform(size=(n,d), chunks=n)#the second array
for i in range(5):
    i = da.random.uniform(size=n, chunks=n) < 0.5
    j = da.bitwise_not(i)
    x = x * i[:, np.newaxis] + y * j[:, np.newaxis]
    print(asizeof.asizeof(x))

which works well, however with the last instruction that is used to display the memory size of the object x, we can see that x is taking more and more space:
9400
15312
21608
27136
34200

and if I clock the compute method on the object x x.compute() so we see that it's getting slower:
0.686669111251831
0.8689215183258057
1.106764316558838
1.156355857849121

can someone explain to me and how to solve this. thank's

You are recursively defining x: Each iteration you are effectively defining a new x, based on previous iterations' x and current iteration's  i. So the total compute graph for x becomes larger each iteration, try to use x.visualize() to see what's happening to the compute graph, it's fun.
As such I would say this is totally expected behaviour. Are you sure you need the for-loop to progressively replace more elements of x by corresponding ones of y?
If you only need the end result I would propose to define the resulting i in one go, something like:
i = da.prod(da.random.uniform(size=(n,5), chunks=n), axis=1)
x = da.where(i[:, np.newaxis], x, y)

Or an equivalent direct generation of i via an appropriate random distribution.
I hope this answers your question, but please do not hesitate to ask further questions.
As an aside, fort this sort of questions it is always worth too ask yourself if it might be better suited to SO's 'dask' tag especially if you're not sure if it is your understanding of dask or an actual bug ;)

thank you for your explanations. indeed the for loop is obligatory (I must replace part of a population by better individuals after each iteration). but since dask arrays are immutable this is the only solution I could find in order to modify them. do you have other alternatives ?

Really depends on your precise algorithm: you could either call x.compute() every now and then if that for-loop is indeed as serial as it seems, or look at something a bit more flexible such as dask.bag or delayed and futures.

Anything actionable here or is this good to close?


'keyboardWillShow` event should be registered via the Keyboard module

Hi @ElSadeq, thanks for posting this issue!
Should be fixed in the new release :)


Issue: Account Button Asking for Server URL in Zulip Flutter Application

Description:
Steps to Reproduce:

Clone the Zulip Flutter repository to your local machine.
Run the application.
Observe that the account button is prompting for a server URL.

Additional Information:
0.0.7 Version of Zulip Flutter being used.
Any relevant error messages or console output.
Screenshots illustrating the issue:

Request for Assistance:
As a newcomer to open-source contributions, I am unsure about the type of account needed in this context. Clear documentation or guidance on the account type required for development would be beneficial.

Do you have an account in any Zulip organization? If not, I recommend reading this page of documentation and joining the Zulip development community.
Then this doc can help you find the server URL: https://zulip.com/help/logging-in . But I'll go ahead and tell you that https://chat.zulip.org is the URL for the Zulip development community.
Before publishing the app to a wide audience, we should make it clear what a "server URL" is and how to find yours. That's this issue:

https://github.com/zulip/zulip-flutter/issues/109

Since we already have an issue tracking that, I'll go ahead and close this issue.


Fixed wrong morphometric measures with anisotropic in-plane resolution

If axial in-plane resolution is anisotropic, some shape morphometric measures, such as RL/AP diameter and orientation are wrong.
This PR solves it by resampling the data to isotropic resolution (chooses the smallest pixel size between RL and AP dimension for target resolution) before computing shape morphometrics.
Also see: http://forum.spinalcordmri.org/t/sct-process-segmentation-is-mixing-up-diameter-rl-and-diameter-ap/135/3

@jcohenadad should we get this merged?

@gmotzespina I just want to copy/paste results of batch_processing to assess potential retro-compatibility change

results of batch_processing:
process-seg 2ecd4bc558e8e6e3f9e807c2e001ab303a16c9be
t2/CSA:          74.05758272483698
mt/MTR(WM):      54.29899900160193
t2s/CSA_GM:      12.774964384249389
t2s/CSA_WM:      64.64670129025727
dmri/FA(CST_r):  0.7723247785662822
dmri/FA(CST_l):  0.7469896944701713


Shell Competion

Description
It would be very nice to have Shell Completion, like virtualenvwrapper!
What I Did
I made a small script that runs on BASH and ZSH.
$ cat pipenv-pipes-completion.sh
# Shell completion for pipenv-pipes

export BASE_SHELL=$(basename $SHELL)
export DEFAULT_HOME="$HOME/.virtualenvs"

if [[ "$BASE_SHELL" == "zsh" ]] ; then
  autoload bashcompinit && bashcompinit
fi

_pipenv-pipes_completions() {
  COMPREPLY=($(compgen -W "$(ls $DEFAULT_HOME $PIPENV_HOME)" -- "${COMP_WORDS[1]}"))
}

complete -F _pipenv-pipes_completions pipes

$ source ./pipenv-pipes-completion.sh
$ pipes <tab><tab>

What do you think about it? Could we put somewhere in the code base or maybe as a script some where and put the activation instructions on README?
Cheers,

Thanks for sending this -
would be great to add autocompletion,
I would be happy to add this to the docs if you could send a PR.
I will also test this out and see if I can put  together a fish plugin

https://github.com/gtalarico/pipenv-pipes/compare/master...autocomplete

Yay, that's awesome, let's merge it? :D


[SPARK-8471][ML] Discrete Cosine Transform Feature Transformer

Implementation and tests for Discrete Cosine Transformer.
TODO:

Handle arbitrary numeric data type
Handle 2D and 3D tensors

Merged build triggered.

Merged build started.

Test build #35213 has started for   PR 6894 at commit 95d4939.

Test build #35213 has finished for   PR 6894 at commit 95d4939.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DiscreteCosineTransformer(override val uid: String)

Merged build finished. Test PASSed.

Merged build triggered.

Merged build started.

Test build #35352 has started for   PR 6894 at commit 195d7aa.

Test build #35352 has finished for   PR 6894 at commit 195d7aa.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DiscreteCosineTransformer[IN : Numeric](override val uid: String)

Merged build finished. Test PASSed.

Merged build triggered.

Merged build started.

Test build #35461 has started for   PR 6894 at commit 530983a.

Test build #35461 has finished for   PR 6894 at commit 530983a.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DiscreteCosineTransformer[IN : Numeric](override val uid: String)

Merged build finished. Test PASSed.

One concern I have is supporting both Vector and Array[SomeNumericType].  Ideally, we would eventually support both.  However, if we use the UnaryTransformer abstraction, we won't be able to.  And once we use that abstraction, we cannot remove it since it's a public API.  @mengxr What are your thoughts?  Should we keep everything as a Vector?
The main downside I see is that people working in signal processing (and other fields) will often be used to being able to use different types.

@feynmanliang Just discussed with @mengxr : With regards to Vector vs. Array of Numeric types, we should stick with Vector for now.  In the future, it'd be cool to change all transformers to be able to accept either type, but there are benefits to enforcing Vectors: simplicity + the linear algebra ops.  E.g., after DCT, users might want to make the output sparse by thresholding.

Merged build triggered.

Merged build started.

Test build #35593 has started for   PR 6894 at commit 4dc3dec.

Merged build triggered.

Merged build started.

Test build #35595 has started for   PR 6894 at commit 530983a.

Test build #35595 has finished for   PR 6894 at commit 530983a.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DiscreteCosineTransformer[IN : Numeric](override val uid: String)

Merged build finished. Test FAILed.

Test build #35593 has finished for   PR 6894 at commit 4dc3dec.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DiscreteCosineTransformer[IN : Numeric](override val uid: String)
class LinearDataGenerator(object):
case class BroadcastHint(child: LogicalPlan) extends UnaryNode

Merged build finished. Test PASSed.

OK. Will change to take VectorUDT

Merged build triggered.

Merged build started.

Test build #35703 has started for   PR 6894 at commit b5ac19c.

Test build #35703 has finished for   PR 6894 at commit b5ac19c.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DiscreteCosineTransformer(override val uid: String)

Merged build finished. Test PASSed.

Can you please update the PR description (which becomes part of the commit message)?
Other than those tiny comments, looks good.

Merged build triggered.

Merged build started.

Test build #35736 has started for   PR 6894 at commit 91e9636.

Test build #35736 has finished for   PR 6894 at commit 91e9636.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DiscreteCosineTransformer(override val uid: String)

Merged build finished. Test FAILed.

Would you mind making that small update (also to trigger tests again)?  Thanks!

Merged build triggered.

Merged build started.

Test build #36172 has started for   PR 6894 at commit 433dbc7.

Test build #36172 has finished for   PR 6894 at commit 433dbc7.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DiscreteCosineTransformer(override val uid: String)

Merged build finished. Test FAILed.

test this please

LGTM pending tests

Merged build triggered.

Merged build started.

Test build #36175 has started for   PR 6894 at commit 433dbc7.

Test build #36175 has finished for   PR 6894 at commit 433dbc7.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class DiscreteCosineTransformer(override val uid: String)

Merged build finished. Test PASSed.

Merging with master
Thanks!

@feynmanliang @jkbradley Sorry for late comments! Is it simpler to call the transformer "DCT", "DCT1", or "DCT1D"? We don't usually use Transformer suffix for feature transformers.

I guess it should have been "DiscreteCosineTransform" (without the "er").  I'm OK with shortening it to DCT.  I'd vote for DCT.  If we add a 2D version, we can call that DCT2D.  (Or DCT could be generalized to support Matrix as input.)


Consider getting rid of card.inbound_links

It'll be really hard to maintain, and can be recovered easily enough by queries

Doing this as a live query is unnecessary given it doesn't change very often. To start can be done as a maintence task (one that can be done multiple times). Later, can be a cloud function (see #70 )

[ ] Update the card info to print them out
[ ] Change the help chip to an alert chip for this one


Uncaught Error: Cannot read property 'object' of undefinedTypeError: Cannot read property 'objec...

[Enter steps to reproduce:]

...
...

Atom: 1.17.0 x64
Electron: 1.3.15
OS: Microsoft Windows Embedded 8.1 Industry Pro
Thrown From: Atom Core
Stack Trace
Uncaught Error: Cannot read property 'object' of undefined
TypeError: Cannot read property 'object' of undefined
at ObjectsRegistry.get (C:\Users\Dogan\AppData\Local\atom\app-1.17.0\resources\electron.asar\browser\objects-registry.js:41:28)
at EventEmitter. (C:\Users\Dogan\AppData\Local\atom\app-1.17.0\resources\electron.asar\browser\rpc-server.js:306:31)
at emitMany (events.js:127:13)
at EventEmitter.emit (events.js:201:7)
at WebContents. (C:\Users\Dogan\AppData\Local\atom\app-1.17.0\resources\electron.asar\browser\api\web-contents.js:222:13)
at emitTwo (events.js:106:13)
at WebContents.emit (events.js:191:7)
At C:\Users\Dogan\AppData\Local\atom\app-1.17.0\resources\electron.asar\renderer\api\remote.js:217

Error: Cannot read property 'object' of undefined
TypeError: Cannot read property 'object' of undefined
    at ObjectsRegistry.get (~/AppData/Local/atom/app-1.17.0/resources/electron.asar/browser/objects-registry.js:41:28)
    at EventEmitter.<anonymous> (~/AppData/Local/atom/app-1.17.0/resources/electron.asar/browser/rpc-server.js:306:31)
    at emitMany (events.js:127:13)
    at EventEmitter.emit (events.js:201:7)
    at WebContents.<anonymous> (~/AppData/Local/atom/app-1.17.0/resources/electron.asar/browser/api/web-contents.js:222:13)
    at emitTwo (events.js:106:13)
    at WebContents.emit (events.js:191:7)
    at metaToValue (~/AppData/Local/atom/app-1.17.0/resources/electron.asar/renderer/api/remote.js:217:13)
    at undefined.remoteMemberFunction (~/AppData/Local/atom/app-1.17.0/resources/electron.asar/renderer/api/remote.js:113:18)
    at AtomEnvironment.module.exports.AtomEnvironment.getWindowDimensions (~/AppData/Local/atom/app-1.17.0/resources/app/src/atom-environment.js:663:1)
    at AtomEnvironment.module.exports.AtomEnvironment.storeWindowDimensions (~/AppData/Local/atom/app-1.17.0/resources/app/src/atom-environment.js:697:1)
    at WindowEventHandler.module.exports.WindowEventHandler.handleWindowBlur (~/AppData/Local/atom/app-1.17.0/resources/app/src/window-event-handler.js:184:1)
    at ~/AppData/Local/atom/app-1.17.0/resources/app/src/window-event-handler.js:3:1

Commands

Non-Core Packages
terminal-plus 0.14.5

Thanks for taking the time to contribute!
We noticed that this is a duplicate of #11692. You may want to subscribe there for updates.
Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


Fix the security vulernability caused by junit's temp folder

What changes are proposed in this pull request?
fix https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15250
see https://github.com/junit-team/junit4/security/advisories/GHSA-269g-pwp5-87pp
Why are the changes needed?
The JUnit4 test rule TemporaryFolder contains a local information disclosure vulnerability.
Does this PR introduce any user facing changes?
Please list the user-facing changes introduced by your change, including
no

alluxio-bot, merge this please


correct typos in README

Replace Golang with Go.

Merged, and sorry for my bad English and these typos.


[Bug]:A potential goleak

blocking position:
https://github.com/moby/libnetwork/blob/3797618f9a38372e8107d8c06f6ae199e1133ae8/networkdb/cluster.go#L257
The nDB.cancelCtx()  is in the func clusterLeave(), when return err ,the cancelFunc can't get executed and the goroutine leak.
https://github.com/moby/libnetwork/blob/3797618f9a38372e8107d8c06f6ae199e1133ae8/networkdb/cluster.go#L224-L243
You can reproduce the bug by making program execute the path and test it by goleak

Thanks for reporting! It seems to be a duplicate of https://github.com/moby/moby/issues/47859. Since this repo is defunct, and not actively watched by maintainers, let me close this ticket.


Fabric v2.5 release

Umbrella epic to capture misc items for Fabric v2.5 release.
This does not include #2787 which is also targeted for v2.5.

@denyeart , @jkneubuh
I hope we are able to have v2 as api release.
for example, when developing admin-sdk, for peer join channel feature.
I noticed that there some code depends on package "github.com/hyperledger/fabric/core/scc/cscc"
which is not included in current api for go mod, so I hope we are able to release 2.5 with v2 api so that cscc package can be invoked by 	"github.com/hyperledger/fabric/v2/core/scc/cscc"

I made a pr for sample, hope it works. https://github.com/hyperledger/fabric/pull/3529

Hi @denyeart https://go.dev/ref/mod#incompatible-versions
Do we have plan to referring this module name convention on module in format of ../v2 in next LTS 2.5 release?

Fabric core was never meant to be imported/vendored by external projects.
That's part of the reason we have repositories for everything starting from protos, shim, and even channel configuration.

Hi @denyeart https://go.dev/ref/mod#incompatible-versions
Do we have plan to referring this module name convention on module in format of ../v2 in next LTS 2.5 release?

Fabric core was never meant to be imported/vendored by external projects. That's part of the reason we have repositories for everything starting from protos, shim, and even channel configuration.

hi @yacovm ， in that case, if we want to develop admin sdk to allow peer join channel instead of use peer cli, as the code logic depends on github.com/hyperledger/fabric/core/scc/cscc and as you said, if we don't have plan to expose fabric core...
any suggestion to make the admin sdk without fabric core?

Hi @denyeart https://go.dev/ref/mod#incompatible-versions
Do we have plan to referring this module name convention on module in format of ../v2 in next LTS 2.5 release?

Fabric core was never meant to be imported/vendored by external projects. That's part of the reason we have repositories for everything starting from protos, shim, and even channel configuration.

hi @yacovm ， in that case, if we want to develop admin sdk to allow peer join channel instead of use peer cli, as the code logic depends on github.com/hyperledger/fabric/core/scc/cscc and as you said, if we don't have plan to expose fabric core... any suggestion to make the admin sdk without fabric core?

Why do you need to import the server side code to be able to implement a client? The logic that CSCC performs is unrelated to what you need to send to a chaincode. Just assemble the payloads it expects and send it to a chaincode, what's the issue?

and as you said, if we don't have plan to expose fabric core...

I think in v3 we would end up making a module inside Fabric core that will be importable, and will abide by the Go module conventions, but that doesn't mean we need to make all of Fabric core a huge module.

Hi @denyeart https://go.dev/ref/mod#incompatible-versions
Do we have plan to referring this module name convention on module in format of ../v2 in next LTS 2.5 release?

Fabric core was never meant to be imported/vendored by external projects. That's part of the reason we have repositories for everything starting from protos, shim, and even channel configuration.

hi @yacovm ， in that case, if we want to develop admin sdk to allow peer join channel instead of use peer cli, as the code logic depends on github.com/hyperledger/fabric/core/scc/cscc and as you said, if we don't have plan to expose fabric core... any suggestion to make the admin sdk without fabric core?

Why do you need to import the server side code to be able to implement a client? The logic that CSCC performs is unrelated to what you need to send to a chaincode. Just assemble the payloads it expects and send it to a chaincode, what's the issue?

ref to line
https://github.com/hyperledger/fabric/blob/0fa4d2f79d8147cc8d92151654ace40d8339b35b/internal/peer/channel/join.go#L67
so... instead of using fabric core modules, another option is that we open those const values? or user copy paste those const value into their own code?

Hi @denyeart https://go.dev/ref/mod#incompatible-versions
Do we have plan to referring this module name convention on module in format of ../v2 in next LTS 2.5 release?

Fabric core was never meant to be imported/vendored by external projects. That's part of the reason we have repositories for everything starting from protos, shim, and even channel configuration.

hi @yacovm ， in that case, if we want to develop admin sdk to allow peer join channel instead of use peer cli, as the code logic depends on github.com/hyperledger/fabric/core/scc/cscc and as you said, if we don't have plan to expose fabric core... any suggestion to make the admin sdk without fabric core?

Why do you need to import the server side code to be able to implement a client? The logic that CSCC performs is unrelated to what you need to send to a chaincode. Just assemble the payloads it expects and send it to a chaincode, what's the issue?

ref to line
https://github.com/hyperledger/fabric/blob/0fa4d2f79d8147cc8d92151654ace40d8339b35b/internal/peer/channel/join.go#L67
so... instead of using fabric core modules, another option is that we open those const values? or user copy paste those const value into their own code?

Just copy the string :-)

@davidkhala @SamYuan1990
I agree with Yacov, we don't want to signal that people should import core Fabric code.

@denyeart , I am not sure if #3710 will block 2.5 release or not. as in #3710 I found peer install behavior is different between release 2.4 and main branch.


os: FileInfo Mode on Windows incorrectly interpreting WSL symlinks (reparse points) as regular files always

What version of Go are you using (go version)?

$ go version
go version go1.15.2 windows/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\oliver\AppData\Local\go-build
set GOENV=C:\Users\oliver\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:\Users\oliver\go\pkg\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\oliver\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\oliver\AppData\Local\Temp\go-build844512546=/tmp/go-build -gno-record-gcc-switches

What did you do?
Called os.FileInfo.Mode.IsRegular and got the wrong result.
This is caused by a WSL symlink:
[D:\Dev\github.com\kfsone\archive\smugl-src]
> gci compile | format-list

    Directory: D:\Dev\github.com\kfsone\archive\smugl-src

Name           : compile
Length         : 0
CreationTime   : 7/28/2019 10:36:58 PM
LastWriteTime  : 7/28/2019 10:36:58 PM
LastAccessTime : 7/28/2019 10:36:58 PM
Mode           : la---
LinkType       :
Target         :
VersionInfo    : File:             D:\Dev\github.com\kfsone\archive\smugl-src\compile
                 InternalName:
                 OriginalFilename:
                 FileVersion:
                 FileDescription:
                 Product:
                 ProductVersion:
                 Debug:            False
                 Patched:          False
                 PreRelease:       False
                 PrivateBuild:     False
                 SpecialBuild:     False
                 Language:

Running the following go code:
package main

import (
    "fmt"
    "os"
    "path/filepath"
)

func main() {
    path := "D:/dev/github.com/kfsone/archive/smugl-src/compile"
    filepath.Walk(path, func (path string, info os.FileInfo, err error) error {
        fmt.Printf("%s %s %#+v\n", path, info.Mode().IsRegular(), info)
        return nil
    })
}

produces:
D:/dev/github.com/kfsone/archive/smugl-src/compile %!s(bool=true) &os.fileStat{name:"compile", FileAttributes:0x420, CreationTime:syscall.Filetime{LowDateTime:0xa3aab077, HighDateTime:0x1d545cf}, LastAccessTime:syscall.Filetime{LowDateTime:0xa3aab077, HighDateTime:0x1d545cf}, LastWriteTime:syscall.Filetime{LowDateTime:0xa3aab077, HighDateTime:0x1d545cf}, FileSizeHigh:0x0, FileSizeLow:0x0, Reserved0:0xa000001d, filetype:0x0, Mutex:sync.Mutex{state:0, sema:0x0}, path:"", vol:0x5ef35831, idxhi:0xb0000, idxlo:0x3b47, appendNameToPath:false}

Windows is definitely telling us it's a reparse point: FileAttributes: 0x420 includes the 1024 required. The issue here is the value of Reserved0, which is not being tested for:
According to https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/c8e77b37-3909-4fe6-a4ea-2b9d423b1ee4

0xA000001D
Used by the Windows Subsystem for Linux (WSL) to represent a UNIX symbolic link. Server-side interpretation only, not meaningful over the wire.

This appears it would require a change to src/os/types_windows.go lines 104,105.

Thank you for filing this issue @kfsone and welcome to the Go project!
Interesting bug, and thank you for the background. Please feel free to send a change to fix this as per https://golang.org/doc/contribute.html or even just a PR on Github after signing the CLA, it would be
awesome to have your contributions!
Just for full disclosure we are about 6 days away from a code freeze for Go1.16, thus if you can, please send a change,
with a regression test, and I shall also tag some Windows experts @alexbrainman @mattn. No rush though, because even
if not meeting the deadline, in about 2 months, if/when the change is accepted, we can always backport it.

CreateFile fail to open symlink created on WSL2 without FILE_FLAG_OPEN_REPARSE_POINT. To fix this, we should add FILE_FLAG_OPEN_REPARSE_POINT to second argument of stat.
diff --git a/src/os/stat_windows.go b/src/os/stat_windows.go
index da4c49090e..43f176376c 100644
--- a/src/os/stat_windows.go
+++ b/src/os/stat_windows.go
@@ -103,7 +103,7 @@ func stat(funcname, name string, createFileAttrs uint32) (FileInfo, error) {

 // statNolog implements Stat for Windows.
 func statNolog(name string) (FileInfo, error) {
-	return stat("Stat", name, syscall.FILE_FLAG_BACKUP_SEMANTICS)
+	return stat("Stat", name, syscall.FILE_FLAG_OPEN_REPARSE_POINT|syscall.FILE_FLAG_BACKUP_SEMANTICS)
 }

 // lstatNolog implements Lstat for Windows.

Hmm, TestDirectoryJunction fail if adding FILE_FLAG_OPEN_REPARSE_POINT. So it should do fallback if CreateFile fail.

CreateFile fail to open symlink created on WSL2 without FILE_FLAG_OPEN_REPARSE_POINT. To fix this, we should add FILE_FLAG_OPEN_REPARSE_POINT to ~second~ third argument of stat.
diff --git a/src/os/stat_windows.go b/src/os/stat_windows.go
index da4c49090e..43f176376c 100644
--- a/src/os/stat_windows.go
+++ b/src/os/stat_windows.go
@@ -103,7 +103,7 @@ func stat(funcname, name string, createFileAttrs uint32) (FileInfo, error) {

 // statNolog implements Stat for Windows.
 func statNolog(name string) (FileInfo, error) {
-	return stat("Stat", name, syscall.FILE_FLAG_BACKUP_SEMANTICS)
+	return stat("Stat", name, syscall.FILE_FLAG_OPEN_REPARSE_POINT|syscall.FILE_FLAG_BACKUP_SEMANTICS)
 }

 // lstatNolog implements Lstat for Windows.

Note the distinction between IO_REPARSE_TAG_SYMLINK and io_reparse_tag_LX_symlink in IO_REPARSE_TAG_LX_SYMLINK (lx for 'linux' maybe)

Notes from looking at implementing handling for this:

Microsoft themselves have not fully supported this yet:

> cd $env:TEMP ; rm -recurs -force symlinks ; cd (mkdir symlinks)
[C:\Users\oliver\AppData\Local\Temp\symlinks]
> wsl ln -s target.txt relative.lnk
[C:\Users\oliver\AppData\Local\Temp\symlinks]
> echo this is target >target.txt
[C:\Users\oliver\AppData\Local\Temp\symlinks]
> get-content target.txt
this
is
target
[C:\Users\oliver\AppData\Local\Temp\symlinks]
> get-content relative.lnk
Get-Content: The file cannot be accessed by the system. : 'C:\Users\oliver\AppData\Local\Temp\symlinks\relative.lnk'
[C:\Users\oliver\AppData\Local\Temp\symlinks]
> wsl cat relative.lnk
this
is
target
[C:\Users\oliver\AppData\Local\Temp\symlinks]
> fsutil reparsePoint query relative.lnk
Reparse Tag Value : 0xa000001d
Tag value: Microsoft
Tag value: Name Surrogate

Reparse Data Length: 0xe
Reparse Data:
0000:  02 00 00 00 74 61 72 67  65 74 2e 74 78 74        ....target.txt

It also appears this does not use the same type of reparse buffer that non-lx reparses do:
reactos handling: https://doxygen.reactos.org/d9/d78/reparse_8c_source.html
cygwin<EMAIL_ADDRESS>https://cygwin.com/git/?p=newlib-cygwin.git;a=commitdiff;h=44da5e4b8c89bfcee79eb83fd3b7142720489940 (I'm puzzled by the fact that the buffer seems to be char-based instead of mbcs or utf16).
Perhaps for now, rather than appearing as a symlink, these entities should at least appear as not being regular files?

@odeke-em Taking a look; previously signed the CLA for grpc in 2014, setup a password. The windows tests appear to be failing tho as a result of https://github.com/golang/go/issues/40604 but I also experience a seemingly obvious failure of TestLookPath:
    lp_windows_test.go:147: test={rootDir:C:\Users\oliver\AppData\Local\Temp\TestLookPath336921111\d16 PATH:p1;p2 PATHEXT:.COM;.EXE;.BAT files:[p1\a.bat p1\a.exe p2\a.bat p2\a.exe] searchFor:a fails:false} failed: expected to find "p1\\a.bat", but found "p1\\a.exe"```

I'll ticket that separately, but the error looks backwards.

I don't think we should special-case WSL symlinks (aka IO_REPARSE_TAG_LX_SYMLINK). I haven't seen any important framework doing so, even WSL is trying to limit their occurrence by creating normal symlinks whenever possible to improve compatibility (see WSL 17406 release notes).
Also, WSL symlinks can't be opened from Windows, only from within WSL, so if we identify them as fs.ModeSymlink, then functions like filepath.Walk would fail when trying to follow the link.
@bcmills

This issue should be fixed since go1.21 thanks to CL 516555 and CL 460595.


Sensitivity analysis template update

Description

Creating sensitivity analysis template

This generally looks  good, but there are problems with the design itself. There are some confusing points and several things that will not work.

The naming of newly created model-configuration in the scenario bootstrapping process will become confusing after a few rounds
This scheme will not really work for different types of distributions (eg more than just constant and uniform), but this is a bit low in terms of priority
It seems to switch every thing to uniform, so it means I cannot set initial conditions for S0 = 2000 => S0 = 3000
This will not work if we select a calibrated model-configuration as the base, because it doesn't have editable parameters, the actual data lives in the inferred_parameter.dll file


TS 4.8.2 vs Eslint (no-unused-vars bug)

Bug Report
Hey there!
After updating my typescript from 4.7.4 to 4.8.2 some eslint issues started to pop-up, regarding the "no-unused-vars" rule.

Note that it also detects the "provide" import as unused, but its being used as a decorator a couple of lines later.
🔎 Search Terms
ts 4.8.2 eslint
🕗 Version & Regression Information
Versions that came after 4.7.4

This changed between versions 4.7.4 and 4.8.2

💻 Code
For a better, context, this is my:

eslintrc.json

{
  "env": {
    "es2021": true,
    "es6": true,
    "node": true,
    "jest": true
  },
  "extends": ["standard", "plugin:promise/recommended"],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": 12,
    "sourceType": "module"
  },

  "plugins": ["@typescript-eslint", "unused-imports", "promise"],
  "rules": {
    "semi": ["warn", "always"],
    "quotes": ["warn", "double", { "avoidEscape": true }],
    "comma-dangle": "off",
    "no-trailing-spaces": "off",
    "no-multiple-empty-lines": "off",
    "no-unused-expressions": "off",
    "padded-blocks": "off",
    "keyword-spacing": "off",
    "camelcase": "off",
    "require-await": "error",
    "no-case-declarations": "off",
    "object-curly-spacing": "off",
    "space-before-function-paren": "off",
    "no-useless-constructor": "off",
    "@typescript-eslint/explicit-function-return-type": "error",
    "eslint-no-use-before-defining": "off",
    "no-use-before-define": "off",
    "no-var": "error",
    "no-unused-vars": "warn",
    "@typescript-eslint/naming-convention": [
      "error",
      {
        "selector": "interface",
        "format": ["PascalCase"],
        "custom": {
          "regex": "^I[A-Z]",
          "match": true
        }
      }
    ],
    "indent": "off",
    "no-new": "off"
  }
}

package.json
 "eslint": "^7.13.0",
    "eslint-config-standard": "^16.0.1",
    "eslint-plugin-import": "^2.22.1",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-promise": "^5.1.0",
    "eslint-plugin-unused-imports": "^1.0.1",
    ...
    ...
  "@typescript-eslint/eslint-plugin": "^5.31.0",
    "@typescript-eslint/parser": "^5.31.0",

    ```

This sounds like an eslint issue, not a TS one?

It came out after 4.8.x

same issue

trace typescript-eslint/typescript-eslint#5551

I'll try to patch it here!

Those who have the same issue after would be updated...

Remove your node_modules and lock file(package-lock.json, yarn.lock, or pnpm-lock.yaml whatever) and then clean install.
I tried: pnpm install -f
Restart your IDE.
Profit!


ctrl key

Hey. Where or how can I press ctrl. I use q10.

                                                                                Hello,You can press Ctrl by entering metamode, then pressing c. To enter metamode, tap the top left corner of the screen, or hold the spacebar for a second. You will see a green M in the top right corner showing you are in metamode. From metamode, press the c key to hold down Ctrl. You will see a green C in the top right corner of the screen indicating that Ctrl is pressed. The next key you press will be sent with the Ctrl key down. For example, to press Ctrl-c:Tap the top left corner of the screen to enter metamode;Press c;Press c. I hope this helps. How to send the various modifier keys and the details on how metamode works is in the README, along with the various configuration options. You can read the README by opening Term48 and typing 'less README' (without the quotes).                                                                                Cheers,                                                                                Todd

Thanks. I was trying to find how to use it but didnt.


Added more values to since enum

Please update README in newrelic-alerts-configurator submodule
And add CHANGELOG entry


Limit number of metrics displayed in prometheus UI

Limits the number of of metrics displayed in prometheus UI to 10k and
displays a warning message in case the API returns more than 10k
results.
TODO

[ ] run make assets to re-generate web/ui/assets_vfsdata.go

See https://github.com/prometheus/prometheus/issues/2119.

If I understand correctly, no. of metrics mean the no. of series displayed on the UI. This doesn't seem to be working. I don't think that is the right place to add that check.
PS: You need to run make assets and build prometheus to test any changes in UI elements.
PPS:

I get the warning without even running any query.
I set the limit to 10 and tested. {__name__=~".+"}  displayed lot more than 10 series.

@codesome thanks for the feedback.

PS: You need to run make assets and build prometheus to test any changes in UI elements.

I'll make sure to run make assets to re-generate web/ui/assets_vfsdata.go before merging the PR if approved.

If I understand correctly, no. of metrics mean the no. of series displayed on the UI. This doesn't seem to be working. I don't think that is the right place to add that check.

Maybe I misunderstood the problem. I'll add a comment in the original issue to get more feedback.

I get the warning without even running any query.

Yes, that's "by design". The query is static, meaning that it just searches in a list of metrics that's loaded when a new graph is created. For this reason I thought it was more appropriate to display a single warning alert at the top of the first chart.
This approach has two problems though:

If you remove the first chart, there's no way to get alerted anymore, because the code prepends the alert element to #graph_wrapper0 (id: 0)
If the error persists and you add a new chart, a duplicate alert is prepended, see attached image

Note: both of these problems existed already for the time drift warning message.
Example duplicate warning error

@potomak would you have time to address my comments?


feat(kafka): SASL authentication and additional configuration

Co-authored-by: Luke Young<EMAIL_ADDRESS>Co-authored-by: Lyonel Martinez<EMAIL_ADDRESS>Signed-off-by: Lyonel Martinez<EMAIL_ADDRESS>As the PR looks a bit stalled: Applying changes request from https://github.com/falcosecurity/falcosidekick/pull/381
What type of PR is this?
/kind feature
/area outputs
What this PR does / why we need it:
This PR adds some new features to the Kafka output:
SASL authentication including PLAIN, SCRAM_SHA256 and SCRAM_SHA512
Message compression as either GZIP, SNAPPY, LZ4, ZSTD or NONE (default)
Partition balancing as crc32, murmer2, least_bytes and round_robin (default)
Async message production via a completion callback
Other additional configuration knobs like required_acks and client.id

All of these features already existed in the latest version of the upstream Kafka library that was already in use, this is mostly just boilerplate to wire up the configuration.
Which issue(s) this PR fixes:
Fixes https://github.com/falcosecurity/falcosidekick/issues/273 (not including MTLS support)

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Lowaiz
Once this PR has been reviewed and has the lgtm label, please assign fjogeleit for approval by writing /assign @fjogeleit in a comment. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

29571d2 feat(kafka): SASL authentication and additional configuration

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@Issif I did the Co-authored tag

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif, Lowaiz
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

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

LGTM label has been added.  Git tree hash: 2fb861a46865a421fcdeaf9124eea8e996242fe4


fix: export GeometryUtils

Why
Looks like it doesn't GeometryUtils, just export hilbert3D, gosper and hilbert2D

What
Convert GeometryUtils  to TS and exporting GeometryUtils

Checklist

[ ] Documentation updated
[x] Storybook entry added
[x] Ready to be merged

@gsimone @drcmda Could you take a look

If you fix the typo of fiix in your commit message we can release your changes more easily.

@bjornstar that shouldn't matter as it would get squashed and merged anyway
More important, looks like there's a bunch of linting errors

lint problem fixed

Thank you for the contributions!


Adjust Referee naming

Per https://github.com/opentracing/opentracing-go/pull/103

@basvanbeek I think you'll want to merge this nowish...
cc @peterbourgon: if go-kit build is broken, this should address it.

thanks Ben...


Bring Super Metroid up to 0.4.3

I tried using Github Desktop for the first time and may have screwed something up. Hopefully me reverting those other commits (because I failed to create a branch first) doesn't have any impact.

it shooooould be fine when it gets squashed. yeah github desktop can be a bit bunk at times lol
gonna wait to hear silvris's response either here or on discord on their thoughts about the update, but did verify that the yaml's good

Some options were added and not mentioned here, giving my personal opinion on what they should be set to:
escape_rando:
    false: 50
    true: 10
relaxed_round_robin_cf: true

Rest of the changes look good to me!

Added changes per Silvris


License information needed

Hi,
Please provide the license of the code.
We would like to use it, but we need a valid license because of legal reasons.
Thank you in advance!
Br,
Balazs
Ps.: we would love some Freeware License :)

I don't think there is anything in there that you wouldn't find in public documentation. SImilar code can be found in a mailing list post from 2003: http://twistedmatrix.com/pipermail/twisted-python/2003-July/004965.html .
However, IANAL - I'm not sure if I'm allowed to put a license on such code snippets. If you can provide me with evidence that this is ok, I'll gladly put the project under a open license (MIT? Apache?)

Hi,
I see.
In this case, i would suggest: https://choosealicense.com/licenses/unlicense/
Because I don't think, that the code author would reserve any rights.
And the code can be found in many part of the internet.
Sadly, we still need some license, to use this code.
(And we don't want to re-write this easy functionality.)
Do what you think it's best.
Br,
Balazs
Ps: I have searched, what is the "default" license on pypi and github.
I have found theese:
https://pypi.python.org/pypi?:action=user&otk=N5tQr7LvlblBnJ1R0OKZuO1xekPKCu9w
http://softwareengineering.stackexchange.com/questions/276144/using-unlicensed-code

Hi,
Thank you!
Br,
Balazs


Update Composer dependencies (2021-01-25-00-10)

Visual regression test passed!
View the visual regression test report

Visual regression test passed!
View the visual regression test report


Do not clear the bound Store filter if FilterChooserModel cannot parse the provided filter.

More readily enter the "Unsupported Filter" state, while leaving the underlying Filter unchanged.
Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[x] Caught up with develop branch as of last change.
[x] Added CHANGELOG entry, or determined not required.
[x] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[x] Updated doc comments / prop-types, or determined not required.
[x] Reviewed and tested on Mobile, or determined not required.
[x] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

Looks good to me, want to just review with Tom in person


fix(tsconfig): fix typescript alias @ resolves

Codecov Report

Merging #48 (672a318) into main (618c3ec) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #48   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines            6         6
=========================================
  Hits             6         6

Continue to review full report at Codecov.

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


feat: Export DPI pHYs PNG chunk when scale is 2x or 3x

Hi, this PR addresses #3520. When the export scale is set to 2x or 3x, this number is propagated to encodePngMetadata and an NPM package called png-chunk-phys is used to patch the PNG byte array to include a new pHYs chunk with the corresponding value.
All tests are green and a quick smoke test looked good. I have not done extensive testing, but hopefully this will be a good springboard to cover the low hanging fruit aspect of this feature.
I ran npm audit fix, so the Yarn lockfile is quite messy now. Not sure if this is okay or not.

Two more things: I'm thinking it might be better to do the byte array patch directly in data/index.js not in data/image.js. That way that method's signature can remain the same and instead I'll just have to convert the blob to an array buffer again, or I could take a look at doing this converting once and passing the array buffer to image.js as well. Let me know if you think this design works better and I'll adjust it.
The other thing is the changelog. There is no section for an upcoming release. Should I add one? What version would that be?
BTW I have not added any new tests but I have updated an existing export test.

I tried the preview version and it indeed exported a high-DPI PNG! 🎉

This looks cool. Can we apply the same thing to "Copy PNG to Clipboard"?

I'll look into it I'm able to do this support there as well.

Hi @TomasHubelbauer, I was looking at this PR to see if I could apply it to my custom Excalidraw component build for Obsidian. I was wondering if you could help me apply your solution to the exportToBlob API function that my Obsidian Plugin is using: https://github.com/zsviczian/excalidraw/blob/8a612f1fa969f247987e7fbbb7c4a47a5b1dad09/src/packages/utils.ts#L51-L81

Hey @zsviczian, I will be happy to give specific advice. Feel free to start a PR in your repo and tag me for questions.

Btw, if we fix the contextMenu and conflicts, we can ship this PR!

Hey @dwelle, I have carried the changes over onto the latest master and forced pushed to clear the conflicts (I am not good at resolving conflicts through Git and this is a small enough change to make it easier for me). By "contextMenu" did you mean the export to clipboard someone mentioned above or did you mean something else? I am looking into how to add this to the export to clipboard functionality in any case, but if you meant something else by it, can you please clarify so I know what else to look at? Thank you

@dai-shi Unfortunately, it looks like when I write the pHYs chunk into the PNG byte stream and then let the browser place that blob into the user's clipboard as a PNG, the pHYs layer is not honored. Here's the diff (on top of this PR):
diff --git a/src/data/index.ts b/src/data/index.ts
index c3d1e8df..936892fe 100644
--- a/src/data/index.ts
+++ b/src/data/index.ts
@@ -97,6 +97,18 @@ export const exportCanvas = async (
     });
   } else if (type === "clipboard") {
     try {
+      if (appState.exportEmbedScene || appState.exportScale > 1) {
+        blob = await (
+          await import(/* webpackChunkName: "image" */ "./image")
+        ).encodePngMetadata({
+          blob,
+          metadata: appState.exportEmbedScene
+            ? serializeAsJSON(elements, appState, files, "local")
+            : undefined,
+          scale: appState.exportScale,
+        });
+      }
+
       await copyBlobToClipboardAsPng(blob);
     } catch (error: any) {
       if (error.name === "CANVAS_POSSIBLY_TOO_BIG") {

This works the exact same way as the PNG export and I checked that the length of the buffer is increased by about a few bytes once the pHYs chunk is written, however, when I paste the image in the clipboard to photopea.com and go Image > Image Size, the DPI field shows an unchanged value.
This might be a problem with Photopea, but I do not know how else to check. I cannot paste the image data as a file into Finder on macOS to later use Preview to check the DPI because the clipboard doesn't contain a file but an image (with no name etc.) I tried changing the clipboard write logic like this:
export const copyBlobToClipboardAsPng = async (blob: Blob) => {
  await navigator.clipboard.write([
    new window.ClipboardItem({ 'application/octet-stream': new File([blob], 'test.png', { type: 'application/octet-stream' }) }),
  ]);
};

But it seems in the Clipboard API, it is not allowed to paste files into the clipboard at all - when I use application/octet-stream, I get an error about an unallowed MIME type and when I stick with image/png but pass in a File instance not a Blob, it behaves as if I just passed in a blob - no file can be pasted into Finder still.
I could download Krita or something and paste the image in the clipboard to it and see if it reads different DPI, but I honestly do not want to download and install it just for this.
Do you have a graphical program you could try pasting into and see if the DPI it reads changes correctly with the scale selected at export with the above patch applied?


WIP: enable annual-monthly merge for net gen allocation.

This is 100% a WIP. I wanted to get something working for the net generation allocation process, but it'd be good to have a more general solution. Right now, I've added a helper function with blows up ONE dataframe to a new frequency. There are some downsides to this overall approach that I laid out in the helpers function doc string.
There are two dangling issues/fragile-ness within the helper function that I flagged in the Note section. I didn't want to tackle these yet because it feels possible we won't go with this overall process at all.
working on Issue #1468

this issue is addressed with #1096


Turn off response output in console [help wanted]

How can I turn off the response output in the console?

refer to the doc on logging: https://github.com/intuit/karate#logging
change the DEBUG to INFO
<logger name="com.intuit" level="INFO"/>

I'm afraid this doesn't solve the problem! I've already tried that before bc it makes sense. however, it looks like this logger setting doesn't have any effect.
also I'm getting this message 13:21:32.838 [pool-1-thread-3] ERROR com.intuit.karate - Radius.feature:30 - to dump variable state, set log level to TRACE.
how can I address this issue?

ok I'm re-opening this, but I'd really like more details. is this the log, the console or the HTML report. I just tried this in the karate-demo project and it worked perfectly for me.
refer to the doc for configure maybe you have globally switched it on for logPrettyResponse

also maybe you are modifying the wrong log config. maybe you have mixed libraries in your project. if the problem persists, I'd like a sample project to replicate the issue for us to fix, thanks.

thanks!
I just tried a few more options. You are correct, the Problem does not occur if I set the com.intuit.* loggers in logback-test.xml to INFO and trigger a single *.feature file. However, the responses get printed to the console when I run my parallel test runner (both in IDEA and in the console).
I'm using v0.6.1.
this is what my config looks like:
function configuration() {
    var env = !karate.env ? 'test' : karate.env.toLowerCase();
    karate.log('karate.env system property is: ', env);

    var proxy = karate.properties['proxy'];
    if (proxy) {
        if (proxy.toLowerCase() === 'cntlm') {
            proxy = 'http://localhost:3128';
        }
        karate.configure('proxy', proxy);
        karate.log('running tests with proxy: ', proxy);
    }
    var verbose = karate.properties['verbose'];
    if (verbose) {
        karate.log('running tests verbosely: ', verbose);
        karate.configure('printEnabled', verbose);
        karate.configure('logPrettyRequest', verbose);
    }

    karate.configure('logPrettyResponse', false);
    karate.configure('connectTimeout', 30 * 1000);
    karate.configure('readTimeout', 30 * 1000);
var configMap = {
        opaBaseUrl: '',
        onpBaseUrl: '',
        osaBaseUrl: '',
        oaaBaseUrl: '',
        pacBaseUrl: '',
        oasBaseUrl: ''
    };
    return configMap;
}

and here's my parallel test runner:
@CucumberOptions(monochrome = true, tags = {"~@ignore"})
public class ParallelTestRunner {

    private static final String KARATE_OUTPUT_PATH = "target/surefire-reports/";
    private static final String REPORT_OUTPUT_DIRECTORY = "target";
    private static final String PROJECT_NAME = "integration-tests";

    private static final int THREAD_COUNT = 5;

    @Test
    public void parallelExecution() {
        KarateStats stats = parallel(this.getClass(), THREAD_COUNT, KARATE_OUTPUT_PATH);
        generateReport();
        assertThat(stats.getFailCount()).isEqualTo(0);
    }

    private static void generateReport() {
        List<String> reportFiles = listFiles(new File(KARATE_OUTPUT_PATH), new String[]{"json"}, true).stream()
                .map(File::getAbsolutePath)
                .collect(toList());
        new ReportBuilder(reportFiles, getReportConfiguration())
                .generateReports();
    }

    private static Configuration getReportConfiguration() {
        Configuration configuration = new Configuration(new File(REPORT_OUTPUT_DIRECTORY), PROJECT_NAME);
        configuration.setSortingMethod(ALPHABETICAL);
        configuration.setParallelTesting(true);
        return configuration;
    }

}

@MariAkaMachine you are right. I've just fixed this in dev (see commit above). by any chance are you able to test this by building from source - or if not, that's okay let me know now - and I can upload a patch version for you to test, and I'd like to double-confirm that this does not break any other logging.
Just curious, are you seeing too much log bloat on the CI runs ?
also, if you suppress this, you won't see request  / responses in the HTML report, is that ok ?

thanks for the fix and the update! :)
unfortunately, I'll not be able to test it from source. a patch version would be great! :+1:
yes, the response logging is crazy! I've got a business application and the response sizes are humongous. does this also case this error message: ERROR com.intuit.karate - Radius.feature:30 - to dump variable state, set log level to TRACE.
I will have to take a closer look at the HTML report and see what it looks like without the additional response information. maybe it would be nice to re-run the failing tests with the logging enabled.

@MariAkaMachine yes, try now (edit your pom.xml) with version <IP_ADDRESS> and let me know how it goes.
I think your idea to re-run failing tests is a fantastic one. Opened a feature req #247

thanks for the fast patch! :) I just ran the tests in IDEA and couldn't see any response logs in the console. :+1:
that's awesome, I'd love to see a feature like that as part of karate! I've already thought of ways to pull this off myself... but I think there's quite a lot of people out there that'd love to use this functionality too.

My Console output is not displayed in more readable format. Please may i know what options I need to use in the runner class so that my console output is in more readable format. Currently i am getting this
THYMELEAF] * Dialect [2 of 2]: karate (com.intuit.karate.template.KarateScriptDialect)
[THYMELEAF]     * Prefix: "ka"
[THYMELEAF]     * Processors for Template Mode: HTML
[THYMELEAF]         * Element Tag Processors by [matching element and attribute name] [precedence]:
[THYMELEAF]             * [* {src}] [1000]: com.intuit.karate.template.KaScriptAttrProcessor
[THYMELEAF]         * Element Model Processors by [matching element and attribute name] [precedence]:
[THYMELEAF]             * [{script} {ka:scope,data-ka-scope}] [1000]: com.intuit.karate.template.KaScriptElemProcessor
[THYMELEAF]             * [* {ka:set,data-ka-set}] [1000]: com.intuit.karate.template.KaSetElemProcessor
[THYMELEAF] TEMPLATE ENGINE CONFIGURED OK
04:44:58.793 [main] DEBUG org.thymeleaf.TemplateEngine - [THYMELEAF] TEMPLATE ENGINE INITIALIZED

@sharalakattada for anyone to help you, you need to follow this process: https://github.com/karatelabs/karate/wiki/How-to-Submit-an-Issue - also see stack overflow: https://stackoverflow.com/a/69025455/143475


Can you do a windows OS support for this plugin ?

Can you please  do a windows OS support for this plugin ?  I really need it and i can't find a solution to use my switchbot with windows 10...
Thank you

Sorry, I don't have a Windows OS device, so I can't check.
However, the noble library used in this plugin supports Windows as well, so there is a possibility that it will work.
The procedure to set up noble on Windows is described below, so try it out and let me know the results if you want.
https://github.com/abandonware/noble#windows


Get the last block height of an era

Reporter: community
Currently I am searching "era_end"  field from casper-client get-block. But this command has to be issued several times to find the exact block height.
Trying to figure out how to find all last blocks for all eras in one month with the least number of calls to api.
The user also asked if we can get auction(state_get_auction_info) info and era info (chain_get_era_info_by_switch_block)by eraid instead of block heigh/hash

Unfortunately we don't have a better way right now other than pretty much what the user is already doing.  They need to just get each block for the month and those will of course include the switch blocks.
We'll be looking into providing a more ergonomic API as soon as we can (e.g. by having some of the functions accept era IDs rather than or as well as block IDs), but it's not imminent right now, and we've not decided on the 2.0 specs - so no promises.
In the meantime, they could try doing optimistic searches for the switch blocks based on a heuristic of the normal number of blocks in an era, but long term, users shouldn't need to go to those lengths.

bash pseudo-code getting the information
for i in {1..{{current_block_height.stdout}}}; do
          if [[ $(casper-client get-era-info-by-switch-block -b ${i} | jq -r '.result | select(.era_summary != null)') ]]; then
            block=$i

Sidecar related. Check with Jakub.
Ed says it is totally possible to add an index to the sidecar to track block height for switch blocks and cross indexes for , so that an endpoint can be added to allow caller to request switch blocks by tme window. Oviously some constraints on larger timewindow will be suppoerted per request, other than that it's doable.


table: inside Angular Element has issue with interpolation

What is the expected behavior?
column data must display.
{{ row.name }} must display column data
What is the current behavior?
rows are generated with blank column.
What are the steps to reproduce?
Providing a StackBlitz reproduction is the best way to share your issue.
StackBlitz starter: https://goo.gl/wwnhMV

    <ng-container matColumnDef="name">
        Name
        {{ row.name }}
    </ng-container>

Use above template for any component and turn that component into custom element. Place that custom component on index page and run on IE 11.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
 "dependencies": {
    "@angular/animations": "^7.2.14",
    "@angular/cdk": "^7.3.7",
    "@angular/common": "~7.2.0",
    "@angular/compiler": "~7.2.0",
    "@angular/core": "~7.2.0",
    "@angular/elements": "^7.2.14",
    "@angular/forms": "~7.2.0",
    "@angular/material": "^7.3.7",
    "@angular/platform-browser": "~7.2.0",
    "@angular/platform-browser-dynamic": "~7.2.0",
    "@angular/router": "~7.2.0",
    "classlist.js": "^1.1.20150312",
    "core-js": "^2.5.4",
    "document-register-element": "^1.7.2",
    "hammerjs": "^2.0.8",
    "rxjs": "~6.3.3",
    "tslib": "^1.9.0",
    "web-animations-js": "^2.3.1",
    "zone.js": "~0.8.26",
    "moment": "2.24.0",
    "@angular/material-moment-adapter": "7.3.7"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.13.0",
    "@angular/cli": "~7.3.0",
    "@angular/compiler-cli": "~7.2.0",
    "@angular/language-service": "~7.2.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "@webcomponents/webcomponentsjs": "^2.2.10",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.1.1",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.2.2"
  }

Is there anything else we should know?

The StackBlitz was not found. Can you please post a working demo link?

Closing this issue because Angular is dropping support for IE11 in the upcoming version 13. We don't plan to fix any further IE11 bugs going forward.


Broken part of theme

Left click on Avatar

This is an issue with how Discord calculated where to place the popout. Because we reduced the height Discord freaks out. Nothing we can do to fix this without breaking other popouts.

This is an issue with how Discord calculated where to place the popout. Because we reduced the height Discord freaks out. Nothing we can do to fix this without breaking other popouts.


How to get dump.cs from  GameAssembly.dll and global-metadata.dat

I tried with Il2CppInspector(https://github.com/djkaty/Il2CppInspector) andIl2CppDumper(https://github.com/Perfare/Il2CppDumper).
But I got failed.
Using plugin: IL2CPP API Discovery
Using plugin: Binary metadata field order deobfuscator
Using plugin: Metadata strings XOR decryptor
Using plugin: Binary file XOR decryptor
The supplied metadata file is not of a supported version (29).
Analyze IL2CPP data: 0.50 sec
I attached my GameAssmebly.dll and global-metadata.dat
https://drive.google.com/file/d/19iDi8wukrwpQlobT88qx1gzEHPhza6cP/view?usp=sharing
https://drive.google.com/file/d/1VOSeuzfGBw22jWOgYGLENmdhcbVdJllZ/view?usp=sharing
Please give me a hint.
Thanks

give https://github.com/BepInEx/Il2CppInterop/releases a try

this has an example of the command line arguments you could use https://github.com/BepInEx/Il2CppInterop/blob/master/Documentation/Command-Line-Usage.md#basic-usage-generate-proxy-assemblies

Closing in favor of #303


chore: String -> SmolStr

What's the reasoning behind this change? I was assuming a small performance bump but couldn't measurably see one. I guess the immutable makes it nice but I guess balancing that with extra dependencies. Curious about your thoughts?


adding rct adapter

RE-CHECK!

Automated adapter checker
ioBroker.rct

:thumbsup: No errors found

[ ] :eyes: [W400] Cannot find "rct" in latest repository

Add comment "RE-CHECK!" to start check anew

@lauff Anything we can support with?

@Apollon77, thanks for your valuable feedback, but unfortunately I currently (also at least for the next 3 months) don't find the time to look at that in detail and fix the issues.

@lauff Is time better now? Can we help somehow?

Unfortunately, I still don't find the time to look into the details about what needed to be done to follow-up on your comments.
If these are fixes that you can do, I would be more than happy and appreciate it a lot!

@lauff https://github.com/lauff/ioBroker.rct/pull/10 have fun. Please TEST! maybe also do a test of m reconnect idea

@Apollon77 thanks a lot for your support!

not sure it was a good idea to close the pull request - so reopening it ;-)

:-) Just tell when you tested it and released a new version then we can continue here

I tested it and released v1.0.1


Blog should have search box

There's just so much in the blog that's absolutely great - and vital to get up and running in a productive way. Unfortunately, it's hard to find stuff in there sometimes, and it would be great to search.
I'm aware that the search function also searches blog content - but there is no searchbar in the blog itself.  Could this be added?

Design Goals
It is sometimes hard to find items in the blog. It would be a better user experience if there was a search bar that searched the blog itself, this would cut down the search parameters and make it easier to find particular blog articles.
Figma File
Blog Design with New Search Bar
Blog without scroll

Blog with scroll

Design Changes

New search bar added in left nav of blog page right under 'Pulumi Blog' header.
Please follow the same style, size, and search behavior as search bar on current Docs page.
On scroll, Pulumi nav is pinned to the top and middle page content scrolls while the left nav with the search bar stays in the same place while the user scrolls (this is the same scroll behavior that the current Docs' page has - please follow that).

Engineer Notes

Responsive design should follow the same behavior as current Docs search bar does when that page is responsive (basically the responsive design for Blog stays the same as is now but the search bar is added)
Comments have been added in Figma but please feel free to reach out with any questions or concerns

Thanks!


nocapture for doc-tests

Hi,
For ordinary tests, I can run cargo test -- --nocapture and the output will shown on-screen. However, I have doc-tests as well (examples in the documentation), and even though I use --nocapture the output of these are not shown.
I'm not sure whether this is a bug in cargo or somewhere else, but at least the behaviour is inconsistent.

Are you sure that this doesn't work? I just ran cargo test -- --nocapture and saw all the output from the doctests (the compiles). The actual output of the tests themselves isn't printed anywhere, but that's a rustdoc issue, not a Cargo one.

The actual output of the tests themselves isn't printed anywhere

Right, that's what I'm missing.

Closing, already filed: https://github.com/rust-lang/rust/issues/26309

Linking the follow-up pull request since this issue is what comes up in a Google search. Rustdoc fixed the issue in 2021. There was a pull request to fix the issue in Cargo, but the pull request was never resolved: https://github.com/rust-lang/cargo/pull/9705.


Problem with ELT pipeline

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1128
Originally created by @jritchey on 2019-10-16 00:03:14

What is the current bug behavior?
ELT pipeline doesn't complete cleanly
What is the expected correct behavior?
ELT pipeline completes without error.
Steps to reproduce
I just followed the UI for integrating GitLab + Postgres
Relevant logs and/or screenshots
log.txt
Possible fixes
Not sure
Further regression test
Ensure we automatically catch similar issues in the future

[ ] Write additional adequate test cases and submit test results
[ ] Test results should be reviewed by a person from the team

View 3 previous comments from the original issue on GitLab


Deadlock on Loot-Table randomizer v1.20.0 in Firefox

Firefox gets stuck when trying to read the final chunk of data.zip data using ReadableStreamDefaultReader.
The promise for read() never gets resolved.
This issue has been reported to Mozilla before, but was resolved as "WORKSFORME".
https://bugzilla.mozilla.org/show_bug.cgi?id=1646204

For the sake of completeness: While causing a slight delay seems to have fixed the issue, i don't discount the possibility of webpack causing a problem too.
If a similar issue appears in the future, then maybe that's worth looking into.


Access Google map instance ?

Greetings!
Thank you for your great map component.
I've read 'README' and the issues with 'thefoxie' ,
but I am poor at Vue, I could not access the google map instance.
Could you help me to understand how to use it ?
I'd like to use Google map methods(ex:panTo) after it's mounted with some click function.
I've tried this,
import { gmapsMap, gmapsMarker, gmaps } from "x5-gmaps";
export default {
   components: { gmapsMap, gmapsMarker },
   data: () => ({
      mapInstance: null,
   methods: {
      someClickFuntion() {
      this.mapInstance.panTo({lat:0,lng:0});
    },

mounted() {
    gmaps().then((GMaps) => {
      this.mapInstance= GMaps;
    });
  },

Error :TypeError: this.mapInstance.panTo is not a function

Sorry for taking a while to reply, I have been busy with Christmas.
You have misunderstood what gmaps() does - it returns the Google Maps API (which is what is used to create Google Maps objects).
You want the instance created which is primarily accessible through the <gmaps-map> component which emits a reference to itself using the mounted event:
<gmaps-map @mounted="setMapInstance" />
// ...
methods: {
  setMapInstance(map) {
    this.mapInstance = map
  },
  someClickFunction() {
    this.mapInstance.panTo({lat:0,lng:0});
  }
}

I hope that makes sense and works as I'm away from my computer to test; but ask if you have any more questions.

Thank you for the present.
It works so well. :)
Merry Christmas ,


Librewolf can't be updated with update script

Describe the bug
Librewolf can't be updated to latest version with the existing update script.
Git submodules were removed. They were replaced with wget commands. There are a few reproducibility deficiencies. First, the files are fetched from a moving target (master branch). Second, there is no hash pinning or checking.
Doing this in a Nix build without upstream changes would involve making a guess about the settings repository version. We could look at the time of commit (or tag, or release?) in the Librewolf repository, then find the closest matching commit in the settings repository. Then, we could record the rev and sha256 hash in a JSON lock file in nixpkgs.
I probably won't be available to work on this for a few weeks.

Upstream issue: https://codeberg.org/librewolf/issues/issues/1590

The latest version of Firefox, and therefore presumably Librewolf, includes a fix ^fix for a critical security vulnerability ^vuln. Could we possibly push this one release out manually?


Add more RPCs for scid aliases

Change Description
This PR adds RPC methods that allow the user to manually edit the sets of aliases for channel scids.
Closes #8199
Closes https://github.com/lightninglabs/taproot-assets/issues/786

Updated @guggero , most of CI should also be green now, will revisit once this run is completed

@crypt-iq: review reminder

@crypt-iq: review reminder

@crypt-iq: review reminder

@crypt-iq: review reminder

Base has now been changed to custom-channels-integration

@georgetsagk, remember to re-request review from reviewers when ready

Will merge this PR into the staging branch as soon as CI is green. Tracking remaining issues to address before merging into master here: https://github.com/lightningnetwork/lnd/issues/8769

Looking at the linked issue above - not sure if you want to defer these patches to another PR, but should also check (ideally at RPC level) that:

the alias doesn't collide with a real channel (this is the up-front check - still doesn't totally negate the possibility of collision)
the passed-in base SCID also maps to a real channel that we own


NEW: Allow 'null' limit for database queries (closes #3487)

SQLite3 pull request
PostgreSQL pull request

I spent ages setting up SQL Server in a virtual machine for testing, only to realise that the MSSQL module doesn’t need any changes!

I tried to check what the Ansi SQL standard was, but it doesn't seem to even use 'limit', so I guess we are stuck with adaptor specific query generators. Good job @kinglozzer . I'll merge the other two PR then restart travis on framework before merging this. Sound good?

@kinglozzer can you please check the test failures?

I merged your sqlite fix. Let's hope this resolves any remaining issue.

SQLite3 was a screw up (sorry!), the PostgreSQL failure was partly bad test design: with no explicit sort specified, the order of results isn’t guaranteed - so the builds were only passing locally by chance (adding ->sort('ID ASC') would make them pass). I’ve changed those assertions now, so we should see green ticks soon! :pray:

:D thanks @tractorcow


Status LED stuck in CONNECTING but only when powered from External 5V in; not USB plug

Hi, I have a very perplexing bug.
I'm using this Dev Kit: https://www.amazon.com/gp/product/B0718T232Z/ref=ppx_yo_dt_b_asin_title_o01_s01?ie=UTF8&psc=1
It has a 5V in pin. I have this 5V pin in hooked up to a 5V, 6A power supply. I have tested this power supply with a multimeter and found it to provide an accurate 5.00V.
I have loaded the example sketch for ProgrammableHub https://github.com/HomeSpan/HomeSpan/blob/master/Other Examples/ProgrammableHub/ProgrammableHub.ino
and specified that the StatusLED is pin 2, which is a onboard LED connected to IO pin 2 on this dev kit.
I further specified that the control button is IO0, an onboard button.
When I power the dev kit using a 1A USB brick, or from a USB port on my PC hooked up to serial monitor, this sketch works fine. I can observe the status LED going to READY‑TO‑PAIR after setting the Wifi credentials and resetting the ESP32.
However, when I power the dev kit using the 5V external power supply pin, it stays in CONNECTING over and over again. I don't have a good way to debug this, because I can't hook up the serial monitor without accidentally supplying 5V power over the USB port.
Other sketches which use the onboard WiFi and not HomeSpan are working fine. Any ideas?

I think this is a result of how some boards are designed.  Based on the schematics of the HiLetgo shown on the Amazon web site, if you power the board via the 5V input, the USB chip receives no power at all, which would seem to be fine since you don't need the Serial Monitor if you're not plugged into a USB port.  However, HomeSpan is always polling for input from the serial port to see if you type in any commands from the Serial Monitor.  For many boards there is a pull-up (or pull-down) as needed on some of the USB chip outputs to make sure that when the USB chip is not being powered, the ESP32 thinks there is no data available and does not try to read anything.  But on some boards, the lines are left floating and the ESP32 thinks there is data available to be read.
For many sketches this is not a problem.  But since HomeSpan is always polling for serial data, if the ESP32 says there is serial data to be read, it tries to read it.  But HomeSpan never exits from the reading routing because the ESP32 always thinks there is more data to be read.
Other users that have reported this problem have solved by placing a pull-up (or pull-down) resistor on the appropriate ESP32 pins.  Since I don't have any boards that can be powered externally, I have not been able to test this myself.
One thing you can try is to eliminate the Serial.begin() in your sketch.  It may be that this prevents the ESP32 from reporting there is any data available, which allow HomeSpan to return immediately from checking for serial data.
If that does not work, you can try to comment-out the code in the HomeSpan library that checks for Serial data.  It is found on lines 218-221 of the file HomeSpan.cpp:
  if(Serial.available()){
    readSerial(cBuf,64);
    processSerialCommand(cBuf);
  }

Note I'm making a number of assumptions about the cause of the problem - it may be unrelated to the USB, but it's the only thing I can think of.

Follow-up:  there is a longer discussion about this problem at issue #131.  One thing I forgot is that I may have identified a solution, but could not test.  Try adding the line: pinMode(3,INPUT_PULLUP); directly AFTER Serial.begin() and see if that works.

I can confirm that removing Serial.begin() from my sketch has resolved the problem. I can also volunteer to test putting pin 3 in INPUT_PULLUP mode with my dev board if you'd like me to try, @HomeSpan ?

Yes, can you try adding pinMode(3,INPUT_PULLUP); right after Serial.begin() to see if that solves the problem as well?

Setting pin 3 to INPUT_PULLUP worked to resolve letting HomeSpan run from external power on my HiLetgo ESP-WROOM-32 ESP32 ESP-32S dev kit.
I gather that the reason to do this is that pin 3 is attached to Serial RXD and is variously called U0, RX, RX0 on mine and other dev boards, such as:

And so pulling it up makes sure that Serial.available() will return false.

Thanks!  This is very good news.  Does setting the pin to INPUT_PULLUP interfere with the use of the Serial Monitor at all, or does everything still work as expected?
And you are correct that GPIO3 is the default RX pin for UART 0 on the ESP32.  This pin is not usually exposed on most boards since it's dedicated for Serial use, though this can be overridden by the user if needed.  There is a (very) slight performance gain by using pin 3 rather than having the ESP32 assign a different pin.
The U0_RXD pin is different on the ESP32-S2/S3 and the ESP32-C3, but starting with Board Manager 2.0.1 there seems to be a macro defined for each board, U0RXD_GPIO_NUM, that provides the pin number.


Size of iOS build .ipa doubled after fix for Corona 3583

Hello,
Thanks for the quick fix of a crash on iOS 11.4.1 building with Corona 3583. However, it looks like something is not quite right with the update as the resulting .ipa I just built has roughly doubled in size from about 80MB to 153MB

Big part of IPA size after the packaging is swift support libraries. They won’t be counted against app size on the store.
This happened because Facebook decided to use Swift in their SDK core #facebook/facebook-ios-sdk/1390


Add icu_collation field type

Collation fields are used just for sorting - they don't need to be indexed or stored.
We can use a new icu_collation_key field type which accepts the same parameters as the ICUCollationKeyAnalyzer, and isn't indexed but stores its values as doc values, using  ICUCollationDocValuesField.
This field type would need to serialize its sort keys as base64 for inclusion in the JSON response.

This issue was moved to elastic/elasticsearch#13148


legendary-gl: 0.0.14 -> 0.20.1

Motivation for this change
Several new releases with bugfixes, most importantly, current version in nixpkgs can't log into EGS.
https://github.com/derrod/legendary/releases/tag/0.20.1
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Sorry to bump on this thread but I've had a heck of a time trying to get this running and I'm just looking for some guidance. I've tried using:
[Legendary]

[Sugar]
wrapper = "/home/thorny/.local/share/Steam/steamapps/common/Proton 5.13/proton" run
no_wine = true

[Sugar.env]
WINEPREFIX = /home/thorny/legendary/rocketleague/pfx/
STEAM_COMPAT_DATA_PATH = /home/thorny/legendary/rocketleague

as a config to get it working but it's having issues. I think it's something to do with the FHS so I've also tried adding steam-run at the beginning of the wrapper command and a screen launches but then errors with:
Attempting to call PsyNet_X.QueueRPC() without a primary connection.

I've tried searching the wiki/discourse and asking in the discord but there seems to be very few people who use this application.


⚠ GitLab Server has degraded performance

In 98616ed, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 7140 ms

Resolved: GitLab Server performance has improved in 0810af2.


hitDetect not handling GeometryCollection

Hi,
I have a geodesic cicle drawn on a map, in the same way a the OpenLayers example here:
https://openlayers.org/en/latest/examples/draw-and-modify-geodesic.html
The geometry function generates a GeometryCollection, with Polygon and Point geometries in it.
After drawing, I can't get a hit detection working with the map's click event, where I should be able to get the features under the cursor position through vectorLayer.getFeatures(event.pixel) like any other feature with single geometry already on the map.
Tracing through the code, the createHitDetectionImageData in ol\render\canvas\hitdetect.js is falling over because it doesn't handle an object added to the map with a geometry of type GeometryCollection.
I think it would be enough to add this type to the list of already handled types but I'm not sure whether there would be unexpected side effects somewhere else and would appreciate any comment/input on this:
export function createHitDetectionImageData(size, transforms, features, styleFunction, extent, resolution, rotation) {
    ...
    for (var i = 1; i <= featureCount; ++i) {
        ...
        for (var j = 0, jj = styles.length; j < jj; ++j) {
            ...
            var byGeometryType = featuresByZIndex[zIndex];
            if (!byGeometryType) {
                byGeometryType = {};
                featuresByZIndex[zIndex] = byGeometryType;
                byGeometryType[GeometryType.POLYGON] = [];
                byGeometryType[GeometryType.CIRCLE] = [];
                byGeometryType[GeometryType.LINE_STRING] = [];
                byGeometryType[GeometryType.POINT] = [];
                byGeometryType[GeometryType.GEOMETRY_COLLECTION] = [];  // <= new line
            }
            byGeometryType[geometry.getType().replace('Multi', '')].push(geometry, style);
        }
    }
    ...
}

Having made a change locally, it seems to be enough to get evrything working as expected.
The other option would probably be to split the geometry collection into its separate constituents and add them separately but that seems but I'm not sure there would be any benefits in doing so.

Thanks for reporting this, and please submit a pull request with the changes you suggest.


Compile times are very slow - Version without type level computations possible?

Hi,
I am interested in using flat, since it performs very well according to the haskell-perf benchmarks. However the compile times are very slow. I hate to say it - but would it make sense to create a less safe, but more practical version without the type level computations? I also had issues with enums with more than 255 constructors, since there is some hardcoded limit. I haven't looked into it but are the typelevel Nat computations necessary for the instance generation to get this bitwise packing?

Hi Daniel,
unfortunately, regarding the slow compilation times, I am not sure that there is much space for improvement.
Compiling a long enumeration takes about 7 seconds on my oldish macbook pro:
data E = N1 | N2 | N3 .. | N256 deriving (Generic,Flat)
Problem is: the Flat instance generation time is only about 20% of this time.
Most of the compilation time (70%) is due to the Generic instance.
I also tested with Binary, you get the same disappointing compilation times.
As for the 255 constructors limitation, it's an arbitrary limit and it could be removed.
Just out of curiosity, what is the use case for really long enumerations? Is some code that you generate?
best

@tittoassini Thank you for your answer! Actually I tried binary, cereal and flat and only flat leads to those long compile times. I am using cereal right now. My project takes already very long due to other th and generic instances. However with flat the compilation at least doubles again (but I didn't measure that).
You say it is not due to the generic generation, but due to the compilation of the instances. Is this due to the more complex code needed for flat to achieve bitwise packing? Maybe the compiler has a hard time to simplify complex generics code? While uglier, one might consider using TH instead to generate the instances to take away a bit of the stress on the later compiler stages. In general I think the bad scaling of enums should be possible to fix somehow. I don't see a particular reason why enum instance compilation should take longer than the compilation of an integer with fixed bit width. But maybe one cannot use generics to achieve that :/
The long enumerations (~ 400 constructors) are used for a list of primitive operations in an interpreter, which is imho an acceptable use case. In particular since enums boil down to integers in the end. As a fix I wrote my own instance based on the Word16 instance. But that still left me with the long compile times for all the rest.
In contrast to enums, I don't think there are many uses cases where one needs adts with many complex constructors which would probably lead to even more stress on the generic instance generation.

Encoding code is also more complex.
Flat first calculates the maximum size of the encoded value then allocates statically a buffer and finally encodes the value.
This is efficient at run time but means that we need to generate two methods "size" and "encode" rather than just "encode" and therefore might lead to longer compilation times.

My concern is not only enumerations but slow compilation in general. But I still wonder why the code generated for enumerations is long as you say? Can it not be done simply by converting the enum to an integer and serializing that? Does the resulting code look like a huge case where every case alternative serializes one value? If that's the case, that is clearly suboptimal also due to the amount of generated machine code unnecessarily clogging the cpu cache etc. But you are right that in the general case there is not too much that can be done since there every constructor is indeed a special case which needs its own code. And then flat will take more time than binary for sure due to its encoding and size/encode functions.
I am already keeping the datatypes in special modules, which do not contain functions. That's certainly better, but unnecessary long compilation is still an issue that I would want to avoid if possible.

Strictly speaking, Flat doesn't generate anything.
The encoding/decoding code is just generic code operating on the base of the data type representation produced by Generic.
It's when the code is compiled that GHC expands it to be able to optimise it.
Turning off all optimisations might remove this overhead, at least during development.
I will check and will let you know.

In principle, it would be possible to identify and treat enumerations in a more efficient way.
In fact, this might well already happen as GHC optimises the code.
The only way of knowing is looking at the final generated core code, that often has little resemblance to the source code, in particular for special mechanisms like Generics.
In fact, Flat is quite competitive with Binary and company when it comes to execution times, even if its code is more complex.
But the price for these clever optimisations is longer compilation times.

I am looking into this, I have already made a few changes that might help.
Can you try to recompile using the current version in github?
- location:
     git: https://github.com/Quid2/flat
     commit: 4795b519e2bd58127044d54b69dc371018607366
  extra-dep: true

and see if it improves things somewhat?
What I usually do is to turn optimisations off while developing (stack --fast or -0 in cabal), this totally removes this compilation time overhead.

@tittoassini
That improved things substantially, to 114/144s using 3.5/5.5GB of RAM for ghc/ghcjs respectively.
Great work! That might be enough to merge it in, although I will have to see if we have anyone running 8GB of ram before doing so.
The above is with O2.
With O0 it takes fairly trivial resources to compile (couple seconds maybe), and O1 performs pretty similarly to O2. Unfortunately dropping to O0 is probably not an option due to how performance sensitive a realtime game in JS is.

I am happy to hear that, I am making a few more changes that should improve the situation further, I will keep you posted.

I have just released flat-0.3.4, that should have significantly better compilation times than 0.3.2.
More work could be done on this but I don't think that I will have time to focus on it for a while.
@minad The new release also increases the number of supported constructors to 512, that, as Bill Gates would say, ought to be enough for anybody.

Cool, thank you for your work! I will test flat on my project and compare it with persist, which I made recently.


Update CODEOWNERS

Update code owners file to use the github team
@nguyer Not sure what to do with the Doc maintainers, there isn't a github team for them.

@nickgaski also lost access to the repo.

Do you mind also updating https://github.com/hyperledger/firefly-transaction-manager/blob/main/MAINTAINERS.md
To match the format in https://github.com/hyperledger/firefly/blob/main/MAINTAINERS.md
And add yourself? 🙂


disable all rules by default

commented out the rules in emqx_web_hook.conf.
Closes #155 #108

Looks like need to modify the tests, I though it would be trivial change. I dont know erlang. Hence closing this PR.

Haha.. yes, the tests depend on the default confs. We will improve it later.
Whatever, thanks for your PR