Invalid credentials with oidc auth with dex

Hi,
I get invalid credentials error like below when authenticated with dex as an oidc-provider.
An error occured during the request { OpenIdConnectError: invalid_client (Invalid client credentials.)
    at Client.requestErrorHandler (/usr/src/app/node_modules/openid-client/lib/helpers/error_handler.js:16:11)
    at processTicksAndRejections (internal/process/next_tick.js:81:5)
  error: 'invalid_client',
  error_description: 'Invalid client credentials.' } POST /oidc
POST /oidc 500

If I turn off oidc auth, k8dash asks for token and it works if I enter a valid token.
Dex is authenticating with github.com and it works fine with kubectl.
Here is the kubectl settings
user:
    auth-provider:
      config:
        client-id: kubernetes
        client-secret: ZXhhbXBsZS1hcHAtc2VjcmV0
        extra-scopes: offline_access openid profile email groups
        id-token: REDACTED
        idp-certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMrakNDQWVLZ0F3SUJBZ0lKQU1lRXJhSHYzNXJWTUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIydDFZbVV0WTJFd0hoY05NVGt3TXpNeE1Ua3dPVEE0V2hjTk1Ua3dOREV3TVRrd09UQTRXakFTTVJBdwpEZ1lEVlFRRERBZHJkV0psTFdOaE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCjBkb2NjV3Zpb29xbDRVa05oejFCZ01KV25JU0w5TUExRm1ySEZ4U2hUYysrL1V0VURxMVVlU0xCRXpXTjNZZmcKQm5TQVNBQUNmS0lCRTBDRWJWdzhSTUtodXJReExGT0hQUDBodWtVRGkxNmVnaXBHSjI0WWdWcnJ4cUpVYWxsYQo2cUpaTkdsUHQ3SmxWdWtrSHRlY0hONjVneG0wQjBzMWtwV1VRNFh2L0E2ZldOaHVhV3VqYlRjRWx0SEFtQlJnCmtmMHpRYnV2ZCtMRnl3V0V2VDdBai9ua1FVZko1L21DOTQyUmlYVDNXdUtyc1g1a3F3ellrVU9xN2hOM1B1aVQKU1NYRm9JNUxqQWd5eDVqVEhubDdmb3JWSnhObDYvdEc2eFg4S3BxMmpST3FZSzlUWFdhSFlDVktQeTlMUTFuegpBNG9jTXQyRkFzREY4a2ZMUjBhK2l3SURBUUFCbzFNd1VUQWRCZ05WSFE0RUZnUVVMK1gzejRKWkhDZkg4Ry80Ckl0ZDhUdUZ5ZEV3d0h3WURWUjBqQkJnd0ZvQVVMK1gzejRKWkhDZkg4Ry80SXRkOFR1RnlkRXd3RHdZRFZSMFQKQVFIL0JBVXdBd0VCL3pBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQU1rTFB0dkZoZlZxM0VibUJFU3dER09ZdwpVYjFYS0VKb1JEVGV5dlozamZSWGhTVDlmdmM0bC9GMWVOd1ZKZnhXb0piUjdCU0JmbURiNzR5anBOcGVYS2xZClZVWnE1Mmx1dnlwNDlFNHJOQ1JHTDNzL0NjUnFnV0tqVmxKZWZGakg2TU8zYTZnM0NFZElGNXJSZi8zRXFGSDYKZm9tUkZ0MEw5NzZodmpGRXFyMlVYR01yTk1LMUN6YXJreDhaUXNkekwySGFhMzV6ei9aUG1PdFA1a2dzYUlMegpoSC9CQ215N242Q2pDVmx3UXZFRmFUOXVRRDZWa216eVNmQ29oaGo4WFYwanBMa2doeG12cGJRdzFDWmwvcDJSCkRwSTh3aCtNVkhGczMvZzNKa0lqUkU0SVJtV2ROWE5hWTBwMVVZUEVIMys3bDlDOXZTQ2Q3OXgvSTZtOVB3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
        idp-issuer-url: https://dex.example.com:32000
        refresh-token: ChlibzZjeDJyNnMzNWMzZjVoeWpuZm5oem8zEhltaWt3YmRxc3Eyem1qeHAyNmk2ZWlqYnd0
      name: oidc

And this is k8s yaml manifests
kind: Deployment
apiVersion: apps/v1
metadata:
  name: k8dash
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: k8dash
  template:
    metadata:
      labels:
        k8s-app: k8dash
    spec:
      hostAliases:
      - hostnames:
        - dex.example.com
        ip: <IP_ADDRESS>
      containers:
      - name: k8dash
        image: herbrandson/k8dash:dev
        command:
        - sh
        - -c
        - |
          npm config set cafile /ca/dex-ca.pem
          /sbin/tini -- node .
        ports:
        - containerPort: 4654
        livenessProbe:
          httpGet:
            scheme: HTTP
            path: /
            port: 4654
          initialDelaySeconds: 30
          timeoutSeconds: 30
        env:
        - name: OIDC_URL
          valueFrom:
            secretKeyRef:
              name: k8dash
              key: url
        - name: OIDC_CLIENT_ID
          valueFrom:
            secretKeyRef:
              name: k8dash
              key: id
        - name: OIDC_SECRET
          valueFrom:
            secretKeyRef:
              name: k8dash
              key: secret
        - name: NODE_EXTRA_CA_CERTS
          value: /ca/dex-ca.pem
        - name: OIDC_SCOPES
          value: "openid email groups"
        volumeMounts:
        - name: cafile
          mountPath: /ca
      volumes:
      - name: cafile
        configMap:
          name: k8dash

---
kind: Service
apiVersion: v1
metadata:
  name: k8dash
  namespace: kube-system
spec:
  ports:
    - port: 80
      targetPort: 4654
  selector:
    k8s-app: k8dash

---
apiVersion: v1
data:
  dex-ca.pem: |
    -----BEGIN CERTIFICATE-----
    MIIC+jCCAeKgAwIBAgIJAMeEraHv35rVMA0GCSqGSIb3DQEBCwUAMBIxEDAOBgNV
    BAMMB2t1YmUtY2EwHhcNMTkwMzMxMTkwOTA4WhcNMTkwNDEwMTkwOTA4WjASMRAw
    DgYDVQQDDAdrdWJlLWNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
    0doccWviooql4UkNhz1BgMJWnISL9MA1FmrHFxShTc++/UtUDq1UeSLBEzWN3Yfg
    BnSASAACfKIBE0CEbVw8RMKhurQxLFOHPP0hukUDi16egipGJ24YgVrrxqJUalla
    6qJZNGlPt7JlVukkHtecHN65gxm0B0s1kpWUQ4Xv/A6fWNhuaWujbTcEltHAmBRg
    kf0zQbuvd+LFywWEvT7Aj/nkQUfJ5/mC942RiXT3WuKrsX5kqwzYkUOq7hN3PuiT
    SSXFoI5LjAgyx5jTHnl7forVJxNl6/tG6xX8Kpq2jROqYK9TXWaHYCVKPy9LQ1nz
    A4ocMt2FAsDF8kfLR0a+iwIDAQABo1MwUTAdBgNVHQ4EFgQUL+X3z4JZHCfH8G/4
    Itd8TuFydEwwHwYDVR0jBBgwFoAUL+X3z4JZHCfH8G/4Itd8TuFydEwwDwYDVR0T
    AQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAMkLPtvFhfVq3EbmBESwDGOYw
    Ub1XKEJoRDTeyvZ3jfRXhST9fvc4l/F1eNwVJfxWoJbR7BSBfmDb74yjpNpeXKlY
    VUZq52luvyp49E4rNCRGL3s/CcRqgWKjVlJefFjH6MO3a6g3CEdIF5rRf/3EqFH6
    fomRFt0L976hvjFEqr2UXGMrNMK1Czarkx8ZQsdzL2Haa35zz/ZPmOtP5kgsaILz
    hH/BCmy7n6CjCVlwQvEFaT9uQD6VkmzySfCohhj8XV0jpLkghxmvpbQw1CZl/p2R
    DpI8wh+MVHFs3/g3JkIjRE4IRmWdNXNaY0p1UYPEH3+7l9C9vSCd79x/I6m9Pw==
    -----END CERTIFICATE-----
kind: ConfigMap
metadata:
  creationTimestamp: null
  name: k8dash
  namespace: kube-system
---
apiVersion: v1
data:
  id: a3ViZXJuZXRlcw==
  secret: ZXhhbXBsZS1hcHAtc2VjcmV0
  url: aHR0cHM6Ly9kZXguZXhhbXBsZS5jb206MzIwMDA=
kind: Secret
metadata:
  creationTimestamp: null
  name: k8dash
  namespace: kube-system

Do you have any idea?

Forgot to say, this dashboard is awesome.

Thanks for filing the issue. I'm not familiar with Dex, but after reading a couple blogs about it, it looks pretty cool!
I'm not sure offhand what would be going wrong. Are there any logs on the dex end? Can we confirm that the request is at least getting there?

Dex looks fine. I can see login successful with github in the dex logs. If I change client id on k8dash side, dex complains with invalid client_id.
When I accessed the dashboard, it gets forwarded to dex and then to github, and then come back to the dashboard. However, dashboard shows an error "login failed".
I will play with it more to find out.

I found out that it's in loop of authentication like:
k8dash -> dex -> github -> dex -> k8dash -> dex -> github
I guess k8dash is not compatible with oidc providers.
Would that be possible to add compatibility with oidc providers such as dex.

It looks like fixed the problem. I needed to encode the client secret with base64.

Great! I'm glad you were able to figure it out. And thanks for leaving a comment with the solution. Hopefully that saves the next person some time :)
Can we close this at this point or are there still pending issues getting OIDC working in your environment?

Yes. It works fine now.

Good to hear :)
Please don't hesitate to file feature requests as you use k8dash more. I'd love feedback on how to make it better

Hello ,
I have same issues with DEX, LDAP & k8DASH.
I'm redirected to dex, able to authenticate with LDAP and finally not able to login with k8dash.
Am I missing anything. All I have done as mention in this thread.


WkWebView support

In 0.5.2 release notes, there is a known issue.

Even though Cordova<EMAIL_ADDRESS>introduces pluggable webviews, the Hosted Web App plugin currently supports UIWebView only. WkWebView will be supported in a future release.

When is WkWebView support planned? Is there an easy way to fix this? Any help would be appreciated.

Hi @suur you can change it by editing the plist of the generated iOS app.  I've done this before in an app without seeing any problems.  We don't have as many resources who are interested in updating the plugin, hence the slow cycles.  We are always open to PRs!   Thanks, and hope it works out for you.  -jeff

@boyofgreen what edit should we make to the generated iOS app's plist in order to achieve this?


Remove Volunteer Trials Map from Vaccines menu

I think we agreed to wait for the home page to have additional content and then the menu item will make sense?  Unless I'm misremembering and we are removing it for now?

I think I'm misremembering lol.  I'll remove it for now.


Update Table Caption with missing features

blocked by #875

[ ] Add missing typography

Had a meeting with @benkeq about this. If caption is top, then it can be any of the headings, else its paragraph/caption

❗Suggest having a resolution for Typography discussion before starting on this issue

It should be a prop then, since the font-size should be determined by the parent header level.

Closing this issue as flow content is valid conent for a caption element. We will instead update documentation to reflect guidelines for which typography to use in these #1028

Closing this issue as flow content is valid conent for a caption element. We will instead update documentation to reflect guidelines for which typography to use in these #1028


Updated documentation to include expected payload type.

Relates to spring-cloud-stream-app-starters/app-starters-release#99

Merging as the review comments are addressed.


symlink breaks app

I am using an application that was packaged with esky. It works okay if I run from the directory or using a full path
root@unknown:~# /opt/salt/bin/salt-call state.sls packages.ntp

But it breaks if i symlink the executable to, for example, /usr/bin
root@unknown:~# ls -l /usr/bin/salt-call
lrwxrwxrwx 1 root root 23 Apr 10 09:03 /usr/bin/salt-call -> /opt/salt/bin/salt-call

root@unknown:~# /usr/bin/salt-call state.sls packages.ntp
Traceback (most recent call last):
  File "<string>", line 6, in <module>
  File "__main__.py", line 685, in <module>
  File "__main__.py", line 331, in bootstrap
RuntimeError: no usable frozen versions were found

Thanks for reaching out.  Unfortunately this project is no longer actively maintained, so I'm going to move it into archive mode:
https://rfk.id.au/blog/entry/archiving-open-source-projects/


107 resolution bugs mineurs

Coverage decreased (-0.7%) to 68.281% when pulling 13034bb0b76c187c8d83dce7c66866d24ae8e86d on 107-Resolution-bugs-mineurs into e0cceb32500ff4b6dfc1c8e4cc9945b725541889 on master.

Coverage decreased (-0.7%) to 68.281% when pulling 13034bb0b76c187c8d83dce7c66866d24ae8e86d on 107-Resolution-bugs-mineurs into e0cceb32500ff4b6dfc1c8e4cc9945b725541889 on master.


Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

@aurambaj

closing since there is not enough information to reproduce

@aurambaj
Really?  Instead of waiting for an answer like any normal person? If you keep this up, I won't be the only one who fucks off here


Update instructions to provide App Federation metadata URL instead of downloaded XML file

I am a senior technician on OverDrive's Integration team (who performs these setups), and the following request will help streamline the setup for our mutual partners. We do not need the raw XML metadata file -- it is better if we have the IdP metadata URL, so we can automatically pick up any changes like certificate renewals. We do request the IdP metadata URL in communication with our partners but many of them miss those instructions because they are following the instructions on this page to the letter.
Under "Configure Azure AD SSO" please update step 5 to read "On the Set up Single Sign-On with SAML page, in the SAML Signing Certificate section, click the Copy button next to your App Federation Metadata URL and save it on your computer to be provided to OverDrive later."
Under "Configure Overdrive SSO" remove "...the downloaded Federation Metadata XML..."

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

ID: 2b6f75cc-b3f4-fff2-fb2b-11866bb5c0cb
Version Independent ID: 32f00b85-e803-4a0a-bc18-764612a5c24f
Content: Tutorial: Azure Active Directory integration with Overdrive
Content Source: articles/active-directory/saas-apps/overdrive-books-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @jeevansd
Microsoft Alias: jeedes

@m-wester
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

@v-hagamp Please update the doc to send the XML file URL instead of a file.
@v-rant for tracking.


[ENH] Hilbert-Huang transform implementation/wrapper

Describe the feature or idea you want to propose
The HHT is a transform sometimes used with EEG and might be interesting for classification of EEG
https://en.wikipedia.org/wiki/Hilbert–Huang_transform
I have no experience of using it, but thought I would just post it as a wish list
Describe your proposed solution
either implement or wrap HHT as an aeon transformer, test and port into aeon, test as a transformer pipeline for EEG
Describe alternatives you've considered, if relevant
No response
Additional context
No response

examples from google, not actually read them :)
https://ieeexplore.ieee.org/document/8907043
https://link.springer.com/article/10.1007/s40846-019-00500-y
https://www.sciencedirect.com/science/article/pii/S026322412301237X

torch based implementation
https://github.com/chendaichao/Hilbert-Huang-transform
examples
https://github.com/Cole-vJ/AdvEMDpy


Do not generate original directory OR tell Stub Runner to use yml instead of groovy contracts

Is your feature request related to a problem? Please describe.
We want to write custom verifiers as described in "Spring Cloud Contract customization".
As described in the documentation we use the convertToYaml flag in order to generate the contracts in yaml instead of groovy.
However, when we use the stub runner, it picks up the groovy contracts which are in the jar in the original directory.
Describe the solution you'd like
We hope we don't miss the right properties but we can neither find an option to not generate the original directory nor tell the stub runner to use the yaml files instead of the groovy files.
Describe alternatives you've considered

Either do not generate the original directory
Or tell the stub runner which contract format to use

Additional context
Jar structure:
groupId/artifactid/version/contracts --> contains the yaml contracts
groupId/artifactid/version/original --> contains the groovy contracts

Why is original folder even picked? Is it because it's on the classpath?

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


Use pytest to run automated tests

Once pytest runs our existing tests with no failures:

[x] Switch to using it to run them in automation for Continuous Integration

The build went off without a hitch on the dev branch with the modified yaml file, so this is a complete success.


Return a default controller as fast as possible to enable run button on native notebooks

Background

Kernel push currently doesn't show run button until a controller is available for the notebook
90% of users experience kernel search time taking 5 seconds or less
Our goal is to allow notebooks to load ASAP and allow users to run code ASAP
Listing interpreters is the slow part of kernel search at the moment

Ideas for making first-time controller search as fast as possible

Generate a dummy preferred controller and hotswap it out for the real preferred kernel when the user attempts to execute code

If we can't find a kernel that matches what the notebook metadata says, we should ask the user if the one we found instead is OK. Classic Jupyter doesn't prompt--it picks randomly
If Python extension has an active interpreter and notebook metadata only says 'Python 3', use that one
Scenario: notebook metadata says 'Python 3' --> when we find an interpreter e.g. Python 3.9, the kernel picker will change from 'Python 3' to 'Python 3.9'
We only put up our dummy kernel when there aren't any other extensions which might be able to provide a better kernel, e.g. we won't show our dummy kernel for .NET interactive notebook

Generate a partial list of kernels vs doing a full search

For subsequent activation we can also cache interpreters/kernelspecs (we currently don't do any caching)

However there are potential issues with when we invalidate the cache e.g. for users whose cache is months old

Other ideas

Get Python extension to move all its interpreter discovery into an npm package

Assumption here is that Python extension activation is the bottleneck

But we need the active interpreter which relies on VS Code settings so npm package might not work either

Note: This is also imporatnt for getting started scneario:

User install Juptyer extension for first time
User opens a notebook & immediately goes into kernel pcker
At this point we should have added the Python kernel so they can see it (instead of not having anything)

Blocked here https://github.com/microsoft/vscode/issues/124535

(5) Add a placeholder Python Kernel

Whether we have Python or not
If no python, then running cells will prompt users to install Python
Once Python is installed, we can update this to point to a real kernel (see further below)

(1) Fetch non-python kernels first & list them as controllers

(2) Fetch preferred kernel from this list (for non-Python kernels)

(3) Fetch Python kernels

(4) Fetch preferred kernel from this list (for non-Python kernels)
(5) If Python kernel is not used (not associated with anything), then dispose that
(5) Update the Python kernel with information of the preferred kernel

(5) How we manage the place holder kernel will require some work

TODO:

Ensure Python can improve the interpreter discovery (there were a few issues)
Add telemetry to see how long a cold start takes to get active interpreter & all interpreters
Once we have the telemetry re-vist

Solutions:

Can we improve interpreter discovery even more
Will splitting interpreter discovery into separate package help
Will discovering interpreters one at a time help (instead of waiting for all to be discovered)

Does user need to see everything, is it not possible they want to just pick active interpreter or a specific conda environment

Can we update the VS Code API/UX to work around this.

@DonJayamanne I feel like this was resolved by the work that you did with interpreter searching and cleanup. If that's off, just reactivate.

Telemetry to see how slow/fast Python is in discoverying kernels was added here
https://github.com/microsoft/vscode-python-internalbacklog/issues/373

Updates

Python extension will be adding an API to list the interpreters as they are discovered
We will not necessarily have to wait for all interpreters to be discovered & returned by Python extension.
We could use this API to add the controllers one by one as the interpreters are discovered.

Summary of issues

New virtual environments not discovered
Slow to load environments (we still wait for everything to be discovered)

Solutions

https://github.com/microsoft/vscode-jupyter/issues/7583

TODO:

Review (& provide feedback) the new Python API

What will it take to implement this
Do we need changes in the API

Add active interpreter as a controller (while discovering other interpreters)
Add telemetry (if we don't already have this) to determine how quickly we return controllers
Add telemetry (if we don't already have this) to determine how quickly we get interpreters from Python extension

Closing in favor of https://github.com/microsoft/vscode-jupyter/issues/9628


Bootstrap fails on Mac, atom-package-manager/bin/node: No such file or directory

The bootstrap script trying to find atom-shell-starter/apm/node_modules/atom-package-manager/bin/node but couldn't.
firebox-nantas:atom-shell-starter nantas$ node script/bootstrap
Node: v0.10.31
npm: v1.4.28
Installing build modules...
npm WARN unmet dependency /Users/nantas/projects/Testing/atom-shell-starter/build/node_modules/grunt requires<EMAIL_ADDRESS>but will load
npm WARN unmet dependency /Users/nantas/projects/Testing/atom-shell-starter/build/node_modules/async,
npm WARN unmet dependency which is version 0.2.10
npm WARN unmet dependency /Users/nantas/projects/Testing/atom-shell-starter/build/node_modules/grunt-bower-task requires<EMAIL_ADDRESS>but will load
npm WARN unmet dependency /Users/nantas/projects/Testing/atom-shell-starter/build/node_modules/rimraf,
npm WARN unmet dependency which is version 2.2.8
npm WARN unmet dependency /Users/nantas/projects/Testing/atom-shell-starter/build/node_modules/grunt-bower-task requires<EMAIL_ADDRESS>but will load
npm WARN unmet dependency /Users/nantas/projects/Testing/atom-shell-starter/build/node_modules/async,
npm WARN unmet dependency which is version 0.2.10
Installing apm...
/Users/nantas/projects/Testing/atom-shell-starter/apm/node_modules/atom-package-manager/bin/apm: line 40: /Users/nantas/projects/Testing/atom-shell-starter/apm/node_modules/atom-package-manager/bin/node: No such file or directory

Running on 82dd2eb0f865e4508cda42f9316ce6773df0b751 with the versions below works for me:
v0.10.35
1.4.28
/Users/<user>/.nodenv/shims/node

I get the following error:
± node script/bootstrap
Node: v0.12.0
npm: v1.4.28
Installing build modules...
Installing apm...
child_process: customFds option is deprecated, use stdio instead.
child_process: customFds option is deprecated, use stdio instead.
child_process: customFds option is deprecated, use stdio instead.
dyld: lazy symbol binding failed: Symbol not found: _node_module_register
  Referenced from: /Users/nicklang/develop/boss-client/apm/node_modules/atom-package-manager/node_modules/keytar/build/Release/keytar.node
  Expected in: dynamic lookup

dyld: Symbol not found: _node_module_register
  Referenced from: /Users/nicklang/develop/boss-client/apm/node_modules/atom-package-manager/node_modules/keytar/build/Release/keytar.node
  Expected in: dynamic lookup

/Users/nicklang/develop/boss-client/apm/node_modules/atom-package-manager/bin/apm: line 40: 82426 Trace/BPT trap: 5       "$binDir/$nodeBin" --harmony_collections "$binDir/../lib/cli.js" "$@"

@fxdgear You're using node 0.12.x, at the moment you need to use node 0.10.x

Ahh ok thanks.

What is the main reason it works on 0.10.x, but not 0.12.x?

I also get this error with the following setup:
v0.10.33
2.1.11
/usr/local/bin/node

What is the main reason it works on 0.10.x, but not 0.12.x?

I just haven't updated it yet - I'll probably do this soon

I get the same error message when trying to build atom 0.190.0 on arch linux. Previous versions worked.

Okay, maybe I am wrong here and using Atom doesn't mean using 'atom-shell-starter'. But if this error is not about a seperate program, then I'm pretty sure the node version is not the problem. I have node 0.12 installed since before Atom supported it (v0.181.0 failed to build because of that, then v0.182.0 fixed that), and it seems @tommoor also reproduce this issue with node 0.10.

@jplatte Ah! No, this repo has nothing to do with building Atom the text editor, sorry. You need to go to atom/atom

As stated in the README, this package is no longer maintained and is deprecated. We recommend that people use electron-prebuilt and electron-packager instead. Because of this, we are archiving this repository and closing all issues and pull requests. Thanks very much for your support and contributions!


Integrate hand-crafted nice meshes into the repo-pipeline

Task description
This task is probably cross-repository with creo2urdf, @supermonkey-design did an amazing job on remeshing the the existing URDF mesh, and after a chat w/ @fiorisi @traversaro @GiulioRomualdi and @supermonkey-design it came out that it would be nice to add them to this repo, alongside the "ugly" ones.
In case these meshes are heavy for the simulation we might think to change creo2urdf in order to make assignedCollisionGeometry handle also complex meshes, and then use the ugly ones for the collisions, keeping the nice one as visual
Definition of Done
We integrated the @supermonkey-design  meshes
cc @maggia80 @pattacini

As first step I simply added all the new meshes to the repo and find/replace .stl with .obj in the urdf.
I am getting this warning on gazebo side:
[Wrn] [Event.cc:61] Warning: Deleting a connection right after creation. Make sure to save the ConnectionPtr from a Connect call
[Wrn] [OBJLoader.cc:79] Material file [ ./sim_ecub_1-1_l_hip_1.obj.mtl ] not found in a path : /home/ngenesio/robotology/robotology-superbuild/build/install/share/ergoCub/meshes/simmechanics/
Failed to load material file(s). Use default material.
material [ 'material_0' ] not found in .mtl

[Wrn] [OBJLoader.cc:146] Missing material for shape[] in OBJ file[/home/ngenesio/robotology/robotology-superbuild/build/install/share/ergoCub/meshes/simmechanics/sim_ecub_l_hip_1.obj]
[Wrn] [OBJLoader.cc:79] Material file [ ./sim_ecub_1-1_r_hip_1.obj.mtl ] not found in a path : /home/ngenesio/robotology/robotology-superbuild/build/install/share/ergoCub/meshes/simmechanics/
Failed to load material file(s). Use default material.
material [ 'material_0' ] not found in .mtl

[Wrn] [OBJLoader.cc:146] Missing material for shape[] in OBJ file[/home/ngenesio/robotology/robotology-superbuild/build/install/share/ergoCub/meshes/simmechanics/sim_ecub_r_hip_1.obj]
[Wrn] [OBJLoader.cc:79] Material file [ ./sim_ecub_1-1_l_shoulder_1.obj.mtl ] not found in a path : /home/ngenesio/robotology/robotology-superbuild/build/install/share/ergoCub/meshes/simmechanics/
Failed to load material file(s). Use default material.
material [ 'material_0' ] not found in .mtl

[Wrn] [OBJLoader.cc:146] Missing material for shape[] in OBJ file[/home/ngenesio/robotology/robotology-superbuild/build/install/share/ergoCub/meshes/simmechanics/sim_ecub_l_shoulder_1.obj]
[Wrn] [OBJLoader.cc:79] Material file [ ./sim_ecub_1-1_head_neck_3.obj.mtl ] not found in a path : /home/ngenesio/robotology/robotology-superbuild/build/install/share/ergoCub/meshes/simmechanics/
Failed to load material file(s). Use default material.
material [ 'material_0' ] not found in .mtl

[Wrn] [OBJLoader.cc:146] Missing material for shape[] in OBJ file[/home/ngenesio/robotology/robotology-superbuild/build/install/share/ergoCub/meshes/simmechanics/sim_ecub_head_neck_3.obj]
[Wrn] [OBJLoader.cc:79] Material file [ ./sim_ecub_1-1_r_shoulder_1.obj.mtl ] not found in a path : /home/ngenesio/robotology/robotology-superbuild/build/install/share/ergoCub/meshes/simmechanics/
Failed to load material file(s). Use default material.
material [ 'material_0' ] not found in .mtl

[Wrn] [OBJLoader.cc:146] Missing material for shape[] in OBJ file[/home/ngenesio/robotology/robotology-superbuild/build/install/share/ergoCub/meshes/simmechanics/sim_ecub_r_shoulder_1.obj]

and unfortunately the meshes seems to collapse:

cc @Supermonkey-design

I am getting this warning on gazebo side:

Sorry @Nicogene, I've forgotten to change some of the mtl references. It should be ok now.
For the collapsing, I don't know. To launch gazebo or idyntree, in the urdf I've only ever used the path for the visuals (obj) and left the rest as it was.

I am getting this warning on gazebo side:

Sorry @Nicogene, I've forgotten to change some of the mtl references. It should be ok now.

The warning are now disappeared thanks!
For the pose of the meshes instead, with stl usually happens when we export them wrt the part csys (that usually is not where is the link csys), but for these obj I don't know how the procedure work.

To launch gazebo or idyntree, in the urdf I've only ever used the path for the visuals (obj) and left the rest as it was.

It is strange indeed that I am experiencing this problem, I just change the paths too 🤔

The curious thing is that with the 1.1 meshes this does not happen:

Did you replace just collision ao also visuals?

Yes it should!

Is anything printed if you run gazebo --verbose ?

I found out what the problem is.
Preface: The SN001/V1 models have never been created via creo2urdf, they have been built via the old procedure:

https://github.com/icub-tech-iit/ergocub-software/issues/106
https://github.com/icub-tech-iit/ergocub-software/tree/master/urdf/creo2urdf/data/ergocub1_0

Comparing side-by-side the V1 and V1_1 urdf I see an important different on how the meshes are handled:
V_1
    <visual>
      <origin xyz="0 0 0.1785" rpy="0 0 1.5707963267948966"/>
      <geometry>
        <mesh filename="package://ergoCub/meshes/simmechanics/sim_ecub_root_link.obj" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="root_link_color">
        <color rgba="0.9 0.9 0.9 1"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0.1785" rpy="0 0 1.5707963267948966"/>
      <geometry>
        <mesh filename="package://ergoCub/meshes/simmechanics/sim_ecub_root_link.obj" scale="0.001 0.001 0.001"/>
      </geometry>
    </collision>

V1_1
    <visual>
      <origin xyz="0 0 0" rpy="0 -0 0"/>
      <geometry>
        <mesh filename="package://ergoCub/meshes/simmechanics/sim_ecub_1-1_root_link.obj" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="">
        <color rgba="0.6 0.6 0.6 1"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 -0 0"/>
      <geometry>
        <mesh filename="package://ergoCub/meshes/simmechanics/sim_ecub_1-1_root_link.obj" scale="0.001 0.001 0.001"/>
      </geometry>

Long story short, using the old pipeline we have meshes exported w.r.t the csys and then the pose is adjusted using the origin tag, with the new procedure instead we directly export the meshes respect the correct csys, then the origin tag is simply an identity.
@Supermonkey-design just changed the names of the meshes and changed the color starting from the V1_1 ones, probably the V1 have to be export respect CSYS or as last resort I can change all the origin tags in 000 000 also in V1 (

I was wondering if it makes sense to also update the meshes of the sn000 since it is created with a machinery not supported anymore

I was wondering if it makes sense to also update the meshes of the sn000 since it is created with a machinery not supported anymore

You are right, my only fear is that if we want to roll-back to the "ugly" meshes, if we change the urdf the stl meshes have the wrong placement. I quickly tested the impact on the rtf and seems that these new meshes are quite light, but I did not do "complex" task, such as walking grasping etc

Instead about the weight of these meshes, I don't know if we might commit the with git lfs or not, until now for using ergocub-software git lfs was not needed and introducing can be considered a breaking change? @traversaro @pattacini

Hi @Nicogene
The main problem with Git LFS is when we aim to apply it to extensions already hosted in the repo.
Do you know if this is the case here? Do these new meshes have new file extensions that are currently not hosted?

Also, what file size we're talking about?

I've made a little definition in Grasshopper to remap the position of V1_1 meshes into the frame of V1 meshes (so without exporting everything again from creo).

How is this process done? I am always a bit afraid of process that rely on visually checking the aligned of meshes. Did the kinematics changed between ergoCubSN000, 1, 2? If not, we can compute the correct placement from the kinematics, without trying to align the meshes.

How is this process done? I am always a bit afraid of process that rely on visually checking the aligned of meshes. Did the kinematics changed between ergoCubSN000, 1, 2? If not, we can compute the correct placement from the kinematics, without trying to align the meshes.

A part of the fingers they should be kinematically identical

Also, what file size we're talking about?

@pattacini we are passing from 43.8 MB to 96.8 MB, this means we are doubling the size, but still seems a reasonable size

I would apply in case only to .obj and .obj.mtl that have never committed before

Good 👍🏻

@pattacini we are passing from 43.8 MB to 96.8 MB, this means we are doubling the size, but still seems a reasonable size

Not really, we're approaching the GH limit of 100 MB per file, hence LFS seems necessary.

How is this process done? I am always a bit afraid of process that rely on visually checking the aligned of meshes.

Me too, honestly, in this case. My idea was also simple: if the meshes are identical, I can read the shrinkwrapped mesh from SN001 and SN000, compute their bounding box centroids, create a vector from these two points, and use it to remap the position of the detailed meshes.
But for example I had to match the rotation of the bound box of the arms and shoulder. I can do a better job and make it automatic by calculating the frame, but as there were only three meshes, I did it manually.

Yes, that is exactly what I was afraid of. If the meshes are indeed identical, perhaps to use the V1_1 meshes in V1 we can simply set the origin tag of V1 to <origin xyz="0 0 0" rpy="0 0 0"/>, instead of moving the meshes around?

For curiosity I just exported the SN000 urdf using creo2urdf and at first glance seems a well-formed urdf
Maybe this is solved:

https://github.com/icub-tech-iit/ergocub-software/issues/177

Because in these months creo2urdf became more robust, my only doubt is if we are leaving some hack we made by hand behind.
In all these months I tried to keep the yamls updated even if not used

Note that this may change the formatting of the existing xml if tree.write uses another formatting w.r.t. to the one currently used.

@Supermonkey-design Here:

https://github.com/icub-tech-iit/ergocub-software/pull/266

I put all the origin to 000, I can take the old meshes and see if now they work

Yes, that is exactly what I was afraid of. If the meshes are indeed identical, perhaps to use the V1_1 meshes in V1 we can simply set the origin tag of V1 to <origin xyz="0 0 0" rpy="0 0 0"/>, instead of moving the meshes around?

Unfortunately the meshes for the hands are different, so right now the V1 hands looks like this:

This is due to the fact that the URDF contains the V1 transform between links, but the meshes are the ones of the V1_1, that are longer and have some problems of frame definitions:

https://github.com/icub-tech-iit/ergocub-software/issues/199#issuecomment-1862611713

"This is not creating problems, just to be aware of it"
Naif me of 2023 :D
So with @Supermonkey-design we decided to:

Take the stl of V1 obtained via creo2urdf
Convert them to obj

That's it?
Not really, the simulation model of V1 has yet another problem:

https://github.com/icub-tech-iit/ergocub-software/issues/82

That was fixed by @xEnVrE by removing the leverism by hand and committing the stl directly.

I would apply in case only to .obj and .obj.mtl that have never committed before

Good 👍🏻

@pattacini we are passing from 43.8 MB to 96.8 MB, this means we are doubling the size, but still seems a reasonable size

Not really, we're approaching the GH limit of 100 MB per file, hence LFS seems necessary.

About this point maybe I was not clear, but 96.8 MB is the total of the entire ergocub-software folder, the 100 MB limit seems to be related to a single file:

https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-large-files-on-github#about-size-limits-on-github

The limit on the repo seems to be 1 GB.
I would rather avoid using git lfs because this may lead to problems for users, and we should specify to install git lfs both here and in the robotology-superbuild documentation since ergocub-software would be the first repo that requires it.


Show some form of a progress bar while logs load

We could show a progress bar or the step on which the ingestion process is in. Log ingestion takes up to a minute.

I'm interested to work on this! Could you give me some pointers on where to start and some idea about the flow of control?

@arpan98 , yeah sure :smile: This feature is not so well defined, so let's do it step by step. @jgraham will  have more to say about this. I think we can start off by adding steps for log ingestion. Log ingestion primarily needs the following steps :-

Download the file (if URL mode)
Read the file
Add tests
Add test results
Add subtests
Add subtest results

If you observe the console at any point of time, you will see these steps being logged. This aptly shows the sequence of promises. We need to add a UI component for this. Would you be interested? If not, maybe you could see the other active issues in wptview. :smile: Feel free to explore!

@martiansideofthemoon Check out the fix https://github.com/jgraham/wptview/pull/85


Popups at cursor position

Provided a fix for opening popups(such as Unity color picker/material selector) at cursor position and therefore not disappearing when moving the pointer towards them.

Done.


Optional args

It seems that the branch you merged earlier was still a wildly outdated version. That's why it would help you to use a git GUI, which would allow you to better visualize what you're doing.

It seems that the branch you merged earlier was still a wildly outdated version. That's why it would help you to use a git GUI, which would allow you to better visualize what you're doing.

I will give it try!
BTW, I tried and resolved the conflict. Almost all was because of the FldFlags new fields.

You messed up the merge a bit. File QML_exist_Classes_CT.mls was deleted from the main branch and you mistakenly reinstated it.

Test cases to add
As discussed on Discord, here are expected usages of optional parameters:
fun foo0(x: Int?) = if x is undefined then 0 else x + 1

fun foo1(x?) = if x is undefined then 0 else x + 1

The following should not type check
:e
fun foo0(x: Int?) = x + 1

:e
fun foo1(x?) = x + 1

To do this, you have to adapt the typing of tuples when in pattern positions.
And some interesting cases to add, which contain signature checks:
fun foo: (x: Int?) -> Int
fun foo(x?) = if x is undefined then 0 else x + 1

// Ok: function with optional parameter can be widened to function with mandatory parameter
fun foo: (x: Int) -> Int
fun foo(x?) = if x is undefined then 0 else x + 1

:e // The definition's parameter spec is too strong
fun foo: (x: Int?) -> Int
fun foo(x) = x + 1

And some subtype tests:
fun f(x) = (x : [Int, Int?]) : ['a, 'b]

I expect we could accept the case above by constraining Int | undefined <: 'b


Merge 5-24 updates to live (take 2)

Docs Build status updates of commit af36f5c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Skype/Trusted-Application-API/README.md
:white_check_mark:Succeeded

Skype/Trusted-Application-API/docs/DevelopingApplicationsforSFBOnline.md
:white_check_mark:Succeeded

Skype/Trusted-Application-API/docs/ReferenceLibrary.md
:white_check_mark:Succeeded

Skype/Trusted-Application-API/docs/Samples.md
:white_check_mark:Succeeded

Skype/Trusted-Application-API/docs/Trusted_Application_API_GeneralReference.md
:white_check_mark:Succeeded

Skype/Trusted-Application-API/samples/QuickStartSamples/README.md
:white_check_mark:Succeeded

Skype/Trusted-Application-API/samples/readme.md
:white_check_mark:Succeeded

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


feat: add drum machine to new cert

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes https://github.com/freeCodeCamp/CurriculumExpansion/issues/656

Do we want to use the same challenge ID here as the existing drum machine project?

oh geez, looks like I'm late - lol


Do not suggest to convert function to ES2015 class when jsconfig.target is ES5

TypeScript Version:  3.7.0-dev.20190821
Search Terms: es5, quick fix, class, constructor, 8002
Code
/**
 * @constructor
 */
function Classss() {
  this.a = 1;
}

jsconfig.json
{
  "compilerOptions": {
    "target": "es5"
  }
}

Expected behavior:
No suggestion to convert constructor function to class declaration
Actual behavior:
Quickfix suggestion is shown in VS Code 1.37.1 and 1.38.0-insiders for Classss
Playground Link:
Not reproducible on Playground
Related Issues:
None

Could you please explain why you think it shouldn't show the quickfix?

If I use a jsconfig just for typechecking and not for compiling, this could produce invalid code for environments which do not support ES2015.
Maybe I'm just misunderstanding the meaning of target in jsconfig.

TS assumes you're always going to transpile the code using tsc.  target is thus meant as the transpilation target, not the version of syntax supported.  TS itself always supports the latest syntax.
That said, I know there are a lot of cases where tsc is used only as a typechecker (which is why noEmit is a thing) so it might be nice to have a way to disable unsupported syntax in that case.

Newer syntax is always supported (e.g. this is why you won't see an error about using arrow functions, even if target is ES3), so the suggestion is sensical as far TS's consistent view of the world. Nothing forcing you to invoke it, of course.

This is similar in some ways to https://github.com/microsoft/TypeScript/issues/23391, which was changed after some community pushback.


Activation of output layer

Hi,
Just noticed in the paper activation of the output layer is tanh while in your example you used sigmoid.
Is it possible to use both?

Sorry for the late reply.
To be honest, I did not give this much thought when writing the example.
In principle it is of course possible to use both. Personally, I would treat the output activation as a hyperparameter that needs to be tuned. It might be that one or the other works better in general, it might be that it varies by dataset / task.
The range of the functions is different ([-1, 1] for tanh, [0, 1] for sigmoid) so you will also need to adapt the thresholding strategy when doing classification.

If there are no more questions, I will close this issue. Feel free to reopen it otherwise!


Token description change charging x9 proposed fee

Everytime I change a token description I have the fee set to low (as it always is) and then somehow it charges me x6 of that. Every other function uses the fee that is set (low) except changing token description. Not the first time this has happened

Changing asset description to a longer description usually requires encoding the data via multisig, which requires additional btc fees to r code the data.Make sure you’re on the latest version of freewallet, where data encoding costs are confirmed with the user BEFORE broadcasting the transaction…. Freewallet has no hidden fees and all spending of btc is co formed with the user.Sent from my iPhoneOn Sep 15, 2023, at 3:18 PM, adm0dum @.***> wrote:
Everytime I change a token description I have the fee set to low (as it always is) and then somehow it charges me x6 of that. Every other function uses the fee that is set (low) except changing token description.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

adm0dum was on 0.9.23 which was the most recent version 3 days ago.


required parameter does not exclude negated options

Given code like this:
    @Option(names = "--crash-report", defaultValue = "true", negatable = true)
    private boolean crashReportEnabled;

    @Option(names = "--homedir")
    private Path homeDir;

if invoked with --homedir --crash-report, it quits as expected with this message:

Expected parameter for option '--homedir' but found '--crash-report'

But if invoked with the boolean option's negated form --homedir --no-crash-report it assigns --no-crash-report as the value of homeDir.
using picocli and picocli-codegen version 4.5.1.

Thank you for reporting this!
That looks like a bug. Looking into it.

Sorry for the delay.
I found the cause and pushed a fix to master.
This fix will be included in the next release.
Thanks again for raising this!

Picocli 4.5.2, which contains the fix for this issue, has been released.
Enjoy!


yarn container script exit handler fix and refactor

This PR includes:

Fix some bugs in #1108, remove unnecessary logs.
Improve log readability. Killed job and finished job will have different logs.
Killed job:

Finished job:

#2336
We assume only docker errors raise 125 errorcode. This pr covert it to 205, which is launcher USER_APP_TRANSIENT_ERROR. Then launcher will retry it without burning retry count.

Coverage remained the same at 52.647% when pulling 69343b817fe5ae59e6f1ad270b8fb962472255b4 on zimiao/refactor_yarn_script_handler into e9c009250ff08ca6ebfc071514df21a40aeee430 on master.

Coverage remained the same at 52.647% when pulling 69343b817fe5ae59e6f1ad270b8fb962472255b4 on zimiao/refactor_yarn_script_handler into e9c009250ff08ca6ebfc071514df21a40aeee430 on master.

Coverage remained the same at 52.647% when pulling 69343b817fe5ae59e6f1ad270b8fb962472255b4 on zimiao/refactor_yarn_script_handler into e9c009250ff08ca6ebfc071514df21a40aeee430 on master.

Coverage remained the same at 52.647% when pulling 69343b817fe5ae59e6f1ad270b8fb962472255b4 on zimiao/refactor_yarn_script_handler into e9c009250ff08ca6ebfc071514df21a40aeee430 on master.

What if yarn container killed by sigkill?

It will return with 137 immediately, no any clean action. Then container is left on the host.

What if yarn container killed by sigkill?

It will return with 137 immediately, no any clean action. Then container is left on the host.

I assume this will be a rare case. we can ask diskcleaner to remove such dead containers periodically.

instead of using docker inspect. can we conside using "journalctl -k | grep -i -e memory -e oom" to detect the OOM event?
Maybe we don't have to use pid, using some the label to retrieve the container from journalctl?


feat: add bria trigger event handling code

There's some little things we can clean up here still, but I'd like to merge this branch and continue iterating on follow-up branches we've already started refactoring things in (see https://github.com/GaloyMoney/galoy/compare/main...add-bria-onchain-service)


LSTM restoration

Is there any reference how to restore weights of LSTM to serialize model? (e.g. to rnn SeqLSTM).
In other words how to understand which part of self.weight part corresponds to each LSTM weights part (W_i, R_i, bW_i, bR_i, W_f, R_f, bW_f, bR_f, W_o, R_o, bW_o, bR_o, W_c, R_c, bW_c, bR_c)
It is needed to run pre-learned model on CPU.
P.S. There is no cudnn.convert for this layer :(

RNN:weights() and RNN:biases() return tables of tensors corresponding to each weight/bias part. Please look in the RNN.lua source and refer to cudnn manual for cudnnGetRNNLinLayerMatrixParams and cudnnGetRNNLinLayerBiasParams for information on what table member corresponds to what matrix. There is no cudnn.convert for this layer because RNN and LSTM are not part of nn package.

For now you can use this to convert between SeqLSTM and cudnn.LSTM: https://gist.github.com/JoostvDoorn/bd43ce85a101c0aeee03f734ead688fb
It will be helpful if this can be done in the same manner as cudnn.convert.


[EXECUTOR] Experimental Mirror option to squeez mem

as discussed with @antinucleon and @mavenlin . Can you two help review this PR?  I want to make sure code is correct before merge in

CIFAR-10 No BN:

MXNET_BACKWARD_DO_MIRROR
Time
Memory
Val Result

0
35.4 sec
921 MB
35.8%

1
36.5 sec
765 MB
33.9%

@antinucleon Please do a review again

CIFAR-10, without CuDNN, with BN

MXNET_BACKWARD_DO_MIRROR
Time
Memory
Train Result
Val Result

0
84.7 sec
1255 MB
55.6%
60.6%

1
92.4 sec
960 MB
55.6%
60.6

CIFAR-10, with CuDNN, with BN

MXNET_BACKWARD_DO_MIRROR
Time
Memory
Train Result
Val Result

0
46.2 sec
1286 MB
55.7%
66.7%

1
53.5 sec
832 MB
55.0%
66.6%

LGTM, merge first, I will try to fix BN fix_gamma today.

mark! I'll try to use maxnet


IllegalArg: Object is bigger than 16MB when object is much smaller

Steps to Reproduce
Testing storage of an image converted to List<int> of 7MB (7,302,242 bytes), and receiving error Object is bigger than 16MB exception.
Use case: cross-platform image caching
flutter: Uint8List size: 7302242
flutter: List<int> size: 7302242
[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: IsarError: IllegalArg: Object is bigger than 16MB.

Code sample
@collection
class CachedData {
  CachedData(this.storageRefFullPath, this.bytes, this.cacheCreated, this.cacheExpires);

  /// The full path of the [Reference] storage ref (because the [Reference] object is not compatible with isar)
  final String storageRefFullPath;

  /// The Isar Item ID
  Id get id => stringToHash(storageRefFullPath);

  /// The bytes stored
  final List<int> bytes;

  /// Cache created
  final DateTime cacheCreated;

  /// Cache expires
  final DateTime cacheExpires;

  /// Cache Now
  /// Caches an already downloaded Firebase Storage reference
  /// and its bytes for future use.
  static Future<void> cacheBytes({
    required Reference storageRef,
    required Uint8List bytes,
    Duration cacheDuration = const Duration(minutes: 5),
  }) async {
    // Create cacheCreated datetime
    DateTime now = DateTime.now();

    // Create an expiration from the duration
    DateTime expires = now.add(cacheDuration);

    // Construct the entire cache object
    CachedData cachedData = CachedData(storageRef.fullPath, bytes, now, expires);

    final Isar? isar = Isar.getInstance(FireproofCloset.kDatabaseName);
    if (isar == null) {
      throw ("Unable to get Isar instance: ${FireproofCloset.kDatabaseName}");
    }

    try {
      await isar.writeTxn(() async {
        int id = await isar.cachedDatas.put(cachedData);
        debugPrint("cacheBytes() saved to Isar. id: $id");
      });
    } catch (e) {
      debugPrint(
          "cacheBytes() failed to write to Isar database.\nPath: ${storageRef.fullPath},\nUint8List size: ${bytes.lengthInBytes}\nList<int> size: ${bytes.toList().length}");
      rethrow;
    }

    return;
  }
}

General Question: Is there a reason this is limited to 16MB?
Details

Platform: iOS Emulator 16.1 iPad Air 5th Generation
Flutter version: Flutter 3.3.8
Isar version:

isar: ^3.0.5
isar_flutter_libs: ^3.0.5
isar_generator: ^3.0.5

[x] I searched for similar issues already
[x] I filled the details section with the exact device model and version
[x] I am able to provide a reproducible example

Additional note: I've been expirementing with various image sizes to see what the real max is.
Saving a 2,289,802 bytes image, the save appeared to work. But attempts to read the data caused it to have the following exception:
======== Exception caught by image resource service ================================================
The following FormatException was thrown resolving an image codec:
Unexpected extension byte (at offset 1541235)

When the exception was thrown, this was the stack:
#0      _Utf8Decoder.convertSingle (dart:convert-patch/convert_patch.dart:1755:7)
#1      Utf8Decoder.convert (dart:convert/utf.dart:351:42)
#2      IsarReaderImpl.readStringOrNull (package:isar/src/native/isar_reader_impl.dart:242:24)
#3      IsarReaderImpl.readString (package:isar/src/native/isar_reader_impl.dart:224:12)
#4      _cachedDataDeserialize (package:fireproof_closet/src/cached_data.g.dart:85:12)
#5      IsarCollectionImpl.deserializeObject (package:isar/src/native/isar_collection_impl.dart:42:38)
#6      IsarCollectionImpl.deserializeObjectsOrNull (package:isar/src/native/isar_collection_impl.dart:78:22)
#7      IsarCollectionImpl.getAll.<anonymous closure> (package:isar/src/native/isar_collection_impl.dart:168:14)
<asynchronous suspension>
#8      IsarCommon._beginTxn (package:isar/src/common/isar_common.dart:54:18)
<asynchronous suspension>
#9      CachedData.getFromCache (package:fireproof_closet/src/cached_data.dart:42:38)
<asynchronous suspension>
#10     FireproofImage._loadAsync (package:fireproof_closet/src/fireproof_image_provider.dart:93:38)
<asynchronous suspension>
Image provider: FireproofImage("Reference(app: [DEFAULT], fullPath: user-uploads/ooWqOgaDwktSgZP6N0Pr/author-image/two-two.jpg)", scale: 1.0)
Image key: FireproofImage("Reference(app: [DEFAULT], fullPath: user-uploads/ooWqOgaDwktSgZP6N0Pr/author-image/two-two.jpg)", scale: 1.0)
====================================================================================================

Loading the Isar debug browser caused the app. to crash in simulator. However, interestingly, in the debug browser (before crash) it displays the 2,289,802 bytes image as being 17.48 MB.

Change final List<int> bytes; to final List<byte> bytes;

Thank you for the fast response.
I can confirm that changing it to final List<byte> bytes; worked and solved the size discrepancy issue as well.
The data I provided to this was type Uint8List. Is it possible for the schema to support this type since many dart image and file handing functions use this? Otherwise, it would be good in the docs to know that List<byte> is an option and that it's compatible.

Uint8List is a List so the two types are compatible. I'll add some more information to the docs 🙂


loggerFactory.AddApplicationInsights should read LogLevel from configuration

If you are reporting bug/issue, please provide detailed Repro instructions.
Repro Steps
Used the AddApplicationInsights() extension method
Actual Behavior
Using the AddApplicationInsights() extension method requires passing in a specific LogLevel (or it defaults to LogLevel.Warning if not passed)
Expected Behavior
It would be nice if the default behavior was to read the LogLevel from the Configuration so that this could be controlled without having to make a code change.
Version Info
SDK Version : 2.3.0
Source code: https://github.com/Microsoft/ApplicationInsights-aspnetcore/blob/725a7bd3239438415fa82eb1445442cce7f999cf/src/Microsoft.ApplicationInsights.AspNetCore/Logging/Implementation/ApplicationInsightsLoggerFactoryExtensions.cs

I tried the following as suggested by @cijothomas in another issue, but it does not work. Specifically I am interested in controlling the telemetry (trace) default log level.
"Logging": {
"IncludeScopes": false,
"ApplicationInsights": {
"LogLevel": {
"Default": "None"
}
},
"LogLevel": {
"Default": "Warning"
}
}

@briandunnington
I just tried this and works without issues.
Here's what I did:

Enabled logging with this call loggerFactory.AddApplicationInsights(app.ApplicationServices);. Note: I did not pass logging level here.
Modified a controller to emit logs of all Levels as shown below:

        // GET api/values
        [HttpGet]
        public ActionResult<IEnumerable<string>> Get()
        {
            _logger.LogTrace("My Trace Log");
            _logger.LogDebug("My Debug Log");
            _logger.LogInformation("My Information Log");
            _logger.LogWarning("My Warning Log");
            _logger.LogError("My Error Log");
            _logger.LogCritical("My Critical Log");

            return new string[] { "value1", "value2" };
        }

Added following in appsettings.json

"Logging": {
    "ApplicationInsights": {
      "LogLevel": {
        "Default": "None"
      }
    }

Ran the app - I see no logs capture by AI.
Changed loglevel in appsettings.json to Warning, and then ran the app. AI now captures logs above Warning level.
Can you make sure that appsettings.json is copied to the published location?

@cijothomas
You can clearly see in the code file  that LogLevel.Warning is used if you're not passing the LogLevel yourself
public static ILoggerFactory AddApplicationInsights(this ILoggerFactory factory, IServiceProvider serviceProvider)
{
      return factory.AddApplicationInsights(serviceProvider, LogLevel.Warning);
}

I'm not sure why your example worked

"Logging": {
"ApplicationInsights": {
"LogLevel": {
"Default": "None"
}
}
This overrides the log level.

This works if the LogLevel in appsettings is set to None, Critical, Error or Warning. If it's set to a lower level such as information it won't actually send unless AddApplicationInsights has a LogLevel of that level or lower.
Is this the expected behavior? It seems like there's two layers of checks and the app setting and the value passed in both need to be of the log level or lower for it to work.
To get the functionality I want of getting my own logs to appear and controlling this in config rather than code I use this in startup:
loggerFactory.AddApplicationInsights(app.ApplicationServices, LogLevel.Trace);
And then in my settings something like this
"Logging": {      "ApplicationInsights": {       "LogLevel": {         "Default": "Debug",         "Microsoft": "Warning"       }     }
This logs all my own debug or higher but suppresses anything with a Microsoft prefix unless it's warning or higher.


Link to the correct issue page for feedback

Right now every time @brutusthebee does anything I want to give feedback on, I'm never sure if it's an issue for pybee/beekeeper of pybee/beefore. (Even as I'm writing this, I'm not sure if it's more suited for beefore)
A link in @brutusthebee's bio or even in his comments will help clarify this confusion and streamline the feedback process

I can't see any way to put links in a bio (if you've got any tips, I'm all ears) - in the meantime, I've expanded Brutus' bio. If you think it needs additional changes, let me know.
Regarding the specific query - the comments that Brutus leaves are always the result of feedback from Beefore, not BeeKeeper. BeeKeeper is the CI system that runs (amongst other things) Beefore tasks.


Can't log in to your account?

Have the same issue for both of my accounts. I have 2 factor login and not getting the text messages...
HELP!!!
My accounts are:
<EMAIL_ADDRESS><EMAIL_ADDRESS>

Hello @p7742777,Thanks for your suggestion or question! In an attempt to clear out our backlog,                                              we are closing out issues over 90 days old.                                             If this is still an issue, please feel free to reopen it.                                             Team SendGrid DX-Docs


examples/experimental/js/with-mapbox-map not working OOB

examples/experimental/js/with-mapbox-map not working 'out of box':
Actual Result
Deck.GL layer did not render, mouse navigation not working.
Uncaught TypeError: Deck is not a constructor
    at App.onLoad (app.js:84)

app.js:58 Uncaught TypeError: Cannot read property 'setProps' of undefined
    at App.setProps (app.js:58)
    at App.onResize (app.js:66)

Expected Result
Deck.GL layer renders ontop of MapGL and mouse navigation works.
Reproduce Steps
git clone https://github.com/uber/deck.gl.git
cd examples/experimental/js/with-mapbox-map
npm install
npm start
Should i just wait till the JS API is official?
https://github.com/uber/deck.gl/issues/1429

@alandroid Yes looks broken, thanks for reporting! While we make efforts to keep everything working, the master branch is essentially always under development so it can break, especially in the experimental stuff which we are actively working on.
For that reason it is recommended to use a release branch when working with examples. I just tried the same example on the 5.1-release branch and it worked. `
Also, npm run start-local will build against local deck.gl source (as opposed to npm start which used the installed deck.gl lib) so that is also worth trying, especially if you run on master.
There is a section in the docs that attempts to explain this.


deeplearning4j-master.zip fails to install

Downloaded deeplearning4j-master.zip from git on 2017-08-27
unzipped to directory ~/dl4j/dl4j-examples/deeplearning4j-master
mvn clean install fails with Mojo Execution Exception
This appears to be a Maven specific error but solutions are unclear
So the initial package, DeepLearning4J, fails to build an the rest are skipped
I have not found anything relevant for the outstanding Warning:
[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireActiveProfile failed with message:
Profile "test-nd4j-native" is not activated.
Profile "test-nd4j-cuda-8.0" is not activated.
-- System
Ubuntu 17.04
Java 8.0
Cuda 8.0
Maven 3.3.9
CUDA_ROOT=/usr/local/cuda
JAVAFX_HOME=/opt/java/jdk1.8.0_141/jre/lib/ext/jfxrt.jar
JAVA_HOME=/usr/lib/jvm/java-8-oracle
-- Install log
mvn clean install[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] DeepLearning4j
[INFO] deeplearning4j-nearestneighbors-parent
[INFO] nearestneighbor-core
[INFO] deeplearning4j-nn
[INFO] deeplearning4j-modelimport
[INFO] deeplearning4j-ui-parent
[INFO] deeplearning4j-ui-components
[INFO] deeplearning4j-core
[INFO] deeplearning4j-ui-model
[INFO] deeplearning4j-play
[INFO] DeepLearning4j-scaleout-parent
[INFO] org.deeplearning4j.spark
[INFO] dl4j-spark
[INFO] Dl4j Streaming
[INFO] DeepLearning4j-AWS
[INFO] deeplearning4j-nlp-parent
[INFO] deeplearning4j-nlp
[INFO] dl4j-spark-nlp
[INFO] deeplearning4j-parallel-wrapper
[INFO] dl4j-spark-parameterserver
[INFO] dl4j-spark-nlp-java8
[INFO] dl4j-spark-ml
[INFO] deeplearning4j-scaleout-parallelwrapper-parameter-server
[INFO] deeplearning4j-ui-resources
[INFO] deeplearning4j-ui
[INFO] deeplearning4j-ui-remote-iterationlisteners
[INFO] deeplearning4j-graph
[INFO] deeplearning4j-cuda
[INFO] deeplearning4j-nlp-uima
[INFO] deeplearning4j-nlp-korean
[INFO] deeplearning4j-nlp-japanese
[INFO] deeplearning4j-nlp-chinese
[INFO] deeplearning4j-zoo
[INFO] deeplearning4j-nearestneighbors-model
[INFO] deeplearning4j-nearestneighbors-client
[INFO] deeplearning4j-nearestneighbor-server_2.11
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building DeepLearning4j 0.9.2-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ deeplearning4j-parent ---
[INFO] Deleting /home/kirtu/dl4j/dl4j-examples/deeplearning4j-master/target
[INFO]
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-maven) @ deeplearning4j-parent ---
[INFO]
[INFO] --- lint-maven-plugin:0.0.11:check (pom-lint) @ deeplearning4j-parent ---
[INFO] Writing summary report
[INFO] [LINT] Completed with no violations
[INFO] Writing xml report
[INFO]
[INFO] --- git-commit-id-plugin:2.2.2:revision (default) @ deeplearning4j-parent ---
[INFO]
[INFO] --- build-helper-maven-plugin:3.0.0:add-resource (add-resource) @ deeplearning4j-parent ---
[INFO]
[INFO] --- scala-maven-plugin:3.2.2:add-source (scala-compile-first) @ deeplearning4j-parent ---
[INFO] Add Source directory: /home/kirtu/dl4j/dl4j-examples/deeplearning4j-master/src/main/scala
[INFO] Add Test Source directory: /home/kirtu/dl4j/dl4j-examples/deeplearning4j-master/src/test/scala
[INFO]
[INFO] --- scala-maven-plugin:3.2.2:compile (scala-compile-first) @ deeplearning4j-parent ---
[INFO] No sources to compile
[INFO]
[INFO] --- scala-maven-plugin:3.2.2:add-source (scala-test-compile) @ deeplearning4j-parent ---
[INFO]
[INFO] --- scala-maven-plugin:3.2.2:testCompile (scala-test-compile) @ deeplearning4j-parent ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-choice-of-nd4j-test-backend) @ deeplearning4j-parent ---
[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireActiveProfile failed with message:
Profile "test-nd4j-native" is not activated.
Profile "test-nd4j-cuda-8.0" is not activated.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] DeepLearning4j ..................................... FAILURE [ 11.619 s]
[INFO] deeplearning4j-nearestneighbors-parent ............. SKIPPED
[INFO] nearestneighbor-core ............................... SKIPPED
[INFO] deeplearning4j-nn .................................. SKIPPED
[INFO] deeplearning4j-modelimport ......................... SKIPPED
[INFO] deeplearning4j-ui-parent ........................... SKIPPED
[INFO] deeplearning4j-ui-components ....................... SKIPPED
[INFO] deeplearning4j-core ................................ SKIPPED
[INFO] deeplearning4j-ui-model ............................ SKIPPED
[INFO] deeplearning4j-play ................................ SKIPPED
[INFO] DeepLearning4j-scaleout-parent ..................... SKIPPED
[INFO] org.deeplearning4j.spark ........................... SKIPPED
[INFO] dl4j-spark ......................................... SKIPPED
[INFO] Dl4j Streaming ..................................... SKIPPED
[INFO] DeepLearning4j-AWS ................................. SKIPPED
[INFO] deeplearning4j-nlp-parent .......................... SKIPPED
[INFO] deeplearning4j-nlp ................................. SKIPPED
[INFO] dl4j-spark-nlp ..................................... SKIPPED
[INFO] deeplearning4j-parallel-wrapper .................... SKIPPED
[INFO] dl4j-spark-parameterserver ......................... SKIPPED
[INFO] dl4j-spark-nlp-java8 ............................... SKIPPED
[INFO] dl4j-spark-ml ...................................... SKIPPED
[INFO] deeplearning4j-scaleout-parallelwrapper-parameter-server SKIPPED
[INFO] deeplearning4j-ui-resources ........................ SKIPPED
[INFO] deeplearning4j-ui .................................. SKIPPED
[INFO] deeplearning4j-ui-remote-iterationlisteners ........ SKIPPED
[INFO] deeplearning4j-graph ............................... SKIPPED
[INFO] deeplearning4j-cuda ................................ SKIPPED
[INFO] deeplearning4j-nlp-uima ............................ SKIPPED
[INFO] deeplearning4j-nlp-korean .......................... SKIPPED
[INFO] deeplearning4j-nlp-japanese ........................ SKIPPED
[INFO] deeplearning4j-nlp-chinese ......................... SKIPPED
[INFO] deeplearning4j-zoo ................................. SKIPPED
[INFO] deeplearning4j-nearestneighbors-model .............. SKIPPED
[INFO] deeplearning4j-nearestneighbors-client ............. SKIPPED
[INFO] deeplearning4j-nearestneighbor-server_2.11 ......... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.947 s
[INFO] Finished at: 2017-08-27T16:17:27-04:00
[INFO] Final Memory: 23M/174M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (enforce-choice-of-nd4j-test-backend) on project deeplearning4j-parent: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

changed JAVA_HOME to JAVA_HOME=/opt/java/jdk1.8.0_141
No change

However I don't have a GPU ---
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.66                 Driver Version: 384.66                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  NVS 4200M           Off  | 00000000:01:00.0 N/A |                  N/A |
| N/A   52C    P8    N/A /  N/A |    110MiB /   454MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0                  Not Supported                                         |
+-----------------------------------------------------------------------------+

Please read maven error message, it's pretty much self-containing:

[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-choice-of-nd4j-test-backend) @ deeplearning4j-parent ---
[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireActiveProfile failed with message:
Profile "test-nd4j-native" is not activated.
Profile "test-nd4j-cuda-8.0" is not activated.

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (enforce-choice-of-nd4j-test-backend) on project deeplearning4j-parent: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1]

Please, consider reading dl4j local build instructions if for some reason you're going to build from sources instead of using maven dependencies.

https://deeplearning4j.org/buildinglocally

I read the maven message and it is completely unclear to people who don't know maven.
I am following the quickstart instructions .
$ git clone https://github.com/deeplearning4j/dl4j-examples.git
$ cd dl4j-examples/
$ mvn clean install
Out of the box the software doesn't work.\

Output log you've posted was from deeplearning4j repo.
Post your output from dl4j-examples mvn clean install

@kirtu before you go through debugging all this - is there a reason you are building DL4J from source?
99.9% of users don't need to, and shouldn't build from source like you are trying to do.
But as @raver119 said, you are trying to install DL4J, not the examples according to what you posted above.
For DL4J, you should use 0.9.1 on maven central (as per the quick-snart guide), or if you really need the development version (you probably don't) https://deeplearning4j.org/snapshots


Add random_seed for resampling

Resampling is random so we need to make it reproducible.
I think dalex.resample uses numpy. possibly we can just put np.random_seed(random_seed) in the code someplace.
Let me know if we need to talk about this one.
https://github.com/EqualityAI/EqualityML/blob/90e04435007a653b5c4c69dc5a9b86e0c5d34ce7/equalityml/fair.py#L270-L294

Fixed


Examples of speech tensor shape for gst models?

I'm trying to figure out how to use models from here in the espnet2 colab demo: https://colab.research.google.com/github/espnet/notebook/blob/master/espnet2_tts_realtime_demo.ipynb
I'm using these values for tag, vocoder_tag, etc:
fs, lang = 24000, "English"
tag = "kan-bayashi/vctk_tts_train_gst_tacotron2_raw_phn_tacotron_g2p_en_no_space_train.loss.best"
vocoder_tag = "ljspeech_multi_band_melgan.v2"

And trying to get it to run by setting a random value for speech
x = "This is my favorite sentence!"

speech = torch.randn(512, 80) # this is wrong

# synthesis
with torch.no_grad():
    start = time.time()
    wav, c, *_ = text2speech(x, speech=speech)
    wav = vocoder.inference(c)
rtf = (time.time() - start) / (len(wav) / fs)
print(f"RTF = {rtf:5f}")

# let us listen to generated samples
from IPython.display import display, Audio
display(Audio(wav.view(-1).cpu().numpy(), rate=fs))

But I get the error:
RuntimeError: Padding size should be less than the corresponding input dimension, but got: padding (1024, 1024) at dimension 2 of input (1,.,.) = ...

I feel like this is because the shape of speech is wrong. Are there any examples of how to compute a proper value for it?
I see in the code it's expecting shape (Lmax, idim). I can see that odim is 80 and when I look at the value of text2speech.tts.odim.
On the other hand, perhaps I've misunderstood something obvious about how to approach this. :)

Hi. @ajbouh.
Since the feature extraction will be performed on-the-fly, you must provide wavform for speech (e.g. torch.randn(50000,).

I added multi-speaker example in the notebook.
Please enjoy!
https://colab.research.google.com/github/espnet/notebook/blob/master/espnet2_tts_realtime_demo.ipynb

Thank you for the example! As I experiment with it, I see that the length of the supplied speech is very important. I also see that the output seems to be slower and the surprisingly variable.
Here's a trimmed down example for two different reference speakers and some text (both reference and random): https://colab.research.google.com/drive/1FLcSi4fSqkxfwzfVRMwzPQgpGp-FOXpJ?usp=sharing
Do you have any advice for improving quality?

Hmm. I did not tune the hyperparameters for GST, especially the following parameters.

gst_heads: the number of attention heads.
gst_tokens: the number of GST tokens.
https://github.com/espnet/espnet/blob/5aeb9926334125d63121e7a11764aa8ac21dee67/egs2/vctk/tts1/conf/tuning/train_gst_tacotron2.yaml#L34-L35
We need to tune thes parameters to make it stable to reflect the speaker characteristics.

What sorts of experimental results do you mean?
Do you want the samples I generated from the current model checkpoint or are you suggesting something else?

The behavior in the synthesis is also important.
And we need to tune the above hyper parameters.
So if you train the model with different parameters and report the effectiveness, that is great.

Ah, I see. Unfortunately I don't have a single GPU that's as good as what
you've been using. How long are your training runs on the V100?
Do any of your scripts support multi-GPU training?
On Sat, Sep 19, 2020, 21:21 Tomoki Hayashi<EMAIL_ADDRESS>wrote:

The behavior in the synthesis is also important.
And we need to tune the above hyper parameters.
So if you train the model with different parameters and report the
effectiveness, that is great.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/espnet/espnet_model_zoo/issues/7#issuecomment-695688823,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAABZHMSKBJ7MBQKNK3PUTTSGV7LJANCNFSM4RRCEKLQ
.

GST Tacotron2 takes 2 days on Titan V.
Of course, we support multi-gpu training.

Try https://github.com/espnet/espnet/tree/master/egs2/vctk/tts1
See the usage https://github.com/espnet/espnet/tree/master/egs2/TEMPLATE/tts1


ashuffle re-write in C++

This is a complete re-write of ashuffle in (hopefully) idiomatic C++. ashuffle was not getting not-fun to work on as the complexity of various performance fixes and features is increasing. By re-writing in C++ we can leverage the substantially more powerful abstractions provided by C++, and helpful utilities in the C++ stdlib.
This PR contains no feature changes, and was written in a way to specifically prevent observable changes to features. The translation was done file-by-file, and tests were kept as similar as possible.
This change also:

Takes a new dependency on cmake in the build system, to support the following two bullets.
Includes a re-write of ashuffle's unit tests in googletest. googletest is substantially nicer than libtap since it supports C++ features "out of the box".
Takes a dependency on absl. This is mainly used for some helpful string formatting utilities not present in the stdlib. I took a dependency on absl instead of a more popular library like boost because I wanted to vendor the library, and I want to keep the dependency set relatively small.

While I was trying to set this up, it appears that this C++ re-write only builds with relatively recent clang builds (8.0+). I think that means this PR needs to be blocked on some kind of binary release that will support most users (likely linux x86_64), and then updated build instructions.

On debian stable this fails to build because of meson version, the gcc 8.3.0 provided seems to work ok.
This seems to require meson 52 or higher:

51 failed with meson.build:5:0: ERROR: Unknown target type "INTERFACE_LIBRARY" after generating absl stuff, I assume installing it manually instead of using subproject might work around the issue
50 failed with meson.build:5:0: ERROR: Module cmake does not have method subproject., same comment
49 (debian's) failed with meson.build:3:0: ERROR:  Module "cmake" does not exist

Thankfully upgrading meson is as simple as cloning and running meson.py from the repo, and that aside building went fine and it seems to work. I half regret no longer having my arm machine to try :)
That aside:

(I hadn't updated in ages so change from --queue_buffer to --queue-buffer broke but can't really blame anyone for that...)
I'm surprised no native libmpdclient c++ library exist (class-like interface), but it's not so complicated so meh why not.

Thanks for trying out the patch @martinetd!

On debian stable this fails to build because of meson version, the gcc 8.3.0 provided seems to work ok.

Well that's good to know. It was failing with gcc on travis. We're using the C++20 aggregate initialization form (similar to the C99 form) in some places. It looked like GCC didn't have this enabled, but I guess that was an even older version, or I read something wrong.

This seems to require meson 52 or higher

That's kind-of a bummer. I didn't notice this since we use 52 on Travis. I think this just provides more evidence that the build is probably too complicated with this change for "just build it yourself" to be the only distribution strategy.
I'll take a stab at an x86_64-linux-glibc binary distribution this weekend. If we have that, I think building would become a non-issue for most users, and it would be OK to merge this.

I'm surprised no native libmpdclient c++ library exist (class-like interface).

I mean, I know at least ncmpcpp has a C++ wrapper around libmpdclient. So others have done it before. But yeah, it is kinda strange there isn't a canonical one. Like you say though, the wrapper isn't too bad for ashuffle's use-case, and it makes the unit-tests much cleaner and more hermetic, so I don't feel too bad about this in-house wrapper :)

Merged and tagged v3.0.0.


fatal error: ffi.h: No such file or directory

To fix, added the below to the Dockerfile before pip install:
RUN apk add --no-cache build-base libffi libffi-dev

Hi @steren could you please take a look and merge if possible.


CI pipelines: deploy single machine cluster

make sure master is untainted so we can deploy stuff on K8n master node


Update on npm

The package on npm is the previous version.
Would you please upload the latest version?
I can't wait to use Promise for my bot 🤘
Thanks a lot! 🍻

+1 please

Will push to NPM later today


Port forward bolt

Greetings!
I was using neo4j-graphl-js for a university homework and wanted to spin up Neo4J in my CI as a Github Action and was pointed to your repository.
Newer versions of Neo4j communicate via Bolt (port 7687) with various driver so I added port forwarding for that to make it work. It's also included in the Neo4j's official guide for docker.

Thank you.
Released in v1.2.0

Thank you.
Released in v1.2.0


New version: Automa v0.8.1

Registering package: Automa
Repository: https://github.com/BioJulia/Automa.jl
Created by: @kescobo
Version: v0.8.1
Commit: f7ec42c2df160c05e17e1d35c4e14631f2894bef
Reviewed by: @kescobo
Reference: https://github.com/BioJulia/Automa.jl/commit/f7ec42c2df160c05e17e1d35c4e14631f2894bef#commitcomment-48670850

@kescobo please see above.  In particular, the package is missing a license :slightly_smiling_face:
[noblock]


Default settings

Is there a way to include default settings that are always configured when generating client code? It'd be exceptionally useful not to need to select the 10 options I want to re-configure every time I use NSwagStudio.

You can save the configuration as a file in NSwagStudio so that you can regenerate clients quickly or via CLI.

Yeah, but I can only save and load configuration for a specific client that I've already configured. I want configuration that is loaded by default when I want to generate a new client (otherwise I have to re-configure all of those settings).

The config is a JSON file, why dont you create a template and copy this?

Right, I understand that. We could certainly create a dotnet template or something which produces the correct configuration given a url, but, at this point, we plan on using NSwagStudio to manage references to downstream services in the form of an nswag document just like we do with wcf services. The primary reason is that it allows developers to configure a service reference directly in visual studio which is an operation that they're already familiar with.
I'd like to have the same sort of functionality with the NSwag client so that it's not a big mental leap for someone to figure out how to configure multiple service references quickly (in this case, multiple http api endpoints)
It'd be nice if I could just configure the options I want once and then generate nswag files for different swagger uris without having to tweak the config settings each time.


Property change event

It'd be useful to have a property change event for creating stateless components. This could then be prevented, and a stateless component made.
We could make this optional on the property level – whether or not it triggers an event, and is preventable.

skate('my-element', {
  properties: {
    event: true // or 'event-name'?
  }
});

^ ??
Event should probably be:
{ bubbles: false, cancelable: true }

On second thought, it should probably be cancelable, we'll just need to be aware of the above issue when automating the React integration.

Outstanding items
The outstanding things for this as I see it are:
Default value
What's the default value? I'd vote for false, or some form of falsy. It'd be a big assumption to have on by default as it would create a significant amount of overhead for those who wouldn't be using it.
Allow boolean true or just String
Should we allow true to be specified? If so, what's the default event name we want to use? I'd vote for not supporting true and have it always coerce to a String if not falsy. You've got to opt-in anyways so the consumer may as well choose an event name. That way when reading the definition, it's clear to the reader what's going on, rather than making then have knowledge of what Skate's default is.
Property option name
What should the property option name be? I vote for either event or notify.
IRL decisions:

The event should not bubble - performance and accuracy (a bubbled event could fire on an element who's property didn't actually change.
The event should be cancelable - allows for truly stateless components.


Requestify circularity checking

Add requests for checking whether a class, protocol, or enum have circular references in their inheritance lists, using the request evaluator's cycle detection.

@swift-ci please test


⚠ Bofrost.es has degraded performance

In af1a74d, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1475 ms

Resolved: Bofrost.es performance has improved in 41ad467.