Update the README with the versions of the software we actually test

This PR updates the Readme with the software versions that we actually test thanks to CI and know for sure Ginkgo works with.

I also updated the CMake requirement to 3.8 because we have set that as minimum requirement in our CMakeLists.txt anyway.


Add tests

Provide test structure and at least some minimal tests so that we can build on top of that later.

According to this it is good idea to use doctest to demonstrate the workings of functions and ensure that the function interface did not change. However, it is not suitable for comprehensive testing.

This article recommends using pytest rather than unittest or nose.

pytest code is typically easier and more legible to write than unittest
pytest and nose have similar features, but pytest has better documentation and it is more popular


Adopt the no-code approach

As we all know, code is a bad thing. Studies have shown that the amount
of code in a project is directly proportional to the number of bugs and
inversely proportional to developers' sanity levels.
The popular concept of no-code development platforms (NCDPs) 1 offers
a solution.  I propose a superior
solution: no code, no platform (NP).
This brings us to the age-old problem of P versus NP (platform versus no
platform). As a quick reminder, the core question of P vs NP is this:
Is the class of problems that require a platform (P) equal to the
class of problems that do not require one (NP)? Or is NP a strict
superset of P?

It follows from this question that every problem in P is also in NP.
Therefore, building containers does not require a platform.
Let us present a quick proof that the no code solution is the optimal
solution for building containers, with respect to the number of source
lines of code (SLOC):
n_sloc(this_solution) = 0
{solution | n_sloc(solution) < 0} = empty set
QED

Signed-off-by: Adam Cmiel<EMAIL_ADDRESS>Maintainers will complete the following section

[x] Commit messages are descriptive enough
[ ] Code coverage from testing does not decrease and new code is covered
[ ] Python type annotations added to new code
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request has a link to an osbs-docs PR for user documentation updates
[ ] New feature can be disabled from a configuration file

Nice bugfixes +1

This is the future we've been so long waiting for.

@athos-ribeiro great point! Opened https://github.com/containerbuildsystem/osbs-docs/pull/211
You can see the rendered docs at https://osbs--211.org.readthedocs.build/en/211/

In a moment of clarity, I realized that this discovery may put all programmers across the world out of a job. I'm afraid society is not yet ready.
Closing :disappointed:


misc: add github action for running go test

this pull request adds a github workflow that runs go test for the repo. nobody asked me to do this but i decided to do it anyway.

not sure if i have the right permissions on this repo so that this will actually run, but yeah. hopefully this works!


I can not build ruby on Ubuntu 14.04.3(LTS)

after I install rbenv and ruby-build plugin I ran this command rbenv install 2.0.0-p645
then i get
Downloading ruby-2.0.0-p645.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/5e9f8effffe97cba5ef0015feec6e1e5f3bacf6ace78cd1cdf72708cd71cf4ab
Installing ruby-2.0.0-p645...

BUILD FAILED (Ubuntu 14.04 using ruby-build 20151028-11-gbd22205)

Inspect or clean up the working tree at /tmp/ruby-build.20151118185842.4045
Results logged to /tmp/ruby-build.20151118185842.4045.log

Last 10 log lines:
     OSSL_SSL_METHOD_ENTRY(SSLv3_client),
                           ^
ossl_ssl.c:110:69: note: in definition of macro ‘OSSL_SSL_METHOD_ENTRY’
 #define OSSL_SSL_METHOD_ENTRY(name) { #name, (SSL_METHOD *(*)(void))name##_method }
                                                                     ^
make[2]: *** [ossl_ssl.o] Error 1
make[2]: Leaving directory `/tmp/ruby-build.20151118185842.4045/ruby-2.0.0-p645/ext/openssl'
make[1]: *** [ext/openssl/all] Error 2
make[1]: Leaving directory `/tmp/ruby-build.20151118185842.4045/ruby-2.0.0-p645'
make: *** [build-ext] Error 2

Then i do search for solution I got this solution wget https://github.com/ruby/ruby/commit/801e1fe46d83c856844ba18ae4751478c59af0d1.diff -O  openssl.patch
Then I ran this cat ./openssl.patch | rbenv install --patch 2.0.0-p645
But I have no luck it don't work and I got these output
Downloading ruby-2.0.0-p645.tar.gz...
-> https://dqw8nmjcqpjn7.cloudfront.net/5e9f8effffe97cba5ef0015feec6e1e5f3bacf6ace78cd1cdf72708cd71cf4ab
Installing ruby-2.0.0-p645...
patching file ChangeLog
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file ChangeLog.rej
patching file ext/openssl/extconf.rb
Hunk #1 succeeded at 103 (offset -1 lines).
patching file ext/openssl/ossl_ssl.c
Hunk #1 succeeded at 129 (offset 20 lines).
patching file test/openssl/test_ssl.rb
Hunk #1 succeeded at 595 (offset -317 lines).

BUILD FAILED (Ubuntu 14.04 using ruby-build 20151028-11-gbd22205)

Inspect or clean up the working tree at /tmp/ruby-build.20151118192538.14750
Results logged to /tmp/ruby-build.20151118192538.14750.log

Last 10 log lines:
Last-Modified: Mon, 13 Apr 2015 20:09:38 GMT
ETag: "49919bba0c855eaf8e247108c7933a62"
Accept-Ranges: bytes
Server: AmazonS3
Age: 26343
X-Cache: Hit from cloudfront
Via: 1.1 470104f52e30a3a24a7026a5a448520e.cloudfront.net (CloudFront)
X-Amz-Cf-Id: xFGq1VCo_HrKZl0pmxbZYAssdG4nLMWeKGan_LUXfDWJn9YXHpCaMw==

/tmp/ruby-build.20151118192538.14750/ruby-2.0.0-p645 /tmp/ruby-build.20151118192538.14750 ~

and here is all log
Thank for help :smile:

It seems like the patch is failing at Changelog file, which we don't care about anyway. Try removing the Changelog entry from the patch before applying it. You can use filterdiff (provided by "patchutils") for this:
filterdiff -x a/ChangeLog <./openssl.patch | rbenv install --patch 2.0.0-p645

or you can always do it manually by editing the patch file.

Thank @mislav  it's works perfectly :smile:

I am getting a kind of related problem. In my case it doesn't even download.
Downloading ruby-2.2.2.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.bz2
error: failed to download ruby-2.2.2.tar.bz2

BUILD FAILED (Ubuntu 14.04 using ruby-build 20160330-8-gd7668be)

Same for 2.2.3 and 2.2.4.
It an HTTPS/SSL related issue?

Solved. In my case my VM's date was set to 3 years ago :) So the certificate was "not yet valid". The "yet" put me on the right path.
May I suggest to add a little debug message to ruby-build that explains why the download fails?


[Task]: Add stardust testnet in the list of networks supported in explorer

Task description
Under IOTA 1.5 Chrysalis, add a new network named as Stardust testnet.

Requirements
Add an option for selecting the new network. Upon selection, the view should should also change to the selected network.
Acceptance criteria
N/A
Creation checklist

[ ] I have assigned this task to the correct people
[ ] I have added the most appropriate labels
[ ] I have linked the correct milestone and/or project

Implemented in https://github.com/iotaledger/explorer/pull/249/files#diff-c131964546341d1a4d7e4af7af487bbb0532f7167aa97d45b7373567d3f26a5c


Replace kubectl apply with mesheryctl app onboard command

Signed-off-by: Aadhitya A<EMAIL_ADDRESS>Description
This PR fixes #20
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Does this behave as expected?

I thought it has CI actions inbuilt. Will check and let you know, Lee

@alphaX86 Hi, do you have any updates?

Heads Up! The adapter port nos are temporary for now... Plus, I need to test the scripts in a VM to ensure it works fine and safe

I just have only one tiny doubt. How you'd login to meshery via "None" provider, without the usage of auth token? It drives me crazy as the --provider flag is missing in mesheryctl

For Remote Provider, an infinite token can be assigned.

Well.. Its system login, because app on board needs a token to work. I introduced a provider flag and if its merged it'll be good to go for this script

@alphaX86 Thanks.

some PRs need to be merged on Meshery repo in order to reflect here

So mesheryctl app onboard command cannot work at this stage, right?

@gyohuangxin any suggestions to test the shell script on a remote cloud system with k8s running. Mine has reached limits due to t2.micro CPU

The fastest way is to use this github action on your forked repo, you need to set enhance branch as the default branch, then you can enable action workflows in https://github.com/alphaX86/meshery-smp-action/actions. Then run configurable-benchmark-test, it will deploy k8s and run your changed scripts to deploy meshes and applications. This way doesn't need any other resource.

I'll check it out. Thank you so much

Well.. Its system login, because app onboard needs a token to work. I introduced a provider flag and if its merged it'll be good to go for this script

Is it there any workaround to let it work now? Because I will work on enabling other meshes and try to use mesheryctl to deploy meshes and apps these days.

Ok, you'd need an infinite lifetime auth token to accomplish this, because system login is prompt based for now and it won't work on pure bash script. Though 'none' provider can be logged in, I had deep trouble to access via script which eventually failed on all methods
The token alone however, some folks only have it... @Revolyssup anyway to acquire this token?

@alphaX86 Thanks for the information 👍 I have one infinite lifetime auth token in fact.

Then it'd be easy for you 🙂👍 thanks @gyohuangxin

A release of Meshery is needed to reflect the changes of system login (PR merged but it's not made public yet). Tests are run, so far good. If a release alone is made in Meshery repo (I'm not forcing it to so, just informing) then changes will reflect on script files as well. Other than login, everything worked pretty fine (except mesh and app due to login issue)

@alphaX86 Great! Thanks for your information.
A question not related to this PR, can we use mesheryctl app aboard  to deploy some demo apps for Kuma, Consul, Appmesh or Cilium? I'm onboarding them into GH action, but confused about how to deploy demo apps on them.

mesheryctl app onboard is generic command and should work on all service meshes. To onboard an app, you'd need a YAML file containing the properties of app to be onboarded or a GitHub link referencing the file. I still didn't test the command fully on action but will test on my system and let you know further

Thanks. It would be great if we can aboard any app on any mesh.

Sure 👍 I'll add and check
On Tue, 24 May 2022, 1:17 pm Xin Huang, @.***> wrote:

@.**** commented on this pull request.
@alphaX86 https://github.com/alphaX86 Does it only happen on Istio? It
seems Istio didn't deployed properly.
In .github/workflows/scripts/istio_deploy.sh
https://github.com/layer5io/meshery-smp-action/pull/48#discussion_r880168965
:

-kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
-kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
+sleep 10
+#mesheryctl system login --provider None
+echo 'E' | mesheryctl mesh deploy adapter meshery-istio:10000 --token "./.github/workflows/auth.json"
Probably the Istio didn't deploy completely, can we add a sleep and a
check here?
—
Reply to this email directly, view it on GitHub
https://github.com/layer5io/meshery-smp-action/pull/48#pullrequestreview-982743381,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOGAOQTAHJ3EDVJEFG2W2OLVLSCRFANCNFSM5UBCNGAQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

@alphaX86 Do you have any updates?

@gyohuangxin nothing solid, the k8s deprecation error was found to occur on old k8s resources found on manifests, needs changes on that side, then only pattern apply would work flawless. Other issue like error 500 is common in pattern it seems after talks last week

the k8s deprecation error was found to occur on old k8s resources found on manifests

I'm confused about it. Can you show the error log? Does it occur after using<EMAIL_ADDRESS>
It was produced earlier and it's disappearing somehow (I'm also confused). And no, it's not occuring due to new setup-minikube action

@hershd23 Can you help try this?

@hershd23 Can you help try this?

Yep I'll give this a shot

https://github.com/hershd23/meshery-smp-action/runs/6867611798?check_suite_focus=true#step:5:226
Currently the tmate step keeps on printing the link to connect to the common terminal. It doesn't reach the next task. Any fixes for this @alphaX86 ?

https://github.com/hershd23/meshery-smp-action/actions/runs/2490527037
@gyohuangxin @alphaX86 still getting familiar with the issue, pulled up @alphaX86 's latest changes and the pattern apply works fine. Checking for app onboard

https://github.com/hershd23/meshery-smp-action/runs/6868235120?check_suite_focus=true
Linkerd + wrk2 combination working fine with app onboard
Are there specific cases that are not working @gyohuangxin @alphaX86 @leecalcote, that I should test?

https://github.com/hershd23/meshery-smp-action/runs/6867611798?check_suite_focus=true#step:5:226
Currently the tmate step keeps on printing the link to connect to the common terminal. It doesn't reach the next task. Any fixes for this @alphaX86 ?
Edit :- Found a way by creating a file named continue in the project directory, is there a better way?

Tmate is used to debug the current session actually @hershd23 that is, you need to open the link and type :wq then the shell will be activated. Once you finished debugging you need to exit the shell by exit command. Then only it'll proceed to next step of action

@hershd23 Thanks for this testing, I saw the 500 error message in your testing of mesheryctl pattern apply on Istio: https://github.com/hershd23/meshery-smp-action/runs/6867816269?check_suite_focus=true#step:4:69. Did you check whether the pattern is working well?

https://github.com/hershd23/meshery-smp-action/runs/6868235120?check_suite_focus=true
Linkerd + wrk2 combination working fine with app onboard
Are there specific cases that are not working @gyohuangxin @alphaX86 @leecalcote, that I should test?

IOM, the app onboard or pattern apply can achieve our goal. We prefer pattern apply because we can implement more interesting things on it in the future. Therefore, we should make sure at this time:

We can use mesheryctl to deploy each mesh (Istio, Linkerd, OSM) in github action. Make sure this command works well: https://github.com/layer5io/meshery-smp-action/pull/48/files#diff-9708a03424bc77988703c3ef86daa584385ea618a3d48e55842e537d22620444R14
We can use pattern apply to deploy pattern on each mesh and the performance tests works well.

@gyohuangxin you're right
Basically the pattern apply command is erroring out, the trace isn't helpful
runner@fv-az204-655:~/work/meshery-smp-action/meshery-smp-action$ mesheryctl pattern apply -f "https://github.com/service-mesh-patterns/service-mesh-patterns/blob/master/samples/bookInfoPattern.yaml" --token "./.github/workflows/auth.json"
Error: Response Status Code 500, possible Server Error

meshery-7bfb4d5c9c-dzplb        |       time="2022-06-14T18:10:00Z" level=error msg="readdirent /tmp/service-mesh-patterns/1655230199991602250/samples/bookInfoPattern.yaml: not a directory" app=meshery code=2167 probable-cause="Cannot save the Pattern due to wrong path or URL" severity=2 short-description="Error failed to import pattern" suggested-remediation="Check if the given path or URL of the Pattern is correct"
meshery-7bfb4d5c9c-dzplb        |       time="2022-06-14T18:12:52Z" level=error msg="readdirent /tmp/service-mesh-patterns/1655230372443385636/samples/bookInfoPattern.yaml: not a directory" app=meshery code=2167 probable-cause="Cannot save the Pattern due to wrong path or URL" severity=2 short-description="Error failed to import pattern" suggested-remediation="Check if the given path or URL of the Pattern is correct"
meshery-7bfb4d5c9c-dzplb        |       time="2022-06-14T18:12:55Z" level=error msg="readdirent /tmp/service-mesh-patterns/1655230375138899338/samples/bookInfoPattern.yaml: not a directory" app=meshery code=2167 probable-cause="Cannot save the Pattern due to wrong path or URL" severity=2 short-description="Error failed to import pattern" suggested-remediation="Check if the given path or URL of the Pattern is correct"

Checked the system logs got this

runner@fv-az204-655:~/work/meshery-smp-action/meshery-smp-action$ mesheryctl pattern apply -f "https://raw.githubusercontent.com/service-mesh-patterns/service-mesh-patterns/master/samples/bookInfoPattern.yaml" --token "./.github/workflows/auth.json"
pattern successfully applied
successfully deployed application productpage
successfully deployed application reviews-v1
successfully deployed application reviews-v3
successfully deployed application details
successfully deployed application ratings
created Gateway "sample-app-gateway" in namespace "default"
applied trait "meshmap" on service "reviews-v2"
applied trait "meshmap" on service "reviews-v3"
applied trait "meshmap" on service "reviews"
applied trait "meshmap" on service "reviews-v1"
applied trait "meshmap" on service "productpage"
applied trait "meshmap" on service "ratings"
applied trait "meshmap" on service "sample-app-gateway"
applied trait "meshmap" on service "bookinfo-vs"
applied trait "meshmap" on service "details"
created VirtualService "bookinfo-vs" in namespace "default"
applied trait "meshmap" on service "reviews-v2"
applied trait "meshmap" on service "reviews-v3"
applied trait "meshmap" on service "reviews"
applied trait "meshmap" on service "reviews-v1"
applied trait "meshmap" on service "productpage"
applied trait "meshmap" on service "ratings"
applied trait "meshmap" on service "sample-app-gateway"
applied trait "meshmap" on service "bookinfo-vs"
applied trait "meshmap" on service "details"
successfully deployed application reviews-v2
runner@fv-az204-655:~/work/meshery-smp-action/meshery-smp-action$ kubectl get pods
NAME                           READY   STATUS              RESTARTS   AGE
details-69648f48b4-rc8qf       0/1     ContainerCreating   0          4s
productpage-76dc999cf7-4j4d6   0/1     ContainerCreating   0          4s
ratings-6dfcc745f-drn9k        0/1     ContainerCreating   0          4s
reviews-v1-dbcdfd648-9shdd     0/1     ContainerCreating   0          4s
reviews-v2-7bb7dd9fc-jfnjz     0/1     ContainerCreating   0          4s
reviews-v3-784c4996f9-4rqhm    0/1     ContainerCreating   0          4s

Ah simply changing to download from raw file works!
https://raw.githubusercontent.com/service-mesh-patterns/service-mesh-patterns/master/samples/bookInfoPattern.yaml

The run is successful
It has an error towards the end, I don't know how relevant that is
https://github.com/hershd23/meshery-smp-action/runs/6886559987?check_suite_focus=true#step:6:1709
Error getting context: json: cannot unmarshal array into Go value of type map[string]interface {}

Any ideas @gyohuangxin @alphaX86 @leecalcote ?

Another comment, I feel for mesheryctl pattern apply one of the most basic errors would be that the URL is wrong or the file cannot be downloaded from that URL. We should have a better error message :)
runner@fv-az204-655:~/work/meshery-smp-action/meshery-smp-action$ mesheryctl pattern apply -f "https://github.com/service-mesh-patterns/service-mesh-patterns/blob/master/samples/bookInfoPattern.yaml" --token "./.github/workflows/auth.json"
Error: Response Status Code 500, possible Server Error

@gyohuangxin should I also change the linkerd task from app onboard to pattern apply and test?
Or let it be as is?

@gyohuangxin should I also change the linkerd task from app onboard to pattern apply and test?
Or let it be as is?

Yes, we should keep the method of deployment the same and also test on OSM.

Also should I be making my own PR on this issue? Or suggest changes to this one itself? Not sure of @alphaX86 's availability due to his exams

Your own PR makes sense.

You're cleared to make a PR @hershd23 I'll close this staled one

@alphaX86 Thank you very much!

Strange.... I sent the above mail comment 2-3 months ago. Seems a bug within GitHub :/ anyway the changes are already merged in other way

@alphaX86 OK fine, but the scripts doesn't work indeed recently. We tried to debug but have no idea, https://layer5io.slack.com/archives/CVBGPTFJN/p1665299033777169?thread_ts=1664371772.250329&cid=CVBGPTFJN, can you have a look if you have some cycles

Got it

Got it 👍

Thank you


throw Uncaught SyntaxError in chrome 43

Version
2.6.11
Reproduction link
https://codepen.io/dydhyh/pen/dyNvqdr
Steps to reproduce
browse app page through chrome (Version 43)
What is expected?
browse app normally
What is actually happening?
page is empty, and throw a error in console

Uncaught SyntaxError: Unexpected token ) at http://<IP_ADDRESS>:8080/#/entry/course:4486
Download the Vue Devtools extension for a better development experience:
https://github.com/vuejs/vue-devtools at webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:8418
You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html at webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:8428
browse app normally when chrome version >= 58

It works fine on Chrome 43

Please, next time consider using the forum, the Discord server or StackOverflow for questions first. But feel free to come back and open an issue if it turns out to be a bug 🙂


Module identifiers with jsx extension won't work anymore

From @codeart1st on October 12, 2016 17:24

VSCode Version: 1.6.0
OS Version: Windows 10.1 x64

With the previous version of VS Code it was possible to inspect module imports from jsx files by using this:
import reducer from './reducer/index';
import App from './components/App';
So an import without an extension. This is no problem for webpack...
But now in VS Code 1.6 with the new Typescript version the inspection doesn't work anymore. Maybe because of this: https://github.com/Microsoft/TypeScript/wiki/What%27s-new-in-TypeScript#including-built-in-type-declarations-with---lib
So using
import reducer from './reducer/index.jsx';
import App from './components/App.jsx';
also doesn't work.
The only thing that work is the js extension, but for jsx this is not a good solution
import reducer from './reducer/index.js';
import App from './components/App.js';
Copied from original issue: Microsoft/vscode#13618

From @codeart1st on October 14, 2016 18:9

Shift+F12 also found nothing with .jsx extension

From @codeart1st on October 14, 2016 18:5

Yeah "Go to Definition" (F12) not working and also the overlay while using CTRL and mouseover. The example above is the situation after renaming the .jsx file to .js

@codeart1st thank you for opening this issue. Can you clarify what you mean by "inspect module imports"? Do you mean "Go to Definition"?
The vernacular can be different for different developers. A short animation would clarify for me.

From @mhegazy on October 18, 2016 17:7
@codeart1st, thanks for reporting this. As a workaround in your jsconfig.json please specify "jsx": "react", e.g.:
{
  "compilerOptions": {
    "target": "es6",
    "module": "es6",
    "allowSyntheticDefaultImports": true,
    "jsx": "react"
  },
  "exclude": [
    "node_modules"
  ]
}

@codeart1st thank you for your explanation. Can you share your repo or a minimal repo I can reproduce this on my end?
@mhegazy any thought on why this is happening? Looks like we have this filtered correctly in tsserver.js
ts.supportedJavascriptExtensions = [".js", ".jsx"];

From @codeart1st on October 18, 2016 14:24
https://github.com/codeart1st/demo

From @mhegazy on October 18, 2016 17:8
@waderyan can you port this to the TS issue tracker, this is something we need to fix on our side as well.

Yeah the workaround works like a charm :+1:

"jsx":"react"didn't work for me. But I fixed it with this:
"compilerOptions": {         "target": "ES6",         "module": "commonjs"     },
I don't use react at all for my ES6 project (webpack, babel) so it's a little bit confusing this feature works for me :) See compliler specs bellow:

The following compiler options in jsconfig.json apply when tsc is used for down level compiling of ES6 JavaScript to an older version:

"jsx": "react" or "jsx": "preserve" is needed here to tell the language service to look for .jsx files when resolving imports.

Maybe we should always search "jsx" files, but issue a warning / error message to ask the user to specify "jsx" compiler option, which is much more actionable.

We did not do that for performance purposes to avoid looking for .tsx all the time even if the user will never use it.

After offline discussion, the proposal for addressing this issue is:

for module specifiers without extension, the resolution logic remains the same behavior;
for module specifiers with ".tsx" extension, issue an error message;
for module specifiers with ".jsx" extension, should resolve the module correctly.

This is already fixed in the latest master. Closing.


Fix OneDSpectrum masking through interpolation

Added mask handling for OneDSpectrum.spectral_interpolate. The mask has to be handled for spectral_interpolate to work since we now check whether the WCS in the mask is valid with the data.
Also:

MaskBase.quicklook was converting to a Projection to view, but this is won't work when we need to import mask classes into the LDOs file. The quicklook is now a near copy-paste of the quicklook in Projection. I could add a general function to do this, but it's not a particularly important few lines...
OneDSpectrum checks the mask type when a new spectrum is made.

Weird error on some of the travis jobs: https://travis-ci.org/radio-astro-tools/spectral-cube/jobs/248024982

that was weird.  restarted.

I tried restarting a couple and they failed again.

Coverage increased (+0.03%) to 75.398% when pulling 47d67766c88e31b7a41774f2e7cf8ad27cfc0f86 on e-koch:LDO_specinterp_mask into aea330259d0196541e86b8235698ab972fd79dc9 on radio-astro-tools:master.

Coverage increased (+0.03%) to 75.398% when pulling 21849a305193a22a178a3c6646d3e887c92b3192 on e-koch:LDO_specinterp_mask into aea330259d0196541e86b8235698ab972fd79dc9 on radio-astro-tools:master.

I don't understand these failures.  They look like a problem in the conda-based build environment.  Maybe we can lock pytest to a specific version?  This sort of failure will probably start showing up on other astropy-helpers-based packages

pytest is the same version. I think pytest-xdist is the issue. Do we even need it installed? We're not running each test case in parallel.

Coverage increased (+0.03%) to 75.398% when pulling 31b9ae634287548f4f388de5be5065442a1948c8 on e-koch:LDO_specinterp_mask into aea330259d0196541e86b8235698ab972fd79dc9 on radio-astro-tools:master.

Coverage increased (+0.03%) to 75.398% when pulling 6ead52efff351afe9e59d3608846e6d4543f94ac on e-koch:LDO_specinterp_mask into aea330259d0196541e86b8235698ab972fd79dc9 on radio-astro-tools:master.

Coverage increased (+0.03%) to 75.398% when pulling 80b01c3357df89a655381d2503db940329739392 on e-koch:LDO_specinterp_mask into be609cb64ca70c232394a617774b00ed33658d7c on radio-astro-tools:master.


Performance and behaviour improvements

Test the observation state of the hidden flag instead of always performing all the work for no reason. Brings an immense (8x faster on a particular project) performance boost.
Use constraint activation APIs on iOS8+, which should be more performing. In tandem, use a (weak objects) NSHashTable instead of an array of NSLayoutConstraints because constraints make unsafe_unretained/assign/unowned(unsafe) references to the views, which might be deallocated (and were, in that particular situation). This allows constraints to be deallocated by ARC when there are no strong references left (using simple arrays led to crashes while the layout engine walks the view hierarchy when constraints are de/activated).
Employ the predicate negation function, should allow slightly better code generation by not creating extra closures.

Some tests don't pass

I'll take a look. There should be no functional changes...

I'll take a look soon as I can. The performance gains are too substantial to ignore.

This should do it. However the same-constants tests are failing, but I believe the reason is benign: the iOS 8+ API for constraint activation is installing them on the most optimized places.

Isn't the activation API installing a constraint on the nearest common ancestor?

I believe so; did you find another issue?

I'll check the failing test. This test is very important, even more important than all the other tests. It's very strange, if Apple developers who implemented UIStackView were also using the activation API, there should be no difference.

Hi. I don't think they use this API. It is quite probable that UIStackView has been under development for a couple years before it was introduced, there is a big chance they used legacy APIs themselves. The other probable cause is that the activation API could lead to the crashes I experienced as views are deallocated while the constraints are still installed somewhere. The deactivation does try to reach for the views for some reason and as pointed out, the references are unsafe.
And for all I know I could have introduced bugs. The code does seem sound, but...
I'm clueless though about the tests that fail for other reasons, likely the use of NSHashTable allows for early deallocations. I'd love to cooperate in the investigation but again time is short. I'm all ears for pointers and tips.

But they are also refactoring their code. I noticed a minor change that adjusted the order of constraints in an iOS update, which reflected that they possibly changed to use same code for both horizontal and vertical stack view.

I see the problem. In UIStackView they use some objects of type UILayoutGuide, which is introduced in iOS 9, to help layout. And In TZStackView, we use empty UIViews for the same purpose. A UILayoutGuide can't add any constraint to itself, so the constraints are added to its owning view. But in TZStackView some constraints are added to the guide view itself when using activation API. That's why some constraints are not installed in the same view as UIStackView.

Oh, nice job finding the issue. So there's no harm in the end? The activation API should always produce equal or better results. What do you think? Perhaps adding a test to ensure the diverging results fall into this category?

A tricky solution will be using UILayoutGuide when iOS 9 is available, that way we don't need to modify the test method.

Hey. Any news on this front? 😃

Do you have any code that can reproduce the crash you've mentioned? The pattern where store constraints in an array is quite common, it's hard to believe this pattern has such serial issue.

It is caused by the other changes, actually. Moving to the activation API led to situations where it could crash. I mentioned it in a comment circa a month ago: https://github.com/CosynPa/TZStackView/pull/3#issuecomment-228942980

When a view is removed from superview, its related constraints will be automatically deactivated. Then deactivate an already deactivated constraint should have no effect.

Unfortunately this is not what I am observing. You can see it for yourself. Just revert the NSHashTable-related changes and you'll face crashes if there are views being removed from the hierarchy. I'll see if I can come up with a reduced test case but trust me, this is happening indeed.

At least the statement "when a view is removed from superview, its related constraints will be automatically deactivated" is true, and is documented in UIView class reference removeFromSuperview method:

Calling this method removes any constraints that refer to the view you are removing, or that refer to any view in the subtree of the view you are removing.

I did face some strange layout engine internal error crashes. But using hash table didn't fix them.

I think I should probably split the PRs and for the time being only incorporate the one related to not producing constraints when not in a window.

How are your PRs? I found there is code accessing firstItem:
private func constraintContains(view: UIView) -> (NSLayoutConstraint) -> Bool {
    return { ($0.firstItem as? UIView) == view || ($0.secondItem as? UIView) == view }
}

Maybe this is the source of crash?

I found a relative issue https://github.com/SnapKit/SnapKit/issues/277. I don't know if your crash also happens when accessing firstItem or secondItem.


Export support for gdscript resource types

Allow GDScript export statements to export global class types.

Updates gdscriptparser to accept identifiers as export types, and resolve them at around the same time as export-type / type-hint checking.
Adds a method to editordata to be able to check if one class is equal to, or a parent of another, regardless of whether the class being checked is a native class or a script
Updated editorpropertyresource to handle the above changes:

Filter drag drop
Detecting if resources assigned via "Load" are of the correct type
Builds on #26122 to provide better property resource inlining

Note that if the script you export is a node type, it will leak unless you add it to the tree in code or free it.

@Zylann I believe that bit it worth adding to the docs?

@Zylann if I'm understanding correctly,  I think this shouldn't be an issue because the type resolution step should ensure that the exported type derives from Resource, either directly or through other global script classes.

This is wonderful

This has broken and conflicts with other changes. I'm going to wait till 3.1 is branched and I'll fix it up for review in to 3.2

This needs a rebase (and a review, ping @vnen @bojidar-bg).

Solves same issue as #22660?

Ohh I can’t wait for this to be rebased and merged! Please let it be soon! ;)

I've encountered an error while testing the branch. If I try to type an exported var, I get the error:
export hint type (GDScriptNativeClass) doesn't match the variable type ({Class})

This will appear on any type of export, whether they're custom, native, or even primitive.
# None of those work
export(Texture) var texture: Texture
export(int) var index: int
export(String) var text := "Hello"
export(Array, AudioStream) var streams: Array

The error can be avoided by not typing exported variables. This is not convenient though, as it prevents auto-completion, safe lines… Well, everything that comes with typed variables.
I see the branch needs to be rebased, so maybe this has already been fixed on master. I hope this feature will soon be included in a release, because it might become indispensable for plugins! :)

We discussed this briefly on IRC with @vnen and @bojidar-bg, some comments:
16:05 <Akien> Next: #26162
16:05 <IssueBot> #26162: Export support for gdscript resource types | https://git.io/fhF7v
16:08 <bojidar_bg> I feel like reducing constants might be a better idea than checking for identifiers separatelly
16:09 <bojidar_bg> .. we are already reducing the constant though D:
16:12 <vnen> constant reduction does not always happen with current implementation
16:16 <bojidar_bg> it uses global script names exclusively, which might cause trouble later on
16:17 <vnen> why would it cause trouble?
16:17 <bojidar_bg> `const X = preload("res://X.gd)`, `export var x: X`
16:18 <bojidar_bg> also, if the global class names start getting resolved to a constant, it will break
16:19 <vnen> not sure if you can declare a constant if the name is already in the global scope
16:19 <vnen> in any case, the implementation is complex and may need to be reviewed properly (code for export vars is one of the most complex in the parser)
16:20 <vnen> and there's a valid issue raised in the last comment

As we're in feature freeze for 3.2 and this PR is not merge-ready for now, moving to the 4.0 milestone. It's a good feature proposal though, but some updates and a thorough review are needed.

@vixelz Is this still desired? If so, it needs to be rebased on the latest master branch. Additionally, the above feedback needs to be addressed.
If not, abandoned pull requests will be closed in the future as announced here.

@aaronfranke I'm still interested and happy to finish the work if @vixelz does not.

For what its worth, I am very much interested in this feature - working on a space station economy simulator and this would make the data-driven exports soooo much cleaner.

@aaronfranke @rcorre I'd thought that my PR was further along in this as it is derived from vixelz's initial work. I am planning to rebase and fixup that PR too. #32018

This PR has not received any new commits for over a year and is abandoned by the author, closing.
This PR can be salvaged, but it seems that @willnationsdev is already doing so.


DisplayObject  getLocalBounds() & getBounds()

Once getLocalBounds is called, getBounds returns also returns the localBounds.
e.g.
// sprite nested within a container that is 200 px width and height and 100px in from x and y

getBounds() // return Rectangle( 100, 100,  200, 200 );
getLocalBounds() // return Rectangle( 0, 0,  200, 200 );

// now call getBounds again an it will be local.
getBounds() // return Rectangle( 0, 0,  200, 200 );

@GoodBoyDigital Told you this would come up :P

haha! smarty pants :P
Will look into this tomorrow :+1:

Ping @GoodBoyDigital, I know you're busy. I'm just going to keep pinging you until this is fixed :)

I used the above linked phaser fix like this.  Dunno why it fixes it (hence no PR), but it does.

@staff0rd Look at #2654

Fixed :) 👍


When a release happens, a docs folder stays behind

You should gitignore the docs folder, it is there so you can actually look at the docs :)

Hm, shouldn't aegir exit with a error if the workspace is not clean? Feels this is exposing a bug.
If the docs/ directory didn't exists since before, in workspace or in .gitignore and was generated during the build run, what's being released as a github release is not the same as what is being published to npm, as Git tag would be commited content while npm release would contain everything in the workspace.

Docs are generated by aegir. It does the dirty fix at the beginning of the release process

Yeah, probably that check needs to happen when the publish to npm happens, to avoid any non-git files from being published.

but the docs are supposed to be published?

or rather if you don't want them to be published they should be in your npm ignore, this is not a thing aegir should take care of but the appropriate ignore files

If I'm understanding correctly:

A folder that is not checked in and pushed for the repo also won't be part of the release tag
Anything that is not on the release tag doesn't get published to npm (as one happens after the other)

@dignifiedquire try releasing aegir-test-repo to see what I mean here :)

@dignifiedquire problem is not with docs specifically but ending up with a git tag that does not contain the same files as the npm published module. Ignoring the ignore-files, files generated (by mistake or on purpose) during a run would end up in the published module, but ignored in the git tree.

Yes but that is how dist already works, things published to npm != things on github. That's why there is .gitignore and an .npmignore file

@dignifiedquire so you want the release tag !== npm published version ?

I am not saying "I want", I am saying, "that is what we decided some time ago" when we made the decisions for docs and dist to not be tracked in github

Ah, full circle now 💡
We are just seeing it now because all the other times the docs were generated, was because a PR from the Awesome Docs endeavour was made and so that folder was added to the gitignore. That is why it was never weird. Got it.
I agree that committing every changing files is a bummer, not sure anymore if I feel it is annoying or actually good to have them on the repo though.


Provide link to auto-render.min.js in usage example

A full url to the built (browserified and minified) auto-render.min.js should be available for the same reason that the full url to katex.min.js. is available in the main readme.

@ViktorQvarfordt thanks for pull request.


battery bug

something wrong with hidden menu#74: BatTyp>1600/2200.
same voltage level: 7.98v (+-1)
1600mAh: 7.98v=75%
2200mAh: 7.97v=87%
btw: more APRS GPS Coordinate group settings in U.info memu be better. ex GPS#1\2\3...

I haven't checked the battery charging part yet.
I'll put it on my Todo List.
I will check the battery discharge graph and display it more accurately.
(Luckily I have two 2600mAh batteries)
Ian KD8CEC
On Tue, Feb 27, 2024 at 1:49 PM cjinhub @.***> wrote:

battery.png (view on web)
https://github.com/phdlee/uvk5cec/assets/152593919/45dcf4f4-a82c-4ae1-9235-c92937b6f45f
—
Reply to this email directly, view it on GitHub
https://github.com/phdlee/uvk5cec/issues/26#issuecomment-1965780000, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AE4DZPBZVCHDFHM5R2XMDJTYVVQTZAVCNFSM6AAAAABD3M454CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRVG44DAMBQGA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I haven't checked the battery charging part yet. I'll put it on my Todo List. I will check the battery discharge graph and display it more accurately. (Luckily I have two 2600mAh batteries) Ian KD8CEC
…
On Tue, Feb 27, 2024 at 1:49 PM cjinhub @.> wrote: battery.png (view on web) https://github.com/phdlee/uvk5cec/assets/152593919/45dcf4f4-a82c-4ae1-9235-c92937b6f45f — Reply to this email directly, view it on GitHub <#26 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE4DZPBZVCHDFHM5R2XMDJTYVVQTZAVCNFSM6AAAAABD3M454CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRVG44DAMBQGA . You are receiving this because you are subscribed to this thread.Message ID: @.>

i mean 1600 2200 seems reversed by mistake in menu. i think same voltage should be higher percentage with the small battery, not the large one .


crypto/evp/ctrl_params_translate: honor EC_POINT_CONVERSION_FORMAT

There are two code paths that handle OSSL_PKEY_PARAM_PUB_KEY:

for "provided" keys: via common_get_params() and key_to_params()

for "legacy" keys: via evp_pkey_setget_params_to_ctrl() and get_payload_public_key()

The first once has been honoring
OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT since commit a16e86683e8d ("Honor OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT as set and default to UNCOMPRESSED"), but the second one unconditionally used UNCOMPRESSEDPOINT_CONVERSION_COMPRESSED.  I think omitting the second code path was an oversight and this patch amends it.
CLA: trivial

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

ACK

@beldmit okay with trivial?

@romen

Rebased & fixed CHANGES.md conflict.

The CHANGES.md entry needs to be moved to the changes between ~3.3 and 3.2~ 3.1.4 and 3.1.5 section. As this is a bug fix that is going to be backported.

Oops. Of course.

Now moved to "3.1.4 and 3.1.5" - @t8m

@beldmit please reconfirm

@MaxKellermann Would you please consider signing an ICLA? https://www.openssl.org/policies/cla.html Otherwise we unfortunately cannot accept your contribution.

@t8m, this requires some corporate machinery, and that takes time, unfortunately.

@MaxKellermann any progress with the CCLA/ICLA?

This PR has the label 'hold: cla required' and is stale: it has not been updated in 30 days. Note that this PR may be automatically closed in the future if no CLA is provided.  For CLA help see https://www.openssl.org/policies/cla.html

This PR has the label 'hold: cla required' and is stale: it has not been updated in 30 days. Note that this PR may be automatically closed in the future if no CLA is provided.  For CLA help see https://www.openssl.org/policies/cla.html

This PR has the label 'hold: cla required' and is stale: it has not been updated in 61 days. Note that this PR may be automatically closed in the future if no CLA is provided.  For CLA help see https://www.openssl.org/policies/cla.html

This PR has been closed.  It was waiting for a CLA for 90 days.

@MaxKellermann please reopen this if you sort the CLA out.


Packages built with a custom corefx branch fail to update beyond the first build

Ok, this should be pretty easy to reproduce.
Environment: Ubuntu 16.04
1.) Follow the instructions for pointing to a  custom corefx branch https://github.com/dotnet/source-build/blob/master/Documentation/README.md#building-a-custom-net-runtime
2.) Build source build (./build.sh /p:RootRepo=core-setup)
3.) Note the package version of the Microsoft.NETCore.App nuget package
4.)  Commit the submodule change to source-build root and build again.
6.) Note the package version of Microsoft.NETCore.App nuget package.
Result:
The nuget package commit will always be the first commit in your custom branch
Expected Result:
The nuget package(s) should update with the new commit
NOTE:
I was able to successfully build once I did a clean AND I deleted the obj, packages, and Tools directories.

[Triage] Closing as obsolete.  Much of the source-build infra has changed since this was originally opened.  Please retry with 7.0 and opened a new issue with any problems you encounter.


CNCF member updates

Pre-submission checklist:
Please check each of these after submitting your pull request:

[x] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[x] Is your project closed source or, if it is open source, does your project have at least 300 GitHub stars?
[x] Have you picked the single best (existing) category for your project?
[x] Does it follow the other guidelines from the new entries section?
[x] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?
[x] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[x] Does your project/product name match the text on the logo?
[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[ ] ~15 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

Build failed because of:
Axelerant (member)  has a crunchbase https://crunchbase.com/organization/axelerant which does not start with 'https://www.crunchbase.com/organization'

Deploy preview for landscape failed.
Built with commit 4e92972a81ee9f320fc935bec6601482a7a88cf8
https://app.netlify.com/sites/landscape/deploys/5f80cc72dfbd500007147715

LGTM


bugfix: same data conversion in transmit as in read method

It took me some time to debug this. Transfer method worked pretty random when list of integers were converted literally to such string: "[1, 2, 3]" not to binary string :)

Hey botmonster, thanks for the pull request, and I'm sorry the interface threw you off at first.
I originally designed this whole package as a cleaner drop-in replacement for another system that used the same read/write interface included here and unfortunately the quirks carried over as well.
But you're right in that this should be cleaned up to make more sense in the general case. Let me spend some time on getting this sorted out and making the documentation match as well. Thanks for the input


Update Label.clip_text() Method Description

This update fixes an inconsistency in the documentation about the clip_text() method. The text is only clipped horizontally. The original description is misleading and this update makes it more clear what it actually does.
This resolves: #49893

Thanks!

Cherry-picked for 3.4.

Cherry-picked for 3.3.3.


Fix Navbar distortion caused by the addition of "Irrigation system" item

Pull Request
Title
Fix Navbar distortion caused by the addition of "Irrigation system" item
Description
This PR addresses the issue where the navbar layout became distorted after adding a new item labeled "Irrigation system." The issue was due to insufficient space and CSS conflicts that caused the navbar to overflow and misalign. Adjustments have been made to ensure the navbar maintains its proper alignment and responsiveness, accommodating the new item without breaking the layout.
Related Issues
#171
Changes Made
Adjusted the CSS for the navbar to accommodate the new "Irrigation system" item.
Checklist

[X] I have tested the changes locally
[X] Documentation has been updated (if necessary)
[X] Changes are backward-compatible

Screenshots (if applicable)
Not Necessary
Additional Notes

Footer

no change

See the Preview Deployment Please

i am using 14 inch laptop..i think you are using 15 inch..

Yes


Remove vim-repeat

Pro vim-repeat:

This adds repeat for  maps, I consider this fairly essential (vim-surround in particular)

Con:

It's another plugin

Done


Prepare for Einstein M1

[ ] Update Spring Cloud 2.1 in Core
[ ] Create 2.x / Darwin branches
[ ] Create CI plans
[ ] Document breaking changes / issues from the 2.1 upgrade (eg: BeanDefinitionOverrideException)

Perhaps we should, consider updating the Metics Collectors dependencies to Spring Cloud 2.1 as well.

This is complete.


Extensive token section

The new website should have a section with all the token contracts.
For each network where the Frankencoin has been bridged to, we should provide the user with the following:

A link to the smart contract on the relevant blockchain explorer
An "add to metamask" button as described here: https://www.youtube.com/watch?v=aYRxcxMpVNU
A deep link to the relevant bridge
A deep link to defillama for swapping the token
A deep link to dfx for buying it directly

This implies that the "Token" section of the website should be MUCH larger than the small box we have today.

all covered in the redesign, except the metamask button


High memory usage and slow sync with large wallets / address history / utxos

We've seen this on some YouTube sync wallets and on the spee.ch wallet. The spee.ch wallet takes like 2 hours to sync, and seems very inefficient/ slow. When loaded, it uses about 2GB of memory.  Other YouTube wallets which had large fund commands run do not want to sync at all (@shyba aware of this).
This should be a priority if we also think it affects incoming tips / claiming of tips.

@shyba I'm even seeing this high mem usage on much smaller wallets - 2019-07-01 09:35:10,798 INFO     lbry.wallet.ledger:106: Loaded account bTKFnGf3fzGTVP3yPXPtkbT7aepFA8BkrU with 1.007184 LBC, 62 receiving addresses (gap: 20), 14 change addresses (gap: 6), 1 channels, 1 certificates and 2 claims.
I think it has to do with the fund command and us splitting up utxos.

This happens: ```
9c7216d372d5b19ce7bd62de1847f09d2c592aa5
2019-07-01 09:51:26,968 INFO     torba.client.baseledger:118: (lbc_mainnet) on_transaction: address=bEq6vTnwzZpBGRSaDvPDr8xHqo18Dv6vjD, height=585667, is_verified=True, tx.id=2e8ddb1ee272e7d09948bba7a475434828eab54125518d9a8c33d9d7d47f2454
2019-07-01 09:51:29,133 INFO     torba.client.baseledger:125: (lbc_mainnet) on_address: ['bRxatxyYLp2oE9CHVMB4q8LK2XmYUEFNxv', 'baKHMXmvuAuFM4B5Vt5xazAXzTNZqszFnX']
Task exception was never retrieved
future: <Task finished coro=<BaseLedger.update_history() done, defined at c:\users\thoma\documents\lbry\torba\torba\client\baseledger.py:386> exception=MemoryError()>
Traceback (most recent call last):
File "c:\users\thoma\documents\lbry\torba\torba\client\baseledger.py", line 425, in update_history
txo.id: txo for txo in await self.db.get_txos(txoid__in=check_db_for_txos)
File "c:\users\thoma\documents\lbry\lbry\lbry\wallet\database.py", line 58, in get_txos
txos = await super().get_txos(**constraints)
File "c:\users\thoma\documents\lbry\torba\torba\client\basedatabase.py", line 472, in get_txos
**constraints
File "c:\users\thoma\documents\lbry\torba\torba\client\basedatabase.py", line 461, in select_txos
" JOIN tx USING (txid)".format(cols), **constraints
File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\concurrent\futures\thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "c:\users\thoma\documents\lbry\torba\torba\client\basedatabase.py", line 50, in __fetchall
return conn.execute(*args, **kwargs).fetchall()
MemoryError
2019-07-01 09:52:07,064 INFO     torba.client.baseledger:118: (lbc_mainnet) on_transaction: address=bFEZcBsYHjtoCHBSszKqjo8NQo1oWD1aq6, height=585674, is_verified=True, tx.id=f9f80b81d7bdb542d35610855cf62241033403def5434cc6b7ffab40434847ef
2019-07-01 09:52:07,064 INFO     torba.client.baseledger:118: (lbc_mainnet) on_transaction: address=bResjjkh8wx8U6r7mWsMVcoRBPKB5L1bRg, height=585674, is_verified=True, tx.id=d54e52a82c18c9855d84f2667477efc9bc90518182f08522ffe72c1969d28f49
2019-07-01 09:52:07,067 INFO     torba.client.baseledger:118: (lbc_mainnet) on_transaction: address=bEq6vTnwzZpBGRSaDvPDr8xHqo18Dv6vjD, height=585667, is_verified=True, tx.id=d001bc2abb4c4b3d54ac76c29380fee3dc55e39a310c4a9e191e1504699c1e2f
2019-07-01 09:52:07,068 INFO     torba.client.baseledger:118: (lbc_mainnet) on_transaction: address=bbDaZPU8eQszJWq2R1iTVUQLUPbxm4rMqW, height=585674, is_verified=True, tx.id=55557d8260af6a21fb83099e32b9258728305807d977f6cbb4ab595115e39b27
2019-07-01 09:52:07,071 INFO     torba.client.baseledger:118: (lbc_mainnet) on_transaction: address=bLr7p4PD7i8r6HPhKLANQYEM5dvVhUyDQw, height=585674, is_verified=True, tx.id=42a925fbe2470a054b08fcf654d03765691bb042a4761574051ff0d1462b193d
Task exception was never retrieved
future: <Task finished coro=<BaseLedger.receive_header() done, defined at c:\users\thoma\documents\lbry\torba\torba\client\baseledger.py:348> exception=RuntimeError("can't start new thread")>
Traceback (most recent call last):
File "c:\users\thoma\documents\lbry\torba\torba\client\baseledger.py", line 352, in receive_header
height=header['height'], headers=header['hex'], subscription_update=True
File "c:\users\thoma\documents\lbry\torba\torba\client\baseledger.py", line 296, in update_headers
added = await self.headers.connect(height, unhexlify(headers))
File "c:\users\thoma\documents\lbry\torba\torba\client\baseheader.py", line 106, in connect
await loop.run_in_executor(None, self.validate_chunk, height, chunk)
File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 752, in run_in_executor
executor.submit(func, *args), loop=self)
File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\concurrent\futures\thread.py", line 160, in submit
self._adjust_thread_count()
File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\concurrent\futures\thread.py", line 181, in _adjust_thread_count
t.start()
File "C:\Users\thoma\AppData\Local\Programs\Python\Python37-32\lib\threading.py", line 847, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread

This is pretty much happening with every yt sync wallet I tried. We've transferred a bunch of wallets to users, so they pretty much won't be usable with this update. Marking as a blocker.

fixed in #2304


GraphQLProvider should not be hardcoded in GraphQl widgets: Query, CacheProvider...

GraphQlProvider should be optional for queries and should not be hard coded in CacheProvider and Query widget like this code: client = GraphQLProvider.of(context).value;.
Now you have dependencies with GraphQlProvider and cant be replaced with ordinary Provider or other provider libraries and state management.
Describe alternatives you've considered
Every developer should choose how to provide Client to query and other widgets.
GraphqlWidget should be compatible with provider packages like hooks or Provider.
One solution would be to use bloc, redux add only graphql client with services, but we don't want to  use other state management and boilerplate code for queries and subscriptions. Only Provider or hooks or built in GraphQlProvider with queries and subscriptions and for mutations it is acceptable to use client with services without mutation widget.
GrapqhQl doesn't need to use state management like bloc, redux. Library should provide local state management:
https://www.apollographql.com/docs/react/data/local-state/

I searched closed tickets. I will try this solutions:
https://github.com/zino-app/graphql-flutter/issues/339
https://github.com/FilledStacks/flutter-tutorials/issues/11

@sokolej79 did you succeed in crafting a GraphQL service free of widget dependencies?  I'm relatively new at flutter and dart and so far have been unable to derive a solution from the references you mentioned.

@sokolej79 did you succeed in crafting a GraphQL service free of widget dependencies? I'm relatively new at flutter and dart and so far have been unable to derive a solution from the references you mentioned.

I just use my own widgets for query and mutation with graphql service, which is ordinary service class for read query, mutation and subscription.

I succeeded after a lot of guidance from the flutter_bloc documentation and one particular example in the github repo.
I currently have a GraphQLClient service (I named it hasuraApiClient) with methods performQuery and performMutation; classes FetchGraphQLData and MutateGraphQLData that extend GraphQLEvents (that extends Equatable); a class GraphQLStates that extends Equatable to handle loading, success, and failure states; and GraphQLBloc to handle the FetchGraphQLData and MutateGraphQLData events.  I hope to refactor this to be more compact, but at least I got over the hump.
One way I used this is shown here:
  Widget build(BuildContext context) {
    return Navigator(
      initialRoute: 'questions',
      onGenerateRoute: (RouteSettings settings) {
        WidgetBuilder builder;
        switch (settings.name) {
          case 'questions':
            builder = (BuildContext _) => BlocProvider<GraphQLBloc>(
                  create: (BuildContext context) => GraphQLBloc(
                    hasuraApiClient: hasuraApiClient,
                  )..add(
                      FetchGraphQLData(
                          query: queries.getUserUnansweredQuestions,
                          variables: <String, dynamic>{
                            'user_id': user.uid,
                          }),
                    ),
                  child: QuestionsWidget(
                    token: token,
                    user: user,
                  ),
                  lazy: false,
                );
            break;
. . .

I would be happy to share the whole thing.  I'm a beginning Flutter developer but maybe my solution will be a help to others.

I succeeded after a lot of guidance from the flutter_bloc documentation and one particular example in the github repo.
I currently have a GraphQLClient service (I named it hasuraApiClient) with methods performQuery and performMutation; classes FetchGraphQLData and MutateGraphQLData that extend GraphQLEvents (that extends Equatable); a class GraphQLStates that extends Equatable to handle loading, success, and failure states; and GraphQLBloc to handle the FetchGraphQLData and MutateGraphQLData events. I hope to refactor this to be more compact, but at least I got over the hump.
One way I used this is shown here:
  Widget build(BuildContext context) {
    return Navigator(
      initialRoute: 'questions',
      onGenerateRoute: (RouteSettings settings) {
        WidgetBuilder builder;
        switch (settings.name) {
          case 'questions':
            builder = (BuildContext _) => BlocProvider<GraphQLBloc>(
                  create: (BuildContext context) => GraphQLBloc(
                    hasuraApiClient: hasuraApiClient,
                  )..add(
                      FetchGraphQLData(
                          query: queries.getUserUnansweredQuestions,
                          variables: <String, dynamic>{
                            'user_id': user.uid,
                          }),
                    ),
                  child: QuestionsWidget(
                    token: token,
                    user: user,
                  ),
                  lazy: false,
                );
            break;
. . .

I would be happy to share the whole thing. I'm a beginning Flutter developer but maybe my solution will be a help to others.

Hi @fogelfish
would it be possible to share the code please .. I'm really struggling to make it work. Thanks

I succeeded after a lot of guidance from the flutter_bloc documentation and one particular example in the github repo.
I currently have a GraphQLClient service (I named it hasuraApiClient) with methods performQuery and performMutation; classes FetchGraphQLData and MutateGraphQLData that extend GraphQLEvents (that extends Equatable); a class GraphQLStates that extends Equatable to handle loading, success, and failure states; and GraphQLBloc to handle the FetchGraphQLData and MutateGraphQLData events. I hope to refactor this to be more compact, but at least I got over the hump.
One way I used this is shown here:
  Widget build(BuildContext context) {
    return Navigator(
      initialRoute: 'questions',
      onGenerateRoute: (RouteSettings settings) {
        WidgetBuilder builder;
        switch (settings.name) {
          case 'questions':
            builder = (BuildContext _) => BlocProvider<GraphQLBloc>(
                  create: (BuildContext context) => GraphQLBloc(
                    hasuraApiClient: hasuraApiClient,
                  )..add(
                      FetchGraphQLData(
                          query: queries.getUserUnansweredQuestions,
                          variables: <String, dynamic>{
                            'user_id': user.uid,
                          }),
                    ),
                  child: QuestionsWidget(
                    token: token,
                    user: user,
                  ),
                  lazy: false,
                );
            break;
. . .

I would be happy to share the whole thing. I'm a beginning Flutter developer but maybe my solution will be a help to others.

Hi @fogelfish
would it be possible to share the code please .. I'm really struggling to make it work. Thanks

@prakash-indorkar, I created a gist called working example of flutter_bloc, equatable, graphql_flutter.  There is a lot of context  I do not include in the gist that is either above or below the layers of the widget tree where graphQL is configured and controlled.
I bolted this graphQL functionality into other fully-developed authentication code written by Andrea Bizzotto in his Flutter & Firebase Course: Build a Complete App for iOS & Android, with further assistance from his repo firebase_auth_demo_flutter.
The only piece from higher up the widget tree that I'll show in this post is the part of the main AppState build method where Auth is provided and invoked.  (I've substituted an ellipsis where a number of other providers are added.)
    return FutureBuilder(
      future: _initializeFlutterFireFuture,
      builder: (context, snapshot) {
        switch (snapshot.connectionState) {
          case ConnectionState.done:
            if (snapshot.hasError) {
              return Center(
                child: Text('Error: ${snapshot.error}',
                    textDirection: TextDirection.ltr),
              );
            }
           return MultiProvider(
              providers: [  ... ]
              child: AuthWidgetBuilder(builder: (BuildContext context,
                  AsyncSnapshot<MyAppUser> userSnapshot) {
                return MultiBlocProvider(
                  providers: [
                    BlocProvider<ThemeBloc>(
                      create: (BuildContext context) => ThemeBloc(themeState),
                    ),
                  ],
                  child: MaterialApp(
                    theme: ThemeData(primarySwatch: Colors.indigo),
                    home: EmailLinkErrorPresenter.create(
                      context,
                      child: AuthWidget(userSnapshot: userSnapshot),
                    ),
                  ),
                );
              }),
            );
            break;
          default:
            return Center(
                child: Text('Loading', textDirection: TextDirection.ltr));
        }
      },
    );

My gist contains the complete AuthWidgetBuilder and AuthWidget classes and all GraphQL-specific classes, plus one example of a query.   It does not include any auth UI or code, JWT functionality, or presentation UI for the questions and answers.  (My little app presents rainbow-colored Likert-scale questions retrieved from a Heroku Hasura GraphQL backend and updates the DB with users' answers.)
Experienced devs may see better ways to do what I've done but I was unable to find any tutorials that laid out sample code showing how to integrate flutter_bloc, equatable, and graphql_flutter.  Hope this helps somebody.

@prakash-indorkar, I created a gist called working example of flutter_bloc, equatable, graphql_flutter.  There is a lot of context  I do not include in the gist that is either above or below the layers of the widget tree where graphQL is configured and controlled.
I bolted this graphQL functionality into other fully-developed authentication code written by Andrea Bizzotto in his Flutter & Firebase Course: Build a Complete App for iOS & Android, with further assistance from his repo firebase_auth_demo_flutter.
The only piece from higher up the widget tree that I'll show in this post is the part of the main AppState build method where Auth is provided and invoked.  (I've substituted an ellipsis where a number of other providers are added.)
    return FutureBuilder(
      future: _initializeFlutterFireFuture,
      builder: (context, snapshot) {
        switch (snapshot.connectionState) {
          case ConnectionState.done:
            if (snapshot.hasError) {
              return Center(
                child: Text('Error: ${snapshot.error}',
                    textDirection: TextDirection.ltr),
              );
            }
           return MultiProvider(
              providers: [  ... ]
              child: AuthWidgetBuilder(builder: (BuildContext context,
                  AsyncSnapshot<MyAppUser> userSnapshot) {
                return MultiBlocProvider(
                  providers: [
                    BlocProvider<ThemeBloc>(
                      create: (BuildContext context) => ThemeBloc(themeState),
                    ),
                  ],
                  child: MaterialApp(
                    theme: ThemeData(primarySwatch: Colors.indigo),
                    home: EmailLinkErrorPresenter.create(
                      context,
                      child: AuthWidget(userSnapshot: userSnapshot),
                    ),
                  ),
                );
              }),
            );
            break;
          default:
            return Center(
                child: Text('Loading', textDirection: TextDirection.ltr));
        }
      },
    );

My gist contains the complete AuthWidgetBuilder and AuthWidget classes and all GraphQL-specific classes, plus one example of a query.   It does not include any auth UI or code, JWT functionality, or presentation UI for the questions and answers.  (My little app presents rainbow-colored Likert-scale questions retrieved from a Heroku Hasura GraphQL backend and updates the DB with users' answers.)
Experienced devs may see better ways to do what I've done but I was unable to find any tutorials that laid out sample code showing how to integrate flutter_bloc, equatable, and graphql_flutter.  Hope this helps somebody.


Add SQL Views

📥 Pull Request
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Add SQL Views
Fixes #1972
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

@ajay-dhangar


Link is not working: 404 error

https://github.com/w3f/Web3-collaboration/blob/master/.github/PULL_REQUEST_TEMPLATE/grant_application.md

Thanks!
Yeah. That's the wrong link. For some reason I must have included the wrong link in the grants.md page. I honestly thought I only had working links on that page.
However, I've fixed this issue now!
The pull request template is here:  https://github.com/w3f/Web3-collaboration/blob/master/.github/PULL_REQUEST_TEMPLATE.md
The application template is here: https://github.com/w3f/Web3-collaboration/blob/master/grants/grant_application_template.md


Multi cam support

Hello!
I've made an attempt at adding support for multiple cameras as per #9. It required me to restructure the code somewhat, especially for handling the messages from the eufy-ws-security add-on in one place and sending each packet from the camera to the correct output stream.
It is not possible to add a port range for an Add-on, so I had to add a lot of ports. Right now, I've added 45 ports which is enough for 15 cameras (someone had 11...).
Configuration is done by identifying each camera by its serial number. Unknown camera are listed in the log so it's easy to find the serial numbers.
Caveats:
Eufy cameras rely on P2P streaming. While "easy" to implement, it requires a lot of bandwidth and processing power, i.e., it does not scale well. Each new consumer requires another stream. As an example, my setup uses a Raspberry Pi 4 as the Home Assistant hardware and I have a single Eufy HomeBase 3 and 5 cameras in total. Streaming a single camera to a single consumer, e.g., the Home Assistant App on my phone works fine. Adding the Custom-WebRTC card for all cameras on a single dashboards crashes the Eufy HomeBase since it requires 5 simultaneous streams.
The CPU usage on my Raspberry is also quite high, about 40% just for this plugin (that is not including the ffmpeg conversion done my the go2rtc Add-on). I'm not quite sure why, perhaps I messed up the threads somehow when making the changes.
So, to sum up, I'm not sure it is very usable, at least not for an underpowered Raspberry PI setup, but perhaps someone can improve on it or maybe it works perfectly on a higher power setup.
What I would really like is a simple "all cameras view" in my dashboard in HA, like a CCTV setup. But unless Eufy creates this type of stream directly from their HomeBase I think it is hard to make it work simply because of how the Eufy cameras/HomeBase works. Even if I could create a single combined feed instead of individual feeds (which would definitely help my Raspberry), I'm not sure that the Eufy HomeBase could handle it.

Hi @neerdoc, do you have an example of multiple cameras in a go2rtc config? Also, do you know if this supports solar cameras?


ConnectionResetError raised from hyper

Hi!
It seems that apple will disconnect the socket if the apns client does not send any message to the apns server for a while(maybe several hours)，and a ConnectionResetError would be raised from the underlying hyper package when you send message using the remotely closed socket.
To handle this, I just hack it like the code below, which I don't think is an elegant way.
apns = APNsClient()
try:
    apns.send_notification(device_token, payload, topic=APNS_TOPIC)
except hyper.common.exceptions.ConnectionResetError:
    global apns
    ## just init a new apns client instance
    apns = APNsClient()
    apns.send_notification(device_token, payload, topic=APNS_TOPIC)

There may exist a good way to solve the connection reset problem just in the pyapns2 package,
any ideas?
Thanks.

What about APNsClient.connect()?
The docstring says:

Establish a connection to APNs. If already connected, the function does nothing. If the connection fails, the function retries up to MAX_CONNECTION_RETRIES times.

This just won't work,  the APNsClient.connect method just calls the corresponding connect method from hyper, which does nothing if the connection is already established. you can just refer to the code from the link below.
https://github.com/Lukasa/hyper/blob/development/hyper/http20/connection.py#L344


Add email notifications bullet to help page

We're adding a new bullet to the help page to try to reduce the number of support questions that we get from people asking about email subscriptions.
It looks like this:

https://trello.com/c/3U2bPsgy/329-link-to-help-page-for-email-subscriptions-small

Welcome, @tvararu! :wave:


Price Axis Alignment with SubCharts

Question
Is it possible to set a pixel width for the price axis levels?
Would be easier than converting the data to fit.

Code example
No response

Hey @mash420,
Unfortunately Lightweight Charts does not offer this capability. I'll leave this open as a documentation issue as this has been asked before.
Thanks,
Louis


Precompilation errors introduced on v0.4.9 for Julia 1.11+

cc @avik-pal
It seems like v0.4.9+ of DispatchDoctor.jl causes precompilation errors on Julia 1.11. I'm seeing these on DynamicExpressions.jl and hitting an Unreachable reached error: https://github.com/MilesCranmer/SymbolicRegression.jl/actions/runs/9947224797/job/27479456770?pr=326#step:6:643
However, v0.4.8 of DispatchDoctor works. This is the diff: https://github.com/MilesCranmer/DispatchDoctor.jl/compare/v0.4.8...v0.4.9
Error:
Failed to precompile DynamicExpressions [a40a106e-89c9-4ca8-8020-a735e8728b6b] to "/Users/mcranmer/.julia/compiled/v1.11/DynamicExpressions/jl_b6mm6F".
[48476] signal 4: Illegal instruction: 4
in expression starting at /Users/mcranmer/PermaDocuments/SymbolicRegressionMonorepo/DynamicExpressions.jl/src/DynamicExpressions.jl:120
_eval_tree_array at /Users/mcranmer/PermaDocuments/DispatchDoctor.jl/src/stabilization.jl:301
macro expansion at /Users/mcranmer/PermaDocuments/SymbolicRegressionMonorepo/DynamicExpressions.jl/src/Evaluate.jl:92 [inlined]
#eval_tree_array#2 at /Users/mcranmer/PermaDocuments/DispatchDoctor.jl/src/stabilization.jl:306
eval_tree_array at /Users/mcranmer/PermaDocuments/DispatchDoctor.jl/src/stabilization.jl:301
#test_all_combinations#1 at /Users/mcranmer/PermaDocuments/SymbolicRegressionMonorepo/DynamicExpressions.jl/src/precompile.jl:7
test_all_combinations at /Users/mcranmer/PermaDocuments/SymbolicRegressionMonorepo/DynamicExpressions.jl/src/precompile.jl:22 [inlined]
macro expansion at /Users/mcranmer/PermaDocuments/SymbolicRegressionMonorepo/DynamicExpressions.jl/src/precompile.jl:168 [inlined]
macro expansion at /Users/mcranmer/.julia/packages/PrecompileTools/L8A3n/src/workloads.jl:78 [inlined]
macro expansion at /Users/mcranmer/PermaDocuments/SymbolicRegressionMonorepo/DynamicExpressions.jl/src/precompile.jl:153 [inlined]
macro expansion at /Users/mcranmer/.julia/packages/PrecompileTools/L8A3n/src/workloads.jl:140 [inlined]
#do_precompilation#2 at /Users/mcranmer/PermaDocuments/SymbolicRegressionMonorepo/DynamicExpressions.jl/src/precompile.jl:138
do_precompilation at /Users/mcranmer/PermaDocuments/SymbolicRegressionMonorepo/DynamicExpressions.jl/src/precompile.jl:161
unknown function (ip: 0x112900053)
jl_apply at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/./julia.h:2156 [inlined]
do_call at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/interpreter.c:126
eval_stmt_value at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/interpreter.c:174
eval_body at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/interpreter.c:663
jl_interpret_toplevel_thunk at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/interpreter.c:821
jl_toplevel_eval_flex at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/toplevel.c:943
jl_eval_module_expr at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/toplevel.c:215 [inlined]
jl_toplevel_eval_flex at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/toplevel.c:743
jl_toplevel_eval_flex at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/toplevel.c:886
ijl_toplevel_eval at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/toplevel.c:952 [inlined]
ijl_toplevel_eval_in at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/toplevel.c:994
eval at ./boot.jl:429 [inlined]
include_string at ./loading.jl:2543
_include at ./loading.jl:2603
include at ./Base.jl:558 [inlined]
include_package_for_output at ./loading.jl:2721
jfptr_include_package_for_output_69600.1 at /Users/mcranmer/.julia/juliaup/julia-1.11.0-rc1+0.aarch64.apple.darwin14/lib/julia/sys.dylib (unknown line)
jl_apply at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/./julia.h:2156 [inlined]
do_call at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/interpreter.c:126
eval_stmt_value at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/interpreter.c:174
eval_body at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/interpreter.c:663
jl_interpret_toplevel_thunk at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/interpreter.c:821
jl_toplevel_eval_flex at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/toplevel.c:943
jl_toplevel_eval_flex at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/toplevel.c:886
ijl_toplevel_eval at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/toplevel.c:952 [inlined]
ijl_toplevel_eval_in at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/toplevel.c:994
eval at ./boot.jl:429 [inlined]
include_string at ./loading.jl:2543
include_string at ./loading.jl:2553 [inlined]
exec_options at ./client.jl:316
_start at ./client.jl:526
jfptr__start_71098.1 at /Users/mcranmer/.julia/juliaup/julia-1.11.0-rc1+0.aarch64.apple.darwin14/lib/julia/sys.dylib (unknown line)
jl_apply at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/./julia.h:2156 [inlined]
true_main at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/jlapi.c:900
jl_repl_entrypoint at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-honeycrisp-HL2F7YQ3XH.0/build/default-honeycrisp-HL2F7YQ3XH-0/julialang/julia-release-1-dot-11/src/jlapi.c:1059
Allocations: 83263331 (Pool: 83262478; Big: 853); GC: 4

The changes are pretty small so hopefully it's easy to track this down.
Any guesses @avik-pal?

Could it be something like https://github.com/JuliaLang/julia/issues/54821? We might be missing some dispatch, but it's not super obvious to me if an additional dispatch is needed.

Sorry, I made that PR too early. It seemed it just caused a different error which hid the precompilation error.
I still can't figure it out... Very weird issue

The issue https://github.com/JuliaLang/julia/issues/54821 seems to be different since they report also seeing the error on v1.10.4, whereas I only see this one on v1.11

Ooof, this is one of the nastiest bugs I've ran into... It has this weird interaction with Julia precompilation where it will literally disappear depending on what code you've already precompiled... Meaning you can only see this reliably if you switch from pkg"add DispatchDoctor" and pkg"dev ../DispatchDoctor.jl/". If you precompile from the dev'd one that worked and then been edited back to the failing version, the error will disappear.

Ok, I think I can confirm that it's NOT the kwargs branch. The error only occurs from the change
-      :($(Base).promote_op($simulator, map($specializing_typeof, ($(arg_symbols...),))...))
+      :($(_promote_op)($simulator, $(typeof_args)))

which is here:
https://github.com/MilesCranmer/DispatchDoctor.jl/blob/8cde47c758620ae009e94f9de34c379c450ad9e6/src/stabilization.jl#L272.
If I only change back this branch, it seems to start working again. (I think)

Ok, it seems to be working, except now Zygote is generating type instabilities again. Want to take a look and see if you have luck?
For the record I'm testing the precompilation errors with the master version of DynamicExpressions.jl, and dev'ing DispatchDoctor:
julia +1.11 --project=. -e 'using Pkg; pkg"dev ~/DispatchDoctor.jl/"; pkg"precompile"'

Moved to https://github.com/JuliaLang/julia/issues/55147 as it seems to be a Julia bug


code in footnotes are black while normal text is grey

In footnotes, code is displayed with a much darker color than the normal footnote text. I suggest the text color should be roughly the same. (The normal text may well be a bit darker in the footnotes, see  #110 )

There might be some issues left over from Sphinx altering the html output here. I'll delve into this in the next few days.


openid-configuration is called in every acquireTokenSilent call (B2C)

Please follow the issue template below. Failure to do so will result in a delay in answering your question.

Library

[ ]<EMAIL_ADDRESS>or<EMAIL_ADDRESS>[x]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
<EMAIL_ADDRESS>Framework
React
Description
/.well-known/openid-configuration endpoint is called every time I call acquireTokenSilent
At first I call loginRedirect with scopes
const loginRequest: RedirectRequest = {
    scopes: [],
    extraScopesToConsent: [ 'offline_access' ]
};

and then acquireTokenSilent with the same scopes. The problem is that I see a request to /.well-known/openid-configuration of my B2C policy every time which is totally wrong to me. Looks like it's not cached for some reason...
MSAL Configuration
const msalConfig: Configuration = {
    auth: {
        clientId: AZURE_AUTH_APP_CLIENT_ID,
        redirectUri: redirectUri,
        postLogoutRedirectUri: logoutUri,
        knownAuthorities: [ AZURE_B2C_TENANT_NAME, 'login.microsoftonline.com' ]
    },
    cache: {
        cacheLocation: 'localStorage',
        storeAuthStateInCookie: false,
    },
    system: {
        tokenRenewalOffsetSeconds: 0,
        loadFrameTimeout: 9000,
        loggerOptions: {
            logLevel: LogLevel.Error,
            loggerCallback: msalLoggerCallback
        }
    }
  };

Expected behavior
openid-configuration should only be called once
Browsers/Environment

[x] Chrome
[ ] Firefox
[ ] Edge
[ ] Safari
[ ] IE
[ ] Other (Please add browser name here)

@Codeluck What I'm not seeing here is where you're specifying your authority. Try providing your B2C authority on msalConfig.auth.authority
If you are passing an authority to your request object which is different from the value of msalConfig.auth.authority (defaults to login.microsoftonline.com/common) it will make a new call to the openid-config endpoint each time by design. I recognize that may have a performance impact if you have several authorities you are trying to use for different calls so we may consider enhancing this in the future.

@tnorling thank you for the answer. Yes, I use 2 authorities which are different custom B2C policies. I conditionally determine the policy right at the moment of sign in. Therefore I have to bypass msalConfig.auth.authority (it's not set as you see) and pass it as a request parameter when calling loginRedirect or acquireTokenSilent. Will it cause openid-config to be re-called on each request?

@Codeluck Yes. Is there a reason you can't do your conditional logic before initializing msal? Do you need to switch back and forth between the authorities in the same browser context?

@tnorling I've finally implemented a conditional initialization of my msalObject so that the "main" current authority is always set as msalConfig.auth.authority. Now it works like a charm! I don't see any extra requests to my B2C's policy well-known/openid-configuration endpoint anymore. Thank you very much for your suggestion! It would be great if you can describe such a behavior in the documentation. It was not so obvious to me :) I think we can close this thread.

@Codeluck Thanks for the update, glad that worked out! I'll leave this open for now and mark it as an enhancement as I do think there's room for improvement here.

@tnorling We are setting our authority on app initialization (we also have two authorities), but are still seeing this behavior on<EMAIL_ADDRESS>Do you have any other suggestions for what we could do?

@rugglcon Version 1.x behaves a little bit differently. Are you perhaps also passing the authority to your request object? If you are only setting it on app initialization and not as part of the request, it should only be called once. But every request that has an authority provided on it will make the openid-config call.

@tnorling No, we are not. But we updated to 1.4.0 to test if that has the same behavior, and it didn't send multiple requests to openid-configuration endpoint. Not sure why, we didn't change any code all we did was update the version. Oh well, thanks for the reply!


[AIFlow] Add server cli command

Describe the feature
Add server cli command that starts the AIFlow server.
Describe the solution you'd like

Describe alternatives you've considered

Additional context

Fixed in #198


attempt to update to newer version

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

requirements: run: flake8 >= 3.7 should not contain a space between relational operator and the version, i.e. flake8 >=3.7
requirements: run: python >= 3.6 should not contain a space between relational operator and the version, i.e. python >=3.6
Non noarch packages should have python requirement without any version constraints.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

noarch packages can't have selectors. If the selectors are necessary, please remove noarch: True.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@muyajil
It should be possible to merge this PR to get python 3.9 compatibility


[docs] [python] Lifecycle tags should exist for all methods

Lifecycle tags do not exist on all methods. At least all public methods should consistently have them. Audit all methods and add Lifecycle: Experimental on the missing ones.
Doc link: https://tiledbsoma.readthedocs.io/en/latest/python-api.html#module-tiledbsoma

Done with current audit (until someone adds a new docstring that lacks the iifecycle tag anyway)
https://tiledbsoma.readthedocs.io/en/latest/python-api.html
@ebezzi Please let me know if I've missed anything and we can re-open.


Datepicker event on month active

If applied, implements the active month change event, returning a Date
object.
My issue: https://github.com/angular/material2/issues/12403

I'm sorry. How can I edit this pull request?

@Chan4077 , thanks for your help.
The travis build failed, but in other files that I not edited. Can this stop my pull request?

Based on the conversation on #12403, I would expect to see something like (calendarViewChange) that emits whenever the page changes (no matter the view - month, year, multi-year) and whenever you change between views (e.g. multi-year to year)

@mmalerba ,
The @jelbourn comment:

I see- you want to lazy request information from the server based on which month is currently rendered. I think it's reasonable to have events emitted when the current rendered view changes (whether it's month, year, or multi-year).

Subscribing the (activeMonthChange) you can know when the rendered month/year changes, and its very important for lazy requests. I don't see a real application for multi-year or year view change event, nor what its can returns for programmer.
Thanks for review my first pull request :D
I accept suggestions about how improve this, if necessary.

It's still more flexible to provide the active-view change rather than being exclusively for months.

Right.
What the (activeViewChange) event should returns?

Hi, so...

Actually, we have a (monthSelected), but emit only when month in year view is clicked. My sugestion implements a subscribe in month change. A month can change in any scenario, so its complete.

I think an object like {previousView: ..., currentView: ...} would be fine, then people could filter the events down to only the ones they care about

any updates on this one?

any updates on this one?

I forgot this pull request, but I'll continue it.

Closing due to inactivity


check if there is await before function calls that contain await in their implementation

basically check that we await the functions that should be awaited. i may have not awaited functions that should have been. better safe than sorry.


Organize file IO related functions to their own module

According to our previous discussions, it would make sense to group all of the IO related functions to their own module. Currently basUtils.py has most of those functions, but it has also some other functions that would better fit into atomicUtils.py.
So the proposal would be to rename basUtils.py into io.py and move the following functions to atomicUtils.py: findBonds, findBondsNP, findBonds_, findBondsSimple, multCell.
Additionally, GridUtils.py also has some IO functions, saveXSF etc., which could either be moved to the new io.py or at least imported there so that all IO function can be accessed in one place.
But we should wait until #24 gets resolved before doing this.

This is not blocked anymore, so I'll start working on it.


Fixed crash when uri encoding pound sign

This prevents a segfault when url encoding £.
Segmentation fault (Signal sent by the kernel)
/usr/local/lib/x86_64-linux-gnu/perl/5.22.1/auto/HTTP/XSCookies/XSCookies.so(url_encode+0x40)[0x7f72271e7180]
/usr/local/lib/x86_64-linux-gnu/perl/5.22.1/auto/HTTP/XSCookies/XSCookies.so(+0x33c1)[0x7f72271e63c1]
/usr/local/lib/x86_64-linux-gnu/perl/5.22.1/auto/HTTP/XSCookies/XSCookies.so(cookie_put_string+0xe)[0x7f72271e64ae]
/usr/local/lib/x86_64-linux-gnu/perl/5.22.1/auto/HTTP/XSCookies/XSCookies.so(+0x2c2d)[0x7f72271e5c2d]
perl(Perl_pp_entersub+0x48a)[0x4bd3ca]
perl(Perl_runops_standard+0x16)[0x4b6276]
perl(perl_run+0x2f9)[0x443c59]
perl(main+0x12b)[0x41cbbb]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f7227d34830]
perl(_start+0x29)[0x41cbf9]
Segmentation fault (core dumped)

Thanks for that patch. I refactored it a bit (into a macro) and made sure the same logic was applied in two other places.
Tomorrow I will cut upload a new version to CPAN. Cheers!

Thank you.  That's perfect.

New version HTTP-XSCookies-0.000011 just uploaded to CPAN. It includes a fix for a very infrequent bug in one of the tests, so I expect now to see a full green scorecard... Here's hoping.


[Snyk] Security upgrade CrispyWaffle from 8.2.149 to 8.2.185

User description

Snyk has created this PR to fix 1 vulnerabilities in the nuget dependencies of this project.
Snyk changed the following file(s):

Src/Sankhya/Sankhya.csproj

Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Inefficient Algorithmic Complexity SNYK-DOTNET-SYSTEMTEXTJSON-8168848
  721

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

Description

Upgraded CrispyWaffle package to address security vulnerabilities.
This upgrade resolves the issue identified by Snyk:
Inefficient Algorithmic Complexity.

Changes walkthrough 📝
Relevant filesDependencies

Sankhya.csprojUpgrade CrispyWaffle package to fix vulnerabilities

Src/Sankhya/Sankhya.csproj
Upgraded CrispyWaffle package from version 8.2.149 to 8.2.185.

+1/-1

💡 Penify usage:
Comment /help on the PR to get a list of all available Penify tools and their descriptions

:white_check_mark: Build Sankhya-SDK-dotnet 3.0.868 completed (commit https://github.com/guibranco/Sankhya-SDK-dotnet/commit/f271e34920 by @snyk-bot)


Remove GitHub URL from dependencies

Right now engine.io-client has a GitHub URL as a dependency for the xmlhttprequest module. Looking into the tarball it references, it's version 1.5.0 of the module.
This version has been on NPM since 2012 and 1.6.0 was published last year.
Is there any chance of using the NPM version instead of the GitHub tarball?

Any update?

@rase- We are currently using your branch of xmlhttprequest. Have those features been accepted upstream?

@defunctzombie not yet. The plan is to get them upstream either to the original repo or the learnboost fork, or maybe to a separate module before the next release.

+1. Can you please advise when will the next release be that will address this? Thanks

+1

there are currently these issue #348 , #384 on this same issue. Is there any update to this?

I dug around a bit in the commit history for the various forks of xmlhttprequest. (Probably none of this is news to SIO/EIO contributors but is new to me and maybe other bystanders.) https://github.com/driverdan/node-XMLHttpRequest/commits/master is the original, it was forked at 9f926de into https://github.com/LearnBoost/node-XMLHttpRequest/commits/master which got 4 additional commits -- these changes do not look huge -- then that was forked at https://github.com/rase-/node-XMLHttpRequest/commits/add/ssl-support which got 2 additional commits to add SSL support, which is presumably what EIO/SIO want. In the meantime, work on the original repo has continued and it has ~25 commits the forks don't.
IMHO it would be great if one of the following happened:

when using EIO/SIO in NodeJS, don't use xmlhttprequest at all, use pure http or a wrapper library that doesn't force XHR spec details on an environment without a separate user agent (for reasons explained here)
barring that, get the SSL code from @rase-'s fork into the upstream repo
barring that, if EIO/SIO keep using @rase-'s fork, can it please be packaged on npmjs.org so at least EIO/SIO support the normal package/install workflows?

It would be fine to fix because tools like NSP ignore dependencies with links:
$ nsp audit-package
Warning: Git dependency [xmlhttprequest@https://github.com/rase-/node-XMLHttpRequest/archive/a6b6f2.tar.gz] ignored.
Warning: Git dependency [global@https://github.com/component/global/archive/v2.0.1.tar.gz] ignored.
No vulnerable modules found

This is showstopper, since with absolute github.com reference, it ignores .npmrc settings and therefore it is impossible to clone this behind corporate proxy.
We are using Artifactory as npm mirror and don't have direct access to the internet. Only access is via proxy, with requires NTLM authentication. This can be bypassed by cntlm project, but reason we have artifactory is that we don't have to. This change breaks the builds.

+1 the absolute reference to the github 'dependency' is a real bummer.

The @rase- forkis already on npm as xmlhttprequest-ssl and this is committed in the package of engine.io-client however there were several errors with the package as committed and released by @rauchg on the 9th. I just submitted a PR now to fix, #401