[Blameable/Timestampable] Consistency of Trackable behaviors

Hello,
This PR reprensents the consistency part of RFC #208.
This PR intends to propose a new architecture to simplify Trackable behaviors. Trackable behaviors include Blameable and Timestampable. The main idea is that the Entity becomes responsible for tracking meta-data regarding its own creation, changes, and deletion (the last part is intended to be used along SoftDeletable as were Blameable and Timestampable).
The new architecture uses only a single Subscriber on preCreate, preUpdate and preRemove for all Trackable behaviors. This new Subscriber is more generic and improve consistency among the implementations.
The Trackable Subscriber is given a collection of Trackers, and is responsible for gathering the metadata for a given Entity each time an event is triggered. A Tracker can be developed by implementing the provided TrackerInterface (recommended) or by providing a triplet (name, predicate, generator).
If the full symfony framework is used (Bundle, Extensions and Compiler passes), the new knp.doctrine_behaviors.tracker tag can be used to easily add custom trackers.
Each Tracker is responsible for fetching/generating (generally speaking, providing) some metadata. Each Tracker is responsible for deciding if it will provide its own metadata for a given Event.
The Entity itself is responsible for processing the metadata made available to it and storing or processing it adequately.
I consider the architecture to respect the SRP because the Entity's responsibility is akin to LifeCycleCallbacks which already exists in Doctrine. This way, the new responsibility is not a new burden, simply an extension of the Event System already provided by Doctrine.
I had to keep the Blameable and Timestampable Subscribers on loadClassMetadata to ensure the mapping of the fields provided in the Traits.
I introduce two BCB:

updateTimestamps method in the Timestampable Trait is removed. However, if you think this is a major modification, I'm sure we could work something out to ensure the methods is preserve. Although I think this would hurt the new-found consistency.
Entities using either the Blameable or Timestampable Trait must now also use the Trackable trait. I failed to find a way to avoid this, however, I'm completely opened to feedback or idea on this point.

Tests and documentation are up-to-date.
I added a dependency on symfony/property-access for the tests only, although I can easily work around it if need be.
Thanks for your time reading and providing feedback on this PR.
TODO:

[x] Write tests for Trackable
[x] Update tests for Blameable Subscriber
[x] Write tests for Blameable Trait
[x] Update tests for Timestampable Subscriber
[x] Write tests for Timestampable Trait
[x] Write doc
[x] Write a new CompilerPass to allow defining new Trackers by defining a tag on a service implementing TrackerInterface

@docteurklein : Sorry to bother you directly, but the PR has been opened for three weeks now, without feedback.
I know it's still a WIP, but could I ask you to take a look at it and tell me if I'm heading in the right direction?

I'm so sorry, I didn't have time to answer you. Saw the PR already, and the idea seems OK to me.
Not sure if the added value will worth the complication.

OK, I've (re)written all involved test.
NB: I added a dev dependency on symfony/property-access
The code should be in working order now.
Granted I plugged the service (Subscribers, Trackers & Cie) correctly.
I will review these while writting the documentation and the CompilerPass for the Tracker tag.
Any feedback welcome, although I gather the documentation might help understand the new structure a bit better.

Here comes the documentation.

And the compiler pass...
@docteurklein My next goal would be to rebase and reorganize my commits but the code is final.
I will probably rewrite the head message to reflect the last upgrades...
Could you review the final architecture and documentation.
As far as I see, there is an increase in consistency, simplicity and flexibility.
I checked whether the Blameable and Timestampable traits could avoid requiring the manual use of the Trackable trait, however, if I want to let users easily change the timestampable trait, it seemed better this way.
On the other hand, the Trackable behavior could be conditioned to an interface, since the trait only declares methods, but it's currently impossible to provide an interface through a trait. So classes using the Blameable or Timestampable trait would still need to explicitly reference the trackable trait.

Travis fail comes from the fact that Doctrine's dev-master branch now requires PHP 5.5+.
Therefore the  5.4 builds using Doctrine's dev-master fail.

PS: Head message rewritten. @docteurklein, if you have some time, the PR is ready for review, including CS and commit squashing/rebasing.

@lemoinem thanks for your work! will review ASAP.

I just thought about it, it might be possible to allow Blameable and Timestampable traits not to require the Trackable trait by increasing the coupling between the three implementations even further. (I'm sure if it is a good idea...)
However, I believe the coupling between the traits can't really be increased, it may create issue with entities using both traits. Creating a new trait encompassing both implementations at once might be created to this end. (i.e. BlameableAndTimestampable).
How about using interfaces instead of Traits to decide whether an entity should be processed by a subscribers? It seems to be a better OOP Practice too.

I agree using interfaces is a better idea. It would resolve and simplify so much prolbems in this lib. I think there is a PR actually doing this.
I had no time to manage it yet.

Indeed, the PR is #241 (and there is some more discussion in #237). If you think it would help, I could try to write PRs for the missing behavior interfaces. Then I would rewrite this PR using interface instead of traits (would be much better anyway, IMO).

Closing as https://github.com/KnpLabs/DoctrineBehaviors/pull/233#issuecomment-139530641
In respect with Occams' razor, use smaller separated concepts Blameable and Timestampable instead


ZafiraConfigurator should update test tags on populateTestResult test results as well

to support external data provider cases id and custom cases from tests we have to populate tags:

on TestStart like now
on finish (populateTestResult) to sync with new values

so logic should be the same as updating of configXML attribute

fixed in 4.0.52


Update README

Ⅰ. Describe what this PR does
Ⅱ. Does this pull request fix one issue?

Ⅲ. Special notes for reviews

Codecov Report

Merging #127 (b14d8a7) into master (2b48eba) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##           master     #127   +/-   ##
=======================================
  Coverage   44.66%   44.66%
=======================================
  Files          47       47
  Lines        4865     4865
=======================================
  Hits         2173     2173
  Misses       2335     2335
  Partials      357      357

Flag
Coverage Δ

unittests
44.66% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

/lgtm

/approve


License

Hi there!
Great work and great plugin! Exactly what I am looking for.
Just want to know the license of this plugin, if it's MIT or can be used commercially?

Hi @tinaflashaim ,
Glad this fits right in what you were looking for and can help you in your projects!
Do you want to use this in a commercial project? Do you require support? Feel free to message me privately over on Twitter @MDesignsuk.

Hi @tinaflashaim ,
Glad this fits right in what you were looking for and can help you in your projects!
Do you want to use this in a commercial project? Do you require support? Feel free to message me privately over on Twitter @MDesignsuk.

@tinaflashaim Just opened an account on buymeacoffee you can now support me and my work!

@tinaflashaim Just opened an account on buymeacoffee you can now support me and my work!


Database Location

Where is the database location configs and how do we access it?

@zeldaroot
Example, I want to dump current database with movies I have, how?


Hidden tabs and Visible tabs list

@maslianok Is there a way where we can find the visible tabs and hidden tabs at any point of time?
I mean to ask can we know the list of tabs that are visible and the list of tabs that are under the 'show more' dropdown?
And also if a tab is selected from dropdown list can we show the selected tab name instead of '...' ?

@maslianok any update on this?


set receipt.host = skip to skip receipt sending, a warning is logged

@iwootten if you are happy with this, please merge and configure jenkins

:+1: Looks good from here.


Allow config of wifi password and SSID

What is the purpose of this pull request? (put an "X" next to item)
[ ] Documentation update
[ ] Bug fix
[X] New feature
[ ] Other, please explain:
What changes did you make? (Give an overview)
Allows configuration of WiFi SSID and password
Sorts components in to sub folders
Which issue (if any) does this pull request address?
Is there anything you'd like reviewers to focus on?

Finally finished pushing to this branch, and ready for review.


AnonCreds Revocation List Model

Issue to discuss the data model for the AnonCreds revocation list. This is based on what I've presented in a previous AnonCreds Spec meeting, and is also what we're now targeting for the implementation in AFJ/ACA-Py/AnonCreds-Rs.
Here's the data model:
{
  "revRegRefId": "<revocRegId",
  "revocationList": [0, 1, 1, 1, 1, 1, 0],
  "currentAccumulator": "<current accumulator value>",
  "timestamp": <timestamp-number>
}

revRegRefId (string) - Identifier of the revocation registry
revocationList (number[]) - Bit array defining the status of the credential in the revocation registry. A value of 1 means the credential is revoked, a value of 0 means the credential is not revoked.
currentAccumulator - The current value of the accumulator
timestamp -  the timestamp at which the accumulator value is valid

This is using camelCase. I know in the spec we've been moving to snake_case, but the current AnonCreds implementation uses camelCase, so maybe it's better to keep it like that. Anyway, snake_case or camelCase the data is the same.
An example:
{
  "revRegRefId": "4xE68b6S5VRFrKMMG1U95M:4:4xE68b6S5VRFrKMMG1U95M:3:CL:59232:default:CL_ACCUM:4ae1cc6c-f6bd-486c-8057-88f2ce74e960",
  "revocationList": [0,1,1,0,0,1,1,0,0,0,1,0,0,1,1,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,0,0,1,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,1,1,0,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,0,1,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,1,1,0,0,1,1,1,0,0,1,0,1,1,0,0,0,1,0,1,0,0,0,0,1,0,0,1,1,0,1,1,0,0,0,1,0,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,0,0,1,0,1,1,1,1,1,0,1,0,0,1,1,1,0,0,1,0,1,1,1,0,1,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,0,1,0,0,0,1,0,1,1,1,0,0,0,0,0,0,1,1,0,1,0,0,1,1,1,1,1,0,1,0,1,0,0,1,0,0,1,0,0,1,0,1,1,1,1,1,1,0,0,0,1,0,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,1,1,1,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,0,1,0,0,1,0,1,1,1,1,1,0,0,1,0,1,1,0,0,0,1,1,1,1,1,1,1,0,0,1,1,0,1,1,1,0,0,0,0,1,0,1,0,1,1,1,0,0,1,0,0,0,1,1,0,1,1,0,1,1,1,0,1,0,1,1,1,0,1,1,1,0,1,0,0,1,1,1,0,1,0,1,0,0,0,1,0,1,1,0,0,1,0,0,1,1,0,0,1,1,1,0,0,1,0,1,0,1,0,0,0,1,1,0,0,0,1,1,1,0,1,1,1,0,0,1,1,0,1,1,0,1,0,1,0,1,0,1,1,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,0,1,0,1,1,0,0,1,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,1,1,1,0,0,0,1,0,1,1,0,1,1,0,0,1,1,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,1,1,1,0,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,1,1,0,0,0,1,0,0,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,0,1,0,0,1,0,0,1,1,1,0,0,0,1,0,1,0,0,1,0,0,1,0,1,1,0,1,1,0,1,0,1,0,1,0,1,1,1,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,1,0,1,1,0,0,1,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,1,0,1,0,1,0,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,1,0,1,0,1,0,0,0,1,1,1,1,0,1,0,0,0,1,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,0,1,1,1,0,1,0,0,0,0,1,0,0,0,1,1,0,1,0,1,0,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1],
  "currentAccumulator": "21 124C594B6B20E41B681E92B2C43FD165EA9E68BC3C9D63A82C8893124983CAE94 21 124C5341937827427B0A3A32113BD5E64FB7AB39BD3E5ABDD7970874501CA4897 6 5438CB6F442E2F807812FD9DC0C39AFF4A86B1E6766DBB5359E86A4D70401B0F 4 39D1CA5C4716FFC4FE0853C4FF7F081DFD8DF8D2C2CA79705211680AC77BF3A1 6 70504A5493F89C97C225B68310811A41AD9CD889301F238E93C95AD085E84191 4<PHONE_NUMBER>4D756D5D86D0EED02BF1B95CE12AED2FA5CD3C53260747D891993C",
  "timestamp":<PHONE_NUMBER>487
}

@swcurran Could you bring this up during the AnonCreds WG tomorrow for discussion and feedback? 🙏

@TimoGlastra
Is the path to updating the witness from the prover's perspective, 1 query state at timestamp at issuance and time to update to; 2 locally calculate the delta for the update?

My apologizes @TimoGlastra -- I think I missed your earlier note about raising this at a Meeting, or at least it didn't register.  I'll try to get some conversation on this generated.

@TimoGlastra -- should the tails file (path or binary) be included in that? The holder will need that in creating the NRP.  Also, should the size of the RevReg (number of credentials) be included.
Would it make sense to make the state parameter a compressed bit array, perhaps use the Revocation List 2020 approach as found here? We could use a smaller minimum size than 16kb as that is impractical for the current revocation scheme. I would think it would be helpful for "full state" AnonCreds Methods and a bit of pain, but not too bad for "delta" based approaches.

@swcurran
The tails file location and the number of credentials and other data are stored in Revocation Registry Definition. That can remain unchanged even as we implement this data model.
Regarding the compression, perhaps @TimoGlastra has better understanding.
We do not know what format / data type the ledger will store this state in (whichever ledger), it might be that the ledger can store it even more efficiently, so perhaps it is best to let the ledger sdk handle such expansion directly.

Thanks @whalelephant --
Agree on the tails file location and number of credentials in the RevRegDef.
We talked about the compression on the call. Basically, it has to be available expanded somewhere and adding compression would be worst case for some methods like Indy, where it would be expanded in the method, compressed to pass to AnonCreds and then immediately expanded again.  No help :-).  So we'll leave it as defined above by @TimoGlastra .


Change the background of the (i) icon in the VGGT to green

See scss/modules/_visualizations.scss (line 75)


Speed up partial dependence for date-time features

In PR #2365, we noticed that one of our slowest tests are those that compute partial dependence on datetimes. The reason is that those tests had a date feature with 100 unique dates, and our current partial dependence implementation will compute the partial dependence on every unique date. This means that the grid_resolution parameter is not respected for dates and will be slow for datasets with many unique dates.
The underlying problem is that scikit-learn's partial_dependence implementation computes the grid for you and it cannot compute a grid from date features.
I think it's time we move to our own partial dependence implementation so that we can control how the grid is computed. I sketched out how this could work in the original partial-dependence-for-dates issue #1963
https://github.com/alteryx/evalml/issues/1963#issuecomment-810628780

@freddyaboulton what sort of performance improvement would we see in the unit tests if we fixed this?
Agreed we should fix this :) and good eye


Simplify versioning rules in README

Similar to https://github.com/roc-streaming/roc-java/pull/79

Coverage: 87.971%. Remained the same when pulling f29faae67c4573f2183d0ab832f897f32a48e489 on gavv-patch-1 into ec43d2b9305b103ec0cb5e3169e8d7da618f9cde on main.


globalThis is not defined

Hi, this is a bug report.
ReferenceError progressImage(src/Bar) happens randomly (caught with Sentry) on the web. I use expo-web SDK39.
I tried to remove the option (since I only use color for progressBar) but I failed to build
I also tried giving progressImage={null} but this error still happens.
src/Bar.tsx in progressImage at line 231:17
1

            backgroundColor: color,
            borderRadius,
          },
        ]}
        // @ts-ignore
        source={progressImage}
      />
    </ImageBackground>
  );
}

Is there any way I can fix this?

It seem like this error happens with Microsoft Edge or old iOS (iOS9) mobile safari.
However, the error also happened at different places as well so I think expo-progress was not the cause of this error but something else.

It seem like this error happens with Microsoft Edge or old iOS (iOS9) mobile safari.
However, the error also happened at different places as well so I think expo-progress was not the cause of this error but something else.


for #1216, move the InsertStatementParserTest relative test cases to IntegrateParsingTest

Pull Request Test Coverage Report for Build 5180

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 63.69%

Totals

Change from base Build 5175:
0.0%

Covered Lines:
8060

Relevant Lines:
12655

💛  - Coveralls


Update distribution-scripts (universal darwin & demote alpine to 3.12)

Includes the following relevant PRs of distribution-scripts in this update

https://github.com/crystal-lang/distribution-scripts/pull/104
https://github.com/crystal-lang/distribution-scripts/pull/127
https://github.com/crystal-lang/distribution-scripts/pull/128
https://github.com/crystal-lang/distribution-scripts/pull/111

Something to have in mind is that after this is merged  -darwin-x86_64.tar.gz  will no longer be generated. The new name will be -darwin-universal.tar.gz
Follow up work is mentioned in https://github.com/crystal-lang/distribution-scripts/pull/104#issuecomment-920887960 regarding github action install-crystal, yet this is also a change that might impact others wanting to download the darwin tar.gz or .pkg from github directly

There seems to be something wrong with linux build since the compiler is coming with a non-static dependency.
./build/crystal is not statically linked
	/lib/ld-musl-x86_64.so.1 (0x7f6054f30000)

I think we need to revert https://github.com/crystal-lang/distribution-scripts/pull/88 since that was partially added for alpine 3.13, but I am not sure. I pushed another build with that reverted.

Pushed update to include https://github.com/crystal-lang/distribution-scripts/pull/128 . It should be good to go.

We still need to push the 3.12-based images to dockerhub.

The images on dockerhub have been updated and are based on Alpine 3.12 again.


OnFacebookAppRequestFinished and OnFacebookFeedFinished never called

As the title says, the events: OnFacebookAppRequestFinished and OnFacebookFeedFinished are never called when the following are invoked (I've tried on a laptop running Windows 8.1 and a Phone with Windows 8.1):
Session.ShowAppRequestsDialog(new WebDialogFinishedDelegate((result) =>
{
   if (result == WebDialogResult.WebDialogResultDialogCompleted){ // This is called
   }
   else{
    }
   }), message, title, appIdList);
}

And
Session.ShowFeedDialog(toId, link, linkName, linkCaption, linkDescription, picture);
For desktop I'm using the Facebook.Client.dll located in: ..\Facebook.Client.1.0.3\lib\win81 and for phone: ..\Facebook.Client.1.0.3\lib\wpa81 and for both the Facebook.dll located in: ..\Facebook.7.0.6\lib\portable-win81+wpa81.
Can anyone else confirm this?

If someone could just confirm that it's not me doing something weird, I could actually take some time to see if I can find the issue, fix it and create a pull request. But I don't feel like "wasting" time if this isn't an actual issue for anyone else.


User position

In the comments for submit, we debated whether to print the user's position; do we want to explicitly print the user's position (in which case we can fetch it from leaderboard/self, rather than just printing every output)?

I dunno, It's not super important.  I sort of like the responses but my opinions aren't strong.

I feel like we could just provide our own output if we want to provide that behaviour, then we also get more control over the formatting and content - especially the [share to] message is a little odd when we're parsing text only


Consider updating the ctor of HttpPipeline to take a separate, required TransportPolicy

Having the API accept a transport policy explicitly outside of the other policies makes it easier to discover what is needed in the pipeline.
Currently, as a user, I would need to know to provide a transport policy as the last one in the vector and read docs:
https://github.com/Azure/azure-sdk-for-cpp/blob/e3503f8575cc67d5663683071755d0ea1aff5625/sdk/core/azure-core/inc/azure/core/http/pipeline.hpp#L41-L48
See this design, which makes it more self-documenting and allows for better argument validation up front:
https://github.com/Azure/azure-sdk-for-net/blob/c38318e69b5f2b6ede64250138cbcb0f84c611f2/sdk/core/Azure.Core/src/Pipeline/HttpPipeline.cs#L25-L37
cc @RickWinter, @JeffreyRichter

Bear in mind customizing the pipeline is an advanced user scenario.  Even with the extra argument you'd need to read the docs :).
Hearing you like the extra argument is one more vote for my original design.  My original impl mirrored .NET.  Jeff pushed back that he wanted it simpler and for the sake of unblocking the boot strapping I did a single array.  I support bringing back the argument.

A Transport Policy is actually optional; there are scenarios (like client-side cashing or playing back HTTP recordings) where a network request HTTP won't be made.

A Transport Policy is actually optional;

Interesting. In that case, should we support pipelines with no policy provided, which instead of throwing, do a no-op?
What is the desired behavior when someone provides a retry or other policy but no transport policy?

There may be confusion here. There is a TransportPolicy and there is also a TransportAdapter.
The Azure SDK defines the TransportPolicy (TP) and the customer provides the TransportAdapter as an option to the TP.
We could always apply our TransportPolicy to the end of the customer's pipeline and expose the TransportAdapter parameter as the option to configure it. Although it would be better to expose a TransportPolicyOptions (which the TransportAdapter as a field inside it). If we did this, the customer still might provide a pipeline whose last policy doesn't call our TransportPolicy and, in this case, the TransportPolicyOptions are effectively ignored but we'd be forcing the customer to pass them.

All policies are equal: the pipeline doesn't know that a policy is a retry policy or a transport policy. So, we can't have any logic related to this. A pipeline just takes in an HTTP request object, passes down the policies, and returns an HTTP response back up the policies.  A TransportPolicy just happens to send it across the network and does NOT forward the request to another policy. A client-side caching policy would check the cache if the data being requested is available locally and, if so, return a response. If the data is not available, then it could forward the request to the TransportPolicy.
Each Policy controls its own behavior and can short-circuit other policies and their behavior.

There may be confusion here. There is a TransportPolicy and there is also a TransportAdapter.

Can we have a Transport Adapter that is not inherited from TransportPolicy?
My understanding is that a transport adapter is a concrete class of a Transport policy.
for cpp:
class CurlTransport : public HttpTransport {
}

playing back HTTP recordings

I though that the playback frameworl uses a concrete class as well for TransportPolicy that is used for unit test when playback is enabled instead of the regular curl/http transport
something like
class PlayBackTransport : public HttpTransport {
}

In terms of usability and simplicity, I do prefer Jeff's design that won't ask for a Transport policy in the Pipeline's constructor.
To me, it is an endless  journey when we start going into unlikely scenarios ,  it looks like the more unlikely is something, the bigger is also the complexity that comes to it for avoiding the unknown behavior.

Our TransportPolicy should call the HttpTransport to make the HTTP request and it should also download the entire HTTP response into a buffer (unless we're downloading a blob or file) and return the HTTP response up the pipeline.
We expect the policy behavior to be very common but we expect the transport to change (based on OS or configuration, etc.).
But, the customer (or us in the future) might want to alter the policy. For example, in the future we could make a transport policy that just makes the request and NOT download the entire response at this time.

I don't disagree with your design Jeff.  I think what ahson is getting at (and why I did it in the other way in the beginning) is that some languages such as .NET treat the Transport as a parameter.  Every language does it a little bit different.  Its reasonable to want to understand the principle design goals for our implementation.  I don't consider this an approved change (yet).

.NET doesn't allow the customer to fully replace the pipeline only allows the customer to insert some policies just before or after the retry policy. This is why .NET has the different design - you cannot replace the Transport policy.
In C++ we need more flexibility for advanced scenarios since the customer can replace the transport entirely and only ever use HttpClient. .NET doesn't support other HTTP stacks.

@ahsonkhan we added a constructor for HttpPipeline which hides the order of the transport adapter and other policies. I think we could close this issue after that.


TypeError:  forward () got an unexpected keyword argument  "position_ids"

According to the tutorial, I can execute this project, but the execution will report an error when I reach this position.

Hi @GZHU-DVL,
Thank you for your interest in our work. Please make sure that you followed the mentioned environment setup process and using the correct versions of the libraries.
If the issue still exists, please provide the script and command that you are running to understand the issue.
I hope it will help. Thanks

The versions of the libraries are as follows:
torch~=2.0.0
tqdm~=4.65.0
transformers
numpy~=1.23
Pillow~=9.5.0
decord~=0.6.0
gradio~=3.23.0
markdown2~=2.4.8
einops~=0.6.1
requests~=2.30.0
sentencepiece~=0.1.99
protobuf~=4.23.2
accelerate~=0.20.3
accelerate==0.19.0
tokenizers>=0.13.3
The command are as follows:
torchrun video_chatgpt/train/train_mem.py
--model_name_or_path /gemini/data-2/7b/
--version v1
--data_path /gemini/code/Video-ChatGPT/scripts/video_chatgpt_training.json
--video_folder /gemini/data-2/ActivityNet_Train_Video-ChatGPT_Clip-L14_Features/activity_clip-14L_spatio_temporal_356/
--tune_mm_mlp_adapter True
--mm_use_vid_start_end
--bf16 True
--output_dir ./Video-ChatGPT_7B-1.1_Checkpoints
--num_train_epochs 3
--per_device_train_batch_size 1
--per_device_eval_batch_size 1
--gradient_accumulation_steps 1
--evaluation_strategy "no"
--save_strategy "steps"
--save_steps 3000
--save_total_limit 3
--learning_rate 2e-5
--weight_decay 0.
--warmup_ratio 0.03
--lr_scheduler_type "cosine"
--logging_steps 100
--tf32 True
--model_max_length 2048
--gradient_checkpointing True
--lazy_preprocess True

The problem was solved after I changed the version of Transformer.

The problem was solved after I changed the version of Transformer.

Hi!
I faced the same problem. Could you tell me which version of Transformers you use?
Thanks!

The root cause can be seen in this issue: https://github.com/huggingface/transformers/issues/24130

The root cause can be seen in this issue: huggingface/transformers#24130

Actually, I was wrong. The problem is with the flash_attn monkey patch not being updated to reflect the breaking code changes in transformers. To fix this, update the llama_flash_attn_monkey_patch.py in this repository to match this one: https://github.com/lm-sys/FastChat/blob/dd84d166d7694f0cc0c766e5a811d995f5801c77/fastchat/train/llama_flash_attn_monkey_patch.py


Git clone stuck on Initializing Keybase... done.

I'm trying to clone a private repository into my digital ocean server and it get's stuck at Initializing Keybase... done.
jose@ubuntu-512mb-nyc3-01:~$ git clone keybase://private/josecanhelp/josesoto.com
Cloning into 'josesoto.com'...
Initializing Keybase... done.

my log id: ca9ba9f896266301a20d5a1c

@josecanhelp: it looks like your keybase background daemon can't start up because of this error:
2017-10-13T07:16:48.536490Z ▶ [ERRO keybase standard.go:232] 021 mkdir /run/user/0/keybase: permission denied

I'm not really sure what that means -- maybe you're trying to run as root, when you should be running as a regular user?

Thanks for the info, @strib.
I was logged into keybase via the root user, but I was attempting to clone as a normal user. Running keybase login from the normal user and re-setting up the device fixed the issue for me.


feat: port Mathlib.Algebra.Bounds

[ ] depends on: #1188

This PR/issue depends on:

leanprover-community/mathlib4#1188
By Dependent Issues (🤖). Happy coding!

This PR/issue depends on:

leanprover-community/mathlib4#1188
By Dependent Issues (🤖). Happy coding!

Thanks :tada:
bors merge


Correcting Error Messaging on Publish

Changes
When an error occurs while attemping to send a message to a processor the error message is currently unclear due to an interpolation issue.
error with odfi periodic processing: ERROR: processing files: processDir /storage/download3767115277/FromACHTH/ACHFiles: problem alerting on error: **%!w(<nil>)

Why Are Changes Being Made
Error message currently is not accurately rendering due to alertErr being nil.

Thanks!


Implement std::ascii::AsciiExt and std::ascii::OwnedAsciiExt for Ascii

Motivation
Preliminary
While str guarantees statically that data of its type is valid UTF-8, the type Ascii guarantees ASCII-conformance. Therefore the types [Ascii] and str and their owned counterparts Vec<Ascii> and String should behave similar.
Topic of this Issue
Ascii provides functions like to_uppercase() and to_lowercase() which can be applied to single ascii-characters. Currently such operations are not implemented on owned or borrowed strings of ascii-characters. As the types Vec<Ascii> and [Ascii] should be opaque manually implementing the iteration isn't recommended because it is a implementation detail of these types.
Example:
error: type `&[Ascii]` does not implement any method in scope named `to_uppercase`
let _ = "abcXYZ".to_ascii().unwrap().to_uppercase();
                                     ^~~~~~~~~~~~~~~~~~~~

Design
The types String and str provide functionality for converting to uppercase and lowercase with their implementations of the traits std::ascii::{AsciiExt, OwnedAsciiExt}. These traits are intended for "[…] ASCII-subset only operations on string slices" and owned strings. Of course Vec<Ascii> and [Ascii] are subsets of ascii, they are equivalent so it's valid to implement them for the ascii only string types.
Implement the traits:
impl AsciiExt<Vec<Ascii>> for [Ascii]
impl AsciiExt for Ascii
impl OwnedAsciiExt for Vec<Ascii>

The implementations use functionality present in Ascii if possible.
Design flaws

The traits std::ascii::{AsciiExt, OwnedAsciiExt} are marked experimental. This shouldn't be a real issue as I expect this crate to follow the way conversions are done in the standard library.

All functions declared by the traits std::ascii::{AsciiExt, OwnedAsciiExt} carry the infix ascii which is redundant in the case the traits are implemented on Vec<Ascii>, [Ascii] and Ascii. This redundancy must be tolerated to achieve the goals described above.

Drawbacks

Duplicate implementations arise because the type Ascii implements the same functionality in the functions to_uppercase() / to_ascii_uppercase() and to_lowercase() and to_ascii_lowercase().

Makes sense to me. There is no particular reason these impl don’t exist yet, I just didn’t think of adding them.

The traits std::ascii::{AsciiExt, OwnedAsciiExt} are marked experimental.

All stability markers were just copied from std::ascii without any thought and could use being revisited. Also it’s unclear that they mean anything or should be used outside of libstd. See discussion starting at https://github.com/rust-lang/rfcs/pull/507#issuecomment-67663541

Duplicate implementations arise because the type Ascii implements the same functionality

Just remove Ascii::to_uppercase and Ascii::to_lowercase.

See discussion starting at rust-lang/rfcs#507 (comment)

That is a good source of information, thanks. I consider rethinking the stability of the items in the crate.

Just remove Ascii::to_uppercase and Ascii::to_lowercase.

I didn't remove Ascii:to_uppercase and Ascii:to_lowercase because they are marked stable, but as long as rust has not reached 1.0 the API can change often. But the other stability markers also need recondsideration.
I'm also following the IO reform RFC in which the OsStrBuf, etc. types are also statically enforcing certain conformance. In that manner the motivation of OsStrBuf is similar to Ascii. You also participated there.

I didn't remove Ascii:to_uppercase and Ascii:to_lowercase because they are marked stable

Again, the stability markers only have the meaning we give them. The point of moving things out of libstd is that you don’t have to provide the stability promises. It’s OK to make breaking/backward-incompatible changes as long as the version number is changed appropriately per SemVer. (Of course, as a library matures and gets more relied on, breaking changes should become infrequent and made more thoughtfully…)

I had a very strong reliance on the stability markers. The discussion you linked above brought some new points about the stability markers to me I didn't consider before. You are right that respecting SemVer is usually enough for a library to not break code using it immediately. Thanks for making this clear to me.

It all depends on how many compatibility promises you, as a library maintainer, want to make. "Zero promises", although maybe painful for users, is a valid position. Stability markers and SemVer are just tools to express this. The Rust ecosystem has a relatively strong convention on SemVer, but you don’t have to use it either.


Fixing the issue in scenario 01 for user consent

Purpose

Resolved the issue mentioned in [1]

[1] https://github.com/wso2-incubator/identity-test-integration/issues/239

Addressed with https://github.com/wso2-incubator/identity-test-integration/pull/250 including the JTL and base_setup modifications. Hence closing this issue.


replace outdated columns argument with meta

[x] Closes #8613
[x] Tests added / passed
[x] Passes pre-commit run --all-files

I have updated the documentation example to pass meta instead of columns.

Thanks @kori73 for doing this work!!


why does this have the filestores as dependencies?

While trying to improve build times on a project I realized that it was installing a bunch of native mongo related modules, when the project doesn't even use mongo.

Big question, I think I copied the project structure from somewhere else, and I forgot.
The only one needed is the json filestore, which should be moved in devDependencies.
Would you mind to send a PR?

np. will do.

done.


ng2-cache Library created as per Angular Package Format - used angular-library-starter

Used angular-library-starter as base.
Removed test cases related files from the base.
Code comment updated at some places to avoid breaking tslint errors. No implementation code is updated.
To build, after npm install, simple run npm run publish:lib. Files will be generated inside /dist folder as per Angular Package standard.
To consume ng2-cache, nothing changes. Removed the need to import ng2-cache inside tsconfig.json
I think this resolves #13 , #15 , #16, #21
Added CHANGELOG
Updated license from ISC to MIT as angular-library-starter is having MIT license. Revert it back if this is not needed. I am not sure about this. However, MIT and ISC are kind of same. Reference: https://gist.github.com/indexzero/10602128
Do update the code if needed.

Confirmed. This PR fixes issue #15, #16 and #21

Could you please update the npm package on npm registry? The above issues won't get resolved until the latest package is available for the consumers .


Added Required Target to Podfile

Every new person who clones your repo will have to make this change to install AFNetworking...
Thought I'd add this small addition 👍

Thanks!


is it possible to unarchive (zip/rar) from direct link?

Hi Team,
is it possible to unarchive (zip/rar) from direct link?
like url/abc.zip   (lets say that which will content series of 10 episode)
it will extract/unarchive and show all 10 episode or upload that all 10 episode on folder
is it possible ? this will be good feature

is it possible ?
Yes, it is possible.

However, no new updates will be made to this repository from my side.


Installation

I'm finding it difficult to install using composer. I cloned the code and copied it in the www directory in wamp and gets an error that it can't open the artisan file of which the possible reason could be not creating the project. Has anyone here encountered the same problem? If so please help

you're running commands from root folder?


docs: better documentation for cue/load package

const label_traitdef = `
	import "k8s.io/api/core/v1"

	parameter: {
		endpoints: v1.#Endpoints
	}
    output: {
		//endpoints: parameter.endpointSubset[0].address[0]
		for subset in parameter.endpoints.subsets {
			endpoints: #Endpoints & [
				for addr in subset.address {
					ip: addr.ip
				}
				for po in subset.ports {
					port: po.port
				}
			]
		}

    }
`

 func test()  {
	ctx := cuecontext.New()

	value := ctx.CompileString(label_traitdef)
	if value.Err() != nil {
		fmt.Println("load error:", value.Err())
		return
	}
 }

i used "go get k8s.io/api/core/v1", "cue get go k8s.io/api/core/v1"
i got error: "load error: package "k8s.io/api/core/v1" imported but not defined in  (and 1 more errors)"
I've read the document, but I don't understand it

You need to use the cue/load Go package to support imports

Specific docs suggestions:

better docs for load.Config fields: it's not clear that ModuleRoot is a directory rather than a module path; it's not clear that overlay paths cannot be relative.
point towards the cue/load package from the lower level Context.Compile* methods.


apply_gradients() return error unexpected keyword argument 'all_reduce_sum_gradients' using official.nlp.optimization

System information
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Google Colab
TensorFlow version and how it was installed (source or binary): tf-nightly 2.2.0-dev20200408 (pip install) and 2.1 stable version
TensorFlow-Addons version and how it was installed (source or binary):
Python version:
Is GPU used? (yes/no): TPU
Describe the bug
A clear and concise description of what the bug is.
Code to reproduce the issue
////start code
optimizer = optimization.create_optimizer(
init_lr=INIT_LR,
num_train_steps=NB_BATCHES_TRAIN, # per epochs
num_warmup_steps=WARMUP_STEPS)
def squad_loss_fn(labels, model_outputs):
start_positions = labels['start_positions']
end_positions = labels['end_positions']
start_logits, end_logits = model_outputs
start_loss = tf.keras.backend.sparse_categorical_crossentropy(
start_positions, start_logits, from_logits=True)
end_loss = tf.keras.backend.sparse_categorical_crossentropy(
end_positions, end_logits, from_logits=True)
total_loss = (tf.reduce_mean(start_loss) + tf.reduce_mean(end_loss)) / 2
return total_loss
train_loss = tf.keras.metrics.Mean(name="train_loss")
bert_squad.compile(optimizer,
squad_loss_fn)
Training loop
NB_EPOCHS = 3
for epoch in range(NB_EPOCHS):
print("Start of epoch {}".format(epoch+1))
start = time.time()
train_loss.reset_states()
for (batch, (inputs, targets)) in enumerate(train_dataset_light):
with tf.GradientTape() as tape:
model_outputs = bert_squad(inputs)
loss = squad_loss_fn(targets, model_outputs)
grads = tape.gradient(loss, bert_squad.trainable_variables)
optimizer.apply_gradients(zip(grads, bert_squad.trainable_variables))
#optimizer.apply_gradients(zip(grads, bert_squad.trainable_variables), name=None, all_reduce_sum_gradients=True))
train_loss(loss)

///// end code
Other info / logs
same issue here : Missing argument in apply_gradients() in AdamW optimizer #1267

@sehamra
Can you please help us with the simple standalone code with proper indentation to reproduce the issue in our environment.It helps us in localizing the issue faster.Thanks!


Too many messages seem to slow server and client down

Are all these pointer messages slowing it down? And maybe all the nickname messages?

My internet was very terrible when I noticed this, but we should be able to work with bad internet I guess. The server also isn't great right now of course...

I did not notice the server slowing down yesterday, might just have been your internet

However, I do think it makes sense to rework the pointer movement messages into broadcast messages, instead of changing them in the state. This way there would be less computation necessary to update the entire state on the backend and frontend for each mouse move.

@jchmrt that makes sense, just bounce the message from the backend back to all the clients without updating state. Is that how you propose to fix the delay?
Furthermore i see a function setSimulationInterval (https://docs.colyseus.io/server/room/#setsimulationinterval-callback-milliseconds166) which we could maybe use to limit the amount of state updates, and handle smooth animations on client side?


Errors with initialising Hyperchain

I am trying to spin up hyperchains and have run into the following issues

getZkSolcPath deprecated : This was removed from @matterlabs/hardhat-zksync-solc here , but is still a dependency for the compile-yul script responsible for buidling the system contracts. As a result the compilation fails.
zksolc binary cannot write to -o: I have tried to bypass the issue above by downloading the latest zk-solc-bin, adding it to my path and hard coding the path in the script. However , it appears that the binary cannot find the output directories

 zksolc /home/ubuntu/zksync-era/etc/system-contracts/contracts/EventWriter.yul  --optimize 3 --system-mode --yul --bin --overwrite -o /home/ubuntu/zksync-era/etc/system-contracts/
No such file or directory (os error 2)

zksolc 1.3.14 cannot parse yul: When we drop the -o option, it seems like it is unable to parse yul.

zksolc /home/ubuntu/zksync-era/etc/system-contracts/contracts/EventWriter.yul
ParserError: Expected identifier but got 'StringLiteral'
 --> /home/ubuntu/zksync-era/etc/system-contracts/contracts/EventWriter.yul:7:8:
  |
7 | object "EventWriter" {
  |        ^^^^^^^^^^^^^

Error(s) found. Compilation aborted

Update: I was using 1.3.1 . I.3.14 compiles it .


NO_TRAFFIC_INTERVAL constant causes deployments to needlessly take at least a minute

We use AWS load balancer in front of envoy, which is used as a sidecar. Envoy proxies all external traffic into our local application.
When the application comes up for the first time, envoy waits 60 seconds between healthcheck attempts because of NO_TRAFFIC_INTERVAL constant, which is used in case there's no external traffic into the cluster.
However, there can be no external traffic at this point, as for it to come, the healthcheck needs to become healthy at least once.
What can we optimize to workaround this? Ideally, we'd like to be able to tune the NO_TRAFFIC_INTERVAL timeout ourselves to disable this behavior.
Here's the config we use, note the envoy.health_check http_filter that is the endpoint that is served to AWS load balancer.
  clusters:
    name: local_tomcat
    connect_timeout: 0.1s
    health_checks:
    - healthy_threshold: 2
      http_health_check:
        path: "/app/status"
      interval: 5s
      timeout: 5s
      unhealthy_threshold: 3
    hosts:
    - socket_address:
        address: <IP_ADDRESS>
        port_value: 8080
    lb_policy: LEAST_REQUEST
    type: STATIC
  listeners:
  - address:
      socket_address:
        address: <IP_ADDRESS>
        port_value: 9443
    filter_chains:
    - filters:
      - name: envoy.http_connection_manager
        config:
          http_filters:
            - name: envoy.health_check
              config:
                cluster_min_healthy_percentages:
                  local_tomcat:
                    value: 100
                endpoint: "/healthz"
                pass_through_mode: false
            - name: envoy.router
          route_config:
            name: localhost_proxy
            virtual_hosts:
            - domains: "*"
              name: localhost_proxy
              routes:
              - match:
                  prefix: "/"
                route:
                  cluster: local_tomcat
                  timeout: 60s

      tls_context: {...}
    name: localhost_proxy

@ikatson when Envoy initializes, it does a single HC pass, regardless of the no traffic interval, which should be able to quickly determine backend health. Can you make sure you are not seeing this behavior? If not there is a bug somewhere.

@mattklein123 we worked around it by starting envoy sidecar ONLY when the application has come up.
So essentially, the envoy script looks smth like.
until application_is_up; do
    sleep 1
done
exec envoy

So the issue is when the envoy starts up before the application, the first health check does not succeed, and the next one is only run 60 seconds after, which is too long

OK. The NO_TRAFFIC_INTERVAL stuff is kind of a hack. We should probably make it configurable. I'm switching this over to enhancement/help wanted.


Please add spectron testing

Would be awesome to see spectron testing example. https://www.electronjs.org/spectron

Agreed. This is unfortunately not something I can prioritize working on myself, but anyone feel free to have a look at what would be involved.


Add Support for ArduPilot Backend

Additional backend support for ArduPilot SITL, which is another trusted, versatile, and open source autopilot system.

arducopter_launch_tool.py
mavlink_backend.py: Remove hardcoded px4 references
Be able to choose the wanted autopilot

Hi, do you have the suggested file arducopter_launch_tool.py that you can commit through a pull request? If so, that would be a really nice addition.

Hello Marcelo,
I am willing to implement this feature, and submit a pull request, hopefully in this following month 😄

Hi @TomerTip, also super interested in adding this as a feature, any progress? I am willing to support as needed.
Also will this backend also be using mavlink or do you think a mavros implementation is reasonable? This could allow both PX4 and ardupilot to work with the same interface (with some topic alterations ofc).

Hi @TomerTip, also super interested in adding this as a feature, any progress? I am willing to support as needed.
Also will this backend also be using mavlink or do you think a mavros implementation is reasonable? This could allow both PX4 and ardupilot to work with the same interface (with some topic alterations ofc).

Hi,
Sorry guys, no progress yet from my side (life got in the way)...
Please feel free to start the development and hopefully we can join together to achieve it.
My opinion is we should first support Ardupilot backend with plain Mavlink.
Adding mavros support afterwards should be more trivial.

Ok got it, no worries :)
Instead of me blindly looking for which files to change/add for Ardupilot support, can you point me towards where the changes or additions need to be made? You don't need to necessarily tell me what to change, but just the files you think I should start taking a look at and I can ask you questions as needed.
My guess is to start from mavlink_backend.py

I will close this issue, because I don't have plans to support Ardupilot, and no pull request was opened adding support for this feature by an external contributor.


(BUG) Paddy works after uninstall - document is infested

We tried the plugin and its cool so far. Now the following issue is bugging us very very very much.
My colleague used paddy on her already existing symbols. She updated all her symbols after paddy asked her to.
Now ALL symbols behave like paddy makes it to - auto spacing after overriding text for example - but many symbols shouldnt rearrange like paddy makes it to. Now here is the real issue.
We uninstalled paddy and the file which got "enhanced" by paddy - still has the feature of paddy!
To be clear, paddy is uninstalled and it still works inside the symbols. This is irreversible! And terrible. Is this a known issue?
Can we fix the document somehow? It seems like paddy code is injected into the document - can we remove the code from the document somehow?
It is very important. Hope there is a fix somehow ...
Regards
Kevin
EDIT 01
Is this somehow possible as a non nerd?
https://medium.com/sketch-app-sources/what-does-the-open-sketch-file-format-really-mean-c02a882b6614
My thought is that the plugin itself is bound to the document - because it still runs while being uninstalled(!). We really need to get rid of it in our document :(

Thanks for reaching out @KBUID. I understand that this must be very frustrating.
There's a couple of things here:

"Is the document injected with Paddy?" No it isn't. Paddy works as like an overlay to your document – it just resizes elements taking into account how you've named them. But then nothing is embedded into the document itself around Paddy.

"Even after uninstalling the file is still 'enhanced' by Paddy." This one is extremely weird and concerning. The way Paddy is built, it should not behave like this. After you uninstalled it; your elements shouldn't auto-resize anymore. I have no idea why this is happening – perhaps a bug with Sketch. My only suggestion is restarting the Mac.

"Can we fix the document somehow?" I know this was 4 days ago now; so I'd be interested to see how you went with it. But the only suggestion I'd have is using 'Undo (CMD + Z).' Or if you have your file on dropbox somewhere you might be able to revert to a previous version. Or even try File > Revert to > Browse all versions... and pick a version to go back to.

The medium article you linked doesn't appear to be related.

Just to re-iterate; it is not possible for Paddy to 'infest' your document. Uninstalling it should resolve the problem. If it is still persisting; could you please provide a screen recording or something so I can understand the behaviour in more detail.

Sometimes you have to uninstall the plugin (any plugin) and restart Sketch before everything goes away. Auto Layout, for example, retains the appearance of Stacked Groups even after uninstalling the plugin. The Stacked Groups don't return to normal-looking groups until I restart Sketch.

Thanks for getting back at us. So we discovered after a reboot of sketch - it is now possible to place symbols which have not the usual paddy functionality. The plugin remained deinstalled but the symbols which were applied with paddy functionality still have the paddy behavior. We had to replace all the symbols which was a lot of work but it helped to get it back to normal...
Hope this helps someone in the future - thanks for all the replies.

@KBUID That's weird. I'm not sure why a symbol would still have 'Paddy' behaviour. Is it just how the resizing pins were set? See https://www.sketchapp.com/docs/layer-basics/constraints/ for more detail.


Foreach adapt

Adapt for_each in order to support for the begin and end iterators to be of different type

Can one of the admins verify this patch?

Should I use the is_sentinel_for trait too?

add to whitelist

Important Note: Please don't merge yet. Need to add a couple of doxygen comments.


ContentTemplate in Window does not work

Avalonia version: 0.10.6
Windows version: Windows 10
Source code:
<Style Selector="Window">
    <Setter Property="ExtendClientAreaToDecorationsHint" Value="True" />
    <Setter Property="ExtendClientAreaChromeHints" Value="NoChrome" />
	<Setter Property="ExtendClientAreaTitleBarHeightHint" Value="-1" />
	<Setter Property="ContentTemplate">
	    <Setter.Value>
		<DataTemplate>
		    <Grid>
		        <Grid.RowDefinitions>
		            <RowDefinition Height="Auto" />
		            <RowDefinition />
		        </Grid.RowDefinitions>
		        <Border Background="Red" Height="35" Width="100"/>
			<ContentControl Grid.Row="1" Content="{Binding}"/>
		     </Grid>
		</DataTemplate>
	</Setter.Value>
     </Setter>
</Style>

Effect:

Nothing seems to happen, even if I delete the ContentControl.

I believe it should be :is(Window) instead of Window, to match all types inherited from Window

I have changed my code, but nothing happened.
It's strange that if I create a clean project and apply the same style code to Window, it will take effect :

Here is code of my view:

I have removed my Styles from App.xaml:

What it looks like:

If anyone can provide some possible suggestions, I will try again.

We now have styles troubleshooting documentation page, which might help here.
Since it works in the new app, I assume there is something wrong with the app or styles definition order specifically.
https://docs.avaloniaui.net/docs/styling/troubleshooting


Issue 5,12,16

Hi, I'm using API and then merge these 3 issue together in one branch. so it's easy to merge.

Great work @adelablue !


fix: clang-format

Signed-off-by: kminoda<EMAIL_ADDRESS>Please refer to this issue: https://github.com/koide3/ndt_omp/issues/55
Run clang-format --dump-config to verify that the file is correctly modified (it will output error if the config is mal-formatted)

Thanks. I'll merge it soon.


[WIP] Scale to Zero with Reader/Writer Separation

Description
At high level

Add new setting to handle scale to zero.

Setting validation logic.

Routing table updates.

Handle Scale up.
Handle Scale down.

Health check changes.

For Overall Cluster.
For Specific Index
At shard level

[Will update with More PR Description shortly]
Check List

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Adding @mch2 to please go over the initial version, I will continue refining the code for cleanup and quality improvement, but I’ve raised the PR to gather feedback on the approach.
Thank you
@getsaurabh02 @vinaykpud


CLOUDSTACK-9101: fix some issues in resize volume

(1) fix issue: volume size is not updated even if the operation succeed
(2) Add ui support for root volume resize
(3) resize on qcow2 type ROOT volume of stopped vm does not really work
see https://issues.apache.org/jira/browse/CLOUDSTACK-9101

wrong branch


fails to install on win10

Hi,
I tried to install on windows 10 with ruby 2.2.5 and devkit, but it fails building native extension, do you have any suggestions?  (I already tried the beta with --pre but get the same error)
c:\ruby\DevKit-32-4.7.2-1151>ruby dk.rb install -f
[WARN] Updating (with backup) existing gem override for 'C:/ruby/ruby223-p173'
[WARN] Updating (with backup) DevKit helper library for 'C:/ruby/ruby223-p173'
[WARN] Updating (with backup) existing gem override for 'C:/ruby/ruby225-p319'
[WARN] Updating (with backup) DevKit helper library for 'C:/ruby/ruby225-p319'

c:\ruby\DevKit-32-4.7.2-1151>gem install debase
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing debase:
        ERROR: Failed to build gem native extension.

    current directory: c:/ruby/ruby225-p319/lib/ruby/gems/2.2.0/gems/debase-0.2.1/ext
c:/ruby/ruby225-p319/bin/ruby.exe -r ./siteconf20170127-7212-p3skit.rb extconf.rb
checking for vm_core.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=c:/ruby/ruby225-p319/bin/$(RUBY_BASE_NAME)
        --with-ruby-dir
        --without-ruby-dir
        --with-ruby-include
        --without-ruby-include=${ruby-dir}/include
        --with-ruby-lib
        --without-ruby-lib=${ruby-dir}/lib
c:/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
        from c:/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:587:in `try_cpp'
        from c:/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:1060:in `block in have_header'
        from c:/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:911:in `block in checking_for'
        from c:/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:351:in `block (2 levels) in postpone'
        from c:/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:321:in `open'
        from c:/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:351:in `block in postpone'
        from c:/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:321:in `open'
        from c:/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:347:in `postpone'
        from c:/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:910:in `checking_for'
        from c:/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:1059:in `have_header'
        from extconf.rb:31:in `block in <main>'
        from c:/ruby/ruby225-p319/lib/ruby/gems/2.2.0/gems/debase-ruby_core_source-0.9.6/lib/debase/ruby_core_source.rb:15:in `call'
        from c:/ruby/ruby225-p319/lib/ruby/gems/2.2.0/gems/debase-ruby_core_source-0.9.6/lib/debase/ruby_core_source.rb:15:in `create_makefile_with_core'
        from extconf.rb:47:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  c:/ruby/ruby225-p319/lib/ruby/gems/2.2.0/extensions/x86-mingw32/2.2.0/debase-0.2.1/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in c:/ruby/ruby225-p319/lib/ruby/gems/2.2.0/gems/debase-0.2.1 for inspection.
Results logged to c:/ruby/ruby225-p319/lib/ruby/gems/2.2.0/extensions/x86-mingw32/2.2.0/debase-0.2.1/gem_make.out

Contents of  mkmf.log:
"gcc -o conftest.exe -Ic:/ruby/ruby225-p319/include/ruby-2.2.0/i386-mingw32 -Ic:/ruby/ruby225-p319/include/ruby-2.2.0/ruby/backward -Ic:/ruby/ruby225-p319/include/ruby-2.2.0 -I. -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64   -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c  -L. -Lc:/ruby/ruby225-p319/lib -L.      -lmsvcrt-ruby220  -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi  "
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <winsock2.h>
4: #include <windows.h>
5: int main(int argc, char **argv)
6: {
7:   return 0;
8: }
/* end */

I also tried installing the gem debase-ruby_core_source first, but this did not help either.

@lumean please provide output of ruby -v

D:\>ruby -v
ruby 2.2.5p319 (2016-04-26 revision 54774) [i386-mingw32]

is there anything I can try on my side to further debug the issue? I have managed to manually create the make file and compile it on my machine, so in general the devkit installation should be fine.  Note the error I get when I try to manually create the makefile without -rdevkit is quite similar to the one I get above during gem install
D:\Anwendungen\ruby\ruby225-p319\lib\ruby\gems\2.2.0\gems\debase-0.2.1\ext>ruby extconf.rb
checking for vm_core.h... D:/Anwendungen/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
        from D:/Anwendungen/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:587:in `try_cpp'
        from D:/Anwendungen/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:1060:in `block in have_header'
        from D:/Anwendungen/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:911:in `block in checking_for'
        from D:/Anwendungen/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:351:in `block (2 levels) in postpone'
        from D:/Anwendungen/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:321:in `open'
        from D:/Anwendungen/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:351:in `block in postpone'
        from D:/Anwendungen/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:321:in `open'
        from D:/Anwendungen/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:347:in `postpone'
        from D:/Anwendungen/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:910:in `checking_for'
        from D:/Anwendungen/ruby/ruby225-p319/lib/ruby/2.2.0/mkmf.rb:1059:in `have_header'
        from extconf.rb:31:in `block in <main>'
        from D:/Anwendungen/ruby/ruby225-p319/lib/ruby/gems/2.2.0/gems/debase-ruby_core_source-0.9.6/lib/debase/ruby_core_source.rb:15:in `call'
        from D:/Anwendungen/ruby/ruby225-p319/lib/ruby/gems/2.2.0/gems/debase-ruby_core_source-0.9.6/lib/debase/ruby_core_source.rb:15:in `create_makefile_with_core'
        from extconf.rb:47:in `<main>'

D:\Anwendungen\ruby\ruby225-p319\lib\ruby\gems\2.2.0\gems\debase-0.2.1\ext>ruby -rdevkit extconf.rb
Temporarily enhancing PATH to include DevKit...
checking for vm_core.h... no
checking for vm_core.h... no
checking for vm_core.h... yes
creating Makefile
D:\Anwendungen\ruby\ruby225-p319\lib\ruby\gems\2.2.0\gems\debase-0.2.1\ext>"..\..\..\..\..\..\..\..\devkit-2.0.0+\devkitvars.bat"
Adding the DevKit to PATH...

D:\Anwendungen\ruby\ruby225-p319\lib\ruby\gems\2.2.0\gems\debase-0.2.1\ext>make
linking shared-object debase_internals.so

Maybe there is an issue with the environment variables. It seems like there's a chained invocation of ruby and the second time devkit is not anymore added to the path.
I'm using uru to manage different ruby versions and ruby is not by default installed to my PATH. But on the other hand many other native gem extensions (like json, nokogiri, etc) install just fine with the same setup.

We can close this issue. After adding ruby and devkit to the path the gem install works fine.

That's not true for me lumean, even doing what you said, debase can't get installed.

Yes, works fine here too with both msys2 and msvc++.


Package Control for Sublime Text 2/3 Requires Symlink

Package Control, a package for installing more packages for Sublime Text 2 and 3 looks for the SSL certificates in a specific place /etc/ssl/certs/ca-certificates.crt, whereas in NixOS it's in /etc/ssl/certs/ca-bundle.crt. Since many users of Sublime Text 2 and 3 install Package Control, it'd be nice if a proper symlink was put in place when installing either of these packages.

(triage) @Havvy still a problem?

I don't know, and it's non-trivial for me to test it.

Then we can close @jagajaga


Show DisplayName of in header

Would be useful if was possible to show the SPs DisplayName (from metadata) as "Title" in the header.
Quick mockup:

There is a bankid.ui.show-sp-message setting that enables an initial text, not in the header, but in the text.
We made the decision that this would be sufficient. If you want something else, please make a PR ...

Ok. We will have to discuss this further internally. Attaching a screenshot of the UI when bankid.ui.show-sp-message is set to true for reference.


tls inspector makes mysql connection using tcp proxy timeout

Hi, this is my first issue on envoy!
I am using envoy as a sidecar transparent proxy and I have set up a rule that adds an envoy.filters.network.tcp_proxy that allows a container running a mysql client in the pod to access a mysql server. I was also using this listener for outgoing HTTP connections using HCM, and now a change in requirements requires me to have the tls inspector filter enabled on this listener.
After making the configuration changes we discovered that the outgoing mysql connections that we previously had were not working correctly:
[2022-04-25 19:09:44.960][26][debug][filter] [source/extensions/filters/listener/original_dst/original_dst.cc:20] original_dst: new connection accepted
[2022-04-25 19:09:44.960][26][debug][filter] [source/extensions/filters/listener/tls_inspector/tls_inspector.cc:88] tls inspector: new connection accepted
[2022-04-25 19:09:45.013][1][debug][main] [source/server/server.cc:251] flushing stats
[2022-04-25 19:09:50.013][1][debug][main] [source/server/server.cc:251] flushing stats
[2022-04-25 19:09:55.013][1][debug][main] [source/server/server.cc:251] flushing stats
[2022-04-25 19:09:59.963][26][debug][conn_handler] [source/server/active_tcp_socket.cc:45] listener filter times out after 15000 ms
[2022-04-25 19:09:59.964][31][debug][filter] [source/extensions/filters/listener/original_dst/original_dst.cc:20] original_dst: new connection accepted
[2022-04-25 19:09:59.964][31][debug][filter] [source/extensions/filters/listener/tls_inspector/tls_inspector.cc:88] tls inspector: new connection accepted

This is an extract of a mini-lab (using envoy 1.22) we used to isolate the problem. We discovered a timeout after 15000ms on the mysql connection. This timeout does not occur if the tls inspector listener filter is not used.
I looked around for any similar issues and found a few:

An issue on aws app-mesh roadmap
An issue that seems to have been fixed long ago but describes a problem that looks similar to mine

In this last issue, the problem was that mysql starts sending data to the client first. It seems to me that this is what's happening here, or something similar.
Simplified config that reproduces this:
admin:
  address:
    socket_address:
      address: <IP_ADDRESS>
      port_value: 12345
static_resources:
  listeners:
  - address:
      socket_address:
        address: <IP_ADDRESS>
        port_value: 10000
    listener_filters:
    - name: "envoy.filters.listener.tls_inspector"
      typed_config:
        "@type": type.googleapis.com/envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector
    filter_chains:
    - filter_chain_match:
      filters:
      - name: envoy.filters.network.tcp_proxy
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.tcp_proxy.v3.TcpProxy
          cluster: mysql
          stat_prefix: mysql

  clusters:
  - name: mysql
    type: STRICT_DNS
    lb_policy: ROUND_ROBIN
    load_assignment:
      cluster_name: mysql
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: mysql
                port_value: 3306

I'm creating this as a bug, but the thing is, I'm not sure if tls inspector should be working for this particular use case or not...Any input is appreciated, thanks.

I hadn't noticed the continue_on_listener_filters_timeout option at all. I'll try out the filter disabled option to see if I can make it match correctly, thank you!

it definitely works without tls_inspector but in that case I had to use %DOWNSTREAM_LOCAL_ADDRESS% in my tunneling_config to make this work. But would be nicer to get it to work with the reqested_server_name


Completion is broken typing a property in a @code block without automatic brace completion

Originally posted by @michaelcsikos in https://github.com/dotnet/razor/issues/4336#issuecomment-1363443398
Here's another thing that drives me nuts. Declaring a simple auto property with literally nothing else in the razor file. It makes no difference if the [Parameter] attribute is in-line or on the line above. I type get; and on the ; keystroke VS changes it to GetHashCode; so I hit Ctrl + Z 3 times then type set; and again on the ; keystroke VS changes it to SetParamatersAsync; requiring another Ctrl + Z.

Pressing escape before typing ; closes the Intellisense menu which prevents the change to GetHashCode or SetParamatersAsync but it doesn't stop VS from moving the get; to the next line.
This is not complicated code — it's about as simple as it gets. And Visual Studio royally stuffs it up. This is the entire file:

@code
{
    [Parameter] public string ToolTip { get; set; }

}

VS needs to get out of our way.  I feel like VS has gotten worse with every new release since 2013, or maybe even 2010.

@333fred is this an error recovery issue? Without the closing brace on the property decl, the generated document is putting that line (line 5 in the GIF above) inside the BuildRenderTree method, so Roslyn completion is confused.

Seems like the code gen should always be promoting anything after @code { to the class level, irrespective of closing braces.

@davidwengier I now have the long-awaited 17.6.0 installed which is supposed to resolve Add option to turn off On Type formatting. I have set Options > Text Editor > Razor (ASP.NET Core) > Advanced > Format On Type to False.
Was this supposed to resolve the unwanted format on paste, too? This is by far my biggest annoyance.

@michaelcsikos sadly no, format on paste is outside of our control and happens at a higher level in the IDE. We are pushing for the right team to add an option for it however.


Colorize notes not working. Availability on other websites using ABCjs

Hi. First of all, blown away by your work, both the concept and the implementation.
I started to tinker with it, including showcasing it in VR https://twitter.com/utopiah/status/1626972965731442688 but as mentioned in https://twitter.com/utopiah/status/1627611793748070406 somehow the notes remain black & white for me.
Also is it possible to colorize any website featuring ABCjs content and if so how?

HI! Glad you find Chromatone useful!
ABCjs implementation is a bit obscure for me as a Vue developer. And by default there are no specific classes on the notes in the SVG format. Like if we could have something class="G#5" for every rendered note, colorizing it can be done with just some CSS styles.
I couldn't make ABCjs embed such classes yet... And we don't have a browser plugin yet too 😅

Thanks for the clarification.
I'm tinkering with the SVG directly and using [...[...document.querySelectorAll("[data-name=note]")][0].children].filter(e => e.getAttribute("data-name")?.match(/[_^]?[a-gA-G]{1}$/)).map(n => n.setAttribute("fill", notes[n.getAttribute("data-name").toUpperCase()] ) ) I'm getting something.
I might do a Tridactyl autocmd looking for SVG generated by ABCjs so if I get anything useful going I'll share back here.

[...document.querySelectorAll("[data-name=note]")].map( n => [...n.children].filter(e => e.getAttribute("data-name")?.match(/[_^]?[a-gA-G]{1}$/))
	.map(n => {n.setAttribute("fill", notes[n.getAttribute("data-name").toUpperCase().replace(/\^([A-G])/,"$1#").replace("=","")] );
		let notesarray = [...Object.getOwnPropertyNames(notes)];
    if ( n.getAttribute("data-name")[0]=="_") n.setAttribute("fill", notes[ notesarray[ [...Object.getOwnPropertyNames(notes),"C"].indexOf( n.getAttribute("data-name").toUpperCase().slice(-1) ) -1 ] ] )
	} )
)

Great job! Looks a bit hacky though. Will explore this later. Somewhat busy releasing the 2.0 version with deep refactoring under the hood.


fix bug -- The Compose text and Messages should be hidden if the user doesnt SMS…

Coverage remained the same at 1.523% when pulling 92bd4995a8befcf84e5eebc778106ab27be694d7 on caffffe:bugfix-hide-composeText into 1c35618bf9ea76cb81c603755015f4e4ca85582f on ringcentral:master.

Coverage decreased (-0.2%) to 1.319% when pulling 9026f754c911066484a2671843bc459f40192fdf on caffffe:bugfix-hide-composeText into 1c35618bf9ea76cb81c603755015f4e4ca85582f on ringcentral:master.

Coverage decreased (-0.009%) to 1.514% when pulling 16588fe08084a7fb781c1240da9d2d66495e5773 on caffffe:bugfix-hide-composeText into 1c35618bf9ea76cb81c603755015f4e4ca85582f on ringcentral:master.

Coverage decreased (-0.2%) to 1.336% when pulling a298ef1f129e4009f3d848b60c5c3310f50d1d5a on caffffe:bugfix-hide-composeText into 1c35618bf9ea76cb81c603755015f4e4ca85582f on ringcentral:master.


Upgrade to Log4j2 2.23.0

<EMAIL_ADDRESS>

Meanwhile there is Log4j2 version 2.23.1.