Incorrect http response

Trying to resolve part of this issue - https://github.com/jkcclemens/paste/issues/232
i tried to send compressed post body with Content-Encoding: gzip header
Server responded me with error 400, i think this is incorrect response code.
Server should return error 415, since it can't accept gzipped content
https://tools.ietf.org/html/rfc2616#page-118
If the content-coding of an entity in a request message is not
   acceptable to the origin server, the server SHOULD respond with a
   status code of 415 (Unsupported Media Type).

My hunch is that your request is actually invalid, making 400 correct. I will have to test to reproduce.

URL: https://api.paste.gg/v1/pastes
Method: POST
Headers:
User-Agent: Mozilla/5.0
Content-Type: application/json
Content-Encoding: gzip

Base64(RFC2045) of gzipped UTF-8 string bytes:
H4sIAAAAAAAAADWKwQ6CMBAF/2WvillXJNBbNSZqvOlJ4wG1JZvUQmghKOm/Ww6+07zJjNCz4wcb
9h8Q0FnDzqsXzEENDbfKRUlImCAly+JCJBDFar2gHLM8u8ZOs5mq2wjP2nplPYgRdN2+y0hQfbmJ
UV+aTsW7T91B/rf1x9M53Ug5zHRR7SYFIdzDD+fxdCSUAAAA

I can decode it to
{"visibility":"unlisted","expires":"2020-02-19T22:00:35.280686Z","files":[{"content":{"format":"gzip","value":"H4sIAAAAAAAAACtJLS4BAAx+f9gEAAAA"}}]}

Content-Encoding works the other way, the body sent to the server needs to be gzip'd, so you should base64 the json, then gzip it.
$ <<< '{"visibility":"unlisted","expires":"2020-02-19T22:00:35.280686Z","files":[{"content":{"format":"gzip","value":"H4sIAAAAAAAAACtJLS4BAAx+f9gEAAAA"}}]}' \
    base64 | gzip | curl -si -d @- -H 'content-encoding: gzip' -H 'content-type: application/json' https://api.paste.gg/v1/pastes
HTTP/2 400
server: nginx
date: Thu, 20 Feb 2020 09:55:21 GMT
content-type: application/json
content-length: 52
content-security-policy: frame-ancestors 'none'; script-src 'self'; object-src 'none'; font-src 'self'; img-src 'self' camo.paste.gg; default-src 'self'; require-sri-for script style; base-uri 'none'; block-all-mixed-content; style-src 'self'
x-frame-options: DENY
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
referrer-policy: strict-origin-when-cross-origin
feature-policy: accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'
access-control-allow-origin: *
strict-transport-security: max-age=31536000; includeSubDomains; preload

{"status":"error","error":"bad_json","message":null}

Not sure why you get an error, I'll let @jkcclemens check the logs.
If you do it the other way around, the message is pretty clear that your base64 is not decoded at all:
$ <<< '{"visibility":"unlisted","expires":"2020-02-19T22:00:35.280686Z","files":[{"content":{"format":"gzip","value":"H4sIAAAAAAAAACtJLS4BAAx+f9gEAAAA"}}]}' \
    gzip | base64 | curl -si -d @- -H 'content-encoding: gzip' -H 'content-type: application/json' https://api.paste.gg/v1/pastes
HTTP/2 400
server: nginx
date: Thu, 20 Feb 2020 09:56:39 GMT
content-type: application/json
content-length: 105
content-security-policy: frame-ancestors 'none'; script-src 'self'; object-src 'none'; font-src 'self'; img-src 'self' camo.paste.gg; default-src 'self'; require-sri-for script style; base-uri 'none'; block-all-mixed-content; style-src 'self'
x-frame-options: DENY
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
referrer-policy: strict-origin-when-cross-origin
feature-policy: accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'
access-control-allow-origin: *
strict-transport-security: max-age=31536000; includeSubDomains; preload

{"status":"error","error":"bad_json","message":"could not parse json: expected value at line 1 column 1"}

The JSON shouldn't be being base64-encoded either way. The correct way to send a gzip-encoded paste to the server would be as follows:
% <<< '{"visibility":"unlisted","expires":"2021-02-19T22:00:35.280686Z","files":[{"content":{"format":"gzip","value":"H4sIAAAAAAAAACtJLS4BAAx+f9gEAAAA"}}]}' gzip | curl -si -d @- -H 'content-encoding: gzip' -H 'content-type: application/json' https://api.paste.gg/v1/pastes
HTTP/2 400
server: nginx
date: Thu, 20 Feb 2020 18:49:39 GMT
content-type: application/json
content-length: 52
content-security-policy: frame-ancestors 'none'; script-src 'self'; object-src 'none'; font-src 'self'; img-src 'self' camo.paste.gg; default-src 'self'; require-sri-for script style; base-uri 'none'; block-all-mixed-content; style-src 'self'
x-frame-options: DENY
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
referrer-policy: strict-origin-when-cross-origin
feature-policy: accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'
access-control-allow-origin: *
strict-transport-security: max-age=31536000; includeSubDomains; preload

{"status":"error","error":"bad_json","message":null}

I will have to figure out why there's an error, but my guess is that it's not decoding the gzipped POST body.


Support for multiple FTP users?

Wondering if it's possible to define multiple FTP users?

As a workaround, you can run multiple docker containers.


react native download as blob unsupported

Looks like there's an error when calling filesDownload in a react native app. Output error:
{ [Invariant Violation: The provided value 'blob' is unsupported in this environment.]       line: 2074,       column: 16,       sourceURL: 'http://localhost:8081/index.ios.bundle?platform=ios&dev=true&minify=false',       name: 'Invariant Violation',       framesToPop: 1 }

Hey @rubengarciam, react native isn't currently a platform that we support. If you are interested in opening a pull request to implement this, let me know and we can discuss details. Otherwise, the easiest fix for you is going to be to implement your own downloadRequest function that works in react native. Let me know if you have any other questions.

Just not enforcing the responseType as blob fixes the issue in react native (i.e., commenting line 70 in download-request.js

do you know a good way to check if the current environment is react native? we could potentially set download-request.js69 to something like if (this.xhr && ![react native]) { so that it doesnt get set for react native.

try/catch should do the trick?
try {
 require('react-native')
} catch (e) {
// whatever
 console.log(e)
}

You can use the navigator.product
const isReactNative = navigator.product === 'ReactNative'

Indeed, https://github.com/evanbattaglia/dropbox-sdk-js/commit/fbb202abbcf9e1a359293892863e8e155b471c90 seems to work for me.

@RileyTomasek @evanbattaglia  Couldn't make it work for large files or some formats. Managed to get it working using react-native-fs' downloadFile and calling Dropbox's download HTTP endpoint instead
RNFS.downloadFile({
            fromUrl: "https://content.dropboxapi.com/2/files/download",
            toFile: localPath,
            headers: {"Authorization": "Bearer XXXXXX",
           "Dropbox-API-Arg": JSON.stringify({path: PATH})}
          }).promise.then((response) => {
            if (response.statusCode == 200) {
              console.log('FILES Downloaded!')
           } else {
             console.log('SERVER ERROR')
           }})

@RileyTomasek @evanbattaglia  Couldn't make it work for large files or some formats. Managed to get it working using react-native-fs' downloadFile and calling Dropbox's download HTTP endpoint instead
RNFS.downloadFile({
            fromUrl: "https://content.dropboxapi.com/2/files/download",
            toFile: localPath,
            headers: {"Authorization": "Bearer XXXXXX",
           "Dropbox-API-Arg": JSON.stringify({path: PATH})}
          }).promise.then((response) => {
            if (response.statusCode == 200) {
              console.log('FILES Downloaded!')
           } else {
             console.log('SERVER ERROR')
           }})


5.0 RC4: Add warnings to aggregations that may be removed in a future release

I'm not sure if this is possible but was looking at https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-pipeline-max-bucket-aggregation.html and basically there are a lot of features that say caution it may be removed. Can we mark these as a compile time warning so at least you check out the docs, so you don't adopt a feature without at least the warning that it may be removed.
I'm not sure an obsolete attribute is right, but also potentially using something that could be removed does not set up end users for success (we like idiots, used every deprecated feature in the 1.x client and it has bitten us hard 👎  )..

I don't feel there's a better way of doing this, beyond them being documented as experimental on the Elastic site; they could be changed or removed in a future release but equally, they could not 😄
Whether a feature marked as Experimental will prevent someone from taking advantage of it in knowledge of the warning, I feel, is a call for the individual. We always try to give as much forewarning and notice to features that will be removed, usually by first deprecating them in the next major version and then removing in the subsequent major version.


PCP: Refine LocalHistogramTimer in rust-prometheus

Description
Currently LocalHistogramTimer isn't actually local. It clones the global histogram inside.
A proposed change can be:
impl LocalHistogram {
    fn observe_closure_duration<F, T>(&self, f: F) -> T where F: FnOnce() -> T {
        ...
    }
}

The usage can be:
some_local_histogram.observe_closure_duration(|| {
    do_something()
})

Difficulty

Easy

Score

50

Mentor(s)

@breeswish

Recommended Skills

Rust programming

pick up challenge,unformally

Implemented in https://github.com/tikv/rust-prometheus/pull/296


Add a new error when trying to create inner function

Summary or solution description
You'll get a Not Supported error when you try to create inner functions.
How to Reproduce
https://github.com/CityOfZion/neo3-boa/blob/f8f849c53ac2b301c8fb4de32ce587b4f382d20c/boa3_test/test_sc/function_test/InnerFunction.py#L1-L7
Tests
https://github.com/CityOfZion/neo3-boa/blob/f8f849c53ac2b301c8fb4de32ce587b4f382d20c/boa3_test/tests/compiler_tests/test_function.py#L1661-L1663
Platform:

OS: Windows 10 x64
Python version:  Python 3.7

Task linked: CU-86a0b3d5c Add a new error when trying to create a function inside a function

coverage: 91.864% (-0.09%) from 91.955% when pulling f8f849c53ac2b301c8fb4de32ce587b4f382d20c on CU-86a0b3d5c into 8eba3586979ef325ab7ac040c8f560b24aa7cfcb on development.


Package can't be used by an "extended" tslint configuration

Scenario and problem
I've got a custom tslint configuration that's intended to be shared among several projects. I want that custom configuration to include this package's rules. Since tslint's custom rules loading always uses a relative/absolute path, specifying "rulesDirectory": "node_modules/tslint-eslint-rules/dist/rules" breaks when my custom configuration is inside the node_modules of another package.
Say my custom config is the package tslint-config-custom. It's got tslint-eslint-rules as a dev and peer dependency (this style is copied from airbnb's linter setup and exposes a config like:
{
  "rulesDirectory": "node_modules/tslint-eslint-rules/dist/rules",
  "rules": {
    "no-constant-condition": true
  }
}

When I have another project with tslint-config-custom and tslint-eslint-rules as dev dependencies, this breaks:
$ tslint -c tslint.json --project tsconfig.json
Failed to load [path]/tslint.json: Could not find custom rule directory: [path]/node_modules/tslint-config-custom/node_modules/tslint-eslint-rules/dist/rules

Fix
To resolve this, I'd suggest allowing people to load these rules by extending this repository as a tslint configuration.
This means my tslint-config-custom looks like:
{
  "extends": [
    "tslint-eslint-rules"
  ],
  "rules": {
    "no-constant-condition": true
  }
}

I'll submit a PR shortly with the change.

This matches what https://github.com/palantir/tslint-react does.

Seems like the right move, considering that @JKillian wrote something similar when index.js was created: https://github.com/buzinas/tslint-eslint-rules/commit/aa17d2e83a08a84b8635c9d205d77cf295a66492.
On the issue with a possible custom config, shouldn't we be using this project as a peerDependency? Even airbnb installs a custom configuration for eslint by declaring eslint and other packages as peers. See https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb. I looked more into it when deciding to look into publishing packages and I found this: https://github.com/npm/npm/issues/11213
I'm not opposed to using extends as in the PR. It does make it easier to start using the rules without providing a configuration. I'm just not sure if this would open future pull request in which people will want to provide a set configuration for tslint-eslint-rules which will create problems outside the scope of the project.
The tslint-config-standard project seems to have solved the problem of path resolutions with this:
https://github.com/blakeembrey/tslint-config-standard/blob/master/tslint.js
@blakeembrey Any thoughts on this discussion? It would make your configuration much shorter.

The change makes sense, would make it easier for people to use and I don't see any downside.
Probably makes sense to use peerDependency for the rules, but I know it can get messy with pre-releases because TSLint moves their "nightly" releases for TypeScript nightlies on a different schedule. This creates a really PITA approach where their nightly versions probably won't be valid with a peer dependency specified by this module and will result in NPM complaining. I'd recommending testing it for yourself first, but that's been my experience with TypeScript + TSLint - the versions make it tricky to do peer deps without NPM complaining heavily.

Setting peerDependency's will be useful for ensuring users of this package install a valid version of typescript. I haven't experienced the issues @blakeembrey mentioned, but I also haven't worked on prereleases at all.
On the matter of recommending extends (as I've done) vs rulesDirectory (using tslint-config-standard's method):
I think extends is a much more understandable method, and it works for both json and js configs, where the path/require stuff only works for js.
@jmlopez-rod's point about opening the possibility for setting default rule settings in this package is valid, but I don't think it's a problem. If someone wants to add defaults to this package, they could be exposed in a separate configuration. (keep the package's main index.js unopinionated, and create a similar file like opinionated.js, allowing for extends: 'tslint-eslint-rules/opinionated')

@apexskier we do have an opinionated configuration, that's the one we are use on our own source files https://github.com/buzinas/tslint-eslint-rules/blob/master/tslint_eslint_rules.json, we should probably add a comment on index.js to make it clear that the configuration needs to remain onopinionated and that it only exists to make it easier to access the rules in the project.


Documentation example of overriding save method does not work under Python 2.7.6

    return super().save(**kwargs)
TypeError: super() takes at least 1 argument (0 given)

super() (without arguments) was introduced in python3
[http://stackoverflow.com/questions/10482953/python-extending-with-using-super-python-3-vs-python-2]

And the Python 2 way of doing it, like super(DocType, self).save(**kwargs) doesn't work. Says the super doesn't have the save method.


#1724 - E2E/Units Tests - Review Queue Consumers E2E Tests

Created the queue-consumers helper method createTestingAppModule to start the queue-consumers module for all E2E tests.
Created the helper method describeProcessorRootTest with the intention to create a similar one for the scheduler in the future.
Extended the mocked Zeebe module.
Added the mock helper @golevelup/ts-jest referenced on Nestjs documentation (https://docs.nestjs.com/fundamentals/testing). The idea is to validate how useful it can be and assess if it is needed or not.
New scenarios added for start-application-assessment and cancel-application-assessment, as shown below.
ecert-full-time-process-integration.scheduler.e2e-spec is not the focus of this PR. It was just adjusted to fit better in the new E2E structure.

Processor E2E tests for start-application-assessment
√ Should throw an error when the workflow createProcessInstance method throws an error.
√ Should invoke the workflow create instance method with the received job parameters.
Processor E2E tests for cancel-application-assessment
√ Should cancel pending disbursements and rollback overawards when the cancelled application has overawards and also one sent and one pending disbursements.
√ Should cancel workflow and log a warning when the workflowInstanceId is not present.
√ Should throw an error and call job.discard when the application is not in the expected status.
√ Should throw an error and call job.discard when the assessment id was not found.

Thanks for creating E2E test foundation for queue consumers. Added some comments.


getDefaultProps was defined on PulseLoader, a plain JavaScript class.

Got this warning when importing PulseLoader from halogenium
getDefaultProps was defined on PulseLoader, a plain JavaScript class. This is only supported for classes created using React.createClass. Use a static property to define defaultProps instead.

Hi!
What version do you use?

hi @kirillDanshin
I am using 2.0.1

sorry for the delay
please update to 2.1.0 and ping me if it fixed or not

@kirillDanshin
Thanks, the warning is gone after updating to 2.1.0. But FYI, 2.0.1 is the default version I've got via npm install halogenium --save

@yipsang  cool!
I released 2.1.0 to fix your issue, so now npm i -S halogenium will install @2.1.0
Closing the issue. Thanks for reporting


Automated build with CircleCI and AppVeyor

I've seen that version 0.1.7 now has a precompiled binary for Linux. Great!
@seal-mis and I worked out an automated build for Linux x64 and Windows x64 with CircleCI and AppVeyor. I send you our build yml files as a proposal.
That really helped us a lot compiling it without having both development environments, all can be done with CI servers in the cloud. We also updated and are now using your module with Node.js 4.2.1.
For CircleCI you have to set an environment SAPNWRFC_CRED with user:password for the Download of sapcar.exe and the sapnwrfc SDK.
For AppVeyor it is very similar, but here the credential is added as encrypted string in SAPNWRFC_CRED into the appveyor.yml. I have marked the places. Another minor issue we had was that AppVeyor checks out a public repo without SSH key, so we also added an GitHub access token to the appveyor.yml so that AppVeyor can push the binary back into GitHub. So you have to set ACCESS_TOKEN in the appveyor.yml
The workflow looks like this. Someone changes code in master branch and then both CircleCI and AppVeyor start to compile the Linux and Windows binary and then pushes it back to GitHub.
Afterwards you could do a git pull and then npm publish.
After setting up the build servers you could add build badges to the README.md.
You can find a working example of all this in our fork at https://github.com/plossys/node-sapnwrfc with links to both build servers.
Both build servers can be used without a charge for open source repos.
If you are interested in setting this up and running and have questions, don't hesitate to contact me. We would love to see this in upstream as it lowers the barrier to contribute to your project.

That's really nice! After some struggling I managed to get it going for both ci servers. Currently it will build 4 different Linux and a Windows binary. Additionally, some basic tests will also make sure that the binaries can be loaded by Node.js.

This is awesome!
And adding tests is really good. To add some real tests and skip them in Circle/AppVeyor we worked around with the environment CI. But having an online SAP to run the tests against in a few seconds would really help in a feedback loop. How "open source" is SAP for this kind of tasks? :smile:

To create more compiled binaries for more node versions on AppVeyor we could have a look at the Build matrix feature: http://www.appveyor.com/docs/build-configuration#build-matrix
I haven't found such feature in CircleCI yet, but at Travis: http://docs.travis-ci.com/user/customizing-the-build/#Build-Matrix
We could update the yml's to build and test and push the compiled version in one step, I think.

Maybe there is a Chocolatey package for SAP NW trial versions?! :stuck_out_tongue:
The build matrix feature does work. One disadvantage is that it will generate commit spam as each binary will be pushed separately. Contrary to the Linux builds, the Windows binaries differ even if the source code has not been modified. Maybe I'll restrict recompilation to when a git tag has been pushed - at least for the master branch.
Tests: Good hint using the CI env variable for this!

Yes, Chocolatey :chocolate_bar: would be sweet! But I more thought of putting SAP into a Docker image :whale: so we could run it directly in the CircleCI build ;-) But probably too much resources needed.
For for standalone tests what about tools like Mountebank?

https://github.com/bbyars/mountebank
http://www.mbtest.org

Capturing some TCP responses and replay them for tests. Just to check if parsing repsonses back to objects and tables etc. works fine.

I really like the effort of running automated builds and the binaries in
the npm package are very convenient. The drawback of putting the binaries
in the git repository too is that over time the git repository will
increase in size. Perhaps it is possible to put the binaries only into the
npm package.
On Thu, Nov 5, 2015 at 8:21 AM, Stefan Scherer<EMAIL_ADDRESS>wrote:

Yes, Chocolatey [image: :chocolate_bar:] would be sweet! But I more
thought of putting SAP into a Docker image [image: :whale:] so we could
run it directly in the CircleCI build ;-) But probably too much resources
needed.
For for standalone tests what about tools like Mountebank?

https://github.com/bbyars/mountebank
http://www.mbtest.org

Capturing some TCP responses and replay them for tests. Just to check if
parsing repsonses back to objects and tables etc. works fine.
—
Reply to this email directly or view it on GitHub
https://github.com/jdorner/node-sapnwrfc/pull/19#issuecomment-153976130.

That might be an issue. As there are multiple build jobs (build matrix for different node version) and two build servers (linux + windows) are involved we would need some kind of artifact store for the current git commit hash. A github release might be the next free artifact store outside the git repo. But this makes the build a little more complex, but still possible with curl or powershell to post artifacts https://developer.github.com/changes/2013-09-25-releases-api/
Just an idea for now.

After all the binaries are very small and Git saves binary diffs between commits. So I don't think size will be a problem in the forseeable future. On the other hand, I don't like having binaries in a source repository, too. Just out of principle :smile: For now I have restricted CI commits on Git tags only.
Maybe filing a release on Github would be a solution. I just don't know how this works out with the matrix build on AppVeyor... having a separate zip for each windows binary wouldn't be nice.

@jdorner I have seen the build matrix in the gulpfile.js. I think that could also be done on AppVeyor, what do you think? So there would be only one commit per platform with all node versions needed.
Then the windows build should also be faster as it only downloads the SDK once.

The problem is, that nvm does not exist for Windows. There are several Windows ports of it, but installation could be tricky as they all require that node must not be installed before nvm is being installed. After all it would be much trial&error and it's really cumbersome on AppVeyor as you don't have any means to debug (like an SSH console).

OK, I understand.
Microsoft is working on a native port of OpenSSH ;-)
But until then SSH means RDP, and you may enter the worker with RDP http://www.appveyor.com/docs/how-to/rdp-to-build-worker
I'm thinking of using the preinstalled node versions.
Perhaps adding some lines to the appveyor.yml could be a simple solution:
build_script:
  - set PATH=%PATH%;%SAPNWRFC_HOME%\lib
  - ps: Install-Product node 4.0.0 x64
  - npm install
  - ps: Install-Product node 4.1.2 x64
  - npm install
  - ps: Install-Product node 4.2.1 x64
  - npm install
  - ps: Install-Product node 5.0.0 x64
  - npm install

Or we put the steps inside the gulpfile.js to do the same as the Install-Product node command does. I think this just adjusts the PATH to point to one of the preinstalled C:\Program Files\nodejs versions.


Support for JupyterLab 1.0

Was getting an error about dependency version discrepancy
`JupyterLab              Extension              Package

=1.0.0-alpha.3 <2.0.0  >=0.19.1 <0.20.0       @jupyterlab/application
=1.0.0-alpha.3 <2.0.0  >=0.19.1 <0.20.0       @jupyterlab/apputils
=1.0.0-alpha.3 <2.0.0  >=0.19.1 <0.20.0       @jupyterlab/launcher`

Tried building locally and changing the dependency versions to ^1.0.0-alpha.3 and now I seem to be getting errors in type script.
New to this community so might be missing some obvious fix. Any help would be appreciated

"dependencies": {
"@jupyterlab/application": "^1.0.0-alpha.6",
"@jupyterlab/apputils": "^1.0.0-alpha.6",
"@jupyterlab/coreutils": "^3.0.0-alpha.6",
"@jupyterlab/launcher": "^1.0.0-alpha.6",
"@jupyterlab/services": "^4.0.0-alpha.6",
"@phosphor/algorithm": "^1.1.2",
"@phosphor/coreutils": "^1.3.0",
"@phosphor/disposable": "^1.1.2",
"@phosphor/domutils": "^1.1.2",
"@phosphor/messaging": "^1.2.2",
"@phosphor/signaling": "^1.2.2",
"@phosphor/widgets": "^1.6.0"
are the dependencies for jupyterlab==1.0.0a3

well, after jupyterlab release 1.0, not alpha version. I will update this package.

well, after jupyterlab release 1.0, not alpha version. I will update this package.

Thank you very much. jupyterlab 1.0 is very close to release (95%) https://github.com/jupyterlab/jupyterlab/milestone/2 and most of the other extensions are already available.

1.0 has released today  : https://pypi.org/project/jupyterlab/1.0.0/

Is it possible (without too much hassle) to update the package myself and install it in 1.0.0?

Updating all the dependencies is a good start but I still see a couple of build issues, presumably due to interface changes in JupyterLab 1.0.
--- a/package.json
+++ b/package.json
@@ -30,22 +30,22 @@
     "prepare": "npm run clean && npm run build"
   },
   "dependencies": {
-    "@jupyterlab/application": "^0.19.1",
-    "@jupyterlab/apputils": "^0.19.1",
-    "@jupyterlab/coreutils": "^2.1.2",
-    "@jupyterlab/launcher": "^0.19.1",
-    "@jupyterlab/services": "^3.1.2",
-    "@phosphor/algorithm": "^1.1.2",
-    "@phosphor/coreutils": "^1.3.0",
-    "@phosphor/disposable": "^1.1.2",
-    "@phosphor/domutils": "^1.1.2",
-    "@phosphor/messaging": "^1.2.2",
-    "@phosphor/signaling": "^1.2.2",
-    "@phosphor/widgets": "^1.6.0"
+    "@jupyterlab/application": "^1.0.0",
+    "@jupyterlab/apputils": "^1.0.0",
+    "@jupyterlab/coreutils": "^3.0.0",
+    "@jupyterlab/launcher": "^1.0.0",
+    "@jupyterlab/services": "^4.0.0",
+    "@phosphor/algorithm": "^1.1.3",
+    "@phosphor/coreutils": "^1.3.1",
+    "@phosphor/disposable": "^1.2.0",
+    "@phosphor/domutils": "^1.1.3",
+    "@phosphor/messaging": "^1.2.3",
+    "@phosphor/signaling": "^1.2.3",
+    "@phosphor/widgets": "^1.8.0"
   },
   "devDependencies": {
-    "rimraf": "^2.6.1",
-    "typescript": "~2.9.2"
+    "rimraf": "^2.6.3",
+    "typescript": "^3.5.2"
   },
   "jupyterlab": {
     "extension": true

src/index.ts:2:32 - error TS2305: Module '"../node_modules/@jupyterlab/application/lib"' has no exported member 'JupyterLabPlugin'.

2   ILayoutRestorer, JupyterLab, JupyterLabPlugin
                                 ~~~~~~~~~~~~~~~~

src/index.ts:6:20 - error TS2305: Module '"../node_modules/@jupyterlab/apputils/lib"' has no exported member 'InstanceTracker'.

6   ICommandPalette, InstanceTracker, IInstanceTracker, showDialog, Dialog
                     ~~~~~~~~~~~~~~~

src/index.ts:6:37 - error TS2305: Module '"../node_modules/@jupyterlab/apputils/lib"' has no exported member 'IInstanceTracker'.

6   ICommandPalette, InstanceTracker, IInstanceTracker, showDialog, Dialog
                                      ~~~~~~~~~~~~~~~~

src/index.ts:89:13 - error TS2551: Property 'addToLeftArea' does not exist on type 'ILabShell'. Did you mean '_addToLeftArea'?

89   app.shell.addToLeftArea(running, {rank: 300});
               ~~~~~~~~~~~~~

  node_modules/@jupyterlab/application/lib/shell.d.ts:214:13
    214     private _addToLeftArea;
                    ~~~~~~~~~~~~~~
    '_addToLeftArea' is declared here.

src/index.ts:105:35 - error TS7006: Parameter 'value' implicitly has an 'any' type.

105       const widget = tracker.find(value => {
                                      ~~~~~

src/index.ts:114:19 - error TS2551: Property 'addToMainArea' does not exist on type 'ILabShell'. Did you mean '_addToMainArea'?

114         app.shell.addToMainArea(tb);
                      ~~~~~~~~~~~~~

  node_modules/@jupyterlab/application/lib/shell.d.ts:226:13
    226     private _addToMainArea;
                    ~~~~~~~~~~~~~~
    '_addToMainArea' is declared here.

src/index.ts:125:35 - error TS7006: Parameter 'value' implicitly has an 'any' type.

125       const widget = tracker.find(value => {
                                      ~~~~~

@bjtho08 @cliffwoolley  have a look at https://github.com/jupyterhub/jupyter-server-proxy/pull/134/files

Unfortunately, I don't have any experience with typescript and only limited experience with javascript, so this might be out of my league. @cliffwoolley is this something you can handle or should we just wait for @chaoleili?

HI, everyone, I've updated jupyterlab_tensorboard package for supporting jupyterlab v1.0.0 version.

Close it as it already has done.

I'm getting a 404 Not Found when trying to launch a tensorboard

I'm getting a 404 Not Found when trying to launch a tensorboard

it is working for me.

That's odd. This is the lsit of installed extensions:
(base) bjarne@huygens-hpc:~/.pyenv/shims$ jupyter labextension list
JupyterLab v1.0.1
Known labextensions:
   app dir: /home/bjarne/.pyenv/versions/3.6.0/share/jupyter/lab
        @jpmorganchase/perspective-jupyterlab v0.2.23  enabled  OK
        @jupyter-widgets/jupyterlab-manager v1.0.0  enabled  OK
        @jupyter-widgets/jupyterlab-sidecar v0.4.0  enabled  OK
        @jupyterlab/celltags v0.1.4  enabled  OK
        @jupyterlab/toc v1.0.0-rc.0  enabled  OK
        @krassowski/jupyterlab_go_to_definition v0.4.0  enabled  OK
        ipysheet v0.4.1  enabled  OK
        jupyterlab-system-monitor v0.4.0  enabled  OK
        jupyterlab-topbar-extension v0.4.0  enabled  OK
        jupyterlab_tensorboard v0.1.6  enabled  OK
        lineup_widget v1.0.7  enabled  OK
        plotlywidget v0.10.0  enabled  OK
        qgrid v1.1.1  enabled  OK

Am I missing something obvious? I also have jupyter-tensorboard 0.1.10 installed.

@bjtho08 you also need install jupyter_tensorboard and tensorflow with tensorboard.

@chaoleili, below is the complete list from pip (you should be able to find jupyter_tensorboard, tensorflow and tensorboard all in the list). Do they have to be on the same kernel as jupyterlab or the same kernel I actually use for tensorflow?


[Bug] Invoke-DBADbLogShipping Secondary Monitoring issue

Before submitting a bug report:
Collect output of following command and paste below:
& {"### PowerShell version:`n$($PSVersionTable | Out-String)"; "`n### dbatools Module version:`n$(gmo dbatools -List | select name, path, version | fl -force | Out-String)"}

[X] Running latest release of dbatools
[X] Verified errors are not related to permissions
[x] Is this bug with Copy-DbaDatabase? You can replicate it using Backup-DbaDatabase ... | Restore-DbaDatabase ...

NOTE: Copy-DbaDatabase will not work in every environment and every situation. Instead, we try to ensure Backup & Restore work in your environment.

Environmental data

PowerShell version:
Name                           Value

PSVersion                      5.1.14393.2879
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.2879
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
dbatools Module version:
Name    : dbatools
Path    : C:\Program Files\WindowsPowerShell\Modules\dbatools\0.9.817\dbatools.psd1
Version : 0.9.817
Name    : dbatools
Path    : C:\Program Files\WindowsPowerShell\Modules\dbatools\0.9.517\dbatools.psd1
Version : 0.9.517
SQL Server:

Microsoft SQL Server 2016 (SP2-CU5) (KB4475776) - 13.0.5264.1 (X64)   Jan 10 2019 18:51:38   Copyright (c) Microsoft Corporation  Standard Edition (64-bit) on Windows Server 2016 Standard 10.0  (Build 14393: ) (Hypervisor)

Errors Received
Invoke-DbaDbLogShipping -SourceSqlInstance $SourceInstance
-DestinationSqlInstance $DestinationInstance -Database $SourceDB
-BackupNetworkPath "\$BackupPath$SourceInstance" -BackupRetention 2160
-BackupScheduleFrequencyType Daily -BackupScheduleFrequencySubdayType Minutes
-BackupScheduleFrequencySubdayInterval 5 -BackupScheduleStartDate $ScheduleStartDate
-BackupScheduleStartTime 080000 -BackupScheduleEndTime 075959
-BackupThreshold 60 -CopyDestinationFolder "\\$DestinationInstance\TranLog_Xfer"
-CopyRetention 2160 -CopyScheduleFrequencyType Daily
-CopyScheduleFrequencySubdayType Minutes -CopyScheduleFrequencySubdayInterval 5
-CopyScheduleStartDate $ScheduleStartDate -CopyScheduleStartTime 080700
-CopyScheduleEndTime 080659 -RestoreScheduleFrequencyType Daily
-RestoreScheduleFrequencySubdayType Minutes -RestoreScheduleFrequencySubdayInterval 5
-RestoreRetention 2160 -RestoreScheduleStartDate $ScheduleStartDate
-RestoreScheduleStartTime 080900 -RestoreScheduleEndTime 080859
-RestoreThreshold 60 -SecondaryMonitorServer $DestinationInstance
-SecondaryThresholdAlertEnabled -CompressBackup
-Force `
I am running invoke-DbaLogShipping with the following parameters.  I am not wanting to turn on monitoring for the primary server, just the secondary server.  This worked in version 0.9.517.  I am also specifying the monitor server be the secondary server.  What I am seeing in the verbose output is that the sp_processlogshippingmonitorsecondary stored proc is being called.  Its being called with @monitor_server = primary server name.  I replaced the actual values with parameter names to protect environment.
Steps to Reproduce
EXEC msdb.dbo.sp_processlogshippingmonitorsecondary @mode = 1
,@secondary_server = '<$DestinationInstance>'
,@secondary_database = 'DocumentStorageSolution'
,@secondary_id = 'c1216088-3d46-4839-a5b1-1cdcea78ab89'
,@primary_server = '<$SourceInstance>'
,@primary_database = '$SourceDB'
,@restore_threshold = 60
,@threshold_alert = 14420
,@threshold_alert_enabled = 1
,@history_retention_period = 14420
,@monitor_server = '<$SourceInstance>'
,@monitor_server_security_mode = 1
            UPDATE msdb.dbo.log_shipping_secondary
            SET monitor_server = '<$SourceInstance>', user_specified_monitor = 1
            WHERE secondary_id = 'c1216088-3d46-4839-a5b1-1cdcea78ab89'

Thank you for submitting the bug report! We'll take a look when we get a moment.

What I don't understand in this, is that the assignment of the variables should be correct.
The only time the secondary monitor will get the source instance value assigned is when the parameter "SecondaryMonitorServer" is not set in combination with -Force.
# Check the secondary monitor server
if ($Force -and (-not $SecondaryMonitorServer -or [string]$SecondaryMonitorServer -eq '' -or $null -eq $SecondaryMonitorServer)) {
    Write-Message -Message "Setting secondary monitor server for $destInstance to $SourceSqlInstance." -Level Verbose
    $SecondaryMonitorServer = $SourceSqlInstance
}

Although this check does have some redundant values, it would not assign the source instance of the secondary monitor was set.
@dczarny Can you send me the verbose output you get when you execute the command?
You can replace the values from your environment if you need to, as long as it's consistent that should not be a problem.
Maybe that way I can check what is going wrong.

VERBOSE: [17:37:47][Invoke-DbaDbLogShipping] Started log shipping for  to
VERBOSE: [17:37:47][Invoke-DbaDbLogShipping] Connection timeout of [] is set to 0
VERBOSE: [17:37:47][Invoke-DbaDbLogShipping] Testing backup network path \\SQLBackups<SourceSQLServer>
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Setting backup compression to default server setting 1.
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Destination database status set to NO RECOVERY
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] History retention set to 14420
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Restore delay set to 0
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Primary monitor server security mode set to 1
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Secondary monitor server security mode set to 1
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Backup frequency interval set to EveryDay
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Backup frequency relative interval set to Unused
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Backup frequency recurrence factor set to 0
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Copy frequency interval set to EveryDay
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Copy frequency relative interval set to Unused
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Copy frequency recurrence factor set to 0
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Restore frequency interval set to EveryDay
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Restore frequency relative interval set to Unused
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Restore frequency recurrence factor set to 0
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Connection timeout of [] is set to 0
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Testing copy destination path \\TranLog_Xfer
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Backup local path set to \\SQLBackups<SourceSQLServer><DBName>.
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Backup network path set to \\SQLBackups<SourceSQLServer><DBName>.
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Testing database backup network path \\SQLBackups<SourceSQLServer><DBName>
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Backup job name set to LSBackup_
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Backup job schedule name set to LSBackupSchedule_
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Set option to initialize secondary database with full backup
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Restore data folder or restore log folder are not set. Using server defaults
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Restore data folder set to M:\Microsoft SQL Server\MSSQL\Data
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Restore log folder set to L:\Microsoft SQL Server\MSSQL\Data
VERBOSE: [17:37:48][Invoke-DbaDbLogShipping] Testing database restore data path M:\Microsoft SQL Server\MSSQL\Data
VERBOSE: [17:37:49][Invoke-DbaDbLogShipping] Testing database restore log path L:\Microsoft SQL Server\MSSQL\Data
VERBOSE: [17:37:49][Invoke-DbaDbLogShipping] Copy destination folder set to \\TranLog_Xfer<DBName>.
VERBOSE: [17:37:49][Invoke-DbaDbLogShipping] Copy job name set to LSCopy_
VERBOSE: [17:37:49][Invoke-DbaDbLogShipping] Copy job schedule name set to LSCopySchedule
VERBOSE: [17:37:49][Invoke-DbaDbLogShipping] Testing database copy destination path \\TranLog_Xfer<DBName>
VERBOSE: Performing the operation "Creating copy destination folder on " on target "".
VERBOSE: [17:37:49][Invoke-Command2] Copy destination folder \\TranLog_Xfer<DBName> not found. Trying to create it.. .
VERBOSE: [17:37:50][Invoke-DbaDbLogShipping] Restore job name set to LSRestore
VERBOSE: [17:37:50][Invoke-DbaDbLogShipping] Restore job schedule name set to LSRestoreSchedule
VERBOSE: Performing the operation "Backing up database []" on target "".
VERBOSE: [17:37:50][Invoke-DbaDbLogShipping] Generating full backup.
VERBOSE: [17:37:50][Invoke-DbaDbLogShipping] Backing up database [] to \\SQLBackups<SourceSQLServer><DBName>
VERBOSE: [17:37:50][Backup-DbaDatabase] Setting Default timestampformat
VERBOSE: [17:37:50][Backup-DbaDatabase] 1 database to backup
VERBOSE: [17:37:50][Backup-DbaDatabase] Backup database []
VERBOSE: [17:37:50][Backup-DbaDatabase] Creating full backup
VERBOSE: [17:37:50][Backup-DbaDatabase] Building file name
VERBOSE: [17:37:50][Backup-DbaDatabase] Building backup path
VERBOSE: [17:37:50][Backup-DbaDatabase] Devices added
VERBOSE: [17:37:53][Get-DbaBackupHistory] Processing
VERBOSE: [17:37:53][Get-DbaBackupHistory] Executing sql query.
VERBOSE: [17:37:53][Get-DbaBackupHistory] Processing as grouped output.
VERBOSE: [17:37:53][Get-DbaBackupHistory] 1 result-groups found.
VERBOSE: [17:37:53][Invoke-DbaDbLogShipping] Backup completed.
VERBOSE: [17:37:53][Invoke-DbaDbLogShipping] Backup is located at \\SQLBackups<SourceSQLServer><DBName>\FullBackupPreLogShipping_20190512173750.bak
VERBOSE: [17:37:53][Invoke-DbaDbLogShipping] Setting monitor server for primary server to .
VERBOSE: Performing the operation "Restoring database [] to  on " on target "".
VERBOSE: [17:37:53][Invoke-DbaDbLogShipping] Start database restore
VERBOSE: [17:37:53][Restore-DbaDatabase] Changing statement timeout to infinity
VERBOSE: [17:37:53][Restore-DbaDatabase] ParameterSet  = Restore
VERBOSE: [17:37:53][Restore-DbaDatabase] Unverified input, full scans - \\SQLBackups<SourceSQLServer><DBName>\FullBackupPreLogShipping_20190512173750.bak
VERBOSE: [17:37:53][Get-DbaBackupInformation] Testing a single file @{Length=90; FullName=\\SQLBackups<SourceSQLServer><DBName>\FullBackupPreLogShipping_20190512173750.bak}
VERBOSE: [17:37:54][Get-DbaBackupInformation] Reading backup headers of 1 files
VERBOSE: [17:37:54][Read-DbaBackupHeader] Checking: @{Length=90; FullName=\\SQLBackups<SourceSQLServer><DBName>\FullBackupPreLogShipping_20190512173750.bak}
VERBOSE: [17:37:54][Read-DbaBackupHeader] 1 unique files to scan.
VERBOSE: [17:37:54][Read-DbaBackupHeader] Checking accessibility for all the files.
VERBOSE: [17:37:54][Read-DbaBackupHeader] Scanning file \\SQLBackups<SourceSQLServer><DBName>\FullBackup_PreLogShipping_20190512173750.bak.
VERBOSE: [17:37:57][Restore-DbaDatabase] Processing DatabaseName -
VERBOSE: [17:37:57][Format-DbaBackupInformation] Starting
VERBOSE: [17:37:57][Format-DbaBackupInformation] String passed in for DB rename
VERBOSE: [17:37:57][Format-DbaBackupInformation] New DbName (String) =
VERBOSE: [17:37:57][Format-DbaBackupInformation]  1 PhysicalName = F:\MSSQL\Data<DBName>_Data.MDF
VERBOSE: [17:37:57][Format-DbaBackupInformation] PhysicalName = M:\Microsoft SQL Server\MSSQL\Data<DBName>_Data.MDF
VERBOSE: [17:37:57][Format-DbaBackupInformation]  1 PhysicalName = L:\MSSQL\Log<DBName>_Log.LDF
VERBOSE: [17:37:57][Format-DbaBackupInformation] PhysicalName = L:\Microsoft SQL Server\MSSQL\Data<DBName>_Log.LDF
VERBOSE: [17:37:57][Select-DbaBackupInformation] Filtering by DatabaseName
VERBOSE: [17:37:57][Select-DbaBackupInformation] processing diffs
VERBOSE: [17:37:57][Select-DbaBackupInformation] Found LogBaseLsn:<PHONE_NUMBER>0102000001 and FirstRecoveryForkID:
VERBOSE: [17:37:57][Restore-DbaDatabase] VerifyOnly = False
VERBOSE: [17:37:57][Test-DbaBackupInformation] Testing restore for
VERBOSE: [17:37:57][Test-DbaBackupInformation] VerifyOnly = False
VERBOSE: [17:37:58][Test-DbaLsnChain] Testing LSN Chain
VERBOSE: [17:37:58][Test-DbaLsnChain] Testing LSN Chain - Type Type
VERBOSE: [17:37:58][Test-DbaLsnChain] Passed LSN Chain checks
VERBOSE: [17:37:58][Test-DbaBackupInformation] Marking  as verified
VERBOSE: [17:37:58][Restore-DbaDatabase]  passed testing
VERBOSE: [17:37:58][Restore-DbaDatabase] Passing in to restore
VERBOSE: [17:37:58][Invoke-DbaAdvancedRestore] Performing restore action
VERBOSE: [17:38:02][Invoke-DbaAdvancedRestore] Succeeded, Closing Server connection
VERBOSE: [17:38:02][Invoke-DbaDbLogShipping] Restore completed.
VERBOSE: Performing the operation "Configuring logshipping for primary database [] on " on target "".
VERBOSE: [17:38:02][Invoke-DbaDbLogShipping] Configuring logshipping for primary database
VERBOSE: [17:38:03][New-DbaLogShippingPrimaryDatabase] Setting backup compression to 1.
VERBOSE: [17:38:03][New-DbaLogShippingPrimaryDatabase] Setting Threshold alert to 0.
VERBOSE: [17:38:03][New-DbaLogShippingPrimaryDatabase] Configuring logshipping for primary database .
VERBOSE: [17:38:03][New-DbaLogShippingPrimaryDatabase] Executing query:
    DECLARE @LS_BackupJobId AS uniqueidentifier;
    DECLARE @LS_PrimaryId AS uniqueidentifier;
    EXEC master.sys.sp_add_log_shipping_primary_database
        @database = N'<DBName>'
        ,@backup_directory = N'\\<BACKUPLocation>\SQLBackups\<SourceSQLServer>\<DBName>'
        ,@backup_share = N'\\<BACKUPLocation>\SQLBackups\<SourceSQLServer>\<DBName>'
        ,@backup_job_name = N'LSBackup_<DBName>'
        ,@backup_retention_period = 4320
        ,@backup_threshold = 60
        ,@history_retention_period = 14420
        ,@backup_job_id = @LS_BackupJobId OUTPUT
        ,@primary_id = @LS_PrimaryId OUTPUT
        ,@monitor_server = N'<SourceSQLServer>'
        ,@monitor_server_security_mode = 1
        ,@threshold_alert = 14420
        ,@threshold_alert_enabled = 0
            ,@ignoreremotemonitor = 1
        ,@overwrite = 1;

VERBOSE: [17:38:03][New-DbaLogShippingPrimaryDatabase] Configuring monitor server for primary database .
VERBOSE: [17:38:03][New-DbaLogShippingPrimaryDatabase] Executing query:
EXEC msdb.dbo.sp_processlogshippingmonitorprimary @mode = 1
,@primary_id = '6a02ce32-3bcf-4d4f-a7d9-35a1dfa5c079'
,@primary_server = ''
,@monitor_server = ''
,@monitor_server_security_mode = 1
,@primary_database = ''
,@backup_threshold = 60
,@threshold_alert = 14420
,@threshold_alert_enabled = 0
,@history_retention_period = 14420
VERBOSE: [17:38:03][New-DbaLogShippingPrimaryDatabase] Updating monitor information for the primary database .
VERBOSE: [17:38:03][New-DbaLogShippingPrimaryDatabase] Executing query:
                UPDATE msdb.dbo.log_shipping_primary_databases
                SET monitor_server = '<SourceSQLServer>', user_specified_monitor = 1
                WHERE primary_id = '6a02ce32-3bcf-4d4f-a7d9-35a1dfa5c079'

VERBOSE: [17:38:03][New-DbaLogShippingPrimaryDatabase] Finished adding the primary database  to log shipping.
VERBOSE: [17:38:03][Set-DbaAgentJob] Setting job to enabled
VERBOSE: [17:38:03][Set-DbaAgentJob] Changing the job
VERBOSE: [17:38:03][Set-DbaAgentJob] Finished changing job(s)
VERBOSE: [17:38:03][Invoke-DbaDbLogShipping] Enabling backup job LSBackup_
VERBOSE: [17:38:03][Invoke-DbaDbLogShipping] Create backup job schedule LSBackupSchedule_
VERBOSE: [17:38:03][New-DbaAgentSchedule] Setting job schedule to enabled
VERBOSE: [17:38:03][New-DbaAgentSchedule] Setting job schedule frequency interval to 1
VERBOSE: [17:38:03][New-DbaAgentSchedule] Setting job schedule frequency to 4
VERBOSE: [17:38:03][New-DbaAgentSchedule] Setting job schedule frequency subday type to 4
VERBOSE: [17:38:03][New-DbaAgentSchedule] Setting job schedule frequency subday interval to 5
VERBOSE: [17:38:03][New-DbaAgentSchedule] Setting job schedule start date to 2019-05-11
VERBOSE: [17:38:03][New-DbaAgentSchedule] Setting job schedule end date to 9999-12-31
VERBOSE: [17:38:03][New-DbaAgentSchedule] Setting job schedule start time to 08:04:00
VERBOSE: [17:38:03][New-DbaAgentSchedule] Setting job schedule end time to 08:03:59
VERBOSE: [17:38:03][New-DbaAgentSchedule] Adding the schedule LSBackupSchedule_ to job LSBackup_
VERBOSE: [17:38:03][New-DbaAgentSchedule] Job schedule created with UID 75382486-8b23-46da-aa5e-d8498f79f360
VERBOSE: [17:38:03][New-DbaAgentSchedule] Finished creating job schedule(s).
VERBOSE: [17:38:03][Invoke-DbaDbLogShipping] Configuring logshipping from primary to secondary database.
VERBOSE: [17:38:04][New-DbaLogShippingPrimarySecondary] Executing query:
SELECT primary_database FROM msdb.dbo.log_shipping_primary_databases WHERE primary_database = ''
VERBOSE: [17:38:04][New-DbaLogShippingPrimarySecondary] Configuring logshipping connecting the primary database  to secondary database  on .
VERBOSE: [17:38:04][New-DbaLogShippingPrimarySecondary] Executing query:
EXEC master.sys.sp_add_log_shipping_primary_secondary
@primary_database = N''
,@secondary_server = N''
,@secondary_database = N'' ,@overwrite = 1;
VERBOSE: [17:38:04][New-DbaLogShippingPrimarySecondary] Finished configuring of primary database  to secondary database .
VERBOSE: Performing the operation "Configuring logshipping for secondary database  on " on target "".
VERBOSE: [17:38:04][Invoke-DbaDbLogShipping] Configuring logshipping from secondary database  to primary database [].
VERBOSE: [17:38:04][New-DbaLogShippingSecondaryPrimary] Configuring logshipping making settings for the primary database.
VERBOSE: [17:38:04][New-DbaLogShippingSecondaryPrimary] Executing query:
    DECLARE @LS_Secondary__CopyJobId AS uniqueidentifier
    DECLARE @LS_Secondary__RestoreJobId	AS uniqueidentifier
    DECLARE @LS_Secondary__SecondaryId AS uniqueidentifier
    EXEC master.sys.sp_add_log_shipping_secondary_primary
            @primary_server = N'<SourceSQLServer>'
            ,@primary_database = N'<DBName>'
            ,@backup_source_directory = N'\\<BACKUPLocation>\SQLBackups\<SourceSQLServer>\<DBName>'
            ,@backup_destination_directory = N'\\<DestSQLServer>\TranLog_Xfer\<DBName>'
            ,@copy_job_name = N'LSCopy_<SourceSQLServer>_<DBName>'
            ,@restore_job_name = N'LSRestore_<SourceSQLServer>_<DBName>'
            ,@file_retention_period = 4320
            ,@copy_job_id = @LS_Secondary__CopyJobId OUTPUT
            ,@restore_job_id = @LS_Secondary__RestoreJobId OUTPUT
            ,@secondary_id = @LS_Secondary__SecondaryId OUTPUT ,@monitor_server = N'<DestSQLServer>'
            ,@monitor_server_security_mode = 1 ,@overwrite = 1;

VERBOSE: [17:38:04][New-DbaLogShippingSecondaryPrimary] Finished configuring of secondary database to primary database .
VERBOSE: [17:38:04][Invoke-DbaDbLogShipping] Create copy job schedule LSCopySchedule_
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule to enabled
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule frequency interval to 1
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule frequency to 4
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule frequency subday type to 4
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule frequency subday interval to 5
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule start date to 2019-05-11
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule end date to 9999-12-31
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule start time to 08:07:00
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule end time to 08:06:59
VERBOSE: [17:38:05][New-DbaAgentSchedule] Adding the schedule LSCopySchedule to job LSCopy
VERBOSE: [17:38:05][New-DbaAgentSchedule] Job schedule created with UID ad1a146d-0e99-43c8-99cf-41ab312eed7c
VERBOSE: [17:38:05][New-DbaAgentSchedule] Finished creating job schedule(s).
VERBOSE: [17:38:05][Invoke-DbaDbLogShipping] Create restore job schedule LSRestoreSchedule
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule to enabled
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule frequency interval to 1
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule frequency to 4
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule frequency subday type to 4
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule frequency subday interval to 5
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule start date to 2019-05-11
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule end date to 9999-12-31
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule start time to 08:10:00
VERBOSE: [17:38:05][New-DbaAgentSchedule] Setting job schedule end time to 08:09:59
VERBOSE: [17:38:05][New-DbaAgentSchedule] Adding the schedule LSRestoreSchedule to job LSRestore_
VERBOSE: [17:38:05][New-DbaAgentSchedule] Job schedule created with UID d6e6ff2a-a171-4551-92af-66f190b6718d
VERBOSE: [17:38:05][New-DbaAgentSchedule] Finished creating job schedule(s).
VERBOSE: [17:38:05][Invoke-DbaDbLogShipping] Configuring logshipping for secondary database.
VERBOSE: [17:38:06][New-DbaLogShippingSecondaryDatabase] Setting Threshold alert to 1.
VERBOSE: [17:38:06][New-DbaLogShippingSecondaryDatabase] Setting disconnect users to 0.
VERBOSE: [17:38:06][New-DbaLogShippingSecondaryDatabase] Configuring logshipping for secondary database  on .
VERBOSE: [17:38:06][New-DbaLogShippingSecondaryDatabase] Executing query:
EXEC master.sys.sp_add_log_shipping_secondary_database
@secondary_database = ''
,@primary_server = ''
,@primary_database = ''
,@restore_delay = 0
,@restore_all = 1
,@restore_mode = 0
,@disconnect_users = 0
,@restore_threshold = 60
,@threshold_alert = 14420
,@threshold_alert_enabled = 1
,@history_retention_period = 14420
,@ignoreremotemonitor = 1;
VERBOSE: [17:38:06][New-DbaLogShippingSecondaryDatabase] Configuring monitor server for secondary database .
VERBOSE: [17:38:06][New-DbaLogShippingSecondaryDatabase] Executing query:
EXEC msdb.dbo.sp_processlogshippingmonitorsecondary @mode = 1
,@secondary_server = ''
,@secondary_database = ''
,@secondary_id = 'e744b816-04a6-4e93-891f-7d2b720a63e4'
,@primary_server = ''
,@primary_database = ''
,@restore_threshold = 60
,@threshold_alert = 14420
,@threshold_alert_enabled = 1
,@history_retention_period = 14420
,@monitor_server = ''
,@monitor_server_security_mode = 1
VERBOSE: [17:38:06][New-DbaLogShippingSecondaryDatabase] Updating monitor information for the secondary database .
VERBOSE: [17:38:06][New-DbaLogShippingSecondaryDatabase] Executing query:
            UPDATE msdb.dbo.log_shipping_secondary
            SET monitor_server = '<SourceSQLServer>', user_specified_monitor = 1
            WHERE secondary_id = 'e744b816-04a6-4e93-891f-7d2b720a63e4'

VERBOSE: [17:38:06][New-DbaLogShippingSecondaryDatabase] Finished adding the secondary database  to log shipping.
VERBOSE: [17:38:07][Set-DbaAgentJob] Setting job to enabled
VERBOSE: [17:38:07][Set-DbaAgentJob] Changing the job
VERBOSE: [17:38:07][Set-DbaAgentJob] Finished changing job(s)
VERBOSE: [17:38:08][Set-DbaAgentJob] Setting job to enabled
VERBOSE: [17:38:08][Set-DbaAgentJob] Changing the job
VERBOSE: [17:38:08][Set-DbaAgentJob] Finished changing job(s)
VERBOSE: [17:38:08][Invoke-DbaDbLogShipping] Completed configuring log shipping for database []
PrimaryInstance   :
SecondaryInstance :
PrimaryDatabase   :
SecondaryDatabase :
Result            : Success
Comment           :
VERBOSE: [17:38:08][Invoke-DbaDbLogShipping] Finished setting up log shipping.

I had a chance to look at this, but don't know how to debug to confirm.  In the Invoke-DbaDbLogShipping.ps1 file down near line 1704, there the following code.  This looks to be in the section that is dealing with the secondary monitor server that is overriding the previous statements:
                        New-DbaLogShippingSecondaryDatabase -SqlInstance $destInstance `
                            -SqlCredential $DestinationSqlCredential `
                            -SecondaryDatabase $SecondaryDatabase `
                            -PrimaryServer $SourceSqlInstance `
                            -PrimaryDatabase $($db.Name) `
                            -RestoreDelay $RestoreDelay `
                            -RestoreMode $DatabaseStatus `
                            -DisconnectUsers:$DisconnectUsers `
                            -RestoreThreshold $RestoreThreshold `
                            -ThresholdAlertEnabled:$SecondaryThresholdAlertEnabled `
                            -HistoryRetention $HistoryRetention `
                            -MonitorServer $PrimaryMonitorServer `
                            -MonitorServerSecurityMode $PrimaryMonitorServerSecurityMode `
                            -MonitorCredential $PrimaryMonitorCredential


Upgrading from 1.2.1 to 1.2.2 (and beyond) breaks react-live

What version of Remix are you using?
1.2.2 (and 1.2.3)
Steps to Reproduce
I've created a reproduction here: https://github.com/selbekk/remix-react-live-repro
Steps I followed to create this repro:

Run npx create-remix@latest
Choose Remix App Server, install deps and enter folder
Run npm install react-live@next
Add the code below to show a very basic live code editor
Downgrade to 1.2.2 and see that the error is there still
Downgrade to 1.2.1 and see that the error is not there anymore.

This sounds like a react-live bug, but when I debugged this (for daaaays), it looks like a compilation bug.
This crashes because of a compilation error. It says the import_NameManager.default is not a constructor. That's correct (even though it should be) - it's an object containing the "default" property, which in turn includes the NameManager constructor. So it looks like it has something to do with compiling Sucrase!
Here's a typical place in the compiled code (found in public/build) where it's used:

After fixing this one-off mistake, I notice that this happens with all default exports - and that's why I think it's a compilation level issue that might be addressed here.
It definitely sounds like it has something to do with #1998, but as far as I can see, Sucrase doesn't do the faulty default export thing this issue warns about. I can't see it in the compiled code either, so I'm not sure where to look next. However, this issue in Sucrase also sounds related - it's the same issue, just a different class.
Any help would be greatly appreciated!
Expected Behavior
I would expect it to work
Actual Behavior
I get a compilation error!

I proposed the solution in the licked issue, but it only works for Vite, how can I alias module resolution in Remix?

This seems to be a bug in react-live in combination with esbuild, so I'm going to close this one for now.

@MichaelDeBoey can you open the ticket, here is the answer from the author of esbuild, it would be nice we can config esbuild via remix.config
related to https://github.com/remix-run/remix/issues/1405, it would be nice if we can provide a way to alias module resolution


Evaluate MPU6500 as on-board IMU

Description
Evaluate this as the 'onboard' budget IMU: https://www.lcsc.com/search?q=mpu6500
This lib looks most promising: https://github.com/wollewald/MPU9250_WE
This is the MPU6500 example from that lib
Definition of Done
Comments that the hardware/lib looks worth evaluating on real hardware.

I'll check it out. For starters, the 6500 seems to be related to the MPU6050 and MPU9250. I've used them before and there are multiple libraries to access data from them. Data from 6050 and 9250 is on the noisier side compared to BNO055 or similar IMUs, but decent enough given the price.

Great thanks, if people find the limitations of it they could always upgrade to the BNO085

Had a look at the sensor itself, looks good. From the documentation (of the library), MPU6500 seems to be a MPU9250 but without the magnetometer. I assume the library works (given the number of stars and watchers). If not, there are quite a lot of libraries around for the MPU9250/6500
IMO should be sufficient as an on-board IMU

Great, thanks. We'll add it to the board


nixos/maubot: init

Description of changes
An attempt to upstream maubot.nix which I've been running on my server for quite a while.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Alright, let's mere this then!


Add julia 1.8 in CI

Codecov Report

Merging #27 (dc3ea39) into main (57b7d3d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #27   +/-   ##
=======================================
  Coverage   72.39%   72.39%
=======================================
  Files           4        4
  Lines         192      192
=======================================
  Hits          139      139
  Misses         53       53

Continue to review full report at Codecov.

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


What are the default Arduino Values for Tickrate and CPU needed?

Hi, i have a question, what are the needed values i need to change via  make menuconfig for CPU Frequency and Tick rate?
If i leave the values as they are. Should the LEDs still work or not work at all ? because i have problems getting my WS2812B to work (from this site: https://www.banggood.com/100Pcs-DC-5V-3MM-x-10MM-WS2812B-SMD-LED-Board-Built-in-IC-WS2812-p-979463.html?rmmds=detail-left-hotproducts&cur_warehouse=CN ).
I have successfully tested the RMT interface via an integrated LED (set RMT to pulse reaaaaaally slow like just 4 times a second). But i didn't get my WS2812B to work. Any tips here ?

Those settings are in sdkconfig.defaults, however, even at a slower system clock rate the only effect is slower overall performance - it shouldn't affect the timing of the pulse trains coming out of the RMT peripheral (it'd be pretty clear if it did).
It may not be the driver but the devices themselves, or some other part of the setup (they might not be WS2812 but some variant like the SK6812). I have no way of testing the devices you have, but I'd start with selecting different variants from the library. The likely variants of the WS2812 include:
  LED_WS2812_V1
  LED_WS2812B_V1
  LED_WS2812B_V2
  LED_WS2812B_V3
  LED_SK6812_V1

Failing that (which is a pretty quick test), I'd also give them a try with some other library, just to ensure they work in the first place.
One last thing: ensure the LEDs are getting 5V logic data. A 3.3V logic level signal can drive them sometimes (as 3.3V is right about the lower edge of 'high' in 5V logic), but I do level shift the signal to ensure it works reliably. A 74HCT125 works nicely but tie the unused inputs low or you'll get noise/crosstalk.
At the recent Espressif event in SF I learned about a neat hack to accomplish this: power the first RGB LED at 5V but through a forward-biased diode with a fair amount of voltage drop - the diode drops that LED's input voltage to around 4.3 V (the rest of the LEDS are powered at the full 5V). That first undervolted LED should still work (perhaps a bit dimmer than the rest), but as its operating voltage is lower, its threshold for detecting logic high on input is proportionally lower too, making it more tonerant of 3.3V logic inputs. The output of that first LED (which is a regenerated pass-through signal after that LED absorbs its 24 bits of data) is high enough (being referenced to about 4.3V) that it can drive the next LED (running at the normal 5V) with reasonable logic thresholds. The rest of the LEDs get 5V logic signals.
I hope that helps!

Wow, that is alot information, thank you.
In the past 2 weeks  i tried a lot of programs and even tried setting up the esp-idf in windows. However nothing helped. i could get random colors from time to time but it didn't worked. Yesterday i tried some other LEDs of the same type but from a different packange. And within a few minutes i got the blue led working reliably. LED_WS2813_V2 seems to be working best. After a bit of tweeking here and there it got all colors reliable working. Thats great. My setup is having the LEDS at 5V with 100 Ohm reducing the signal to 4.7 V. The Datasignal is 3.3 V with a 470Ohm resitor. Even throug you mentioned that 3.3 V is quite low for the LED it seems to work. However to be sure i also bought some 74HCT125 as you mentioned just in case :)
So in the end it seemed to be some defect LEDs or me destroying some because of my bad solder skills. Again thanks alot


Resolving status 21007 in iOS Sandbox

What is the best way to sort the status 21007? I already created sandbox tester accounts and used them with no problem.
The problem or question I am having right now is how do I know that the test account is currently have an on going subscription?
I did something like this:
this.purchaseUpdateSubscription = purchaseUpdatedListener((purchase: ProductPurchase) => {
     const { originalTransactionDateIOS, originalTransactionIdentifierIOS } = purchase;

     if(!originalTransactionDateIOS && !originalTransactionIdentifierIOS) {
        // DO SOMETHING HERE
     }
});

However the purchase payload is not consistent with the data it returns, sometimes it has originalTransactionDateIOS and originalTransactionIdentifierIOS and sometimes it does not so I did the receipt validation which lead me to the status 21007 even though I already use sandbox testing account.
Any suggestion?

sorry my bad, I did not read the instructions properly, the second parameter of the function validateReceiptIos should be set to true for sandbox testing


New Search - Header changes from Expensify/Search to Expenses when opening an expense

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.71-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Go to staging.new.expensify.com
Go to Account settings > Troubleshoot
Tap Navigate next to New Search Page
Note that the header shows Expensify / Search
Tap on any expense

Expected Result:
The header in Search page should remain consistent when opening an expense from it
Actual Result:
The header in Search page changes to Expenses when opening an expense from it
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[ ] Android: mWeb Chrome
[x] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/250dbe28-2c2a-44c5-8299-5c94fb4168f4
View all open jobs on GitHub

@danieldoglas  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

We think that this bug might be related to #vip-vsp

@grgia can you take a look into this one?

Not a bug, the "header" in the search results is the To -> From pattern

Closing


Provide clearer exception message when long token names used

TurnipPatternPolicy defines the transformation of turnip notation into a
regular expression using named captures.
PHP forbids usage of capture names longer than 32 symbols. That was
generating cryptic error message. This commit provides clearer
exception.
Closes #872

Good one. Will fix this evening.


about spotify page

Description of the new feature / enhancement
can you please explain me how to get the original about screen back thanks

📸 Screenshots
No response

Uninstall SpotX


Is there a way to use bootstrap 5 in this module ?

Hello,
I wanted to ask if there's a way to use bootstrap 5 classes to style the table in your react component ?
I looked quite a lot in google if I can find a way to style the table with bootstrap5 but most of the result was concerning bootstrap 4 or other thing. Probably I can't find anything because bootstrap 5 is pretty new.
Ydriss Baqui
Thanks in advance for your answer.

I haven't done anything special to use bootstrap 5 as-is. It mostly uses the same classes and just works.

Here's some CSS which adds the sort carets. They're missing because Bootstrap 5 uses  different dropdown/dropup classes than Bootstrap 4.
Otherwise, things work generally the same.
/* accommodate Bootstrap 5 with React-Bootstrap-Table2, which is intended for Bootstrap 4 */
.react-bootstrap-table .caret {
    display: inline-block;
    margin-left: 0;
    vertical-align: 0.255em;
    content: "";
    border-right: 0.25em solid transparent;
    border-left: 0.25em solid transparent;
    border-top: 0.25em solid;
    border-bottom: 0;
    opacity: 0.5;
}

.react-bootstrap-table .dropup .caret,
.react-bootstrap-table .react-bootstrap-table-sort-order.dropup .caret {
    border-top: 0;
    border-bottom: 0.3em solid;
}

.react-bootstrap-table .react-bootstrap-table-sort-order .caret {
    margin-right: 10px;
    opacity: 1;
}

.react-bootstrap-table-sort-order, .react-bootstrap-table .order {
    margin-left: 5px;
}
/* end React-Bootstrap-Table2 */

I haven't done anything special to use bootstrap 5 as-is. It mostly uses the same classes and just works.

Hello, Can you make an example of use with react-bootstrap, which uses bootstrap 5 ?
Received this error #1706


Project management implemented : Fix #11

Prerequisites

[x] I have written a descriptive pull-request title
[x] I have verified that there are no overlapping pull-requests open
[x] I have verified that I am following the UI-DSM code style guidelines
[x] I have provided test coverage for my change (where applicable)

Description

Fix #11
An administrator can create and view details for a Project


Search and filter by preferred contact method

This relates to #66
We need to add the functionality in the search to be able to filter and export by "Preferred Contact Method."

Initial version will search for EMAIL or SMS. Both and blank not working. https://github.com/smartchicago/kimball/commit/794db5428fa62f2bab27d651c5c285edfa718e84

The easiest might be to bulk change the blank contact method values to "unknown" or something.

Here are a couple of things we need to think about:

Adding a question on the CUTGroup sign-up form on the website that asks preference of contact method
Sending an email out to (pre-text message) CUTGroup testers asking them if they prefer to receive text messaging over email. If we do this, I don't want to ask them all to respond, my thinking is that it would default to email preference unless otherwise specified. @shua123 my question to you would be then what makes the most sense to tag these testers? Does it make sense to tag them unknown until after that email campaign goes out and after a given amount of time (week or so) we switch all unknowns to EMAIL

We will add the question on the web Wufoo form about preference once text message test notification has been rolled out.
We will bulk update all "Unknown" CUTGroup testers to EMAIL as preferred method of contact, but will send the email asking their preference.

rake script written to bulk update all Unknown CUTGroup testers to EMAIL as preferred contact method with commit https://github.com/smartchicago/kimball/commit/0d466cd03d46917c28f75da0aa1c2ca1d769260a. Tested in staging.

This is completed once pushed live. Closing this issue.


Openstack infra rhos7 ironic extra data

Adding rhos7 ironic extra data to the refresh and removing the
hacky rhos6 version which was obtaining this via ssh. Changing
tests for rhos7 data.

@miq-bot remove_label wip


Adding the .json file for detecting deep moist convection

Adding the .json file for detecting deep moist convection

I randomly found out about this process and looking at the definition, in my opinion it should be called inside an apply_dimension process since it's modifying the input datacube dimensionality.


Add issue and pull request template

… and move contributing.md to .github directory as well.
Related to yeoman/yeoman#1652
@yeoman Let’s discuss the content :octocat:

Any additional feedback?
Especially to https://github.com/yeoman/yo/pull/492#discussion_r89933014
Would love to keep that going 😗

🎉

Awesome! Let's see how those templates do, then we can consider moving them to other repos as well.

Jup. See https://github.com/yeoman/yeoman/issues/1652 😘


META - Generating Alerts Based on Visualizations

Is your feature request related to a problem? Please describe.

As a user who has found a problem area that they want to monitor (e.g. setting up a new service), I want to setup an alert from the visualization that I’m looking at, so I don’t have to go to the alerts plugin to setup an alert.

Describe the solution you'd like
Proposal doc
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Task list:

#459
#460
#467
#468
#469
#470
#471
#472
#473
#474


always delete on domain inactivate

In quite strange use case I can see eve-user-apps do not gone after halting/removing domain (I wait for domain to be running, send stop, kill qemu-system process(which may be killed from in side I think), wait fo halted state, but still see conatinerd-shim in process list). So, seems reasonable to delete it anyway.
Signed-off-by: Petr Fedchenkov<EMAIL_ADDRESS>

In addition to @eriknordmark question (and yes we need to get to the bottom of what changed) I'm also puzzled at the name -- why is it called a child hypervisor?

In addition to @eriknordmark question (and yes we need to get to the bottom of what changed) I'm also puzzled at the name -- why is it called a child hypervisor?

Seems, it comes from https://github.com/lf-edge/eve/pull/1973#discussion_r606398985
About child hypervisor, actually I can add something like Cleanup into Task interface and call Delete of ctrd there.

In addition to @eriknordmark question (and yes we need to get to the bottom of what changed) I'm also puzzled at the name -- why is it called a child hypervisor?

Seems, it comes from #1973 (comment)
About child hypervisor, actually I can add something like Cleanup into Task interface and call Delete of ctrd there.

I believe this information deserves to be in the commit message. Would you mind adding a couple of sentences why is that needed?

In addition to @eriknordmark question (and yes we need to get to the bottom of what changed) I'm also puzzled at the name -- why is it called a child hypervisor?

Seems, it comes from #1973 (comment)
About child hypervisor, actually I can add something like Cleanup into Task interface and call Delete of ctrd there.

I believe this information deserves to be in the commit message. Would you mind adding a couple of sentences why is that needed?

Thank you for pointing me onto it. I put modifications to commit messages.


switch to google doc for project summary sheet

We've switched to using a google doc for a summary of the projects. This PR updates the hyperlink and renames the global variable accordingly.

The NSIDC notebook is currently failing and blocking merges. Since this is changing non-tutorial content, I am going ahead and merge this.


Comments under "Run Keywords" inappropriately moved around

I often use the Run Keywords methods for Setup or Teardown, sometimes I need to disable part of the setup/teardown, and I like to do this by just commenting the line(s) to disable.
Unfortunately, this doesn't work well with tidy... As the commented line is moved above the keyword/setting call.
Not sure which rule(s) is/are involved. But it seems related to keyword with sub-indentation.
For instance, in the example below, tidy does not change the location of message B or message 2, which is what I am expecting. However, the commented No Operation is moved around because it is within Run Keywords.
This looks like a bug/undesired behavior, but it might be a question of configuring correctly one or more rules... Let me know!
Example code
*** Settings ***
Documentation       Example of comments being moved around.

Suite Teardown      Run Keywords
...                     No Operation
# ...                     No Operation
...                     No Operation
Test Setup          Log Many
...                     message A
# ...                     message B
...                     message C

*** Test Cases ***
My test with 2 ident comment
    Run Keywords
    ...    No Operation
    # ...    No Operation
    ...    No Operation

My test with comment
    Log Many
    ...    message 1
    # ...    message 2
    ...    message 3

Desired

After formatting

'Popping out' comments is by design. Thanks for that we can ignore comments as it may be difficult to handle them in some cases (especially if for example we split into new lines etc). I need to think how to workaround this behaviour. It is doable to handle comments in transformer that indents run keywords (if its not different transformer like order settings) but I would need to see if its always applicable.

Returning to the issue. There is issue that sometimes comments 'are in a way'. For example in your case, IndentNestedKeywords may completely reorder the statement:
    Run Keyword If    True    My Keyword     ${arg}    ELSE    My Other Keyword  # comment about this line
    ...  random argument
   Run Keywords   # comment
    ...    No Operation  # comment
    #    No Operation
    ,,,    No Operation  No Operation  No Operation  # comment

Comments such as #    No Operation are clear but comments after data tokens are more difficult to handle (they usually need to stay close to the commented line). They way this transformation works is transforming everything to 'base' state and then reconstructing it with desired indent etc (and that's when 'popping' comments out happens).
I have some idea though - for example I can try to check if code before and after transformation was modified outside comments position. If not, we can ignore the transformation. I will work on this solution


Refactor code base to be more modular :tent:

:thinking: Problems addressed

The code base has already gotten pretty gnarly, especially with so many nondescript functions from the initial port of dracula—lua/mine-shaft/groups/ by itself is far too long
Much of the code base is poorly documented :disappointed:
Naming conventions are too far from canonical Neovim :compass:; just because Lua customarily prefers short function names doesn’t mean they can’t still be descriptive

:pushpin: Summary of commits

Breaking change :boom:: refactors the existing files to return modules as local tables, for example:

-- Declare a local table to return public module functions
local M = {}

-- Optional
function private()
  . . .
  return
end

-- At least one
function M.public(param)
  . . .
  return
end

-- Optional
setmetatable(M, {__call = function(_, param) return M.public(param) end})

return M

Moves :file_cabinet: highlight groups from lua/mine-shaft/groups.lua to separate files in lua/mine-shaft/highlight/; restores several defaults to establish a new baseline
Greatly expands :memo: documentation, including a README for lua/mine-shaft/highlight/

434960363c0ab286aa66b522abd16f71b498349f fixes #9


couldn't start bootstrap manager error when selecting certain shared object files

Describe the bug
Some shared object files don't seem to be accepted by ecapture due to something like it complaining the symbol SSL_WRITE can't be found.
To Reproduce
Using the eCapture v0.8.5 from the linux-amd64 release, I tried to sniff the HTTPS traffic for firefox and wget on my kali VM.
I ran ./ecapture tls --libssl=/usr/lib/x86_64-linux-gnu/libgnutls.so.30.34.3
the output is:
└─# ./ecapture tls --libssl=/usr/lib/x86_64-linux-gnu/libgnutls.so.30.34.3
2024-08-22T18:03:41-04:00 INF AppName="eCapture(旁观者)"
2024-08-22T18:03:41-04:00 INF HomePage=https://ecapture.cc
2024-08-22T18:03:41-04:00 INF Repository=https://github.com/gojue/ecapture
2024-08-22T18:03:41-04:00 INF Author="CFC4N<EMAIL_ADDRESS>2024-08-22T18:03:41-04:00 INF Description="Capturing SSL/TLS plaintext without a CA certificate using eBPF. Supported on Linux/Android kernels for amd64/arm64."
2024-08-22T18:03:41-04:00 INF Version=linux_amd64:v0.8.5:6.5.0-1025-azure
2024-08-22T18:03:41-04:00 INF Listen=localhost:28256
2024-08-22T18:03:41-04:00 INF eCapture running logs logger=
2024-08-22T18:03:41-04:00 INF the file handler that receives the captured event eventCollector=
2024-08-22T18:03:41-04:00 WRN ========== module starting. ==========
2024-08-22T18:03:41-04:00 WRN Kernel version is less than 5.2, Process filtering parameters do not take effect such as pid/uid. kernel=6.1.0
2024-08-22T18:03:41-04:00 INF Kernel Info=6.1.0 Pid=15619
2024-08-22T18:03:41-04:00 INF BTF bytecode mode: CORE. btfMode=0
2024-08-22T18:03:41-04:00 INF master key keylogger has been set. eBPFProgramType=Text keylogger=
2024-08-22T18:03:41-04:00 INF module initialization. isReload=false moduleName=EBPFProbeOPENSSL
2024-08-22T18:03:41-04:00 INF Module.Run()
2024-08-22T18:03:41-04:00 INF listen=localhost:28256
2024-08-22T18:03:41-04:00 INF https server starting...You can update the configuration file via the HTTP interface.
2024-08-22T18:03:41-04:00 INF OpenSSL/BoringSSL version not found from shared library file, used default version OpenSSL Version=linux_default_1_1_1
2024-08-22T18:03:41-04:00 INF Hook masterKey function ElfType=2 Functions=["SSL_get_wbio","SSL_in_before","SSL_do_handshake"] binrayPath=/usr/lib/x86_64-linux-gnu/libgnutls.so.30.34.3
2024-08-22T18:03:41-04:00 INF target all process.
2024-08-22T18:03:41-04:00 INF target all users.
2024-08-22T18:03:41-04:00 INF setupManagers eBPFProgramType=Text
2024-08-22T18:03:41-04:00 INF BPF bytecode file is matched. bpfFileName=user/bytecode/openssl_1_1_1j_kern_core.o
2024-08-22T18:03:41-04:00 FTL module run failed, skip it. error="couldn't start bootstrap manager error:7 errors occurred:\n\t* error:opening uprobe: symbol SSL_write: not found , isRet:false, opts:&{0 0 0 0 0 }, {UID:, EbpfFuncName:probe_entry_SSL_write}\n\t* error:opening uprobe: symbol SSL_write: not found , isRet:true, opts:&{0 0 0 0 0 }, {UID:, EbpfFuncName:probe_ret_SSL_write}\n\t* error:opening uprobe: symbol SSL_read: not found , isRet:false, opts:&{0 0 0 0 0 }, {UID:, EbpfFuncName:probe_entry_SSL_read}\n\t* error:opening uprobe: symbol SSL_read: not found , isRet:true, opts:&{0 0 0 0 0 }, {UID:, EbpfFuncName:probe_ret_SSL_read}\n\t* error:opening uprobe: symbol SSL_set_fd: not found , isRet:false, opts:&{0 0 0 0 0 }, {UID:uprobe_ssl_set_fd, EbpfFuncName:probe_SSL_set_fd}\n\t* error:opening uprobe: symbol SSL_set_rfd: not found , isRet:false, opts:&{0 0 0 0 0 }, {UID:uprobe_ssl_set_rfd, EbpfFuncName:probe_SSL_set_fd}\n\t* error:opening uprobe: symbol SSL_set_wfd: not found , isRet:false, opts:&{0 0 0 0 0 }, {UID:uprobe_ssl_set_wfd, EbpfFuncName:probe_SSL_set_fd}\n\n, probes activation validation failed ." isReload=false

Allowing eCapture to select an .so file by default selects /usr/lib/x86_64-linux-gnu/libssl.so.3, which curl uses on my kali VM.
I am able to see eCapture print out plaintext of my curl requests, but I have not been able to get eCapture to display my firefox or wget traffic.
Screenshots
If applicable, add screenshots to help explain your problem.
Verifying that my wget seems to be using /usr/lib/x86_64-linux-gnu/libgnutls.so.30.34.3

I tried looking at firefox

Looks like it uses /usr/lib/x86_64-linux-gnu/libssl3.so

Linux Server/Android (please complete the following information):
uname -a returns
Linux kali 6.1.0-kali9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1kali1 (2023-05-12) x86_64 GNU/Linux
Additional context
Add any other context about the problem here.

./ecapture tls --libssl=/usr/lib/x86_64-linux-gnu/libgnutls.so.30.34.3 is an incorrect usage method, please use ./ecapture gnutls --gnutls=/usr/lib/x86_64-linux-gnu/libgnutls.so.30.34.3, or for more help see ecapture gnutls --help.

./ecapture tls --libssl=/usr/lib/x86_64-linux-gnu/libgnutls.so.30.34.3 is an incorrect usage method, please use ./ecapture gnutls --gnutls=/usr/lib/x86_64-linux-gnu/libgnutls.so.30.34.3, or for more help see ecapture gnutls --help.

Thanks, that did work out to let me see my wget traffic, but I am still having issues with sniffing firefox.
Firefox said it is using /usr/lib/x86_64-linux-gnu/libssl3.so, so I tried ./ecapture tls --libssl=/usr/lib/x86_64-linux-gnu/libssl3.so
And I got the error like in my 4th screenshot. Any tips for this one?
Oh, and the output had a warning that my kernel version is < 5.2 but it is actually 6.1.0

./ecapture tls --libssl=/usr/lib/x86_64-linux-gnu/libgnutls.so.30.34.3 is an incorrect usage method, please use ./ecapture gnutls --gnutls=/usr/lib/x86_64-linux-gnu/libgnutls.so.30.34.3, or for more help see ecapture gnutls --help.

Thanks, that did work out to let me see my wget traffic, but I am still having issues with sniffing firefox.
Firefox said it is using /usr/lib/x86_64-linux-gnu/libssl3.so, so I tried ./ecapture tls --libssl=/usr/lib/x86_64-linux-gnu/libssl3.so  And I got the error like in my 4th screenshot. Any tips for this one?
Oh, and the output had a warning that my kernel version is < 5.2 but it is actually 6.1.0

firefox using nss/nspr

Thanks for all the help; I didn't realize I was supposed to use the nss command for ecapture on firefox.
All user error, but I get it now thanks.


Crash upon running on Arch Linux

When I try running lrcget on Arch from the lrget-bin package in the AUR, it crashes with this:
** (lrcget:20341): WARNING **: 21:44:01.837: webkit_settings_set_enable_offline_web_application_cache is deprecated and does nothing.
Database file path: /home/main/.local/share/net.lrclib.lrcget/db.sqlite3
Existing database version: 4
ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave
thread 'main' panicked at src/main.rs:450:34:
Failed to initialize audio player: The requested device is no longer available. For example, it has been unplugged.

Caused by:
    The requested device is no longer available. For example, it has been unplugged.
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Someone in the #archlinux-aur IRC channel on Libera also had the above problem

Show full backtrace

** (lrcget:40131): WARNING **: 21:56:33.951: webkit_settings_set_enable_offline_web_application_cache is deprecated and does nothing.
Database file path: /home/main/.local/share/net.lrclib.lrcget/db.sqlite3
Existing database version: 4
ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave
thread 'main' panicked at src/main.rs:450:34:
Failed to initialize audio player: The requested device is no longer available. For example, it has been unplugged.

Caused by:
    The requested device is no longer available. For example, it has been unplugged.

Stack backtrace:
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: __libc_start_main
  14: <unknown>
stack backtrace:
   0:     0x57645d3831c5 - <unknown>
   1:     0x57645d3ae80b - <unknown>
   2:     0x57645d37fa5f - <unknown>
   3:     0x57645d3844c1 - <unknown>
   4:     0x57645d38419c - <unknown>
   5:     0x57645d384b21 - <unknown>
   6:     0x57645d384987 - <unknown>
   7:     0x57645d383689 - <unknown>
   8:     0x57645d384614 - <unknown>
   9:     0x57645ca29a73 - <unknown>
  10:     0x57645ca29f46 - <unknown>
  11:     0x57645cb86f6e - <unknown>
  12:     0x57645cba2e58 - <unknown>
  13:     0x57645cbb56f4 - <unknown>
  14:     0x57645cba7745 - <unknown>
  15:     0x57645cd264d7 - <unknown>
  16:     0x57645cca68c0 - <unknown>
  17:     0x57645cb192f0 - <unknown>
  18:     0x57645caee003 - <unknown>
  19:     0x57645cbd2c39 - <unknown>
  20:     0x57645d377720 - <unknown>
  21:     0x57645cb193a5 - <unknown>
  22:     0x75d43b9f5e08 - <unknown>
  23:     0x75d43b9f5ecc - __libc_start_main
  24:     0x57645ca2a445 - <unknown>
  25:                0x0 - <unknown>

Unofficial package

I also get this when running the Appimage in releases:
Cannot get default EGL display: EGL_SUCCESS
Cannot create EGL context: invalid display (last error: EGL_SUCCESS)
fish: Job 1, './lrcget_0.5.0_amd64.AppImage' terminated by signal SIGSEGV (Address boundary error)

Compile from release

Error failed to bundle project: error running appimage.sh

Compile from main

Error failed to bundle project: error running appimage.sh

I don't know Rust or Node so I have no idea what's going on here, any help would be appreciated.

The panick is caused by this line:
https://github.com/tranxuanthang/lrcget/blob/39b921bb5ea6a106414b178c579ffe5540cf07ee/src-tauri/src/main.rs#L450
I remember I handled the unwrap gracefully recently in a in-development branch but haven't pushed it to main yet. I'll look into it.
It might be caused by the lack of an audio device. For example, if you are trying to run it on a graphical server.

The panick is caused by this line:
https://github.com/tranxuanthang/lrcget/blob/39b921bb5ea6a106414b178c579ffe5540cf07ee/src-tauri/src/main.rs#L450
I remember I handled the unwrap gracefully recently in a in-development branch but haven't pushed it to main yet. I'll look into it.
It might be caused by the lack of an audio device. For example, if you are trying to run it on a graphical server.

I'm not sure what "audio device" could mean here other than an audio output, but I do have my headphones plugged in. Please do let me know when it does get fixed though, I've been waiting for a while to get to use this with my library but never bothered to report the issue until now.

Another reason could be some packages are missing. Especially if you install Archlinux without a DE like Gnome or KDE Plasma, and only use a window manager like i3wm or awesomewm.
Can you check if you have pipewire-alsa installed? More information in this issue: https://github.com/tranxuanthang/lrcget/issues/54#issuecomment-2094284061

Another reason could be some packages are missing. Especially if you install Archlinux without a DE like Gnome or KDE Plasma, and only use a window manager like i3wm or awesomewm.
Can you check if you have pipewire-alsa installed? More information in this issue: #54 (comment)
If I "fixed" this, it only prevents crash at startup, you can still download and search for lyrics but cannot use the playback feature unfortunately, until you find out what you are missing.

pipewire-alsa was missing, just added it now.
Now the error is different, on the AUR package it's this:
** (lrcget:90109): WARNING **: 02:24:15.260: webkit_settings_set_enable_offline_web_application_cache is deprecated and does nothing.
Database file path: /home/main/.local/share/net.lrclib.lrcget/db.sqlite3
Existing database version: 4
Gdk-Message: 02:24:15.489: Error 71 (Protocol error) dispatching to Wayland display.

And on the AppImage:
Cannot get default EGL display: EGL_SUCCESS
Cannot create EGL context: invalid display (last error: EGL_SUCCESS)
fish: Job 1, './lrcget_0.5.0_amd64.AppImage' terminated by signal SIGSEGV (Address boundary error)

Now that it's relevant, I'm on KDE Plasma (Wayland) 6.1.5

If you have an Nvidia GPU, there is an unfixed bug in upstream. Could you also try follow this? https://github.com/tranxuanthang/lrcget/issues/54#issuecomment-2094306594

If you have an Nvidia GPU, there is an unfixed bug in upstream. Could you also try following this? #54 (comment)

I do have an NVIDIA GPU, and the command you sent does open the window. If the audio player thing you mentioned before applies here, that doesn't matter that much to me, I'll probably just open them in mpv or ncmpcpp out of habit anyways.
Thanks for the help!
This probably warrants a whole new issue, but before I close, this doesn't seem to be recognizing my .ape files or even my .opus files. It does pick up .flacs though.

This probably warrants a whole new issue, but before I close, this doesn't seem to be recognizing my .ape files or even my .opus files. It does pick up .flacs though.

LRCGET depends on other native Rust crates such as lofty for reading tags, symphonia and cpal for playback, and they don't have support for every audio extensions unfortunately.
Some other ways are embedding mpv and using libmpv to interact with it for example, and vlc with libvlc can be another choice, but these solutions have their own disadvantages.


Florida Go Live Checklist

Overview doc = https://drive.google.com/file/d/1uCKyeW4hh2wmpahD3JHcJ9jH66sodyt0/view?usp=sharing
Checklist

[x]  Intro

[x] get documents https://drive.google.com/drive/folders/1Oed8k5AfqxdouQTPuS3bDRedNGrc6hxM
[x] submit registration

[x]  Receive SFTP credentials

[x]  Confirm data schema
Elr documentation = https://drive.google.com/file/d/1my9ftaEcqzECjWYCwnWu5VuY_2AeYQh9/view?usp=sharing
CSV = https://cdc.sharepoint.com/:x:/t/USDSatCDC/EQ44_DXxLbREub1DbMB3dw8BCuumC8UkF-8o6AK8QuXUuQ?e=EGAO2B

[x]  Send test file

[ ]  Confirm new site registration process

[ ] Go live

Sending CSV for now. Waiting on final steps/feedback from FL.

Sending CSV for now. Waiting on final steps/feedback from FL.

I updated the fake data generation and sent a new file to FL this morning.

I updated the fake data generation and sent a new file to FL this morning.

This is still in progress. We have sent them another file, but we are waiting to review with them. We will send them more synthetic data this week.

This is still in progress. We have sent them another file, but we are waiting to review with them. We will send them more synthetic data this week.

Blocked by first new sender

Blocked by first new sender

Another file sent on Friday, Waiting for approval for HL7


Recent change broke TNU DRS copy_batch API backward compatibility and makes copy_batch harder to use

Until recently, the TNU DRS API copy_batch signature took a simple list of DRS URIs to copy to a given destination, as follows:
def copy_batch(drs_urls: Iterable[str],
               dst_pfx: str,
               workspace_name: Optional[str]=WORKSPACE_NAME,
               workspace_namespace: Optional[str]=WORKSPACE_GOOGLE_PROJECT):

and now it takes a list of dicts (e.g., JSON objects) with each dict/object having a DRS URI and a specific destination for that DRS URI. This is great in that it has more expressive power/control, yet it also breaks backward compatibility and is harder to use for users for common use cases
manifest_schema = {
    "type": "array",
    "items": {
        "type": "object",
        "properties": {
            "drs_uri": {"type": "string"},
            "dst": {"type": "string"},
        },
        "required": ["drs_uri", "dst"],
    },
}

def copy_batch(manifest: List[Dict[str, str]],
               workspace_name: Optional[str]=WORKSPACE_NAME,
               workspace_namespace: Optional[str]=WORKSPACE_GOOGLE_PROJECT):

Many Terra users don't have strong software skills, at least in Python (many are R language developers, and may be using TNU within R, etc.). Creating a list of dicts with specific fields simply to download a list of DRS URIs to a single, given destination seems too much to ask.
This was changed in TNU commit:
 Use manifest for batch copy, introduce CLI arg #335.
I expect it is both possible and easy to change the TNU DRS API for copy_batch to support both the previous simple format and the new manifest format. That is the desired resolution.

This was fixed in: https://github.com/DataBiosphere/terra-notebook-utils/pull/374

This was fixed in: https://github.com/DataBiosphere/terra-notebook-utils/pull/374

This was fixed in: https://github.com/DataBiosphere/terra-notebook-utils/pull/374


output object per line

Current get_feed_requests outputs every new line as an array of return request objects.
[{"id":1234255...},{"id":123124124...} x 1000]
[{"id":1231245...},{"id":122314124...} x 1000]
[{"id":1255555...},{"id":128784124...} x 1000]

This outputs it so that every request object takes it own new line.
{"id":12345...}
{"id":65433...}
{"id":88128...}

Found it to be easier to handle and use with our chosen siem service.  Let me know what you think, if you think it's good enough but as an additional output option, I can write something utilizing a ---feed-output flag or something like that.

Thank you so much for your contributions on this. What started out as a simple sample script has grown to be much more. I am concerned about the possibility of the change breaking a feed for anyone that might be relying on the current output format. I think making an additional option like you suggest makes sense. My thoughts are using a flag like --feed2 along with a get_feed_requests2 method so it can be recognized as version 2 of feed output. Let me know your thoughts on this. Thanks again!


Loosen requirements.txt dependencies

I am unable to pip install -r requirements.txt into certain projects given its exact pinning of:

gradio
gradio_client
numpy

Can you loosen the dependencies in requirements.txt so it's based on supported ranges?
That way h2ogpt can be easily used in pre-existing projects.

Many cannot be made loose, and every existing env will vary in its potential to work if things are made loose.  You can try relaxing the ones you hit.