Driver Easy Pro Key 6.1.0 with Full Crack Free Download [2024]

Driver Easy Pro Key 6.1.0 with Full Crack Free Download [2024]
Driver Easy Pro Crack Key is an impressive application that you can use to find missing drivers and then download them to your computer. You can view system information focusing on the machine, RAM, processor, motherboard, and operating system. You can also view data about hardware such as video cards, hard drives, networks, and audio cards.
Driver Easy Pro License Key has a very user-friendly interface that is easy to use for every user. You have to start the scanning process, and this application will start looking for missing drivers. With Driver Easy Pro Keygen, you can view outdated drivers, missing drivers, scan time, and devices.
Download Now

dont download its a virus


GET /v0/order/ should be GET /v0/order/<order_hash>

API Doc says that the API gets an order by hash but doesn't show how

It's actually in the raw markdown already, but <> signifies a comment

Fixed


Make API doc avaiable at turing.ml

@cpfiffer  mentioned it's not difficulty to use Documenter.jl to make the API avaiable in the Turing doc (https://github.com/TuringLang/AdvancedHMC.jl/pull/133#issuecomment-554792582)

I can try to add this sometime soon.

Cool. Thanks!

This should be addressed once https://github.com/TuringLang/Turing.jl/pull/1022 goes through.

The documentation for AdvancedHMC is now available here:
https://turing.ml/dev/docs/library/advancedhmc/

As @cpfiffer mentioned, this is fixed in TuringLang/Turing.jl#1022


Multi asterisk removal (stability)

This removes a * every time it formats
Before:
/** *** Testing */
fun foo() = Unit

After:
/** ** Testing */
fun foo() = Unit

After (again):
/** * Testing */
fun foo() = Unit

When using default options on v1.5.1.

This is fixed in 1.5.4 (released just now).


Can not connect to host

I use frp to access to the host.
I can visit the webui on browser, which uses nginx to get https access.
But I can not connect to the host with the app.
There is no error. It is just loading infinitely.
I fill in the host with my domain, also the port has been changed to 443, and I also check the https option.
The app version is 4.7.5 on android pie.
qbitTorrent-nox version is  v<IP_ADDRESS>.

Hi @RikkaBlue , if you have a subfolder set it on qBController. If not, then it my be related to this issue

Also check the qBittorent doicumentation for reverse proxing for nginex   and adapt it to your proxy. In particular, set te referer and origin headers as blank.

Similar setup (but I don't use frp, just nginx), same issue, same qBittorrent-nox version, qBittorrent Controller Pro 4.7.8.
It worked perfectly until few updates, but now just loads infinitely. I guess I have the same issue as @Rouzax has.

@sooonmitch that was the idea of the report generator, but maybe there's room for improvement here.

I am also having the issue with the Android App (4.8.4) "qBittorrent Controller Pro" using a Pixel 3a running Android Version 10.
When I try and connect it just spins. I have re-verified the information and re-installed the application. I verified I can access it via chrome on the phone and another device.
I do not use proxy, HTTPS or anything fancy, just local IP and standard auth. I do not use it remotely.
Please help, I miss this app :D

@CircleG0d check release 4.8.7

From what I can see in the code, issue is related to the following code which is repeated throughout mainActivity
         String url = "";

         // if server is publish in a subfolder, fix url
         if (subfolder != null && !subfolder.equals("")) {
             url = subfolder + "/" + url;
         }

         url = protocol + "://" + hostname + ":" + port + url;

If you're using nginx, you are probably using a reverse proxy of the sort:
https://mysite.com/qbt or https:/qbt.mysite.com
because nginx handles all the port forwarding for you.
However, this code adds the ":" + port part for you, which will not work, even though port is set to "". So you get something like https:/mysite.com:/qbt/ which is wrong. You can try 443 for the port, but nginx will not understand it either way.
This should add a check to see if the port field exists and write the ":" part only if there's a port number following it.
Another suggestion I have is to check for leading slashes in the subfolder name and, if missing, add it before the url part.
Another suggestion would be to encapsulate this code in a separate method so that any further tweaks can be done in only one place, not in about 27 places (might have missed some of them).
@lgallard I can try to fork the project and make a pull request later today.

@simplethemind nice catch. Thanks for the nginx insight!!

Same issue, I can't make it work, qbittorrent-nox 4.2.5 and qbittorrent client pro 3.9.0 (I posted first in #90).


Intel SGX Device Plugin returns error "permission denied" for OpenShift 4.13

Summary
During installation of Intel SGX Device Plugin, an error occurs which states lack of access permissions for kubelet.sock socket from intel-sgx-plugin pod. This error happens in OpenShift 4.13 and was not present in OpenShift 4.12.
Detail
During installation of Intel SGX Device Plugin below error occurs:
oc -n openshift-operators logs pod/intel-sgx-plugin-ng262 -c intel-sgx-plugin
...
E0823 14:04:16.980975       1 manager.go:146] Failed to serve sgx.intel.com/provision: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/lib/kubelet/device-plugins/kubelet.sock: connect: permission denied"

As a workaround, I added privileged access rights for the DaemonSet/Pod by using below command line:
oc -n openshift-operators edit ds/intel-sgx-plugin

After replacing:
securityContext:
    allowPrivilegeEscalation: false

with:
securityContext:
    privileged: true

started working. Most probably, such privileges escalation is not needed and can be limited to necessary only privileges.
Resolving this issue would be very helpful/beneficial because 4.13 is a current version of OpenShift, and this plugin works without any issues in OpenShift 4.12, which is a previous version.
Also, it would be great to make sure that such issue does not occur for the upcoming OpenShift version 4.14. Many thanks in advance!

can you also upload /var/log/audit/audit.log

Hi @tsadowsk! Thanks for submitting the issue and sharing all the details.
We are aware of this regression issue on OpenShift 4.13 and it is currently in triage. The behavior and analysis you elucidated above aligns with our observation. This issue was not present in  OpenShift 4.12. We are working to resolve it asap and have identified at least one component (a missing SELinux patch) in  OpenShift 4.13  that is responsible for this regression.
Currently, our operator officially supports OpenShift 4.13 (starting from 4.12.6). We are working on v1.1.0 which will add support for OpenShift 4.13 soon. Thanks for evaluating our operator on OpenShift 4.13 and sharing your experience.

@hershpa I sent /var/log/audit/audit.log directly to you as it might contain some sensitive information.

Looks like SELinux policies in container-selinux changed between 4.12 and 4.13. We will investigate

@mregmi Since this is a regression, can we create a RH ticket since these policies were missed in OCP 4.13 integration? The policies were already part of container-SELinux upstream project and were backported in OCP 4.12.

Thanks @tsadowsk

Can you try OCP 4.13.6? That has the expected version of container-selinux 2.215.0.

Thanks @hershpa!
@tsadowsk After our investigating and syncing with RH, looks like the container-selinux 2.215.0 which includes the SeLinux policy needed by SGX Provisioning was not properly integrated into OCP-4.13.5.  RH told us this regression issue should have been resolved in 4.13.6. Could you please upgrade the OCP to this z release and have a try? If you still have a the issue, please let us know. Again, thank you very much for reporting this regression issue. :-)

@uMartinXu @hershpa
I tried to run Intel Device Plugin with OpenShift 4.13.10.
Unfortunately, I still receive error about permissions denied to /var/lib/kubelet/device-plugins/kubelet.sock:
oc -n openshift-operators logs pod/intel-sgx-plugin-qqrtx
...
E0915 12:49:36.740419       1 manager.go:146] Failed to serve sgx.intel.com/enclave: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial unix /var/lib/kubelet/device-plugins/kubelet.sock: connect: permission denied"
...

oc version
Client Version: 4.9.18
Server Version: 4.13.10
Kubernetes Version: v1.26.7+0ef5eae

oc get clusterversions
NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.13.10   True        False         8d      Cluster version is 4.13.10

oc get no -owide
NAME      ROLES                  VERSION            OS-IMAGE                                                       KERNEL-VERSION                 CONTAINER-RUNTIME
master1   control-plane,master   v1.26.7+0ef5eae    Red Hat Enterprise Linux CoreOS 413.92.202308210212-0 (Plow)   5.14.0-284.28.1.el9_2.x86_64   cri-o://1.26.4-3.rhaos4.13.git615a02c.el9
worker1   worker                 v1.26.7+0ef5eae    Red Hat Enterprise Linux CoreOS 413.92.202308210212-0 (Plow)   5.14.0-284.28.1.el9_2.x86_64   cri-o://1.26.4-3.rhaos4.13.git615a02c.el9

Please let me know if you would need more info.
Could you please help?

@tsadowsk thanks for the update. I am testing it on our end, let me see if I observe what you saw above.

FYI, @eadamsintel got everything deployed OK on 4.13.11.

I got it to work by turning off SELinux which is not really a proper solution.

Maybe this issue might be a generalized case of the RHEL-3128 / Bug 2180456 bug?
Before JIRA migration it was ticket Bug 2180456.
Looks very close to what we are seeing.
The similarities:

Trying to access kubelet.sock from unprivileged container, which fails,
AVC issues reported by SELinux,
Kubelet is running with unconfined_service_t, which looks to be unexpected by Red Hat,
In comment from March 27, "{ connectto }" denial is also reported as it is in our case.

The differences:

The bug is concerned specifically about Numa-aware scheduler.

Please note that at least one Red Hat's own operator identified the mentioned Bug 2180456 issue as a long-term fix while applying short-term SELinux policy workarounds until Bug 2180456 is fixed.  The "{ connectto }" denial was also present there if you take a look at the comments.

It looks like kubelet is running with incorrect label which is causing the SELinux access denial for plugins.
kubelet should run as kubelet_exec_t and not unconfined_service_t
The bugzilla above touches on this issue but does not seem to provide solution/fix. Will investigate further on why its happening and check with RedHat too.
sh-5.1# ps -AZ | grep unconfined
system_u:system_r:unconfined_service_t:s0 8719 ? 00:24:50 kubelet
sh-5.1# ls  -Z /usr/bin/kubelet
system_u:object_r:kubelet_exec_t:s0 /usr/bin/kubelet

Same issue for all 3 device plugins. We need to work with RH to resolve this regression/bug.

actively being looked at by RedHat: https://issues.redhat.com/browse/OCPBUGS-20022

Thanks @mregmi!

@tsadowsk Which Intel Device Plugin Operator version are you using and where did you get the images from. Did you build it from IDPO upstream?

We are waiting for a container SELinux patch to show up in a OCP 4.13.z and 4.14.z release.
Refer to parent issue https://issues.redhat.com/browse/OCPBUGS-20022,
4.13: https://issues.redhat.com/browse/OCPBUGS-22272
4.14: https://issues.redhat.com/browse/OCPBUGS-22270.

@hershpa I checked the issues i.e. https://issues.redhat.com/browse/OCPBUGS-20022 and looks like a blocker for this ticket, which was podman change: https://github.com/containers/container-selinux/pull/277 was merged. I noticed about it in ticket for RedHat.

Waiting on Red Hat for visibility to target 4.13.z and 4.14.z release with the patch.

Given that there's no LZ for this fix in upstream OCP, what's the suggested workaround for 4.13.11 (latest supported z per README)?

Still waiting on fix to propagate to OCP 4.13 and 4.14 (https://issues.redhat.com/browse/OCPBUGS-20022)
Issue root cause:  Kubelet is running with wrong label in OCP 4.13 and higher
Workaround: Since the kubelet is running with wrong label in OCP 4.13 and beyond, we need to run SELinux in permissive mode as a workaround. To do this, In all the nodes, run the following command.
#setenforce Permissive

This is fixed in 4.14.10

Just a note here; even with SELinux set to "permissive" pods accessing the GPU through /dev/dri/renderDXXX will always pick up the default device /dev/dri/renderD128, even when that is not the pod's assigned resource, this results in errors when trying to use the device for any work (ie ffmpeg). This may be related to the SELinux config and could be added to the regression as a sanity check.
This probably was resolved in this thread (https://github.com/intel/intel-device-plugins-for-kubernetes/issues/1377) but the script that is used to check what device is usable (https://github.com/intel/intel-device-plugins-for-kubernetes/blob/main/cmd/gpu_plugin/render-device.sh) will always have the first device writable - so it's mostly useless for two GPUs on a single node.

/cc @tkatila for visibility


[FIX] 404 error copying packages from Nexus to CodeArtifact

Describe the bug
I am trying to use this tool to copy scoped packages existing in nexus registry to codeartifact but I keep getting 404 when it trys to reference the package on codeartifact (to get the existing versions there)
To Reproduce
Steps to reproduce the behavior:

Get token for codeartifact
Get token for Nexus registry
Run npx @appsweet-co/npm-carbon command with the following flags:

--src
--srcToken
--dest
--destToken

I get the error message:

[INFO] ℹ  Getting versions from source...
info attempt registry request try #1 at 12:52:01 PM
http request GET http://nexus-registry//@scope/package
http 200 http://nexus-registry//@scope/package
[INFO] ℹ  Getting versions from destination...
info attempt registry request try #1 at 12:52:01 PM
http request GET https://codeartifact-registry//@scope/package
http 404 https://codeartifact-registry//@scope/package
/path/to/nvm/.nvm/versions/node/v14.21.1/lib/node_modules/@appsweet-co/npm-carbon/bin/service.js:86
                        resolve(data.versions);
                                     ^

TypeError: Cannot read property 'versions' of null

Expected behavior
This command is supposed to copy packages from Nexus to CodeArtifact
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: MacOS
Browser chrome
Version 1.0.12
Node Version: v14.21.1

@hydeenoble - Sorry for the delay. Please upgrade to v1.0.13 and try again.
(Fixed in https://github.com/Appsweet-co/npm-carbon/commit/7065cda8e370ce10b3ea888b50f55eab40cc080b)

Thanks for your response.

@hydeenoble - I marked this issue as DONE. Please open a new issue if needed.


I think merging pyjwt 2 broke things

  File "./giftless/view.py", line 72, in post
    response['objects'] = [action(**o) for o in payload['objects']]
  File "./giftless/view.py", line 72, in <listcomp>
    response['objects'] = [action(**o) for o in payload['objects']]
  File "./giftless/transfer/basic_external.py", line 42, in upload
    lifetime=self.VERIFY_LIFETIME)
  File "./giftless/transfer/__init__.py", line 69, in _preauth_headers
    return self._auth_module.preauth_handler.get_authz_header(identity, org, repo, actions, oid, lifetime=lifetime)
  File "./giftless/auth/jwt.py", line 127, in get_authz_header
    token = self._generate_token_for_action(*args, **kwargs)
  File "./giftless/auth/jwt.py", line 154, in _generate_token_for_action
    return self._generate_token(**token_payload).decode('ascii')
AttributeError: 'str' object has no attribute 'decode'

I wasn't getting this before.  I haven't looked yet, but I see there's a new major version of pyjwt, and I strongly suspect something here changed a type from bytes[] to str.  I'll take a look when I have time.

return jwt.encode(payload, self.private_key, algorithm=self.algorithm, headers=headers)  # type: ignore
Looks very suspicious.  Betting this went from bytes to str in pyjwt 2.x.  We should probably get rid of the type:ignore and
do the casting properly.

Yep:
https://pyjwt.readthedocs.io/en/stable/changelog.html#v2-0-0
jwt.encode(...) return type

Tokens are returned as string instead of a byte string

And typing in pyjwt turns out to be a giant crawling can of worms.  cf https://github.com/jpadilla/pyjwt/issues/602

@athornton this should be fixed i guess now we merged #124. Can you confirm and then we can close this.

I can confirm, but not till next week (Jan. 2, 2024), when I'm back at work.

Oh, whoops, should have given the OK to close a while ago.  This (indeed a later merge that includes this) is working fine.

FIXED.


Problem with d=3

I get buggy results when running with d=3. Here is some example code comparing d=2 to d=3.
%matplotlib inline
from matplotlib import pyplot as plt
import numpy as np
from tsne import bh_sne
X = np.random.random((1000,100))

X_2d = bh_sne(X, d=2)
plt.scatter(X_2d[:,0], X_2d[:,1], s=2, edgecolor='')
plt.show()

X_3d = bh_sne(X, d=3)
plt.scatter(X_3d[:,0], X_3d[:,1], s=2, edgecolor='')
plt.show()
plt.scatter(X_3d[:,0], X_3d[:,2], s=2, edgecolor='')
plt.show()

Try X_3d[:,:,0] etc, you know, actually use 3 dimensions...

I had the same problem and I can confirm it is from the implementation bug. The scikit-learn TSNE implementation and this wrapper https://github.com/dominiek/python-bhtsne can give the correct result in 3D, and the later one runs fast (although it is gcc-6 incompatible)


ECONFLICT Unable to find suitable version for angular

Hi,
I have strange problem with bower.
On my PC I run bower install and on my server with same version of bower 1.2.6 I'm getting
bower angular#*                         validate 1.0.8 against git://github.com/angular/bower-angular.git#*
bower                                  ECONFLICT Unable to find suitable version for angular

I don't know what could cause this
This is how my bower.json looks like.
{
  "name": "project",
  "version": "0.0.1",
  "devDependencies": {
    "angular": "~1.2.0-rc.2",
    "angular-mocks": "~1.2.0-rc.2",
    "bootstrap": "~2.3.2",
    "angular-bootstrap": "~0.5.0",
    "angular-ui-router": "~0.0.1",
    "angular-ui-utils": "~0.0.4",
    "angular-sanitize": "~1.2.0-rc.2",
    "angular-resource": "~1.2.0-rc.2",
    "angularytics":"0.2.2",
      "json2":"*",
    "underscore":"1.5.1",
    "restangular":"1.1.3",
    "tinymce": "git://github.com/jozzhart/tinymce.git#4.0.0"
  },
  "dependencies": {}
}

@satazor thanks for the tip about prefix choices with !. That solved my issue.

+1

Adding angular entry to "resolutions" in angular worked for me.
@robfletcher Thanks for  sharing solution!

It worked for me by making following changes in "bower.json":
"angular": "latest",
"angular-mocks": "latest",
"jquery": "latest",
"bootstrap": "latest"
there was a mismatch in the version updated and the version that I got from Git for "angular-phonecat"

add --force like this

bower install angular-route --force

Thank you for your answer at @ykanzi

I had the same issue with a different setup:
We have an Artifactory proxy that is accessing the public bower repository. So the chain goes like this: bower install -> bower-art-resolver -> artifactory -> bower public repo
The problem was the bower-art-resolver, after updating to the latest version the conflict was resolved.

@ykanzi 3Q

I solved this error message by using the same version for angular and angular-route
"dependencies": {
"bootstrap": "~3.3.5",
"font-awesome": "~4.4.0",
"angular": "~1.4.7",
"angular-route": "~1.4.7"
}

i have  some problem and i resolve it by adding :
"resolutions": {
"angular": "~1.2.0"
}
in bower.json file
with ~1.2.0 is my version of angular , so you need to replace this by your angular version

Hi,
I'm having problems with bower. Can't seem to find a solution.
1. Here is the error message:
$ bower install angular-route -S
bower                     invalid-meta The "name" is recommended to be lowercase, can contain digits, dots, dashes
bower angular-route#*           cached https://github.com/angular/bower-angular-route.git#1.6.4
bower angular-route#*         validate 1.6.4 against https://github.com/angular/bower-angular-route.git#*
bower angular#1.6.4             cached https://github.com/angular/bower-angular.git#1.6.4
bower angular#1.6.4           validate 1.6.4 against https://github.com/angular/bower-angular.git#1.6.4
bower                        ECONFLICT Unable to find suitable version for angular
2. Injected "resolutions" into my project bower.json file
"dependencies": {
"bootstrap": "~3.3.5",
"font-awesome": "~4.4.0",
"angular": "~1.4.7"
},
"resolutions": {
"angular": "~1.4.7"
}
3. Still getting the same error:
bower                       ECONFLICT Unable to find suitable version for angular
How can I resolve this problem?
Thanks

don't use  command tool of git,  use cmd tool of PC.
git error = bower    ECONFLICT Unable to find suitable version for xxx

I had an issue like this due to running MinTTY on Windows 10 (Git Bash). This article explains why, and gives two different solutions: https://willi.am/blog/2016/08/08/docker-for-windows-interactive-sessions-in-mintty-git-bash/


remove kind from go.mod

We have kind in our go.mod on this line
sigs.k8s.io/kind v0.9.0

I'm pretty certain this isn't an actual code dependency of ours (some tests use it, but as a binary only). We should remove this from our go.mod file.

It is a dependency from, tools.go, which is how they say to pin binary versions for a project.

That seems kind of pointless honestly. Can't we just update our scripts that install development dependencies to fetch the correct version and install it at that time?

eh, it's a pretty simple way to pin versions without needing to write a bunch of other stuff.
https://github.com/ovrclk/akash/blob/22b45db85d2dd024944e2ce194c432c08c30ca0f/make/setup-cache.mk#L95-L99

it modifies go.mod/sum. should be fixed in 1.16 https://github.com/golang/go/issues/40276

can you just run devdeps-install locally and update it?


refactor get_columns

related #9

Cool. The last step is to verifiy via tests.
Do you think there are some py tests we can add or integrate with Superset to check some type is worked correctly (new added array, timestamp, int etc, by create table and do some query): https://www.notion.so/risingwave-labs/Integration-with-Apache-Superset-e6468c23012045fea57d16a1f787e6b7


New site support

Hello! Please, support lenfilm.at? Thanks!

lenfilm.tv, sorry

youtube-dl does not support sites dedicated to copyright infringement.


communication between ESP32-S3-Devkitc-1 and NUKI FOB

(just continue/move the issue from https://github.com/I-Connect/NukiBleEsp32/issues/15#issuecomment-1259032195)
I want to build a communication between ESP32-S3-Devkitc-1 and NUKI FOB. if I press the buttom of NUKI FOB, a GPIO of ESP32 Board can be set as HIGH or Low.
Using NUKI FOB and encryption/security is requirement. My question:

I have also seen that there is no NUKI FOB API Dokument, is it doable for this project?
If I do a Simulate on ESP32, let ESP32 act as NUKI Lock, similar to https://github.com/as19git67/simnuki. is it realistic/right way for my project? Is NUKI FOB API Dokument necessary in this case?

What problem do you want to solve? Or in other words, what is your use case?
What stops you from using any other remote other than nuki fob if you don't use it with a nuki lock?

It's the requirment of company, and we want to buy NUKI FOB and use NUKI FOB directly for our big projeckt. what I am doing now is small part of total projeckt.
The ESP32 as Bluetooth communication is already used in total project, and NUKI FOB is be chosen by company, to act as bluetooth remote controller.

You'll have to implement a state machine for pairing first I think. In the Simnuki porject this is pairing-general-data-io-characteristic.js, starting from line 93 (PairingGeneralDataInputOutputCharacteristic.prototype.onWriteRequest). Before starting the state machine, you have to announce a lock in pairing mode as an iBeacon.

@technyon thank you for your suggestion, and  I am trying..

@technyon
Hi, can you explain it with more detail? about follow what you said:

"starting from line 93 (PairingGeneralDataInputOutputCharacteristic.prototype.onWriteRequest). Before starting the state machine, you have to announce a lock in pairing mode as an iBeacon"

I use two ESP32-S3-Devkitc-1 Boards, one acts as Server, and one acts as Client. the follow UUID are be used in
#define SERVICE_UUID         "a92ee100-5501-11e4-916c-0800200c9a66"//Keyturner Pairing Service
#define CHARACTERISTIC_UUID  "a92ee101-5501-11e4-916c-0800200c9a66"//Value, General Data Input Output characteristic

I can see a simple connection between server and client, and client read the Server CHARACTERISTIC
I don't know how to pair with Encryption....

Maybe first have a look at this library to understand what's going on and what a client expects the lock to do. First the client wait for a lock in pairing mode by scanning for iBeacons (NukiBle.cpp line 226+):
    if (advertisedDevice->haveServiceData()) {
      if (advertisedDevice->getServiceData(pairingServiceUUID) != "") {
        #ifdef DEBUG_NUKI_CONNECT
        log_d("Found nuki in pairing state: %s addr: %s", std::string(advertisedDevice->getName()).c_str(), std::string(advertisedDevice->getAddress()).c_str());
        #endif
        bleAddress = advertisedDevice->getAddress();
        pairingServiceAvailable = true;
      }
    }

So when you want the fob to pair, you have to announce this first. When the fob detects an iBeacon, it will start the pairing process ... encryption keys and so on have to be negotiated (NukiBle.cpp, Line 526+). The counterpart to this you can find in the pairing-general-data-io-characteristic.js file I mentioned.
Also check the official documentation:
https://developer.nuki.io/page/nuki-smart-lock-api-2/2
At the very bottom of the document you have examples you can follow step by step ... make sure the numbers match one step at a time. This is actually the difficult part. After that sending commands and so on should be easy.

@technyon thank you, I keep trying.

Hi,
I know, it must miss something in my loop()/setup(), I don't know how to go on it, how to lead my code to repair with the NUKI FOB, if I press NUKI FOB 5 Seconds. can anyone help me...
`
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEServer.h>
#include "HardwareSerial.h"
#include <BLE2902.h>
// See the following for generating UUIDs:
// https://www.uuidgenerator.net/
#define SERVICE_UUID        "a92ee100-5501-11e4-916c-0800200c9a66"
#define CHARACTERISTIC_UUID "a92ee101-5501-11e4-916c-0800200c9a66"
bool deviceConnected = false;
//Setup callbacks onConnect and onDisconnect
class MyServerCallbacks: public BLEServerCallbacks {
void onConnect(BLEServer* pServer) {
deviceConnected = true;
};
void onDisconnect(BLEServer* pServer) {
deviceConnected = false;
}
};
BLECharacteristic Characteristics("a92ee101-5501-11e4-916c-0800200c9a66", BLECharacteristic::PROPERTY_NOTIFY);
BLEDescriptor     Descriptor(BLEUUID((uint16_t)0x2902));
void setup() {
Serial.begin(115200);
Serial.println("Starting BLE work!");
BLEDevice::init("ESP32-S3 Server work now");
BLEServer *pServer = BLEDevice::createServer();
pServer->setCallbacks(new MyServerCallbacks());
BLEService *pService = pServer->createService(SERVICE_UUID);
BLECharacteristic *pCharacteristic = pService->createCharacteristic(
CHARACTERISTIC_UUID,
BLECharacteristic::PROPERTY_READ |
BLECharacteristic::PROPERTY_WRITE|
BLECharacteristic::PROPERTY_INDICATE|
BLECharacteristic::PROPERTY_NOTIFY
);
pService->addCharacteristic(&Characteristics);
Characteristics.setValue("Hello World says Neil");
Characteristics.addDescriptor(new BLE2902());
pService->start();
// BLEAdvertising *pAdvertising = pServer->getAdvertising();  // this still is working for backward compatibility
BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
pAdvertising->addServiceUUID(SERVICE_UUID);
pServer->getAdvertising()->start();
Serial.println("Waiting a client connection to notify...");
}
void loop() {
Characteristics.notify();
Serial.print("notify...");
delay(2000);
}`

Not sure what's missing here ... have you tried asking in the official Nuki developer forum?

@technyon not yet, I have put the question on Nuki developer forum the and wait for the feedback.
I want to renew my question here,. I have annouced and advertised the Server with “Keyturner Pairing Service” with Characteristic(and other all Services and Characteristics in my follow code)
I have already written the follow code, to realize a simple Update for value1, value2, value3 in every Charateristic and it works. I don’t know how can I go on for “Key Pairing” now… I have also read the document “Nuki Smart Lock API V2.1 16.03.2020”, the example about “Command usage” in the document seems what I need, but I don’t know to realize it in C or C++. there is an example " Smart Lock Simulator", it works as NUKI Lock Server and with key pair, but is in Java, it is not easy for me to use it…
@technyon It is possiblel, can you give me a  simple C/C++ example about  how to creat key pair and enable pair mode on server side to pair with a real NUKI FOB, if I press NUKI FOB Buttom 5 second?
I look forward to your feedback. thank you very much in advance!
`#include <BLEDevice.h>
#include <BLEServer.h>
#include <BLEUtils.h>
#include <BLE2902.h>
#include "HardwareSerial.h"
#include "Arduino.h"
BLEServer* pServer = NULL;
BLECharacteristic* pKeyturnerPairingGeneralDataInputOutputCharacteristic = NULL;
BLECharacteristic* pKeyturnerGeneralDataInputOutputCharacteristic = NULL;
BLECharacteristic* pKeyturnerUserSpecificDataInputOutputCharacteristic = NULL;
bool deviceConnected = false;
bool oldDeviceConnected = false;
uint32_t value1 = 0;
uint32_t value2 = 0;
uint32_t value3 = 0;
// See the following for generating UUIDs:
// https://www.uuidgenerator.net/
#define KEYTURNER_INITIALIZATION_SERVICE_UUID                                  "a92ee000-5501-11e4-916c-0800200c9a66"
#define KEYTURNER_PAIRING_SERVICE_UUID                                         "a92ee100-5501-11e4-916c-0800200c9a66"
#define KEYTURNER_PAIRING_GENERAL_DATA_INPUT_OUTPUT_CHARACTERISTIC_UUID        "a92ee101-5501-11e4-916c-0800200c9a66"
#define KEYTURNER_SERVICE_UUID                                                 "a92ee200-5501-11e4-916c-0800200c9a66"
#define KEYTURNER_GENERAL_DATA_INPUT_OUTPUT_CHARACTERISTIC_UUID                "a92ee201-5501-11e4-916c-0800200c9a66"
#define KEYTURNER_UER_SPECIFIC_DATA_INPUT_OUTPUT_CHARACTERISTIC_UUID           "a92ee202-5501-11e4-916c-0800200c9a66"
class MyServerCallbacks: public BLEServerCallbacks {
void onConnect(BLEServer* pServer) {
deviceConnected = true;
};
void onDisconnect(BLEServer* pServer) {
  deviceConnected = false;
}

};
void setup() {
Serial.begin(115200);
// Create the BLE Device
BLEDevice::init("ESP32");
// Create the BLE Server
pServer = BLEDevice::createServer();
pServer->setCallbacks(new MyServerCallbacks());
// Create the Keyturner Initialization Service

BLEService *pKeyturnerInitializationService = pServer->createService(KEYTURNER_INITIALIZATION_SERVICE_UUID);
// Create the Keyturner Pairing Service
BLEService *pKeyturnerPairingService = pServer->createService(KEYTURNER_PAIRING_SERVICE_UUID);
// Create the Keyturner Service
BLEService *pKeyturnerService = pServer->createService(KEYTURNER_SERVICE_UUID);
// Create a Keyturner Pairing General Data Input Output Characteristic
pKeyturnerPairingGeneralDataInputOutputCharacteristic = pKeyturnerPairingService->createCharacteristic(
KEYTURNER_PAIRING_GENERAL_DATA_INPUT_OUTPUT_CHARACTERISTIC_UUID,
BLECharacteristic::PROPERTY_READ   |
BLECharacteristic::PROPERTY_WRITE  |
BLECharacteristic::PROPERTY_NOTIFY |
BLECharacteristic::PROPERTY_INDICATE
);
// Create a Keyturner General Data Input Output Characteristic
pKeyturnerGeneralDataInputOutputCharacteristic = pKeyturnerService->createCharacteristic(
KEYTURNER_GENERAL_DATA_INPUT_OUTPUT_CHARACTERISTIC_UUID,
BLECharacteristic::PROPERTY_READ   |
BLECharacteristic::PROPERTY_WRITE  |
BLECharacteristic::PROPERTY_NOTIFY |
BLECharacteristic::PROPERTY_INDICATE
);
// Create a Keyturner User Specific Data Input Output Characteristic
pKeyturnerUserSpecificDataInputOutputCharacteristic = pKeyturnerService->createCharacteristic(
KEYTURNER_UER_SPECIFIC_DATA_INPUT_OUTPUT_CHARACTERISTIC_UUID,
BLECharacteristic::PROPERTY_READ   |
BLECharacteristic::PROPERTY_WRITE  |
BLECharacteristic::PROPERTY_NOTIFY |
BLECharacteristic::PROPERTY_INDICATE
);
// https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.descriptor.gatt.client_characteristic_configuration.xml
// Create a BLE Descriptor
pKeyturnerPairingGeneralDataInputOutputCharacteristic->addDescriptor(new BLE2902());
pKeyturnerGeneralDataInputOutputCharacteristic->addDescriptor(new BLE2902());
pKeyturnerUserSpecificDataInputOutputCharacteristic->addDescriptor(new BLE2902());
// Start the service
pKeyturnerInitializationService->start();
pKeyturnerPairingService->start();
pKeyturnerService->start();
// Start advertising
BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
pAdvertising->addServiceUUID(KEYTURNER_INITIALIZATION_SERVICE_UUID);
pAdvertising->addServiceUUID(KEYTURNER_PAIRING_SERVICE_UUID);
pAdvertising->addServiceUUID(KEYTURNER_SERVICE_UUID);
pAdvertising->setScanResponse(false);
pAdvertising->setMinPreferred(0x0);  // set value to 0x00 to not advertise this parameter
BLEDevice::startAdvertising();
Serial.println("Waiting a client connection to notify...");
}
void loop() {
// notify changed value
if (deviceConnected) {
pKeyturnerPairingGeneralDataInputOutputCharacteristic->setValue((uint8_t*)&value1, 4);
pKeyturnerPairingGeneralDataInputOutputCharacteristic->notify();
value1++;
    pKeyturnerGeneralDataInputOutputCharacteristic->setValue((uint8_t*)&value2, 4);
    pKeyturnerGeneralDataInputOutputCharacteristic->notify();
    value2++;

    pKeyturnerUserSpecificDataInputOutputCharacteristic->setValue((uint8_t*)&value3, 4);
    pKeyturnerUserSpecificDataInputOutputCharacteristic->notify();
    value3++;
    delay(3); // bluetooth stack will go into congestion, if too many packets are sent, in 6 hours test i was able to go as low as 3ms
}
// disconnecting
if (!deviceConnected && oldDeviceConnected) {
    delay(500); // give the bluetooth stack the chance to get things ready
    pServer->startAdvertising(); // restart advertising
    Serial.println("start advertising");
    oldDeviceConnected = deviceConnected;
}
// connecting
if (deviceConnected && !oldDeviceConnected) {
    // do stuff here on connecting
    oldDeviceConnected = deviceConnected;
}

}`

I didn't write the code about key exchange, @I-Connect did. The pointers I can give you:
As already mentioned, study the pairing state machine in the library, and what it expects to happen. A lot of that is in handeReturnMessage. For example, one of the first things is a public key is requested, which is most likely randomly generated. The client sends the command "Command::PublicKey" (line 612, NukiBle.cpp) to request it, you have to check in handleReturnMessage what is supposed to be returned (line 900+) and so on. This unfortunately isnt trivial, and I'd follow the example at the end of the official documentation to see the data matches.

the whole process (both pairing (authorize app) as data exchange including encryption) is described in
the Nuki Smart Lock api chapter 9

@technyon @I-Connect
thanks a lot for the answer!
I have noticed that, in project "NukiBleEsp32", in the pair phase or before the pair is ready the Ble Client receives the data using "notifyCallback", and sends data using in Loop().
I have a question,  in the pair phase or before the pair is ready, how does the server receive the key exchange information, If I press my NUKI FOB 5 seconds, let NUKI FOB be in pair Mode?
in my pinion, use Characteristic in Loop()  to read the key exchange information?
something like that as follow:
#define KEYTURNER_PAIRING_GENERAL_DATA_INPUT_OUTPUT_CHARACTERISTIC_UUID        "a92ee101-5501-11e4-916c-0800200c9a66"

  // Create a Keyturner Pairing General Data Input Output Characteristic
  pKeyturnerPairingGeneralDataInputOutputCharacteristic = pKeyturnerPairingService->createCharacteristic(
                                        KEYTURNER_PAIRING_GENERAL_DATA_INPUT_OUTPUT_CHARACTERISTIC_UUID,
                                                                  BLECharacteristic::PROPERTY_READ   |
                                                                  BLECharacteristic::PROPERTY_WRITE  |
                                                                  BLECharacteristic::PROPERTY_NOTIFY |
                                                                  BLECharacteristic::PROPERTY_INDICATE
}

void loop() {
...
.....
value = pKeyturnerPairingGeneralDataInputOutputCharacteristic->getValue();

pairstatemaschine(value);

}

Stale issue, closing


Are there any plans to support multi-project in the future for the jhipster-lite?

@medoer : I don't understand what you mean by multi project. Can you explain plz?

@medoer : I don't understand what you mean by multi project. Can you explain plz?

Sorry about that, i am not clearly described. I mean Multi-Module Repository with Maven or Gradle.

For what purpose?

@medoer :

the modular approach with JHLite should help you to do what you want
put the folder of the maven module, apply the jhlite module, that's all

I don't want to have the same approach like generator-jhipster, which allows to generate X applications at the same time, because it's something which is never used in real projects
1 applied JHLite module = 1 pull request = should be small

For what purpose?
@DamnClin
I just want to isolate business context through modules and in the same code repository.

@medoer :

the modular approach with JHLite should help you to do what you want
put the folder of the maven module, apply the jhlite module, that's all

I don't want to have the same approach like generator-jhipster, which allows to generate X applications at the same time, because it's something which is never used in real projects
1 applied JHLite module = 1 pull request = should be small

Got it.

I just want to isolate business context through modules and in the same code repository.

One the generated projects or in JHipster Lite code ?

I just want to isolate business context through modules and in the same code repository.

One the generated projects or in JHipster Lite code ?
generate multi modules(projects) in a same parent project like this:

Maybe this is not the responsibility of JHipster Lite.


Arduino compatiblilty ?

Hello,
Are you anticipating there will be a way for simple Arduino controllers to participate in the mesh/web?
Thanks
R.

Hi @RandoSY thanks for your query :smile:
Right now there is no independent, pure C JACDAC library that others can use, it still needs to be written.
The only JACDAC libraries available right now are the typescript version contained in this repository, and the JACDAC library from CODAL.
If you mean "simple Arduino microcontrollers" like the Arduino Zero, then you can use the samd21 based boards in https://maker.makecode.com to run JACDAC for now. A library that can run on Atmega328p based arduinos would require a significant amount of work and would likely only be able to support a subset of JACDAC features.
Any help to create a C library would be greatly appreciated as I'm somewhat starved of time :smile:

Thanks so much for the consideration of your prompt reply.
I did download the repo "codal-core" and focused my attention on these two files.

JDService.cpp

JDPhysical.cpp

Am I looking under the correct rock? I think your spot on regarding the basic 328p being a little short of resources, but I have just about every other SAMD21 resource imaginable to work with other wise, and maybe a reduced command set would make sense in a lot of simple situations.  Have you generated any documentation that discusses the JACDAC protocol language independent yet?
I can see from the C++ (which is quite beautiful by the way) that there is a bit of negotiation and waiting,  outright cooperation if you will, required to send data bi-bidirectionally down one wire. Kind of reminds me of Ethernet,  just haven't quite noodled out the strategy yet.
I think the idea of the stereo jack is brilliant, very robust and secure connection. PICAxe has been using if  for years as serial connector and it works great.

See https://jacdac.org for the specification.

I did download the repo "codal-core" and focused my attention on these two files.

JDService.cpp
JDPhysical.cpp

Am I looking under the correct rock? I think you're spot on regarding the basic 328p being a little short of resources, but I have just about every other SAMD21 resource imaginable to work with other wise, and maybe a reduced command set would make sense in a lot of simple situations.

In the world of the multi-repo, there are many rocks :smile: You have overturned the abstract protocol implementation in JDPhysicalLayer.cpp. The physical layer is responsible for transmitting and receiving packets on the bus and handling any error conditions that may occur. JDService.cpp is the driver model for jacdac services.
With regard to porting jacdac to Arduino, the control layer contained in JACDAC/control would consume the most time. Specifically, the Control Service, which routes packets received on the physical layer to services running on the device.

Have you generated any documentation that discusses the JACDAC protocol, language independent yet?

As @tballmsft mentioned, the language agnostic specification is available at https://jacdac.org/specification

I can see from the C++ (which is quite beautiful by the way) that there is a bit of negotiation and waiting, outright cooperation if you will, required to send data bi-bidirectionally down the one wire. Kind of reminds me of Ethernet, just haven't quite noodled out the strategy yet.

First of all, thank you, I primarily try to make it readable :smile: I was trained by the master  programmer @finneyj
Devices do operate UART on a single wire, achievable on high end microcontrollers such as the SAMD21 (a single wire serial implementation is available in this repository for the samd21/samd51). To indicate that a device is transmitting (bus arbitration) the bus is driven lo for 1 byte at the upcoming baud rate (10us for 1mbaud, 80us for 125 kbaud). A state machine is provided on the specification page that details possible error states that may occur on the bus.

I think the idea of the stereo jack is brilliant, very robust and secure connection. PIC Axe has been using if for years as serial connector, and it works great.

Oh really? We by no means thought it was a novel idea, but didn't realise it was so widely used. Would you be able to share a link about its use?
Where did you hear about JACDAC by the way? :smile:

p.s. @RandoSY We have detail in the spec to incorporate small microcontrollers in a transmit only capacity: https://jacdac.org/specification/#transmit-only-devices

Hi James,
PIC Axe is an interesting project, very effective in application...
http://picaxe.hobbizine.com/usb.html
I did note the section in the spec about supporting 4/8 bit ucontrollers, and one Github folder for a section on PIC12 that hadn't had any work contributed yet. PIC12 would be a good choice as the clock speed it high, generous memory, and an excellent tool, and code base. The ATtiny-1 series also would be interesting.
As I review your excellent specification, I was quite, quite surprised to see the passing resemblance to Bluetooth Low Energy, can you imagine a say when you lose the wire, and go to RF?
Let me review your recommendations over the weekend, I'm wondering what would be the cheapest and most expeditious way to got a "master" (sorry old habits die hard) on my bench so I could look at getting a logic analyzer catching the traffic so I have something to work with?
Ready built would be nice, but I could cook a pcb/smd if I had to. My construction skills are terrible but I always seem to find someone to help me... :)
Best,
R.

Hi James,
PIC Axe is an interesting project, very effective in application...
http://picaxe.hobbizine.com/usb.html

Yes, I'm familiar with the project, I was just unaware about the USB -> audio jack converter!

I did note the section in the spec about supporting 4/8 bit ucontrollers, and one Github folder for a section on PIC12 that hadn't had any work contributed yet. PIC12 would be a good choice as the clock speed it high, generous memory, and an excellent tool, and code base. The ATtiny-1 series also would be interesting.

We spent many hours deliberating over this selection. It also allows us to move from pic12 to pic10 in the future (we'd have to bit bang UART).

As I review your excellent specification, I was quite, quite surprised to see the passing resemblance to Bluetooth Low Energy, can you imagine a say when you lose the wire, and go to RF?

JACDAC was created using past experiences in the world of embedded systems. I spent some time on BLE when I worked on the microbit-dal (although not nearly as much as @finneyj) and some time looking at USB. So in many ways, JACDAC is some composition of the two... That said, it certainly wasn't a conscious composition, and many design decisions were made purely because of how the stack evolved.
We've already extended JACDAC to USB, and thus to the browser (thanks to WebUSB!). Other than the complexity of the BLE protocol itself, I see no reason why JACDAC can't be extended to BLE.

Let me review your recommendations over the weekend, I'm wondering what would be the cheapest and most expeditious way to got a "master" (sorry old habits die hard) on my bench so I could look at getting a logic analyzer catching the traffic so I have something to work with?

I know what you mean... it has taken me some time to adjust, but I believe overall it is a positive change. Send me a schematic of one of the samd21 boards you have an I'll produce a hex/bin for you:
<EMAIL_ADDRESS>

Hi James,
To directly answer your earlier question I found JACDAC from a link a friend sent me on Makecode Arcade.
He knows I have an interest in education, my graduate degree is in STEM education and I use to volunteer teaching robotics and CS in local community workshops.
I had previously been somewhat aloof with/using the drag and drop programming paradigm because I felt it might be a somewhat abstracted from the hardware, and was antithetical to my start at the lowest level possible, and proceed from there approach. Actually I had had a negative experience with the Micro:bit re. hardware failures, and had managed to derail myself by experimenting with changing the debug processor over to Segger from CMSIS-DAP and then just work inside Keil and the nRF51822 as a standard ARM SoC.
Unfortunately the Micro:Bit has the 'QA' version of the nRF51822, vs. the 'QC' so the low-ram (16k) precludes running a lot of the logical add-ons to building a learning trajectory from C to Python and Javascript Espruino, so when I advanced to using the nRF5832 I just left it in the drawer. I've been struggling with understanding BLE for a year now, especially on how to best communicate to someone else how, and most importantly why to use it. The high end facilities like Circuity Python really lower the bar on getting started with the technology.
Typically short sighted, I think, the simple fact is that there have been several successful overtures locally that take advantage of the web browser/msd usb mass storage flash convenience of Makecode to run easily in a community college computer lab. Nothing to install, click the link, ready to go. "When in Rome, do as the Romans."
So herein lies the dilemma, if as an educator you ride the easy horse, and start the students with a very high level programming language, all goes well until you forced by any number of requirements, to look under the covers, at the machine there within. The is in opposition to any other subject that can be approached historically, and logically extrapolated from first principles. I have taught many a Science subject in exactly that same way.
Your JACDAC project is a window into low-level programming, peer networking, and resource sharing that can organically be applied to Makecode curricula, that would serve as a natural introduction/evolution to low level programing as a necessity to getting it working.  The fact that it shouldn't be very expensive to do is another real plus. I am very much a proponent of inquiry, and constructionist learning theory, I've seen it be very effective, but you need to be careful in guiding the process in a way that best serves the long term interest of the students. Sooner or later you need to get them looking at the 1/0 transition  as a waveform, and convincing them, "well, that's all there is" and given that resource how to we move forward? Actually that works with Kindergarten kids, I switch off the lights and they call out 1 and 0, until we've built simple works like CAT and DOG in ascii.
As I mentioned earlier I have a collection of SAMD21 dev boards to evaluate. Let's do the Trinket M0, as it will be expeditious to add more "beads" to the "string".

If you haven't had a chance to look at GCB (Great Cow Basic) take a look ...
https://sourceforge.net/p/gcbasic/discussion/579126/thread/b89fc419/

So herein lies the dilemma, if as an educator you ride the easy horse, and start the students with a very high level programming language, all goes well until you forced by any number of requirements, to look under the covers, at the machine there within. The is in opposition to any other subject that can be approached historically, and logically extrapolated from first principles. I have taught many a Science subject in exactly that same way.
Your JACDAC project is a window into low-level programming, peer networking, and resource sharing that can organically be applied to/from Makecode curricula, that could serve as a natural introduction/evolution to low level programing as a necessity to getting it working. The fact that it shouldn't be very expensive to do is another real plus.

That's a very interesting point of view, and one I think we've been thinking about too.

As I mentioned earlier I have a collection of SAMD21 dev boards to evaluate. Let's do the Trinket M0 Express, as it will be expeditious to add more "beads" to the "string" later.
https://learn.adafruit.com/adafruit-trinket-m0-circuitpython-arduino/downloads

Oh that's an easy one, open this MakeCode project and copy to your trinket. If you probe the TX pin, you should see some JACDAC!

If you haven't had a chance to look at GCB (Great Cow Basic) take a look ... very open and inviting community.
https://sourceforge.net/p/gcbasic/discussion/579126/thread/b89fc419/

Will take a look! :smile:

OK, was excited to be able to compile the example you sent me on my Android tablet, and email myself the "executable", just a simple matter to double tap the Trinket M0 to get to the native  mass storage boot loader, and drag an drop the *.uf2 file to the Trinket. Quite a new experience for me!
Next step will be to get something to trace the activity on the TX pin #7? (Sercom0.2).
I should imagine the real trick would to put several trinkets on the same serial wire, and really exercise the
protocol the way it is intended....
Thanks again for the consideration of your valuable time.

Getting there ...

I believe I tested the protocol on the trinket last week, but do let me know if you run into problems... The cool thing is that you write services in typescript :smile: Also, if you have web usb go to https://jacdac.org/debug and see if your device appears (I can't remember if we enabled web usb in makecode builds). If it doesn't I can attach a uf2 for the trinket that does

Quite a bit to learn here, but I think I see enough of the expected activity to put some other devices on the wire, and look for the correct behavior...

@RandoSY looks good to me :smile:

I would like to see the version of the app that will work with the web-usb powered  debugger.
Thanks!

@RandoSY I'll check my end, but are you sure it doesn't already work?

Hi James,
You make a very good point, basically I just fired up the app in Chrome and let if try and find something, which in fact is kinda silly in that I shouldn't think the virtual com port wouldn't be nearly "immediate" enough to run this very specific protocol.  I was able (I think) to identify some SAMD21 code that was using Sercom0 dma to deal with the rigors of capturing the 1mb serial stream for later analysis.
I've seen the ARM M0 peripheral (A2D) --> to DMA work before in an ultrasonic hematocrit measurement device, and it was critical to capturing the fleeting signal form the detector. What's going on with web-usb is quite another matter I would assume, just something else I need to get up to speed on.
This "browser" as OS, javascript, typescript, is frankly completely new to me :)

You make a very good point, basically I just fired up the app in Chrome and let if try and find something, which in fact is kinda silly in that I shouldn't think the virtual com port wouldn't be nearly "immediate" enough to run this very specific protocol.

It is if the JACDAC usb driver is running!! :smile: did no devices appear when you visited  https://jacdac.org/debug and hit the connect button?

maker-Untitled (33).uf2.zip
The attached uf2 should appear in Chrome on mac / linux. We have a few teething issues with windows...

Got it, thanks!

Do these VID/PID's look right?
[  486.842176] usb 2-2: new full-speed USB device number 3 using ohci-pci
[  487.202841] usb 2-2: New USB device found, idVendor=03eb, idProduct=2402
[  487.202845] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  487.202847] usb 2-2: Product: Trinket M0 (app)
[  487.202849] usb 2-2: Manufacturer: Trinket M0 (app)
[  487.202850] usb 2-2: SerialNumber:<PHONE_NUMBER>

I trudged through some code: here's my udev rule:
SUBSYSTEM=="usb", ATTR{idVendor}=="03eb", ATTR{idProduct}=="2402", GROUP="plugdev"
This is working via an Oracle VirtualBox VM, which I've worked on quite a bit to get the usb forwarding solid as possible.

I'm see

ing the regular query on the bus ...

Is it complicated to build my own "web-usb debug friendly" trinket apps? I'd like to get a couple more trinkets on the "party line" and experiment with designing my own services, etc. I can usually muddle through most things with a little guidance. :)

Wow, looks great! Nice work 😄
You can choose to develop in C/C++ or MakeCode by following the instructions here.
For a web usb friendly build via MakeCode, there's a secret toggle in "Project Settings":

I triggered a cloud compile yesterday using this toggle, so this should produce a binary at the usual fast speed.
For C++, here's a sample CODAL application for the Brainpad:
#include "BrainPad.h"
#include "CodalUSB.h"
#include "HIDKeyboard.h"
#include "USBJACDAC.h"
#include "JDTestService.h"

BrainPad bp;
CodalUSB usb;
USBJACDAC jacdac;
CodalDummyUSBInterface dummy;

int main()
{
    bp.init();

    usb.add(jacdac);
    usb.add(dummy);
    bp.jacdac.setBridge(&jacdac);
    usb.start();
    bp.jacdac.start();

    int state = 0;
    while(1)
    {
        bp.io.ledGreen.setDigitalValue(state);
        fiber_sleep(500);
        state = !state;
    }
}

To build for the trinket, you'd need to use the codal-circuit-playground target and adjust the pin mappings in the model to match the trinket. Note that you must use the samd-peripherals branch of codal-circuit-playground.

Ah, thanks so much for the crystal clear instructions. This is a perfect opportunity to upgrade my circa 1996 programming skills and toolkit. I'm especially interested in the selection of accelerometers and imu's in the "secret" dialog box, I have a use for those as well... kudos for some of the simplest usb code I've ever seen.
When I know more, I would still like to address/evaluate getting several of the 8-bt candidates talking on the wire.
Couple of quick questions:

Do you know anyone outside of the ARM M0 universe that has any/plans for JACDAC?

Are the design files for the Brainpads residing anywhere?

Caught an this error ... under windows 10 build, python 2.7x
[181/181] Running utility command for CIRCUIT_PLAYGROUND_bin
FAILED: cmd.exe /C "cd /D C:\Codetest\ARM\codal\codal && python ./utils/uf2conv.py -o C:/Codetest/ARM/codal/codal/./CIRCUIT_PLAYGROUND.uf2 -c C:/Codetest/ARM/codal/codal/./CIRCUIT_PLAYGROUND.bin"
File "./utils/uf2conv.py", line 32
print "Skipping block at " + ptr + "; bad magic"
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Skipping block at " + ptr + ")?
ninja: build stopped: subcommand failed.

@RandoSY from root:
cd librariest/codal-circuit-playground
git checkout samd-peripherals
cd ../..
python build.py -c

Do you know anyone outside of the ARM M0 universe that has any experience/plans for JACDAC?

As you can tell, we're not yet shouting from the rooftops about JACDAC, so we're not working with anyone external directly, although internally we have experience and plans for PIC and smaller MCUs.

Is this the Brainpad you're referring too?
https://brainpad.com/

Yes, I'm referring to the brainpad arcade!

Tiny typo above (for those who come after) "libariest" is libraries ...
Caught and error after enforcing samd-peripherals.
[ 82%] Building CXX object libraries/codal-samd/CMakeFiles/codal-samd.dir/src/SAMDTCTimer.cpp.o
In file included from /home/rasyoung/Codetest/ARM/codal/libraries/codal-samd/src/SAMDTCTimer.cpp:1:0:
/home/rasyoung/Codetest/ARM/codal/libraries/codal-samd/inc/SAMDTCTimer.h:4:27: fatal error: LowLevelTimer.h: No such file or directory
#include "LowLevelTimer.h"
^
compilation terminated.
libraries/codal-samd/CMakeFiles/codal-samd.dir/build.make:702: recipe for target 'libraries/codal-samd/CMakeFiles/codal-samd.dir/src/SAMDTCTimer.cpp.o' failed
make[2]: *** [libraries/codal-samd/CMakeFiles/codal-samd.dir/src/SAMDTCTimer.cpp.o] Error 1
I wonder if the downloaded asf4  prereq is missing something?

@RandoSY thanks, edited!
Ah, I guess the original "install" checked out incompatible versions of codal-core! All that's required (i think) is:
cd libraries/codal-core
git checkout master
cd ../..
python build.py -c

I applied above, only got to 62% this time ... Sorry about spaghetti dump.
In file included from /home/rasyoung/Codetest/ARM/codal/libraries/codal-core/source/driver-models/CodalUSB.cpp:25:0:
/home/rasyoung/Codetest/ARM/codal/libraries/codal-core/source/driver-models/CodalUSB.cpp: In member function 'void CodalUSB::initEndpoints()':
/home/rasyoung/Codetest/ARM/codal/libraries/codal-core/source/driver-models/CodalUSB.cpp:610:22: warning: comparison is always true due to limited range of data type [-Wtype-limits]
usb_assert(0 <= info->allocateEndpoints && info->allocateEndpoints <= 2);
^
/home/rasyoung/Codetest/ARM/codal/libraries/codal-core/./inc/driver-models/CodalUSB.h:307:11: note: in definition of macro 'usb_assert'
if (!(cond))
^
/home/rasyoung/Codetest/ARM/codal/libraries/codal-core/source/driver-models/Serial.cpp:862:6: warning: #warning define API for pin swap... [-Wcpp]
#warning define API for pin swap...
^
/tmp/ccYDOnp8.s: Assembler messages:
/tmp/ccYDOnp8.s:1862: Error: lo register required -- sub r1,r1,#5' /tmp/ccYDOnp8.s:1863: Error: cannot honor width suffix -- sub r1,r1,r6'
/tmp/ccYDOnp8.s:1869: Error: cannot honor width suffix -- mov r0,#0' /tmp/ccYDOnp8.s:1918: Error: lo register required -- add r2,r2,#8'
/tmp/ccYDOnp8.s:1924: Error: cannot honor width suffix -- mov r3,#10' /tmp/ccYDOnp8.s:1935: Error: cannot honor width suffix -- mov r0,#240'
/tmp/ccYDOnp8.s:1943: Error: cannot honor width suffix -- mov r2,#240' /tmp/ccYDOnp8.s:1952: Error: cannot honor width suffix -- mov r1,#0'
/tmp/ccYDOnp8.s:1958: Error: cannot honor width suffix -- mov r3,#0' /tmp/ccYDOnp8.s:1960: Error: cannot honor width suffix -- mov r2,#0'
/tmp/ccYDOnp8.s:1964: Error: cannot honor width suffix -- mov r3,#0' /tmp/ccYDOnp8.s:2006: Error: cannot honor width suffix -- mov r3,#0'
/tmp/ccYDOnp8.s:2109: Error: cannot honor width suffix -- mul r3,r0' /tmp/ccYDOnp8.s:2127: Error: cannot honor width suffix -- mov r0,#0'
/tmp/ccYDOnp8.s:2151: Error: cannot honor width suffix -- mov r3,#0' /tmp/ccYDOnp8.s:2153: Error: cannot honor width suffix -- adc r7,r7,r3'
/tmp/ccYDOnp8.s:2181: Error: cannot honor width suffix -- mov r0,#0' /tmp/ccYDOnp8.s:2219: Error: cannot honor width suffix -- mov r3,#250'
/tmp/ccYDOnp8.s:2220: Error: cannot honor width suffix -- lsl r3,r3,#2' /tmp/ccYDOnp8.s:2221: Error: cannot honor width suffix -- mul r0,r3'
libraries/codal-core/CMakeFiles/codal-core.dir/build.make:1958: recipe for target 'libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/Timer.cpp.o' failed
make[2]: *** [libraries/codal-core/CMakeFiles/codal-core.dir/source/driver-models/Timer.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:254: recipe for target 'libraries/codal-core/CMakeFiles/codal-core.dir/all' failed
make[1]: *** [libraries/codal-core/CMakeFiles/codal-core.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

That doesn't look like the correct assembler output. Can you verify that CMake is finding the right compiler? It usually prints the toolchain it has found at the beginning of a fresh compile, so run python build.py -c and paste the first few lines.

Sorry can't quite remember how I installed the ARM compiler this VM. Not seeing anything from
python build.py -c
rasyoung@ssd1604:~/Codetest/ARM/codal$ python build.py -c
codal-circuit-playground is already installed
Set target: codal-circuit-playground
Using target-locked.json
Targeting codal-circuit-playground
-- Adding library path: (/home/rasyoung/Codetest/ARM/codal/libraries)
Installing dependencies...
codal-core is already installed
codal-samd is already installed
Using library: codal-circuit-playground
Using library: codal-core
Using library: codal-samd
-- Configuring done
-- Generating done
-- Build files have been written to: /home/rasyoung/Codetest/ARM/codal/build

rasyoung@ssd1604:~/Codetest/ARM/codal$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (15:4.9.3+svn231177-1) 4.9.3 20150529 (prerelease)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Maybe this docker file will help? https://hub.docker.com/r/jamesadevine/codal-toolchains/dockerfile
It's the one I made for travis, and it seems to be happy with all current builds at the moment!

I looked at using that, but believe there was a conflict with my Virtual Box install on the Windows side. let me check it out on Linux.  Once I get the build tools happy, if I remember my yt/yotta experiments I just copy examples *.cpp into the root directory and invoke it how?

OK, upgrading the long in tooth arm compiler to the more recent ... "...2081-q2" I should think I'm close.
[ 90%] Building CXX object libraries/codal-samd/CMakeFiles/codal-samd.dir/src/SAMDPDM.cpp.o
/home/rasyoung/Codetest/ARM/codal/libraries/codal-samd/src/ZSingleWireSerial.cpp: In member function 'virtual void codal::ZSingleWireSerial::dmaTransferComplete(codal::DmaCode)':
/home/rasyoung/Codetest/ARM/codal/libraries/codal-samd/src/ZSingleWireSerial.cpp:45:19: error: request for member 'fire' in '((codal::ZSingleWireSerial)this)->codal::ZSingleWireSerial::.codal::DMASingleWireSerial::.codal::SingleWireSerial::cb', which is of non-class type 'void(uint16_t) {aka void(short unsigned int)}'
this->cb->fire(evt);
^~~~

Super close! One last checkout I think...
cd libraries/codal-samd
git checkout master
cd ../..
python build.py -c

Need to do some clean up of the build system at some point... sorry!

Remarkably, that was my next thing to try ... down to one simple variable declaration
In file included from /home/rasyoung/Codetest/ARM/codal/libraries/codal-samd/src/SAMDDAC.cpp:29:0:
/home/rasyoung/Codetest/ARM/codal/libraries/codal-samd/inc/SAMDDAC.h:71:142: error: 'SAMDDAC_USE_VREFPU' was not declared in this scope
SAMDDAC(ZPin &pin, DataSource &source, int sampleRate = SAMDDAC_DEFAULT_FREQUENCY, uint16_t id = DEVICE_ID_SYSTEM_DAC, uint32_t refsel = SAMDDAC_USE_VREFPU);

Instead, checkout afbfcfbaebb847d0036fbcbe125482c71ab8854b in codal-samd.
You'll also need to modify the config.json in root to:
{
    "target": {
        "name": "codal-circuit-playground",
        "url": "https://github.com/lancaster-university/codal-circuit-playground",
        "dev": true,
        "branch": "master",
        "type": "git",
        "test_ignore": true
    },
    "config":{
        "DEVICE_USB":1
    }
}

My travis build is not detecting a failure at present, I guess it checks out a known working configuration i.e. a tag! (I can't remember)

Sorry for the faff!

Not to worry, best experience I can have. I find this git environment particularly complicated, but I guess it beats the old way I did it big time.  I'm sure that is in itself is a special art.
git checkout afbfcfbaebb847d0036fbcbe125482c71ab8854b produced,
_rasyoung@ssd1604:~/Codetest/ARM/codal/libraries/codal-samd$ git checkout afbfcfbaebb847d0036fbcbe125482c71ab8854b
M	samd-peripherals
Note: checking out 'afbfcfbaebb847d0036fbcbe125482c71ab8854b'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b _
The only *.json file I found in root, was codal.json so I  add  you new contents to that.

I just copied the contents of codal.json, to "config.json" per your instruction, no change on build, but we're close as 97% builds from command line.

Sorry @RandoSY I meant codal.json!

Not your issue though, checkout i2c_hack in codal-circuit-playground! Once again, sorry. This is why I was trying to steer you towards the definitely working makecode builds 😓

So, so close now past 99% ...
libcodal-samd.a(external_interrupts.c.o): In function EIC_Handler': /home/rasyoung/Codetest/ARM/codal/libraries/codal-samd/samd-peripherals/samd/samd21/external_interrupts.c:80: **multiple definition of EIC_Handler'**
libcodal-samd.a(ZPin.cpp.o):/home/rasyoung/Codetest/ARM/codal/libraries/codal-samd/src/ZPin.cpp:601: first defined here
collect2: error: ld returned 1 exit status
CMakeFiles/CIRCUIT_PLAYGROUND.dir/build.make:98: recipe for target 'CIRCUIT_PLAYGROUND' failed
make[2]: *** [CIRCUIT_PLAYGROUND] Error 1
CMakeFiles/Makefile2:69: recipe for target 'CMakeFiles/CIRCUIT_PLAYGROUND.dir/all' failed
make[1]: *** [CMakeFiles/CIRCUIT_PLAYGROUND.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Will take a turn on doing something creative with Docker ...
https://medium.com/@peorth/using-docker-with-virtualbox-and-windows-10-b351e7a34adc
but would like to continue on this thread if it makes sense.

I pulled your docker image jamesadevine/codal-toolchain, to docker-toolgox, could you please give me a quick how-to to run the appropriate "wrapper file" as appropriate to build code?

Pursuing with our earlier task. Cd to codal-samd and run git submodule sync && git submodule update
James.
Sorry for typos and brevity, I’m typing this on a phone
On 19 Jun 2019, at 23:05, RandoSY <notifications<EMAIL_ADDRESS>wrote:
I pulled your docker image jamesadevine/codal-toolchain, to docker-toolgox, could you please give me a quick how-to to run the appropriate "wrapper file" as appropriate to build code?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/jacdac/jacdac-ts/issues/11?email_source=notifications&email_token=ABEF4KNGZ4GVOZAOYWJUO3DP3KUS3A5CNFSM4HXDK4DKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYDNJGY#issuecomment-503764123, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABEF4KK24PDSEABDAJ5RXJTP3KUS3ANCNFSM4HXDK4DA.

Righteous! I need to run python build.py codal-circuit-playround once, then python build.py -c works...
:) :) :)

[ 98%] Linking CXX static library ../../libcodal-circuit-playground.a
[ 98%] Built target codal-circuit-playground
[ 98%] Building CXX object CMakeFiles/CIRCUIT_PLAYGROUND.dir/source/main.cpp.o
[ 99%] Linking CXX executable CIRCUIT_PLAYGROUND
[ 99%] Built target CIRCUIT_PLAYGROUND
[ 99%] converting to hex file.
[ 99%] Built target CIRCUIT_PLAYGROUND_hex
[100%] converting to bin file.
Executing post process command
Converting to uf2, output size: 114688, start address: 0x2000
Wrote 114688 bytes to /home/rasyoung/Codetest/ARM/codal/./CIRCUIT_PLAYGROUND.uf2.
[100%] Built target CIRCUIT_PLAYGROUND_bin

Thanks for your help yesterday, great job!


sip: fix possible "???" dns srv queries by skipping lines without srvid

I searched for standard SRV IDs for WS and WSS in combination with SIP and found no specification for these. The way i implemented this is future proof since we can add SRV ids for WS and WSS to the sip_transp_srvid which will get queried.


Update 3. Azure Services.md

@rtilwalia Thank you for your contributions and helping the community. Wish you best for your exam!


Please make Frameless and Transparent support on Non DWM

I want to make frameless and transparency app.

I suggest bringing this up in Chromium's issues list: https://crbug.com.


Issues installing drive on Ubuntu 14.04

Hello,
I've a quite fresh installation of Ubuntu 14.04 (so not too many libraries yet).
I tried to install drive on my machine but I get an error message.
Here the commands I executed

sudo apt-get install gccgo-go

Then, I configured the dir PATH and GOPATH into the ~/.bashrc as follow
export GOPATH=/home/joe/gocode
export PATH=$GOPATH:$GOPATH/bin:$PATH
Then, when I try to execute the (download and) installation command:

go get -u github.com/odeke-em/drive/cmd/drive

I get the following message:
load cmd/cgo: package cmd/cgo: open /usr/src/cmd/cgo: no such file or directory
Any idea of why? Any help?
Thanks,
JF

Hello @joefresna, thank you for reporting this issue and welcome to drive!
So for starters, I wouldn't recommend using gcc-go from apt -- I found a bunch of weird issues for normally functioning code a few months ago, even with drive. However I don't think this is yet an issue for you. Please visit https://github.com/odeke-em/drive#requirement for how to install go, it has a link to the official tarballs etc. It should be a quick install.
Please let me know if anything comes up. Thanks.

Thanks @odeke-em for the quick reply.
I just tried your solution. I installed gcc-go from the website you give in the Requirements, that is https://golang.org/doc/install and now everything works properly.
Thanks.

Awesome, good to know you were able to resolve it. Please don't hesitate to reach out in case of anything.


pg_easy_check can't work with GCP Cloud SQL

On Cloud SQL (GCP). The only super user is user cloudsqladmin.
It is not possible to log in as cloudsqladmin.
Problem is pg_easy_replicate then fails with:
User on source database should be a superuser
Superuser privileges should not be needed, as described here: https://cloud.google.com/sql/docs/postgres/replication/configure-logical-replication
All you need is REPLICATION.

oh interesting! I haven't used it on GCP but only on AWS and some self managed PG on kube/VM, so appreciate you opening this issue.
The reason it checks for superuser is to also ensure that the lib can create a new user to perform the orchestration. The new user that is created (ref) is used for setting up the replication and also help orchestrate the switchover; like when killing connections to ensure that the connection between the two databases isn't severed, but any other connections to the source DB from the original user (in the passed in conn string) is strictly READ ONLY.
That said, we can perhaps relax the requirement, so instead of checking for superuser, we can check to ensure that the connected is able to

CREATE ROLE
Grant REPLICATION on the newly created role
Lastly, the new role is also able to perform ALTER ROLE on the user from the connection string (so that the source database can be put into READ ONLY).

I am happy to look into this. Can you confirm that in your set up, if the user you are connecting with has privileges to be able to create new role?

I see.

I am happy to look into this. Can you confirm that in your set up, if the user you are connecting with has privileges to be able to create new role?

Yes no problem to create a new role.

There is now support for special user roles from aws and gcp. More instructions here: https://github.com/shayonj/pg_easy_replicate#bootstrap-and-config-check-with-special-user-role-in-aws-or-gcp
Let me know if you run into any issues. Thanks for your report!


Renaming a container with an invalid name should fail

Fixes #10081

Sorry to come in late, but I didn't get the chance to test the original PR after my review comments were applied, and I'm afraid it has other flaws... This is what I just tried:
$ docker run -dti --name root busybox
77a2727a3d81d523ca8f3b26744bfb24b6600f9f6fbb4f24026265cb3b704b90
$ docker run --link root:root --name child1 busybox true
$ sqlite3 /var/lib/docker/linkgraph.db .dump
[...]
INSERT INTO "edge" VALUES('0',NULL,'/');
INSERT INTO "edge" VALUES('77a2727a3d81d523ca8f3b26744bfb24b6600f9f6fbb4f24026265cb3b704b90','0','root');
INSERT INTO "edge" VALUES('a9f63cf8de7d92efefb388cbe5b8abd169b0bccaf5ea9b0f3db3b1cb2ccb95d2','0','child1');
INSERT INTO "edge" VALUES('77a2727a3d81d523ca8f3b26744bfb24b6600f9f6fbb4f24026265cb3b704b90','a9f63cf8de7d92efefb388cbe5b8abd169b0bccaf5ea9b0f3db3b1cb2ccb95d2','root');
[...]
$ docker rename root parent
$ sqlite3 /var/lib/docker/linkgraph.db .dump
[...]
INSERT INTO "edge" VALUES('a9f63cf8de7d92efefb388cbe5b8abd169b0bccaf5ea9b0f3db3b1cb2ccb95d2','0','child1');
INSERT INTO "edge" VALUES('77a2727a3d81d523ca8f3b26744bfb24b6600f9f6fbb4f24026265cb3b704b90','a9f63cf8de7d92efefb388cbe5b8abd169b0bccaf5ea9b0f3db3b1cb2ccb95d2','root');
INSERT INTO "edge" VALUES('77a2727a3d81d523ca8f3b26744bfb24b6600f9f6fbb4f24026265cb3b704b90','0','parent');
[...]

The important information here is that in this last dump, we still have a relationship named as the original name. Does it break link functionality, I don't know, but it looks weird to me.

LGTM

LGTM

Actually can you change the var names to not be snake case and shame the person that put this into the code base?

nice catch

done

@crosbymichael drone passed give me back your LGTM, or don't, whatever ;)

LGTM


[FEATURE 💡] Interactive Cards

Issue #135  📐

I Fabian Cristian Cristancho have worked for #135

Guidelines 🔐
I accept the fact that I have followed the guidelines and have not copied the codes from around the internet

[x] Contribution Guidelines
[x] Code of Conduct

Issue to be closed 🛅

My pull request closes #135

Here are the pictures of changes that I have made 🔽

...and more

Change PR title, see closed PRs

@warmachine028 Change made!


bug(forge test) invariant test is failing with revert, but trace and logs show a successful execution

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (9dbfb2f 2024-09-27T00:21:07.231678000Z)
What command(s) is the bug in?
forge test
Operating System
macOS (Apple Silicon)
Describe the bug
The bug manifests itself in one of the invariant tests of the Euler Vault Kit
The test is failing with Reentrancy error, but the traces and logs don't match the error, they are showing a successful run in fact. The code has been heavily audited and to the best of our knowledge the invariant should never hit the reentrancy error, so this behaviour is concerning.
We suspect the issue is related to --gas-report flag. The error doesn't always show up, it depends on the fuzzer seed, but after many tries we have not been able to reproduce it without the gas report flag.
Platforms confirmed: Apple M3, Linux, Github CI
Steps to reproduce:
git clone https://github.com/euler-xyz/euler-vault-kit && cd euler-vault-kit
git checkout debug-fuzzer
forge install
forge test --mt invariant_totalAssetsShouldBeEqualToBalanceAfterSMEAR --gas-report -vvv

The test fails with re-entrancy error, but the logs and trace show a successful run, which is obviously a bug.
The test here
The error reported is a reentrancy on EulerSavigsRate contract here (note console.logs in preceding lines)
We have determined the call is coming from the invariant test itself: here
In the trace the execution is successfull:
    ├─ [114647] EulerSavingsRate::deposit(10000000 [1e7], user: [0x6CA6d1e2D5347Bfab1d91e883F1915560e09129D])
    │   ├─ [0] console::log("nonReentrant START, msg.data:") [staticcall]
    │   │   └─ ← [Stop]
    │   ├─ [0] console::log(0x6e553f6500000000000000000000000000000000000000000000000000000000009896800000000000000000000000006ca6d1e2d5347bfab1d91e883f1915560e09129d) [staticcall]
    │   │   └─ ← [Stop]
    │   ├─ [0] console::log("  re-entrancy locked flag", 1) [staticcall]
    │   │   └─ ← [Stop]
    │   ├─ [18361] MockToken::transferFrom(user: [0x6CA6d1e2D5347Bfab1d91e883F1915560e09129D], EulerSavingsRate: [0xF62849F9A0B5Bf2913b396098F7c7019b51A820a], 10000000 [1e7])
    │   │   ├─ emit Transfer(from: user: [0x6CA6d1e2D5347Bfab1d91e883F1915560e09129D], to: EulerSavingsRate: [0xF62849F9A0B5Bf2913b396098F7c7019b51A820a], value: 10000000 [1e7])
    │   │   └─ ← [Return] true
    │   ├─ emit Transfer(from: 0x0000000000000000000000000000000000000000, to: user: [0x6CA6d1e2D5347Bfab1d91e883F1915560e09129D], value: 10000000 [1e7])
    │   ├─ emit Deposit(sender: user: [0x6CA6d1e2D5347Bfab1d91e883F1915560e09129D], owner: user: [0x6CA6d1e2D5347Bfab1d91e883F1915560e09129D], assets: 10000000 [1e7], shares: 10000000 [1e7])
    │   └─ ← [Return] 10000000 [1e7]

None of the calls in the sequence preceding the invariant check touch the reentrancy modifier.
To reiterate: we have not been able to reproduce the issue when --gas-report is removed, and we don't think this particular solidity error could be triggered by this particular invariant test.

indeed, when running tests with --gas-report flag tests are performed in isolation mode, in order to have better gas accounting (which means that all top-level calls are executed as a separate transaction). This could affect behavior of invariant_totalAssetsShouldBeEqualToBalanceAfterSMEAR call comparing to non gas report run (because it is basically sending multiple txes there - deposit/min/gulp). In general changing state in invariant_ functions should be avoided and only current fuzzed state should be asserted.

confirmed this is a --gas-report / --isolate related bug (state wrongly committed)

@grandizzy - Thanks for the info, we appreciate you looking into it!


Add 7 Matrix Unit Tests and Implement Matrix Multiplication

(Put an X inside the [ ] to denote check mark [X].)

[X] If creating a new file :

[X] added links to it in the README files ?
[X] included tests with it ? (in tests/test_matrix.py)
[X] added description (overview of algorithm, time and space compleixty, and possible edge case) in docstrings ?

[X] if done some changes :

[X] wrote short description in the PR explaining what the changes do ?
[X] fixes #468  if related to any issue

[X] other

[X] add valid unit tests of 7 methods of matrix (former coverage only 5.25%, now 49.86%)
[X] follows the PEP8 code style

Pull Request Test Coverage Report for Build 891

43 of 44 (97.73%)  changed or added relevant lines in 3 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+2.1%) to 74.335%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

algorithms/matrix/multiply.py
10
11
90.91%

Files with Coverage Reduction
New Missed Lines
%

algorithms/linkedlist/is_palindrome.py
1
93.33%

Totals

Change from base Build 885:
2.1%

Covered Lines:
5561

Relevant Lines:
7481

💛  - Coveralls

thanks for the contribution! this will be a nice addition to the matrix related algo.
i left some minor comments :)

Just updated! Thanks for the review.


Basic CMake support

Adds cmake as the build system

Didn't update the GHA because I don't think this is done, need to figure out a better way to add the target link directories (because the install command makes bin lib dirs where you set prefix this can't be the same location as where the source is built I say the best idea is to probably move where it builds the source libluajit.so into CMAKE_BINARY_DIR so we get that include path for free not sure about the real lib that the target links against though

I agree with your idea for now. I think we should add a flag like -DLUAJIT_EMBEDDED to statically embed LuaJIT compiled from source, otherwise fallback to looking for luajit-2.1-whatever in the system.

I think this is about the best we can do for this external

this doesn't really support looking for luajit on your system yet I think that might require cmake to install the static lib appropriately (install whatever is in ${CMAKE_BINARY_DIR}/lib)

I guess next action items are if you approve the current state would be

[ ] remove meson stuff (mise as well)?
[ ] update GHA

I guess next action items are if you approve the current state would be

[ ]  remove meson stuff (mise as well)?
[ ]  update GHA

Not going to remove Mise. It's for dev tooling, but I'll switch it to use cmake.

This otherwise looks good to me, I'm going to add in some traditional "Cmake-y" things I tend to do out of habit and a GitHub Actions workflow before I merge this in but I appreciate all the work!


Heatmap chart render issue

Thanks for this updated echarts leaflet extension.
We are facing an issue with the heatmap. It works great with the scatter. But if we change the series type to heatmap without doing any changes in data or so, nothing works.
Do you know what can cause this issue?

Try adding a visual map to the echarts options. The heatmap requires a visual mapping.
See heatmap.html or echarts official heatmap on map example (with bmap, but similar).
visualMap: {
          show: true, // set to false if you do not want to show the colorbar
          left: 20,
          min: 0,
          max: 5,
          seriesIndex: 0,
          calculable: true,
          inRange: {
            color: ["blue", "blue", "green", "yellow", "red"],
          },
        },


Remove mkdirp

The 0.5 version is deprecated. As this was only used in tests and isn't needed in recent node 10.x
releases I replaced it's use in the test and removed the package.

Thanks!


Module Wappalyzer Scan is not Available

Please Describe the issue or question and share your OS and Python version.

OS: Linux
OS Version: Linux ubuntu
Python Version: 2.7.3

I cloned the master and the module is running fine on my system :

Perhaps you don't have bs4 installed into your system.

Yes, I have also used "master" for testing it again please check if any modules are needed which are available in your system for running wapalyzer but not present in requirements.txt
Bes Regards
Pradeep Jairamani

No, only bs4 is required for running this
Regards.

Hello,
I am able to run it on a windows system but fail to run it on a Linux system, can you please confirm?
Best Regards
Pradeep Jairamani

Hello
Sorry, There was an issue with my system. I installed BeautifulSoup instead of BS4.
Please edit the requirements.txt file.
Best Regards
Pradeep Jairamani

Hello,
Thanks for your contributions, should I mark it as fixed and close it?
Regards.

Yes, I have updated the requirements in the latest PR. This issue is fixed!!

Thank you, issue closed.


Product with subscription period

Hi
would you please tell if there is any functionality for defining products that have a subscription period?
what is the best way to make it done? just customizing the Product model is fine or there is any better way?

Here the best approach is to leave this to the merchant's implementation. There are so many different subscription models, that it just doesn't make sense to implement them in a generic manner.
I actually implemented a product type with subscription for a client using django-SHOP. Don't hesitate to contact me on my private email address, if you need consultation on this.

dear @jrief  thank you very much :)


[WIP] fix: build concurrency

Applicable spec: N/A
Overview
Addresses: https://github.com/actions/upload-artifact/issues/506
Adds concurrency group to build job to mitigate issues with upload-artefact 409 conflict error.
Rationale
To stop workflows from failing due to 409 errors.
Workflow Changes

Adds concurrency group per run for build-charm workflow.

Checklist

[x] The contributing guide was applied
[x] The PR is tagged with appropriate label (urgent, trivial, complex)

The concurrency group should be addressed in the upload-artefact after integration test has run - the concurrency group can go down to a job level but not a step level. This will make the integration tests run significantly slower. Closing.


Update longwave quadrature, LW testing data

Quadrature angles and weights are changed in the Python code to reflect changes in v1.8 of the Fortran code. Tests are updated to use reference results from the data repo.

The changes were added to #70


Add skill tab to Level zero sheets

Unable to add the Skills tab to the zero level sheets.

@crimsontree as far as I know, zeros shouldn't have/need custom skills, so I'm trying to decide whether we should just hide that checkbox from the config tab, rather than enabling showing a custom skills tab at all for zero-level characters?

Fixed in 0.39.1


☂ Scrollbar Fixes & Updates

This is an umbrella issue that covers several related issues for work being done on scrollbars.

[x] Refactor Scrollbar and CupertinoScrollbar to share common methods

A couple of different RawScrollbar options have been discussed (https://github.com/flutter/flutter/pull/70850, https://github.com/flutter/flutter/pull/70798), the later being the current agreed upon direction.
[x] We should also fix this while we're at it: https://github.com/flutter/flutter/issues/70105

This is caused by explicitly creating a drag gesture in CupertinoScrollbar when dragging on the thumb. Instead, we should just update the position. Fix already produced in #70798

[x] https://github.com/flutter/flutter/issues/31753: Scrollbars should be fully interactive

This includes dragging the thumb, tapping the track
CupertinoScrollbar already supports thumb dragging

[ ] https://github.com/flutter/flutter/issues/40107: Scrollbars should be created by default for scrollables on Web and Desktop

will need to find a way to identify and exclude some cases, like TextFields and PageViews

[x] https://github.com/flutter/flutter/issues/61362: Scrollbars should have a theme

Allows for customization across the app

Initial design doc:
flutter.dev/go/update-scrollbars

If you're looking into reworking the scrollbar, it might be interesting to look at https://github.com/flutter/flutter/issues/13253 and avoid overlapping other slivers.

Will be able to add the gestureDetecture, Drag or Scroll when clicked on the ScrollBar?

Will be able to add the gestureDetecture, Drag or Scroll when clicked on the ScrollBar?

Yes

Will you also take care of the scrollbar with, which is very huge on android right now?
#72202

Do scrollbars work in SingleChildScrollViews in Flutter Web? I tried making this a request as it was renamed https://github.com/flutter/flutter/issues/43694

@khari998 yes to all, please follow the linked changes for current status.

Now with the current implementation overscrolling by mouse with the draggable scrollbar in flutter web creates a bounce effect, which is typical for ios I think?
I don't know if macOS does it like this too, but on windows with Chrome it feels very weird. There shouldn't be such effect, it should just stop scrolling

@lazylazyllama This does not happen on Windows by default.
The overscroll glow is used instead on Chrome on Windows.

@lazylazyllama This does not happen on Windows by default.
The overscroll glow is used instead on Chrome on Windows.

That is incorrect. I am not talking about scrolling by the mouse wheel. I am talking about dragging the scrollbar with the mouse, which is a new behavior. And it results in creating a bounce effect.
Here is some evidence:

Now with the current implementation overscrolling by mouse with the draggable scrollbar in flutter web creates a bounce effect

Thanks for finding and reporting this @lazylazyllama I have filed https://github.com/flutter/flutter/issues/72728 for the unintended overscroll.

@Piinks I found a scenario that creates errors using the Scroolbar in Flutter Web. I filed the Flutter Web Scrollbar issue #72814
Summary:
Steps to Reproduce by using Flutter Web

Add a Scrollbar to the Scaffold Body using a ScrollController
Run app and when you move your mouse inside the body you received the error 'Exception caught by gesture library'

Source Code:
ScrollController _scrollController = ScrollController();

body: Scrollbar(
  isAlwaysShown: true,
  thickness: 10.0,
  controller: _scrollController,
  child: SingleChildScrollView(
    controller: _scrollController,
    child: Form(
      key: _formStateKey,
      onChanged: _onFormChanged,
      onWillPop: _showSaveWarningDialog,
      child: Padding(
        padding: const EdgeInsets.all(16.0),
        child: Container(),
      ),
    ),
  ),
),

Expected results:
Should not get errors.
Thank you.

There is one remaining aspect of this issue that needs to be implemented, default instantiation. I've thought about this a lot, and have a few ideas, but most importantly we want to do this considerately. Some scrollables would not want auto-scrollbars, so we need to determine which those are and how to identify them. Also, we definitely would want to provide a way for users to control this feature, so no one is stuck with a scrollbar they cannot control or toggle on and off.
I think this requires more thorough design and discussion, so I am going to re-open the individual issue for this: #40107 Please follow-up there on this specific feature.
Everything else in this 'umbrella' issues has landed, and so I am going to close this. 🎉

There is one remaining aspect of this issue that needs to be implemented, default instantiation. I've thought about this a lot, and have a few ideas, but most importantly we want to do this considerately. Some scrollables would not want auto-scrollbars, so we need to determine which those are and how to identify them. Also, we definitely would want to provide a way for users to control this feature, so no one is stuck with a scrollbar they cannot control or toggle on and off.
I think this requires more thorough design and discussion, so I am going to re-open the individual issue for this: #40107 Please follow-up there on this specific feature.
Everything else in this 'umbrella' issues has landed, and so I am going to close this. 🎉

I'm reopening this issue per #40107; helps with out internal bookkeeping.

I'm reopening this issue per #40107; helps with out internal bookkeeping.

pinging this here
https://github.com/flutter/flutter/issues/74907#issuecomment-770267571
https://github.com/flutter/flutter/issues/74907#issuecomment-770267953

pinging this here
https://github.com/flutter/flutter/issues/74907#issuecomment-770267571
https://github.com/flutter/flutter/issues/74907#issuecomment-770267953

Is there any way to paint the new Scrollbar class? As it ignores CustomPaint and ScrollbarThemeData.

Is there any way to paint the new Scrollbar class? As it ignores CustomPaint and ScrollbarThemeData.

Hi @franarolas can you file a separate issue with a reproduction and the output of flutter doctor -v? Thanks!

@Piinks #75643

After this feature is released will be any short code sample showing how to use the new scroll on flutter web/desktop vs mobile?

I am also looking for any insight on the Flutter Web scrollbars since I have a production app that relies on this feature.
Thank you.

https://github.com/flutter/flutter/issues/77609

@Piinks I am wondering (as I have not actively followed this): should we remove all manual scrollbars on web now? :)

@Piinks will the team release any document/post/sample teaching us how to use this new implemented scrollbar?

@Piinks I am wondering (as I have not actively followed this): should we remove all manual scrollbars on web now? :)

Hey @creativecreatorormaybenot! Only on desktop, since that is the platform we are applying them automatically now. Although, I did make some changes before then that makes it easier to change this to apply scrollbars on all platforms or no platforms... see https://github.com/flutter/flutter/pull/76739 for those changes. :)

@Piinks will the team release any document/post/sample teaching us how to use this new implemented scrollbar?

Hi @Macacoazul01 there is already some samples in the api docs on the master channel, like here: https://master-api.flutter.dev/flutter/material/Scrollbar-class.html
But there are also more PRs out to add to more, like here: https://github.com/flutter/flutter/pull/78284

@Piinks Will the web platform receive the same automatic scrollbars apply as the desktop platform? I am hoping yes :)
Thank you.

@Piinks Will the web platform receive the same automatic scrollbars apply as the desktop platform? I am hoping yes :)

If the browser is running on a desktop platform, yes. Otherwise you can create your own ScrollBehavior and override buildScrollbar to change this setting to however you would like. :)

Ok, if I understand correctly, for the web platform we should keep adding our own Scrollbar().

notice SingleChildScrollView is always show a scrollbar on desktop now, but how to invisible it ? I can not find a property related to hide the scrollbar.

Here's a widget we use which shows/hides the scroll bar on hover
https://github.com/invoiceninja/flutter-client/blob/master/lib/ui/app/app_scrollbar.dart


Update restore-account-continuous-backup.md

As per internal investigation by the MongoDB RU team and customer's request. Please review urgently (ping arwinlashawn by 24/07 for any questions). Thanks!

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

This note would be better suited for our support/troubleshooting documentation.
@kanshiG, can you review this note and connect with me to add this to our troubleshooting documentation site?
#please-close


gRPC support

Just reviewed gRPC docs -- looks very similar to the GraphQL definitions. (Hopefully) Shouldn't be that hard a lift to implement here.
https://grpc.io/docs/languages/node/quickstart/

Resolved with https://github.com/sudowing/service-engine/pull/28


add bitmask for param metadata

QGC side: https://github.com/mavlink/qgroundcontrol/pull/3723

EKF2_REQ_HDRIFT and EKF2_REQ_VDRIFT are repeated. Maybe this is a good time to review the metadata?

Nice!

@priseborough would you like to do a quick review/update of the EKF2 bitmask param metadata (EKF2_GPS_CHECK/EKF2_DECL_TYPE/EKF2_AID_MASK) before this goes in? We could strip down the lengthy descriptions and make sure each bit is described accurately.
EKF2_GPS_CHECK
https://github.com/dagar/Firmware/blob/param_bitmask/src/modules/ekf2/ekf2_params.c#L123
EKF2_DECL_TYPE
https://github.com/dagar/Firmware/blob/param_bitmask/src/modules/ekf2/ekf2_params.c#L411
EKF2_AID_MASK
https://github.com/dagar/Firmware/blob/param_bitmask/src/modules/ekf2/ekf2_params.c#L491

@priseborough Will merge this once you've reviewed it.

Rebased and applied.


Restart node does not work for EE

OrientDB Version, operating system, or hardware.

v2.0 SNAPSHOT[ ] - .18[ ] .17[ ] .16[ ] .15[ ] .14[ ] .13[ ] .12[ ] .11[ ] .10[ ] .9[ ] .8[ ] .7[ ] .6[ ] .5[ ] .4[ ] .3[ ] .2[ ] .1[ ] .0[ ]
v2.1 SNAPSHOT[ ] - .16[ ] .15[ ] .14[ ] .13[ ] .12[ ] .11[ ] .10[ ] .9[ ] .8[ ] .7[ ] .6[ ] .5[ ] .4[ ] .3[ ] .2[ ] .1[ ] .0[ ]
v2.2 SNAPSHOT[x] - .rc1[ ] .beta2[ ] .beta1[ ]

Operating System

[x] Linux
[ ] MacOSX
[ ] Windows
[ ] Other Unix
[ ] Other, name?

Expected behavior and actual behavior
From web console, if a node is restarted the status goes in "AGENT NOT FOUND", maybe it work only for CE and not for EE
Steps to reproduce the problem
Click on restart node

hi @madama
the Restart it's only for EE. Does it work when the node goes online again?

Hi @madama ,
Where do you click to restart the node?
Please could you test this with version 2.2.18?
Thanks,


I am unable to change the keybindings

All other features of the plugin work great for me, no problems. Except for the rebinding of keys.
I have tried changing the keybindings to revert-refresh, by editing input.conf.
this is my full input.conf:
i         match-refresh
Ctrl+i    revert-refresh

but it is not responding to my keybindings, however the default f10 and ctrl+f10 are still working with said input.conf set to i and ctrl+i.
if i add for example "i             cycle fullscreen" that works just fine, so the input.conf is being applied. can you try if it actually works for you, and help me find the cause?
mpv [v0.35.1]
mpv-changerefresh current version

Try:
i         script-binding match-refresh
Ctrl+i    script-binding revert-refresh

That totally works, thank you!
I used
i         match-refresh Ctrl+i    revert-refresh
because thats what it said in readme.md, never had to use script-binding before.
I will close the issue because I see no further issue.