Improve publication selection when capabilities are in play

Context
Imagine a project foo which, from a single API spec, generates both a client and a server. We can, technically, create multiple publications in a project which are published at different GAV coordinates: org:foo-client:1.0 and org:foo-server:1.0.
Then, in a multi-project setup, we may also want to have 2 kinds of consumers:

consumers for the client
consumers for the server

By default, Gradle would fail with a variant selection error in this case, because the "outgoing configurations" that we created for our client and server share the same capability. However, this shouldn't be the case: the client and the server are different things, so we can set the capabilities of each component:
configurations {
    serverElements {
        ...
        outgoing {
            // IMPORTANT! This is NOT the same thing as the client so it MUST have a different capability
            capability("${group}:foo-server:${version}")
            artifacts {
                artifact(serverJar)
            }
        }
    }
}

Then a consumer can depend on this specific component of project foo by explicitly asking for the capability:
dependencies {
    implementation(project(':producer')) {
        capabilities {
            it.requireCapability("${group}:foo-server")
        }
    }
}

If we stop the story here, everything works fine. If we add publication to the game, then things get more complicated. If we only publish the client and the server, that is to say if we only publish the 2 publications of the foo project, then everything works fine.
But, as soon as we try to publish any of the consumers, Gradle will fail:
* What went wrong:
Could not determine the dependencies of task ':server-consumer:publishPublishJarPublicationToTestRepository'.
> Publishing is not able to resolve a dependency on a project with multiple publications that have different coordinates.
  Found the following publications in project ':foo':
    - Maven publication 'clientPublishMaven' with coordinates org:foo-client:0.1
    - Maven publication 'serverPublishMaven' with coordinates org:foo-server:0.1

What happens is that at publish time, Gradle doesn't use the resolution result: it uses whatever is declared. In the declaration, we have a project dependency that we must map to a particular publication, in order to figure out how to translate the project dependency into GAV coordinates. In this case, the target project has 2 publications with different GAV coordinates so we don't know what to choose.
However, in this case, we could try to be smarter. Because there are requested capabilities, we could look into the publications, then iterate on the variants, and try to figure out the "best" publication of the two. It's, however, likely to fail because even in simple cases, a publication may contain variants with different capabilities so we wouldn't be able to choose.
Another option is to be smarter only when using resolved versions. In this case, we know that we have selected a particular variant of the producer, say serverElements. Then we could scan the publications of the foo project, and check if a single publication contains the variant serverElements. This is the case here. But technically, nothing prevents different publications from using the same configurations, so we could also fail. At least, this would improve the situation a bit and support this use case.

ping

any updates on this issue ? this makes the whole capability feature useless

This is currently being worked on under this specification
cc @jvandort

Dupe of https://github.com/gradle/gradle/issues/12324


"Path is mounted but it is not shared" --> :shared propergationvalue causes issues

Hi all,
since an update of QNAP or volume change of the hdd I am facing a problem with the :shared setting of docker.
I used for my -v settings :shared to share the content within and between containers.
Now I am stuck with the problem that one docker container is not working anymore. It connects to my google drive and mounts it to the nas. So other containers can also work with it there is a :shared setting in the volume properties.
Everything worked until the update - but now I am only getting this error back:

Error response from daemon: linux mounts: Path /share/Media/cloud-encrypt is mounted on /share/CACHEDEV1_DATA but it is not a shared mount.

In QNAP /share is equal /share/CACHEDEV1_DATA. I don't understand why this is no shared mount, and settings like mount --make-shared also are not available on QNAP.
Without :shared the container itself is working - but not showing content from google drive.
Docker volume settings:

  -v /share/Multimedia/Media/local-media:/local-media:shared \ <- UNION
  -v /share/Multimedia/Media/local-decrypt:/local-decrypt:shared \ -> UNION
  -v /share/Multimedia/Media/cloud-decrypt:/cloud-decrypt:shared \ -> UNION
  -v /share/Multimedia/Media/cloud-encrypt:/cloud-encrypt:shared \

Do you have a idea how I could fix with inside of the shell?
Thanks for your help.
Client: Version: 17.07.0-ce API version: 1.31 Go version:
go1.8.3 Git commit: fd7dc00 Built: Thu Feb 8 15:57:38 2018 OS/Arch: linux/amd64

Server: Version: 17.07.0-ce API version: 1.31 (minimum version 1.12) Go version: go1.8.3 Git commit: fd7dc00 Built: Thu Feb 8 15:57:38 2018 OS/Arch: linux/amd64 Experimental: false

It seems that it might be a docker bug regarding a default setting of MountFlags=slave when docker is started through systemd.
https://groups.google.com/forum/#!topic/portworx/A2vtTjjzSLI
Question is if you could help, since I also cannot find these config files of docker were I might unset MountFlags = shared
Thanks for your help.

Here is a problem solution by another product solution:
https://docs.portworx.com/knowledgebase/shared-mount-propogation.html
You can check if your docker is affected by running this docker command:
docker run -it -v /mnt:/mnt:shared busybox sh -c /bin/date

push

Hi @inject00r,
You can set mount propagation with "busybox mount" command
[~] # busybox mount --make-rshared /
[~] # cat /proc/self/mountinfo


Add support for abstract unix domain sockets

See test/core/end2end/fixtures/h2_local_abstract_uds_percent_encoded.cc for evidence that this works. I paused the tests in the debugger and confirmed that lsof -U showed abstract sockets in use. I also modified the helloworld examples (not in this PR) to use an abstract UDS unix-abstract:arst%00.withEmbeddedNulls, which worked as expected.
$  lsof -U
COMMAND       PID USER   FD   TYPE             DEVICE SIZE/OFF     NODE NAME
...
greeter_a 2059513 me      5u  unix 0x0000000000000000      0t0 13885774<EMAIL_ADDRESS>type=STREAM
greeter_a 2059513 me      8u  unix 0x0000000000000000      0t0 13885776<EMAIL_ADDRESS>type=STREAM
greeter_a 2059523 me      9u  unix 0x0000000000000000      0t0 13877853 type=STREAM

Fixes #24638 and #24821
@yashykt

This change is

"All checks have passed". Headed out to buy a lottery ticket.


sonar blocker issues: Use try-with-resource or close "DridDataSource" in a "finally" clause.

sonar blocker issues: Use try-with-resource or close "DridDataSource" in a "finally" clause.
DruidDataSource dataSource = new DruidDataSource();
.....
......
try {
dataSource.init();
} catch (SQLException e) {
throw new RuntimeException(e);
}

DruidDataSource dataSource = new DruidDataSource(); //NOSONAR
you can add  //NOSONAR, then solve @HolidieJacqueline


perf: have a minimal number of files to download at app startup

So, concatenate css files, eliminate html imports, ...

We're using vulcanize for the polymer UI.


Problem with user config files

When Cider is installed as a package it comes with a file cider.config.template. This is used as a template when a new project is created.
When this file is edited in order to amend it to personal preferences this works. But when a new version is installed the amendments will be overwritten.
Therefore when any Cider command is executed that is related to (or depends on) its config file
Cider needs to check whether there is already a template in a user-specific location. If it does not exist yet it needs to copy over the template file. This way it happens only once.

The drawback is that any changes in the config template file in a new version of Cider require the user to take action.

Implemented in 0.25.0


Adding Not available dialog

Motivation
JIRA: https://issues.jboss.org/browse/AEROGEAR-3060
Description
This displays a dialog for services that are not configured.
Progress

[x] Done Task

Additional Notes
To verify create an empty mobile-services.json file then then try to navigate.  We do not have docs pages in the app yet so the docs button does nothing.
{
  "version": 1,
  "clusterName": "https://<IP_ADDRESS>:8443",
  "namespace": "myproject",
  "clientId": "app-android",
  "services": [

  ]
}

@wei-lee Should we make the docs link go somewhere even though we don't have docs views yet?


feat: add optional custom footer text

Status
READY
Description
Adds the possibility to add a text to the footer.
Type of Change

[x] ✨ New feature (non-breaking change which adds functionality)
[ ] 🛠 Bug fix (non-breaking change which fixes an issue)
[ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🧹 Code refactor
[ ] ✅ Build configuration change
[ ] 📝 Documentation
[ ] 🗑 Chore

I see your idea, but it has some flaws:

It probably won't work properly on a split slide template.
I think it would make more sense to refactor the current socialHandle text in the footer and make it configurable. E.g. if the showSocialHandle is true, then show the handle as it is now. Then, if the footer text is provided, show it instead of the social handle.

What could be even better, instead of limiting to use only text, allow to provide any widget for the footer (e.g. if you want to show logo instead of a social handle). The logic could be similar - if you provide the widget for the footer configuration, use it instead of the social handle. Of course, it should be clearly defined in the documentation.
What do you think?

How do you like this new approach? Replace the String? text with a Widget? widget and the approriate logic for it.

Nice progress, you got the idea right, just some minor adjustments are still needed (check the comments). Also, it would be nice if you define this widget for the whole slide deck in the example and also update the README.md accordingly with the updated code snippet.

I wouldn't want to set this widget for the whole deck, since we only want to show the example on the footer slide. Or did I miss something here?

Nice progress, you got the idea right, just some minor adjustments are still needed (check the comments). Also, it would be nice if you define this widget for the whole slide deck in the example and also update the README.md accordingly with the updated code snippet.

I wouldn't want to set this widget for the whole deck, since we only want to show the example on the footer slide. Or did I miss something here?

My point is that it would be nice to show that it's possible to define this widget once for it to be rendered for the whole slide deck. Maybe we can do it in the README.md file, in the following section:
Also, you can define a global configuration for your slide deck:

```dart
FlutterDeckApp(
  configuration: const FlutterDeckConfiguration(
    background: FlutterDeckBackgroundConfiguration(
      light: FlutterDeckBackground.solid(Color(0xFFB5FFFC)),
      dark: FlutterDeckBackground.solid(Color(0xFF16222A)),
    ),
    controls: FlutterDeckControlsConfiguration(
      nextKey: LogicalKeyboardKey.arrowRight,
      previousKey: LogicalKeyboardKey.arrowLeft,
      openDrawerKey: LogicalKeyboardKey.period,
    ),
    footer: FlutterDeckFooterConfiguration(
      showSlideNumbers: true,
      showSocialHandle: true,
    ),
    header: FlutterDeckHeaderConfiguration(
      showHeader: false,
    ),
    showProgress: false,
    transition: FlutterDeckTransition.fade(),
  ),
  <...>
);

Nice progress, you got the idea right, just some minor adjustments are still needed (check the comments). Also, it would be nice if you define this widget for the whole slide deck in the example and also update the README.md accordingly with the updated code snippet.

I wouldn't want to set this widget for the whole deck, since we only want to show the example on the footer slide. Or did I miss something here?

My point is that it would be nice to show that it's possible to define this widget once for it to be rendered for the whole slide deck. Maybe we can do it in the README.md file, in the following section:
Also, you can define a global configuration for your slide deck:

```dart
FlutterDeckApp(
  configuration: const FlutterDeckConfiguration(
    background: FlutterDeckBackgroundConfiguration(
      light: FlutterDeckBackground.solid(Color(0xFFB5FFFC)),
      dark: FlutterDeckBackground.solid(Color(0xFF16222A)),
    ),
    controls: FlutterDeckControlsConfiguration(
      nextKey: LogicalKeyboardKey.arrowRight,
      previousKey: LogicalKeyboardKey.arrowLeft,
      openDrawerKey: LogicalKeyboardKey.period,
    ),
    footer: FlutterDeckFooterConfiguration(
      showSlideNumbers: true,
      showSocialHandle: true,
    ),
    header: FlutterDeckHeaderConfiguration(
      showHeader: false,
    ),
    showProgress: false,
    transition: FlutterDeckTransition.fade(),
  ),
  <...>
);

I already added
    footer: FlutterDeckFooterConfiguration(
      showSlideNumbers: true,
      showSocialHandle: true,
      widget: _MyCustomFooter(),
    ),
``` there, is it good enough?

Nice progress, you got the idea right, just some minor adjustments are still needed (check the comments). Also, it would be nice if you define this widget for the whole slide deck in the example and also update the README.md accordingly with the updated code snippet.

I wouldn't want to set this widget for the whole deck, since we only want to show the example on the footer slide. Or did I miss something here?

My point is that it would be nice to show that it's possible to define this widget once for it to be rendered for the whole slide deck. Maybe we can do it in the README.md file, in the following section:
Also, you can define a global configuration for your slide deck:

```dart
FlutterDeckApp(
  configuration: const FlutterDeckConfiguration(
    background: FlutterDeckBackgroundConfiguration(
      light: FlutterDeckBackground.solid(Color(0xFFB5FFFC)),
      dark: FlutterDeckBackground.solid(Color(0xFF16222A)),
    ),
    controls: FlutterDeckControlsConfiguration(
      nextKey: LogicalKeyboardKey.arrowRight,
      previousKey: LogicalKeyboardKey.arrowLeft,
      openDrawerKey: LogicalKeyboardKey.period,
    ),
    footer: FlutterDeckFooterConfiguration(
      showSlideNumbers: true,
      showSocialHandle: true,
    ),
    header: FlutterDeckHeaderConfiguration(
      showHeader: false,
    ),
    showProgress: false,
    transition: FlutterDeckTransition.fade(),
  ),
  <...>
);

I already added
    footer: FlutterDeckFooterConfiguration(
      showSlideNumbers: true,
      showSocialHandle: true,
      widget: _MyCustomFooter(),
    ),

there, is it good enough?

Ahh, true, I missed this somehow. Yup, all good.


Add PPP for Darshan

Adding PPP Skeleton for Darshan

Codecov Report

Merging #38 (b560a14) into master (90a98c1) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #38   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Continue to review full report at Codecov.

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


Updated kotlin version to 1.2.41

Updates kotlin to 1.2.41
Makes the kotlin version variable available across all modules
Uses gradle project dependencies inside test module, so that you can just run ./gradlew test without manually compiling first

Uses gradle project dependencies inside test module, so that you can just run ./gradlew test without manually compiling first

This is done intentionally for running tests against multiple Kotlin versions.
The Kotlin version is updated to 1.2.50 in #265


Add support for client.unref() and client.ref()

#2185

Codecov Report

Merging #2188 (fadcea8) into master (f9f5e49) will decrease coverage by 0.04%.
The diff coverage is 77.77%.

:exclamation: Current head fadcea8 differs from pull request most recent head dce6f00. Consider uploading reports for the commit dce6f00 to get more accurate results

@@            Coverage Diff             @@
##           master    #2188      +/-   ##
==========================================
- Coverage   95.86%   95.82%   -0.05%
==========================================
  Files         430      430
  Lines        3964     3973       +9
  Branches      447      448       +1
==========================================
+ Hits         3800     3807       +7
- Misses        101      102       +1
- Partials       63       64       +1

Impacted Files
Coverage Δ

packages/client/lib/client/socket.ts
78.43% <71.42%> (-0.52%)
:arrow_down:

packages/client/lib/client/index.ts
91.41% <100.00%> (+0.07%)
:arrow_up:

Continue to review full report at Codecov.

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


Create a patch release for apps v0.25

Is your feature request related to a problem? Please describe.
We need a patch release for apps version 0.25.
Describe the solution you'd like
We want users to be able to create namespaces using HNC controller with default as parent namespace. Update the user-facing docs on how to create delete update and listing those namespaces.
Add migration docs if needed.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Definition of done:
We have a patch release

@Pavan-Gunda Please update if there is any changes needs to be done on the migrations docs too to make sure migrations happens smoothly

I've mentioned something above that says similar "add migration docs if needed"

I have with limited testing applied the user-rbac to the default namespace, and I have primarily tested to modify using user permissions the only object I found by default in that namespace which is the kubernetes service.
Removing it is fine, it will come back after a few seconds, however the issue is editing.
If one would edit the service, say as simple as pointing it to the incorrect port, the service will not be reconciled and corrected automatically. This breaks fundamental functions within Kubernetes, an example would be that you wouldn't have the ability to create and delete pods since Calico can't talk to the Kubernetes API. And anything that would try to create a new connection to the Kube API using this service would face the same issue.
So the only alternative I would see is to create some highly specialised RBAC to protect it, but I don't think that is feasible. And we would be better of creating a single user namespace that they can have as a root namespace and configure their kubeconfig context to use it (which we already do).
I feel ready to close this as won't fix for this reason.

We should also then I guess try and remove access to the default namespace for the environments in which they have been given access to it. I think there are a few.

Closing this. Will create an issue regarding current envs.


Added SubmitUser action in example

Hi,
I don't know if I understood your explanation, but with this approach (suggested by @emanuelkoczwara) when submit button is clicked, the form show all potential errors or submit the user if it's all ok. Did I get it right?
Credit: @emanuelkoczwara and @etaque

Hi, thanks for the PR,
Unfortunately that's not what I tried to explain. Here is an example:
https://github.com/etaque/tacks/blob/master/client/src/Page/Register/View.elm#L36-L42
https://github.com/etaque/tacks/blob/master/client/src/Page/Register/Update.elm#L31-L38
The click event on the submit button is conditioned to the Form.getOutput result. If it's Just something, send some DealWithSomething something action, otherwise re-validate form through Form.submit.

I see, makes sense! I modified the PR following the given example.

Looks good, thanks


ca: Verify that CSR in NodeCertificateStatus response matches

A race condition is possible when we renew a certificate at the same
time as another update is being made to a node object.
NodeCertificateStatus is meant to wait until the certificate is issued,
but it does so by waiting for an update to the node object that has the
certificate issuance status set to "issued". If another certificate is
issued shortly before the renewal request, or an unrelated change to the
node object happens at the same time, NodeCertificateStatus may return
the old certificate instead of waiting for the new one.
To work around this, the caller of NodeCertificateStatus must verify
that it's getting a certificate corresponding to the CSR it submitted,
and retry if the CSR does not match.
@jlhawn hit this while testing support for external root CAs.
cc @diogomonica

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

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

@@             master      #1013   diff @@
==========================================
  Files            75         75
  Lines         11605      11606     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           6233       6243    +10
+ Misses         4479       4474     -5
+ Partials        893        889     -4

[][cc-pull]

Powered by Codecov. Last updated by [a78a157...6fc0bf5][cc-compare]
[cc-base-branch]: https://codecov.io/gh/docker/swarmkit/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/docker/swarmkit/compare/a78a157ef66adf0978f031e7bbc9bff2c16df9a0...6fc0bf55694ab277a9eadfbcd8bddb9ac9ae7195
[cc-pull]: https://codecov.io/gh/docker/swarmkit/pull/1013?src=pr

I don't think I understand this one.

Node A comes along and calls IssueNodeCertificate, with a `CSR.
This call only returns if we successfully (and atomically) changed the node entry to have the new CSR and a PENDING or RENEW status
This means that doesn't matter what triggers the select on NodeCertificateStatus, because if that state is final, then we know we have a new valid certificate that was issued after our call to IssueNodeCertificate

Looking at the fix, I don't think there is anything wrong in checking the CSR, but would like to understand the issue better (and maybe also solve it server-side).

This means that doesn't matter what triggers the select on NodeCertificateStatus, because if that state is final, then we know we have a new valid certificate that was issued after our call to IssueNodeCertificate

No, the cert is issued by the reconcilation loop. If something else updates the node before the reconciliation loop, and there is an issued certificate inside it, NodeCertificateStatus will return.
@jlhawn was seeing this in a test that tried to renew a cert immediately. NodeCertificateStatus was getting back the old cert, which didn't match the new key, so X509KeyPair was failing. Inserting a sleep before the renewal worked around the problem.

I don't understand how after we commit a node state with RENEW and a new CSR, something can come along and change RENEW to issued without it being our signing reconciliation loop.

@diogomonica: Good point. I think the order of operations that @jlhawn ran into was this:

Submit CSR A.
Submit CSR B.
CA server gets node object with CSR A on the watch queue, issues the cert and updates the node
NodeCertificateStatus returns this cert even though it expected one for CSR B
CA server gets node object with CSR B on the watch queue, issues the cert and updates the node

What if this happens:

Submit CSR A
Submit CSR B
CA server issues the cert with CSR B and updates the node
NodeCertificateStatus starts watching for CSR B
CA server issues cert with CSR A
NodeCertificateStatus receives the watch queue for CSR A and returns
Node sees CSR A and ignores it because it is waiting for CSR B
Node waits forever for CSR B

In your example, the CA server can't issue CSR B before CSR A, because it receives ordered updates from a queue.

Is it possible for the node to be waiting on both CSR A and B? Also, what kind of normal situation would make this issue happen?
Regardless, the change seems to solve the issue you described, but just not 100% sure if there aren't more edge cases.
LGTM

Is it possible for the node to be waiting on both CSR A and B?

I don't think so. GetRemoteSignedCertificate is only called by RequestAndSaveNewCertificates, which is called when first requesting a certificate on initial startup, and from the RenewTLSConfig loop.

Also, what kind of normal situation would make this issue happen?

Regardless, the change seems to solve the issue you described, but just not 100% sure if there aren't more edge cases.

You convinced me to add a bunch of debugging and figure out exactly what was happening in @jlhawn's test case.
It was a race between CA server startup and the renewal. While the renewal was being requested requested, the CA server's initial reconciliation pass kicked in, and overwrote the node object with the old node object after signing its cert (the signing is not contained inside a transaction, for good reason). Then it saw the renewal request on the watch channel, and restored the newer CSR.
I was really confused by this because the versioning semantics of the store mean this shouldn't be possible. But I forgot that these semantics generally aren't enforced during unit tests. They rely on raft to provide the versioning, and most tests set up a bare memory store instead of one backed by raft.
So I don't think this problem can happen in practice. But I think this PR is worth merging, because it adds a valuable sanity check on the NodeCertificateStatus response.


🐛 [firebase_ui_auth] FIRAuthErrorCodeInternalError 17999 when try to reimplement example application "Validate Email" feature

Bug report
Describe the bug
Firestore Database settings are not documented with example application. I had FIRAuthErrorCodeInternalError 17999 when I try to send validation Email; it took many hours of debugging to find that it is indeed error 17999 with absolutely suppressed detailed description. It took another hours to find that I need to configure dynamic links to make it work.
This is lack of documentation; plus, the bug here is non-descriptive error 17999.
Now, I need to understand how to get back to IOS or Android application screen after successful Email validation. Perhaps I can implement cloud function returning value "validated = true/false" and query it from mobile device? Can Firebase do it for us?
Please provide richer well-documented example.
Steps to reproduce
Steps to reproduce the behavior:

Go to firebase_ui_auth/example
Change settings to your own Firestore Database, try to test Email Validation
"An internal error has occurred ..." without any descriptive debug messages about what is wrong on the remote host; unless you finish properly configuration (and this step is not documented with example)

Expected behavior
Clear documentation in the official documentation site; clear documentation in the example / access to the example database / screenshots; descriptive error message instead of 17999

Perhaps example application could be extended by Receive Firebase Dynamic Links in a Flutter app
There is disconnect between documentation and example; documentation should refer code snippets from example application.
Also, this page has few errors (reported today), including link to "Receive Firebase Dynamic ..." page: https://firebase.google.com/docs/auth/flutter/email-link-auth

Thanks for the report @FuadEfendi
On which platform are you seeing this error ? Android or iOS ?
Can you also please provide complete error log you get upon validating email ?

There is no any error log, that is what this bug report is about.
Quote: "the bug here is non-descriptive error 17999."

and it is not in error log; I found this "swallowed exception" during debugging.
Tested in iOS only.

Thanks for the update. Keeping this issue open and labeling for team's attention on expected behavior and for any potential fixes in documentation.
/cc @lesnitsky


HTTPS perf

Reviewer: N/A

Description:
Running perf on our HTTPS upgrading implementation. Likely to never be merged.
Steps to test this PR:

Automated tests:

[ ] Unit tests
[ ] Integration tests

Reviewer Checklist:

[ ] Ensure the PR solves the problem
[ ] Review every line of code
[ ] Ensure the PR does no harm by testing the changes thoroughly
[ ] Get help if you're uncomfortable with any of the above!
[ ] Determine if there are any quick wins that improve the implementation

PR Author Checklist:

[ ] Get advice or leverage existing code
[ ] Agree on technical approach with reviewer (if the changes are nuanced)
[ ] Ensure that there is a testing strategy (and documented non-automated tests)
[ ] Ensure there is a documented monitoring strategy (if necessary)
[ ] Consider systems implications

Closing this for now, might be useful later.


PackedInt32Array handling in Editor is broken, SoftBody almost unusable.

Tested versions
Reproducible: 4.3 mono stable, 4.4.dev2 mono
Working: 4.1 mono
System information
Windows 7 - Godot 4.3 stable mono
Issue description
Editing PackedInt32Array from the editor (SoftBody3D pinned points in this example) is fundamentally broken, changing any value other than the last removes the last entry. Clicking on the pinned points does nothing. This makes SoftBody barely usable.
Am I the only one having those issues or this have gone unnoticed somehow?
Steps to reproduce

Make a SoftBody3D with 3 pinned points.
Change the first or second point's index.
OR
Click on any point in the 3D view to add it to the array - does not work.

Minimal reproduction project (MRP)
softbodyisbroken.zip

I can reproduce this in v4.3.stable.official on Win11 as well. It doesn't look like the issue exists for PackedInt32Arrays exported from scripts, so this might be specific to SoftBody3D somehow.

Did some testing on the SoftBody3D. With 2 elements in the array it swaps the first and last entry. Maybe something to do with how the array gets copied when changes occur

So it is not just me or Win 7.
The same behavior of last entry dissapearing happens to AnimationPlayer array of AnimationLibraries, that made me believe this is more global in scope.

So I just build the current master 4.4 and clicking works. Editing the array is still a bit weird the array swapping doesnt happen but sometimes entries still disappear

Okay so I found part of why this happens:
in SoftBody3D::_set_property_pinned_points_indices(const Array &p_indices)

Line 206: It tries to find the old point_index (8) but p_indices contains the already updated indices (I incremented it from 8 to 9)
As it doesn't find it it calls pin_point with "pin" set to false, this deletes the pinned_point from the array so the pinned_points.size is now 8 instead of 9.
Next in Line 212 it now calls pin_point with pin_insert_at set to 8 (4th parameter here i) which will immediaty fail as the p_insert_at is >= to pinned_points.size (Which is 8 as the element was removed before).

(Ignore the if statement did that for debugging)
So the element gets removed and never gets added back.
I don't know why it checks if the index was already in there though just to remove and add it back anyways?

@LastPhoen1x I fixed the SoftBody Array's weird behaviour but before I create a pull request I'd like to take a look at the AnimationLibrary too. Can you maybe give more info on how to replicate that error?

@BurryBurst Thank you.
95647

Can confirm I'm having the same problem on Godot 4.3 stable mono - Windows 10.

I just tried this on master, clicking the pins in the editor works now, but sometimes the pin doesn't get highlighted, modifying the packed array in the editor is still broken.


Resultbrowser: npm package qs vulnerable to Prototype Pollution

It seems, that the npm package qs is vulnerable to Prototype Pollution in some versions. The package is not used directly but the some packages need it as a dependency.
It should be checked how the problem can be avoided.
Packages that cause the problem:

inline-source version 7.0.2

qs used by dependency superagent
possible solution: update of inline-source to version 8.0.2, since superagent is replaced with node-fetch

http-serve version 1.0.1

qs used by dependency union
no newer version available
possible solution: remove http-serve since it is only used to start a simple test server used in resultbrowser development

The vulnerability in the qs package could be used for a DoS attack. This is no problem for our use case, since we only use Node.js for build of the resultbrowser.
Since the problem is not solved easily with an update of the dev dependencies, the issue is closed.


DAWN-680 ⁃ Light client contract for inter-blockchain communication

Create a contract that can validate inter-blockchain communication
trx {
  cfa: [
           { blockheader
             pubkey[21] // or maybe 15
           }
  ]
  action:  [
       addblock
  ]
  cfd: signatures[21]
         merkelproof to prior checkpoint
}

┆Attachments: 20180314_144226 - Copy.jpg | 20180316_100212 - Copy.jpg

@wanderingbort @heifner Is this initial attempt at defining a contract for inter-blockchain communication still relevant?


removed unused vars, added frontend thousand separators according to …

Hi, as a programmer I was curious to see how you put together this amazing app! :))
I removed some unused vars and added frontend thousand separators according to user browser locale settings. I hope its useful!

Thanks a lot for the clean-up and improvement.


Blank lines in account activity

When viewing my account activity at http://open-explorer.io/#/accounts/darkf0rce, I can see a lot of blank entries which correspond to actual trades/ activity in the account. Eg. ID 1.11.174305706 is appearing as blank when it corresponds to a sell of 500 XAP for 0.0125 btc. This is making the task of compiling complete account activity quite ardous.
Please could you urgently look at this? Many thanks.

hi there, thanks for submitting this bug.
there was a problem in a formatting number call i added i think last week that was giving that problem. it is now fixed.
please note not all operation types haves a human readable form at the moment so some operations may came empty in that field however the problem you pointed was related to an operation that it was already supported but buggy.
thanks again, feel free to reopen if needed.


Create spec to secure communication with the WebView

We need to define for iOS and Android (and hopefully soon UWP) how we secure communications between the WebView and the JXCore instance so random apps on the device can't just connect to localhost and send random commands to our node code. See http://thaliproject.org/SecuringCordovaAndNodeJs/ for details.

@dakr0 has been working on this for @project_stanton, using salti-admin as part of the process.  We would be happy to write something up for this.  @yaronyg how would you like us to post the spec?

@mohlsen I see two choices. One is to update https://github.com/thaliproject/thali/blob/gh-pages/pages/TechnologyInvestigations/SecuringCordovaAndNodeJs.md but perhaps better is to submit a PR to create a new doc in https://github.com/thaliproject/thali/tree/gh-pages/pages/documentation with an actual spec.

Where is the spec on this?

@yaronyg please see below the document that captures the investigation results available so far and detail the next steps necessary to find a suitable solution to the issue.
Suggested approach
As of today, we've evaluated the potential approaches outlined in Thali documentation:

Secret in the URL
Secret in a cookie
Secret in a HTTP header
TLS mutual authentication

The solutions 1-3 all have potential issues (including, but not limited to those described in Thali documentation), therefore we believe that proceeding with solution 4 TLS mutual authentication - is the most promising. This approach should work as follows:

App generates client and server certificates when it starts and saves them into a shared storage.
When node.js server starts, it uses server certificates generated on step 1.
WebView uses client certificates generated on step 1 by sending them with any request to node.js server.

Each of these steps has a number of open issues, which are described below.
Further steps necessary
In order to provide a definite recommendation on a solution, we need to continue investigation of the applicability of TLS mutual authentication approach to JXcore to WebView paring process and create an actual proof of concept. This will involve covering the following points:

Investigate certificate generation to allocate this to a correct system module. Decide when exactly should the certificates be generated (on first launch only or on each launch).
Verify that it is possible to organize a shared local storage for WebView and node.js server.
Configure JXcore server to use the generated certificate at startup.
Extensively investigate the issue of support for client certificate authorization by different WebViews on iOS and Android. Based on the platforms official documentation, we expect that there will be no issues with support of different iOS versions (refer to URLLoadingSystem/AuthenticationChallenges) - however, it still needs to be confirmed in the proof of concept. What concerns the Android - it's going to present a number of challenges. According to official documentation, client certificate authorization for WebView is available only for Android 5.0 and up (i.e. API level 21 - WebKit/WebViewClient/onReceivedClientCertRequest). However, there are several workarounds we could try to make it work on Android 4.0 and up.
Verify the necessity of implementing custom WebViews for iOS and Android for handling client certificate authorization (may or may not be necessary based on the outcomes of point 4 above).
If the experimental approaches for lower version of Android described in the point above do not work, it will be necessary to investigate alternative solutions for this class of devices (e.g. a combination of HTTPS and secrets in HTTP headers).

We also never posted @dakr0's article which handled everything before @larryonoff's research.

How to secure communication for a Cordova-based application between a client side and an internal server based on JXCore
Lets assume that we build a hybrid application based on the most popular framework:
Cordova, and the application consists of:

A client side (such as HTML and JavaScript).
Its content is embedded in a native application, stored in files, managed and presented on the WebView by Cordova's
mechanism. In this way we don't need any Web server.

An internal server side.
It's implemented using Node.js provided by JXCore.

The server side supplies some functionality that requires communication between these two parts, but we
also need another communication channel apart from the JXCore bridge (for example, if we want to run the PouchDB
server and have access to the databases from the client side only).
The problem is: how can we do it in a secure way?
How about using HTTPS?
You may ask why not just use the HTTPS protocol? It seems that it should be the preferred solution!
Yes it should, but it would require generating a self-signed certificate for the internal HTTPS server.
Since our hybrid application runs in the WebView, using self-signed certificates may be a bit tricky,
because such certificates are not accepted by default. Additionally, our application must somehow supply
a private key on the internal server.
So, is there any other solution to meet our needs?
HTTP, SALTI-Admin and JXCore bridge
It turns out that the solution may be provided by the SALTI-Admin library.
The library allows you to generate a simple token and provides mechanism (implemented as Express Middleware)
that verifies if the given request is authorized to access to a resource. To communicate between the client side and
the internal server side we can use the HTTP protocol and requests with the Authorization header that should contain
a valid SALTI token.
A simple implementation on the internal server side may look like this:
var express = require('express');
var cors    = require('cors');
var saltiAdmin = require('salti-admin');

var SALTI_TOKEN = 'salti-token';
var app = express();

var config = {
    port: 3000
};

// Setting CORS to accept requests from well-known origins only
// ...

// Generating a SALTI token and activating middleware
saltiAdmin.generateSecret(function (err, token) {
    if (!err) {

        app.set(SALTI_TOKEN, token);

        // Now we can create middleware that will use the given token.
        // In this way all the requests will have to be authorized.
        app.use(saltiAdmin.acl({ secret: token }));

        // Sample request handler
        app.get('/test', function (req, res) {
            res.json({ testOk: true });
        });

    } else {
        console.error('Cannot generate SALTI token: ', err);
    }
});

app.listen(config.port);

For now all the requests must have an appropriate authorization token passed in req.headers.authorization.
But how can we provide the token to the client side in a secure way?
The solution may be JXCore bridge. So we have to register a function on the server side like this:
Mobile('getToken').registerSync(function () {
    var token = app.get(SALTI_TOKEN);
    return token ? saltiAdmin.DEFAULT_PREFIX + token : token;
});

And now we can implement an appropriate function on the client side by using Cordova JXcore Plugin:
var saltiToken;
// ...

jxcore('getToken').call(function(token, err) {
    if (!err) {
        saltiToken = token;
    } else {
        // Report an error
        // ...
    }
});
// ...

If you use AngularJs, you can implement it as a service (that is a singleton), like this:
angular.module('myApp')

.factory('saltiAuthorization', function ($q) {
    "use strict";

    var saltiToken;

    function getToken() {
        if (saltiToken) {
            return $q.when(saltiToken);
        } else if (typeof jxcore !== "undefined") {
            var deferred = $q.defer();

            // Gets token by using JXCore bridge
            jxcore('getToken').call(function(token, err) {
                if (!err) {
                    saltiToken = token;
                    deferred.resolve(token);
                } else {
                    deferred.reject(err);
                }
            });

            return deferred.promise;
        }

        return $q.when();
    }

    return {
        getToken: getToken
    };
});

Since the client side is now able to get a valid SALTI token, the only thing left to do is to pass the token to
the header of a request. Assuming that our application is built on top of AngularJs, we can configure each HTTP
request in the $http service or, which is more elegant, implement an HTTP interceptor like this:
angular.module('myApp')

.config(function($httpProvider){
    "use strict";

    if (typeof jxcore !== "undefined") {
        $httpProvider.interceptors.push('saltiAuthorizationInterceptor');
    }

})

.factory('saltiAuthorizationInterceptor',
    function ($q, saltiAuthorization) {
        "use strict";

        var internalServerUrl = 'http://localhost:3000';

        return {
            request: function (config) {
                if (config &&
                    config.url &&
                    config.url.startsWith(internalServerUrl)) {

                    return saltiAuthorization.getToken()
                        .then(function (saltiToken) {
                            if (saltiToken && config.headers) {
                                config.headers.Authorization = saltiToken;
                            }
                            return config;
                        });

                }

                return $q.when(config);
            }
        };
    }
);

But what if we also want to use PouchDB?
Then the implementation on the server side may look like this:
// ...

var PouchDB = require('pouchdb');

// Configuring PouchDB
// ...

// ...

saltiAdmin.generateSecret(function (err, token) {
    if (!err) {

        app.set(SALTI_TOKEN, token);

        // Now we can create middleware that will use the given token.
        // In this way all the requests will have to be authorized.
        app.use(saltiAdmin.acl({ secret: token }));

        // Sample request handler
        app.get('/test', function (req, res) {
            res.json({ testOk: true });
        });

        app.use('/dbs', require('express-pouchdb')(PouchDB, pouchOptions));

    } else {
        console.error('Cannot generate SALTI token: ', err);
    }
});

// ...

And on the client side we need to configure ajax.headers in the PouchDB options:
pouchOptions.ajax.headers = {
    'Authorization' : saltiToken
};

var db = new PouchDB('http://localhost:3000/dbs/myDb', pouchOptions);

In the examples presented above we use the same SALTI token for several resources (just for the purposes of this case
study), but in the real-life environment we should generate different tokens for different resources.
We also should remember that our internal server should be protected from being accessed via HTTP by any device except
the one on which the application runs. In this case, apart from using an appropriate CORS definition that allows
the server to accept requests from well-known origin (in our case from localhost), we can implement an additional
mechanism to make the protection stronger. There are many ways to do it, but let’s take a look at one of them. Since
we send the requests from the client side to the internal server that is seen as localhost, we can just verify if
an incoming request refers to localhost with a valid port number and whether it comes from localhost.
To cover the first case we can verify req.hostname, like this:
// ...

var allowedHost = 'localhost' + (config.port !== 80 ? ':' + config.port : '');

// ...

// A middleware that verifies if requests come to localhost
app.use(function (req, res, next) {
    if (req.hostname === allowedHost) {
        next();
    } else {
        res.sendStatus(403);
    }
});

For the second case we can verify whether req.ip is equal to <IP_ADDRESS>. So the extended version of the middleware
presented above may look like this:
// A middleware that verifies if requests come from/to localhost
app.use(function (req, res, next) {
    if (req.hostname === allowedHost && req.ip === '<IP_ADDRESS>') {
        next();
    } else {
        res.sendStatus(403);
    }
});

It should be noted that the presented solution doesn't protect from some "bad" application that can run on the same
device as our application and hence send acceptable requests with a valid req.hostname and req.ip.


Unable to view results

After uploading a video for analysis and waiting for it to complete. I go to the browse page and then click on the video to view results. The page shows up blank, nothing is there.
Looking through the console I notice this issue.
DOMException: Failed to execute 'querySelector' on 'Document': '60-degrees-904c3cff-43c5-4fe2-bf50-d7240fa70194' is not a valid selector.
Anyone else facing the same issue ?
I'm following this tutorial: https://s3.amazonaws.com/mae303/MediaAnalysisWorkshop.pdf

Same issue here. It used to work before but for some reason I get javascript errors if you look at the source in developer tools on chrome.
Uncaught TypeError: Cannot read property 'type' of undefined
    at e.setFieldValue (onloadwff.js:71)
    at HTMLFormElement.formKeydownListener (onloadwff.js:71)

DOMException: Failed to execute 'querySelector' on 'Document': '2013-d35a-446e-b180-b62c7ef7f971' is not a valid selector.

Same result here, while using the guide from the blog (without build own source code/package): https://aws.amazon.com/de/blogs/machine-learning/get-started-with-automated-metadata-extraction-using-the-aws-media-analysis-solution/
As mentioned in the first answer of a similar issue at Stackoverflow  and in the CSS2.2 specs identifiers should not start with a digit when using 'querySelector'. In my case the identifier was '50-hotness-2b735386-5ffe-4149-9644-bd1710b659d6'.

So have you been able to resolve this issue?
It used to work just fine about 2 months ago. !!
Thanks

@kunal732  @chrdavid  have you guys been able to resolve this issue? still having the same issue.
thanks.

Same result here, while using the guide from the blog (without building own package from source code): https://aws.amazon.com/de/blogs/machine-learning/get-started-with-automated-metadata-extraction-using-the-aws-media-analysis-solution/
As mentioned in the first answer of a similar issue at Stackoverflow and in the CSS2.2 specs identifiers should not start with a digit when using 'querySelector'. In my case the identifier was '50-hotness-2b735386-5ffe-4149-9644-bd1710b659d6'.

@chrdavid How do you change the identifier and where do I find it? thanks

@dariushazimi no time to test yet, but this commit from @georgebearden looks promising.

We have deployed a fix for this. Closing this issue now. Please feel free to reopen this issue or open a new issue if needed. Thanks.


[EIM-66] [Test] Refactor test script

Description
This PR included refactoring of some of the test components to make it easier to debug in case of test failures.
There is no change to the CI neither to the number of tests executed.

Related

Testing

Checklist
Before submitting a Pull Request, please ensure the following:

[x] 🚨 This PR does not introduce breaking changes.
[x] All CI checks (GH Actions) pass.
[ ] Documentation is updated as needed.
[ ] Tests are updated or added as necessary.
[ ] Code is well-commented, especially in complex areas.
[ ] Git history is clean — commits are squashed to the minimum necessary.

Failed test is being caused by some error on the step to send command to build the sample project. Will work on this within PR68.


Move Transformers from Machines to Multiphase?

Reported by dietmarw on 15 Feb 2010 13:36 UTC
When ever I was looking for the transformer models I ended up not finding them until I remembered that they are sitting in the Modelica.Electrical.Machines.BasiMachines.Transformers library. For me this is not a very logical placement. Intuitively I would rather look for them in Modelica.Electrical.Multiphase.Transformers.
I don't know what the reason for the current place was but maybe we can improve this for the next version with allowed conversions.

Migrated-From: https://trac.modelica.org/Modelica/ticket/290

Comment by AHaumer on 15 Feb 2010 19:07 UTC
Sorry if that sounds rude, Dietmar, but I won't do that.
MultiPhase is for arbitrary number of phases,
Machines is limited to m=3 phases (technical threephase transformers).
MultiPhase is in parallel to Analog, the transformer in there is an ideal one without star- or polygon-connection, without stray inductances and winding resistances.
The transformers of the machine package are ready connected technical threephase transformers, they got a thermalPort, they'll get a core loss model and maybe more ...

Comment by dietmarw on 16 Feb 2010 06:42 UTC
No problem, you not being rude you just made your point. And although I'd like to see the transformers in a more logical place (as in easier to find), right now I can't really think of a better alternative. So closing as won't fix.

Modified by dietmarw on 26 Oct 2010 06:15 UTC


Made Uniform Card Size

Description
This PR fixes #291
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@Atif0604 Thank you for looking into this, could you please squash these commits or create a new PR for this? 18 commits is too much for a small change. A couple of things:

The aspect ratio needs to be maintained, the images here are getting skewed.

These cards also need to be aligned, as per issue description.

Okay, after the final review about this I make a new PR

I agree with @warunicorn19 you should squash changes once you are done and possibly a better commit message. Nothing too fancy just like Adjusted Card Size or Card Position something of that sort.
https://stackoverflow.com/questions/5189560/squash-my-last-x-commits-together-using-git
This is a great link to get to know how to squash commits

Done

I agree with @warunicorn19 you should squash changes once you are done and possibly a better commit message. Nothing too fancy just like Adjusted Card Size or Card Position something of that sort.
https://stackoverflow.com/questions/5189560/squash-my-last-x-commits-together-using-git
This is a great link to get to know how to squash commits

Done
and Thank you for helping @hershd23

@Atif0604 Available to discuss this on the websites call tomorrow?

@Atif0604 Available to discuss this on the websites call tomorrow?

Okay

@Atif0604 the cards are not of uniform size yet. I hope you understand what the issue is. If not, please do clarify.

Hey @debo19 i tried everything to make it uniform but other things(images) are getting affected

@Atif0604 Let's convert this PR into a draft if you're still looking for a way. Ping when you find a solution. Meanwhile we can unassign you from the issue so that any other contributor can jump in and help us out here :)


Return a promise from task.start()

What do you think if task.start() function would return a promise which could be fulfilled with task's results or rejected in case of error?
In some scenarios, it's more preferable rather than tracking task's pending/result values,
i.e. const { pending, error, result } = task;

Thanks for you suggestion. I think it's generally a good idea.
The implementation might be a bit tricky.
Do you think it's ok to update task values and return a promise?
That means even if you receive a result from a promise, the component will re-render.

In my opinion, it's completely ok. Now I'm worrying more about the API rather than additional re-renders.
I think apollo's hooks (useMutation as example) use similar approach. They update values and return a promise as well.

@denisborovikov wanna review #28?

@dai-shi Thank you for the quick reply and fast update! I very much appreciate your work.

Published: https://www.npmjs.com/package/react-hooks-async/v/3.5.0


Please improve the usability of gen_bytecode_test

This test is not ideal because it's testing the bytecode generator and expecting it to produce the same output for possibly different inputs.  When something changes in Fasta we often have to either regenerate the expectations or mark this test as failing.
The test output is nearly unusable.  When it fails it gives a useless stack trace.  Catch this and give a useful message.  It dumps out a whole bunch of expected and actual output that is not formatted like the expectation file.  It's got leading whitespace, quotes, and escaped newlines.  Format this like the expectation file.
There are no instructions to tell me how to rebase the expectations.  Please add simple instructions ("run this command" or "create a file named this with these contents").
Nobody on the CFE team really has the expertise to know if the expectations are correct or not, so I've just gone with option B and approved that the test is currently failing.

/cc @alexmarkov

OK, I didn't commit the CL with the test failure yet.  It's https://dart-review.googlesource.com/c/sdk/+/98664 which fails because we are currently (and temporarily) allocating more context variables in the async translation.
How do I regenerate the expectations, and can it be made more discoverable?

In order to re-generate expectations please run the following script:
tools/test.py -m release -r vm --vm-options -Ddump.actual.result=true pkg/vm/test/bytecode/gen_bytecode_test

for i in `find -name *.actual`
do
  mv $i `echo $i | sed -e s/.actual/.expect/`
done

Thank you for the suggestions! In addition, does it make sense to unify re-generation of expectations with front-end tests?
Also, I'm not sure that these test are very useful now, as we have functional testing of bytecode pipeline on dartkb bots, so we can consider removing them.

Thanks for the instructions.  I'm sorry to have sounded so frustrated in the initial report.

Sample test output with https://dart-review.googlesource.com/c/sdk/+/98946:
00:00 +0: gen-bytecode /usr/local/google/home/alexmarkov/work/dart/sdk/pkg/vm//testcases/bytecode/literals.dart
00:00 +0 -1: gen-bytecode /usr/local/google/home/alexmarkov/work/dart/sdk/pkg/vm//testcases/bytecode/literals.dart [E]

  Result is different for the test case file:///usr/local/google/home/alexmarkov/work/dart/sdk/pkg/vm//testcases/bytecode/literals.dart

  The first difference is at line 672.
  Actual:     Entry                2
  Expected:   EntryOptional        2, 1, 0

  This failure can be caused by changes in the front-end if it starts generating
  different kernel AST for the same Dart programs.

  In order to re-generate expectations run tests with -DupdateExpectations=true VM option:

    tools/test.py -m release --vm-options -DupdateExpectations=true pkg/vm

  In order to dump actual results into .actual files run tests with -Ddump.actual.result=true VM option:

    tools/test.py -m release --vm-options -Ddump.actual.result=true pkg/vm

  package:test/src/frontend/expect.dart 160:30       fail
  pkg/vm/test/common_test_utils.dart 124:7           compareResultWithExpectationsFile
  pkg/vm/test/bytecode/gen_bytecode_test.dart 46:3   runTestCase
  ===== asynchronous gap ===========================
  dart:async/future_impl.dart 22:43                  _Completer.completeError
  dart:async-patch/async_patch.dart 40:18            _AsyncAwaitCompleter.completeError
  pkg/vm/test/bytecode/gen_bytecode_test.dart        runTestCase
  ===== asynchronous gap ===========================
  dart:async/zone.dart 1053:19                       _CustomZone.registerUnaryCallback
  dart:async-patch/async_patch.dart 77:23            _asyncThenWrapperHelper
  pkg/vm/test/bytecode/gen_bytecode_test.dart        runTestCase
  pkg/vm/test/bytecode/gen_bytecode_test.dart 56:32  main.<fn>.<fn>
  package:test/src/backend/declarer.dart 168:27      Declarer.test.<fn>.<fn>.<fn>
  ===== asynchronous gap ===========================
  dart:async/zone.dart 1053:19                       _CustomZone.registerUnaryCallback
  dart:async-patch/async_patch.dart 77:23            _asyncThenWrapperHelper
  package:test/src/backend/declarer.dart             Declarer.test.<fn>.<fn>.<fn>
  package:test/src/backend/invoker.dart 250:15       Invoker.waitForOutstandingCallbacks.<fn>
  ===== asynchronous gap ===========================
  dart:async/zone.dart 1045:19                       _CustomZone.registerCallback
  dart:async/zone.dart 962:22                        _CustomZone.bindCallbackGuarded
  dart:async/timer.dart 52:45                        new Timer
  dart:async/timer.dart 87:9                         Timer.run
  dart:async/future.dart 174:11                      new Future
  package:test/src/backend/invoker.dart 402:11       Invoker._onRun.<fn>.<fn>.<fn>

@kmillikin please comment here or on the CL if not all concerns are addressed or you have further suggestions. Thanks!

Thanks!  This looks good.


Privy example

Adds a new example lens-next-privy-app, forked from lens-next-app, which replaces ConnectKit with Privy for wallet authentication.
It only requires supplying the Privy App ID, in place of the Wallet Connect Project ID used in the original example, to run.
Creating a draft because we're waiting on a fix from Privy in the @privy-io/react-auth library. I will also update the readme with a link to the Privy docs for Lens integration when it's published.

Tested @privy-io/react-auth v1.74.1 and it no longer has the signing prompt issue. This is ready for review now!


Tests of examples/http-server failing

I have encountered this issue while following the example code and was able to reproduce it on the example code itself.

Testing started at 7:22 AM ...
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/khalil.dowlut/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/ch/qos/logback/logback-classic/1.2.8/logback-classic-1.2.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/khalil.dowlut/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/org/slf4j/slf4j-simple/1.7.30/slf4j-simple-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000000010f58dce8, pid=41938, tid=0x0000000000009903
#
# JRE version: OpenJDK Runtime Environment (8.0_312) (build 1.8.0_312-bre_2021_10_20_23_15-b00)
# Java VM: OpenJDK 64-Bit Server VM (25.312-b00 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.dylib+0x545ce8]  Unsafe_SetByte+0x61
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Users/some.user/temp/finatra/hs_err_pid41938.log
#
# If you would like to submit a bug report, please visit:
#   https://github.com/Homebrew/homebrew-core/issues
#

Process finished with exit code 134 (interrupted by signal 6: SIGABRT)

hs_err_pid41938.log

Hmm, strangely, I've switched from OpenJDK 1.8.0_312 to Oracle JDK 1.8.0_311 and the tests are passing (both the finatra test - above - and the tests for my service).
Can you advise if there is any dependency on a specific version of JDK. What are you guys using for development and production?

That's odd.  From looking at the stacktrace in your file, it looks like this might be a way that netty is incompatible with JDK 1.8.0_312?  We use an older version of the JDK internally.  I'm not sure what the github workflow for jdk8 uses.  Would you mind filing a ticket with their project?

@mosesn the CI action uses OpenJDK 1.8.0_332:
Run java -Xmx32m -version
openjdk version "1.8.0_332"
OpenJDK Runtime Environment (Zulu <IP_ADDRESS>-CA-linux64) (build 1.8.0_332-b09)
OpenJDK 64-Bit Server VM (Zulu <IP_ADDRESS>-CA-linux64) (build 25.332-b09, mixed mode)

The recommendation would be that users be at least on that version.
FWIW, this looks like a reported issue with Netty: https://github.com/netty/netty/issues/12119 and potentially specific to the Homebrew version of JDK8 being installed.

Ayzat


Prompt not showing when no permissions

Version Number of Plugin: 3.0.4
Device Tested On: Motorola MG3 (API 23)
Expected Behavior
User is prompted when no permission
Actual Behavior
User is never prompted
I added the OnRequestPermissionsResult in my MainActivity and got the permissions in my AndroidManifest.

Did you set your target: https://github.com/jamesmontemagno/GeolocatorPlugin#important

I've got them both set to Android 7.0

The permissions only prompt when you request location.
I highly recommend you use the permission plugin though.


initial creation of the operator

can create and delete gke clusters based off a CRD.

Using alternative PR.


Add Observation.to_body_xymethod

Pull request checklist

[x] Add a clear description of the change
[x] Add any new tests needed
[x] Run spell check on new text visible to user (documentation, GUI etc.)
[ ] Check any changes to requirements.txt are reflected in setup.py
[ ] Check code passes CI checks (run run_ci.sh or check GitHub Actions)

See CONTRIBUTING.md for more details.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.001%) to 99.497%

Totals

Change from base Build<PHONE_NUMBER>:
0.001%

Covered Lines:
2745

Relevant Lines:
2759

💛  - Coveralls


Virtual network peering section should be different for Advanced networking.

[Virtual network peering needs to be adjusted for Advanced Networking case]
VNET is not located in MC_* rg for Advanced Networking case.

Go back to the MC_* resource group in the Azure portal.
In the right pane, select the virtual network. The virtual network name is in the form aks-vnet-*.
In the left pane, select Peerings.
Select Add, add the virtual network of the VM, and then create the peering.

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

ID: 0b68f2c4-bb6c-11a2-6c61-8af4057a2438
Version Independent ID: e3498bed-1447-6841-8353-9f1b5d3dc8df
Content: Create a private Azure Kubernetes Service cluster - Azure Kubernetes Service
Content Source: articles/aks/private-clusters.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

currently being fixed.
#please-close


Icon for global search

Suggesting to use the "icon-search" magnifying glass, instead of "icon-search-plus", just because the "-plus" icon is typically used for "zoom in".

#1556

Fixed and available on alpha for testing.

available in production.


default value for unformat

accounting.unformat('0') = 0
accounting.unformat('what') = 0

would be nice to be able to pass in a default value for invalid:
example:
accounting.unformat('0,00' ',', null) = 0
accounting.unformat('what', ',' , null) = null

I am looking into this.


route.openshift.io/termination: passthrough  annotation in Ingress not creating a passthrough route

route.openshift.io/termination: passthrough  annotation in Ingress not creating a passthrough route
https://bugzilla.redhat.com/show_bug.cgi?id=1878685

/retest

/retest


Create import-script for DB-Creation

Also filter more options in
sachsen. The size of sachsen
now is 5 MB.
To use the import.sh only run
bin/import.sh -c -f data/sachsen-filtered.osm
and install mysql-server-5.6 before (with
apt-get).
(Bei der Registrierung nehmt:
u:"root" pw:"")
this closes #6
also see: wiki

Current coverage is 64.26% (diff: 100%)

Merging #17 into master will not change coverage

@@             master        #17   diff @@
==========================================
  Files            11         11
  Lines           319        319
  Methods           0          0
  Messages          0          0
  Branches         27         27
==========================================
  Hits            205        205
  Misses          109        109
  Partials          5          5

Powered by Codecov. Last update fc007e0...8fe9592

Well done!


⚠ Samsung has degraded performance

In 50f7183, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2799 ms

Resolved: Samsung performance has improved in c6d56a2.


WSLg Large Window Border

Windows Version
Microsoft Windows [Version 10.0.22621.1555]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
openSUSE-Tumbleweed (Occurs also on Ubuntu)
Other Software
Application in screenshot: Denaro installed via flatpak.
Issues occurs with any WSL graphical application, however, no matter the source (repo, flatpak, snap) installed from.
Repro Steps

Install any graphical application
Attempt to use the Windows Snipping Tool to take a screenshot of a Linux graphical app in Window mode.

Expected Behavior
The window borders of Linux graphical applications match the size of the actual window to allow for a proper screenshot as Windows applications.
Actual Behavior
A Linux app will have a large window border that exceeds that of the actual application compared to that of a Windows app.
Denaro (Linux):

Nemo (Linux):

Terminal (Windows):

Diagnostic Logs
No response

Probably should transfer this issue to https://github.com/microsoft/WSLg/


Import-module "PnP.PowerShell" not working

Reporting an Issue
import-module "PnP.PowerShell" not working
Expected behavior
PnP PowerShell should be loaded into actual session
Actual behavior
Not able to load PnP PowerShell into actual session. import-module "PnP.PowerShell" gives following error:
Import-Module : Die Datei oder Assembly "System.Management.Automation, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden. In Zeile:1 Zeichen:1   Import-Module "Pnp.PowerShell"     CategoryInfo          : NotSpecified: (:) [Import-Module], FileNotFoundException     FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.PowerShell.Commands.ImportModuleCommand
Steps to reproduce behavior
Install-Module "PnP.PowerShell" -Scope CurrentUser
Import-Module "PnP.PowerShell"
What is the version of the Cmdlet module you are running?
2.1.0 or 2.1.1, both have the issue
With 1.12.0 everything works fine
Which operating system/environment are you running PnP PowerShell on?

[ X] Windows 10

@AlyaKoni ISE and PS 5.x is not supported anymore - installed PS 7.3 and using VisualStudio Code as Editor worked fine.

As @SnappyFPV mentioned, you need to install PS 7.2 or later versions. This 2.1.1 release has dropped support for PS 5.1 and ISE.
If you want to keep using PS 5.1 or ISE, you can use the 1.12.0 version.
Bug fixes and improvements will only be done on the 2.x releases in the future.

Same error here.  PS 7.3 and using VisualStudio Code as Editor also smae error outside of vscode.

@AlyaKoni @LycheeYum - Please make sure your PowerShell session is running PS7 regardless of using VSCode or not (VSCode can also run PS5). Works fine on our end with VSCode, Terminal or even on MacOS.

In PS7 the import is working, may now I get if I try to connect:
Line | 1492 |  … onnection = Connect-PnPOnline -Url $Url -TenantAdminUrl $TenantAdminU …      |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      | Could not load file or assembly 'Microsoft.Extensions.DependencyInjection.Abstractions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60'. Could not           | find or load a specific file. (0x80131621)

Hi there,
I have installed the latest version of PnP PowerShell 2.3.0 and when I Import-Module PnP.PowerShell with windows PowerShell 7.4 , it's importing fine but when I use windows PowerShell ISE editor and importing Import-Module PnP.PowerShell is throwing following error. I want to debug the script using ISE but unable to do it. I am in windows 11 a surface pro.
Import-Module : Could not load file or assembly 'System.Management.Automation, Version=<IP_ADDRESS>, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
At line:1 char:1

Import-Module PnP.PowerShell

  + CategoryInfo          : NotSpecified: (:) [Import-Module], FileNotFoundException
  + FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.PowerShell.Commands.ImportModuleCommand

Hi there,
I have installed the latest version of PnP PowerShell 2.3.0 and when I Import-Module PnP.PowerShell with windows PowerShell 7.4 , it's importing fine but when I use windows PowerShell ISE editor and importing Import-Module PnP.PowerShell is throwing following error. I want to debug the script using ISE but unable to do it. I am in windows 11 win a surface pro.
Import-Module : Could not load file or assembly 'System.Management.Automation, Version=<IP_ADDRESS>, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
At line:1 char:1

Import-Module PnP.PowerShell

  + CategoryInfo          : NotSpecified: (:) [Import-Module], FileNotFoundException
  + FullyQualifiedErrorId : System.IO.FileNotFoundException,Microsoft.PowerShell.Commands.ImportModuleCommand

ISE and PowerShell 5 no longer works for PnP. You have to use Visual Studio Code with PowerShell 7.

Thank you Konrad,
Can you please provide the guidance of debugging PS Script using VS code?

From: Konrad Brunner @.>
Sent: Wednesday, December 13, 2023 11:53 PM
To: pnp/powershell @.>
Cc: Doorga Shukla @.>; Comment @.>
Subject: Re: [pnp/powershell] Import-module "PnP.PowerShell" not working (Issue #2969)
ISE and PowerShell 5 no longer works for PnP. You have to use Visual Studio Code with PowerShell 7.
—
Reply to this email directly, view it on GitHubhttps://github.com/pnp/powershell/issues/2969#issuecomment-1855187211, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BEVKRQMO2TBQGCCLQRVS5GTYJKH53AVCNFSM6AAAAAAWR5Q6YSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJVGE4DOMRRGE.
You are receiving this because you commented.Message ID: @.***>

Open the PS file in VS code and hit "F5" or select "Run/Start Debugging"
You can insert breakpoints, etc..

You need to install the PowerShell extension in Code. Then just press the play button.

I've installed Powershell 7.x and Visual Studio Code. I realize based on what is being told here that ISE is no longer supported for PnP 2.3, but i'm also seeing that i'm not able to execute Connect-PnPOnline using Visual Studio Code, after installing the PowerShell extension. So VS Code will not connect to Sharepoint via Connect-PnPonline either? Am I missing a step? Thanks

Make sure you use PowerShell 7 in your Terminal in Code. Check $PSVersionTable. What kind of error do you get?

Be carefull with powershell versions. I stopped using powershell because some modules do only work with powershell 7 and some doesn't so you end up with a hell of different versions and which does support which.
Programs which do start in powershell but as soon as you want to have a debugger so you start visual code it doesn't work anymore because of different powershell versions.

In general, all PowerShell modules work in PowerShell 7, but some have to be loaded with special parameters in order to work in PowerShell 7. However, some modules cannot work with other modules. In this case, you will always need a new PowerShell session.
Have a look at my method Install-ModuleIfNotInstalled. This can give you some help when loading modules in PowerShell 7.
https://github.com/AlyaKoni/ALYADO-ADM-Public/blob/master/01_ConfigureEnv.ps1

Make sure you use PowerShell 7 in your Terminal in Code. Check $PSVersionTable. What kind of error do you get?

$PSVersionTable returns PSversion value of 5.1.22000.2600
After installing the PowerShell extension, I go into Settings | PowerShell Default Version and insert the value "C:\program files\PowerShell\7\7\pwsh.exe, but am informed via log errors that the location could not be found, and get message "Instead using first available installation at c:\windows\system32\windowsPowershell\v1.0\powershell.exe". The pwsh.exe path for PS7 is correct and in existence in my local folder path.

Sure a double 7 in the path? "C:\program files\PowerShell\7\7\pwsh.exe"
On my client it is "C:\Program Files\PowerShell\7\pwsh.exe"

Sure a double 7 in the path? "C:\program files\PowerShell\7\7\pwsh.exe" On my client it is "C:\Program Files\PowerShell\7\pwsh.exe"

Yes, i found it odd too. At the first \7 root, there is another '7' folder, but at the second \7 root I see all the folders and pwsh.exe. Running it opens up a PS 7.4.0 session screen. Path written is "c:\program files\powershell\7\7>


Increase font size on job badges

@saranglove: While converting job badges resource to support translations, the font size seems to have been decreased. This should be changed back to the original font size to improve readability.

Not quite sure what you mean?


updated file in -Discord projects

Related Issue
there is no file available in your discord project , i am completed this issue.
issue no. #176
Email id used to regsiter for VSoc'24
Description
i am push all file in Discord project, index.html style.css, etc.
Type of PR

[ x] Bug fix
[ ] Feature enhancement
[ x] Documentation update
[ ] Security enhancement
[ ] Other (specify): _______________

check in issue by entering [X] in boxes
Screenshots / Videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes]
Checklist

[ x] I have performed a self-review of my code.
[x ] I have read and followed the Contribution Guidelines.
[ x] I have tested the changes thoroughly before submitting this pull request.
[ x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x ] I have commented my code, particularly in hard-to-understand areas.
[x ] I have followed the code style guidelines of this project.
[x ] I have checked for any existing open issues that my pull request may address.
[ x] I have ensured that my changes do not break any existing functionality.
[ x] Each contributor is allowed to create a maximum of 4 issues per day. This helps us manage and address issues efficiently.
[ x] I have read the resources for guidance listed below.
[ x

https://github.com/dhairyagothi/50_days_50_web_project/assets/130534171/fd46d4e1-6c75-4d63-8afd-74861b2492e7
] I have followed security best practices in my code changes.
check in issue by entering [X] in boxes
Additional Context
[Include any additional information or context that might be helpful for reviewers.]
Contribution Guidelines
Thank you for considering contributing to our project! To ensure smooth collaboration and effective contribution management, please adhere to the following guidelines:
Issue Creation

Limit on Issues:

Each contributor is allowed to create a maximum of 4 issues per day. This helps us manage and address issues efficiently.

Contribution Levels

Basic Contributions:

This project is primarily focused on documentation. Most of the setup has been completed, so contributors will generally need to work on basic code tasks, such as writing tests.
For these tasks, issues will be assigned the Easy label.

Acknowledging Hard Work:

If a contributor puts in significant effort on a task, the issue will be upgraded to Medium. This is our way of recognizing and appreciating extra effort.

Feature Additions and Component Work:

Contributors working on new features or components using JSX/TSX will be assigned a level based on the complexity and quality of their work.
The more complex and valuable the contribution, the higher the level assigned.

Level Definitions

Easy:

Tasks are straightforward, such as fixing minor bugs, writing tests, or making simple documentation updates.

Medium:

Tasks require more effort, such as addressing complex bugs, improving existing features, or making substantial documentation improvements.

Hard:

Tasks are highly complex and involve significant new feature development, major refactoring, or extensive contributions to the project’s core components.

We look forward to your contributions and appreciate your effort in helping us improve the project!

give email id @bhagwan8815

Email id<EMAIL_ADDRESS>


a question about evaluate_FlowFormer.py

Very interesting work!
I have a question about evaluate_FlowFormer.py, which reports AEPE 0.63/1.51 on Sintel clean/final for the provided things.pth checkpoint.
flow_pre = model(image1, image2)
flow_pre = padder.unpad(flow_pre[0]).cpu()
epe = torch.sum((flow_pre - flow_gt)**2, dim=0).sqrt()
For my run on Sintel images, flow_pre is of size [1, 2, 436, 1024] and flow_gt [2, 436, 1024]. (flow_pre - flow_gt)**2 is of size [1, 2, 436, 1024] and sum over dim 0 results in size [2, 436, 1024] for epe. Thus, "epe" doesn't sum over the horizontal and vertical flow errors.
flow_pre = torch.squeeze(padder.unpad(flow_pre[0]).cpu())
would results in size [436,1024] for epe and reports AEPE 1.01/2.40.
Could you please help check it?
Thanks.

Hi, thanks for your interest in our work.
https://github.com/drinkingcoder/FlowFormer-Official/blob/main/evaluate_FlowFormer.py#L55-L65
In Line56-57, image1 and image2 are unsqueezed to have shape [1,2,436,1024], while flow_gt is of [2, 436,1024]. In Line 63, we use flow_pre[0] to squeeze flow_pre so that it has shape [2, 436, 1024], which should be the same as flow_gt. Could you double check and let me know if I am wrong.

Thanks for pointing that out. Sorry for the mistake :dizzy_face:. We will roll back our Arxiv paper to the ECCV submission version, where the reported AEPE is 0.95/2.35, calculated through the tile technique.

Thanks for checking it. These are still impressive numbers.
BTW: if you haven't submit your new ArXiv paper, could you please also correct the three A+S+K+H entries in Table 1? The numbers there are for the training set of Sintel and KITTI after the models have been trained on AutoFlow. Thanks.

Many many thanks for your reminding!  We will update that!


Mockito's Default Answer is never called in ModuleOverrider

Hi, I've been fighting with this issue for quite a long time now but I cannot seem to find the solution to it.
The problem is that the Mocked Modules are not providing mocked dependencies and instead providing the real class. I can assure that the modules are actually the mocked modules. Debugging to get to the root of the issue, I found out that the defaultAnswer defined in ModuleOverrider is never being called for any of my mocked modules, while it is being correctly called in the ComponentOverrider.
Does that make sense?
Do you have any idea of why this could be happening?
Do you think it might have anything to do with our Dagger 'architecture'? (I see that it is different from the example)
Here I attach the code related to the issue.
This is my test class:
public class MyTest {
@Rule
    public ActivityTestRule<PasswordLoginActivity> mActivityTestRule = new ActivityTestRule<>(PasswordLoginActivity.class, false, false);

    @Rule public final DaggerMockRule<ApplicationComponent> daggerRule = new DaggerMockRule<>(ApplicationComponent.class, new AppModule(), new LoginModule())
            .addNoMockModules(new AndroidModule(getApp())
            .set(new DaggerMockRule.ComponentSetter<ApplicationComponent>() {
                @Override public void setComponent(ApplicationComponent component) {
                    getApp().setDaggerTestComponent(component);
                }
            });

    private MyApplication getApp() {
        return (MyApplication) InstrumentationRegistry.getInstrumentation().getTargetContext().getApplicationContext();
    }

    @Mock LoginAnalyticsReporter lAnalyticsReporter;
    @Mock AnalyticsReporter analyticsReporter;
    @Mock PasswordLoginPresenter passwordLoginPresenter;

    @Test
    public void loginSuccessfulTest() {
        Mockito.doNothing().when(lAnalyticsReporter).loginButtonClicked();

        mActivityTestRule.launchActivity(null);

        // All Espresso interactions within the Login Screen

    }
}

And this are the modules that are related to this dependencies:
open class AppModule {

  @Provides
    @Singleton
    fun providePasswordLoginAnalyticsReporter(analyticsReporter: AnalyticsReporter)
            : AppAnalyticsReporter =
            AppAnalyticsReporterImpl(analyticsReporter)

  @Provides
    @Singleton
    fun provideAnalyticsReporting(): AnalyticsReporter = FirebaseAnalyticsReporter()

  // More provide methods ...

}

open class LoginModule {

    @Provides
    @Singleton
    fun providePasswordLoginAnalyticsReporter(
                    /* many other depedencies */
analyticsReporter: AnalyticsReporter)
            : LoginAnalyticsReporter =
            LoginAnalyticsReporterImpl(analyticsReporter)

    @Provides
    @Singleton
    fun providePasswordLoginPresenter(
                                      loginAnalyticsReporter: LoginAnalyticsReporter)
            : PasswordLoginPresenter =
            PasswordLoginPresenterImpl(
                    /* many other depedencies */
                    loginAnalyticsReporter)

}

And this is our DaggerComponent:
@Singleton
@Component(modules = arrayOf(
        LoginModule::class,
        AppModule::class,
        /* many other modules */
))
interface ApplicationComponent :
        /* many other injectors, implemented in our Application object */
        LoginInjector,
        AppInjector
       {

    fun inject(application: MyApplication)
    fun inject(target: MainActivity)
}

So to be clear, the LoginAnalyticsReporter provide method receives the real AnalyticsReporter implementation and the PasswordLoginPresenter ends up receiving the real LoginAnalyticsReporter, instead of receiving the mocked ones.
But in my test class, if I use the mock objects, they will be the mocked ones, so any call to mockito's methods to change what they do or return will be pointless.
Thanks a lot for your help and let me know if I need to clarify something else!

Hi, the defaultAnswer of ModuleOverrider should be invoked. How many components are you using in your project?
Have you implemented the addNoMockModules in your fork? Which error do you get if you don't use that method?

Hi, we are using just one component, and if it's of any help, we have some
modules that just act as containers of other modules and don't have any
provide methods (but in my test I'm not using any of these, just simple
modules).
I implemented the addNoMockModules, that is basically another list of
modules that are built in initComponent but using the provided module
object directly without passing through ModuleOverrider to ensure they're
not mocked. Does that sound right? This seems to work fine as the
dependencies of this module are provided correctly.
The error that I was getting by adding the module directly is that the
class variable that is passed as parameter in the constructor - new
Androidmodule(getApp()) - is Null when any of the provide methods of that
class is invoked. I understand this should work as your example has a
similar module, but so far couldn't make it work.
Tried your RealWorldApp and works just fine.
Let me know if you any idea or need any other information.
Thank a lot.
On 29/01/2017 7:16 AM, "Fabio Collini"<EMAIL_ADDRESS>wrote:
Hi, the defaultAnswer of ModuleOverrider should be invoked. How many
components are you using in your project?
Have you implemented the addNoMockModules in your fork? Which error do you
get if you don't use that method?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fabioCollini/DaggerMock/issues/30#issuecomment-275864585,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHH6T5RZYp5o_pBsA_46MbLWUpM5JLCtks5rW4XjgaJpZM4Ls_Io
.

I think I have found the problem, it's related to Kotlin. You have defined the module as open but the provide methods are not open. So Mockito can't override these methods and the real object is used. Can you try to define the methods as open?
In the next days I am going to add a check to throw an exception when the test contains a field that is created using a final provide method.
Thanks again for your report!

Oh, man, I knew it was going to something so... simple like this. Thanks a lot for taking the time to find the issue. The bright side for me is that at least now I know a lot of the internals of your great library haha.
That exception would be great, especially now with Kotlin usage raising.
Thanks again! You can close this if you think there's nothing else to say about it.

I have committed the check to throw an exception on final methods, you can try it using the commit hash 59af954ba3 as version in your build.gradle file.
I think that the also other bug you report is related to this problem, can you try to define all the methods open and remove the invocation to addNoMockModules method?

Great, Thanks.
Yes, effectively, I tried that and that error was related to this issue so
no need of the noMockModules.
On 31/01/2017 11:15, "Fabio Collini"<EMAIL_ADDRESS>wrote:

I have committed the check to throw an exception on final methods, you can
try it using the commit hash 59af954ba3 as version in your build.gradle
file.
I think that the also other bug you report is related to this problem, can
you try to define all the methods open and remove the invocation to
addNoMockModules method?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fabioCollini/DaggerMock/issues/30#issuecomment-276209219,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHH6T31tmwHM14y-8EPsp9qGblT7fKewks5rXmD7gaJpZM4Ls_Io
.


Request Control

Hi,
I'm not completely sure that this is an application issue per se but i noticed that DuckDuckGo blocked my ip for a couple of days while making multiple requests during a short period of time. Have you thought of creating a feature that allows the user to control the number of requests per second or something like that?
kind regards

I am also facing this issue.
Is there no way to search for a specific number of results?

Hi.

In the latest version, if you run even two DDGS threads, the ip will not be blocked.
If you start many threads, you will get a logging.warning message that the server responds with a 418 status code.
This is a temporary lock, for 30 seconds, then everything works as before.
If you start many threads, create a separate DDGS object for each thread and use a proxy server.

To pick up a certain number of results, you just have to stop the generator when you reach the desired number of results.
Example:
from duckduckgo_search import DDGS

#1
ddgs_gen = DDGS().text("python generator")
results = []
for i, r in enumerate(ddgs_gen, start=1):
    if i > 2:
        break
    results.append(r)
print(results)

#2
ddgs_gen = DDGS().text("python generator")
results = []
for _ in range(2):
    results.append(next(ddgs_gen))
print(results)

#3
ddgs_gen = DDGS().text("python generator")
results = [r for i, r in enumerate(ddgs_gen) if i<2]
print(results)

#4
ddgs_gen = DDGS().text("python generator")
results = [next(ddgs_gen) for _ in range(2)]
print(results)

and so on...

B.R.


Fix migrations on deltas for 3d geometry

@robert197 I think this was the issue you had. Found it on sentry.

Task linked: QF-1670 Fix migrations on deltas for 3d geometry


Fix couple functions related integration tests

Motivation
There are a couple of function related integration tests that were either not executed or broken.
FunctionsCLITest.java is broken and not executed
PulsarStateTest.java is not executed
Tests should pass after #5432 is merged

rerun integration tests
rerun cpp tests

rerun cpp tests


[es-dev-server] Node module resolution should be enabled by default

This makes the out-of-box experience just a bit nicer, since you always need this for LitElement and most other npm libraries with dependencies.
The one downside is that this means a particular Node resolution mode has to be the default, and the only workable default right now is "classic" or "require-style" resolution. Once "module-style" resolution lands and enough modules start using it the default could change to that in a breaking change.

I can see how its more convenient, but then we do have to teach people not to use it when testing performance.
It depends on how long we think until (and if) import maps become mainstream enough.


Badge value : number of decimals

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
API
🔖 Feature description
Limit the number of decimals for badges value, because actually it's too much.

✔ Solution
Limit the number of decimals for badges value.

❓ Alternatives
No response
📝 Additional Context
No response

Reproduced here with value 99.929999999999.


build: bump civetweb to 1.13

Signed-off-by: Angelo Puglisi<EMAIL_ADDRESS>
What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

If contributing rules or changes to rules, please make sure to also uncomment one of the following line:

/kind rule-update

/kind rule-create

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area engine

/area rules

/area tests

/area proposals

What this PR does / why we need it:
Upgrade civetweb to 1.13
Which issue(s) this PR fixes:
I did this mainly because I noticed CivetServer ctor parameter passed by copy (fixed here https://github.com/civetweb/civetweb/commit/f5032dbd241d2516cd33613f5c03c74064c0b590)

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

bump civetweb to 1.13

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

Needs approval from an approver in each of these files:

OWNERS

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

I wasn't sure we want to have this now, since the library was released a few months ago, but I thought better to have it ready :)

I noticed this: https://github.com/falcosecurity/falco/issues/1008. Worth upgrading?

I noticed this: #1008. Worth upgrading?

That's the long term solution. Indeed I think it is worth updating civitweb only if that fixes some bugs (like the #860 that I mentioned above). Otherwise, I wouldn't touch it :smile_cat:
Just my 2 cents

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana: Closed this PR.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

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


HDF5 support

This may be nice way to exchange data with R and pandas.
See Tim Holy's work based on code by Konrad Hinsen:
https://github.com/timholy/julia_hdf5
An on-disk Hdf5DataFrame might be nice, too.

Hey guys, i am brand new to Julia evaluating it for use on Big Data, and I have this scenario: storing and reading Time Series of data coming from sensors, the volume of data is so that cannot be loaded on memory. So I have two questions, is DataFrames capable of handling Big Data, and how can I save DataFrames using HDF5/JLD example ?

I have some code to read HDF5 tables into Julia efficiently (using HDF5's built-in memory layout conversion), and I'm willing to contribute some code to turn that into a DataFrame. In which package should this go?

To clarify -- The existing support for compound types in HDF5.jl is inefficient (type instability, redundant storage of field types and names with each row, and unnecessary data copying/conversion), making it unsuitable for large datasets. But I'm a bit wary of modifying HDF5.jl to return a DataFrame, because this would break existing code, and there may be some tricky cases with tables that contain arrays and strings (everything needs to be isbits). So maybe the best compromise would be a direct route into DataFrames.

I think HDF5-DataFrames interop code should live either in HDF5.jl or in a special package. If it lives in HDF5.jl, it doesn't necessarily mean that a DataFrame should be returned by default. I guess the best design would be to implement a DataStreams Source/Sink, which will allow loading the file into a DataFrame, but also streaming it to any kind of structure or file format, as well as doing operations with Query.jl.

Thanks for the pointers. I've made a quick & dirty package here: https://github.com/damiendr/HDFTables.jl
It needs more testing, but it should work just fine for tables of scalars. I'll look into the Source/Sink interface and see how I can work with that.


voicingManager.speakIgnoringEnabled should be replaced

We need a different function to speak without using the voicing framework. We don't like the example usage in number-play. It should ideally use the UtteranceQueue.

Moving to utterance-queue now that that is where SpeechSynthesisAnnouncer lives.


Make multicore charmrun parse all arguments

Original issue: https://charm.cs.illinois.edu/redmine/issues/1848

Currently the multicore version of charmrun only parses arguments until it hits one that doesn't start with a '+'. That means if you do './charmrun +p8 ./pgm <program_args_here> ++local ++quiet' the '++local' and '++quiet' are ignored. This is inconsistent with other builds of Charm++, which parse all args.

Original date: 2018-04-06 22:31:08

~~https://charm.cs.illinois.edu/gerrit/3961~~ https://github.com/UIUC-PPL/charm/commit/fbda322dc9d9058ccec470cb72b476f58a2c1bd6


Pirate Wallet Lite not showing any information

It's as if I don't have any pirate coins.... but I do!

Not SYNCING

upgrade your wallet, you are 6 versions out of date.

I t did finally work!
—Gregory
On Thursday, September 14, 2023 at 10:07:01 PM PDT, CryptoForge<EMAIL_ADDRESS>wrote:

upgrade your wallet, you are 6 versions out of date.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

SAYS I'VE GOT THE LATEST VERSION.
—Gregory
On Thursday, September 14, 2023 at 10:07:01 PM PDT, CryptoForge<EMAIL_ADDRESS>wrote:

upgrade your wallet, you are 6 versions out of date.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Update manually
https://github.com/PirateNetwork/PirateWallet-Lite/releases/tag/1.0.10