[BUG] Mage scheduler is getting stuck

Mage version
0.9.73
Describe the bug
We have deployed Mage on a Kubernetes (K8s) cluster with separate scheduler instance having redis setup managing the cluster and set up pipelines for at least 10 clients. Occasionally, all Mage pipelines get stuck and stop progressing due to a scheduler issue. This is critical for us because if even a single pipeline trigger fails to run in a day, it becomes a significant problem.
We have tried capturing py-spy profiles, which often point to the usage statistics API calls. Previously, when this issue occurred, it was suggested to change the help_improve_mage flag from true to false, which we did. However, despite the help_improve_mage flag already being set to false, we are still encountering the same issue. One of the profiles is attached herewith:
Scheduler profile:

Web server profile:

To reproduce
It's an intermittent issue.
Expected behavior
Mage scheduler should never be stuck until the resources limit has reached.
Screenshots

Operating system
Linux
Additional context
No response

Hello Team,
we are again facing same issue after this fix we have upgraded the mage version to 0.9.75 and today again we saw our pipelines got stuck.
Please find attached profile file from scheduler.


build: band-aid build system to allow building binaries other than resource policy plugins.

This PR aims to relax some of the most restrictive implicit assumptions about the types of binaries we build, and with fairly minimal changes to the Makefile. As a result, we now can have

resource policy plugins, located in cmd/plugins, binaries named nri-resource-policy-*cmd/plugins
other types of plugins, located in cmd/plugins, binaries named nri-*
other binaries, located in cmd, binaries named something else than nri-*

The PR has one extra commit to remove obviously unused cruft from the Makefile, but otherwise it is fairly minimal. All other relevant changes are limited to the Makefile and to updating the import path of the plugins. All other file changes are moving plugins around (from cmd to cmd/plugins).

Thanks @klihub for this work! I'm good to go with these changes.
At some point I'd like to allow overriding IMAGE_VERSION (just replace := with ?= in order to tag images with e2e or whatever...), but I'd vote for merging this as is already now and tune little things later.

I don't think that using the ?= conditional assignment operator would be necessary for that. I think a simply expanded variable assignment can be overridden from the command line as usual:
klitkey1-mobl1 nri-plugins $ git diff
diff --git a/Makefile b/Makefile
index b77240b..a7035b5 100644
--- a/Makefile
+++ b/Makefile
@@ -429,3 +429,6 @@ site-serve: .$(DOCKER_SITE_BUILDER_IMAGE).image.stamp
        touch $@

 docs: site-build
+
+show:
+       $(Q)echo "$(VAR)=$($(VAR))"
klitkey1-mobl1 nri-plugins $ make show VAR=IMAGE_VERSION
IMAGE_VERSION=v0.1.0-30-g1da8430-dirty
klitkey1-mobl1 nri-plugins $ make IMAGE_VERSION=my-image-version show VAR=IMAGE_VERSION
IMAGE_VERSION=my-image-version

At some point I'd like to allow overriding IMAGE_VERSION (just replace := with ?= in order to tag images with e2e or whatever...), but I'd vote for merging this as is already now and tune little things later.

@askervin I don't think that using the ?= conditional assignment operator would be necessary for that. I think a simply expanded variable assignment can be overridden from the command line as usual:

I think one practical difference is that with ?= you can also specify variables from the environment, not only as make variable overrides, i.e. both IMAGE_VERSION=foo make images and make images IMAGE_VERSION=foo would work

At some point I'd like to allow overriding IMAGE_VERSION (just replace := with ?= in order to tag images with e2e or whatever...), but I'd vote for merging this as is already now and tune little things later.

@askervin I don't think that using the ?= conditional assignment operator would be necessary for that. I think a simply expanded variable assignment can be overridden from the command line as usual:

I think one practical difference is that with ?= you can also specify variables from the environment, not only as make variable overrides, i.e. both IMAGE_VERSION=foo make images and make images IMAGE_VERSION=foo would work

That's a good point. I was not aware of that. If we want to have the ability to inherit some of the variables from the environment, we'll need to decide which ones make sense then consistently update the assignment of those to use the ?=-operator.


Only canonize ECDSA signatures in MSP:IsWellFormed

Currently, the MSP IsWellFormed function expects any signature to be
a valid ECDSA signature, however the certificate can be signed by
a non-ECDSA algorithm which will then yield a false negative.
This change set ensures the check only applies if the signature is ECDSA.
Change-Id: I0b14e3e9b87e860a3ca29cc233dc4810de1768ab
Signed-off-by: yacovm<EMAIL_ADDRESS>

@Mergifyio backport release-2.2


Show mouse actions

I would like to replace QiPress with PxKeyStrokes. Is there a way to show mouse actions as well? Is it hard to detect double clicks? QiPress doesn't seem to do that.

I made this programm to suit my needs for coding screencasts and there was no need for any mouse interaction. Unfortunetally, I'm a linux user and do not use this program so frequently, that it pays of to implement this functionality. But this programm is open source and on github, and I will be happy to review and integrate any improvements done by anyone. So if you want to have a try implementing the mouse functionality, you're free to have a try. The IDE is free (Visual Studio Express (C#) or that new Code Studio (I don't know the exact name) from Microsoft.

I made this programm to suit my needs for coding screencasts and there was no need for any mouse interaction. Unfortunetally, I'm a linux user and do not use this program so frequently, that it pays of to implement this functionality. But this programm is open source and on github, and I will be happy to review and integrate any improvements done by anyone. So if you want to have a try implementing the mouse functionality, you're free to have a try. The IDE is free (Visual Studio Express (C#) or that new Code Studio (I don't know the exact name) from Microsoft.

Hi Phaiax,
I understand. I might implement this, but don't hold your breath. I'm rather busy with teaching people how to map for Openstreetmap.
Thanks for doing the hardest part: getting started with a free software solution for the problem.
Jo

Hi Phaiax,
I understand. I might implement this, but don't hold your breath. I'm rather busy with teaching people how to map for Openstreetmap.
Thanks for doing the hardest part: getting started with a free software solution for the problem.
Jo

Hey Openstreetmapper
I'm a a little bit bored today, so I decided to give it a try.
If you read this during the day, do you maybe have some time in the evening testing the new features and give feedback? I don't know how far I'm getting today, I'm just starting now, so there is a chance that it will get late or even become tomorrow .

I can definitely test it tonight or tomorrow.
Jo

Okay, there is a new release 0.2.0, please give it a try.
Commit references: 6d9b938 a9c1b13 ce50d9e 0415114 65ab9ca bb4f284

I just figured out that you maybe thought of another feature: Displaying the pressed buttons. But that will be only a minor change, the main win api stuff is already done.
What would be the most tutorial viewer friendly ui to display the mouse action?

symbols around the mouse itself (+ the viewer already looks at the mouse)
entries in the keystroke history window with symbols or text
colored indication of the circle around the mouse (- may cause bad lag)

I think ill go with the first choice. time is running :D

Hi Phaiax,
Sorry for not getting back to you more swiftly. Symbols that follow the mouse, would be really useful indeed. That way they don't clutter the keystroke window and as you say, that is where people are looking already anyway. Don't place them too near though. In this editor I'm using, the mouse pointer changes shape and a little icon is added to the bottom left to indicate in which mode it's operating.
Is it possible to detect double clicks? There is a mode (extrusion of rectangular shapes), where the user double clicks on the contour, to add a point. I think this is lost for the viewer with solution I'm using at the moment.
For logging it might be handy to have them in the keystroke window anyway. Bonus points if it can be made user configurable :-) Since I'm creating video and sometimes present for a public, the best place is where the action is, though.
Many thanks for implementing this!
Jo

I started testing the new code. Indeed, what I had in mind were the mouse buttons. Something odd about this editor (JOSM) is that you need to drag the right mouse button to pan the map. This seems counter intuitive at first, but you get used to it fairly quickly.
For somebody who is demonstrating text treatment systems, triple clicks, which select an entire line, instead of a single word, might also be interesting to show more prominently.
I'' m not entirely sure what the best way for visualizing it would be. The circle placed around the mouse could be divided in 2 halves. But how can it be made clear that it''s double or triple click?
Actually, I think it would be good if the translucent circle would only become visible when one of the buttons are clicked. (or half of it, depending on which button is clicked/held, not sure about the wheel, which can also act as a button) Oh, this is more complicated than I had imagined at first...
Jo

Hi Phaiax,
This is what a screencast now looks like:
http://www.twitch.tv/polyglot_openstreetmap/v/37371257
The dead keys mentioned in another ticket, are still buggy. (as you can see in the previous message).
Cheers,
Jo

https://www.reddit.com/r/picrequests/comments/42fu5f/icon_indicating_double_click/

Hi Phaiax, those icons look really nice. Especially the ones of Mystersinister. Easy to extend to triple click and very visual. I think it may make sense to divide the mouse wheel in half, or change its shape when it's scrolled up or down.
Jo

Commit references: 898ad90 Button indicator finished
651e323 Button indicator 3
a6aaeef Button indicator 2
67d3526 Button indicator 1
ive made some which are similar. maybe there could be a white band inbetween, but i also implemented a function, that freezes the icon for a short time after a doubleclick, so it is more clear that something happened.
Try it, and give feedback please

Hi, that's looking real good. At first I was thinking, where are the 'arcs' to indicate the double click, but the icon flashing also gets the message across, I think. I have another remark now. Not sure if you'd want me to Open another ticket for it. When pressing Shift+J. All you see is 'J'. In a way this makes sense, but in the case of this editor, it's important to show that Shift is part of the shortcut key. Maybe that could be a user setting too?
Oh, when it first starts, the mouse icon is there and it seems like the left mouse button is kept pressed. Then after actually pressing it, this goes away.
Great work! I'm sold on this one now :-) This is going to be very useful to show people how to map those places that are commercially not interesting enough to map.
Cheers,
Jo

Released v1.0.0
I'm creating another issue for the Shift+S thing


"Health needs": Physical health - Tweak copy in 3 follow-on questions

 Health subsection - Physical health


feat: Migrating CLI to run on MemGPT Client

Please describe the purpose of this pull request.
See #1386
How to test
tests/test_new_cli.py
Have you tested this PR?
Yes, 1 test, 1 pass
Related issues or PRs
Addresses this issue:
Is your PR over 500 lines of code?
No
Roadmap

[ ] Add/List/Delete LocalClient

[ ] Agents
[X] Humans
[ ] Personas
[ ] Sources
[ ] Presets

[ ] Add/List/Delete RESTClient

[ ] Agents
[ ] Humans
[ ] Personas
[ ] Sources
[ ] Presets

[ ] Others (not well scoped yet)

[ ] Quickstart
[ ] Run
[ ] Server
[ ] Load
[ ] Migrate

Could you please rebase on top of main? We added some fixes to the tests.


Feature: Icon for Base 3/Kickstarter scripts

Description
On the script page, it would be good to indicate what editions are required to play.

Available in https://github.com/AdmiralGT/botc-scripts/pull/236


Add samples with both RabbitMQ trigger + RabbitMQ output binding

Add wiki to this repo
Update read me with wiki link
Update read me to include license  and contributing info. See example: https://github.com/Azure/azure-functions-servicebus-extension


Lyon add eiffel activity started

Applicable Issues
This pull request resolves #23 to add EiffelActivityStartedEvent for Lyon edition.
Description of the Change

Add EiffelActivityStartedEvent lyon edition.
Add EiffelActivityStartedEvent lyon edition tests.
Add EiffelActivityStartedEvent lyon edition samples.

Alternate Designs

Benefits

Support Lyon edition.
Possible Drawbacks

N/A
Sign-off

Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
Signed-off-by: Ahmed Abou Elfotouh<EMAIL_ADDRESS>

The pull request well be canceled, then we there is another one instead, #49


Appears bottom scroll

Appears while using the bottom scroll normalize.css. If you set the margin to the default value (8px), the scroll disappears.
ps: abolish the right margin at grid- *, scroll disappears.

+1

Hello,
Can you be more precise? Have you an example that I can see to fix it?
Thx!

Of course :) I used it building my new homepage this week (thanks by the way).
Here are two versions

Gridlex Overwritten: http://borayalcin.me/
Unchanged: http://bora.com/byme/gridlex-scroll.html

You can see it by making the screen width smaller than content. You'll see a few pixels of overflow-x and scrollbar on the second one. To prevent it I removed margin from [class*="grid"] .
Hope it helps

Hello,
this isn't really an issue: Gridlex works by default with gutters. And gutters are apply on the right and the left of each cols, so the grid needs to have negative-margins both sides (left and right).
In your page, there are 2 possibilities:
1st: add a padding on left and right egal to the gutters value (.5em by default) to your container
.site-content{... padding: 0 .5em; ...}
The advantage is that the content is not glued to the edges of the window.
2nd: use -noGutter on the grid:
<div class="grid-noGutter">
Hope this helps you.


Cover Image Upload Field Accepts Non-Image Filetypes

Laravel Version: 5.5.21
Voyager Version: 1.0.7
PHP Version: 7.1.9

Description:
Voyager default Pages datatype's image field (perhaps others) accepts PDF file as chosen by the file picker. But upload ends with an error page:
Unsupported image type. GD driver is only able to decode JPG, PNG, GIF or WebP files.
Suggestion:
Image file input element should have accept attribute defined for restricting the user to being able to choose only image files.

Agreed.  We're open for pull requests


Added feature to put padding on top or bottom of a notification so it can show above a UINavigationBar/UIToolbar

Added an edgePadding property that controls how much padding is between the bottom/top of the notification and the corresponding edge on the view.

I like the idea. However, I felt like if this was going to be done it should be a little more robust and allow for adding / subtracting padding from all 4 edges of the notification. So, taking your suggestion as inspiration, I just pushed an update which allows just that. You can see how to use it in the README but it's basically just...
self.minimalNotification.edgePadding = UIEdgeInsetsMake(0, 0, 10, 0);


Bluetooth Host = NimBLE won't compile references to BLE headers (IDFGH-1419)

Setting 'Bluetooth Host = NimBLE' (i.e., CONFIG_BT_NIMBLE_ENABLED=y in sdkconfig) will cause builds to fail if BLE headers are included.
For instance, copy the standard 'bleprph' example project & ensure it compiles.
At the top of 'main.c', add:
#include "esp_gatt_defs.h"
and recompile.
/home/mainr/workspace/bleprph/main/main.c:23:10: fatal error: esp_gatt_defs.h: No such file or directory
 #include "esp_gatt_defs.h"
          ^~~~~~~~~~~~~~~~~
compilation terminated.

Compiling older BLE example projects with 'Bluetooth Host = Bluedroid - Dual-mode' is able to properly include 'esp_gatt_defs.h'.
I believe BLE header files such as 'esp_gatt_defs.h' should be available for inclusion in NimBLE projects, but there appears to be an 'include path' issue when building this configuration.

@mws-rmain You should not include esp_gatt_defs.h in NimBLE code. It is from the Bluedroid host code and not used/applicable in NimBLE
If you see, NimBLE porting layer is kept cleaner by not adding any abstraction APIs (esp_ble_*) and maintaining all the existing APIs of NimBLE along with a couple ESP-NimBLE API for init/de-init, making it simpler for the application developers.

Of course, you're right. I took a look this morning, and found (for instance) references to the GATT attribute 0x2A29 (Manufacturer Name) in 'components/nimble/host/services/dis/include/services/dis/ble_svc_dis.h'.
Clearly porting an existing ESP bluedroid BLE app to NimBLE won't be without pain.
Best Regards.


MNT: rerender

Hi! This is the friendly automated conda-forge-webservice.
I've started rerendering the recipe as instructed in #2.
If I find any needed changes to the recipe, I'll push them to this PR shortly. Thank you for waiting!
Here's a checklist to do before merging.

[ ] Bump the build number if needed.

Fixes #2

@conda-forge-admin, please ping team

@conda-forge/core please push this PR branch to the main repo to enable the tests. Thanks


Duplicated words: "ownload package."

Appendix B ends with “Both installers are part of the VOLT download package. ownload package.”

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

ID: 7c1a0129-e23f-c785-89bc-25fb41b378c0
Version Independent ID: b2a39f6a-94ed-b3ff-effb-17b2cc31b9e1
Content: | Microsoft Docs
Content Source: typographydocs/script-development/devanagari.md
Product: windows
GitHub Login: @mijacobs
Microsoft Alias: mijacobs

Done!


Payment By Card PayPal

PayPal Android SDK Version
2.16.0
Environment
Live
Android Version & Device
No response
PayPal dependencies
implementation group: 'com.paypal.android', name: 'card-payments', version: '0.0.9'
implementation group: 'com.paypal.sdk', name: 'paypal-android-sdk', version: '2.16.0'

I Upade it to:
implementation group: 'com.paypal.android', name: 'card-payments', version: '0.0.10'
But same error occurred..
Error Message :
onApproveOrderFailure {"code":500,"correlationID":"33184faca65b5","errorDescription":"An internal server error has occurred. -\u003e [Issue: INTERNAL_SERVICE_ERROR.\nError description: An internal service error has occurred.]","detailMessage":"Error: 500 - Description: An internal server error has occurred. -\u003e [Issue: INTERNAL_SERVICE_ERROR.\nError description: An internal service error has occurred.]","stackTrace":[],"suppressedExceptions":[]}
Describe the bug
I implemented the custom card UI for payment by paypal.
It working fine but from last week it is not working in LIVE Environment.
My Code is -
CardRequest cardRequest = new CardRequest(
payPalOrderID,
new com.paypal.android.cardpayments.Card(
etCardNumberAddCardPayPal.getText().toString(),
addCardExpirationMonth,
addCardExpirationYear,
etCvvAddCardPayPal.getText().toString(),
etNameAddCardPayPal.getText().toString(),
null
),
returnUrl,
SCA.SCA_ALWAYS // default value is SCA_WHEN_REQUIRED
);
To reproduce
Implemented the according to this git hub link.
Expected behavior
Pls suggest me where i am worng.
Screenshots
No response

It looks like a PayPal server error. Let's wait for help from PayPal people.

implementation group: 'com.paypal.sdk', name: 'paypal-android-sdk', version: '2.16.0'

👋 Hello @emartynov! So this SDK only occupies the com.paypal.android namespace and the latest available version is 0.0.10. That SDK is no longer active and should not be used at all.
Are you still seeing an issue after you remove it?

@scannillo sorry that I jumped with the comment. From the topic starter message, it looks like he tried to use the kotlin SDK for the card payment. The 0.0.9 and 0.0.10 versions.
@aaaaasunil please confirm. If so you probably do not need the Paypal android SDK at all. As well it might mess up your transitive dependencies. I would try to remove that from the project completely and see if it builds.

@aaaaasunil any update on this? As @scannillo mentioned only implementation 'com.paypal.android:card-payments:0.0.9' should be needed.

implementation group: 'com.paypal.sdk', name: 'paypal-android-sdk', version: '2.16.0'

👋 Hello @emartynov! So this SDK only occupies the com.paypal.android namespace and the latest available version is 0.0.10. The com.paypal.sdk SDK is no longer active and should not be used at all.
Are you still seeing an issue after you remove it?

Yes, I am still facing the same issue after remove the implementation group: 'com.paypal.sdk', name: 'paypal-android-sdk', version: '2.16.0' it.
And update this implementation group: 'com.paypal.android', name: 'card-payments', version: '0.0.9' to implementation group: 'com.paypal.android', name: 'card-payments', version: '0.0.10'
This is working fine on sandbox environment. But in LIVE ENV it is give me "code":500,"correlationId":"801c380714d51","errorDescription":"An internal server error has occurred. -\u003e [Issue: INTERNAL_SERVICE_ERROR.\nError description

@scannillo sorry that I jumped with the comment. From the topic starter message, it looks like he tried to use the kotlin SDK for the card payment. The 0.0.9 and 0.0.10 versions.
@aaaaasunil please confirm. If so you probably do not need the Paypal android SDK at all. As well it might mess up your transitive dependencies. I would try to remove that from the project completely and see if it builds.

Thank you for reply,
I removed the paypal sdk and update the card payment 0.0.9 to 0.010 but same error occurred.


Emit a better error message if a user writes a table! macro without

id column and without explicit primary Key
Previously we did ignore that case, which resulted in the following error message:
error[E0412]: cannot find type `id` in this scope
 --> tests/fail/table_without_primary_key.rs:3:1
  |
3 | / table! {
4 | |     user {
5 | |         user_id -> Integer,
6 | |         name -> Text,
7 | |     }
8 | | }
  | |_^ help: a builtin type with a similar name exists: `i8`
  |
  = note: this error originates in the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0425]: cannot find value `id` in this scope
 --> tests/fail/table_without_primary_key.rs:3:1
  |
3 | / table! {
4 | |     user {
5 | |         user_id -> Integer,
6 | |         name -> Text,
7 | |     }
8 | | }
  | |_^ not found in this scope
  |
  = help: consider importing this function:
          std::process::id
  = note: this error originates in the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info)

This can be confusing for new users. This commit introduces an explicit check for that case and emits an targeted error messages that makes it hopefully clear what's the problem here. It also suggests to specify the first column as primary key.

commit message seems to be weirdly split but otherwise LGTM :)


[Bug]: Query database change task details throw flow instance not found exception

ODC version
4.2.3
OB version
any
What happened?
When an project owner query the details of database change task created by SQL Plan. Then not found exception is thrown.
What did you expect to happen?
Work as usual and no exception thrown.
How can we reproduce it (as minimally and precisely as possible)?
Use project common user create a SQL plan, and then use project owner query ticket list and query details of the database change task created by the SQL plan.
Anything else we need to know?
No response
Cloud
No response

pass


[PyTorch] Stop storing fused weight tensor in linear modules

We've encountered excessive memory usage with FSDP-like workflows because Linear and LayerNormLinear sometimes store a tensor for fused weights. The weight params may be manipulated externally, e.g. to deallocate them or make them views into an all-gather buffer, but the modules hold on to the original buffers and prevent any memory savings. This PR updates the _noop_cat utility function so that it no longer requires the full output tensor, but can figure things out by inspecting the pointers and strides. There is one functional difference: Linear and LayerNormLinear no longer make any attempt to readjust the params if they are not contiguous, but will just concatenate as needed. Besides, if FSDP is misconfigured it will just wipe out the existing buffers and create new misaligned weights in every forward pass, so there's no hope that TE can repair the situation.
This is related to https://github.com/NVIDIA/TransformerEngine/pull/570, which removed the fused weight tensors in cases without split weight params.

/te-ci pytorch

This PR has exposed a bug in our numeric tests. Previously, Linear and LayerNormLinear would hold onto the fused weight tensor and would "repair" the params by making sure they were views of that tensor. However, most of the tests in test_numerics.py initialize TE modules like:
block = te.Linear(...).to(dtype=dtype).cuda()

Since the module was initialized in FP32, it would "repair" FP16/BF16 params by turning them back to FP32. No wonder we were able to achieve such tight numerical tolerances.

/te-ci pytorch

/te-ci pytorch

/te-ci pytorch

The failed test is unrelated (test_layernorm_accuracy) and it passed after rerunning.

Anything holding up this being merged?

/te-ci pytorch

/te-ci pytorch

/te-ci pytorch


Application Insight does not support Azure Function with Service Bus Queue Trigger

For Azure Function with Service Bus Queue trigger, application insight SDK startOperation code (const correlationContext = appInsights.startOperation(context, mySbMsg);) throws below exception
Exception: TypeError [ERR_INVALID_ARG_TYPE]: The "url" argument must be of type string. Received undefined
Stack: TypeError [ERR_INVALID_ARG_TYPE]: The "url" argument must be of type string. Received undefined
at validateString (internal/validators.js:124:11)
at Url.parse (url.js:160:3)
at Object.urlParse [as parse] (url.js:155:13)
at HttpRequestParser.getOperationName (C:\home\site\wwwroot\node_modules\applicationinsights\out\AutoCollection\HttpRequestParser.js:120:86)
at Function.CorrelationContextManager.startOperation (C:\home\site\wwwroot\node_modules\applicationinsights\out\AutoCollection\CorrelationContextManager.js:142:26)
at Object.startOperation (C:\home\site\wwwroot\node_modules\applicationinsights\out\applicationinsights.js:141:64)
Is there plan for Application Insight NodeJS SDK to support triggers other than HTTP?

Also faced this issue and I found a workaround:
If you pass an object as second parameter of appInsights.startOperation, the library expects it to be a HTTPRequest and in the case of a service bus message, it is the actual message and not an HTTPRequest.
In order to mitigate that, pass the function name for service bus triggers instead of the sbMsg: it will be reported with the function name on app-insights dashboard.
let correlationContext: CorrelationContext;

if (context.req !== undefined) {
  correlationContext = appInsights.startOperation(context, context.req);
} else {
  correlationContext = appInsights.startOperation(
    context,
    context.executionContext.functionName
  );
}

Hi Jerome
The walkaround works, thanks.

@jeromewir We recently changed to using OpenTelemetry under the hood for context propagation. As such, this issue may no longer impact you. Please refer to OpenTelemetry JS's docs on context propagation https://opentelemetry.io/docs/languages/js/propagation/. Thank you.


Nvidia Minigo docker image can not be pulled.

When I followed the instructions here and try to build mlperf-nvidia minigo docker image with this command docker build --pull -t mlperf-nvidia:minigo . I got an error saying "unauthorized: authentication required".
I checked the Dockerfile provided by Nvidia. Here is the code lines in the Dockerfile that threw this error: https://github.com/mlperf/training_results_v0.6/blob/d2995f633eb35b84a29e932e43023cde64cc0120/NVIDIA/benchmarks/minigo/implementations/tensorflow/Dockerfile#L15-L16
Looks like this nvcr.io/nvidia/tensorflow:19.05-py3 docker image can not be pulled.

Sorry, it's just my own environmental issues.


[BUG] cython does not build with cpython main branch.

Describe the bug
Cython fails to build itself on cpython main:
  gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/tcaswell/.virtualenvs/bleeding/include -I/home/tcaswell/.pybuild/bleeding/include/python3.12 -c /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c -o build/temp.linux-x86_64-cpython-312/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.o
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_dict_or_set_maker’:
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:31385:9: warning: ‘Py_OptimizeFlag’ is deprecated [-Wdeprecated-declarations]
  31385 |         if (unlikely(!Py_OptimizeFlag)) {
        |         ^~
  In file included from /home/tcaswell/.pybuild/bleeding/include/python3.12/Python.h:48,
                   from /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:31:
  /home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/pydebug.h:13:37: note: declared here
     13 | Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_OptimizeFlag;
        |                                     ^~~~~~~~~~~~~~~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_PyErr_ExceptionMatchesInState’:
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84939:32: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_type’
  84939 |     PyObject *exc_type = tstate->curexc_type;
        |                                ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_ErrRestoreInState’:
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84952:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_type’
  84952 |     tmp_type = tstate->curexc_type;
        |                      ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84953:23: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_value’
  84953 |     tmp_value = tstate->curexc_value;
        |                       ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84954:20: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
  84954 |     tmp_tb = tstate->curexc_traceback;
        |                    ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84955:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_type’
  84955 |     tstate->curexc_type = type;
        |           ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84956:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_value’
  84956 |     tstate->curexc_value = value;
        |           ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84957:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
  84957 |     tstate->curexc_traceback = tb;
        |           ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_ErrFetchInState’:
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84963:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_type’
  84963 |     *type = tstate->curexc_type;
        |                   ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84964:20: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_value’
  84964 |     *value = tstate->curexc_value;
        |                    ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84965:17: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
  84965 |     *tb = tstate->curexc_traceback;
        |                 ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84966:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_type’
  84966 |     tstate->curexc_type = 0;
        |           ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84967:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_value’
  84967 |     tstate->curexc_value = 0;
        |           ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84968:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
  84968 |     tstate->curexc_traceback = 0;
        |           ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_IterFinish’:
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:85724:32: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_type’
  85724 |     PyObject* exc_type = tstate->curexc_type;
        |                                ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:85728:31: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_value’
  85728 |             exc_value = tstate->curexc_value;
        |                               ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:85729:28: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
  85729 |             exc_tb = tstate->curexc_traceback;
        |                            ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:85730:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_type’
  85730 |             tstate->curexc_type = 0;
        |                   ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:85731:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_value’
  85731 |             tstate->curexc_value = 0;
        |                   ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:85732:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
  85732 |             tstate->curexc_traceback = 0;
        |                   ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx__GetException’:
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:86515:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_type’
  86515 |     local_type = tstate->curexc_type;
        |                        ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:86516:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_value’
  86516 |     local_value = tstate->curexc_value;
        |                         ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:86517:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
  86517 |     local_tb = tstate->curexc_traceback;
        |                      ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:86518:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_type’
  86518 |     tstate->curexc_type = 0;
        |           ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:86519:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_value’
  86519 |     tstate->curexc_value = 0;
        |           ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:86520:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
  86520 |     tstate->curexc_traceback = 0;
        |           ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:86526:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_type’
  86526 |     if (unlikely(tstate->curexc_type))
        |                        ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:1279:43: note: in definition of macro ‘unlikely’
   1279 |   #define unlikely(x) __builtin_expect(!!(x), 0)
        |                                           ^
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_Raise’:
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:86861:34: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
  86861 |         PyObject* tmp_tb = tstate->curexc_traceback;
        |                                  ^~
  /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:86864:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘curexc_traceback’
  86864 |             tstate->curexc_traceback = tb;
        |                   ^~
  error: command '/lib/ccache/bin/gcc' failed with exit code 1

I believe that this is caused by feec49c40736fc05626a183a8d14c4ebbea5ae28 via https://github.com/python/cpython/pull/101607 working on https://github.com/python/cpython/issues/101578 .  Rolling back to 027adf42cd85db41fee05b0a40d89ef822876c97 (the previous commit) does fix cython building itself.
Code to reproduce the behaviour:
pip inst -v --no-build-isolation .

Expected behaviour
No response
Environment
OS: [e.g. Linux, Windows, macOS] linux
Python version [e.g. 3.10.2] main (2f62a5da949cd368a9498e6a03e700f4629fa97f)
Cython version [e.g. 3.0.0a11] master (94bea6677)
Additional context
No response

This is now blocking building Cython with Python 3.12.0a6.

(This also affects building other packages, not just Cython itself.)

The footprint of this in cython seems to be:
$ ack '.curexc'
Cython/Compiler/Nodes.py
10230:# type/value/tb in PyThreadState->curexc_*.  When being caught by an
10231:# 'except' statement, curexc_* is moved over to exc_* by
10248:    # the exception from tstate->curexc_* to tstate->exc_*, which prevents

Cython/Debugger/libpython.py
2507:                inf_type = tstate['curexc_type']
2508:                inf_value = tstate['curexc_value']

Cython/Utility/Exceptions.c
4:// type/value/tb in PyThreadState->curexc_*.  When being caught by an
5:// 'except' statement, curexc_* is moved over to exc_* by
32:#define __Pyx_PyErr_Occurred()  $local_tstate_cname->curexc_type
69:    PyObject *exc_type = tstate->curexc_type;
113:    tmp_type = tstate->curexc_type;
114:    tmp_value = tstate->curexc_value;
115:    tmp_tb = tstate->curexc_traceback;
116:    tstate->curexc_type = type;
117:    tstate->curexc_value = value;
118:    tstate->curexc_traceback = tb;
125:    *type = tstate->curexc_type;
126:    *value = tstate->curexc_value;
127:    *tb = tstate->curexc_traceback;
128:    tstate->curexc_type = 0;
129:    tstate->curexc_value = 0;
130:    tstate->curexc_traceback = 0;
306:        PyObject* tmp_tb = tstate->curexc_traceback;
309:            tstate->curexc_traceback = tb;
374:    local_type = tstate->curexc_type;
375:    local_value = tstate->curexc_value;
376:    local_tb = tstate->curexc_traceback;
377:    tstate->curexc_type = 0;
378:    tstate->curexc_value = 0;
379:    tstate->curexc_traceback = 0;
385:    if (unlikely(tstate->curexc_type))

Cython/Utility/ObjectHandling.c
242:    PyObject* exc_type = tstate->curexc_type;
246:            exc_value = tstate->curexc_value;
247:            exc_tb = tstate->curexc_traceback;
248:            tstate->curexc_type = 0;
249:            tstate->curexc_value = 0;
250:            tstate->curexc_traceback = 0;

and it is all behind a CYTHON_FAST_THREAD_STATE guard.
I started to look at how to fix this, but did not make it very far.


Settings to customize color of active activity bar entry

VSCode settings allow to customize the colors via workbench.colorCustomizations.
It is possible to style active as well as inactive file tabs via tab.activeBackground and tab.inactiveBackground, but in contrast the activity bar allows a general color and background color customization only (e.g. via activityBar.background). If used, the foreground color of inactive entries of the activity bar will be dimmed automatically.
Using those settings is is not possible to style the activity bar entry with inverse colors to increase readability and accessibility.
Please provide additional settings like activityBar.activeBackground, activityBar.inactiveBackground, activityBar.activeForeground, and activityBar.inactiveForeground.

@sandy081 I guess you've done most on the activity bar recently, do you want to take this?

Sure

@sandy081 let me know if there is anything you need from me.

@ramdacxp I do not think you need the list of settings you mentioned in the description. I suppose activityBar.activeForeground should be sufficient.

@bpasero FYI

Yeah, we have colors like tab.activeBackground, so I think the color key is fine.

Just to clarify, we will not introduce explicit background colors for an activity item right? The issue asks about it but https://github.com/Microsoft/vscode/pull/58517 is only foreground colors.

Yes, I mentioned the same in this comment. I do not see the need of background colours. activityBar.inactiveForeground  is enough and is missing to customise activity bar icons.

Hi, my intent was to also introduce also background color styling to the activity bar because the selected items behaves like a tab. File tabs background colors can be styled and i would like to have this for the activity bar too.

@ramdacxp I am not a big fan of having background colour for activity bar icons and I think activity bar icons and tabs are not related and current activity bar styling looks nice and simple.
@bpasero @misolori Let me know your opinions. If you think foreground colours are enough, I will close this with the attached PR.

Yeah I think so too.

@sandy081 I personally found the highlighting of the active activity bar too understated (light white instead of grey) resulting in accidental clicks on the already active item (which then closes the side bar completely). A good way around would be the enable the same styling options as for file tabs. This also would improve consistency in the settings.

Ok - i was too slow typing my last comment :)

@ramdacxp I think highlighting the activity bar by foreground or background colour will represent the same and user might still have chances to click on it again.

Verify that you can customise the colour of the inactive activity bar icon using the color activityBarInActiveForeground


iOS won’t show notifications if the app is in foreground

iOS doesn't show notification for apps in foreground

@Shreyasldl, I've fixed this bug in my PR, will keep this open until merge.


Translate K8s Requests/Limits into "Domain Size"

Currently, new instances are always created with 1 GB of RAM and a number of vCPUs equals the total detected amount on the Host. I would like to propose a "translation" between K8s Requests/Limits and the "Domain size". An initial idea would be to start with a pod description definition like:
  containers:
    - name: cirros-vm127
      image: virtlet/image-service/cirros
      resources:
        limits:
          memory: "4096Mi"
          cpu: "4"

And then have as the result a 4-vCPU, 4GB of RAM Domain.
Internally, it could be implemented by simply dividing the (already obtained and used) cpuQuota and cpuPeriod, provided that these are non-zero. Similarly, the (also already obtained) MemoryLimitInBytes could be used to determine the Domain actual memory. In case these limits are not specified by the user, just default to what is already in place, as determined/discussed in https://github.com/Mirantis/virtlet/issues/67.

Hey,
Thanks for reporting, this is already on our short term plans sadly it's not clearly visible in public. Both memory and CPU limits will be supported pretty soon (I'd say next week, really)

Hi, Virtlet supports vCPU count settings now. I've added an example of how to use CPU & memory settings in the pod definitions. Here's an asciinema demo of these settings in action.

Hello @pigmej, @ivan4th, thanks, I see it on the code now, as a Virtlet-specific annotation.
Allow me to point out that this design choice, while perfectly valid and functional, has two characteristics that - IMHO - makes it less than desirable:
a) it introduces yet another Virtlet-specific annotation (I truly believe that having VM-Pods that can be constructed with minimal differences from a "regular" Container-Pod is a plus)
b) It is not clear to me what effect will it have on the actual K8s resource management/scheduler (my initial proposal, albeit far from perfect, did allow an user to signal, through K8s, the Domain Size, giving the K8s scheduler some ability to keep track of VM resources in an integrated manner)
Anyway, just my 2 cents. Keep up the fine work, this project is highly useful. Feel free to close the issue. Many thanks.

The problem with "regular" cpu limit is that it can be specified as not only integer value, but e.g. "300m", which can not be directly transformed to vCPUs in virtual machine.
We are thinking how to resolve this issue, so this could be compatible with k8s resource management/scheduler.
I think that the simplest way to achieve this would be to support original cpus limits, but with only integer values, make it clear in documentation, and then fail at validation point when there will be request for non integer value.
So, I'm leaving this issue as open for now.

@jellonek Sure, thanks. I have an (admittedly, quite crude) implementation where I just round up cpuQuota/cpuPeriod to 1 in case the result is smaller than an unitary integer. So, if an user specifies a VM-Pod with something like cpu: "250m", K8s will be informed that this Pod expects to take up to a 1/4th of a CPU, while (Virtlet-driven) Libvirt will create a domain with one whole vCPU (the implicit assumption is that four VM-Pods such as this would share a single pCPU). Again, not a perfect solution, but it would provide more information for both the K8s Scheduler and the user.

@jellonek Sure, thanks. I have an (admittedly, quite crude) implementation where I just round up cpuQuota/cpuPeriod to 1 in case the result is smaller than an unitary integer. So, if an user specifies a VM-Pod with something like cpu: "250m", K8s will be informed that this Pod expects to take up to a 1/4th of a CPU, while (Virtlet-driven) Libvirt will create a domain with one whole vCPU (the implicit assumption is that four VM-Pods such as this would share a single pCPU). Again, not a perfect solution, but it would provide more information for both the K8s Scheduler and the user.

Rounding seems better than custom annotations, but still I think that we should describe in docs that only integer values are expected, and we should inform about error if there is other definition. Explicit is better then implicit.

Btw. #299 is a design proposal in this area.


Bugfix: Ensure receive_or_expire returns bool

This caused the deliver_loop to stop, introduced in 09c426ad7cb240d9342b6b61b54a277e49bf8451, never released
Set return type to avoid similar issues.

Think we missed failing specs due to it just hangs, i.e. no GHA failure, just timeout. Will work on improvements in a separate PR.


Animating position on exit

I'm trying create a TabView component  that animates between sliding tabs. The components height should adjust for the current tab and not be affected by the exiting tab.
I would expect this code to work, how ever the position: "absolute" is not applied on exit.
export default function TabView({ tabIndex }) {
  const tabs = [<View style={{ height: 100 }} />, <View style={{ height: 200 }} />]

  return (
      <AnimatePresence>
        <View
          key={tabIndex}
          from={{
            translateX: "100%",
          }}
          animate={{
            translateX: "0%",
             position: "relative"
          }}
          exit={{
            translateX: "-100%",
            position: "absolute"
          }}
          transition={{
            type: "timing",
          }}
        >
          {tabs[tabIndex]
        </View>
      </AnimatePresence>
      )
}

I'm not sure if this is expected behaviour or not

Why not remove the absolute position and instead use exitBeforeEnter on AnimatePresence?

I'd prefer not to use exitBeforeEnter for stylistic reasons, as I would prefer to render both the entering and exiting tabs together.
I was able to work around this issue by manually updating the style prop on my view when tabIndex changes, but it would be nice for position to be included in the exit animated props.

Is it possible reanimated doesn't allow position inside of useAnimatedStyle? I'm not entirely sure why that wouldn't work, other than the fact that it's not an animation style

It might be because it's wrapping withSpring('absolute'). Maybe we can add a custom resolver for position that implements it directly without a spring / timing function. I'd have to think about that a little after confirming position works in useAnimatedStyle

For now, as you said, I would just toggle the style prop based on the index.


Auto Install .NET Framework

Is your feature request related to a problem? Please describe.
Is not an problem on Windows 10 but when the users are using Windows xp and 7 the .NET Framework 4.7.2. is not installed by default.
Describe the solution you'd like
Auto Install of .NET Framework 4.7.2
Describe alternatives you've considered
Idk, at this moment I have no other idea.
Additional context
It is not necessary

By the way, sorry for closing your other issue. The latest commit automatically closed it. My bad! (Did it solve your problem?)
You can download .Net Framework runtime here: https://dotnet.microsoft.com/download/dotnet-framework/net472
If i remember correctly, whenever some user tries to run an application that requires it, they are prompted to download it. Am I wrong? Do you have a printscreen showing what users without the framework experience?

I will test it on an virtual machine, yes now is working no more 403 error!

By the way, sorry for closing your other issue. The latest commit automatically closed it. My bad! (Did it solve your problem?)
You can download .Net Framework runtime here: https://dotnet.microsoft.com/download/dotnet-framework/net472
If i remember correctly, whenever some user tries to run an application that requires it, they are prompted to download it. Am I wrong? Do you have a printscreen showing what users without the framework experience?

Here is the photo of windows 7 after i press OK nothing will happen

The only way to install .net framework if it isn't installed is by using a setup instead. I never tough about that solution. But everyone knows what .Net Framework is and will install it anyway when they see that error, or other installers they used in the past must certainly have install it for them. It's normal that in a VM you won't get it by default.

Ok, thanks.
Is working if i install it manually!
Case closed :D


Check for continuity on 12V

In the area above and to the right of U$18 it looks like the top side copper pour (12V, I think) might be broken by the thru-hole of INCD1 and the keep-out around the ground pad of U$18. Is this the main 12V path to the rest of the board?
It might just be a difference in the way my tools are rendering the pours, though...

That is definitely a real continuity issue. Thanks for catching that. Definitely the low point of my morning. I broke continuity there wiring up the 4th axis. I was in a huge rush to get those out because they are our longest lead time item. I am going to do a re-design next week and move all the components down so that top area is less cramped. For now I've added a wire to patch things in #8 just so the files up there aren't broken.
I checked in with the factory and its too late to do anything to the boards which are in production so I'll have to solder a wire to each of those which is pretty far from ideal. I guess this is why we do the whole beta thing.
A huge thank you again for catching that. That's a pretty big issue.

I'd like to give you credit for having spotted the problem in next week's update. Is that OK? If so, do you have a way you would be preferred to be identified? (real name, blurfl, anonymous community member...etc)

I’d as soon not be identified, if that’s OK. Participation is important, glad I could help.
While I’ve got your ear, I’ve fished an old Arduino Mega 2650 out and put the firmware on it, but it seems pretty unhappy talking to GroundControl. Is it reasonable for me to try anything without the power board? Should I open a topic on the forum, or hold off until boards get to the betas?
Keep up the great work, you and Hannah are running an exciting project in an exemplary manner!

On Feb 4, 2017, at 11:49 AM, BarbourSmith<EMAIL_ADDRESS>wrote:
I'd like to give you credit for having spotted the problem in next week's update. Is that OK? If so, do you have a way you would be preferred to be identified? (real name, blurfl, anonymous community member...etc)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/MaslowCNC/PCBs/issues/7#issuecomment-277471092, or mute the thread https://github.com/notifications/unsubscribe-auth/ABw_s68VcI_FB-r8jklNJmYoMb5_m6S8ks5rZNYwgaJpZM4L28dP.

I’ve got stacks of boards with similar errors from previous projects.  A beta wouldn’t be proper without at least one “green wire”. :) The SMD Hbridges make good sense from a manufacturing angle, though. Worth the effort of the change.

On Feb 4, 2017, at 11:38 AM, BarbourSmith<EMAIL_ADDRESS>wrote:
That is definitely a real continuity issue. Thanks for catching that. Definitely the low point of my morning. I broke continuity there wiring up the 4th axis. I was in a huge rush to get those out because they are our longest lead time item. I am going to do a re-design next week and move all the components down so that top area is less cramped. For now I've added a wire to patch things in #8 https://github.com/MaslowCNC/PCBs/pull/8 just so the files up there aren't broken.
I checked in with the factory and its too late to do anything to the boards which are in production so I'll have to solder a wire to each of those which is pretty far from ideal. I guess this is why we do the whole beta thing.
A huge thank you again for catching that. That's a pretty big issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/MaslowCNC/PCBs/issues/7#issuecomment-277469956, or mute the thread https://github.com/notifications/unsubscribe-auth/ABw_sysq9bLEBQfLsT5SAkfhP1-uTun4ks5rZNPAgaJpZM4L28dP.

I'll order green wire to make the joke complete :-)
Thanks for the support. We do our best, but we really couldn't do it without you.
I wouldn't expect the lack of a power board to matter to the serial connection. What types of issues are you seeing? I tried to increase the baud rate last week and started running into issues and stepped it back so making sure you are using the current version might make a difference. I'm working on getting a Mac computer and a Raspberry Pi set up as two more test platforms in the next week. I was seeing some connection issues on the Mac which I haven't explored yet. What type of platform are you running GC on?
It might be worth filing a bug on GC for this or making a thread in the forums. I think it's something important to explore.


Possibility of adding permit_all_actions_except and forbid_all_actions_except

Thanks for all the work guys!!
I'm proposing to add something i thought would be very useful, along the lines of:
it { is_expected.to permit_all_actions_except([:action_1, : action_2]) }
and
it { is_expected.to forbid_all_actions_except([:action_1, : action_2]) }
For example, i'm permitting more than 20 actions and a single forbidden action. This would then need 2 lines of code preventing me from using the very simple permit_all_actions method:
it { is_expected.to permit_actions([:action_1,.....:action_20]) }
it { is_expected.to forbid_action(:forbidden_action) }

With my proposal, you can just list a few actions in the except list.

We could shorten the matcher names to:
it { is_expected.to permit_actions_except([:action_1, :action_2]) }
it { is_expected.to forbid_actions_except([:action_1, :action_2]) }
Do you have any thoughts on this proposal, @tagliala?

I would leave all because it is more explicit. I think this can be useful in some scenarios. There are some situations where I would need this but it would require some effort

does not qualify for a negation (not to permit all actions except)
should check for both permit and forbid at the same time

I'm happy for us to proceed with the permit_all_actions_except and forbid_all_actions_except syntax and for you to lead the implementation @tagliala (if you want to).

Let me see if it is better to add an except parameter to permit_all

First findings:
1. This will introduce some ambiguity
Actions: x, y, z
Permit all actions except z does it mean that:
A. z is forbidden
B. z is not going to be checked
2. Complex error message
Permit/Forbid all actions message is quite simple, but now we should introduce a "conditional failure" because the failure may happen in the exception, if they should be checked to be true, so we have something like
message = +"expected '#{policy_info}' to permit all actions"
message <<
  if excluded_actions.present?
    "except #{excluded_actions}"
  else
    ','
  end
message << " but forbade #{policy_info.forbidden_actions}" # not sure, the failure may be that the "except action" should be permitted
message << user_message

Conclusion
We are doing our best to avoid ambiguity and this option will introduce new ambiguity. I would reconsider and provide the list of actions and go for permit only

A. z is forbidden
B. z is not going to be checked
Maybe the desired behaviour is A, which is also safer, but B is not wrong

A is probably what the spec writer wants, e.g.

to check that all of the actions are permitted, except for a small set of actions that the user cannot perform (e.g. delete).
to check that all of the actions are forbidden, except for a small set of actions that the user can perform (e.g. view).

However, as you pointed out, it is ambiguous.

We are doing our best to avoid ambiguity and this option will introduce new ambiguity. I would reconsider and provide the list of actions and go for permit only

Are you suggesting we should just stay with the status quo and use the permit_only_actions / forbid_only_actions matchers?
E.g. instead of
permit_all_actions_except(:destroy)
we write
forbid_only_actions(:destroy)
permit_actions(:index, :show, :new, :edit, :create, :update) # List other actions here

The main downside is that the latter list must be manually constructed. I wonder then, if we should use a composite matcher to permit the remaining actions without manually specifying the list? E.g.
# Permit all actions except destroy:
forbid_only_actions(:destroy).permitting_other_actions

# Forbid all actions except show:
permit_only_actions(:show).forbidding_other_actions

Sorry for the late reply, I've probably missed this notification.
I've just realized that permit_all_actions_except is the same as forbid_only_actions. So what we need is an alias.
...Or I'm missing something 😅

Friendly Bump

I've just realized that permit_all_actions_except is the same as forbid_only_actions

@jacobperia can you please test and confirm?

 Somehow missed that method while going through the readme. Looks like it does the job! Apologize for wasting your time!

No problem at all, I wanted to work on this feature myself :)
Closing here


pinned numpy

Hi @kevinyamauchi ,
just a quick question, I'm receiving some package version incompatibility warning messages, caused by this line. I was just wondering why numpy is pinned in morphometrics. Is there any particular known issue?
Thanks!
Best,
Robert

Hey @haesleinhuepf ! The numpy < 1.22 is due to numba’s numpy requirement. Out of curiosity, which library are you using that requires numpy >= 1.22?

Ok, cool. Just a link for completeness.

Out of curiosity, which library are you using that requires numpy >= 1.22?

I'm not sure (I saw the warning during installation using pip on another PC which I don't have access to).
I'm now wondering if it would make sense to pin numpy < 1.22.0 in devbio-napari. You know, that's the package we would like to make work on as many computers as possible, and I was thinking of adding morphometrics to it. How's you experience with morphometrics, does it always install well or are there any known issues on rare operating systems?

Ok, I found it:
pyshtools 4.10 requires numpy>=1.22.3, but you have numpy 1.21.5 which is incompatible.

pyshtools is used in napari-stress ...
I'll create an issue there. Thanks for your feedback @kevinyamauchi !

How's you experience with morphometrics, does it always install well or are there any known issues on rare operating systems?

My experience so far has been that the installation fairly straightforward. The one wrinkle is potential issues with openCL (used for an awesome library you may have heard of called pyclesperanto), but I imagine the dev-bio package already has that sorted ;)


How to delete the initial transaction/contract data except genesis block from dev network?

Hi, I set up a 4 node development network and everything works great. But I want to delete the default blocks except genesis and test with my own transaction data. Is there any way to delete the default blocks and contracts come with Dev network initialization ?

Firstly, BLocks in blockchain once created can't be deleted. As blockchain is immutable.
Secondly, the contract which is getting deployed at the time of setting up a development network is Network manager contract. This contract can not be removed from quorum maker at any point.

@frizzbuzz Once network is created using Quorum maker tool, it stores network metadata in few blocks .
As of now you can't reset quorum chain. Soon QM tool will be having reset functionality too.


Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2). Searched in the following locations:

404

Try to put google() at top of the repository list like:
repositories {
google()
jcenter()
maven {
url "https://plugins.gradle.org/m2/"
}
}


Bit Tottent - Coming Soon

Hello
Use this issue to discuss plans to support Bit Torrent.
I can see 2 options

Use a Library - https://github.com/alanmcgovern/monotorrent
Use qBittorrent API - https://github.com/qbittorrent/qBittorrent/wiki/WebUI-API-(qBittorrent-4.1)#general-information

I've set up a repo to test this stuff. Gone modern .net 8.0
https://github.com/sam-ludlow/test-bt
Using the qBittorrent API just a few settings to get up and running.

Cheers
Sam

Hmm I can't see a way to use qBittorrent API selecting individual files. The WebUI don't do it so I don't think its supported in the API?

No in my repo I have code to use the .donotdownload option to remove files that do not match a list of search strings.

I have forked mame-ao not sure why but I have this how do I proceed Sam?

I reforked and started again this may not be a problem. I now have the bittorrent branch to work on do you want to allow me commits. I have some code we can use or I can move it to my separate WPF project. I would like to make another frontend and use mame-ao process.

i think can commit is that cool.

Hello @paulmortlock  just work on a fork for now let me know when you have something working.

I've got something working

Just had to fix this for my port mapping and it kicked in.
https://github.com/sam-ludlow/test-bt/blob/fe804d683d5f7911f0d466414db9b5a069b6ca8f/Program.cs#L72

I got other front ends working on the old version, in wine on Linux even.
One has to download with mameao
And then did pointed right any front end seems to work, like just mame in
native in Linux even.
A BitTorrent addition would be cool
The problem I had with that is that
It would scan threw the BitTorrent causing downloads, like just using btfs.
Anyway, I haven't been keeping up so this may be in wrong thread.
On Sun, Oct 27, 2024, 5:49 AM Sam Ludlow @.***> wrote:

I've got something working
image.png (view on web)
https://github.com/user-attachments/assets/98b17e7c-9aa5-4c77-9dae-ec55d01fb19c
Just had to fix this for my port mapping and it kicked in.
https://github.com/sam-ludlow/test-bt/blob/fe804d683d5f7911f0d466414db9b5a069b6ca8f/Program.cs#L72
—
Reply to this email directly, view it on GitHub
https://github.com/sam-ludlow/mame-ao/issues/60#issuecomment-2439982040,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQVTVPK2P3GBMIJ5L36GNDZ5TAM3AVCNFSM6AAAAABQUV6XUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZZHE4DEMBUGA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I've got something working

Just had to fix this for my port mapping and it kicked in.
https://github.com/sam-ludlow/test-bt/blob/fe804d683d5f7911f0d466414db9b5a069b6ca8f/Program.cs#L72

I have committed changes and seems to be working well.

Sam it is still downloading files so pleased however is quite slow compared to using archive.org so far I have mad many performance fixes and is much better now. After I am using import but not having much luck.

Romvault command line can be used to scan and fix and move files correctly once it has .dat files.

Hello look promising I'll clone at some point an have a play.
Have you managed to get full file contents list from the magnet link using monotorrent?

Yes try running the mame-ao torrent branch

is there a compiled version of the branch?
|)/`. ///-|) a ()xy()zb()urne venture
On Wed, Oct 30, 2024 at 2:51 PM paulmortlock @.***>
wrote:

Yes try running the mame-ao torrent branch
—
Reply to this email directly, view it on GitHub
https://github.com/sam-ludlow/mame-ao/issues/60#issuecomment-2448352707,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQVTVMZANN7LYNMJDYTXUDZ6FBFXAVCNFSM6AAAAABQUV6XUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBYGM2TENZQG4
.
You are receiving this because you commented.Message ID:
@.***>

No you'll need to clone and build yourself.
On Wed, 30 Oct 2024, 21:03 OxyOsbourne, @.***> wrote:

is there a compiled version of the branch?
|)/`. ///-|) a ()xy()zb()urne venture
On Wed, Oct 30, 2024 at 2:51 PM paulmortlock @.***>
wrote:

Yes try running the mame-ao torrent branch
—
Reply to this email directly, view it on GitHub
https://github.com/sam-ludlow/mame-ao/issues/60#issuecomment-2448352707,

or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/ABQVTVMZANN7LYNMJDYTXUDZ6FBFXAVCNFSM6AAAAABQUV6XUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBYGM2TENZQG4>

.
You are receiving this because you commented.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub
https://github.com/sam-ludlow/mame-ao/issues/60#issuecomment-2448375754,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABWLCXSCCYVFTMXKR3F5MI3Z6FCRJAVCNFSM6AAAAABQUV6XUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBYGM3TKNZVGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

I found how you select files.
https://github.com/sam-ludlow/test-bt/blob/684079d43498d41e9ebf818e0b8b38bb2e775800/Program.cs#L279

Sam can you complete the pull request

https://github.com/paulmortlock/mame-ao/blob/85c7e8baa4665367a2234a7e80aead77464539e5/source/Torrent/StandardDownloader.cs#L79

Sam this will be slow i have a faster version waiting to be merged.

Sam can you complete the pull request

I just committed changes please check and merge.

Sam, I have got my app downloading and filtering files and more it is the mame-ao-assist repo take a look when you get a a chance. Can you see if you can import the files after they download when I try it kinda works but not sure how to check.

Hello
I have built a separate project that handles BT
https://github.com/sam-ludlow/dome-bt
If you pull the latest code this is working with Machine ROM only at the moment.
https://github.com/sam-ludlow/mame-ao/commit/fadf14b21bc8c865e1655c3c11950dd12fe77c7f
When I get the other asset types plumbed in I will be doing a BT ready release.

Cheers
Sam


Feat: read_uploads table func

Description
Motivation: Allow users to query files they've uploaded while making use of our existing credentials setup.
What this would look like for the end user:
select * from stage.'my_file.csv';

stage as the schema name is tbd
'my_file.csv' is the file the user uploaded in cloud

Implementation:

New builtin schema (stage).

Users should not be able to create objects in this schema.

Extend external dispatching rules to check the stage schema, dispatch to user files as appropriate.

Likely extension point: https://github.com/glaredb/glaredb/blob/7c4270c1334cbcee052fd264ac76b1a496d74243/crates/sqlexec/src/dispatch/external.rs#L95-L131
This should use the object store that we create on the NativeTableStorage since that will have the credentials already configured for the user bucket.
We'll need to thread stuff down related to the bucket/location of user files.

Future:

Make stage an implicit schema such that select * from 'my_file.csv' would resolve to the user file.

Question, would we eventually support DROP TABLE stage.<my_file> ?

We:

decided on not adding the glare_uploads schema
will add a table func read_uploads(filename, filetype)

I like the tablefunc idea a lot and it's such a good starting point.
I the the only thing I'd change is that it probably wants to be read_upload rather than "uploads".
I keep playing in my mind with some alternate text (because this isn't quite like the other table-funcs so maybe it's fine that it's not read_) that takes advantage of being in a FROM clause, as in SELECT * FROM glare_upload(<path>)
Let me know if you want to pair on this grey.

I the the only thing I'd change is that it probably wants to be read_upload

Yea, I think the 's' was accidental, +1 for upload

I keep playing in my mind with some alternate text (because this isn't quite like the other table-funcs so maybe it's fine that it's not read_) that takes advantage of being in a FROM clause, as in SELECT * FROM glaredb_upload(<path>)

Worth playing around with and finding what feels best. I'm generally happy with things that have a glare_ prefix (instead of glaredb_), though maybe it's beneficial to keep this one read_ for symmetry with our other table funcs - I'm unsure.
In some ways, it almost has me thinking that like we could extend our existing table funcs since this one is really doing the same thing, but in a designated location. This is a top-of-mind spitball, but imagine:
select * from read_csv('glare_uploads/hello.csv');
select * from read_parquet('glare_uploads/my-file');

If those are too magical, there's an option to add a location or similarly named option:
select * from read_csv('hello.csv', location => glare_uploads);

Let me know if you want to pair on this grey.

Sounds good

I like having this as a separate table function for the moment and adding magic in to other table funcs later if needed/wanted.


ensemble simulation of a collection of MTK models

simple function that solves a bunch of MTK models.
related to covid forecast hub task.
i can't assign but this is on me

i guess part of it may be non-uniformity in state names of the model collection

What is needed beyond https://github.com/SciML/EasyModelAnalysis.jl/blob/main/src/basics.jl#L85-L132 and https://github.com/SciML/EasyModelAnalysis.jl/blob/4ffafdb580e4d8f28dbb35e7af166a0baef85e09/src/datafit.jl#L122-L145 ?


[dxsdk-d3dx] port update to support static crt scenarios

The legacy D3DX DLLs don't use the retail CRT, so they can support 'staticcrt' scenarios
Updated port to respect the VCPKG_BUILD_TYPE == `release' settings
Minor code review and best practice update

Locally verified all supported triplets:
.\vcpkg install dxsdk-d3dx:x86-windows
.\vcpkg install dxsdk-d3dx:x86-windows-static
.\vcpkg install dxsdk-d3dx:x86-windows-static-md

.\vcpkg install dxsdk-d3dx:x64-windows
.\vcpkg install dxsdk-d3dx:x64-windows-static
.\vcpkg install dxsdk-d3dx:x64-windows-static-md

.\vcpkg install dxsdk-d3dx:x64-mingw-static
.\vcpkg install dxsdk-d3dx:x86-mingw-static

/azp run

Usage test passed on x64-windows.

Thanks!

Also thanks for kicking the broken infrastructure @LilyWangLL !


Update Index.html with my information

@josealejandrol  contribute here https://github.com/Ishaan28malik/Get-Dev-Resources


Why the status of hwameistor-exporter is displayed as NotReady

# kubectl get pod -n hwameistor -o wide
NAME                                                       READY   STATUS        RESTARTS      AGE     IP              NODE           NOMINATED NODE   READINESS GATES
hwameistor-admission-controller-5f884b7d6c-zm27k           1/1     Running       0             7h11m   <IP_ADDRESS>    prod-master3   <none>           <none>
hwameistor-apiserver-54f44f4bdf-k7dxq                      1/1     Running       0             7h11m   <IP_ADDRESS>    prod-master3   <none>           <none>
hwameistor-exporter-656546f94d-r56g6                       1/1     Terminating   0             7h11m   <IP_ADDRESS>   prod-master1   <none>           <none>
hwameistor-exporter-656546f94d-rpvxx                       1/1     Running       0             25m     <IP_ADDRESS>   prod-master3   <none>           <none>
hwameistor-local-disk-csi-controller-5d8f449758-mk62r      2/2     Running       5 (31m ago)   7h11m   <IP_ADDRESS>   prod-master2   <none>           <none>
hwameistor-local-disk-manager-4vlrv                        2/2     Running       1 (31m ago)   7h10m   <IP_ADDRESS>      prod-master3   <none>           <none>
hwameistor-local-disk-manager-6s7w4                        2/2     Running       0             7h11m   <IP_ADDRESS>      prod-worker3   <none>           <none>
hwameistor-local-disk-manager-bpnqn                        2/2     Running       1 (31m ago)   7h11m   <IP_ADDRESS>      prod-worker2   <none>           <none>
hwameistor-local-disk-manager-h9xzw                        2/2     Running       1 (31m ago)   7h11m   <IP_ADDRESS>      prod-worker1   <none>           <none>
hwameistor-local-disk-manager-msgmz                        2/2     Running       1 (31m ago)   7h10m   <IP_ADDRESS>      prod-master2   <none>           <none>
hwameistor-local-disk-manager-p4fk5                        2/2     Running       0             7h10m   <IP_ADDRESS>      prod-master1   <none>           <none>
hwameistor-local-storage-2fx95                             2/2     Running       0             7h11m   <IP_ADDRESS>   prod-worker3   <none>           <none>
hwameistor-local-storage-85spg                             2/2     Running       0             7h10m   <IP_ADDRESS>   prod-master1   <none>           <none>
hwameistor-local-storage-876x6                             2/2     Running       1 (31m ago)   7h10m   <IP_ADDRESS>    prod-master3   <none>           <none>
hwameistor-local-storage-csi-controller-5c7b85df7c-5crkr   4/4     Terminating   0             7h11m   <IP_ADDRESS>   prod-master1   <none>           <none>
hwameistor-local-storage-csi-controller-5c7b85df7c-hvd6s   4/4     Running       0             25m     <IP_ADDRESS>    prod-master2   <none>           <none>
hwameistor-local-storage-fcqmp                             2/2     Running       0             7h11m   <IP_ADDRESS>   prod-worker1   <none>           <none>
hwameistor-local-storage-hvpgh                             2/2     Running       0             7h10m   <IP_ADDRESS>   prod-master2   <none>           <none>
hwameistor-local-storage-qrj6l                             2/2     Running       1 (31m ago)   7h11m   <IP_ADDRESS>    prod-worker2   <none>           <none>
hwameistor-operator-78d868d899-6pb5k                       1/1     Running       0             7h11m   <IP_ADDRESS>    prod-master3   <none>           <none>
hwameistor-scheduler-7c7c96d44-wwt6w                       1/1     Running       1 (31m ago)   7h11m   <IP_ADDRESS>    prod-master3   <none>           <none>
hwameistor-ui-546cb99849-rh44m                             1/1     Running       0             7h11m   <IP_ADDRESS>   prod-master2   <none>           <none>
hwameistor-volume-evictor-6949d9787b-pbq5n                 1/1     Running       0             7h11m   <IP_ADDRESS>    prod-master3   <none>           <none>

/assign

looks like it should be NotReady


Storybook > Elements >Color Picker> Default >Selecting small, large mobile view Border issue.

Describe the bug

Selecting small, large mobile view Border alignment issue.
Color Picker component spacing issue, select dark theme color box border issue.

To Reproduce
Steps to reproduce the behavior:

Go to 'Elements '
Click on 'Color Picker'
Click on 'Default'

Screenshots

Desktop (please complete the following information):
-OS: [Windows 10 Enterprise]
-Browser [ edge]
-Version [ 125.0.2535.92]
Smartphone (please complete the following information):NA

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Completed -


Tracking issue: IBC Rescue Plan

Is your feature request related to a problem? Please describe.
Penumbra has its own implementation of IBC, designed around our asynchronous chain state abstractions. Historically, this implementation has been built on top of ibc-rs, using the ibc-rs types for modeling IBC messages and some standalone, stateless verification methods.
In parallel, the ibc-rs team at Informal has been working on filling out ibc-rs to include a complete implementation of IBC. This implementation is initially intended for Anoma, and is tailored to its state model.  We can't use it, because Penumbra's chain state is accessed asynchronously, so it needs an async API, and because it's gone through significant churn on the way to discovering the right abstractions for its initial use-case (Anoma), just as our IBC implementation has gone through churn on the way to our discovering the right abstractions for our state model.
In discussions with the ibc-rs team over the last year, we highlighted our view that the right move was to collaborate on a common set of domain types for modeling IBC messages, and work towards deeper integration as codebases stabilize. Historically, this has been fine, because IBC messages themselves are specified as part of the IBC protocol, and so are relatively insulated from implementation churn.
However, in February, the ibc-rs team at Informal let us know that they were planning to remove the IBC message types entirely, and shift ibc-rs from a general-purpose library to only provide an opaque IBC implementation. We let them know this would break our implementation, and they told us that they "cannot modify ibc-rs's direction" and suggested forking the code, as they'd done with Hermes, Informal's IBC relayer, when its needs also conflicted with the ibc-rs direction. (Hermes now maintains its own entirely distinct library for modeling IBC messages).
Since then, the rate of breaking changes to the parts of the crate we actually use has accelerated, and with the 0.37 revision, it's now no longer possible for us to upgrade (details in #2374). This blocks forward progress on our own IBC implementation, because it means we can't consume the ICS23 extensions we recently upstreamed that allow support for non-inclusion proofs for sparse merkle trees (as used in Penumbra, Anoma, Celestia, ...).
As a result, we need to fork the crate. This isn't a desirable outcome, but we also need our code to work.
Our hope is that over time, we can pull out minimally-scoped components bottom-up, and hope that they can be reused by different projects. This strategy has worked well so far with the ABCI domain types (upstreamed into tendermint::abci), the tower-abci crate (used by Anoma and others), the jmt crate (now co-developed with Sovereign Labs), and the penumbra-storage crate (used by at least one unreleased project in development).
Describe the solution you'd like
In the near-term, we need to rescue the IBC implementation and restore its ability to consume ecosystem upgrades.  Our fast path to doing this is:

[x] Fork ibc-rs at 0.29.0, the last version we know to work with Penumbra, and publish as ibc-types (which will eventually just be a common set of data types, not an IBC implementation). Done in https://github.com/penumbra-zone/ibc-types
[x] #2380
[x] https://github.com/penumbra-zone/ibc-types/issues/2
[x] #2381
[x] https://github.com/penumbra-zone/ibc-types/issues/3

At this point, we're back to where we started before the breakage, and can continue working on Penumbra.
In the medium-term, we extract and develop a minimally-scoped, generally useful version of ibc-types:

[x] Refactor the ibc-types crate to delete all of the module implementations and strip it down to just domain types and events.
[ ] Extend the domain types with useful utility code currently living only in the Penumbra codebase, like the create_span method that allows attaching a tracing::Span to the processing of an IBC message.
[ ] Use the TypedEvent trait we recently upstreamed into tendermint-rs to have ibc-types act as a single source of truth for the encodings of structured data in ABCI events used by the IBC implementation to notify relayers about IBC data, folding the event construction from our IBC component into the ibc-types crate.

At this point, ibc-types meets our needs, and hopefully it fills the gap in the ecosystem of having a common library for modeling IBC messages, for whatever purpose, and we could explore having either Hermes or ibc-rs depend on it and collaborate on its development, if either team were so inclined.
In the longer-term, we continue to extract our IBC implementation into a standalone, Penumbra-independent crate providing an async IBC implementation:

[ ] As part of #2288, extract it into a standalone penumbra-ibc crate depending on penumbra-storage;
[ ] Restructure the vendored verification methods so that they operate on and produce collections of state fragments, independently of how those state fragments are obtained, and upstream them to ibc-types or another crate so that they can be shared between IBC implementations;
[ ] Replace its use of the penumbra_storage::{StateRead, StateWrite} traits with an abstract state-access trait, designed to be instantiated with the penumbra_storage traits but not dependent on them;
[ ] Remove any remaining Penumbra-specific references and extract penumbra-ibc to a general-purpose ibc-async;

At this point, ibc-async is hopefully useful as a general-purpose IBC implementation, depending on a common set of modular components that could also be used by ibc-rs, if that team was so inclined.
Describe alternatives you've considered
We don't have a lot of good alternatives here.

We could use the opaque ibc-rs interfaces, despite their being synchronous.  This would require writing a lot of complex Rust code to pass in and out of async, passing tokio::Runtime handles around, etc., but all of that engineering effort is wasted on papering over an abstraction mismatch, rather than producing any useful tooling for the ecosystem.

We could adopt a hypothetical future async interface to ibc-rs.  This interface doesn't currently exist, but our code is broken now.

Neither of these options are particularly compelling.

Use the TypedEvent trait we recently upstreamed into tendermint-rs to have ibc-types act as a single source of truth for the encodings of structured data in ABCI events used by the IBC implementation to notify relayers about IBC data, folding the event construction from our IBC component into the ibc-types crate.

Done in the ibc-types repo, but we haven't updated the ibc create in the penumbra repo to match yet.

We still want to implement

Extend the domain types with useful utility code currently living only in the Penumbra codebase, like the create_span method that allows attaching a tracing::Span to the processing of an IBC message.

in the near future, to support interactive testing of IBC relaying. The other longer-term items can wait, until after v1.