Add OTel Interoperability System tests

Motivation
This pull request is motivated by the need to assess interoperability between OpenTelemetry (OTel) and Datadog (DD) APIs in the PHP tracer. During the implementation of the OTel API, it became evident that there were no existing tests for ensuring the seamless exchange of information between these two APIs.
Changes
This pull request introduces a series of tests to assess the interoperability between the OTel and DD APIs. The goal is to ensure that spans created with one API can be seamlessly recognized and manipulated from the perspective of the other API. The following scenarios will be tested:

A span created with the OTel (resp. DD) API is also produced from the DD (resp. OTel) API viewpoint.
A span ended with the DD API is properly ended in the OTel API.
Starting a span using the OTel (resp. DD) API while a span created using the DD (resp. OTel) API already exists.
Modifying the ended span using the OTel API should not be possible.
Setting/Updating/Removing information in one API should be reflected in the other only during a span's lifetime.

This PR only represents an initial step toward achieving our goal of ensuring coherent usage of OTel's auto-instrumentations within the PHP tracer. Further improvements and refinements should be built upon this foundation in the future.
Nota Bene
The proto-generated python files were made using the following command from the root. If this is invalid, please advice me 😄
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. utils/parametric/protos/apm_test_client.proto

Workflow

⚠ Create your PR as draft ⚠
Work on you PR until the CI passes (if something not related to your task is failing, you can ignore it)
Mark it as ready for review

Test logic is modified? -> Get a review from RFC owner. We're working on refining the codeowners file quickly.
Framework is modified, or non obvious usage of it -> get a review from R&P team

:rocket: Once your PR is reviewed, you can merge it!
🛟 #apm-shared-testing 🛟
Reviewer checklist

[X] Relevant label (run-parametric-scenario, run-profiling-scenario...) are presents
[X] No system-tests internal is modified. Otherwise, I have the approval from R&P team
[X] CI is green, or failing jobs are not related to this change (and you are 100% sure about this statement)
[ ] ~A docker base image is modified?~

[ ] the relevant build-XXX-image label is present
[ ] To R&P team: locally build and push the image to hub.docker.com

[ ] ~A scenario is added (or removed)?~

[ ] Get a review from R&P team
[ ] Once merged, add (or remove) it in system-test-dashboard nightly

I'll try to explain my vision and ask questions that I feel necessary for my broader understanding @PerfectSlayer

Questions for my understanding:

In Java, glancing at the implementation, it seems that, fundamentally, the instance returned by Span.current() is a SdkSpan. What prevents the user from casting the instance returned from Span.current() to a SdkSpan (they could check that it is indeed an instanceof SdkSpan, whatever)?

If it is possible, they now have an instanceof ReadWriteSpan, and could very well decide to use .getAttribute(), .getName(), .getImmutableLinks(), or .getParentSpanContext()->getSpanId()
- This is possible in PHP. Considering it is possible, I’d argue that we should support it. I'd be highly surprised that such a feat is not achievable in any other language.

Alternatively, SpanProcessor.onStart() specifically uses a ReadWriteSpan instance

As a user, I could use the method mentioned above. Although .getAttribute(), .getName(), and .getImmutableLinks() should work just fine, the parent context retrievable here ought to be the right one (i.e., consistent with the Datadog context if the parent was a Datadog span). This fundamentally is the test_otel_start_after_datadog_span scenario.

Why can’t the proto be implemented? You'll say that this is because of the reading aspects, but:

Are there technical reasons why they can’t be implemented? What are those?
If there aren’t any technical reasons, why aren’t we implementing it?

If we don’t want to implement it not to have to support features, is it OK for a customer to have inconsistent behavior concerning what would be expected if he used only one API (Datadog or OTel)? Imo, it's not.

“Which is not part of the OTel API” - What is the OTel API without its SDK? This is more of a mind-triggering question. However, imo, to trivialize it, I’d say that the Otel API is nothing without its SDK, which customers are using. And if a customer can use the SDK, we should ensure that the expected behavior is what he'd expect.

If I refer to the spec

“The API MAY also have an option for implicitly using the current Context as parent as a default behavior.”

I'd argue that saying “they should be the implicit parent” is, first of all, not a negligible statement and an implicit choice that we (Datadog) made, which has consequences on the span order. In these tests, I haven't considered the scope activations aspects; however, things are getting ugly if we consider unordered span start and activations. The latter is also why I haven't included such tests because I believe this is just absurd practice. Moreover, it is easily addressable if such an escalation ever arises.

meta & metrics can be tested at the end using traces, same for resource and links, etc.

I’d argue that if, as mentioned in the first question, it is possible to use the current span as a SdkSpan, then we should not only test those (read/write) at the start or end of a span but at any point during its lifetime (which opens the realm of possibilities considerably…).

It all comes down to the fact that, in my opinion, the OTel API is not an end in itself, and the OTel SDK must be considered as much as possible - i.e., supporting everything that exists in both APIs. Because the Datadog API has read and write functionalities, this is the reason why we should consider the implications of the writing aspects of the Datadog API on the reading aspects of the OTel API.

In Java, glancing at the implementation

It seems like you were looking at the OTel SDK implementation as SdkSpan, ReadWriteSpan are part of the SDK. The SDK is never running nor included in the Java application using OTel API and the Datadog tracer. We only rely on OTel API which does not have such read capability (on purpose). If you want to have a look what is available, you should have a look here instead.

Alternatively, SpanProcessor.onStart() specifically uses a ReadWriteSpan instance

Similarly, SpanProcessor is SDK only and isn't included in the OTel API support.

Why can’t the proto be implemented?

Yes, mostly. (In addition to the question about if getting spans info using protobuf match the original system tests design, but I am not the right person to rule about it 🤷 )

What is the OTel API without its SDK?

Looking at the OTel specifications, there is a clear distinction between API and SDK. We only support the API so you can't expect anything from the SDK to be working, especially since SDK will vary from language to another.

It all comes down to the fact that, in my opinion, the OTel API is not an end in itself, and the OTel SDK must be considered as much as possible - i.e., supporting everything that exists in both APIs.

I would say the opposite. We explicitly state to stay away from SDK feature to our customers from the Java tracer public doc.
Trying to support OTel SDK is not something we are considering, and are rather against it as will greatly impact our performance for the worst. For any SDK specific need, we tell the customer to use the OTel SDK instead. There is no point asking for the OTel implementation while still having the Datadog name on it.

Overall, that is just my 2 cents as I saw you did not get much feedback from your PR.
I might be fine if the Java tracer won't follow this scenario if all other client libraries agree about it.
We can discuss it more lengthly during the daily OTel Squad standup if you want.

These tests will be reworked and split into two suites:

One Read/Write suite

This suite will include read-assertions on the spans' information during its lifetime using the OTel API
This suite will include read-assertions on the spans' information during its lifetime using the Datadog API
This suite will include calls to methods such as GetAttribute
This suite will include assertions on the traces sent

One Write-only suite

This suite won't include read-assertions on the spans' information during its lifetime using the OTel API
This suite won't include read-assertions on the spans' information during its lifetime using the Datadog API
This suite won't include calls to methods such as GetAttribute
This suite will include assertions on the traces sent.

Still, both APIs will be used.
For instance, let's consider a test on adding a tag. The Read/Write suite will ensure the tag exists during the spans' lifetime by reading the information from both APIs (OTel and DD) and assert that the tag is present in the traces sent. In contrast, the write-only suite will only ensure this tag is present in the traces sent.
Fundamentally, the write-only suite will be a read/write suite sub-set.
Why is it important?
This will allow us to separate better and isolate the OTel API (Write-Only) and SDK (Read/Write). This will enable languages that don't/can't implement part of the SDK to at least implement the write-only suite.

Thanks, @PerfectSlayer and @mabdinur, for the information on the Java and Python tracers' functionalities :smiley:
In the meantime, I'll put this back in draft.

Note: The Python tests are failing for a reason independent from this PR.


Do not convert if the localized string is empty

Instead of putting an empty string, leaving it out and iOS will automaticallly
choose the closest available localizable string.

@thii thanks for the contribution, could you explain more about your PR, I am not sure to understand the gain here?
And then to be accepted:

Write a test case
Make sure the all the tests pass: right now this feature breaks following test:

Failure: test_converting_csv_to_dotstrings_with_no_default_lang_is_empty(TestCSV2Strings)
/Users/netbe/Code/Babelish/test/babelish/test_csv2strings.rb:53:in `test_converting_csv_to_dotstrings_with_no_default_lang_is_empty'
     50:     converter.convert
     51:     assert File.exist?(spanish_file), "the ouptut file does not exist"
     52:     result = File.read(spanish_file)
  => 53:     assert_equal expected_output, result
     54:     system("rm -rf *.lproj")
     55:   end
     56:
<"\"GREETINGS\"      = \"Buenos dias\";\n\"ANOTHER_STRING\" = \"\";\n"> expected but was
<"\"GREETINGS\"      = \"Buenos dias\";\n">

diff:
  "GREETINGS"      = "Buenos dias";
- "ANOTHER_STRING" = "";

Could you fix the hound violations ?

Thank you

Changes Unknown when pulling 47d451aa25a410e1b9234868134c11553f693595 on thii:empty-string into ** on netbe:master**.

please rebase with master so tests can run on travis


Please, help me with drag and drop!

Hey my friend, first i want to thank you about this amazing component, so i'm using this component in my project and i need to know if you can help me with disable the drag and drop feature or how to get the reference of end of the object drop for condicioning one button. I want to show the button only when the user drop the object out. I already make this two functions to make this happen in the add button and the remove button, look this functions below:
$('[name = "addBtn"]').on('click', function () {
  _component.change();
});`

$('[name = "removeBtn"]').on('click', function () {
  _component.change();
});`

Where these methods call the method change() and the method change(), change a boolean to true to show the button to save the confirmed list in the MySQL.
Any ideas to change the boolean to true when the user drop the object?
Thank you so much for your time!
Best Regards,
Pedro Farbo - VetorWeb

I updated the angular-dual-listbox npm package to v4.5.0, which will allow you to disable drag-and-drop. Here is an example on how to disable drag-and-drop with<EMAIL_ADDRESS><dual-list [source]="source" [(destination)]="confirmed" [format]="{draggable:false}">
</dual-list>

If you need to capture when the destination has changed so you can save to the MySQL database, then use the destinationChange event, like so in your html template:
<dual-list [source]="source" [(destination)]="confirmed"
    (destinationChange)="saveToDatabase($event)" [format]="{draggable:false}">
</dual-list>

And in your TypeScript code:
saveToDatabase(e) {
    // Stub code, log event to console for now.
    console.log(e);
    // TODO: initiate database interaction.
}

Thanks my friend! Issue resolved!


Add benchmark tools

Summary
I added the benchmark tools in test/performance/simulate directory.
This benchmark can simulate qiskit, ProjectQ, and Q# with the same qasm scenario or qiskit code.
Details and comments
The detailed description is available as following README.md file.
https://github.com/hitomitak/qiskit-core/tree/benchmark/test/performance/simulate/benchmarks

@ajavadia Thank for comments. I added the description to CHANGELOG and fixed some pylint errors.

I love the idea but I would move this to a separated repository since it does not relate directly to Qiskit.

@diego-plan9 can we put this on hold and come back to it after 0.6

Yes, makes a lot of sense :+1:

Thanks @hitomitak !
I do think that these kind of tests, now belong to Aer, so I'd suggest to close this issue and move the discussion to the Aer repository.


Create STIX Example: Malicious E-mail Indicator with Attachment

Initial version in https://github.com/oasis-open/cti-stix2-json-schemas/commit/0804d42001888057fcf043467f599301d3f4976b


Fix broken link to openapi.json file

Description
Fix broken link to openapi.json file.
Self Check:

[ ] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Merged into branches master in b745188db8811ef0ab0c1447c4b0f24bd11388a5

Processing #2822.


NexImage Burst C

Hi!
I was wondering, does this repo support NexImage Burst C (Color) camera? Seems like it's been manufactured by Imaging Source and then rebranded by Celestron, just like NexImage 5 (#29).  As far as I'm aware, it's based on DFK42 camera, but burning its firmware (no matter which one) renders camera unusable - it correctly shows up and mounts in /dev/videoX but trying to display image with VLC/guvcview/oacapture throws errors - or just empty screen. But what is funny, when i tried burning DMK42 firmware, it works perfectly fine, allows me to grab images and stuff but with one problem - only in monochrome. What may be the problem?

Hi
The camera provides bayer raw data only, so you must debayer the images. I am not sure, whether this is in oaCapture implemented.
I suppose, you use Linux , right?
Stefan

Yes, I use Linux (Ubuntu 18.04 to be specific).
oaCapture has such a feature, called "demosaic" but it newer gave me good results. I will try again, but I need to know, which DMK42 (or other) firmware would be best?

What does "never good results" mean? Did you select the correct bayer pattern? If yes and the image is green, the there is no white balance adapted.
Firmware file should be dfk42uc03_3014.euvc or dmk42uc03_3014.euvc. Both of them have been tested in the industrial DFK 42 and DMK 42.

Hi
I forgot to answer your question "I was wondering, does this repo support NexImage Burst C (Color) camera? ". It does.
Stefan


Deployment logging slows the build tremendously

My project contains thousands of files to output (guess which project it is). The task output all these files in the console, and Kudu creates a new entry tag in its deployment log file for every new line.
        <entry time="2015-07-17T20:24:11.304537Z" id="1a9c5937-9e92-4135-a3bd-94dcaf2d959d" type="0">
            <message>  Copying file from "D:\home\site\repository\build\Compile\System.Web.WebPages.Razor.dll" to "D:\home\site\repository\build\Compile\_PublishedWebsites\Lucene\bin\System.Web.WebPages.Razor.dll".</message>
        </entry>
        <entry time="2015-07-17T20:24:11.5470539Z" id="7aabecc1-5270-4945-be6c-459f6bb85107" type="0">
            <message>  Copying file from "D:\home\site\repository\build\Compile\System.Web.Razor.dll" to "D:\home\site\repository\build\Compile\_PublishedWebsites\Lucene\bin\System.Web.Razor.dll".</message>
        </entry>
        <entry time="2015-07-17T20:24:11.8595585Z" id="9f135636-24b9-44e7-814a-af5872fd03a6" type="0">
            <message>  Copying file from "D:\home\site\repository\build\Compile\Owin.dll" to "D:\home\site\repository\build\Compile\_PublishedWebsites\Lucene\bin\Owin.dll".</message>
        </entry>

This makes the build process much slower than usual, in my case around 1h30, because I assume the file is flushed on the disk every seconds or so, and when the file reaches 1MB then most of the time is spent writing on disk.
I would suggest having an option to use a simple append only text file at least as the XML structure makes it very slow in this case.

May be interesting to try with a private build of Kudu that skip these logs to make sure that's the cause.
Can you give more details about your scenarios? e.g.

link to the exact repo you're deploying
how are you deploying? e.g. direct git push vs GitHub, ...

Take orchard on branch 1.9.x. Which has Kudu support OOB now by disabling the log. Deploy using Kudu, it will take 20mins top. Now edit deploy.cmd and remove the /v:m to remove the minimal logging level. Redeploy, it will take more than 1 hour. Another way to see the difference is to run depoy.cmd in the console, which doesn't get logged in the xml, and is much faster with the same amount of output strings.
Deployment was done using github commits.

Yes, the current  xml is horribly inefficient once it gets large. We had the same issue for the trace file (#419), which we fixed by using individual files per entry. But here it's a bit trickier because entries are hierarchical. Also, unlike trace, which is non-essential, we'd need to support both old and new formats.
There may be a less disruptive approach that keeps the format mostly the same, but doesn't generate a separate entry for each line. i.e. everything under 'Running deployment command...' could just be one big string.

@sebastienros I tried deploying https://github.com/OrchardCMS/Orchard branch 1.9.x, but that failed early (error MSB4057: The target "PreComputeCompileTypeScript" does not exist in the project.). What is the right way to test your scenario?

@sebastienros, this change is now live. Can you please test the same scenario that you had tried before to see how much that improves things?


created an attribute 'diacritcs' that made input diacritics insensitive

Pull Request Test Coverage Report for Build 86

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.9%) to 70.297%

Files with Coverage Reduction
New Missed Lines
%

src/components/VueBootstrapTypeaheadList.vue
2
89.19%

Totals

Change from base Build 38:
0.9%

Covered Lines:
48

Relevant Lines:
69

💛  - Coveralls

This repo seems to no longer maintained. I've forked the repo here and have been maintaining it as best I can.
I just pushed a release that I think should solve the problem of matching diacritics (accents, etc). Check out v2.6.1 here!


Unknown type awsxray for exporter

Describe the bug
Trying to use awsxray exporter as in the example here fails with:
* error decoding 'exporters': unknown type: "awsxray" for id: "awsxray" (valid values: [logging otlp otlphttp prometheusremotewrite])

Steps to reproduce
Use the latest collector layer and example config as described in the Lambda Collector Config page
What did you expect to see?
Traces exported to X-Ray
What did you see instead?
An error during Lambda initialization:
{
    "level": "warn",
    "ts":<PHONE_NUMBER>.105163,
    "logger": "lifecycle.manager",
    "msg": "Failed to start the extension",
    "error": "failed to get config: cannot unmarshal the configuration: 1 error(s) decoding:\n\n* error decoding 'exporters': unknown type: \"awsxray\" for id: \"awsxray\" (valid values: [logging otlp otlphttp prometheusremotewrite])"
}

What version of collector/language SDK version did you use?
layer-collector/0.7.0
opentelemetry-collector v0.101.0
opentelemetry-collector-contrib v0.101.0
What language layer did you use?
Python layer 0.7.0
Additional context
The example config also doesn't work unless you change debug to logging. It says that's required prior to v0.86.0 and this theoretically should be v0.101.0. Am I missing something trivial here?

So you're trying to export from the collector to xray?
CC @rapphil

So you're trying to export from the collector to xray?
CC @rapphil

Exactly, simply tried the example config that includes exporting to xray (after changing debug to logging)

I think this is a duplicate of https://github.com/open-telemetry/opentelemetry-lambda/issues/99

I think this is a duplicate of #99

Probably not, since awsxray is included in the official guide linked in the issue

As far as I can tell, the xray exporter isn't included in our collector layer build.  Perhaps those docs were originally written for the AWS distro layer.  @rapphil WDYT?

As far as I can tell, the xray exporter isn't included in our collector layer build. Perhaps those docs were originally written for the AWS distro layer. @rapphil WDYT?

When I try to use it, I get the message that the collector failed to start with a 403 error, not a helpful error message like in this issue. Why could that be?

As far as I can tell, the xray exporter isn't included in our collector layer build. Perhaps those docs were originally written for the AWS distro layer. @rapphil WDYT?

When I try to use it, I get the message that the collector failed to start with a 403 error, not a helpful error message like in this issue. Why could that be? I'm using Nodejs, though

The error message was not consistent for me either, some Lambda initialization attempts resulted in a 403 error like yours, and others with the error message I quoted here. I assumed there's some race condition and that the failure to recognize an awsxray exporter was the root cause, but I didn't dive deeper into it.

As far as I can tell, the xray exporter isn't included in our collector layer build. Perhaps those docs were originally written for the AWS distro layer. @rapphil WDYT?

Is it not included for licensing/FOSS purity reasons, or is there some issue with the exporter? Is there another build that includes everything in opentelemetry-collector-contrib or should we build our own if we want it? Looks like AWS Distro layer also doesn't include everything, any idea why?

I wasn't involved in the project back then, but I think the collector contrib artifact is quite large and I assume there's desire to keep the layer small to reduce cold start delays and size limits.

I believe I have also come across this issue, did you have any luck on finding a resolution?

I believe I have also come across this issue, did you have any luck on finding a resolution?

We built the layer ourselves. And later moved away from X-Ray so it was no longer required.


Include required dependencies for testing

I added some dependencies to the devDependencies that are required for testing but only work if installed globally.
Excluding global dependencies from package.json can save some space, but it can discourage new contributors who don't know what to do when they npm run <something> and everything immediately fails.

[Current coverage][cc-pull] is 98.01%

Merging [#8][cc-pull] into [master][cc-base-branch] will increase coverage by 3.87%

4 files (not in diff) in lib were modified. more

Misses +3
Partials -10
Hits +21

@@           master         #8   diff @@
========================================
  Files           4          4
  Lines         188        202    +14
  Methods         0         24    +24
  Branches       41         55    +14
========================================
+ Hits          177        198    +21
- Misses          1          4     +3
+ Partials       10          0    -10

Powered by Codecov. Last updated by [c05e363...928ccce][cc-compare]
[cc-base-branch]: https://codecov.io/gh/livoras/simple-virtual-dom/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/livoras/simple-virtual-dom/compare/c05e3636030e6a21a9d1eea9ab20bb137fb9eaac...928ccce097dee310569787e39871b0f29e1307d4
[cc-pull]: https://codecov.io/gh/livoras/simple-virtual-dom/pull/8?src=pr

Umm.... I don't know why those changes would've upped the code coverage, but.... good?


fix: Fixes missing message when parsing androidTests

:tada: This PR is included in version 1.11.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


error on installation

On this step of the installation: go get -u -v github.com/mutecomm/mute/cmd/...
I get the following error message:
# github.com/mutecomm/mute/vendor/github.com/mutecomm/go-sqlcipher
In file included from src/github.com/mutecomm/mute/vendor/github.com/mutecomm/go-sqlcipher/aes.c:33:
In file included from src/github.com/mutecomm/mute/vendor/github.com/mutecomm/go-sqlcipher/tomcrypt.h:67:
src/github.com/mutecomm/mute/vendor/github.com/mutecomm/go-sqlcipher/tomcrypt_macros.h:269:24: error: constraint 'I' expects an integer constant expression
src/github.com/mutecomm/mute/vendor/github.com/mutecomm/go-sqlcipher/tomcrypt_macros.h:277:24: error: constraint 'I' expects an integer constant expression
src/github.com/mutecomm/mute/vendor/github.com/mutecomm/go-sqlcipher/tomcrypt_macros.h:368:24: error: constraint 'J' expects an integer constant expression
src/github.com/mutecomm/mute/vendor/github.com/mutecomm/go-sqlcipher/tomcrypt_macros.h:376:24: error: constraint 'J' expects an integer constant expression

Can you help me out with this?

Could you tell me the OS you are using and the version of your gcc (output of gcc --version)?
Thanks for the report!

I got the same error attempting the installation on Mac OS X 10.10.5. Find my installation log at https://gist.github.com/bendiken/983f49e0daedabcac4cf
The error concerns the "I" in inline x86 assembly such as the following from go-sqlcipher/tomcrypt_macros, line 269:
static inline unsigned ROLc(unsigned word, const int i)
{
   asm ("roll %2,%0"
      :"=r" (word)
      :"0" (word),"I" (i));
   return word;
}

The error is most likely due to OS X having purged GCC in favor of Clang, and that piece of code not having been tested for or ported to Clang.
To reproduce on another platform, I suspect you need only set CC=clang. Now, it's not immediately clear which upstream version of Clang the Apple version 700 corresponds to, but it's certainly newer than Clang 3.6.0.

I have OS X 10.10.5 as well. The output of ggc --version is
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.0 (clang-700.0.72)
Target: x86_64-apple-darwin14.5.0
Thread model: posix

I couldn't reproduce the problem on Mac OS X 10.10.5 with LLVM version 6.1.0, but the problem should be fixed now since I disabled all non-portable assembler code. I will test myself tomorrow after the update to LLVM version 7.0.0. Thanks for the report!

Fixed. I had no problem when I tried it again. Thanks!


fix: Adding support for env variable access on the client

Hey @mrsteele, It's awesome! But I think we should add prefix for shared env data because most of the people will not know ENV's will be shared with the client if they use it. If we use "PUBLIC_" prefix for ENV, It will only be served on the client as well. What do you think? Otherwise It can be big security hole.

@sly777 you are suggesting we add something to the documentation to recommend they prefix the public envs with ‘PUBLIC_’?
I actually prefer that as the advanced users who are more comfortable and aware would be able to use it how they please.
Please confirm with me and I will be happy to update the documentation.

If you meant that you wanted to separate the variables from server and client, dotenv-webpack supports alternative .env files so we can use a completely separate env file (“public.env”) if you prefer.

Nope, I mean we need to filter some important env data on the webpack side. Which means I think we can say "if you add a prefix such as "PUBLIC_" or "P_" on your ENV, These ENVs that has prefix will be also on the client side, Otherwise you cannot access to your ENV data on the client". My concern is people can use ENV without check the documentation (or maybe they even started to use RAN), That time all ENVs data will be on the client side which can be a really big security issue. @mrsteele

I'll look into it. I like approach B (public.env) more and I believe I have a way to get that into the server as well.

I just added a fix for the sharing of public and private env variables.
A few important notes about this approach:

The client can only access variables in public.env.
The server will pull in .env and public.env, however .env takes precedence so if the variable is already set in .env it wont be overwritten from public.env.

If you approve of this approach, I will update the documentation to make these note. I also open to suggestions around this, so feel free to let me know your thoughts.

It looks perfect! 👍

I made some small changes @mrsteele . After the checks, I will merge.


ore crusher not working in 1.20.1

everytime i build the ore crusher contraption, it doesnt even send me a [you have successfully built this contraption] message in chat, please someone help

Please go to the slimefun discord. https://discord.gg/fsD4Bkh


Added warning for use of ROPC

Aligns with warning message in ROPC doc

@kengaderdus
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Updated as suggested @kengaderdus

#sign-off


Updated overview respect to new version of FCM

FCM new version released at 27th april where this line of code does not work. They changed the inherited classes and so on.
This is a updated code that works perfectly fine for background push notification for updated version of FCM.
Description
It was not working for me. Thats i needed to go more depth and read the java class file where i could find the appropriate methods , than i called the objects of that class which contains those specific methods.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).
This will ensure a smooth and quick review process. Updating the pubspec.yaml and changelogs is not required.

[ ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See [Contributor Guide]).
[+ ] All existing and new tests are passing.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] The analyzer (melos run analyze) does not report any problems on my PR.
[ +] I read and followed the [Flutter Style Guide].
[ ] I signed the [CLA].
[+ ] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[+ ] Yes, this is a breaking change.
[ ] No, this is not a breaking change.

@googlebot I signed it!
On Wed, Apr 28, 2021 at 4:00 PM google-cla[bot] @.***>
wrote:

Thanks for your pull request. It looks like this may be your first
contribution to a Google open source project (if not, look below for help).
Before we can look at your pull request, you'll need to sign a Contributor
License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/
https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot
I signed it! and we'll verify it.
What to do if you already signed the CLA Individual signers

It's possible we don't have your GitHub username or you're using a
different email address on your commit. Check your existing CLA data
https://cla.developers.google.com/clas and verify that your email is
set on your git commits
https://help.github.com/articles/setting-your-email-in-git/.

Corporate signers

Your company has a Point of Contact who decides which employees are
authorized to participate. Ask your POC to be added to the group of
authorized contributors. If you don't know who your Point of Contact is,
direct the Google project maintainer to go/cla#troubleshoot (Public
version https://opensource.google/docs/cla/#troubleshoot).
The email used to register you as an authorized contributor must be
the email used for the Git commit. Check your existing CLA data
https://cla.developers.google.com/clas and verify that your email is
set on your git commits
https://help.github.com/articles/setting-your-email-in-git/.
The email used to register you as an authorized contributor must
also be attached to your GitHub account
https://github.com/settings/emails.

ℹ Googlers: Go here
https://goto.google.com/prinfo/https%3A%2F%2Fgithub.com%2FFirebaseExtended%2Fflutterfire%2Fpull%2F5956
for more info.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/FirebaseExtended/flutterfire/pull/5956#issuecomment-828326660,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALYPH6MVKPNUR2UYQHNTBBDTK7MEFANCNFSM43WXXLNA
.

Closing this as I don't think it is correct.


Adding the ability to ignore test failures so CI systems such as Bamb…

…oo can process the test  themselves.

Defaults to not ignore test failures
Set the property cucumberRunner.test.failure.ignore on the command line
Set the property  in plugin configuration

Fix for Issue #7

This has now been released as 1.16. Give it some time for it to be synched with maven central


Fatal error: Uncaught Error

Fatal error: Uncaught Error: Call to undefined function GuzzleHttp\Psr7\build_query()
getting this error on callback.php

Hi @rockers007 thanks for picking this up. There is a pull request in the main library here https://github.com/XeroAPI/xero-php-oauth2/pull/249

Resolved in the latest release. Made the necessary changes upstream in our code generator repo.


Introduce a configurable Token Endpoint

Changes to the configs file:

Add a new configuration called tokenPoint below mediaPoint.

Changes to nanopub, in source order:

Give the indieAuth function access to the $configs variable.
State that we accept JSON from the server, this is necessary to make https://tokens.indieauth.com/ send modern responses.
Query the new tokenPoint rather than a hard-coded one.
Curl can return false, so force it to a string.
Try to JSON decode it. Per the IndieAuth specification, token endpoints return JSON.
If decoding did not give us an array, or something else went wrong, fall back to parse_str because the server may be old and have given us a form-encoded response body.
Check the existence of scope in the response array before doing explode.
If the response array contains an error key, exit early.
Check the existence of me in the response array before comparing it to the configuration.

All works perfectly in testing.
Thanks Zegnat, merged.


testing

@rultor hello

@rultor hello

@totallag Hi there! I understand a few simple commands: "merge", "deploy", etc. This page explains them briefly. Any questions or bug reports are welcome. Have fun :)

@rultor merge this

@rultor merge this

@totallag It is an issue, not a pull request

@rultor merge this

@totallag I'm sorry, I don't understand you :( Check this page and try again please


RFP - alwaysmousewheel

Checklist

[X] The package I am requesting does not already exist on https://community.chocolatey.org/packages;
[X] There is no open issue for this package;
[x] The issue title starts with 'RFP - ';
[X] The download URL is public and not locked behind a paywall / login;

Package Details
Software project URL : http://www.softwareok.com/?seite=Microsoft/AlwaysMouseWheel
Direct download URL for the software / installer :
http://www.softwareok.com/Download/AlwaysMouseWheel_x64.zip
Software summary / short description:  Scroll via mouse wheel even if the window is not in the foreground ergo focused.

Corrected Direct download URL for the software / installer :
http://www.softwareok.com/?Download=AlwaysMouseWheel&goto=../Download/AlwaysMouseWheel_x64.zip

It seems like that URL has a delay that the action can't pick up on... I've editted the description for the URL that my browser downloaded from: http://www.softwareok.com/Download/AlwaysMouseWheel_x64.zip


EmailPreviewPlug: put content type "text/html" for all routes

This is a great improvement. Thanks so much @shhavel! 👍

Closed with https://github.com/thoughtbot/bamboo/commit/e6f5389314193ef75a015d49a8a6e23b08bc281a


Greasemonkey fixes

Just a couple of minor changes to the Greasemonkey headers to make it work. @grant is required, and sometimes the page loads with 2 /'s in the URL.
Also renamed the file so that Greasemonkey offers to install it directly from the raw URL.

You can't refuse all permissions to the script as that doesn't allow it to do anything.

@DarkLordJack The script doesn't use any GreaseMonkey API calls, so '@grant none' is correct. See: http://wiki.greasespot.net/API_Reference and http://wiki.greasespot.net/@grant

@welwood08 you need up update the URLs for '@updateURL' and '@downloadURL'

@welwood08 Yes I saw that hence why I deleted the comment. Oddly enough your version doesn't work for me when grant none is included though.

@Eriner Thanks for catching that, should've been part of the blind find+replace. :)

@welwood08 no problem, made a pull at https://github.com/welwood08/steamSummerMinigame/pull/1

Ah, didn't see that in time so we've made the same change.

Will this change (renaming the file) break auto-update for people who've already installed it in GM/TM?

I hadn't thought of that, but yes. :(

Is there any way to make symlinks in git that persist on GitHub?

I'm thinking switch the file name back, and add a small GM/TM file autoPlay.user.js which just goes to https://raw.githubusercontent.com/mouseas/steamSummerMinigame/master/autoPlay.js and loads it. That would leave the script working for existing GM/TM users, and it would fulfil the "automatically update the manual script" TODO item.

That I can also do, although how are you going to handle user customisation of the option variables?

How does customization currently happen for *monkey? I assumed users who wanted to tweak the script simply modified the code.

Right, but you're suggesting the main script code would now be loaded direct from the GitHub URL, with those option variables overwriting anything set in the userscript.

Fair point. Suggestions?

I'm not sure - at least in Greasemonkey the userscript context is supposed to be sandboxed, which makes reading variables from the page context tricky anyway.

What about doing it the other way around? Writing a script at autoplay.js that loads autoplay.user.js? Would that work any better, or would the same problems exist?

It would have to be the other way around, with autoPlay.user.js loading autoPlay.js. That way, autoPlay.user.js can act as a wrapper, with autoPlay.js including all of the automation that it already has.

Or, to save trouble, just rename the current autoPlay.js to autoPlay.user.js so that we don't have to deal with wrapping technology. From what I've been looking at, wrapping is nearly impossible with TM / GM because both rely on one file only. By renaming it, we solve that issue.
However, by doing said renaming, everyone who is currently using the GM / TM script will have to go back to this repository and re-add the script.
I have a solution for this. We rename the file to include .user.js as said above, and add a new file called autoPlay.js (since the actual script will now be called autoPlay.user.js). Then, in the new file, we just put an alert or redirect to this repository telling them to re-add the file so they are updated on the autoPlay.user.js file.
If that is confusing, I can by all means demonstrate it for you.

@Winneon Looks like a good solution to me.

The above solution has been implemented. If there are any other issues, feel free to make a pull request. Most pull requests that are currently in the queue will receive merge conflicts because of the file name change. This is addressed in the README.


Ruby error when attempting to run snmpwn

When i run ./snmpwn.rb i receive the following error:
/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require': cannot load such file -- tty-command (LoadError) 	from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in require'
from ./snmpwn.rb:5:in `'
I'm running ruby 2.3 on Kali Linux:
ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]

Hey!
The script isn't actually finished/ready yet. The issue you are having is because you haven't installed the correct Ruby gems. If you get "cannot load such file" you should check the source code, in this case 'snmpwn.rb' for the require statements:
require 'tty-command'
require 'trollop'
require 'colorize'
require 'logger'
require 'text-table'
You can install them with 'gem install tty-command' etc etc. Again though, the script isn't finished yet so you are going to run into bugs using it.
Cheers,

Should be a bit more stable now btw. Git clone > gem install bundler > bundle install.


Fixed the example Python Script

API version was old and eventype var was misspelt.
Python script does not work without this update.

@iamrobdavies : Thanks for your contribution to the Azure documentation! The author, @zivraf, has been notified to review your proposed change.


Do profile changes get propagated?

When I first syndicated a post out from my site, I didn't realize my h-card was messed up, and the link back to my profile was broken.  As a result you can now find that this link:
https://mastodon.social/<EMAIL_ADDRESS>Now takes you to the wrong place on my site.
Does BF detect changes to the h-card and propagate those changes?  Heck, is this even something that BF can address?  I could imagine also changing profile photos, names, or other details having similar issues.

Hmm! The two places Mastodon and other fediverse servers look for profile information like this are Webfinger<EMAIL_ADDRESS>, and your ActivityPub actor URL, https://fed.brid.gy/b-ark.ca . BF only caches those for up to 15s max each, and otherwise re-fetches and converts your home page h-card.
Both of those look ok for you right now, pointing to your home page and similar URLs and not that post. I don't know how long mastodon.social will cache it, but hopefully not too much longer?

I guess we'll see.  (web)fingers crossed!  Thanks!

For posterity, sending an Update activity for the actor to a given instance will successfully update that instance's copy of your profile. I don't know how I'd integrate that into BF yet, especially without regularly polling everyone's site. 😐