Channel selector is not functional

What happened?
Channel selector stopped working recently. First, it shows as "Channel" on load (instead of "stable" previously) and second, if I click on it, nothing happens. So it really looks like channel selection options somehow disappeared.
Steps to reproduce problem

Open https://dartpad.dev.
Observe channel selector shows as "Channel"
Click on it
Observe that nothing happens.

Browser
Browser: Google Chrome
Version: 112.0.5615.121

Are you using any extensions/plugins that affect website behavior
(particularly those that affect iframes, such as ad blockers)?

Yes, but it's reproducible with ad blocker disabled.

Are there any warnings or errors in your browser's JavaScript console?
If so, paste them below:

Yes, see below.
caught FormatException: Protobuf JSON decoding failed at: root["flutterEngineSha"].


omnibus: ignore GOPROXY when computing cache key

What does this PR do?
Add GOPROXY to the ignored env variables when computing the cache key
Motivation
This will fix more cache misses when the pipeline runs under conductor
See:

https://gitlab.ddbuild.io/DataDog/datadog-agent/-/jobs/746608862
https://gitlab.ddbuild.io/DataDog/datadog-agent/-/jobs/746655442/viewer

Which are running on the same commit, but ended up in a cache miss
Describe how you validated your changes

Possible Drawbacks / Trade-offs
Additional Notes

/merge


IC-1773: Pass in GA_ID from configuration

What does this pull request do?
Fills in the missing link between configuration and layout locals to make sure GA tracking ID works.
I renamed uaId to googleAnalyticsTrackingId as it was weird passing it around out of context
What is the intent behind these changes?
Bugfix:
Actual behaviour: Currently, the tracking ID is empty on all environments.
Expected behaviour: Tracking ID is not empty

♻ rebased to resolve conflicts

.. another conflcit


How to create custom validation rules?

by Encore\Admin\Form\Field::rules method, we can just pass a string or closure that returns a string of predefined rules.
but I need to create my own rules as a closure (like laravel does)

It accepts an array of rules too, Laravel-like. So something like:
$form->text('seo_slug', __('SEO slug'))->rules([
    'min:3',
    new Slug(), // <-- custom validation rule
    'unique:pages,seo_slug',
]);

It accepts an array of rules too, Laravel-like. So something like:
$form->text('seo_slug', __('SEO slug'))->rules([
    'min:3',
    new Slug(), // <-- custom validation rule
    'unique:pages,seo_slug',
]);

I know it accepts an array but every element of the array should return a string of predefined rules.
in your example, what does __invoke method of Slug return??


concat automagically outer-joins coordinates

I would like to concatenate two netCDF files that have float64 coordinate variables. I thought the coordinate values were the same, but in fact they differ by something in the order of 1e-14.
Using open_mfdataset or concat to merge the datasets, I get a completely different output shape than the two input files have.
This is because concat is somewhere performing an outer join on the coordinates. Now I am wondering where else in my workflows this might happen without my notice...
It would be awesome if there was an option to change this behaviour on concat, open_mfdataset, and auto_combine. I would actually rather make these functions fail if any dimension other than the concatenation dimension differs.
Note: This could also be a special case, because
>>> (ds1.lon == ds2.lon).all()
<xarray.DataArray 'lon' ()>
array(True, dtype=bool)

while
>>> (ds1.lon.values == ds2.lon.values).all()
False

Maybe an interface change could be considered together with that discussed in #1340?

This only happens in concat.
merge, which happens automatically in many operations, e.g., to decide which coordinates propagate, has different behavior: it automatically drops conflicting coordinate values.
Anyways, I agree: we should try to make this more explicit. We might still keep the "magical" version of concat around, but we should certainly expose the fully explicit version as public API.

https://github.com/pydata/xarray/pull/1330 will help, in so far as it adds a join='exact' option that can disable automatic alignment. We would just need to make the join argument used internally in align inside xarray.concat part of the public API for concat.

I also have this problem.
I have a list of dataset with all same shaped array at different time, while each have a different coordinate. (Each dataset is centered in the tropical cyclone center, with a same radius width buffer.)
I use xr.concat to concat them along time dimension, this function auto outer-joins coordinates, which makes the final dataset have a larger-shape, but i just want the original dataset shape.
Any solution ?

@wqshen, a workaround until a more complete modification to align is available would be to explicitly copy/set the coordinate values on your arrays before using xr.concat(). Alternatively, if it's as simple as stacking along a new tailing axis, you could stack via dask/numpy and then construct a new DataArray passing the coordinates explicitly.

I think the right solution here is to relabel the coordinates on each of the datasets that you are concatenating. The alternative behavior here is xarray raising an error in the case of conflicting coordinate labels.

Thanks for reminding me, stalte bot, this is still relevant to me.
I think your proposed solution @shoyer would solve this issue perfectly: expose align's join parameter in the concat function - and please also in open_mfdataset. Would you like a PR for this?

Sure, we would welcome a PRs for this.
On Wed, Jun 5, 2019 at 11:33 PM Jonas<EMAIL_ADDRESS>wrote:

Thanks for reminding me, stalte bot, this is still relevant to me.
I think your proposed solution @shoyer https://github.com/shoyer would
solve this issue perfectly: expose align's join parameter in the concat
function - and please also in open_mfdataset. Would you like a PR for
this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pydata/xarray/issues/1354?email_source=notifications&email_token=AAJJFVWVBBRU3HO3PZDGCO3PZCVUTA5CNFSM4DGS3QR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXB36MQ#issuecomment-499367730,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJJFVQ4YEERVTH2WFN77OLPZCVUTANCNFSM4DGS3QRQ
.


TranslatorText: fixed "score" field type

The go client for TranslatorText returned the following error:
translatortext.TranslatorClient#Translate: Failure responding to request: StatusCode=200 -- Original Error: Error occurred unmarshalling JSON - Error = 'json: cannot unmarshal number 1.0 into Go struct field TranslateResultAllItemDetectedLanguage.detectedLanguage.score of type int32' JSON = '[{"detectedLanguage":{"language":"en","score":1.0},"translations":[{"text":"text","to":"en"}]}]'
The score value is supposed to be a floating point number not an integer.
Hope this is the right fix for the problem.
Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

You don't have permission to trigger SDK Automation.
Please add yourself to Azure group from opensource portal if you are MSFT employee,
or please ask reviewer to add comment *** /openapibot sdkautomation ***.
Please ask<EMAIL_ADDRESS>(or NullMDR in github) for additional help.

Can one of the admins verify this patch?

Incorrect Swagger, see https://swagger.io/docs/specification/data-models/data-types/ for reference on how to do that

You're right, sorry for that.
I updated to the (i hope) correct format.
Is here ok float or is it preferred double?
Thank you for the review

Hi @FrancescoIlario , the right choice between float or double would be to the service team (pinging @yangyuan ). I know Swagger, I don't know the service :). Thanks!


Rebuild/5.2.10.b1

Rebuild xz 5.2.10 b1
Changes

Cleanup the directories created by make install on Windows:

${PREFIX}/lib
${PREFIX}/include
${PREFIX}/share

Prefer %LIBRARY_LIB% over %LIBRARY_PREFIX%\lib

Attempts to address https://github.com/AnacondaRecipes/xz-feedstock/pull/11#issuecomment-1386915492

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_66ah9zogca/clone/recipe/meta.yaml:59: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_66ah9zogca/clone/recipe/meta.yaml:59: missing_license_url: The recipe is missing a license_url
Warnings were found

cc @jaimergp

looks good, but we needs either a test or the created package to list the content like done here https://github.com/AnacondaRecipes/xz-feedstock/pull/11#issuecomment-1386915492

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_d6z3okmpvz/clone/recipe/meta.yaml:61: missing_doc_source_url: The recipe is missing a doc_source_url
WARNING: /tmp/abs_d6z3okmpvz/clone/recipe/meta.yaml:61: missing_license_url: The recipe is missing a license_url
Warnings were found


Per operation configuration override design

closed by https://github.com/awslabs/smithy-kotlin/pull/776


New DataPartitionType DATA

Increases memory efficiency during large scale training, input batches and labels are sharded along the 'data' axis.
Added new input data sharding option DataPartitionType.DATA.

Increases memory efficiency

Do you have measurements on how DATA improves memory efficiency? Thanks.

Increases memory efficiency

Do you have measurements on how DATA improves memory efficiency? Thanks.

By replicating the sequence length over TP workers we limit collectives and dynamic-slices introduced by the SPMD partitioner. This lowers overall step time and also allows us to run sequence parallelism over TP workers.

Increases memory efficiency

Do you have measurements on how DATA improves memory efficiency? Thanks.

Increases memory efficiency

Do you have measurements on how DATA improves memory efficiency? Thanks.

By replicating the sequence length over TP workers we limit collectives and dynamic-slices introduced by the SPMD partitioner. This lowers overall step time and also allows us to run sequence parallelism over TP workers.

Thanks. Do you have quantitative measurments?

Increases memory efficiency

Do you have measurements on how DATA improves memory efficiency? Thanks.

Increases memory efficiency

Do you have measurements on how DATA improves memory efficiency? Thanks.

By replicating the sequence length over TP workers we limit collectives and dynamic-slices introduced by the SPMD partitioner. This lowers overall step time and also allows us to run sequence parallelism over TP workers.

Thanks. Do you have quantitative measurements?

No, we do not. It is more when we inspect the HLO after SPMD partition pass we see much more optimal sharding. Less all-to-alls and less dynamic-slices on right hand side.


Multiple mappings do not consider each other

I am trying to map multiple URLs to the same controller but the router just uses the first one it finds.  Consider opening the following URL in the example below: "example/new/test".
[[Routable sharedRouter] map:@"example/new/:param1" toController:[Example class]];
[[Routable sharedRouter] map:@"example/:param1/:param2" toController:[Example class]];

What I would expect to happen is my controller will be initialized with the first mapping and param1 being set to "test" but it actually opens the second mapping with param1 being set to "new" and param2 being set to "test".  I believe this is a caching issue and it doesn't consider all scenarios of the mappings.
Any advice? Thanks!

Yup, Routable doesn't explicitly handle route format collisions like that (and I'd not sure it'd be worth it - it would end up confusing one group of people or the other). I'd suggest doing something like example-new/:param1 and example/:param1/:param2 to get the exact behavior you want

Not sure why it wouldn't be worth it since you could use some sort of priority system.
Switching to JLRoutes for this and query params support.

Let's be 'friendly and patient', which the open code of conduct calls for.
Since Clay is the lone owner and maintainer, requesting him to do work for
you is a bit mean.
Meanwhile, since routable is MIT licensed, you are free to modify it in
your own implementation (and send PRs if you want to contribute back).
Thanks,
-Mimee
On Tuesday, September 22, 2015, Joshua Schroeder<EMAIL_ADDRESS>wrote:

Not sure why it wouldn't be worth it since you could use some sort of
priority system.
Switching to JLRoutes https://github.com/joeldev/JLRoutes for this and
query params support.
—
Reply to this email directly or view it on GitHub
https://github.com/clayallsopp/routable-ios/issues/42#issuecomment-142425243
.

I wasn't trying to be unfriendly (now that I re-read it I can see why one would think that) just merely suggesting how to improve it and giving another option for people who see this and want that functionality. All is good yo!


Update PPP details

Codecov Report
Base: 69.32% // Head: 69.32% // No change to project coverage :thumbsup:

Coverage data is based on head (0fb2604) compared to base (5e9b734).
Patch has no changes to coverable lines.

:exclamation: Current head 0fb2604 differs from pull request most recent head 580519a. Consider uploading reports for the commit 580519a to get more accurate results

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #214   +/-   ##
=========================================
  Coverage     69.32%   69.32%
  Complexity      756      756
=========================================
  Files           116      116
  Lines          2367     2367
  Branches        302      302
=========================================
  Hits           1641     1641
  Misses          640      640
  Partials         86       86

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Monaco Editor Release July 2017

We'll release Monaco Editor together with VS Code July release https://github.com/Microsoft/vscode/issues/30209 . This issue is used to track features/bugfixes/etc related to Monaco Editor.
CSS

CSS conflict with bootstrap https://github.com/Microsoft/monaco-editor/issues/496

Accessibility

Accessibility Help Dialog is not accessible on Edge/IE https://github.com/Microsoft/monaco-editor/issues/506

Browser Compatibility

IE11, Flexbox width inheritance https://github.com/Microsoft/monaco-editor/issues/505
IE11, remove property value https://github.com/Microsoft/monaco-editor/issues/513

Comments

Block comment enhancement https://github.com/Microsoft/vscode/pull/30818

Any chance for #18 #40 #60 to get in the next iteration plan? Each of them on their own are the most 3 up voted issues (and two of the most commented) and they are really duplicates.

@corbinu sorry I didn't put them on my task board at the beginning of this iteration, let me take a look and make it fit into our plan (not sure if I have room for them in Aug). Thanks.

@rebornix Thanks so much. I don't think anybody will be mad if it takes a bit. I think we all just mostly want to see it on the schedule. Would totally say that if people think your biggest issue is they want to use your product more/more easily I think your doing pretty great ;)

@rebornix @corbinu yes. please!

@rebornix Is there going to be a new release soon? Just wondering

@corbinu yes we are going to have a new release this month

Great any chance of getting the ES module support on the roadmap?

@rebornix This is really great news, and the community appreciates your hard work! Thank you, guys


HTTP Error when running open_netcdf in vol_1_single_file_example-checkpoint-checkpoint.ipynb

Hello,
I've been running the notebook vol_1_single_file_example-checkpoint-checkpoint.ipynb in the ARSET_ folder. However, when I get to running the open_netcdf  function, I get an HTTPError with 302 as the status code claiming that the document has been moved. Could you assist me on how to go about this?

Hi Mitchell,
I have attached a link to the file with this message. You can run the script and check if it works.
The code performs a similar function, i.e. getting access to the Earthdata website and getting data that requires your credentials. After getting the data with the session, the visual code should visualize the data.
Make sure you have installed the required libraries to run the script.
Let me know if you have any issues again.
Sagar
link to file:
https://github.com/sagarlimbu0/OCO2-OCO3/blob/main/ARSET_/vol_2_pydap_access_EarthData.ipynb
guideline to download basemap package:
https://github.com/sagarlimbu0/OCO2-OCO3/tree/main/ARSET_/downloading_BASEMAP_whl

Thanks
On Wed, 10 Aug 2022 at 21:00, sagar limbu @.***> wrote:

Hi Mitchell,
I have attached a link to the file with this message. You can run the
script and check if it works.
The code performs a similar function, i.e. getting access to the Earthdata
website and getting data that requires your credentials. After getting the
data with the session, the visual code should visualize the data.
Make sure you have installed the required libraries to run the script.
Let me know if you have any issues again.
Sagar
link to file:
https://github.com/sagarlimbu0/OCO2-OCO3/blob/main/ARSET_/vol_2_pydap_access_EarthData.ipynb
guideline to download basemap package:
https://github.com/sagarlimbu0/OCO2-OCO3/tree/main/ARSET_/downloading_BASEMAP_whl
—
Reply to this email directly, view it on GitHub
https://github.com/sagarlimbu0/OCO2-OCO3/issues/35#issuecomment-1211067455,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANUI6MV47N2UVP56CMXTBUDVYPU3VANCNFSM56DURWPA
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Best Regards |Mitchell Odili |+254710719693
Dreamers of the day are dangerous men, for they may act on their dreams
with open eyes, to make them possible T. E Lawrence


Validate parsed packages.

Include as many validation checks as possible to catch parsing errors.

Validation errors need better messages


Remove usage of lexical from swc_ecma_parser

This PR replaces the current usage of lexical within the swc_ecma_parser crate with equivalent parsing of large numbers using BigInt.
Description: As discussed in https://github.com/swc-project/swc/issues/7752, lexical contains a number of soundness issues but doesn't appear to be actively supported. Given the relatively low integration surface it seems reasonable to replace the usage of lexical with another package to avoid this issue.
Related issue (if exists): https://github.com/swc-project/swc/issues/7752

Note that either this PR or https://github.com/swc-project/swc/pull/7757 should be accepted, but not both.


Only sources from the Cantus Database segment should appear in the Browse Chants "Source" select element

Jacob: EDITING this to put some conclusions, which otherwise would be buried in the discussion, near the top:

Since sources from the Bower segment don't contain any chants, they appear to be buggy when a user attempts to access them via the Browse Chants page (i.e. 0 chants are displayed)
Thus, for the time being we should not list sources from the Bower segment in the "Source" select element on the Browse Chants page.

Also, in the source navigation sidebar, for sources in the Bower segment, we should not display the "view all chants" link that currently links to the Browse Chants page

At some point in the future, we may want to better harmonize how CantusDB handles/displays Sequences (especially as compared to Chants with a genre of "Sq" (i.e. "sequence"))

/jacob
When looking at chants in one source, you can also go to another via a drop down.  However, the dropdown displays all possible sources--including those in the Bower Sequence segment. If you choose one of those sequence sources, though, you end up seeing it has "0 chants", presumably because by default you are looking at "chants in this source in the Cantus DB segment".

You can actually see this source just fine via  the Clavis Sequentiarum source list (http://<IP_ADDRESS>/source/124052) ; it's getting there from this dropdown that's a problem. http://<IP_ADDRESS>/chants/?source=124052&folio=&feast=&search_text=&genre=
This bug seems to also exist on OldCantus--it's just sufficiently weird that I never noticed it before. Still, either the Bower sources shouldn't be in the dropdown, or they need to correctly display their chants.

Which raises the question about which I've been wondering for a while - wouldn't it be more elegant to get rid of the Sequence model and turn all the sequences into chants? We could set them all to have a genre of "Sq", since we already have some bona fide Chants with that genre.
But I guess it's supposed to be a feature, rather than a bug, that the Clavis Sequentiarum is not particularly well-integrated with the rest of CantusDB.

Right, so I guess we assume that only chants that are Chants (and none that are Sequences) are meant to show up on the /chants/ page, and thus the expected behavior is that only sources from the CANTUS Database segment should appear in the "Source" select element, correct?

ah, you're right, a "chant" is not a "sequence", hence our problem.
I think you are right about the expected behaviour. If the /chants/ page only has Chants (which seems correct), then only sources from the Cantus Database segment should show up.

Also, it might indeed be nice to turn all the Sequences into Chants, true--except none of them have full texts...
It is a little odd, though, that they all already (in OldCantus) have a genre of "sequence", which you can click on to get a list of other sequences--but only those that are Chants, and not Sequences. I will consult about what we would actually like the behaviour to be.

just following up on this: yes, let's have only sources from the Cantus Database segment in the select element, so that users can't easily get to these apparently-blank source pages.
Some day we will figure out how to integrate the Bower sources into this sort of browsing function, but that will take more forethought.

Currently working on this. In the dropdown in question, I'm only listing sources in the Cantus segment. If someone tries to access the chant list page for a source not in the Cantus segment, I'm raising a 404 error.
As I was working on this, the thought occurred to me: @annamorphism, should we not be hiding the link to the search-within-a-manuscript page in addition to the link to the Browse Chants (i.e. Chant List) page? If someone tries to search for chants within a Bower source, should we raise a 404 error there, too?

Right now searching chants in a Bower source takes you to http://<IP_ADDRESS>/chant-search-ms/123930 which works just fine, no? Or did you mean another link from the one in the sidebar?

ah, you're right - the /searchms/ page works just fine for manuscripts in both segments. Never mind (and thanks)!


How can i get whole week dates array of current date ?

In image we can see that today is date 9, so how can i get array of current week (i.e i want 4,5,6,7,8,9,10 date).
i have used scope = week to display only week scope but not getting access of all dates in current week.
calendar.scope = .week

I am looking for something similar 👍  Let me know if you got any hack. @tejas786u

I am looking for something similar 👍  Let me know if you got any hack. @tejas786u

Yes I am also looking for month array or from start date to next 3 months please help !


Support initial data in C-set homomorphism search

Closes #435.

@mehalter, the review checklist is failing. Sigh, I thought we fixed that.

@epatters this is a strange error I haven't seen before with the action. The GitHub API is returning 403 Forbidden. Initial thoughts is it's a bug with the GitHub Octokit or a part of the API might be down. Will investigate today

@mehalter, after #439, the review checklist action is still failing but with a different error message.


fixed problem about cropped height

When I use object_detection app (https://github.com/am15h/object_detection_flutter) with the master branch of tflite_flutter_helper, range errors happen.
Maybe there is a bug in calculating the cropped height. After this fix, the app works without errors.

Thanks a lot for the PR @t-nakaichi.


Adapted implementation for geodetic mass-balance observations

Here I adapt the usage of the geodetic mass-balance observation.
The old version used dh = dV / mean(A) in m as the observation of the geodetic mass balance.
Now it is used as dm = dV * rho / mean(A) / period in kg m-2 yr-1. This gives the possibility to consider the density difference of the observation (e.g. 850 kg m-3) and the model (e.g. 900 kg m-3).
It is also possible to use geodetic mass-balance observations which used a non changing reference area by defining the unit of the observation as kg yr-1. In this case it is assumed the geodetic mass-balance is multiplied by the constant area before given to COMBINE.
tests added and passed

This gives the possibility to consider the density difference of the observation (e.g. 850 kg m-3) and the model (e.g. 900 kg m-3).

I want to reiterate: this possibility should not be used for now: we assimilate mass changes, not volume.


Firefox autofills password into authorization token field, resulting in Error 401

Undiscord Version
5.2.3
Browser
Firefox 126
Extension
Greasemonkey
Reproduction steps

Have a username/password saved on discord.com in the built-in password manager
Use undiscord as usual

Actual results
Password manager will silently and automatically fill the authorization token slot with the password, resulting in an error 401 as it's obviously not a token. Even after attempting to fix the issue by entering the correct token, it results in undefined behavior afterwards. (in one instance, it error 400s no matter what until I restart the browser, and set the delay intervals to null.)
Expected results
Firefox shouldn't fill it in, it should ignore it.
Bug affects

[X] DMs
[x] DMs (group)
[X] Channels
[x] Channel (NSFW)

Additional information & file uploads
To emphasize, this happens silently and automatically.

Proposed fix
Find an alternative to the "password" type for the token input html element, or provide more "no-autofill" signals, so password managers don't recognize it, or add a "lock" of sorts.

Possible cause for a lot of other error 401 issues

Possibly could use an input text element and use the webkit-text-security property.  Experimental, but compatible with all browsers.
https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-text-security

Fixed in #631


Resolve without parameters

Is here reason to require type parameter for no arguments resolve function?
Right now I use extension for Resolver to bypass it.
extension Resolver {
    func resolve<Service>() -> Service? {
        return resolve(Service.self)
    }
}

Was about to ask the same question.

Basically, we can give type inference in the following 3 ways, and I've chosen the 1st one because it sounds natural in English and consistent for register and resolve.
container.register(MyType.self) { MyImplementation() }
let a = container.resolve(MyType.self)!
// or
container.register() { MyImplementation() } as MyType
let b = container.resolve() as? MyType
// or
container.register() {
    let t: MyType = MyImplementation()
    return t
}
let c: MyType = container.resolve()!

In my opinion for registration preferred A and for resolving C (but left A for specific cases)
Pros:

less code to write
easy to handle changes in dependencies (change dependency from one type to another)
Cons:
you should to check class implementation to see what exactly type you trying to resolve (not big deal)

Right now in my project:
container.register(SideMenuPresenter.self) { r in
   return SideMenuPresenter(interactorInput: r.resolve()!, routerInput: r.resolve()!)
}.initCompleted { (r, presenter) in
   presenter.view = r.resolve()
}

Which looks better that:
container.register(SideMenuPresenter.self) { r in
   let interactor = r.resolve(SideMenuInteractorInput.self)!
   let router = r.resolve(SideMenuRouterInput.self)!
   return SideMenuPresenter(interactorInput: interactor, routerInput: router)
}.initCompleted { (r, presenter) in
   presenter.view = r.resolve(SideMenuViewInput.self)
}

There has already been some discussion about fundamentally changing Swinject API, you can find it in #132.
Basically, the conclusion was we want to keep current approach, mostly for backwards compatibility and clarity reasons.
We decided to include extensions which reduce the boilerplate in SwinjectAurtoregistration module - I suggest you check it out. It contains the syntax you sugested, and more cool stuff 😄

For now will stay with my extension.
Autoregistration looks awesome! Will check it later.
Thanks.

Thanks @ManWithBear for talking about the advanced topic😃 Simply speaking, presenter.view = r.resolve() is good only for advanced users.
presenter.view = r.resolve(SideMenuViewInput.self) works even if the type of view property is a subclass of SideMenuViewInput or a protocol.
presenter.view = r.resolve() works only if the type of view property is SideMenuViewInput, and this is confusing for beginners.

I have peeked this when reviewing Dip dependency injection library for swift. Following their example I have created my extension like this
    public func resolve<Component: MyComponentType>() throws -> Component {
        if let c = self.container.resolve(Component.self) {
            return c
        } else {
            throw Error.componentNotFound(Component.self)
        }
    }

to be used as
let cImpl = try r.resolve() as ComponentProtocol


Automated Package Upgrade

:tada: This PR is included in version 5.3.142 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Request intercept and proxy improvements

I've been pushing the limits of this library a lot and ran into a few limitations that I was working around. I'm now coming back and

Added support for a lot more mime/content types. Maintained the same fallback values as before.
Improved support for MainFile such that it can be a URL with query string parameters. Allows the main file to point to the proxy.
Added support for custom response headers via the proxy.
Cleaned up some repetitive code to ensure more consistency between platforms.
Extended proxy sample to demonstrate how it can be used to access resources on non-CORs enabled endpoints.
Added an example wraps the HybridWebView in a class library to create a custom control. It uses the proxy to load the main page and an image as embedded resource. Added a page to the main sample that loads this custom control.
Improve stability of query string parsing
Add example that leverages the improvements to MainFile loading and a proxy to load web pages and resources from the file system (app data directory).

I have tested this out in Android and Windows.


usb: mass_storage: cleanup, fixes to pass USBCV MSC Test

usb: mass_storage: cleanup, fixes to pass USBCV MSC Test
drivers: usb_dc_nrfx: always reset data toggle in usb_dc_ep_enable
Data toggle should be reset after SetConfiguration or SetInterface request.
Always reset data toggle in usb_dc_ep_enable.
(fixes Case x from #14302 issue)
usb: mass_storage:
Use sys_get_be32, sys_put_be32 where possible.
Check dCBWDataTransferLength for every read command.
(fixes Command Set Test #14302 issue)
cherry-picked from #23188 and #23191 and tested on nRF52840
resolves #14302 for nRF driver
There is more to do but I wanted to have it passes MSC Tests first.

Tested on nRF52840 on windows 10. No issues seen.

Should we close #23191 ?

generally, no. As I know github will rebase/handle it very well.


fixes for indexing layer

Pull Request Test Coverage Report for Build 3101

16 of 17 (94.12%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 69.994%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

es5-persistence/src/main/java/com/netflix/conductor/dao/es5/index/ElasticSearchDAOV5.java
16
17
94.12%

Totals

Change from base Build 3090:
0.02%

Covered Lines:
9958

Relevant Lines:
14227

💛  - Coveralls

Hi @apanicker-nflx We need same changes in ELasticSearchRestDAOV5 and ELasticSearchRestDAOV6

Hi @manan164 I will add these same changes to ES6 module as well, as soon as I complete my testing. Currently, I am testing with ES5 and varying loads.
For some short running workflows, I am running into an issue where the ES document could be updated with COMPLETED status first and then with RUNNING status, since a workflow could start and end on 2 different instances and depending on the worker queue size in each, documents could be indexed at different periods. I am currently, looking to address this using a ScheduledThreadPoolExecutor which would index completion of short-running workflows. Wanted to know if you encountered any similar issues and how you mitigated them. I will make these additions in the meantime and test out.

Hi @apanicker-nflx, What we can do here is have all indexing workflow operations should be sync. Also, we should minimize the number of indexing workflow calls. I think we have discussed this in other thread But still, I feel the same problem will be there with the task also.
Can you please elaborate on how you are trying to solve this by ScheduledThreadPoolExecutor. By using that we only ensure that tasks will be scheduled after a particular interval. Here what we lack is ordering guarantee.
How we are trying to solve this is, publish all index operations to Kafka which will give ordering guarantee. And consume from Kafka. I have raised a sample kafka-persistance  also. The only thing I want to know in that is how should we write consumers. Please go through that once. Again this is a niche operation and not all people will be interested for this. For those who are not interested we can use sync indexing only in case of a workflow. So basically I would say the flag you have used for this will separate out high throughput and low throughput scenario.
Views?

Thanks for your suggestions and pointers.

What we can do here is have all indexing workflow operations should be sync. Also, we should minimize the number of indexing workflow calls. I think we have discussed this in other thread But still, I feel the same problem will be there with the task also.

In-sync indexing would not be ideal since this keeps elasticsearch in the request path, but users can opt to do that if the throughputs in their use-case is quite low. This can be controlled via configuration.

Can you please elaborate on how you are trying to solve this by ScheduledThreadPoolExecutor. By using that we only ensure that tasks will be scheduled after a particular interval. Here what we lack is ordering guarantee.

This is correct, be delaying the update operation by a fixed interval. This does not guarantee ordering but greatly reduces the probability of this inconsistency.

How we are trying to solve this is, publish all index operations to Kafka which will give ordering guarantee. And consume from Kafka. I have raised a sample kafka-persistance also. The only thing I want to know in that is how should we write consumers. Please go through that once. Again this is a niche optimisation and not all people will be interested for this. For those who are not interested we can use sync indexing only in case of a workflow. So basically I would say the flag you have used for this will separate out high throughput and low throughput scenario.
Views?

We will be reviewing the Kafka-persistence PR soon. Eventually, in the long term, we would also be looking to move to Kafka as an intermediate layer for indexing.

The only thing I want to know in that is how should we write consumers.

Have you considered writing a Flink job to consume from the Kafka topic? This job could handle de-duping and merging before indexing the document to elasticsearch.

Have you considered writing a Flink job to consume from the Kafka topic? This job could handle de-duping and merging before indexing the document to elasticsearch.

Hi @apanicker-nflx,
I will sure explore Flink.
I want to keep the solution end to end in the conductor scope. That was the ultimate goal. I was using ScheduledThreadPoolExecutor only to read from kafka and index to ES. The only doubt was is it good to modify the indexDAO interface or not.
As of now, I am writing a spring boot application which has good Kafka consumer library which provides good retrying mechanism so that I don't have to write boilerplate code.


Problems with deleting playlists

Hi,
I'm a but stumped...
Not sure if I'm using it wrong or if I found an error...
soco lp (list playlists):
1: 1 - Pop l
--- snipp ---
19: WW II - The Pacific
20: xxx
So there is a playlist named xxx:
soco delete_playlist xxx
Error: Playlist 'xxx' not found.
This should work, right?
Debug output is attached...
error.txt

Thanks for finding and reporting this bug.
It should be fixed in v0.4.60. Please give it a try when you get a chance.

Nice! works like a charm (now)...
:-)
Thanks for the fix!


ability to add identifiers for gnd/wikidata

This could become an extra column in the TSV.
We should decide whether we want to use gnd, wikidata or both, in which case we need to define a separator.
Example:
15	Gambetta	B-PER	O	118716263,Q295090

Based on the f2f meeting on 1 Nov, we decided:

We will use only GND for identifiers (but do a small scale comparison of coverage vs. Wikidata)
Only the top-level NE's will get identifiers, but not embedded NE's
Initially, the columns for GND will only allow pasting GND-IDs into the cell. Later we will investigate if more advanced functionality (e.g. trigger search in https://lobid.org/gnd based on TOKEN is feasible/useful)

added in 225693390bfe6ed0a6893ee9df061db6990d1686


Spider gbXML Viewer 'Maevia' v0.17.02

@ladybug-tools/spiders

This is a significant update for the following reasons (plus a few more):

I am, at last, not unhappy with the code. It's not great code. Perhaps more importantly it's not such bad code either.

I am not unhappy with the mission and vision. It's not so much about helping humans find errors. It's now more about fixing the errors for the humans.

I am not unhappy with the process for increasing awareness of the project. It's not so much about imitating commercial projects and advertising agencies. It's about sharing metrics and standards for open source capabilities and solutions.

And given all this un-unhappiness, I am very happy to tackle the future of this project wherever you help me take it.
Things for you to look at include:
Updated Read Me

Written for people who know nothing about the project, have dropped in almost by accident
Target reader: a non-technical person, a middle manager or a student

Spider gbXML Viewer compliance with ISO 245010 ~ System and software quality models

By clarifying project priorities and converting abstract priorities to measurable values this document develops a common and shareable understanding of the objectives and capabilities of the Spider gbXML Viewer project.

Spider gbXML Viewer v0.17.02

Simpler,faster and easier to use
Fixes the gbXML errors for you
Written in plain vanilla JavaScript

@theo
Don't worry, be happy! :-)
P.S. Thank you for your restless efforts.

Spider gbXML Viewer 'Maevia' v0.17.05 release as stable version :)
Spider gbXML Viewer v0.17.05


Artist images instead of album covers

First of all, thank you for the new version, it's awesome! Is album covers intentional on Artists? it would be better to have artist images instead, fetched from Last.fm for example, that way it's more clear to look what to listen.

Artist image is retrieved from their first album's cover by default, and fetches from Last.fm's if one is found.

Hmm, but how come I have artist photo for some artist, but for some only album cover? even for those artist that have artist image in Last.fm?

The image will only be updated if the artist is played.
On Mon, Feb 15, 2016 at 4:28 PM, Roni Laukkarinen<EMAIL_ADDRESS>wrote:

Hmm, but how come I have artist photo for some artist, but for some only
album cover? even for those artist that have artist image in Last.fm?
—
Reply to this email directly or view it on GitHub
https://github.com/phanan/koel/issues/233#issuecomment-184109823.


Can Effort be used with ADO.NET directly? (e.g. for Dapper)

I understand that Effort is mainly targeted towards Entity Framework-applications, but an in-memory database would be nice to have in other applications as well.
I am working on an application that uses Dapper with a ADO.NET IDbConnection and would like to use Effort to run database tests. Is this possible / intended?

No, this is not possible. The underlying database is NMemory that uses .net expression trees for defining, compiling and executing queries. When you query something with Entity Framework it builds another type of expression tree that ADO.NET providers have to convert into SQL commands. Effort is basically an ADO.NET provider as converts these EF expression trees into .net expression trees under the hood that can be passed to NMemory.
If we wanted to make Effort purely ADO.NET compatible, someone should make it able to interpret SQL commands. This is a much more complex problem than being able to convert EF expression trees and I will certainly not have time to dedicate on this.

Roger that, I understand that this would be quite a complex endeavour. Too bad that there isn't any in-memory SQL-compliant database for .NET, something like HSQLDB for Java. I ended up using SqlLocalDb, not as fast as in-memory but supports SQL.


CrossModuleCallType test is unstable

No longer relevant with https://github.com/Microsoft/python-language-server/issues/425


Set KUBERNETES_SERVICE_HOST to Yurthub Proxy Address in Yurthub Component

What would you like to be added:
A filter in Yurthub that sets the KUBERNETES_SERVICE_HOST environment variable to the Yurthub proxy IP. This enhancement would ensure node autonomy for edge nodes when they are operating offline.
Why is this needed:
Some managed services may use an admission webhook to change the KUBERNETES_SERVICE_HOST environment variable to the public FQDN of the kube-apiserver. For these managed services to operate with Yurthub, the pods scheduled on edge nodes must be directed to Yurthub so that requests to the kube-apiserver can be proxied through it.
We are requesting the implementation of a filter that would ensure all edge pods access the kube-apiserver via the Yurthub proxy. This filter would add logic without disrupting other users. If a user prefers to disable this filter in the future, they could do so by adding it to the --disabled-resource-filters startup parameter.
others
/kind feature

masterServiceFilter has already implemented this capability. By default, Yurthub only caches request data for system components. If the business requires utilizing Yurthub's cache to operate during network outages, the corresponding User-Agent (UA) needs to be configured in the ConfigMap yurt-hub-cfg. reference： https://github.com/openyurtio/openyurt/blob/master/docs/proposals/20220627-yurthub-cache-refactoring.md#41-enable-yurthub-to-distinguish-resources-with-same-name-but-different-versions-and-groups

masterServiceFilter has already implemented this capability. By default, Yurthub only caches request data for system components. If the business requires utilizing Yurthub's cache to operate during network outages, the corresponding User-Agent (UA) needs to be configured in the ConfigMap yurt-hub-cfg. reference： https://github.com/openyurtio/openyurt/blob/master/docs/proposals/20220627-yurthub-cache-refactoring.md#41-enable-yurthub-to-distinguish-resources-with-same-name-but-different-versions-and-groups

@zyjhtangtang I think that masterservice Filter can not solve the problem that mentioned in the issue. because masterservice filter only modify default/kubernetes service, this means that pods without KUBERNETES_SERVICE_HOST  env can work with Yurthub component seamlessly. but pods with KUBERNETES_SERVICE_HOST can not work together with Yurthub component.  maybe it is a good idea to overwrite KUBERNETES_SERVICE_HOST env of pod by Yurthub proxy address on edge nodes.

What would you like to be added:
A filter in Yurthub that sets the KUBERNETES_SERVICE_HOST environment variable to the Yurthub proxy IP. This enhancement would ensure node autonomy for edge nodes when they are operating offline.
Why is this needed:
Some managed services may use an admission webhook to change the KUBERNETES_SERVICE_HOST environment variable to the public FQDN of the kube-apiserver. For these managed services to operate with Yurthub, the pods scheduled on edge nodes must be directed to Yurthub so that requests to the kube-apiserver can be proxied through it.
We are requesting the implementation of a filter that would ensure all edge pods access the kube-apiserver via the Yurthub proxy. This filter would add logic without disrupting other users. If a user prefers to disable this filter in the future, they could do so by adding it to the --disabled-resource-filters startup parameter.
others /kind feature

@techworldhello Thank you for raising the issue. Only pods without KUBERNETES_SERVICE_HOST env can access kube-apiserver through yurthub currently. so it seems that a new filter is necessary for dealing with pods with KUBERNETES_SERVICE_HOST env on edge nodes.

@techworldhello @rambohe-ch Yes, if the pod has already been set with KUBERNETES_SERVICE_HOST, the masterservice filter will not take effect. In this case, It is necessary to add a new filter to directly modify it.

@zyjhtangtang @rambohe-ch I've updated this issue to link to a new PR https://github.com/openyurtio/openyurt/pull/2165, as it made sense to update KUBERNETES_SERVICE_PORT as well as KUBERNETES_SERVICE_HOST, since they are both required to connect to Yurthub. I've also updated the issue title and description to reflect this. Would appreciate your reviews again, thanks!


Onboard Foundation to use Maestro

Start publishing asset information to Maestro
Trigger the subscription on the internal pipeline but not the CI pipeline
Added eng/common folder which will be shared across every repo that uses Maestro

/azp run

/azp run

/azp run

/azp run

/azp run


Add armv7 support

Is your feature request related to a problem? Please describe.
Currently it is not possible to the docker image on armv7 devices.
Describe the solution you'd like
Build and release armv7 docker images

The docker image is being build and maintained by LinuxServer.io . Unfortunately they dropped support for armv7 a while ago.


Add embassy_serial and embassy_wait examples for ESP32-H2

Agreed, but see: https://github.com/esp-rs/esp-hal/pull/563


chore: backport build and e2e workflows to redhat-3.7 (PROJQUAY-2556)

redhat-3.7 can be directly rebased with master, so I'll close this and do that instead.


In information (description of theme) add automaticaly several informations

like:

layer information (pop-up, request, ...)
poi preset (key-value / description, ...)

Partially done for the layer informations. See #57


` quotes in .onkeydown don't work

Chrome 40.0.2214.91, Windows 7.
scripts.js:170 Uncaught SyntaxError: Unexpected token ILLEGAL
``huh? Let me know what browser and key this was. Submit to Github`;
It works with double quotes:
"huh? Let me know what browser and key this was. Submit to Github";

Not able to reproduce the issue at the moment. If anyone else is getting similar issues then please let me know. I will then re-open the issue again.
Regards!


feat: implement azureFunction

Description
Work in progress for new azure provisioning service layer (this code is not live to customers yet). This is for provisioning Azure Functions.
Task Item
refs #7629

Coverage remained the same at 56.423% when pulling 0e4daf03f34fb152c1b898c744344ae928596842 on natalagar/azureFunctionProvision into 860e1e1d550eb73272b3052c3781cb51e5c73544 on main.

replacing this PR with #8321


In ModelCheckpoint, filepath is not accepting batch as formatting parameter.

In ModelCheckpoint callback, there is a parameter given named save_freq to save model. If save_freq is set to epoch, it will save model at the end of every epoch. (This works perfectly fine). But when save_freq is set to an integer let's say N, then the callback should save the model after N batches in every epoch. But the problem here is the callback doesn't accept the filepath as file.batch{batch:02d}epoch{epoch:02d}.h5 and raises error as batch is invalid key.
The problem in the code that I have noticed is that the _save_model function has access to epoch but it doesn't have access to batch. And that's why _get_file_path() has access to epoch but not batch.  The functionality should be changed little bit. I am raising PR to add access to batch param in both _save_model and _get_file_path variable.
I noticed this error in tf code during the work on my PR #1702 in tensorflow/addons.
cc @gabrieldemarmiesse.

@ashutosh1919 would be willing to send a PR for this issue ?

same problem here. It should support batch number formatting, especially when save_freq is not epoch but batch, only have epoch number would make previous weights files of same epoch been override.

Same issue here. Is there actually no support for this yet?

@aningineer , I have raised PR #49376 to fix this issue and you can see that it is approved as well. Let it get merged and you will be able to use this issue in tf-nightly

The PR that fix this issue is merged to keras-team/keras as keras-team/keras@c567184. Closing this now.

next  PR


TypeScript Patches

Additional insert on completions:

method kind: ($1)
method kind: advanced with signature
switch: case | autocomplete: : \n (\n only if required)
switch: filter out used cases
object:

property: :
property (object) : {\n$1\n}
method (SIGNATURE) {}

configurable (changable to : (SIGNATURE) => )
scriptable - high

prioritize and then filter out:

Patch code:
Expression Wrapping with Types
Example: anywhere, untyped e.target.getSomething becomes /** @type {HTMLElement} */(e.target).getSomething. Investigate destructuring


Gamma correct RGB interpolation

Are you considering adding it in the future?
Interpolating RGB values without gamma correct produces darker "dirtier" colors than they should be.

The solution would be to move values to linear space, interpolate and bring it back to gamma space.
//pseudocode for R channel
var color_hex = '#FF0000';
var color = hex2bytes(color_hex);
var byte_r = color[0];
var float_r = byte_r/255;
var linear_r = Math.pow(float_r, 2.2);
var inter_r = interpolate(linear_r, linear_r_2, t);
var gamma_r = Math.pow(inter_r, 1/2.2);
var out_r = Math.floor(gamma_r * 255);

This would be lovely. I’d recommend adopting an optional gamma parameter for interpolateRgbGamma, similar to what is done for Cubehelix interpolation.

Your test case, above; my implement, below:

Nice one. Thanks

Thanks for the suggestion. :)


adding sub categories

🛠 Fixes issue #146
📇 Changes proposed

added react subcategory
HTML subcategory
css subcategory
backend subcategory
update to the _layout/sidebar.md

✅ Check List (Mark all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] This PR contains changes in the documentation
[x] This PR contains changes in the Code of the project
[x] The title of my pull request is a short description of the requested changes.

@hasnainmakada-99 let me know if done correctly, I have done the web development section where I am sure of the subcategories,


drop down menus from docs not appearing

The documentation here:
http://holoviews.org/getting_started/Tabular_Datasets.html
says that when plotting the diseases like so:
%%opts Curve [width=600 height=250] {+framewise}
(ds.to(hv.Curve, 'Year', 'measles') + ds.to(hv.Curve, 'Year', 'pertussis')).cols(1)

that a drop-down menu for the states choice should appear.
This is not the case on my system, the state is just a printed text.

macOS 10.12.5
python 3.6 via conda-forge (all versions up-to-date as of today)
ipywidgets 6.0.0
notebook GH master (commit: f81fb46ff68323f9652d638a325e9ccc46f62e83)
Chrome Version 59.0.3071.115 (Official Build) (64-bit)

Thanks for reporting this!
Could you show an example of what this printed text looks like?

Sorry, didn't see that the dropdown is on the right, was using small laptop screen. All good and thanks for this library!


Contact :

I try to run the code. But it shows somany errors. can you help me to fix it?
kindly please give me your e-mail address or contact number?
or contact me here http://tiny.cc/lbbufz

my email is<EMAIL_ADDRESS>Thanks


POC/WIP: Attempt at prettier printing of UTF-8 strings

Basic, simple-minded use of Uutf for slightly safer printing of string literals.
Guaranteed to have bugs in its current state.

Heyyy what's the status for this? I'm really itching for a solution to this as I cannot refmt some of my code currently :(

I talked about it with @let-def. I think we need to go with my suggested approach (basically just copying comments). Feel free to send a PR.


$uuid->getBytes() returns different value after database roundtrip with uuid_ordered_time

Consider the following test case:
// tests/UuidBinaryOrderedTimeTypeTest.php
    public function testGettersReturnSameValuesAfterDatabaseRoundtrip()
    {
        $uuid = Uuid::fromString('ff6f8cb0-c57d-11e1-9b21-0800200c9a66');

        $dbValue = $this->type->convertToDatabaseValue($uuid, $this->platform);
        $rehydrated = $this->type->convertToPHPValue($dbValue, $this->platform);

        // all of these assertions are passing
        $this->assertEquals($uuid->getHex(), $rehydrated->getHex());
        $this->assertEquals($uuid->toString(), $rehydrated->toString());
        $this->assertEquals($uuid->jsonSerialize(), $rehydrated->jsonSerialize());
        $this->assertEquals($uuid->getFieldsHex(), $rehydrated->getFieldsHex());
        $this->assertEquals($uuid->getUrn(), $rehydrated->getUrn());
        $this->assertEquals($uuid->serialize(), $rehydrated->serialize());

        // except this one:
        $this->assertEquals($uuid->getBytes(), $rehydrated->getBytes());
    }

Here, I expect the Uuid object methods to return same values after database roundtrip ( = I expect storage to behave transparently, not changing any substantial behavior of the object). All of the getters do behave as I expect, except the getBytes.
The cause of this is that the custom codec is being stored into rehydrated object.
To add to the peculiarity of this, if I do unserialize(serialize($rehydrated)), getBytes starts to return expected values, because custom codec gets dropped.

You're right. The test fails:
1) Ramsey\Uuid\Doctrine\UuidBinaryOrderedTimeTypeTest::testGettersReturnSameValuesAfterDatabaseRoundtrip
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-Binary String: 0xff6f8cb0c57d11e19b210800200c9a66
+Binary String: 0x11e1c57dff6f8cb09b210800200c9a66

I know it seems awkward, but this is how the OrderedTimeCodec works.
When it decodes the bytes, it puts them back into the order specified by the RFC, but when you get the bytes (using getBytes()) to put them into a database, it returns the bytes in the order "ordered time" order, which rearranges the time fields, so that it can be stored in such a way that the table can be sorted by the UUIDs, and they'll be sorted in the order in which they were created.
What's happening in the test you've provided is that Uuid::fromString() is creating a standard Uuid object. There's nothing special about it. So, when you call getBytes(), they're in the proper order, as defined by the RFC. But when you pass that Uuid object into convertToDatabaseValue() for the UuidBinaryOrderedTimeType, then it gets converted into a special type of Uuid, where the bytes are re-arranged for sorting by "ordered time." When you call convertToPHPValue() for the same type, it maintains this special type and returns a Uuid object in which the return value of getBytes() will always return the bytes in the "ordered time" format, even though the hex values a rendered properly, according to the RFC definition.
Does that help clear things up? If not, feel free to ask more questions.

Well, you've just reiterated what I already stated in the initial bug report. Rehydrated UUID has a different codec, that affects its behavior (= 'converted into a special type of Uuid, where the bytes are re-arranged for sorting by "ordered time."'). It wasn't there before it hit the db, it doesn't need to be there when it gets back.

It wasn't there before it hit the db, it doesn't need to be there when it gets back.

I’m not sure what this means.
When you use the UuidBinaryOrderedTimeType, it converts the UUID into this special type. If you need the bytes to remain the same before and after, use the UuidBinaryType instead to pass the UUID into the database and back.

it converts the UUID into this special type.

Right. And it doesn't need to do that, as far as Doctrine type handling is concerned. Type converter gets binary string and returns a UUID. Which has no reason to be any kind of special sub-specie. Could have been ordinary UUID just as well, so it wouldn't be breaking storage transparency.

The point of using the OrderedTimeCodec is to rearrange the bytes in just this way.


UploadDirectory: 425 Error while transfering data: ECONNABORTED - Connection aborted

FTP OS: Any
FTP Server: FileZille 1.5.x
Computer OS: WIndows 10
FluentFTP Version: V 41.1.0
Framework: .NET 6 AND NETFramework 4.8
			FTP_Sess.AutoConnect();

			FTP_Sess.UploadDirectory("D:\\temp\\issue311", "temp/issue311/upload", FtpFolderSyncMode.Update, FtpRemoteExists.Overwrite, FtpVerify.None, null, progress);

			FTP_Sess.Disconnect();

Files are uploaded, turn up fine on the server, but the transfer is reported as failed.
Logs :
[Error] GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated.
[Status] Client did not properly shut down TLS connection
[Trace] tls_layer_impl::shutdown()
[Trace] data_socket_->shutdown() = 126
[Response] 425 Error while transfering data: ECONNABORTED - Connection aborted

>         AutoConnect()
>         AutoDetect(True, False)
>         Connect()
Status:   FluentFTP <IP_ADDRESS>
Status:   Connecting to ***:21
Status:   Waiting for a response
Response: 220-FileZilla Server 1.5.1
Response: 220-Please visit https://filezilla-project.org/
Response: 220 Welcome to AnSyNova FileZilla Server
Status:   Detected FTP server: FileZilla
Command:  AUTH TLS
Status:   Waiting for response to: AUTH TLS
Response: 234 Using authentication type TLS.
Warning:  SSL Buffering force disabled, is .NET 5.0 and later
Status:   FTPS authentication successful, protocol = Tls12
Status:   Time to activate encryption: 0h 0m 0s.  Total Seconds: 0,1204242.
Command:  USER ***
Status:   Waiting for response to: USER ***
Response: 331 Please, specify the password.
Command:  PASS ***
Status:   Waiting for response to: PASS ***
Response: 230 Login successful.
Command:  PBSZ 0
Status:   Waiting for response to: PBSZ 0
Response: 200 PBSZ=0
Command:  PROT P
Status:   Waiting for response to: PROT P
Response: 200 Protection level set to P
Command:  FEAT
Status:   Waiting for response to: FEAT
Response: 211-Features:
Response: MDTM
Response: REST STREAM
Response: SIZE
Response: MLST type*;size*;modify*;perm*;
Response: MLSD
Response: AUTH SSL
Response: AUTH TLS
Response: PROT
Response: PBSZ
Response: UTF8
Response: TVFS
Response: EPSV
Response: EPRT
Response: MFMT
Response: 211 End
Status:   Text encoding: System.Text.UTF8Encoding+UTF8EncodingSealed
Command:  OPTS UTF8 ON
Status:   Waiting for response to: OPTS UTF8 ON
Response: 202 UTF8 mode is always enabled. No need to send this command
Command:  SYST
Status:   Waiting for response to: SYST
Response: 215 UNIX emulated by FileZilla.
Status:   Listing parser set to: Machine
>         UploadDirectory("D:\temp\issue311\from\", "temp/issue311/upload/", Update, Overwrite, None, null)
>         DirectoryExists("temp/issue311/upload")
Command:  PWD
Status:   Waiting for response to: PWD
Response: 257 "/" is current directory.
Command:  CWD temp/issue311/upload
Status:   Waiting for response to: CWD temp/issue311/upload
Response: 550 Couldn't open the file or directory
>         CreateDirectory("temp/issue311/upload", True)
>         DirectoryExists("temp/issue311")
Command:  PWD
Status:   Waiting for response to: PWD
Response: 257 "/" is current directory.
Command:  CWD temp/issue311
Status:   Waiting for response to: CWD temp/issue311
Response: 250 CWD command successful
Command:  CWD /
Status:   Waiting for response to: CWD /
Response: 250 CWD command successful
Status:   CreateDirectory temp/issue311/upload
Command:  MKD temp/issue311/upload
Status:   Waiting for response to: MKD temp/issue311/upload
Response: 257 "/temp/issue311/upload" created successfully.
>         UploadDirectoryFiles("3 files")
>         UploadFile("D:\temp\issue311\from\test1", "temp/issue311/upload/test1", NoCheck, False, None)
>         OpenWrite("temp/issue311/upload/test1", Binary)
Command:  TYPE I
Status:   Waiting for response to: TYPE I
Response: 200 Type set to I
>         OpenPassiveDataStream(PASV, "STOR temp/issue311/upload/test1", 0)
Command:  PASV
Status:   Waiting for response to: PASV
Response: 227 Entering Passive Mode (127,0,0,1,249,167)
Status:   Connecting to ***:63911
Command:  STOR temp/issue311/upload/test1
Status:   Waiting for response to: STOR temp/issue311/upload/test1
Response: 150 Starting data transfer.
Warning:  SSL Buffering force disabled, is .NET 5.0 and later
Status:   FTPS authentication successful, protocol = Tls12
Status:   Time to activate encryption: 0h 0m 0s.  Total Seconds: 0,02694.
Status:   Disposing FtpSocketStream...
Status:   Waiting for response to: *UPLOAD*
Response: 425 Error while transfering data: ECONNABORTED - Connection aborted
Status:   Failed to upload file.
>         UploadFile("D:\temp\issue311\from\test2", "temp/issue311/upload/test2", NoCheck, False, None)
>         OpenWrite("temp/issue311/upload/test2", Binary)
>         OpenPassiveDataStream(PASV, "STOR temp/issue311/upload/test2", 0)
Command:  PASV
Status:   Waiting for response to: PASV
Response: 227 Entering Passive Mode (127,0,0,1,249,169)
Status:   Connecting to ***:63913
Command:  STOR temp/issue311/upload/test2
Status:   Waiting for response to: STOR temp/issue311/upload/test2
Response: 150 Starting data transfer.
Warning:  SSL Buffering force disabled, is .NET 5.0 and later
Status:   FTPS authentication successful, protocol = Tls12
Status:   Time to activate encryption: 0h 0m 0s.  Total Seconds: 0,0074072.
Status:   Disposing FtpSocketStream...
Status:   Waiting for response to: *UPLOAD*
Response: 425 Error while transfering data: ECONNABORTED - Connection aborted
Status:   Failed to upload file.
>         UploadFile("D:\temp\issue311\from\test3", "temp/issue311/upload/test3", NoCheck, False, None)
>         OpenWrite("temp/issue311/upload/test3", Binary)
>         OpenPassiveDataStream(PASV, "STOR temp/issue311/upload/test3", 0)
Command:  PASV
Status:   Waiting for response to: PASV
Response: 227 Entering Passive Mode (127,0,0,1,249,171)
Status:   Connecting to ***:63915
Command:  STOR temp/issue311/upload/test3
Status:   Waiting for response to: STOR temp/issue311/upload/test3
Response: 150 Starting data transfer.
Warning:  SSL Buffering force disabled, is .NET 5.0 and later
Status:   FTPS authentication successful, protocol = Tls12
Status:   Time to activate encryption: 0h 0m 0s.  Total Seconds: 0,0029047.
Status:   Disposing FtpSocketStream...
Status:   Waiting for response to: *UPLOAD*
Response: 425 Error while transfering data: ECONNABORTED - Connection aborted
Status:   Failed to upload file.
Command:  QUIT
Status:   Waiting for response to: QUIT
Response: 221 Goodbye.
Status:   Disposing FtpSocketStream...

@MunisoftEric
Move here, please, picking up #311

Server specific. Does not happen on proftpd and others.

vsftpd has a parameter to be less strict about the ssl_stream shutdown sequence, just for information.

Can be reduced to:
In FluentFTP 41.1.0
Command:  STOR temp/issue311/upload/test1
Status:   Waiting for response to: STOR temp/issue311/upload/test1
Response: 150 Starting data transfer.
Status:   FTPS authentication successful, protocol = Tls12
Status:   Time to activate encryption: 0h 0m 0s.  Total Seconds: 0,0050078.
Status:   Disposing FtpSocketStream...
Status:   Waiting for response to: *UPLOAD*
Response: 425 Error while transfering data: ECONNABORTED - Connection aborted
Status:   Failed to upload file.

and in FileZilla 1.5.1
[Error] GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated.
[Status] Client did not properly shut down TLS connection
[Trace] tls_layer_impl::shutdown()
[Trace] data_socket_->shutdown() = 126
[Response] 425 Error while transfering data: ECONNABORTED - Connection aborted

Discovered some information about this:
filezilla forum
This notice talks about the server handling TLS closure incorrectly.
In our case, it is the client ( = the app that uses FluentFTP ), that is not closing correctly. The server problems appeared a long time ago, when the FileZilla client was being "improved". Out problem is quite new, as FileZilla Server was being similarly imporved. And other servers are following this path.
As with the current TLS 1.3 problems or the problems with "SSL Session Resume", this problem looks  like yet another weakness in Microsoft .NET.
More and more servers are adhering strictly to RFC and plugging security holes:

TLS without session resume is being forbidden for security reasons - there are many good articles on the internet about this and why that is actually good.

TLS encrypted socket shutdown without a Closure Token sent by one of the parties would allow a spoofer to send a FIN paket and take over subsequent sessions as man in the middle. Using TLS and having this loophole open is viewed as being bad practice.

As usual, the open source community (FileZilla client and server at the forefront) are forcing these issues by programming this into their software without giving the user a way to "opt out". They say, that this is the only way to make the clients and servers out there follow suit and become more RFC compliant.
Well, we just want to do FTP now and sometimes one cannot roll back a server or a client to an earlier version.
FluenFTP uses .NET and for cryptography, the implementation of SslStream, which, in the end, transfers data through Windows' SChannel, which handles the low level secure data transfer.
FileZilla, on the other hand, used OpenSSL and after some problems, moved on to GnuTLS, even on windows.
Having to use SslStream means that:
Microsoft .NET pre WIN 11

does not support TLS 1.3
supports session resume on TLS 1.2, but we have seen already one problem with this on TLS 1.2, so it doesn't look perfect
does not cleanly terminate an encrypted connection on TLS 1.2 (SslStream Dispose).

If you are using Win 11 and want TLS 1.3: It is turned off in FluentFTP for now as it is still not working reliably (Edge does it's own thing to a certain degree, it is not proof that .NET TLS 1.3 will work well).

I also found this: (from December 2016)
Closure Alert for SslStream:
This is required per RFC 5246 to avoid truncation attacks.
The SslStream included in .NET 4 does not adhere to this requirement. Somewhat surprisingly, it was decided by Microsoft to not fix the security problem, citing backwards compatibility as the reason.

I have taken a Wireshark trace to compare a download (whose shutdown is not faulted by FileZilla) and the upload (whose shutdown is faulted with the 425 error). I cannot see a Closure Alert on either. Only the upload causes a problem. On a download, an "incorrect" encryption shutdown is not rejected. That also explains why all other incoming encrypted data connections, such as when you are doing a file listing, are also ok, even if not "correctly" shut down. It seems FileZilla only cares about the connections uploading data to it.

I took another Wireshark trace, this time of WinSCP doing an upload with TLS 1.2, you can see:
In FileZilla server's log:
[Trace] tls_layer_impl::shutdown()
[Trace] tls_layer_impl::continue_shutdown()
[Trace] data_socket_->shutdown() = 0
[Response] 226 Operation successful

In Wireshark:

This is the SSL shutdown sequence that is missing from SslStream dispose.

Here is some intriguing information that contradicts some of what I found and described earler:

@FanDjango Did you provide config value for closing ssl stream? FtpConfig.DisconnectWithShutdown
You're right about older versions of framework though. They don't support SslShutdown

I have collected all open issues that are caused by "Incorrect SSL shutdown" here:
#771, #311, #930, #573, #944, #763.
The error has been observed on newer FileZilla vsftpd FTP servers and on a Unisys FTP server.
History:
This problem had already been partly solved. There was FtpSslStream that performed the same job as my FluentSslStream wrapper (see #997). It used the same technology to issue the Closure Alert on the SslStream.
But: It did not support .NET 6. It only supported .NET Framework. So it was only a part solution anyway.
And then: Even for .NET Framework, it didn't kick in because of unfortunate wrong order in disposing the streams. This was subsequently fixed, released only a few days ago.
But, but, but: The FtpSslStream is no longer there, it is no longer being used - it was removed sometime around beginning of September.
Happily, the wrapper #997 is now merged, always active in all targets, doesn't check can_write, supports both .NET 6.0 and .NET Framework, so things should get better as soon as this is released, probably as V 41.1? @robinrodricks ?

@vasyaxparfenov

FluentFTP previously had logic for doing SSL Shutdown but due to incorrect calls order in FtpSocketStream.Dispose it never got called even if config was set.

Total agreement. Took me a while researching all the old issues, the code and so on to see that.

@vasyaxparfenov

Did you provide config value for closing ssl stream? FtpConfig.DisconnectWithShutdown

No. It was decided to shutdown correctly, period.

@vasyaxparfenov

Did you provide config value for closing ssl stream? FtpConfig.DisconnectWithShutdown

Good catch - checking that right now.

It looks like setting Config.DisconnectWithShutdown = true works for .NET 6.0, even without the wrapper. It causes ShutdownAsync() to be used, in the few cases where it is available.
I could imagine moving that code into the wrapper and to remove the config parameter ( = always true ).

I would say it correctly Shutdowns in case config provided for NET5_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER which should cover .NET Core 3.1 also. Not sure whether using wrapper with reflection is good for everybody. Maybe we could add it as a workround for older version with notes on implementation details and possible performance costs due to reflection. I think older versions of .NET framework are not going to be supported forever

Thing is SslStream is known issue of .NET Framework so it is actually beyond our reach. I would ask consumers to upgrade to .net standard 2.1 compliant versions in case they want latests security patches since all latets versions of FTP servers demand this behaviour.

Thanks for your input. I am just searching for the way to get this running again even for some of the less wonderful targets.

I would say it correctly Shutdowns in case config provided for NET5_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER which should cover .NET Core 3.1 also

Yes, I just tested that. AsyncShutdown() FTW. Perhaps one should just change the default of Config.DisconnectWithShutdown to true, as one measure. Not sure, by the way, in all the issues listed above, that this parameter has been set, at all.
Didn't really need all the effort I put in to make the wrapper work for NET5_0_OR_GREATER, in that case. I could just remove that part again, and modify CreateSslStream to be like it used to be - depending on NET5_0_OR_GREATER.

possible performance costs due to reflection

For a dispose once in a while... but yeah, if they are transferring directories with thousands of small files.

Otherwise, we would probably need to implement custom SslStream

That monster is lurking somewhere on the horizon. Let's hope it stays there.

Alternatively, we can just handle error returned from server. At the end of day, tls truncation technically is aimed against servers. In this case modern ftps servers are aware of it so in case TCP FIN arrives before SslShutdown - they will react, which means client should also react. You can't trick client otherwise, since if response is not sent from server to client - client would throw exception saying connection terminated so our consumers are aware. We can add this to documentation as I said and specifically point out case for using FTP Client for older frameworks. Please, correct me If I'm wrong

Yes. It actually really means dropping RFC compliant secure support for uploads in all of .NET Framework and other older stuff. If they insist, then on a modern server, they will get a 226.... message. Some servers will keep the file, some will remove it. That's where a bit of a problem lies, one cannot rely on all servers behaving the same.
Am I right in reading your post that it more or less says: Let's actually not fix it for .NET Framework?

Anyway, with the current master the NET5_0_OR_GREATER || NETSTANDARD2_1_OR_GREATER Closure Alert will be sent by AsyncShutdown().
Otherwise: The SSL wrapper will be used (reflection, unsafe, marshalling etc.).
Closure Alert will always be done, regardless of the setting of Config.DisconnectWithShutdown. It no longer controls that.
The Config.DisconnectWithShutdown parameter still controls wether the socket is asked to shutdown prior to its disposal. The question arises, why not always do that on the socket also and remove the parameter entirely.

@FanDjango actually I wasn’t right. SSL Close Alert is more for client to verify whether connection hasn’t been closed by MIM. I think an idea with wrapper for Framework and current implantation with implicit Shutdown for versions compliant with Standard 2.1 is a good way to go! Only reason why I wouldn’t support Framework is wrapper should be attentively supported in case any vulnerabilities would need to be fixed in future for Close alert and by dropping frameworks support in this matter might push engineers to upgrade)))

wrapper for Framework and current implementation with implicit Shutdown for versions compliant with Standard 2.1 is a good way to go

Yes, am moving in that direction
What is your opinion on

The Config.DisconnectWithShutdown parameter still controls wether the socket is asked to shutdown prior to its disposal. The question arises, why not always do that on the socket also and remove the parameter entirely.

@vasyaxparfenov I wonder why servers only complain on uploads. On downloads, they seem to be more lenient

@FanDjango my opinion on removing config and making it default behavior (implicit) is same as yours - positive. Regarding download vs upload - my guess is when we upload by closing data connection we imply that we finished, it’s like a signal for server, when we download I suppose a server should be one closing data and signaling us hence it doesn’t fail when downloading because server should be closing ssl and subsequently tcp connection.

@vasyaxparfenov Sort of like saying: He who is sending, he should say "OVER AND OUT", otherwise opening up a security issue for MIM just going on and on.

@FanDjango Yeah, that’s my guess. You can check in Wireshark though

For this issue and the needed changes I have noticed the following: If in the previous version of the code you asked for DisconnectWithShutdown: the SSL Closure Alert would be sent and then the socket would be given a shutdown call.
Nobody seems to have noticed this, but this actually breaks the timeout logic - our integration tests (timeout) fail once you do this. It's just that nobody who used this parameter got into the situation where he would need to have the timeouts work.

@FanDjango I guess issue was with CloseSocket logic. It seemed to send Shutdown to socket which might have not been fully initiated due to timeout. However, you seemed to remove that bit already.

@vasyaxparfenov

However, you seemed to remove that bit already

Yes, a short time ago I did that. The CloseSocket logic is now back to the basics, so to speak. The only thing worrying me is the slight differences in code re. the targets but any glitches must be ironed out in the future. I would appreciate your further input on this in the next time.

So we might even consider removing extra bits added on top of logic and just pass cancellation token which fires after timeout value.

I will need to research and analyze to fully understand that sentence*, but I have an inkling what you are getting at. It is just important to keep all edge cases in mind that have been there in the past and that led to some of the pieces of code that became redundant with later improvements in other areas.
*) Probably not the highest priority right now.

@FanDjango it is actually very simple with Timeout. We register cancellation token action which calls our CloseSocket logic. Out CloseSocket logic doesn't know about internals so, in case DisconnectWithShutdown is true it just sends Shutdown to never fully initiated Socket - this is wrong. We just need to use this overload and provide it our cancellation token without any action and overload will handle it in a correct way.

@vasyaxparfenov Do you mind if I copy out this conversation of ours, archive it in my todo list and then delete the posts, so to keep this thread totally on topic for the actual "Incorrect SSL Shutdown" topic? I would open a separate issue for a conversation about how to further improve this part of the code with you.

@FanDjango sure, thank you!

Reminder and summary of the current status:
Until everyone gets the upcoming V42 of FluentFTP, which should fix this,
those of you who are using NET 5.0 or NET 6.0:
Set Config.DisconnectWithShutdown = true.
those of you using .NET Framework:
wait for V42

V42 is released as of today, https://github.com/robinrodricks/FluentFTP/issues/771, https://github.com/robinrodricks/FluentFTP/issues/311, https://github.com/robinrodricks/FluentFTP/issues/930, https://github.com/robinrodricks/FluentFTP/issues/573, https://github.com/robinrodricks/FluentFTP/pull/944, https://github.com/robinrodricks/FluentFTP/issues/763 please take note

Closing as @FanDjango  has mentioned this is fixed.


Handbrake Munki recipe downloads DMG but fails to mount

NB: New to GitHub, bear with me while I get my head around it. :)
Here's an install failure output when I tried adding Handbrake to our in-house Munki repo.
The following recipes failed:
Handbrake.munki
Error in com.github.autopkg.munki.Handbrake: Processor: MunkiImporter: Error: creating pkginfo for /Users/riordanw/Library/AutoPkg/Cache/com.github.autopkg.munki.Handbrake/downloads/Handbrake.dmg failed:
WARNING: /Users/riordanw/Library/AutoPkg/Cache/com.github.autopkg.munki.Handbrake/downloads/Handbrake.dmg is a writable disk image. Checksum verification is not supported.
WARNING: Consider converting /Users/riordanw/Library/AutoPkg/Cache/com.github.autopkg.munki.Handbrake/downloads/Handbrake.dmg to a read-only disk image.
ERROR: Error: "hdiutil: attach failed - no mountable file systems" while mounting Handbrake.dmg.
Could not mount /Users/riordanw/Library/AutoPkg/Cache/com.github.autopkg.munki.Handbrake/downloads/Handbrake.dmg!
Workaround: Running hdiutil convert /path/to/file.dmg -o UDRO /path/to/file.dmg and then running the Munki recipe again successfully imports.
Looks to be the the Handbrake DMG is writable and needs to be converted to read-only, is there a mechanism in AutoPkg that we can use as a pre-flight operation before the DMG is mounted?

Have you tried opening /Users/riordanw/Library/AutoPkg/Cache/com.github.autopkg.munki.Handbrake/downloads/Handbrake.dmg in the Finder?

The DMG doesn't open in Finder, reason being no mountable file systems.
cd ~/Library/AutoPkg/Cache/com.github.autopkg.munki.Handbrake/downloads/

After changing into the downloads directory this was the workaround I used:
mv Handbrake.dmg HandbrakeRW.dmg
hdiutil convert HandbrakeRW.dmg -o UDRO Handbrake.dmg

Running autopkg run -v Handbrake.munki completed successfully and imported the image into my Munki repo.

That doesn't make much sense. Whether or not the dmg is read-write and whether or not the dmg has any mountable filesystems are two different things. One does not affect the other.

Okay so I've cleared out the downloads directory and run autopkg run -v Handbrake.munki again, we'll see what happens with the output. It's still downloading the file at the moment (should have been done already) so I'll report back. Hoping this is just a transient issue but thought I'd document all the same.
I tested with the Handbrake.download recipe just to see if it was something transient with the DMG that's provided at that download URL but it mounted just fine.

Okay downloaded the file again from the Munki recipe, same message. Can't open the DMG in Finder either.

Works fine here:
% autopkg run Handbrake.munki
Processing Handbrake.munki...

The following new items were imported into Munki:
    Name       Version        Catalogs  Pkginfo Path                                  Pkg Repo Path
    ----       -------        --------  ------------                                  -------------
    HandBrake  0.10.1 x86_64  testing   apps/HandBrake/HandBrake-0.10.1 x86_64.plist  apps/HandBrake/HandBrake-0.10.1 x86_64.dmg

The following new items were downloaded:
    Download Path
    -------------
    /Users/gneagle/Library/AutoPkg/Cache/com.github.keeleysam.autopkg.munki.HandBrake/downloads/HandBrake.dmg

What version of OS X are you running? Could be something Yosemite-specific as I've run this recipe a few times and am getting the same result each time.

I think you must be hitting a bad mirror.  This is not an issue with the recipe itself, I would imagine you'd have the same issue using Handbrake's built-in Sparkle updater.  It downloads from this URL http://handbrake.fr/rotation.php?file=HandBrake-0.10.1-MacOSX.6_GUI_x86_64.dmg&update=true
I am on 10.10.2 and it works just fine.
autopkg run Handbrake.munki
Processing Handbrake.munki...

The following new items were downloaded:
    /Users/samuel/Library/AutoPkg/Cache/com.github.keeleysam.autopkg.munki.HandBrake/downloads/HandBrake.dmg

The following new items were imported:
    Name                     Version          Catalogs                         Pkginfo Path
    ----                     -------          --------                         ------------
    HandBrake                0.10.1 x86_64    testing                          apps/HandBrake/HandBrake-0.10.1 x86_64.plist


Select page cleanup

I started work on https://github.com/edgedb/edgedb/issues/6086 but noticed that the query output is a bit hard for the reader to predict: sometimes the output assumes certain heroes, movies and villains and other times another. But by keeping the same schema and adding a few inserts the resulting input is now predictable for the reader and can be reproduced and experimented with locally as well.

We should update the results on 174-178 to reflect the new contents of the database by making the number of results and the IDs of those results correct.


Added an option to shorten the header

Added an option to shorten the header if someone prefers #75 to trim the header after insertion.

Looks good! Fixed an off by one error with the title length and corrected some style issues.
Thanks! 🎉

WOW. Nice to hear that you are OK. I think we already lost this repo


lxd/request: Export CtxKey type and use for all keys.

staticcheck SA1029 requires that context be of a non built-in type to avoid collisions. The CtxKey type must be exported for use with lxd-cloud.
See https://github.com/canonical/lxd-cloud/pull/125 for more details.

LGTM. Is it worth also adding the same lint checks to the lxd repo too so its picked up here first?

IIRC @stgraber wanted to rework the CI to start replacing some jenkins jobs with github actions as well as change the static analysis to use golangci-lint.
I can set up linting to work the same as lxd-cloud here though if you would like? Not sure where to start with any of the other tests though.

LGTM. Is it worth also adding the same lint checks to the lxd repo too so its picked up here first?

IIRC @stgraber wanted to rework the CI to start replacing some jenkins jobs with github actions as well as change the static analysis to use golangci-lint.
I can set up linting to work the same as lxd-cloud here though if you would like? Not sure where to start with any of the other tests though.

What do you think @stgraber ?

We need to first run it manually on our machines and fix the hundreds of failures before we can realistically turn it on on Github.

I have attempted to run the linter from LXD cloud in this repo and there are an enormous number of failures as @stgraber indicated. I think the best way to go about this will be to have separate PRs for each linter that golangci-lint invokes.
If I am to do this, shall I add the linters I'm running to static_analysis.sh until they all pass, and then remove the script entirely? (keeping the makefile target as in LXD cloud, for the github action).

Yeah, I think that's a good approach. Eventually we'll do the same thing with the make target and matching Github action but until then we can do them one by one in the static analysis script.


feat(oidc): add clock skew and userinfo claims in ID Token

:tada: This PR is included in version 0.106.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Vue Example Code

An example integrating Monaco with VueJS would be much appreciated. The ESM Webpack Plugin example did not seem to work (see here). There is currently an example React project but nothing for Vue yet. Does anyone have experience with Webpack and Vue and would be willing to post an example?

https://zhuanlan.zhihu.com/p/47746336

I'm using quasar basis on vue3，and there is a werid bug，if I using method:getValue(),UI will be freezed，I'm trying to install  monaco-editor-webpack-plugin，can somebody teach me How to config monaco-editor-webpack-plugin in vue3， I google a lot about vue2,helpless!

Don't use vue3 data as an editor instance, it will cause stack overflow during getValue
wrong code
data() {
   editor: null
}
this.editor = monaco.editor.create(this.$el, {})

right code
let editor
editor = monaco.editor.create(this.$el, {})

Don't use vue3 data as an editor instance, it will cause stack overflow during getValue
wrong code
data() {
   editor: null
}
this.editor = monaco.editor.create(this.$el, {})

right code
let editor
editor = monaco.editor.create(this.$el, {})

u Solved my question

I have found a workaround.
use monaco.editor.getModels()[0].getValue() instead of this.editor.getValue()
<template>

</template>


use fast source-map v0.7.2

see https://hacks.mozilla.org/2018/01/oxidizing-source-maps-with-rust-and-webassembly/
(also: drop JSHint; use ESLint and Prettier)

The style changes should not be part of this.

They are directly related. Node < 8 doesn't support WebAssembly. And the easiest way to switch from using a sync API to an async one is async/await.

Then this can't go in unfortunately.


Android Marshmallow Support

Uploading an Android M apk with the new tag "android:fullBackupContent" in the manifest produces the attached error.
The android sample app can be found here: https://github.com/googlesamples/android-AutoBackupForApps

Might be a lot of changes, might be a little. Who knows.
I will look into Android M once AOSP drops for the official build.

There is a new qualifier called "isScreenRound". This on top of a new set of SDK tools & framework seem to be only changes.

Info for me. Ignore.
public static final int SCREENLAYOUT_ROUND_MASK  -  Constant Value: 768 (0x00000300)
public static final int SCREENLAYOUT_ROUND_NO -  Constant Value: 256 (0x00000100)
public static final int SCREENLAYOUT_ROUND_UNDEFINED -  Constant Value: 0 (0x00000000)
public static final int SCREENLAYOUT_ROUND_YES -  Constant Value: 512 (0x00000200)

SCREENLAYOUT_ROUND_YES corresponds to -round qualifier. They are fit into the existing SCREENLAYOUT qualifier, using a different mask.

@iBotPeaches It looks like M is being posted to AOSP today.  Just curious if you had an estimate for when APKs targeting API version 23 would be supported.  Presumably they will be supported in ApkTool 2.0.2?  Sorry if it's a lot of work, I'm not clear on what's involved.  Thank you!
https://android.googlesource.com/platform/sdk/
https://android.googlesource.com/platform/build/

Yep,
commits of interest for me to patch into apktool
https://github.com/android/platform_frameworks_base/commit/2738c96d998dedfae5b4670d588d0cd299c4ca0f
Then I need to build new aapt binaries and we are good to go. Probably 1-2 days.

Ok great, thanks!

Building aapt binaries now, then this will be fixed. A bit late of my estimated 1-2 days, but some aapt issues cropped up. Aiming before weekend hits to have 2.0.2 out.

Fixed - https://github.com/iBotPeaches/Apktool/commit/a29839bab27106b95bd3d41e713f37af562664f9
2.0.2 releasing today.


Implemented state setting and integrated into default behavior

New classes:

StateWrapper
StateSetter (abstract)
DefaultState (implements StateSetter)
RandomState (implements StateSetter)

Additions to:

make.py
match.py

Edits to:

gym.py
RLGym.dll

Pull request adds new classes to allow for the setting of states to be sent to the BM client. Default behavior now creates and sends a state setter message to the BM client every reset. Basic implementations are provided in default_state.py and random_state.py. These implementations are integrated into the default behavior of the API through gym.py.

What is the distinction between the StateWrapper classes and the classes in the gamestates folder? Seems like there’s some overlap there

What is the distinction between the StateWrapper classes and the classes in the gamestates folder? Seems like there’s some overlap there

The overlap is purposeful. During early development, we had users directly modifying the existing PhysicsObject data structures to specify new states. However, this turned out to be cumbersome in practice because it would require re-calculation of at least two of the quaternion, euler angles, and rotation matrix any time a user modified a single one of them. Furthermore, PhysicsObjects are treated as read-only objects throughout the rest of the code, and don't provide any standard setter methods.
To avoid as much confusion and unnecessary computation as possible, the StateWrapper uses internal objects that explicitly define all of the writeable state data for users to modify. Some of this overlaps with the existing PhysicsObject data, but we think it is worth that sacrifice. It's worth noting that these internal objects are not meant to be created by a user when constructing a new state. Instead, the user will implement StateSetter objects which will be given an existing StateWrapper object that can be directly modified by the user without exposing the internal data structures.


Add  header to resolve the MSVC building error

*Description of changes: add  header to resolve the MSVC building error
Issue #, if available: MS Visual Studio 2022 complains. needed for std::partial_sum and std::accumulate
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute
this contribution, under the terms of your choice.

Thanks @lcheng9!

Hi @lcheng9, can you make sure the latest commit compiles with MSVC correctly? I refactored the diagnostics into utils/diagnostic.hpp.

Hi @sebastiangrimberg, Thank you so much for the refactoring. Your revision builds on MSVS, I just realized that I need to add the _MSC_VER check to prevent the impact on other Windows systems, such as Cygwin.

Great. I would suggest to change the check to just #if defined(_MSC_VER) for simplicity as it should capture all the needed cases for needing warning.


Improve memory usage

While the code analyzes data second by second, it still concatenates the results to an array. This array will get larger and larger as the seconds in the data are processed, thus the memory usage will go up and up until the total memory limit is reached. There should be a way to store the results to the h5 file after each second is processed so that only one second of data is held in memory at one time. Currently, the h5 file is created and filled at the very end of the analysis.

The memory usage is much improved now that only one chunk of data is loaded at once, and each chunk is added to the output file after processing it and is cleared from the memory as the new chunk is loaded in.


Fix createFromTimestamp() to use correct timezone

In version 3 of Carbon, there has been a change in the way the createFromTimestamp() function works when no timezone is specified. In version 2, this function took the timezone defined in PHP settings. Currently it uses the UTC zone. This causes incorrect values to be displayed on the timeline in Pulse charts.
This pull request implements a change suggested by the Carbon author, i.e. it adds a second parameter to the createFromTimestamp() function call, which is the timezone defined in the application settings, with the default value still being UTC. Additionally, this makes Laravel Pulse work consistently across applications using Carbon 2 and Carbon 3.
Fixes #410

I would prefer we continue to capture UTC time in the back end and then format dates to the browsers local time.
This would remove issues when an application changes their timezone.
Pulse data is isolated from the application's, so I don't see any problem with not respecting the application's specified timezone in this case.

Closing in light of above comment.


Markdown mention bug

Fixes: #17535
Testing plan:
Testing is done in development server and by adding new markdown test for testing changes.
GIFs or screenshots:
For user mention:
source:  @**Cordelia Lear**  @**invalid** and @**King Hamlet**

output:

For user group mention:
source:  @*hamletcharacters*  @*invalid group* @*hamletcharacters*

output:

For stream mention:
source:  #**invalid stream>first BOTS wasn't loading**, #**devel>invalid topic**, #**invalid stream>invalid topic**  #**devel>first BOTS wasn't loading**  and then #**support**

output:

@timabbott @andersk I have updated the pr and addressed all the comments from Tim explaining changes done for them comment wise. Also I have cleaned up code and added some comments explaining the changes where ever necessary. It now passes CI and is ready for review.

I think if we migrate CompiledPattern to inherit from markdown.inlinepatterns.InlineProcessor instead of markdown.inlinepatterns.Pattern then, their we would be no need to define separate constructors(doing same work of accepting pre-compiled regex) for each of StreamPattern and StreamTopicPattern. Would this be a good idea?

@timabbott I made changes in UserGroupMentionPattern to not reqiure else block also it was not required with current regex. Also I posted on CZO about your question on migration of CompiledPattern. Can you please give it a look.

I have made the changes as suggested. As changes were minor so I have replied in respective comments about the changes done. This pr is ready for another review. Please have a look.

@andersk I have made the changes as suggested. Can you please give it a review.

This is great, merged, thanks @m-e-l-u-h-a-n!  I hope the series of iterations on this gives you a feel for our approach of thinking through the details to try to get to a nice implementation that's readable and correct.