Android: FeedbackManager is always registered

By using .start() on Android currently you always start the FeedbackManager: https://github.com/peutetre/cordova-plugin-hockeyapp/blob/master/src/android/HockeyApp.java#L28
This may not be correct and the best way to handle things. This could either be an option or a seperate call to make, so the user can decide if he wants this module of HockeyApp activated or not.

Does this actually open the feedback manager? Or does it just have it sat ready waiting in memory? I only ask as i'm about to integrate with this library, I've used it before on iOS but this wasn't the behaviour.

It doesn't open it, it just does, whatever FeedbackManager.register() does.

Oh right, but does it actually have any side effects? Does it cause any
memory issues?
On 21 Dec 2015 3:55 pm, "Jan Piotrowski"<EMAIL_ADDRESS>wrote:

It doesn't open it, it just does, whatever FeedbackManager.register()
does.
—
Reply to this email directly or view it on GitHub
https://github.com/peutetre/cordova-plugin-hockeyapp/issues/17#issuecomment-166339126
.

Sorry, don't know - that's actually why I opened this ticket. You could ask the HockeyApp guys in their support forum or via email and post the answer here, then we know if this is actually a problem that has to be fixed ;)

Yeah might do that. :)
On 21 Dec 2015 6:50 pm, "Jan Piotrowski"<EMAIL_ADDRESS>wrote:

Sorry, don't know - that's actually why I opened this ticket. You could
ask the HockeyApp guys in their support forum or via email and post the
answer here, then we know if this is actually a problem that has to be
fixed ;)
—
Reply to this email directly or view it on GitHub
https://github.com/peutetre/cordova-plugin-hockeyapp/issues/17#issuecomment-166388022
.

If you take a look at the implementation of FeedbackManager.register, it is simply loading some app state, that wouldn't have any noticeable impact on perf or memory usage. The HockeyApp team doesn't have any concerns with this method being called all the time, so I'm going to close this issue for now.
If anyone finds any runtime concerns with this, please re-open it and we can definitely consider adding a parameter to start that allows controlling whether or not FeedbackManager.register is called.


Support for GrantAuthority and RevokeAuthority transactions

Description
Fixes pyrsia/pyrsia#403
This PR adds and supports 2 new transaction types: AddAuthority and RevokeAuthority and validates the key supplied, which must be the 32 bytes of the public key hex encoded
PR Checklist

[x] I've read the contributing guidelines.
[x] I've read "What is a Good PR?"
[x] I've included a good title and brief description along with how to review them.
[x] I've linked any associated an issue.
[x] I've requested a review  from "pyrsia/collaborators"

Code Contributions

[x] I've built the code cargo build --workspace.
[X] I've run the unit tests cargo test --workspace.

Please help to fix cargo fmt errors. Thanks

Thanks for the update. If possible, please help fix "cargo clippy" errors. Thanks

Due to total change in base code, and change of priority, closing this


[Embedded Page] Refused to apply inline style

With the Developer Tools visible (Help -> Toggle Developer Tools), errors are generated in its Error list when you click on the C# extension in the extensions list.
webview.ts:150 [Embedded Page] Refused to apply inline style because it violates the following Content Security Policy directive: "style-src file:". Either the 'unsafe-inline' keyword, a hash ('sha256-kFAIUwypIt04FgLyVU63Lcmp2AQimPh/TdYjy04Flxs='), or a nonce ('nonce-...') is required to enable inline execution.

webview.ts:150 [Embedded Page] Refused to apply inline style because it violates the following Content Security Policy directive: "style-src file:". Either the 'unsafe-inline' keyword, a hash ('sha256-kFAIUwypIt04FgLyVU63Lcmp2AQimPh/TdYjy04Flxs='), or a nonce ('nonce-...') is required to enable inline execution.

webview.ts:150 [Embedded Page] Refused to apply inline style because it violates the following Content Security Policy directive: "style-src file:". Either the 'unsafe-inline' keyword, a hash ('sha256-kFAIUwypIt04FgLyVU63Lcmp2AQimPh/TdYjy04Flxs='), or a nonce ('nonce-...') is required to enable inline execution.

webview.ts:150 [Embedded Page] Refused to apply inline style because it violates the following Content Security Policy directive: "style-src file:". Either the 'unsafe-inline' keyword, a hash ('sha256-kFAIUwypIt04FgLyVU63Lcmp2AQimPh/TdYjy04Flxs='), or a nonce ('nonce-...') is required to enable inline execution.

I can repro, but I suspect this issue belongs in the VS Code repo. C# for VS Code only provides markdown for this content and doesn't style anything. It's just the README.md from this repo.
@jrieken, does this look familiar to you?

Also checking with @joaomoreno and @weinand in case they can help route.

@mjbvz will know

The root cause:

The C# extension's readme uses a markdown table
Our markdown processor outputs style attributes when rendering the markdown table to html
Inline styles are blocked in extension pages by the content security policy we set

I've opened https://github.com/Microsoft/vscode/issues/32760 to track this


How to access cookies while fetch

Please feel free to correct me.
How to access my session id in the cookies sent by server while fetch request.
In broswer api server responds as Http response => Body, Headers, Cookies
Server sends  cookie with JSESSIONID. How to access this cookie in fetch .
This my code
fetch("server_url/devices", {
              method: "POST",
              headers: {
                "Accept": "application/json",
                "Content-Type": "application/json",
              },
              body: JSON.stringify(regData),
            })
              .then(response => {
                return response.json();
              })
              .then(responseJson => {
                console.log(responseJson);

              })
              .catch(error => {
                console.log(error);
              });

Add this line to your fetch parameters :
credentials: 'same-origin'
Your fetch method should now get and send the current session's cookie.
I'd invite you though to post questions on Stackoverflow, since this place is about posting issues encountered while using React Native.
Regards

@Bryzz I have added credentials: 'same-origin'. How to aceess cookie values??  can't we access directily or should I use this https://github.com/joeferraro/react-native-cookies

Have you tried add include instead of same-origin?
More info: https://github.com/facebook/react-native/issues/14063

@shergin  Since I am new to this, I am not able achive my need.
My server sents session id as a cookie (which I want to console it) , If I can save that seesion id , then I can reuse it for next api requests .can you help in that point of direction.
return fetch(HOSTNAME + '/devices', {
           method: 'GET',
           credentials: 'same-origin',
           headers: {
               "authorization": token,
               'Accept': 'application/json',
               'Content-Type': 'application/json',
           },
       })
       .then((response) => {
           console.log(response)
           //console.log(cookies)
           return response.json()
       })
       .then((responseJson) => {
           console.log(responseJson)
           return responseJson;
       })
       .catch((error) => {
           return reject(error);
       });

@iiitmahesh I hardly see why you would need the JSESSIONID from your cookie to send other requests to your API. Are you using Spring Security server-side ?
If so, using the line I suggested you on every fetch request should be enough. The cookie would be sent along any fetch request you added this parameter to and accept (or reject) the request depending of the user's authentication.
I shall investigate a bit into this cookie module so I can help you more. Maybe the URL requires to not be restricted in your API ?

@iiitmahesh  This problem has been solved?
I have this problem, too
How to solve it


CDM issue (Protobuf issue, in Pywidewine)

CDM issue (Protobuf issue, in Pywidewine)

also thanks
AMAZING PROJECT <3


Feature Request: Add Support for Ternary Diagrams

I’d like to suggest a new plot for ScottPlot: support for ternary plots. Ternary diagrams are valuable for visualizing data that represents three interdependent components, each summing to a constant (typically 1 or 100%). They’re widely used in fields such as chemistry, geosciences, and environmental science to display compositional data.
https://www.ternaryplot.com/
https://en.wikipedia.org/wiki/Ternary_plot

Hi @manaruto, thanks for this suggestion!
I would love to see this feature added to ScottPlot. I don't intend to add this myself in the short term, but you or another member of the open source community could implemented it pretty easily, and if someone creates a pull request I would be happy to review it and merge it into an upcoming release.
The implementation could mimic how polar axes were added. Basically create an IPlottable that knows how to draw the axes and also have methods to translate coordinates from triangular space to Cartesian space. If you start by copying the polar axis class and modify the code as needed, it should be feasible to implement without too much effort.
https://scottplot.net/cookbook/5.0/Polar/
https://github.com/ScottPlot/ScottPlot/blob/0d1177bc94dcbaa79678e55d9016c86595e654b2/src/ScottPlot5/ScottPlot5/Plottables/PolarAxis.cs#L1-L267
I'll close this issue for now, but if someone creates a pull request to add this feature we can reference this issue, and if someone wants help while trying to implement this I'm happy to take a look at their work in progress 👍
Example Ternary Diagram

I'm happy to share that I implemented the TernaryAxis class, along with two helper classes, TernaryAxisCornerLabel and TernaryAxisEdge, to support customizable ternary plotting capabilities in ScottPlot.
I’ve submitted a pull request with details on usage and customization. Please let me know if there's anything I can improve or refine further!


Add an indicator for insufficient DFI

https://user-images.githubusercontent.com/65014479/141961588-42a46ae6-3907-471a-9838-65f63d709368.mp4
What UI/UX improvements would you like to be implemented:
• Add an indicator / prompt / i to notify user when DFI falls below 0.1
Why is this needed:
• Unable to convert DFI (UTXO) to DFI (Token) due to insufficient DFI
• When at screen to convert DFI (UTXO) to DFI (Token), DFI (UTXO) balance displays 0 even though user has DFI (UTXO) balance
• When at screen to convert DFI (Token) to DFI (UTXO), DFI (UTXO) balance displays correct balance
Which component/screens does this concern?:
• Balances
Anything else we need to know?:

• At the moment, the above i describes the amount set aside for fees, not inform the user than he has insufficient funds

Acceptance Criteria:
Android:

[ ]   Balances > Check info icon present when the total DFI amount is falls below 0.1 DFI

IOS:

[ ]  Balances > Check info icon present when the total DFI amount is falls below 0.1 DFI

If the total DFI balance is more than 0.1 DFI then the info i  need not to be present


Break face edges for nearby hole vertices

This would be an optional behavior but it might be a good idea to add vertices on face edges that correspond to vertices of holes which are near the edge but not close enough to be constrained to the edge.

Nice. We should keep in mind what happens when non-rectilinear surfaces are involved (think pyramid). Projecting (new) edges when everything is 90° is one thing - it gets weird once surfaces (and their common, shared edges) become slanted.


AIX does not allow Process.getsid(pid) if pid is in a different session

Please push this pull request back if it is too platform-specific.

This looks fine, please address the little nitpick :smiley:

Thank you for your fix!


V2 Auto Multiline Detection - Aggregate on custom user samples

What does this PR do?
Adds support for aggregating multiline logs on user submitted samples.
This is functionally similar to a multi_line processing rule, however you don't need write any regex. You simply supply a sample of the log prefix you want to aggregate on. The new auto multiline pipeline will tokenize the sample and compare it to input logs. If the sample matches closely to the log, the log is labeled for aggregation.
By default, this configuration is simple and has sane defaults:
logs_config:
    auto_multi_line_detection_custom_samples:
    - sample: "[info] Datadog agent -"

where the supplied pattern is used to begin aggregation (assigned a startGroup label). However you can override the default settings to further customize aggregation:
logs_config:
    auto_multi_line_detection_custom_samples:
    - sample: "!!! never aggregate !!!"
      match_threshold: 0.5
      label: no_aggregate

In the example above, if a log prefix matches the sample it will never be aggregated.
These options should be considered advanced usage. In most cases the user shouldn't have to be aware of  the underlying labeling behavior. However this exposes a powerful interface for controlling exactly how specific log formats should be aggregated (or in this case, not aggregated).
The match_threshold represents the % of tokens that must match exactly to be considered a match.


unable to delete helm ceph namespace

Is this a request for help?:
yes
Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BUG REPORT

Version of Helm and Kubernetes:
[root@admin-node ~]# helm version
Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}

[root@admin-node ~]# kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:17:28Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:08:34Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
[root@admin-node ~]#

Which chart:
Ceph
What happened:
Unable to release ceph namespace from Helm after a few objects missing in helm status
[root@admin-node ~]# helm list
NAME    REVISION        UPDATED                         STATUS          CHART           NAMESPACE
ceph    1               Sat Jul  7 02:46:40 2018        DEPLOYED        ceph-0.1.0      ceph
[root@admin-node ~]#

[root@admin-node ~]# helm status ceph
LAST DEPLOYED: Sat Jul  7 02:46:40 2018
NAMESPACE: ceph
STATUS: DEPLOYED

RESOURCES:
==> v1/StorageClass
NAME      PROVISIONER   AGE
ceph-rbd  ceph.com/rbd  5d

==> MISSING
KIND           NAME
secrets        ceph-keystone-user-rgw
configmaps     ceph-bin-clients
configmaps     ceph-bin
configmaps     ceph-etc
configmaps     ceph-templates
services       ceph-mon
services       ceph-rgw
daemonsets     ceph-mon
daemonsets     ceph-osd-dev-vdc
deployments    ceph-mds
deployments    ceph-mgr
deployments    ceph-mon-check
deployments    ceph-rbd-provisioner
deployments    ceph-rgw
jobs           ceph-rgw-keyring-generator
jobs           ceph-osd-keyring-generator
jobs           ceph-mgr-keyring-generator
jobs           ceph-mon-keyring-generator
jobs           ceph-mds-keyring-generator
jobs           ceph-namespace-client-key-generator
jobs           ceph-storage-keys-generator

[root@admin-node ~]# helm delete ceph --purge --debug
[debug] Created tunnel using local port: '42271'

[debug] SERVER: "<IP_ADDRESS>:42271"

Error: namespaces "ceph" is forbidden: User "system:serviceaccount:kube-system:default" cannot get namespaces in the namespace "ceph"
[root@admin-node ~]#

There are no resources at kubernetes level. I think they got deleted with i first ran helm delete ceph
[root@admin-node ~]# kubectl get all --namespace ceph
No resources found.
[root@admin-node ~]#

Also tried removing helm tiller and doing re-init
kubectl delete deployment -n=kube-system tiller-deploy
helm init --upgrade
kubectl get po -n kube-system
helm delete ceph --purge --debug

What you expected to happen:
helm delete --purge should delete the helm namespace
How to reproduce it (as minimally and precisely as possible):

Deploy ceph using helm chart
helm delete ceph
 helm delete ceph --purge

Anything else we need to know:

have you used the rbac rules here

@rootfs  yes i have used those rules but no effect.
I think i managed to get a workaround for this. Will post here if the testing goes well.

This was a helm issue, basically one needs to find out if there are undeleted resources

helm delete --purge ceph1 --debug

Delete those resources manually

kubectl delete jobs -n ceph ceph-namespace-client-key-cleaner-hw95v

Open two terminals delete helm application on one helm delete --purge ceph1 --debug while it is executing open the second terminal, list undeleted resources kubectl get all -n ceph, if there appears any undeleted resource, delete it manuallly kubectl delete jobs -n ceph ceph-namespace-client-key-cleaner-hw95v

These instructions worked form me
[root@admin-node tmp]# helm delete --purge ceph --debug
[debug] Created tunnel using local port: '44392'

[debug] SERVER: "<IP_ADDRESS>:44392"

release "ceph" deleted
[root@admin-node tmp]#

[root@admin-node tmp]# helm list
[root@admin-node tmp]# echo $?
0
[root@admin-node tmp]#


Bump CI to JDK 21

Ref https://github.com/scala/docs.scala-lang/pull/3082#issuecomment-2395625368
/cc @Friendseeker

Here's the interim test result:
https://github.com/Friendseeker/sbt/actions/runs/11206267214/job/31146772229
There's quite a few CI failures. I guess we need to do some work to quash the bugs.

Instead of enabling full coverage of all OS / LTS combination, maybe we shall strive for the less ambitious goal of simply let the existing Java 17 jobs to run with Java 21 for now, as per the title of the issue.
Full coverage of all OS / LTS combination is certainly something handy to have, and some of their failures likely indicate real issues, but it would require a significantly greater time investment to address them.

Yea. I think we mostly want the boundary checks JDK 8 and whatever the latest we support.


formatLength() with configured units

Currently, there's no ability to choose different units (only in km/m) for two methods formatLength(), formatArea() in MeasureUtil. It would be great if you could add an option to handle different units (cm/mm/...).

Can you come up with a PR? That'd be much appreciated.

this would be great as currently the formatArea method returns extreme low values when the input geometry is not in a metric projection. I think it should default to meters in that case and a transformation would be needed therefor


docs(examples): fix dependencies

I believe some dependencies are placed on the wrong place. cc @XiaofengXie16

That looks good to me.  Thank you for fixing the typo!!!


install mkdocs-redirect when publishing site

https://github.com/ko-build/ko/pull/872 added redirects, but didn't install the mkdocs redirect plugin when publishing.

Codecov Report

Merging #873 (8751005) into main (811b34a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #873   +/-   ##
=======================================
  Coverage   51.29%   51.29%
=======================================
  Files          44       44
  Lines        3394     3394
=======================================
  Hits         1741     1741
  Misses       1426     1426
  Partials      227      227

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Cannot use raylib-cpp.hpp

When including raylib-cpp.hpp during compilation it says error global namespace has no "GetDirectoryFiles" and "ClearDirectoryFiles" and such other . Is this because of raylib version mismatch?

Which version of raylib are you using? This targets 4.0.0 right now.

I just cloned master repo of raylib

Oh, ok, so I have to use 4.0.0 tag of raylib

It does need an update to the latest.


w2form v2.0 - problems with error message processing when loading data from a remote source

Sending an error message from the server
{status: 'error',  message: 'Error message...'}
does not display an error message in the web browser.
An attempt to process the error message on its own using the onLoad event does not lead to success, since the event.detail.date attribute contains the Response object instead of data.
The w2form.js code (lines 988 to 1010) does not contain support for processing the response in the format shown above.

I think you need to send
{ error: true, message: 'Error message...' }

But you were right that with onLoad event you could not change it. I have fixed that. Now, first of all, event.detail.data will have right object with data returned from the server. You can modify it and set error = true and then it will display error message.


Problem in setting initial files [Safari]

Summary
I'm setting initial files in filepond. It's working fine on all browsers excepts Safari. I am using react-filepond.
Output on Safari:

Output on Chrome

Related issue #482.
...
How to reproduce
Here is test case. Just open it in Safari browser.
https://codesandbox.io/s/github/Asad4429/testproj?file=/src/App.tsx
...
Expected behaviour
Should work file on Safari as it's working on chrome and firefox.
...

Environment
Version

OS
MacOS

Browser
Safari 11.1.1

There's already an issue on this, have some patience.


Return '@null' if args is null ASAP

If args[i] is null, always return @null.
Now, check typeof args[i] === 'string' and run String(args[i]). This is unnecessary.
This fix should improve readability and speed by a small amount.

I have committed into vercel:master. Was vercel:next more appropriate?
I'm skipping the error on ts-ignore using --no-verify. It seems to have already been fixed in vercel:next.

@matamatanot yeah if it’s not a breaking change please target master. next is for 1.0 👍

There is an error. The cause is #754.

So this changes the hook behavior:
Before:
useSWR([1, 2, null, 3, 4]) // => key will be `arg@1@2@null@3@4`

Now:
useSWR([1, 2, null, 3, 4]) // => key will be `arg@1@2@null`

I think that feels inconsistent and may also cause key conflicts. But it is indeed a good question: should we skip the request if one of the args is null...?

@shuding
I mistook for for forEach. Is it from a performance perspective that used for?

This is an example of using reduce. It's not clear if it improved readability and performance. Instead, it may be worse.
function hash2(args: any[]): string {
  if (!args.length) return ''
  return args.reduce((acc: string, current: any) => {
    if (current === null) {
      return (acc += '@null')
    } else if (typeof current !== 'object' && typeof current !== 'function') {
      if (typeof current === 'string') {
        return (acc += '@' + '"' + current + '"')
      } else {
        return (acc += '@' + String(current))
      }
    } else {
      if (!table.has(current)) {
        table.set(current, counter++)
        return (acc += '@' + (counter - 1))
      } else {
        return (acc += '@' + table.get(current))
      }
    }
  }, 'arg')
}

Yeah I think as a small util, it's better to use for due to performance.

Using the continue statement. If you don't find it useful, you can close this.


Kover exclude rules in Sonarqube scan

I'm using Kover in my Android Project to generate the xml report that's sent to my Sonarqube server.
I would like to exclude all Kotlin classes that are inside a "di" folder but my Kover exclude rules don't seem to work.
My package structure is

My merged report gradle config is
// in root build.gradle

tasks.koverMergedXmlReport {
    enabled = true
    xmlReportFile.set(layout.buildDirectory.file("kover/xml/result.xml"))
    excludes = [
        "*.*Module.*",
        "*.di.*Module*",
        "*.di.*"
    ]
}

sonarqube {
    properties {
        property "sonar.sourceEncoding", "UTF-8"
        property "sonar.coverage.jacoco.xmlReportPaths", "$buildDir/kcover/xml/result.xml"

    }
}

project.tasks["sonarqube"].dependsOn "koverMergedXmlReport"

When I run my sonarqube scan. The module files in the various DI folders are visible in the coverage report

Defining "sonar.exclusions property" in my build gradle file does solve this issue
   property("sonar.exclusions","**/di/*")

Is this the correct way of excluding files in the final sonarqube report or is possible to perform the same exclusions by just configuring the Kover merged reports?

Thanks @shanshin for clarifying. Will there be plans to support full integration with analysis tools like Sonarqube?

There are no short-term plans for integration with Sonarqube, but it will be added as soon as the plugin and the IntelliJ Coverage Engine are implemented to a stable state.

@sarn0ld In the end we went with your solution. I didn't know it was the same process with Jacoco as well. Thanks for letting me know!

Duplicates #268


Case normalization in db.name, db.collection.name, db.operation.name?

Should we say anything about case normalization when capturing db.name, db.collection.name, db.operation.name? Or just say to capture the case as it is presented by the library or user query?

Given that for example in MySQL table names can be case-sensitive under some circumstances, I'd say it makes sense to capture the casing as is and not alter it.

Looked into this a bit, most database systems can operate in case-sensitive mode, even if they are case-insensitive by default. This is a good article.
For table names:

PostgreSQL: case-insensitive by default, but table names in double quotation marks (") are case sensitive
MySQL: depends on the OS by default and you can change it- details above
MS SQL Server: case-insensitive by default, but can be changed by modifying the collation setting

Only downside of capturing as is I can come up with is when the DB is case-insensitive (MyTable and mytable are indeed the same), but the observability backend that stores the telemetry data is case-sensitive and users mix casing in queries - in that case filtering, grouping, aggregating such data will be problematic. But overall I think the advantage of properly handling case-sensitive cases outweighs this hypothetical scenario. So I'd also go with capturing as is.

how about adding this language for db.namespace, db.operation.name and db.collection.name?

It is RECOMMENDED to capture the value as provided by the application without attempting to do any case normalization.

We could also say nothing, I think the default when normalization is not mentioned in semconv should be to NOT normalize.


Lastmod normalise date error

When I use a string like 2023-12-21T22:46:58.441Z, it is normalized to 2023-12-21T22:46:58, losing the time zone information. However, when I provide 2023-12-21T22:46:58.441+00:00, it is converted to the normalized date 2023-12-21T22:46:58+00:00.

Please try 5.0.2 :)


fix image crop.data -> copy

cv::Mat cropped_image = frame_gray(crop); does not copy the image which results in bad data for cropped_image.data inside calcFlow().

Merged into master with code style fixes.

Looks like this reduced the quality of the flow and also bring several 'Number of good matches: 1, desired: 20'


Confusing "sandbox" name for Staging environment

Currently the available values for the THREESCALE_DEPLOYMENT_ENV is production or sandbox. While production is clear enough, sandbox is quite confusing because the environment in 3scale is called "Staging".
I suggest that staging is added as an alias, while keeping sandbox too for backward compatibility.

I guess it should be the other way around: Aliasing staging to sandbox in 3scale.
Sandbox really means sandbox unlike staging is too generic

Well, either way would work as long as the user can specify THREESCALE_DEPLOYMENT_ENV=staging and expectedly get the Staging environment configuration.

The 3scale API now aliases staging to sandbox so you can use THREESCALE_DEPLOYMENT_ENV=staging.


Question: Where's possible to track mouse pointer coordinates on mouse move?

I need to show and see mouse pointer coordinates on mouse move even after I add and stack multiple layers. If I add a mouse move handler on one layer, then later I add another layer on the top. When the mouse enters this new layer I loose then the tracking. Drag layer seems the right place because I believe stays always on top of the stack, but after adding the mouse move handler on drag layer I can't see any update of mouse pointer coordinates.

You will need to have a mouse move event on each layer. For each event you'll need to iterate the parent chain to get the absolute mouse x, y.


Call Registry API to retrieve the list of features

Clicking on the "Registry" button should fire a GET /api/features to the Pazuzu registry in order to be able the see the already existing features


Enhance#2196 add karate.env in Html report

Reporting Enhancement #2196
Add karate.env in Html report
issues : 2196

Relevant PRs : (optional)
Type of change :  Improvement of report

@ThierryLejeune you have to target the develop branch for a PR - right now you are using master so one of my comments is not addressed

@ThierryLejeune maybe you did not switch branch to develop after a clone. this is important, because other changes have been made to the reports recently


VS: Significant lag time on adding a new component file to an already loaded project.

Describe the bug
Trying to add a new Razor component results in a significant amount of time waiting for @code to highlight/the file to be recognized as a component file. This would be expected when the project is opened for the first time in the IDE but not on subsequent adds of a Razor component. It happens every time.
To Reproduce
PreReqs:

Use latest internal VS (master branch)
Use preview7+ SDK

Steps to reproduce the behavior:

Create a new Blazor serverside project
Right click on the pages folder and click add new item
Select the Razor Component item template.
See @code not become yellow for several seconds.

Expected behavior
The file should be recognized as a component file immediately on an already loaded project.
Screenshots

Additional context
I investigated this and for some reason we're telling WTE that @code should be C# but we have a valid configuration of 3.0. Sooo, this shouldn't be happening.

If this will take a day to fix, we probably will take it. Otherwise - will do it later.


modules: canopennode: add rxmsg callback

Implement callback for incoming CAN messages for any of the configured filters for CANopenNode.
This can be used to wake the loop calling CO_process when a new message was received which needs processing.

I added your suggestions, and also clarified that the callback is run in interrupt context (CAN rx callback). And I had some problems with my client not adding the files to the commit, sorry for the noise...

Or maybe in the API description that a NULL ptr disables the callback?

It states "Setting a new callback will replace any existing callback."
I used a similar wording to other callbacks, e.g. can_set_state_change_callback which states "Calling this function again overrides any previously registered callback." (and also does not explicitly mention passing NULL disables the callback).

Commenting to see if that's enough to get the PR to show as green in the merge dashboard 🤷🏼

@henrikbrixandersen do you want to try rebasing in case (unlikely IMO) merge dashboard is right by saying something is wrong with CI somehow?
Alternatively, just do a merge batch and pick this PR since AFAICT it is green

@henrikbrixandersen do you want to try rebasing in case (unlikely IMO) merge dashboard is right by saying something is wrong with CI somehow? Alternatively, just do a merge batch and pick this PR since AFAICT it is green

It was missing my approval after the latest force-push, so no - the merge-list had it correctly listed.


Service Failed with 'timeout'

I'm seeing serious issues with unbound where the service simply restarts itself intermittently. I say intermittently but I'm beginning to think it's related to the service failed timeout + the restart delay.
When I attempt to start the service normally via systemctl start unbound or systemctl restart unbound the prompt hangs and waits. Eventually there's an error message along the lines of:
Job for unbound.service failed because a timeout was exceeded. See "systemctl status unbound.service" and "journalctl -xe" for details.
In the unbound log I can see that it's reached a status of info: start of service (unbound 1.9.0). within milliseconds of the service start though.
tls-upstream is set to yes, and looking at the more verbose outputs requests are getting resolved. However when the service restarts the cache is dropped, which is the one of the main reasons for using unbound on this LAN (as well as part of a wider security & privacy design).
I'm using DNS-over-TLS upstreams only, and are configured as per this example:
forward-zone:
        name: "."
        forward-tls-upstream: yes

        ### straight connect instead of via stubby
        ## https://ripe78.ripe.net/on-site/tech-info/dns-over-tls-resolvers/
        forward-addr<EMAIL_ADDRESS>        forward-addr<EMAIL_ADDRESS>
I know this generally works because if I start the service directly (stopping the systemd service) via /usr/sbin/unbound -dvv, I see it working as expected. No restarts or drop-outs.
It's almost like the systemd service thinks the startup hasn't completed, and assumes timeout - and forces the restart based on the unbound.service Restart=on-failed setting. If I remove the Restart=... line from the service I see the following in the systemctl status:

unbound.service - Unbound DNS server
Loaded: loaded (/lib/systemd/system/unbound.service; enabled; vendor preset: enabled)
Active: failed (Result: timeout) since Wed 2019-08-07 18:21:22 CEST; 38s ago
Docs: man:unbound(8)
Process: 6990 ExecStartPre=/usr/lib/unbound/package-helper chroot_setup (code=exited, status=0/SUCCESS)
Process: 6993 ExecStartPre=/usr/lib/unbound/package-helper root_trust_anchor_update (code=exited, status=0/SUCCESS)
Process: 6997 ExecStart=/usr/sbin/unbound -d $DAEMON_OPTS (code=exited, status=0/SUCCESS)
Main PID: 6997 (code=exited, status=0/SUCCESS)
Aug 07 18:19:51 ServerName systemd[1]: Starting Unbound DNS server...
Aug 07 18:19:51 ServerName package-helper[6993]: /var/lib/unbound/root.key has content
Aug 07 18:19:51 ServerName package-helper[6993]: success: the anchor is ok
Aug 07 18:21:21 ServerName systemd[1]: unbound.service: Start operation timed out. Terminating.
Aug 07 18:21:22 ServerName systemd[1]: unbound.service: Failed with result 'timeout'.
Aug 07 18:21:22 ServerName systemd[1]: Failed to start Unbound DNS server.

The pre-reqs for chroot and trust anchors appear to operate as expected, it's the actual unbound service which seems to timeout as a systemd service.
The server in question is a new build to replace an older server, running another Debian derivative with unbound 1.6.0, and that uses Stubby and DnsCrypt as its forwarders. I've tried swapping out the DoT configuration for a straight udp forwarder with known-good DNS (Cloudflare in the test), and that exhibits the same symptoms.
Version in use: <IP_ADDRESS>
OS: Debian Buster (stable) arm64
I enabled a higher verbosity and captured a part of the log for reference - it shows the brief time unbound was actually up through to the timeout 'happening' and the service dropping. Just after the systemctl start unbound I hit it with a dig google.com +dnssec:

[1565196026] unbound[7414:0] debug: validator[module 1] operate: extstate:module_wait_subquery event:module_event_pass
[1565196026] unbound[7414:0] info: validator operate: query google.com. A IN
[1565196026] unbound[7414:0] debug: val handle processing q with state VAL_FINDKEY_STATE
[1565196026] unbound[7414:0] info: validator: FindKey google.com. A IN
[1565196026] unbound[7414:0] info: current keyname com. DNSKEY IN
[1565196026] unbound[7414:0] info: target keyname google.com. DNSKEY IN
[1565196026] unbound[7414:0] debug: striplab 0
[1565196026] unbound[7414:0] info: next keyname google.com. DNSKEY IN
[1565196026] unbound[7414:0] info: DS RRset com. DS IN
[1565196026] unbound[7414:0] info: generate request google.com. DS IN
[1565196026] unbound[7414:0] debug: mesh_run: validator module exit state is module_wait_subquery
[1565196026] unbound[7414:0] debug: subnet[module 0] operate: extstate:module_state_initial event:module_event_pass
[1565196026] unbound[7414:0] info: subnet operate: query google.com. DS IN
[1565196026] unbound[7414:0] debug: subnet: pass to next module
[1565196026] unbound[7414:0] debug: mesh_run: subnet module exit state is module_wait_module
[1565196026] unbound[7414:0] debug: validator[module 1] operate: extstate:module_state_initial event:module_event_pass
[1565196026] unbound[7414:0] info: validator operate: query google.com. DS IN
[1565196026] unbound[7414:0] debug: validator: pass to next module
[1565196026] unbound[7414:0] debug: mesh_run: validator module exit state is module_wait_module
[1565196026] unbound[7414:0] debug: iterator[module 2] operate: extstate:module_state_initial event:module_event_pass
[1565196026] unbound[7414:0] debug: process_request: new external request event
[1565196026] unbound[7414:0] debug: iter_handle processing q with state INIT REQUEST STATE
[1565196026] unbound[7414:0] info: resolving google.com. DS IN
[1565196026] unbound[7414:0] debug: request has dependency depth of 0
[1565196026] unbound[7414:0] debug: forwarding request
[1565196026] unbound[7414:0] debug: iter_handle processing q with state QUERY TARGETS STATE
[1565196026] unbound[7414:0] info: processQueryTargets: google.com. DS IN
[1565196026] unbound[7414:0] debug: processQueryTargets: targetqueries 0, currentqueries 0 sentcount 0
[1565196026] unbound[7414:0] info: DelegationPoint<.>: 0 names (0 missing), 7 addrs (0 result, 7 avail) parentNS
[1565196026] unbound[7414:0] debug:   [dns.larsdebruin.net] ip4 <IP_ADDRESS> port 853 (len 16)
[1565196026] unbound[7414:0] debug:   [dnsovertls.sinodun.com] ip4 <IP_ADDRESS> port 853 (len 16)
[1565196026] unbound[7414:0] debug:   [dns.cmrg.net] ip4 <IP_ADDRESS> port 443 (len 16)
[1565196026] unbound[7414:0] debug:   [dnsovertls.sinodun.com] ip4 <IP_ADDRESS> port 443 (len 16)
[1565196026] unbound[7414:0] debug:   [getdnsapi.net] ip4 <IP_ADDRESS> port 853 (len 16)
[1565196026] unbound[7414:0] debug:   [nscache.ripemtg.ripe.net] ip4 <IP_ADDRESS> port 853 (len 16)
[1565196026] unbound[7414:0] debug:   [nscache.ripemtg.ripe.net] ip4 <IP_ADDRESS> port 853 (len 16)
[1565196026] unbound[7414:0] debug: attempt to get extra 3 targets
[1565196026] unbound[7414:0] debug: servselect ip4 <IP_ADDRESS> port 853 (len 16)
[1565196026] unbound[7414:0] debug:    rtt=1504
[1565196026] unbound[7414:0] debug: servselect ip4 <IP_ADDRESS> port 853 (len 16)
[1565196026] unbound[7414:0] debug:    rtt=1504
[1565196026] unbound[7414:0] debug: servselect ip4 <IP_ADDRESS> port 853 (len 16)
[1565196026] unbound[7414:0] debug:    rtt=649
[1565196026] unbound[7414:0] debug: servselect ip4 <IP_ADDRESS> port 443 (len 16)
[1565196026] unbound[7414:0] debug:    rtt=569
[1565196026] unbound[7414:0] debug: servselect ip4 <IP_ADDRESS> port 443 (len 16)
[1565196026] unbound[7414:0] debug:    rtt=1147
[1565196026] unbound[7414:0] debug: servselect ip4 <IP_ADDRESS> port 853 (len 16)
[1565196026] unbound[7414:0] debug:    rtt=598
[1565196026] unbound[7414:0] debug: selrtt 376
[1565196026] unbound[7414:0] info: sending query: google.com. DS IN
[1565196026] unbound[7414:0] debug: sending to target: <.> <IP_ADDRESS>#443
[1565196026] unbound[7414:0] debug: dnssec status: not expected
[1565196026] unbound[7414:0] debug: qname perturbed to GOogLE.cOM.
[1565196026] unbound[7414:0] debug: comm point start listening 39
[1565196026] unbound[7414:0] debug: mesh_run: iterator module exit state is module_wait_reply
[1565196026] unbound[7414:0] info: mesh_run: end 2 recursion states (1 with reply, 0 detached), 1 waiting replies, 1 recursion replies sent, 0 replies dropped, 0 states jostled out
[1565196026] unbound[7414:0] info: average recursion processing time 4.325272 sec
[1565196026] unbound[7414:0] info: histogram of recursion processing times
[1565196026] unbound[7414:0] info: [25%]=0 median[50%]=0 [75%]=0
[1565196026] unbound[7414:0] info: lower(secs) upper(secs) recursions
[1565196026] unbound[7414:0] info:    4.000000    8.000000 1
[1565196026] unbound[7414:0] info: 0vRDCD mod2  google.com. DS IN
[1565196026] unbound[7414:0] info: 1RDdc mod1 rep google.com. A IN
[1565196026] unbound[7414:0] debug: cache memory msg=68665 rrset=73891 infra=9590 val=69820 subnet=74504
[1565196026] unbound[7414:0] debug: svcd callbacks end
[1565196026] unbound[7414:0] debug: close fd 38
[1565196026] unbound[7414:0] debug: comm point listen_for_rw 39 0
[1565196026] unbound[7414:0] debug: peer certificate:
Issuer: C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3
Validity
Not Before: Jul  8 10:15:11 2019 GMT
Not After : Oct  6 10:15:11 2019 GMT
Subject: CN=dnsovertls.sinodun.com
X509v3 extensions:
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Subject Key Identifier:
05:3C:F3:1F:64:B2:4C:57:F0:79:8B:0D:55:7B:33:7B:EF:B6:CA:1F
X509v3 Authority Key Identifier:
keyid:A8:4A:6A:63:04:7D:DD:BA:E6:D1:39:B7:A6:45:65:EF:F3:A8:EC:A1
        Authority Information Access:
            OCSP - URI:http://ocsp.int-x3.letsencrypt.org
            CA Issuers - URI:http://cert.int-x3.letsencrypt.org/

        X509v3 Subject Alternative Name:
            DNS:dnsovertls.sinodun.com
        X509v3 Certificate Policies:
            Policy: <IP_ADDRESS>.2.1
            Policy: <IP_ADDRESS>.4.1.449<IP_ADDRESS>
              CPS: http://cps.letsencrypt.org

        CT Precertificate SCTs:
            Signed Certificate Timestamp:
                Version   : v1 (0x0)
                Log ID    : 74:7E:DA:83:31:AD:33:10:91:21:9C:CE:25:4F:42:70:
                            C2:BF:FD:5E:42:20:08:C6:37:35:79:E6:10:7B:CC:56
                Timestamp : Jul  8 11:15:11.999 2019 GMT
                Extensions: none
                Signature : ecdsa-with-SHA256
                            30:44:02:20:4C:D9:6C:B3:34:4B:7E:D9:E7:90:A4:D5:
                            AB:1D:13:B0:3F:6C:16:CA:93:3C:F6:AC:1D:62:3F:96:
                            5B:E3:F0:1B:02:20:59:0F:B5:B1:8F:FB:74:4F:CE:56:
                            D5:E1:27:C4:C7:98:99:20:2C:12:DF:94:1C:09:50:FD:
                            88:B4:03:E1:65:40
            Signed Certificate Timestamp:
                Version   : v1 (0x0)
                Log ID    : 29:3C:51:96:54:C8:39:65:BA:AA:50:FC:58:07:D4:B7:
                            6F:BF:58:7A:29:72:DC:A4:C3:0C:F4:E5:45:47:F4:78
                Timestamp : Jul  8 11:15:12.030 2019 GMT
                Extensions: none
                Signature : ecdsa-with-SHA256
                            30:46:02:21:00:B8:23:CD:36:89:77:64:0A:88:1B:68:
                            10:F9:D2:8A:27:28:75:F9:13:AF:58:5F:A6:40:F6:CD:
                            41:92:59:70:34:02:21:00:8B:71:0F:CD:DE:E7:9A:54:
                            6D:05:BD:7D:95:DE:A4:7C:ED:1E:65:3C:5F:BC:48:F6:
                            91:67:50:5A:AD:97:57:CB

[1565196026] unbound[7414:0] debug: SSL connection to dnsovertls.sinodun.com authenticated ip4 <IP_ADDRESS> port 443 (len 16)
[1565196026] unbound[7414:0] debug: comm point listen_for_rw 39 1
[1565196026] unbound[7414:0] debug: comm point stop listening 39
[1565196026] unbound[7414:0] debug: comm point start listening 39
[1565196026] unbound[7414:0] debug: Reading ssl tcp query of length 766
[1565196026] unbound[7414:0] debug: comm point stop listening 39
[1565196026] unbound[7414:0] debug: outnettcp cb
[1565196026] unbound[7414:0] debug: measured TCP-time at 207 msec
[1565196026] unbound[7414:0] debug: svcd callbacks start
[1565196026] unbound[7414:0] debug: good 0x20-ID in reply qname
[1565196026] unbound[7414:0] debug: worker svcd callback for qstate 0xaaab0d9901b0
[1565196026] unbound[7414:0] debug: mesh_run: start
[1565196026] unbound[7414:0] debug: iterator[module 2] operate: extstate:module_wait_reply event:module_event_reply
[1565196026] unbound[7414:0] info: iterator operate: query google.com. DS IN
[1565196026] unbound[7414:0] debug: process_response: new external response event
[1565196026] unbound[7414:0] info: scrub for . NS IN
[1565196026] unbound[7414:0] info: response for google.com. DS IN
[1565196026] unbound[7414:0] info: reply from <.> <IP_ADDRESS>#443
[1565196026] unbound[7414:0] info: incoming scrubbed packet: ;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 0
;; flags: qr rd ra ; QUERY: 1, ANSWER: 0, AUTHORITY: 6, ADDITIONAL: 0
;; QUESTION SECTION:
google.com.     IN      DS
;; ANSWER SECTION:
;; AUTHORITY SECTION:
com.    1200    IN      SOA     a.gtld-servers.net. nstld.verisign-grs.com.<PHONE_NUMBER> 1800 900<PHONE_NUMBER>0
com.    1200    IN      RRSIG   SOA 8 1<PHONE_NUMBER>4163818<PHONE_NUMBER>2818 17708 com. b/iaRYjfVFnFfMeWeTvihmSBwHG0FxpjtSHMjwYxoj0H4zzga/JM8wzO3Bj4/XXaJZA6wKWvR58znpfhUkqS/U3jbsPwRTH6Zavl/0IZ08b4iTwGUFmiMOAnddkzpjqNaIxfnC/py5k3Nd4iNY0Pz/PydcQhL4viSS1bg33JVS4= ;{id = 17708}
CK0POJMG874LJREF7EFN8430QVIT8BSM.com.   1200    IN      NSEC3   1 1 0 - ck0q1gin43n1arrc9osm6qpqr81h5m9a NS SOA RRSIG DNSKEY NSEC3PARAM ;{flags: optout}
CK0POJMG874LJREF7EFN8430QVIT8BSM.com.   1200    IN      RRSIG   NSEC3 8 2 86400<PHONE_NUMBER>4603<PHONE_NUMBER>3603 17708 com. DFIdCVmw76xkgFouDSnCX8/TUMjZOkvQ/VmNcdSW3tE2rTDsD6VszVwNp5vV0iBTyXFk1lM3F4edA+zWR+fyCMwFfQs0vGdL4PHYbYMfxlY9cswx36W5suvp6oZGEMapfhDFRCcQG88kmIYjGKLjo9QAeTQKEStghE7DWD5SO3M= ;{id = 17708}
S84BDVKNH5AGDSI7F5J0O3NPRHU0G7JQ.com.   1200    IN      NSEC3   1 1 0 - s84cfh3a62n0fjpc5d9ij2vjr71oglv5 NS DS RRSIG ;{flags: optout}
S84BDVKNH5AGDSI7F5J0O3NPRHU0G7JQ.com.   1200    IN      RRSIG   NSEC3 8 2 86400<PHONE_NUMBER>5756<PHONE_NUMBER>4756 17708 com. tCi2xBJY/XO0kpl2Sj23eyW/dFAgmeY11F+zcaeuLdCrwHzP4EM3yLq/XgbQV3L+9icbvcpqCHPv6B3461NGQ5HRvq4wrBgtoFMi0oFp2hZRHaVIMrJqTyerTH+dnoQioY+62bLf8tJ7A/BZVfpe28fg5JNHe3XbgAFVrVgKyWE= ;{id = 17708}
;; ADDITIONAL SECTION:
;; MSG SIZE  rcvd: 749
[1565196026] unbound[7414:0] debug: iter_handle processing q with state QUERY RESPONSE STATE
[1565196026] unbound[7414:0] info: query response was nodata ANSWER
[1565196026] unbound[7414:0] debug: iter_handle processing q with state FINISHED RESPONSE STATE
[1565196026] unbound[7414:0] info: finishing processing for google.com. DS IN
[1565196026] unbound[7414:0] debug: mesh_run: iterator module exit state is module_finished
[1565196026] unbound[7414:0] debug: validator[module 1] operate: extstate:module_wait_module event:module_event_moddone
[1565196026] unbound[7414:0] info: validator operate: query google.com. DS IN
[1565196026] unbound[7414:0] debug: validator: nextmodule returned
[1565196026] unbound[7414:0] debug: not validating response, is valrec(validation recursion lookup)
[1565196026] unbound[7414:0] debug: mesh_run: validator module exit state is module_finished
[1565196026] unbound[7414:0] debug: subnet[module 0] operate: extstate:module_wait_module event:module_event_moddone
[1565196026] unbound[7414:0] info: subnet operate: query google.com. DS IN
[1565196026] unbound[7414:0] debug: mesh_run: subnet module exit state is module_finished
[1565196026] unbound[7414:0] info: validator: inform_super, sub is google.com. DS IN
[1565196026] unbound[7414:0] info: super is google.com. A IN
[1565196026] unbound[7414:0] info: verify rrset CK0POJMG874LJREF7EFN8430QVIT8BSM.com. NSEC3 IN
[1565196026] unbound[7414:0] debug: verify sig 17708 8
[1565196026] unbound[7414:0] debug: verify result: sec_status_secure
[1565196026] unbound[7414:0] info: verify rrset S84BDVKNH5AGDSI7F5J0O3NPRHU0G7JQ.com. NSEC3 IN
[1565196026] unbound[7414:0] debug: verify sig 17708 8
[1565196026] unbound[7414:0] debug: verify result: sec_status_secure
[1565196026] unbound[7414:0] debug: nsec3: keysize 1024 bits, max iterations 150
[1565196026] unbound[7414:0] info: ce candidate com. TYPE0 CLASS0
[1565196026] unbound[7414:0] info: NSEC3s for the referral proved no DS.
[1565196026] unbound[7414:0] debug: validator[module 1] operate: extstate:module_wait_subquery event:module_event_pass
[1565196026] unbound[7414:0] info: validator operate: query google.com. A IN
[1565196026] unbound[7414:0] debug: val handle processing q with state VAL_VALIDATE_STATE
[1565196026] unbound[7414:0] info: Verified that unsigned response is INSECURE
[1565196026] unbound[7414:0] debug: val handle processing q with state VAL_FINISHED_STATE
[1565196026] unbound[7414:0] debug: mesh_run: validator module exit state is module_finished
[1565196026] unbound[7414:0] debug: subnet[module 0] operate: extstate:module_wait_module event:module_event_moddone
[1565196026] unbound[7414:0] info: subnet operate: query google.com. A IN
[1565196026] unbound[7414:0] debug: mesh_run: subnet module exit state is module_finished
[1565196026] unbound[7414:0] debug: query took 0.794191 sec
[1565196026] unbound[7414:0] info: mesh_run: end 0 recursion states (0 with reply, 0 detached), 0 waiting replies, 2 recursion replies sent, 0 replies dropped, 0 states jostled out
[1565196026] unbound[7414:0] info: average recursion processing time 2.559731 sec
[1565196026] unbound[7414:0] info: histogram of recursion processing times
[1565196026] unbound[7414:0] info: [25%]=0 median[50%]=0 [75%]=0
[1565196026] unbound[7414:0] info: lower(secs) upper(secs) recursions
[1565196026] unbound[7414:0] info:    0.524288    1.000000 1
[1565196026] unbound[7414:0] info:    4.000000    8.000000 1
[1565196026] unbound[7414:0] debug: cache memory msg=68965 rrset=75290 infra=9590 val=70000 subnet=74504
[1565196026] unbound[7414:0] debug: svcd callbacks end
[1565196026] unbound[7414:0] debug: close fd 39
[1565196053] unbound[7414:0] info: service stopped (unbound 1.9.0).
[1565196053] unbound[7414:0] debug: stop threads
[1565196053] unbound[7414:0] debug: join 1
[1565196053] unbound[7414:1] debug: got control cmd quit
[1565196053] unbound[7414:0] debug: join success 1
[1565196053] unbound[7414:0] debug: join 2
[1565196053] unbound[7414:2] debug: got control cmd quit
[1565196053] unbound[7414:0] debug: join success 2
[1565196053] unbound[7414:0] debug: cleanup.
==> /var/log/syslog <==
Aug  7 18:40:53 localhost systemd[1]: unbound.service: Start operation timed out. Terminating.
==> /etc/unbound/logs/default.log <==
[1565196053] unbound[7414:0] info: server stats for thread 0: 2 queries, 0 answers from cache, 2 recursions, 0 prefetch, 0 rejected by ip ratelimiting
[1565196053] unbound[7414:0] info: server stats for thread 0: requestlist max 0 avg 0 exceeded 0 jostled 0
[1565196053] unbound[7414:0] info: mesh has 0 recursion states (0 with reply, 0 detached), 0 waiting replies, 2 recursion replies sent, 0 replies dropped, 0 states jostled out
[1565196053] unbound[7414:0] info: average recursion processing time 2.559731 sec
[1565196053] unbound[7414:0] info: histogram of recursion processing times
[1565196053] unbound[7414:0] info: [25%]=0 median[50%]=0 [75%]=0
[1565196053] unbound[7414:0] info: lower(secs) upper(secs) recursions
[1565196053] unbound[7414:0] info:    0.524288    1.000000 1
[1565196053] unbound[7414:0] info:    4.000000    8.000000 1
[1565196053] unbound[7414:0] debug: cache memory msg=66072 rrset=66072 infra=9590 val=70000 subnet=74504
[1565196054] unbound[7414:0] info: server stats for thread 1: 1 queries, 0 answers from cache, 1 recursions, 0 prefetch, 0 rejected by ip ratelimiting
[1565196054] unbound[7414:0] info: server stats for thread 1: requestlist max 0 avg 0 exceeded 0 jostled 0
[1565196054] unbound[7414:0] info: mesh has 0 recursion states (0 with reply, 0 detached), 0 waiting replies, 1 recursion replies sent, 0 replies dropped, 0 states jostled out
[1565196054] unbound[7414:0] info: average recursion processing time 9.752778 sec
[1565196054] unbound[7414:0] info: histogram of recursion processing times
[1565196054] unbound[7414:0] info: [25%]=0 median[50%]=0 [75%]=0
[1565196054] unbound[7414:0] info: lower(secs) upper(secs) recursions
[1565196054] unbound[7414:0] info:    8.000000   16.000000 1
[1565196054] unbound[7414:0] debug: cache memory msg=66072 rrset=66072 infra=9590 val=70000 subnet=74504
[1565196054] unbound[7414:0] info: server stats for thread 2: 0 queries, 0 answers from cache, 0 recursions, 0 prefetch, 0 rejected by ip ratelimiting
[1565196054] unbound[7414:0] info: server stats for thread 2: requestlist max 0 avg 0 exceeded 0 jostled 0
[1565196054] unbound[7414:0] info: mesh has 0 recursion states (0 with reply, 0 detached), 0 waiting replies, 0 recursion replies sent, 0 replies dropped, 0 states jostled out
[1565196054] unbound[7414:0] debug: cache memory msg=66072 rrset=66072 infra=9590 val=70000 subnet=74504
[1565196054] unbound[7414:0] debug: Exit cleanup.
[1565196054] unbound[7414:0] debug: switching log to stderr
==> /var/log/syslog <==
Aug  7 18:40:54 localhost systemd[1]: unbound.service: Failed with result 'timeout'.
Aug  7 18:40:54 localhost systemd[1]: Failed to start Unbound DNS server.

I see that you are using debian, is this a packaged unbound or you build your own from source?
If so, unbound does support systemd but it needs to be compiled with --enable-systemd.

Yes - it's straight from the repo:
https://tracker.debian.org/pkg/unbound

I am not able to reproduce the problem with a fresh installation of debian buster. This included installing the OS and apt installing unbound.
The only added configuration was a forward-zone as stated above to try and mimic the behavior.
I cannot reproduce the problem with any combination of forwarding servers and DNS over TLS.
Have you installed unbound in another way, or do you use a more complicated configuration?
By the way, the ripe name servers that you use were only set up for that conference if I recall correctly as they are not responding now (this does not cause any problems here with regards to systemd except that queries are not answered).
For an updated list of DoT capable nameservers you can use:

https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Public+Resolvers, and
https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Test+Servers.

Thanks for looking into this.
That was a sample of two to demonstrate configuration - there are many other DoT configured in the "." forward zone, and resolution is 100% operational during the time unbound is actually up.
Resolution is not the issue, the service start / timeout is the problem. I deployed unbound using standard repo tools e.g. apt install unbound
Have you tried using Debian Buster on an amd64 architecture device? Do you have any recommendations for me to try?

I wondered if there might have been an issue resolved during the transition of Buster from testing to stable, as unbound was originally installed when Buster was still in testing.
So just did an apt install --reinstall unbound - unfortunately that hasn't changed anything. Let me know if you think I should try something else or provide further logs or configs.

I could also try an arm64 installation but I am not expecting to find something different. Before I go down that road it could be useful to share your configuration (minus any sensitive settings).

Sure - configs below. I've variously tried removing specific config files to see if any of them contain configurations which would do this, but have not seen the problem resolve itself in these tests.
unbound.conf
# remote - enabled for the ad-list parsers to reload the configuration when they run
remote-control:
	control-enable: yes
        control-interface: <iface>
        control-port: <port>

# base configuration of server
server:
	## general configuration
	chroot: "/etc/unbound"
	directory: "/etc/unbound"
	username: "<uname>"
	logfile: "logs/default.log"
	log-queries: no
	log-replies: no
	log-servfail: no
	hide-identity: yes
	hide-version: yes
	hide-trustanchor: no
	do-not-query-localhost: no
	rrset-roundrobin: yes

	## hardening - https://calomel.org/unbound_dns.html
	harden-dnssec-stripped: yes
	harden-glue: yes
	harden-large-queries: yes
	harden-short-bufsize: yes
	harden-algo-downgrade: yes
	use-caps-for-id: yes
	harden-below-nxdomain: yes
	identity: "<id>"

	# Enable ratelimiting of queries (per second) sent to nameserver for
	# performing recursion. More queries are turned away with an error
	# (servfail). This stops recursive floods (e.g., random query names), but
	# not spoofed reflection floods. Cached responses are not rate limited by
	# this setting. Experimental option.
	#ratelimit: 3000
	# TODO Disabled - Assess whether this is the setting causing all the restart issues with the service (and therefore losing the cache)

	# Set the total number of unwanted replies to eep track of in every thread.
	# When it reaches the threshold, a defensive action of clearing the rrset
	# and message caches is taken, hopefully flushing away any poison.
	# Unbound suggests a value of 10 million.
	unwanted-reply-threshold: 1000000

	## private addresses
	private-address: <lan cidr 1>
	private-address: <lan cidr 2>
	private-domain: <priv. d. name>

# See the unbound.conf(5) man page.
#
# See /usr/share/doc/unbound/examples/unbound.conf for a commented
# reference config file.
#
# The following line includes additional configuration files from the
# /etc/unbound/unbound.conf.d directory.
include: "/etc/unbound/unbound.conf.d/*.conf"

unbound.conf.d/base.conf
# base configuration of server for LAN
server:
	interface: <IP_ADDRESS>
	access-control: <lan cidr 1> allow
	access-control: <lan cidr 2> allow
	access-control:	<control cidr> allow
	access-control:	<wan cidr> deny
	#verbosity: 4
	do-ip4: yes
	do-ip6: no
	do-udp: yes
	do-tcp: yes
	# Aggressive NSEC uses the DNSSEC NSEC chain to  synthesize  NXDO-
        # MAIN  and  other  denials, using information from previous NXDO-
        # MAINs answers.  Default is no.  It helps  to  reduce  the  query
        # rate  towards  targets  that  get  a  very high nonexistent name
        # lookup rate.
	aggressive-nsec: yes

	# standard port:
	interface: <IP_ADDRESS>@53

unbound.conf.d/caching.conf
# cache-specific settings
server:
	# https://nlnetlabs.nl/documentation/unbound/howto-optimise/

	# the time to live (TTL) value lower bound, in seconds. Default 0.
	# If more than an hour could easily give trouble due to stale data.
	cache-min-ttl: 1200

	# the time to live (TTL) value cap for RRsets and messages in the
	# cache. Items are not cached for longer. In seconds.
	cache-max-ttl: 172800

	prefetch:		yes
	prefetch-key:		yes
	num-threads:		3

	msg-cache-slabs:	4
	rrset-cache-slabs:	4
	infra-cache-slabs:	4
	key-cache-slabs:	4

	num-queries-per-thread:	4096
	outgoing-range:		8192

	msg-cache-size:		131721898
	rrset-cache-size:	263443797

	serve-expired:		yes

	so-reuseport:		yes

	#edns-buffer-size:	10m

unbound.conf.d/tls.conf
# configuration to enable requests on 853
server:
	# enable upstream TLS requests
	tls-upstream: yes
	tcp-upstream: yes

        # enable listen on a TLS port with a local certificate
	tls-cert-bundle: "path/to/ca-certificates.crt"
        tls-service-key: "path/to/<server pk>.pem"
        tls-service-pem: "path/to/<server cert>.pem"
	tls-win-cert: no
        tls-port: 853

        # DNS over TLS
        minimal-responses: yes
        rrset-roundrobin: yes
        use-caps-for-id: yes

	# apply port for TLS
	interface: <IP_ADDRESS>@853

	# define ciphers
	tls-ciphers: "<list of tls 1.2 compatible EC ciphers>"

unbound.conf.d/root-auto-trust-anchor-file.conf
server:
	# The following line will configure unbound to perform cryptographic
	# DNSSEC validation using the root trust anchor.
	auto-trust-anchor-file: "path/to/root.key"
	trust-anchor-signaling: yes
	root-key-sentinel: yes

unbound.conf.d/qname-min.conf
server:
    # Send minimum amount of information to upstream servers to enhance
    # privacy. Only sends minimum required labels of the QNAME and sets
    # QTYPE to NS when possible.

    # See RFC 7816 "DNS Query Name Minimisation to Improve Privacy" for
    # details.

    qname-minimisation: yes

I was finally able to reproduce the issue. The offending option was chroot: "/etc/unbound".
The unbound.service file shipped with Debian uses Type=notify for communication between unbound and systemd. This uses an environment option NOTIFY_SOCKET that points to a socket in the /run/systemd directory. This location is out of the chroot directory and as a result unbound cannot send status back to systemd.
That is why systemd thinks unbound reached the startup timeout and tries to restart it again and again.
I would advise to remove the chroot: "/etc/unbound"option or explicitly set it to chroot: "" (also the Debian default).
Can you verify that without chroot it works as expected?
I will consider opening an issue to inform the user if such configuration is encountered and immediately terminate to avoid cryptic behavior.

Sorry for taking so long to reply, was away for a few days and could not find a secure network.
I've just tried it without chroot and you're right - it works without issue. The systemd restart unbound returns almost instantly and appears to stay up. Well spotted.
Confining DNS via chroot is useful from a security perspective due to natural exposure of such a system. I've used bind mounts to deal with log and cert folders within the confines of the chroot - is there something similar I should do for this socket?

I see two options. Both are not ideal but they work around the issue:

Bind mount the /run/systemd directory. systemd creates the socket file in this directory. This is not ideal because all the other files there are not relevant for unbound.
You could change Type=notify to Type=simple in the unbound.service file. This will not use a socket for communication and instead "will consider the unit started immediately after the main service process has been forked off."[1]. This is not ideal because the file may be replaced between system upgrades. Creating your own custom service file and disabling the default unbound one should help with that.

Hi - option #1 is the most viable to ensure upgrades are not affected / do not affect the operation of the service.
I tried binding /run/systemd to a sub-folder of the /etc/unbound chroot, but this still didn't work - I'm guessing something needs to be configured to tell the unbound service to look in a particular folder for the socket? (otherwise it'll continue looking in /run/systemd)
I couldn't find any references in man for unbound or systemd service unit files - did I miss something?
Essentially this is a defect with the chroot option which needs resolution by:

Documenting a workable approach to using chroot with unbound (which it isn't currently)
Adding a story onto the backlog for future development which matches the above workaround, but eliminates the need for too much additional configuration e.g. the bind to /run/systemd in this case

Hi, now it is my time to apologize for the late response :)
When you tried binding the folder did you end up with /etc/unbound/run/systemd ?

Bind-mounting systemd socket should be fixed by https://github.com/NLnetLabs/unbound/commit/ff8fd0be5c529e7a1b84e8c74426e9c531c0a8f8 . I don't know if debian will use upstream service file though.

Hi, now it is my time to apologize for the late response :)
When you tried binding the folder did you end up with /etc/unbound/run/systemd ?

No problem at all :)
Did some digging and I'd made a mistake: I hadn't created the path structure correctly for the bind mount (looks like I'd forgotten the systemd subfolder). Corrected so that the mount destination was /etc/unbound/run/systemd and it appears to be working.
Appears to be running within chroot with the workaround you've described. Thanks for your help getting this operational.

Bind-mounting systemd socket should be fixed by ff8fd0b . I don't know if debian will use upstream service file though.

Thanks for that - looks like 1.9.3-1 recently got pulled into Debian testing,  so will keep an eye out for versions with your fix.
A side note: I didn't appeat to need to bind /dev/urandom within the chroot folder and I'm not seeing any errors. What would this omission inhibit?

A side note: I didn't appear to need to bind /dev/urandom within the chroot folder and I'm not seeing any errors. What would this omission inhibit?

I think at some point unbound was teached to read from /dev/urandom before chrooting. Some docs still point to bind-mounting /dev/urandom and I added it just in case to be safe. I don't know if it's useful but it shouldn't do any harm.

On linux kernels 3.17+ it will also call getrandom syscall instead of /dev/urandom.

In Debian 10/Buster the standard location for the chroot is /var/lib/unbound, while the configuration files stay in /etc/unbound. For the Chroot to work I bind mounted /run/systemd as suggested and made it permanent in /etc/fstab by adding

/run/systemd    /var/lib/unbound/run/systemd    none    defaults,bind   0       0

When unbound is started, the configurations files are copied  from /etc/unbound to /var/lib/unbound in some magical way (I can't figure it out) and: it works. Unbound is running chrooted.
All this is not even mentioned by the Debian documentation, not the correct location of the chroot (/var/lib/unbound). If you use /etc/unbound as chroot locations unbound won't start and complains there is no config in /etc/unbound//etc/unbound.
Thanks.

In Debian 10/Buster the standard location for the chroot is /var/lib/unbound, while the configuration files stay in /etc/unbound. For the Chroot to work I bind mounted /run/systemd as suggested and made it permanent in /etc/fstab by adding

/run/systemd    /var/lib/unbound/run/systemd    none    defaults,bind   0       0

When unbound is started, the configurations files are copied from /etc/unbound to /var/lib/unbound in some magical way (I can't figure it out) and: it works. Unbound is running chrooted.
All this is not even mentioned by the Debian documentation and also not the correct location of the chroot (/var/lib/unbound). If you use /etc/unbound (as suggested) as chroot location, unbound won't start and complains there is no config in /etc/unbound//etc/unbound.
Thanks.
It is possible step by step bad explanation exactly what did you do? (with command please)


Fixed various grammar mistakes, and added capitalization to Headings

@Bitwise101 Sorry, I'm no capitalizing headers, feel free to send another PR with the grammar mistakes fixes


Install nvme-cli automatically if it doesn't exist when running eks-daemonset-raid-disks.yaml

Introduction
Currently the customer needs to manually install nvme-cli before running eks-daemonset-raid-disks.yaml when using local PV in nebula graph cluster. This is not practical to use in production and Snap requests us to automatically install nvme-cli at the beginning of eks-daemonset-raid-disks.yaml.
Contents
Automatically detect the OS of the node and install nvme-cli using the appropriate commands if it doesn't exist.
Related work

Design page: https://nebula-graph.atlassian.net/wiki/spaces/TDEV/pages/193691693/Automatically+Install+Nvme-cli+When+Setting+up+Local+PV


Add [sp3] whiteboard tag to dependencies of the speedometer3 meta bug

We are using jira-bugzilla-integration to track the work on improving our Speedometer 3 score. This requires adding a whiteboard tag of [sp3] or [sp3-*]. All relevant bugs should be tracked as a dependency of the meta bug but many are lacking the necessary whiteboard tag.
Could we have an automation that finds all dependencies of the meta bug (a max depth of 2 is probably enough) and adds [sp3] to the whiteboard if there isn't already a variation of this present?
This enhancement might be useful for other users of jira-bugzilla-integration, as it currently only identifies bugs to sync via whiteboard tag.

@marco-c I have https://gist.github.com/davehunt/34a04705fb3445b1c6bb5535bec6eee8, which probably needs some additional scrutiny but looks like it will do what we need. At the moment it just creates a CSV file for verifying, but the commented code would update the bugs.

Thanks!
Some pointers that will help for the implementation.
We have something "similar" in scope: https://github.com/mozilla/relman-auto-nag/blob/master/auto_nag/scripts/pdfjs_tag_change.py. It's just a matter of changing the query parameters in https://github.com/mozilla/relman-auto-nag/blob/aafe2ebd9c44a99e09cba11ae80002ba5ab5b154/auto_nag/scripts/pdfjs_tag_change.py#L47 and the logic of what to do with each bug in https://github.com/mozilla/relman-auto-nag/blob/aafe2ebd9c44a99e09cba11ae80002ba5ab5b154/auto_nag/scripts/pdfjs_tag_change.py#L25.
For recursively retrieving blocker bugs, we can do something similar to what this script was doing https://github.com/mozilla/relman-auto-nag/blob/37ba94d2cae821deb5cab067f613f9b2cc3a440c/auto_nag/scripts/fuzzing_bisection_without_regressed_by.py#L63.

Let's hold off on this one for now - we're learning that we may want to have a manual triage of these bugs before adding the whiteboard tag.

We’re achieving this through a local script run regularly. There’s no need to automate it at this time. Thank you for the help!


Can add a Building without choosing whether room or floor

Suggestion: set a default
ex. default is room

room/floor now has a default


how to show cropped image on screen?

what permission should i enable on ios and android, it looks both os doesn't allowed access file:// on default
An example file URI obtained from success call back of scanDoc function looks like this file:///var/mobile/Containers/Data/Application/8376778A-983B-4FBA-B21C-A4CFDD047AAA/Documents/image.png
i already add this line into head
<!-- This policy allows everything (eg CSS, AJAX, object, frame, media, etc) except that
    * CSS only from the same origin and inline styles,
    * scripts only from the same origin and inline styles, and eval()
-->
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">

and with meteor there's a mobile-config that can mapping cordova config.xml like this
App.accessRule('*')
App.accessRule("blob:*")

App.accessRule('http://*/*', { type: 'navigation' })
App.accessRule('https://*/*', { type: 'navigation' })
App.accessRule('data:*', { type: 'navigation' })

into

Hey.. I use cordova cli directly. In that all I do is take the file URI that I get from the on success event then put it into an image which was specified as <img id="myImage"> within the html file. No other permissions are required to be explicitly specified in the config.xml.
var image = document.getElementById('myImage');
image.src = imageURI;

Cheers,
Chris
Neutrinos

i've tried cordova cli, but still same result, something like no permission to read file

Is this on iOS? Android? Or both?
Cheers,
Chris
Neutrinos

I just tested it again on ios (just to confirm) and it seems to be working fine.
What version of ios are you using?
Cheers,
Chris
Neutrinos

10.3 ?
let me try again

@crapthings Were you able to resolve your issue? If you were, please close this issue and let us know how you resolved it.
Cheers,
Chris
Neutrinos

i've made a video to explain how to display image with wkwebview
this can apply to this cordova plugin as well
https://github.com/crapthings/cordova-upload-file-example
https://www.youtube.com/watch?v=HUestthvr50
to display an image you have to use something like window.Ionic.WebView.convertFileSrc(cordova ionic web view)
const image = document.getElementById('preview')
image.src = window.Ionic.WebView.convertFileSrc(fileUrl)


reduce max rotation duration to half the default expiration time

For rotating self-signed certificate created by Antrea, we should try to rotate the certificate much earlier than 1 day before the expiration time. This is beneficial for several reasons since:

if for some reason the certificate cannot be rotated, there is ample time to manually intervene and rotate the certificate
shorter duration is (generally) more secure.

Signed-off-by: Andrew Sy Kim<EMAIL_ADDRESS>

/test-all

/test-windows-networkpolicy


Signal Documentation

Would be nice to collect all the signals in a class an list them on the class reference
The generate documentation could include a sample showing how to use the arguments

implemented


Cloudformation expects a string as a FilterPatter

Cloudformation expects a string as a FilterPatter

Will have to investigate as the docs say "A list of strings".
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html

You're right. It might be an outdated documentation though. CloudFormation spits out an error if you pass a list of strings:
"AWS::Logs::MetricFilter" "Value of property FilterPattern must be of type String"

Hitting this issue too. It is true that the documentation say that FilterPattern but their examples http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-cloudwatchlogs.html use strings and not lists of strings.
Tested this PR and CloudFormation is happy with the output. :+1:

Merged. Thank you @urtens for the fix and @jorgebastida for the confirmation.


Export lepiter databases to GitHub pages

This can be a fast track to exporting a lepiter database to a GitHub repo.
Basically every note should be exported to a markdown file with a YAML header and pushed to a GitHub repo that has Pages enabled.
For this to work, we also need to have asMarkdownString implemented for all snippet types. See issue #3209 .

It's pretty good to see this development! We have developed with the MiniDocs package a similar approach to export database pages as Markdeep with pretty good results transcribing and publishing long documents to such format (like the PetitParser book chapter or just short data narratives for custom build packages. For that we needed to develop asMardeep for several snippets, so it's good to see what we can learn from this.
Also we recently discussed on a discord thread about using a plain and human friendly format for storing the notebooks as an alternative to current JSON storage. So Lepiter docs would be more aligned with the storage choices made by  Elixir's LiveBook, Clojure's Clerk or even Grafoscopio instead of Jupyter's. So even if this export with YAML metadata doesn't become the default a storage, having this as an option would improve notebooks shareability and publishing (Markdeep has done it already for us over here) and will open interesting possibilities for those who prefer (enriched) Markdown over JSON as a notebook storage/sharing/diff format.

Lepiter cannot be reasonably stored in a human readable format because it can literally handle snippets in arbitrary languages inside. So, once we go to human-readable format, it's a lossy transformation.

Exactly. The idea of this effort is just to be able to view lepiter databases in a browser outside of GT, not as a storage strategy. There are too many specialized snippet types and annotation that don't translate meaningfully to (readable) markdown.

Umm... I wonder how Livebook does it with smart cells, which are kind of specialized snippets in the Livebook approach. It seems from this presentation that they store the Elixir code/data that produces such specialized content.
In our MiniDocs examples we used something similar to produce enriched content in the exported outputs, while keeping the source file relatively simple. So, for example, here is a small data narrative that contains an interactive HTML calendar (screenshots below), but the Markdown source file just contain an output tag in the snippet metadata (line 67). Thus, when the MiniDocs exporter sees the cell, it replaces the source code with a complex output. Kind of similar to Elixir's LiveBook or Clojure's Clerk which replace an interactive widget in the Web UI with the source code that produce it in the source code.

Anyway, despite our explorations/contexts/traditions being different, it is good to see some other convergence points, like being able to browse Lepiter docs in a light markup format outside the database or the improved YAML support. They're minor convergences, but they compose.

Seems to be mostly done ...
See https://book.gtoolkit.com

Pretty cool! It's good to see advances in more ways to read Pharo/Lepiter powered documents outside of the image. Even if our emphasis is on Markdeep to share and publish data stories, like this one on migrating from WordPress to TiddlyWiki. Here some screenshots of our documentation workflow:
Using live preview of the exported Lepiter document

Resulting document:


Disable framework references in NoTargets projects

Similar to #219, there's no need to require implicit framework references since NoTargets projects do not produce an assembly.
Also added unit test for Traversal

FYI @dfederm

FYI @dfederm


Fix contribution typo

Codecov Report

Merging #1158 into master will decrease coverage by 5.79%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #1158     +/-   ##
=========================================
- Coverage   52.99%   47.19%   -5.8%
=========================================
  Files         126      126
  Lines       12034    12034
=========================================
- Hits         6377     5680    -697
- Misses       4918     5669    +751
+ Partials      739      685     -54

Impacted Files
Coverage Δ

internal/backend/b2/b2.go
0% <0%> (-79.32%)
:arrow_down:

internal/backend/swift/swift.go
0% <0%> (-73.9%)
:arrow_down:

internal/backend/azure/azure.go
0% <0%> (-61.93%)
:arrow_down:

internal/backend/gs/gs.go
0% <0%> (-60.79%)
:arrow_down:

internal/backend/swift/config.go
34.37% <0%> (-56.25%)
:arrow_down:

internal/backend/s3/s3.go
59.65% <0%> (-1.38%)
:arrow_down:

internal/backend/test/tests.go
58.35% <0%> (+0.65%)
: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 a0966e1...e13e6f3. Read the comment docs.


Add support for resolving unregistered types

This is a FlexDi feature I'd like to cover.  From https://github.com/csf-dev/FlexDi/issues/20.

This is more complex than I had imagined, because of the reasons described in cd88993134910d2ee5db1af13200f2330d480683.  I'm not confident that I can do this the way I'd like to.
However, I'm also wondering if I actually need this functionality either.  With libraries like Scrutor, it's very easy to bulk-register types for resolution as scoped services.  I'm not sure that I actually need to worry about resolving unregistered types, given that it's so easy to ensure everything is actually registered.

I've tried another approach today, in which I tried accepting the limitation of using internal methods.  However, there's another limitation which blocks me.  That's that the IServiceProvider which gets registered in DI is always the base one.  That means that when using the service provider, my decorator for it would never have been resolved.  So the whole approach is actually flawed anyway.
Decorator cannot be used to extend a service provider in this way.


KAFKA-3977: Defer fetch parsing for space efficiency and to ensure exceptions are raised to the user

@ewencp Ready for another look when you have a chance.

Thanks for the PR @hachikuji, left a few minor comments. Looks fine otherwise.

@ijuma Thanks for the review. I added a commit and left a few replies. Take another look when you have a chance.

Thanks for the PR, LGTM. Merged to trunk and 0.10.0 branches after adding a missing space in the InvalidRecordException message.


Thread aware API

Coverage decreased (-0.01%) to 82.248% when pulling 48cefba8d6a2ca1370f8cb4011429b07c4fc09cc on rust-av:thread_aware_api into 6c2b0cc23f3fee68320bb98c7febdff6134a494c on xiph:master.


Not being able to log in

I was using yours and when it told me to login for the first time, i put my login and when i click "Login" it takes me back to the same page, my YOURLS is on a sub-domain please help me

There are a gazillion issues already dealing with that topic + your issue sucks (no specific info) = closing + RTFM


chore(deps): bump patternfly deps

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


remove custom JWT stuff from the SignalR auth doc

Fixes https://github.com/aspnet/AspNetCore.Docs/issues/15017
The JWT configuration in the sample is insecure. To simplify things, I've removed all the JWT issuance code entirely from the sample and replaced it with placeholders explaining where to inject your JWT acquisition/validation code and how to get the token to SignalR.
Internal Review Link (I'm pretty sure only MSFT employees can see these, sorry. The change content is all in the PR, this is just the fancy render of the final doc)
cc @leastprivilege

Need to adjust some snippet references so they show up right, stand by.

Snippet refs should be fixed now.

@halter73  can I merge this or given it's security related do we need @blowdart  to bless it?

I'm confused, I've tried to remove all custom JWT configuration entirely and leave placeholders for users to fill in. What's the better process here? Should I keep something like:
var issuerKey = /* TODO: Get the security key that will be used to validate the token issuer */
options.TokenValidationParameters = new TokenValidationParameters
    {
        IssuerSigningKey = issuerKey
    }

That works; maybe expand it
var issuerKey = /* TODO: Get the security key that will be used to validate the token issuer */
options.TokenValidationParameters = new TokenValidationParameters
    {
        // TODO: Add other validation parameters to match your authentication properties.
        IssuerSigningKey = issuerKey
    }

What about
options.TokenValidationParameters = new TokenValidationParameters()
    {
        // TODO: Add validation parameters to match your authentication properties.
    }

Or is IssueSigningKey always going to be needed?

If you're not setting it anywhere then no, that works

Talked with @Tratcher, what about this for the entire JwtBearer config
.AddJwtBearer(options =>
{
    // Configure the Authority to the expected value for your authentication provider
    // This ensures the token is appropriately validated
    options.Authority = /* TODO: Insert Authority URL here */;

    // We have to hook the OnMessageReceived event in order to
    // allow the JWT authentication handler to read the access
    // token from the query string when a WebSocket or
    // Server-Sent Events request comes in.
    options.Events = new JwtBearerEvents
    {
        OnMessageReceived = context =>
        {
            var accessToken = context.Request.Query["access_token"];

            // If the request is for our hub...
            var path = context.HttpContext.Request.Path;
            if (!string.IsNullOrEmpty(accessToken) &&
                (path.StartsWithSegments("/hubs/chat")))
            {
                // Read the token out of the query string
                context.Token = accessToken;
            }
            return Task.CompletedTask;
        }
    };
});

(Yes, I know the query string thing makes us all cry, let's move on ;))

Noooooooooooooooooooooooooooooooooooooooooooooooooooooooo bad query string. But yea, sure. Can we link to the note in the docs about querystrings within the same code?

Noooooooooooooooooooooooooooooooooooooooooooooooooooooooo bad query string

Yes yes, I know.

Can we link to the note in the docs about querystrings within the same code?

Updated comments to link to the detailed section on the access token (rather than just the small blurb). Also to use Audience config instead of TokenValidationParameters.

Thank you for the PR, @anurse!


Add a Users Panel On the Main page under the App Store Logos - For OSDW 2017

Add your name and date in a unordered list.

This issue was moved to kashifzaidi1/Messiah-Web#8


vertical order traversal of binary tree using c++

Topic : Binary Tree
Problem:
Given a binary tree A consisting of N nodes.
Return a 2-D array representing the vertical order traversal of A .
For Example :
Input Tree :
1
/
2     3
/ \
4   5     7
Output Array:
[
[4],
[2],
[1, 5],
[3],
[7]
]
Do you want to work on it
Yes ,I want to work on this issue using c++ language.
Kindly assign this issue to me . @aaadddiii @anubhavitis @veenit1802 @ssaksham @malavikarajeshvikraman

please assign this to me in python

please assign this to me in java

@Rohan27s @plazzy99 please assign this to me ,so that I will start working on it. It's already been 7 days  since I created the issue.


[libunibreak] Fixed missing definition of variable in config.cmake

Describe the pull request

What does your PR fix?
Sorry about that. I assumed that ${_INSTALL_DIR} was defined by vcpkg. But it actually was defined by another file I included before this one in a project. Now, after testing it isolated, it appeared that ${_INSTALL_DIR} was not defined.
This PR changes that.

Which triplets are supported/not supported? Have you updated the CI baseline?
all

Does your PR follow the maintainer guide?

Yes

If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/

You need only one of _INSTALLED_DIR and VCPKG_INSTALLED_DIR - they should be the same in the end. The first is how config files generally derive the installation prefix, the second is provided by the vcpkg toolchain.
(I prefer the first form, for decoupling the config from vcpkg.)

You need only one of _INSTALLED_DIR and VCPKG_INSTALLED_DIR - they should be the same in the end. The first is how config files generally derive the installation prefix, the second is provided by the vcpkg toolchain.
(I prefer the first form, for decoupling the config from vcpkg.)

Thank you for clarification 😊

How to solve the "license/cla Expected — Waiting for status to be reported" thing?

How to solve the "license/cla Expected — Waiting for status to be reported" thing?

Sorry, the bot got confused. Close and reopen should kick the bot and fix it

Thanks!


Action fails to download <IP_ADDRESS>

Using this action with Install4j version 11.x fails as the download returns a 404.
Example using <IP_ADDRESS>:
##[debug]Evaluating condition for step: 'Run luangong/setup-install4j@v1'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Run luangong/setup-install4j@v1
##[debug]Loading inputs
##[debug]Evaluating: secrets.INSTALL4J_LICENSE
##[debug]Evaluating Index:
##[debug]..Evaluating secrets:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'INSTALL4J_LICENSE'
##[debug]=> '***'
##[debug]Result: '***'
##[debug]Loading env
Run luangong/setup-install4j@v1
  with:
    version: <IP_ADDRESS>
    license: ***
  env:
    JAVA_HOME: /opt/hostedtoolcache/Java_Zulu_jdk/21.0.4-7/x64
    JAVA_HOME_21_X64: /opt/hostedtoolcache/Java_Zulu_jdk/21.0.4-7/x64
    GRADLE_ACTION_ID: gradle/actions/setup-gradle
    GRADLE_BUILD_ACTION_SETUP_COMPLETED: true
    GRADLE_BUILD_ACTION_CACHE_RESTORED: true
    DEVELOCITY_INJECTION_INIT_SCRIPT_NAME: gradle-actions.inject-develocity.init.gradle
    DEVELOCITY_AUTO_INJECTION_CUSTOM_VALUE: gradle-actions
    GITHUB_DEPENDENCY_GRAPH_ENABLED: false
##[debug]Downloading https://download.ej-technologies.com/install4j/install4j_linux-x64_11_0_0_1.sh
##[debug]Destination install4j_linux-x64_11_0_0_1.sh
##[debug]Failed to download from "https://download.ej-technologies.com/install4j/install4j_linux-x64_11_0_0_1.sh". Code(404) Message(Not Found)
Error: Unexpected HTTP response: 404
##[debug]Node Action run completed with exit code 1
##[debug]Finishing: Run luangong/setup-install4j@v1

Setting version to 11.0 doesn't work either, as the action then tries to download 11 from https://download.ej-technologies.com/install4j/install4j_linux-x64_11.sh
Checking the ej-tech website, the download for version 11 points to:

Windows: https://download.ej-technologies.com/install4j/install4j_windows-x64_11_0.exe
macOS: https://download.ej-technologies.com/install4j/install4j_macos_11_0.dmg
Linux: https://download.ej-technologies.com/install4j/install4j_linux-x64_11_0.sh
Unix: https://download.ej-technologies.com/install4j/install4j_unix_11_0.sh

First, the latest version of install4j is 11.0, not <IP_ADDRESS>. You can't download a version that they haven't released yet.
Second, their version numbers usually contain one or two dots, not three.
Finally, you should specify the version as version: '11.0', not version: 11, otherwise the later value will be treated as an integer in YAML. I will try to make this action "smarter" at a later time. Thank you!

First, the latest version of install4j is 11.0, not <IP_ADDRESS>.

Ah, I confused the Gradle plugin version with the release verison. My bad.

You can't download a version that they haven't released yet.

You don't say...

Finally, you should specify the version as version: '11.0', not version: 11, otherwise the later value will be treated as a integer in YAML. When you specified version: <IP_ADDRESS>, YAML is smart enough to know that <IP_ADDRESS> can't be a number but a string, but when you specified version: 11, it was treated as an integer and the action received '11' as a string.

I went by the example in the README, which doesn't make use of '' for the version:
steps:
  - uses: luangong/setup-install4j@v1
    with:
      version: 10.0.4
      license: ${{ secrets.INSTALL4J_LICENSE }}

Using '11.0' for the version did the trick. My apologies for the invlid bug-report!
Cheers,
Griefed


Info not showing in FilterableListView

My app is using the ChipsInput view to show contacts (name, email) for a user to select from. As instructed I extend ChipsInterface and insert the required information. Everything looks great, I can see all the contacts I've added and the performance is perfect, except the emails (info fields for the Chips) don't show for any of the suggestions. Once I've selected it and it shows in the ChipsInput view, opening the detailed view shows the email as expected.
I've been able to break point inside of the FilterableAdapter so I know the data gets there and it appears to run the lines to set the text and make the info visible despite it not showing.
I am adding the filterable list on the UIThread and I have tried switching out my custom ChipInterface with the provided Chip object with the same effect.

I was able to get the emails showing by changing the color of the FilterableListView's text in the xml of the ChipsInput.


ImportError: No module named _GPIO

Hi emutex,
I built RPi.GPIO from your repository and followed INSTALL.TXT on my Intel UP board. When I tried to import RPi.GPIO, python (2.7) returns:
"""
File "RPi/GPIO/init.py", line 23, in
from RPi._GPIO import *
ImportError: No module named _GPIO
"""
Please let me know if there is something else I need to look out for during the installation process.
Thank you!

I am having the same problem. I have a regular upboard running ubuntu 16.04. I followed the instruction here: https://wiki.up-community.org/Ubuntu to install ubuntu.

I solved this by changing the line "from RPi._GPIO import *" in RPi/GPIO/init.py to "from .._GPIO import *"

@jennyshane had the correct idea. A simple update of __init__.py in RPi/GPIO/ solves the issue by updating from RPi._GPIO import * to from RPi.GPIO import *
This was tested on Python 3.7.2 on Raspberry Pi Debian

I've had the same issue, the problem was that i was installing rpi.gpio using apt-get install python-rpi.gpio, problem went away when i did this:
apt-get install build-essential
pip install RPi.Gpio

trying to install RPi.Gpio without build-essential throws error that it's missing gcc.

Still not working (on Ubuntu 20.04 for RPi). I've tried all the suggestions here, and still get:
Traceback (most recent call last):   File "blinker.py", line 2, in <module>     import RPi.GPIO as GPIO   File "/usr/lib/python3/dist-packages/RPi/GPIO/__init__.py", line 23, in <module>     from RPi._GPIO import * ModuleNotFoundError: No module named 'RPi._GPIO'

Manjaro arm new: installed rpi-gpio and gpiozero with pacman but it  installs rpi-gpio into an empty python3.8 folder, gpiozero installs into python3.9. The contents of the rpi-gpio is just init.py and a few other files. Init.py imports from _GPIO which does not exist. I think there is an install issue with Manjaro and pacman.

@jennyshane had the correct idea. A simple update of __init__.py in RPi/GPIO/ solves the issue by replacing from RPi._GPIO import * with from RPi.GPIO import *
Tested on Python 3.7.2 - Raspberry Pi Debian

This gets past the module not found error (using Python3.10.2), but doesn't actually load the module (which, I'm assuming) are the .so files in the directory that start with _GPIO…)

Loaded latest Raspberry Pi Debian 32 bit full onto Pi Zero clean install (Python 3.9 default)
Installed Python 3.10.2
Removed RPi*
Reinstalled RPi, latest version 0.7.1
Made sure sys.path for 3.10.2 included all paths in sys.path for 3.9
Python 3.10.2 generates the ModuleNotFoundError: No module named 'RPi._GPIO'
Python 3.9 does not
fwiw

In my case, where I am trying to get all of this running in a standalone copy of Jython, to call inside of Java, you need to build the RPi.GPIO package first. Using the following command in the root RPI.GPIO folder:
python3 setup.py install
(You may need to use sudo)
Once you build it, it will produce a .egg file inside of the dist file, unzip this with any normal Linux/Mac/Windows archiver and then you will have the _GPIO.py file inside of the root RPi file (inside that .egg).
Once I did that, then this all worked. Before that, I had the same issues as you all and I'm not sure just changing _GPIO to GPIO is the right fix here (at least, if you want a fully standalone copy to run this).
Note: You need to build the package on the system you intend to deploy it on, or else you'll end up with a x86 copy on your RPi (which is ARM of course).
Best of luck!

I have had the same issue when using the RPi.GPIO library in two identical containers one deployed on a Raspberry 1 and the other in a Raspberry 2, based on python 3.10, where the library was installed via pip install. The one in the Raspberry 2 worked fine, while the one in the Rasberry 1 did not. After a long investigation I came to the conclusion that the culprit is the precompiled RPI._GPIO, which does not load/work correctly for the Raspi 1 architecture.
After forcing a binary recompilation, it started working as expected:
pip install --force-reinstall --no-binary RPi.GPIO RPi.GPIO