Deploy Helm release from a custom resource

Summary

Adds business logic to deploy the whole stack from CR to running PostgreSQL pod.
Added test cases using plain testing framework if possible, or using envtest where needed.

Checklist

[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog
[x] Update tests.
[x] Link this PR to related issues.

Reviewer Notes

Before reviewing, review #24 first and ensure local env works for your OS (especially MacOS users, I don't own a Mac).
This PR is based on #24, so gets the other one first so I can rebase afterwards, making the diff smaller.
If you want to start reviewing by inspecting the end result, start by running make test-integration local-install install-samples
Many advanced lifecycle features (e.g. Status conditions, events) currently missing - they shall be implemented in a later PR
No detailed logs are printed yet
Changing the sample and re-applying doesn't do anything once created (this is addressed later in another PR)
Deleting the CR doesn't remove the Helm deployment (another PR)
Reviewing by commit history should make it easier to understand since it's logical piece by piece. Though before submitting code feedback, compare with the end results as some stuff was reverted in the final state.
I'm open for better name suggestions, but I will probably not apply them in this PR if it means to rewrite the whole history and instead apply in next PRs.
I've already identified open Todo's, but I'll address them later.

I was able to test a bit differently the PR then the suggested approach make test-integration local-install install-samples. After simply issuing make local-install I created manually myself the CRDs and it turned out the ProviderConfig was missing which in the end prevented the postgresql instance to be deployed. After a short discussion with @ccremer we have agreed that it's ok at this step that the ProviderConfig would miss and the testing with samples was valid in the end. From my side the code looks good even though I had been missing some business logic that @ccremer gladly explained later to me.


Version history synced with https://www.nodecafe.co only syncs up to the first page of the history

like in the title there are like six pages of version history in https://www.nodecafe.co/ but in the version history in comfyUI it only shows the first page

will be fixed by https://github.com/11cafe/comfyui-workspace-manager/pull/465/files


bau: Add bundle install to startup.sh

This adds a few 100ms to the time taken to run the script, but it
ensures that you don't get the horrible "you need to run bundle install"
error.
Authors: @richardtowers

bundle exec merge

bundle exec thanks


iOS CI

Closing as porting the macOS build to macos-14 ARM is a huge mess and double/triples CI time. Alternative here: https://github.com/BitBoxSwiss/bitbox-wallet-app/pull/2888


[v1.1][ISSUE-227] Colab notebook demos for ResNet and MiniGo

What changes were proposed in this pull request?
Add Colab Demo for ResNet and MiniGo
Why are the changes needed?
Colab demo link needed
How was this patch tested?
UT

@zigzagcai
here is our defined format, you can also refer to
https://github.com/intel/e2eAIOK/blob/main/demo/builtin/wnd/WND_DEMO.ipynb
https://github.com/intel/e2eAIOK/blob/main/demo/denas/asr/DENAS_ASR_DEMO.ipynb

Got it. I will completed refine the format this morning. @xuechendi

Completed demo refine for MiniGo and ResNet.

[ ] Followed defined format, with reference to WnD format

Completed demo refine and ready for merge.

@zigzagcai , I saw you only installed e2eaiok-sda and tf2.10, is that everything needed by Resnet demo to run?
Other files are looking good to me


Increase ID level limit to 30

because 20 is way too low for most non-private servers

I’m hesitant to merge this. The automatic increase is meant to be there without bothering the user (user meaning the user of the tsclientlib API). The idea behind this check is, tsclientlib will automatically increase the identity level if it is not really noticeable. If increasing the identity level takes a considerable amount of time, a tsclientlib user might want to not increase the level.
Increasing an identity to level 24 can take up to 40 seconds on a rather good desktop CPU. Level 30 would take 40 minutes at this rate. In my opinion, 40 seconds is already unacceptable, using tsclientlib on a raspberry pi or on mobile devices will make this even worse.
What should happen in the case that the identity level is too low is, the tsclientlib user gets the error that the level needs to be increased and it can then e.g. popup a gui dialogue that asks a human if the identity level should be increased (and e.g. show a progress bar).

This might be a temporary workaround until the apps implement the suggested behavior then

What if we (for now atleast) just read the limit from a ENV VAR and fallback to 20 if undefined?

tsclientlib is the wrong place for such a workaround. The implementation here is fine, the features you want are missing from the apps you are using, so any change needs to go there. Rest assured that they will come at some point.


Notebook opens as text/plain after reload + click

Open notebook
Reload
While it loads, click the notebook in the file explorer

🐛 Notebook opens as text/plain.

I can reproduce this issue with Image Editor too. The root cause is when we click the file from file explorer after reloading the workspace, the editoroverrides are not registered yet, which will then open the document in text editor.

Actually I was wrong, we registered editoroverrides very early on. The root cause is group view listeners are registered only when groups are all restored
https://github.com/microsoft/vscode/blob/f17030d3eb8d254be82940260912a5e05ffff1ef/src/vs/workbench/services/editor/browser/editorService.ts#L92
and only when the group view listeners are registered, editor overrides will be called
https://github.com/microsoft/vscode/blob/f17030d3eb8d254be82940260912a5e05ffff1ef/src/vs/workbench/services/editor/browser/editorService.ts#L164-L166
I'm wondering if we can register those event listeners a bit earlier, for example, register after the groups are created from EditorPart#doCreateGridControl https://github.com/microsoft/vscode/blob/master/src/vs/workbench/browser/parts/editor/editorPart.ts#L929, instead of waiting for the groups fully resolved. @bpasero @isidorn any suggestions?

@rebornix yes looks like the overrides need to register early, but the problem is that the groups only restore as part of the startup, so you cannot register listeners without knowing which groups are there.
I think again, this way of overrides is full of issues and https://github.com/microsoft/vscode/issues/100281 discusses an alternative where you register an override statically that will kick in very early in the createInput of things. If you have energy to drive this change and adopt it for notebooks, please go ahead.

Moving this out of June and the polish should happen with #100281. Discussions and proposals will continue there.

I believe this has been fixed by @lramos15's recent work. Assigning to May for verification


Routes adjustment

Auth.php included as real routes file

The middleware declared in this PR protecting the auth routes were incorrect and would cause an infinity loop, so I went ahead and created a dedicated branch and made a PR for that (as this was directly pushed from your main branch rather than a dedicated one) + fix, hence this is closed without merged - Thank you for the contribution!


Font size adjustment?

Great work mate...
Is there a way to adjust the font size or change the font using this library?
Can you include something like that if you haven't done it already...please
Ta

I do not think so. See: https://docs.micropython.org/en/latest/library/framebuf.html#drawing-text


Fixed #31029 -- Added more specific links to RFCs when possible

ticket-31029

@bmispelon Thanks :+1: I reorganized commits and left two comments. Can you take a look?

Oops, I was a bit too blunt with my git push -f and managed to lose the changes you'd made to the branch.
I think I've managed to fix it now. I've restored your commits and added the two changes you'd requested on top of it.
Sorry for the mess, I'll be more careful next time :man_facepalming:

@bmispelon np, Thanks for updates :+1:


Model request: new Mistral 7B with 32K context

Recently a new version of Mistral was announced which has a much larger 32K context:
https://www.reddit.com/r/LocalLLaMA/comments/1blzrfp/new_mistral_model_announced_7b_with_32k_context/
This model could greatly increase the ability to create good, coherent summaries of documents. I hope it could become part of the "Web-LLM suite".

I realized that perhaps my request sounds odd, since LMM is probably made to allow you to add any new model yourself? Could I theoretically get Mistral weith 32K context running myself?
The issue for me is that I'm a n00b and don't have a lot of knowledge in this area. So far I've been integrating Web-LLM into a project by copying the online chat example and hacking the hell out of that. Which means I'm limited in which models I can use, since I can only use the ones available in the demo.
So my question to add the model is effectively: could the model becomes available in the online demo? :-)


I can't play Spotify music to my Alexa devices

IMPORTANT: Please search the issues, including closed issues, and the FAQ before opening a new issue. The template is mandatory; failure to use it will result in issue closure.
Describe the bug
Hi
I am trying to play music from spotify in my Alexa Devices but it does nothing.
I enabled the debug logging, but it logs nothing
To Reproduce
This is what I am trying to run:
    target:
      entity_id: media_player.echo_show
    data:
      media_content_id: spotify:playlist:******************
      media_content_type: spotify://playlist
    metadata: {}

Expected behavior
It should start playing but it does nothing
Screenshots
I have no screenshots
System details

Home-assistant (version):  2023.10.3
alexa_media (version from const.py or HA startup): 4.7.7
alexapy (version from pip show alexapy or HA startup):
Amazon 2FA is enabled (y/n). <!---We will not debug login issues if unanswered--->: yes

Logs
There are no logs
Additional context

https://github.com/custom-components/alexa_media_player/wiki#examples (expand Spotify)


Migrate to poetry

@randombenj plz fix

Two more things (sorry, not sorry). What do you think of hashing the keys before storing to the db? And I think claim/delete should be documented in the readme 😇

Ok let me know what you think I added the tokens hashed and some docs


FR: Use Plausible embed view rather that linking out

Plausible now has an embed option that can be used with the share link.
Rather than linking out to the Plausible page, it would be nice to use this iframe to display inside Statamic so the user doesn't leave the Control Panel.

I'll just add this as a not for myself:
https://plausible.io/docs/embed-dashboard


Adds additional validation for TTLs for cloudflare_ruleset action_parameters

This adds new validation for the schema that enforces TTL values for specific modes within the cloudflare_ruleset action parameters. This applies to the browser_ttl and edge_ttl blocks within the action_parameters schema. The validation will serialize the existing values into a type that is a 1:1 match of the schema and then will determine if the default value for the ttl is greater than zero for the configured rule.
Implementation:

Custom object validator for Browser TTL block within action_parameters for cloudflare_ruleset
Custom object validator for Edge TTL block within action_parameters for cloudflare_ruleset

at a high level, this looks fine. let's add some test coverage to ensure that these validators are covered. an acceptance test is likely the easiest to interface with.


Since today not working anymore

Hi. I have changed nothin in system. Since today the librespot do not run anymore -> see error below
Maybe spotify has changed their api. On the developer page i have found:
The libspotify key generation and retrieval service has been deprecated, along with libspotify.
You may apply to get a key using our App-key Request Form for private, individual usage. Bear in mind that you should do no new development using libspotify.
:/etc/init.d# RUST_BACKTRACE=1 /usr/bin/librespot /home/XXX/librespot/spotify_appkey.key --username XXXX --password XXX --bitrate 320 --name XXXX --backend pulseaudio
INFO:librespot::main_helper: librespot 6fa4e4d (2016-09-21). Built on 2016-10-27.
thread '' panicked at 'called Result::unwrap() on an Err value: Syntax("expected value", 1, 1)', ../src/libcore/result.rs:746
stack backtrace:
1: 0xb75ffa9c - sys::backtrace::tracing::imp::write::hcd9c6b761d959e16Xcv
2: 0xb76026c1 - panicking::default_handler::_$u7b$$u7b$closure$u7d$$u7d$::closure.44492
3: 0xb76022bd - panicking::default_handler::hda9238d9f8e0ef0alSz
4: 0xb75ee6c9 - sys_common::unwind::begin_unwind_inner::h7224040aaffdbb98g1t
5: 0xb75eebd7 - sys_common::unwind::begin_unwind_fmt::h9d1eda8fc60b8ae3m0t
6: 0xb75fedf1 - rust_begin_unwind
7: 0xb7632b40 - panicking::panic_fmt::h559080aff49c30cclcM
8: 0xb72726ae - result::unwrap_failed::h17532309936106461326
9: 0xb7271dbd - apresolve::apresolve::h88b22a7087faf0d6m2a
10: 0xb731ce26 - session::Session::login::h28aec440ed3c27dbi8d
11: 0xb7235d94 - main::he68e52d52f3260a9Iba
12: 0xb7601f3a - sys_common::unwind::try::try_fn::h10144795978809605109
13: 0xb75fed27 - __rust_try
14: 0xb76019f9 - rt::lang_start::he74f855a6a899d05rKz
15: 0xb7240dfd - main
16: 0xb7059e45 -

Hey, Spotify's https://apresolve.spotify.com is down since yesterday and
they have the same issue on their own clients.
With a hardcoded backend everything is still ok, no worries :-)
Am 30.12.2016 10:58 vorm. schrieb "lassos"<EMAIL_ADDRESS>
Hi. I have changed nothin in system. Since today the librespot do not run
anymore -> see error below
Maybe spotify has changed their api. On the developer page i have found:
The libspotify key generation and retrieval service has been deprecated,
along with libspotify.
You may apply to get a key using our App-key Request Form for private,
individual usage. Bear in mind that you should do no new development using
libspotify.
multihome:/etc/init.d# RUST_BACKTRACE=1 /usr/bin/librespot
/home/lars/librespot/spotify_appkey1.key --username larsmultihome
--password schnuffi3 --bitrate 320 --name multihome --backend pulseaudio
INFO:librespot::main_helper: librespot 6fa4e4d
https://github.com/plietar/librespot/commit/6fa4e4d4584083cb16d95b625ff826ae93ba209f
(2016-09-21). Built on 2016-10-27.
thread '
' panicked at 'called Result::unwrap() on an Err value: Syntax("expected
value", 1, 1)', ../src/libcore/result.rs:746
stack backtrace:
1: 0xb75ffa9c - sys::backtrace::tracing:👿:write::hcd9c6b761d959e16Xcv
2: 0xb76026c1 - panicking::default_handler::_$u7b$$u7b$closure$u7d$$u7d$::
closure.44492
3: 0xb76022bd - panicking::default_handler::hda9238d9f8e0ef0alSz
4: 0xb75ee6c9 - sys_common::unwind::begin_unwind_inner::
h7224040aaffdbb98g1t
5: 0xb75eebd7 - sys_common::unwind::begin_unwind_fmt::h9d1eda8fc60b8ae3m0t
6: 0xb75fedf1 - rust_begin_unwind
7: 0xb7632b40 - panicking::panic_fmt::h559080aff49c30cclcM
8: 0xb72726ae - result::unwrap_failed::h17532309936106461326
9: 0xb7271dbd - apresolve::apresolve::h88b22a7087faf0d6m2a
10: 0xb731ce26 - session::Session::login::h28aec440ed3c27dbi8d
11: 0xb7235d94 - main::he68e52d52f3260a9Iba
12: 0xb7601f3a - sys_common::unwind::try::try_fn::h10144795978809605109
13: 0xb75fed27 - __rust_try
14: 0xb76019f9 - rt::lang_start::he74f855a6a899d05rKz
15: 0xb7240dfd - main
16: 0xb7059e45 -
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/plietar/librespot/issues/136, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZmMGgaURSU_YjBvriHcovIfIjMVfREks5rNNWsgaJpZM4LYGQ4
.

Change your password! !
Am 30.12.2016 10:58 vorm. schrieb "lassos"<EMAIL_ADDRESS>
Hi. I have changed nothin in system. Since today the librespot do not run
anymore -> see error below
Maybe spotify has changed their api. On the developer page i have found:
The libspotify key generation and retrieval service has been deprecated,
along with libspotify.
You may apply to get a key using our App-key Request Form for private,
individual usage. Bear in mind that you should do no new development using
libspotify.
multihome:/etc/init.d# RUST_BACKTRACE=1 /usr/bin/librespot
/home/lars/librespot/spotify_appkey1.key --username larsmultihome
--password schnuffi3 --bitrate 320 --name multihome --backend pulseaudio
INFO:librespot::main_helper: librespot 6fa4e4d
https://github.com/plietar/librespot/commit/6fa4e4d4584083cb16d95b625ff826ae93ba209f
(2016-09-21). Built on 2016-10-27.
thread '
' panicked at 'called Result::unwrap() on an Err value: Syntax("expected
value", 1, 1)', ../src/libcore/result.rs:746
stack backtrace:
1: 0xb75ffa9c - sys::backtrace::tracing:👿:write::hcd9c6b761d959e16Xcv
2: 0xb76026c1 - panicking::default_handler::_$u7b$$u7b$closure$u7d$$u7d$::
closure.44492
3: 0xb76022bd - panicking::default_handler::hda9238d9f8e0ef0alSz
4: 0xb75ee6c9 - sys_common::unwind::begin_unwind_inner::
h7224040aaffdbb98g1t
5: 0xb75eebd7 - sys_common::unwind::begin_unwind_fmt::h9d1eda8fc60b8ae3m0t
6: 0xb75fedf1 - rust_begin_unwind
7: 0xb7632b40 - panicking::panic_fmt::h559080aff49c30cclcM
8: 0xb72726ae - result::unwrap_failed::h17532309936106461326
9: 0xb7271dbd - apresolve::apresolve::h88b22a7087faf0d6m2a
10: 0xb731ce26 - session::Session::login::h28aec440ed3c27dbi8d
11: 0xb7235d94 - main::he68e52d52f3260a9Iba
12: 0xb7601f3a - sys_common::unwind::try::try_fn::h10144795978809605109
13: 0xb75fed27 - __rust_try
14: 0xb76019f9 - rt::lang_start::he74f855a6a899d05rKz
15: 0xb7240dfd - main
16: 0xb7059e45 -
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/plietar/librespot/issues/136, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZmMGgaURSU_YjBvriHcovIfIjMVfREks5rNNWsgaJpZM4LYGQ4
.

thank you so much .-))))))
glad to hear . Ups,. Yes. Shit. Yes i will change it

funtax, could you please edit your quote ? There is the password and username. So i edited my post too
thank you .-))))

Of course. Keep in mind that your credentials have been sent via e-mail and other channels.

Yes. Of course , i have changed password .-)

Thanks for the report, I've pushed a fix to use a fallback AP. That's what the desktop client seems to do.


Allow Change to Zip file structure

I cobbled together a script that allows me to upload a vip dzsave .zip file then UNCOMPRESS it on the server.   However, it includes the name of the zip file as a folder in the zip archive.
So instead of say myfiles.zip containting myfiles/mifiles_files, its folder structure would start with myfiles_file and the dzi file in the root.
The reason this is desirable is that when unzipping, the code below creates a folder in the name of the zip file.  So I end up with myfiles/myfiles/myfiles_files.  I tried to change the PHP code but screwed something up and the script error blew away all my images on the server (sad face).  So I'm gun-shy about fixing it that way.
Here's the script.  So either, if someone could help change it to stop creating a root folder with the zip file name, or if I could add a parameter to vips to not create a folder in the zip, it would be MUCH appreciated!  however, I'm assuming now that I have a folder in a folder, so not holding me back at moment.

<?php
/* Simple script to upload a zip file to the webserver and have it unzipped
   Saves tons of time, think only of uploading Wordpress to the server
   Thanks to c.bavota (www.bavotasan.com)
   I have modified the script a little to make it more convenient
   Modified by: Johan van de Merwe (12.02.2013)
*/

$username = "ad";
$password = "123";
$nonsense = "supercalifragilisticexpialidocious";

if (isset($_COOKIE['PrivatePageLogin'])) {
   if ($_COOKIE['PrivatePageLogin'] == md5($password.$nonsense)) {

?>

<?php
function rmdir_recursive($dir) {
    foreach(scandir($dir) as $file) {
       if ('.' === $file || '..' === $file) continue;
       if (is_dir("$dir/$file")) rmdir_recursive("$dir/$file");
       else unlink("$dir/$file");
   }

   rmdir($dir);
}

if($_FILES["zip_file"]["name"]) {
	$filename = $_FILES["zip_file"]["name"];
	$source = $_FILES["zip_file"]["tmp_name"];
	$type = $_FILES["zip_file"]["type"];

	$name = explode(".", $filename);
	$accepted_types = array('application/zip', 'application/x-zip-compressed', 'multipart/x-zip', 'application/x-compressed');
	foreach($accepted_types as $mime_type) {
		if($mime_type == $type) {
			$okay = true;
			break;
		}
	}

	$continue = strtolower($name[1]) == 'zip' ? true : false;
	if(!$continue) {
		$message = "The file you are trying to upload is not a .zip file. Please try again.";
	}

  /* PHP current path */
  $path = dirname(__FILE__).'/';  // absolute path to the directory where zipper.php is in
  $filenoext = basename ($filename, '.zip');  // absolute path to the directory where zipper.php is in (lowercase)
  $filenoext = basename ($filenoext, '.ZIP');  // absolute path to the directory where zipper.php is in (when uppercase)

  $targetdir = $path . $filenoext; // target directory
  $targetzip = $path . $filename; // target zip file

  /* create directory if not exists', otherwise overwrite */
  /* target directory is same as filename without extension */

  if (is_dir($targetdir))  rmdir_recursive ( $targetdir);

  mkdir($targetdir, 0777);

  /* here it is really happening */

	if(move_uploaded_file($source, $targetzip)) {
		$zip = new ZipArchive();
		$x = $zip->open($targetzip);  // open the zip file to extract
		if ($x === true) {
			$zip->extractTo($targetdir); // place in the directory with same name
			$zip->close();

			unlink($targetzip);
		}
		$message = "Your .zip file was uploaded and unpacked.";
	} else {
		$message = "There was a problem with the upload. Please try again.";
	}
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Unzip create DZI folder</title>

<?php if($message) echo "
$message
"; ?>
<form enctype="multipart/form-data" method="post" action="">
Choose a DZI zip file to upload: <input type="file" name="zip_file" />

<input type="submit" name="submit" value="Upload" />
</form>

<?php
      exit;
   } else {
      echo "Bad Cookie.";
      exit;
   }
}

if (isset($_GET['p']) && $_GET['p'] == "login") {
   if ($_POST['user'] != $username) {
      echo "Sorry, that username does not match.";
      exit;
   } else if ($_POST['keypass'] != $password) {
      echo "Sorry, that password does not match.";
      exit;
   } else if ($_POST['user'] == $username && $_POST['keypass'] == $password) {
      setcookie('PrivatePageLogin', md5($_POST['keypass'].$nonsense));
      header("Location: $_SERVER[PHP_SELF]");
   } else {
      echo "Sorry, you could not be logged in at this time.";
   }
}
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>?p=login" method="post">
<input type="text" name="user" id="user" /> Name

<input type="password" name="keypass" id="keypass" /> Password

<input type="submit" id="submit" value="Login" />
</form>

Hi, the extra directory is required by the library libvips uses to make zip files, unfortunately.
For thing.zip it always unzips to thing/thing.dzi and thing/thing_files, so I would unzip on the server, move the two files, and delete the empty directory.
unzip -qq ${name}.zip
mv ${name}/${name}.dzi .
mv ${name}/${name}_files .
rmdir ${name}

This PR is a related issue, fwiw: https://github.com/jcupitt/libvips/pull/465

Sorry to be a pain, how would that work in the above script?

@maxrottersman I'm not sure whether this has resolved, but I've created a PHP script for you that removes the root directory while unpacking. See: https://gist.github.com/kleisauke/5d0f59ad15fa258a3395558f181aa404
Let me know if something needs to be adjusted.


System Logs sum is wrong

It says "System Logs 113.5 GB" that would mean almost half my disk.
Clicking on the folders and getting their individual sizes it's 324MB + 49MB + 223 MB.
Which is nowhere near the sum of 113GB.
What's going on there?
This is on latest Catalina.

The shell command used to determine the size is:
du -smc /Library/logs/ /var/log/ 2>/dev/null | sed -n '$s/\t.*//p'

What is the output of the following command on your machine?:
du -smc /Library/logs/ /var/log/

(Sorry for my delayed response)

Well, I fear it's been too long to have a comparison.
But I leave the output here nevertheless.
% du -smc /Library/logs/ /var/log/
215	/Library/logs/
78	/var/log/
292	total

I'll close this for now until I can reproduce it or someone else can.
I hope that this is not a major inconvenience for you, reopen else.


Added looser tolerance to np.allclose() in test_arctan_fit()

This PR updates the np.allclose() tolerance in the test_arctan_fit() test in test_income.py.

Closing. Resolved with this comment in PR #62 in the master branch.


Build failing on Heroku

Dependencies versions

"dependencies": {
    "cors": "^2.8.5",
    "dotenv": "^8.2.0",
    "epsagon-frameworks": "^1.30.0",
    "express": "^4.17.1",
    "mongodb": "^3.5.9",
    "nodemon": "^2.0.4",
},

It worked fine when building on local, I could see localhost metrics in the dashboard.
But it's faling when I'm pushing the latest code to heroku.
remote: Building source:
remote:
remote: -----> Building on the Heroku-20 stack
remote: -----> Using buildpack: heroku/nodejs
remote: -----> Node.js app detected
remote:
remote: -----> Creating runtime environment
remote:
remote:        NPM_CONFIG_LOGLEVEL=error
remote:        USE_YARN_CACHE=true
remote:        NODE_OPTIONS=-r epsagon-frameworks
remote:        NODE_VERBOSE=false
remote:        NODE_ENV=production
remote:        NODE_MODULES_CACHE=true
remote:
remote: -----> Installing binaries
remote:        engines.node (package.json):  14.0.0
remote:        engines.npm (package.json):   unspecified (use default)
remote:        engines.yarn (package.json):  unspecified (use default)
remote:
remote:        Resolving node version 14.0.0...
remote:        Downloading and installing node 14.0.0...
remote: internal/modules/cjs/loader.js:1017
remote:   throw err;
remote:   ^
remote:
remote: Error: Cannot find module 'epsagon-frameworks'
remote: Require stack:
remote: - internal/preload
remote:     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1014:15)
remote:     at Function.Module._load (internal/modules/cjs/loader.js:884:27)
remote:     at Module.require (internal/modules/cjs/loader.js:1074:19)
remote:     at Module._preloadModules (internal/modules/cjs/loader.js:1330:12)
remote:     at loadPreloadModules (internal/bootstrap/pre_execution.js:439:5)
remote:     at prepareMainThreadExecution (internal/bootstrap/pre_execution.js:71:3)
remote:     at internal/main/run_main_module.js:7:1 {
remote:   code: 'MODULE_NOT_FOUND',
remote:   requireStack: [ 'internal/preload' ]
remote: }
remote:
remote: -----> Build failed
remote:
remote:        We're sorry this build is failing! You can troubleshoot common issues here:
remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploys
remote:
remote:        If you're stuck, please submit a ticket so we can help:
remote:        https://help.heroku.com/
remote:
remote:        Love,
remote:        Heroku
remote:
remote:  !     Push rejected, failed to compile Node.js app.
remote:
remote:  !     Push failed
remote: Verifying deploy...

Hi @sks147, it looks like the package is missing in the heroku server. Can you confirm that epsagon-frameworks is available?


No new clients created while using connection pooling

So i am running my redis server on port 3001
and my python script initiates redis cli connection as the following
redis_pool = redis.ConnectionPool(port=port, db=0)
 r = redis.Redis(connection_pool=redis_pool,socket_keepalive=True,max_connections=100)
while checking cli info from after logging in to redis-cli -p 3001
i see
Clients
connected_clients:2
client_recent_max_input_buffer:2
client_recent_max_output_buffer:0
blocked_clients:0
Here only two clients are available, one is form my terminal and other one from script
Why isn't it using 100 clients ??

As @richjrader said, connections are only created when an already-connected connection isn't available.


DurationSlice: implementation and tests

Adapted existing IntSlice code

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

/cc @spf13

@spf13 would you care to take a look?


Dailymotion integration stop working

Issue
The Dailymotion integration stop working and a warning is displayed in the browser console:
This integration method is deprecated. We advise using Player Embeds https://faq.dailymotion.com/hc/en-us/articles/4411096679954-Integrate-your-Player-Embed
Steps to Reproduce
Use the demo page, the dailymotion player can't be loaded

The SDK documentation is available here : https://developers.dailymotion.com/sdk/player-sdk/web/#introduction


FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\ADMINI~1\AppData\Local\Temp\2\_MEI98802\playwright_stealth\js\chrome.csi.js'

Greetings,
I am trying to create a tool based on this repo https://github.com/itsjafer/schwab-api and when i try to create an exe using pyinstaller -F --add-binary credentials;. gui.pyw for it the exe is generated just fine but when i run it i get this error.
Traceback (most recent call last):
  File "gui.pyw", line 2, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "schwab.py", line 2, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "playwright_stealth\__init__.py", line 2, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "playwright_stealth\stealth.py", line 17, in <module>
  File "playwright_stealth\stealth.py", line 13, in from_file
  File "pkg_resources\__init__.py", line 1142, in resource_string
  File "pkg_resources\__init__.py", line 1388, in get_resource_string
  File "pkg_resources\__init__.py", line 1555, in _get
  File "PyInstaller\loader\pyimod03_importers.py", line 371, in get_data
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\2\\_MEI98802\\playwright_stealth\\js\\chrome.csi.js'

could you kindly help me understand this error so that i can generate an exe for my code.

Add playwright_stealth/js by --add-data when using Pyinstaller.
pyinstaller -F -n AppName --add-data="favicon.ico;." --add-data="../pypackages/3.10/lib/playwright_stealth/js;./playwright_stealth/js" --nowindow --disable-windowed-traceback --icon=favicon.ico main.py

Greetings,
I am trying to create a tool based on this repo https://github.com/itsjafer/schwab-api and when i try to create an exe using pyinstaller -F --add-binary credentials;. gui.pyw for it the exe is generated just fine but when i run it i get this error.
Traceback (most recent call last):
  File "gui.pyw", line 2, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "schwab.py", line 2, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "playwright_stealth\__init__.py", line 2, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
  File "playwright_stealth\stealth.py", line 17, in <module>
  File "playwright_stealth\stealth.py", line 13, in from_file
  File "pkg_resources\__init__.py", line 1142, in resource_string
  File "pkg_resources\__init__.py", line 1388, in get_resource_string
  File "pkg_resources\__init__.py", line 1555, in _get
  File "PyInstaller\loader\pyimod03_importers.py", line 371, in get_data
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\2\\_MEI98802\\playwright_stealth\\js\\chrome.csi.js'

could you kindly help me understand this error so that i can generate an exe for my code.

Add playwright_stealth/js by --add-data when using Pyinstaller.
pyinstaller -F -n AppName --add-data="favicon.ico;." --add-data="../pypackages/3.10/lib/playwright_stealth/js;./playwright_stealth/js" --nowindow --disable-windowed-traceback --icon=favicon.ico main.py


Why zip has data after the payload?

7Zip reports data after the payload. Is this normal? Downloaded today.

Which zip file are you downloading? The source zip files are auto generated by github, I don't have any control over them.

My experience and https://sourceforge.net/p/sevenzip/discussion/45797/thread/12f4a318/ suggest that in most cases it can be ignored as it's either that particular format's signature/comment/recovery data etc.
I've never had it produce corrupt files, and if I extract the same file with it's own format app, the resulting files are bit to bit identical.


bug: deck calibration doesn't cleanly shutdown the robot

Overview
There's something funky about how deck calibration is rebooting the robot. Perhaps the filesystem isn't getting flushed?
Steps to reproduce

On 3.19.0 open up a SSH terminal to the robot and do journalctl -f

Start the deck calibration process in the app. You'll see a whole bunch of serial and api messages printing like they should.

Do it kind of quick and lazy. Complete the deck calibration, and command the robot to reboot.

You'll see a websocket error and the SSH host will disconnect

Wait for the robot to reboot and the API server to start, now go look at journalctl -b -1 -n 50

The log messages you saw when finishing deck calibration won't be there.

Expected behavior
The system should shut down cleanly and flush logs sent to journald to disk.
Furthermore, does re-calibrating the deck really require a full reboot of the pi, thus bringing the network adapters down/up (we all know there is some pain there)? I haven't tested, as of this writing, but I have a theory that a simple systemctl restart opentrons-robot-server would incorporate any manual modifications to deck_calibration.json. More to come on that...

Wait for the robot to reboot and the API server to start, now go look at journalctl -b -1 -n 50

Because of journalctl badness that I've expounded upon elsewhere, I don't think this will work.
-b -1 should be "the boot before last," according to the journalctl docs. But the way it orders those boots is problematic. It's something like the time of the first message logged in each boot. Since the OT-2 doesn't have a real-time clock, and since that first message will be logged before the OT-2 has a chance to synchronize with a time server, the boot time will be wrong. Which means the boot ordering will be wrong. Which means this command might not show logs from the boot you expected it to.

Ah good point, I think that's the case. I knew it would affect the time based sorting (eg. journalctl --since=yesterday) but I naively assumed that the boot order would be logically auto-incremented, given that the boot_id is is consistent. From this 5 year old issue on the systemd repo it appears as if I was not the only one to (wrongly) assume it worked this way.
I think to prove this case we'll have to get the /proc/sys/kernel/random/boot_id before starting the deck cal and explicitly ask journalctl for that boot by ID once we've rebooted to see what exactly got written to disk before shutting down the system.
I will play around with this and re-write the procedure. Thanks for the comment and helping to pull the pieces together @SyntaxColoring !

Deck calibration (in the app at least) won't restart the robot after it completes in 3.20.


update bioregistry dependency to ^0.6.0

this issue:  is causing issues deploying reasoner-validator (depends on BMT, depends on oaklib, depends on bioregistry and oaklib depends on kgcl ) to ITRB environments.  I think the fix here is to update oaklib pyproject.toml to version ^0.6.0 of bioregistry, and to do that, we need to update kgcl to use bioregistry ^0.6.0

also if I could have repo push permissions, I can make the fix:
remote: Permission to INCATools/kgcl.git denied to sierra-moxon.
fatal: unable to access 'https://github.com/INCATools/kgcl/': The requested URL returned error: 403

looks like this is done...
but there should be no reason for a library whose only job is to parse KGCL should have a dependency on a prefix registry


[HUDI-4714] HoodieFlinkWriteClient can't load callback config to Hood…

…ieWriteConfig
Change Logs
Describe context and summary for this change. Highlight if any code was copied.
Impact
Describe any public API or user-facing feature change or any performance impact.
Risk level: none | low | medium | high
Choose one. If medium or high, explain what verification was done to mitigate the risks.
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

Can you rebase the latest master and force-push again

Can you rebase the latest master and force-push again

@danny0405  done ,thanks

@danny0405 is this PR good to land?

@danny0405  is this PR good to land? or need some problem to resloved?


feat: remove dependence on SDR registry.apiVersion

What does this PR do?
set the apiVersion in more places to avoid SDR using its default
external NUTs of this plugin run from the SDR branch https://app.circleci.com/pipelines/github/forcedotcom/source-deploy-retrieve?branch=sm%2Fno-hardcoded-apiVersion&filter=all
one SDR is merged, bump this PR to v6.
What issues does this PR fix or reference?
@W-10809897@

closing in favor of a full parking-orbit PR to come


Improvement: Ability to set SecurityContext

Improvement: Ability to set SecurityContext
Expected Behavior
I have a usecase where I need to set a SecurityContext block on the APIServer deployment,  the apiserver container and componentResources, in order to comply with security requitements.
Looking at the documentation, I see that such a thing is not available for the APIServerDeploymentContainer, APIServerDeploymentContainer and APIServerDeploymentContainer
Is this something that might be possible in the future?
Calico version: v3.24.5

Yep, looks like we hard-code a security context here: https://github.com/tigera/operator/blob/master/pkg/render/apiserver.go#L940
It should be possible to expose an option for this, although we need to be careful not to expose an option that can easily break user's clusters.

https://github.com/tigera/operator/issues/2720

is there any update on this?

Just waiting on someone to pick up the torch for this one - I think it's generally agreed to be a good thing. Any takers?


Using with Canvas

I'm trying to understand how to use the canvas fields. They seem intriguing, but how do I actually use them. The documentation describes the possibilities, but in canvases I have no metadata-menu options in the dropdowns. How do I apply a fileClass to a canvas?
Thanks in advance.

Hi you can't apply a fileclass to a canvas. You can find demo videos here
https://youtu.be/7oaau8ijVUA
https://youtu.be/G47AYkmoKJs
https://www.youtube.com/watch?v=6HZ3Cc10HS8&t=2160s


Ability to upload image to ECR

Is your feature request related to a problem? Please describe.
Yes. in the previous version we could upload to ECR with the tool. This was my primary use case.
Describe the solution you'd like
I'd like to be able to upload the image to ECR from the toolkit like the previous version.
Describe alternatives you've considered
Using docker directly, but why then have the toolkit installed?

To make sure I understand, are you requesting that the new "Publish to AWS" experience allow you to publish images to ECR, where the previous "Publish Container to AWS" menu item would allow you to do this?
As a workaround, you can re-enable the older publishing experience from within the "Publish to AWS" dialog. This will allow you to access both the new and old publishing experiences from the project's context menu.

Previous experience had the following deployment target:

Current version deployment targets:

Use Case:
Deploying images for testing during development in EKS. Can obviously be done in CLI but all of these things could. The value of having this in the toolkit is the integrated workflow.

Thank you for the clarification. I will update the issue title and description to help track this against the newer Publish to AWS experience.

In version <IP_ADDRESS> of the Toolkit, the Publish to AWS experience can now be used to publish images to ECR Repositories.


Remove all references to Mantine from react-hooks

coverage: 93.89%. remained the same when pulling 4332a0b3344d2ba5fb064ded9aad753a53322896 on cody-remove-mantine-from-react-hooks into ca46e5c78b7c63196bf2007aa146b2b7a292b83b on main.


Use unique colors instead of accent color for all comment gestures

https://www.reddit.com/r/slide_ios/comments/a91rn2/request_better_color_coordination_for_comment/

Done! They all have unique colors now


SEAB-5762: Implement pagination to getWorkflowVersions endpoint

Description
This PR adds the offset and limit parameters and the total number of versions into the getWorkflowVersions endpoint.
Review Instructions
Review that the default limit is 200 and the pagination returns correctly.
Issue
https://ucsc-cgl.atlassian.net/browse/SEAB-5762
Security and Privacy
If there are any concerns that require extra attention from the security team, highlight them here and check the box when complete.

[x] Security and Privacy assessed

e.g. Does this change...

Any user data we collect, or data location?
Access control, authentication or authorization?
Encryption features?

Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that you pass the basic style checks and unit tests by running mvn clean install
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[x] If you are changing dependencies, check the Snyk status check or the dashboard to ensure you are not introducing new high/critical vulnerabilities
[x] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[x] Do not serve user-uploaded binary images through the Dockstore API
[x] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[x] Do not create cookies, although this may change in the future
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

Added a separate endpoint for the public page (no auth) that hides hidden versions.

Approving this with the caveat that eventually, we should probably follow up to:

"page" the results via the db, rather than Java code.
make the endpoint behavior consistent with the rest of the endpoints, in terms of "public" versus "private" view.  In many cases, we have two versions of an endpoint, one "public", one "private".

Added 2 endpoints for one public and one private

I am rerequesting reviews as I changed the queries to implement sorting

Tests added for the hidden and sorting


Error: Cannot read property 'map' of undefined?

vscode: 1.22.1
vcode-diff: 1.3.2

two text files
retroarch.cfg.txt
retroarch.cfx.txt

I can reproduce this if I have no folders opened in VSC, I think this should be resolved in VSC itself: https://github.com/Microsoft/vscode/issues/47388.

Great, I'll watch it upstream


⚠ SceneTime has degraded performance

In 2b7eca0, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1343 ms

Resolved: SceneTime performance has improved in b8d85b7 after 6 minutes.


chore: validate yamory script

Why
Yamory starts to provide checksum of their scripts.
It can detect script tampering.
announce: https://yamory.io/releases/202206/
docs: https://yamory.io/docs/verify-app-library-scan-script/

What

[x] add validation step

How to test

N/A
Checklist

[x] Read CONTRIBUTING.md
[x] Updated documentation if it is required.
[x] Added tests if it is required.
[x] Passed yarn lint and yarn test on the root directory.

test run: https://github.com/kintone/js-sdk/runs/7177929910?check_suite_focus=true


No sideband correlation when using PTXED with trace PT packets from a guest VM

Hello,
I am currently having an issue with sideband correlation when I am using PTXED. I do not have sideband losses when I am collecting Intel-PT packets using perf events ( I do not see any PERF_RECORD_LOST events ).
Initially I have error messages like -
[perf.data-sideband-cpu0.pevent:00000000000053e8 sideband error: bad configuration]
The above error message repeats for 6-7 lines after which I see the below stream of error messages which occur periodically in my decoded instruction trace. Sometimes the xed decode error is 2 as well.
[xed decode error: (9) BAD_EVEX_UBIT]
[43f7, 401860: reconstruct error: decoder out of sync]
[43f7, 401b18: error: trace stream does not match query]
Let me explain what I am trying to do.
I am running an x86_64 VM on KVM-QEMU while using the same x86_64 system as my host. I start collecting Intel-PT traces using the below command on the host -
perf kvm --guest --guestkallsyms=~/guest-kallsyms --guestmodules=~/guest-modules record -e intel_pt//
I am actually collecting packets on the host during the time when I am running an application on the VM.
I then follow the steps as suggested in the docs to generate the aux and sideband images. I finally run the below command to generate the set of instruction traces -
bin/ptxed $(script/perf-get-opts.bash -m perf.data-sideband-cpu0.pevent) --event:tick --pt perf.data-aux-idx0.bin
Please note that the perf-read-sideband.bash script generates two sideband.pevent files for me (one is for reading the global records and the other is CPU specific which I supply to my earlier command).
The final instruction trace data is filled up with the error messages I mentioned at the start.
I have read about your troubleshooting options and was wondering what could be a good choice -- whether increasing MTC or adding a TSC-offset value to the --pevent switch.
Let me know what could be a reason for such errors appearing all over my trace.
Note: If it is of any interest, I am attaching my PERF_RECORD_AUXTRACE_INFO for your information:
0x198 [0x98]: PERF_RECORD_AUXTRACE_INFO type: 1
PMU Type            7
Time Shift          31
Time Muliplier      596683345
Time Zero<PHONE_NUMBER>1403608139
Cap Time Zero       1
TSC bit             0x400
NoRETComp bit       0x800
Have sched_switch   3
Snapshot mode       0
Per-cpu maps        1
MTC bit             0x200
TSC:CTC numerator   300
TSC:CTC denominator 2
CYC bit             0x2
Thanks,
Arnab

Hello Arnab,
Thanks for reporting this.
The 'bad configuration' errors you're seeing are most likely caused by missing time samples in perf sideband records.  We rely on those samples to correlate sideband and trace.  You can enable them with the "-T" or "--timestamp" option.  When recording per-cpu trace (i.e. the --per-thread perf option is not used) you should also enable context switch records via the "--switch-events" perf option.
The other errors, including the XED errors, are likely just consequences of the previous errors.  Without sideband, we can't maintain the process image we use for decode and this can have all kinds of effects.  I would ignore them for now until we got rid of the 'bad configuration' errors.
Note that you should use perf-with-kcore for recording kernel trace.  This generates a kernel core dump with all the instrumentation in place that was used when recording the trace.  We can't decode kernel trace from the vmlinux binary so we rely on the core dump.
I have not used perf kvm record myself, yet.
regards,
markus.

Hello Markus,
Thanks for a detailed reply. I understand what you mean to say.
Following your advice, I tried to enable time samples using -T option while recording IntelPT packets. This is the command which I ran -
linux-4.11.3/tools/perf/perf kvm --guest --guestkallsyms=~/guest-kallsyms --guestmodules=~/guest-modules record -e intel_pt//u -T --switch-events
I have tried to record packets from the userspace only. This time the DECODER OUT OF SYNC errors are no longer as frequent but they are still there. However, I can see a pattern now.
Just before, the decoder falls out of sequence, I see a lot of CBR packets being produced like this -
00007fddf09906ee  syscall
[disabled]
[cbr: 1c]
[cbr: 1c]
[cbr: 1b]
[enabled]
[64a, 7f413610b7d1: error: no memory mapped at this address]
After this no memory mapped error, I see some more CBR packets being produced -- finally I end up seeing the same errors as below -
[885a8, 4021e0: error: trace stream does not match query]
So after initially seeing a proper instruction stream(for around ~1600 instructions) -- the same errors start appearing. I have tried supplying tsc-offset values while using ptxed but it still did not help.
This clearly looks like another sign of sideband missing errors. I cannot say if the Timing CBR packets are somehow responsible for this. But the appearance of CBR packets in itself is a question- they would usually appear after a system initialization. ( Maybe linked to the syscall )
I have still not started looking into recording kernel-space yet.
Best Regards,
Arnab

Hello Arnab,
The CBR packets simply indicate a frequency change.  Decode fails when returning from kernel-space back to user-space, which suggests that we switched contexts.
To decode guest applications we will need guest sideband and guest binaries.  You could use ptdump to check if we get the necessary mmap and context switch sideband records and just fail to apply them correctly.  Maybe we're also using the wrong binaries.
regards,
markus.

Hi Markus,
I have a small update to offer regarding this issue that we face. The things have still stayed the same, however I have done some investigation on my part and come to the below conclusions -
The IntelPT trace packets from which the instruction decoder goes awry are all directly related to the VIRTUALIZATION packets.

The first packet is a TIP.PGE packet where things start going wrong. This is an example from the raw trace packet

TIP.PGE 0x7fb7538f570d
Now if I go to the decoded instruction stream -- the below message can be seen :-
2d4, 7fb7538f570d: error: no memory mapped at this address
The two addresses match !
The TIP.PGE indicates that trace packet generation is enabled and gives the IP of the first
instruction to be executed in VMX root operation.  (NOTE: This packet was supposed to be generated in a host-only operation, I am quite surprised this is appearing when I only do a guest based operation).
After this packet was generated, there were few other packets in the trace as well. Unfortunately, the decoder failed to generate any instructions from that.

Now off to the next offending instruction.

FUP 0x55f2517e7a93
55f2517e7a93: error: no memory mapped at this address
This FUP packet is produced just before the VMCS packet was generated.
The FUP indicates at which point in the guest flow the VM exit occurred. This is important,
since VM exit can be an asynchronous event. The IP will match that written into the VMCS.
After a few more instructions like these, the whole system for decoding starts collapsing.
It looks like there is a problem with virtualization with IntelPT.

Hello Arnab,
After reporting an error, ptxed will try to synchronize the decoder on the next PSB packet.  Packets in between will be ignored.
Note that the first number in a ptxed error message gives the current offset into the trace file.  Depending on the type of error this is either the packet that caused the error or the next non-timing packet after that (roughly, at least).
I don't understand your comment regarding TIP.PGE and root mode.  The packet indicates that tracing was enabled.  Whether you are tracing host, guest, or both, depends on your configuration.  It might also help if you showed longer trace snippets to give a bit more context.
It may be a good idea, however, to check what has been traced.  Or at least what sideband information we got.  You can use perf script -D or you can use the --sb option family of ptdump and ptxed (try --help).  The latter will interleave perf records with decoded instructions and decoded trace packets respectively.  Ptxed's --sb:switch option will also print what ptxed believes to be the current process context.
Look for COMM records in the dump to see what programs are contained in the sideband (and trace).
Look for SWITCH records for the cpu you are currently decoding to see which process is currently running.
Look for MMAP and MMAP2 records to see what binaries are mapped at which addresses.
The pte_nomap error is typically caused either by using the wrong version of the binary file (e.g. using the host binary for decoding guest trace or vice versa, or decoding the trace after updating the system) or by applying a SWITCH record too early or too late.  In the latter case you may try increasing your MTC frequency (or enabling MTC if you have not done that) or adding a TSC offset.
It may also be caused by self-modifying, dynamically instrumented, or dynamically generated (JITed) code.  All require additional enabling of the tools involved.
I would start by making sure that we're not trying to trace any JITed code and that the sideband really describes the guest (and only the guest).  If that all looks good, make sure we're using guest binaries for decode.  You can use perf records to find the program that was traced and the binary that contains the IP at which decode fails.
regards,
markus.

Hi Markus,
Before I start looking into all of the pointers that you specified, I was particularly interested in the binaries aspect. I am not specifying any binary along with the ptxed command to collect the decoded trace.
I can see that the ptxed help suggests me that we should specify at least one binary file along with the processor trace file. However, I was using the below command to record the trace actually (from the README files).
bin/ptxed $(script/perf-get-opts.bash -m perf.data-sideband-cpu0.pevent) --event:tick --raw-insn --pt perf.data-aux-idx0.bin after running
script/perf-read-aux.bash
and
script/perf-read-sideband.bash
Probably because I am not specifying any binary file, does it cause the instruction stream to go all wrong ?
I am adding more traces from PTXED
00007fd4057806e0 83 3d 59 e0 2c 00 00                          cmp dword ptr [rip+0x2ce059], 0x0
00007fd4057806e7 75 10                                         jnz 0x7fd4057806f9
00007fd4057806e9 b8 07 00 00 00                                mov eax, 0x7
00007fd4057806ee 0f 05                                         syscall
[disabled]
[cbr: 1b]
[enabled]
[exec mode: 64-bit]
[2d4, 7fb7538f570d: error: no memory mapped at this address]
[4368, 55f2517e7a93: error: no memory mapped at this address]
[8327, 55b03ac99887: error: no memory mapped at this address]
[c3a6, 55f25178bd56: error: no memory mapped at this address]
[cbr: 9]
[cbr: 9]
[enabled]
[exec mode: 64-bit]
[112ba, 7fd546a5c7d1: error: no memory mapped at this address]
[143e6, 7fff13ef1ab1: error: no memory mapped at this address]
[183a8, 7fd546d364c3: error: no memory mapped at this address]
[enabled]
[exec mode: 64-bit]
[1c674, 7f7a4dc53573: error: no memory mapped at this address]
[cbr: 9]
[cbr: 9]
[cbr: 9]
[cbr: 9]
[cbr: 9]
[cbr: 9]
[cbr: 9]
[cbr: 9]
[cbr: 9]
[cbr: 9]
[cbr: 9]
[enabled]
[exec mode: 64-bit]
[215ac, 7f7a4dc53573: error: no memory mapped at this address]
[243a8, 7f7a4dc6b82f: error: no memory mapped at this address]
[cbr: 8]
After some more instructions like this --
The whole instruction trace stream breaks and the decoder goes out of sync.
[44690, 447d58: error: no memory mapped at this address]
[48630, 55f2517c80e0: error: no memory mapped at this address]
[enabled]
[exec mode: 64-bit]
[disabled]
[resumed]
[4c860, 7f1985869cc0: error: no memory mapped at this address]
0000000000401f24 00 00                                         add byte ptr [rax], al
0000000000401f26 00 00                                         add byte ptr [rax], al
0000000000401f28 00 00                                         add byte ptr [rax], al
0000000000401f2a 00 00                                         add byte ptr [rax], al
0000000000401f2c 00 00                                         add byte ptr [rax], al
0000000000401f2e 00 00                                         add byte ptr [rax], al
0000000000401f30 0b 06                                         or eax, dword ptr [rsi]
0000000000401f32 00 00                                         add byte ptr [rax], al
0000000000401f34 0c 06                                         or al, 0x6
0000000000401f36 00 00                                         add byte ptr [rax], al
0000000000401f38 0d 06 00 00 00                                or eax, 0x6
0000000000401f3d 00 00                                         add byte ptr [rax], al
0000000000401f3f 00 0e                                         add byte ptr [rsi], cl
0000000000401f41 [xed decode error: (2) GENERAL_ERROR]
[505a9, 401f41: reconstruct error: decoder out of sync]
[tick]
Thanks for the help,
Arnab

Hello Arnab,
ptxed gets the binaries from perf's MMAP sideband records.  If you're using sideband, there's no need to specify a binary.  You'd still need to build ptxed and libipt-sb with FEATURE_ELF=ON.
If you're not decoding on the system on which you recorded the trace (as in your case, for example, where I assume that you are running ptxed on the host), you can use --pevent:sysroot to point ptxed to a directory to which you copied the binaries from the target (preserving the directory structure).
There's a script in the libipt tree called perf-copy-mapped-files.bash to help with that.  It looks at the MMAP sideband records and copies referenced files.  You'd normally run this script on the target system on which you recorded the trace.
The perf tool maintains a cache of binaries called the buildid-cache.  The default location is ~/.debug.  The perf-copy-mapped-files.bash script takes the file from the buildid-cache if it finds it there and takes the file from the path specified in the MMAP record otherwise.  There's a chance that perf kvm populates the host's buildid-cache with guest binaries.  In that case, we should be OK to call the script on the host.  Maybe we need to replace some perf commands with perf kvm in some of the scripts.
regards,
markus.

Hi Markus,
I will try following the steps you have highlighted here. Thanks a lot again for the help.
However, as a side-note, what I feel seems to be happening here is that the perf kvm record system is not able to collect PERF_RECORD_MMAP events from the guest when the guest runs the application. That is why every time we try to MMAP events from the guest, we are failing from our end.

Hi Markus,
I have tried your approach. The problem is that the build-id caches do not seem to contain any guest binaries. Well, even if they are, they are only 1%-2% of the entire list of binaries in the guest.
After using pevent:sysroot and running script/perf-copy-mapped-files.bash with necessary modifications and adding perf kvm - I unfortunately see no changes in the decoded trace -- only that the problem happens a lot more instructions later.
I will continue trying to see if I can somehow make this work. Thanks for your help!
Regards,
Arnab

Hello Arnab,
The buildid-cache need only contain the binaries that were traced.  When you say 'the problem happens a lot more instructions later' it looks like we were able to decode portions of the trace that we were not able to decode before.  Is this because ptxed is now using a different binary?
I don't understand 'I unfortunately see no changes in the decoded trace' in this context.  Do you mean that you're seeing similar error messages as before?  Are they on a different binary file?  Was the total number of errors reduced?
You could try to manually copy the traced files from the target into your sysroot directory on the host.  This would ignore perf's buildid-cache.
Do the perf records in your sideband files look like they are referring to the guest?
regards,
markus.

Hello Markus,
After I ran the script perf-copy-mapped-files.bash, I could see hardly 3 binaries inside my /bin/ while the guest was supposedly having a lot more binaries. There were a lot of binaries inside /lib/ and majority of the code that was decoded appeared from the binaries from inside /lib/ like "libipt.so.1" and "libpevent.a" etc.
When I say "I see no changes in the decoded trace" I mean that the errors that appeared previously are still there, however they appear quite late this time. Previously they appeared in the 2000-3000 instruction range, now they appear at like ~16000 instructions from the start. The "decoder errors" are still there and the whole system shows signs of "No memory mapping" as was previously visible.
Will copying all the binary files from the guest and putting it into the sysroot directory work ? Like just copying the files from /home/ and /lib/ and /bin/ and /usr/ in the guest and putting them into the host.. I was thinking about doing this but worried it may not work anyway.
At first investigation, it looked like all the /lib/ and all the /bin/ files etc. were actually referring to the host, so the sideband contained information from the host only. But I would probably give it another deep check again, though..

Hello Arnab,
You only need to copy the files that are referenced in the trace.  Search for MMAP and MMAP2 records.  You may start with just one file that is causing decode errors and check if this make this exact error (at this trace offset) disappear.
You may also look for COMM records and check that those are the processes that were expected to run on the guest.  If the sideband is referring to the host, not the guest, maybe the perf tool needs some more enabling.  Or maybe we're mixing host and guest trace.
We will see decode errors until we get everything right.  Note that a single wrong binary may result in tons of decode errors - one per PSB segment that covers this file.  When that gets fixed, we may run into the next error in a portion of the trace that was previously skipped due to the previous error.  The amount and also the type of errors may remain stable for some time until we can decode an entire PSB segment without error.  The way to measure progress is by counting the binary files that do not cause any decode errors or by counting the instructions that can be decoded successfully.
regards,
markus.


List UI

As a product manager
I need to list records
So that product records can be queried from the database
Details and Assumptions

Create a UI page to list product records
Run integration tests against UI

Acceptance Criteria
Given the product system
When product record are queried using UI
Then product system should list product records from the database and print the record.

I revised the "Query" into "List". And revised the previous "List" UI into "List All" correspondly.


Combine metric's dtapoint from multiple whisper files

Greetings,
is it even possible to configure Graphite to combine (merge) datapoints for a machine's metric from multiple (two should be fine) files i.e. when asking for time-range  spread across those two files?
Use case:

let's imagine metrics for a machine has been archived or copied away from original location and datafiles were recreated as empty empty ones with the same archive settings.
there is of course possibility to use whisper-merge tool and merge those datapoints together offline
anyway is it possible to combine i.e. two locations or remote + local datastore or whatever would work?

Thank you, regards .zp.

Hi Dan,
do you mean to add i.e. two items into CLUSTER_SERVERS of local_settings.py? I am in doubts, because documentation says:
"""
CLUSTER_SERVERS
Default: []

The list of IP addresses and ports of remote Graphite webapps in a cluster. Each of these servers should have local access to metric data to serve. The first server to return a match for a query will be used to serve that data. Ex: [“<IP_ADDRESS>:80”, “<IP_ADDRESS>:80”]

"""
That means, as far as I understand it, there will be data served from ONE of these servers but not both in union. Or am I mistaken?
My expectation is to get data of requested time-range from both servers, because each of them does have part of that time-range.

Starting from 0.9.15 graphite-web supporting REMOTE_STORE_MERGE_RESULTS parameter, which will do exactly that - merge results from different cluster nodes.

Awesome, I will try it. This option is not covered in latest documentation at graphite.readthedocs.io/en/latest/config-local-settings.html.
Thank you, with regards, .zp.

Yes, it's only included in config example, but the default is True in latest releases.


wait for deletion of hostedControlPlane CRD before removing namespace

Currently, there's a race condition between the control-plane-operator removing the HostedControlPlane CRD and the hypershift operator removing the cluster's namespace that the control-plane-operator lives in on deletion. When that occurs the HostedControlPlane CRD will remain and the namespace will never terminate. Examples below:
NAME                           STATUS        AGE
master-prtesting410-61180717   Terminating   12d
master-prtesting410-61182308   Terminating   12d
master-prtesting410-61346672   Terminating   8d
master-prtesting410-61365648   Terminating   8d
master-prtesting410-61583391   Terminating   9h
master-prtesting48-61266069    Terminating   10d
master-prtesting48-61533600    Terminating   2d3h
master-prtesting49-60560414    Terminating   24d
master-prtesting49-61179760    Terminating   13d
master-prtesting49-61180715    Terminating   12d
master-prtesting49-61205639    Terminating   12d
master-prtesting49-61266071    Terminating   10d
master-prtesting49-61346670    Terminating   8d
master-prtesting49-61365646    Terminating   8d
master-prtesting49-61533602    Terminating   2d3h
master-prtesting49-61579607    Terminating   12h
master-prtesting49-61580003    Terminating   11h
master-prtesting49-61583352    Terminating   9h
master-prtesting49-61583389    Terminating   9h

This should not be the case. Before deleting the namespace HC deletion waits for capi cluster deletion which waits for the HCP deletion. Can you share more context on how to reproduce this?

In the case of none platform:
there is no capi cluster so this occurs. This is currently also in line with IBMs strategy as well (no capi cluster yet)

Code section reference:
https://github.com/openshift/hypershift/blob/main/hypershift-operator/controllers/hostedcluster/hostedcluster_controller.go#L816

I can see why this is happening for None.
I can't see why this is happening for IBM since you are actually implementing ReconcileCAPIInfraCR (even though you are not CAPIProviderDeploymentSpec), can you help me understand why is happening in IBM case?

Yes sorry for IBM specifically the Satellite UPI use case this is relevant code section:
https://github.com/openshift/hypershift/blob/main/hypershift-operator/controllers/hostedcluster/internal/platform/ibmcloud/ibmcloud.go#L27

adjusted!

/lgtm
/approve

/retest-required


ILP-Node: Misc Accounts/Channels/Counterparty Questions

An Account consists of the Connector, and a single CounterParty. This begs the following questions:

How many Channels can exist per account, possibly at the same time?

Should there be N Accounts per Counterparty?
For example, it seems like there should possibly be at least one Account per supported currency for a given Counterparty? Like, I might have one USD Account with you, and 3 EUR accounts with you?

What is the Primary Identifier of an Account?
I think this is just a UUID (or String identifier) chosen by the datastore backing the account manager?

What is the Primary Identifier of an CounterParty?
Seems like this is just a random identifier possibly that allows a Connector implementation lookup a Counterparty by Id (and this id is actually stored in the Account?).

What is the Primary Identifier of a Channel?
In my LPI Java implementation, I was using an ILP address as a primary identifier for each LedgerPlugin, so should a Channel be likewise identified by ILP address?

Closing this as it's no longer applicable in any current Connector designs.


disposal does not work in iframe

disposal() is very useful. I wish it could work in the particular case where the element lives in an iframe in an Observable cell (real use case): currently, the Promise resolves instantaneously after the element has been appended to the iframe body.
See https://observablehq.com/@severo/disposal-in-iframe for a demo.

I guess the selector could be made overridable via a second optional parameter?
https://github.com/observablehq/inputs/blob/cc5f9d12f9d6e7ca7849942424b145695bc9de85/src/disposal.js#L4

The disposal promise needs to know the container that may be removed — otherwise it would have to observe the entire DOM, which would be slow. The implementation currently expects an element with the class “observablehq”, which on Observable corresponds to the cell’s container. We could expose a custom selector as an option to the disposal; in the meantime, I recommend you add the observablehq class to your container, or fork the definition of disposal to do what you want.

Another option would to store the target node's .ownerDocument, then call document.contains(target).

@mootari That would require setting subtree: true, which we want to avoid. (Though, I suppose it could be a fallback, or opt-in.)

If we don't need to support IE11, then there's also Node.isConnected.

If we allow you to pass in a selector, it will be error prone because the disposal promise will only be monitoring the selector element’s immediate children (childList) for changes. So for example if you pass the selector "body" to disposal, but the element to be disposed isn’t an immediate child of the body, and the element is removed from its parent, the disposal promise won’t trigger.

The disposal promise needs to know the container that may be removed — otherwise it would have to observe the entire DOM, which would be slow. The implementation currently expects an element with the class “observablehq”, which on Observable corresponds to the cell’s container. We could expose a custom selector as an option to the disposal; in the meantime, I recommend you add the observablehq class to your container, or fork the definition of disposal to do what you want.

I updated https://observablehq.com/@severo/disposal-in-iframe. The simplest workaround is indeed to add the class "observablehq" to the outmost HTML element.

I really don't know how to do it with the iframe, I couldn't understand how to use the workarounds you mentioned.
To me, invalidating the cell that contains the iframe cannot be detected from inside the iframe, because .closest() will never hit the .observablehq div outside the iframe.
And if I create a "container" div with the class "observablehq" inside the iframe, it serves no purpose because there would be no "addition of new child nodes or removal of existing child nodes" when the iframe cell will be invalidated.
Maybe another heuristic could be found, but for now, it seems I will have to pass the iframe cell invalidation promise in every function.

I got it working! I finally understood what you meant @mbostock :)

Create a div with the class "observablehq" inside the iframe
Create a child to this div. It will be the root for all the content
Use disposal() inside the content. It will not resolve for now because there is one ".observablehq" element above in the DOM
Use disposal() on the iframe to detect when it is invalidated.
Once this Promise resolves, ie when the iframe cell is invalidated, remove the content root from the "div.observablehq" children. This will trigger all the mutation observers inside the content, and as they will not be connected anymore to an element with the class "observablehq", disposal() will resolve.

Notebook updated with the solution - https://observablehq.com/@severo/disposal-in-iframe

The purpose of disposal is to detect disconnected nodes, ideally when they are disconnected, not when an observable's cell is invalidated:

The disposal promise is a heuristic for detecting when an input has been removed from the DOM, say to detach synchronized inputs

Would https://github.com/wessberg/connection-observer be a solution? Is it the same as "setting subtree: true which we want to avoid"?


Document how to extract current sensor values programmatically

Hello,
this is probably trivial to figure out if one knows anything about Prometheus/Grafana, but maybe it would be useful to document how to use curl / wget or similar to extract current sensor values from the device over WiFi in a machine-readable format.
The website is cool and all, but I would prefer to integrate the information directly into my system to e.g. remind me to open/close the windows depending on sensor values and inside/outside temperatures.

Hey @saviola777 thanks for reaching out. Great suggestion to add a quick how to get values instructions.
First please find out the IP of the sensor in your home network via the ui of your router or on the sensor itself via the button under Menu -> Info .
Then insert the IP here and use
wget -S -O - [IP]:9925/metrics
Or wget [IP]:9925/metrics cat metrics
Or via curl example
curl <IP_ADDRESS>:9925/metrics
# HELP rco2 CO2 value, in ppm
# TYPE rco2 gauge
rco2{id="Open CO2 Sensor",mac="7C:DF:A1:96:B9:72"}571
# HELP atmp Temperature, in degrees Celsius
# TYPE atmp gauge
atmp{id="Open CO2 Sensor",mac="7C:DF:A1:96:B9:72"}25.37
# HELP rhum Relative humidity, in percent
# TYPE rhum gauge
rhum{id="Open CO2 Sensor",mac="7C:DF:A1:96:B9:72"}55.15

Hope this helps, I will add it to the README
David

Perfect! Thanks.


Current Python version 3.11.8，Error

.\python_embeded\python.exe -s -m pip install pixeloe
Collecting pixeloe
Using cached pixeloe-0.0.7.tar.gz (13 kB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [6 lines of output]
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "C:\Users\Administrator\AppData\Local\Temp\pip-install-4wi6wlka\pixeloe_735c229b01b14ca58913a932eaa95fbb\setup.py", line 2, in
from pixeloe.cli import command_map
ModuleNotFoundError: No module named 'pixeloe'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

OH I'm stupid LoL
Will fix this

You can try to install it from source
pypi installation will be fixed in near future

ok， let me have a try

@LPG-VERSION This should be fixed now (0.0.8)

  Downloading pixeloe-0.0.9.tar.gz (13 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
  error: subprocess-exited-with-error

  python setup.py egg_info did not run successfully.
  exit code: 1

  [6 lines of output]
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-install-86urpfsf\pixeloe_5512c8b144a24128b11d7851d7fe7a2b\setup.py", line 2, in <module>
      from pixeloe import cli
  ModuleNotFoundError: No module named 'pixeloe'
  [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

I guess it could be:
setup.py

- from pixeloe import cli
+ from .pixeloe import cli

  Downloading pixeloe-0.0.9.tar.gz (13 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'
  error: subprocess-exited-with-error

  python setup.py egg_info did not run successfully.
  exit code: 1

  [6 lines of output]
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "C:\Users\runneradmin\AppData\Local\Temp\pip-install-86urpfsf\pixeloe_5512c8b144a24128b11d7851d7fe7a2b\setup.py", line 2, in <module>
      from pixeloe import cli
  ModuleNotFoundError: No module named 'pixeloe'
  [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

I guess it could be:
setup.py

- from pixeloe import cli
+ from .pixeloe import cli

Umm I don't think so
https://stackoverflow.com/questions/45280653/import-a-script-from-package-in-setup-py
It looks like we should not put any relative import
Another thing is the path of setup.py is not a package, so it is definitely not "import .pixeloe"

![Uploading image.png…]()

from setuptools import setup, find_packages
from pixeloe import command_map
setup(
name="pixeloe",
packages=find_packages(),
version="0.0.7",
url="https://github.com/KohakuBlueleaf/PixelOE",
description="Detail-Oriented Pixelization based on Contrast-Aware Outline Expansion.",
license="Apache License 2.0",
author="Shih-Ying Yeh(KohakuBlueLeaf)",
<EMAIL_ADDRESS>zip_safe=False,
install_requires=["opencv-python", "numpy", "pillow"],
entry_points={
"console_scripts": [
f"pixeloe.{command}=pixeloe.cli:{func}"
for command, func in command_map.items()
]
},
python_requires=">=3.10",
)

应该这样改,还有根目录缺少__init__.py

It should be changed like this, and the root directory is missing __ init__. py

It should be changed like this, and the root directory is missing __ init__. py

Then that's not what I need here.

Root dir should not have init.py

I will use other method to fix this, but definitely not put init.py in root dir

But the entire project is a dependency package, and the root directory does not have __ init__. py, so the pixloe package will not be recognized by the environment. I have tested it before

Okay, I'll wait for you to make the changes. Come on, adventurer

But the entire project is a dependency package, and the root directory does not have __ init__. py, so the pixloe package will not be recognized by the environment. I have tested it before

Your understanding is incorrect.
Only the pixeloe folder is the package we need.
My implementation is wrong, but make whole project a package is worst option.

Umm I don't think so https://stackoverflow.com/questions/45280653/import-a-script-from-package-in-setup-py
It looks like we should not put any relative import
Another thing is the path of setup.py is not a package, so it is definitely not "import .pixeloe"

啊！不好意思之前回复得太草率了（遇到过类似情况，但这次不一样）
我大概明白问题原因了，这个包既提供 API (作为其他包依赖的 lib），同时也是 CLI 应用，CLI 的部分在安装时遇到了“找不到我自己”的问题。
这在我熟悉的领域一般是分开的，比如 curl 和 libcurl。不过似乎在 Python 领域没有这个必要，比如 huggingface_hub 就兼顾了两者。
我是在打 Windows 整合包 时报的错，构建 Docker 镜像 则顺利无问题。
不太懂 Python，暂时帮不上什么忙，只能先报个错，有劳青叶大大了！

(English translation by ChatGPT)
Ah! Sorry for the hasty response earlier (I've encountered similar situations before, but this one is different).
I think I understand the reason for the problem now. This package provides both an API (as a lib that other packages depend on) and also a CLI application. The issue arises during installation when it can't find itself.
In the field I'm familiar with, these are usually separated, like curl and libcurl. However, it seems in the Python domain, this separation might not be necessary, as seen with huggingface_hub, which combines both.
I encountered this error while building the Windows standalone package, but had no issues with building the Docker image.
I don't know much about Python, so I can't help much for now. Just reporting the error. Thanks a lot in advance!

Well... I guess this is not elegant enough but it works for my installation on Windows:
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,4 @@
 from setuptools import setup, find_packages
-from pixeloe import cli

 setup(
@@ -15,8 +14,8 @@ setup(
     install_requires=["opencv-python", "numpy", "pillow"],
     entry_points={
         "console_scripts": [
-            f"pixeloe.{command}=pixeloe.cli:{func}"
-            for command, func in cli.command_map.items()
+            "pixeloe.pixelize=pixeloe.cli:pixelize",
+            "pixeloe.outline=pixeloe.cli:outline"
         ]
     },
     python_requires=">=3.10",

I kinda understand why this works. But I really don't know why pip or setuptools on Linux won't throw No module named 'pixeloe' error. Looks like magic to me, at least for today.

have the same problem on windows with python 3.10
from pixeloe import cli
  ModuleNotFoundError: No module named 'pixeloe'

Well... I guess this is not elegant enough but it works for my installation on Windows:
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,4 @@
 from setuptools import setup, find_packages
-from pixeloe import cli

 setup(
@@ -15,8 +14,8 @@ setup(
     install_requires=["opencv-python", "numpy", "pillow"],
     entry_points={
         "console_scripts": [
-            f"pixeloe.{command}=pixeloe.cli:{func}"
-            for command, func in cli.command_map.items()
+            "pixeloe.pixelize=pixeloe.cli:pixelize",
+            "pixeloe.outline=pixeloe.cli:outline"
         ]
     },
     python_requires=">=3.10",

I kinda understand why this works. But I really don't know why pip or setuptools on Linux won't throw No module named 'pixeloe' error. Looks like magic to me, at least for today.

This worked for me.

I have the same problem. I'm on Windows, python 3.11.6.

Collecting pixeloe
Using cached pixeloe-0.0.9.tar.gz (13 kB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [6 lines of output]
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "C:\Users\HP\AppData\Local\Temp\pip-install-ry8zttp0\pixeloe_feadb1b401564c5cb9613c0d65a23b12\setup.py", line 2, in
from pixeloe import cli
ModuleNotFoundError: No module named 'pixeloe'
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Fixed in 0.0.10


Fixed display "user not found" for invalid user search query

Fixed #17842
Testing plan:
added i18n support .
GIFs or screenshots:

@aryanshridhar added styling according to ListWidget.

@timabbott  can you review this PR?

The issue was fixed via https://github.com/zulip/zulip/pull/19729, thanks for your work on this @rijusougata13!


Update bulk-export-data.rst

DM/GM Channels and Their Posts in the Bulk Export: https://github.com/mattermost/mattermost-server/pull/10421

Thanks @jasonblais  - I addressed your edits.


GEODE-7511: Fix endpoint truncation bug

When using a connection pool, the server endpoint name string was being limited to 128 characters. This prevented using the native client with PCF 1.9.1 which switched from IP addresses to DNS names. These names can often be greater than 128 characters as in:
05b92a19-be8e-4b55-8bd6-db83073a375b.locator-server.nassau-services-subnet.service-instance-c0abaded-6ac6-4f6f-80b2-a141d01ac3f8.bosh

Jake's right, I always favor stringstream cause I'm familiar with it, but just std::string concatenation will work fine here.  Either way gets us away from fixed-sized buffers, raw chars on the stack, and use of snprintf.


Rollback latest deleted entries when searching occurencies

I'd like a "rollback" (like the classic CTRL+Z or a specific button) for going back in the history of the deleted items in the search tab. Sometimes it happens that, when doing a huge refactoring or a huge find and replace, I mistakenly remove an entry from the search occurrences while evaluating them one by one and the only way to restore the entry is to refresh the entire search beginning the search from scratch. I think it can be useful to go back in the history by restoring the removed elements without beginning the process from zero...

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


Print out command line args. on start and support disabling OpenAL

Minor changes to the PC facade:

Passed cmd. line args are printed out on start to indicate whether they were recognized or not. Helpful in particular for headless builds and for people that can't type properly :innocent: .
Support the explicit disabling of the OpenAL sound system

Confirmed as useful! Thanks :-)
Invalid argument: -fish
Also added in an IntelliJ run config just because.

I never saw such a nice handling of command line mistakes. Usually
computers explode first and ask questions later!
Very nice idea! Well done!


Adding custom cert support

This way we can use custom certificates and e.g. configure different certs for internal and external traffic.

Hi @burandobata , I'm trying to ensure this PR works as expected but not sure how to get it working. I've tried both of the following commands to get the customer certificate section added to the generated statefulset config but it doesn't seem to be there with either:
helm -n helm-test install redpanda redpanda -f redpanda/values_add_custom_certs.yaml -f redpanda/values_add_tls.yaml
helm -n helm-test install redpanda redpanda -f redpanda/values_add_custom_certs.yaml

Do you have either steps to get to a working state, or a test to verify this works?


Bug Report: SenNet Embedded RUI Misrepresents Tissue Block

A user reported the bug below and I have been able to verify it on my end:
I've found an odd bug when using some registration JSON files (I have 4 such cases, attached). The two pancreases have different orientation and shape. In the SenNet portal the block 018c is clearly off.

However when I load same JSON in the HuBMAP RUI, I see proper block position:

JDC_WP_017_b_registration-data - 2024-08-07T120220.440.json
JDC_WP_017_h_registration-data - 2024-08-07T120418.066.json
JDC_WP_018_c_.json
JDC_WP_018_j_.json

Oh, I see one issue is that one is using the Male pancreas and the other is using the Female pancreas. Look at the screenshots again.


Find models in another folder

Hi guys! First of all, this gem is really great.
Could you guys help me understand how could I inform to the gem that I have my active record models locating in another folder?
I have a grape/ruby app and my models are inside /infrastructure/models folder not at app/models like traditional rails app.
Is this a configurable thing?
Thanks a lot.

Hey there! Fabrication doesn't load any actual models. It only loads your fabricator definitions. You'll need to check the docs for grape to see how to configure its load path.


Fix localtime change

Fix the sorting when the arxiv changes from EDT to EST.

I'm waiting for another time to occur, so I can track it.


Feature Request: Commit with an older date

I frequently need to commit with a past date (I can go into the reasons if you want me to, but I feel that's not relevant.)
This is pretty much the only thing that requires me to use git outside of Sublime.
I have a shell function called gdate (you can see the source here) which sets the $GIT_AUTHOR_DATE and $GIT_COMMITTER_DATE for that session.
So after that whenever I run git commit from the shell, it will commit with a previous date.
Is there any way to obtain same functionality with Savvy?
It's okay if you don't want to add this into Savvy itself as not many people would want such a thing, I'll be happy if I can make it work just for me.
Ideally, I would want two new commands git: change date environment which would change it to some date (so that all further commits happen with this value) and git: reset date environment so that things can go back to normal.

IIRC we use os.environ to populate the git process environment on launch. This means that it should be enough for you to set the variables in sublime for this feature to work.
Please try it out by opening a sublime console (ctrl+</kbd>) and entering e.g: os.environ['GIT_COMMITTER_DATE'] = '2005-04-07T22:13:13'. Then run the usual git: commit` command and see if that sets the committer date correctly.
If the above works, all we need is a simple command that will set the environment variables on demand... maybe someone knows of a plugin that will do it, as I don't really see this requirement as specific to git or GitSavvy. If we really wanted to, we could modify GsCustomCommand to support environment variables and not just arguments, but not sure it's in scope.

Update: I spend a bit of time fiddling around, and the result is a fun little plugin to let you write whatever python code you want and execute it via a command: https://github.com/asfaltboy/sublime-custom-code

Wow, thanks a lot for this @asfaltboy!
I'll test it out today and see how it works out.

This is not planned as it's too idiosyncratic.  You can change the ENV at anytime with any means and we will follow already.  We just don't add an UI for that.  We just want to be flexible enough that people could write their own add-ons.


pod install fails after cloning from github

Summary
pod install fails after cloning from github
Steps to reproduce

clone repository
run pod install

What is the current bug behaviour?
pod install fails to install PIAAccountModule
What is the expected correct behaviour?
pod install succeeds after a fresh clone from github
Relevant logs and/or screenshots
Error message I receive when running pod install:
toms-MBP:t0mmar tom$ pod install
Analyzing dependencies
[!] No podspec found for `PIAAccountModule` in `/Users/jose/Projects/PIA/account`

Possible fixes suggested re-mediation
Update paths in Podfile:
def shared_main_pods
    pod 'AlamofireImage'
    pod "PIAAccountModule", :path => "/Users/jose/Projects/PIA/account"
    pod "PIARegions", :git => "#{$git_root}/#{$regions_repo}"
    library_by_path('/Users/jose/Projects/PIA')
    #library_by_git('ba3cd1f')
    #library_by_version('~> 1.1.3')
end

Assignees and labels
( please add labels as applicable )

[ ] Patched
[ ] Verified patch

hi @t0mmar ,
Sorry, I pushed the changes with the local path, you can replace it by:
"#{$git_root}/#{$accounts_repo}"
Regards,
Jose

@ueshiba
Thank you.  library_by_path is also pointing to a local path - what should it point to?
    library_by_path('/Users/jose/Projects/PIA')
    #library_by_git('ba3cd1f')
    #library_by_version('~> 1.1.3')

Sorry, you can use the git hash 😓
library_by_git('ba3cd1f')

TY!

Don't worry, we will update the repo very soon :)


Early terminate from loops when generating cutting experiments

This is a follow-up to #556.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

5 of 5 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 95.489%

Totals

Change from base Build<PHONE_NUMBER>:
0.005%

Covered Lines:
3493

Relevant Lines:
3658

💛  - Coveralls


Unable to get list of reservationOrder or reservationOrder details

Hello all,

On requesting a list containing all my reservation orders, i get an empty list.
On requesting details about a specific reservation order, the sdk throws an forbidden exception.
But on requesting a list containing all the reservations in the specific reservation order the expected data is returned.

At first i thought this is a problem with the SDK, so i tried to call the Api without the SDK (https://docs.microsoft.com/en-us/rest/api/reserved-vm-instances/reservationorder), but it shows the same behavior.
I am accessing the tenant with a service principal with has read rights to the subscription containing the reservation order and of course has granted access to the management Api. I also counterchecked in the portal, the service principal has read permission on the reservations.
Here's a sample of the code i am executing:

And here is the response i got from calling the Api (removed the Id's):

I again counterchecked in the portal and found the default reader role's permission. The permission includes the Microsoft.Capacity/reservationOrders/read action. So I cannot explain this behavior to myself anymore.
Do I need to assign more than '*/read' rights to the service principal, or am I missing out on something different?
Thanks in advance
Dane Dahlem

Anyone?

@thegreatdane6 seems like an issue with Fluent library. If yes I have opened an issue in the right repo
https://github.com/Azure/azure-libraries-for-net/issues/454

Closing this out as there has been no recent engagement.  Please feel free to reopen or file a new issue if this remains a problem with the current version of the library.

I am unable to check whether the issue still exists.


fix typos.

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
fix some typos.
Special notes for your reviewer:
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[x] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

/retest-required

Hey @yojay11717 , jobs are triggered and we will make sure for anything else.

/release-note-none
/ok-to-test

/ok-to-test cancel


Avoid more name clashes for SuperBuilder

Previously, the names of the type parameters of @SuperBuilder are chosen that they do not collide with the type parameters of the annotated class.
With this PR, the classname of the annotated class and the type names of fields in that class are also considered in this collision check.
This fixes #2297.

Not sure we really ought to cater to people naming classes B, but, hey. I'll take it, thanks @janrieke!


SyntaxError Fix

Initially, if you try to run npm test on a recently generated project, the following error appear:
SyntaxError: .../src/components/Counter.js: A semicolon is required after a class property (11:3)
   9   |     decrement: PropTypes.func.isRequired,
  10  |     counter: PropTypes.number.isRequired
> 11 |   }
        |    ^

Adding the semicolon solves the problem.

Thanks


[BUG REPORT]:Incorrect DSS records for the NBM QPF product's 3hourly and 6hourly components.

Describe the bug
The NBM-QPF product's DSS processed dataset is misrepresenting the 3hourly and 6hourly precipitation record's duration.
Expected behavior
The NBM QPF product should hav:

hourly records for the first 36 hours of the forecast.
3hourly records for hours 38 through 88
6hourly records for hours 89 through the end of the NBM product's outlook.

Actual behavior
Currently Cumulus is processing hourly DSS records for both the 3hourly and 6hourly portions of the NBM QPF.
Screenshots

it's mislabeling part E. The vales are correct and the time between grids is correct going from 1 hr -> 3hr -> 6 hour, but part E stays at 1 hour when it should adjust.  This might be not be a quick fix based on standard code.  Might have to download as 3 sperate products.

part E is filled in based on the temporal duration parameter in the products table in the database.  for this product the temporal duration is set to 3600.  only way to be able to pull this in dynamically would be to grab from metadata if it is available.  need to check and see if available in meta data.  if it is not. would need to divide into 3 products if possible.

@Enovotny need to warn users please to not use this product till this issue is addressed or somehow disable it or temporarily remove it from the catalog.

NBM QPF PRECIP 1hr has been temporarily disabled and should not be returned by API as available product.
I manually ran:
update cumulus.product  set deleted = true  where id = '5317d1c4-c6db-40c2-b527-72f7603be8a0'
If the CAVI is caching products, it could still be available for users to select from and may still allow for download...I'm not certain.


use location expression in glsl

to get rid of all those getAtribLocation calls

ok for now we stick with getattriblocation and require a certain attrib naming in the shaders