Accept hyphen in crate name in place of underscore

Crates.io currently accepts hyphens for crates that use underscores, both in the web interface and in the API.
Cargo does not, but should.
error: no matching package named `serde-codegen` found (required by `testing`)
location searched: registry https://github.com/rust-lang/crates.io-index
version required: *

For cargo install, it should install with whatever you asked (so cargo install my_crate should create a binary called my_crate, cargo install my-crate -> my-crate).

Cargo is somewhat agnostic between - and _, but it doesn't consider the two characters equivalent. Crates decide whether they want - or _ to begin with and then they must be referenced through that name, disallowing usage of the other.
I'd personally prefer to not accept both serde-codegen and serde_codegen as it can be confusing to see two different values which mean the same thing in practice from time to time.

Makes sense, and I don't have a strong preference myself. I saw this comment from @steveklabnik and figured this would be a step toward tooling that reflects the conventions we would like developers to use.
Is there a rationale for crates.io vs cargo behaving differently from each other?

I'd personally prefer to not accept both serde-codegen and serde_codegen as it can be confusing to see two different values which mean the same thing in practice from time to time.

Fair, but I would rather see serde-codegen and serde_codegen and not need to care, vs see library-a and library_b and need to remember which one to use in each case. "They mean the same thing" is a thing you learn once, while library-a and library_b is a thing that will bite you for as long as you use Rust.

I don't really know why crates.io is agnostic, it wasn't originally and I think that was a patch added after the fact, would have to track that down.
Yeah it's easier to not have to remember, but to me it's more of a downside as it's disguising what's actually happening under the hood.

The crates.io change was https://github.com/rust-lang/crates.io/commit/89bc5dd46435ec08113c82266ad16464d68d4710.

I don't really know why crates.io is agnostic, it wasn't originally and I think that was a patch added after the fact, would have to track that down.

The current behavior of crates.io is defined by RFC 940:

Right now, crates.io compares package names case-insensitively. This means, for example, you cannot upload a new package named RUSTC-SERIALIZE because rustc-serialize already exists.
Under this proposal, we will extend this logic to identify - and _ as well.

I'd like to re-open this issue, I think this is a bug and we should fix it. (Maybe we can talk about it in a cargo meeting).

I'd personally prefer to not accept both serde-codegen and serde_codegen as it can be confusing to see two different values which mean the same thing in practice from time to time.

At first glance, this makes sense, but I think it doesn't hold as much water when you consider:

In practice, the name almost always appears in your Cargo.toml exactly once, so its not like they'll mean the same thing in the same file, just that some crates will write them differently.
If the name contains - (which I believe is prefered), both names will already appear, one in the source and one in the manifest, because - is not valid in source.

In contrast, users who accidentally add serde-json always know what they meant, and because of the conversion users are taught that - and _ are interchangeable in package names. In practice, this seems to be a frustrating wart of cargo which is not adding any clarity for people & possibly even confusing them (if they don't guess that the reason adding error_chain failed was that its actually called error-chain).

Reopened. I have also come to feel much more strongly about this in the past year.

I also agree this is worthwhile to fix.
Implementation-wise this won't be easy though, I think, as it'll require changes to the crate index. The changes in Cargo itself after that, though, are likely nominal.

@alexcrichton That would be a problem, why isn't it sufficient to change how we match the dependency name against the index file to be neutral to underscores (e.g. retry if there's no file with the characters swapped)?
(It'd be better if the index were normalized I agree, but that seems quite challenging).

Right now we don't load the entire index in-memory and we currently also don't try to browse the entire index, rather given a crate we drill into exactly which file it's supposed to be. If we have - and _ normalization we'd have a set of filenames that would be the plausible right one, and we'd in theory have to try to check all of them. That's ok on first builds, but we'd need to ensure that if you've got a lock file that this fallback behavior doesn't happen a lot, as it could add up time-wise I think.

Makes sense, so I think what we should do:

If the index file for the given ident doesn't exist, fall back by substituting underscores/hyphens in the name
When generating the lock file, be sure to generate it with the index name, not the name in the toml

Is a divergence between the name in the lock and the toml going to be a problem?

Yeah that sounds like it could work!
I think we'll have to maek sure that a Dependency::name isn't compared to a PackageId::name, although we can perhaps either assume that doesn't happen or otherwise use separate types there if necessary. Sounds plausible at least!

If the index file for the given ident doesn't exist, fall back by substituting underscores/hyphens in the name

Is there a better way of doing this then brute force?

Brute force take an exponential O(2^n) time, but that’s not really a problem when n is almost never greater than two.

Why not go further and normalise all names to use hyphens -? The first step would be a new version of the query which only returns/finds normalised names; the second step would be a Cargo update to normalise then use the new version. The third step (a bit later perhaps) would be to only show the normalised names on crates.io.

Because the index wuld need to have both names so that pre-normalise cargo and post-normalise cargo can find it, and that makes for 2 sources of truth.

No it wouldn't if deployed via a new version of Cargo. Unfortunately this would not be backwards compatible (i.e. old versions of Cargo would require correct - vs _; new versions could accept either).

I'd personally prefer to not accept both serde-codegen and serde_codegen as it can be confusing to see two different values which mean the same thing in practice from time to time.

Strongly agree! This is the sort of magic renaming nonsense that CSS has to do because they used - everywhere. I think Cargo should issue a warning for new crates that use - in the name.
I've actually wasted 10 minutes on this now because serde-transcode has a hyphen in it and I haven't worked out how to reference that from Rust code yet. You can't do use serde-transcode;.
If everyone used underscores I wouldn't even have given it a second thought.

@Timmmm agreed that - and _ should not both be allowed and with your logic that _ is preferable (though I care little). However, any solution has to consider renaming existing crates, which is only viable if - and _ are interchangeable in Cargo.toml files and the - → _ rename is allowed on crates.io.

Here's what I would do (if I had infinite time etc.). Maybe some of these have been done already - I'm not sure.

Add a warning to Cargo for crates with hyphens in the name that new crates with hyphens will not be accepted on crates.io soon.
A bit later, stop accepting new crates on crates.io with hyphens. Also do not accept new underscore crate names that match an existing hyphenated crate.
Find crates that only differ in _/-. Hopefully there aren't any. If there are, resolve by removing/renaming one of them.
Accept underscores in Cargo.toml for crates that are actually named with hyphens - both for dependencies, and for authors updating existing crates (so they can rename them).
Show every crate name on crates.io using underscores (translate the legacy hyphenated ones).

Lots of work though!

You can't do use serde-transcode;.

The "workaround" is incredibly simple: you can do use serde_transcode. If we don't have diagnostics that recommend this when you type use serde-transcode we should.

Since crates.io already does not accept two packages with just - and _ different, why can't we make every place that accepts a package name to silently convert - to _ (or the other way round) internally? It is perfectly feasible that the preference of -/_ of the package author does not affect how users use it (just like whether the package author uses tabs or spaces doesn't affect whether users use tabs or spaces). This can be done with some algorithm similar to how case-insensitive systems handle the names.
BTW, I'm a bit confused. Are we talking about crate names or package names, or are they the same thing?

TL;DR: Why do we have to care if ignoring doesn't lead to problems?

That is the goal, and we've solved the problem in both rustc and crates.io but not in cargo, which is why this issue is open.

So why is this hard in cargo?

One complication is Alternative Registries, the existing RFC allows registries to have packages that only differ by - vs _. crates.io does not allow this, but other registries can do what they want. If we want to continue to support the RFC, then Cargo needs to keep the names as is and change all equality checks to equivalency checks. Tracking down every time we use eq or hash on a type that contains a name and finding a way to make it equivalency... it is going to be hard. (Also a deep well of corner cases.)
Even if we decide to break sutch (nitch) uses of Alternative Registries, we will want a grace period. Some time where it will build with the wrong -/_ but give you a warning that older cargos won't know what you meant. I think this leads to the same implementation problems.
If someone has a way to make this work, I am open to helping make it happen.

@Eh2406  I think I found the problem here;

@Eh2406 I found the reason why - / _ is all considered as an underscore here. The sql function canon_crate_name replaces the hyphen with an underscore.

crates.io will allow registries to have packages that only differ by - vs _.

I don't think we want crates.io to allow packages that only differ by - vs _ so I've closed the associated PR; let me know if I've misunderstood.

I've posted https://internals.rust-lang.org/t/pre-rfc-unify-dashes-and-underscores-on-crates-io/13216/13. It's becoming more clear to me that this doesn't need an RFC, but I've posted the pre RFC anyway.
I don't actually think the exponential growth for names with a large number of separators is a problem. In those cases we can traverse the index trie, looking for both separators whenever there is one, and splitting the search if both exist. Note that this will not cause exponential growth unless there actually are crates with that combination of separator: it's unlikely that foo-bar-baz-quux-1 and foo-bar-baz_quux-2 and foo-bar_baz-quux-3 and so on all exist (and if they do it's probably an automated publish in violation of crates.io policy). In other words, it's only possible to engineer an exponentially bad situation here on purpose, it's not really possible as an accident.

Strongly agree! This is the sort of magic renaming nonsense that CSS has to do because they used - everywhere. I think Cargo should issue a warning for new crates that use - in the name.
I've actually wasted 10 minutes on this now because serde-transcode has a hyphen in it and I haven't worked out how to reference that from Rust code yet. You can't do use serde-transcode;.
I am new to rust and have spent the last two hours working out how to, in my lib.rs, import a crate that somebody has named with a hyphen.
I think they named it that way because there's already one with the underscore name and so it is definitely a good way to distinguish between the two versions.

Strongly agree! This is the sort of magic renaming nonsense that CSS has to do because they used - everywhere. I think Cargo should issue a warning for new crates that use - in the name.
I've actually wasted 10 minutes on this now because serde-transcode has a hyphen in it and I haven't worked out how to reference that from Rust code yet. You can't do use serde-transcode;.
I am new to rust and have spent the last two hours working out how to, in my lib.rs, import a crate that somebody has named with a hyphen.
I think they named it that way because there's already one with the underscore name and so it is definitely a good way to distinguish between the two versions.

Strongly agree! This is the sort of magic renaming nonsense that CSS has to do because they used - everywhere. I think Cargo should issue a warning for new crates that use - in the name.
I've actually wasted 10 minutes on this now because serde-transcode has a hyphen in it and I haven't worked out how to reference that from Rust code yet. You can't do use serde-transcode;.
I am new to rust and have spent the last two hours working out how to, in my lib.rs, import a crate that somebody has named with a hyphen.
I think they named it that way because there's already one with the underscore name and so it is definitely a good way to distinguish between the two versions.

there isn't one with the underscore name. crates.io does not accept an underscore name if there is already one with the hyphen name.

Strongly agree! This is the sort of magic renaming nonsense that CSS has to do because they used - everywhere. I think Cargo should issue a warning for new crates that use - in the name.
I've actually wasted 10 minutes on this now because serde-transcode has a hyphen in it and I haven't worked out how to reference that from Rust code yet. You can't do use serde-transcode;.
I am new to rust and have spent the last two hours working out how to, in my lib.rs, import a crate that somebody has named with a hyphen.
I think they named it that way because there's already one with the underscore name and so it is definitely a good way to distinguish between the two versions.

there isn't one with the underscore name. crates.io does not accept an underscore name if there is already one with the hyphen name.

If this helps the discussion, I'm a new user to Rust as well and coming from other languages, the ability for a package name and the source code referring to that package name within the same context to differ without being explicit is baffling (at least until you google it and end up in a thread like this one).
Moving around in a large project where rust might exist alongside many languages, having to remember that particular quirk about Rust libraries is definitely going to be exhausting in the long term.

Since there are so many popular crates with - in their names (since it's looks nicer and easier to read) isn't it an option to relax naming rules a bit and allow them in rust code in imports? Okay, maybe it's not valid identifier name but it could be a valid crate name.
On the other hand it would forbid it in using in context like let a = 10 - serde-json::from_str::<i32>("15").unwrap()) so this might look awkward. But people could always manually rename it like use serde-json as serde_json if they wish.

Aren't we heading to an overkill here? Perhaps package name conversion to underscore is not something you would realize immediately, but it would be the responsibility of the package developer anyway. Packages can always specify lib.name in Cargo.toml to set their own crate name anyway, but how many newbies to rust would actually pay attention to the Cargo.toml of the dependencies they use? I remember getting really confused why futures-preview is imported as futures instead of futures_preview when I just started; if anything, that is way more confusing than having serde-json imported as serde_json, which everyone would immediately understand intuitively (even though they may be doubtful why it is written like that).
I don't know what's the original rationale of allowing underscores, but if we were to start all over, it might be more reasonable to have cargo only take the substring before the first hyphen as the lib crate name (hence the futures-preview case). But now that we are already at this (and it is almost idiomatic to suffix binding crates with -sys), collating hyphens as the equivalent of underscore would be most sensible thing to do because that's how everyone understands it.

Just for reference, Python Package names can also differ in _, -, and are in the same equivalence class based on a normalization scheme: https://packaging.python.org/en/latest/specifications/name-normalization/#name-normalization
In fact, they take this quite a bit further: Any arbitrary sequence of _, - or . is considered to be the same, foo.-_-.bar and foo-bar are considered the same. I'm not saying we should do that, just that there is precedence for even more complicated schemes than what is proposed here.

I would think "Python does this" is pretty strong evidence that it's a terrible idea, given how awful Python's packaging story is!


Tests are broken in 1.0.0-beta.1.1.0 release

Ever since @EisenbergEffect commited b473fec the tests have been failing. I was looking at trying to modify the router so we can solve aurelia/i18n#23, and it would be nice to be able to start from a clean build where the tests all pass.

It looks like karma can not load peer dependencies, only direct dependencies.

Tests have since been fixed.


[feature request] stepper form

It would be cool if it has some kind of wizard form.
Of course you can rely on the native stepper here, but a built-in one with automatic validation to get to the next page would be really handy.
So a ReactiveStepperForm.

Thanks, @538023 for the suggestion, that will be a good custom reactive widget.


From Service.up() to web browser

Problem
When I use dagger call ... up to open a tunnel from a Dagger service to my local system, it's not easy to open one of the service endpoints in my web browser.

The URL is not reliably printed on the terminal
The CLI doesn't automatically open a browser for me
The TUI doesn't give me a clickable link or hotkey to open the browser either

These may not be practical, or a good idea. All I know is that I wish it were easier to go from dagger call [...] up to a browser with my app in it
Solution
🤷♂

FYI @vito if you have ideas :)


The source file container sometime need refresh to populate the children

Not valid issue at this time frame. Will reopen it if still existing.


"no matching manifest for linux/amd64 in the manifest list entries" when pulling microsoft/dotnet-framework:4.7

Hopefully I haven't missed something completely obvious here. I'm on a Windows 10 (not pro) machine and have installed Docker Toolbox. I open Docker Quickstart Terminal and type docker pull microsoft/dotnet-framework:4.7, and this is the output I see:
$ docker pull microsoft/dotnet-framework:4.7
4.7: Pulling from microsoft/dotnet-framework
no matching manifest for linux/amd64 in the manifest list entries

Should this work on Windows 10 (not pro) using the docker toolbox?

@stianlagstad - Docker Toolbox is a legacy product and does not support multi-arch tags.  Your options are to either use Docker for Windows or to use the non-manifest tags.  The non-manifest tags are the fully qualified tags such as 4.7-windowsservercore-ltsc2016.

Closing as Docker Toolbox does not support multi-arch tags.  If there are questions, feel free to continue the conversation.

@MichaelSimons if im not using docker for windows i cannot pull images related to dotnet framework "docker pull microsoft/dotnet-framework:4.7"?
if im using minikube can i achieve this?
and can we get same thing done on azure?
Thanks in advance.

The .NET Framework is only supported on Windows.  Windows images can only be run on a Windows Docker host.  If you are interested in Kubernetes, running Windows containers, and Azure then Azure Kubernetes Service is what you should look into.


track-address not working

does the track-address works?
I tried this:
  const ws = websocket.initServer({
   options: [{ 'track-address': '<address>' }],
  })
...

But the only message I got when a tx arrived to my address was this:

{ conversions: { USD: 59005.314597715995 } }

that seems not related.

@knorrium @hunicus can you please look into fixing this as well as the API docs? seems it doesn't work and the API docs are wrong too

Working example
import * as WebSocket from 'ws';

const serverWS = (): WebSocket => {
  const ws = new WebSocket('wss://mempool.space/testnet/api/v1/ws');
  const interval = setInterval(function ping() {
    ws.ping();
  }, 30000);

  ws.on('open', function open() {
    console.log('ws opened');
    ws.send(
      JSON.stringify({ 'track-address': 'mq9Kmu6AGUmbgAJ73SdkERg59uXFnNeCX2' }),
    );
  });

  ws.on('close', async function close() {
    console.log('ws closed');
    clearInterval(interval);
    ws.terminate();
    await sleep(60000);
    serverWS();
  });

  return ws;
};

const sleep = (ms: number) => {
  return new Promise((resolve) => {
    setTimeout(resolve, ms);
  });
};

export { serverWS };

And after
const ws = serverWS();
ws.on('message', function incoming(data) {
  const res = JSON.parse(data.toString()) // <- your tx data here
  console.log(JSON.stringify(res, null, 3))
});

But it doesn't work as expected. Incoming only one transaction notification like:
{
   "address-transactions": [
      {
         "vsize": 143,
         "feePerVsize": 1.0052356020942408,
         "effectiveFeePerVsize": 1.0052356020942408,
         "txid": "57b26a3b5c10f9652d8144bc8431daf45fb2cc19f5d2af488e0c611bb57eb2ed",
         "version": 2,
         "locktime": 2281541,
         "vin": [
            {
               "txid": "721a9c0d53152aaae66a234fb7074e49ae5fcbd90ca879af93abed463d84ecbf",
               "vout": 0,
               "prevout": {
                  "scriptpubkey": "0014250a3f51ebfd2608206d34034d1a1629bcad66a8",
                  "scriptpubkey_asm": "OP_0 OP_PUSHBYTES_20 250a3f51ebfd2608206d34034d1a1629bcad66a8",
                  "scriptpubkey_type": "v0_p2wpkh",
                  "scriptpubkey_address": "tb1qy59r750tl5nqsgrdxsp56xsk9x726e4gdqsk86",
                  "value": 139284092
               },
               "scriptsig": "",
               "scriptsig_asm": "",
               "witness": [
                  "304402203b68c1f7bfecaba2c213ec631cfd58ed8edb85f1838d14d23a366a9335e8f2b602207651bfd32c93200ca192954cf15a2b784d73b166731e8c7bdc3330c246c417a301",
                  "02e30949984d16c3b9d87d10ad2bba140e31339f37afdfa59515e905e8f553d431"
               ],
               "is_coinbase": false,
               "sequence":<PHONE_NUMBER>
            }
         ],
         "vout": [
            {
               "scriptpubkey": "001460651d9d488fd59674d650b2269fe09953b2d4c8",
               "scriptpubkey_asm": "OP_0 OP_PUSHBYTES_20 60651d9d488fd59674d650b2269fe09953b2d4c8",
               "scriptpubkey_type": "v0_p2wpkh",
               "scriptpubkey_address": "tb1qvpj3m82g3l2evaxk2zezd8lqn9fm94xgq2g939",
               "value": 139253948
            },
            {
               "scriptpubkey": "76a914699a098fbfbcc2b5e03fb7edb2ce8b6e166e3f7c88ac",
               "scriptpubkey_asm": "OP_DUP OP_HASH160 OP_PUSHBYTES_20 699a098fbfbcc2b5e03fb7edb2ce8b6e166e3f7c OP_EQUALVERIFY OP_CHECKSIG",
               "scriptpubkey_type": "p2pkh",
               "scriptpubkey_address": "mq9Kmu6AGUmbgAJ73SdkERg59uXFnNeCX2",
               "value": 30000
            }
         ],
         "size": 225,
         "weight": 573,
         "fee": 144,
         "status": {
            "confirmed": false
         },
         "firstSeen":<PHONE_NUMBER>,
         "bestDescendant": null,
         "ancestors": [
            {
               "txid": "721a9c0d53152aaae66a234fb7074e49ae5fcbd90ca879af93abed463d84ecbf",
               "weight": 573,
               "fee": 144
            }
         ],
         "cpfpChecked": true
      }
   ]
}

And then object below many times
{
   "conversions": {
      "AED": 0,
      "AUD": 29272.26,
      "BDT": 0,
      "BHD": 0,
      "BMD": 0,
      "BRL": 103870.78,
      "CAD": 26210.21,
      "CHF": 19514.4,
      "CLP": 0,
      "CNY": 0,
      "CZK": 0,
      "DKK": 0,
      "EUR": 19187.96,
      "GBP": 16515.16,
      "HKD": 159675.03,
      "HUF": 0,
      "IDR": 300581142.86,
      "ILS": 0,
      "INR": 0,
      "JPY": 2747821.51,
      "KRW": 26367417.04,
      "KWD": 0,
      "LKR": 0,
      "MMK": 0,
      "MXN": 0,
      "MYR": 88916.24,
      "NGN": 10403417.36,
      "NOK": 0,
      "NZD": 32276.01,
      "PHP": 0,
      "PKR": 0,
      "PLN": 0,
      "RUB": 1083887.16,
      "SAR": 0,
      "SEK": 0,
      "SGD": 28467.76,
      "THB": 0,
      "TRY": 351400.23,
      "TWD": 0,
      "UAH": 648703.86,
      "USD": 20162.47,
      "VND": 0,
      "ZAR": 326427.28
   }
}

I can confirm what @justficks is saying. Using track-address will deliver address-transactions payload when a transaction involving the address is seen in mempool but will not deliver block-transactions payload when the transaction is mined into a block.

Any update on this?

@wiz It seems this is not fixed yet because I keep only receiving the conversions. Can you confirm? When can it be fixed?

Not yet


docs/pipelines/agents/hosted.md: Fix typo in "ubuntu-16.04"

@mikeharder Thank you for for fixing this. I am merging this PR and it should be live soon.


S3 filenames not working correctly?

I've just started trying to migrate an app to keystone v4.0.0-beta. I've currently got a working s3 setup. However, now I've changed to using keystone-storage-adapter-s3, the uploaded files on S3 have strange filenames, and these file names do not match what is stored in S3.
The following is going to be a wall of code, but I figured I should provide all possible info.
My model is as follows:
var keystone = require('keystone');
var Types = keystone.Field.Types;

/**
 * File Model
 * ==========
 */

var File = new keystone.List('File', {
	autokey: { path: 'slug', from: 'name', unique: true },
	track: true,
});

var storage = new keystone.Storage({
	adapter: require('keystone-storage-adapter-s3'),
	s3: {
		path: process.env.S3_BUCKET,
		region: process.env.S3_REGION,
		headers: {
			'x-amz-acl': 'private',
		},
	},
	schema: {
		bucket: true, // optional; store the bucket the file was uploaded to in your db
		etag: true, // optional; store the etag for the resource
		path: true, // optional; store the path of the file in your db
		url: false, // optional; generate & store a public URL
	},
});

File.add({
	name: { type: String, required: true },
	file: {
		type: Types.File,
		storage: storage,
		filename: function (item, file) {
			return encodeURI(item._id + item.name);
		},
		format: function (item, file) {
			return '
' + JSON.stringify(file, false, 2) + '
'
					+ '';
		},
	},
	folder: { type: Types.Relationship, ref: 'Folder', many: false },
	mimetype: { type: String, hidden: true },
});

File.schema.pre('save', function (next) {
	if (this.file.filetype !== undefined) {
		this.mimetype = convert(this.file.filetype);
	}
	next();
});

File.defaultColumns = 'name, folder, author, lastModifiedDate';
File.register();

I uploaded a file, which I called testing, however this is what it looks like on S3:
Bucket:	jstockwin-development
Name:	D:\Documents\Development\GitHub\students4students\jstockwin-development\nJmJPmxQdzsjygqw.pdf
Link:	<HIDDEN>
Size:	111495
Last Modified:	Sun Aug 28 11:42:30 GMT+100 2016
Owner:	jstockwin2
ETag:	6584aab099ef04293e204adb3b935bd0

Note that D:\Documents\Development\GitHub\students4students\ is where my keystone app is stored locally, and not where the file is being uploaded from....
However, on keystone, the file looks like this:
{ _id: 57c2c00c148fbb401c470eac,
  updatedAt: 2016-08-28T10:42:29.086Z,
  createdAt: 2016-08-28T10:42:20.028Z,
  slug: 'testing',
  name: 'testing',
  __v: 0,
  file:
   { mimetype: 'application/pdf',
     size: 111495,
     filename: 'nJmJPmxQdzsjygqw.pdf',
     etag: '"6584aab099ef04293e204adb3b935bd0"',
     bucket: 'jstockwin-development' } }

So when I try to get the file, which I do using aws-sdk, I'm essentially getting a 404 error. (The specified key does not exist).
Sorry if it's me doing something wrong :)

I have the same issue, its a windows specific problem when the filename is resolved.
From node path
"The path.posix property provides access to POSIX specific implementations of the path methods."
Change line 92
	return pathlib.posix.resolve(path, file.filename);
fixes it for me.

@cetchells Thanks for looking in to this! If you've already made that change, would you mind submitting a pull request to fix this?


Add Casdoor to Pulsar docs: pulsar-manager

Casdoor support has been added to pulsar-manager in https://github.com/apache/pulsar-manager/pull/446.
We need to add guide documentation on how to use the Casdoor in pulsar-manager.
Add this guide to https://pulsar.apache.org/docs/en/administration-pulsar-manager page.

@jakiuncle

@nodece PR here: https://github.com/apache/pulsar/pull/17324 , plz review

Closed here for now


Update Metrics hash to fix /status and /static/* requiring auth.

Now after #3 was merged, there is a test checking /metrics/status: https://github.com/hawkular/hawkular-services/blob/master/itest/src/test/java/org/hawkular/services/rest/test/MetricsITest.java#L50
As it statnds now, the client send an Auth header. Should we not change the test to send the request without Auth header?

Merge after #8

Actually, I'll close this one. Moving to Metrics 0.16.0 would be a better option at this point.

@jpkrohling , FYI, me and @stefannegrea agreed that the itests in services accessing /status should do so without both Auth and Tenant headers.

Absolutely, it makes sense.


Unit test utility functions

I'm more likely to use utility functions if I know they've been unit tested. I'm wondering:

Would your team welcome a pull request to start unit testing?
If so, what testing framework would you prefer? (I'm most comfortable with Python's builtin unittest framework if there's no preference.)

Hi Jonathan,
Thanks a lot for looking into our library. Yes, having unit tests would great! We would certainly welcome one or more PRs on this. I am fine with using unittest.
If you have time to work on this, I would suggest that you submit relatively short PRs adding a few tests each time. This will be much easier for reviewing the PRs and getting any feedback early.
Looking forward to a PR! :)


Bundle Products

I need something like bundle products from magento in saleor: http://docs.magento.com/m1/ce/user_guide/catalog/product-bundle.html
To explain the scenario. I'm going to sell some pictures that the user will get to choose the size and frame. I can't use variants because for some reasons: 1) The size and the frame will affect the endprice. 2) The stock is for the image itself and not the variant (yes, they have limited number of prints for some internal reasons)
From what I can tell, the bundle products scheme from magento seems to be what I need, unless you think there is a better way.
I'm willing to develop this feature for saleor, but before I get to it I would like to know if you have any suggestions/tips for me. Like, if you can think in a DB schema that you prefer that I follow or something like that. I imagine that it will make it easier for you to accept the PR later :)

Can't tell when it will be added in Saleor but we definitely want to have it. In fact we already have dashboard mockups for that.

@maarcingebala  We also need this feature. Our use case:
The bundle consists of software and hardware part. Each one is separate product. There are different configurations of software and hardware part. You should not be able to buy on without the other.
Our current solution:

mutation add cartlines which receive a list of cartlines to add
a module which validates if lines look like one of our bundles, if so then add all to cart
there are items which need to be removed from checkout if a bundle is added. We validate that on mutation

How I would like to see this implemented:

extension manages with method add_lines_to_checkout (notice plural form)

many needs this feature...and Saleor's marketing pages mention this as a feature.

Is this a simple marketing lie @maarcingebala ?

Hey @ricricucit,
Thanks for bringing this up and sorry for the outdated content to slip through. We're late with this but we're working on the site's update since the plan and goals had to change last quarters. We planned the current content ahead of time closely with the roadmap in mind (where bundles were due beginning of Q1). We still plan Product bundles to be part of Saleor however we had to postpone them to likely beginning of Q3/20. The upcoming update will reflect all of that.

Is there any update on this subject ? Possibly an updated ETA ?

Hi guys, there is a need in this feature in out project too. Any updates?

Hi guys!
I see Saleor 3.0 Alpha is released. Good work!
Any news on product bundles?
:smiley:

Hi @maarcingebala
Any updates on this? 😀

Hi @maarcingebala
Any updates on this? 😀

Is anyone doing a faux version of this in the mean time? Using attributes perhaps and a plugin to add line items in a callback? Wondering how people are handling this until it is officially supported (which I hope is soon)

Is anyone doing a faux version of this in the mean time? Using attributes perhaps and a plugin to add line items in a callback? Wondering how people are handling this until it is officially supported (which I hope is soon)

Will bundle products be scheduled for 3.1?

Will bundle products be scheduled for 3.1?

Looking at the https://github.com/mirumee/saleor/blob/master/CHANGELOG.md - I don't think so.

Hi, any update on this feature?

@mirekm are product bundles back on the roadmap? This feature gets more and more important to us and would make our stock management so much easier.. <3

Hi saleor team! any updates on this feature?

Hi @ammi1378 we will post an update to the roadmap regarding bundles in a week or so

Hi, there is a need for product bundles in our project too. Any updates?

Hi, for us product bundles would be very helpful aswell. What is the status here?
Please forgive me if it was released and I am unable to find documentation.


[DO NOT MERGE] deepspeed revamp

What does this PR do?

Support for DeepSpeed Config File
Support for gradient clipping and offloading params w/o config file
Fixing scheduler w/o config file
Simplifying model, optimizer and scheduler wrappers by removing stale code of current wrappers and directly relying on DeepSpeed.
Using HFDeepSpeedConfig when in Zero Stage-3 as per user consent to handle Deepspeed ZeRO-3 param gathering and automatically splitting the model onto multiple gpus during from_pretrained call

ToDo:

[ ] Write Tests
[ ] Redo experiments from Testing Trainer and Accelerate Integration of DeepSpeed to see if gaps between Accelerate integration and Trainer integrations are fixed.
[ ] Polish integration

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Support Kontrol cheatcodes implementation in Foundry

The list of cheatcodes shared with the Foundry team contains

symbolicStorage(address): makes the storage of the given address fully symbolic.
copyStorage(address, address): copies the storage of one contract to another.
freshAddress() , freshBool(): returns a symbolic address or bool value, respectively.
freshBytes(uint256) external returns (bytes memory b): returns a symbolic bytes array of a given size; in Kontrol, the returned bytes b have dynamic size but we add an assumption on b.length.
freshUInt(uint8): returns a symbolic unsigned integer of a given size in bytes. We use this freshUInt cheatcode to define fixed-length variations for unsigned (freshUInt256(), freshUInt248(), etc.) and signed integers (freshSInt32(), freshSInt8(), etc.).
mockFunction(address callee, address calledContract, bytes calldata data): whenever a call is made to callee with calldata data, this cheatcode instead calls calledContract with the same calldata. This functionality is similar to a delegate call made to calledContract from callee. We use it to substitute a call to a client's function with another implementation that captures the primary logic of the original function but is easier to reason about. It was inspired by Foundry’s mockCall, which helps substitute a call with specified return data but allows capturing more observable behaviors than just the return value.
expect*Call cheatcodes: similar to expectEmit, these let us specify the expected call with its callee and calldata. We use these less frequently, but I think they can be useful even for fuzzing tests.

Cheatcodes base: https://github.com/runtimeverification/kontrol-cheatcodes/blob/master/src/IKontrolCheatsBase.sol
Some of their implementations: https://github.com/runtimeverification/kontrol-cheatcodes/blob/master/src/KontrolCheats.sol

Most of the cheatcodes were implemented, expect for expect*Call which are less critical. Closing this issue for now.


Add a member to editors group

Can you please help me to add atsakiri-actionaid on Greek editors group? She has verified her account. I could have rights on that group so to add and/or remove members without opening an issue.

It works fine, thank you @avivace . I am closing the case..


[DO NOT MERGE; currently testing] standardizing GCSIO batch responses

fixes #27325.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Python 3.11 PostCommit

Run Python 3.11 PostCommit

Run Python 3.11 PostCommit

Run Python 3.11 PostCommit

Run Python 3.11 PostCommit

Run Python 3.11 PostCommit

Changes incorporated into new GCSIO client swap PR #27471


[5.5] Added "software" as an uncountable word

This may be a nit-picky distinction, but should these be considered breaking changes? A few have been added lately, maybe it's time to think about a way to add these on a per-app basis?

does the break occur on things like guessing table names in models?

Yes, it looks to me that it will. Model@getTable calls Str::plural which calls Pluralizer::plural.

i would agree then, yes technically these changes should go to master

Assuming we have a model called Software, this is what we do since software's plural form is still software
class Software extends Model {

    protected $table = 'software';

With this new change, the code above would still work. Unless otherwise, softwares (with the 's') have already been used (i.e. in migrations), then it is really a breaking change.
Just my two cents.
Disclaimer: I authored a same PR for firmware https://github.com/laravel/framework/pull/21306

Sure, if you specify the table it's going to be fine, but I would guess most people don't do that. If you've been using a softwares table, it will break next time you update.
As a followup, the $uncountable array in Pluralizer is already public, so there's no code change needed to modify it in a service provider on a per app basis.


JSX: Add a way to specify children as not a part of props

Right now there's no way to specify what children representation is, except specifying ElementChildrenAttribute inside JSX namespace. It's heavily coupled with React representation for children which implies that children is a part of props. This makes impossible to enable type checking for children with implementations which store children separately, for instance https://github.com/dfilatov/vidom/wiki/Component-properties.
Probably it could be ElementChildrenProperty (like ElementAttributesProperty).

related to https://github.com/Microsoft/TypeScript/issues/21699


Functional Tests

We need some.
And to bake them into the GitHub actions
https://www.automatetheplanet.com/running-selenium-tests-github-actions-java/#t-1622162026475

Addressed by #104


Label is missing children type definition

Label props don't include children definition.
Relevant code
<Label>
    Text
</Label>

What was expected to happen?
No TS error:
Type '{ children: string; }' has no properties in common with type 'IntrinsicAttributes & LabelProps'.
Reproduction
https://codesandbox.io/s/elastic-ully-vnv96e

@arturmiglio here is a suggestion to solve this TS message: #340


error 400: invalid_scope

dear Jay,
today it is not possible to authorize any GAM Project receiving the error attached, it seems to be a problem related to redirect_uri in the projects where we choose Desktop Application.

How did you setup GAM? What os are you using? What steps did you take in gam before this (show screenshots).
No one else is reporting this issue which indicates something different on your end.

I have tried both GAM for MAC and for Windows on multiple Workspace domains, from today the wizard gives this error.
In practice, starting from the gam create project, everything continues as usual, the project is created, the APIs are enabled etc.
At the point where I launch the command gam user<EMAIL_ADDRESS>check serviceaccount, or any other command, this presents me with the classic screen where I have to select "c" to continue the auth, here it is instead of having the classic screen I have the error of the screenshot.
I tried this on at least 6 different workspace domains

I have the same error that lonix86 mentioned. I have reinstalled GAM more than once and the problem persists, so I can't run any command because of this error.
I'm using Windows x64

Como você configurou o GAM? Qual sistema operacional você está usando? Quais etapas você executou no jogo antes disso (mostre as capturas de tela).
Ninguém mais está relatando esse problema, o que indica algo diferente do seu lado.

I have the same error that lonix86 mentioned. I have reinstalled GAM more than once and the problem persists, so I can't run any command because of this error.
I am using Windows x64.

Try disabling the following scope (the number may be different)
[*] 13) Directory API - Printers (supports readonly)
Type the number so it looks like this:
[ ] 13) Directory API - Printers (supports readonly)
Type c to continue to authorization.
Ross

It didn't work, the same error occurred.
👎

Do the same for:
[*]  2) Chrome Policy API
[*]  5) Cloud Identity - User Invitations (supports readonly)
Ross

It worked!!! THANK YOU SO MUCH

The following would be very helpful to isolate which scope(s) is(are) causing the problem.
Turn on one of the three scopes, try to authorize. If it works, good. If not, repeat with each of the other scopes.
By turning them on one at a time we can figure out which of the three are causing the problem.
Thanks,
Ross

grr are just the scopes I wanted to use :(

Thank you so much!
Disabling the "Cloud Identity - User Invitations (supports readonly)" I solved.

Thank you for this tips. I can setup Gam with  "Cloud Identity - User Invitations (supports readonly)" unselected.

If you are looking at this issue please open a google support case and
mention you are impacted by internal issue 184269639.
Opening the support case is a big help in getting these things resolved so
if really appreciate it.
On Thu, Apr 1, 2021, 1:54 PM ThierryBerger @.***> wrote:

Thank you for this tips. I can setup Gam with "Cloud Identity - User
Invitations (supports readonly)" unselected.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/1351#issuecomment-812072049, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDIZMGUCK23XPIXRVC5T7LTGSXL3ANCNFSM42GXTM7A
.

I don't seem to be able to open an issue, can you point me in the right direction?
Thanks,
Ross

Follow the steps at:
https://support.google.com/a/answer/1047213?hl=en
Jay
On Thu, Apr 1, 2021, 7:19 PM Ross Scroggs @.***> wrote:

I don't seem to be able to open an issue, can you point me in the right
direction?
Thanks,
Ross
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/1351#issuecomment-812227861, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDIZMED2VMXY6NNK6BW4XLTGT5Q7ANCNFSM42GXTM7A
.

I got this error as well on a clean install of Mac OS Catalina, but was able to authenticate by disabling

[*] 5) Cloud Identity - User Invitations (supports readonly)

Thank you so much!
Disabling the "Cloud Identity - User Invitations (supports readonly)" I solved.

me too 👍

I can confirm that a fresh install of GAM 6.00 on a Windows 10 20H2 x64 system did not work until the "Cloud Identity - User Invitations (supports readonly)" scope was disabled. To be fair, I don't know if this API is generally enabled for my account, but I was looking for a quick fix.
64-bit MSI was downloaded today (4/5/2021), for a clean install (also today) of Windows 10 Enterprise.
Hope this helps!

Same issue - thanks @jay0lee I have submitted a ticket with your internal issue reference number. In my case on windows, it was #4 (for anyone reading this thread later on and needing a quick answer what number to press):

[ ]  4) Cloud Identity - User Invitations (supports readonly)

I'm on macOS BiSur and had the same issue here, but resolved by disabling these:
[]  0) Chrome Browser Cloud Management (supports readonly)
[ ]  1) Chrome Policy API
[ ]  2) Classroom API - counts as 5 scopes
[]  3) Cloud Identity - Groups (supports readonly)
[ ]  4) Cloud Identity - User Invitations (supports readonly)
[ ]  5) Contact Delegation (supports readonly)
Maybe I overdid it a bit, but I guess I can try again after a while. Now I just had to solve a problem urgently. But thanks a lot for the tips, they really helped a lot, rather it made it difficult for me to return to the previous state in the cloud that I had messed :)

This worked for me too:
[ ] 4) Cloud Identity - User Invitations (supports readonly)
Any idea why "Cloud Identity" causes such a problem?

This is fixed with GAM 6.01

I ran the new update, but how do I make the permission screen reappear so  I can try adding the previous unselected option 4?

I am facing same issue after disabledGam Tool installation issue.docx

This is not a bug. Please move the discussion to the group:
https://groups.google.com/g/google-apps-manager

Send me a Meet/Zoom invitation.
Ross
ross.scroggs @ gmail.com
On Wed, Mar 29, 2023 at 3:10 AM reenaraw @.***> wrote:

We have verified the steps mentioned, but we are getting the same error.
Is it possible for a support person to help us to install GAM tool?
—
Reply to this email directly, view it on GitHub
https://github.com/GAM-team/GAM/issues/1351#issuecomment-1488316105, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCTYL2IKJKNUAVVFLGRD23W6QDBPANCNFSM42GXTM7A
.
You are receiving this because you commented.Message ID:
@.***>

--
Ross Scroggs
@.***

Hello Ross,
Thanks for your confirmation, we are scheduling on tomorrow at 12:30 .
[https://zoom.us/account/branding/p/a14392ed-7bbd-4c20-8d9d-53d88c027cc9.jpg]http://zoom.us/
Click HERE to Join the Zoom Meetinghttps://syngenta.zoom.com/j/96432071076
Next click on Join Audio with Computer
If you don't have an internet connection - you may join by telephone instead. Use a dial in number that is closest to your current location:
Click herehttps://syngenta.zoom.com/u/atBYsCu1 to find a list of phone numbers for all countries
US: +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER>
Switzerland: +41 31 528 09 88 or +41 43 210 70 42 or +41 43 210 71 08
United Kingdom: +44<PHONE_NUMBER> or +44<PHONE_NUMBER> or +44<PHONE_NUMBER>
India: +91 22 48 798 004 or +91 22 71 279 525 or +91 80 71 279 440
If prompted enter this Meeting ID: 964 3207 1076
SIP<EMAIL_ADDRESS>Meeting URL: https://syngenta.zoom.com/j/96432071076
Need help?
Check Frequently Asked Questions herehttps://support.zoom.us/hc/en-us/articles/206175806-Top-Questions
Click herehttps://support.zoom.us/hc/en-us/articles/201362003 to contact Zoom's support service
This message may contain confidential information. If you are not the designated recipient, please notify the sender immediately, and delete the original and any copies. Any use of the message by you is prohibited.

Is it possible to join call now?

Please schedule a call according  your availability.

Please schedule a call regarding your availability .

Hello Team,
My work time is 11:30 to 7:30 IST. can we connect according to this time schedule.

Schedule a meeting between 6:30 PM IST and 7:30 PM IST.
On Fri, Mar 31, 2023 at 12:46 AM reenaraw @.***> wrote:

Hello Team,
My work time is 11:30 to 7:30 IST. can we connect according to this time
schedule.
—
Reply to this email directly, view it on GitHub
https://github.com/GAM-team/GAM/issues/1351#issuecomment-1491460308, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCTYL2ZM3XGY53MXP3ZXH3W62DV5ANCNFSM42GXTM7A
.
You are receiving this because you commented.Message ID:
@.***>

--
Ross Scroggs
@.***

We have scheduled the meeting on tomorrow at 6:30 to 7:30 PM. Please join the meeting
https://syngenta.zoom.com/j/91734791921

My apologies, I'm joining late.
Ross Scroggs
@.***

On Mar 31, 2023, at 7:56 AM, reenaraw @.***> wrote:
We have scheduled the meeting on tomorrow at 6:30 to 7:30 PM. Please join the meeting
https://syngenta.zoom.com/j/91734791921 https://syngenta.zoom.com/j/91734791921
—
Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1351#issuecomment-1492062400, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYLYSKMGCL2WKOBRZATTW63WDRANCNFSM42GXTM7A.
You are receiving this because you commented.

Hello Ross,
We are rescheduling the meeting for today from 6:30 PM to 7:30 PM IST. Please join the meeting on time.
https://syngenta.zoom.com/j/98519870189
We are retry to tool GAM tool but this time , we are getting this
Go to the following link in your browser:
    https://gam-shortn.appspot.com/qajmb2

IMPORTANT: If you get a browser error that the site can't be reached AFTER you
click the Allow button, copy the URL from the browser where the error occurred
and paste that here instead.
Enter verification code or browser URL: <IP_ADDRESS> - - [03/Apr/2023 11:02:37] "GET /?state=AxbRETctRtaUSCcBthBbeQGJzIWCcC&code=4/0AVHEtk6qOSLxwaXk9QBR20WRe2NP1J_dgtOmpfeSvnMHIj8Dj6Q9TPZ5IyojQJYIYCxABA&scope=https://www.googleapis.com/auth/cloud-platform HTTP/1.1" 200 91
The authentication flow has completed.
Creating project "GAM Project"...
Checking project status...
ERROR: {'name': 'operations/cp.5950191580833636499', 'metadata': {'@type': 'type.googleapis.com/google.cloud.resourcemanager.v3.CreateProjectMetadata', 'createTime': '2023-04-03T05:29:17.308Z', 'ready': True}, 'done': True, 'error': {'code': 8, 'message': 'The project cannot be created because you have exceeded your allotted project quota.', 'details': [{'@type': 'type.googleapis.com/google.rpc.QuotaFailure', 'violations': [{'description': 'The project cannot be created because you have exceeded your allotted project quota.'}]}]}}

Hello Ross,
Thank you! support and guidance,
Can we set up a more call on this issue? We have some quires related to this at same time.
https://syngenta.zoom.us/j/94417887867

I've joined if you are still at work.
On Tue, Apr 4, 2023 at 6:39 AM reenaraw @.***> wrote:

Hello Ross,
are you able to join the call? i am waiting
—
Reply to this email directly, view it on GitHub
https://github.com/GAM-team/GAM/issues/1351#issuecomment-1495995170, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCTYL4XLLPTBSZR2YSANN3W7QQCDANCNFSM42GXTM7A
.
You are receiving this because you commented.Message ID:
@.***>

--
Ross Scroggs
@.***

We'll connect at 6:30PM IST.
Ross Scroggs
@.***

On Apr 4, 2023, at 6:39 AM, reenaraw @.***> wrote:
Hello Ross,
are you able to join the call? i am waiting
—
Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1351#issuecomment-1495995170, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYL4XLLPTBSZR2YSANN3W7QQCDANCNFSM42GXTM7A.
You are receiving this because you commented.

I'm waiting for a Zoom invitation.
Ross
Ross Scroggs
@.***

On Apr 4, 2023, at 6:39 AM, reenaraw @.***> wrote:
Hello Ross,
are you able to join the call? i am waiting
—
Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1351#issuecomment-1495995170, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYL4XLLPTBSZR2YSANN3W7QQCDANCNFSM42GXTM7A.
You are receiving this because you commented.

Hello Ross,
We are waiting in call. please join.

I get a message "The Meeting is scheduled for yesterday"
Ross Scroggs
@.***

On Apr 5, 2023, at 6:07 AM, reenaraw @.***> wrote:
Hello Ross,
We are waiting in call. please join.
—
Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1351#issuecomment-1497457648, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYL57SUB4RQ33NXTNOTDW7VVBVANCNFSM42GXTM7A.
You are receiving this because you commented.

Hello Ross,
Thank you! for your wonderful support
We are  facing some issue while configuring  GAM tool . can we connect again to resolve the issue?
Thanks and Regards,
Reena

Reena Rawat | Workplace Technology - SCCM Admin
m. +91.9149253497 |<EMAIL_ADDRESS>From: Ross Scroggs @.>
Sent: Wednesday, April 5, 2023 6:39 PM
To: GAM-team/GAM @.>
Cc: Rawat Reena (ext) INPU @.>; Comment @.>
Subject: Re: [GAM-team/GAM] error 400: invalid_scope (#1351)
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

I get a message "The Meeting is scheduled for yesterday"
Ross Scroggs
<EMAIL_ADDRESS>
On Apr 5, 2023, at 6:07 AM, reenaraw<EMAIL_ADDRESS>wrote:
Hello Ross,
We are waiting in call. please join.
—
Reply to this email directly, view it on GitHub <https://github.com/GAM-team/GAM/issues/1351#issuecomment-1497457648https://github.com/GAM-team/GAM/issues/1351#issuecomment-1497457648>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ACCTYL57SUB4RQ33NXTNOTDW7VVBVANCNFSM42GXTM7Ahttps://github.com/notifications/unsubscribe-auth/ACCTYL57SUB4RQ33NXTNOTDW7VVBVANCNFSM42GXTM7A>.
You are receiving this because you commented.

—
Reply to this email directly, view it on GitHubhttps://github.com/GAM-team/GAM/issues/1351#issuecomment-1497459671, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A6ZMF5ZPFQU2CN4GKEUIZ4DW7VVHPANCNFSM42GXTM7A.
You are receiving this because you commented.Message ID<EMAIL_ADDRESS>This message may contain confidential information. If you are not the designated recipient, please notify the sender immediately, and delete the original and any copies. Any use of the message by you is prohibited.

Send me a Meet/Zoom invitation.
Ross
On Tue, Apr 25, 2023 at 5:28 AM reenaraw @.***> wrote:

Hello Ross,
Thank you! for your wonderful support
We are facing some issue while configuring GAM tool . can we connect again
to resolve the issue?
Thanks and Regards,
Reena

Reena Rawat | Workplace Technology - SCCM Admin
m. +91.9149253497 |<EMAIL_ADDRESS>From: Ross Scroggs @.>
Sent: Wednesday, April 5, 2023 6:39 PM
To: GAM-team/GAM @.>
Cc: Rawat Reena (ext) INPU @.>; Comment @.>
Subject: Re: [GAM-team/GAM] error 400: invalid_scope (#1351)
CAUTION: This email originated from outside of the organization. Do not
click links or open attachments unless you recognize the sender and know
the content is safe.

I get a message "The Meeting is scheduled for yesterday"
Ross Scroggs
<EMAIL_ADDRESS>
On Apr 5, 2023, at 6:07 AM, reenaraw<EMAIL_ADDRESS>wrote:
Hello Ross,
We are waiting in call. please join.
—
Reply to this email directly, view it on GitHub <
https://github.com/GAM-team/GAM/issues/1351#issuecomment-1497457648<
https://github.com/GAM-team/GAM/issues/1351#issuecomment-1497457648>>, or
unsubscribe <
https://github.com/notifications/unsubscribe-auth/ACCTYL57SUB4RQ33NXTNOTDW7VVBVANCNFSM42GXTM7A
<
https://github.com/notifications/unsubscribe-auth/ACCTYL57SUB4RQ33NXTNOTDW7VVBVANCNFSM42GXTM7A>>.

You are receiving this because you commented.

—
Reply to this email directly, view it on GitHub<
https://github.com/GAM-team/GAM/issues/1351#issuecomment-1497459671>, or
unsubscribe<
https://github.com/notifications/unsubscribe-auth/A6ZMF5ZPFQU2CN4GKEUIZ4DW7VVHPANCNFSM42GXTM7A>.
You are receiving this because you commented.Message ID:
<EMAIL_ADDRESS>This message may contain confidential information. If you are not the
designated recipient, please notify the sender immediately, and delete the
original and any copies. Any use of the message by you is prohibited.
—
Reply to this email directly, view it on GitHub
https://github.com/GAM-team/GAM/issues/1351#issuecomment-1521705888, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCTYL6OOXNJ44QV4JWJCH3XC67QRANCNFSM42GXTM7A
.
You are receiving this because you commented.Message ID:
@.***>

--
Ross Scroggs
@.***

Hello Ross,
we have scheduled a call at 6:30 IST. please join the call.
https://syngenta.zoom.com/j/95377432689
Thanks and Regards
Reena

I need advance notice of a Meet, remember I'm generally available starting
at 7:30 AM PDT (8:00PM IST)
Please use my direct email address: @.***
Ross
On Wed, Apr 26, 2023 at 6:13 AM reenaraw @.***> wrote:

Hello Ross,
are you able to join the call?
—
Reply to this email directly, view it on GitHub
https://github.com/GAM-team/GAM/issues/1351#issuecomment-1523400270, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCTYLZNVZANST7KAFAXVYDXDENODANCNFSM42GXTM7A
.
You are receiving this because you commented.Message ID:
@.***>

--
Ross Scroggs
@.***

[https://zoom.us/account/branding/p/a14392ed-7bbd-4c20-8d9d-53d88c027cc9.jpg]http://zoom.us/
Click HERE to Join the Zoom Meetinghttps://syngenta.zoom.com/j/93722814247
Next click on Join Audio with Computer
If you don't have an internet connection - you may join by telephone instead. Use a dial in number that is closest to your current location:
Click herehttps://syngenta.zoom.com/u/acQY8rk4sn to find a list of phone numbers for all countries
US: +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER> or +1<PHONE_NUMBER>
Switzerland: +41 43 210 71 08 or +41 31 528 09 88 or +41 43 210 70 42
United Kingdom: +44<PHONE_NUMBER> or +44<PHONE_NUMBER> or +44<PHONE_NUMBER>
India: +91 80 71 279 440 or +91 22 48 798 004 or +91 22 71 279 525
If prompted enter this Meeting ID: 937 2281 4247
SIP<EMAIL_ADDRESS>Meeting URL: https://syngenta.zoom.com/j/93722814247
Need help?
Check Frequently Asked Questions herehttps://support.zoom.us/hc/en-us/articles/206175806-Top-Questions
Click herehttps://support.zoom.us/hc/en-us/articles/201362003 to contact Zoom's support service
This message may contain confidential information. If you are not the designated recipient, please notify the sender immediately, and delete the original and any copies. Any use of the message by you is prohibited.

Hello Ross,
we have scheduled a meeting on 8:00PM IST. please join the meeting
https://syngenta.zoom.com/j/93722814247
Thanks and Regards
Reena

Reena,
Talk to you then.
Ross
Ross Scroggs
@.***

On Apr 26, 2023, at 8:56 PM, reenaraw @.***> wrote:
Hello Ross,
we have scheduled a meeting on 8:00PM IST. please join the meeting
https://syngenta.zoom.com/j/93722814247 https://syngenta.zoom.com/j/93722814247
Thanks and Regards
Reena
—
Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1351#issuecomment-1524648897, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYL62RXZIFFDN3RXKJJDXDHVADANCNFSM42GXTM7A.
You are receiving this because you commented.

Reena,
I just discovered that I have an appointment at 8:00PM IST, can we move the meeting to 7:00PM IST or 9:15OM IST?
Ross
Ross Scroggs
@.***

On Apr 26, 2023, at 8:56 PM, reenaraw @.***> wrote:
Hello Ross,
we have scheduled a meeting on 8:00PM IST. please join the meeting
https://syngenta.zoom.com/j/93722814247 https://syngenta.zoom.com/j/93722814247
Thanks and Regards
Reena
—
Reply to this email directly, view it on GitHub https://github.com/GAM-team/GAM/issues/1351#issuecomment-1524648897, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCTYL62RXZIFFDN3RXKJJDXDHVADANCNFSM42GXTM7A.
You are receiving this because you commented.

Sure Ross,
We have rescheduled the meeting on 7:00PM IST.
Thanks and Regards,
Reena
From: Ross Scroggs @.>
Sent: Thursday, April 27, 2023 10:01 AM
To: GAM-team/GAM @.>
Cc: Rawat Reena (ext) INPU @.>; Comment @.>
Subject: Re: [GAM-team/GAM] error 400: invalid_scope (#1351)
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

Reena,
I just discovered that I have an appointment at 8:00PM IST, can we move the meeting to 7:00PM IST or 9:15OM IST?
Ross
Ross Scroggs
<EMAIL_ADDRESS>
On Apr 26, 2023, at 8:56 PM, reenaraw<EMAIL_ADDRESS>wrote:
Hello Ross,
we have scheduled a meeting on 8:00PM IST. please join the meeting
https://syngenta.zoom.com/j/93722814247https://syngenta.zoom.com/j/93722814247 <https://syngenta.zoom.com/j/93722814247https://syngenta.zoom.com/j/93722814247>
Thanks and Regards
Reena
—
Reply to this email directly, view it on GitHub <https://github.com/GAM-team/GAM/issues/1351#issuecomment-1524648897https://github.com/GAM-team/GAM/issues/1351#issuecomment-1524648897>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ACCTYL62RXZIFFDN3RXKJJDXDHVADANCNFSM42GXTM7Ahttps://github.com/notifications/unsubscribe-auth/ACCTYL62RXZIFFDN3RXKJJDXDHVADANCNFSM42GXTM7A>.
You are receiving this because you commented.

—
Reply to this email directly, view it on GitHubhttps://github.com/GAM-team/GAM/issues/1351#issuecomment-1524682196, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A6ZMF53ZPJTH7ZCF2QFJE4DXDHZCBANCNFSM42GXTM7A.
You are receiving this because you commented.Message ID<EMAIL_ADDRESS>This message may contain confidential information. If you are not the designated recipient, please notify the sender immediately, and delete the original and any copies. Any use of the message by you is prohibited.

Hello Ross,
Thank you! for support to Install GAM tool.
could you please provide those steps which we followed to install GAM. That would be great help for us.
Thanks and Regard
Reena

Reena,
The basic steps are

Install GAM
gam create project
3: gam oauth create
4: gam user @.*** check serviceaccount

In your case you had a super admin that was not authorized to create
projects so Step 1 failed
To allow that admin to create projects do:

Login as an existing super admin at cloud.console.google.com
In the upper left click the three lines to the left of Google Cloud and
select IAM & Admin
Under IAM & Admin select IAM
Click the down arrow in the box to the right of Google Cloud
Click the three dots at the right and select IAM/Permissions
Now you should be at "Permissions for organization ..."
Click on Grant Access
Enter the new super admin address in Principals
Click in the Select a role box
10: Type project creator in the Filter box
Click Project Creator
Click Save

On Thu, Apr 27, 2023 at 11:24 PM reenaraw @.***> wrote:

Hello Ross,
Thank you! for support to Install GAM tool.
could you please provide those steps which we followed to install GAM.
That would be great help for us.
Thanks and Regard
Reena
—
Reply to this email directly, view it on GitHub
https://github.com/GAM-team/GAM/issues/1351#issuecomment-1527052724, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCTYLZURVSMAFZXJE6ZNKTXDNPDXANCNFSM42GXTM7A
.
You are receiving this because you commented.Message ID:
@.***>

--
Ross Scroggs
@.***

Hello Ross,
Happy New Year!!
How are you?
Could you please answer my query "If we need remove devices from Google Chrome admin console in bulk". Do we have any script or any another way in  GAM tool to remove devices.
Thanks and Regards,
Reena
This message may contain confidential information. If you are not the designated recipient, please notify the sender immediately, and delete the original and any copies. Any use of the message by you is prohibited.


find better goodness of fit

At the moment, the goodness of fit is computed through a Chi2 statistic:

The sum is done across the samples, and O corresponds to the observed number of reads, E to the expected one, given by E=error rate * DP.
The problem is that error rate is low, and it is unlikely to have non zero E due to the rounding (count data). This gives a statistic at NA, because there is a zero at the denominator.

@follm


Use milliseconds for fsync time histogram

Most of our histograms are in milliseconds. Don't deviate from that with the new fsync.time metric so make it use milliseconds as well. It turns out fractional histogram values are allowed, so we can still get the sub-millisecond precision for faster disks that way.
Example of usage during: fabric_bench:go(#{docs=>50000, batch_size=>100}).
couch_stats:sample([fsync, time]).
[{min,8.303},
 {max,134.124},
 {arithmetic_mean,49.3490064102564},
 {geometric_mean,42.939511193319994},
 {harmonic_mean,37.05011500299417},
 {median,43.198},
 {variance,654.1673972451199},
 {standard_deviation,25.57669637082006},
 {skewness,0.7276971171556265},
 {kurtosis,-0.021701320829371706},
 {percentile,[{50,43.198},
              {75,63.858},
              {90,81.22},
              {95,97.231},
              {99,114.86},
              {999,134.124}]},
 {histogram,[{25.303,48},
             {48.303,40},
             {68.303,38},
             {78.303,4},
             {98.303,18},
             {118.303,7},
             {128.303,0},
             {148.303,1}]},
 {n,156}]

{median,0.667}, very nice!
Even P90 6 vs 81 msec on my machine is quite nice.

why didn't we use native units for T0 and T1 and then convert_time_unit at the end?

@rnewson erlang:convert_time_unit/3 would have yielded an integer number milliseconds and we would have lost the sub-millisecond precision. However an improvement could be to collect the data in native, compute the dt (still in native), convert to nanoseconds (as integer) then divide by 1e6 to yield a millisecond floating point value.

Good idea

Improved it a bit in https://github.com/apache/couchdb/pull/4616


2018 Acura TLX - Serial Steering

Adding TLX , verified on regular 9th gen accord and 2018 TLX. Not sure the years supported at this time.
There was some bug fixes required in carstate.py. Specifically it looks like many models were renamed from something like CAR.CIVIC to CAR.HONDA_CIVIC. The only one which I wasn't quite sure about was CAR.ACCORDH - I couldn't find a replacement for this one. Everything else seemed pretty straight forward, some of the spacing changes are due to the checks before commit (unused variables/ line length > 160 characters).
Todo:
Need to generate docs.py.

[] added entry to CAR in selfdrive/car/*/values.py and ran selfdrive/car/docs.py to generate new docs
[X] test route added to routes.py
[X] route with openpilot: dc27c011224d353f/00000023--d15078f2fd/0
[X] route with stock system: dc27c011224d353f/00000027--e5009d2033/0
[X] car harness used (if comma doesn't sell it, put N/A): N/A - Serial Steering V3 board

There's a problem with the car docs- it looks like 2022 Hyundai Elantra is missing params, However, the TLX should have necessary params

Rebased to latest, fixed .gitmodules and what submodules point to.

@mlocoteta Can you please point this PR against master? Thanks!

Which engine is this for and FWD or SH-AWD? Not sure if those make a difference. Might be worth adding trim info.


[concurrency] declare POSIXErrorCode as Sendable

This change makes POSIXErrorCode a Sendable type. POSIXErrorCode is an enum that simply maps an Int32 value.
It isn't frozen, though, so it is not inferred as Sendable.
Addresses: rdar://99047401
Original PR: https://github.com/swiftlang/swift/pull/75000
Risk: Very low. This change has no ABI implication; it simply removes possible errors in language mode 6.
Reviewers: @Azoy, @parkera

@swift-ci please test


Refactor signTx

[x] Handle normal key wits
[x] Handle key wits from simple scripts
[x] Handle byron/bootstrap wits
[ ] Polish

[x] Don't rely on mock addresses

Redefine isOurs for SeqState taking KeyFingerprint instead (basically a KeyHash) -> NO
[x] Figure out how to make the script lookup / signing more proper 🤔

[x] Redefine estimateKeyWitnessCount

[ ] Testing

[ ] Integration tests green

[ ] Fix TRANS_NEW_ASSETS_CREATE_02 - using reference script

[ ] Add unit and property tests

Comments

Issue Number
ADP-2675

Is this still relevant?

Closing for now. Might possibly be worth resuming at some point in the future.


endpoint to return signed meta transaction instead of sending to RPC

Requested from a partner:
We want to get the signed transaction(encoded, ready for /broadcast_tx_commit), signed by relayer account. Endpoint, similar to /send_tx, but without actual tx broadcast to the network on relayer side, instead just return encoded tx as a response

So, relayer builds a transaction with delegated actions, signs it with its keys and returns encoded as a response

### Tasks
- [x] sign_no_filter endpoint (requested by sweat)
- [x] sign endpoint that includes all filters from the config (using validate_signed_delegate_action, would be the default pattern for other partners)

https://github.com/near/pagoda-relayer-rs/pull/72


CB-7777 Cloudbreak Stack API should be authorized

See detailed description in the commit message.

https://github.infra.cloudera.com/thunderhead/thunderhead/pull/1279 should be merged first

tested with:

env, sdx, distrox creation
env, sdx, distrox stop
env sdx, distrox start


Small refactor in AbstractClient

Contains
In the AbstractClient class, the private method findClientEntityRef is only called from createEntity, where we already have a handy reference to the EntityManager, so in my understanding there is no need to take it from the CoreRegistry.
Passing the reference as an argument also makes testing of the class and it's subclasses easier and cleaner (I needed to look at the AbstractClient class while writing tests for the HeadlessClient class I added in MovingBlocks/FacadeServer#2) since you don't have to set up a mocked context, add the entityManager to it, setting the CoreRegistry's context, etc.
How to test
Not much to test, all the automated unit tests pass and if you can try to use the game normally (e.g. join a local world or multiplayer server) and you can see that everything is as before.
Outstanding before merging
Nothing I can think of.

Hooray Jenkins reported success with all tests good!


[1.12.2-6.1.BETA11] Golem Press Refuses to draw Machina

I have no solid idea about why this is happening, but the Golem Press refuses to draw Machina essentia from any jars I put next to it or anywhere else (connected with the pipes), not even when I use different means of getting the essentia in to the machine, not even with the air transport. Clicking the crafting button doesn't do anything other than layering the texture of the Machina aspect on top of itself without proceeding with the process of creating the golem.
Checking the Press with the Essentia Resonator yields "Suction 0 Machina" so I have a feeling the internal tank of the machine is just nil, meaning the machine has no way of buffering Machina essentia for the process to take place, but that is just my idea/hunch.

I wanted to post this issue too but i forgot.
Thank you!
-LightniX

i have this problem too

@ZoeZoePixel , if you want notifications of issue updates, click "Subscribe" on the right.
Your "I do have it too" does not add to the issue.

k srry


Colnames in "merged_count_table.txt"

Colnames in merged_count_table.txt need to be QBiC code + Aligned.sortedByCoord.out.
Open issue in RNAseq pipeline so they remove the "Aligned..." part
Check rnadeseq pipeline code still runs

Colnames in merged_count_table.txt now need only to start with the QBiC code


Lot's of bugs with Django 4.2

Almost none of the modules are usable and importable... this package needs bug fixes on different areas. Seems that developers of this package don't care about Django deprecation warnings for a while!
Before adding new features make sure your package is usable!

@rohamSadeghi I made this available for free with no commitment to anyone. You are not entitled to anything: no support, no updates, no new features. I will always welcome offers for help and support, however.


Lidar2imu custom data problem on auto_calib

I'm using my own pcd data and the head is like this
# .PCD v0.7 - Point Cloud Data file format
VERSION 0.7
FIELDS x y z intensity
SIZE 4 4 4 1
TYPE F F F U
COUNT 1 1 1 1
WIDTH 1
HEIGHT 66243
VIEWPOINT 0 0 0 1 0 0 0
POINTS 66243
DATA binary

The intensity is uint8_t and I changed the custom pointcloud structure in auto_calib/include/common/Lidar_parser_base.h
struct LidarPointXYZIRT {
  PCL_ADD_POINT4D;
  uint8_t intensity;
  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
} EIGEN_ALIGN16;

POINT_CLOUD_REGISTER_POINT_STRUCT(
    LidarPointXYZIRT,
    (float, x, x)(float, y, y)(float, z, z)(uint8_t, intensity, intensity))

But when i'm running run_lidar2imu I got warnings showing failed to find match for field 'intensity'
And the ceres iteration also shows like
==>ROUND 22
deltaQ: 1 0 0 0
solver.cc:415 Function tolerance reached. No non-constant parameter blocks found.
Ceres Solver Report: Iterations: -2, Initial cost: 0.000000e+00, Final cost: 0.000000e+00, Termination: CONVERGENCE
delta rpy: 0 0 0
delta T: 0 0 0
Round Finish!

How to solve this problem?
Thanks!

The pcd data is extracted from rosbag by the way

I have solved this problem by debugging.

@CurssedCoffin did u try their auto_calib? What about the result?

@CurssedCoffin did u try their auto_calib? What about the result?

The Lidar-IMU auto calib result is not good on my dataset of Robosense RSBP lidar and a GPS+IMU device. The extrinsic matrix is not so accurate. When I use a 1 min data of rosbag, and project lidar frames to one single frame, it's not closed and have some edges on it.

@CurssedCoffin Hello, I used my own dataset to test the calibration code of Auto Calib, and the calibration results were not satisfactory. However, the author's open-source data showed good results. Could you please open up your data package for me to test？


[ts] Cannot find name 'beforeEach'. [2304] and so on, event if i install @types/jest

TypeScript Version:  3.3.0-dev.201xxxxx

Search Terms:
Code
// A *self-contained* demonstration of the problem follows...
// Test this by running `tsc` on the command-line, rather than through another build tool such as Gulp, Webpack, etc.

try
tsconfig
  "exclude": [
    "node_modules",
    "!node_modules/@types",
    "build",
    "bin",
    "scripts",
    "webpack",
    "routes",
    "gulp"
  ],
  "types": ["typePatches"]

is useless,
so i try
  "exclude": [
    "node_modules",
    "build",
    "bin",
    "scripts",
    "webpack",
    "routes",
    "gulp"
  ],
  "include": ["node_modules/@types/jest"]
  "types": ["typePatches"]

but got error
  TS18003: No inputs were found in config file 'tsconfig
[] .json'. Specified 'include' paths were '["node_modules/@types/jest"]' and 'exclude' paths were '["node_modules","build","bin","scripts","acceptance-tests","webpack","routes"]'

then i try
  "exclude": [
    "build",
    "bin",
    "scripts",
    "webpack",
    "routes",
    "gulp"
  ],
  "include": ["node_modules/@types/jest"]
  "types": ["typePatches"]

but can't use global define, for examples, i can't use
import test from "components/test"

tell me not defined
      TS2686: 'React' refers to a UMD global, but the current file is a module. Consider adding an import instead.

so i want to know how to write tsconfig.json to solve this problem
Expected behavior:
Actual behavior:
Playground Link:
Related Issues:

If adding jest to types doesn't solve the issue, try adding just the node_modules types folder, e.g.
"typeRoots": ["node_modules/@types"]
in the compilerOptions property. Fixed it for me.


Build Chromebook Linux development environment in a fast, repeatable way

Build Chromebook Linux development environment in a fast, repeatable way
load recent saved Chromebook image
https://pandemic-overview.readthedocs.io/en/latest/myGuides/General-computer-setup.html#setup-your-computer-we-will-cover-each-item
Setting up the python virtualenv development environment on Debian Linux #77 https://github.com/coding-to-music/coding-to-music.github.io/issues/77
Getting started after deploying Kubernetes Monitoring Stack - Grafana, Prometheus, Alert-Manager, Metrics-server #118 https://github.com/coding-to-music/coding-to-music.github.io/issues/118
Monitor Chromebook
Need to download and install Prometheus and set it as a data source
Create Digitalocean k8s from command line
https://github.com/coding-to-music/doks-example
Digitalocean
loaded snapshot
was able to connect to github
gh was installed but needed auth
docker installed
doctl installed
vscode installed
ansible installed
dotfiles and bash aliases are there
Chromebook
Ansible install

doctl login
Digitalocean token
connect to digitalocean
create droplet
Use marketplace docker image or my image
apt install packages
docker login token
git login
gh login
ssh keys
kubectl login
vscode login sync
tree
ncnu
my bash_aliases
python3
pip and pip3
yarn
run my bootstrap.sh ? or not really, that is what ansible is for

https://docs.ansible.com/ansible/latest/user_guide/connection_details.html#running-against-localhost
https://docs.ansible.com/ansible/latest/user_guide/sample_setup.html

tmc@penguin:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vdb        7.5G  3.2G  4.0G  45% /
Installed:
tmc@penguin:~$ python3
Python 3.7.3 (default, Jul 25 2020, 13:03:44)
tmc@penguin:~$ git --version
git version 2.20.1
Not Installed:
tmc@penguin:~$ python --version
tmc@penguin:~$ gh
tmc@penguin:~$ doctl
tmc@penguin:~$ ansible
digitalocean token
SSH keys to Digitalocean
SSH keys to GitHub

Continue here
non-su for docker
https://docs.docker.com/engine/install/debian/

dotfiles repo
python --version
gh
doctl
ansible
digitalocean token
SSH keys to Digitalocean
SSH keys to GitHub
tree
ncdu

description: Optional post-installation steps for Linux
keywords: Docker, Docker documentation, requirements, apt, installation, ubuntu, install, uninstall, upgrade, update
title: Post-installation steps for Linux
redirect_from:

/engine/installation/linux/docker-ee/linux-postinstall/
/engine/installation/linux/linux-postinstall/
/install/linux/linux-postinstall/

This section contains optional procedures for configuring Linux hosts to work
better with Docker.
Manage Docker as a non-root user
The Docker daemon binds to a Unix socket instead of a TCP port. By default
that Unix socket is owned by the user root and other users can only access it
using sudo. The Docker daemon always runs as the root user.
If you don't want to preface the docker command with sudo, create a Unix
group called docker and add users to it. When the Docker daemon starts, it
creates a Unix socket accessible by members of the docker group.

Warning
The docker group grants privileges equivalent to the root
user. For details on how this impacts security in your system, see
Docker Daemon Attack Surface.
{: .warning}

Note:
To run Docker without root privileges, see
Run the Docker daemon as a non-root user (Rootless mode).

To create the docker group and add your user:

Create the docker group.
$ sudo groupadd docker

Add your user to the docker group.
$ sudo usermod -aG docker $USER

Log out and log back in so that your group membership is re-evaluated.
If testing on a virtual machine, it may be necessary to restart the virtual machine for changes to take effect.
On a desktop Linux environment such as X Windows, log out of your session completely and then log back in.
On Linux, you can also run the following command to activate the changes to groups:
$ newgrp docker

Verify that you can run docker commands without sudo.
$ docker run hello-world

This command downloads a test image and runs it in a container. When the
container runs, it prints an informational message and exits.
If you initially ran Docker CLI commands using sudo before adding
your user to the docker group, you may see the following error,
which indicates that your ~/.docker/ directory was created with
incorrect permissions due to the sudo commands.
WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

To fix this problem, either remove the ~/.docker/ directory
(it is recreated automatically, but any custom settings
are lost), or change its ownership and permissions using the
following commands:
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "$HOME/.docker" -R

dotfiles repo
python --version
gh
doctl
ansible
digitalocean token
SSH keys to Digitalocean
SSH keys to GitHub
tree
ncdu

More installations
sudo apt upgrade
sudo apt install ansible

tmc@penguin:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vdb        7.5G  4.0G  2.8G  59% /
none            492K     0  492K   0% /dev
devtmpfs        1.4G     0  1.4G   0% /dev/tty
/dev/vdb        7.5G  4.0G  2.8G  59% /dev/wl0
tmpfs           100K     0  100K   0% /dev/lxd
tmpfs           100K     0  100K   0% /dev/.lxd-mounts
run             1.4G   28K  1.4G   1% /dev/.host_ip
/dev/root       173M  170M     0 100% /dev/.ssh/sshd_config
9p              1.9G  772K  1.9G   1% /mnt/chromeos
tmpfs           1.4G     0  1.4G   0% /mnt/external
/dev/vda         50M   50M     0 100% /opt/google/cros-containers
tmpfs           1.4G   21M  1.4G   2% /dev/shm
tmpfs           1.4G  128K  1.4G   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.4G     0  1.4G   0% /sys/fs/cgroup
tmpfs           278M   40K  278M   1% /run/user/1000

kubectl
apt install kubectl $OPTIONS

Update the apt package index and install packages needed to use the Kubernetes apt repository:
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl

Download the Google Cloud public signing key:
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg

Add the Kubernetes apt repository:
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

Update apt package index with the new repository and install kubectl:
sudo apt-get update
sudo apt-get install -y kubectl

Digitalocean token
sudo apt install gh
sudo apt install doctl
sudo apt install kubectl
sudo apt install Helm
sudo apt install Minikube
sudo apt install Kubectl
sudo apt install

Digitalocean token
sudo apt install doctl
sudo apt install Helm
sudo apt install Minikube
sudo apt install Kubectl

Kind
https://kind.sigs.k8s.io/docs/user/quick-start/#installation
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin

minikube start
minikube is local Kubernetes, focusing on making it easy to learn and develop for Kubernetes.
All you need is Docker (or similarly compatible) container or a Virtual Machine environment, and Kubernetes is a single command away: minikube start
What you’ll need
2 CPUs or more
2GB of free memory
20GB of free disk space
Internet connection
Container or virtual machine manager, such as: Docker

doctl is able to interact with all of your DigitalOcean resources. Below are a few common usage examples #115
https://github.com/coding-to-music/coding-to-music.github.io/issues/115
Get the tar file
64 bit Linux OS
curl -s https://api.github.com/repos/digitalocean/doctl/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep linux-amd64 | wget -qi -

untar the file

curl -s https://api.github.com/repos/digitalocean/doctl/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep linux-amd64 | wget -qi -
tar xvf doctl-1.61.0-linux-amd64.tar.gz
doctl

doctl version
doctl version 1.61.0-release
Git commit hash: c46d961

Digitalocean token
Digitalocean token
sudo apt install Helm

Clean Up Disk Space
tmc@penguin:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vdb        7.5G  4.0G  2.8G  60% /
none            492K     0  492K   0% /dev
devtmpfs        1.4G     0  1.4G   0% /dev/tty
/dev/vdb        7.5G  4.0G  2.8G  60% /dev/wl0
tmpfs           100K     0  100K   0% /dev/lxd
tmpfs           100K     0  100K   0% /dev/.lxd-mounts
run             1.4G   28K  1.4G   1% /dev/.host_ip
/dev/root       173M  170M     0 100% /dev/.ssh/sshd_config
9p              1.9G  772K  1.9G   1% /mnt/chromeos
tmpfs           1.4G     0  1.4G   0% /mnt/external
/dev/vda         50M   50M     0 100% /opt/google/cros-containers
tmpfs           1.4G   21M  1.4G   2% /dev/shm
tmpfs           1.4G  128K  1.4G   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.4G     0  1.4G   0% /sys/fs/cgroup
tmpfs           278M   48K  278M   1% /run/user/1000

Get rid of packages that are no longer required [Recommended]
If you read the apt-get commands guide, you might have come across the apt-get command option ‘autoremove’.
This option removes libs and packages that were installed automatically to satisfy the dependencies of an installed package. If that package is removed, these automatically installed packages are useless in the system.
It also removes old Linux kernels that were installed from automatically in the system upgrade.
It’s a no-brainer command that you can run from time to time to make some free space on your Ubuntu system:
sudo apt-get autoremove

As you can see, this command is going to free up 300 Mb of free space in my system.

Clean up APT cache in Ubuntu
Ubuntu uses APT (Advanced Package Tool) for installing, removing and managing software on the system, and in doing so it keeps a cache of previously downloaded and installed packages even after they’ve been uninstalled.
The APT package management system keeps a cache of DEB packages in /var/cache/apt/archives. Over time, this cache can grow quite large and hold a lot of packages you don’t need.
You can see the size of this cache with the du command below:
sudo du -sh /var/cache/apt

As you can see, I have over 500 Mb of cache storage. When you are almost out of space, this 500 Mb can make a lot of difference.
Clean up cache in Ubuntu Linux
Cleaning up cache will free up space
Now, you have two ways to clean the APT cache.
Either remove only the outdated packages, like those superseded by a recent update, making them completely unnecessary.
sudo apt-get autoclean

Or delete apt cache in its entirety (frees more disk space):
sudo apt-get clean

Clear systemd journal logs [Intermediate knowledge]
Every Linux distribution has a logging mechanism that help you investigate what’s going on your system. You’ll have kernel logging data, system log messages, standard output and errors for various services in Ubuntu.

The problem is that over the time, these logs take a considerable amount of disk space. You can check the log size with this command:
journalctl --disk-usage

Now, there are ways to clean systemd journal logs. The easiest for you is to clear the logs that are older than a certain days.
sudo journalctl --vacuum-time=3d

Here’s an example:
abhishek@itsfoss:~$ journalctl --disk-usage

Archived and active journals take up 1.8G in the file system.
abhishek@itsfoss:~$ sudo journalctl --vacuum-time=3d

Vacuuming done, freed 1.7G of archived journals from /var/log/journal/1b9ab93094fa2984beba73fd3c48a39c

Confirm proper operation - everything is installed
To validate correct setup
sudo apt update
git config --list
Check that GitHub can be reached
ssh -vT<EMAIL_ADDRESS>NodeJS
apt install node $OPTIONS
Python 3
apt install python $OPTIONS
Golang
apt install go $OPTIONS
validate install
code --version
ansible
ansible --version
Run this command to test the connection:
ansible -m ping TestClient
Verify that Docker Engine is installed correctly by running the hello-world image as sudo
sudo docker run hello-world
Verify that you can run docker commands without sudo.
docker run hello-world
htop
apt install htop $OPTIONS
Show directory structure with excellent formatting
apt install tree $OPTIONS

Install Go golang

CLI Color - A command-line color library with true color support, universal API methods


Refactor SetPower to be test-able

The PowerSet method is over 100 lines of code, core to the functionality of PBnJ, and not tested. This is dangerous, as seen in #105. We should refactor SetPower and BootDeviceSet to be test-able.
Expected Behaviour

Current Behaviour

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

Operating System and version (e.g. Linux, Windows, MacOS):

How are you running Tinkerbell? Using Vagrant & VirtualBox, Vagrant & Libvirt, on Packet using Terraform, or give details:

Link to your project or a code example to reproduce issue:

Moved to longterm as its not getting any work done soon it seems :D


[release-0.19] Add the manifests of eventing 0.19.3

/test pull-knative-operator-upgrade-tests

/retest

/test pull-knative-operator-upgrade-tests

/test pull-knative-operator-upgrade-tests

/test pull-knative-operator-upgrade-tests

/retest

/retest

/retest

/retest

/test pull-knative-operator-upgrade-tests

/lgtm


upgrade prettier

This was using a outdated version of prettier which has started creating version conflicts on new projects.
Updated the version number to indicate the significant change.

@calebissharp, how do we get this to propagate to npm?

@mccullochk npm publish IIRC. You probably also want to create a tag and release in GitHub.

@calebissharp, I don't think I have access to our NPM registry. Do you?

@mccullochk Yep, published.

Thanks @calebissharp !


Added alicloud_ecs_snapshot_[dashboard, age, public access].

@karanpopat can we add one more card by using the usage column? This will bring a straightforward card and analysis chart
usage | text | Indicates whether the snapshot has been used to create images or disks.
Reference


listing OLS search ontologies requires search term

sff notes -L 'term'
should be abbreviated to
sff notes -L or something meaningful

Fixed in b54b0e42273caff47557ce7327d9c2ac7d622ac8


Merging bug mining into master create-project.pl

support the usage of temp dirs
any files in build_scripts directory
add bug mining specific methods to project module

Project::initilize_revision
Project::_log_random_tests
.. others

Moving this to my fork it's not as relevant here.


Solo APIs. @tag-name=sa-k8s-1.28-bump

Bump to k8s 1.28
Updates the latest rate-limit protos as of 2023-12-05
Updates skv2 and adds the corresponding flags to mitigate breaking changes

Given the conversations we had around why this branch exists, and what alternatives we considered, I think it would be helpful if we persisted those findings somewhere for future developers to discover. I could see value in any of the following places:

Add a README to this branch in solo-apis
Create an issue that outlines the technical debt of this solution, and add it as a comment in the go.mod above the dependency in gloo
Add an entry to the gloo oss or enterprise devel/ folder
Some other better option I'm not thinking of

Added docs around this branch
https://github.com/solo-io/solo-apis/pull/1090


Upgrade to Bootstrap 4 Beta

It's finally out, just need to wait for some other plugins to catch up.

Things to remove:

btn-outline-white for btn-light


1:1 call with the ui library

Discussed in https://github.com/Azure/communication-ui-library/discussions/3194

Originally posted by aslan50 June 13, 2023
https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/voice-video-calling/get-started-with-voice-video-calling-custom-teams-client
Hello,
I utilized this JavaScript example(link above) to establish a user interface (UI) for conducting 1:1 video calls within Teams. In this scenario, an access token and the callee's Teams ID are required.
Is there an existing example that employs the UI Library specifically for this use case? Can I utilize a call composite for achieving this functionality? So far, the examples I've come across only involve providing a Meeting URL or a Group ID, without any specific reference to 1:1 calls. It's possible that there may be future plans to address this, but currently, I haven't found any resources related to it.
Thanks in advice

Will be closing this issue as it will be challenging to track this in its current state. If you want propose this feature be delivered earlier than the specified timeframe then please open up an issue or upvote an appropriate ask on Microsoft Q&A.


Refactor/flow profile

Add compute.py with class FlowProfile to calculate flow profiles throughout the simulation
Update documentation
Added new test_flow_profile pytest.
Tested with hoomd-4.8.0 and working
*Fix import issues
*Fix sorting order of imports for compute.py and test_flow_profile.py
*Fix formatting issues

I merged azplugins-v1 into main today, so you will need to reopen / retarget this PR. Thanks!

Professor Howard,
Sorry for the delay in answering, I was travelling overseas, and I have some time difference right now. I will modify the class accordingly with that you said.
Best,
Tzortzis Koulaxizis
Graduate Research Assistant | Statt Lab |
The University of Illinois at Urbana-Champaign |
Department of Chemical and Biomolecular Engineering

From: Michael Howard @.>
Sent: Friday, July 26, 2024 3:58 PM
To: mphowardlab/azplugins @.>
Cc: Koulaxizis, Tzortzis @.>; Author @.>
Subject: Re: [mphowardlab/azplugins] Refactor/flow profile (PR #86)
I merged azplugins-v1 into main today, so you will need to reopen / retarget this PR. Thanks!
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/mphowardlab/azplugins/pull/86*issuecomment-2253497406__;Iw!!DZ3fjg!-Js_xUYPko4z85h_Qci3whvYm6ffK6aPjxTcCbM5isxm1IaEhXrUrROO_z27ODRf4lx62zqmnKu8XtStX4sNWDxO6A$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/A7CMMEHHBSZ2WKFRYRUPR6TZOKZ77AVCNFSM6AAAAABLOY7DGKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJTGQ4TONBQGY__;!!DZ3fjg!-Js_xUYPko4z85h_Qci3whvYm6ffK6aPjxTcCbM5isxm1IaEhXrUrROO_z27ODRf4lx62zqmnKu8XtStX4txrCGQXg$.
You are receiving this because you authored the thread.Message ID: @.***>


[graaljs] 20.0.0 fails with mssql 6.0.1

When I tried to run mssql 6.0.1 with tedious, I get a failure like:
To start debugging, open the following URL in Chrome:
    chrome-devtools://devtools/bundled/js_app.html?ws=<IP_ADDRESS>:9229/553a9b9e-9a8e4f77fb9a8
/home/me/proj/workspace/node-server/node_modules/mssql/node_modules/depd/index.js:268
  var file = callSite.getFileName() || '<anonymous>'
                      ^
TypeError: callSite.getFileName is not a function

There is no error under nodejs. depd is 2.0.0 under the mssql folder which is the one being used.
A quick look at the code suggests that getStack may be failing to obtain a stack trace in some way. Some quick fixes to depd causes the error to go away but of course that's not scalable.

Thanks, we'll have a look.

Thank-you. Definitely getStack is failing to produce stack information in a format that is expected. Maybe something is modifying stack traces in the program.

Hi @aappddeevv
Testing with master branch of node-mssql (npm test) fails on GraalVM 20.0.0 around a regular expression. This bug has been fixed several weeks back and will be part of GraalVM 20.1.0, to be released mid/end of May. On my local preview build I pass all 16 tests in the node-mssql package.
We have yet to reproduce and eventually fix the problem you reported around getStack.
-- Christian

Would that cause depd to fail downstream in getStack()?

It looks like depd is still failing on the 20.1 CE nightly. Same error. My guess is that its the same issue where the stack trace is a single string and depd was expecting an array of strings. Should I open another issue specifically on depd?

Should I open another issue specifically on depd?

This issue is about a failure in depd module form the start, isn't it? So, I don't see a reason to open another issue. It would help to provide a simple test-case/steps that leads to the problem that you mentioned. I tried to run the tests of the latest version of depd and I was not able to reproduce this issue.

This is part of a larger express app (4.17.1). It looks like express uses a lot of dependencies that use depd 1.1.2. So if that version of depd is not working, express will not work at some point and I'll get this error. It looks like 20.1 does fix some issues that were the source of the original issue but its now shifted to another part of the code that use an older version of depd.
I replaced all 1.1.2 dependencies with depd 2.0.0 and used the browser version of depd by overwriting the version node.js would normally use. This worked and express and other dependencies now run. So assuming you install a top-level dependency on depd 2.0.0, I ran:
echo "Fixing dependencies for graaljs. Try to use npm shrinkwrap for this."
# use: tree -dfi | grep depd
rm -rf `find ./node_modules/mssql -name depd -print`
rm -rf `find ./node_modules/express -name depd -print`
rm -rf `find ./node_modules/send -name depd -print`
rm -rf `find ./node_modules/body-parser -name depd -print`
rm -rf `find ./node_modules/graphql-upload -name depd -print`
rm -rf `find ./node_modules/http-errors -name depd -print`
rm -rf `find ./node_modules/hsts -name depd -print`
rm -rf `find ./node_modules/helmet -name depd -print`

cp ./node_modules/depd/lib/browser/index.js ./node_modules/depd