core: add more commands to the plugin

Adding more to the plugin like rook version, rook status,
get-mon-endpoints, set-mon-endpoints and etc.
Todo:

[x] kubectl rook-ceph get-mon-endpoints
[ ] kubectl rook-ceph set-mon-endpoints: For disaster recovery, update the rook-ceph-mon-endpoints configmap and restart the operator
[ ] kubectl rook-ceph force-mon-quorum <mon>: Automate the disaster recovery guide for forcing the mon quorum to a single mon
[ ] kubectl rook-ceph get-volumes [rwx|rwo|cephfs|rbd]
[x] kubectl rook-ceph ceph <args>: Run any ceph command in the toolbox
[x] kubectl rook-ceph operator restart: Restart the operator
[x] kubectl rook-ceph operator set <property> <value>: Set the property in the rook-ceph-operator-config configmap, for example to enable debug logging or configure the CSI driver
[ ] kubectl rook-ceph rook health: Shortcut to “ceph status” command, or else pretty print the status on the CephCluster CR
[x] kubectl rook-ceph rook version: Print the version of Rook and the version of Ceph daemons from the CephCluster CR status
[x] kubectl rook-ceph rook status: Print the phase and/or conditions of every Ceph CR
[ ] kubectl rook-ceph rook purge-osd <id>: Replace the purge-osd.yaml example job
[ ] kubectl rook-ceph set-pool-failure-domain <pool> <domain>: Replace the advanced topic for updating a pool's failure domain

Signed-off-by: subhamkrai<EMAIL_ADDRESS>

@travisn since we have command ceph status and rook status do you think we need this command
kubectl rook-ceph rook health: Shortcut to “ceph status” command, or else pretty print the status on the CephCluster CR

CR status
cephblockpools.ceph.rook.io:
cephbucketnotifications.ceph.rook.io:
cephbuckettopics.ceph.rook.io:
cephclients.ceph.rook.io:
cephclusters.ceph.rook.io:
cephfilesystemmirrors.ceph.rook.io:
cephfilesystems.ceph.rook.io:
cephfilesystemsubvolumegroups.ceph.rook.io:
cephnfses.ceph.rook.io:
cephobjectrealms.ceph.rook.io:
cephobjectstores.ceph.rook.io:
cephobjectstoreusers.ceph.rook.io:
cephobjectzonegroups.ceph.rook.io:
cephobjectzones.ceph.rook.io:
cephrbdmirrors.ceph.rook.io:
objectbucketclaims.objectbucket.io:
objectbuckets.objectbucket.io:

I don't think it's expected.

good now, namespace was missing.

@travisn since we have command ceph status and rook status do you think we need this command
kubectl rook-ceph rook health: Shortcut to “ceph status” command, or else pretty print the status on the CephCluster CR

No, I don't think rook status is needed, let's just keep ceph status. Any rook commands should just be about the operator, and status doesn't really apply. Perhaps we can have cluster status that would give the cluster CR status.

could you please update the issue with suggestion #17? for now, I'll remove it from my pr description todo. Thanks

I would focus on only implementing one command at a time. Doing PR review for so many commands risks missing important things due to size.


re.sub() with misplaced flags

src/dictionary/gen_zip_code_seed.py contains the following code:
  level3 = re.sub(u'（.*）', u'', level3, re.U)

But the 4th argument to re.sub() is supposed to be maximum number of substitutions, not flags.
NB, the re.U flag affects only semantics of \w, \W, \b, \B, \d, \D, \s and \S, so it wouldn't have any effect on this regular expression.
This bug was found using pydiatra.

Thank you for the report.
473a26c fixed this issue. Fortunately, the practical output is not changed.


Problem running cargo run demo.py

I followed the README.md to get this project working on my laptop, however I got around 7 errors after executing cargo run demo.py
I am new to Rust, can someone help resolve this problem?
error[E0616]: field value of struct obj::objstr::PyString is private
--> vm\src\stdlib\os.rs:856:35
|
856 |     let ret = match fs::metadata(&dst.value) {
|                                   ^^^^^^^^^
error[E0616]: field value of struct obj::objstr::PyString is private
--> vm\src\stdlib\os.rs:859:39
|
859 |                 win_fs::symlink_file(&src.value, &dst.value)
|                                       ^^^^^^^^^
error[E0616]: field value of struct obj::objstr::PyString is private
--> vm\src\stdlib\os.rs:859:51
|
859 |                 win_fs::symlink_file(&src.value, &dst.value)
|                                                   ^^^^^^^^^
error[E0616]: field value of struct obj::objstr::PyString is private
--> vm\src\stdlib\os.rs:861:38
|
861 |                 win_fs::symlink_dir(&src.value, &dst.value)
|                                      ^^^^^^^^^
error[E0616]: field value of struct obj::objstr::PyString is private
--> vm\src\stdlib\os.rs:861:50
|
861 |                 win_fs::symlink_dir(&src.value, &dst.value)
|                                                  ^^^^^^^^^
error[E0616]: field value of struct obj::objstr::PyString is private
--> vm\src\stdlib\os.rs:866:41
|
866 |         Err(_) => win_fs::symlink_file(&src.value, &dst.value),
|                                         ^^^^^^^^^
error[E0616]: field value of struct obj::objstr::PyString is private
--> vm\src\stdlib\os.rs:866:53
|
866 |         Err(_) => win_fs::symlink_file(&src.value, &dst.value),
|                                                     ^^^^^^^^^
error: aborting due to 7 previous errors
For more information about this error, try rustc --explain E0616.
error: Could not compile rustpython-vm.
To learn more, run the command again with --verbose.

I've made PR for this issue #1399 and waiting for answer

My PR has merged I believe this issue is solved

Yep, try pulling from master and running again @jithendaraa.


New Cmdlets for Management.Sql to allow customers to add TDE keys and set TDE protector for managed instances

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[X] The title of the PR is clear and informative.
[X] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[X] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[ ] If applicable, the PR references the bug/issue that it fixes.
[X] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[X] I have read the contribution guidelines.
[X] My spec meets the review criteria:

[X] The spec conforms to the Swagger 2.0 specification.
[X] The spec follows the guidelines described in the Swagger checklist document.
[X] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Can one of the admins verify this patch?

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

Automation for azure-sdk-for-java

Automation for azure-sdk-for-go

Automation for azure-sdk-for-node

@ravbhatnagar please review, the service is in production and was deployed on 08/26.


Change BP total number: 21 to 6

Change Description

Change BP total number

before: 21
after: 6

Deployment Changes

[ ] Deployment Changes

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

Yes


Example demo Docker demo broke with Alpine 3.8 upgrade.

Pinning the image python:3.6.6-alpine3.7 fixes the issue, and the demo works for both idp-initiated and sp-initiated.  Prior to the fix, attempting to login to the SP would produce an error similar to the bug report 9110 for Alpine Linux 3.8.

func=xmlSecCryptoDLLibraryCreate:file=dl.c:line=130:obj=unknown:subj=lt_dlopenext:error=7:io function failed:name="libxmlsec1-openssl"; errno=2 func=xmlSecCryptoDLGetLibraryFunctions:file=dl.c:line=436:obj=unknown:subj=xmlSecCryptoDLLibraryCreate:error=1:xmlsec library function failed:crypto=openssl func=xmlSecCryptoDLLoadLibrary:file=dl.c:line=393:obj=unknown:subj=xmlSecCryptoDLGetLibraryFunctions:error=1:xmlsec library function failed: Error: unable to load xmlsec-openssl library. Make sure that you have this it installed, check shared libraries path (LD_LIBRARY_PATH) envornment variable or use "--crypto" option to specify different crypto engine. Error: initialization failed func=xmlSecCryptoShutdown:file=app.c:line=65:obj=unknown:subj=unknown:error=9:feature is not implemented:details=cryptoShutdown Error: xmlSecCryptoShutdown failed Error: xmlsec crypto shutdown failed.

At first, I tried installing xmlsec-dev, but that did not clear up the issue. The LD_LIBRARY_PATH was empty, but I was not not sure what the path should be. After the downgrade to Alpine 3.7, this error went away and the LD_LIBRARY_PATH was still empty.
To ensure a stable demo, it makes sense to pin the Docker image version to a known-working image.

Hi Sheila, thank you for the PR.


400 Bad Request

For some url's I get 400 Bad Request results:
podsavethepeople.com, www.trumptaxscam.org

Thanks for response, I will check it out.


The Superscript element is not properly rendered inside links

I am using Confluence Publisher Maven Plugin v. 0.22.0 and I am facing issue with rendering superscript elements. Ex.:
Refer to a note<<note-1,^1^>>

which refers to
[[note-1]]^1^ Note

But in html superscript in link is encoded into text:
<sup>1</sup>

Also, creating id not in same line as text won't render html tag with this id so link doesn't work:
[[note-1]]
^1^ Note

@jareq85 reason for this is that confluence publisher currently always output context as plain text, thus escaping all rich markup.
Let me put here for reference code from text2confl that fixes this issue. Feel free to prepare PR to conf-publisher based on it.
So confluence publisher approach: https://github.com/confluence-publisher/confluence-publisher/blob/master/asciidoc-confluence-publisher-converter/src/main/resources/org/sahli/asciidoc/confluence/publisher/converter/templates/inline_anchor.html.slim#L14-L16
In text2confl:

https://github.com/zeldigas/text2confl/blob/master/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/inline_anchor.html.slim#L9-L13
xref_text function: https://github.com/zeldigas/text2confl/blob/master/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/helpers.rb#L173-L185
link_content function (checks if text is plain or rich one): https://github.com/zeldigas/text2confl/blob/master/convert/src/main/resources/com/github/zeldigas/text2confl/asciidoc/helpers.rb#L270-L276


Suppress distutils replacement when building or testing CPython.

Fixes #2965. Fixes #3007.

As I was exploring this issue, I first sought to detect both the presence of 'pybuilddir.txt' and whether invoked by 'setup.py', but that would only work for 3007 and not 2965. Tests can be invoked a number of ways, through '-m unittest discover', invocation of 'regrtest.py', invocation of '-m test', and by executing the test modules directly (and maybe more). So I've opted to rely on the less precise simple detection of 'pybuilddir.txt' in the cwd. This approach won't work if the build is executed not from the root of the repo, but that seems like a small concession to make to address the issue broadly.


Convert pam_mujoco.cpp to UNIX-style line endings

Description
pam_mujoco.cpp was the only file in this repo that used Windows-style
line endings ("\r\n"), so convert it to UNIX-style ("\n") to be
consistent with the rest.
How I Tested
cat -A pam_mujoco.cpp prints the file and visualises the line endings (^M$ for Windows-style, $ for UNIX-style)
I fulfilled the following requirements

[x] All new code is formatted according to our style guide (for C++ run clang-format, for Python, run flake8 and fix all warnings).
[x] All new functions/classes are documented and existing documentation is updated according to changes.
[x] No commented code from testing/debugging is kept (unless there is a good reason to keep it).

The diff is unfortunately not very useful, as it just shows that every line changed...

I actually only noticed it because it somehow triggered a but in the auto-formatter plugin of my editor :D

:)


Crashes on 2019.4.8f1

I cloned this repo and tried to open with Unity 2019.4.8f1.
However, the Unity is crashing for some reason. Any possible fixes? I use Ubuntu

Could you try 2019.4.9?
This is not relevant to Pcx, but the recent versions of Unity 2019.4 have a crash issue with Vulkan. This issue was fixed in the latest version.


feat: Install System Dependencies for the Frontend Tooling

Installs system dependencies for playwright
https://playwright.dev/docs/browsers#install-system-dependencies
We need node js to be installed as a pre-requisite for the npx command to work, but based on the readme it seems to be pre-installed.

Updated changes are in https://github.com/Airbase/terraform-aws-github-runner/tree/airbase-runners


how to make running log output immediately?

the tool run a long time before I can see the long output, it seems like the log reach a buffer limit and the will output the log. I wonder to know how to set can make the log output immediately

Sounds like Python is running in buffered mode. Try starting with the -u flag or append the following at the start of your script.
nonbuffered_stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
sys.stdout = nonbuffered_stdout


Review Elmish messaging

@forki I'm pretty sure that I've botched the messaging up a little - review from yourself would be appreciated (even if it's just "this is crap, rewrite it like this").


[Task]: Migrate ballerinax modules to Java 21

Description
$Subject
Describe your task(s)
No response
Related area
-> Runtime
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

completed with Java 21 migration


ActiveDirectoryDsc: Enable Codecov.io Support in the CI Pipeline

Pull Request (PR) description
This PR enables Codecov.io support in the Azure DevOps CI/CD pipeline.
This Pull Request (PR) fixes the following issues
None
Task list

[x] Added an entry to the change log under the Unreleased section of the
file CHANGELOG.md. Entry should say what was changed and how that
affects users (if applicable), and reference the issue being resolved
(if applicable).
[ ] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Community Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Community Testing Guidelines.
[ ] New/changed code adheres to DSC Community Style Guidelines.

This change is

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@1626c18). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             master   #562   +/-   ##
=======================================
  Coverage          ?    98%
=======================================
  Files             ?     23
  Lines             ?   3070
  Branches          ?      0
=======================================
  Hits              ?   3035
  Misses            ?     35
  Partials          ?      0


Flatten net.io config

At the moment, net inputs/outputs are defined as a dict of list of strings, e.g.:
 io:
    in: [images, labels]
    out: [loss, predictions, dice]

I suggest to flatten this structure, e.g.:
inputs: [images, labels]
outputs: [loss, predictions, dice]

The reason is that the net constructor is often called from python code (tests, net restoring) and its complicated and confusing to specify the dict structure.

:+1:

Closing in favor of Cognexa/cxflow-tensorflow#14 and Cognexa/cxMNIST#4


Fix some MSVC and PVS-Studio static analyzer issues

Support vs2012 and set correct defines for STL (vs2012+) and SSE (x86-64 has by default).
unsigned always >= 0.
Do not truncate DWORD or size_t to int, that can lead to problems for large (> INT_MAX) values.
Doesn't overflow uint32 in multiplication operation.
Initialize class members to prevent hard to track bugs with uninitialized storage usage.
Name args and class members differently to prevent confusion. Also, do not create reserved identifiers (_XXX) in client code.

Handy PVS-Studio links:
Product page: https://www.viva64.com/en/pvs-studio/
How to use for free: https://www.viva64.com/en/b/0600/

Thanks for the update!


Properties issues on AwsLambdaFunction node using the latest GMT image.

I am testing the latest version of docker image opentosca/radon-gmt,(DIGEST:sha256:14c8963e024e7c26c7e92c8ec339af56a085510cfc68313d02f704f424d27ff4),
in which GMT is checking the validity of the properties given to a node on the fly, and gives recommendations on the input form and the pre-set constraints. I really like this functionality, but I came up to some problems/bugs using it, which you can find above.

User is prompted to input some value within the constraints, but the actual format is not specified. For example the property "memory_range" is of type "range" and i am prompt to input value "in_range-128,3008". I did not manage to input some value that is accepted by GMT. The red graphical warning is always there and my changes are not saved. - see screenshot 1 & 2.

User is not allowed to insert null as value.

Property "alias" is referenced as NOT required, but it is essential for the successful deployment of resources.

Property "env_vars" is referenced as NOT required, but it is essential for the successful deployment of resources. It is impossible to set this property on the GMT interface, as the every input I tried was not accepted. Adding this property manually in the deployment definition .tosca solved the issue (env_vars: null).

Property "concurrency" has a default value 0. Trying to change the value from GMT is not accepted once again. When uploading a lambda function with concurrency 0 I experience an error with code Lambda invocation failed with status: 429. Changing the concurrency to 1 manually, in the deployment definition .tosca solved the error. Concurrency set to "null" does not deploy.

These are all observations during testing the new GMT and the latest AwsLambdaFunction node. I hope will be helpful to locate bugs more easily.

Hi @AlexSpart,
see here my answers to your points above:

Ranges according to the TOSCA spec must be entered like this [ 256, 512 ]
You may try to enter ~ which is essentially a the null value in YAML. With this version we try to avoid having null values in our service templates, since IMHO there should be either a respective default value or users have to enter such values.
I will fix this on the AwsLambdaFunction node type by adding the default value dev
This is an issue. IMHO this should be handled by xOpera such that it returns null by default instead of having null values inside the template. However, I think we can fix this by setting the default value to {} (empty variables). I'll test this and push the fix to particles if it's working.
We always use the default value (0) in our tests and everything was working as expected. See an example here: ThumbnailGeneration

Entering ~ is not working. It seems we should allow to enter null as value in the Topology Modeler.

Fixed in one of the next Docker container builds.


Default to showing both scrollbars in the scroll example.

When testing #709 I needed both scroll directions. I think this will be a useful addition to the scroll example in general.

Aha, I didn't even see scroll_colors. Now I'm thinking that perhaps these two should be combined into one example, with some sort of buttons switching between what is being drawn.
As far as this PR here, I'm fine with not merging now that I know about scroll_colors.
What do you think about this dual scroll example situation @cmyr?

I think that scroll_colors is the real scroll example, and that scroll at this point is mostly just an example of painting outside your layout bounds. Not sure if that deserves to be kept around?

I'll close this because scroll_colors already does what this PR offers.


grpc & grpc-web in one mapping with host

Describe the bug
I want to proxy grpc & grpc-web through one port with host mapping
To Reproduce
Steps to reproduce the behavior:

create mapping like so:

apiVersion: getambassador.io/v2
kind:  Mapping
metadata:
  name:  df-catalog
  namespace: df
spec:
  grpc: true
  host: df.meera.tech
  prefix: /tes.df
  rewrite: /tes.df
  service: df:9111

access df.meera.tech with grpc-web protocol works

access df.meera.tech with grpc fails with method not defined which means it didn't match this mapping

Expected behavior
access grpc works.
Versions (please complete the following information):

Ambassador: [e.g. 1.6.2]
Kubernetes environment: microk8s enable ambassador
Version [e.g. v1.18.8-33+c9c9e3f85f05f9]

Additional context
the effective envoy match is:
              - match:
                  case_sensitive: true
                  headers:
                  - exact_match: df.meera.tech
                    name: ":authority"
                  - exact_match: https
                    name: x-forwarded-proto
                  prefix: "/tes.df"
                  runtime_fraction:
                    default_value:
                      denominator: HUNDRED
                      numerator: 100
                    runtime_key: routing.traffic_shift.cluster_df_df_9111_df
                route:
                  cluster: cluster_df_df_9111_df
                  prefix_rewrite: "/tes.df"
                  priority:
                  timeout: 3.000s

Hope you didn't forget to add grpc_web translation service to ambassador ?
Like described
`
apiVersion: getambassador.io/v2
kind: Module
metadata:
name: ambassador
spec:
Use ambassador_id only if you are using multiple ambassadors in the same cluster.
For more information: ../../running#ambassador_id.
ambassador_id: ambassador-default
config:
enable_grpc_web: true
`

@jackielii Hi, did you find the solution to this?

Hi @jackielii , I believe you can accomplish this with separate mappings.  Could you elaborate on the need to combine them into one - perhaps related to gRPC?

Closing as possible to accomplish with separate mappings.


Add verbosity setting to improve CLI errors usability

Is your feature request related to a problem? Please describe.
When running any Amplify CLI command, whenever a problem has occurred with one of the configuration files usually an error is shown. It can be almost impossible to figure out sometimes where the error is originated from.
To give an example of such a situation, I have initiated a new project, to mimic the problem I have on purpose made a typing error in a Amplify JSON file. But mostly this happens for example in case where the internet connection got interrupted halfway during a push procedure, leaving the Amplify project in incorrect drifted state.
In the output you can see it is unclear in which part of the push procedure the error occurred, leaving it a big challenge to start recovering:

Syntax Error: Expected Name, found }
An error occurred during the push operation: Syntax Error: Expected Name, found }

$ amplify push -y
✔ Successfully pulled backend environment dev from the cloud.

Current Environment: dev

| Category | Resource name              | Operation | Provider plugin   |
| -------- | -------------------------- | --------- | ----------------- |
| Api      | test                    | Update    | awscloudformation |
✖ An error occurred when pushing the resources to the cloud

Syntax Error: Expected Name, found }
An error occurred during the push operation: Syntax Error: Expected Name, found }

# Perhaps if feature is added, add message like 'try to run command again with -vvv to get more information'

Describe the solution you'd like
Allowing the user to set verbosity (amplify <command> -vvv would make it easier for user to understand the error thrown by Amplify CLI.

-v:  verbose (print errors/warnings while in event loop)
-vv: very verbose (also print client commands/responses)
-vvv: extremely verbose (also print internal state transitions)
Adding each step of internal state transitions would allow user to identity where to look for resolving issue:

$ amplify push -y -vvv
✔ Successfully pulled backend environment dev from the cloud.

Current Environment: dev

| Category | Resource name              | Operation | Provider plugin   |
| -------- | -------------------------- | --------- | ----------------- |
| Api      | test                    | Update    | awscloudformation |
[...]

[INFO] <detailed information about current state transition>
[...]
[ERROR] update.ts:2
api-artifact-handler.ts:5
Syntax Error: Expected Name, found }
An error occurred during the push operation: Syntax Error: Expected Name, found }

✖ An error occurred when pushing the resources to the cloud

Describe alternatives you've considered
Currently I have to search through all (both automatically generated and normal) configuration files by hand

@peterv1988 This error is caused when validating the graphl.schema file.
Short of adding verbosity levels for all logging- just adding a bit of text during the errors here explaining that the errors are coming from the schema file validation would really help. Just debugged this one for a few hours to track this down. :sleepy:

Also specifically, it's probably because somewhere in your schema you have something that looks like this:

  listMyWorkflows(): [Workflow] @function(name: "AppSyncAuthorizer-${env}")

when it should look like this:

  listMyWorkflows: [Workflow] @function(name: "AppSyncAuthorizer-${env}")

Noting the lack of parenthesis.


doc for blocking coverage, wildcard pipelines and pipelines in general

@fdewinne @Pierozi what's the status of this PR?


Bug: [SDKMAN_PLATFORM inference is not compatible MSYS and MINGW on Windows]

Bug report
Can't list candidates for java.
To reproduce

install sdkman 5.18.2
open a new ternimal
enter sdk list java
expect list of java candidates but no candidate

the SDKMAN_PLATFORM is windowsx64 which is not supported.
System info

OS：MINGW64_NT-10.0
sdk version:
script: 5.18.2
native: 0.2.9

Hi @liangjihua, I've had to make some changes on the backend, but you should now be able to view and install Java versions again. Please let me know if this solves your problem.

$ uname -a; sdk version
MINGW64_NT-10.0-19045 YKF-JDV 3.3.6-bec3d608-341.x86_64 2023-02-22 08:29 UTC x86_64 Msys

SDKMAN!
script: 5.18.2
native: 0.2.9

sdk list java issues a blob of HTML as an error with id "823odebl3".
I'm not sure what I am supposed to do for it to work.

Did you try opening a new terminal after running sdk selfupdate?

Yes.

Okay, I can replicate this on my windows machine. I'll have a closer look to see what I can do.

Okay, give it another try now. I found a data issue, malformed entry in the DB.

Looks good. Ship it!


Can't insert decimal separator same as group separator

When we have default group separator set as comma (,) we can't insert comma as decimal separator. It looks obvious but there is an issue when you have for example UK keyboard on your phone. Since we have inputmode set to decimal we can't insert any other decimal separator than this comma and in general we can't set any price with decimals in this configuration.
It might be a general case when we have USD but the user is from UK and can't provide any price and in USA there is comma as thousands separator.
This issue occur on iPhone with English UK, when I had polish language there were . and , to pick so it was ok but for English UK there is only , to pick.

Hi, yes that's correct, decimal and group separator cannot be the same because it would be impossible to tell which one was a group separator and which was decimal separator.
I am based in UK, and on my iphone when there is inputMode="decimal", I can see . as the decimal separator along with the numbers 0-9.

I can totally understand that it may be impossible to know which separator user entered but the true is that you can't insert , as a thousand separator so maybe if user insert , or . we can treat it as a decimal separator?
Just tested and your 1st example do not allow me to provide . nor , on my iOS (I can pick both on decimal keyboard, Polish language) but on macOS I can insert only ..
Another weird thing for me is that you have a . as a decimal separator, I've tested 3 phones with UK language and keyboard and all of them had ,.

Just tested and your 1st example do not allow me to provide . nor , on my iOS (I can pick both on decimal keyboard, Polish language) but on macOS I can insert only ..

Yes, that's correct, the component will only accept numbers or decimal separator. The group separator is added automatically, and user cannot type it.

Another weird thing for me is that you have a . as a decimal separator, I've tested 3 phones with UK language and keyboard and all of them had ,.

Hmm, that is weird. Because in the UK, . is the decimal separator, so it should show up on the num pad by default. At least for all the phones I have used so far.
A possible workaround I can think of is to detect if the user is from the UK or Poland and pass different options to intlConfig.
e.g.
const intlConfig = isUkUser ? { locale: 'en-US', currency: 'GBP' }  : {...something else}

return (
   <CurrencyInput intlConfig={intlConfig} />;
)

Would that work for your case?

A possible workaround I can think of is to detect if the user is from the UK or Poland and pass different options to intlConfig.

I'm developing an app for US and can't set a GBP as a currency. The case here is that I can't really insert a separator on that weird keyboard.
And like I mention I can't even insert decimal separator in your 1st example on iOS nor Windows 10.

And like I mention I can't even insert decimal separator in your 1st example on iOS nor Windows 10.

Another solution would to have inputMode="text ?  not as elegant but might solve the issue at hand.
Beyond that, I'm not really sure where to go from here because I can't reproduce your issue (not sure if this is locale or keyboard differences), and I don't think being able to type the group separator and interpret it as the decimal separator is a good solution.
Fortunately, this is an open source component, and you can fork it and implement your solution if you think of a good solution!

I'm not sure either if this is a good solution to detect both , and . as a decimal separator. Like you mention this might be an issue of localization in a browsers.
I'll not fork this and think about it later when real users will have a problem with this.
I'm closing the issue and maybe it's worth for you to think about interpreting both signs as a decimal separator in the future if more people will have this problem.


a bit of revamp for slack

Doc update is coming
This template is for your information. Please clear everything when submitting your pull request.
Note: DefectDojo is now on Python3.6 and Django 2.2.x. Please submit your pull requests to the 'dev' branch as the 'legacy-python2.7' branch is only for bug fixes. Any new features submitted to the legacy branch will be ignored and closed.
When submitting a pull request, please make sure you have completed the following checklist:

[ ] Give a meaninful name to your PR, as it may end up being used in the release notes.
[ ] Your code is flake8 compliant.
[ ] Your code is python 3.6 compliant (specific python >3.6 syntax is currently not accepted).
[ ] If this is a new feature and not a bug fix, you've included the proper documentation in the ReadTheDocs documentation folder. https://github.com/DefectDojo/Documentation/tree/master/docs or provide feature documentation in the PR.
[ ] Model changes must include the necessary migrations in the dojo/db_migrations folder.
[ ] Add applicable tests to the unit tests.
[ ] Add the proper label to categorize your PR.

I think this PR incorporates the changes in 1.6.1 in #2412, would it make sense to make this PR also against 1.6.1?

I think this PR incorporates the changes in 1.6.1 in #2412, would it make sense to make this PR also against 1.6.1?

Well spotted, it does. Yep no problem, will rebase.

Companion doc: https://github.com/DefectDojo/Documentation/pull/93

Rebasing on dev after all, too many changes in dev to accomodate to my liking.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_ff9b7e0a-6fb4-415d-af73-f6e54dc20a60/pull/1 is merged into live branch.
Auto archive content to https://github.com/OPS-E2E-PPE/docs-archive-test-target_ff9b7e0a-6fb4-415d-af73-f6e54dc20a60.git

Docs Build status updates of commit 7f59fce:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error] Run script failed with no detailed information. Please retry building your content again. If the issue still happens, open a ticket in https://SiteHelp and include the error report for our team to troubleshoot

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Increase number of DB MAX_CONNS from 4 -> 50

What was wrong?
There were deadlocks on DB access (detected on production xDai)
How was it fixed?

Increase number of DB MAX_CONNS from 4 -> 50
A task was not closing DB connections, it was fixed
MAX_CONNS and REUSE_CONNS are now configurable via environment var

Coverage increased (+0.004%) to 87.277% when pulling ca98b2d1c8f7897178390dbd5ecd7d414910f46f on increase-db-max-connections into 6c0398ea59b0a9d8afac84d9b41cc2fb474a09b1 on master.

@luarx Do you see any issues? We will increase number of Database connections from about 20 to 200

It shoud not be a problem! Let's try in staging before


Add no-referrer header

No-referrer header to prevent long queries stored in the URL bar location from being sent as referrer headers. Long headers can cause cowboy to silently drop the request.

Cool so this solves the issue you had?

No more problems so far!


Project with . included in deps causes error in project graph

Describe the bug
The moon documentation says that . is a valid character for project names. However, there's an error if you have a task with deps on a project with a '.' in it. For example, if you do moon query projects while in this state, moon will fail with Error: query::parse::failed.
Steps to reproduce

In .moon/workspace.yaml set up a projects glob of  apps/*.
Create a folder called causes.bug in the apps folder with a moon.yml with a task called see_bug
Create a folder called project in the apps folder with a moon.yml with a task that has causes.bug:see_bug in it's deps
Run moon query projects
Note error

Expected behavior
I would expect this to behave as any other deps on a project's task
Environment
System:
OS: Linux 6.4 Debian GNU/Linux 12 (bookworm) 12 (bookworm)
CPU: (13) arm64 unknown
Memory: 5.73 GB / 7.67 GB
Container: Yes
Shell: 5.9 - /usr/bin/zsh
Binaries:
Node: 20.8.0 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 9.8.1 - /usr/local/bin/npm
Managers:
Apt: 2.6.1 - /usr/bin/apt
Utilities:
Make: 4.3 - /usr/bin/make
GCC: 12.2.0 - /usr/bin/gcc
Git: 2.42.0 - /usr/local/bin/git
Mercurial: 6.3.2 - /usr/bin/hg
Subversion: 1.14.2 - /usr/bin/svn
Curl: 7.88.1 - /usr/bin/curl
IDEs:
Nano: 7.2 - /usr/bin/nano
VSCode: 1.83.1 - /vscode/vscode-server/bin/linux-arm64/f1b07bd25dfad64b0167beb15359ae573aecd2cc/bin/remote-cli/code
Languages:
Bash: 5.2.15 - /usr/bin/bash
Perl: 5.36.0 - /usr/bin/perl
Python3: 3.11.2 - /usr/bin/python3
Additional context
I'm running this in a devcontainer. Doubt that matters, but there you go.

@ethanjdiamond Can you paste the --log trace lines about moon_query?
I think I need to add a period here: https://github.com/moonrepo/moon/blob/f92ac8b02a388bc582201c68359923e009a4914d/nextgen/query/src/mql.pest#L4 but not positive.

I think I got it here https://github.com/moonrepo/moon/pull/1167

Ok fixed in 1.16.1

Thanks!


Video sniffer

If video sniffer function will be added, i will not hesitate to change from IDM to AB downlaod. No one can resist this moderm UI.

@zlf179 Hi there. thanks
This is duplicate. please see #9


Published Radium 0.15.3 does not include dist/radium.min.js

It seems the dist files were not published with v0.15.3.
These URLs 404:

<EMAIL_ADDRESS><EMAIL_ADDRESS>
These URLs are 200 OK:

<EMAIL_ADDRESS><EMAIL_ADDRESS>
I think the only solution is to publish a patch 0.15.4 that includes the dist files.

@coopy -- Captured in https://github.com/FormidableLabs/radium/issues/445 and fixed in master I believe. We may need a new publish.

Thoughts on removing dist from github, but still publishing it on npm, and just directing users to npmcdn for single files and bower?

@ianobermiller great idea, I was going to mention that too. All we need to do is have .gitignore where we include the dist directory and then have separate empty .npmignore as .npmignore overrides .gitignore
More in the documentation.

bower install via npmcdn works well. Let's add it to the documentation.

I don't think we even need npmignore if we specify files in package json,
do we?
On Mon, Dec 28, 2015 at 11:40 AM Per Nilsson<EMAIL_ADDRESS>wrote:

bower install via npmcdn
https://github.com/rackt/redux/issues/944#issuecomment-155628932 works
well. Let's add it to the documentation.
—
Reply to this email directly or view it on GitHub
https://github.com/FormidableLabs/radium/issues/471#issuecomment-167636867
.

yeah either blacklist or whitelist

Fixed in 0.16


unclear instructions

This document is unclear, both to me and to numerous MS engineers:
"Your tenant dial-out minute pool size is based on assigned licenses and not purchased licenses."
Needs context and clearer explanation, as I have no idea what that means.
Also, that the dial-out minutes will be billed after using the allotted 60 minutes is also unclear (to me and numerous MS engineers I have spoke to about this).
You may wish to clarfity that dial-out minutes exceeding alloted 60 min / month will be billed to communications credit license according to set limits in that license.  Then link to communication credits to clarify how that works.
Please fix so others won't have to waste as much time as I did on this rather simple issue.
Hint: write to an UNINFORMED AUDIENCE.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 037fe22c-ba09-e381-231d-c37f6bb2a774
Version Independent ID: e8046130-d407-3155-53c5-9043110cd793
Content: Audio Conferencing subscription “Dial-Out”/“Call Me At” benefit - Microsoft Teams
Content Source: Teams/audio-conferencing-subscription-dial-out.md
Service: msteams
GitHub Login: @tonysmit
Microsoft Alias: tonysmit

@school4schools Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@school4schools Thank you for reaching out.  I'm looking through this document to see what I can change for more clarity. If you have any further suggestions in the meantime please let me know.

@scanum this can be closed thank you.

@school4schools Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


The text that shows (on resource landing page) what access permission a user has for a resource is not always correct

If I create a resource and then remove myself from resource ownership, it still shows "You are the owner of this resource" on the resource landing page. If I have edit or view permission for a resource, it supposed to show "You have been given specific permission to edit this resource." or "You have been given specific permission to view this resource." However, it doesn't show that.

Tested and seems to be working satisfactorily in version 1.6.1.


Allows retrieval of all local package contents via http://server/-/search/~

If there's a preference for the wildcard I'm happy to change it upon request; also note the score attribute isn't required.

@Verikon  There isn't a way to "cheat" lunrjs to match all items?

Querying lunr's index for all items makes a lot more sense and that was my initial approach. It's unclear how to produce a query which will return all items in Lunr's index ( https://lunrjs.com/docs/index.js.html ).
Baring that in mind, I instead made use of the storage.get method.

tested it, you can now list all local contents via an asterisk.


Remove check letter from SDS identifier

What is the context of this PR?
Removes the check letter from the identifier (ru_ref) passed to the SDS as their identifier doesn't contain the check letter.
How to review
Use https://github.com/ONSdigital/eq-runner-mock-sds/pull/5 to test this change and ensure you are able to launch the supplementary data schema successfully.
You can either checkout that sds branch or use make dev-compose-up.
In launcher, ensure ru_ref contains the check letter<PHONE_NUMBER>2A (default behaviour) but SDS data is loaded without issues.
Checklist

[ ] New static content marked up for translation
[ ] Newly defined schema content included in eq-translations repo

Launcher PR needs to go in first?

Nope, it is not a blocker as launcher you can edit the ru ref.


Flickering Issue on realsense d450

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
{ D400 }

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
{Win (8.1/10) / Linux (Ubuntu 14/16/17) / MacOS

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC/Raspberry Pi/ NVIDIA Jetson / etc..

SDK Version
{ legacy / 2.. }

Language
{C/C++ }

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
<Describe your issue / question / feature request / etc..>
I have been experiencing flickering of video while using realsense d450 camera. Is there any settings issue? or something wrong with the hardware.
The corresponding Settings File.
D435iSettings.json
https://github.com/IntelRealSense/librealsense/assets/117892842/89b27f26-2290-4830-a4cc-f721b72bd227

Hi @Hrithik1049  Are you enabling the HDR function or rapidly changing the exposure value, please?

I am running on default settings. Regarding HDR and exposure.

HDR is disabled
Auto exposure is enabled
For all the settings, please refer to the settings file I shared in the first post.

Also, wanted to ask why are we getting completely black frames.

The json defines 640x480 resolution at 30 FPS for depth and IR.  However, when the camera is started the resolution and FPS in the json is ignored.
If a custom stream configuration (cfg) has not been defined in a program script then the program will instead automatically apply the default stream configuration of the particular RealSense camera model that is being used.  So instead of using 640x480 at 30 FPS, the program is likely using 848x480 on D435i at 30 FPS for depth and IR.  That may not account for the flickering effect on the IR stream though.
If the camera is being used outdoors then it is possible that if the camera faced directly into the sun at some point then its IR sensors could become saturated with light and cause exposure to drop to its minimum, resulting in a black frame.  If auto-exposure is enabled then the camera should automatically recover once the camera is turned away from facing the light source directly.
Does it still flicker if auto-exposure is disabled and manual exposure is used instead?

Hi @Hrithik1049  Do you require further assistance with this case, please?  Thanks!

Yes, We saw that as soon as we turned off auto exposure some of the flickering went away. we also saw a setting in the code for anti-flicker exposure can you provide some more information on this.

https://github.com/IntelRealSense/librealsense/issues/10733#issuecomment-1488246925 has information about this mode.
I used the SDK's rs-sensor-control tool to check whether Auto Exposure Mode was supported on various models of 400 Series cameras.  For most of them it stated that it was not supported, but on D455 it was supported.  So it should work with D450, as this is the circuit board used inside a D455 camera.

In a previous case about this instruction, I suggested trying the C++ code below to set it.  It resulted in an error about an invalid value but that may be because that particular case used the D435 model which doesn't support this option.  So please try this code.
rs2::pipeline pipe;
rs2::pipeline_profile selection = pipe.start();
rs2::device selected_device = selection.get_device();
auto depth_sensor = selected_device.first<rs2::depth_sensor>();
depth_sensor.set_option(RS2_OPTION_AUTO_EXPOSURE_MODE, 1.f); // Enable auto-exposure anti flicker mode

Hi @Hrithik1049  Do you require further assistance with this case, please?  Thanks!

Hello @MartyG-RealSense . I ran the code you suggested but got this error.
Intel RealSense D455 error calling rs2_set_option(options:0x7fe3cc32a150, option:Auto Exposure Mode, value:1):
object doesn't support option #21

I ran the rs-sensor-control and it generated this output for stereo camera sensor
Sensor supports the following options:
0: Backlight Compensation is not supported
1: Brightness is not supported
2: Contrast is not supported
3: Exposure
Description   : Depth Exposure (usec)
Current Value : 33000
4: Gain
Description   : UVC image gain
Current Value : 16
5: Gamma is not supported
6: Hue is not supported
7: Saturation is not supported
8: Sharpness is not supported
9: White Balance is not supported
10: Enable Auto Exposure
Description   : Enable Auto Exposure
Current Value : 1
11: Enable Auto White Balance is not supported
12: Visual Preset
Description   : Advanced-Mode Preset
Current Value : 0
13: Laser Power
Description   : Manual laser power in mw. applicable only when laser power mode is set to Manual
Current Value : 150
14: Accuracy is not supported
15: Motion Range is not supported
16: Filter Option is not supported
17: Confidence Threshold is not supported
18: Emitter Enabled
Description   : Emitter select, 0-disable all emitters, 1-enable laser, 2-enable laser auto (opt), 3-enable LED (opt)
Current Value : 0
19: Frames Queue Size
Description   : Max number of frames you can hold at a given time. Increasing this number will reduce frame drops but increase latency, and vice versa
Current Value : 16
20: Total Frame Drops is not supported
21: Auto Exposure Mode is not supported
22: Power Line Frequency is not supported
23: Asic Temperature is not supported
24: Error Polling Enabled
Description   : Enable / disable polling of camera internal errors
Current Value : 1
25: Projector Temperature is not supported
26: Output Trigger Enabled
Description   : Generate trigger from the camera to external device once per frame
Current Value : 0
27: Motion Module Temperature is not supported
28: Depth Units
Description   : Number of meters represented by a single depth unit
Current Value : 0.001
29: Enable Motion Correction is not supported
30: Auto Exposure Priority is not supported
31: Color Scheme is not supported
32: Histogram Equalization Enabled is not supported
33: Min Distance is not supported
34: Max Distance is not supported
35: Texture Source is not supported
36: Filter Magnitude is not supported
37: Filter Smooth Alpha is not supported
38: Filter Smooth Delta is not supported
39: Holes Fill is not supported
40: Stereo Baseline
Description   : Distance in mm between the stereo imagers
Current Value : 95.1615
41: Auto Exposure Converge Step is not supported
42: Inter Cam Sync Mode
Description   : Inter-camera synchronization mode: 0:Default, 1:Master, 2:Slave, 3:Full Salve, 4-258:Genlock with burst count of 1-255 frames for each trigger, 259 and 260 for two frames per trigger with laser ON-OFF and OFF-ON.
  I tested with my D455, and also with a D457 that is detected as D455 when used with a USB cable and both were listed as supporting Auto Exposure Mode.  So it is possible that a camera has to be specifically identified as D455 in order for Auto Exposure Mode to be accessible.
When you run rs-sensor-control, what name is your D450 module identified by when it first starts, please?

So in realsense viewer, it identifies as a D455 camera.

Which librealsense SDK version and camera firmware driver version are you using, please?

Hi @Hrithik1049  Do you require further assistance with this case, please?  Thanks!

Hi @Hrithik1049  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.

Hello @MartyG-RealSense So i tried with different combinations of latest firmware and librealsense. None of them seem to work. For the latest firmware and librealsense I am getting the following error.
Intel RealSense D455 error calling rs2_set_option(options:0x562845757840, option:Fisheye Auto Exposure Mode, value:0):     object doesn't support option Fisheye Auto Exposure Mode

Hi @Hrithik1049  The D455 does not have a fisheye sensor.  This is only on the retired RealSense T265 Tracking Camera model.  Which program are you running, please?  If it is a T265-only program then RealSense 400 Series camera models such as D455 would not be able to be used with that program.

This is the code which we are using
				rs2::stream_profile left_profile = mD435I_PipelineProfile.get_stream(RS2_STREAM_INFRARED, stream_index);
				mIntrinsics = left_profile.as<rs2::video_stream_profile>().get_intrinsics();

				rs2::region_of_interest rs_roi;
				rs_roi.min_x=5;
				rs_roi.min_y=5;
				rs_roi.max_x=mImageWidth-5;
				rs_roi.max_y=mImageHeight-5;

				std::this_thread::sleep_for(std::chrono::milliseconds(100));
				Sensor = mD435I_PipelineProfile.get_device().first<rs2::depth_sensor>();

				Sensor.as<rs2::roi_sensor>().set_region_of_interest(rs_roi);

				Sensor.set_option(RS2_OPTION_EMITTER_ENABLED, 0);

				Sensor.set_option(RS2_OPTION_ENABLE_AUTO_EXPOSURE, 1);

				Sensor.set_option(RS2_OPTION_AUTO_EXPOSURE_MODE,0.f);

https://github.com/IntelRealSense/librealsense/issues/5308#issuecomment-560132907 recommends performing an if (sensor->is<roi_sensor>()) check to confirm that the sensor supports setting the ROI.

For some reason, I was not able to run the command you gave tried in realsense Viewer. I was able to define the ROI.

I reviewed the video at the top of this case again.  I observed that the timing of the flickering is irregular, which suggests that it is not occurring on every frame.
Also, the flickering stops at the 14 second point out of 17 on the video.
You were using a custom json configuration file, 'D435iSettings'json'.  I tested the json with the infrared stream in the RealSense Viewer on a D435 and a D455 but the infrared image did not flicker like yours did.

yes, the flickering is not consistent but it is significant. We have been able to reproduce the flickering when we point at a bright light. Indoors we were able to reproduce the flickering to a moderate scale. Can you repeat the experiment and see if it's happening with your setup ?

I was not able to replicate the flickering with my D455.  I do not have access to a D450 module though and so cannot test for the difference that a lack of front glass in front of the lenses might make when a D450 is pointed directly at a strong light source.
In general, when RealSense cameras are pointed directly at strong light such as the sun then the infrared sensors can become saturated with light and cause problems with the image.  If auto-exposure is enabled then the image should auto-correct if the camera is turned away from directly facing the light or the front of the camera is covered over for several seconds.

So there is no way to handle such flickers?

You could try placing a thin film of linear polarization filter product over the lenses on the outside of the D450 to negate light glare when directly facing strong light sources.  Any polarization filter should work so long as it is linear, so you can find the filter inexpensively by searching stores such as Amazon for linear polarizing sheet


Investigate 502 Bad Gateway error

The following warning was present in Airseeker logs, which seems to be an issue with signed API.
{
    "code": "ERR_BAD_RESPONSE",
    "dataFetcherCoordinatorId": "1700933727802",
    "level": "warn",
    "message": "Request failed with status code 502",
    "ms": "+36ms",
    "name": "AxiosError",
    "response": {
        "data": "\r\n<title>502 Bad Gateway</title>\r\n\r\n
502 Bad Gateway
\r\n\r\n\r\n",
        "headers": {
            "connection": "close",
            "content-length": "122",
            "content-type": "text/html",
            "date": "Sat, 25 Nov 2023 17:35:27 GMT",
            "server": "awselb/2.0"
        },
        "status": 502
    },
    "stack": "AxiosError: Request failed with status code 502\n    at settle (/app/node_modules/.pnpm/axios@1.6.0/node_modules/axios/dist/node/axios.cjs:1913:12)\n    at IncomingMessage.handleStreamEnd (/app/node_modules/.pnpm/axios@1.6.0/node_modules/axios/dist/node/axios.cjs:3008:11)\n    at IncomingMessage.emit (node:events:529:35)\n    at IncomingMessage.emit (node:domain:489:12)\n    at endReadableNT (node:internal/streams/readable:1368:12)\n    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)",
    "timestamp": "2023-11-25T17:35:27.838Z"
}

This one is very hard to debug, because this error was thrown by the load balancer and haven't reached the Signed API container at all (meaning there are no logs). Also, this issue happened only once and there is nothing suspicious shortly before or after this incident.
I'm closing this without resolution and we can re-investigate if this becomes a recurring problem.


Can Not Play video any more - XCDYouTubeVideoErrorDomain Code=-3

Start from today(or maybe yesterday). Most of videos are failed to play. The error is returned "XCDYouTubeVideoErrorDomain Code=-3".
https://www.youtube.com/watch?v=AgFeZr5ptV8
https://www.youtube.com/watch?v=bnVUHWCynig
https://www.youtube.com/watch?v=clJsnBoVQDA
Could anyone help? thanks in advance.

I'm having the same issue since this morning.
The failures seem to be random, the same video is sometimes available to be played and sometimes fails.
I have not found the root cause of this all yet, but it seems like the issue lies with YouTube's get_video_info URL sometimes returning a 404 error.
The following is the print of the NSHTTPURLResponse I get when trying to access the get_video_info in  the -(void) handleVideoInfoResponseWithInfo:(NSDictionary *)info response:(NSURLResponse *)response handler inside XCDYouTubeVideoOperation.m
<NSHTTPURLResponse: 0x2834e8180> { URL: https://www.youtube.com/get_video_info?el=embedded&hl=ja&ps=default&video_id=dy90tA3TT1c } { Status Code: 404, Headers {     "Alt-Svc" =     (         "h3-29=\":443\"; ma=2592000,h3-T051=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\""     );     "Cache-Control" =     (         "no-cache"     );     "Content-Length" =     (         0     );     "Content-Type" =     (         "text/html; charset=utf-8"     );     Date =     (         "Tue, 18 May 2021 06:10:38 GMT"     );     Expires =     (         "Tue, 27 Apr 1971 19:44:06 GMT"     );     Server =     (         "YouTube Frontend Proxy"     );     "Set-Cookie" =     (         "VISITOR_INFO1_LIVE=YqCzchuOn6U; path=/; domain=.youtube.com; secure; expires=Sun, 14-Nov-2021 06:10:38 GMT; httponly",         "YSC=hmbP_-FCTAY; path=/; domain=.youtube.com; secure; httponly"     );     "Strict-Transport-Security" =     (         "max-age=31536000"     );     p3p =     (         "CP=\"This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info.\""     );     "x-content-type-options" =     (         nosniff     );     "x-frame-options" =     (         SAMEORIGIN     );     "x-xss-protection" =     (         0     ); } }
If anyone has any idea how to solve this I would love to hear about it!
I'll update as well if I figure this out...

Same here! Sometimes it fails other times it works fine.

I got the same error:
"Failed to decode response from https://www.youtube.com/get_video_info?el=embedded&hl=en&ps=default&video_id=vlDzYIIOYmM"

Sometime, i got two error:-
Domain: XCDYouTubeVideoErrorDomain
Code:   -2
User Info: {
NSLocalizedDescription = "Invalid parameters.";
NSURL = "https://www.youtube.com/get_video_info?el=detailpage&hl=en&ps=default&video_id=";
}
Domain: XCDYouTubeVideoErrorDomain
Code:   -3
User Info: {
}
Please suggest me right path, my application is live on appstore and many user will get same error.

I still have no idea what is actually causing this.
However, since the 404 errors seem to be random I realised that just retrying when they happen seem to make most videos able to play. I'm not sure if this is the best way of handling this though, but at least in my case it has reduced the number of errors from happening almost 80% of the time to a very small percentage.
By adding the following code to XCDYouTubeVideoOperation.m, just below the error handling for HTTP 429 errors (around row 373 or so), it is possible to retry when this error happens.
if ([(NSHTTPURLResponse *)response statusCode] == 429)
{
    // error handling for 429 errors
}

/** ↓ Insert from here **/
if ([(NSHTTPURLResponse *)response statusCode] == 404 && responseString.length == 0)
{
    [self handleConnectionError:[NSError errorWithDomain:XCDYouTubeVideoErrorDomain code:XCDYouTubeErrorEmptyResponse userInfo:@{NSLocalizedDescriptionKey : @"The response is empty."}] requestType:requestType];
    return;
}
/** ↑ Insert end **/

if (responseString.length == 0)
{

If anyone have any better solutions, please share them!

I tried the approach above, but in my testing this didn't seem to have much effect at all. I even increased the amount of retries, but once there's a 404 it seems to be unavailable for a little while:

@knbx Same. Honestly it seems like an issue with YouTube or it's because of a recent change.

Unfortunately I have nothing new to add (re fixes) except to confirm as of today I'm noticing this same issue. Looking forward to learning more, i.e. what can be done to quickly fix.

Could this be related? https://issuetracker.google.com/issues/186560114

Unfortunately I have nothing new to add (re fixes) except to confirm as of today I'm noticing this same issue. Looking forward to learning more, i.e. what can be done to quickly fix.

Same here, I started experiencing the bug today...

Same here... none of the videos are playing..

Hmm, I did add a few other changes as well, like incorporating #524, apart from retrying on 404 errors.
I am now able to play all videos. It's strange that the same doesn't seem to work for you guys..
My way of retrying doesn't seem to be the best way of handling this error anyway, so I am still interested in any solutions you can find.

Hmm, I did add a few other changes as well, like incorporating #524, apart from retrying on 404 errors.
I am now able to play all videos. It's strange that the same doesn't seem to work for you guys..
My way of retrying doesn't seem to be the best way of handling this error anyway, so I am still interested in any solutions
you can find.

Adding your 404 retry code (w/ no other changes) does seem  to be solving the issue for me*, i.e. in  (as specified in your previous response) I added your code to XCDYouTubeVideoOperation.m:

if ([(NSHTTPURLResponse *)response statusCode] == 404 && responseString.length == 0) {
..

Thank you, very much appreciated.
However, wondering if this is just a temporary issue @ YouTube (seemingly w/ get_video_info) or if this signals a major change in how moving forward we can access YT video data in-app.
*PS I checked how many Xs the retry code is triggered and it's consistently 2Xs before the method (handleConnectionSuccessWithData:) continues successfully w/o retrying. Reason why this works (consistently after retiring 2Xs) is beyond my understanding, just happy it does (work, for now).

Same issue encounter today. any update on this?
Domain: XCDYouTubeVideoErrorDomain Code:   -3 User Info: { } The operation couldn’t be completed. (XCDYouTubeVideoErrorDomain error -3.)

@fightveryexplosion Thanks a lot for the great work and sharing. In my case, it's solved. Appreciate!
@mjroldan Have you tried the solution fightvertexplosion shared? It indeed works.

@fightveryexplosion Thanks a lot for the great work and sharing. In my case, it's solved. Appreciate!
@mjroldan Have you tried the solution fightvertexplosion shared? It indeed works.

Not yet so far but do we have any solution without having resubmit the app to app store?

How can fix this error please help anyone

looks like the get_video_info API is either temporarily not available or disabled completely from youtube. Opening this page -https://www.youtube.com/get_video_info?video_id=B4CRkpBGQzU
in browser gives a 404.
If this API starts working (Youtube controls it), this repo might start working again.

@fightveryexplosion Great, it's working, thanks!
But i got another issue like i could not get captionURLs and autoGeneratedCaptionURLs, i need to show caption in video. Before it was working ,but after applying this solution i could not get above parameter. Anyone know about this issue please help me, thanks.

I did some more testing and noticed that the retry tweak works when I'm on a VPN to the US. Curiously, I still see the 404 errors when inspecting my network calls, but a few seconds later video stream data arrives regardless. When the VPN is disabled, this never happens.
Might be useful for the others who reported the tweak not working to test this if they have a lot of users in the US.

@0xced
I have Generated PR For #526
Please review it and  let me know

Wow, thank you! This works for me as well, without the need for retrying! @jatin19121990 you're the best!
And to think all it took to fix this was one additional parameter to the get_video_info request, lmao.

Wow, thank you! This works for me as well, without the need for retrying! @jatin19121990 you're the best!
And to think all it took to fix this was one additional parameter to the get_video_info request, lmao.

@fightveryexplosion, your retry worked too, a clever temporary fix that had our app up and running last night before today's parameter addition. Thanks again.

@jatin19121990 @fightveryexplosion Thank you both so much for solving this issue. And thanks for all people joining discussion and sharing status. Since it's confirmed fixed by both ways from multiple participants, I'm closing this issue.

this should be reopened until it is merged into the actual repository

@0xced could we get a new release with this fix please?

I'm again encountering the same error we had (and previously resolved) last month, i.e.
https://www.youtube.com/get_video_info is failing w/ 404 error again
^^ specifically in my application calls to e.g. '[XCDYouTubeClient getVideoWithIdentifier:' fail.
For the past month the addition of parameter html5=1, i.e. as per @@jatin19121990 was working, but as of the past ~12 hours it stopped working again.
https://github.com/0xced/XCDYouTubeKit/pull/526/commits/8389cd3a1beab8bba76649ff870125b580d9a049
I re-applied the following, i.e. specifically @fightveryexplosion retry fix above:
https://github.com/0xced/XCDYouTubeKit/issues/525#issuecomment-843923468
^^ The retry fix seems to work for almost videos I've so far tried, I'm assuming Youtube has again added (or removed) a parameter requirement for their 'get_video_info' endpoint, but until another fix comes along applying the @fightveryexplosion fix as per 525#issuecomment-843923468 resolves the issue, i.e. quoting @fightveryexplosion (thank you, @fightveryexplosion):
XCDYouTubeVideoOperation.m
around row 373 or so), it is possible to retry when this error happens.
if ([(NSHTTPURLResponse *)response statusCode] == 429)
{
// error handling for 429 errors
}
/** ↓ Insert from here */
if ([(NSHTTPURLResponse )response statusCode] == 404 && responseString.length == 0)
{
[self handleConnectionError:[NSError errorWithDomain:XCDYouTubeVideoErrorDomain code:XCDYouTubeErrorEmptyResponse userInfo:@{NSLocalizedDescriptionKey : @"The response is empty."}] requestType:requestType];
return;
}
/ ↑ Insert end **/
if (responseString.length == 0)
{

Same here :(

Same

I'm experiencing the same issue. This PR https://github.com/0xced/XCDYouTubeKit/commit/8389cd3a1beab8bba76649ff870125b580d9a049  has been working as of a couple of days ago but now I'm experiencing this again. Video plays sometimes, but sometimes not and when not this is the error message I keep seeing:
[XCDYouTubeKit] Video operation finished with error: The operation couldn’t be completed. (XCDYouTubeVideoErrorDomain error -3.)
Domain: XCDYouTubeVideoErrorDomain
Code:   -3

I'm experiencing the same issue. It worked but now I see the error again:  "Error Domain=XCDYouTubeVideoErrorDomain Code=-3". Please help

same issue. it worked before and I am not getting error but doesn't play the video today

same here, youtube API is blocked again. Looks like it is being done on
purpose by YouTube.
On Sat, 19 Jun 2021 at 00:00, devbest555 @.***> wrote:

same issue. it worked before and I am not getting error but doesn't play
the video today
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/0xced/XCDYouTubeKit/issues/525#issuecomment-864222022,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADMR7KM4B5B6J7RARBP5X43TTOJVRANCNFSM45CCDYRQ
.

--
Regards,

Same here, it's not working once again.

This post https://stackoverflow.com/a/68054873/3937348 covered this issue, too.
The currently working url for get_video_info seems to be  https://www.youtube.com/get_video_info?video_id={{videoId}}&eurl=https%3A%2F%2Fyoutube.googleapis.com%2Fv%2F{{videoId}}&html5=1&c=TVHTML5&cver=6.20180913

a small fix
- (void) startNextRequest
{
	if (self.eventLabels.count == 0)
	{
		if (self.requestType == XCDYouTubeRequestTypeWatchPage || self.webpage)
		{
			if (self.ranLastEmbedPage == NO) {
				[self startLastEmbedPageRequest];
				return;
			}
			[self finishWithError];
		}
		else
		{
			[self startWatchPageRequest];
		}
	}
	else
	{
		NSString *eventLabel = [self.eventLabels objectAtIndex:0];
		[self.eventLabels removeObjectAtIndex:0];

        NSDictionary *query = @{ @"video_id": self.videoIdentifier, @"eurl": @"https%3A%2F%2Fyoutube.googleapis.com%2Fv%2Fonz2k4zoLjQ", @"html5": @"1", @"c": @"TVHTML5", @"cver": @"6.20180913" }; // only this is new
		NSString *queryString = XCDQueryStringWithDictionary(query);
		NSURL *videoInfoURL = [NSURL URLWithString:[@"https://www.youtube.com/get_video_info?" stringByAppendingString:queryString]];
		[self startRequestWithURL:videoInfoURL type:XCDYouTubeRequestTypeGetVideoInfo];
	}
}


Applies to other Logitech wheels (G920)

Thank you for your great work.
I would like to apply this module for Logitech G920.
I modified the vendor and product ID in index.js to connect G920 but when I  executed
example js file for connect, it made following error.
Error: Cannot write to HID device
at relayOS (C:\Users\sungwoo\Documents\logitech_con\node_modules\logitech-g29\code\index.js:215:12)
at forceConstant (C:\Users\sungwoo\Documents\logitech_con\node_modules\logitech-g29\code\index.js:388:5)
at Object.connect (C:\Users\sungwoo\Documents\logitech_con\node_modules\logitech-g29\code\index.js:147:5)
at Object. (C:\Users\sungwoo\Documents\logitech_con\connect.js:3:3)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
Would you mind tell me which parts should be changed to connect with G920?
Thank you for your great work.
Sungwoo

Hi and thanks. :D
It looks like the G920 is the Xbox version of a Logitech Wheel ya?
Sounds like you found the wheel by changing the vendor and product ID so that is good news. Then it gets stuck trying to send a movement command to the wheel in order to see which wheel mode the G920 is in. Not sure if detecting the low or high precision wheel mode is necessary for this particular wheel though. I don't have a G920 to experiment on so I can only offer you some ideas to try.
Ideas to try in logitech-g29\code\index.js

Hard code the variable prependWrite to false to see if that helps the relayOS function.
Hard code the variable prependWrite to true to see if that helps the relayOS function.
Inside the connect function, disable the call to forceConstant(1) at the bottom and instead gently nudge the wheel when you start the program to generate a move event. The move event is needed to see what format the wheel sends data back in. Low or high precision modes. If low precision mode is detected, the G29 wheel init may be attempted in which case if you have trouble writing to the wheel, it will likely crash again.

I'm not sure how much I can help but if you find that you make a tiny bit more progress before getting stuck at the next thing, let me know.

Hey ctospark,
Can you run node ./test/hid-devices.js and then search for G920 and post the object (or objects) you find?
Here is my G29 object. Ignore the productId since I'm having an issue with that currently.
{
    vendorId: 1133,
    productId: 49812,
    path: 'IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC1@14/XHC1@14000000/HS11@14600000/G29 Driving Force Racing Wheel@14600000/IOUSBHostInterface@0/IOUSBHostHIDDevice@14600000,0',
    serialNumber: '',
    manufacturer: 'Logitech',
    product: 'G29 Driving Force Racing Wheel',
    release: 4944,
    interface: -1,
    usagePage: 1,
    usage: 5
}

Hi,
Appreciate this may be old/dormant but I'm very interested + motivated to get this working with the G920. I ran that command and here is what I get. It comes up three times in the results so I'm just pasting all of them here:
  {
    vendorId: 1133,
    productId: 49762,
    path: '\\\\?\\hid#vid_046d&pid_c262&col01#7&12179689&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}',
    serialNumber: '0000ec5205d34feb',
    manufacturer: 'Logitech',
    product: 'G920 Driving Force Racing Wheel for Xbox One',
    release: 38404,
    interface: -1,
    usagePage: 1,
    usage: 4
  },
  {
    vendorId: 1133,
    productId: 49762,
    path: '\\\\?\\hid#vid_046d&pid_c262&col02#7&12179689&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}',
    serialNumber: '0000ec5205d34feb',
    manufacturer: 'Logitech',
    product: 'G920 Driving Force Racing Wheel for Xbox One',
    release: 38404,
    interface: -1,
    usagePage: 65347,
    usage: 1538
  },
  {
    vendorId: 1133,
    productId: 49762,
    path: '\\\\?\\hid#vid_046d&pid_c262&col03#7&12179689&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}',
    serialNumber: '0000ec5205d34feb',
    manufacturer: 'Logitech',
    product: 'G920 Driving Force Racing Wheel for Xbox One',
    release: 38404,
    interface: -1,
    usagePage: 65347,
    usage: 1540
  },


Hooks

[x] useState
[x] useReducer
[x] useMemo
[x] useCallback
[x] useRef
[x] useContext
[x] useEffect
[ ] useLayoutEffect
[x] useErrorBoundary

Does useMemo/useCallback/useContext/useLayoutEffect/useErrorBoundary done?
It help me a lot, but havn't useMemo/useCallback/useContext/useLayoutEffect/useErrorBoundary hooks.

I implemented the same functionality using another approach, but your solution looks much simpler, more elegant, and better.

I implemented the same functionality using another approach, but your solution looks much simpler, more elegant, and better.


[aws-json] Migrate SNS DeleteTopic

Also squashing and rebasing?
Is there an order you want me to try to merge these in?  I expect you're going to have some conflicts as we go, but I will try to accommodate?

@Admiral-Piett
Thank you for reviewing very concurrently 4 PRs!
When multiple PRs become squash/merge ready, can Icombine multiple PRs into one commit, one new PR?
Conflicts may occur every time you merge them one by one.

Ready to merge!


uboot: 2023.01 -> 2023.04

Description of changes
Updated u-boot to the latest stable release. My personal motivation for this change is to get the correct dtb file for the Raspberry PI Zero 2W (https://github.com/u-boot/u-boot/commit/0e8c94054fd80535e868900deb978a9a1ebcab67) as mentioned in #216886
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Duplicate of #227947

So sorry, completely forgot to search the open PRs.


nsync: init at 1.24.0

Motivation for this change
Library is used in various places, e.g. onnxruntime, Tensorflow
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@blitz @jonringer PR 1 of 3, final result is here: https://github.com/puffnfresh/nixpkgs/tree/pkgs/obs-backgroundremoval

Diff LGTM, fails to build on darwin:
mkdir: cannot create directory 'build': File exists

Can you look into it (maybe case-insensitivity issue?) or disable the failing platform?

@tfc This is part of packaging the obs-backgrounremoval plugin. Maybe you can give this a lift?


refactor(samples): convert sample tests from ava to mocha

Fixes convert all sample tests from ava to mocha #2865 (it's a good idea to open an issue first for discussion)

[ ] Tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

System tests still failing:
  1) should require all-or-none of {contextField, wrappedKey, keyName}
(node:119) UnhandledPromiseRejectionWarning: Error: Command failed: node deid.js deidDateShift "resources/dates.csv" "/tmpfs/src/github/nodejs-dlp/samples/system-test/temp.result.csv" 30 30 birth_date register_date -f name -n projects/nodejs-docs-samples/locations/global/keyRings/integration-tests-dlp/cryptoKeys/test-key
/tmpfs/src/github/nodejs-dlp/samples/node_modules/yargs/yargs.js:1148
      else throw err
           ^
Error: You must set either ALL or NONE of {contextFieldId, keyName, wrappedKey}!
    at deidentifyWithDateShift (/tmpfs/src/github/nodejs-dlp/samples/deid.js:188:11)
    at Object.require.demand.command.command.command.command.opts [as handler] (/tmpfs/src/github/nodejs-dlp/samples/deid.js:515:7)
    at Object.runCommand (/tmpfs/src/github/nodejs-dlp/samples/node_modules/yargs/lib/command.js:238:44)
    at Object.parseArgs [as _parseArgs] (/tmpfs/src/github/nodejs-dlp/samples/node_modules/yargs/yargs.js:1063:30)
    at Object.get [as argv] (/tmpfs/src/github/nodejs-dlp/samples/node_modules/yargs/yargs.js:1004:21)
    at Object.<anonymous> (/tmpfs/src/github/nodejs-dlp/samples/deid.js:549:22)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at ChildProcess.exithandler (child_process.js:276:12)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:915:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
(node:119) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:119) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

...

  67 passing (4m)
  7 pending
  1 failing
  1) should require all-or-none of {contextField, wrappedKey, keyName}:
     TypeError [ERR_INVALID_ARG_TYPE]: The "block" argument must be of type function. Received type object
      at innerThrows (assert.js:629:11)
      at Function.throws (assert.js:662:3)
      at Context.it (system-test/deid.test.js:169:16)
npm ERR! Test failed.  See above for more details.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>samples-test: `cd samples/ && npm link ../ && npm test && cd ../`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>samples-test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Hi @JustinBeckwith,
I am unable to see log file for test failure. It will be helpful if I can see log file.Thanks.

@nareshqlogic are you able to run the tests locally?

Hi @JustinBeckwith ,
I am not able to run all the tests successfully. As I am getting some errors like 'Error: 7 PERMISSION_DENIED: Not allowed, access denied for permission dlp.jobs.create'.
Although most of tests are running successfully.


Add Merge operators

Add Merge(IEnumerable<Observable<T>>) and Merge(params Observable<T>[] targets) operators

This concat looks a bit unnatural.
Instead, wouldn't it be sufficient to change it to
public static Observable<T> Merge<T>(this IEnumerable<Observable<T>> sources)?

I brought it to R3 because it is the operator schema that was available in UniRx, but was it not a good idea?
var s1 = new Subject<int>();
var s2 = new Subject<int>();
var s3 = new Subject<int>();

// Merge(this Observable<int>, params Observable<int>[])
s1.Merge(s2, s3).Subscribe();

In that case Observable.Merge(s1, s2, s3) would be better.
Unlike Concat and others, it is not an ordered join.

I see, if the wording is misleading, it would be better not to add it.
And the addition of the public static Observable<T> Merge<T>(this IEnumerable<Observable<T>> sources) extension method solved some problems. Therefore, this PR is closed.
Thanks.


Group by not working when columns not returned directly in select

OrientDB Version: 3.0.9
Java Version: openjdk version "1.8.0_171"
OS: alpine 3.8.1 (I'm using the official Docker image)
Given table such as:

@rid
@version
@class
last_name
first_name

41:0
1
Test
Francescone
Onida

41:1
1
Test
Springham
Lauree

41:2
1
Test
Whal
Cory

42:0
1
Test
Ryan
Onida

42:1
1
Test
Ranking
Abran

42:2
1
Test
Schoales
Cory

43:0
1
Test
Ryan
Maximilien

43:1
1
Test
Stannas
Abran

43:2
1
Test
Schoales
Augusta

44:0
1
Test
Henzley
Dot

44:1
1
Test
Stannas
Gypsy

44:2
1
Test
Garrard
Walliw

Then running a query with GROUP BY such as:
SELECT first_name + ' ' + last_name, COUNT(@rid) FROM Test GROUP BY last_name, first_name

Expected behavior
Should group specified columns like in SQL:

first_name + ' ' + last_name
COUNT(@rid)

Onida Francescone
1

Lauree Springham
1

Cory Whal
1

Onida Ryan
1

Abran Ranking
1

Cory Schoales
1

Maximilien Ryan
1

Abran Stannas
1

Augusta Schoales
1

Dot Henzley
1

Gypsy Stannas
1

Walliw Garrard
1

Actual behavior
Actually groups people with same last_name to same bucket

first_name + ' ' + last_name
COUNT(@rid)

Onida Francescone
1

Lauree Springham
1

Cory Whal
1

Maximilien Ryan
2

Abran Ranking
1

Augusta Schoales
2

Gypsy Stannas
2

Dot Henzley
1

Walliw Garrard
1

Steps to reproduce
Prepare table with data:
CREATE CLASS TEST EXTENDS V;
INSERT INTO Test (first_name, last_name) VALUES ('Onida', 'Francescone'),
('Onida', 'Ryan'),
('Maximilien', 'Ryan'),
('Dot', 'Henzley'),
('Lauree', 'Springham'),
('Abran', 'Ranking'),
('Abran', 'Stannas'),
('Gypsy', 'Stannas'),
('Cory', 'Whal'),
('Cory', 'Schoales'),
('Augusta', 'Schoales'),
('Walliw', 'Garrard');

Query:
SELECT first_name + ' ' + last_name, COUNT(@rid) FROM Test GROUP BY first_name, last_name

Workaround:
The query seems to give expected results when using GROUP BY first_name + ' ' + last_name syntax:
SELECT first_name + ' ' + last_name, COUNT(@rid) FROM Test GROUP BY first_name + ' ' + last_name

Also when selecting first_name and last_name fields directly in SELECT the query returns results as expected.
SELECT first_name, last_name, COUNT(@rid) FROM Test GROUP BY first_name, last_name

Hi @josalmi
I'm working on it now
Thanks
Luigi

Hi @josalmi
I just pushed a fix, it will be released with v 3.0.11
Thanks
Luigi


Figure out deployment using new GPG plugin version 3.2.0

Initially I received a "bad passphrase" error and a warning that a secret was on disk. This is 100% not true as my settings.xml file contains this profile:
        <profile>
            <id>ossrh</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <gpg.executable>gpg</gpg.executable>
                <gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase>
            </properties>
        </profile>

Clearly the new version 3.2.0 thinks one thing but the reality is a bit different. ${env.GPG_PASSPHRASE} is clearly not an actual passphrase.
And their docs were not helpful.
References:

Stop propagating bad practices; but allow for "compat mode"
Release Notes - Maven GPG Plugin - Version 3.2.0
GPG Plugin - Introduction
GPG Plugin - Usage
GPG Plugin - Deploy Signed Artifacts
Upgrading from 3.1.0 to 3.2.0 with no other changes causes "gpg: signing failed: No pinentry"

I did some local testing just doing mvn verify -Prelease to generate the artifacts and get the GPG plugin to sign them.
I was able to get it to work by:

Removing <gpg.passphrase> from my settings.xml
"Priming" the gpg agent as described in the plugin's usage documentation

Here is the relevant text from the usage page:

To prime gpg-agent caches, one can perform simple "sign" operation on workstation like this echo "test" | gpg --clearsign

After doing this, the maven-gpg-plugin worked. So, even though this additional step is slightly annoying (especially since I never had an actual secret in settings.xml), it should be safe to update the GPG plugin now.
If interested, also see the gpg man page for a description of the --clearsign option.


Release v3.32.0 documentation

Summary
Release v3.32.0 documentation.
Automatic Changes

Added documentation for v3.32.0.

Manual Changes

[x] Update the 'featured' section in 'doc/content/whats-new/v3.32.0.md' with only selected items that should be featured.
[ ] If the are build errors due to missing message definitions, manually add the new  and  definitions where necessary.

Checklist for Reviewers

[x] A new section has been created in 'whats-new' with the corresponding CHANGELOG from TheThingsIndustries/lorawan-stack. The title is the release version and the date is the release date.
[x] The latest UPGRADING.md from the lorawan-stack-aws has been copied to /the-things-stack/host/aws/ecs/changelog
[x] The documentation version is up to date with the latest PATCH (3.${minor}.${patch}). No "v" is prefixed.
[x] The TTI and TTN API documentation has been generated and updated in doc/data/api. This includes the following files:

doc/data/api/tti.lorawan.v3/messages.yml
doc/data/api/tti.lorawan.v3/services.yml
doc/data/api/tti.lorawan.v3/enums.yml
doc/data/api/ttn.lorawan.v3/messages.yml
doc/data/api/ttn.lorawan.v3/services.yml
doc/data/api/ttn.lorawan.v3/enums.yml

[x] The TTI CLI documentation has been generated and updated in doc/data. This includes the following files:

doc/data/commands/ttn-lw-cli.json
doc/content/ttn-lw-cli/*.md

[x] All generated documentation matches the version that is being released.

I've checked this and updated/fixed where required.


LPC5526 - Memory Transfer Fault

Hi all,
I am getting a repeated issue when attempting to flash a blank LPC5526 using pyocd. It always results in a Memory Transfer Fault. This issue persists when using a custom DAP-Link programmer as well as a JLink Plus.
The only way to get the device usable is to use the JLinkExe utility with my JLink Plus to program the part. Once the part is programmed, I can then use PyOCD and any of my probes to flash and debug the part. The issue comes back as soon as I erase the part again.
@flit I know when working with you recently on the LPC55S69 and DAP-Link there were noted issues with programming the part in which I was ALSO able to get around by using the full Segger suite. Is this related/still a known issue?
$ pyocd --version
0.30.3

$ pyocd flash -vvv -t lpc5526 debug/LPC5526/uMeasurement.hex

Error output:
0000382:DEBUG:pyusb_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=1532 PID=0233). This can probably be remedied with a udev rule. See <https://github.com/pyocd/pyOCD/tree/master/udev> for help.
0000382:DEBUG:pyusb_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=1bcf PID=2c9a). This can probably be remedied with a udev rule. See <https://github.com/pyocd/pyOCD/tree/master/udev> for help.
0000384:DEBUG:pyusb_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=0bda PID=48f0). This can probably be remedied with a udev rule. See <https://github.com/pyocd/pyOCD/tree/master/udev> for help.
0000384:DEBUG:pyusb_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=046d PID=c341). This can probably be remedied with a udev rule. See <https://github.com/pyocd/pyOCD/tree/master/udev> for help.
0000384:DEBUG:pyusb_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=046d PID=c08b). This can probably be remedied with a udev rule. See <https://github.com/pyocd/pyOCD/tree/master/udev> for help.
0000384:DEBUG:pyusb_v2_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=1532 PID=0233). This can probably be remedied with a udev rule. See <https://github.com/pyocd/pyOCD/tree/master/udev> for help.
0000384:DEBUG:pyusb_v2_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=1bcf PID=2c9a). This can probably be remedied with a udev rule. See <https://github.com/pyocd/pyOCD/tree/master/udev> for help.
0000387:DEBUG:pyusb_v2_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=0bda PID=48f0). This can probably be remedied with a udev rule. See <https://github.com/pyocd/pyOCD/tree/master/udev> for help.
0000387:DEBUG:pyusb_v2_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=046d PID=c341). This can probably be remedied with a udev rule. See <https://github.com/pyocd/pyOCD/tree/master/udev> for help.
0000387:DEBUG:pyusb_v2_backend:[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device (VID=046d PID=c08b). This can probably be remedied with a udev rule. See <https://github.com/pyocd/pyOCD/tree/master/udev> for help.
0000689:DEBUG:pemicro:Opened PEMicro library: /home/stephen/.local/lib/python3.6/site-packages/pypemicro/libs/Linux/unitacmp-64.so
0000744:DEBUG:session:Project directory: /home/stephen/git/glasslabs/gl-umeasurement-firmware/armgcc
0000925:INFO:board:Target type is lpc5526
0000934:DEBUG:dap_access_cmsis_dap:CMSIS-DAP probe<PHONE_NUMBER>6bff535654868367111915a5a5a5a597969908 protocol version: 2.0.0
0000935:DEBUG:sequencer:Running task load_svd
0001018:DEBUG:sequencer:Running task pre_connect
0001018:DEBUG:sequencer:Running task dp_init
0001023:DEBUG:sequencer:Running task lock_probe
0001023:DEBUG:sequencer:Running task get_probe_capabilities
0001029:DEBUG:sequencer:Running task connect
0001105:DEBUG:dap:Default wire protocol selected; using SWD
0001106:DEBUG:swj:Sending deprecated SWJ sequence to select SWD
0001107:INFO:dap:DP IDR = 0x6ba02477 (v2 rev6)
0001107:DEBUG:sequencer:Running task clear_sticky_err
0001107:DEBUG:sequencer:Running task power_up_debug
0001108:DEBUG:sequencer:Running task check_version
0001108:DEBUG:sequencer:Running task unlock_probe
0001108:DEBUG:sequencer:Running task create_discoverer
0001108:DEBUG:sequencer:Running task discovery
0001108:DEBUG:sequencer:Running task set_max_invalid_aps
0001108:DEBUG:sequencer:Running task find_aps
0001112:DEBUG:sequencer:Running task create_aps
0001112:DEBUG:sequencer:Running task create_ap.0
0001113:INFO:ap:AHB-AP#0 IDR = 0x84770001 (AHB-AP var0 rev8)
0001114:DEBUG:ap:AHB-AP#0 default HPROT=3 HNONSEC=0
0001115:DEBUG:ap:AHB-AP#0 implemented HPROT=f HNONSEC=1
0001116:DEBUG:sequencer:Running task create_ap.2
0001117:INFO:ap:AP#2 IDR = 0x002a0000 (AP var0 rev0)
0001117:DEBUG:sequencer:Running task check_locked_state
0001118:DEBUG:sequencer:Running task find_components
0001118:DEBUG:sequencer:Running task init_ap.0
0001123:INFO:rom_table:AHB-AP#0 Class 0x1 ROM table #0 @ 0xe00fe000 (designer=015 part=000)
0001128:INFO:rom_table:[0]<e00ff000:ROM class=1 designer=43b part=4c9>
0001128:INFO:rom_table:  AHB-AP#0 Class 0x1 ROM table #1 @ 0xe00ff000 (designer=43b part=4c9)
0001133:INFO:rom_table:  [0]<e000e000:SCS-M33 class=9 designer=43b part=d21 devtype=00 archid=2a04 devid=0:0:0>
0001136:INFO:rom_table:  [1]<e0001000:DWT-M33 class=9 designer=43b part=d21 devtype=00 archid=1a02 devid=0:0:0>
0001139:INFO:rom_table:  [2]<e0002000:BPU-M33 class=9 designer=43b part=d21 devtype=00 archid=1a03 devid=0:0:0>
0001142:INFO:rom_table:  [3]<e0000000:ITM-M33 class=9 designer=43b part=d21 devtype=43 archid=1a01 devid=0:0:0>
0001145:INFO:rom_table:[1]<e0040000:TPIU-M33 class=9 designer=43b part=d21 devtype=11 archid=0000 devid=ca0:0:0>
0001145:DEBUG:sequencer:Running task create_cores
0001148:INFO:cortex_m_v8m:CPU core #0 is Cortex-M33 r0p3
0001151:INFO:cortex_m:FPU present: FPv5-SP-D16-M
0001152:DEBUG:sequencer:Running task set_default_reset_type
0001152:DEBUG:sequencer:Running task enable_traceclk
0001154:DEBUG:sequencer:Running task create_components
0001154:DEBUG:discovery:Creating DWT-M33 component
0001156:INFO:dwt:4 hardware watchpoints
0001157:DEBUG:discovery:Creating BPU-M33 component
0001159:INFO:fpb:8 hardware breakpoints, 1 literal comparators
0001159:DEBUG:fpb:fpb has been disabled
0001159:DEBUG:discovery:Creating ITM-M33 component
0001163:DEBUG:discovery:Creating TPIU-M33 component
0001164:DEBUG:sequencer:Running task restore_max_invalid_aps
0001164:DEBUG:sequencer:Running task check_for_cores
0001164:DEBUG:sequencer:Running task halt_on_connect
0001164:DEBUG:cortex_m:halting core 0
0001165:DEBUG:sequencer:Running task post_connect
0001165:DEBUG:sequencer:Running task post_connect_hook
0001165:DEBUG:sequencer:Running task create_flash
0001165:DEBUG:sequencer:Running task notify
0001182:DEBUG:cortex_m:halting core 0
0001187:INFO:target_lpc5500:required flash area is erased
0001191:DEBUG:cortex_m:halting core 0
0001260:DEBUG:cortex_m:resuming core 0
0001260:DEBUG:manager:added=[] removed=[]
0001260:DEBUG:manager:bps after flush={}
0001265:DEBUG:session:uninit session <pyocd.core.session.Session object at 0x7fa28cf8cf28>
0001265:DEBUG:board:uninit board <pyocd.board.mbed_board.MbedBoard object at 0x7fa2927573c8>
0001267:DEBUG:cortex_m:resuming core 0
0001267:DEBUG:manager:added=[] removed=[]
0001267:DEBUG:manager:bps after flush={}
0001269:CRITICAL:__main__:Memory transfer fault @ 0x00000130-0x000001ff
Traceback (most recent call last):
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/probe/cmsis_dap_probe.py", line 401, in read_ap_repeat_callback
    values = result()
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 934, in reg_read_repeat_cb
    res = transfer.get_result()
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 144, in get_result
    self.daplink._read_packet()
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
    return func(self, *args, **kwargs)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 978, in _read_packet
    decoded_data = cmd.decode_data(raw_data)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 455, in decode_data
    data = self._decode_transfer_data(data)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 362, in _decode_transfer_data
    self._check_response(data[2])
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/probe/pydapaccess/dap_access_cmsis_dap.py", line 341, in _check_response
    raise DAPAccessIntf.TransferFaultError()
pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.TransferFaultError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/__main__.py", line 402, in run
    self._COMMANDS[self._args.cmd](self)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/__main__.py", line 579, in do_flash
    file_format=self._args.format)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/flash/file_programmer.py", line 157, in program
    self._loader.commit()
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/flash/loader.py", line 168, in commit
    keep_unwritten=self._keep_unwritten)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/flash/builder.py", line 421, in program
    self._build_sectors_and_pages(keep_unwritten)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/flash/builder.py", line 286, in _build_sectors_and_pages
    fill_end_of_page_gap()
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/flash/builder.py", line 264, in fill_end_of_page_gap
    old_data = self.flash.target.read_memory_block8(page_data_end, old_data_len)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/core/soc_target.py", line 167, in read_memory_block8
    return self.selected_core.read_memory_block8(addr, size)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/coresight/cortex_m.py", line 451, in read_memory_block8
    data = self.ap.read_memory_block8(addr, size)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/core/memory_interface.py", line 97, in read_memory_block8
    mem = self.read_memory_block32(addr, size // 4)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/utility/concurrency.py", line 28, in _locking
    return func(self, *args, **kwargs)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/coresight/ap.py", line 1083, in _read_memory_block32
    resp += self._read_block32_page(addr, n//4)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/coresight/ap.py", line 1041, in _read_block32_page
    resp = self.dp.read_ap_multiple(self.address.address + self._reg_offset + MEM_AP_DRW, size)
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/coresight/dap.py", line 788, in read_ap_multiple
    return read_ap_multiple_cb()
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/coresight/dap.py", line 778, in read_ap_multiple_cb
    return result_cb()
  File "/home/stephen/.local/lib/python3.6/site-packages/pyocd/probe/cmsis_dap_probe.py", line 408, in read_ap_repeat_callback
    six.raise_from(self._convert_exception(exc), exc)
  File "<string>", line 3, in raise_from
pyocd.core.exceptions.TransferFaultError: Memory transfer fault @ 0x00000130-0x000001ff

I should add that executing an erase command on the part ALWAYS works, regardless of the current ability to flash the part.

So I have some more info to report back. I am also debugging and building the same source for the LPC55S28 which is the micro used when purchasing an LPC55xx dev kit.. I am able to flash and erase the dev kit no problem using my same DAPLink probe with PyOCD.
So after some digging I noticed that the LPC55S28 is shipped with PyOCD and the target_lpc55s28.py includes the target_lpc5500.py file which had a comment that seems very suspicious and likely my problem.
https://github.com/pyocd/pyOCD/blob/5a835e1017182975a11a4caddd83332f74b75fa4/pyocd/target/family/target_lpc5500.py#L286
Is the suggested fix for getting LPC5526 support in PyOCD to add the target as a buit-in then?

Just finished adding a built-in target for the LPC5526 and this appears to have cleared up my issues. I can now flash, erase and debug no problem :+1: