Objects not deleting

I'm using Rails 3.2 with elasticsearch-rails and elasticsearch-model 0.1.7
Delete not working locally using include Elasticsearch::Model::Callbacks
Any idea why / what's going on?

Correction, delete not working locally using include Elasticsearch::Model::Callbacks

I'm afraid a question like that cannot be answered without seeing what's going on in code.
I suggest you try to model the problem you see with the activerecord_article.rb so we can share a common codebase.

Ended up adding after_destroy { |r| __elasticsearch__.delete_document  } to my model and now the delete function is working

@bcackerman Yeah, that's correct, the weird thing is that it basically just does what the automatic Callbacks modules is doing, and there's an integration test for that: https://github.com/elastic/elasticsearch-rails/blob/master/elasticsearch-model/test/integration/active_record_basic_test.rb#L105-L117
Closing this one if it's OK, let's reopen please if/when we have more info!


Added Kerr-Newman metric in Boyer-Lindquist coordinates to predefined metrics, issue #360

Added Kerr-Newman metric in Boyer-Lindquist coordinates to predefined metrics, issue #360
Fixes #360

@ritzvik

Hello @gimseng! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file src/einsteinpy/symbolic/predefined/vacuum_solutions.py:

Line 69:54: E231 missing whitespace after ','
Line 82:75: W291 trailing whitespace
Line 95:38: E226 missing whitespace around arithmetic operator
Line 103:82: W504 line break after binary operator
Line 105:11: W504 line break after binary operator

There seems to be problem for the line "  rQsq = (Q2 G) / (4 np.pi eps0 c4) "
I suspect its because np.pi is not defined? What is the right way to call 'pi' in this project?

I'll have a look at the actual code in a while. A few points ,

We adhere to a specific code style to maintain homegenity and clarity. See https://docs.einsteinpy.org/en/latest/dev_guide.html#code-linting
Add the function to predefined/__init__.py
Add the tests to tests/test_symbolic/test_predefined/test_all.py

There seems to be problem for the line " rQsq = (Q2 G) / (4 np.pi eps0 c4) "
I suspect its because np.pi is not defined? What is the right way to call 'pi' in this project?

import sympy
sympy.pi

One more thing,
In future, kindly create separate branches for separate PRs. master is meant to either fall in line or lag being upstream, but never to diverge.

Question: If the pull request contains files that need substantial / somewhat substantial changes, is it better to change within this pull request or should I close this pull request and submit a new one?

Question: If the pull request contains files that need substantial / somewhat substantial changes, is it better to change within this pull request or should I close this pull request and submit a new one?

It is expected that the whole issue and all the changes related to it goes through as one PR.
Don't hesitate to ask. We all started with open source somewhere down the line :)

I closed #428 and #429 . Please make the changes here.

Also, see this

Q1: For the other two PR (now closed), I edited other files. Could I access those files in this PR? They were not changed in my original PR (this one).
Q2: I changed the file in this PR to fix the pi issue. Have all the test been automatically done on the updated file?
Q3: I see that for the code test ("Test_MacOS / build (3.7) (pull_request) Failing after 2m — build (3.7)", I encountered a syntax error which said that the Newton constant G is invalid syntax?  I have no idea what that was a problem, since G was passed as an argument to the function

Q1: For the other two PR (now closed), I edited other files. Could I access those files in this PR? They were not changed in my original PR (this one).

I guess the changes were not substantial, and can be replicated here quite easily. Anyway, just click on #428 and #429 , the go the respective PR and see the changes.

Q2: I changed the file in this PR to fix the pi issue. Have all the test been automatically done on the updated file?

Tests run on each commit automatically. The tests are failing as you can see, but we would come to that in a while.

Q3: I see that for the code test ("Test_MacOS / build (3.7) (pull_request) Failing after 2m — build (3.7)", I encountered a syntax error which said that the Newton constant G is invalid syntax? I have no idea what that was a problem, since G was passed as an argument to the function

That's because the line you wrote is this rQsq = (Q**2 G) / (4 pi eps0 c**4). However python requires * symbol to actually multiply things.
What is required is this
rQsq = (Q**2 * G) / (4 * pi * eps0 * c**4)

Also you would require to define eps_0 here. It has not been defined before
https://github.com/einsteinpy/einsteinpy/blob/c92092ce73787a40e2b7b20dcc7ac3024b6089dc/src/einsteinpy/symbolic/constants.py#L39-L41
eps_0 = SymbolicConstant("eps_0", "Permittivity of free space")
Make the required changes here also,
https://github.com/einsteinpy/einsteinpy/blob/c92092ce73787a40e2b7b20dcc7ac3024b6089dc/src/einsteinpy/symbolic/constants.py#L60
Maybe this sounds obnoxious, but eps_0 should be preferred over eps0. There's a reason behind it. For your intrigue, search about sympy pretty printing.

Also, to pass the quality checks see the previous comment.
https://github.com/einsteinpy/einsteinpy/pull/427#issuecomment-584589434

I know this is tiring, but open source requires a certain consistency and quality to maintain. You would encounter extensive reviews with projects much bigger than this.

Also you would require to define eps_0 here. It has not been defined before
https://github.com/einsteinpy/einsteinpy/blob/c92092ce73787a40e2b7b20dcc7ac3024b6089dc/src/einsteinpy/symbolic/constants.py#L39-L41
eps_0 = SymbolicConstant("eps_0", "Permittivity of free space")
Make the required changes here also,
https://github.com/einsteinpy/einsteinpy/blob/c92092ce73787a40e2b7b20dcc7ac3024b6089dc/src/einsteinpy/symbolic/constants.py#L60
Maybe this sounds obnoxious, but eps_0 should be preferred over eps0. There's a reason behind it. For your intrigue, search about sympy pretty printing.

Cool, I will do so. I am a little lost as to how to edit another files not on this PR. I click on those files (some on another closed PR) and some not changed in this PR, but I didn't see how to "merge" them into this PR.

I know this is tiring, but open source requires a certain consistency and quality to maintain. You would encounter extensive reviews with projects much bigger than this.

I am also ok with extensive review, am just happy that everyone is helpful and patient. There is some learning curve to the standard/practice that I am really learning and would like to get used to.

Seems that it compiled ok, but styling is off. I have no clue what is this 'black' styling thing, could someone point me to the right direction? Many thanks !

Also you would require to define eps_0 here. It has not been defined before
https://github.com/einsteinpy/einsteinpy/blob/c92092ce73787a40e2b7b20dcc7ac3024b6089dc/src/einsteinpy/symbolic/constants.py#L39-L41
eps_0 = SymbolicConstant("eps_0", "Permittivity of free space")
Make the required changes here also,
https://github.com/einsteinpy/einsteinpy/blob/c92092ce73787a40e2b7b20dcc7ac3024b6089dc/src/einsteinpy/symbolic/constants.py#L60
Maybe this sounds obnoxious, but eps_0 should be preferred over eps0. There's a reason behind it. For your intrigue, search about sympy pretty printing.

Cool, I will do so. I am a little lost as to how to edit another files not on this PR. I click on those files (some on another closed PR) and some not changed in this PR, but I didn't see how to "merge" them into this PR.

nvm, I found out I could change it in my github fork and update the PR.

To get code-linting right, make sure you have black, isort and tox installed.
pip3 install black isort tox
Run the command tox -e reformat

I guess, after the required changes and quality checks, I'll merge @gimseng

To get code-linting right, make sure you have black, isort and tox installed.
pip3 install black isort tox
Run the command tox -e reformat

Well, if you have the development environment setup, you will have these tools pre-installed.
If not, please check the contribution guidelines for better understanding :D

Alright, thanks for the suggestion for the code linting. I will do as you suggested, and update the docstring. If I have more questions, I will make some noise here.

@ritzvik, I think the codes passed all check, and I have addressed all of your requests. Let me know if I need to update/change/polish something else. Thanks so much for the help !

That's pretty much it I guess.
Few takeaway points :

I'll be squashing and merging this PR, because there are a lot of redundant commits. Your master branch would become desynchronized because of that and you would need to fix it.
This was a small addition, but in future, large changes would require multiple organized commits. So you would need to learn about squashing and rebasing (these are git topics). Most importantly, try to search about "interactive rebasing"
Also, new features are always added from new branches, and not from master. Using master to propose changes would be detrimental in the long run.

However, I feel good that our projects is attracting physics people aside from computer science people.
Thanks for this. I'll be merging it. If we need to ask or clear up anything, a ping on riot would do!
Also, please add your name and affiliation to https://github.com/einsteinpy/einsteinpy-0.3.0-paper/issues/10
Cheers 🍻
Captain flies away

Don't forget to create a merge commit :p

This email is sent from a smartphone. Please ignore grammatical mistakes
and typographical errors.

On Wed, Feb 12, 2020, 12:33 PM Ritwik Saha<EMAIL_ADDRESS>wrote:

That's pretty much it I guess.
Few takeaway points :

I'll be squashing and merging this PR, because there are a lot of
redundant commits. Your master branch would become desynchronized because
of that and you would need to fix it.
This was a small addition, but in future, large changes would
require multiple organized commits. So you would need to learn about
squashing and rebasing (these are git topics). Most importantly, try to
search about "interactive rebasing"
Also, new features are always added from new branches, and not from
master. Using master to propose changes would be detrimental in the long
run.

However, I feel good that our projects is attracting physics people aside
from computer science people.
Thanks for this. I'll be merging it. If we need to ask or clear up
anything, a ping on riot would do!
Also, please add your name and affiliation to
einsteinpy/einsteinpy-0.3.0-paper#10
https://github.com/einsteinpy/einsteinpy-0.3.0-paper/issues/10
Cheers 🍻
Captain flies away
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/einsteinpy/einsteinpy/pull/427?email_source=notifications&email_token=AFZCK6TTWSUBATFTBRPVMMTRCONLBA5CNFSM4KS6ZYZKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELPVCRQ#issuecomment-585060678,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFZCK6U7N5H2AEYKMD6V2R3RCONLBANCNFSM4KS6ZYZA
.

Don't forget to create a merge commit :p

If that's what you want, I'll comply 😃

That's pretty much it I guess.
Few takeaway points :

I'll be squashing and merging this PR, because there are a lot of redundant commits. Your master branch would become desynchronized because of that and you would need to fix it.
This was a small addition, but in future, large changes would require multiple organized commits. So you would need to learn about squashing and rebasing (these are git topics). Most importantly, try to search about "interactive rebasing"
Also, new features are always added from new branches, and not from master. Using master to propose changes would be detrimental in the long run.

However, I feel good that our projects is attracting physics people aside from computer science people.
Thanks for this. I'll be merging it. If we need to ask or clear up anything, a ping on riot would do!
Also, please add your name and affiliation to einsteinpy/einsteinpy-0.3.0-paper#10
Cheers 🍻
Captain flies away

Hi thanks for the suggestions, I will look up and learn these things.
A few notes on the Kerr-Newman solution: I am not sure if its conventional to list that under "vacuum" solution, since it solves not the vacuum Einstein equation, but the one with stress tensor of an electric field. Typically, we would also provide the solution for the gauge field (with just colomb 1/r profile with electric charge). I wonder if eventually we would want to clarify this distinction and provide the gauge field solution.

Hi thanks for the suggestions, I will look up and learn these things.
A few notes on the Kerr-Newman solution: I am not sure if its conventional to list that under "vacuum" solution, since it solves not the vacuum Einstein equation, but the one with stress tensor of an electric field. Typically, we would also provide the solution for the gauge field (with just colomb 1/r profile with electric charge). I wonder if eventually we would want to clarify this distinction and provide the gauge field solution.

Let's merge this for now. As far as I know, Kerr-Newman is a vacuum solution. I may be wrong.
So, What I am suggesting is that you should open an issue about it, providing a few more details.

Hi thanks for the suggestions, I will look up and learn these things.
A few notes on the Kerr-Newman solution: I am not sure if its conventional to list that under "vacuum" solution, since it solves not the vacuum Einstein equation, but the one with stress tensor of an electric field. Typically, we would also provide the solution for the gauge field (with just colomb 1/r profile with electric charge). I wonder if eventually we would want to clarify this distinction and provide the gauge field solution.

Let's merge this for now. As far as I know, Kerr-Newman is a vacuum solution. I may be wrong.
So, What I am suggesting is that you should open an issue about it, providing a few more details.

Ok perhaps we will clarify this later on.
As for another thing that you mentioned "Also, new features are always added from new branches, and not from master. Using master to propose changes would be detrimental in the long run."
I am a bit confused on how to practically do this. I forked the repo to my own GitHub, made changes, then I committed them and then created a pull request. Do you mean when I made the pull request, I should choose the second option (at least on GitHub) which asked to branch out with a new branch name? (I somehow did something like that once and it just remained as a pull request on my GitHub ....)

Hi thanks for the suggestions, I will look up and learn these things.
A few notes on the Kerr-Newman solution: I am not sure if its conventional to list that under "vacuum" solution, since it solves not the vacuum Einstein equation, but the one with stress tensor of an electric field. Typically, we would also provide the solution for the gauge field (with just colomb 1/r profile with electric charge). I wonder if eventually we would want to clarify this distinction and provide the gauge field solution.

Let's merge this for now. As far as I know, Kerr-Newman is a vacuum solution. I may be wrong.
So, What I am suggesting is that you should open an issue about it, providing a few more details.

Ok perhaps we will clarify this later on.
As for another thing that you mentioned "Also, new features are always added from new branches, and not from master. Using master to propose changes would be detrimental in the long run."
I am a bit confused on how to practically do this. I forked the repo to my own GitHub, made changes, then I committed them and then created a pull request. Do you mean when I made the pull request, I should choose the second option (at least on GitHub) which asked to branch out with a new branch name? (I somehow did something like that once and it just remained as a pull request on my GitHub ....)

Try to scroll through this. You would get an idea!

Hi thanks for the suggestions, I will look up and learn these things.
A few notes on the Kerr-Newman solution: I am not sure if its conventional to list that under "vacuum" solution, since it solves not the vacuum Einstein equation, but the one with stress tensor of an electric field. Typically, we would also provide the solution for the gauge field (with just colomb 1/r profile with electric charge). I wonder if eventually we would want to clarify this distinction and provide the gauge field solution.

Let's merge this for now. As far as I know, Kerr-Newman is a vacuum solution. I may be wrong.
So, What I am suggesting is that you should open an issue about it, providing a few more details.

Ok perhaps we will clarify this later on.
As for another thing that you mentioned "Also, new features are always added from new branches, and not from master. Using master to propose changes would be detrimental in the long run."
I am a bit confused on how to practically do this. I forked the repo to my own GitHub, made changes, then I committed them and then created a pull request. Do you mean when I made the pull request, I should choose the second option (at least on GitHub) which asked to branch out with a new branch name? (I somehow did something like that once and it just remained as a pull request on my GitHub ....)

Try to scroll through this. You would get an idea!

Alright, that's exactly what I needed, many thanks !


Missing bioconda recipes

http://comet-ms.sourceforge.net/release/

Hey Leon Kuchenbecker opened this today:

https://github.com/bioconda/bioconda-recipes/pull/11793

Noice!


JSON-Schema request/response validation

Is there any support or plan for supporting JSON-Schema for request/response validation?
I assume using a middleware like falconjsonio (https://bitbucket.org/garymonson/falcon-json-io) would do the trick.
#198 suggests generation of Swagger/OpenAPI docs. JSON-Schema request/response validation is part of the Swagger/OpenAPI spec.

a pluggable system would be good, as i prefer cerberus for data validation.


Optimize fromFunction1 for AnonFunction1

Can one of the admins verify this patch?

What motivates this change? What is your use case, and what change does it bring to your generated code that makes this worth it?

I saw that Binding.scala creates some js.Function wrapper for AnonFunction1 in <input onclick={_: Event => ???}/>
    element$macro$59$1.onclick = (function(f) {
      return (function(arg1) {
        return f.apply__O__O(arg1)
      })
    })(newValue$macro$61$1)

I hope the wrapper can be eliminated by this PR

There were similar approach in the implicit converter from js.WrappedArray to js.Array

I hope the wrapper can be eliminated by this PR

"hope"? Didn't you actually try? Does this PR have any impact on the observed performance?

Actually, this change can't possibly make any difference, because the body of js.Any.fromFunctionN is not even taken into account. The compiler rewrites calls to fromFunctionN as a primitive. Closing this.


Added a new Migration Partner

logo is in pull request #79207

@JordanS22 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Can you give me any context for this set of changes? Are you making these at someone's direction? Please advise...

this is a suggestion from the software vendor - Devart

@JordanS22 - Rather than updating the page directly, please send the request to<EMAIL_ADDRESS>via email.  I will review with the internal team and make the updates accordingly. Thank you!

@JordanS22 @HJToland3 - if you're taking this to email, please close this PR. Thanks!

@JordanS22, let's manage this through email. I am back from holiday today.  Please close this PR.  Thanks!

#please-close


Abort() has been called when trying to run the exe in windows 10 visual studio 2019

Hi when i try to run the exe from the bin folder Debug x64 and win32 It will abort, I did migrate the project to visual studio 2019. I am using windows 10 home.

This mostly likely means that an assert has triggered.

@walbourn thanks it was because of a font file that I did not include in the debug folder. And the exe would abbort. Is there a way to duplicate the entries while release or debug so the executable contains all the files with dependency I'm using visual studio 2019.

Win32 desktop development doesn't have a notion of 'packaging' like UWP or Xbox. Desktop apps are usually developed 'in place' and then later repacked as part of some kind of installer.
For examples of coping with this see ReadData.h and FindMedia.h.


Allow publishers to retire their assets

Sometimes, a publisher will decide that he/she wants to retire their asset.
We should allow this in UI as well.
It's already implemented in the backend (https://github.com/oceanprotocol/ocean.js/blob/main/src/contracts/NFT.ts#L639)
This requires UI work and some thinking about warning messages (are you sure, etc..)
Only nft.owner can call this

We can have a state dropdown in edit. In profile we will show the owner all his assets, regardless of state. There he can switch back  the state to 0 if he wants to

For the time being:

Go to NFT etherscan page (hover over NFT image i in market).
Go to contract tab, write contract.
Go to setMetaDataState, type your desired state and write, done.

Blocked by the lack of specs: https://github.com/oceanprotocol/docs/issues/1159


Linting fixes

Description
Fixing some linting issues in generated output. See details in issue.
Related # (issue)
#8795
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
These are just linting fixes. I updated the relevant tests so that they pass.
Checklist:

[x] I have followed the CONTRIBUTING doc and the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] 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
[ ] Any dependent changes have been merged and published in downstream modules

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

Do any of you guyes develop in a Windows environment? I'm having trouble with the prettier script:
shmax@DESKTOP-N9F7C24 MINGW64 /d/repos/shmax/graphql-code-generator (linting-fixes)
$ yarn run prettier:check
yarn run v1.22.15
$ prettier --cache --check .
[error] Cannot find module 'node:path'
[error] Require stack:
[error] - D:\repos\shmax\graphql-code-generator\node_modules\prettier-plugin-sh\lib\index.cjs
[error] - D:\repos\shmax\graphql-code-generator\node_modules\prettier\index.js
[error] - D:\repos\shmax\graphql-code-generator\node_modules\prettier\cli.js
[error] - D:\repos\shmax\graphql-code-generator\node_modules\prettier\bin-prettier.js
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

This is, of course, after running yarn install. Any ideas?

Do any of you guyes develop in a Windows environment? I'm having trouble with the prettier script:
shmax@DESKTOP-N9F7C24 MINGW64 /d/repos/shmax/graphql-code-generator (linting-fixes)
$ yarn run prettier:check
yarn run v1.22.15
$ prettier --cache --check .
[error] Cannot find module 'node:path'
[error] Require stack:
[error] - D:\repos\shmax\graphql-code-generator\node_modules\prettier-plugin-sh\lib\index.cjs
[error] - D:\repos\shmax\graphql-code-generator\node_modules\prettier\index.js
[error] - D:\repos\shmax\graphql-code-generator\node_modules\prettier\cli.js
[error] - D:\repos\shmax\graphql-code-generator\node_modules\prettier\bin-prettier.js
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

This is, of course, after running yarn install. Any ideas?

what node version?

what node version?

14.16.0

what node version?

14.16.0

you need to have at least v14.18.0

you need to have at least v14.18.0

Okie-doke, I'll give it a try, thank you.

could you also add a changeset with patch version for modifying packages? so users will know about this improvement?

could you also add a changeset with patch version for modifying packages? so users will know about this improvement in next release

Sure, if that's the custom.

I think I need a little help with changeset, too. I see it listed in package.json, but there is nothing under "scripts" for it, and when I try "yarn changeset" I get:
shmax@DESKTOP-N9F7C24 MINGW64 /d/repos/shmax/graphql-code-generator (linting-fixes)
$ yarn changeset
yarn run v1.22.15
$ D:\repos\shmax\graphql-code-generator\node_modules\.bin\changeset
/usr/bin/bash: D:reposshmaxgraphql-code-generatornode_modules.binchangeset: command not found
←[2K←[1G←[31merror←[39m Command failed with exit code 127.
←[2K←[1G←[94minfo←[39m Visit ←[1mhttps://yarnpkg.com/en/docs/cli/run←[22m for documentation about this command.

Same errors even after installing it globally. How does one use this tool?

I think I need a little help with changeset, too. I see it listed in package.json, but there is nothing under "scripts" for it, and when I try "yarn changeset" I get:
shmax@DESKTOP-N9F7C24 MINGW64 /d/repos/shmax/graphql-code-generator (linting-fixes)
$ yarn changeset
yarn run v1.22.15
$ D:\repos\shmax\graphql-code-generator\node_modules\.bin\changeset
/usr/bin/bash: D:reposshmaxgraphql-code-generatornode_modules.binchangeset: command not found
←[2K←[1G←[31merror←[39m Command failed with exit code 127.
←[2K←[1G←[94minfo←[39m Visit ←[1mhttps://yarnpkg.com/en/docs/cli/run←[22m for documentation about this command.

Same errors even after installing it globally. How does one use this tool?

I've just added it for you, let's wait for another approve and we'll merge it

Sounds good, thanks much 👍

thanks @shmax!

Thanks for the review 👍


add filter to cli

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

Coverage increased (+5.02%) to 48.773% when pulling 20669b3ec85e454b73bbefbb8d40bab090edf3c3 on lasshpanzer:clifilter into 06e3eaee41eeba7ecc0e11b247fa21cae7a69662 on opensds:development.

In future PRs, please add at least basic information in the PR description to fill in the template provided.


New PR to test SignCLA at 2018-03-27 14:40:18.10311253 -0700 PDT m=+5.260471929

Body of PR

unsigned-fail-fork-staging: test succeeded


[Target] Fix device mask issue and typos

Hi Community,
Currently, I am working on the Heterogeneous Execution by using Composite Target. I found it is not included in the Device.STR2MASK map and will be failed when compiling with it. So, I added it back and checked all the other targets. Not surprisingly, there are some other issues. Now, I add a Consistency verification case to help us check it. :)
In addition to these, I still have some doubts.

Since introducing the new Target System,  the device type is saved in each Target (tvm.target.Target.kind). It seems that some attributes of the Device in runtime_ctypes.py are redundant, such as MASK2STR and STR2MASK. Then the issue raised here is the same or equaled features located in different locations make things messy. I think we can refactor the Runtime Device.
It seems that the devices of Composite Target cannot be optimized or even recognized by all relay passes. Ideally, the Partition Pass can perform the partitioning and annotation automatically based on those devices (order does matter), and then select the best op strategy. So my question is: What is the current status for Composite Target and is anyone working on it?

Any help would be much appreciated. :)

cc @zxybazh @junrushao1994


Fix #65 by having block_actions as the default when type is missing in constraints

This pull request fixes #65 by allowing to omit having "type": "block_actions" in constraints for app.action. Also, it enables the framework to consider block_id as one of the conditions for listener executions.
Category (place an x in each of the [ ])

[x] slack_bolt.App and/or its core components
[x] slack_bolt.async_app.AsyncApp and/or its core components
[ ] Adapters in slack_bolt.adapter

Requirements (place an x in each [ ])
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've run ./scripts/run_tests.sh after making the changes.

Codecov Report

Merging #67 into main will increase coverage by 0.13%.
The diff coverage is 88.23%.

@@            Coverage Diff             @@
##             main      #67      +/-   ##
==========================================
+ Coverage   77.61%   77.75%   +0.13%
==========================================
  Files         123      123
  Lines        3404     3416      +12
==========================================
+ Hits         2642     2656      +14
+ Misses        762      760       -2

Impacted Files
Coverage Δ

slack_bolt/listener_matcher/builtins.py
87.42% <86.66%> (+2.26%)
:arrow_up:

slack_bolt/app/app.py
83.76% <100.00%> (ø)

slack_bolt/app/async_app.py
91.95% <100.00%> (ø)

Continue to review full report at Codecov.

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


[4.0.0-beta.17] ion-toolbar background not set in Edge

Bug Report
Ionic Info
Ionic:

   ionic (Ionic CLI)             : 4.5.0
   Ionic Framework               : @ionic/angular 4.0.0-beta.17
   @angular-devkit/build-angular : 0.10.7
   @angular-devkit/schematics    : 7.0.7
   @angular/cli                  : 7.0.7
   @ionic/angular-toolkit        : 1.2.0

Cordova:

   cordova (Cordova CLI) : 8.1.2<EMAIL_ADDRESS>   Cordova Platforms     : android 7.1.2
   Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 2.2.5, (and 20 other plugins)

System:

   NodeJS : v10.11.0 (C:\Program Files\nodejs\node.exe)
   npm    : 6.4.1
   OS     : Windows 10

Describe the Bug
Setting --background color onto an ion-toolbar does not work on Edge browser. It's probably css var related.

Related Code
ion-header ion-toolbar {
  --background: red;
}

Which version of Edge you are using? For me it's working (Edge 44, EdgeHTML 18)

Edge 44.17763.1.0
EdgeHTML 18.17763

Do you have a color-attribute in your html file?
<ion-header>
  <ion-toolbar>
    <ion-title>
      Ionic Blank
    </ion-title>
  </ion-toolbar>
</ion-header>

I have created a repo for this issue that is reproducible in RC0.
Ionic:

   ionic (Ionic CLI)             : 4.6.0 (C:\Users\dylan\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework               : @ionic/angular 4.0.0-rc.0
   @angular-devkit/build-angular : 0.11.4
   @angular-devkit/schematics    : 7.1.4
   @angular/cli                  : 7.1.4
   @ionic/angular-toolkit        : 1.2.2

System:

   NodeJS : v10.14.1 (C:\Program Files\nodejs\node.exe)
   npm    : 6.4.1
   OS     : Windows 10

So the point of the issue is to put a style in global.scss to apply look and feel to the nav bar across the app.
Yes if I go into each page and set the style manually it does in fact work in Edge.
ion-header ion-toolbar {
  // uncomment this to apply the toolbar color properly
  //--background: var(--ion-color-primary);
}

But what I have done is added a line to global.scss such as:
@import "./theme/navbar.scss";
This file looks as follow:
$gradient-color-1: red;
$gradient-color-2: blue;

ion-header ion-toolbar {
  --background: var(--ion-color-primary);
  --background: -webkit-linear-gradient(to right, #{$gradient-color-1},#{$gradient-color-2});
  --background: -moz-linear-gradient(to right,#{$gradient-color-1},#{$gradient-color-2});
  --background: -o-linear-gradient(to right, #{$gradient-color-1}, #{$gradient-color-2});
  --background: linear-gradient(to right, #{$gradient-color-1}, #{$gradient-color-2});
  --ion-toolbar-color: white;
  --ion-color-base: white;
}

Again the goal is to set a global style across the app. This does in fact work on Chrome. However on Edge the navbar is not being styled using the included navbar.scss file described above.

Repo here:
navbar.zip

I discussed this more with Dylan offline. I was able to reproduce this in the conference app using the following CSS in variables.scss:
$gradient-color-1: red;
$gradient-color-2: blue;

ion-header ion-toolbar {
  --background: linear-gradient(to right, #{$gradient-color-1}, #{$gradient-color-2});
  --color: white;
}

It works fine in Chrome, but running in Edge on Browserstack it is showing a white background. Adding !important to the --background variable works fine. My best guess is this is an issue with the order of the included styles. As a workaround I've asked Dylan to use the global CSS variables like the following:
$gradient-color-1: red;
$gradient-color-2: blue;

ion-header {
  --ion-toolbar-background: linear-gradient(to right, #{$gradient-color-1}, #{$gradient-color-2});
  --ion-toolbar-color: white;
}

This works fine in both browsers, but I still think we should look into why Edge is different. cc @manucorporat @adamdbradley

this in the latest ionic version is still happening
on edge

in chrome or firefox

ionic info
`Ionic:
Ionic CLI                     : 5.0.2 (C:\Users\Administrador\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework               : @ionic/angular 4.5.0
@angular-devkit/build-angular : 0.13.9
@angular-devkit/schematics    : 7.3.9
@angular/cli                  : 7.3.9
@ionic/angular-toolkit        : 1.5.1
Cordova:
Cordova CLI       : 9.0.0<EMAIL_ADDRESS>Cordova Platforms : browser 6.0.0
Cordova Plugins   : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.0, (and 5 other plugins)
Utility:
cordova-res : not installed
native-run  : 0.2.5
System:
NodeJS : v10.15.3 (C:\Program Files\nodejs\node.exe)
npm    : 6.4.1
OS     : Windows 10
`

The issue still here with ionic 4.6.1 as well:
Ionic:
Ionic CLI                     : 5.2.1 (C:\Users\almothafar\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework               : @ionic/angular 4.6.1
@angular-devkit/build-angular : 0.13.9
@angular-devkit/schematics    : 7.3.9
@angular/cli                  : 7.3.9
@ionic/angular-toolkit        : 1.5.1
Capacitor:
Capacitor CLI   : not installed
@capacitor/core : not installed
Cordova:
Cordova CLI       : 9.0.0
Cordova Platforms : android 8.0.0
Cordova Plugins   : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 14 other plugins)
Utility:
cordova-res : not installed
native-run  : not installed
System:
Android SDK Tools : 26.1.1 (D:\Android\sdk)
NodeJS            : v10.16.0 (C:\Program Files\nodejs\node.exe)
npm               : 6.10.0
OS                : Windows 10

Thanks for the issue. I am going to close this as we recently released Ionic Framework v5 which dropped support for IE11 and older versions of Edge. Moving forward, Ionic Framework v4 will only receive critical security patches.


New mixed titleBarStyle

As I described in https://github.com/Microsoft/vscode/issues/16363#issuecomment-413680099, changing the title bar style in order to achieve dark menus made me lost the ability to hide the title bar. I wish there was an third option, "mixed" (you can name it whatever you'd like), which uses the custom renderer (the one which achieves the dark theme), but keeps the native title bar, so I can hide it with the window flag. This implies in making the menu bar parallel to the title bar, not inside it.
Would this be hard to implement? Thanks.

I think the better way to do this should be to make a new custom title bar top menu that looks like the actual native one.
As it is the electron's chromium menu, it is not rendered in the web layout, but in a wrapping layout that is just not displayed at all when you set custom title bar.
For me, proceeding like this would be as better as it is easier :

could be themable
will match more Code brand
is consistent with the "custom" choice for titlebar.

When the custom title bar was implemented only in the insider preview, when you selected the custom option, the title menu was inside the title bar if it's always shown (like it still does as today) or in a new bar below the title bar if it's only shown when requested (which does not happen today, as it stills shows the menus inside the custom title bar). As for what I'm proposing, the latter is what we need for the new configuration, but using the native title bar instead of the custom one.

@Guema if the title bar is not native, then it's not hideable through the windows flag, which is the idea of this proposal.

I understand what you request, i was just technically speaking.
Electron, the framework that run Vscode, is - by default - rendering a first basic os-driven window with a second basic chromium-driven top menu (the one that is used when title-bar is set to native) (and the chromium dev console eventually). You can find exactly the same menubar on other electron app like : slack, ryver for exemple.
So there is 2 layout, plus a third, the one that render your web content.
Electron can be configured to not display this default layout: native title bar and top menu, and then display only the web content (custom mode). It is still possible to display console.
What i suppose is, with Electron, it will be difficult or impossible to place the default chromium menubar under the custom title bar. I don't even know if it is possible to show this menubar without using native layout. (unless they tweak Electron's code i presume)
What i said is if they want to make a mode where menu bar is under title bar instead of inside, devs will probably have to imitate the default one in their code.

Ho, ok.
Well i didn't understood this like that.
Hum. This other particular case should not be really hard to do.


Memory leak in wpf control

Sorry, I did the mistake with the target again. I have to be more familiar with Git. Sorry for this.

That's OK, it takes a bit of getting used to the git workflow (it's worth it though). This looks good except that I think I confused things by talking about the Parent, it's not relevant for this control. What we do need to do is wire up the timer in the loaded and unloaded handlers, I've left comments against the lines that are relevant, sorry I sent you down the wrong path with the Parent thing!

Next try. :)

Sending me to the wrong path is ok. I think I have to find our wording so that we do not misunderstand each other. Normal team building process in my opinion. ;)

Hi Robin,
I've made a last couple of comments which I think will simplify the code further, any chance you can take a look and we'll take it from there?

It's done so far. Please see my last PR. Everything as you expected?
___________________________________Robin SedlaczekWave Developments / The Berlin Microsoft Connection Warschauer Strasse 6010243 BerlinGermany Twitter https://twitter.com/RobinSedlaczekWordpress http://robinsedlaczek.wordpress.com/Facebook https://www.facebook.com/TheBerlinMicrosoftConnectionLinkedIn http://de.linkedin.com/pub/robin-sedlaczek/34/6a6/222/Xing https://www.xing.com/profile/Robin_Sedlaczek
Date: Tue, 27 Jan 2015 20:20:10 -0800
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>CC<EMAIL_ADDRESS>Subject: Re: [sharpgl] Memory leak in wpf control (#74)
Hi Robin,
I've made a last couple of comments which I think will simplify the code further, any chance you can take a look and we'll take it from there?
—
Reply to this email directly or view it on GitHub.
	 	   		  =

Nice one, we can prep 2.4 for release now!

Great!!!
Von meinem Windows Phone gesendet

Von: Dave<EMAIL_ADDRESS>Gesendet: 28.01.2015 17:45
An<EMAIL_ADDRESS>Cc: Robin<EMAIL_ADDRESS>Betreff: Re: [sharpgl] Memory leak in wpf control (#74)
Nice one, we can prep 2.4 for release now!

Reply to this email directly or view it on GitHub:
https://github.com/dwmkerr/sharpgl/pull/74#issuecomment-71868972


Responsiveness

Any idea on how to the chart to resize in real time? Instead of needing to rerender?
I want it to fill it's container, it should resize as the container resizes

Thanks for the swift reply.  I am very new to d3 and svg's in general. Currently I am looking into to resize. I will make a pr if I find a solution before you.
I will also be looking to add labels on slices that are big enough, do you think this will be hard to do?
Lastly, there is a div element under the left corner of the paper.  "div.sunbursttooltip" is there any reason for this?


Prepare for integration with cardano-chain code base

Changes include:

Rename Slot to SlotNo and Epoch to EpochNo to match BlockNo.
Switch from Word to Word64 (chain uses Word64 nearly everywhere).
Regularize newtype field accessor names (for type X use unX).
Remove derived Real and Integral instances which can easily be misused.

Fine with me. Let's merge this asap though since it touches so much code.

Need to fix the tests first. Will merge as soon as i have done that and fixed the Haddocks. Will not be today though (its 8pm here).

Fixed failing tests (caused by changing from Word to Word64).
Fixed haddock docs for SlotNo and EpochNo ( @mrBliss )

When this builds and gets a review, please merge it.


Support Kysely driver in React @journeyapps/powersync-react and @journeyapps/powersync-react-native

Right now hooks like usePowerSyncWatchedQuery only support strings.
export declare const usePowerSyncWatchedQuery: <T = any>(sqlStatement: string, parameters?: any[], options?: Omit<SQLWatchOptions, 'signal'>) => T[];

I expect to pass a Kysely query like db.selectFrom('quotes').selectAll().execute(). I'm new with SQL and Kysely, I'm not sure if passing execute is good.
export const db = wrapPowerSyncWithKysely<Database>(powerSync)
const selectAll = db.selectFrom('quotes').selectAll().execute()
...
usePowerSyncWatchedQuery(selectAll)

@stevensJourney, will you plan to work on this?

@guillempuche We are currently tracking this. There are plans to release a major update to our React hooks package in the near future. This update is to align the React hooks APIs with our recently released Vue composables by returning additional state information. This is still in the works, but could also potentially include the changes listed here.
We will keep you updated 🙏

Hi @guillempuche this should now be resolved in the latest release of the react package v1.3.0 :)

@DominicGBauer, good job!


License ?

Hello,
I would like to integrate your project in mine but it depends on which licence you want use.
I've found within package.json that you want use an MIT.
It would be awesome if you add the following file inside your root directory.
LICENSE :
The MIT License (MIT)
Copyright (c) 2016 Jeremy FAGIS<EMAIL_ADDRESS>(http://fagis.fr)
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
In all case, you have done a great job. Thanks you for this one !
Best regards,
Vincent

Thanks, it's added.


Improvements / TouchUp / Tests for MaxDop Commands

Type of Change

[x] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[x] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose

Fix problem with Set-DbaMaxDop reported by @snarp on the slack channel: WARNING: Can't connect to @{Instance=} or access denied. Skipping.
Added tests to Set-DbaMaxDop
Change the way Test-DbaMaxDop outputs. Now output as soon as we create the object. Before if we pass two instances the results contain duplicate rows.
Added tests to Test-DbaMaxDop

excellent work bud!


Images from CameraRoll

Porting the down below code from RNFetchBlob fails. Error message:
Error: No such file 'ph://ED7AC36B-A150-4C38-BB8C-B6D696F4F2ED/L0/001'

import CameraRoll from '@react-native-community/cameraroll';
import RNFetchBlob from 'rn-fetch-blob';
import ReactNativeBlobUtil from 'react-native-blob-util';

[...]
const image = item.image.uri;
ReactNativeBlobUtil.fs.readFile(image, 'base64').then( data => {
    console.log( data )
});

@RonRadtke I'm facing this issue currently, can you share how to access a file on ios with 'ph://' using ReactNativeBlobUtil?


Improve the Omit helper type (#31153)

Fixes #31153
Since Omit is the offical helper type now, I think it should be a perfect version. The common version not work with type like { a: string, b: number, [key: string]: any, }, this version works. The detail see #31153

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


What is the default max_tokens?

dspy.ChainOfThought('question -> answer', max_tokens=8000)
My output was getting cut off but after specifying the max_tokens, it works fine.
So I was wondering if i do not explicitly state the max_tokens arguments, what would be the default? Would it be the token limit of the AI model minus the input tokens?

the default is 1000


Slow query optimization

my environment running ArangoDB
I'm using the latest ArangoDB of the respective release series:

[ ] 2.8
[ ] 3.0
[x] 3.1.27
[ ] 3.2
[ ] 3.3
[ ] self-compiled devel branch

Mode:

[ ] Cluster
[x] Single-Server

Storage-Engine:

[x] mmfiles
[ ] rocksdb

On this operating system:

[ ] DCOS on

[ ] AWS
[ ] Azure
[ ] own infrastructure

[ ] Linux

[x] Debian .deb
[ ] Ubuntu .deb
[ ] SUSE   .rpm
[ ] RedHat .rpm
[ ] Fedora .rpm
[ ] Gentoo
[ ] docker - official docker library
[ ] other:

[ ] Windows, version:
[ ] MacOS, version:

this is an AQL-related issue:
[x] I'm using graph features
I'm issuing AQL via:

[ ] web interface with this browser:     running on this OS:
[ ] arangosh
[x] this Driver: arangodb-php

The AQL query in question is:
FOR v, dOr, p IN 1..6 OUTBOUND "page\/1" pageTree
       LET d = CALL("cms3::getPageChildrenVisitor", v, dOr, p, params)
       FILTER d != null &&
       (d.pageStd_typeKey=="destination" && LIKE(d.pageField_title,"iceland", true))
       SORT d.pageStd_depth DESC, d.pageStd_vOrder DESC LIMIT 0, 20 RETURN d

I've run `db._explain. The result:
Execution plan:
 Id   NodeType          Est.   Comment
  1   SingletonNode        1   * ROOT
  3   TraversalNode       17     - FOR v  /* vertex */, dOr  /* edge */, p  /* paths */ IN 1..6  /* min..maxPathDepth */ OUTBOUND 'page/1' /* startnode */  pageTree
  4   CalculationNode     17     - LET d = CALL("cms3::getPageChildrenVisitor", v, dOr, p, { "data" : { "pagePreview" : 0, "langCode" : "el", "fallbackLangCode" : "el", "searchLocalized" : 0, "pageStatus" : 20, "inSiteMap" : 1, "activeLanguageMismatch" : 0, "pageAttrFilters" : [ ], "pageAttrSort" : [ ], "pageFieldFilters" : [ "title" ], "pageFieldSort" : [ ] } })   /* v8 expression */
  5   CalculationNode     17     - LET #7 = ((d != null) && ((d.`pageStd_typeKey` == "destination") && LIKE(d.`pageField_title`, "ισλανδία", true)))   /* simple expression */
  6   FilterNode          17     - FILTER #7
  7   CalculationNode     17     - LET #9 = d.`pageStd_depth`   /* attribute expression */
  8   CalculationNode     17     - LET #11 = d.`pageStd_vOrder`   /* attribute expression */
  9   SortNode            17     - SORT #9 DESC, #11 DESC
 10   LimitNode           17     - LIMIT 0, 20
 11   ReturnNode          17     - RETURN d

Indexes used:
 By   Type   Collection   Unique   Sparse   Selectivity   Fields               Ranges
  3   edge   pageTree     false    false        61.91 %   [ `_from`, `_to` ]   base OUTBOUND

Traversals on graphs:
 Id   Depth   Vertex collections   Edge collections   Options                                   Filter conditions
  3   1..6                         pageTree           uniqueVertices: none, uniqueEdges: path

Optimization rules applied:
 Id   RuleName
  1   move-calculations-up
  2   move-filters-up
  3   remove-unnecessary-calculations
  4   move-calculations-up-2
  5   move-filters-up-2

As you can see from the information above the query uses an aql function (getPageChildrenVisitor). The query takes about 20 seconds. I tried adding an extra skiplist index in the field vOrder of the pageTree collection (a graph) that get sorted but there was not any improvement. I read that Arango chooses from a collection the index that will optimize the query best (in our case I guess that is the one indexed appear ed in explain), is that correct? The other issue is that most of the work is done inside the aql function so I cannot see the indexes used there. Is there any idea on how to optimize this graph? It contains about 5.500 edges.
Thanks in advance,
Eleni Afiontzi

What does your function cms3::getPageChildrenVisitor actually do? Can you share the code?

The user defined function is quite long (about 300 lines) but I could share it if you think that would help.
All pageTree (the graph) nodes are pages characterized by a different pageType and containing many pageFields.  The use of the function: based on some configuration parameters (for example language, fields to be filtered, page type, whether we need published results or not) the function gathers all data from the corresponding page and pageFields collections for every path set from the traversal and returns them in the d variable to be filtered depending on the user choices.
I have read that "the optimizer can't use indices for UDFs", but I have already added an index for a collection used inside the function which really helped speed up the query.
I am also curious why an extra skiplist index in the pageTree graph for the field vOrder that is used for sorting is not getting chosen over the edge index.

The performance bottleneck is most certainly that 300 lines UDF.
"the function gathers all data" and "for every path" sounds pretty bad from a performance perspective.
It's impossible to tell what is the exact cause without the code, but I bet most time is spent on converting large quantities of data to and from V8 data structures. Calling a UDF before filters etc. is generally problematic, especially in cluster.

I have already added an index for a collection used inside the function which really helped speed up the query
That seems unlikely. The optimizer does certainly not understand JavaScript. Are you sure it's not a cache effect?

Regarding the skiplist index, think of it like this: You got a phone book and pick a place. Doing a traversal kind of randomized all names. To use a skiplist index, you need A to Z or Z to A order however to look up a name quickly. The traversal returns nodes in any order, but there are no entry points for arbitrary nodes in the skiplist (only at front and end).

gets the document for each field from the corresponding collection

That sounds like it could be the bottleneck, depending on how many reads that actually requires. It also explains why indexes speed up the UDF: you actually fetch documents from within the UDF, which possibly hits indexes.
Not sure if it's feasible, but it seems like you need a caching strategy and perhaps port some of the code to AQL and get rid of the rest (i.e. offload some work to client if possible).

Thanks very much for all the suggestions. Though I understand that it is quite a bottleneck, to get rid of the UDF is not feasible for now, that is why I am looking into indexing.
So your opinion is that the skiplist index for ordering is not something we could look into? The addition of the combined index (page,key), helped a bit but I was still wondering if something additional could be done.

I can't give any additional recommendations without the full code.

So the full AQL query example is (with different params, typeKey, title for different searches)
LET params = {
            data: {
                pagePreview: 0,
                langCode: "el",
                fallbackLangCode: "el",
                searchLocalized: 0,
                pageStatus: 20,
                inSiteMap: 1,
                activeLanguageMismatch: 0,
                pageAttrFilters: [],
                pageAttrSort: [],
                pageFieldFilters: ["title"],
                pageFieldSort: []
            }
        }FOR v, dOr, p IN 1..6 OUTBOUND "page\/1" pageTree
        LET d = CALL("cms3::getPageChildrenVisitor", v, dOr, p, params)
        FILTER d != null && (d.pageStd_typeKey=="destination" && LIKE(d.pageField_title,"ισλανδία", true))
        SORT d.pageStd_depth DESC, d.pageStd_vOrder DESC LIMIT 0, 20 RETURN d

while the UDF cms3::getPageChildrenVisitor is defined as follows
require("@arangodb/aql/functions").register(
	"cms3::getPageChildrenVisitor",
function (vertex, document, path, config) {
	var db = require("@arangodb").db;
	var pageType=null;
	var sourcePageKey=vertex._key;

	//set the default configuration data
	var pagePreview=0,
		langCode="en",
		fallbackLangCode="en",
		searchLocalized=0,
		pageStatus=20,
		inSiteMap=1,
		pageAttrs={},
		pageFields={},
		activeLanguageMismatch=1;

	//get the configuration data
	if (typeof config.data === "object") {
		if (typeof config.data.pagePreview !== "undefined") {
			pagePreview=config.data.pagePreview;
		}
		if (typeof config.data.langCode !== "undefined") {
			langCode=config.data.langCode;
		}
		if (typeof config.data.fallbackLangCode !== "undefined") {
			fallbackLangCode=config.data.fallbackLangCode;
		}
		if (typeof config.data.searchLocalized !== "undefined") {
			searchLocalized=config.data.searchLocalized;
		}
		if (typeof config.data.pageStatus !== "undefined") {
			pageStatus=config.data.pageStatus;
		}
		if (typeof config.data.inSiteMap !== "undefined") {
			inSiteMap=config.data.inSiteMap;
		}
		if (typeof config.data.activeLanguageMismatch !== "undefined") {
			activeLanguageMismatch=config.data.activeLanguageMismatch;
		}
		if (typeof config.data.pageAttrFilters !== "undefined") {
			config.data.pageAttrFilters.forEach(function (attribute) {
				pageAttrs[attribute] = attribute;
			});
		}
		if (typeof config.data.pageAttrSort !== "undefined") {
			config.data.pageAttrSort.forEach(function (attribute) {
				pageAttrs[attribute] = attribute;
			});
		}
		if (typeof config.data.pageFieldSort !== "undefined") {
			config.data.pageFieldSort.forEach(function (attribute) {
				pageFields[attribute] = attribute;
			});
		}
		if (typeof config.data.pageFieldFilters !== "undefined") {
			config.data.pageFieldFilters.forEach(function (attribute) {
				pageFields[attribute] = attribute;
			});
		}
	}

	//get the actual page depending the preview mode
	var page=null;
	try {
		if (pagePreview==1 || pagePreview==3) {
			//published OR versioned pub
			page=db.pubPage.document("pubPage/"+vertex._key);

		} else if (pagePreview==0 || pagePreview==2) {
			//edit OR versioned edit
			page=db.page.document("page/"+vertex._key);

		}

	} catch(e){
		//page not found
		return null;
	}

	//check the page status, unless status is disabled
	if (page.status!=pageStatus && pageStatus!=-1) {
		return null;
	}

	//check if the page is active the language provided
	//@todo, consider skipping this check when pageType.inSiteMap==false
	if (activeLanguageMismatch!=0) {
		var activeLang=false;
		//make sure there are some activeLanguages set...
		if (typeof page.activeLanguages === "object") {
			page.activeLanguages.forEach(function (alangCode) {
				if (alangCode == langCode) {
					activeLang=true;
					return null;
				}
			});
		}
		if (!activeLang) {
			//not active language
			return null;
		}
	}

	//if there is a shortcut, retrieve the source page and its type
	var shortcutSourcePage=null;
	try {
		if (page.shortcutSource!=null) {
			//shortcut, retrieve the source page
			if (pagePreview==1 || pagePreview==3) {
				//published or versioned pub
				shortcutSourcePage=db.pubPage.document("pubPage/"+page.shortcutSource);

			} else if (pagePreview==0 || pagePreview==2) {
				//edit or versioned edit
				shortcutSourcePage=db.page.document("page/"+page.shortcutSource);
			}

			//page not found
			if (shortcutSourcePage==null) {
				return null;

			//check the page status, unless status is disabled
			} else if (page.status!=pageStatus && pageStatus!=-1) {
				return null;
			}

			//set the pageType to be equal of the shortcutSourcePage type
			pageType=shortcutSourcePage.type;
			//change the source page key for the pageFields...
			sourcePageKey=page.shortcutSource;

		} else {
			//direct page. set the page type
			pageType=page.type;

		}

	} catch(e){
		//page not found
		return null;
	}

	//the root page does not have vOrder, in case user requests it
	var vOrder=0;
	if (typeof path.edges[path.edges.length - 1].vOrder !== 'undefined') {
		vOrder = path.edges[path.edges.length - 1].vOrder;
	}

	//build the vOrder of the path from root to this vertex
	var vOrderPath=[];
	for(var i in path.edges)
	{
		vOrderPath.push(path.edges[i].vOrder);
	}

	//get the page type, we need it for the inSiteMap flag
	//works properly for shortcuts as well,
	//basically they inherit the source page type
	try {
		pageTypeDoc=db.pageType.document("pageType/"+pageType);
	} catch(e){
		//page type not found
		return null;
	}

	//now check if this page is allowed due to sitemap restrictions
	//0=return those with sitemap=false, 1=return those with sitemap=true, -1=return all
	if (!pageTypeDoc.inSiteMap && inSiteMap==1) {
		return null;
	} else if (pageTypeDoc.inSiteMap && inSiteMap==0) {
		return null;
	}

	//build the result object
	var res = {
		pageStd_id: page._key,
		pageStd_type: pageType,
		pageStd_typeKey: pageTypeDoc.key,
		pageStd_shortcutSource: page.shortcutSource,
		pageStd_depth: path.vertices.length -1,
		pageStd_vOrder: vOrder,
		pageStd_inSiteMap: pageTypeDoc.inSiteMap,
		pageStd_vOrderPath: vOrderPath
	};

	//if there is a parent, get it
	if (path.vertices.length > 1) {
		res.pageStd_parent = {id: path.vertices[path.vertices.length - 2]._key};
	}

	//get page attributes and append them to the result
	for (var key in pageAttrs) {
		var pageAttrValue=null;

		//get the keep the attribute name
		var attrName=pageAttrs[key];

		//attempt to split by . to get the attribute paths (if available). for example "meta.title"
		var pathAttrName = attrName.split('.');

		//check if its pathed attribute or not
		if ((pathAttrName.length==1) && typeof page[attrName] !== 'undefined') {
			//direct attribute name (ie. title)
			pageAttrValue=page[attrName];

		} else if (((pathAttrName.length==2) && typeof page[pathAttrName[0]] !== 'undefined') &&  typeof page[pathAttrName[0]][pathAttrName[1]] !== 'undefined') {
			//indirect attribute name (ie. meta.title)
			pageAttrValue=page[pathAttrName[0]][pathAttrName[1]];
			//replace the separator '.' with '__' in the attribute name so it can be used properly in the sort/filter
			attrName=pathAttrName.join('__');
		}

		//direct attribute name (ie. title)
		if (pageAttrValue!==null) {

			//check if it appears localized
			if (typeof pageAttrValue === 'object' && pageAttrValue!=null) {
				//multilingual field
				if (searchLocalized==0) {
					//search in language or fallbackLang if no value
					if ((typeof pageAttrValue[langCode] !== 'undefined') && pageAttrValue[langCode]!='') {
						//value exists in langCode provided
						pageAttrValue=pageAttrValue[langCode];
					} else if ((typeof pageAttrValue[fallbackLangCode] !== 'undefined') && pageAttrValue[fallbackLangCode]!='') {
						//value exists in fallbackLangCode provided
						pageAttrValue=pageAttrValue[fallbackLangCode];
					} else {
						//value does not exist in provided criteria
						return null;
					}

				} else if (searchLocalized==1) {
					//search only in langCode
					if ((typeof pageAttrValue[langCode] !== 'undefined') && pageAttrValue[langCode]!='') {
						//value exists in langCode provided
						pageAttrValue=pageAttrValue[langCode];
					} else {
						//value does not exist in provided criteria
						return null;
					}

				}

			}

			//set the page attribute value
			res["pageAttr_" + attrName]=pageAttrValue;

		}
	}

	//get the pageField values and append them to the result
	for (var key in pageFields) {
		var attrName = pageFields[key];

		//try to get the pageField and its type
		var pageField = null, pageFieldType = null;
		try {
			if (pagePreview == 1 || pagePreview == 3) {
				//published or versioned pub
				pageField = db.pubPageField.firstExample({page: sourcePageKey, key: attrName});

			} else if (pagePreview == 0 || pagePreview == 2) {
				//edit or versioned edit
				pageField = db.pageField.firstExample({page: sourcePageKey, key: attrName});
			}

		} catch (e) {
			//pageField not found, we skip this page then
			return null;
		}

		//pageField not found, we skip this page then
		if (pageField == null) {
			return null;
		}

		//get the type
		pageTypeField = db.pageTypeField.firstExample({pageType: pageType, key: attrName});

		//append the value BUT take localized, langCode, fallbackLangCode and searchLocalized into consideration
		if (pageTypeField.localized) {
			//multilingual field

			//make sure it has multilingual values inside it
			if (typeof pageField["value"] !== 'object' || pageField["value"] == null) {
				return null;
			}

			if (searchLocalized == 0) {
				//search in language or fallbackLang if no value
				if ((typeof pageField["value"][langCode] !== 'undefined') && pageField["value"][langCode] != '') {
					//value exists in langCode provided
					pageFieldValue = pageField["value"][langCode];
				} else if ((typeof pageField["value"][fallbackLangCode] !== 'undefined') && pageField["value"][fallbackLangCode] != '') {
					//value exists in fallbackLangCode provided
					pageFieldValue = pageField["value"][fallbackLangCode];
				} else {
					//value does not exist in provided criteria
					return null;
				}

			} else if (searchLocalized == 1) {
				//search only in langCode
				if ((typeof pageField["value"][langCode] !== 'undefined') && pageField["value"][langCode] != '') {
					//value exists in langCode provided
					pageFieldValue = pageField["value"][langCode];
				} else {
					//value does not exist in provided criteria
					return null;
				}

			}

		} else {
			//not multilingual field
			pageFieldValue = pageField.value;
		}
		//return the pageField value. This could be string, integer, array of values (tags), etc
		res["pageField_" + attrName] = pageFieldValue;

	}

	return res;
}, true);

I understand that it is too much code buy any recommendations are more than welcome.

@eafiontzi There is a new feature in devel branch to profile queries. It could be interesting to see how much time is spent on which node in the execution plan. It doesn't instrument JavaScript functions however, so it will not be possible to see how much time is spent there on each instruction.
 There seem to be different collections and documents to deal with published and non-published content for your CMS. But I have a hard time to understand what other concepts the code bases on.

Yeap, it is a quite complicated function. :(
To understand the code, you should know that all pages in our site are in one collection (page) with different page types. The page fields (based on the page type) are in a collection (pageField) together with their values, and the published page fields in another (pageField). So, the published and non-published content differ mainly in the collections the data are being pulled from.
So depending on whether the data are published (and a few other configuration parameters like the language) the function (that is called for every graph node and some times for 6 traversal depth) gathers all necessary information (defined as pageAttrFilters in parameters) from the page (or pubPage) collection. Afterwards, it requests all needed information (defined as pageFieldFilters in parameters) from the pageField collection (or pubPageFields). Finally it calculates the path for the ordering of the results and returns all data to the query as the d parameter which is then filtered.
Hope I am clear in my explanation, it took me quite some time myself to get the grasp of the function, that is why it is extremely difficult to change it as it is working on production right now. The indexes in  pubPageFields helped a lot but I was wondering why the skiplist index on vOrder (which is the same pageStd_vOrder that gets sorted) is not working.
Thank you in advance for your time

Thanks for all the details!
Indexes can only be utilized if you sort on what is actually stored in documents and hence also in an index. vOrder is computed in the JS code however. Sorting by any attribute of d can not be accelerated.
Even in pure AQL, a skiplist index couldn't be used if you do a traversal (using the edge index) and then sort on a document attribute. A vertex-centric index might work, but I'm not sure if it's applicable in this situation.
I don't see any easy ways to improve performance further. It would probably require to revise the data model and implement the query differently, using less JavaScript (or none at all).

@eafiontzi You could somewhat profile the JS code by using require("internal").time(), which gives you a pretty high resolution time to measure how long certain parts take. I can't think of a way to instrument a query automatically with this, but doing this manually might be better anyway.
To get the timing results out of your function, you need to return it along with your other returned data and maybe use the AQL WARN function (in devel builds) if you don't want to include the timings in the overall query result.


Switch to speedtest engine

Describe wanted Enhancement !
Please consider switching the speedtest engine from speedtest-cli(?) to speedtest binairy:
https://www.speedtest.net/de/apps/cli
Why should we put effort in it ?
ookla speedtest gives much better results than speedtest-cli.
Additional context
I just don't know if the binairy can be shipped with the adapter. The license is not clear.
Maybe the user has to install it manually.

thanks, will check .... problem in generic is the cli part which must be installed so not integrated as NPM dependency.
But the current one is also outdated and not supported anymore so we need a change anyway, winter is coming....


Initial additions to Rise quests.

I have made some additions to quests.json.

TODO:

Finish the special details for all event quests.
Add an isEvent: Yes flag to event quests.
Sync both quests json and ndjson

Could you also tell me how you derived the quest id? i couldn't determine that. I have marked them "tbd" in my fork temporarily until such a time as i know.


4:3 Support?

Hi, I used this launcher for my Retroid Pocket 2 (an android gaming device with a 4:3 screen/aspect ratio) and whenever I use the CrossLauncher on it, things like the startup screen, menus, and clock bar don't fit on the screen and incorrectly stretch beyond it, making them not fully visible. Any help here or fix for this would be appreciated.

Try changing display size in Android's settings

My phone have the same problem too btw

The rendering code in the compiled APK is actually still hard-coded to respect device scaling setting and device system bars, Even it is like that too on my BlueStack emulator 😞. I don't know that the cutting will look so bad in a 4:3 device.
I cannot really promise when can I fix it as I have to re-make almost the entire thing and my office is still coming even though I said that I will be free at February, Even I still haven't fixed the other issue on this project for real.
And... AFAIK you cannot change Android device from the device itself unless the ROM supported it from factory or is rooted, I usually use adb that comes with Android SDK to do it, you can download it separately though.
BTW, I don't know if it would looks very good on a retroid device 😋

So far this is what I got, the rendering size is now based on reference size scaling, so it can be resized accordingly by user regardless of the device hardware and settings. It was just the rendering though, the main function is still not done yet.

It should've been fixed by this release (alpha 20221205_A0139). It's still 16:9 fitted to 4:3 tho, I still haven't made the reference size accessible from the launcher's settings.
It's been half a year huh...

Custom Reference Resolution is now available in release of Alpha 20230129_0235P. You now can use any resolution (as long as it's near 1280 or 720) in any aspect ratio, the renderer will adjust it's scale accordingly.
If it's fixed this issue, then please close this issue, or please give feedback if this issue is still remains. If no initial feedback before Feb 28, I'll consider this issue is finished and can be closed.

Hi! Sorry for responding so late, it’s been a really long time, I forgot about this thread. Anyways, I ended up using the version I had and stopped minding the weird cropped visuals since the newer versions of the XMB launchers unfortunately lagged heavily, ran slowly and didn’t look very good on my Retroid Pocket 2, whereas the old version ran perfectly fine despite the cropping. But thanks either way, because even if the newer versions don’t work on my device, I’m sure others with different devices will enjoy it. Either way, I’ve bought a Retroid Pocket 3+ recently which is 16;9 and might work perfectly fine with this launcher moving foward. Thanks for the


wezterm: add licenses and update to a revision of 15th Dec 2020

Motivation for this change

Missing licenses
New version

Follows up on https://github.com/NixOS/nixpkgs/pull/104704
/cc @teto
Things done

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

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

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

For your information, there's a new release of Wezterm from 2021-03-14:
https://wezfurlong.org/wezterm/changelog.html#20210314-114017-04b7cedd

Closing this in favor of https://github.com/NixOS/nixpkgs/pull/118712


Package Count doesn't match list of packages

What happened:
Syft returns the number of packages in an image, but this doesn't match the number of package names listed. This happens on multiple images (e.g. redis:alpine reports 19 packages, but only 18 are named) but is particularly pronounced on some Chainguard Images e.g. cgr.dev/chainguard/redis reports 34 packages but only 16 are named).
What you expected to happen:
The total number of packages reported to match the number of named packages. Or some explanation for the difference.
Steps to reproduce the issue:
 syft cgr.dev/chainguard/redis
 ✔ Loaded image                                cgr.dev/chainguard/redis:latest
 ✔ Parsed image                    sha256:9287ce7a86a6908a3ee338c036e15e0d2366
 ✔ Cataloged packages              [34 packages]
NAME                    VERSION      TYPE
bash                    5.2.15-r3    apk
busybox                 1.36.1-r2    apk
ca-certificates-bundle  20230506-r0  apk
glibc                   2.38-r5      apk
glibc-locale-posix      2.38-r5      apk
ld-linux                2.38-r5      apk
libcrypt1               2.38-r5      apk
libcrypto3              3.1.4-r1     apk
libssl3                 3.1.4-r1     apk
ncurses                 6.4-r2       apk
ncurses-terminfo-base   6.4-r2       apk
openssl-config          3.1.4-r1     apk
posix-libc-utils        2.38-r5      apk
redis-7.2               7.2.3-r0     apk
redis-cli-7.2           7.2.3-r0     apk
wolfi-baselayout        20230201-r6  apk

Anything else we need to know?:
Not sure if this a bug or a misunderstanding on my part.
Environment:

Output of syft version:

Application: syft
Version:    0.95.0
BuildDate:  2023-11-07T16:43:20Z
GitCommit:  9b98785aab9346999a0b5e9f5e4b4e63a1b1916c
GitDescription: v0.95.0
Platform:   darwin/arm64
GoVersion:  go1.21.3
Compiler:   gc

OS (e.g: cat /etc/os-release or similar):

MacOS
$ uname -a
Darwin Adrians-MacBook-Pro-2.local 23.0.0 Darwin Kernel Version 23.0.0: Fri Sep 15 14:41:43 PDT 2023; root:xnu-10002.1.13~1/RELEASE_ARM64_T6000 arm64

It seems the tool has incorrect output on the length of the json as well - let me investigate and see what's happening in the UI that might be giving incorrect numbers here.
From first glance there seems to be a couple of seemingly duplicate entries being surfaced in the json output that are not as apparent in the table form:
Example: the json is surfacing two packages for bash:
  {
   "id": "f8308ae7aed9d466",
   "name": "bash",
   "version": "5.2.15-r3",
   "type": "apk",
   "foundBy": "sbom-cataloger",
   "locations": [
    {
     "path": "/var/lib/db/sbom/bash-5.2.15-r3.spdx.json",
     "layerID": "sha256:6e5a3e444977e2084ca8372179a561b3c58d362c6cca0df0cf39b64861f0060e",
     "annotations": {
      "evidence": "primary"

  {
   "id": "c7607e63df149c5b",
   "name": "bash",
   "version": "5.2.15-r3",
   "type": "apk",
   "foundBy": "apk-db-cataloger",
   "locations": [
    {
     "path": "/lib/apk/db/installed",
     "layerID": "sha256:6e5a3e444977e2084ca8372179a561b3c58d362c6cca0df0cf39b64861f0060e",
     "annotations": {
      "evidence": "primary"
     }
    }
   ],

syft -o json cgr.dev/chainguard/redis | jq '.artifacts | length'
 ✔ Loaded image                                                                cgr.dev/chainguard/redis:latest
 ✔ Parsed image                        sha256:7c1b50681cdc9190d819b8039544134b8cace20a6c91b622488b11a9382612b8
 ✔ Cataloged packages              [34 packages]
32

The packages discovered by the sbom-cataloger are not showing in the table format and are being merged in at the end after the fact. @anchore/tools we should use thread to discuss what the correct behavior should be in this case. Do we use the distributed SBOM located under /var/lib/db/sbom for the bash entry in favor of the analysis syft does? How do we reconcile these packages? Should a merge of the packages happen that makes a single package with multiple found-by or is the duplication here representative of two forms of discovery?

Just for confirmation I ran syft with the following config (note the sbom-cataloger is ommited):
catalogers:
  - alpm-db-cataloger
  - apkdb-cataloger
  - binary-cataloger
  - cargo-auditable-binary-cataloger
  - cocoapods-cataloger
  - conan-cataloger
  - dartlang-lock-cataloger
  - dotnet-deps-cataloger
  - dpkg-db-cataloger
  - elixir-mix-lock-cataloger
  - erlang-rebar-lock-cataloger
  - go-module-file-cataloger
  - go-module-binary-cataloger
  - graalvm-native-image-cataloger
  - haskell-cataloger
  - java-cataloger
  - java-gradle-lockfile-cataloger
  - java-pom-cataloger
  - javascript-lock-cataloger
  - javascript-package-cataloger
  - linux-kernel-cataloger
  - nix-store-cataloger
  - php-composer-installed-cataloger
  - php-composer-lock-cataloger
  - portage-cataloger
  - python-package-cataloger
  - python-installed-package-cataloger
  - rpm-db-cataloger
  - rpm-archive-cataloger
  - ruby-gemfile-cataloger
  - ruby-installed-gemspec-cataloger
  - rust-cargo-lock-cataloger
  - spm-cataloger

 syft cgr.dev/chainguard/redis
 ✔ Loaded image                                                                cgr.dev/chainguard/redis:latest
 ✔ Parsed image                        sha256:7c1b50681cdc9190d819b8039544134b8cace20a6c91b622488b11a9382612b8
 ✔ Cataloged packages              [18 packages]
NAME                    VERSION      TYPE
bash                    5.2.15       binary
bash                    5.2.15-r3    apk
busybox                 1.36.1       binary
busybox                 1.36.1-r2    apk
ca-certificates-bundle  20230506-r0  apk
glibc                   2.38-r5      apk
glibc-locale-posix      2.38-r5      apk
ld-linux                2.38-r5      apk
libcrypt1               2.38-r5      apk
libcrypto3              3.1.4-r1     apk
libssl3                 3.1.4-r1     apk
ncurses                 6.4-r2       apk
ncurses-terminfo-base   6.4-r2       apk
openssl-config          3.1.4-r1     apk
posix-libc-utils        2.38-r5      apk
redis-7.2               7.2.3-r0     apk
redis-cli-7.2           7.2.3-r0     apk
wolfi-baselayout        20230201-r6  apk

Here we see the expected result so the bug lies in how syft is reconciling a discovered sbom

Thanks for looking at this! Note that there might still be another issue: redis:alpine seems out by one as well (I wonder if that's because of the redis binary that isn't an apk package).

Hey @amouat, we made some changes to the table output summaries in Syft 1.0.0 that I believe will solve these mismatched counts. Can you give your test case another try and let us know? Thanks! (https://github.com/anchore/syft/issues/2672 and https://github.com/anchore/syft/pull/2679)

Thanks @tgerla . It works for cgr.dev/chainguard/redis now, but I then tried cgr.dev/chainguard/nginx and I get:
❯ syft cgr.dev/chainguard/nginx
 ✔ Loaded image                                                                              cgr.dev/chainguard/nginx:latest
 ✔ Parsed image                                      sha256:9b3f68c45ef8bebfc2604bb4077c0285f4b2016828ecd68b7ae513a9a4434290
 ✔ Cataloged contents                                       82cb11fedeb692168a9a36423a906bccd60c45fe34b10c7bef45a2a623886349
   ├── ✔ Packages                        [17 packages]
   ├── ✔ File digests                    [172 files]
   ├── ✔ File metadata                   [172 locations]
   └── ✔ Executables                     [34 executables]
NAME                           VERSION      TYPE
ca-certificates-bundle         20240315-r0  apk
glibc                          2.38-r14     apk
glibc-locale-posix             2.38-r14     apk
ld-linux                       2.38-r14     apk
libcrypt1                      2.38-r14     apk
libcrypto3                     3.2.1-r0     apk
libgcc                         13.2.0-r5    apk
libssl3                        3.2.1-r0     apk
libstdc++                      13.2.0-r5    apk
nginx-mainline                 1.25.4-r1    apk
nginx-mainline-config          1.25.4-r1    apk
nginx-mainline-package-config  1.25.4-r1    apk
openssl-config                 3.2.1-r0     apk
pcre                           8.45-r1      apk
wolfi-baselayout               20230201-r7  apk
zlib                           1.3.1-r0     apk

Which says there are 17 packages but only 16 are listed.
Syft version:
❯ syft version
Application: syft
Version:    1.2.0
BuildDate:  2024-04-12T18:31:58Z
GitCommit:  dde5d349b1eef740c285255e6a9e3a8f5c9938e1
GitDescription: v1.2.0
Platform:   darwin/arm64
GoVersion:  go1.21.9
Compiler:   gc

Hi @amouat, sorry about that, I believe now the issue is actually fixed in Grype 0.77.2: https://github.com/anchore/grype/pull/1837 -- I will close this issue but please let me know if you run into any other weird counts. Thanks!

Oops -- just realized this is in Syft, not Grype. Keeping open!


Bugfix for 66104 - Check for the existence of the log directory before executing the cleanup task at startup

fix:https://bz.apache.org/bugzilla/show_bug.cgi?id=66104

Thanks for the bug report and the PR.
I applied this manually so I could:

refactor this code and the other location that obtains a Path from the directory
used a Java 7+ compatible approach that could be back-ported and then changed this to the Java 11+ approach
add a changelog entry


unauthorized_client error in production environment since change of version

here is the error returned:
{"error":"unauthorized_client","error_description":"This account has been temporarily locked for security reasons. Please try again later."}
here is the initialization for authentication:
if (process.env.NODE_ENV === "production") {
api = new mangopay({
clientId: 'client-id-prod',
clientApiKey: 'api-key-prod',
baseUrl: 'https://api.mangopay.com',
})
}
else {
api = new mangopay({
//SANDBOX
clientId: 'client-id-dev',
clientApiKey: 'api-key-dev',
});
}
actual behavior:
I have three different environments: a development server, a staging server and a production server.
Since the module version has been updated from version 1.8.0 to version 1.10.0, the authentication and mangopay requests work on the development server and the staging server but not in production.
When I test locally with https://api.mangopay.com it works perfectly.
Is there something else to take into account depending on the servers after updating the module?

Hey @Owtopsy,
Have you tried contacting our mangopay support center with a Client-ID?
https://support.mangopay.com/s/contactsupport?language=fr
They will have more info to give you regarding your problem as it's more an account problem than a sdk one I think.
I'm stay available if needed,
Audouin,

Hello,
I have the same problem on my account, did you find a solution ?


Feature: add getZoneById method

While working on an implementation, I noticed there is no method in Zones endpoint to get a specific zones' details. This method fixes this by adding a getZoneById($zoneId) to \Cloudflare\API\Endpoints\Zones.
No documentation changes, because I don't think there is anything to append/change.
Not 100% sure if I did the tests correctly, if anything is wrong or incomplete, let me know and I will update the PR.

Would be great to see this merged. Right now needing to search zones by name just to get a zone's details when we already have the ID is a waste of a request.


feat: add user implemented void mapping methods

Let mapperly use user implemented existing target methods
Description
Add user implemented existing target mapping methods. Mapperly will attempt to use the users methods where possible
I can add support for reusing user defined void mappings, it should be a different PR.
Fixes #439
Checklist

[x] The existing code style is followed
[x] The commit message follows our guidelines
[ ] Performed a self-review of my code
[x] Hard-to-understand areas of my code are commented
[ ] The documentation is updated (as applicable)
[x] Unit tests are added/updated
[x] Integration tests are added/updated (as applicable, especially if feature/bug depends on roslyn or framework version in use)

Should I update the docs under user implemented mappings or void mappings?

@TimothyMakkison I'll review the open PR's after 2.9.0 is released (we plan to release it next week). You can probably wait until the code / API changes are reviewed. If sth. fundamental changes after the review on the API surface, you then don't need to rewrite the docs again.

Made suggested chnages
Reworked ITypeMapping

Would it be worth making AddExisting and AddNewInstance private and using MappingCollection.Add directly?
I haven't updated the docs.

@TimothyMakkison feel free to create the issues.
I'd keep AddExisting and AddNewInstance public and call them if the type is known. This has a little performance benefit since the runtime type switch is not needed.

2 Nitpicks and rebasing, afterwards this can get merged 😊

2 Nitpicks and rebasing, afterwards this can get merged 😊

Thanks for the review, done the changes. 👍
I think it will be best to update the docs after all the other void mappings are completed


Cest Timezone results in "2 hours missing"-notification.

My "Unraid"-server uses the CEST-timezone and Twitch uses UTC-Timezone, so the shown "went live"-time and the "created"-time differs 2 hours.
This results in a 2 h missing notification on dashboard.

I don't know if it's a result of that problem, but there weren't chapters created as well, when the game was switched.

yep same as #136
are you using the latest build? i may have fixed it there but not sure, debugging this could be really annoying

Oh sry, didn't see #136 .
So I will try the latest build when the recordings are finished and give you feedback.
Python version: (no output)
Python3 version: 3.9.2
Node.js version: 17.9.0
Docker: Yes
Backend type: ts-server
Backend version: 0.0.6
Frontend version: 0.6.1-b
Frontend build: production
Frontend verbose: 0.6.1-b (2022-04-26T07:55:21.686Z / 02bf35b)

i think the fix only works for streams captured after it, we'll see

i think the fix only works for streams captured after it, we'll see

That's ok, just waiting for the recordings because I didn't wanna dump anything of the streams.
I will see tomorrow if the fix is working when the recorded channel going online again

Seems to be fixed. Thanks a lot. Great work.

Offtopic: But am I right, that changed games should be detected in live streams and set a new chapter?

it does, if the server was running when they changed the game/title when offline it should have stored it, and during the stream it shouldn't have any problems doing it
check the logs for any chapter changes maybe?

are your channel.update subscriptions working? really no idea how that could happen otherwise

nothing odd in the logs about the hook failing? i'm currently recording a stream with multiple title changes

nothing odd in the logs about the hook failing? i'm currently recording a stream with multiple title changes

here is one where it did not register a change:
`

2022-04-29 10:02:58
hook
INFO
Hook called

2022-04-29 10:02:58
automator
INFO
Channel update for maxim

2022-04-29 10:02:58
automator
INFO
Channel maxim not online, saving channel data to cache: Backpack Hero (Es ist Freitag!)

2022-04-29 10:04:58
hook
INFO
Hook called

2022-04-29 10:04:58
automator
INFO
Stream online for maxim (retry 0)

2022-04-29 10:04:58
vodclass
INFO
Create VOD JSON for maxim: maxim_2022-04-29T08_03_05Z_46296474189.json @ /usr/local/share/twitchautomator/data/storage/vods/maxim

2022-04-29 10:04:58
vodclass
SUCCESS
Saving JSON of maxim_2022-04-29T08_03_05Z_46296474189 (create json)

2022-04-29 10:04:58
vodclass
ERROR
No chapters on maxim_2022-04-29T08_03_05Z_46296474189!

2022-04-29 10:04:58
vodclass
WARNING
Loaded VOD maxim_2022-04-29T08_03_05Z_46296474189 is not finalized!

2022-04-29 10:04:58
vodclass
WARNING
Saving JSON of maxim_2022-04-29T08_03_05Z_46296474189 with no chapters!!

2022-04-29 10:04:58
vodclass
SUCCESS
Saving JSON of maxim_2022-04-29T08_03_05Z_46296474189 (is_capturing set)

2022-04-29 10:04:58
automator
INFO
Update game for maxim_2022-04-29T08_03_05Z_46296474189

2022-04-29 10:04:58
automator
SUCCESS
Channel data for maxim fetched from cache.

2022-04-29 10:04:58
vodclass
WARNING
Saving JSON of maxim_2022-04-29T08_03_05Z_46296474189 with no chapters!!

2022-04-29 10:04:58
vodclass
SUCCESS
Saving JSON of maxim_2022-04-29T08_03_05Z_46296474189 (dt_capture_started set)

2022-04-29 10:04:58
automator
INFO
Starting capture with filename maxim_2022-04-29T08_03_05Z_46296474189.ts

2022-04-29 10:04:58
automator
SUCCESS
Spawned process 137 for capture_maxim_2022-04-29T08_03_05Z_46296474189

2022-04-29 10:04:58
job
INFO
Save job capture_maxim_2022-04-29T08_03_05Z_46296474189 with PID 137 to /usr/local/share/twitchautomator/data/cache/pids/capture_maxim_2022-04-29T08_03_05Z_46296474189.json

2022-04-29 10:04:58
vodclass
SUCCESS
Saving JSON of maxim_2022-04-29T08_03_05Z_46296474189 (game update)

2022-04-29 10:04:58
automator
SUCCESS
Stream updated on 'maxim' to 'Backpack Hero' (Es ist Freitag!) using cache.

2022-04-29 10:04:58
vodclass
INFO
VOD JSON maxim_2022-04-29T08_03_05Z_46296474189 changed (external/change)!

2022-04-29 10:04:58
vodclass
INFO
VOD JSON maxim_2022-04-29T08_03_05Z_46296474189 exists (again?) change

2022-04-29 10:04:58
vodclass
INFO
VOD JSON maxim_2022-04-29T08_03_05Z_46296474189 changed (external/change)!

2022-04-29 10:04:58
vodclass
INFO
VOD JSON maxim_2022-04-29T08_03_05Z_46296474189 exists (again?) change

2022-04-29 10:05:00
automator
INFO
Stream resolution for maxim_2022-04-29T08_03_05Z_46296474189: 1080p60

2022-04-29 10:05:00
automator
INFO
Capturing of maxim_2022-04-29T08_03_05Z_46296474189, will try to remove ads!

2022-04-29 10:05:00
automator
INFO
Writing output

`

that looks fine though, it says it updated the chapter. what about later ones?

that looks fine though, it says it updated the chapter. what about later ones?

Thats what I meant, there are not registgered. maybe this is something with twitch api?

Stream updated on 'maxim' to 'Backpack Hero' (Es ist Freitag!) using cache.

this means it updated to that game and title that it had stored when the streamer was still offline, is this not reflected in the vod list?

Stream updated on 'maxim' to 'Backpack Hero' (Es ist Freitag!) using cache.

this means it updated to that game and title that it had stored when the streamer was still offline, is this not reflected in the vod list?

yeah it is but only once, after this the title changed again(Watched the Stream live) but TA did not register the change. as far as I am aware.

Stream updated on 'maxim' to 'Backpack Hero' (Es ist Freitag!) using cache.

this means it updated to that game and title that it had stored when the streamer was still offline, is this not reflected in the vod list?

OK now I am crazy, what the heck now it is updated. But with a "massive" delay:

so they did not have backpack hero for 1½ hours at the start? does the chapters on the vod at twitch look different?

so they did not have backpack hero for 1½ hours at the start? does the chapters on the vod at twitch look different?

Yes tehy did, kinda going crazy now. Sometimes the game does not get updated at all so the initial Title stays for the whole stream even when the game changes. But this times the Title changes kinda too late I guess. Maybe this had something to do with game not being updated via twitch.

it seems to be pretty much exact on the timing, not sure what you mean by the delay

it seems to be pretty much exact on the timing, not sure what you mean by the delay

yeah maybe The title didnot update in the interface of twitch.

twitch only stores games in their chapters if that's what you mean, yes

twitch might have had some issues yesterday, soda's latest vod doesn't have any chapters on it

this is also possible, like I said, does not have to be TA.

Just checked some of my last recordings, seems fine now:


[docs] Document feature matrix for client libraries

First column:

standard tracer metrics
standard rpc metrics
logging reporter
configurable
env configurable - Java only atm
remotely controlled sampler
adaptive sampling
baggage restrictions
reporter: Jaeger Thrift over UDP
reporter: Zipkin Thrift over UDP (Python client still does that, needs upgrade)
reporter: Jaeger Thrift over HTTP
reporter: Zipkin Thrift over HTTP
reporter: Jaeger JSON over HTTP - don't think we have any, just i case. Node.js might be a good candidate for that
reporter: Zipkin JSON over HTTP - don't think we have any, just i case
Uber headers format
Zipkin/B3 headers format
in the future - other formats

The other columns are for individual clients

header - language and link to the repo
values - :white_check_mark: :white_check_mark: or :x: :x: + optional link to open issue

:white_check_mark: is a bit long, could use :ok: :ok:

I'd like to build this feature matrix. I'd consider Jaeger client libraries in GO, Java, Python, Node and C++ on successive columns, and determine whether each feature in the first column is present/supported or not in each of the above client libraries? Could you please provide a hint on where to gather information about each feature, for instance, code snippets, other documentation posts?

Hi @pgadige ,
Thanks for offering to help with this. The only reliable way to determine if a feature is supported is to actually check the code (sometimes README) of each of the clients. We can actually start with setting up the document structure and just filling cells with a question mark, at least for things that you're not sure about.
Another thing I was thinking of is what format should the source of this information take. We can certainly create a table in Markdown, but my concern is that it will be very hard to maintain due to formatting issues, e.g. say we want to add a link to an existing issue for one of the cells, it would change the cell width significantly, making the table very hard to edit. A more maintainable way would be if we used some  config file format, e.g. yaml, to define the features for each client, and then generate the Markdown from that yaml file programmatically. For example:
java:
    standard_tracer_metrics: yes
    standard_rpc_metrics:    no
go:
    standard_tracer_metrics: yes
    standard_rpc_metrics:    yes
python:
    standard_tracer_metrics: custom
    standard_rpc_metrics:    no - https://github.com/jaegertracing/jaeger/issues/384

etc. We can use a simple python script to read this file and produce a Markdown table


[Toolkit feature]: Working delete key (to delete selections, etc)

Contact Details (Optional)
No response
What is the context of the feature/improvement?
Would love for the delete button to work. Right now we have to press the small rubbish bins to delete selected items.
Please describe the feature/improvement?
As described above
What would be your solution? (optional)
...
Version
2024.1.1

Hi,
Can you give us more detail please? Are you talking about the keyboard?
Do you have any screenshot?

Hi,
Can you give us more detail please? Are you talking about the keyboard? Do you have any screenshot?

More details? I mean, the delete key on the keyboard does nothing in Kit. It doesn't have the function it's suppose to have: Delete selected stuff. I don't know how I can be any more clear sir.

Hi @PappaSlask ,
The original message was:

Would love for the delete button to work

We don't know if it was about a delete button in the app (a button that we click on it. If yes, which one?), or it was the DEL key from the keyboard.
The initial message doesn't say anything about keyboard, that why we are asking more details.
Filled as REMIX-2733
Thank you

Hi @PappaSlask ,
The original message was:

Would love for the delete button to work

We don't know if it was about a delete button in the app (a button that we click on it. If yes, which one?), or it was the DEL key from the keyboard. The initial message doesn't say anything about keyboard, that is why we are asking more details.
Filled as REMIX-2733
Thank you

Right, Apologies for not being clear enough. I made the issue in a bit of a rush. I should take more time in describing issues.

@nvdamien Is this still being considered sir? I was missing this feature the other day when I wanted to delete a bunch of lights I didn't need.

Hi @PappaSlask ,
Yes. We are working through the ticket backlog, we will let you know when there is an update.


CoAP.NET-master Client and Server issue

Hi,
I am creating a resource and implement DoGet method of this resource. I have number of different Get request. Is it possible to create multiple DoGet method in single resource or using query string.
Please let me know how we will manage it. How we will manage query string in COAP.net?
Thanks
Shreyansh

Hi,
Only one DoGet method is allow in one single resource.
You may want to write multiple resources, or distinguish incoming GETs with query strings.
In your client, you only have to construct a url with query string appended, same as the way HTTP does, like:
"coap://localhost:5683/hello?foo=1&bar=2"
Assume that we have a GET request for the url above.
With these properties or methods in your server resource you may access the query string:

Property/Method
Value

exchange.Request.URI
System.Uri("coap://localhost:5683/hello?foo=1&bar=2")

exchange.Request.UriQuery
"foo=1&bar=2"

exchange.Request.UriQueries
[ "foo=1", "bar=2" ] IEnumerable<String>

exchange.Request.GetParameter("foo")
"1"

exchange.Request.GetParameter("bar")
"2"

Then it should be easy for you to tell between different incoming requests.

Thanks

: )


Pin dev dependencies versions.

This PR satisfies the dependencies from flake and ipython

Coverage remained the same at 87.627% when pulling c1e70bf9e4e17fe728efe711e60d8da47db2dd46 on akatsoulas:update-dev-requirements into 87188f4a609f9eb8450f5fb1297bf2214087d323 on mozilla:master.


relative path is not working?

hi first of all, thanks for the shortcuts. As a spacemacs lover, I really like the idea of using that in intellij.
Anyways, I have been trying to make it work and could not make it recognize the bindings. After a lot of trial and error, it seems that switching imports like:
source ./intelli-space/spacemacs/settings.vim

to
source ~/intelli-space/spacemacs/settings.vim

fixed my issue. I'm not sure if this a problem with my own setup, but I think it is pretty vanilla, so I'm not sure if this is a general fix or if it is only for me

I think that with ~ it will not work under windows.
Is your .ideavimrc file into your home directory?

I made the transition to absolute paths as you suggested.
Actually, with relative paths it was not working on Windows and now it is.
Thank you very much! :)


Fixed getting started and pydocs

Thanks @whoahbot

Looks good. The way I've been updating docs in previously released versions is merging this branch into the release tag we want to update and then force pushing that. It's hacky but it works. Let me know if you want any help with that.

I see we have both a v0.13 branch and a v0.13.0 tag. I'd merge this branch into main, force push the tag, and fast-forward the v0.13 branch to the new main/tagged commit. Is this what you meant?
I'm going to merge this into main in the meantime

@Psykopear I think the branch is the remnants of prep for the release from https://github.com/bytewax/bytewax/pull/165 but we don't actually use that branch anywhere; I just deleted the branch like all our other merged PRs. You only need to update the tag.