SPIKE: Can The Exit this Page button stick to the bottom of the page on small screens

What
Investigate if it's possible to position the Exit this Page button as a sticky element at the bottom of the page on smaller screens.
Part of https://github.com/alphagov/govuk-design-system/issues/1755
Time limit: 1 week
Why
Following our user research on Exit this Page, there is a split opinion on if the button should go at the top or the bottom of the page on smaller screens.
Pros

The button will be easier to press for mobile device users who are more likely to hold their phones in such a way that elements at the bottom of the screen are easier to reach for
Being at the bottom of the screen makes it less conspicuous

Cons

The button may interfere with elements at the bottom of the screen/emerging elements as the user scrolls
The user is more likely to press the button by mistake
A button at the bottom may be harder to implement

The above are in part conjecture based on expertise so we want to at least do some desk research to verify these.
We previously investigate this but decided that it was premature to investigate before user research. We tracked this in https://github.com/alphagov/govuk-design-system/issues/2117 which contains some useful information.
Who needs to work on this
Developers, Designers
Done when

[x] Attempt to implement a button at the bottom of small screens to see if it's possible
[ ] Implement in the child maintenance prototype (https://github.com/Ciandelle/hidethispageprototype) to test

Implementation
Simply changing the component's CSS to use bottom: 0 instead of top: 0 does the trick for changing the position. No other code changes required.
The good
Having it at the bottom actually interferes less with the 'default' surrounding page than at the top—as it now only covers an already empty area of the footer when scrolled to the end of the page, rather than immediately covering parts of the GOV.UK header and branding.
Collapsing mobile browser UIs didn't appear to interfere with it in any recent version of Safari/iOS (tested back to iOS 10) or Chrome/Android (tested back to Android 9). The button simply moved to meet the new 'bottom' of the viewport whenever it shifted. WITH SOME EXCEPTIONS.
I don't believe that the button being at the very bottom of the screen is likely to produce a significant number of accidental activations. It is easier to press (from the perspective of someone holding a phone and using their thumbs as the interaction method) but it still requires some effort to reach below the 'resting thumb area' and activate the button.
The bad
In Safari/iOS (tested back to iOS 10), the button becomes obscured when the virtual keyboard is opened. This is because the keyboard is overlaid on the viewport and the viewport is not actually resized (kinda). It is still possible for the user to scroll the button back into view by scrolling down, and they do not need to scroll the entire length of the document to so, however scrolling up will again obscure the button behind the keyboard. This was not an issue in any Chrome/Android combos I tested.
Accidental activations are still easier than if the button was at the top.
The ugly
Although the button now covers an empty part of the footer, it is still overlapping the footer, and visually appears very close to the copyright link. Ideally we'd probably want more space here.

Thanks @querkmachine for this very thorough investigation. My thoughts on this are that the keyboard covering the button creates too much disruption for this to be worthwhile. Additionally re: the footer, we'd be relying on that space never changing creating a dependancy for this component. I vote keeping it at the top after all.

There is still a, in my mind, fairly significant problem with it being at the top of the page, however—it covers the page header and any navigation controls within it.
As noted elsewhere, we're likely to be adding a skiplink version of the button to the top of the page anyway. I'm wondering if this could do double-duty as a skiplink on desktop and as the sticky button on mobile? I'm not sure how practical that would be given the different visual treatments and viewport-conditional functionality, though.

This is probably the best idea. A couple of thoughts on this:

I mentioned in https://github.com/alphagov/govuk-frontend/pull/2940#issuecomment-1293319013 that we could treat the hidden button like a separate entity that was part of EtP's js ecosystem. I don't think that's gonna fly now as any users on a small screen but with a keyboard plugged in needs access to that esc key functionality. We'll therefore need to think about treating the 3xEsc like a singleton.
Since we're going to be styling this like a skip link on desktop and a button on mobile, we need to think about how we do this efficiently. It's going to be messy to pick one and then try to restyle it like the other and risky to ask service teams to implement special versions of both. The lesser evil in my mind is to add an attribute to the macro eg: isHidden and add some skip link shaped styling to that top one.
I'm concerned about the risk that a user has implemented the "main" EtP button but not the hidden one. We can't include it in the macro call since it's going to be far away. We will be releasing the EtP pattern so the risk is lessened somewhat. I do still wonder if we need to think about a fallback. This is very hacky, but maybe the desktop EtP retains it's position: fixed but we set its z-index lower than the mobile EtP so that the mobile EtP will always float on top of it if it's present? If the mobile EtP is using position: sticky it should create space above the header for the button so the desktop one can neatly behind it. Another hacky idea is for the skip link to create some padding above the header on mobile for the desktop button to sit in on mobile.

It's been, rather coincidentally, announced today that the next version of Chrome on Android will change their default viewport sizing behaviour when the keyboard is visible to match Safari on iOS. https://developer.chrome.com/blog/viewport-resize-behavior/
There will be a meta tag switch to use the current behaviour, but this still wouldn't resolve the problem on Safari, so this is an extra push to not place the button along the bottom of the vewport.

Closing this for now. The lack of visibility of the button when it's positioned at the bottom of the screen, and the virtual keyboard is open, is too problematic for us to consider this viable going forwards.
The discussion on whether to use the skiplink variant as the sticky button on mobile will continue elsewhere.


fix(popover): arrow position currectly in hover mode

🔗 Linked issue
Fixes #1102

❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

I just removed the 'containerStyle' computed property to prevent the addition of padding in hover mode.
📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

The padding has been added for a specific reason in hover mode, when you hover from the trigger to the panel, the popover will close itself when your mouse will move between the two.

The padding has been added for a specific reason in hover mode, when you hover from the trigger to the panel, the popover will close itself when your mouse will move between the two.

Oh I didn't know that
Tomorrow I revert this change and try to a other approach

@Hossein-Mirazimi Have you been able to find a solution?

@Hossein-Mirazimi Have you been able to find a solution?

I tried so much, but I have a bug with the dynamic popover arrow classes, but I don't know why. The classes are added to the element, but they don't seem to be applied to the CSS.
I hope this helps! Let me know if you have any ideas.


default valueType() inconsistent between text and binary

With https://github.com/amzn/ion-js/pull/291, the default return value for valueType() in binary is now null. In text, the default return value for valueType() is undefined.
See: https://github.com/amzn/ion-js/blob/development/src/IonTextReader.ts#L66-L67

valueType() is not part of the Reader interface.  Related to #252

Resolved by #315, which adds a type() method to the Reader interface, and verifies consistent behavior across text and binary readers via the ReaderCompare test suite.  Closing.


is JWE supported?

I'm currently using

com.azure.spring
spring-cloud-azure-starter-active-directory
5.2.0

to protect an API with AAD / Entra Id JWT tokens and have been asked to enable JWE to encrypt the JWT payload.  I saw some rather complete documentation on how to do that in .Net here:
https://github.com/AzureAD/microsoft-identity-web/wiki/Token-Decryption
Does the spring-cloud-azure-starter-active-directory package support validating and decrypting JWE tokens from Entra id?  If so are their docs / samples I'm not seeing here?
Thanks!

Hi @ChrisMeeusen - I'm not aware of any such documentation/samples. You might want to post your question at the Microsoft Q&A site. Thanks!


Make IBC AcceptIncomingConnectionAction configurable

Hey there,
great image! Especially the functionality to run both paper and live in one container saves the day!
Could you please make the IBC setting "AcceptIncomingConnectionAction" configurable via an environment variable?
I currently have to run with custom config and set it there because otherwise TWS does not let me  connect.
Thank you very much!

check this, it might help you
https://github.com/gnzsnz/ib-gateway-docker/discussions/74#discussioncomment-8343215
and try the first bullet point

define TWS_SETTINGS_PATH, and a volume for your settings. then you change that setting through ibgateway/tws gui

for example in .env
TWS_SETTINGS_PATH=/config/tws_settings
in docker compose
    volumes:
      - ${PWD}/config:/config

this way you can define your settings and store them

this is more secure than what you are asking for.
What you are asking, can be done, it will require a small change. But honestly i don't consider it a priority.

included in #117
next release will include the new codebase and support for AcceptIncomingConnectionAction


Performance on emotion classification is poor?

I'm try to adapt your model to emotion classification problem. I use the TIMIT config in my experiment. The result like this:
loss tensor(1.6103, device='cuda:0', grad_fn=)
loss tensor(nan, device='cuda:0', grad_fn=)
loss tensor(nan, device='cuda:0', grad_fn=)
If i do not use the norm technique, the loss isn't drop. just stay aroud 1.4
So does your model heavily depend on the hyper paramenters?

Have to tried to reduce the learning rate?
We are using SincNet with good results on emotion recognition within the
PASE project as well (https://github.com/santi-pdp/pase).
Best,
Mirco
On Fri, 13 Sep 2019 at 05:39, wrongbattery<EMAIL_ADDRESS>wrote:

I'm try to adapt your model to emotion classification problem. I use the
TIMIT config in my experiment. The result like this:
loss tensor(1.6103, device='cuda:0', grad_fn=)
loss tensor(nan, device='cuda:0', grad_fn=)
loss tensor(nan, device='cuda:0', grad_fn=)
If i do not use the norm technique, the loss isn't drop. just stay aroud
1.4
So does your model heavily depend on the hyper paramenters?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mravanelli/SincNet/issues/67?email_source=notifications&email_token=AEA2ZVR66AH2VSVSEHPK5RTQJNNUXA5CNFSM4IWN73Q2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HLGDDOQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEA2ZVRWOV5AYQNNROVLAPTQJNNUXANCNFSM4IWN73QQ
.

I try to change lots of hyper param but the model still can't learn. Like this
epoch 0, loss_tr=1.609118 err_tr=0.739583 loss_te=1.608622 err_te=0.742000 acc=0.258000
epoch 1, loss_tr=1.608155 err_tr=0.732372
epoch 2, loss_tr=1.607144 err_tr=0.732372
epoch 3, loss_tr=1.606162 err_tr=0.732572
epoch 4, loss_tr=1.605182 err_tr=0.732372
epoch 5, loss_tr=1.604224 err_tr=0.732572
epoch 6, loss_tr=1.603268 err_tr=0.732572
epoch 7, loss_tr=1.602339 err_tr=0.732572
epoch 8, loss_tr=1.601430 err_tr=0.732973 loss_te=1.600674 err_te=0.742000 acc=0.258000
epoch 9, loss_tr=1.600528 err_tr=0.732572
epoch 10, loss_tr=1.599633 err_tr=0.732772
epoch 11, loss_tr=1.598743 err_tr=0.732171
epoch 12, loss_tr=1.597895 err_tr=0.732372
epoch 13, loss_tr=1.597049 err_tr=0.732572
epoch 14, loss_tr=1.596220 err_tr=0.732772
epoch 15, loss_tr=1.595359 err_tr=0.732572
epoch 16, loss_tr=1.594593 err_tr=0.732772 loss_te=1.593635 err_te=0.742000 acc=0.258000
epoch 17, loss_tr=1.593742 err_tr=0.732171
epoch 18, loss_tr=1.592967 err_tr=0.732772
epoch 19, loss_tr=1.592224 err_tr=0.732572
epoch 20, loss_tr=1.591450 err_tr=0.732372
epoch 21, loss_tr=1.590689 err_tr=0.732772
epoch 22, loss_tr=1.589920 err_tr=0.732772
epoch 23, loss_tr=1.589237 err_tr=0.732171
epoch 24, loss_tr=1.588476 err_tr=0.732372 loss_te=1.587358 err_te=0.742000 acc=0.258000
epoch 25, loss_tr=1.587819 err_tr=0.732973
epoch 26, loss_tr=1.587101 err_tr=0.733173
epoch 27, loss_tr=1.586401 err_tr=0.732772
epoch 28, loss_tr=1.585694 err_tr=0.732572
epoch 29, loss_tr=1.585032 err_tr=0.732772
epoch 30, loss_tr=1.584427 err_tr=0.732973
epoch 31, loss_tr=1.583760 err_tr=0.732572
epoch 32, loss_tr=1.583057 err_tr=0.732772 loss_te=1.581766 err_te=0.742000 acc=0.258000
epoch 33, loss_tr=1.582421 err_tr=0.732372
epoch 34, loss_tr=1.581831 err_tr=0.732372
epoch 35, loss_tr=1.581247 err_tr=0.732772
epoch 36, loss_tr=1.580654 err_tr=0.732772
epoch 37, loss_tr=1.579964 err_tr=0.732572
epoch 38, loss_tr=1.579459 err_tr=0.733173
epoch 39, loss_tr=1.578800 err_tr=0.732171
Btw, i will try your PASE model to see if it works

If you want in the PASE repository (see the dev branch where we are
currently working) you can find a simple script
(emorec/run_IEMOCAP_fast.py) where we provide a very simple example of a
system for emotion recognition based on the IEMOCAP data. This is a minimal
example, but it could be useful.
Best,
Mirco
On Sep 13, 2019 23:14, "wrongbattery"<EMAIL_ADDRESS>wrote:

I try to change lots of hyper param but the model still can't learn. Like
this
epoch 0, loss_tr=1.609118 err_tr=0.739583 loss_te=1.608622 err_te=0.742000
acc=0.258000
epoch 1, loss_tr=1.608155 err_tr=0.732372
epoch 2, loss_tr=1.607144 err_tr=0.732372
epoch 3, loss_tr=1.606162 err_tr=0.732572
epoch 4, loss_tr=1.605182 err_tr=0.732372
epoch 5, loss_tr=1.604224 err_tr=0.732572
epoch 6, loss_tr=1.603268 err_tr=0.732572
epoch 7, loss_tr=1.602339 err_tr=0.732572
epoch 8, loss_tr=1.601430 err_tr=0.732973 loss_te=1.600674 err_te=0.742000
acc=0.258000
epoch 9, loss_tr=1.600528 err_tr=0.732572
epoch 10, loss_tr=1.599633 err_tr=0.732772
epoch 11, loss_tr=1.598743 err_tr=0.732171
epoch 12, loss_tr=1.597895 err_tr=0.732372
epoch 13, loss_tr=1.597049 err_tr=0.732572
epoch 14, loss_tr=1.596220 err_tr=0.732772
epoch 15, loss_tr=1.595359 err_tr=0.732572
epoch 16, loss_tr=1.594593 err_tr=0.732772 loss_te=1.593635
err_te=0.742000 acc=0.258000
epoch 17, loss_tr=1.593742 err_tr=0.732171
epoch 18, loss_tr=1.592967 err_tr=0.732772
epoch 19, loss_tr=1.592224 err_tr=0.732572
epoch 20, loss_tr=1.591450 err_tr=0.732372
epoch 21, loss_tr=1.590689 err_tr=0.732772
epoch 22, loss_tr=1.589920 err_tr=0.732772
epoch 23, loss_tr=1.589237 err_tr=0.732171
epoch 24, loss_tr=1.588476 err_tr=0.732372 loss_te=1.587358
err_te=0.742000 acc=0.258000
epoch 25, loss_tr=1.587819 err_tr=0.732973
epoch 26, loss_tr=1.587101 err_tr=0.733173
epoch 27, loss_tr=1.586401 err_tr=0.732772
epoch 28, loss_tr=1.585694 err_tr=0.732572
epoch 29, loss_tr=1.585032 err_tr=0.732772
epoch 30, loss_tr=1.584427 err_tr=0.732973
epoch 31, loss_tr=1.583760 err_tr=0.732572
epoch 32, loss_tr=1.583057 err_tr=0.732772 loss_te=1.581766
err_te=0.742000 acc=0.258000
epoch 33, loss_tr=1.582421 err_tr=0.732372
epoch 34, loss_tr=1.581831 err_tr=0.732372
epoch 35, loss_tr=1.581247 err_tr=0.732772
epoch 36, loss_tr=1.580654 err_tr=0.732772
epoch 37, loss_tr=1.579964 err_tr=0.732572
epoch 38, loss_tr=1.579459 err_tr=0.733173
epoch 39, loss_tr=1.578800 err_tr=0.732171
Btw, i will try your PASE model to see if it works
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mravanelli/SincNet/issues/67?email_source=notifications&email_token=AEA2ZVWQLOKMJWEJGMOERDTQJRJK5A5CNFSM4IWN73Q2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6WTAHQ#issuecomment-531443742,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEA2ZVRM3QJUZG5Y5GGTBZTQJRJK5ANCNFSM4IWN73QQ
.

Your PASE model performs very well as embeddings' input, even the code run_IEMOCAP_fast.py doesn't work well. So do you think that  is it quite hard to train SINCNET from the scratch?


Insert page as object in another page

[X] I agree to follow the Code of Conduct that this project adheres to.
[X] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Is your feature request related to a problem? Please describe.
I reuse the same process in several diagrams. I would like to show it in several other pages. When someone is following a procedure, it is difficult to switch between multiple pages, compared to having everything in one page that can be read through and followed from start to finish.
Describe the solution you'd like
I would like to be able to insert a page in the diagram with a subprocess as an object in another page. The object would render with all the shapes in the page, accept connection points, but not be editable. When the subprocess diagram is updated, the rendered diagram is also updated to be current. The page object will have a link to quickly navigate to the other page.
Could also consider allowing the page object to be collapsible, but not required for my use case. Could consider inserting a page from another diagram in a different diagram in similar fashion, but not required for my use case.
Describe alternatives you've considered
Subpages - It is difficult to relate subprocesses or parts of a to other objects in a diagram if they are in a separate page.
Copy-Paste, or make the subprocess a library object - It is difficult to ensure that if a subprocess changes, then it stays up to date.
Additional context
I think the above has enough detail and I do not have any additional context.

+1

+1

+1

+1

+1

I don't really get what all the +1's are about. Did I do something wrong in making this request?

No, but background pages already exist and they sound very like the thing you're looking for. https://www.drawio.com/doc/faq/background-diagram

Thanks for the link. It's very close, except must be applied to the entire page of the diagram. I'm looking to have be able to be able set a rectangle shape's background image to a page of the diagram. This way, the diagrams in multiple pages can be pieced together on same page and related.

OK, I follow you. But, unfortunately, we cannot technically implement that with the data model we use.


Assess range of array values during metrics computation

Motivation for the feature

While training some microscopy models, I encountered dice scores superior to 1 during the testing phase. Investigating this further, I noticed that the dice score computation here used a "float" representation for one operand (MIN 0.0 - MAX 1.0) and an 8-bit integer value (stored as a float64) for the other operand (MIN 0.0 - MAX 255.0). @mariehbourget's hypothesis for this is that data read from the NiFTI files is converted during the training pipeline but not during the microscopy testing pipeline.
Another user previously encountered something similar in #468.
Description of the feature

Besides fixing this by adding the right conversion during the testing phase, I would suggest adding some form of check for this because this kind of bug invalidates the eval metrics. Something like this:
if im1.max() != im2.max():
    raise ValueError("Range mismatch: im1 and im2 must be on the same scale.")

Alternatives

Additional context

Good catch @hermancollin, thank you!
I ran a few short tests with MRI and microscopy data.
MRI data
Example in training, where im1 is the prediction and im2 the GT from https://github.com/ivadomed/ivadomed/blob/7a595ae39e94085837582f7176b8ec59bd9a2bc9/ivadomed/training.py#L257
im1 max: 0.56155044
im2 max: 1

Example in testing, where im1 is the prediction and im2 the GT from https://github.com/ivadomed/ivadomed/blob/7a595ae39e94085837582f7176b8ec59bd9a2bc9/ivadomed/testing.py#L78
im1 max: 0.9998077750205994
im2 max: 1.0

Example in evaluation, where im1 is the GT and im2 the prediction from https://github.com/ivadomed/ivadomed/blob/7a595ae39e94085837582f7176b8ec59bd9a2bc9/ivadomed/evaluation.py#L430 Note: the order of pred and GT are inverted in evaluation, it doesn't change the result but could create confusion when debugging
im1 max: 1.0
im2 max: 0.9998078132048249

Microscopy data
Example in training, where im1 is the prediction and im2 the GT:
im1 max: 0.5082986
im2 max: 1

Example in testing, where im1 is the prediction and im2 the GT:
im1 max: 1.0
im2 max: 255.0

Example in evaluation, where im1 is the GT and im2 the prediction:
im1 max: 255.0
im2 max: 1.0

So as suspected, the range for the GT is 0-1 in training but not in testing/eval. We will have to check the loader to see where the conversion happens for training. Then see if we should convert the levels when writing the NifTi files from PNG in the loader, or when feeding the GT to testing/eval.
For the check, we should verify that the range is between 0 and 1, as commented in https://github.com/ivadomed/ivadomed/issues/468#issuecomment-705262123

Training: The GT values are read from the batch of the torch DataLoader and they seem to be normalized between 0 and 1.
https://github.com/ivadomed/ivadomed/blob/7a595ae39e94085837582f7176b8ec59bd9a2bc9/ivadomed/training.py#L255
Testing: The GT values are read "as-is" from the NifTI file. https://github.com/ivadomed/ivadomed/blob/7a595ae39e94085837582f7176b8ec59bd9a2bc9/ivadomed/testing.py#L243
Evaluation: The GT values are also read "as-is" from the NifTI file. https://github.com/ivadomed/ivadomed/blob/7a595ae39e94085837582f7176b8ec59bd9a2bc9/ivadomed/evaluation.py#L81
Conclusion: This is not a "microscopy" issue, any GT with values over 1 will present the same problem as detected by @hermancollin, also documented in #468. So the idea to normalize the value when converting the microscopy images to NifTI is not good.
I think we should check the range and normalize the values of the GT in range 0-1 before computing the metrics in both testing and evaluation, as metrics other than dice_score() are also affected. @charleygros, I would like to have you input on that. Thanks!

@mariehbourget & @hermancollin : you guys did a great job at digging this out and investigating things.
I agree, I think you well identified the root of the problem.

I think we should check the range and normalize the values of the GT in range 0-1 before computing the metrics in both testing and evaluation.

It could fix @hermancollin 's bug. But let's be careful: we want to be robust to non-binary tasks, eg vertebral labelling: C2 with label 2, C3 with label 3 etc.
An option would be to bring this back to a binary (as we do for multiclass segmentation): eg 7 vertebral labels: GT would have 7 channels, all binary, channel1 for first vertebral label, channel2 for second vertebral label. Could be done in the loader?
Cons: (i) can quickly be heavy memory-wise, (ii) what if in the future we deal with tasks encompassing 100 classes.
Would be good to discuss this matter during next meeting. But please y'all: write down and share your thoughts down here. Cheers

Thanks @charleygros for the feedback! I was not aware of the classification task you mentioned and thought the range was always "squeezed" between 0 and 1 as a float instead of binarized to 0 or 1 as an int.
If I understand correctly, there are 3 situation that we have to account for:
1) Segmentation with "hard" labels where GT values are binarized to 0 or 1 (int) after data augmentation with hardcoded threshold of 0.5 here:
https://github.com/ivadomed/ivadomed/blob/7a595ae39e94085837582f7176b8ec59bd9a2bc9/ivadomed/loader/mri2d_segmentation_dataset.py#L218

Are labels for MRI segmentation always of value 1 (hence the threshold of 0.5)?
For Microscopy segmentation, it works for training with hard labels because of GT values of 255 > 0.5, but it's not ideal since the 0.5 seems to assume a range of 0-1. Moreover it fails in evaluation because of the range 0-255, instead of 0-1.

2) Segmentation with "soft" labels where GT values are left "as-is" in float after data augmentation.
3) Classification where each GT value (ex: 1, 2, 3) represent a class and are also left "as-is" after data augmentation here:
https://github.com/ivadomed/ivadomed/blob/7a595ae39e94085837582f7176b8ec59bd9a2bc9/ivadomed/loader/mri2d_segmentation_dataset.py#L224
Is that correct?

What we called classification: "Is there a lesion in this 2D slice?" --> Yes / No (without need to localise the lesion pixel wise)
Another case is: detection.
Can be done different ways. One way in ivadomed is "bounding box". Cf tumor model.
Another way is 1 pixel, eg at the center of the structure, eg center of the PMJ, eg center of the vertebral body. I need to look at the vertebral detection PR to understand how their GT is constructed.
Sorry for messy answer. Will come back in 3hrs with a more structured one. Hope still makes kinda sense

As discussed in meeting, ivadomed assumes that GT label values for MRI segmentation are indeed 0 or 1.
In that case, we will adjust the Microscopy GT values to be 0-1 instead of 0-255 when converting the PNG files to NifTI here https://github.com/ivadomed/ivadomed/blob/7a595ae39e94085837582f7176b8ec59bd9a2bc9/ivadomed/loader/segmentation_pair.py#L294
Those NifTi files are then used for training/testing and evaluation so the values will have the same 0-1 range everywhere.

Cool! Sounds good
My only concern was in this PR, but looking at it: looks like the Class VertebralSplitting will create a GT with multiple channels: one per label, only 0s and 1s.
So: all clear


About compiling SFM module

Based on macOS 14 system, after compiling opencv and opencv_contrib, I found that there is no 'sfm' module in 'local/include/opencv4/opencv2', even though I checked the 'sfm' module in CMake. Were you compiling it on Ubuntu? If not, could you please tell me the process of compiling it on macOS? Do I need to install sfm dependencies first and then compile and download using CMake?

I compiled it on my M2 Mac.
The following links may be helpful:
https://hackyourcode.medium.com/how-to-build-and-install-opencv-4-x-on-macos-3a2ce4d82eb4
https://github.com/opencv/opencv_contrib
May want to add only sfm by adding the flag to the cmake command: -DBUILD_LIST="sfm".
If you're feeling adventurous, you can try use the no-cv-sfm branch of this repo, which has removed the sfm module dependency. However, it is completely untested, so it might not work at all (bug fixes would be welcome!)

Are you configured through a GUI interface or command line? Even after compiling and downloading the library, I still encounter the error 'module 'cv2' has no attribute 'sfm'.' I've been stuck on this for a long time and can't seem to resolve it. Could you please advise on how to fix this?

I used the command line.
If your python interpreter is able to find the cv2 module but not the sfm module within it, it means that your old cv2 install is still present. Try use pip to remove cv2 to make sure that the cv2 module is the one being built from source.

when i remove the old cv2 and make sure the cv2 module is  built from source, i am unable to find the cv2 module.

That means that you are not properly installing the opencv library which you compiled from source. Unfortunately I can't really help you with this, there are plenty of resources online which explain how to compile and install opencv from source who understand the process better than I do.

I used cmake-gui.
You probably need to confirm that sfm appears in the correct place in cmake-gui tool after you click configure, you see it, you got sfm in the compiled opencv.


AVRO-3407: interop tests for user metadata csharp

Make sure you have checked all steps below.
Jira

[X] My PR addresses the following Avro Jira issues and references them in the PR title. For example, "AVRO-1234: My Avro PR"

https://issues.apache.org/jira/browse/AVRO-3407
In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

Tests

[X] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[X] My commits all reference Jira issues in their subject lines. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[X] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain Javadoc that explain what it does

@martin-g Dang, I messed up this PR, because it was created based on master. Feel free to reject it and just add InteropDataTests.cs  and InteropDataGenerator.cs to your PR


vllm.engine.async_llm_engine.AsyncEngineDeadError: Task finished unexpectedly. This should never happen! Please open an issue on Github. See stack trace above for the actual cause.

`_requests_in_progress = await self.engine_step()
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 338, in engine_step
request_outputs = await self.engine.step_async()
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 191, in step_async
output = await self._run_workers_async(
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 219, in _run_workers_async
all_outputs = await asyncio.gather(*coros)
File "/root/miniconda3/envs/agent/lib/python3.10/asyncio/tasks.py", line 650, in _wrap_awaitable
return (yield from awaitable.await())
ray.exceptions.RayTaskError(RuntimeError): ray::RayWorkerVllm.execute_method() (pid=954874, ip=<IP_ADDRESS>, actor_id=67ba2e9c25498a976914e72a01000000, repr=<vllm.engine.ray_utils.RayWorkerVllm object at 0x7f25b2710e80>)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/engine/ray_utils.py", line 31, in execute_method
return executor(*args, **kwargs)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/worker/worker.py", line 159, in execute_model
output = self.model_runner.execute_model(seq_group_metadata_list,
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/worker/model_runner.py", line 354, in execute_model
output = self.model.sample(
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/model_executor/models/llama.py", line 295, in sample
next_tokens = self.sampler(self.lm_head.weight, hidden_states,
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/model_executor/layers/sampler.py", line 92, in forward
prompt_logprobs, sample_logprobs = _get_logprobs(
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/model_executor/layers/sampler.py", line 487, in _get_logprobs
top_logprobs, top_token_ids = torch.topk(logprobs,
RuntimeError: selected index k out of range
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 426, in run_asgi
result = await app(  # type: ignore[func-returns-value]
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in call
return await self.app(scope, receive, send)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/fastapi/applications.py", line 1106, in call
await super().call(scope, receive, send)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/starlette/applications.py", line 122, in call
await self.middleware_stack(scope, receive, send)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/starlette/middleware/errors.py", line 184, in call
raise exc
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/starlette/middleware/errors.py", line 162, in call
await self.app(scope, receive, _send)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/starlette/middleware/cors.py", line 83, in call
await self.app(scope, receive, send)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 79, in call
raise exc
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 68, in call
await self.app(scope, receive, sender)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in call
raise e
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in call
await self.app(scope, receive, send)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/starlette/routing.py", line 718, in call
await route.handle(scope, receive, send)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/starlette/routing.py", line 276, in handle
await self.app(scope, receive, send)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/starlette/routing.py", line 66, in app
response = await func(request)
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/fastapi/routing.py", line 274, in app
raw_response = await run_endpoint_function(
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
return await dependant.call(**values)
File "/workspace/functionary/server_vllm.py", line 398, in create_chat_completion
async for res in result_generator:
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 445, in generate
raise e
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 439, in generate
async for request_output in stream:
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 70, in anext
raise result
File "uvloop/cbhandles.pyx", line 63, in uvloop.loop.Handle._run
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 37, in _raise_exception_on_finish
raise exc
File "/root/miniconda3/envs/agent/lib/python3.10/site-packages/vllm/engine/async_llm_engine.py", line 32, in _raise_exception_on_finish
raise AsyncEngineDeadError(
vllm.engine.async_llm_engine.AsyncEngineDeadError: Task finished unexpectedly. This should never happen! Please open an issue on Github. See stack trace above for the actual cause.`

Hi, can you try again after installing the requirements.txt in this repo?
If it still fails, can you provide more information such as the vllm version you used, the command you used that lead to this error so I can try to reproduce?


Create a "map" React component

Some data has a lot of geographical meaning.
Create a "map" component, which can represent those data points and sets on a real map. For the map source, you can use OpenStreetMap
Be inspired by Airbnb's design: when you click on a datapoint, you will go to the relevant point of the map.
You can find many different datasets on http://www.dati.gov.it

https://github.com/italia/daf-dataportal-public/issues/3#issuecomment-334916136
not work in https

thank you, fixed!

This repo is now deprecated, issue closed. Please refer to current repository: https://github.com/italia/daf-dataportal/issues/444.


Add CI step to check whitespace

There's a lot of trailing whitespace and missing (or multiple) newlines at the end of files that can cause diffs to have irrelevant changes or even cause problems with some tools (if newlines are missing).
This adds a scripts/whitespace.sh which can both correct whitespace issues (for local use) and check that they're correct (for CI). It adds a buildkite annotation to make it easy to understand the problem and fix it.
Example of a build with a failure (typically there will be fewer issues, since each pull request will only edit a relatively small number of files): https://buildkite.com/stellar/stellargraph-public/builds/409

If this check is likely to be too annoying (although the fact that scripts/whitespace.sh can be run to fix the problems should mean that it isn't), we can always disable it in future.


Prevent js assets from being added into the public assets when targeting server

From TanStack Start discussion thread: https://discord.com/channels/719702312431386674/1280228822104674334

Currently, routers with target: "server" and type: "http", have ALL their "assets" output into the "public" directory.
Builds with shared assets therefore cause outputs in the public folder resembling a structure similar to this. In this example, the router name is "api" with its base set to "/api".
public/
  assets/
    regular-client-side-bundles.js
  api/
    assets/
      index-B-8U_3IY.js
      json-Bxz_4eXb.js

See full TanStack Start build-output: https://github.com/SeanCassiere/vigilant-journey/tree/master/.vercel/output/static
Unless "non-built js" assets are found, the "public/api/" directory could probably be omitted during build. Therefore, just outputting:
public/
  assets/
    regular-client-side-bundles.js

From @nksaraf

I think we started doing this when people were importing asset stuff in their server side and were pushing those urls to the client.. those cases we needed to make the sure the assets on the server are available from the client.. but we shouldn’t do this for the js .. just the assets probably
So yeah it’s probably a bug we should raise in Vinxi

The shared JS assets being leaked into the public folder are not currently a security concern for TanStack Start, since what's being leaked is our handler implementation and our util for easily returning json. Especially since it is common practice to store and read sensitive variables either from an external service or environment variables.
@nksaraf had solid reasoning for why the "assets" were being sent into the public folder was necessary (https://github.com/nksaraf/vinxi/pull/52 issue originating in SolidStart), as well as acknowledging that the built js probably doesn't need to be shipped to be into the public folder.
I'd try implementing a "fix" myself, but I'm just too unfamiliar with this codebase to make any changes with confidence 😅

The shared JS assets being leaked into the public folder are not currently a security concern for TanStack Start, since what's being leaked is our handler implementation and our util for easily returning json. Especially since it is common practice to store and read sensitive variables either from an external service or environment variables.
@nksaraf had solid reasoning for why the "assets" were being sent into the public folder was necessary (#52 issue originating in SolidStart), as well as acknowledging that the built js probably doesn't need to be shipped to be into the public folder.
I'd try implementing a "fix" myself, but I'm just too unfamiliar with this codebase to make any changes with confidence 😅

I may have found the issue in one file in which I dynamically import another file, so that might be the cause of it, but still, the issue is that it was leaked in the public folder when it shouldn't, especially since it's duplicated in server and public. Duplication is also another issue, since most JS files are duplicated, like file.js, file2.js, file3.js, file32.js (!) for some reason.
I'm considering a move to either Astro or Vike. I would love to contribute to the project and help fix these things, but I'm close to launching my SaaS, so time is tight.


Fixed binding type for input binding

@AlexPshul great catch! And, thanks for providing a fix for this bug. #sign-off


Using GrowBeforeQueueThreadPoolExecutor as the threadPool

We are switching to a new thread pool since it is considered dangerous to have a thread pool with unlimited threads

Looks good to me. If there are no objections I will verify and merge tomorrow afternoon.

Looks good.


ISteamInventory get_all_items, get_result_items, SteamInventoryResultReady, SteamInventoryFullUpdate

I have tested this with app id 480 and my own app id of 2957110 with a user that had items in their inventory. It works as expected.

The build is failing, can you take a look?

I like the way some methods on UGC handle call_results, to make the API more rusty. I think these callbacks can be unnecessary, if the methods return the results themselves. Also destroy_result could be called inside a drop, to prevent leaking memory on the SDK side.

The build is failing, can you take a look?

rustfmt.toml seems to be the culprit? I don't know what the issue is.
https://github.com/Noxime/steamworks-rs/actions/runs/10783447860/job/30144901658?pr=205

I like the way some methods on UGC handle call_results, to make the API more rusty. I think these callbacks can be unnecessary, if the methods return the results themselves. Also destroy_result could be called inside a drop, to prevent leaking memory on the SDK side.

So get_all_items returns a result handle, the callbacks alert as to when the result handle is ready, and
get_result_items gets the actual items with the result handle.
I had destroy_result in get_result_items but I felt if you were using one of the two callbacks or even polling the result handle that you might want to dispose in a few different ways.
That being said, all of these could be private and then we have a public getItems that uses the private functions and we get rid of the publicly usable callbacks.

The build is failing, can you take a look?

rustfmt.toml seems to be the culprit? I don't know what the issue is. https://github.com/Noxime/steamworks-rs/actions/runs/10783447860/job/30144901658?pr=205

Probably, you need to run cargo fmt to fix this


💻🔧Create a workflow using Git Actions, this workflow will check Lint errors and Type errors in the changes of Pull request.

Description
I want to add lint and type errors checking in the pull requests of the repository, so , every time you want to check the lint and type errors in the repo , go to github actions -> workflows, then simply click on the workflow you want to run , it will show the errors there are in the changed code
I will make a .yml file under .github folder -> workflows , it will contain all the information about the workflow
Please assign me this issue under GSSOC'24
Screenshots

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)

Congratulations, @mansi104-ai! 🎉 Thank you for creating your issue. Your contribution is greatly appreciated and we look forward to working with you to resolve the issue. Keep up the great work!We will promptly review your changes and offer feedback. Keep up the excellent work! Kindly remember to check our contributing guidelines

Not needed. many people dont use linter :/
Please look for other issues.


Preview : memory allocation optimisations for statement resource registrations

The extensive need for HashMap entry registrations in ResourceRegistryStandardImpl had me bothered for a while;
having finally noticed that even in complex use cases there is a strong likelyhood of this needing to store just a single entry I decided to give this approach a shot.
I'd like to add some more unit tests before merging it as custom collections are tricky to maintain; but opening the draft already so it doesn't get lost: performance results are very promising, having reduced the entry allocations by more than 20% across the whole JVM (so counting all HashMap usages from all libraries on the hot path of the reference benchmark).
cc/ @whitingjr @franz1981

Closing this PR as we won't merge such improvements on 6.2. If this is still relevant, please open the PR against the main branch.


Precision limit should not lead to HTTP 500

Description
To handle the Arithmetic overflow failure exception that appears when an import request or API is used and the precision value of a decimal datatype is wrong, a new catch block has been introduced.
Related issues
User story AB#121954
Testing
Tested with Observation resource having Value Quantity set to invalid decimal precision. Result - 400 status code was return with Arithmetic overflow error message.
FHIR Team Checklist

Update the title of the PR to be succinct and less than 65 characters
Add a milestone to the PR for the sprint that it is merged (i.e. add S47)
Tag the PR with the type of update: Bug, Build, Dependencies, Enhancement, New-Feature or Documentation
Tag the PR with Open source, Azure API for FHIR (CosmosDB or common code) or Azure Healthcare APIs (SQL or common code) to specify where this change is intended to be released.
Tag the PR with Schema Version backward compatible or Schema Version backward incompatible or Schema Version unchanged if this adds or updates Sql script which is/is not backward compatible with the code.


chore: bump proc-macro-crate to 2.0.0 in borsh-derive

Raise MSRV to 1.67
Enables getting latest toml crates in dependencies

Edit: upgrading proc-macro-crate is useful with respect to supporting borsh package rename in workspace level
This is illustrated by sample repo

@serprex please fix CI.
Or otherwise attach a short proof that minimal rust version has to be increased from 1.66 in order to support this change.
Please also provide a short memo in description, what the advantages for borsh lib of bumping proc-macro-crate from 1 to 2 are.

@frol please take a look. I'll revert second commit if it's ok to bump msrv to 1.67

@dj8yfo Thanks for staying on guard for users of borsh and avoiding raising requirements unnecessarily. This change as of now is totally fine with me.


Modification to scipy_integrate_ode_run In braket_ahs local simulator

Issue #, if available:
N/A this PR attempt to improve the performance of braket_ahs local simulator.
Description of changes:
For Analog solvers, it is generally more efficient to apply the operators to the state vector and sum the vectors instead of the current implementation, which sums up the operators and then applies that matrix to the state.
I am unsure if there are any benchmarks for braket_ahs local simulator but It is hard to tell based on what I saw in the benchmarks. If need be I can try to implement a simple benchmark to demonstrate that this will be an improvement.
Testing done:

Unit tests pass
Performance analysis shows a regression. However, I am unsure if my changes affect the benchmarks.

Merge Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your pull request.
General

[x] I have read the CONTRIBUTING doc
[x] I used the commit message format described in CONTRIBUTING
[x] I have updated any necessary documentation, including READMEs and API docs (if appropriate)

Tests

[x] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[x] I have checked that my tests are not configured for a specific region or account (if appropriate)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I ran a profiler on the new code with 10 atoms and got the following:
         ncalls  tottime   percall  cumtime  percall  filename:lineno(function)
before:      1    0.011    0.011    30.024   30.024   scipy_solver.py:16(scipy_integrate_ode_run)
after:       1    0.009    0.009    15.366   15.366   scipy_solver.py:16(scipy_integrate_ode_run)

I have checked with PR with examples 00, 02 and 05. The examples run successfully. Despite I didn't see significant speed up with these examples, the proposed changes indeed make sense, and will provide speed up for larger examples as shown in the attached tests. Hence I approve this PR.

So currently this should only work for registers with 10 or more atoms but I think I can look at the numpy solver where a similar change can be made.

Oh right I forgot that, that means what I was doing is not really testing the PR here because the examples are using less than 10 atoms. But nevertheless, I think the PR is correct. For the numpy solver, constructing the Hamiltonian is not avoidable because of this line https://github.com/aws/amazon-braket-default-simulator-python/blob/33074bdf75023fd9d7731c77018443c6927074b1/src/braket/analog_hamiltonian_simulator/rydberg/numpy_solver.py#L98. So not sure if similar things can be done there.

I can always do another PR, but from what I've seen the solver for a small number of atoms is not noticeablely slow from my experience

Yeah for smaller number of atoms, the current implementation may be efficient enough. I will let one of the engineers in Braket to take a look at this PR, then we can merge it. Thanks for the contribution!


I got the following "No such file or directory" error

OSError: [Errno 2] No such file or directory: 'captures/2015-01-15T19:23:02.144696/'
So i just created a directory "captures" in the same Folder where the main.py exists.
Don't know why but that fixed it, maybe it helps someone.

Thanks for reporting @messenjah. This is indeed a setup bug that happens when running pimotion for the first time.

@jellehenkens is there a way to fix that?

Yup, we just check for the existence of that directory and create it on startup or commit the empty directory in the source tree.

Thank you guys for the fast reply!
I am still playing around with your nice python script and it's also
important to have the "montage" tool installed. It is included in the
'imagemagick' package for example and i just installed it. otherwise you
will get a "/bin/sh montage file not found" error.
Now i am at the point that it runs fine until uploading the montage file to
CloudApp. The next step is to learn how M2X works because i am new to this.
I'll keep you up to date.
2015-01-15 20:40 GMT+01:00 Jelle Henkens<EMAIL_ADDRESS>
Yup, we just check for the existence of that directory and create it on
startup or commit the empty directory in the source tree.
—
Reply to this email directly or view it on GitHub
https://github.com/citrusbyte/pimotion/issues/1#issuecomment-70147902.

Thank you @messenjah for your feedback! We'll work on those fixes in order to make the installation & bootstrap process smoother. As for M2X, I'd recommend visiting the Developer Portal, the Get Started tutorial and the API Documentation. We also hang in the #m2x channel in irc.freenode.net if you have any questions about it.


implement Watir::Executor

I believe this is closer to the implementation we discussed a year ago for the waiting strategies.
This code is just providing parity with existing code. I actually like pulling all of this out of the Element class since it removes so much clutter.
There are several additional features I'm thinking about, but for now I'd like to consider this a private api while we figure out what things we want to open up for users to do.
Looking for input on syntax, naming, implementation, anything. Thanks!

Future features I'm imagining:
Watir.executor.add_hook(:before_click, ->(o) { puts "I'm so excited to click #{o.inspect}!" }
Watir.executor.add_hook(:after_text, ->(o) { puts "Retrieving text from #{o.inspect} made me happy" }
Watir.executor.add_hook(:rescue_submit, ->(o) { puts "Uh Oh: #{o.browser.span(class: 'error').text}" }

Changing wait strategies can currently be done by subclassing
Something like these could be fun:
Watir.executor.change_strategy(:element, :set, :exist, timeout: 4, include: [:text_field, :textarea])
Watir.executor.change_strategy(:alert, :ok, :none, timeout: 4)

We could also do these as arrays so you can take more than one action at a time, essentially re-implementing after_hooks in an extensible way.
These things are all likely low priority, though

This is interesting, let me think about that and get back later.

Let me know your ideas. I don't necessarily love this implementation, but I keep finding ways to make #element_call more messy, so I figured it might make sense to do something more like what we talked about doing a year and a half ago.

I have a gem called Captain Hook that adds before/after hooks to arbitrary objects.  I built it for the purpose of DRYing up my automation code.  I've tied it in at the PageObject layer but there's no reason it couldn't be tied into Watir.
I have a gist up of the PageObject extension if anyone wants to take a look.  I've been testing it in a large project for the past few weeks before actually releasing the extension.  It works be replacing the "_element" method PageObject adds to return a Watir element wrapped by a Captain Hook "Hookable" wrapper (A small SimpleDelegator wrapper).
With it I can declare a set of hooks like so:
WFA_HOOKS ||= CptHook.define_hooks do
  after(:click).call(:wait_for_ajax)
  after(:set).call(:wait_for_ajax)
  after(:value=).call(:wait_for_ajax)
  after(:check).call(:wait_for_ajax)
  after(:uncheck).call(:wait_for_ajax)
end

Then use them when I declare the elements:
button_hooked(:cancel_dialog, data_bind: /cancelDialog/, hooks: WFO_HOOKS)

Hooks can be combined for composition:
  SEARCH_HOOKS ||= define_hooks do
    before(:value=).call(:ensure_search_element_visible)
  end
  text_field_hooked(:search, id: 'cmboJobReference', hooks: SEARCH_HOOKS.merge(WFA_HOOKS))

The DSL allows for more complicated hooks where parameters are passed as well as using procs/lambdas.  It also has the notion of a "context" for the method call, allowing the hook to make calls on other objects.
  DASHBOARD_MENU_HOOKS ||= define_hooks do
    before(:click).call(:ensure_visible).with(:dashboard).using(:page)
  end

@Donavan thanks for the link to the code. I saw you post it to PO gem, and I almost mentioned our intention to add Watir::Executor to Watir 7.
Of course, this PR is way out of date, and was mostly a proof of concept anyway. I need to redo it with the latest logic and throw down some example code.
I like the syntax of your usage, though I'm not sure what it would take to implement it using Watir, or how that would compare to the approach I'm investigating. I will also admit that I have a personal bias against the delegator class because I find it harder to debug through. It's another reason I'm not a huge fan of the PO gem itself, it over-complicates a lot of otherwise straightforward things.
I'll dig into this more when we get closer to Watir 7. I have a lot of work in the Watir::Capabilities class before I can get to it, though. :-/

With PageObject I'm making their element wrappers subclasses of CptHook::Hookable.  For Watir I'd just skip the whole SimpleDelegator base.  Maybe turn the core functionality into a module that could just be included into Watir::Element.

Hi, I'm wondering if this Executor can help with error handling as well. Sometimes operations over elements can raise strange errors because of browser/page non-deterministic behavior depending on browser window size or just performance. e.g. clicking an element results in element is not clickable at point error.
I have implemented some begin/rescue logic around click and other operations to scroll element to the middle, close menus, retry, etc. in such occasions. But would be interesting if custom error handling can be added through this Executor.


Sort by Recently Started and Recently Closed

Background
We have the following sorting strategies:

Relevance (default): let the backend/Elasticsearch decide the order.
Recently Registered: The way to be aware of the latest challenges that "came into existence".
Most Starred: Sort challenges by "popularity".
Starting Soon: Find challenges to participate in before they start.
Closing Soon: Last chance to participate in a challenge before it closes.

Kaggle has additional sorting strategies, including these two that may be interesting:

Recently Launched: These challenges have started and you can now participate in them!
Recently Completed: Time to check the results! (there may be some delay before results are published after the end of the challenge).

@rrchai @vpchung Do you agree to add these two extra sorting strategies?

The above post prompt the following question: Do you remember what was the definition of status: completed and how is this value set? There are two options:

Option 1: The maintainer of a challenge is responsible for setting the status of a challenge. This approach has the benefit that the challenge can be marked as completed after the challenge no longer accept submission, e.g. mark the challenge as completed after the publication of the results.
Option 2: We automatically set the status depending on the start and end date. With this approach the maintainer does not have to maintain this property. They would still be responsible for maintaining the start and end dates.

@vpchung @rrchai @chepyle Thoughts?

I'm not a huge fan of "Recently registered" -- it wouldn't be clear to me right away what is meant by "Registered".  Instead, can we maybe use "Recently added" or "Just added"?  I like "Recently Launched" and "Recently Closed"!

The above post prompt the following question: Do you remember what was the definition of status: completed and how is this value set?

Hmm... this is hard to say.  I like the idea of Option 2, however, that does require the organizers or maintainers to not only manage the timeline on their challenge-running platform of choice, but also on OpenChallenges as well.
Then again, that argument can also be applied to Option 1.... so again, hard to say.

I'm not a huge fan of "Recently registered" -- it wouldn't be clear to me right away what is meant by "Registered". Instead, can we maybe use "Recently added" or "Just added"? I like "Recently Launched" and "Recently Closed"!

1
Since Starting Soon, Closing Soon, Recently Launched, Recently Completed can cover most time related sorting,  will the "Recently registered" filter be often used for users? One possible use case come into my mind is when the users would like to see the latest challenges without start date decided yet, but will the users be interested to check the challenges has no plan to launch yet? From my perspective, maybe we could consider to hold "Recently registered" sort for now until it's requested and other sort options are great!

Option 1: The maintainer of a challenge is responsible for setting the status of a challenge. This approach has the benefit that the challenge can be marked as completed after the challenge no longer accept submission, e.g. mark the challenge as completed after the publication of the results.
Option 2: We automatically set the status depending on the start and end date. With this approach the maintainer does not have to maintain this property. They would still be responsible for maintaining the start and end dates.

I think Option 2 is more reasonable. If the end date is passed, but the challenge is changed to "active", which might confuse the users, at least me. Thus, the maintainer of challenge would be better to change the close date to trigger the option 2.

I like the idea of Option 2, however, that does require the organizers or maintainers to not only manage the timeline on their challenge-running platform of choice, but also on OpenChallenges as well.

I hope the openchallenges can interact with other platforms to auto update the start/end date one day.

From my perspective, maybe we could consider to hold "Recently registered" sort for now until it's requested and other sort options are great!

I agree with you. We can keep remove it form the app while keeping it in the API.

Verera:

The keyword "register" may have multiple meanings: 1) a participant register to a challenge, 2) register a challenge on OpenChallenges.


[powershell] Update to 7.0.3

Update Powershell to 7.0.3 to solve the crash issue when calling the script applocal.ps1 to find dependencies.
Fixes #12849.

I agree with @ras0219 ; we shouldn't force vcpkg upgrade to reinstall those ports over this. Rebased on master without those edits and will merge once CI comes back.

/azp run

Thanks for your contribution!


update source forge page

It lists VisIt 1.5.5 as the current version.
-----------------------REDMINE MIGRATION-----------------------
This ticket was migrated from Redmine. As such, not all
information was able to be captured in the transition. Below is
a complete record of the original redmine ticket.
Ticket number: 1428
Status: Pending
Project: VisIt
Tracker: Bug
Priority: Normal
Subject: update source forge page
Assigned to: -
Category: -
Target version: -
Author: Cyrus Harrison
Start: 04/19/2013
Due date:
% Done: 0%
Estimated time:
Created: 04/19/2013 12:15 pm
Updated: 05/07/2013 05:31 pm
Likelihood: 3 - Occasional
Severity: 2 - Minor Irritation
Found in version: 2.6.2
Impact:
Expected Use:
OS: All
Support Group: Any
Description:
It lists VisIt 1.5.5 as the current version.
Comments:

Outdated.


Document relationship to rustls config better

The relationship/interactions of this crate to rustls configs isn't very obviously documented. The high level methods on AcmeConfig also don't allow supplying your own rustls config. This may be good as is... or not.
Maybe the high-level incoming() should be extended by adding a variant which gives the user more control over the rustls details via a callback (just providing may not be enough for all usecases as the reliance of this crate on checking alpn before picking a config demonstrates).

See comments on #37 regarding handing over control to user after client hello


Spread (call and array) (ES6) sample

See https://www.chromestatus.com/feature/6031334694715392

@surma worked on https://github.com/GoogleChrome/samples/pull/116. We should check if there's anything else we want to tackle there and if the sample requires updating.

We've had to unship Spread as well for this release. Let's focus on the other samples.

This was added after the fact: https://github.com/GoogleChrome/samples/tree/gh-pages/spread-operator


Duplicated Item

I think [Phoenix] and [Pull-to-Refresh.Rentals-Android] in layout category is same things
this two repo point same things
please check it sir

@dhkfcm000
thanks!!
fixed.


Indiana Jones and the Emperors Tomb

Indy has gotten a new haircut i think and I'm not sure i like it.

Screenshot

Software information
Indiana Jones and the Emperors Tomb
System information

GPU: R9 380
Driver: radv 22.2.1
Wine version: proton experimental
D8VK version: https://github.com/AlpyneDreams/d8vk/commit/2f048dc41e867384fbe5a9a1d5d83bf64e0a86a4

Apitrace file(s)
https://mega.nz/file/klRQWRiA#aWgsHgV6abUCXuQ2OBh9FSVbBFTAv_QZ3zK1hR-XbNw
Log files
indy_d3d9.log
d3d8.log empty

Indy's bad hair day has been solved on latest master.
Some new issues have shown up tho. Alot of objects have black textures and Indy's body and animations are a bit malformed.
The trace in the original issue shows the issues.

Screenshot of black textures:

Video of Indy:
https://youtu.be/ZQ4dejM59Dk

My last two commits should have fixed this game. Let me know if everything works as expected so I can close the issue.

Game is looking good now. I have played a bit on my R9 380 without encountering a issue


APIm

Would be great to expose the api via apim and show how to lock access to the api using.
Particular focus is on ci cd process for getting swagger from the api into apim.

Partially done - api is now called via apim consumption tier.


Sign in as a guest

What is this issue related to?
Feature
Description
Implement "Sign in as a guest" feature that allow users to access limited features of logoexecutice platform without any user registration.
This feature will be used for giving a brief showcase how our platform works. This session will expire after a set period of time or when user's inactivity.
Requirements:
Endpoint Creation:

Create a new API endpoint /api/auth/guest-signin for signing in as a guest.

Guest Session Management:

Generate a unique guest token upon successful guest sign-in.
Store the guest session in the database with an expiration time (e.g., 24 hours).
The session should be invalidated if the user decides to sign up or log out.

Expected Behavior
Access Control:

Implement access control to ensure guest users can only access specific parts of the application.
Define what resources and endpoints are accessible to guest users.

Current Behavior
No response
Additional Information (optional)
No response
Confirmation Checklist

[X] I have searched for similar issues before creating this one.
[X] I have provided all the necessary information to understand and reproduce the issue.

@aps08 assign this issue to me ( @surajmaity1 ) and @TusharAnekar

@MukulGupta005

@soma2000-lang if you are not working on this let us know.

@aps08 Sorry have been going through many stuff , will give you an update this friday


LSP (Python and Java Intellisense) #1104

Python / Java local lsp implementation using app extension. See #1104.

More changes are needed to enable LSP features like jump to definition and semantic highlighting but it works well as it is. Merging to test the feature on TestFlight first.

Note: Java needs an additional 53MB src.zip file for system classes definition. It is not included for now.


[BEAM-10925] Add rule to replace Calc with BeamCalcRel for ZetaSQL UDFs.

The rule isn't used yet because there are no USER_DEFINED_JAVA_SCALAR_FUNCTIONS yet.
Most of this code was originally written by @amaliujia.
R: @amaliujia @apilloud

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

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

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

We will need to reject the mixed UDF and builtin functions queries before calc/rule splitting happen.


updated the footer part

I have updated the footer part when the device width is smaller than 500 i.e., the whole content lies at the center.

Solve the issue #79

@youtanimstar , please label my issue hacktoberfest and I already provide the solution for the responsive footer.

hey @youtanimstar, merge it quikly


Kenichi, Q3 interviewing

Interviewees: University students, anyone interested in AI, Web3 Contributors from DeSci and DeFi space
Total 4 people
4 x individual half-hour interviews; total 2 hours
$100

4 interrviewees confirmed and should be done by end of this week!

3 interviews completed. One more scheduled for later today.
First Interview:

Time: 32:47mins
Interviewee: Student of Animal Science

Second Interview:

Time: 39:02mins
Customer relations specialist

Third Interview:

Time: 39:48mins
Fullstack Developer

Google Drive: https://drive.google.com/drive/folders/1C7QKuOydqaLUaFiwyndUi6manBWOpJXT?usp=sharing

Fourth Interview: Designer

Was scheduled for earlier today but the national grid is down right now and due to power outage I'll have to reach out the interviewee tomorrow for as rescheduled

this is complete, all the interviews (4) have been added to the folder on google drive provided by Esther

the link is also provided above


"Load more" button in explorer/account

Hide "Load more" button if there is nothing to load more

:heavy_check_mark: Fixed


dense_flow Compile Error

error occurred at cmake step

I also meet this issue, while compiling to install opencv2.4:
-- Looking for linux/videodev.h
-- Looking for linux/videodev.h - not found
-- Looking for linux/videodev2.h
-- Looking for linux/videodev2.h - found
-- Looking for sys/videoio.h
-- Looking for sys/videoio.h - not found
-- checking for module 'libavcodec'
--   found libavcodec, version 58.35.100
-- checking for module 'libavformat'
--   found libavformat, version 58.20.100
-- checking for module 'libavutil'
--   found libavutil, version 56.22.100
-- checking for module 'libswscale'
--   found libswscale, version 5.3.100
-- checking for module 'libavresample'
--   package 'libavresample' not found
-- Looking for libavformat/avformat.h
-- Looking for libavformat/avformat.h - found
-- Looking for ffmpeg/avformat.h
-- Looking for ffmpeg/avformat.h - not found
Some files not exist in Ubuntu system.

@banzhuan37 @huiyang865 : Please show your full error log. The current snapshot doesn't provide any useful information. Also please specify your environment, like other issues do.

This issue is from opencv-2.4 installation.
When I install the opencv-4.1 release, everything is OK.
Suggest to close this issue. @banzhuan37

Closing this. Please feel free to reopen it if you meet any further problem.


display nuklear transaction details on one column

This changes the layout of the nuklear transaction details page to display transaction details using a single column instead of two columns.
This fixes #335

Details look okay. Placement of the Back button is no good. Can probably just use the same 'bread crumb' style that http uses.

Details look okay. Placement of the Back button is no good. Can probably just use the same 'bread crumb' style that http uses.

Use of breadcrumb as been implemented

tested locally, worked fine.

the space between the type and the amount is too much (blue line on screen shot).
and would look nicer if the table items at the bottom half of the tx's aligned with those on the top half (red lines on screenshot).

updated screenshot

Inputs need an account name column as well, compare the screenshot from the mobile app:

Other things to note:

Date not Time
Show Status

done

the issue with the tx alignment doesnt seem resolved from what im see here please take a look and ensure u pushed ur modified codes.

please take a look at the screenshot and notify when done.
Also add the status field to the transaction details page is status confirmed or unconfirmed. Status is part of the tx returned just call it.

Done

Updated screenshot


Update app-service-web-tutorial-connect-msi.md

Correct the connection string reference to the existing configuration.

@jaridmck : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Workorderreceiptregistry

Replaces #361

You might need to rebase @Amxx. There was a breakage that was fixed in https://github.com/hyperledger/avalon/pull/381.

The last commit fails for Sign-off. You could amend the commit and push again.


Make Events Awaitable to Fix Session Ending

Please also remove the code that dealt with session manager getting results from the event listeners.

Craig did this! Closing.


[5.0 beta 13] Issue with define replacement using esbuild

Describe the bug
I am an author of npm package and in my published package it contains expression like import.meta.env.VITE_API_ORIGIN so my downstream user can use environment variable to override it. I publish my package using vite and I use the define: {"import.meta.env.VITE_API_ORIGIN": "import.meta.env.VITE_API_ORIGIN"} in the vite.config.ts to preserve this expression during transpilation. This works well in v4 and v5 beta until the breaking change in https://github.com/vitejs/vite/pull/11151 and I have not found a workaround yet. I have tried using @rollup/plugin-replace but also no luck there.
Reproduction
https://stackblitz.com/edit/vitejs-vite-yht5de?file=vite.config.ts,src%2Findex.ts,package.json,dist%2Findex.js&terminal=dev
Steps to reproduce
Run yarn followed by yarn build
Then go to the dist/index.js file
When using vite 4.5.0, the output is
const t = import.meta.env.VITE_API_ORIGIN;
export {
  t as myurl
};

My users who import this package can use a .env file to change this variable.
When using vite 5.0.0-beta.13, the output becomes
var e = { BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 };
const t = e.VITE_API_ORIGIN;
export {
  t as myurl
};

The difference here is import.meta.env expression disappears and my downstream users can no longer use environment variable to perform replacement in the library.
System Info
System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 18.18.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 9.4.2 - /usr/local/bin/npm
    pnpm: 8.9.2 - /usr/local/bin/pnpm
  npmPackages:
    @vitejs/plugin-react: ^4.1.0 => 4.1.0
    vite: ^5.0.0-beta.13 => 5.0.0-beta.13

Used Package Manager
yarn
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Thanks for the report. It seems like an optimization I made here:
https://github.com/vitejs/vite/blob/d5d96e712788bc762d9c135bc84628dbcfc7fb58/packages/vite/src/node/plugins/define.ts#L52-L60
Was actually causing issues as the unreplaced import.meta.env.VITE_API_ORIGIN identifier was still getting replaced by the import.meta.env object. I think removing that should work.


Move container and runtime to plugin pkg

Also remove the LinuxContainer type as it is no longer used.

LGTM

LGTM


pg operator should check if the status table exists in advance before trying to create the table

pg operator records the status of workflow tasks in the target PostgreSQL database (a.k.a. status table) so that it achieves exactly-once semantics. But this way requires some privileges including CREATE TABLE. For the case DBA doesn't want to give those permissions to the workflow, pg operator also provides an option to prepare status table  in advance.
We recently noticed it doesn't work expectedly since pg operator still issues CREATE TABLE IF NOT EXISTS that requires CREATE TABLE privilege and fails even when status table is already created in advance.
This PR makes pg operator check if status table exists in advance before trying to create the table to avoid this issue.

Thanks!


--cosmos-grpc does not work for custom port (Umeemania Testnet)

Summary of Bug
Using --cosmos-grpc to assign an custom gRPC port did not work.   I would receive:
Waiting for cosmos gRPC service...
state of gRPC connection not ready: TRANSIENT_FAILURE

Version
Please provide the output of the following commands:

$ umeed version HEAD-86842a207ab7868c3073a6734d72b25cf768cbe6
$ go version  v1.18
$ uname -a Linux t-grade-validator 5.4.0-121-generic #137-Ubuntu SMP Wed Jun 15 13:33:07 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Steps to Reproduce
Steps to reproduce the behavior:

Set gRPC in app.toml to a non-9090/9091 port number and restart umeed

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

flag --cosmos-grpc is for peggo :thinking:
On umee you can set [grpc] address in .umee/config/app.toml or overwrite that with --grpc.address
check the available flags with umeed start --help
Closing this for now


K8SPS-202 fix the restoration of the backup

We have cases when replica source should be changed during the restore process e.g. primary was pod-2 and replicas were pod-0 and pod-1. So, during the restore typology will be changed to pod-0 (primary) and pod-1 and pod-2 will be
secondary. That is why during the bootstrap we need to change 'CHANGE REPLICATION SOURCE' but this operation cannot be performed with running replication threads. We need to stop it before we change the replication source.

Test name
Status

init-deploy
passed

demand-backup
passed

auto-config
passed

gr-init-deploy
passed

monitoring
passed

semi-sync
passed

service-per-pod
passed

config
passed

sidecars
passed

gr-demand-backup
passed

limits
passed

version-service
passed

one-pod
passed

tls-cert-manager
passed

scaling
passed

users
passed

We run 16 out of 16

commit: https://github.com/percona/percona-server-mysql-operator/pull/225/commits/0f2aaac61e6655935bed38e953ce404e1570d763
image: perconalab/percona-server-mysql-operator:PR-225-0f2aaac

Test name
Status

demand-backup
passed

init-deploy
passed

auto-config
passed

gr-init-deploy
passed

monitoring
passed

semi-sync
passed

service-per-pod
passed

config
passed

sidecars
passed

limits
passed

version-service
passed

one-pod
passed

tls-cert-manager
passed

gr-demand-backup
passed

scaling
passed

users
passed

We run 16 out of 16

commit: https://github.com/percona/percona-server-mysql-operator/pull/225/commits/84837af19ffc240a99aaf6920660eb9c509bafd4
image: perconalab/percona-server-mysql-operator:PR-225-84837af

Test name
Status

auto-config
passed

demand-backup
passed

init-deploy
passed

gr-init-deploy
passed

monitoring
passed

semi-sync
passed

service-per-pod
passed

config
passed

sidecars
passed

gr-demand-backup
passed

limits
passed

version-service
failed

one-pod
passed

scaling
passed

tls-cert-manager
passed

users
passed

We run 16 out of 16

commit: https://github.com/percona/percona-server-mysql-operator/pull/225/commits/02611f54c232905804f219fb85cc4be77d6730e4
image: perconalab/percona-server-mysql-operator:PR-225-02611f5


Window Tiling

Description
Tiling is wonked out, and it is running at maybe 240, 1080 (out of my 1920, 1080) and my second monitor is frozen on the last screen that it showed, and I am unable to see my mouse, nor interact from the screen. This happens until I close ALVR.
General Troubleshooting

[ ] I carefully followed the instructions in the README and successfully completed the setup wizard
[ ] I read the ALVR Wikis here and here

Environement
KDE Plasma Version: 5.24.4
Hardware
[Note: for Linux, an upload to the hw-probe database is preferred: hw-probe -all -upload](https://linux-hardware.org/?probe=3d9af3df5a)
Installation
ALVR Version: v18.2.1
SteamVR Version: 1.21.12
Install Type:
AUR (Add/Remove Software)
OS Name and Version (winver on Windows or grep PRETTY_NAME /etc/os-release on most Linux distributions): Manjaro Linux
https://user-images.githubusercontent.com/34905857/166068787-aa33d3ac-609a-403f-9231-54bab484e25e.mp4

This issue appeared to fix itself when I paired my headset.


Added line break in dumpInfo

A line break is needed in dumpInfo to keep the two lines separate; one
has been added so order can be restored.

Thanks for your help !


Open in split instead of floating window

I'd like to use this plugin with edgy.nvim. However, when I try setting it up, the window is not docked like the others.
To achieve that, I would need a way to open the window in a split, not a floating window. Would that be possible ?

Not possible currently. But I will work on it.


Bazel Error :  git apply ..\mediapipe\third_party\bazel_android_fixes.diff

Plugin Version or Commit ID
v0.10.0
Unity Version
2021.3.3f1
Your Host OS
Windows 10 Docker
Target Platform
UnityEditor
[Windows Only] Visual Studio C++ and Windows SDK Version
No response
[Linux Only] GCC/G++ and GLIBC Version
No response
[Android Only] Android Build Tools and NDK Version
No response
[iOS Only] XCode Version
No response
Command Sequences
git apply ..\mediapipe\third_party\bazel_android_fixes.diff
Log
C:\mediapipe>git clone https://github.com/bazelbuild/bazel.git C:\bazel
Cloning into '/c/bazel'...
remote: Enumerating objects: 618446, done.
remote: Counting objects: 100% (1186/1186), done.
error: RPC failed; curl 56 OpenSSL SSL_read: Connection reset by peer, errno 104
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
C:\mediapipe>git clone https://github.com/bazelbuild/bazel.git C:\bazel
Cloning into '/c/bazel'...
remote: Enumerating objects: 618446, done.
remote: Counting objects: 100% (1186/1186), done.
remote: Compressing objects: 100% (637/637), done.
remote: Total 618446 (delta 509), reused 1028 (delta 387), pack-reused 617260
Receiving objects: 100% (618446/618446), 836.63 MiB | 14.48 MiB/s, done.
Resolving deltas: 100% (386733/386733), done.
Updating files: 100% (9340/9340), done.
C:\mediapipe>cd C:\bazel
C:\bazel>git checkout 5.0.0
Updating files: 100% (3703/3703), done.
Note: switching to '5.0.0'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 41feb616ae Release 5.0.0 (2022-01-19)
C:\bazel>git apply ..\mediapipe\third_party\bazel_android_fixes.diff
error: patch failed: src/main/java/com/google/devtools/build/lib/bazel/rules/android/android_ndk_cc_toolchain_template.txt:14
error: src/main/java/com/google/devtools/build/lib/bazel/rules/android/android_ndk_cc_toolchain_template.txt: patch does not apply
error: patch failed: src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java:31
error: src/main/java/com/google/devtools/build/lib/rules/cpp/CppFileTypes.java: patch does not apply
C:\bazel>
Additional Context
No response

As far as your target platform is not Android, you can skip the 5th step in https://github.com/homuler/MediaPipeUnityPlugin/wiki/Installation-Guide#docker-windows-container.

I'm targeting Android,too

By any chance, is the line feed code in the third_party\bazel_android_fixes.diff set to CR+LF?
cf. https://github.com/homuler/MediaPipeUnityPlugin/wiki/Installation-Guide#windows
At any rate, as noted in the document, this is an experimental step and I won't support you in the event of any errors.
If you don't know how to proceed, use a Docker Linux Container instead.


Feature request: implement built in schemas

Use case
Using zod schema, implement a selection of the popular Lambda events, similar to models from powertools python.
Use the test events from powertools python so we can test our schema against the same examples.
This feature only provides the built in schemas which we will use later for envelope parsing in decorators and middleware.
This should include:

ALB
API GW
API GW v2
CFN custom resource
CloudWatch
DynamoDB
EventBridge
Kafka
Kinesis
Kinesis Firehose
Kinesis Firehose SQS
Lambda function URL
S3
S3 event notification
S3 object event
SES
SNS
SQS
VPC lattice
VPC lattice v2

Solution/User Experience
The schemas should be in a dedicated folder with no index export, so each schema can be imported individually.
import { EventBridgeSchema } from '@aws-lambda-powertools/parser/schemas/eventbridge';

Alternative solutions
No response
Acknowledgment

[X] This feature request meets Powertools for AWS Lambda (TypeScript) Tenets
[ ] Should this be considered in other Powertools for AWS Lambda languages? i.e. Python, Java, and .NET

Future readers
Please react with 👍 and your use case to help us understand customer demand.

This is now released under v2.1.0 version!


Update to 23.08

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

Dropped automerge while we figure out what order we want to merge these in
xref: https://github.com/conda-forge/librmm-feedstock/pull/51#issuecomment-1699730784

Rebased after the CUDA 11.8 / 12 migrators were added, so this should be good to go now, will tackle #48 after this lands

CI job is stuck so just going to merge #57 since it's equivalent anyway.


feat(exporters)!: collapse base classes into one

Which problem is this PR solving?
Through recent changes I've been working on reducing code-duplication across the exporters and separating config-code, transport code and base exporter code. I'm doing this for three reasons:

improve how well we can test parts of the exporter
address some design-level bugs that we've introduced over the year
reduce the public API to maintainable levels

In the changes I made previously, we have seen a convergence of the OTLPExporterNodeBase, OTLPExporterBrowserBase, and OTLPGRPCExporterBase classes. This PR removes all of these classes, and replaces them with an implementation of a new interface: IOTLPExportDelegate
Collapsing these into a single implementation with a single name has the benefit of fixing #4794, which was caused by differently named platform exports for Node.js and the Browser - a design-level bug that needed resolving before we can consider an OTLP Exporter GA release. I'm fixing the problem of having different public interfaces for different transports by introducing new entrypoints: node-http and browser-http which are only imported by their respective platform-specific implementations.
This export delegate contains all the behavior that is present in the OTLP exporter specification and shared across all signals. It can be created via a factory function to avoid exposing the internal API as public. Specific exporters are expected to use this delegate to eventually compose an exporter though different transports and serializers. Composition is used over inheritance as polymorphism is not of relevance when using an OTLP exporter: It is either a PushMetricExporter, a SpanExporter, or a LogRecordExporter - having an OTLPExporterBase does not add any value to the end-user as the public interface ends up being the same. On top of that it was only used internally as it was the easy way of getting base functionality to the individual exporters. In doing so it also exposed a lot of internals as part of the public API.
OTLPExporterBase still exists but now only takes an IOTLPExportDelegate and will eventually be removed. I've decided to keep it around to have a base for the individual exporters, which can be instantiated with new. In a future revision, I plan to introduce factory functions for each exporter which returns a PushMetricExporter, a SpanExporter, or a LogRecordExporter instead of a specific exporter class. The factory functions will also do away with some duplicate ways of configuring transports.
As a way to transition to these factory functions, this PR introduces "translation" helpers for the "old" configuration to the "new" one which is already used internally (these legacy conversions can be identified by the word legacy in their names).
Fixes #4794
Breaking changes

feat(otlp-exporter-base)!: collapse base classes into one

OTLPExporterNodeBase has been removed in favor of a platform-agnostic implementation (OTLPExporterBase)
OTLPExporterBrowserBase has been removed in favor of a platform-agnostic implementation (OTLPExporterBase)
ExportServiceError was intended for internal use and has been dropped from exports
validateAndNormalizeHeaders was intended for internal use and has been dropped from exports
OTLPExporterBase all properties are now private, the constructor now takes an IOTLPExportDelegate, the type parameter for config type has been dropped.

This type is scheduled for removal in a future version of this package, please treat all exporters as SpanExporter, PushMetricExporter or LogRecordExporter, based on their respective type.

feat(otlp-grpc-exporter-base)!: collapse base classes into one

OTLPGRPCExporterNodeBase has been removed in favor of a platform-agnostic implementation (OTLPExporterBase from @opentelemetry/otlp-exporter-base)

Type of change
Please delete options that are not relevant.

[x] Bug fix
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?

[x] Added unit tests, adapted existing tests

PR looks good :) but I wonder about convertLegacyOtlpGrpcOptions and other functions with legacy in its name. If the PR is already breaking why not refactor the interfaces so we do not need any transformation function from legacy options?

Yes, good point - the PR is already breaking but I'm trying to make it so that anyone using the exporter in a "normal" way (i.e. not extending it, just using the constructor and then passing it to a MetricReader/SpanProcessor/LogRecordProcessor) is not broken in the process. It's actually something that I've been paying attention to throughout the process of re-writing the exporters. That's why I'm keeping the legacy options around. 🙂
I'm then planning to introduce a new factory function for each exporter that will eventually replace the constructors, so that we don't have to export a class directly anymore, but we can have the factory function return a PushMetricExporter/SpanExporter/LogRecordExporter instead. These factory functions will then take the "new" options while we deprecate and phase out the constructor - which I'm planning to remove in 2.0 (if timelines permit 😅)


Question: Can you add variables to the outer closure generated by Browserify?

Does Browserify provide any way to add variables to the top-most closure it generates?
I'd like to define a variable that's not global, but is visible to all my modules. The standard answer of "use requires(...)" doesn't work in my case because the variable's value isn't ready at the time the dependencies are processed. I really need a way to declare a variable in the closure that encompasses all my modules.
P.S. I posted this question to StackOverflow over a week ago but didn't get any answers. If you can answer this question, I'm happy to turn it into SO rep for you: http://stackoverflow.com/questions/31442804/add-a-variable-to-the-outer-closure-defined-by-browserify

How about exporting an object with one property that you can get and set?

Thanks for the reply. I do have a workaround in place, which involves a bit of boilerplate code at the top of each of my modules. If you're interested in the details and my workaround (it involves asynchronously loading a required library), I wrote it up here: http://stackoverflow.com/questions/31441185/how-to-use-my-own-version-of-jquery-with-browserified-modules

Cleaning up old issues, please open a new one if this is still relevant


Polex for default apps

Issue: https://github.com/giantswarm/giantswarm/issues/28345
Checklist

[x] Update changelog in CHANGELOG.md.
[x] Make sure values.yaml and values.schema.json are valid.

I think only cilium is needed to actually start the cluster, right?

Ok that should be it for now @stone-z mind if you have a look again? It's super hard for me to detect violations for jobs because they are super fast, but other than that I tested it and don't see any issues for cilium-agent and cilium-operator.

Regarding the policy for jobs, you're right we need to reduce the policy. For me it is just pretty hard to figure out what policy needs to be added. The job is deleted super fast and I cannot see the kyverno policy violation events 😞.


move user-event to dependencies

before it was setup as a dev-dependency however this library is being used on the utils.ts file which can be required in other files.
therefore moving it to the dependencies should fix that dependency resolution conflict on other places we use plugin-ui

 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.


docs: init mkdocs

Initial commit for Mkdocs documentation migration.
Example deployed version can be reviewed here: https://tamasmagyar.github.io/cypress-image-diff/
Will extend contribution documentation based on mkdocs get started in the next PR

https://www.mkdocs.org/user-guide/deploying-your-docs/#github-pages

Uncertainty: Not sure if I can run mkdocs gh-deploy command for the uktrade/cypress-image-diff repository

we are going to use gitbook instead of mkdocs


sbtn "project foobar" compile / Expected project ID Error

Hello,
In my team, we have a big git mono repo with one build.sbt at its root.
So we are used to compile specific project by calling
sbt "project foobar" compile
We are trying to use the new --client feature to speed up the compilation time, but when we execute
sbt --client "project foobar" compile
it goes in error, as if it was looking for project "foobar compile"
[info] entering *experimental* thin client - BEEP WHIRR
[info] terminate the server with `shutdown`
> project foobar compile
[error] Expected project ID
[error] project foobar compile
[error]               ^

It does the same if I call directly sbtn

Have you tried sbt --client "foobar/compile" or sbt --client "project foobar; compile"?

sbt --client "project foobar; compile" works indeed !
Thanks for the workaround ! ;)
(but still, it means that adding --client is not transparent to an existing, working, script)

I think this is a duplicate of https://github.com/sbt/sbt/issues/5969, and as far as I know, it's by design.
I think sbtn is meant to replace sbt shell, not the batch mode, so what you should pass in as argument is a single line you'd pass to the shell.


Update RequestProcessoutPrivate.php

Bug Fix

We've deployed a stable release of the PHP library, including spec tests which covers this kind of issue.
Please refer to the version 5.0.0 of the PHP library. Also, the documentation has been updated to cover all the libraries we officially support:

https://docs.processout.com for our guides
and https://docs.processout.com/refs/index.html for our API specifications

I'm closing this pull request for now as a new stable version has been released, but please do not hesitate to open a new one if you run into additional bugs. Thank you!


ClinGen G6PD VCEP - response to issue 6252

The ClinGen G6PD VCEP recommends trying to make the MONDO IDs consistent with the most recent WHO guidelines of the classification of G6PD deficiency (https://www.who.int/publications/m/item/WHO-UCN-GMP-MPAG-2022.01), as these WHO guidelines should be the gold standard. The VCEP includes members of that WHO panel, and they have helped craft the proposed MONDO definitions above such that MONDO:0005775 corresponds to “WHO Class B”, and MONDO:0010480 corresponds to “WHO Class A” variants. As WHO Class C and U variants do not constitute a disease state, we did not feel the need to have MONDO IDs that correspond to these WHO classes.
Mondo term (ID and Label)
GCPD Deficiency (MONDO: 0005775)
G6PD deficiency, with chronic non-spherocytic hemolytic anemia (CNSHA)  (MONDO:0010480)
Suggested revision of textual definition. Please include a source, like a PubMed ID (in the format PMID:#######)
ClinGen G6PD VCEP proposed language:
G6PD deficiency - MONDO:0005775
An X-linked genetic condition caused by alterations in the gene G6PD that result in moderately to severely decreased activity levels of the enzyme glucose-6-phosphate dehydrogenase (G6PD). Most individuals with G6PD deficiency are asymptomatic throughout their life. Individuals with G6PD variants that cause G6PD deficiency are at risk for severe neonatal jaundice. These individuals are also at risk for acute hemolytic anemia in response to certain medication exposures, chemical exposures, infections, or consumption of fava beans.
G6PD deficiency, with chronic non-spherocytic hemolytic anemia (CNSHA)  - MONDO:0010480
An X-linked genetic condition caused by alterations in the gene G6PD that result in severely decreased activity levels of the enzyme glucose-6-phosphate dehydrogenase (G6PD). Individuals with hemizygous or homozygous G6PD variants associated with chronic non-spherocytic hemolytic anemia (CNSHA) will clinically manifest CNSHA. Individuals with G6PD variants that cause CNSHA are also at risk for severe neonatal jaundice and acute exacerbation of their chronic hemolytic anemia in response to certain medication exposures, chemical exposures, infections, or consumption of fava beans.
Your nano-attribution (ORCID)
If you don't have an ORCID, you can sign up for one here

Good morning, does the notice that the issue was closed two weeks ago mean that the proposed language changes are accepted?
Many thanks, Meredith

Hi @mweaver88
yes, the proposed language changes had been accepted. I reviewed what we had and made very minor typos/wording updates.