EncryptDecryptRoundTrip(RSA-OAEP) failed on macOS on netcoreapp2.1

This isn't a new test, though recently some updates were made to related code. It may be a fluke and I'm working with the service team using the x-ms-request-id buried elsewhere in the logs.
Azure.RequestFailedException : Error occurred while decoding OAEP padding.
Status: 400 (Bad Request)
ErrorCode: BadParameter

Content:
{"error":{"code":"BadParameter","message":"Error occurred while decoding OAEP padding."}}

Headers:
Cache-Control: no-cache
Pragma: no-cache
x-ms-keyvault-region: westus2
x-ms-request-id: REDACTED
x-ms-keyvault-service-version: <IP_ADDRESS>
x-ms-keyvault-network-info: conn_type=Ipv4;addr=<IP_ADDRESS>;act_addr_fam=InterNetwork;
X-Powered-By: REDACTED
Strict-Transport-Security: REDACTED
X-Content-Type-Options: REDACTED
Date: Tue, 23 Feb 2021 11:43:45 GMT
Content-Length: 89
Content-Type: application/json; charset=utf-8
Expires: -1

Stack trace
   at Azure.Security.KeyVault.KeyVaultPipeline.SendRequestAsync(Request request, CancellationToken cancellationToken) in /_/sdk/keyvault/Azure.Security.KeyVault.Shared/src/KeyVaultPipeline.cs:line 266
   at Azure.Security.KeyVault.KeyVaultPipeline.SendRequestAsync[TContent,TResult](RequestMethod method, TContent content, Func`1 resultFactory, CancellationToken cancellationToken, String[] path) in /_/sdk/keyvault/Azure.Security.KeyVault.Shared/src/KeyVaultPipeline.cs:line 177
   at Azure.Security.KeyVault.Keys.Cryptography.RemoteCryptographyClient.DecryptAsync(DecryptParameters parameters, CancellationToken cancellationToken) in /_/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/RemoteCryptographyClient.cs:line 94
   at Azure.Security.KeyVault.Keys.Cryptography.RemoteCryptographyClient.Azure.Security.KeyVault.Keys.Cryptography.ICryptographyProvider.DecryptAsync(DecryptParameters parameters, CancellationToken cancellationToken) in /_/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/RemoteCryptographyClient.cs:line 354
   at Azure.Security.KeyVault.Keys.Cryptography.CryptographyClient.DecryptAsync(DecryptParameters parameters, CancellationToken cancellationToken) in /_/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/CryptographyClient.cs:line 397
   at Azure.Security.KeyVault.Keys.Cryptography.CryptographyClient.DecryptAsync(EncryptionAlgorithm algorithm, Byte[] ciphertext, CancellationToken cancellationToken) in /_/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/CryptographyClient.cs:line 344
   at Azure.Core.TestFramework.DiagnosticScopeValidatingInterceptor.<>c__DisplayClass2_0`1.<<AwaitAndValidateDiagnosticScope>b__0>d.MoveNext() in /Users/runner/work/1/s/sdk/core/Azure.Core.TestFramework/src/DiagnosticScopeValidatingInterceptor.cs:line 64
--- End of stack trace from previous location where exception was thrown ---
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at Azure.Core.TestFramework.DiagnosticScopeValidatingInterceptor.ValidateDiagnosticScope[T](Func`1 action, String expectedName, String methodName, Boolean strict) in /Users/runner/work/1/s/sdk/core/Azure.Core.TestFramework/src/DiagnosticScopeValidatingInterceptor.cs:line 112
   at Azure.Security.KeyVault.Keys.Tests.CryptographyClientLiveTests.EncryptDecryptRoundTrip(EncryptionAlgorithm algorithm) in /Users/runner/work/1/s/sdk/keyvault/Azure.Security.KeyVault.Keys/tests/CryptographyClientLiveTests.cs:line 60
   at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
   at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func`1 invoke)
   at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.<>c__DisplayClass1_0.<Execute>b__0()
   at NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)

Haven't seen this fail since. Will keep an eye on it.


Upgrade lazy_static to 0.2.x

@bors-servo r+

:pushpin: Commit 810c620 has been approved by KiChjang

:zap: Test exempted - status


Point Cloud Sandcastle Example Loads Point Clouds Under the Terrain

Using this example
https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/?src=3D Tiles Point Cloud.html
If a terrain is added, the 3D Tile Point cloud is not clamped to the terrain.
Is there a setting we need to configure to clamp point clouds to terrain models, or is this a known issue?
Note, using the NYC 3D building models (b3dm) with terrain works fine.

Hello @bbehling-trimble,  3D Tiles is not terrain aware, so setting the height to match terrain either has to be baked in to the tileset during processing, or can be adjusted using the modelMatrix at runtime.
You can see this example for adjusting the tileset height using a modelMatrix: https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/?src=3D Tiles Adjust Height.html&label=3D Tiles
If you are using Cesium ion on cesium.com, we recently added a tileset location tool that lets you move the 3D tiles tileset and save the new location so it is set correctly when you stream your tileset from ion to your CesiumJS applications.  To open the tool, select the asset you wish to adjust from the list of assets, then click the Adjust Tileset Location button above the preview window on the right side of the screen.

Hi @hpinkos
I tried the example you sent. I tried loading the church 3D TileSet with terrain
var tileset = new Cesium.Cesium3DTileset({ url: Cesium.IonResource.fromAssetId(5714) });
Trying different height values, including 5000, the 3d Tileset is still rendered below the terrain.
Do you why this is still happening when setting the Tile Set's Model Matrix property?

Hi @bbehling-trimble,
Sorry, I forgot that particular sample church tileset was generated before we made some updates to our point cloud tiling pipeline and cannot be positioned using the model matrix method.  However, this method will work for all point cloud tilesets generated with the current version of our ion point cloud tiler.  I'll make a note to update our sample point cloud model.

@bbehling-trimble I'm sorry, I was mistaken.  I had written my sample code incorrectly.  You can see an example of how to change the church point cloud height using a modelMatrix in this Sandcastle example.
Hope this helps!

@hpinkos What was changed from the previous example? Other loading a new tile set, it looks to be the same code.

@bbehling-trimble yes, it is using the same method to reposition the tileset as the first Sandcastle demo I linked you too

@hpinkos Do you re-run the church tileset through the new CLI?

@bbehling-trimble no, that is using the same church tileset.
Here's an example for positioning it direction on terrain without using the slider.  The height of the terrain at that location is approximately 413 meters.
var viewer = new Cesium.Viewer('cesiumContainer', {
    terrainProvider: Cesium.createWorldTerrain()
});

viewer.scene.globe.depthTestAgainstTerrain = true;

var tileset = new Cesium.Cesium3DTileset({
    url: Cesium.IonResource.fromAssetId(5714),
    maximumScreenSpaceError : 1024
});

tileset.readyPromise.then(function(tileset) {
    var cartographic = Cesium.Cartographic.fromCartesian(tileset.boundingSphere.center);
    var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0);
    var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 413.0);
    var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());
    tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);

    viewer.scene.primitives.add(tileset);
    viewer.zoomTo(tileset, new Cesium.HeadingPitchRange(0.0, -0.5, tileset.boundingSphere.radius * 2.0));
}).otherwise(function(error) {
    console.log(error);
});


[5.8] Add support for schemas in SqlServer grammar

Benefit to end user
At this moment it is not get the column listing for a table in a schema different from the default schema. (e.g. test.Users)
It is also not possible to check if a table in a different schema exists.
Both the compileTableExists() andcompileColumnListing() functions only check for object name and not for the schema.
Contents of this pull request
This pull requests adds checks for the schema name in the compileTableExists() and
compileColumnListing() functions.
The available schemas can be defined in the database configuration.
This is all consistent with the PostgresGrammar and PostgresBuilder.
The default schema is gathered from the database by using
select SCHEMA_NAME()

Which is available since SQL Server 2008.
See https://docs.microsoft.com/en-us/sql/t-sql/functions/schema-name-transact-sql?view=sql-server-2017
Breaking
This PR is breaking as it removes the table parameter from a public function:
    public function compileColumnListing($table)

This is done for consistency reasons with the PostgresGrammar.
This PR could also be done in a non-breaking fashion by adding $schema as an optional parameter and either fetching the default schema there or checking for the schema if the parameter is not passed.
    public function compileColumnListing($table, $schema = null)
    ...

Changed target branch to master as PR contains breaking changes.

Corrected the target to 5.8.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.

@taylorotwell
Consider checking for 2 table names that are the same but have a different schema:
class CreateExistingFooTable extends Migration {
	public function up()
	{
		Schema::create('existing.Foo', function(Blueprint $table)
		{
			$table->string('foo', 50)->default('');
		});
	}
}

When checking for the existence of the Foo table on 2 different schemas, at this moment both schemas would return true.
$schema = $this->getConnection()->getSchemaBuilder();

$existing = $schema->hasTable('existing.Foo'); // true
$nonExisting = $schema->hasTable('nonExisting.Foo'); // true

Which is a bug (if Laravel is supposed to support schemas), or a feature (if schemas are not supported).
Schemas are a basic functionality of SQL Server, so I'd vote for bug :)

@thijsvdanker @GrahamCampbell please don't change the branch like this. There's currently a bug with changing base branches in Github: https://github.com/laravel/framework/pull/27099


Remove unused administrative code

All types should come from the libc crate, which has extensive
testing on its types, so this isn't necessary anymore. Additionally
there were no docs on this test suite and it was unmaintained. Remove
it to reduce confusion.

This test suite was also not run in CI as part of our test suite.

I also pushed a commit to remove deploy.sh, which is unused as far as I could tell. https://docs.rs should be doing all our documentation generation now, so let's rely on them and not have custom scripts.

Don't forget to also remove nix-test from the main Cargo.toml.  That's why buildbot failed.

@asomers Thanks! I thought it was weird builbot failed on this. I did search for nix-test, but looks like I missed Cargo.toml.

Hmmm, it actually seems like nix-test was used for a few things within src/. It appears that there was a lot of validating the sizes of datatypes and values of constants. These are things that should be handled by libc primarily. I think we can remove all this test code, but I'll need to look into this a bit more.

This is turning out to be more complicated than I thought, so I'm going to close this as it's not urgent and I won't be finishing it any time soon.


Added support for more options available in the getMonitors API Methods

Added support for more options available in the getMonitors API Methods. It now allows to return the logs, the response times and the custom uptime ratio. It won't break the old implementation as all the new options are optional like in the API documentation.
e.g.:
>>> from uptimerobot.uptimerobot import UptimeRobot
>>> up = UptimeRobot(UPTIME_ROBOT_API_KEY)
>>> up.getMonitors(logs=1, response_times=1, uptime_ratio='1-7-30')

Thanks @drivard !

@philippeowagner is it possible to publish the changes on pypi please?

Sure @dorivard , you find the update here.


Working with ERP (tutorial)

Hi Marijn!
I'm trying to run and understand the Tutorial "Loading EEG data and plotting an ERP", but I don't have the mentioned database (tutorial1-01.mat). Could you please share it with me?
Seems that It's necessarry for local (hard-drive) tests. Thank you!

https://www.dropbox.com/s/c3iwvcy12e98p58/tutorial1-01.mat?dl=0


Make usages of Redis resilient to absence of Redis

Fixes

Fixes #3385 by @AetherUnbound
Description

This PR

moves cache settings into a separate settings file
removes configs for unused and redundant Redis caches
updates cache usages to work normally (or slightly sub-par) when Redis cannot be found
writes logs with the calls made to Redis so that those events are not lost
updates tests to validate the emitted logs when Redis is inaccessible

Testing Instructions

All changes have accompanying CI tests. Additionally, you can try to use the API with the Redis service stopped and see that things still work normally.
Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[x] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.
[ ] I ran the DAG documentation generator (if applicable).

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

None of the data is technically critical, and I don't think we could realistically back-fill it from logs if it was anyway, right?

I only wrote that info to the logs to be safe incase we did need it for some debugging or monitoring later. Backfilling it was not a goal, and none of the cached info seems serious enough to be considered critical, except for two, which are severely impacted by the lack of a cache:

throttling which gets disabled
dead link masking which makes several times more API calls

Would it make sense to remove the logged data (but keep the error log line) for the non-critical cases?
Those two you mentioned are definitely the most interesting ones. Throttling is probably fine to skip without issue for a temporary Redis outage; like it's even something I wouldn't consider an error in itself. The error there is Redis's inaccessibility, not an issue with throttling. For a search request we'd get several essentially duplicate log lines, one from each failed throttle class, and then at least a couple more from the search itself (dead link mask and cache, and the tallies).
I agree some of those are critical, I'm just not sure why the right monitoring choice is error-level log lines with unusable data, rather than adding monitoring to check if Redis is unavailable generally.
The reality is that even if Redis were out for 5 seconds, our services would be fine: they've survived for a long time without throttling working at all, and after it came back, the dead link cache would start working again and we would see a big reduction.
But if that isn't fine, if it's such a bad case that it's really an error-level log (meaning we cannot function without it), then we should have some redundancy in place, like deploying a new redis instance, porting data over to it, then moving our API to use that one instead. My concern is that error-level logging, with the data itself logged, for something we know will happen for a short period of time, but then otherwise should never happen, is getting error-logged but without any kind of visibility.
For non-critical uses of Redis, uses where the request would just take longer, or non-critical features can't work, then it seems like something that is safe to ignore in the API code, assuming we have another way of monitoring an outage-level issue with Redis. Individual monitoring points with error-level logging of Redis connection errors in the API at most duplicates the Redis-specific monitoring without giving any new information. If these logs went off, we'd just know Redis is out for a while. If it was out for a long while, we'd have much bigger issues than trying to back fill the data, much of which we can technically operate without in a pinch.
Anyway, just wondering what the error-level logs gets us in any of these cases, if a temporary Redis connection error is something we can deal with (it isn't catastrophic), and if a larger-scale Redis issue would be better monitored using a direct monitor of Redis rather than these indirect and disperate monitors. I don't have any strong answers here and my brain is quite foggy, just something worth thinking about and having a clear answer for so we know what these error logs mean from an actionability/monitoring perspective.


Available operator

in a similar scenario that #404, sometimes some elements of a sequence can not be access, but we must do something with all avaible elements.
scenario :
foreach (var element in source) // if some element can not be reach, we must skip it
{
       // do something with element
}

example of error :
Enumerable.Range(1, 10).Select(x =>
{
    if (x % 5 == 0)
        throw new InvalidOperationException();
    else
        return x;
}).ForEach(p => Console.WriteLine(p));

here we can not access elements 5 and 10, but the others can be printed.
So I propose a new operator that do this handling and return a sequence with all avaible elements.
Propose signature:
public static IEnumerable<T> Available<T>(this IEnumerable<T> source)

example of usage:
Enumerable.Range(1, 10).Select(x =>
{
    if (x % 5 == 0)
        throw new InvalidOperationException();
    else
        return x;
})
.Available()
.ForEach(Console.WriteLine);

now all elements except 5 and 10 are printed.
Draft:
public static IEnumerable<T> Available<T>(this IEnumerable<T> source)
{
    if (source == null) throw new ArgumentNullException(nameof(source));

    var e = source.GetEnumerator();
    bool hasValue;
    bool dispose = false;

    while (true)
    {
        hasValue = true;
        try
        {
            if (!e.MoveNext())
            {
                e.Dispose();
                dispose = true;
            }
        }
        catch
        {
            hasValue = false;
        }

        if (dispose)
            yield break;

        if (hasValue)
            yield return e.Current;
    }
}

I would like to submit a PR for this. What do you think?
PS: the operator name is not defined yet;

Generally speaking, I don't think exceptions should be dealt with exceptionally. They should be part of the query:
var xs =
    from x in Enumerable.Range(1, 10)
    select (Item: x, Error: x % 5 == 0 ? new InvalidOperationException() : null) into r
    where r.Error == null
    select r.Item;

q.ForEach(x => Console.WriteLine(x));

However, I can imagine that if the exception is thrown by some third-party code that's not under your control then such an operator can be useful.
I would call it IgnoreErrors but it should allow you to specify the specific errors to ignore, e.g.:
public static IEnumerable<T> IgnoreErrors<T, TException>(
    this IEnumerable<T> source,
    Func<T, TException, bool> errorPredicate) { /* ... */ }

public static IEnumerable<T> IgnoreErrors<T, TException1, TException2>(
    this IEnumerable<T> source,
    Func<T, TException1, bool> error1Predicate,
    Func<T, TException2, bool> error2Predicate) { /* ... */ }

public static IEnumerable<T> IgnoreErrors<T, TException1, TException2, TException3>(
    this IEnumerable<T> source,
    Func<T, TException1, bool> error1Predicate,
    Func<T, TException2, bool> error2Predicate,
    Func<T, TException3, bool> error2Predicate) { /* ... */ }

Up to 3 exception types should be sufficient.

However, I can imagine that if the exception is thrown by some third-party code that's not under your control then such an operator can be useful.

Exactly.

I would call it IgnoreErrors but it should allow you to specify the specific errors to ignore, e.g.:

We can not pass a T for predicate because the element are inaccessible or could not be projected (and therefore dont exist).
That said, I think a better signature would be the following:
public static IEnumerable<T> IgnoreErrors<T>(
    this IEnumerable<T> source,
    Action<Exception> exceptionHandler)

public static IEnumerable<TResult> IgnoreErrors<TSource, TResult>(
    this IEnumerable<TSource> source,
    Func<TSource, Exception, TResult> selector)

We can not pass a T for predicate because the element are inaccessible or could not be projected (and therefore dont exist).

Sorry, that was a mistake. You are correct and what I meant what this:
public static IEnumerable<T> IgnoreErrors<T, TException>(
    this IEnumerable<T> source,
    Func<TException, bool> errorPredicate) { /* ... */ }

public static IEnumerable<T> IgnoreErrors<T, TException1, TException2>(
    this IEnumerable<T> source,
    Func<TException1, bool> error1Predicate,
    Func<TException2, bool> error2Predicate) { /* ... */ }

public static IEnumerable<T> IgnoreErrors<T, TException1, TException2, TException3>(
    this IEnumerable<T> source,
    Func<TException1, bool> error1Predicate,
    Func<TException2, bool> error2Predicate,
    Func<TException3, bool> error2Predicate) { /* ... */ }

Why an action for exceptionHandler? It implies a side-effect, which should be avoided if it can be helped. What if the exception type is not good enough? The predicate-based signatures are open to more scenarios. For example, you have a WebException and you want to filter further on its Status.
Both overloads you propose are hard to reason about when you look at the name of the method or what it's intended to do, which is ignore errors. The predicates-based overloads allow the user to say which errors should be ignored.

Both overloads you propose are hard to reason about when you look at the name of the method or what it's intended to do, which is ignore errors.

At this first moment I am not worried about the method name, but about its behavior. What I really want/need is a method that give to user the control of the situation. that is, give me all the available elements, and for those which could not be processed, tell me what happens. The second operator i suggest give me this.

Why an action for exceptionHandler?

for the first overload I thought something like Pipe:
var availableElements= elements.Available(ex =>
{
   if (ex is WebException) // do something
   else if (ex is ArgumentException) // do something else
   //others types of excception ignore
});

However I think my second overload is the most powerfull, as the following example:
sequence
    .Available((item, exception) => new { item, exception })
    .ForEach((x, index) =>
    {
        if (x.exception == null)
            Console.WriteLine($"index {index} give me {x.item}");
        else
            Console.WriteLine($"index {index} throws an {x.exception.GetType().Name}");
    });

outputs:
index 0 give me 1
index 1 give me 2
index 2 give me 3
index 3 give me 4
index 4 throws an InvalidOperationException
index 5 give me 6
index 6 give me 7
index 7 give me 8
index 8 give me 9
index 9 throws an InvalidOperationException

if one is not worried about exceptions, they can be skipped simply.
sequence
   .Available(ValueTuple.Create)
   .Where(x => x.Item2 == null)
   .Select(x => x.Item1);

At this first moment I am not worried about the method name, but about its behavior.

In API design, the method name can bring a lot clarity but about behavior. For example, whenever I've had a hard time coming up with a good name, I realize that the method is perhaps doing too much and needs to be broken down into smaller parts, each of which is then easier to name more meaningfully.

However I think my second overload is the most "powerfull" and versatile, as the following example:

Your second overload? I think you only proposed one for Available. I'm confused now.
I'm convinced that what you're asking here too is accomplished simply by a simple filter (Where)
over SelectWithError as I suggested in #404.

In API design, the method name can bring a lot clarity but about behavior. For example, whenever I've had a hard time coming up with a good name, I realize that the method is perhaps doing too much and needs to be broken down into smaller parts, each of which is then easier to name more meaningfully.

I agree.

Your second overload? I think you only proposed one for Available. I'm confused now.

Here is the second overload.

I'm convinced that what you're asking here too is accomplished simply by a simple filter (Where)
over SelectWithError as I suggested in #404.

SelectWithError is great, but remember it uses source.Select, that is, there is not a try catch on the source's enumerator MoveNext call. So in my example of usage, it would break the enumeration. Also, beside the Func<T, Exception, TResult> selector, should have on without the T argument, since it could not be projected. Adding this two changes, I think we can deal with all error scenarios.
I would like submit a PR for this. What do you think?

but remember it uses source.Select, that is, there is not a try catch on the source's enumerator MoveNext call

True but it was just a quick prototype. I was more concerned with API design and signature than implementation correctness at this stage.

second overload:
public static IEnumerable<TResult> IgnoreErrors<TSource, TResult>(
    this IEnumerable<TSource> source,
    Func<TSource, Exception, TResult> selector)

in the second signature, either a TSource  or Exception will be passed to selector. Never both at the same time.
I would like submit a PR for this. What do you think?

I don't think we're ready with this yet and needs more discussion on the following items:

The name does not match what it does; it's not just ignoring errors anymore
It handles all exceptions; there's no way to say which ones should be ignored
There should be separate selectors for the success and error case

What about this signature?
        public static IEnumerable<TResult> Available<TSource, TResult>(
            this IEnumerable<TSource> source,
            Func<TSource, TResult> elementSelector,
            Func<Exception, TResult> exceptionSelector,
            Func<Exception, bool> errorPredicate)

closed unintentionally.

@atifaziz What about this signature? I think it is okay with the items you pointed.
public static IEnumerable<TResult> Acquire<TSource, TResult>(this
    IEnumerable<TSource> source,
    Func<TSource, TResult> elementSelector,
    Func<Exception, TResult> exceptionSelector,
    Func<Exception, bool> errorPredicate)

We can add the method that ignore errors as a new operator implemented based on the above.
public static IEnumerable<T> IgnoreErrors<T>(this IEnumerable<T> source)
{
    return source.Acquire(x => (Item: x, Error: (Exception) null),
                                        e => (Item: default(T), Error: e),
                                        e => false)
                 .Where(t => t.Error == null)
                 .Select(t => t.Item);
}

@atifaziz How about the above comment?

This is still unaddressed:

It handles all exceptions; there's no way to say which ones should be ignored

There's a predicate where user say which ones should throw.

Right, but I meant in terms of exception types, like shown earlier:
public static IEnumerable<T> IgnoreErrors<T, TException1, TException2>(
    this IEnumerable<T> source,
    Func<TException1, bool> error1Predicate,
    Func<TException2, bool> error2Predicate)
    where TException1 : Exception
    where TException2 : Exception
    { /* ... */ }

So yes, while the predicate is there, your signature requires catching any type of exception, which is something I believe should be avoided. If the predicate is just handed the base Exception type then down-casting will be required if the predicate depends on some value on a specific exception type (like WebException.Status to illustrate one example). In the above case, each predicate will naturally deal with the exception type it is designed for.

I think maybe we can reach a consensus more easily if we separete the proposals. Let's discuss IgnoreErrors in another thread/issue and new Acquire overload in this one. The proposal Acquire overload are okay for you? or your previous comment applies to it too?

I thought they were one and the same, all stemming from discussion of the original proposal? May be they are forks of different ideas? I'm confused where we are headed with this now. 😕

I am interested in the new Acquire overload proposed here. Acquire permissive and IgnoreErrors and differents ideas. Let's discuss Acquire overload first,

Okay, the name needs some thought. Apart from that, I still find exceptions should be handled like proposed for IgnoreErrors.

your signature requires catching any type of exception, which is something I believe should be avoided

why?
I think the order that exceptions will be catch is not obvious when we have a predicate for each exception type.

why?

Forcing the practice of catch-all exceptions when it can be avoided.

I also think the order that exceptions will be catch is not obvious when we have a predicate for each exception type.

It should be obvious that they are caught in order: TException1, TException2, etc. This would be no different than writing out the catch blocks yourself.

It should be obvious that they are caught in order: TException1, TException2, etc. This would be no different than writing out the catch blocks yourself.

I see. We can add a remark for this.

Forcing the practice of catch-all exceptions when it can be avoided.

Make sense. We can follow this way for me at all.
Any other point before I open the PR?

Any other point before I open the PR @atifaziz ?

Name and signature, and I still can't say off the top of my head what this does. :grimacing:

I was thinking about operators design and thought this:

the objective of the first proposed method (one we are calling as Acquire)  is acquire unconditionally all avaible elements of a sequence, even If some MoveNext throws. So API should be

static IEnumerable<TResult> Acquire<TSource, TResult>(this
    IEnumerable<TSource> source,
    Func<TSource, TResult> elementSelector,
    Func<Exception, TResult> exceptionSelector)

the objective of the Second proposed method (one we are calling as IgnoreErrors)  is ignore (some cases of) errors. So API should be:

static IEnumerable<T> IgnoreErrors<T, TException1, TException2>(
    this IEnumerable<T> source,
    Func<TException1, bool> error1Predicate,
    Func<TException2, bool> error2Predicate)
    where TException1 : Exception
    where TException2 : Exception
    { /* ... */ }

Makes sense to you @atifaziz?

@atifaziz?

I see that Rambda library have a function bit similar to item 1, called TryCatch (which is a good name at all): https://bitsrc.io/bit/ramda/utils/try-catch?version=1.0.0

Closing on the assumption that #515 supersedes this.


PatInv: Line no 484 install_USE.sh and install Universal sentence encoder before running the code below

where to find install_USE.sh to install Universal sentence encoder

Thanks for reporting this! We have fixed this by adding back the UseSimilarity class
https://github.com/RobustNLP/TestTranslation/blob/8e0d7f426fa4d6d087d988da7a93df9644fb894e/code/PatInv/PatInv.py#L29
Please kindly take a look to see whether it works now.


feat: dropdown action

Please check if the PR fulfills these requirements

[x] The commit(s) message(s) follows our guidelines
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[ ] Other... Please describe:

What is the current behavior? (You can also link to an open issue here)
There is no way to add a dropdown in the actions list
What is the new behavior?
Add a ActionDropdown component.
Externalize custom tooltip into a component (TooltipTrigger)
Does this PR introduce a breaking change?

[ ] Yes
[x] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:

two lint warn on Warning: Failed prop type: The prop id is required to make Dropdown accessible for users of assistive technologies such as screen readers.

Fixed the warnings in unit tests

I get a text-decoration: underline; when mouse is over the action dropdown. Is it wanted?

@charlesnguyen the text-decoration on btn-link is set by the bootstrap theme. If needed, I think the change should be done in the theme.


Add Python Land and Ursina Engine

Hi, there! I'm Danix, a Python developer. Sorry if my english is bad, but i only speak spanish. I viewed Awesome Python in Education, thanks to the GitHub recomendations, and, like others, i wanted to contribute. For my contribution i added Python Land, a Python community (that appears to be alone), with a really good Python tutorial. Also, i added Ursina Engine, a Panda3D based engine that is configured to be (and it's) really easy-to-use. Well that is my contribution! I know it's not much but i added things that are tested, by me and other persons. Well, i hope Awesome Python in Education accept it!

Ursina project URL doesn't work. You should add www.

Ursina project URL doesn't work. You should add www.

Ok, i will fix it... now!

Ursina project URL doesn't work. You should add www.

Ok, it's now fixed.

Thanks! 🍰  🐍

Thanks!

Thanks for accepting my contribution! I hope in a near future i can contribute again.


JEST expectation is asserted after test timeout.

🐛 Bug Report
An async test that fails because of a timeout will still assert the expectation in the next block. If this occurs during another test, the assertion will be treated as part of that test, leading to errors if the number of assertions to be expected is set.
To Reproduce
function later(delay) {
    return new Promise(function(resolve) {
        setTimeout(resolve, delay);
    });
}

jest.setTimeout(5000);

describe('Expectation is asserted even after a timeout.', () => {
    it('should timeout', async () => {
        expect.assertions(1);
        await later(6000);
        expect(true).toBeTruthy();
    });
    it('should only receive one assertion but gets two.', async () => {
        expect.assertions(1);
        await later(2000);
        expect(true).toBeTruthy();
    });
});

Expected behavior
The first test should fail with a timeout error. The second test should pass.
Link to repl or repo (highly encouraged)
https://repl.it/@AndreiMariuSili/JestTimeoutBug
Issues without a reproduction link are likely to stall.
Run npx envinfo --preset jest
  System:
    OS: macOS High Sierra 10.13.5
    CPU: x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
  Binaries:
    Node: 6.11.5 - ~/.nvm/versions/node/v6.11.5/bin/node
    npm: 6.1.0 - ~/.nvm/versions/node/v6.11.5/bin/npm
  npmPackages:
    @types/jest: ^22.2.3 => 22.2.3
    jest: ^22.2.2 => 22.4.3

Thanks for reporting! I'm also able to reproduce this in the latest master.


[BUG]: Decryption not enabled!

Program version
5.1.0
Operating System
Windows
Type
GUI
Service
Crunchyroll
Command used
aniDL.exe --service crunchy --series G6NQ5DWZ6 -s GJWU2W87W --dubLang eng --dlsubs --all -q 4 -e 6
Show ID
G6NQ5DWZ6
Episode
144 [GJWU2W87W]
Console Output
[DEBUG] Got download options: {"id":"G6NQ5DWZ6","q":4,"e":"148","dubLang":["eng"],"dlsubs":["all"],"fileName":"[${service}] ${showTitle} - S${season}E${episode} [${height}p]","dlVideoOnce":false,"all":false,"but":false,"noaudio":false,"novids":false,"simul":false,"ids":["GJWU2W87W"],"title":"Division","parent":{"title":"My Hero Academia Season 7","season":"7"},"image":"https://www.crunchyroll.com/imgsrv/display/thumbnail/1200x675/catalog/crunchyroll/ac8e49f90cd580fa5d1562a640af2a7d.jpe","episode":"144"}
[E1] My Hero Academia - Season 1 - Izuku Midoriya: Origin [Japanese, English]
[E2] My Hero Academia - Season 1 - What It Takes to Be a Hero [Japanese, English]
[E3] My Hero Academia - Season 1 - Roaring Muscles [Japanese, English]
[E4] My Hero Academia - Season 1 - Start Line [☆ Japanese, ☆ English]
[E5] My Hero Academia - Season 1 - What I Can Do for Now [☆ Japanese, ☆ English]
[E6] My Hero Academia - Season 1 - Rage, You Damn Nerd [☆ Japanese, ☆ English]
[E7] My Hero Academia - Season 1 - Deku vs, Kacchan [☆ Japanese, ☆ English]
[E8] My Hero Academia - Season 1 - Bakugo's Start Line [☆ Japanese, ☆ English]
[E9] My Hero Academia - Season 1 - Yeah, Just Do Your Best, Iida! [☆ Japanese, ☆ English]
[E10] My Hero Academia - Season 1 - Encounter with the Unknown [☆ Japanese, ☆ English]
[E11] My Hero Academia - Season 1 - Game Over [☆ Japanese, ☆ English]
[E12] My Hero Academia - Season 1 - All Might [☆ Japanese, ☆ English]
[E13] My Hero Academia - Season 1 - In Each of Our Hearts [☆ Japanese, ☆ English]
[E14] My Hero Academia Season 2 - Season 2 - That's the Idea, Ochaco [☆ Japanese, ☆ English]
[E15] My Hero Academia Season 2 - Season 2 - Roaring Sports Festival [☆ Japanese, ☆ English]
[E16] My Hero Academia Season 2 - Season 2 - In Their Own Quirky Ways [☆ Japanese, ☆ English]
[E17] My Hero Academia Season 2 - Season 2 - Strategy, Strategy, Strategy [☆ Japanese, ☆ English]
[E18] My Hero Academia Season 2 - Season 2 - Cavalry Battle Finale [☆ Japanese, ☆ English]
[E19] My Hero Academia Season 2 - Season 2 - The Boy Born with Everything [☆ Japanese, ☆ English]
[E20] My Hero Academia Season 2 - Season 2 - Victory or Defeat [☆ Japanese, ☆ English]
[E21] My Hero Academia Season 2 - Season 2 - Battle on, Challengers! [☆ Japanese, ☆ English]
[E22] My Hero Academia Season 2 - Season 2 - Bakugo vs. Uraraka [☆ Japanese, ☆ English]
[E23] My Hero Academia Season 2 - Season 2 - Shoto Todoroki: Origin [☆ Japanese, ☆ English]
[E24] My Hero Academia Season 2 - Season 2 - Fight on, Iida [☆ Japanese, ☆ English]
[E25] My Hero Academia Season 2 - Season 2 - Todoroki vs. Bakugo [☆ Japanese, ☆ English]
[E26] My Hero Academia Season 2 - Season 2 - Time to Pick Some Names [☆ Japanese, ☆ English]
[E27] My Hero Academia Season 2 - Season 2 - Bizarre! Gran Torino Appears [☆ Japanese, ☆ English]
[E28] My Hero Academia Season 2 - Season 2 - Midoriya and Shigaraki [☆ Japanese, ☆ English]
[E29] My Hero Academia Season 2 - Season 2 - Hero Killer: Stain vs U.A. Students [☆ Japanese, ☆ English]
[E30] My Hero Academia Season 2 - Season 2 - Climax [☆ Japanese, ☆ English]
[E31] My Hero Academia Season 2 - Season 2 - The Aftermath of Hero Killer: Stain [☆ Japanese, ☆ English]
[E32] My Hero Academia Season 2 - Season 2 - Everyone's Internships [☆ Japanese, ☆ English]
[E33] My Hero Academia Season 2 - Season 2 - Listen Up!! A Tale from the Past [☆ Japanese, ☆ English]
[E34] My Hero Academia Season 2 - Season 2 - Gear up for Final Exams [☆ Japanese, ☆ English]
[E35] My Hero Academia Season 2 - Season 2 - Yaoyorozu: Rising [☆ Japanese, ☆ English]
[E36] My Hero Academia Season 2 - Season 2 - Stripping the Varnish [☆ Japanese, ☆ English]
[E37] My Hero Academia Season 2 - Season 2 - Katsuki Bakugo: Origin [☆ Japanese, ☆ English]
[E38] My Hero Academia Season 2 - Season 2 - Encounter [☆ Japanese, ☆ English]
[E39] My Hero Academia Season 3 - Season 3 - Game Start [☆ Japanese, ☆ English]
[E40] My Hero Academia Season 3 - Season 3 - Wild, Wild Pussycats [☆ Japanese, ☆ English]
[E41] My Hero Academia Season 3 - Season 3 - Kota [☆ Japanese, ☆ English]
[E42] My Hero Academia Season 3 - Season 3 - My Hero [☆ Japanese, ☆ English]
[E43] My Hero Academia Season 3 - Season 3 - Drive It Home, Iron Fist!!! [☆ Japanese, ☆ English]
[E44] My Hero Academia Season 3 - Season 3 - Roaring Upheaval [☆ Japanese, ☆ English]
[E45] My Hero Academia Season 3 - Season 3 - What a Twist! [☆ Japanese, ☆ English]
[E46] My Hero Academia Season 3 - Season 3 - From Iida to Midoriya [☆ Japanese, ☆ English]
[E47] My Hero Academia Season 3 - Season 3 - All For One [☆ Japanese, ☆ English]
[E48] My Hero Academia Season 3 - Season 3 - Symbol of Peace [☆ Japanese, ☆ English]
[E49] My Hero Academia Season 3 - Season 3 - One For All [☆ Japanese, ☆ English]
[E50] My Hero Academia Season 3 - Season 3 - End of the Beginning, Beginning of the End [☆ Japanese, ☆ English]
[E51] My Hero Academia Season 3 - Season 3 - Moving into Dorms [☆ Japanese, ☆ English]
[E52] My Hero Academia Season 3 - Season 3 - Create Those Ultimate Moves [☆ Japanese, ☆ English]
[E53] My Hero Academia Season 3 - Season 3 - The Test [☆ Japanese, ☆ English]
[E54] My Hero Academia Season 3 - Season 3 - Shiketsu High Lurking [☆ Japanese, ☆ English]
[E55] My Hero Academia Season 3 - Season 3 - Class 1-A [☆ Japanese, ☆ English]
[E56] My Hero Academia Season 3 - Season 3 - RUSH! [☆ Japanese, ☆ English]
[E57] My Hero Academia Season 3 - Season 3 - Rescue Exercises [☆ Japanese, ☆ English]
[E58] My Hero Academia Season 3 - Season 3 - Special Episode: Save the World with Love! [☆ Japanese, ☆ English]
[E59] My Hero Academia Season 3 - Season 3 - What's the Big Idea? [☆ Japanese, ☆ English]
[E60] My Hero Academia Season 3 - Season 3 - A Talk about Your Quirk [☆ Japanese, ☆ English]
[E61] My Hero Academia Season 3 - Season 3 - Deku vs. Kacchan, Part 2 [☆ Japanese, ☆ English]
[E62] My Hero Academia Season 3 - Season 3 - A Season for Encounters [☆ Japanese, ☆ English]
[E63] My Hero Academia Season 3 - Season 3 - Unrivaled [☆ Japanese, ☆ English]
[E64] My Hero Academia Season 4 - Season 4 - The Scoop on U.A. Class 1-A [☆ Japanese, ☆ English]
[E65] My Hero Academia Season 4 - Season 4 - Overhaul [☆ Japanese, ☆ English]
[E66] My Hero Academia Season 4 - Season 4 - Boy Meets... [☆ Japanese, ☆ English]
[E67] My Hero Academia Season 4 - Season 4 - Fighting Fate [☆ Japanese, ☆ English]
[E68] My Hero Academia Season 4 - Season 4 - Let's Go, Gutsy Red Riot [☆ Japanese, ☆ English]
[E69] My Hero Academia Season 4 - Season 4 - An Unpleasant Talk [☆ Japanese, ☆ English]
[E70] My Hero Academia Season 4 - Season 4 - GO!! [☆ Japanese, ☆ English]
[E71] My Hero Academia Season 4 - Season 4 - Suneater of the Big Three [☆ Japanese, ☆ English]
[E72] My Hero Academia Season 4 - Season 4 - Red Riot [☆ Japanese, ☆ English]
[E73] My Hero Academia Season 4 - Season 4 - Temp Squad [☆ Japanese, ☆ English]
[E74] My Hero Academia Season 4 - Season 4 - Lemillion [☆ Japanese, ☆ English]
[E75] My Hero Academia Season 4 - Season 4 - Unforeseen Hope [☆ Japanese, ☆ English]
[E76] My Hero Academia Season 4 - Season 4 - Infinite 100% [☆ Japanese, ☆ English]
[E77] My Hero Academia Season 4 - Season 4 - Bright Future [☆ Japanese, ☆ English]
[E78] My Hero Academia Season 4 - Season 4 - Smoldering Flames [☆ Japanese, ☆ English]
[E79] My Hero Academia Season 4 - Season 4 - Win Those Kids' Hearts [☆ Japanese, ☆ English]
[E80] My Hero Academia Season 4 - Season 4 - Relief for License Trainees [☆ Japanese, ☆ English]
[E81] My Hero Academia Season 4 - Season 4 - School Festival [☆ Japanese, ☆ English]
[E82] My Hero Academia Season 4 - Season 4 - Prepping for the School Festival Is the Funnest Part [☆ Japanese, ☆ English]
[E83] My Hero Academia Season 4 - Season 4 - Gold Tips Imperial [☆ Japanese, ☆ English]
[E84] My Hero Academia Season 4 - Season 4 - Deku vs. Gentle Criminal [☆ Japanese, ☆ English]
[E85] My Hero Academia Season 4 - Season 4 - School Festival Start!! [☆ Japanese, ☆ English]
[E86] My Hero Academia Season 4 - Season 4 - Let It Flow! School Festival! [☆ Japanese, ☆ English]
[E87] My Hero Academia Season 4 - Season 4 - Japanese Hero Billboard Chart [☆ Japanese, ☆ English]
[E88] My Hero Academia Season 4 - Season 4 - His Start [☆ Japanese, ☆ English]
[E89] My Hero Academia Season 5 - Season 5 - All Hands on Deck! Class 1-A [☆ Japanese, ☆ English]
[E90] My Hero Academia Season 5 - Season 5 - Vestiges [☆ Japanese, ☆ English]
[E91] My Hero Academia Season 5 - Season 5 - Clash! Class A vs. Class B! [☆ Japanese, ☆ English]
[E92] My Hero Academia Season 5 - Season 5 - Make It Happen, Shinso! [☆ Japanese, ☆ English]
[E93] My Hero Academia Season 5 - Season 5 - Operation New Improv Moves [☆ Japanese, ☆ English]
[E94] My Hero Academia Season 5 - Season 5 - Foresight [☆ Japanese, ☆ English]
[E95] My Hero Academia Season 5 - Season 5 - Match 3 [☆ Japanese, ☆ English]
[E96] My Hero Academia Season 5 - Season 5 - Match 3 Conclusion [☆ Japanese, ☆ English]
[E97] My Hero Academia Season 5 - Season 5 - Early Bird! [☆ Japanese, ☆ English]
[E98] My Hero Academia Season 5 - Season 5 - That Which Is Inherited [☆ Japanese, ☆ English]
[E99] My Hero Academia Season 5 - Season 5 - Our Brawl [☆ Japanese, ☆ English]
[E100] My Hero Academia Season 5 - Season 5 - The New Power and All For One [☆ Japanese, ☆ English]
[E101] My Hero Academia Season 5 - Season 5 - Have a Merry Christmas! [☆ Japanese, ☆ English]
[E102] My Hero Academia Season 5 - Season 5 - Off to Endeavor's Agency! [☆ Japanese, ☆ English]
[E103] My Hero Academia Season 5 - Season 5 - One Thing at a Time [☆ Japanese, ☆ English]
[E104] My Hero Academia Season 5 - Season 5 - Long Time No See, Selkie [☆ Japanese, ☆ English]
[E105] My Hero Academia Season 5 - Season 5 - The Hellish Todoroki Family [☆ Japanese, ☆ English]
[E106] My Hero Academia Season 5 - Season 5 - The Unforgiven [☆ Japanese, ☆ English]
[E107] My Hero Academia Season 5 - Season 5 - More of a Hero Than Anyone [☆ Japanese, ☆ English]
[E108] My Hero Academia Season 5 - Season 5 - My Villain Academia [☆ Japanese, ☆ English]
[E109] My Hero Academia Season 5 - Season 5 - Revival Party [☆ Japanese, ☆ English]
[E110] My Hero Academia Season 5 - Season 5 - Sad Man's Parade [☆ Japanese, ☆ English]
[E111] My Hero Academia Season 5 - Season 5 - Tenko Shimura: Origin [☆ Japanese, ☆ English]
[E112] My Hero Academia Season 5 - Season 5 - Tomura Shigaraki: Origin [☆ Japanese, ☆ English]
[E113] My Hero Academia Season 5 - Season 5 - The High, Deep Blue Sky [☆ Japanese, ☆ English]
[E114] My Hero Academia Season 6 - Season 6 - A Quiet Beginning [☆ Japanese, ☆ English]
[E115] My Hero Academia Season 6 - Season 6 - Mirko, the No. 5 Hero [☆ Japanese, ☆ English]
[E116] My Hero Academia Season 6 - Season 6 - One's Justice [☆ Japanese, ☆ English]
[E117] My Hero Academia Season 6 - Season 6 - Inheritance [☆ Japanese, ☆ English]
[E118] My Hero Academia Season 6 - Season 6 - The Thrill of Destruction [☆ Japanese, ☆ English]
[E119] My Hero Academia Season 6 - Season 6 - Encounter, Part 2 [☆ Japanese, ☆ English]
[E120] My Hero Academia Season 6 - Season 6 - Disaster Walker [☆ Japanese, ☆ English]
[E121] My Hero Academia Season 6 - Season 6 - League of Villains vs. U.A. Students [☆ Japanese, ☆ English]
[E122] My Hero Academia Season 6 - Season 6 - Katsuki Bakugo: Rising [☆ Japanese, ☆ English]
[E123] My Hero Academia Season 6 - Season 6 - The Ones Within Us [☆ Japanese, ☆ English]
[E124] My Hero Academia Season 6 - Season 6 - Dabi's Dance [☆ Japanese, ☆ English]
[E125] My Hero Academia Season 6 - Season 6 - Threads of Hope [☆ Japanese, ☆ English]
[E126] My Hero Academia Season 6 - Season 6 - Final Performance [☆ Japanese, ☆ English]
[E127] My Hero Academia Season 6 - Season 6 - Hellish Hell [☆ Japanese, ☆ English]
[E128] My Hero Academia Season 6 - Season 6 - Tartarus [☆ Japanese, ☆ English]
[E129] My Hero Academia Season 6 - Season 6 - The Hellish Todoroki Family, Part 2 [☆ Japanese, ☆ English]
[E130] My Hero Academia Season 6 - Season 6 - The Wrong Way to Put Out a Fire [☆ Japanese, ☆ English]
[E131] My Hero Academia Season 6 - Season 6 - Izuku Midoriya and Tomura Shigaraki [☆ Japanese, ☆ English]
[E132] My Hero Academia Season 6 - Season 6 - Full Power!! [☆ Japanese, ☆ English]
[E133] My Hero Academia Season 6 - Season 6 - Hired Gun [☆ Japanese, ☆ English]
[E134] My Hero Academia Season 6 - Season 6 - The Lovely Lady Nagant [☆ Japanese, ☆ English]
[E135] My Hero Academia Season 6 - Season 6 - Friend [☆ Japanese, ☆ English]
[E136] My Hero Academia Season 6 - Season 6 - Deku vs. Class A [☆ Japanese, ☆ English]
[E137] My Hero Academia Season 6 - Season 6 - A Young Woman's Declaration [☆ Japanese, ☆ English]
[E138] My Hero Academia Season 6 - Season 6 - No Man Is an Island [☆ Japanese, ☆ English]
[E139] My Hero Academia: Memories - Season 7 - Izuku Midoriya: Resolve [☆ Japanese, ☆ English]
[E140] My Hero Academia: Memories - Season 7 - Toshinori Yagi: Embers [☆ Japanese, ☆ English]
[E141] My Hero Academia: Memories - Season 7 - Heroes: Convictions [☆ Japanese, ☆ English]
[E142] My Hero Academia: Memories - Season 7 - Tomura Shigaraki: Destruction [☆ Japanese, ☆ English]
[E143] My Hero Academia Season 7 - Season 7 - In the Nick of Time! A Big-Time Maverick from the West [☆ Japanese, ☆ English]
[E144] My Hero Academia Season 7 - Season 7 - Specter [☆ Japanese, ☆ English]
[E145] My Hero Academia Season 7 - Season 7 - Villain [☆ Japanese, ☆ English]
[E146] My Hero Academia Season 7 - Season 7 - The Story of How We All Became Heroes [☆ Japanese, ☆ English]
[E147] My Hero Academia Season 7 - Season 7 - Let You Down [☆ Japanese, ☆ English]
[E148] My Hero Academia Season 7 - Season 7 - Division [☆ Japanese, ☆ English]
[E149] My Hero Academia Season 7 - Season 7 - Inflation [☆ Japanese]
[E150] My Hero Academia Season 7 - Season 7 - Two Flashfires [☆ Japanese]
[S1] My Hero Academia Season 2 - Season 2 - Hero Notebook [☆ Japanese, ☆ English]
[S2] My Hero Academia Season 4 - Season 4 - Make It! Do-or-Die Survival Training, Part 1 [☆ Japanese, ☆ English]
[S3] My Hero Academia Season 4 - Season 4 - Make It! Do-or-Die Survival Training, Part 2 [☆ Japanese, ☆ English]
[S4] My Hero Academia Season 5 - Season 5 - HLB [☆ Japanese, ☆ English]
[S5] My Hero Academia Season 5 - Season 5 - Laugh! As if you are in hell [☆ Japanese, ☆ English]
[S6] My Hero Academia Season 6 - Season 6 - U.A. Heroes Battle [☆ Japanese, ☆ English]

------------------------------

[S7E144] - Division [✓ English]
Requesting: [GJWU2W87W] My Hero Academia Season 7 - 144 - Division
Chapter request successful
[WARN] Decryption not enabled!
[WARN] No full streams found!
[ERROR] Download error: Unable to download episode 148 from G6NQ5DWZ6

Additional Information
[WARN] Decryption not enabled!
[WARN] No full streams found!
[ERROR] Download error: Unable to download episode 148 from G6NQ5DWZ6
Stuck on this specific error. Should i change any settings to "enable" the decryption?

You need to put a CDM in the widevine folder, and have mp4decrypt installed

i've linked mpp4decrypt in the bin-path.yml , but what's a CDM?

i've linked mp4decrypt in bin-path.yml , but what's a CDM?

A CDM is what actually allows you to get the decryption keys... Unfortunately I can't share how to get one, but you can find guides online.

sure, thanks. atleast guide me on how to add CDM into the program

sure, thanks. atleast guide me on how to add CDM into the program

At the end of the process of getting the CDM, you'll have 2 files, just put them in the widevine folder in the project directory, and it should work

figured this one out! can you also check my other issue

mp4decrypt must be in the same path of executables?

mp4decrypt must be in the same path of executables?

Either that (which I haven't fully confirmed works), or added to your system path, or the path to it put in bin-path.yml

here's my folder structure, if it is of any help

inside the "bin" folder

contents of "bin-path.yml" under the "config" folder
ffmpeg: ".\\bin\\ffmpeg.exe"
mkvmerge: ".\\bin\\mkvmerge.exe"
ffprobe: ".\\bin\\ffprobe.exe"
mp4decrypt: ".\\bin\\mp4decrypt.exe"


Obfuscator.io is no longer working

Describe the bug
Deobfuscating Obfuscator io is no longer working
To Reproduce
it does not work anymore for obfuscator io
i tried with the obfuscator io sample
// Paste your JavaScript code here
function hi() {
  console.log("Hello World!");
}
hi();

-> obfuscated:
var _0x305e=['9saDTIV','326PQEvGs','56489vfJpQr','log','316680vTtHaV','167leqdwt','Hello\x20World!','92112VNXwdf','135890nrPiXD','175642lixkia','594079wXNZKt'];var _0x2a47=function(_0x816949,_0x40e825){_0x816949=_0x816949-0x152;var _0x305eb0=_0x305e[_0x816949];return _0x305eb0;};(function(_0x3700ba,_0x18dfd4){var _0x2e4789=_0x2a47;while(!![]){try{var _0x5919da=parseInt(_0x2e4789(0x154))+-parseInt(_0x2e4789(0x155))+parseInt(_0x2e4789(0x15c))+parseInt(_0x2e4789(0x156))+parseInt(_0x2e4789(0x15a))*parseInt(_0x2e4789(0x158))+parseInt(_0x2e4789(0x152))*-parseInt(_0x2e4789(0x159))+-parseInt(_0x2e4789(0x157));if(_0x5919da===_0x18dfd4)break;else _0x3700ba['push'](_0x3700ba['shift']());}catch(_0x226ab0){_0x3700ba['push'](_0x3700ba['shift']());}}}(_0x305e,0x4b4c8));function hi(){var _0x3c243f=_0x2a47;console[_0x3c243f(0x15b)](_0x3c243f(0x153));}hi();

but when trying to deobfuscate, in the console i have the error
Decode Error! ErrorEvent {isTrusted: true, message: "Uncaught Error: Not matched", filename: "http://<IP_ADDRESS>:4000/de4js/worker/decode.js", lineno: 79, colno: 11, …}

Uncaught Error: Not matched
    at decode.js:79

Desktop (please complete the following information):

OS: linux
Browser: chrome 87
Version: 1.11.1

Additional context
Does not works neither in online demo version, nor in builded version

agree. i can't decode anything :c

agree. i can't decode anything :c

Same #59 but more detail :+1:

Same #59 but more detail :+1:

Code obfuscated from obfuscator.io will not work with the following options:

Eval
Array
Obfuscator io
_Number
JSFuck
JJencode
AAencode
URLencode
Packer
JS Obfuscator
My Obfuscate

I don't know if some of these are intended to throw javascript errors or not. But they all throw different errors usually "Not Matched" though. Just some more info on this bug.

Code obfuscated from obfuscator.io will not work with the following options:

Eval
Array
Obfuscator io
_Number
JSFuck
JJencode
AAencode
URLencode
Packer
JS Obfuscator
My Obfuscate

I don't know if some of these are intended to throw javascript errors or not. But they all throw different errors usually "Not Matched" though. Just some more info on this bug.

it's not working anymore.

yep same issue

same issue. Will it be resolved?

same issue. Will it be resolved?

No hope - at this time.

@lelinhtinh Why no hope at this time? Do you want a PR?
I've managed to write a deobfuscator that works on obfuscator.io using jscodeshift and could probably port (i.e. rewrite from scratch) the relevant code to whatever framework this tool is based on.

PR is always welcome. However, you should consider specialized projects, and the code is cleaner.

https://github.com/LostMyCode/javascript-deobfuscator
https://github.com/sd-soleaio/javascript-deobfuscator
https://github.com/uwu/synchrony
...

Ah, thanks! I've missed those projects.
What was the major barrier for supporting the latest updates of obfuscator.io in this project?

Obfuscator.io is always up-to-date. If you fixed for the new version, the code generated from the old version will fail. It is almost impossible to distinguish which version the obfuscated code is based on.

Oh), please do not update all this deobfuscators. It will keep the summer more enjoyable).
Let's your all enjoy the summer instead!

What if I find updating deobfuscators enjoyable? :P
Maybe reviewing PRs is the less enjoyable part?

the only real part they change it is obufuscantion function "StringDecoderTransformer" (atm they can also use some function that not exist in Node or build at runtime),
the easy way i found is replace it inside config with: (i deobuscated on original code then i export to in dictionary)
var dic =[ ... deobuscated value ... ]
var decFunction = function (key, nnn) {
return dic[key - 0xd6];
};
{
name: 'StringDecoderTransformer',
params: {
identifiers: [['a0_0x2250', 0, decFunction, 0]], //target string, , targetFunction
findStringArrays: true,
},
},

Atm only synchrony is good to work with obfuscation.io cause you can avoid previous issue, but there are other issue in code cause it export function like 'functionname'.['name'] instead of functionnanme.name

And my highly unrefined script at https://github.com/anka-213/js-deobfuscator
It uses safe-eval though, so I'm not sure how safe it is to use on untrusted code.

I remember some deobfuscator with eval that was hosted online and eval allowed me to run any commands to traverse over file system and for other things)

for example this is best example with higest level of obfuscation i found, that not work with Node and all deobufscator i tried failed;
https://www.ea.com/fifa/ultimate-team/web-app/js/ocompiled.js

Wow, don't know that EA is using it.

@bbday Oh, I was super confused why eval was looping infinitely on it, but it was checking if the anti-debugger function in the bottom of the file was included, which it wasn't in my eval code. It does indeed seem advanced.

Wow, didn't know that EA is using it.
they use obfuscator.io with some advanced feature (to defeat not real browser JS), that why i posted my example how to bypass it with manual "dictionary" with synchrony StringDecoderTransformer.
I suggest dont waste time try to build something that work with it (shoul be require a real browser but too much complex task).
Just simple function like i show you before to bypass it, is enought, there are so much work for other more important tasks :D

Only synchrony with my simple mod work to defeat it, but missing other task like i suggest on https://github.com/uwu/synchrony/issues/10

I can break eval in the future btw)

@sanex3339 Oh, I only now made the connection that you wrote obfuscator.io, so updating the deobfuscators would mean more work for you.

I can break eval in the future btw, because there is a way to know if we inside an eval call.

funny they use your tool and dont give you any reward 🗡 they made last year 1500 milions $

I can break eval in the future btw, because there is a way to know if we inside an eval call.

funny they use your tool and dont give you any reward 🗡 they made last year +1500 milions $
Maybe is time to change your license and ask payment for commercial use :D

Maybe it should be changed to GPL, so all derivative works that include source code from the project will also need to be open source? 😁

Oh, cool! This code checks that the code hasn't been pretty-printed.
var noPrettyPrintingPls = function(){return 'newState';};
/\w+ *\(\) *\{\w+ *['|"].+['|"];? *\}/.test(noPrettyPrintingPls.toString())

Sneaky!

@lelinhtinh
I may work on this (Probably not) but I found a method that will decode the https://obfuscator.io/ code (So far, it has worked for everything that I have tried)
What I do not have implemented: in the decoder file you must update the head code to
decrypt a different file.
Does not currently decode \x and \u characters
https://github.com/ethanaobrien/emulatorjs/blob/main/decrypt tools/index.html includes the worker (all client side).
If I run it through this script, and then a javascript cleaner, I have no syntax errors or any errors.
Hope this helps!


Add option to skip checks in check/all_.py

I use the check scripts a lot in research-superstaq, but that repo doesn't have the requirements or build_docs checks, which breaks check/all_.py.  As a consequence, I have been running individual checks manually.  I would like the option to just tell check/all_.py to skip certain checks.
This PR is a proposed solution to my problem.

looking into that failing test btw - i'm guessing it has something to do with the version of qiskit that was released an hour ago

looking into that failing test btw - i'm guessing it has something to do with the version of qiskit that was released an hour ago

should be fixed by #704

Awesome thanks @richrines1!

Oops.  Realized post-merge that this does not work due to the way that we pass arguments downstream...

ah right my bad, should've caught that.
not perfect, but one option is to move the argument declaration to check_utils.get_file_parser() so it gets stripped out in all downstream checks too (and then maybe adding something in its help=".." indicating it's only relevant to all_.py)

Another thought: args_to_pass is currently passed to all of format_, flake8_, pylint_, mypy_, and coverage_.  It seems... unrealistic to expect that they all recognize the same arguments.  Maybe check/all_.py shouldn't pass any arguments at all?

would something like this work?
in check/all_.py:
def run(*args, ...):
    ...
    parsed_args, unknown_args = parser.parse_known_args(args)

    check.some_check(*unknown_args, ..., parsed_args=parsed_args)
    check.some_other_check(*unknown_args, ..., parsed_args=parsed_args)

in check/some[_other]_check.py:
def run(*args, ..., parsed_args=None):
    ...
    parsed_args = parser.parse_args(args, namespace=parsed_args)
    ...

I like the idea of passing parsed_args downstream.  Seems like if we do that then we don't need to pass unknown_args then, because parsed_args should capture all arguments that are common to all checks.  So it would just be (in check/all_.py):
def run(*args, ...):
    ...
    parsed_args, _ = parser.parse_known_intermixed_args(args)

    check.some_check(..., parsed_args=parsed_args)
    check.some_other_check(..., parsed_args=parsed_args)


How can I avoid HTTP 429 situation?

I have enabled multiple Ubisoft accounts to obtain data on many players. However, in addition to being able to successfully search for players, these accounts now have 429 too many requests for summary and other subsequent steps. It may be that I only use Is it the reason for a normal request request instead of a session conversation?

Problem we all struggle with when querying a few too many accounts.
The library tries to automatically log you in only when it needs to (by saving the credentials) but it doesn't solve all your problems.
You will need to figure out a way to fix this yourself, that fits your needs.. As we did all


bump flagd memory limit to 175Mi to avoid OOMs

I was seeing flagd fail from OOMs while running the demo. I bumped it to what featureflagservice used before it so its at least no more memory than before, but I can play around with the numbers if you want the bare minimum for the limit.

Hm, I'm seeing the same for frontendproxy which has a 50Mi limit and frontend which even has a 200Mi limit.
Maybe it is just me. Trying without the load generator and will close this if so.

we do want to try to get the bare minimum if possible.

@puckpuck ok, I may just close this tho. I always get mixed up when coming back to looking at k8s requests/limits every couple years, hehe. Since it is only setting a limit then the request is the same, making it the least likely type to be OOMkilled. So if I see it being killed until I up its memory request/limit it likely, in this case, means its simply that other pods will be killed because now its % of usage is less than those others when my system is low on memory.

I just ran into the bug here.
I would suggest at least 50.  It has gotten to steady state at 29M right now, but there might be a spike at startup so having a bit of headroom would be wise.
As for the Request Vs Limit, Request would decide if it can be scheduled, where Limit is when it gets OOM killed.  The best advice I've heard is only set Memory limits and CPU requests.

Going to close this in favor of #1161


Motd's protocol should be i32

The Motd struct represents the protocol version as an u16, but the protocol version (for mcbe at least) is always represented as an i32.
(I don't know why it is a signed integer, lets hope protocol version -42 is planned)
Due to the raknet docs not defining the motd and mojang rather doing their own stuff in this area, this is a bug of consistency.

A u16 was used here cause theoretically the number only goes up and will never exceed 65535 versions, but I guess we could change this for the sake of consistency.

this is rather "for the sake of consistency" like you mentioned. And I am certainly sure we will get protocol version -42 one day


remove_old_events not working with custom timestamp

I have a rule with a custom timestamp format:
timestamp_type: custom
timestamp_format: '%Y-%m-%dT%H:%M:%S.000Z'

and I get this:
ERROR:root:Uncaught exception running rule ruletest : unsupported operand type(s) for -: 'unicode' and 'unicode'
INFO:elastalert:Rule ruletest disabled
Traceback (most recent call last):
  File "/usr/bin/elastalert", line 11, in <module>
    sys.exit(main())
  File "/usr/lib/python2.7/site-packages/elastalert/elastalert.py", line 1777, in main
    client.start()
  File "/usr/lib/python2.7/site-packages/elastalert/elastalert.py", line 997, in start
    self.run_all_rules()
  File "/usr/lib/python2.7/site-packages/elastalert/elastalert.py", line 1088, in run_all_rules
    self.remove_old_events(rule)
  File "/usr/lib/python2.7/site-packages/elastalert/elastalert.py", line 547, in remove_old_events
    if now - timestamp > buffer_time:
TypeError: unsupported operand type(s) for -: 'datetime.datetime' and 'unicode'

I added this and it's working
            if isinstance(timestamp, unicode):
                timestamp = parser.parse(timestamp)

To which line? In remove_old_events?
I haven't seen this bug before. Does your timestamp_field contain dots?
These two lines are supposed to convert everything in processed_hits to have a datetime object rather than a string timestamp.
https://github.com/Yelp/elastalert/blob/5ff411d8a48124185ff3e1d3300b571b05fb142b/elastalert/elastalert.py#L306

Sorry for the late response; yes it contains dot  "@timestamp": "2017-08-01T00:00:00.000Z"
I implemented a rule type that can compare three events by a field (which have the same timestamp) based on the frequency one, and I had the same problem too in the add_data function:
    def add_data(self, data):
        if 'query_key' in self.rules:
            qk = self.rules['query_key']
        else:
            qk = None

        for event in data:
            if qk:
                key = hashable(lookup_es_key(event, qk))
            else:
                # If no query_key, we use the key 'all' for all events
                key = 'all'

            # Store the timestamps of recent occurrences, per key
            if isinstance(event['@timestamp'], unicode):
                event['@timestamp'] = parser.parse(event['@timestamp'])
            self.occurrences.setdefault(key, EventWindow(self.rules['timeframe'], getTimestamp=self.get_ts)).append((event, 1))
            self.check_for_match(key, end=False)

I think it's my timestamp format config that is not good


WinAppDriver is not working with my stardard C# application

Hello.
I am trying to migrate from Code UI to WinappDriver as recommended by Microsoft.
I downloaded the sample (Calculator) and it works fine. But when I change the code to use my application developed in C#, the WinAppDriver cannot find the components.
Attached are the code of my prototype.
I don't know if I need to do something else in order to use it with a Standard C# application.
Could you please tell me what I am doing wrong?
Thank you very much for your time.

My code
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium.Appium.Windows;
using OpenQA.Selenium.Remote;
using System;
namespace CalculatorTest
{
public class CalculatorSession
{
// Note: append /wd/hub to the URL if you're directing the test at Appium
private const string WindowsApplicationDriverUrl = "http://<IP_ADDRESS>:4723";
    // Microsoft.WindowsCalculator_8wekyb3d8bbwe!App  //Original Calculator
    private const string CalculatorAppId = @"C:\Ronbar\Delphi\WinAppDriver Project\Win32\Debug\MyApplication.exe";

    protected static WindowsDriver<WindowsElement> session;

    public static void Setup(TestContext context)
    {
        // Launch application if it is not yet launched
        if (session == null)
        {
            // Create a new session to bring up an instance of the application
            // Note: Multiple app windows (instances) share the same process Id
            DesiredCapabilities appCapabilities = new DesiredCapabilities();
            appCapabilities.SetCapability("app", CalculatorAppId);

            appCapabilities.SetCapability("deviceName", "WindowsPC");
            session = new WindowsDriver<WindowsElement>(new Uri(WindowsApplicationDriverUrl), appCapabilities);
            Assert.IsNotNull(session);

            // Set implicit timeout to 1.5 seconds to make element search to retry every 500 ms for at most three times
            session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1.5);
        }
    }

    public static void TearDown()
    {
        // Close the application and delete the session
        if (session != null)
        {
            session.Quit();
            session = null;
        }
    }
}

}

using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium.Appium.Windows;
using System.Threading;
using System;
namespace CalculatorTest
{
[TestClass]
public class ScenarioStandard : CalculatorSession
{
[TestMethod]
public void Addition()
{
        session.FindElementByName("OK").Click();   // error here!

    }

    [ClassInitialize]
    public static void ClassInitialize(TestContext context)
    {
        Setup(context);
    }

    [ClassCleanup]
    public static void ClassCleanup()
    {
        TearDown();
    }

    [TestInitialize]
    public void Clear()
    {

    }

}

}

What does the win app console driver logs says?

Hi Ronaldo, I've responded to your e-mail. I'd say the same here, please use WinAppDriver UI Recorder to inspect the UI element which you are trying to click.

Message: Test method CalculatorTest.ScenarioStandard.Addition threw exception:
System.InvalidOperationException: An element could not be located on the page using the given search parameters.

@rfbarrozo, are you still running into this issue?


Use prettier instead of eslint

Now that prettier is at 1.0 I wanted to see how well it worked across this app. It didn't take long to replace eslint with prettier and I'm impressed with the initial cleanup. It solved a lot of problems with formatting in main.js, particularly with nested promise chains. This also shifts the burden of enforcing code consistency from the contributor (through linting rules) to the task runner (grunt).
I'm going to leave this here for discussion. Is the move to prettier worthwhile?

your proposal here (and in #176) is error inducing on my mac.
Running "shell:prettier" (shell) task
/bin/sh: .node_modules.binprettier: command not found
Warning: Command failed: /bin/sh -c .\node_modules\.bin\prettier --write Gruntfile.js rollup.config.js src/js/main.js src/js/portal/**/*.js
/bin/sh: .node_modules.binprettier: command not found
 Use --force to continue.

i used the tweak below to resolve the problem, but it would obviously be problematic on windows boxes.
node_modules: "./node_modules/.bin/",

is there a drawback to just asking people to invoke grunt commands via npm scripts?

is there a drawback to just asking people to invoke grunt commands via npm scripts?

OK, I think I see your point. I thought we'd still have the same issue, but I see we can use npm run instead of the grunt-shell plugin to call those commands. Initial testing looks like that works more consistently. I'll rework these commits to use npm scripts for everything.

Closing this for now. Will send a new PR to use prettier in addition to eslint after the new dev tooling is in.


Security Check

Security Check

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hackerone related


Error in the file 2:4_w4a16_group-128_recipe.yaml

Describe the bug
This is a minor issue, but I think the quantization configuration in the file [examples/quantization_24_sparse_w4a16/2:4_w4a16_group-128_recipe.yaml](https://github.com/vllm-project/llm-compressor/blob/main/examples/quantization_24_sparse_w4a16/2%3A4_w4a16_group-128_recipe.yaml) should include ignore: ["lm_head"] like below. Otherwise, during saving the quantized model, the code results in a ValueError caused by compressed_tensors because the lm_head doesn't follow the 2:4 sparse pattern.
quantization_stage:
  run_type: oneshot
  quantization_modifiers:
    GPTQModifier:
      sequential_update: false
      ignore: ["lm_head"]
      config_groups:
        group_0:
          weights:
            num_bits: 4
            type: "int"
            symmetric: true
            strategy: "channel"
          targets: ["Linear"]

Expected behavior
A clear and concise description of what you expected to happen.
Environment
Include all relevant environment information:

OS [e.g. Ubuntu 20.04]: 22.04
Python version [e.g. 3.7]: 3.10
LLM Compressor version or commit hash [e.g. 0.1.0, f7245c8]:  7a0d23294c6cdfe0a17f9f21cb1bc20d9b9e3cd7
ML framework version(s) [e.g. torch 2.3.1]: 2.4.0
Other Python package versions [e.g. vLLM, compressed-tensors, numpy, ONNX]: compressed-tensors  0.5.0
Other relevant environment information [e.g. hardware, CUDA version]: CUDA 12.3

To Reproduce
Exact steps to reproduce the behavior:
i ran python examples/quantization_24_sparse_w4a16/llama7b_sparse_w4a16.py, where I changed the model path to another Llama model and the recipe path to 2:4_w4a16_group-128_recipe.yaml
Errors
If applicable, add a full print-out of any errors or exceptions that are raised or include screenshots to help explain your problem.
The Error without ignore lm_head:
Traceback (most recent call last):
  File "~/projects/sparse/llm-compressor/examples/quantization_24_sparse_w4a16/llama7b_sparse_w4a16.py", line 40, in <module>
    apply(
  File "~/projects/sparse/llm-compressor/src/llmcompressor/transformers/finetune/text_generation.py", line 93, in apply
    main(model_args, data_args, training_args)
  File "~/sparse/llm-compressor/src/llmcompressor/transformers/finetune/text_generation.py", line 348, in main
    stage_runner.run_sequential_stages(checkpoint)
  File "~/projects/sparse/llm-compressor/src/llmcompressor/transformers/finetune/runner.py", line 291, in run_sequential_stages
    self.one_shot(stage=stage_name)
  File "~/projects/sparse/llm-compressor/src/llmcompressor/transformers/finetune/runner.py", line 194, in one_shot
    save_model_and_recipe(
  File "~/projects/sparse/llm-compressor/src/llmcompressor/pytorch/model_load/helpers.py", line 110, in save_model_and_recipe
    model.save_pretrained(
  File "~/projects/sparse/llm-compressor/src/llmcompressor/transformers/sparsification/compressed_tensors_utils.py", line 123, in save_pretrained_wrapper
    compressed_state_dict = compressor.compress(model, state_dict)
  File "~/conda/llm-compresser/lib/python3.10/site-packages/compressed_tensors/compressors/model_compressor.py", line 241, in compress
    compressed_state_dict = self.quantization_compressor.compress(
  File "~/conda/llm-compresser/lib/python3.10/site-packages/compressed_tensors/compressors/marlin_24.py", line 149, in compress
    self.validate_sparsity_structure(prefix, value)
  File "~/conda/llm-compresser/lib/python3.10/site-packages/compressed_tensors/compressors/marlin_24.py", line 99, in validate_sparsity_structure
    if not tensor_follows_mask_structure(weight):
  File "~/conda/llm-compresser/lib/python3.10/site-packages/compressed_tensors/utils/helpers.py", line 91, in tensor_follows_mask_structure
    raise ValueError()
ValueError

Additional context
Add any other context about the problem here. Also include any relevant files.

Thanks @carrot-o0o! We're in the process of revamping our sparsity pathways and I'll ensure this fix gets included and tested.

I just ran the example as described with 2:4_w4a16_group-128_recipe.yaml and did not encounter an error. I believe this was fixed by #80


[WFCORE-718] Add CLI command builder.

The 2.0 PR has some details about why this is desired https://github.com/wildfly/wildfly-core/pull/764.
This is not required for 1.0, but it would be nice to be able to use it in the wildfly-maven-plugin which will target 1.0 to stick with a Java 1.7 requirement.
I did not change bring the change for the tests over to the 1.x PR as I didn't want make potential test breaking changes. For 1.x this API will not be used anywhere only to be consumed from other projects.

Linux Build 60 is now running using a merge of 66ddd9ba653e156882b058d011745a71fb66f1a2

Windows Build 51 is now running using a merge of 66ddd9ba653e156882b058d011745a71fb66f1a2

Core - Full Integration Build 51 is now running using a merge of 66ddd9ba653e156882b058d011745a71fb66f1a2

Core - Full Integration Build 51 outcome was FAILURE using a merge of 66ddd9ba653e156882b058d011745a71fb66f1a2
Summary: Tests failed: 161 (161 new), passed: 756, ignored: 315 Build time: 0:13:46
Build problems:
Failed tests detected
Failed tests
null: org.jboss.as.test.integration.deployment.deploymentoverlay.DeploymentOverlayTestCase.Failure when constructing test: <no details avaliable>

null: org.jboss.as.test.smoke.deployment.rar.tests.activation.IronJacamarActivationTestCase.Failure when constructing test: <no details avaliable>

null: org.jboss.as.test.integration.ee.injection.resource.basic.ResourceInjectionTestCase.Failure when constructing test: <no details avaliable>

null: org.jboss.as.test.iiop.basic.BasicIIOPInvocationTestCase.Failure when constructing test: <no details avaliable>

null: org.jboss.as.test.xts.wsba.coordinatorcompletion.client.BACoordinatorCompletionTestCase.Failure when constructing test: <no details avaliable>

null: org.wildfly.test.extension.rts.ProvidersTestCase.Failure when constructing test: <no details avaliable>

null: org.jboss.as.test.integration.mgmt.access.AccessConstraintUtilizationTestCase.Failure when constructing test: <no details avaliable>

org.jboss.as.test.clustering.cluster.cdi.CdiFailoverTestCase(SYNC-tcp).testGracefulUndeployFailover: <no details avaliable>

org.jboss.as.test.clustering.cluster.cdi.CdiFailoverTestCase(SYNC-tcp).testGracefulSimpleFailover: <no details avaliable>

org.jboss.as.test.clustering.cluster.ejb.remote.RemoteFailoverTestCase(SYNC-tcp).testSecureStatelessFailover: <no details avaliable>

org.jboss.as.test.clustering.cluster.ejb.remote.RemoteFailoverTestCase(SYNC-tcp).testStatelessFailover: <no details avaliable>

##### there are 151 more failed tests, see build details

Windows Build 51 outcome was SUCCESS using a merge of 66ddd9ba653e156882b058d011745a71fb66f1a2
Summary: Tests passed: 3101, ignored: 68 Build time: 0:20:20

Linux Build 60 outcome was FAILURE using a merge of 66ddd9ba653e156882b058d011745a71fb66f1a2
Summary: Execution timeout (new); tests passed: 2925, ignored: 53; org.wildfly.core:wildfly-core-testsuite-domain Build time: 0:45:09
Build problems:
Execution timeout
Process exited with code 137


lldb needs to be signed on darwin

Issue description
In file included from /private/var/folders/1f/2mj_ng1n2y3_wc59fgw3fn_r0000gn/T/nix-build-lldb-3.7.1.drv-0/lldb-3.7.1.src/tools/debugserver/source/DNBArch.h:18:
/private/var/folders/1f/2mj_ng1n2y3_wc59fgw3fn_r0000gn/T/nix-build-lldb-3.7.1.drv-0/lldb-3.7.1.src/tools/debugserver/source/MacOSX/MachException.h:20:10: fatal error: 'DNBConfig.h' file not found
#include "DNBConfig.h"
         ^
1 error generated.

Steps to reproduce

Apply a patch

diff --git a/pkgs/development/compilers/llvm/3.7/default.nix b/pkgs/development/compilers/llvm/3.7/default.nix
index d7864d1..857ed02 100644
--- a/pkgs/development/compilers/llvm/3.7/default.nix
+++ b/pkgs/development/compilers/llvm/3.7/default.nix
@@ -1,6 +1,6 @@
-{ newScope, stdenv, isl, fetchurl, overrideCC, wrapCC }:
+{ newScope, stdenv, isl, fetchurl, overrideCC, wrapCC, libxml2, darwin, perl }:
 let
-  callPackage = newScope (self // { inherit stdenv isl version fetch; });
+  callPackage = newScope (self // { inherit stdenv isl version fetch libxml2 darwin; });

   version = "3.7.1";

diff --git a/pkgs/development/compilers/llvm/3.7/lldb.nix b/pkgs/development/compilers/llvm/3.7/lldb.nix
index fe69130..3416516 100644
--- a/pkgs/development/compilers/llvm/3.7/lldb.nix
+++ b/pkgs/development/compilers/llvm/3.7/lldb.nix
@@ -10,6 +10,9 @@
 , clang-unwrapped
 , python
 , version
+, libxml2
+, darwin
+, perl
 }:

 stdenv.mkDerivation {
@@ -23,7 +26,13 @@ stdenv.mkDerivation {
       scripts/Python/build-swig-Python.sh
   '';

-  buildInputs = [ cmake python which swig ncurses zlib libedit ];
+  buildInputs = [ cmake python which swig ncurses zlib libedit
+
+  libxml2
+  darwin.apple_sdk.frameworks.Foundation
+  perl
+  darwin.bootstrap_cmds
+];

   preConfigure = ''
     export CXXFLAGS="-pthread"

Build lldb

Technical details

System: OSX 10.9+

The problem is that both gdb and  lldb need to be signed in order to work on OSX. It is said that lldb needs the certificate at the build time.
Similar bug in https://github.com/Homebrew/legacy-homebrew/issues/39621
Codesigning guides for lldb and gdb

I'm a little lost: yes, gdb/lldb need an entitlement/signature to actually debug things, but how does the missing header (a compile-time thing as opposed to the runtime entitlements) fit in with the rest of this bug?

@copumpkin
I did not investigate it myself, but homebrew bug mentions that the header is somehow derived from codesign-related stuff.

I only bring it here so that it's, first, documented, and second, to have somebody to tell me that codesigning is not compatible with purity.

Definitely fair, thanks! L
On Thu, Sep 8, 2016 at 12:32 Dmitry Kalinkin<EMAIL_ADDRESS>wrote:

I only bring it here so that it's, first, documented, and second, to have
somebody to tell me that codesigning is not compatible with purity.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/issues/18420#issuecomment-245656940,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAKP-7zy3NaLxmOt6ZQmcLTKmdI_duQks5qoDiSgaJpZM4J3wqy
.

The header file in question, DNBConfig.h, is actually generated during the building process; its missing status is due to parallel building.  With the below patch, I can extend the building process to almost the final stage, where the failure of searching for codesign aborts it.  But as #17406 suggests, there seems to be no simple solutions for this problem.
diff --git a/pkgs/development/compilers/llvm/3.7/lldb.nix b/pkgs/development/compilers/llvm/3.7/lldb.nix
index 294410f998..7ded817d4a 100644
--- a/pkgs/development/compilers/llvm/3.7/lldb.nix
+++ b/pkgs/development/compilers/llvm/3.7/lldb.nix
@@ -10,6 +10,9 @@
 , clang-unwrapped
 , python2
 , version
+, darwin
+, libxml2
+, perl
 }:

 stdenv.mkDerivation {
@@ -23,9 +26,15 @@ stdenv.mkDerivation {
       scripts/Python/build-swig-Python.sh
   '';

-  buildInputs = [ cmake python2 which swig ncurses zlib libedit ];
+  buildInputs = [ cmake python2 which swig ncurses zlib libedit ]
+    ++ stdenv.lib.optionals stdenv.isDarwin
+         (with darwin; [ bootstrap_cmds  ])
+           ++ (with darwin.apple_sdk.frameworks; [ Carbon Cocoa Foundation ])
+           ++ [ libxml2 perl ];

-  preConfigure = ''
+  preConfigure = if stdenv.isDarwin then ''
+    export LDFLAGS="-ldl"
+  '' else ''
     export CXXFLAGS="-pthread"
     export LDFLAGS="-ldl"
   '';
@@ -38,7 +47,7 @@ stdenv.mkDerivation {
     "-DLLDB_DISABLE_LIBEDIT=1" # https://llvm.org/bugs/show_bug.cgi?id=28898
   ];

-  enableParallelBuilding = true;
+  enableParallelBuilding = !stdenv.isDarwin;

   meta = {
     description = "A next-generation high-performance debugger";

@herberteuler Thanks, that's probably good to submit upstream too.
@LnL7's nix-darwin might also have a solution to codesigning and such, using a similar mechanism to the wrappers in NixOS. I'm still not positive that signing can work that way, but it's at least a bit more promising than nothing 😄

@copumpkin Is it possible to have Nixpkgs optionally automatically sign certain binaries with a certificate? The source for code sign is available:
https://opensource.apple.com/source/security_systemkeychain/security_systemkeychain-39457/src/
We could add this as an option in the stdenv. This would make thing non reproducible though. Maybe it's not such a good idea.

I'm pretty sure adding a module for code signing to nix-darwin wouls be pretty straightforward. I'll see if I can get something working.

Are there any updates on this issue, please


Updates to service advertisment usage doc

Description

Goals of this PR are to:

Make it a bit more clear when / why this should be enabled.
Make it more clear what value to use when setting the CALICO_ADVERTISE_CLUSTER_IPS var.
Switch up the "behavior" section so that behavior comes first, implementation comes second.

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

Deploy preview for calico ready!
Built with commit 53b7ac30fa05a8944889a5de0f62e977e02cde22
https://deploy-preview-2315--calico.netlify.com

much better @caseydavenport


explain missing param

https://github.com/twosigma/beaker-notebook/pull/2369

I see that _sessionId is set in bk Session Manager in 3 functions:'reset', 'setSessionId' and 'setup'. Obviously in some cases in tests function 'setEdited' is called before calling functions above. We can to avoid this collision calling function 'setSessionId' with null parameter.


Mutate does not return new data in some components

Bug report
Description / Observed Behavior
I made a hook like useUser. Now calling it bound mutate does not return new data in some components. Like in Login component it returns the data but in parent component it does not return new data. But api calls are happening.
Though removing getItem('token') solves the issue but removing that causes the api calls to always revalidate on focus and yields 400 error as after logout the token is not there. I am not sure if i am missing something here. Or there might be a logical error in my scenario.
This happens with just the case with login mutate. But after mutating with logout the data clears and reflects in parent component though.
Repro Steps / Code Example
 const { data, mutate, error } = useSWR(() => getItem('token') ? '/users/me' : null, userFetcher, {
    shouldRetryOnError: false,
  });

  const loading = !data && !error;
  const loggedOut = error && error.status === 403;

  return {
    loading,
    loggedOut,
    user: data
    mutate,
  };

Additional Context
swr version: 0.3.5
PS: the codebase is with nextjs.

In our case upgrading to 0.3.6 fixed the problem

Yes. 0.3.6 fixed this.


attributedTruncationToken link crashes

(the latest commit:[Truncation] Corrected token link range (fixes #537) #518 #519) the attributedTruncationToken with link calls app to crash on iphone 6, os8.1 for specific text and truncation settings.
crashes at:
[mutableAttributedString addAttributes:link.attributes range:link.result.range];
in line 580. with exception:
NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds (null)

For the text:
SDA博科尼商学院（SDA Bocconi School of Management）成立于1971年。作为博科尼大学的一部分，学院在意大利处于领先地位，并拥有超过30年的MBA教学经验。SDA学院以深入研究、专业教严队伍、紧密结合商业圈而享誉国际。SDA博科尼为自身与商业世界的良好互动而自豪。
with these settings:
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping;
paragraphStyle.alignment = NSTextAlignmentJustified;
NSAttributedString *attributedStr = [[NSAttributedString alloc] initWithString:content attributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                                                paragraphStyle,
                                                                                NSParagraphStyleAttributeName,
                                                                                [UIFont systemFontOfSize:kSystemFontSize],
                                                                                NSFontAttributeName,
                                                                                [UIColor redColor],                            NSForegroundColorAttributeName,nil
                                                                                ]];
label.text = attributedStr;
label.attributedTruncationToken = [[NSAttributedString alloc]<EMAIL_ADDRESS>                                attributes:@{ NSFontAttributeName : [UIFont systemFontOfSize:16.0f],
                                              NSForegroundColorAttributeName : [UIColor blueColor],
                                              NSLinkAttributeName : [NSURL URLWithString:@"fulltext"],
                                              NSUnderlineStyleAttributeName : @NO }];
label.numberOfLines = 6;
CGSize constraint = CGSizeMake(SCREEN_WIDTH-50, 20000.0f);
CGRect rect = [attributedStr boundingRectWithSize:constraint options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin context:nil];

[label setFrame:CGRectMake(25,10,SCREEN_WIDTH-50,rect.size.height)];
[label sizeToFit];

NSLinkAttributeName must contain an NSURL, and we know that it has a failable initializer that may return nil for your example: [NSURL URLWithString:@"fulltext"]. Have you tried using a real full URL?

@jhersh yes I have tried a real full url, but got the same crash with the above text and settings. With other text and the same settings, either a full url or the "fulltext" works just correct. But with the above text, it crashes

Okay, let's revert for now. Clearly not quite fully baked just yet.

I have also tried to remive link attribute in the attributedtruncationtoken and it works fine. So I guess the crash might be related to the link ranges caculation, thought I didnt go deep into the source code

In f243cc5 should it not be (lastLineRange.location+tokenRange.location) rather than (lastLineRange.location+lastLineRange.length)?

I am still seeing this crash. This ticket should probably be reopened


vk-search

Create a subseries of packages for vk-bot that will allow you to search for people, communities, posts, comments.

An example is searching for people.
The search for a person will be combined using all possible data that may be in his profile, for example:

age
country, city
marital status
floor
name
*availability of real photos
**determining appearance from photographs

The main feature is flexible work with databases of different areas of VKontakte. This can be used to search for people who can be simultaneously subscribed to 2 specific communities, and also have a certain person as a friend.


Control the project online. Web support.

Currently Involt works offline, this should be done after the bluetooth support

Feature includes:

Arduino Yun sketch (bridge library) or make the framework deployable directly to yun (app inside yun memory)
ESP8266 sketch: I think it's the basic module to include REST api and Involt support. For other shields it can be easily changed for user - the api will still be the same for software and REST is universal.

Both examples will not require to install as chrome app wich removes the platform from requirements.
It will be possible to work with Involt in browser (and also in mobile browser).

I made a research about working with Arduino and JQuery. I will try to do this with my ESP8266 as soon as I get logic-level converter.

I can't get the esp8266 work correctly but I will try the arduino yun as soon as I get one.

Because of some changes in development instead of BT LE I'm focusing on this support.
My starting point will be Arduino UNO WIFI
Read more: https://github.com/Involt/Involt/wiki/Development-of-the-project

I will split this feature and andd it to 1.1.1

As I can see, even now some users add IoT support to app for storing data in back-end.
It's so individual and there are many ways of development so I will not focus on that directly. Many users don't understand that for this project the IoT security is not priority, why should it?
PS. Many people don't understand that involt is not IoT platform itself. However it's clearly described.
PPS. The online support is doable in app (app<-> database) this feature is about adding the online support for device <-> app.

The problem with adding this feature stuck in the fact that devices and their libraries are not consistent and there are multiple ways of online communication. Now I'm working on figuring out the easiest way for end-user and reduce the necessary configuration steps to minimum.

Looks like UNO Wifi has its libraries far from finish so I will focus on my Adafruit M0 wifi with atwinc1500.

Adding this direct support is more complex than I thought. In fact, without using websockets or sockets from chrome api (or supporting with any server side methods) it's almost impossible to achieve the way how Involt works. IoT is easy as long as you build your project from scratch. It's a huge problem and I didn't realize how problematic could it be, especially if the project has to work on both mobile and desktop.
Current options are:

Websockets:
With different plugins for cordova and node. This could make the communication consistent to current methods. The drawback is the dependency for additional plugins to create the server. Node could use chrome API for tcp so there would be nothing to download additionally... but mobile still requires plugin.

Making websocket server into hardware:
Maybe it's possible to add arduino websocket server implementation.

REST:
In many projects it looks simple to control arduino with REST commands. The problem is the implementation into the way how framework do the job. Problem starts with receiving values from device, framework could use AJAX and polling but the amount of passed data is limited. In fact, this could work without any dependencies.  While sending the GET messages the problem with cross-domain access occurs but the commands works.