Building from source fails due to weird subfolder names

Hi! First of all, thanks a lot for repackaging this app for Ubuntu!
I was trying to build it from source and got the following error (shown in the picture).

On further debugging, I figured out that this was due to some odd subfolder names (they showed up as "??" in ls). After changing the folder names and rewriting the bash script, everything works fine.
Any ideas on how to make it work with the default folder names?

I haven't experienced this so I'm not sure what's going wrong. Can you tell me a bit about your system, e.g. are you using Ubuntu or a more obscure Linux distribution? Also, which parts of the Bash script did you change to get it working?

I'm on Ubuntu 16.04.
I renamed the subfolders of notion-deb-builder/build/notion to the following structure.

Then I changed the bash script to point to these folders while extracting.

I also had to stop the extraction of the notion executable as that had the funky named folders.

I believe this may be caused by an old version of 7zip - mine is version 16.02, while yours is version 9.20 which I can see is the latest in the Ubuntu 16.04 repositories. The extracted .exe folder structure is expected to look like this:
% tree build/notion
build/notion
├── $PLUGINSDIR
│   ├── SpiderBanner.dll
│   ├── StdUtils.dll
│   ├── System.dll
│   ├── WinShell.dll
│   ├── app-64.7z
│   ├── nsExec.dll
│   ├── nsProcess.dll
│   └── nsis7z.dll
└── Uninstall\ Notion.exe

1 directory, 9 files

A newer version of p7zip is not available in the xenial-backports repository, however you could try manually downloading and installing the deb from Ubuntu 20.04 - let me know if that works!

I have updated the README to reflect that p7zip version 9.20 does not seem to work with the script.

I believe this may be caused by an old version of 7zip - mine is version 16.02, while yours is version 9.20 which I can see is the latest in the Ubuntu 16.04 repositories. The extracted .exe folder structure is expected to look like this:
% tree build/notion
build/notion
├── $PLUGINSDIR
│   ├── SpiderBanner.dll
│   ├── StdUtils.dll
│   ├── System.dll
│   ├── WinShell.dll
│   ├── app-64.7z
│   ├── nsExec.dll
│   ├── nsProcess.dll
│   └── nsis7z.dll
└── Uninstall\ Notion.exe

1 directory, 9 files

A newer version of p7zip-full is not available in the xenial-backports repository, however you could try manually downloading and installing the deb from Ubuntu 20.04 - let me know if that works!

Sure! I'll try it out sometime this weekend. Thanks a ton!

Closing as this is now documented in the readme; please let me know if this is still an issue with the latest p7zip

Closing as this is now documented in the readme; please let me know if this is still an issue with the latest p7zip


Support other data types in annotation catalog entity

Backstage as the source of truth of information, makes him to be able to put any information in it, supporting various data type in the catalog entity spec would help the user to put information based on his use cases.
Feature Suggestion
It would be nice if user can put information in an annotation catalog entity other than string data types.
Possible Implementation
Add option to extend catalog entity spec of annotation to support other data types than string.
Context
https://discord.com/channels/687207715902193673/687235481154617364/898236751510929409
In the company that I am working for, there are use case to put information like array of dashboard with named links, array of accounts, and other information that has dynamic size.

Thank you for the suggestion! This has been discussed before, but we've never quite gotten to the point of being able to motivate the change. It's definitely unfortunate to diverge from the k8s YAML format, so we shouldn't do so without good reason. Another driver for not adding this is that we in the end don't really want annotations to be something that users add by hand most of the time, which makes it fine to have some more machine generated syntax.
Are you able to share a bit more about your use-cases and the need for adding these as annotations? More often than not it'd be fine to extend either the spec or metadata fields with internal additions directly. The primary function of annotations is really to serve as an integration point for open source plugins and bridging together other standardized concerns that we don't want to make part of the base entity schema.

Hi @Rugvip, what if some plugins need multiple data and annotations are mostly used by plugin to see their configuration right?


A2/A3 leveling fixes

Small fix that makes so that A2 leveling works better (now doesn't crash when trying to leave town)

Obsolete with #422


Add new option for setting bitrate preset

bitrate_preset=STRING One of the following value: (96kbps/160kbps/320kbps)
This is the correct pull request fir bitrate option. Sorry for the wrong previous one. I also changed the option type to be a string with the real bitrate values as you requested.

Cool! I'll have a better look later today, but one thing I noticed is that you're calling libspotify session functions  (sp_session_preferred_bitrate) without holding the session mutex (g_spotify_api_mutex). That's not allowed, since it might cause races & crashes and other fun things (more here https://developer.spotify.com/technologies/libspotify/faq/).
There's a bunch of (terribly poorly documented) macros defined towards the top of spfs_spotify.c to help deal with these intricacies - you might be able to use one of those to generate a wrapper for the function for you.

I was thinking that it was not needed because the bitrate function is called just after the session init

I think it'd be wiser to play it safe, regardless. It's such an easy bug to avoid (regardless if you use one of the macros or lock/unlock the mutex yourself) that even if it only triggers once every millionth execution it's worth it, imo.

New PR with updated code as requested


No matter what I do, I get a "score" of 143.

Trying to validate a Kubernetes PodSpec. Have pulled out all my hair.
validation.go:163] ValidateResource(): results=&{errors:[] score:143}
For starters, is there any documentation telling us what 143 means?
I submit a spec that should fail (and it does when my controller tries to create the pod) and it gives me a score of 143, no errors are set.
I submit a spec that works and it gives me a score of 143.
In a rough high level: (this is like the 200th approach I've taken to this, here is my current approach)

My controller sees a change in my API object.
I retrieve the embedded v1.PodSpec from the object.
I Marshall this into JSON. So now I have a []byte type that contains only the PodSpec.
I Ummarshall this into an interface{}
I create JSONLoaders for my kubernetes object and one for the schema I am using - https://github.com/garethr/kubernetes-json-schema/blob/master/v1.13.1-standalone/podspec.json

    inputLoader  := gojsonschema.NewGoLoader(object). // my kubernetes object
    schemaLoader :=  gojsonschema.NewReferenceLoader(filename). // PodSpec.json

Then I call:

results, err = gojsonschema.Validate(schemaLoader, inputLoader)

What am I doing wrong here?

To check whether a document is valid according to a schema you use the result.Valid() and the result.Errors() methods. The score is an internal number used for some bookkeeping, but not at all relevant for determining the validity of a JSON document. There is a reason it's not exposed via a public API and you're only able to see it with a debugger.
In both cases your podspec is valid according to the podspec.json as there are no errors. Maybe the schema is just too permissive. It seems to be autogenerated from an OpenAPI spec. Don't expect it to be watertight in terms of determining whether a given spec will actually work on an application level. The other option is you're somehow loading it wrong.
Why not put the v1.PodSpec directly into the GoLoader and instead transforming it into JSON, then into []byte and then into interface{}. It might very well work, but it seems like a lot of extra work to me.
To make debugging for me easier could you marshal the faulty podspec to JSON and paste it in here and explain why you expected it to fail on validation?

Yea that is what I'm doing now but it still validates anything.
For example, I'm testing a bad spec by specifying a junk string for ImagePullPolicy. This says the spec is valid but then when my controller tries to create the pod, it fails citing the invalid key.
    klog.V(4).Info("ValidateResource(): validating schema")
    if results, err = gojsonschema.Validate(schemaLoader, inputLoader); err != nil {
        klog.Errorf("ValidateResource(): validation failed: %s", err)
        return errors.New(fmt.Sprintf("failed to validate input: %s", err))
    } else {
        klog.V(4).Infof("ValidateResource(): results=%+v", results)
    }

    if results.Valid() {
       // This seems to always be true
        klog.V(5).Info("ValidateResource(): validation successful")
        return nil
    } else {
        klog.Error("ValidateObject(): the following errors were encountered:")
        for _, desc := range results.Errors() {
            klog.Errorf("ValidateResource():  %s", desc)
        }
        return errors.New("resource validation failed")
    }

results.Valid() seems to always evaluate to true even when submitting a spec that has a incorrect key and one that pod create will barf on.

If you look at the part of the schema that describes imagePullPolicy  it says:
"imagePullPolicy": {
    "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
    "type": [
        "string",
        "null"
    ]
},

It only checks whether the imagePullPolicy you provide is null or a string. To put it bluntly that autogenerated schema you're using is terrible as it's way too permissive.

thanks. I just looked at the strict version and it also allows anything. Seems pretty useless and apparently strict mode is not supposed to allow keys that aren't in the spec, nope, even that isn't working.
I guess I need to dig thru the kubernetes code and figure how they do it.
Thx for catching this.


Add FR:HC SN

Got a new device in US through Amazon, manufactured in Mar 2023.
Working with these changes.
Did not update the README.
Thanks!

Thanks!


[FEATURE][WIP] Minifier: Support input source maps

If sources already went through some kind of processing, like
transpilation, they might already provide source maps. Since terser
allows to enhance these instead of creating new ones, let's try to offer
that option when possible.
To be decided:

Do we allow both options, "inline" and separate .map files as input?
Should we expect either one or none by default? (investigate
funcitonal and performance impact of the terser options)
In case we want to offer this as an option: Enhance task and processor
options and ui5.yaml configuration. Decide whether to have a setting
per project or file/pattern

Coverage remained the same at 93.843% when pulling 4b0356294e8da97bb89c253118da17cb2c145c5d on minifier-input-sourcemap into 7e7a77aa9740ed345daa9984e4a8320e1042a01b on next.

@RandomByte instead of just relying on inline source maps, I would extend to logic a bit more and depend on the sourceMappingURL information, e.g. lib/processors/minifier.js:
import {fileURLToPath} from "node:url";
import posixPath from "node:path/posix";
import os from "node:os";
import workerpool from "workerpool";
import Resource from "@ui5/fs/Resource";
import {getLogger} from "@ui5/logger";
const log = getLogger("builder:processors:minifier");

const debugFileRegex = /((?:\.view|\.fragment|\.controller|\.designtime|\.support)?\.js(?:\.map)?)$/;

const MIN_WORKERS = 2;
const MAX_WORKERS = 4;
const osCpus = os.cpus().length || 1;
const maxWorkers = Math.max(Math.min(osCpus - 1, MAX_WORKERS), MIN_WORKERS);

// Shared workerpool across all executions until the taskUtil cleanup is triggered
let pool;

function getPool(taskUtil) {
	if (!pool) {
		log.verbose(`Creating workerpool with up to ${maxWorkers} workers (available CPU cores: ${osCpus})`);
		const workerPath = fileURLToPath(new URL("./minifierWorker.js", import.meta.url));
		pool = workerpool.pool(workerPath, {
			workerType: "auto",
			maxWorkers
		});
		taskUtil.registerCleanupTask(() => {
			log.verbose(`Terminating workerpool`);
			const poolToBeTerminated = pool;
			pool = null;
			poolToBeTerminated.terminate();
		});
	}
	return pool;
}

async function minifyInWorker(options, taskUtil) {
	return getPool(taskUtil).exec("execMinification", [options]);
}

/**
 * @public
 * @module @ui5/builder/processors/minifier
 */

/**
 * Result set
 *
 * @public
 * @typedef {object} MinifierResult
 * @property {@ui5/fs/Resource} resource Minified resource
 * @property {@ui5/fs/Resource} dbgResource Debug (non-minified) variant
 * @property {@ui5/fs/Resource} sourceMap Source Map
 */

/**
 * Minifies the supplied resources.
 *
 * @public
 * @function default
 * @static
 *
 * @param {object} parameters Parameters
 * @param {@ui5/fs/Resource[]} parameters.resources List of resources to be processed
 * @param {@ui5/builder/tasks/TaskUtil|object} [parameters.taskUtil] TaskUtil instance.
 *    Required when using the useWorkers option
 * @param {object} [parameters.options] Options
 * @param {boolean} [parameters.options.addSourceMappingUrl=true]
 *   Whether to add a sourceMappingURL reference to the end of the minified resource
 * @param {boolean} [parameters.options.useWorkers=false]
 *  Whether to offload the minification task onto separate CPU threads. This often speeds up the build process
 * @returns {Promise<module:@ui5/builder/processors/minifier~MinifierResult[]>}
 *   Promise resolving with object of resource, dbgResource and sourceMap
 */
export default async function({resources, taskUtil, options: {addSourceMappingUrl = true, useWorkers = false} = {}, workspace}) {
	let minify;
	if (useWorkers) {
		if (!taskUtil) {
			// TaskUtil is required for worker support
			throw new Error(`Minifier: Option 'useWorkers' requires a taskUtil instance to be provided`);
		}
		minify = minifyInWorker;
	} else {
		// Do not use workerpool
		minify = (await import("./minifierWorker.js")).default;
	}

	return Promise.all(resources.map(async (resource) => {
		const dbgPath = resource.getPath().replace(debugFileRegex, "-dbg$1");
		const dbgResource = await resource.clone();
		dbgResource.setPath(dbgPath);

		const filename = posixPath.basename(resource.getPath());
		const code = await resource.getString();

		const sourceMapOptions = {
			filename
		};
		if (addSourceMappingUrl) {
			sourceMapOptions.url = filename + ".map";
		}

		const dbgFilename = posixPath.basename(dbgPath);

		// find existing source map (either from sourceMappingURL or by naming convention)
		const sourceMappingURL = code.match(/^\/\/# sourceMappingURL=(.*)$/m)?.[1] || filename + ".map";
		if (sourceMappingURL.startsWith("data:")) {
			sourceMapOptions.content = "inline";
		} else {
			const sourceMap = await workspace.byPath(posixPath.resolve(posixPath.dirname(resource.getPath()), sourceMappingURL));
			if (sourceMap) {
				sourceMapOptions.content = await sourceMap.getString();
				const dbgSourceMapPath = sourceMap.getPath().replace(debugFileRegex, "-dbg$1");
				const dbgSourceMap = await sourceMap.clone();
				dbgSourceMap.setPath(dbgSourceMapPath);
				const dbgSourceMapJSON = JSON.parse(sourceMapOptions.content);
				dbgSourceMapJSON.file = dbgFilename;
				dbgSourceMap.setString(JSON.stringify(dbgSourceMapJSON));
				await workspace.write(dbgSourceMap);
			}
		}

		const result = await minify({
			filename,
			dbgFilename,
			code,
			sourceMapOptions
		}, taskUtil);
		resource.setString(result.code);
		const sourceMapResource = new Resource({
			path: resource.getPath() + ".map",
			string: result.map
		});
		return {resource, dbgResource, sourceMapResource};
	}));
}

I used this to verify the source maps handling in the ui5-ecosystem-showcase project by patching the ui5-builder with the above code (it also requires to pass the workspace so far to read the file defined in the sourceMappingURL. It works with inline source maps, with externals and it also creates the source maps for the -dbg files which maybe also are based on TypeScript or transpiled. Maybe we can chat about this soon...

Thanks Peter. Looks good! Maybe we can also reuse the code from our bundle/Builder module
The main question for me is whether we should always search for source maps in the code or rather make this a ui5.yaml configuration option. For this we should benchmark the performance impact of always doing it.

@RandomByte @matz3 any chance to fix this before the vacation starts? 😉

Some things we need to consider when using exiting source maps:
Existing source maps for resources that are modified by tasks preceding the minify tasks are likely to become inconsistent. For example if a resource is transpiled from TypeScript to JavaScript right at the beginning of the build, the replaceCopyright task might insert a multi-line copyright statement at the beginning of the JavaScript resource, thus invalidating the source map.
This is not an issue for current TypeScript scenarios where typically ui5-tooling-transpile is being used and configured to run afterTask: replaceVersion. However, those projects then can't use the standard replaceCopyright or replaceVersion tasks and need to find other solutions for those.
To solve this aspect we would probably need to enhance the Resource class to maintain relationships between resources and their source map resources. And we need a central utility module to easily align source maps with the changes done by a task. Rollup and other bundlers have similar functionality, so it makes sense to integrate this into UI5 Tooling at some point.

Any chance for a release? 😄

Cc @matz3 @flovogt @d3xter666

Some benchmarks according to our documentation, comparing this PR to the current main branch:
openui5-sample-app

ui5-builder Ref
Command
Mean [ms]
Min [ms]
Max [ms]
Relative

main (e96a2be)
ui5 build
730.3 ± 25.7
699.0
786.5
Baseline

minifier-input-sourcemap (b50869d
ui5 build
714.3 ± 9.1
703.5
728.4
-2% (basically the same)

sap.ui.core

ui5-builder Ref
Command
Mean [s]
Min [s]
Max [s]
Relative

main (e96a2be)
ui5 build
8.757 ± 0.167
8.496
9.061
Baseline

minifier-input-sourcemap (b50869d
ui5 build
8.600 ± 0.151
8.325
8.745
-1.7% (basically the same)

OpenUI5 testsuite (including dependencies)

ui5-builder Ref
Command
Mean [s]
Min [s]
Max [s]
Relative

main (e96a2be)
ui5 build --all
58.487 ± 0.541
57.440
59.186
Baseline

minifier-input-sourcemap (b50869d
ui5 build --all
58.622 ± 1.507
56.833
60.867
-0.8% (the same!)

Internal TS Library

ui5-builder Ref
Command
Mean [s]
Min [s]
Max [s]
Relative

main (e96a2be)
ui5 build
5.528 ± 0.228
5.348
5.985
Baseline

minifier-input-sourcemap (b50869d
ui5 build
5.520 ± 0.227
5.364
5.988
The same

Specs: MacBook Pro M1 Max

What's the status on this one here?

What's the status on this one here?

We've clarified all open points and are working on finalising this PR in the upcoming sprint.

ui5-fs Resource change to ensure we don't use source maps of resources that have been modified by previous tasks, even when they exist in-memory only: https://github.com/SAP/ui5-fs/pull/524

Verified successful with all planned scenarios: easy-ui5 ts-app, easy-ui5 ts-library and an internal TS library.
This PR is ready from my side and only requires final review 👍

Tests for minify task should be enhanced

Done


Format Java files in generate.py

Problem

scripts/tools/zap/generate.py does not support prettifying Java files
Consequently, the "ZAP templates" action will fail because it expects unformatted files

Change overview

In zap_templates.yaml, add actions/setup-java@v2 step so we can run java -jar
In generate.py, download a google-java-format jar from https://github.com/google/google-java-format, and use that to in-place format *.java files

Testing
In this PR, added test-javafile.zapt which generates Test.java. This is just for providing a real Java template that the CI can run on, and will be removed after approvals are received.

/rebase

/rebase

@saurabhst @LuDuda @jmartinez-silabs @jelderton ?


Rename stablehlo-interpreter to stablehlo-translate

Per #1272.

Implemented in https://github.com/openxla/stablehlo/pull/1286.


Assert MesosDNS is returning non-empty Marathon leader ip.

Summary:
The system test
test_marathon_root.test_marathon_zk_partition_leader_change can fail
when we assume a Marathon leader change even though the IP is empty.

Only system.test_marathon_root.test_run_app_with_non_existing_user is failing which is a known issue.

Only test_run_app_with_non_existing_user fails so the system tests pass!


README.md: Add missing --repo flag in quickstart

In 757f7a0b9 the --repo flag was added to the operator-sdk new command, which is required when running with --dep-manager modules. This breaks the Go quickstart since --repo isn't mentioned there.
Closes https://github.com/operator-framework/operator-sdk/issues/1688.

Description of the change:
Include the --repo flag in the Go quickstart.
Motivation for the change:
Docs should be accurate.

/ok-to-test


App vanishes into thin air when registering models with Waterlinea

Node version: 10.22.0
Sails version (sails): 1.2.3
ORM hook version (sails-hook-orm): 2.1.1
Sockets hook version (sails-hook-sockets):  -
Organics hook version (sails-hook-organics):  -
Grunt hook version (sails-hook-grunt):  -
Uploads hook version (sails-hook-uploads): -
DB adapter & version (e.g. sails-mysql@5.55.5): 1.0.1
Skipper adapter & version (e.g. skipper-s3@5.55.5): 0.5.11

I have a sails app which is working fine on my local machine. But, when running it in a docker container, I receive the following output and the app just exits. No errors. No traces. Just vanishes.
     : Loading app services...
verbo: services hook loaded successfully. (45ms)
     : Loading hook: security
verbo: security hook loaded successfully. (2ms)
     : Loading hook: http
verbo: Cannot load default HTTP session middleware when Sails session hook is disabled.  Skipping...
verbo: http hook loaded successfully. (3779ms)
     : Loading hook: orm
     : Loading the app's models and any custom adapters...
     : Loading app models...
     : Loading app adapters...
verbo: Loading adapter (`sails-mysql`) from this app's `node_modules/` directory...
     : Starting ORM...
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline
     : Registering model XXX in Waterline

I have tried enabling DEBUG="*" but that also doesn't give me anything.
Is there any way I can actually figure out what is wrong? Sails is providing 0 information regarding the crash and I am afraid it's a very bad place to be since you don't even know what's going wrong.
Here's the concerned part of the Dockerfile:
FROM node:10

RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app

WORKDIR /home/node/app

USER node

COPY --chown=node:node . .

EXPOSE 1337

CMD [ "npm", "run", "dev" ]

npm run dev ==> "NODE_ENV=development nodemon app.js --silly"
And here's the relevant part from docker-compose:

Hi @abhisheksoni27, I was reviewing this issue and I wasn't able to reproduce it. Would you be able to provide us with a repo of a minimal sails app that is set up to run in a docker container and reproduces the issue you are running into?

Hi, @eashaw
I'll try to set up a new project that reproduces this issue, but I am afraid that is going to happen. I'd be glad if it does.
However, my main concern is, is there any way I can make sails output something that can help me figure out what is going wrong?
If there is any part of the sails' source code that you want me to modify, add debugger, or console traces, I'll be happy to do so.
An empty project with minimal dependencies as this one might do the trick but there is a high chance it just works because it's minimal.
I hope you understand.
I'll try my best to reproduce it.


If no service 'today' the setup fails

Describe the bug
When setting up a route an start/stop it will automatically check if there is 'data' for today , this as a form of validation
However, many service donot run on weekend/holiday/etc. so althought the attributes are coorect , the setup fails anyhow

Reduced the risk by checking also for 'tomorrow' in the config_flow


Tests and tests coverage?

This app is mighty nice, but it scares me that there are so few tests and so few new tests added as new code is being added ...
This is a bit a chicken and egg issue: I may not use it because of the lack of tests and therefore I am not contributing tests either (because I do not use it because of teh lack of tests)
Could I suggest adding coveralls for a start to highlight the tests coverage issue to everyone?
Any plan to improve things on that front?

Thanks to @flinz's commits, we now have coverage reports from codecov as part of our CI, and thanks to his leadership, increasing our test coverage has been promoted from issue to project status!
Although it has taken us a while to find the needed resources, we're grateful for the encouragement and suggestions you gave @pombredanne! :cake: And, of course, thanks once again for giving us such testing momentum @flinz! 🎉

Thanks!
I would very much recommend to make what @pombredanne wrote something like PR guidelines:

1/ no patches or new commit without unit tests
2/ a new test for each new ticket fixed or new features
3/ as you work on the codebase, and want to do some refactorings, start by writing a few tests that could break with the changes

Especially as we accept pull requests for features and refactoring we should make them conditional on providing proper tests.


Review algorithms of the  functions we are using for chatbot

See this pdf as reference of the different algorithms
http://users.isr.ist.utl.pt/~wurmd/Livros/school/Bishop - Pattern Recognition And Machine Learning - Springer  2006.pdf

Main algorithms of the functions:

NLU: Natural Language Understanding
ML: Machine Learning
NDU: Natural Dialog Understanding
SVM: Support Vector Machines (supervised learning models), They use Node-binding to
LIBSVM
CRF: Conditional Random Field, for slot extraction
FastText: to compute word vectors
Sentencepiece: to tokenize input sentences


The latency of http2 server is much higher than the network latency

Hi,
After hitting https://github.com/hyperium/tonic/issues/103 I decided to look for the source of latency in tonic.
Please have a look at two trivial servers and clients. In both cases the client and the server talk over the loopback device, so there is very little latency in the link.
tokio-test.tar.gz
hyper-test.tar.gz
tokio-test
The server is the echo server from the tokio examples collection. The client proceeds this way:

send a few bytes to the server,
wait for a complete echo to come back,
repeat.

This test uses http/2 so that a single connection is reused for all requests.
On my test machine, this client runs 16K iterations in 0.75sec.
hyper-test
The server responds to any request with "Hello, world!\n". Essentially, it is hyper/examples/multi_server.rs with "multi" part removed. The client proceeds this way:

send "GET http://<IP_ADDRESS>:9091/",
wait for a complete reply,
repeat.

On my test machine, this client runs 16K iterations in 35.10sec.
There is an interesting aspect to the second test: neither the server, nor the client use 100% CPU. In fact, the server uses approx. 15% CPU. Essentially, it sleeps instead of serving requests.

Where does so much latency and idle time come from in hyper?
I've used the following package versions:

tokio 0.2.0-alpha.6,
hyper 0.13.0-alpha.4,
rustc 1.39.0-beta.7 (23f8f652b 2019-10-26),
Linux 5.3.6-300.fc31.x86_64

Hi
This happens because of the TCP Nagle's algorithm. You need to set the NO_DELAY option for client and for server

NO_DELAY is enabled by tokio automatically.


Table in "Step 3 (optional): Set up groups for communication compliance" seems incomplete

In the first row, M365 Groups are mentioned but not in the second row.  In the second row, Mail-enabled security groups are mentioned but not in the first row.  Are M365 Groups supported to assign reviewers and are Mail-enabled security groups supported to apply the policy to supervised users?

@jebeckham Thank you for your feedback. I guess you are referring to the document:- https://docs.microsoft.com/en-us/microsoft-365/compliance/communication-compliance-configure?view=o365-worldwide
1)Reviewers are be assigned individually and no groups are supported.
2)mail enabled security groups are not supported to apply the policy to supervised users.
I have made a change to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/3288
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @jebeckham Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Fixing links to download app signing scripts

The links to scripts that are needed in these docs were not working correctly.  There was an extra / appended in the url. Updating this

Ready for review

Ready for review

@cwarnermm @justinegeffen  - Would one of you be the reviewers for this change?  Its more of a bug fix.  No real content change.

@cwarnermm @justinegeffen  - Would one of you be the reviewers for this change?  Its more of a bug fix.  No real content change.

There's a small typo in this line of the document: "With every Mattermost mobile app release, we publish the iOS unsigned ipa in in the GitHub Releases page" (bolded) that I was unable to flag to fix. (Not sure why, but likely related to the content being pre-existing and unchanged.)

There's a small typo in this line of the document: "With every Mattermost mobile app release, we publish the iOS unsigned ipa in in the GitHub Releases page" (bolded) that I was unable to flag to fix. (Not sure why, but likely related to the content being pre-existing and unchanged.)

Looks good to me. I'll verify that the link to the script is working on live (it's not showing in the preview for some reason).

Looks good to me. I'll verify that the link to the script is working on live (it's not showing in the preview for some reason).


lateinit property localParticipant has not been initialized

Hi,
I integrated this SDK (0.8.0) and copy the code snippet from the README.md.
But it always crash when my device handle the connection for the first time.
The code snippet works well after the crash, it won't crash again in short time (maybe 3 mins).
This crash happens to my devices:
Samsung A30s, Android 10
Samsung A70, Android 9
Pixel 3a, Android 11
Vivo Y20, Android 10
Vivo Y15, Android 9
Here is the stack trace:
kotlin.UninitializedPropertyAccessException: lateinit property localParticipant has not been initialized
        at io.livekit.android.room.Room.getLocalParticipant(Room.kt:120)
        at io.livekit.android.room.Room.getParticipant(Room.kt:195)
        at io.livekit.android.room.Room.onConnectionQuality(Room.kt:455)
        at io.livekit.android.room.RTCEngine.onConnectionQuality(RTCEngine.kt:537)
        at io.livekit.android.room.SignalClient.handleSignalResponseImpl(SignalClient.kt:439)
        at io.livekit.android.room.SignalClient.access$handleSignalResponseImpl(SignalClient.kt:36)
        at io.livekit.android.room.SignalClient$onReady$1$invokeSuspend$$inlined$collect$1.emit(Collect.kt:136)
        at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:372)
        at kotlinx.coroutines.flow.SharedFlowImpl.collect(Unknown Source:0)
        at io.livekit.android.room.SignalClient$onReady$1.invokeSuspend(SignalClient.kt:505)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:39)
        at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
        at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
        at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

I also record my screen:
https://imgur.com/a/9CGuLHB
In this video, I called
launch {
        room = LiveKit.connect(...)
}

in onCreate() after I clicked the button, then I got a crash.
But after relaunch my app, it didn't trigger the crash again.

Should be resolved by https://github.com/livekit/client-sdk-android/pull/45.

Thanks for your reply.
I'll test again by using the latest main branch.

The latest commit on main branch works like a charm 🚀
Thank you.


ARROW-9015: [Java] Make BaseAllocator package private

BaseAllocator should be package private and shouldn't be used as a
concrete type in other modules. This commit makes it package private
and replaces BaseAllocator with BufferAllocator references.
It also creates a CommonUtil class which holds the static utils
that BaseAllocator used to

lgtm +1
thanks for cleaning this up.


Document controls/modifier keys more prominently

Hi there, I only just noticed that you can multi-select by holding Shift while you click and drag. Now that I look, I see that it's mentioned on the "Component Props" page at the very bottom under Keys, but I think it would be great if this (and the other hotkey-based features) were documented more prominently somewhere.
This is exacerbated by the fact that I already have Meta bound to something at the operating system level, so it's not easy for me to discover that it's a hotkey via experimentation (and it's extremely rare to see it used as a hotkey outside of macOS anyway, I think?)

Thanks for the input! The key handling is a hidden feature somehow ;) We really need to rework the docs.


Correctly resolve temp files on macOS

On macOS, the $TMPDIR is in /var. However, /var -> /private/var.
This means that fully resolved temp filenames weren't always getting
checked against the proper prefix in IsTempFile.
This was affecting some of the Haskell plugins, though I'm sure it could
have affected any program that resolved past the generated $TMPDIR/foo
and wound up at a different filename.

Cheers! :beers:


Add bechmarking script and import all global function references

For the reference, here's what the output looks like on my machine:
$ php examples/91-benchmark-count.php < ~/Downloads/IRAhandle_tweets_1.ndjson
243891 records in 1.106s => 220526 records/s


GUI: Refactor amount formatting

This PR is based on #1182 and aims to actually refactor the amount component while adding a space separator to the integer portion of BTC amount displays as per #962.
The code organization is reworked to try and separate the conversion of bitcoin::Amount type to a iced renderable Row elements in steps via smaller functions by:

Converting the Amount type to a string with the integer and fraction portions formatted in space-separated three digit chunks.
Detecting where in that string the non-zero BTC amount occurs
Converting the string into parts and rendering the preceding zeros and spaces with normal styling while applying a bold Row render element for the significant amount.

To me, this approach makes the code easier to read and is a small step toward separating the string formatting functionality from the render element building. If we find more bugs with this approach, or the team simply doesn't like the reorganization, it's fine to scrap it, as it was a decent learning exercise anyway. Looking forward to feedback.

it looks to me we introduce #1218 w/ this PR


No Printer Found

I have installed this package and set api key in config. Printnode client software also installed and logged in with api key.
Printer is connected and showing active with online status on Printnode Client software.
But from code there is no printer id or name listing, it's all null.
$printers = Printing::printers(); foreach ($printers as $printer) { echo $printer->name(); }
Any help?

I met this issue too，have you solved your problem?

I have installed this package and set api key in config. Printnode client software also installed and logged in with api key.
Printer is connected and showing active with online status on Printnode Client software.
But from code there is no printer id or name listing, it's all null.
$printers = Printing::printers(); foreach ($printers as $printer) { echo $printer->name(); }
Any help?

I thought this is a printnode api reason，we can not get the correct response from printnode due to we use a free account.

@ledtest its working with pro account for you?

@ledtest its working with pro account for you?

@ledtest its working with pro account for you?

I'm not have a pro account,but i'm trying to fix this issue.

Did you fix this issue Brother. @ledtest

@raweelsabir i have been able to fix mine issue.
change the required "printnode/printnode-php": "^1.20@RC", for your rawilk/laravel-printing package inside your composer.lock to "printnode/printnode-php": "dev-master".
then do a composer require PrintNode/printnode-php:dev-master to install the dev-master version of the PrintNode package.
it seems the 1.20@RC versions is a very old version an so not supported.


better es6 export

I have optimized the es6 export in order to require either brackets or tmpl simply by using:
import { tmpl } from 'riot-tmpl'

The previous es6 dist did not allow this kind of syntax because we were always exporting one single default object:
import tmpl from 'riot-tmpl'
// this sucks
var tmpl = tmpl.tmpl

@GianlucaGuarini  thanks!


Predict feature implementation ideas

Once you have the tree extracted after Solve, you can use the extracted tree for prediction. The tree has a predict function.
See https://github.com/scikit-learn/scikit-learn/blob/main/sklearn/tree/_tree.pyx line 804ff

@kjgm now we have two options, a predict method natively implemented in the pymurtree package, as well as the tree extraction feature.


Cataloging contents of various intellij-elm forks

I went through https://github.com/intellij-elm/intellij-elm/network to see what changes different forks visible on GitHub have made. This should allow to provide a starting point to decide which of the changes might be interesting to be contributed to the mainline. I didn't go into detail to validate the contents/quality of the commits, taking mostly only the commit messages as the source of information. I hope this is helpful!
Many forks branch off of earlier version of the plugin, meaning that integrating them may be hard given the big changset in #785, but depending on the content it might still be worthwhile to port those.
Within the branching section, roughly ordered by relevance from my personal point of view.
Forking from 5.0.0-beta21 / 1d9f3d4
I.e. the forking from the latest version before transition to the new org.
ktoslek

A better fix for non-lambdera setups (6cdeb59b, c5792a60)
UsageTypeProvider (91155b8)

provides additional type grouping for the "Find Usages" action
See https://plugins.jetbrains.com/docs/intellij/find-usages.html

totof99
https://github.com/intellij-elm/intellij-elm/compare/1d9f3d4...309c91d1

Version updates

plugin jetbrains dependencies
plugin build versions and target platform versions
java 17 for plugin build
gradle 7.4 --> 8.5

unit test fix (309c91d1)
more changes branching from 83e20f0e6

hewison-chris
https://github.com/intellij-elm/intellij-elm/compare/1d9f3d4...24787915

ConvertibleColor deprecation fix (0173f932)
Small fixes a01fc947ca1f and 69afeadb
Java and Gradle version updates
Enable GitHub actions, removing deprecated GH actions settings 18f4c09178
more changes branching from eafbfe8 (see below)

mostlyobvious
Enabling and some small improvements to github actions: https://github.com/intellij-elm/intellij-elm/compare/1d9f3d4...6f35ad5b
utiliteez

Parser error

Already taken into consideration in #805.

Removing lambdera stuff (which I don't expect to be integrated)

https://github.com/utiliteez/intellij-elm/commit/5c4328dceaa4989ef19310b917363126f60dd06f

Forking from eafbfe8 / c47cc5a / 83e20f0e6 (almost the same), versions 4.4.0-4.4.1
dillonkears
https://github.com/intellij-elm/intellij-elm/compare/c47cc5a...977b257
This one is interesting because it integrates a bunch of changes from different contributors an branches

type hints, parameter inlays
some contributions from arian

removing bintray links
some test fixes
catch broken elm.json
fix saving null toolchain paths

add import on qualified completion

hewison-chris
Moving files / module renames: https://github.com/intellij-elm/intellij-elm/compare/21f48...hewison-chris:intellij-elm:move_files
ktoslek

A lot of stuff... 36 commits

https://github.com/intellij-elm/intellij-elm/compare/83e20f0e6...89bdf01
the total change set is huge: 323 changed files with 9,161 additions and 1,566 deletions
housekeeping (adapt release links, install instructions etc to fork)
Fixing some Lambdera issues

compiler path persistence
refactor of how lambdera compiles are invoked

other larger refactors
improvements / changes to watch mode
plugin build updates
...

totof99
https://github.com/intellij-elm/intellij-elm/compare/83e20f0e6...2ad3cfc

some EOL fix

https://github.com/klazuka/intellij-elm/commit/ee471b0baa40c06b82343e722572f39e2d45d269

fixing a rendering / coloring / locale issue

https://github.com/klazuka/intellij-elm/commit/39a2edc92f0ce5f03902bb3bf66b07083d1dcf4d

petteraas
These are commits showing up in petteraas repo but authored by klazuka, they don't seem complete but might be relevant

Attempt to a new let-in expression generation, by klazuka

https://github.com/intellij-elm/intellij-elm/compare/670468...95c29

Inspection for unncessary left pipe

https://github.com/intellij-elm/intellij-elm/compare/edca07b...8fba95

Hi @BenjaminDebeerst ! Thanks for the thorough overview. I have run through the network diagram myself, and tried to distill some PRs out of it, like #802, #803 and #805.
I've tried most of the branches you mention here, but --as you mention here-- it's sometimes very hard to land those changes on a recent branch from master. Especially when it concerns upgrades (dependency upgrade hell seems to be always just around the corner).
If you want to help distilling PRs out of the branches you mention above, that'd be greatly appreciated.


EXT: refreshing page provides error -> rerender -> works

Description
Refreshing page on extensibility resource view (for example: Functions, APIRules, ...) provides error, then rerender and then site is displayed properly.

Expected result
Refreshing page doesn't trigger error message.

Actual result

Steps to reproduce

Go to extensibility view for example functions
Refresh page on list or details

Troubleshooting

Problem comes back.


Snap: Support snapshot feature

Currently VSCode Snap is created with Snap's classic confinement, which means that Snapcraft doesn't handle application or user state, making the snapshot feature useless.
When creating a Snap with strict confinement (default), Snapcraft sandboxes the application and runs in an isolated secure environment, and overrides various environment variables. With classic confinement, this is not the case.

Classic
Allows access to your system’s resources in much the same way traditional packages do. To safeguard against abuse, publishing a classic snap requires manual approval, and installation requires the --classic command line argument.

All application/user data created with Snap applications using strict confinement can be manipulated with the Snapcraft snapshot feature. Why isn't Code under strict confinement?
See examples for Code (classic) and ngrok (strict) below.
VSCode (code) has the following CLI arguments: --user-data-dir and --extensions-dir so this can be set/overridden, but the user of the Snap cannot set these. Unless doing something like this:
$ snap run --shell code
$ code
$ code --user-data-dir=$SNAP_USER_DATA

I saw this issue which could possibly relate to this in some way: https://github.com/Microsoft/vscode/issues/3884

VSCode Version: 1.35.1 c7d83e57cd18f18026a8162d042843bda1bcf21f x64
OS Version: Linux Mint 19.1 (Ubuntu); 4.15.0-51-generic

Steps to Reproduce:

Install code snap (snap install code --classic)
Change user settings (~/.config/Code/User/settings.json)
Save state of snap (snap save code)
Change user settings again (~/.config/Code/User/settings.json)
Restore previous user settings (snap restore 1)

Previous version of settings.json is not restored.

Does this issue occur when all extensions are disabled?: Yes
Example: code (classic confinement)
$ snap run --shell code
$ export | grep -E ' (USER|PATH|HOME|(SNAP|NODE)_.+)=".+"$'

declare -x HOME="/home/gaui"
declare -x PATH="/home/gaui/.nvm/versions/node/v11.10.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/gaui/go/bin:/home/gaui/go/bin"
declare -x SNAP_ARCH="amd64"
declare -x SNAP_COMMON="/var/snap/code/common"
declare -x SNAP_CONTEXT="Ljl4wyHRmyxMyJXHw1PDFmxTSY3cVHPYsKHnxymY6C8L"
declare -x SNAP_COOKIE="Ljl4wyHRmyxMyJXHw1PDFmxTSY3cVHPYsKHnxymY6C8L"
declare -x SNAP_DATA="/var/snap/code/9"
declare -x SNAP_INSTANCE_NAME="code"
declare -x SNAP_LIBRARY_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl32:/var/lib/snapd/void"
declare -x SNAP_NAME="code"
declare -x SNAP_REVISION="9"
declare -x SNAP_USER_COMMON="/home/gaui/snap/code/common"
declare -x SNAP_USER_DATA="/home/gaui/snap/code/9"
declare -x SNAP_VERSION="c7d83e57"
declare -x USER="gaui"

Example: ngrok (strict confinement)
$ snap run --shell ngrok
$ export | grep -E ' (USER|PATH|HOME|(SNAP|NODE)_.+)=".+"$'

declare -x HOME="/home/gaui/snap/ngrok/13"
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
declare -x SNAP_ARCH="amd64"
declare -x SNAP_COMMON="/var/snap/ngrok/common"
declare -x SNAP_CONTEXT="DPGlHy5JTBsW1Vdc84k6mjJJtX4sprMDB0Gy0vCclJKH"
declare -x SNAP_COOKIE="DPGlHy5JTBsW1Vdc84k6mjJJtX4sprMDB0Gy0vCclJKH"
declare -x SNAP_DATA="/var/snap/ngrok/13"
declare -x SNAP_INSTANCE_NAME="ngrok"
declare -x SNAP_LIBRARY_PATH="/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl32:/var/lib/snapd/void"
declare -x SNAP_NAME="ngrok"
declare -x SNAP_REVISION="13"
declare -x SNAP_USER_COMMON="/home/gaui/snap/ngrok/common"
declare -x SNAP_USER_DATA="/home/gaui/snap/ngrok/13"
declare -x SNAP_VERSION="2.3.27"
declare -x USER="gaui"

If you want to see how strict confinement should work, install my test app:
snap install gaui-counter

We have no plans to use strict confinement for now.

@joaomoreno ok, but is it possible to allow the user to choose where to save user data, so the snapshot feature in Snap can be utilised (snap save code) ?

How about this...
bash -c "snap run --shell code <(echo XDG_DATA_HOME=$\SNAP_USER_DATA/Code XDG_CONFIG_HOME=$\SNAP_USER_DATA code --user-data-dir=$\SNAP_USER_DATA/Code --extensions-dir=$\SNAP_USER_DATA/Code/extensions)"

It seems that's a great workaround, you can create an alias for it.

We have no plans to use strict confinement for now.
Well that's unfortunate, as per https://snapcraft.io/docs/snap-confinement strict confinement is "Used by the majority of snaps"
Could you explain why you have no plans to use strict confinement - it would make VS Code a lot more acceptable to Linux users

And also classic confinement doesn't use sandboxing so configs are in ~/.config/ - making snapshots in Snap useless to commit state of user and data directories and restoring to that particular state.

It would be quite nice to see vscode moving away from --classic confinement


Add a public translationForKey() function

Would be nice to be able to get translation strings dynamically

Example I did in Spenn:
static func translationForCode(code: Int) -> String? { 		if let dict = tr.apierrormessages.encodableRepresentation() as? NSDictionary { 			return dict.valueForKey("code\(code)") as? String 		} 		return nil 	}

Some of the code related to this is available in this file - https://github.com/nodes-ios/NStackSDK/blob/master/NStackSDK/NStackSDK/Classes/Translations/TranslationUI.swift
However, it's not added to project and probably needs some updating.


Ecosystem: Add project name to mobile header

Closes https://github.com/Qiskit/qiskit_sphinx_theme/issues/484.
For the Ecosystem, we revert back to Furo's default mobile header design, which includes the project name. That works well because we don't have the top Qiskit nav bar.
Our only change is to use a Carbon icon for the hamburger icon.
Vendors page.html
Rather than inherting page.html from our base Qiskit theme, we re-vendor page.html from Furo directly for the ecosystem. That is because the Qiskit theme makes several changes that we don't like, like adding the top Qiskit nav bar.
Our only divergence from Furo with the Ecosystem is to add analytics in the footer.

We're planning on using the git describe version for the development site, which pushes "documentation" to the next row:

I'd rather not have "documentation" at all. If we're keeping it, I think it looks better capitalized.

@coruscating, see https://github.com/pradyunsg/furo/discussions/202#discussioncomment-1045053. Tl;dr: set html_title in conf.py.
I do not think we should diverge from Furo's source code here. But, we should document this in https://github.com/Qiskit/qiskit_sphinx_theme/issues/486.


Migration from NetBox 2.x with secrets

Plugin version
N/A
netbox-plugin-extensions version
N/A
NetBox version
v2.10.10
Feature type
New functionality
Proposed functionality
It would be nice to have a document explaining the migration from core NetBox v2.x 'secrets' app to this plugin.
Use case
Existing NetBox installation v2.10.10 with some secrets, how to migrate to NetBox v3.x with this plugin?
Database changes
No response
External dependencies
No response

There is already documentation regarding installation.  Migration happens automatically and no additional documentation is required.


app crashed - waiting for file changes before starting

Hello Team, I have an interview scheduled for the 1st of August. I cloned the typescript-recurisve-deps branch and tried to run it locally. I did npm install first and then npm start. But I get this error after doing npm start:

It would be a great help if anyone could help me with it.  I tried to look for the error on StackOverflow but it still persists.
Edit: nodemon is installed locally. I believe this error occurs due to the following line of code in package.json file:

@RaHuLMeghani24 I do not see this error when I try to repeat your steps using npm 6.14.15 on macOS Monterey ...
$ npm --version
6.14.15
$ node --version
v14.17.6

$ npm install

><EMAIL_ADDRESS>postinstall /Users/georgeharley/code/workspace/snyk-code-review-exercise/node_modules/nodemon
> node bin/postinstall || exit 0

added 709 packages from 418 contributors and audited 710 packages in 12.188s

62 packages are looking for funding
  run `npm fund` for details

found 29 vulnerabilities (2 moderate, 18 high, 9 critical)
  run `npm audit fix` to fix them, or `npm audit` for details
$ npm start

><EMAIL_ADDRESS>start /Users/georgeharley/code/workspace/snyk-code-review-exercise
> nodemon --watch src --ext .ts --exec "$(npm bin)/ts-node ./src/main.ts"

[nodemon] 2.0.12
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): src/**/*
[nodemon] watching extensions: ts
[nodemon] starting `/Users/georgeharley/code/workspace/snyk-code-review-exercise/node_modules/.bin/ts-node ./src/main.ts`
Server listening on http://<IP_ADDRESS>:3000

. . .

What version of npm are you using?

@georgeharley Thank you for reaching out. I am using npm version-8.1.2 and node version-16.13.2 on windows machine

@RaHuLMeghani24 Yes, looks like the node and npm versions might not be behind this. I just switched to using node version 16.13.2 and npm 8.1.2 (i.e. your original versions) and everything still works on my machine.
I am using the bash shell in my macOS terminal and if I just run echo $(npm bin)/ts-node ./src/main.ts from the root of the repo clone then it also works OK...
$ echo $(npm bin)/ts-node ./src/main.ts
/Users/georgeharley/code/workspace/snyk-code-review-exercise/node_modules/.bin/ts-node ./src/main.ts

@georgeharley Thank you so much for sharing that terminal output. It makes sense cause in linux and MacOS, we use $ notation for variables.
By following the output, I modified my package.json file and added the entire path:

It is working now. Thank you for your help. You can close this issue.


Update resiliency guidance

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resiliency/disaster-recovery-azure-applications.md
:white_check_mark:Succeeded
View

docs/resiliency/index.md
:white_check_mark:Succeeded
View

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resiliency/disaster-recovery-azure-applications.md
:white_check_mark:Succeeded
View

docs/resiliency/index.md
:white_check_mark:Succeeded
View

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resiliency/disaster-recovery-azure-applications.md
:white_check_mark:Succeeded
View

docs/resiliency/images/redundancy.png
:white_check_mark:Succeeded
View

docs/resiliency/index.md
:white_check_mark:Succeeded
View

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resiliency/disaster-recovery-azure-applications.md
:white_check_mark:Succeeded
View

docs/resiliency/images/redundancy.png
:white_check_mark:Succeeded
View

docs/resiliency/images/redundancy.svg
:white_check_mark:Succeeded
View

docs/resiliency/index.md
:white_check_mark:Succeeded
View

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resiliency/disaster-recovery-azure-applications.md
:white_check_mark:Succeeded
View

docs/resiliency/images/redundancy.svg
:white_check_mark:Succeeded
View

docs/resiliency/index.md
:white_check_mark:Succeeded
View

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resiliency/disaster-recovery-azure-applications.md
:white_check_mark:Succeeded
View

docs/resiliency/images/redundancy.svg
:white_check_mark:Succeeded
View

docs/resiliency/index.md
:white_check_mark:Succeeded
View

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resiliency/disaster-recovery-azure-applications.md
:white_check_mark:Succeeded
View

docs/resiliency/images/redundancy.svg
:white_check_mark:Succeeded
View

docs/resiliency/images/resiliency3.svg
:white_check_mark:Succeeded
View

docs/resiliency/index.md
:white_check_mark:Succeeded
View

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

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/resiliency/index.md
:warning:Warning
View
Details

docs/resiliency/disaster-recovery-azure-applications.md
:white_check_mark:Succeeded
View

docs/resiliency/images/redundancy.svg
:white_check_mark:Succeeded
View

docs/resiliency/index.md

Line 146: [Warning] Invalid file link:(~/resiliency/images/resiliency3.svg).

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resiliency/disaster-recovery-azure-applications.md
:white_check_mark:Succeeded
View

docs/resiliency/images/redundancy.svg
:white_check_mark:Succeeded
View

docs/resiliency/index.md
:white_check_mark:Succeeded
View

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resiliency/disaster-recovery-azure-applications.md
:white_check_mark:Succeeded
View

docs/resiliency/images/redundancy.svg
:white_check_mark:Succeeded
View

docs/resiliency/index.md
:white_check_mark:Succeeded
View

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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/resiliency/disaster-recovery-azure-applications.md
:white_check_mark:Succeeded
View

docs/resiliency/images/redundancy.svg
:white_check_mark:Succeeded
View

docs/resiliency/index.md
:white_check_mark:Succeeded
View

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


Reset connection on SocketClientBase destruction

Belongs to issue #27
Deleting a SocketClient object causes a segfault. Resetting the shared connection ptr on client destruction fixes this problem.

Does calling SocketClient::stop before delete also resolve this issue? I think this might be the most clean way to stop/delete a SocketClient/SocketServer.


initialize realsense camera over ROS !!

System Configuration
Please complete Your Configuration detail below. Refer to the BKC at Configuration.

Version
Your Configuration

Operating System
ubuntu

Kernel
4.4.0-72-generic

ROS
kinect

Camera Type-Firmware
R200

hello guys ,
i was working with eclipse and i did blob detection using R200 camera, now i have converted it to a ros node and i want to know how can i initialize realsense camera now over ROS !! and i have in my code imshow which is giving me output,, how can i actually get my output data on image_view etc,,
`
;
	 // Access the first available RealSense device
	 rs::device * dev = ctx.get_device(0);

	 // Configure color stream to run at VGA resolution at 30 frames per second
	 dev->enable_stream(rs::stream::color, 640, 480, rs::format::bgr8, 30);

	 // We must also configure depth stream
	 dev->enable_stream(rs::stream::depth, 640, 480, rs::format::z16, 30);

	 // Start streaming
	 dev->start();

	 // Determine depth value corresponding to one meter
	 //const uint16_t one_meter = static_cast<uint16_t>(1.0f / dev->get_depth_scale());

	 // Creating OpenCV Matrix from a color image
	 Mat color(Size(640, 480), CV_8UC3, (void*)dev->get_frame_data(rs::stream::color), Mat::AUTO_STEP);

	 // Creating OpenCV Matrix from a depth image
	 Mat depth(Size(640, 480), CV_16U, (void*)dev->get_frame_data(rs::stream::depth), Mat::AUTO_STEP);

	 float scale = dev->get_depth_scale();

	 // Display in a GUI
	 namedWindow("Display Image depth", WINDOW_AUTOSIZE );
	 namedWindow("Display Image", WINDOW_AUTOSIZE );
	 namedWindow("Control", CV_WINDOW_AUTOSIZE); //create a window called "Control"

	 int iLowH = 38;
	 int iHighH = 75;

	 int iLowS = 150;
	 int iHighS = 255;

	 int iLowV = 60;
	 int iHighV = 255;

	 //Create trackbars in "Control" window
	 createTrackbar("LowH", "Control", &iLowH, 179); //Hue (0 - 179)
	 createTrackbar("HighH", "Control", &iHighH, 179);

	 createTrackbar("LowS", "Control", &iLowS, 255); //Saturation (0 - 255)
	 createTrackbar("HighS", "Control", &iHighS, 255);

	 createTrackbar("LowV", "Control", &iLowV, 255);//Value (0 - 255)
	 createTrackbar("HighV", "Control", &iHighV, 255);

	 int iLastX = -1;
	int iLastY = -1;

	 //Create a black image with the size as the camera output
	 Mat imgLines = Mat::zeros(color.size(), CV_8UC3 );;

	 while(cv::waitKey(30) <= 0)
	 {
		 dev->wait_for_frames();
		 if (!dev->is_streaming())
		 {
			 cout << "[ERROR] Disable streaming" << endl;
		 }
		 if (!dev->is_stream_enabled(rs::stream::color))
		 {
			 cout << "[ERROR] Disable color streaming" << endl;
		 }

		 color.data = (unsigned char*)dev->get_frame_data(rs::stream::color);
		 depth.data = (unsigned char*)dev->get_frame_data(rs::stream::depth);
		 imshow("Display Image", color);
		 imshow("depth image", depth);

		 // Retrieve depth data, which was previously configured as a 640 x 480 image of 16-bit depth values
		 const uint16_t * depth_frame = reinterpret_cast<const uint16_t *>(dev->get_frame_data(rs::stream::depth));

		 Mat imgHSV;

		 cvtColor(color, imgHSV, COLOR_BGR2HSV); //Convert the captured frame from BGR to HSV

		 Mat imgThresholded;

		 inRange(imgHSV, Scalar(iLowH, iLowS, iLowV), Scalar(iHighH, iHighS, iHighV), imgThresholded); //Threshold the image

		 //morphological opening (removes small objects from the foreground)
		 erode(imgThresholded, imgThresholded, getStructuringElement(MORPH_ELLIPSE, Size(5,5)) );
		 dilate( imgThresholded, imgThresholded, getStructuringElement(MORPH_ELLIPSE, Size(5,5)) );

		 //morphological closing (removes small holes from the foreground)
		 dilate( imgThresholded, imgThresholded, getStructuringElement(MORPH_ELLIPSE, Size(5,5)) );
		 erode(imgThresholded, imgThresholded, getStructuringElement(MORPH_ELLIPSE, Size(5,5)) );

		 //Calculate the moments of the thresholded image
		 Moments oMoments = moments(imgThresholded);

		 double dM01 = oMoments.m01;
		 double dM10 = oMoments.m10;
		 double dArea = oMoments.m00;`

Expected Behavior
it should initialize realsense camera if i launch my camera driver and stream images from it,, and also i should get my output on image_view or something..
Actual Behavior
the actual behavior is after rosrun , my node is crashing i think because the camera and the output is not defined properly,
though it was working well in eclipse..
please help on how can i achieve this !!
thanks
@mattcurfman @mdhorn @mkhansen-intel

got it working ,, thanks


Bump ai dependency to v4?

Hi! We use both this module as well as the vercel ai module directly in our application. This module pins ai at 4, which means that if we upgraded to 4 in our application, we'd still have a v3 version of ai sticking around as a transitive dependency. Could this module bump its dependency on ai?

CC @ibolmo

Thanks for reporting this @tmcw. We're currently deciding whether to keep the ai-sdk integration as part of the SDK (perhaps move to an optional peer dependency) or if we'll have a separate package i.e. @braintrust/ai-sdk
In either case, we'll have to consider backward compatibility requirements to not affect current users. Curious on your take, though, if you'd have a preference.

Moving them to a peer dependency would be ideal, I think - we don't use the integrations and they seem like they could be a constantly-expanding part of the API surface, if you want to support anthropic's, for example, as well. Also it kind of looks like (didn't thoroughly read through) the ai import was only used for types.


mat: Add Diagonal type

We currently have func NewDiagonal(n int, data []float64) *SymBandDense. The downside to this is that *SymBandDense cannot implement Triangular, while Diagonal can. This means Diagonal cannot be used as a triangular matrix, even though it is.

There is one tricky issue with this, which is that a Diagonal is both Upper and Lower, which is currently impossible to express.

A helper could be provided here that is func(d Diagonal, upper bool) Triangular.

It looks like this could be closed.

Agreed.


Map 020 to POL productIds array

020 can have multiple ISBNs
use 8261054f-be78-422d-bd51-4ed9f33c3422 as value for productIdType (expects UUID)

UUID for ISBN from Resource Identifier types

https://s3.amazonaws.com/foliodocs/api/mod-orders/p/order.html#orders_composite_orders_post
https://github.com/folio-org/acq-models/blob/2626278b80d82a5e1995f85c37575561264b93e9/mod-orders-storage/schemas/product_identifier.json#L1-L20
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Product identifier",
  "type": "object",
  "properties": {
    "productId": {
      "description": "The actual product identifier",
      "type": "string"
    },
    "productIdType": {
      "description": "The type of product identifier",
      "$ref": "../../common/schemas/product_id_type.json"
    },
    "qualifier": {
      "description": "Information about the binding, format, volume numbers, part of a set, publisher, distributor, etc. which might be enclosed in parenthesis",
      "type": "string"
    }
  },
  "additionalProperties": false
}

The full value in int the 020$c or 020$q fields contains a string which has the ISBN value and, in some cases, additional info. I am splitting the string at the first space char and putting the first part into the productId element anything after the first space char into the qualifier element, for example:
{"productIds": [{
"productId": "9783966110006",
"productIdType": "8261054f-be78-422d-bd51-4ed9f33c3422",
"qualifier": "(paperback)"
}]}
None of the test files have multiple ISBN numbers per record

@natalyapik Does this look good to you? Do you have an example file with multiple ISBN for a single record?

@fereira I heard back from Natalya and she's good with the breakdown you shared above. She doesn't have an example MARC order file with multiple ISBN for a single record but says we should proceed.

@fereira just noticed that we have records with multiple 020 in the AmazonFO.1.mrc 🎉

Sorry, I could not find it
From: Nick Cappadona @.>
Sent: Thursday, June 3, 2021 1:32 PM
To: cul-it/order-import-poc @.>
Cc: Natalya Pikulik @.>; Mention @.>
Subject: Re: [cul-it/order-import-poc] Map 020 to POL productIds array (#52)
@fereirahttps://github.com/fereira just noticed that we have records with multiple 020 in the AmazonFO.1.mrchttps://github.com/cul-it/order-import-poc/blob/main/marc-test-files/AmazonFO.1.mrc 🎉
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/cul-it/order-import-poc/issues/52#issuecomment-854051748, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AO5MI7SZLIF7F7D67ZMYET3TQ64AJANCNFSM4552ABJQ.


Rewrite and Port Mapper Tool

The mapper client has badly needed some refactoring for a while, as well as being the only hold out from the version 3 GMA tool suite that's still written in Tcl/Tk.
This issue is to port the tool away from a Tcl script and at the same time refactor all the code to be more sanely implemented and shake out the bugs that have crept in.
The initial effort here is to port it to the Go language, in the hopes that the compiled binary will perform better and be simpler to install for end users.
In addition to simply porting it, make the following upgrades while we're in there:

Introduce file format 20, which changes from unorganized text lines marshaled as Tcl lists to a structured file with JSON marshaling.

The current version (17) file format must also be understood on input, although format 20 may be written unconditionally on output.

Implement server protocol 400, which similarly changes the protocol from Tcl-list-based to JSON-based data marshaling.
Change to OS-standard directories for storing cache and configuration files.

Work is already underway for version 4.0.0 of the mapper client which will include most of these changes. Probably everything except porting it to another language. Currently the rewrite is keeping the original Tcl code although much of that is changing internally as the object representation is different now as well as the external file and protocol formats.
That is triggering a bit of needed refactoring, but eventually it would still be good to move it to a compiled language.


invisible Minecart

Ender IO version: EnderIO-1.7.10-<IP_ADDRESS>7
Minecart with sitting player is invisible and stays at dimensional transceiver after teleportation. Works fine without player sitting in cart.
Minecart is visible after relog.

Do you have the config to allow player teleportation with ender rails on or off?


fix(gh): Update semantic release in GH actions

Update semantic release in GH actions.
Based on https://semantic-release.gitbook.io/semantic-release/recipes/ci-configurations/github-actions

https://github.com/brumik/react-json-chart-builder/actions/runs/4467042477/jobs/7846001801
This did not worked, even after I fixed the runs-on problem. You can test it out locally with --dry-run when trying to fix these stuff.

Also you probably don't wanna set node/latest, but 15 as originally, running the code on lates node (19) can be breaking if you don't test for it and this PR is not set up automatic testing for different node versions.


Termination Strategy

Hi Adrian,
I encounter issue trying to implement a termination strategy similar to scipy:
np.std(pop) <= atol + tol * np.abs(np.mean(population_energies))
What is the best way to get the whole population in current generation?
Or do you have any other termination strategy for reference (other than the current one that simply stop at generation limit)?
Thanks!

Hi, sorry for the long delay.
What is the problem you encountered? Can you create a sample of the code you are trying to implement (you can create a branch or send me the entire project with your code).


Fixed in memory spy db performance

The previous code always resulted in a cache miss and having
to read the spydef for the data
Signed-off-by: Jason Albert<EMAIL_ADDRESS>

Added a search operator for the spydef name in the db.  This allows for a conclusive search of what is available and creating it if it doesn't exist.
The previous method had a for loop for the search with a found variable.  This was prone to problems if you have multiple entries in the db.

Also merging this after conversation with @kahnevan


[BUG]: Core Components fails to import.

Describe the bug
Importing core components fails with error.
"Connector import: FAILURE: The API call failed with http status code 'InternalServerError' and response content '{"error":{"code":"InternalServerError","message":"Encountered internal server error. [tracking ID redacted]"}}'"
Error Status Code: 80048020.
Update: The detailed log pinpoints the error down to an unhandled exception being thrown by
Microsoft.Crm.ObjectModel.PowerAppsDataProvider.<>c__DisplayClass64_02.<<CallPowerAppsEndpoint>b__0>d.MoveNext()`
I am not being presented with the option to set the "Power Automate environment variable" as detailed in the setup guide.
Component (please tell us which flow or app you are experiencing issues with):

CoE Starter Kit Core Components
Version 1.78

To Reproduce
Steps to reproduce the behavior:
1: Follow setup guide to install Core Components.
2: Wait for the import task to complete.
3: Note the task fails with the error described.
Expected behavior
The import succeeds.

Hello,
it looks like you are experiencing an issue with the solution import itself, rather than the CoE Starter Kit. I'm afraid that is beyond the scope of what we can help with here - I would suggest trying again, and if it still fails raising a support ticket.
Thank you for using the CoE!

Hello,
it looks like you are experiencing an issue with the solution import itself, rather than the CoE Starter Kit. I'm afraid that is beyond the scope of what we can help with here - I would suggest trying again, and if it still fails raising a support ticket.
Thank you for using the CoE!

After a hell of a lot of pain, it turns out was missing a "premium" feature enabled power apps plan. Adding a plan 2 trial + logging out and back in solved it.
The solution import error messaging could of made this much easier to identify, but that's an issue for MS. Hopefully if anyone else spots this error, this post will make it easier to identify & resolve.
The Power Automate environment variable not being presented during import was solved by extracting the core components and deleting the string entered for the variables default value in the "customizations.xml" file.

After a hell of a lot of pain, it turns out was missing a "premium" feature enabled power apps plan. Adding a plan 2 trial + logging out and back in solved it.
The solution import error messaging could of made this much easier to identify, but that's an issue for MS. Hopefully if anyone else spots this error, this post will make it easier to identify & resolve.
The Power Automate environment variable not being presented during import was solved by extracting the core components and deleting the string entered for the variables default value in the "customizations.xml" file.

Thanks for the update! The requirement for a Premium plan is mentioned in our pre-requisites here https://docs.microsoft.com/en-us/power-platform/guidance/coe/setup#prerequisites
We do not recommend modifying the customizations.xml, it is not a supported technique and can lead to many issues further down the line. Environment Variables can be modified after import - see https://docs.microsoft.com/en-us/power-platform/guidance/coe/setup-core-components#update-environment-variables

Thanks for the update! The requirement for a Premium plan is mentioned in our pre-requisites here https://docs.microsoft.com/en-us/power-platform/guidance/coe/setup#prerequisites
We do not recommend modifying the customizations.xml, it is not a supported technique and can lead to many issues further down the line. Environment Variables can be modified after import - see https://docs.microsoft.com/en-us/power-platform/guidance/coe/setup-core-components#update-environment-variables

After a hell of a lot of pain, it turns out my admin account was missing a "premium" feature enabled power apps plan. Adding a plan 2 trial + logging out and back in solved it.
The solution import error messaging could of made this much easier to identify, but that's an issue for MS. Hopefully if anyone else spots this error, this post will make it easier to identify & resolve.
The Power Automate environment variable not being presented during import was solved by extracting the core components and deleting the string entered for the variables default value in the "customizations.xml" file.

thanks @madshaun1984 , after burning out for 4 hours I saw this, I'm grateful you put it out here.


Github actions now fails on ebdd272

See:
https://github.com/i-RIC/iriclib_v4/actions/runs/2236386006
Attempt 1 succeeded on Apr 27 but the exact same source fails in attempt 2 May 27.  Differences seem to start occurring in 'Configure iriclib'

Attempt
compiler identification (configure iriclib)
differences start at

1
19.29.30141.0
build-iriclib

2
19.29.30145.0
build-iriclib

The failure occurs when building the swig python wrapper.

Closed by PR #36


Home Page Slider

Some interaction things I'd like you to explore:

Page load transitions on nav bar, background image, interactive slider position, landing text (e.g. timed fade ins, stuff like that)
interactive slider: on landing page load, can you animate the vertical slider from right to left until it rests 25% from the left edge of screen? this way users know there's something dynamic and that u can move
whats the feasibility regarding smooth scrolling via translate 3D on the interactive slider?
change the image in the background for each page reload
how annoying would it be to put a very subtle three js shader on the image? so that there's a bit of movement. in my head im thinking of 1) glitching effect 2) something more organic like light wave distortion


Fix the swagger section of the README.md

For me to create a *.swagger.json I had to call it with --swagger_out=...
Alternative: change path from protoc-gen-swagger to protoc-gen-grpc-swagger

lgtm

I'd argue to change to grpc-swagger, other projects are working on swagger plugins as well heh :)

@peter-edge Really? That's great! Can you point me to some of those projects that are generating swagger from protos?