relocate directly to target registry wihout intermediate bundle

Is your feature request related to a problem? Please describe.
I am relocating a Chart and its associated container images to a target registry via the wrap/unwrap flow.
Is there any way to do the same but without requiring to pull first the images to a local tarball? the dt relocate command seems to just rewrite the references not push the container images.
Describe the solution you'd like
Relocate source -> target in one command without pulling data to an intermediate wrapped tarball.intermediate-wrapped
Describe alternatives you've considered
No response
Additional context
No response

There is no such single command indeed. Yes, it would be nice to have a dt move or something like that that runs the complete flow. As you noticed, relocate only does the rewiring. I guess we haven't do it because charts-syncer works well for the team but contributions are welcomed!
Alternatively, it should be easy to have an alias that just runs the few commands together pull, relocate, push...

Thanks, @mpermar for the response.

I guess we haven't do it because charts-syncer works well for the team but contributions are welcomed!

So does Charts syncer perform the relocation of both the chart and container images without intermediate wrap file?

Alternatively, it should be easy to have an alias that just runs the few commands together pull, relocate, push..

Thanks, but that's not the actual motivation for this issue. To us, the problem is that we run this command multiple times per day, but we do not release that often, so technically, these relocation processes should be quick no-ops.
Today, because of the way wrap/unwrap seems to work (and please correct me if I am wrong), we are performing a multi-GB download + compression process to just uncompress and discard it most times. Having a bigger compute, disk, and networking footprint in our GitHub actions billing.
It feels like the tool could have a direct source - destination mode that could

Download the chart

Check the images in lock file (or resolve them based on the annotations as it does today)

Check if the image exist in the destination repo and push it otherwise (nitpick: if I remember correctly, it's possible to stream between two oci registries).

there is no need to create a tarball

Re-package the chart and push it (I believe you might not be able to know if the chart exist since if I remember correctly, the digest changes on each helm package)

The new steps for this direct mode are 3 and 4, an optimization that should take a process that takes minutes today to seconds.
In any case this is not a blocker for us. We might end up resolving/pushing the images ourselves and then calling relocate to rewire the chart manually. But it feels like a good addition to the already useful tool.
Thanks

I don't think there is any way to instruct a registry to push into other registry. Tools like crane make it look transparent but they are pulling the bits to memory before pushing. It could be a nice feature though. No question.
Right now we don't have the capacity to do it, but PRs are more than welcome.


[Feature]: Show stargazerCount and forkCount in popular repository card.

Suggest an idea for this project ?
We have stargazerCount and forkCount available for the popular repository, we should show that in the repository card.
Something like this.

File reference
https://github.com/OpenSource-Journey/Your-Github-Contributions/blob/main/src/components/GithubPopularRepositories.tsx
Please provide an example screenshot
No response
Checklist
I have searched the existing issues to make sure this is not a duplicate, I have checked the documentation and found no answer
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@Sachin-chaurasiya
Would love to work on this, if given the chance.

@Sachin-chaurasiya Would love to work on this, if given the chance.

@mayukh551 , Assigned to you.

@Sachin-chaurasiya
on localhost, when I type my username, no data is shown on the page, i.e. empty

@Sachin-chaurasiya on localhost, when I type my username, no data is shown on the page, i.e. empty

@mayukh551 , Make sure to follow this guide for local development.
https://github.com/OpenSource-Journey/Your-Github-Contributions#-how-to-set-up-your-github-contributions-for-development

Yup. It's working. Thnx for the help

@Sachin-chaurasiya
is this okay?


RRF-86: Build Shell App

Added client management screen
Saving client to UserDefaults
Displaying current client on catalog screen

Looks good! The same Unit test failed again. i thought increasing the timeout would fix it. I hit the rebuild button. If we see it again we may remove the test. It doesn't look like a high value test.

:+1:


Validate that JS and Native code versions match for RN releases

Basic implementation of the proposal in #15271
Note that this should not affect facebook internally since they are not using OSS releases.
Points to consider:

How strict should the version match be, right now I just match exact versions.
Wasn't able to use haste for ReactNativeVersion because I was getting duplicate module provider caused by the template file in scripts/versiontemplates. I tried adding the scripts folder to modulePathIgnorePatterns in package.json but that didn't help.
Redscreen vs. warning, I think warning is useless because if the app crashes you won't have time to see the warning.
Should the check and native modules be DEV only?

Test plan
Tested that it works when version match and that it redscreens when versions don't before getting other errors on Android and iOS.

cc @ide @grabbou

Version match: I'd really like to make this check be configurable and have a default implementation that checks for an exact match but also let people override it and check only the major and minor versions if they wish. The difference between patch releases usually doesn't include breaking changes (just new native code or new JS that doesn't require the JS and native to match) and it would be nice to let people choose if they're OK with 0.46.1 JS running on 0.46.0 native.
Haste: I wonder if the issue is that modulePathIgnorePatterns applies only to Jest but not Metro. I think your workaround is simple and fine, otherwise we could make the templates not contain @providesModule and make the template generator add it in.
Throwing vs warning: let's try throwing for now so we fail fast.
About __DEV__: let's keep the check in production. It's cheap in several ways (bytes & runtime) and if there's a version mismatch in prod that results in errors like "X is not a callable module", that's way harder to diagnose than "You're using the wrong version of RN." If we make it a __DEV__-only check, I ask that it does console.error instead of throwing an error so we don't change code paths in production.

I'm not sure I agree with this direction. It could be useful at development time, but we're actually trying to keep the JS compatible with older native code versions for as long as possible, and this would actually prevent that.

@javache what is the mechanism you use to keep the JS compatible with the native code? Could we use that instead of semver? Also this code doesn't materially affect FB (or anyone else who runs from master since the compared version is always "master") in case that affects your thinking around this.

True, since we don't use the release branch, this wouldn't necessarily affect us. I would still prefer an additional native module, so perhaps this can go in PlatformConstants ?
Internally, we're mainly looking at leveraging flow for typing native interfaces and end-to-end testing to ensure compatibility.

@javache Sounds good, let's move this into PlatformConstants. Native -> Flow defs sounds useful, I think doing the version check will also catch a different class of issues caused by old packager processes, cached bundles, etc...

@ide What kind of API were you thinking of to customize that check? It might be a bit tricky since I'm not sure it's even possible to run code before the InitializeCore module.

@ide Just tested and InitializeCore does get executed before the app index.js, so I don't see a way to customize this behavior at runtime. I'd also like to keep the check in InitializeCore since otherwise other random errors could happen before the version check.

OK, that makes sense. This looks good to me then.
@javache How does this look to you?

@ide Updated

Waiting for CI to pass.

@janicduplessis it looks like the Jest setup script needs to be updated (see CircleCI output).

Updated, tests now pass locally, let's wait for CI again. Ended up just providing an explicit mock for the InitializeCore module since jest automock feature does run the module which is when the error happened.

CI failed again, probably need to tell Buck about the new Java file.

Moved the file to the same package to avoid circular deps which buck doesn't support.

Ok finally got CI passing :)

This looks good to me.
@facebook-github-bot shipit

@hramos could you or someone else at fb look into why this failed to land? The OSS CI tests look good for it.


At HA Startup / Warning camera took longer than the scheduled update interval 0:00:03

Checklist

[X] I have updated the integration to the latest version available
[X] I have checked if the problem is already reported

The problem
This warning occurs wile HA is staring up, the first image is taking longer than the expected 3 second for the frame.
The issue was already reported, but actually not visible in the test environments used.
What version of an integration has described problem?
2024.07.0
What was the last working version of an integration?
not specified
What vacuum model do you have problems with?
Roborock.S5
Please firmware installed on your Vacuum.
No response
What type of platform you use?
ARM (Raspberry Pi, Odroid, etc.) > 4GB
What version of Home Assistant do you use?
2024.7.2
What type of installation are you running?
Home Assistant OS
Logs or Errors shown in the HA snapshots (please enable the Debug Mode) text will be auto formatted to code.
Updating mqtt_vacuum_camera camera took longer than the scheduled update interval 0:00:03
Logger: homeassistant.helpers.entity
Source: helpers/entity.py:1266
First occurred: 7:11:26 PM (2 occurrences)
Last logged: 7:11:26 PM

Update of camera.valetudo_v1_silenttepidstinkbug_camera is taking over 10 seconds
Update of camera.valetudo_s5_glossyhardtofindnarwhal_camera is taking over 10 seconds

Function, that in your opinion is creating the issue.
Image Aspect Ratio
Additional information
It is possible to improve the startup of the integration. The idea is to store the trims and image hash so that we will be possible to avoid the re-calculation of the trims as it was already done. Those values need to be updated at every home assistant restart.

The issue seams related to the first image creation, I'm currently evaluating a possible solution as per it looks that image trimming (as expected) is taking longer at the first image as per the trims need to be defined. One possible option is to store the trims and reload them at start up (as it was done in several versions earlier). This imply a modification on the config_flow to allow the storage of this parameters once the image is fully completed (after the vacuum has all data).


Prm 2337 " Adjusted appealed penalty card logic"

The Welsh translation for "Penalty" is needed,

I think some of the test data needs to be updated to reflect what backend systems return

Needs stub change to be merged alongside: https://github.com/hmrc/penalties-stub/pull/97


Adding link to primary documentation

I have cleaned up this document and have referenced the primary documentation

Docs Build status updates of commit c88b3b8:
:clock10: Full build: the average full build time is 18 min(s) 2 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit c88b3b8:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Enable-SPOCommSite.md
:x:Error

Details

ValidatePublishRequest
:warning:Warning

Details

sharepoint/sharepoint-ps/sharepoint-online/Enable-SPOCommSite.md

[Error-InvalidMamlMarkdown]

Failed to parse this MAML markdown file due to :2:(0) 'Enables the modern communication site experience o...'
 Expect Heading, please use PlatyPS to do content validation

ValidatePublishRequest

[Warning-RepositoryOwnerPermissionInsufficient] Owner kenwith no longer has Admin permission of the repository https://github.com/MicrosoftDocs/office-docs-powershell. It might be due to recent GitHub changes on SSO. Please ask the owner kenwith to logon to Docs Portal https://ops.microsoft.com once again. If it is not the case, please ask anyone of Admin permission of the repo to assign a new owner via Docs Portal https://ops.microsoft.com

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

I see the merge has conflicts, it seems the same file was also modified by this later PR https://github.com/MicrosoftDocs/office-docs-powershell/pull/5925

Nothing more to add to @get-itips's comment.

Ditto @get-itips @dariomws

@divyachapan please update and resolve. Thanks

@divyachapan please update and resolve. Thanks

@divyachapan please update and resolve. Thanks

So this PR was replaced by https://github.com/MicrosoftDocs/office-docs-powershell/pull/5925 @yogkumgit please close without merging. Thanks


add logic module

Logic module make the connection bettween Comet and Router as a middleware. And it also provides web interface as a service that face to admin

add logic service


I can't save in VS Code 1.7.1

In my html file, I use Ctrl + Shift + P and type trailing space delele (to delete spaces). And then, I use Ctrl + S to save, but It's not working!!!!
I can't save, and delete spaces is not complete. Please check this bug, and give me the answer via<EMAIL_ADDRESS>Tks so much!!!

 Can you try to run VS Code without extensions? From the command line (NOT the integrated terminal in Code), execute: code --disable-extensions and try your steps again to see if it reproduces. If you see it is an issue with the extension, please file it against the extension repository itself.

Wow, wonderful! JS-CSS HTML Formatter causes this error, I've disable it
and everything is OK.
Tks so much! =))))
[image: Hình ảnh nội tuyến 1]
2016-11-14 12:14 GMT+07:00 Benjamin Pasero<EMAIL_ADDRESS>
I wonder if this issue is being caused by an installed extension. Can you
try to run VS Code without extensions? From the command line (NOT the
integrated terminal in Code), execute: code --disable-extensions and try
your steps again to see if it reproduces. If you see it is an issue with
the extension, please file it against the extension repository itself.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/vscode/issues/15440#issuecomment-260250116,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AT17s5JE8VLGIhvzBeqDAz0cHZlwc7nWks5q9-5NgaJpZM4Kw6ON
.

--
Front - End Developer | Phan Gia Tuấn Anh
Mobile Phone: 0908 066 024
Yahoo Mail<EMAIL_ADDRESS>GMail<EMAIL_ADDRESS>http://phangiatuananh.je.ro

/cc @jrieken fyi on JS-CSS HTML save issues


Project Completed

Milestone 1 Header and Footer
Task Completed
Added header
Added Footer
Milestone 2: HomePage
Task Completed
When the page loads, the webapp retrieves data from the selected API and shows the list of items on screen with the basic data
I Prepared the "Comments" and "Reservations" buttons. for now, they are doing nothing - just being displayed.
MileStone 3: Item Count
In this PR I did the following:

I created a function to check action count
I imported and rendered it. check image below.

MileStone 4: Added getLikes and postLike functions
Added getLikes and postLike functions.
In this milestone, I have done the following:

Added a function to post like to the involvement API.
Added a function to get likes from the involvement API.
Rendered the gotten likes to the page for the user.

Final MileStone: Add Test for Items Counter
Task Completed

Added a function for items counter covered with unit tests using jest.
Added test for all edge cases.

PS. I had some issue with my coding partner. Therefore, I was authorized by Marco Lizza to build the project alone: the part that was assigned to me, which is the Student A Cards.

As requested by the previous reviewer, attached is a copy of the communication between Student Success, Marco, and myself and his suggestion to work on the Student A cards of the Kanban board, which is what I have done.

Thanks for the review.

Hello @
This is an additional review as a result of the second opinion request.

You already fixed the layout in the desktop version. (mentioned in this [request](the images "fall" off the page when opening the application as you can see in the below screenshot. please fix this.))

Making a responsive website will be better for user experience, however, it is not mentioned by the first reviewer and it is not part of the requirement. It should be an OPTIONAL like mentioned in the requirement.

Please ask for another review in your Dashboard and the next Code Reviewer will mark it as approved right away
Cheers and Happy coding! 💻 👏

GitHub | LinkedIn | Twitter
Reviewed by Ahmet Bozacı


Different numbers in the "downloaded files" and "number of downloads" columns after downloading the blog due to the presence of duplicates in the blog

If the blog contains a certain number of duplicates, which the program misses, then the "downloaded files" and "number of downloads" columns display different numbers after downloading. Say, the blog contains 1000 images, 50 of which are duplicates, then the program shows that 950 images have been downloaded and the "number of downloads" column displays a number of 1000 images. Because of this the progress bar becomes incomplete, does not reach a bit until the end, and therefore it seems that the blog has not downloaded completely. It would be convenient if you did so that the number of "number of downloads" would be less by the number of duplicates then it would be clear that the blog was downloaded completely

It turned out I at first did not understand the principle of the column "the number of downloads." It shows the total number of posts for all types: texts, images, video, audio and metadata. And I only download images and their metadata. So if the blog contains 1000 images, 100 videos and 1000 metadata images, then the "downloads" column will show the number 2000, and in the "number of downloads" column will show the number 2100, so even after reducing the number of downloads by the number of duplicates, the program will still be show different numbers between these columns. Is it possible to change this, let's say that the program took the number of downloads from the activated download modes, for example if the modes of downloading images and their metadata are selected, then the total number of posts is taken only from them?

I think I've fixed it in the .27 release.
Thanks again for testing!

johanneszab, I downloaded the version <IP_ADDRESS> three day ago, the program still shows different numbers in the columns due to the presence of duplicates in the blogs.

Well, people will complain either way. If we subtract the the duplicates, people will come and complain that TumblThree downloads/detects less files than xxx downloader.
Honestly, I couldn't care less. For me it's mostly cosmetic. There are more important things to fix.
I've subtracted the duplicates now. I can guarantee you, someone will come and complain.

Thank you! Maybe it makes sense to written in a detail view of blogs that out of a total number of posts xxx duplicates were deducted? So that people would understand and they would not complain?

This still seems like a problem in <IP_ADDRESS>


Validating False

What if we want to validate the value False (and other values which evaluate to False, like "" [] and 0)?
As in your example :
>>> def CustomValidator(value):
...    if value == False or value in range(100):
...       return value
...    else:
...       return False
...

CustomValidator is a function validator which is converted to type CallableValidator when passed as Scheme(CustomValidator).. If you need to validate for this kind of cases, you can directly use CallableValidator(CustomValidator, fail_flag=CustomFailIndicator) where CustomFailIndicator can be some constant value. If the CustomValidator returns this value, the validation will be considered failure. Otherwise, it will pass even if the value was False, empty iterable etc.


New rdf4h release coinciding with xmlbf 0.6 release

The new XML parser depends on monad transformer additions added by @wismill to the xmlbf library. This dependency will be reflected in the release of 0.6 of the xmlbf library.
Once xmlbf-0.6 has been uploaded to hackage, the stack.yaml file for rdf4h should add xmlbf-0.6 as an extra dependency, removing the information about the xmlbf git repo and commit ID, since stack will find xmlbf-0.6 on hackage.

Also update the version bounds in the cabal file

There wasn't a xmlbf release reflecting the monad transformer needed by rdf4h, so instead two files Xmlbf.hs and Xeno.hs were copied into this repository, temporarily hopefully:
https://github.com/robstewart57/rdf4h/commit/7cc70978b6001e426fe9224c2334bc6a1687dd71


[Standalone] Add input and output columns to import

More or less done. The code is finished and just awaits a bugfix from IsaDotNet:
https://github.com/nfdi4plants/ISADotNet/issues/80
Code: https://github.com/nfdi4plants/Swate/blob/7f73ac0cd1ae1a288cf7f87f648cc2be727fbeeb/src/Server/ISADotNet.fs#L192


Bug: Tags keyboard navigation

Issue Summary
If you are creating a new tag in tags menu and you keep pressing tab on keyboard. The meta data gains focus but display is incorrect and you cannot return to main tag menu

Steps to Reproduce

Go to Tags page in admin
Create a new tag then start pressing tab until you reach meta data fields

Technical details:

Ghost Version:1.0.0-alpha.21
Browser/OS: Chrome

One key issue here is that the button element has outline set to none and I'm not sure why since this makes Ghost less accessible.

Closing due to age and lack of traction.


Contact us link not working

Description
the mail link provided in contact us is not clickable and working also the number
i wold like to make it such that if one clicks on email-id his/her gmail should open
similarly for phone number
Screenshots

Additional information
No response

@Gaurav-Verma07 also if this is dummy mail
i would suggest you to create one gmail for this project as we will require one mail for many purpose for creating account further like database,mails etc dependencies we use
can give the new mail if this one is dummy i'll integrate that also
Thanks :)

the project is in initial phase, its just dummy data...

okay bro


Wildcard types (underscores) are removed in fn type arguments

Before
fn main() {
    let f: fn(_, _) -> _ = panic!();
    let f: Option<_> = panic!();
}

After
fn main() {
    let f: fn(, ) -> _ = panic!();
    let f: Option<_> = panic!();
}

This may be a bug in pprust, but we should eventually format function types ourselves anyway.


Classless api

Here are examples some of the classless frameworks, what I like about it is that they're somewhat interchangeable along with 40 others on npm.
Newcss.net
Barecss.com
Classless.css
https://github.com/shawn-sandy/fp-kit/tree/main/first-paint
https://simplecss.org/
A case could be made that you can have non alpha stable api that is classless.

I can understand where you're coming from but I highly doubt that classless CSS is what Material UI is trying to provide.

Making your design components public means it's cached more on browsers, so
having it more accessible by not needing to learn the api is beneficial.
On Mon, Jul 25, 2022 at 2:11 AM Tinos Ps @.***> wrote:

I can understand where you're coming from but I highly doubt that
classless CSS is what Material UI is trying to provide.
—
Reply to this email directly, view it on GitHub
https://github.com/material-components/material-web/issues/3471#issuecomment-1193386397,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACWP5ANOP776FDXCX7H4O6LVVWPPTANCNFSM52QLUKMQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hi! Thanks for the issue. We believe strongly in the use case of web components for modern browsers, which is the technology stack that this library is built on.


support multi currency rewards

Codecov Report

Merging #601 (e5a1f85) into master (74d290d) will increase coverage by 0.32%.
The diff coverage is 93.86%.

@@            Coverage Diff             @@
##           master     #601      +/-   ##
==========================================
+ Coverage   75.54%   75.87%   +0.32%
==========================================
  Files          76       76
  Lines        5945     6055     +110
==========================================
+ Hits         4491     4594     +103
- Misses       1454     1461       +7

Impacted Files
Coverage Δ

rewards/src/lib.rs
80.20% <77.19%> (-2.15%)
:arrow_down:

rewards/src/mock.rs
85.71% <100.00%> (ø)

rewards/src/tests.rs
100.00% <100.00%> (ø)

oracle/src/lib.rs
80.59% <0.00%> (ø)

auction/src/lib.rs
91.52% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 74d290d...e5a1f85. Read the comment docs.


Added typescript definitions and jsdocs

This was actually already done in this pull request: https://github.com/gagle/node-properties/pull/32
But it was never merged for some reason. I've checked and the types are all still up to date.

This would be extremely useful. @gagle are there any obstacles to merging this?

Is it possible we could get this merged?

After going through this again, it looks like you need to type the callback functions. I'd expect it to be (error: Error, propertiesJson: object) => void rather than any for those types.

Also, there's a use case for parse taking a source and callback without options. Currently, the type doesn't allow for options to be optional.


⚠ Bofrost.si has degraded performance

In 9597d19, Bofrost.si (https://www.bofrost.si) experienced degraded performance:

HTTP code: 200
Response time: 3113 ms

Resolved: Bofrost.si performance has improved in 9ec1814 after 13 minutes.


Python Array API in Dask issue tracking

This is an umbrella issue to track the implementation of the Array API in Dask. See also the earlier discussion in https://github.com/dask/community/issues/109, and a possible implementation in #8750.
Compatible changes to make dask.array more consistent with numpy

[x] #8667
[x] #8668
[x] #8669
[x] #8947
[x] #8670
[x] #8914
[x] #8915
[x] #8916
[x] #8929
[ ] #8931
[ ] #8948

Breaking changes to make dask.array more consistent with numpy

[ ] #8934

Compatible changes to make dask.array more consistent with numpy.array_api (see Array API Standard Compatibility)

[ ] Add correction keyword argument as a synonym for ddof in std and var
[ ] Add copy keyword argument to asarray

Thanks for opening this @tomwhite! Are you planning on taking these on or do you want a hand? I just did a little fix for the roll issue and then realized I should check in first :)

Thanks @jsignell! Please go ahead - it would be great to have a hand. (I think there will be more issues like these to come.)

You might want to add #10387, #10388, and #10389  to the list.


Supplying only a hash includes the pathname

Suppose this link on the, I dunno, the /contact page:
<HashLink to="#top">Top</HashLink>

This will produce:
Top

What's that /contact doing there? It's not supposed to be there. I didn't specify a link to the current page, but only to a hash.
To reproduce:

Go to the demo.
Scroll down to the Top of Page link, and inspect its attributes.
Observe its href attribute being /page#top.
Now go to the source.
Scroll down and find the same link.
Observe how it only has to="#top" and nothing else as far as urls are concerned.

Looks like this issue is no longer there.


enabling specific mocks per test

Hi, I know this has been covered a bit before but I don't seem to be able to do this in a reasonable manner.
What I would like is this.
I have a mut ( module under test ).  It takes a dependency on gesPromise. I mock gesPromise with gesPromiseMock.  the module is a function which takes args my mock is a function that takes setup args then return a function the stub function. So here is my mock and how i use it.
module.exports = function (result){
    return function(conn, name, skipTake) {
        var data = JSON.stringify({eventName: "someEvent"});
        var newVar = !result ? {
            Status: 'OK',
            NextEventNumber:3,
            Events: [{Event:{EventName:'someEvent',Data: data}},{Event:{EventName:'someEvent',Data: data}},{Event:{EventName:'someEvent',Data: data}}],
            IsEndOfStream: false
        } : result;
        return Promise.resolve(newVar);
    }
};

        var result = {
            Status: 'StreamNotFound',
            NextEventNumber: 500,
            Events: [{}],
            IsEndOfStream: false
        };
        mockery.registerMock('./readStreamEventsForwardPromise', readStreamEventsForwardPromiseMock(result))

so what I would like is to be able to change the "results" for different tests.  The only way I've been able to do that so far is with the following set.  Note that I must use completely different describe setups.
describe('getEventStoreRepository', function() {
    var mut;
    before(function(){
        mockery.enable({
            warnOnReplace: false,
            warnOnUnregistered: false
        });
        var result = {
            Status: 'StreamNotFound',
            NextEventNumber: 500,
            Events: [{}],
            IsEndOfStream: false
        };
        mockery.registerAllowable('../src/ges/gesRepository', true);
        mockery.registerMock('ges-client', connection);
        mockery.registerMock('./gesPromise', {readStreamEventsForwardPromise: readStreamEventsForwardPromiseMock(result), appendToStreamPromise:appendToStreamPromiseMock} );
    });
describe('#getById_return bad results', function() {
        context('when calling getById with proper args but stream deleted', function (){
            it('should throw proper error', function () {
                mut = require('../src/ges/gesRepository')();
                var id = uuid.v1();
                var streamName = streamNameStrategy(TestAgg.aggregateName(),id);
                var byId = mut.getById(TestAgg, id, 0);
                return byId.must.reject.error(Error, 'Aggregate Deleted: '+streamName);
            })
        });
    });

    after(function () {
        mockery.deregisterAll();
        mockery.disable();
    });
});

now if I do another setup for a test exactly like the above but with different result data it will work.
this is a lot of ceremony for each test.  Is there any way to do it for each test rather than a whole setup?
thanks,
r
sorry about all the implementation details.

you could just have a wrapper object that returns the mock you want, hot-swapping results at run time as opposed to "registerMock" time.
ie
readStreamEventsForwardPromiseMockWrapper
var _result = null;
module.exports = {
    setResult: function (result) {
        _result = result;
    },
    mock: function (conn, name, skipTake) {
        var data = JSON.stringify({eventName: 'someEvent'});

        return Promise.resolve(_result || {
            Status: 'OK',
            NextEventNumber:3,
            Events: [
                {
                    Event:{
                        EventName:'someEvent',
                        Data: data
                    }
                },
                {
                    Event:{
                        EventName:'someEvent',
                        Data: data
                    }
                },
                {
                    Event:{
                        EventName:'someEvent',
                        Data: data
                    }
                }
            ],
            IsEndOfStream: false
        });
    }
};

Unit Test
var mockWrapper = require('../mocks/readStreamEventsForwardPromiseMockWrapper');
var DEFAULT_RESULT = {
    Status: 'StreamNotFound',
    NextEventNumber: 500,
    Events: [{}],
    IsEndOfStream: false
};

describe('getEventStoreRepository', function() {
    var mut;
    before(function(){
        mockery.enable({
            warnOnReplace: false,
            warnOnUnregistered: false,
            useCleanCache: true
        });

        mockery.registerAllowable('../src/ges/gesRepository', true);
        mockery.registerMock('ges-client', connection);
        mockery.registerMock('./gesPromise', {
            readStreamEventsForwardPromise: mockWrapper.mock,
            appendToStreamPromise: appendToStreamPromiseMock
        });

        mockWrapper.setResult(DEFAULT_RESULT);
        mut = require('../src/ges/gesRepository')();
    });

describe('#getById_return bad results', function() {
    context('when calling getById with proper args but stream deleted', function (){
        it('should throw proper error', function () {
            var id = uuid.v1();
            var streamName = streamNameStrategy(TestAgg.aggregateName(), id);
            var byId = mut.getById(TestAgg, id, 0);
            return byId.must.reject.error(Error, 'Aggregate Deleted: ' + streamName);
        });
    });

    context('when calling getById with proper args but stream foo', function (){
        it('should throw proper error', function () {
            // next time mockWrapper.mock is called, it will return foo
            mockWrapper.setResult({
                status: 'Foo'
            });

            var id = uuid.v1();
            var streamName = streamNameStrategy(TestAgg.aggregateName(), id);
            var byId = mut.getById(TestAgg, id, 0);
            return byId.must.reject.error(Error, 'Stream was foo ' + streamName);
        });
    });

    after(function () {
        mockery.deregisterAll();
        mockery.disable();
    });
});

Ok, I think I see, I construct my mock to take a "switch" then I can modify
the mock on the fly.  That seems much more succinct.  I don't know how it
would work if I was using a mock library like sinon. But I haven't been
able to get that to work very well anyway.
Thanks,
R
On Thu, Jun 18, 2015 at 12:43 AM, Mo Kouli<EMAIL_ADDRESS>wrote:

you could just have a wrapper object that returns the mock you want,
hot-swapping results at run time as opposed to "registerMock" time.
ie
readStreamEventsForwardPromiseMockWrapper
var _result = null;module.exports = {
setResult: function (result) {
_result = result;
},
mock: function (conn, name, skipTake) {
var data = JSON.stringify({eventName: 'someEvent'});
    return Promise.resolve(_result || {
        Status: 'OK',
        NextEventNumber:3,
        Events: [
            {
                Event:{
                    EventName:'someEvent',
                    Data: data
                }
            },
            {
                Event:{
                    EventName:'someEvent',
                    Data: data
                }
            },
            {
                Event:{
                    EventName:'someEvent',
                    Data: data
                }
            }
        ],
        IsEndOfStream: false
    });
}

};
Unit Test
var mockWrapper = require('../mocks/readStreamEventsForwardPromiseMockWrapper');var DEFAULT_RESULT = {
Status: 'StreamNotFound',
NextEventNumber: 500,
Events: [{}],
IsEndOfStream: false
};
describe('getEventStoreRepository', function() {
var mut;
before(function(){
mockery.enable({
warnOnReplace: false,
warnOnUnregistered: false,
useCleanCache: true
});
    mockery.registerAllowable('../src/ges/gesRepository', true);
    mockery.registerMock('ges-client', connection);
    mockery.registerMock('./gesPromise', {
        readStreamEventsForwardPromise: mockWrapper.mock,
        appendToStreamPromise: appendToStreamPromiseMock
    });

    mockWrapper.setResult(DEFAULT_RESULT);
    mut = require('../src/ges/gesRepository')();
});

describe('#getById_return bad results', function() {
context('when calling getById with proper args but stream deleted', function (){
it('should throw proper error', function () {
var id = uuid.v1();
var streamName = streamNameStrategy(TestAgg.aggregateName(), id);
var byId = mut.getById(TestAgg, id, 0);
return byId.must.reject.error(Error, 'Aggregate Deleted: ' + streamName);
});
});
context('when calling getById with proper args but stream foo', function (){
    it('should throw proper error', function () {
        // next time mockWrapper.mock is called, it will return foo
        mockWrapper.setResult({
            status: 'Foo'
        });

        var id = uuid.v1();
        var streamName = streamNameStrategy(TestAgg.aggregateName(), id);
        var byId = mut.getById(TestAgg, id, 0);
        return byId.must.reject.error(Error, 'Stream was foo ' + streamName);
    });
});

after(function () {
    mockery.deregisterAll();
    mockery.disable();
});

});
—
Reply to this email directly or view it on GitHub
https://github.com/mfncooper/mockery/issues/31#issuecomment-113044362.


feat: add retry logic for rate limit for entitlement

Purpose

Add retry logic in case of rate limiting to the following resources:

subaccount_entitlement
subaccount_service_instance
subaccount_subscription

Increase waiting time for entitlement assignment/creation and deletion to avoid unnecessary retries when hitting a rate limit
Closes #872

Does this introduce a breaking change?

[ ] Yes
[X] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[X] Feature
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Test the code via automated test

go test ./...

Additional test steps

Execute assignment of entitlements in parallel to hit rate limit error

What to Check
Verify that the following are valid:

Automated tests are executed successfully
Verify that rate limit error is mitigated by retries

Other Information

Adding the retry context which anyway wraps the state change context is not necessary as we can add the logic to the existing waiting logic

Checklist for reviewer

The following organizational tasks must be completed before merging this PR:

[X] The PR is assigned to the Terraform project and a status is set (typically "in review").
[X] The PR has the matching labels assigned to it.
[X] The PR has a milestone assigned to it.
[X] If the PR closes an issue, the issue is referenced.
[X] Possible follow-up items are created and linked.

Hello Christian
We tried to reproduce the issue by adding 19 entitlements to 6 sub-accounts and then 12 sub-accounts, in our case the entitlements are being added and the rate limit issue couldn't be reproduced. Attaching the configuration for your reference.
variable "entitlements" {
  type        = map(list(string))
  description = "Map with all expected entitlements"
  default = {
    # Alert Notification Service
    "alert-notification" = ["standard", "lite", "free"]

    # Audit Log Viewer Service
    "auditlog-viewer" = ["free", "default"]

    # BTP LLM Proxy
    "azure-openai-service-demo" = ["default"]

    # Cloud Management Service
    "cis" = ["local", "cloud-automation", "central-viewer", "local-viewer"]

    # Cloud Portal Service
    "PortalApplication" = ["standard"]

    # Event Mesh
    "enterprise-messaging" = ["default"]

    # Forms Service by Adobe
    "ads" = ["free", "standard"]

    # SAP AI Core
    "aicore" = ["standard"]

    # SAP HANA Schemas & HDI Containers
    "hana" = ["hdi-shared"]

    #SAPLaunchpad
    "SAPLaunchpad" = ["foundation","standard"]
  }
}

Attaching the terraform script as well to run this configuration via the module mentioned in the link.
resource "btp_subaccount" "my_project" {
  count = 12
  name      = "sarthak_test${count.index+1}"
  subdomain = "sgoyal-${count.index+1}"
  region    = "eu12"
}

module "sap-btp-entitlements" {
  count = 12
  source  = "aydin-ozcan/sap-btp-entitlements/btp"
  version = "1.0.1"
  subaccount = btp_subaccount.my_project[count.index].id
  entitlements = var.entitlements
}

Please let us know if anything needs to be updated so as to reproduce the issue.
Thanks & Regards
Sarthak Goyal


add Gather network

Hello, I'd like to add Gather mainnet, testnet and devnet chains as we work towards Gnosis Safe support!
https://github.com/ethereum-lists/chains/pull/598

Hi! Good to hear that you are using the Safe!
I will wait until your commit to ethereum-lists has been accepted and your network appears on https://chainlist.org/

Coverage decreased (-6.2%) to 84.766% when pulling 087b79012a35c61f4ab59770e08e6a8bbfcb5de1 on scream4ik:gather-network into 24e30411c683a0f478d8ff4bf1eb307f45b977c8 on gnosis:master.


How to use this with https://github.com/beatt83/peerdid-swift?

Hi, can you provide an example for use with peerdid-swift? Thanks!

Hi there. This would be it.
I really need to provide some better examples on the readme. But hope this can help, the peerDID library is straight forward then you just need to convert it to a DID.
let ed25519_key1_jwk = PeerDIDVerificationMaterial(
    format: .jwk,
    \\ this is from peer DID tests
    value: JWK.testableData(),
    type: .authentication(.jsonWebKey2020)
)

let x25519_key_jwk = PeerDIDVerificationMaterial(
    format: .jwk,
    \\ this is from peer DID tests
    value: JWK.testableData(crv: "X25519", x: "BIiFcQEn3dfvB2pjlhOQQour6jXy9d5s2FKEJNTOJik"),
    type: .agreement(.jsonWebKey2020)
)

let peerDID = try PeerDIDHelper.createAlgo2(
    authenticationKeys: [ed25519_key1_jwk],
    agreementKeys: [x25519_key_jwk],
    services: [validService]
)

let yourDID = DID(string: peerDID.string)
let otherDID = DID(string: "did:peer:alice")

let didcomm = DIDComm(
    didResolver: // ... DID Resolver implementation,
    secretResolver: // ... Secret Resolver implementation
)

let basicMessage = Message(
           id: // UUID,
           type: // protocol id string,
           from: yourDID,
           to: [otherDID]
)

let packed = try await didcomm.packSigned(params: .init(
    message: basicMessage,
    signFrom: "peerDID.string\(#key-0)" // Replace with actual signer DID Key ID
))


Update to .NET5

For now this project uses .NET Core 3.1. With .NET5 RC2 here and the release of .NET5 next month, I should have a look at how to update.

I already started a branch "dotnet5" in which I try the update.
I updated the devcontainer, paket and the project target, but sadly the trimming causes an error. I will look at it and try to open an issue, but until that is fixed, this is blocked.
The executable with dotnet5 is 70MB big and with dotnetcore3.1 and trimming that's only 50MB.

With the release of .NET5 the issue seems to be fixed. The resulting file is smaller and seems to work fine.
So let's upgrade! :tada:


Version-tag the file manifests (if those manifests are requested)

Add the TRUEOS_VERSION string into the file-manifests under the "version" field. This allows for an easy way to see the version string by itself without having to pull it out of file names.

PR Timeout. Merging PR.


Don't forget to ssh to a created VM to start using a 'docker' command

File: machine/index.md
Now the page says:

Point the Machine CLI at a running, managed host, and you can run docker commands directly on that host. For example, run docker-machine env default to point to a host called default, follow on-screen instructions to complete env setup, and run docker ps, docker run hello-world, and so forth.

I suggest to add that after following on-screen instructions you need to connect to a docker machine first, by using something like

docker-machine.exe ssh default
and then you can use 'docker' command.

Not doing this in Windows 8.1 gives me in cmd:

'docker' is not recognized as an internal or external command, operable program or batch file.
and in bash:

bash: docker: command not found

Thanks for sharing the issue. Closing as the issue is no longer applicable. Docker Machine is now deprecated.


ERROR: failed to find driver "cloud"

Describe the bug
When using cloud driver or external build using docker cloud builder in docker buildx command, it throws 'ERROR: failed to find driver "cloud"'
To Reproduce
Run docker buildx build https://github.com/dockersamples/buildme.git --builder cloud-orgname-buildername
you have to use Docker Cloud Builder here.
Expected behavior
Building image on Docker Cloud Builder
Diagnostic report (REQUIRED)
OrbStack info:
Version: 1.8.0
Commit: 58b79a4a06c46666c70ca908a94b47fe70882fca (v1.8.0)
System info:
macOS: 15.1 (24B83)
CPU: arm64, 12 cores
CPU model: Apple M3 Pro
Model: Mac15,7
Memory: 18 GiB
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2024-11-05T22-08-22.604100Z.zip

Screenshots and additional context (optional)
No response

It needs https://github.com/docker/buildx-desktop cli

We're unable to legally bundle this with OrbStack. Feel free to continue working around it as you've did here, but we're not able to provide support if something breaks when using this.


Remove version: Stackers.Stack version 3.14.2

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://binaries.getstack.app/builds/prod/win/x64/Stack Setup 3.14.2-x64.exe
Response status code does not indicate success: 530 ().
(Automated message - build 896)


Hibernate 6 support

Hello! Missing Maven artifact redisson-hibernate-6, please update maven repository too :)

@AnnaBurd
Hi! It's already in repo


[grpc] update to 1.49.0

Library name: grpc
New version number: 1.49.0
I already prepared the necessary changes locally and can create a pr soon. This should also solve https://github.com/microsoft/vcpkg/issues/26128 (@JonLiu1993).

@Tradias, Thanks for your contribution, we welcome your pr.


Candid deserializes to wrong Enum variant

Deserializing a vector of enums produces wrong values.
Here is a complete reproducer of the problem:
    #[test]
    fn test_enum_candid_encoding() {

        #[derive(Debug, CandidType, Deserialize, PartialEq, Eq)]
        pub enum Values {
            One,
            Two,
            Three,
        }

        let text_value = r#"
        (
            vec { variant { One }; variant { Two } }
        )
        "#;

        let args = IDLArgs::from_str(text_value).unwrap();
        let encoded: Vec<u8> = args.to_bytes().unwrap();

        let decoded = Decode!(encoded.as_slice(), Vec<Values>).unwrap();

        // This fails because decoded is vec![Values::One, Values::One]
        assert_eq!(vec![Values::One, Values::Two], decoded);
    }

Agreed. Parsing values without explicit types is only best effort, and not a recommended practice. In practice, you almost always know the candid types when parsing a value, and is strongly recommended to use args.to_bytes_with_types() instead of to_bytes().

@chenyan-dfinity
Could you please provide an example?
I copied and pasted this from the documentation but it still fails with my enum vector:
        let text_value = r#"
        (
            vec { variant { One }; variant { Two } }
        )
        "#;

        // Parse text format into IDLArgs for serialization
        let args: IDLArgs = text_value.parse().unwrap();
        let encoded: Vec<u8> = args.to_bytes().unwrap();

        // Deserialize into IDLArgs
        let decoded: IDLArgs = IDLArgs::from_bytes(&encoded).unwrap();
        assert_eq!(encoded, decoded.to_bytes().unwrap());

        // Convert IDLArgs to text format
        let output: String = decoded.to_string();
        let parsed_args: IDLArgs = output.parse().unwrap();
        let annotated_args = args.annotate_types(true, &TypeEnv::new(), &parsed_args.get_types()).unwrap();

This panics at the last line with error: called Result::unwrap() on an Err value: Custom(variant field Two not found)

I mean the encoding part needs to have types: https://github.com/dfinity/candid/blob/master/tools/didc/src/main.rs#L214.
On the other hand, unless you are developing a generic tool for Candid, you rarely need to parse a textual value and use IDLArgs directly. A more realistic example would be,
let bytes = Encode!(&[Values::One, Values::Two])?;
let vec = Decode!(&bytes, Vec<Values>)?;


Signin on pageload

I´m not sure about the usage of the userManager functions and how to implement a automatic logon (redirect to OP) on pageload.
In your userManager sample you are taking two (manual) steps:

startSigninMainWindow
endSigninMainWindow

How do i need to combine this calls and get a "cached" user on pageload if the user is already logged in?
thanks for your advice and work!

You could try to call signin silent on page load and if that fails then redirect the main window (or do a popup).

hm this ends up in an infinite loop.
What the flow looks like:
index.html -> signinSilent -> catch -> signinRedirerct -> signinRedirectCallback -> index.html

Is your callback page a separate html file -- it should be?

yes and i´m doing this:
 new Oidc.UserManager({loadUserInfo: false}).signinRedirectCallback().then(function (user) {                  window.location = "index.html";           });

But the silent callback page should be different

would be great if you could provide a working SPA example without the need of manual logging in :/
I think i didn´t got the flow of the different functions and callbacks from the documentation..

Best I have now is this: https://github.com/IdentityModel/oidc-client-js/tree/dev/sample/public

Agree with @thepill as I end up with an infinite loop as well. The documentation is unclear and I already look to @brockallen sample...
I'm trying to setting up an app using Angular 1, automatically checking if the user is logged using getUser() and if user not logged, I call signinRedirect.
The thing is, getUser() always return null after the redirection...

All set on this issue? Can we close?


CPU only package

Comment:
Would that be possible to get a CPU only package similar to pytorch-cpu for example? I am deploying a backend with docker and one of my direct dep depends on openmm and cudatoolkit is selected when installing the conda env and it increases the docker image size significantly (from 3GB to 5GB).
Being able to specify openmm-cpu in my env file would helpful xD

At present we don't have any plans to create a CPU only conda package.  But we're hoping to provide PyPI packages in the future, which will give a route for installing without needing to include a full CUDA toolkit.

Thanks @peastman. I am trying to stay away from pip package when possible so a CPU only conda package would be really nice, but I also understand the added burden to build it!

Though it's not an ideal solution, you can force it to remove the CUDA toolkit after everything has been installed with
conda remove --force cudatoolkit

You probably also want to run conda clean --all.  That will minimize the size of your final image.

Indeed not ideal but clearly a nice hotfix. Thanks!

ref/tag https://github.com/openmm/openmm/issues/3059


Apply Transforms to Vectors

It's not hard to do such a function (and I will do one for my personnal usage), but why is there no function to apply the matrix to a point ? (would be convenient convert coordinate page to element coordinate ?)
...Or at least a column vector (just to set z to 0 and w to 1)

I'm not sure I understand what you mean, but I'd be happy to take a look at what you come up with.

I understand what it means to apply a transformation to a vector, but I'm not familiar with your algorithm. Can you help me understand what the variable t represents @hl037?

This looks interesting @hl037, I wonder if a blog post could be written about it! 😬
#7 suggests more examples would be nice, so I'd like to better understand what you're doing here.

I may write some post some time :D
The ultimate goal would be to make a function to translate coordinates from any elements to any elements, but I don't need one for now.
currently, I implemented a rubber-band selection tool, and I have to track the mouse move events to move the handles (like the corner etc.). When the surface on which the rubber-band acts is css-transformed, 3 major problems occurs:

If you want the to place a rubber-band on an area (a div) which is css-transformed (like a zoom, or a 3D rotation), so you have to compute the local top and left css properties. on the first click event, it's easy : just use ev.offsetX.
1.1) But, when you click on a handle, offsetX is relative to the handle, not the parent node. and if the handler is itself css-transformed, or the area got a perspective, then you have incoherent coordinates.
1.2) Even if there is no css-transformation on the handles nor perspective on the area, you get a first point with coordinates local to the handle (not the area). When you move your mouse, chances are the cursor will leave the handle's area (if you move your mouse fast, you can have a delta > 20px, and the the handle is 10px which is classical, the cursor gets outside), and then the event target will be the parent area, and once again, you get incoherent coordinates, and can't modify the rubber-band size following the user's cursor.

Surprisingly there are no function in js std libs to get the mouse event locally to the listening node. you always get the coordinates local to the target nodes

Less surprisingly, no reliable functions exists to translate any screen coordinates to element coordinates.

...This is why I should use matrices, and why I use you library :)
I don't need advanced linear algebra functions, just something that can interact nicely with css, invert matrices, and project points.
This way, I compute the total transform matrix for my area (supposing the area is static, else, I would do caches similar in what we find in 3D render engines), and I use ev.pageX and ev.pageY.
in the snippet above, I used getBoundingClientRect() to get the translation since my area's parent is not transformed (so, it's the fastest and most accurate method to get it), but you have to correct it with the scroll offsets

Use of Object.assign() breaks IE10 and IE11 support.

Not yet publishing this, but wanted to archive some experimental code.

Type Declaration
export declare interface Vector2 {
  x: number;
  y: number;
}

export declare interface Vector3 {
  x: number;
  y: number;
  z: number;
}

export declare type Matrix2D = [
  number, number,
  number, number,
  number, number,
];

export declare type Matrix3D = [
  number, number, number, number,
  number, number, number, number,
  number, number, number, number,
  number, number, number, number,
];

export declare type Matrix = Matrix2D | Matrix3D;

/**
 * Apply a transformation matrix to a point.
 * @param m A `number[]` with length 6 or 16.
 * @param vector An `object` with `x` and `y` properties.
 */
export declare function transformVector2(matrix: Matrix, vector: Vector2): Vector2

/**
 * Apply a transformation matrix to a point.
 * @param m A `number[]` with length 6 or 16.
 * @param vector An `object` with `x`, `y` and `z` properties.
 */
export declare function transformVector3(matrix: Matrix, vector: Vector3): Vector3

Implementation
export function transformVector2(matrix, vector) {
  let fm = format(matrix)
  if ('x' in vector && 'y' in vector) {
    let t = fm[3] * vector.x + fm[7] * vector.y + fm[15]

    return Object.assign({}, vector, {
      x: (fm[0] * vector.x + fm[4] * vector.y + fm[12]) / t,
      y: (fm[1] * vector.x + fm[5] * vector.y + fm[13]) / t,
    })
  }
  throw new TypeError('Expected object with `x` and `y` properties.')
}

export function transformVector3(matrix, vector) {
  let fm = format(matrix)
  if ('x' in vector && 'y' in vector && 'z' in vector) {
    let t = fm[3] * vector.x + fm[7] * vector.y + fm[11] * vector.z + fm[15]

    return Object.assign({}, vector, {
      x: (fm[0] * vector.x + fm[4] * vector.y + fm[8] * vector.z + fm[12]) / t,
      y: (fm[1] * vector.x + fm[5] * vector.y + fm[9] * vector.z + fm[13]) / t,
      z: (fm[2] * vector.x + fm[6] * vector.y + fm[10] * vector.z + fm[14]) / t,
    })
  }
  throw new TypeError('Expected object with `x`, `y` and `z` properties.')
}

Note: Use of Object.assign() breaks IE10 and IE11 support.

Would appreciate this, +1!

The ultimate goal would be to make a function to translate coordinates from any elements to any elements, but I don't need one for now.

After 4 years and some nice js api changes, I'm pleased to announce I implemented and polished a library to do exactly that !
It handles all situations I could have tested so far, and since it rely on rematrix, I though it would be kind to tell you =)
--> https://github.com/hl037/quantpos

Cool @hl037 I'll check it out this week!


Make Command Calls in GitHub Workflows

The reproducibility in the local environment is improved by making scripts executed in GitHub workflows callable from the make command.

Thanks, LGTM except for minor comments above!

Please proceed to merge after test pass 😃

/test


Micorosoft Edge places video at the top left of the screen in vegas slideshow

With Microsoft Edge photos load fine just as they do in other browsers.
Videos however appear to not resize with the window and instead load on the top left corner with their original dimensions.  In other browsers the video fills the entire window.  Here is an example (the vegas element has 100% width and height):

Here is a screenshot with Google Chrome on the same Windows 10 machine:

Hello.
It seems IE Edge has a hard time with full-width / height video.
I'm on MAC, so I can't really work on it.
Help needed.
Some clues:
CSS:
https://github.com/jaysalvat/vegas/blob/master/src/vegas.css#L50-L55
JS:
https://github.com/jaysalvat/vegas/blob/master/src/vegas.js#L397-L407
Thanks!

+1, this only happens when you stick vegas inside other elements and not direcly to body(otherwise it works fine). Any luck trying to solve it @tkdan235  ?

I played with it for a bit, but haven't had any luck.  This is definitely something funny with Edge...  I have bigger fish to fry at the moment but will come back to this.
I did the same thing btw, I detect if the browser is running edge then just disable video.

@tkdan235 Thanks for your help.
FYI, Vegas has a method to check if the browser has to display video backgrounds or not on some devices. Overwrite it with the Edge information added somewhere.
$.vegas.isVideoCompatible = function () {
    var devices = /(Android|webOS|Phone|iPad|iPod|BlackBerry|Windows Phone|Edge)/i;
    return !devices.test(navigator.userAgent);
}

This way, your video backgrounds will be ignored by Vegas on Edge.

Note sure if this will help, but there is a website (not on Vegas) that has fullscreen videos working on Edge. http://gentlebones.com
This block of CSS was what he uses:
.theatre {
	position:absolute;
	overflow:hidden;
	width:100%;
	height:100%;
	background:#000;
}

.theatre video {
	position:absolute;
	display:block;
	min-width:100%;
	min-height:100%;
	opacity:.8;
}

.dragslider.switch-min .theatre video {
	height:100%;
}

Hey ! Thanks @ShrmnK !
Does somebody can make some changes and tests in the vegas css and test the whole thing on Edge and check if nothing is broken for other browsers.
https://github.com/jaysalvat/vegas/blob/master/src/vegas.css#L50
Thanks.


Fixed issue #42 and added regression test

This should fix #42

Current coverage is 91.75% (diff: 100%)

Merging #43 into master will increase coverage by 0.02%

@@             master        #43   diff @@
==========================================
  Files            19         19
  Lines           290        291     +1
  Methods          45         45
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            266        267     +1
  Misses           24         24
  Partials          0          0

Diff Coverage
File Path

•••••••••• 100%
src/SymbolFinder.php

Powered by Codecov. Last update dfc80a5...31c3bc2

Just a tip, your git email is not known by GitHub

Now it is

The git force is strong with this one 👆


Support marking an image as a templated image on OS X

https://developer.apple.com/library/mac/Documentation/Cocoa/Reference/ApplicationKit/Classes/NSImage_Class/index.html#//apple_ref/occ/instm/NSImage/setTemplate:
This is needed to support Dark Mode on OS X Yosemite for tray icons.
Here's how an tray icon currently looks without using a templated image on Yosemite in dark mode:

In normal mode:

Hi, i needed the same thing and hacked it in. i am not a C programmer by trade so my implementation is far from fancy, but it works. The downside is that the JS API doesn't recognize the default value and therefore makes my new parameter mandatory. Not ideal for a osx-only feature. Couldn't figure it out.
Maybe someone from the team can look over this. -> https://github.com/m3nt0r/atom-shell/commit/214901ffeb55bcdb51a7484a327f4dd8b52dcc24
Since there's hardly a reason to not support "dark mode" on the menubar i have enabled it by default. You could then always disable it via setImage if required:
  appIcon.setImage('img/tray.png', false); // disable the behavior

Since there's hardly a reason to not support "dark mode" on the menubar i have enabled it by default.

This will break people who don't create an image specifically designed to be a template, can you make false the default instead and submit a PR? This is a good fix to have in the main build and it should be pretty easy to make the parameter optional

I'm more willing to support template images in the implicit image API instead of in Tray API.
As quoted from NSImage documentation:

If an app is linked in Mac OS X v10.5 or later, images requested using this method and whose name ends in the word “Template” are automatically marked as template images.

We can use the same behavior in atom-shell that images have Template suffixed in its name will be treated as template images.

@paulcbetts I've pushed the update. Now defaults to false.
@zcbenz  Sounds like the most elegant solution for this. Should i send a PR regardless?

@m3nt0r Chromium's image system doesn't have support for template image by default, so it would need some work-around to make things work. I think it is better for me to hack on this, and thanks for looking into it!

Hey @zcbenz
I'm having some trouble with this.
I have
  tray = new Tray(path.join(__dirname, "./menu-bar-black.png"));
  tray.setPressedImage(path.join(__dirname, "./menu-bar-white.png"));

I added a new file menu-bar-blackTemplate.png which is the white version. Wont work, any thoughts?

@reggi You have to use the template image when creating Tray: new Tray(".../menu-bar-blackTemplate.png").

@zcbenz thanks! that did the trick!


Provide way to view facilities in a certain area

Currently users must input an address to populate the map with facilities around that address. It would be useful to also offer the option to simply select a region (neighborhood in Chicago, zip code, something) from a dropdown or something similar that would then populate the map with facilities in that region.

If you go to https://www.dnainfo.com/chicago and click on neighborhoods, I think that's most of Chicago covered. People might want to search a wider area, though. Would North Side, South Side, West Side and Loop be too big?

This should be handled by the most recent commit for the most part.
Could still use improvement, but working much better now. Let me know if this misses anything in here!


? Depreciate drift_sqflite and publish Migrations Guide ?

Title Says It All
@simolus3 Any reason not to do this?

Any reason not to do this?

drift_sqflite is a very small package that has pretty low maintenance costs. There are some advantages of using sqlite3 APIs provided from the operating system, like being able to use the database inspector in Android studio or slightly smaller app sizes.
Every deprecation and forced migration hurts existing users, so the question should be what reasons we have to remove drift_sqflite. Having a single sqlite3 implementation would be nice, but I don't think that's a reason strong enough to break existing users.

@simolus3 Any reason not to do this?

Guess there is a reason then...


[BUG] Identifier (SORID) variable "OIDC_CLAIM_sub" not set"

Describe the bug
My attempts to create a login at https://data.lsst.cloud failed
at the self-signup stage from two different identity providers.
To Reproduce

1.1 https://data.lsst.cloud/
1.2 click on "Log in"
1.3 allow access by:

script: code.jquery.com
script: cdns.jdelivr.net
script: HHHHHHHHHHHH.statuspage.io  (where HHHHHHHHHHHH is a 12-character alphanumeric string)
frame:  HHHHHHHHHHHH.statuspage.io (same string)

2.+3. and three select Nicolaus Copernicus University (NCU) and login using our centralised login server

the first time I did this, earlier today, I agreed to send the listed pieces of info to CILogon. On repeating the step now, I have not been asked about whether I agree to send the info (since the NCU server login.umk.pl presumably has stored my earlier agreement - the first time around, I clicked a box saying that I don't need to confirm every time).

4. Onboarding flow: Identity provider selection

This is still set at Nicolaus Copernicus University, so I left it unchanged.

5. Self Signup With Approval

Click on "BEGIN ->"
5.1 two info boxes flash up briefly about some things being done
5.2 There's

a warning popup box Identifier (SORID) variable "OIDC_CLAIM_sub" not set (white text, red background); and
[icon 'i'] The identifier "http://cilogon.org/serverE/users/XXXXXX" is not registered. If your request for enrollment is still being processed,you will not be able to login until it is approved. Please contact an administrator for assistance. (black text, yellow background; XXXXXX is a 6-digit number)

This sequence of steps is reproducible, except that I clicked the X to remove the Identifier ... box, and it no longer appears on repeats.
The value XXXXXX is identical each time.

Repeat 2-5 with ORCID, gets to

5.2   The identifier "http://cilogon.org/serverE/users/YYYYYY" is not registered. If your request for enrollment is still being processed, you will not be able to login until it is approved. Please contact an administrator for assistance. where YYYYYY is a different number, about 300 greater than XXXXXX, done something like 10 hours later than when I first tried to register.

Expected behaviour
I expected to be requested to give my given+family name and an email address, as in step 5 of https://rsp.lsst.io/guides/getting-started/get-an-account.html
URL
The final URL, at step 5.2, is https://id.lsst.cloud/registry/
Desktop (please complete the following information):

Device: desktop computer (two different ones)
OS: Debian GNU/Linux Bookworm 12.2
Browser: firefox-esr
Version: 115.3.0esr-1~deb12u1
Plugins for privacy:

uMatrix (see 1.3 above for third-party scripts and a frame that I allowed);
Privacy Badger (doesn't seem to have blocked anything);
uBlock Origin (doesn't seem to have blocked anything)

Additional context
The variable OIDC_CLAIM_sub is described at  https://www.cilogon.org/oidc .

Just adding that my student and I have both encountered the same error in the last two days. (Using GitHub as the authenticator since we are at a small school).
Please keep us up to date on a fix if it becomes available.
Jennifer Cash
Deidre Gilliard

Hi sorry about this - our authentication provider has now fixed this - please try again and let us know.

I got through several further steps this time, through to We are reviewing your application. You’ll receive an email as soon as your account is approved. So the bugs looks solved to me.
@drjenncash Could you please confirm that the bug is solved for you and your student too? Then I'll close it.

That bug has been fixed for my student and I.

The issue was resolved so I'm closing this ticket.


Increment version

This PR:

fixes doctests (adjusts a print width);
Includes some doctests in the unit tests;
increments dependency compatibilities (reimplements a reinterpret of BioSymbols); and
increments the package version to v3.

Closes #69.

@CiaranOMara I don't see a reason to bump BioAlignments version to 3.0.0, AFAIK, this is not a breaking change. If someone has BioSequences v2 installed, this change will not be breaking, because the Pkg resolver will simply not install this version. Conversely, bumping the major version can cause a bunch of issues for downstream packages that rely on BioAlignments but not BioSequences.
Otherwise LGTM

The code in this PR doesn't appear to warrant a major version, but since v2 of this package, the method signature for the AlignmentAnchor changed, which warrants the major version change or some sort of patch (reported in #69).

@CiaranOMara Ah, I see. Maybe it's better to revert the breaking change from 2.0.0, since there seem to not be a release that actually includes the change, now that 2.1.0 has been yanked?

Having had another look to get back up to speed, the breaking change of the adition of the alnpos field to the AlignmentAnchor struct was merged in #44. My sense is that adding alnpos is a useful optimisation, though I've not yet done much in this area. The inclusion of the field is at least important to @alyst.
I'm in favour of moving forward, mainly because #44 was the bulk of the work since v2, but on reflection it would be worth slowing down to address other breaking changes suggested in https://github.com/BioJulia/BioAlignments.jl/pull/44#issuecomment-697350429 before incrementing a major version number.
If moving forward with alnpos, I think we'd need a few new outer constructors as well as push! and append! methods  for Alignment to help with usability by calculating alnpos as Operation and their lengths are added, but these would be features.
I've removed the major version increment.

I think this illustrates very well why most people think that fields of structs should be implementation details, and the API instead should only expose accessor functions - but I digress.
You're right - we can have a minor version change for now, then later review what breaking changes we want, if any,

You're right - we can have a minor version change for now, then later review what breaking changes we want, if any,

We'd need to branch and set a new master before #44 to take/accept minor changes.

Any progress on this? I'm excited for a new release of BioAlignments, but everything seems to be stuck here. I think this needs to be treated as a hotfix under OneFlow.

Create a new branch before #44git checkout -b hotfix/2.2.0 118c5ad3

Cherry-pick the commits from the CI/TagBot PRs (so we can register the new version)

#50
#71

Cherry-pick the commits from this PR (#72)git remote add ciaranomara git@github.com:CiaranOMara/BioAlignments.jl.git
git fetch ciaranomara
git cherry-pick c32e7678
...

Do version-bumping/testing stuff
Push the hotfix/2.2.0 branch to GitHub
Trigger JuliaRegistrator on the tip of the new branch
Once the version is registered and TagBot has done its thing, then merge hotfix/2.2.0 into master and deletegit merge hotfix/2.2.0 master
git push origin :hotfix/2.2.0

I have done steps 1-4 on my own machine, so I know that works as expected, but everything else needs to be done by someone with write access to the repo.

@MillironX Can you not do 1-5 on a fork and then PR?
I'm happy to take these steps, but don't want to do so until one of @CiaranOMara or @jakobnissen has weighed in

@MillironX Can you not do 1-5 on a fork and then PR?

I can prepare a PR, but it won't have a target (and it won't show up in GitHub) until someone creates the hotfix branch on this repo.

Oh, I get it.

@MillironX, that is an excellent suggestion; I have drafted the hotfix branch and will invite people to review it in the next few days.
Since the goal/focus of this PR has changed, it needs tidying up. I'll split this PR, focusing on doctests here and BioSymbols v3 in a new PR. After merging those two PRs into master, we can neatly cherry-pick them into the hotfix.

I think this is ready for review again.


Merge main -> google

f2d74fd83 Disable fusion of named ops with elementwise operations by default. (#5363)
3fc84c392 Add support for returning Python tuples (#5347)
8fb65cbc1 Remove handling of shape dialect in flow->hal stream conversion. (#5360)
68c27a08f Add logging for Android (#5232)
56307e1b5 Merge pull request #5328 from google/benvanik-constant-io
d3eb8e4be Merge pull request #5357 from google/benvanik-host-visible
4f86152fd Materialize interfaces based on usage for flow.dispatch.workgroups.
f41b25dc6 Splitting -iree-hal-materialize-interfaces into old/new paths. This will insul..
62a3dfdda Move constant pool ops/hal.constant.subspan into streams. This dramatically re..
79dc138c0 [spirv] NFC: use upstream push constant utility functions (#5352)
38daefb3e Revert "Disable running BERT on Vulkan (see Issue #5268) (#5269)"
09959568b Revert "[vulkan] Disable ResNet50 test failing on NVIDIA GPUs (#5332)"
0eeb3f8e5 Removing hack that forced all Vulkan buffers to be host-visible. After removin..
8abc33b4d Tracy fixes for GPU name allocation and allocation callstack mode. (#5356)
55f76d3a8 Fix submodule check failure (#5355)
830b547fe [CodeGen] Copy constant at the proper place during bufferization (#5343)
59ad1681d Drop absl flat_hash_set and some unused includes. (#5346)
de2aabc1d Control TF MLIR print options via flags (#5336)
2e2dfdd37 Merge google -> main (#5345)
ef9b78766 Merge branch 'main' into google-to-main
8b7073319 Remove extra comma from context_wrapper.cc
8cc625675 Fix linalg-on-tensors smoketests (#5341)
a578d6a96 Add TosaToStandard to cpu/gpu target pipeline from ApplyScale lowering (#5288)
0c92b8853 Add mixed static-dynamic arguments interface for flow.dispatch.tensor.{load|st..
9890722f2 Update Java Bindings To Build In Experimental (#5226)
734ec2498 Add smoketest_linalg_on_tensors to LLVM and Vulkan-SPIRV targets. (#5324)
d8bcb789b Drop absl logging and flat_hash_map. (#5334)
5c6366820 [vulkan] Disable ResNet50 test failing on NVIDIA GPUs (#5332)
55d3715a8 Fix vulkan_device struct manipulation issue with std::vector. (#5333)
47d00c6fc Fix benchmarking MobileNetV2 on S20 GPU in Linalg on tensor path. (#5331)
ccae793f8 Fix bugs in ExtractReduceWindowOpPaddingAttributes. (#5329)
652e328a3 Don't inline block arguments that can be written (#5247)
86e7d29b9 [CodeGen] Enable fusion with consumer elementwise ops (#5282)
44ad7745c Integrate MLIR-EmitC at iml130/mlir-emitc@3c265bf (#5326)
01418570b Added pad test, update LegalizeInputTypes to allow linalg.yield (#5305)
5a3653f93 Add mobile-bert f16 version to Mako benchmark. (#5204)
f596cdb4a Add a target_env_conversion test for Linalg on tensors. (#5309)
f1aa6f428 Print out the status when iree-check-module fails (#5323)
40d758935 Check for VMLA and Vulkan components for simple_embedding_test. (#5318)

note: this is just for migration testing, I'm not going to do a main -> google integration.


Forbid internal system ambiguities when using DefaultPlugins in CI

What problem does this solve or what need does it fill?
Bevy-internal system order ambiguities are bad because:

They're often the source of real bugs.
They badly pollute end-user diagnostics.

What solution would you like?
Add an integration test which adds all default plugins, checks for ambiguities and then panics if there are any.
Ideally this is run with all features enabled.
Additional context
Discussed in:

https://github.com/bevyengine/bevy/pull/10411
https://github.com/bevyengine/bevy/issues/9511

Done in bevy_xpbd by @johanhelsing in https://github.com/Jondolf/bevy_xpbd/pull/230

Similar (or maybe a duplicate? I can't tell): #7386

Yep, duplicate.


⚠ Bofrost.es has degraded performance

In 5b86713, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1491 ms

Resolved: Bofrost.es performance has improved in f1a982d after 13 minutes.


Niloofar/FEQ-1661/Divider Component

Added Divider component
Accepts 3 props:

variant which can be "horizontal" | "vertical"
color
margin

@niloofar-deriv your commits are not signed. would u please fix that as well? otherwise it doesn't allow me to merge it


Avoid close on closed channel

Codecov Report

Merging #318 into master will decrease coverage by 0.02%.
The diff coverage is 75%.

@@            Coverage Diff             @@
##           master     #318      +/-   ##
==========================================
- Coverage    74.2%   74.17%   -0.03%
==========================================
  Files           9        9
  Lines        1000     1003       +3
==========================================
+ Hits          742      744       +2
- Misses        211      212       +1
  Partials       47       47

Flag
Coverage Δ

#unittests
74.17% <75%> (-0.03%)
:arrow_down:

Impacted Files
Coverage Δ

selenoid.go
77.18% <75%> (-0.09%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ad8a78c...9904947. Read the comment docs.


use playwright instead of selenium

hoping this will fix our system tests...
from conversation here: https://github.com/teamcapybara/capybara/issues/2770#issuecomment-2315118283

Oh interesting! Did this change work locally on your dev machine?
Oddly it looks like the CI job for tests didn’t run. I don’t see it listed on this PR as a failed check like it normally is.

not yet. I wanted to try it on github so I pushed it as a PR. Will keep debugging to try to get it working today

@jlvallelonga should we close this one out now that you fixed the chrome driver version or do you think it’s still worth pursuing.


Procedural terrain / chunk endpoint

GET params:
chunks: -1x0x2,-1x0x1,0x0x1,0x0x2,0x1x2
worldId: nameOfWorld
(world configuration is looked up by id, and used to generate the requested chunks)

still needs structure & voxel generation


Be able to access cognitive-services-speech-sdk  / API inside docker container

Is your feature request related to a problem? Please describe.
Reference from: https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/174
I am surprised Azure have this limitation of not able to let users access the speech sdk / rest api in a container. The only solution available is to run the actual azure speech language model in a container that requires a ridiculous amount of minimum hardware requirement to run.
Describe the solution you'd like
be able to access cognitive-services-speech-sdk / REST API inside a docker container
Describe alternatives you've considered
using competitor text-to-speech services

The Speech SDK runs in a docker container, using the Speech SDK from the command line tool (spx) in a docker container is probably the quickest start point: docker run -it --rm msftspeech/spx help
The full documentation for using spx in a container is here.
Spx is based on the C# version of the SDK, and other languages also work from containers.
If there's a specific problem running the SDK in a container let us know and we can work to resolve it.

it seems like a more complicated work around...
I just want to get speech_synthesis.py working inside a python container (Python 3.8.10). I followed the installation directions (including this). But get the following error message:

Speech synthesis canceled: CancellationReason.Error
Error details: USP error: timeout waiting for the first audio chunk
Did you set the speech resource key and region values?

I am pretty sure its not a container port problem, because API requests for other services work. If I run speech_synthesis.py on local host (Lubuntu 22.04), it works.
Does azure plan to make azure-cognitiveservices-speech work inside a container?

This works for me
FROM debian:11

RUN apt-get -y update
RUN apt-get -y upgrade
RUN apt-get update && apt-get install -y python3.9 python3.9-dev python3-pip

WORKDIR /code

COPY ./requirements.txt /code/requirements.txt

RUN pip install psycopg2-binary
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
RUN apt-get install -y ffmpeg
RUN apt-get install -y build-essential libssl-dev ca-certificates libasound2 wget

EXPOSE 8000
EXPOSE 443

COPY ./app /code/app

CMD ["gunicorn", "app.main:todo" ,"--workers", "4", "--worker-class" ,"uvicorn.workers.UvicornWorker" , "--bind", "<IP_ADDRESS>:8000"]

I tried a 22.04 docker image:
FROM mcr.microsoft.com/mirror/docker/library/ubuntu:22.04 as output

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
    apt-get install -y libglib2.0 &&\
    apt-get install -y libglib2.0-cil &&\
    apt-get install -y libglib2.0-cil-dev &&\
    apt-get install -y --no-install-recommends \
        python3 python3-pip python3-dev \
        libgirepository1.0 libasound2 \
        libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly python3-gst-1.0 \
        apt-transport-https curl

WORKDIR /openssl
RUN curl -L -O  http://mirrors.kernel.org/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb
RUN dpkg -i libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb

WORKDIR /data

RUN pip install azure-cognitiveservices-speech
RUN pip install scipy

RUN curl -L "https://raw.githubusercontent.com/MicrosoftDocs/azure-docs/59632e8/articles/ai-services/speech-service/includes/quickstarts/text-to-speech-basics/python.md" | sed -n '44,70p' | sed 's/^    //g' > speech_synthesis.py

ENTRYPOINT ["bash"]

And while the script couldn't play anything (lack of speaker in the container and all) it did run without error when I ran it....
At this point the next step would be to try and test the connection to the TTS service specifically (It runs behind a different load balancer than other speech recognition services) and get a log file from the SDK to see what internal error is happening. This REST API would be a good test to use.
What Azure region is the resource you're using in?

I am using the "eastasia" region.
I've been trying to run the dockerfile provided by Matias222, but is running into issues during install with llvmlite. A problem with my requirements.txt.
I'll try your version of dockfile now.

I still get error message:

Speech synthesis canceled: CancellationReason.Error
Error details: USP error: timeout waiting for the first audio chunk
Did you set the speech resource key and region values?

I am certain the resource key and region values are correct. I can run speech_synthesis.py on the host machine (Lubuntu 22.04), but it just won't work in a container.
I installed all the requirements here and here.
According to this, it's a billing problem? But I don't want to run the whole model in a container. I just want to be able to access the API, as a service.

Since the hostname of the service endpoint contains the region name, having the wrong region name can cause a lot of connection issues, the SDK defaults to a warning message about the region name / key for most connection issues.
There are 3 things we can do from here to learn more, and it may be worth trying all 3...

Run the CURL command

curl -v --location --request GET 'https://YOUR_RESOURCE_REGION.tts.speech.microsoft.com/cognitiveservices/voices/list' --header 'Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY'

inside the container. This API is on the same cluster that the Text To Speech services are, so we can validate connectivity without the SDK being involved.

Get the result ID from the error:

print("Speech Result : {}".format(speech_synthesis_result.result_id))

Collect a log from the container:

speech_config.set_property(speechsdk.PropertyId.Speech_LogFilename, "speech.log")

ok, the resource region is set correctly in the endpoint. Below are the responses:

Response from the CURL command:

Note: Unnecessary use of -X or --request, GET is already inferred.

Trying <IP_ADDRESS>:443...
Connected to eastasia.tts.speech.microsoft.com (<IP_ADDRESS>) port 443 (#0)
ALPN, offering h2
ALPN, offering http/1.1
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
TLSv1.0 (OUT), TLS header, Certificate Status (22):
TLSv1.3 (OUT), TLS handshake, Client hello (1):

Result ID from the error:

Speech Result : 99d18da49f1c4e3794cc9d36c3984447

speech.log

hey @rhurey , may I ask if you know how to decipher what is in the speech.log? I couldn't tell what went wrong...

Sorry about the delay, took a couple of days off work.
It's what's not in the log that's interesting...
From the log:
[9906]: 7234ms SPX_TRACE_INFO: AZ_LOG_INFO:  tlsio_openssl.c:1859 CRL check enabled.
[9906]: 7271ms SPX_TRACE_SCOPE_EXIT:  uws_web_socket.cpp:149 Open
[9906]: 7272ms SPX_TRACE_INFO:  usp_connection.cpp:775 Create requestId  for messageType 0
[996305]: 47232ms SPX_TRACE_ERROR:  usp_tts_engine_adapter.cpp:263 USP error: timeout waiting for the first audio chunk

Compared to a successful connection:
[843863]: 3340ms SPX_TRACE_INFO: AZ_LOG_INFO:  tlsio_openssl.c:1859 CRL check enabled.
[843863]: 3435ms SPX_TRACE_SCOPE_EXIT:  uws_web_socket.cpp:149 Open
[843863]: 3436ms SPX_TRACE_INFO:  usp_connection.cpp:775 Create requestId  for messageType 0
[843863]: 3746ms SPX_TRACE_INFO: AZ_LOG_INFO:  tlsio_openssl.c:1441 Not using CRL cache directory.
[843863]: 4136ms SPX_TRACE_SCOPE_ENTER:  uws_web_socket.cpp:247 OnWebSocketOpened
[843863]: 4137ms SPX_TRACE_INFO:  web_socket.cpp:880 Opening websocket completed. TransportRequest: 0x20003e60, wsio handle: 0x200045c0, time: 2023-10-20T18:18:54.4166277Z

So TLS wasn't completed, because we should see CRL cache messages as part of that. That message is logged after the certificate is received and before the CRL's are downloaded.
And that matches the output of the CURL command, (That is all the output it produced, right?) where TLS didn't complete. Which would mean we can remove the SDK from the problem and focus on "Why isn't TLS working?"
Just to see if the scope is wider than just TTS, can you also try:
curl -v https://eastasia.stt.speech.microsoft.com/api/v1.0/languages/recognition

That should return a list of ISO language codes.

np, already really grateful for your help so far!
ah oh, I tried: curl -v https://eastasia.stt.speech.microsoft.com/api/v1.0/languages/recognition
but no list of ISO language codes...it only showed:
*   Trying <IP_ADDRESS>:443...
* Connected to eastasia.stt.speech.microsoft.com (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):

After a few minutes, it showed additional:
``* OpenSSL SSL_connect: Connection reset by peer in connection to eastasia.stt.speech.microsoft.com:443
* Closing connection 0
* TLSv1.0 (OUT), TLS header, Unknown (21):
* TLSv1.3 (OUT), TLS alert, decode error (562):
curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to eastasia.stt.speech.microsoft.com:443

In this instance "peer" means "Another machine in the packet flow path" could be an egress router, ingress router, load balancer, etc...
To try and localize that a bit and make sure I understood correctly... If you run the same python on the machine running the docker container against the same region, it works correctly?

yes, running the speech_synthesis.py (using the same key & region) directly on my Lubuntu 22.04 desktop will return speech voice, but if running it in a container, it produces the above error message. The image/container is built from the dockerfile you provided above.
It's the same situation in Lubuntu 20 too, but the image/container is not from your dockerfile.

I hope I am not the only one having this problem?...
maybe an alternative would be to have the speech synthesis sdk run on the container host and somehow have the container access the host whenever it needs the speech synthesis sdk?...

Since curl isn't able to reach the endpoint either, and that completely bypasses the Cognitive Services Speech SDK, this means the SDK is not the source of the problem here. The issue here appears to be an issue either with the Docker networking configuration, or broader networking. Unfortunately that is outside the scope of support that we can provide here.
I am closing this issue for now since this is not an SDK issue. If after you are able to Curl working successfully you are still having issues with the SDK sending requests, please feel free to re-open this issue or create a new one.


Proposal for final CodePipeline Actions API shape

This PR contains what will (hopefully) be the final iteration of the way we structure our CodePipeline Actions.
The API shape is the following:

All Actions integrating with AWS services live in the service's package (so, the CodeCommit Action lives in the aws-codecommit package, the CodeBuild ones - in aws-codebuild, etc.).
There is a separate aws-codepipeline-api package that contains the Actions API, on which the service packages depend on (in order to prevent dependency cycles).
The API of Actions changed - you now provide a Construct as the parent, while the Stage is a required property in the props.

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

Thanks for the review @eladb . I've submitted a new version, removing the aws-codebuild-aws-actions module completely, and updating the ReadMe of the aws-codepipeline module.
If this looks right to you, feel free to merge this in.

Missed updating some outdated comments in the actions.ts file in the aws-codepipeline package in the previous revision, corrected now.

I had one more thought in favor of the aws-codepipeline-aws-actionsmodule (I'm not in love with the name either just to be clear, I'm open to suggestions on a better one) that I wanted your opinion on @eladb .
Currently, we face a question of where to put the external Actions (like GitHub source, Jenkins build, Jenkins test, etc.). Right now, they live in the codepipeline package, but that makes them "special", and different from the AWS Actions. Also, with 100% certainty I can say that not all of the external Actions available in the CodePipeline UI will be in that package (I don't imagine we will put the less popular ones, like Solano CI and Ghost Inspector UI Testing, for example, in there).
We could create a dedicated package for them, something like aws-codepipeline-external-actions (working name). In that case, it seems like having an aws-codepipeline-aws-actions module could be nice, for symmetry and discoverability.
We could even make aws-codepipeline-external-actions be just an empty package that depends on the particular integrations package (like aws-codepipeline-github, aws-codepipeline-jenkins, etc.), to make it more similar with AWS Actions.
I would love to know what's your opinion on this @eladb .
Thanks!

After our meeting, I've completely re-structured the API according to what we agreed to. I've updated the PR description accordingly.
Sorry for the gigantic CR, but I'd rather rip the band-aid off.

Updated with the feedback from the comments.

Missed a VS-Code auto-generated method signature with a union type.

No idea why the build is failing... Stage definitely implements grantPipelineBucketReadWriteTo correctly in TypeScript... could it be because the type in the declaration of grantPipelineBucketReadWriteTo is optional (identity?: iam.IPrincipal)?

Updated with the latest comments from @eladb . I won't merge until we figure out the above problem with JSII though.

Missed that an interface rename violated TS lint's "imports must be alphabetized" rule.

@skinny85 you discovered a bug in jsii (awslabs/jsii#175). Workaround for now is to modify the signature of grantPipelineBucketReadWriteTo such that identity is required and not optional. Open an issue to track fixing this one the jsii bug is fixed please.

Updated to make the argument to grantPipelineBucketReadWrite required instead of optional. Created an issue to make it optional again in #567 .

Hallelujah!

You said it brother 🙇


[Style] Enhancement of Components card

Description
Enhancement of Components card with animation and new styling.
It will make website more beautiful.
Kindly watch the attached video and suggest any other changes in styling.
Kindly assign this to me under IWOC2024.
Screenshots
https://github.com/Rakesh9100/Beautiify/assets/149922307/52a1896f-5f6d-470a-aeb4-ef7f6d10160e
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

@Rakesh9100
Kindly check

I will add it to both light and dark mode.
Dark mode will have different styling which will match with dark them .

This is how cards will appear in dark mode I am working on it I will do some more changes.

@Rakesh9100
Kindly assign this to me under IWOC2024

Okay proceed @Prince-kushwaha-2004

@Rakesh9100
??

In the light theme, background is already purple and your cards are also most purple which is becoming dominant.
For now, you can go with changing the hover effects accordingly you have made but don't change the size of the cards or colors of it, you can also enhance the cards in the dark theme @Prince-kushwaha-2004


KAFKA-15039: Reduce logging level to trace in PartitionChangeBuilder.…

…tryElection()
A CPU profile in a large cluster showed PartitionChangeBuilder.tryElection() taking significant CPU due to logging. Decrease the logging statements in that method from debug level to trace to mitigate the impact of this CPU hog under normal operations.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Test failures are unrelated.