Dots appear before animation starts

I've encountered a strange problem.  Dots appear at the end of paths before they paint.  This was reported on another SVG painting program in issue https://github.com/camoconnell/lazy-line-painter/issues/36.   They were seeing this on Safari and Firefox, I'm seeing it on Chrome Version 47.0.2526.106 (64-bit) on Mac OS 10.9.5.
You can see these dots on your page https://maxwellito.github.io/vivus/ on the 't' in 'there'.

I just tested this on an older version, Chrome Version 46.0.2490.86 and the dots don't appear. UIpdating to the latest version brought them back. These tests were done on Mac OS 10.11

Same here Chrome 47.0.2526.106 on Windows

Thanks about the warning. I guess Chrome has changed some parts of SVG treatment, which give me headaches about dashOffset. This is why the dashGap is for in the Vivus options. I guess I'll have to find out which correct value to use. I keep you posted :)
Thanks

Ok, I changed the values Vivus set on strokeDashoffset and strokeDasharray to add some gap before and after.
Demo case available on http://maxwellito.github.io/drafts/vivus-issue-79/
Chrome, Firefox and Safari seems to display it without glitches. I'll try on other browsers during the week (previous Chrome and lovelay Internet Explorers).
Here is a diff for interested people.
@@ -446,7 +446,7 @@ Vivus.prototype.setOptions = function (options) {
   this.isIE        = (window.navigator.userAgent.indexOf('MSIE') !== -1 || window.navigator.userAgent.indexOf('Trident/') !== -1 || window.navigator.userAgent.indexOf('Edge/') !== -1 );
   this.duration    = parsePositiveInt(options.duration, 120);
   this.delay       = parsePositiveInt(options.delay, null);
-  this.dashGap     = parsePositiveInt(options.dashGap, 2);
+  this.dashGap     = parsePositiveInt(options.dashGap, 1);
   this.forceRender = options.hasOwnProperty('forceRender') ? !!options.forceRender : this.isIE;
   this.selfDestroy = !!options.selfDestroy;
   this.onReady     = options.onReady;
@@ -525,13 +525,10 @@ Vivus.prototype.mapping = function () {
     }
     totalLength += pathObj.length;
     this.map.push(pathObj);
-    path.style.strokeDasharray  = pathObj.length + ' ' + (pathObj.length + this.dashGap);
-    path.style.strokeDashoffset = pathObj.length;
+    path.style.strokeDasharray  = pathObj.length + ' ' + (pathObj.length + this.dashGap * 2);
+    path.style.strokeDashoffset = pathObj.length + this.dashGap;
+    pathObj.length += this.dashGap;

-    // Fix IE glitch
-    if (this.isIE) {
-      pathObj.length += this.dashGap;
-    }
     this.renderPath(i);
   }

@@ -640,7 +637,7 @@ Vivus.prototype.trace = function () {
     progress = this.pathTimingFunction(Math.max(0, Math.min(1, progress)));
     if (path.progress !== progress) {
       path.progress = progress;
-      path.el.style.strokeDashoffset = Math.floor(path.length * (1 - progress));
+      path.el.style.strokeDashoffset = path.length * (1 - progress);

Hi,
Thanks for the update.  It’s works, no more dots, but the last line in this image doesn’t draw properly:  http://silvermapleweb.com/jstest/ http://silvermapleweb.com/jstest/, it ends up about half the length shown when you refresh.  The code is set up to draw on click.
/peter

On Dec 27, 2015, at 8:01 AM, maxwellito<EMAIL_ADDRESS>wrote:
Ok, I changed the values Vivus set on strokeDashoffset and strokeDasharray to add some gap before and after.
Demo case available on http://maxwellito.github.io/drafts/vivus-issue-79/ http://maxwellito.github.io/drafts/vivus-issue-79/
Chrome, Firefox and Safari seems to display it without glitches. I'll try on other browsers during the week (previous Chrome and lovelay Internet Explorers).
Here is a diff for interested people.
@@ -446,7 +446,7 @@ Vivus.prototype.setOptions = function (options) {
this.isIE        = (window.navigator.userAgent.indexOf('MSIE') !== -1 || window.navigator.userAgent.indexOf('Trident/') !== -1 || window.navigator.userAgent.indexOf('Edge/') !== -1 );
this.duration    = parsePositiveInt(options.duration, 120);
this.delay       = parsePositiveInt(options.delay, null);

this.dashGap     = parsePositiveInt(options.dashGap, 2);

this.dashGap     = parsePositiveInt(options.dashGap, 1);
this.forceRender = options.hasOwnProperty('forceRender') ? !!options.forceRender : this.isIE;
this.selfDestroy = !!options.selfDestroy;
this.onReady     = options.onReady;
@@ -525,13 +525,10 @@ Vivus.prototype.mapping = function () {
}
totalLength += pathObj.length;
this.map.push(pathObj);

path.style.strokeDasharray  = pathObj.length + ' ' + (pathObj.length + this.dashGap);
path.style.strokeDashoffset = pathObj.length;

path.style.strokeDasharray  = pathObj.length + ' ' + (pathObj.length + this.dashGap * 2);
path.style.strokeDashoffset = pathObj.length + this.dashGap;
pathObj.length += this.dashGap;

// Fix IE glitch
if (this.isIE) {

 pathObj.length += this.dashGap;

}
this.renderPath(i);
}

@@ -640,7 +637,7 @@ Vivus.prototype.trace = function () {
progress = this.pathTimingFunction(Math.max(0, Math.min(1, progress)));
if (path.progress !== progress) {
path.progress = progress;

 path.el.style.strokeDashoffset = Math.floor(path.length * (1 - progress));

 path.el.style.strokeDashoffset = path.length * (1 - progress);

—
Reply to this email directly or view it on GitHub https://github.com/maxwellito/vivus/issues/79#issuecomment-167406338.

Hi @PeterWooster
Thanks for the feedback and nice catch!
I realised the issue was coming from a little mistake in the algorithm. I was calculating the total length of all path but without the dashGap. My draft page still works, and your demo is now working :)
Here is the diff https://github.com/maxwellito/drafts/commit/49435e6997f26aff354f14851297d2b575d751ee

Thanks,
I’ll give it a try on our system tomorrow.
/peter
On Dec 29, 2015, at 6:13 PM, maxwellito<EMAIL_ADDRESS>wrote:

Hi @PeterWooster
Thanks for the feedback and nice catch!
I realised the issue was coming from a little mistake in the algorithm. I was calculating the total length of all path but without the dashGap. My draft page still works, and your demo is now working :)
Here is the diff maxwellito/drafts@49435e6
—
Reply to this email directly or view it on GitHub.

Sorry for the long delay :-S
But here is the v0.3.0 ready to be released. It's on the dev branch. I added a manual test page to check this kind of glitches in the future. I don't know if somebody would like to test it quickly, but feedback is always welcome. Otherwise it should be published in the next days.


S3 AuthenticatedUsers Permission Alert

Add rule that will alert if any S3 buckets are configured with the AuthenticatedUsers S3 bucket permission which would make the bucket world readable or writable to anyone with an AWS account as long as the user had authenticated to AWS prior

Hi @phundisk,
This custom signature should work in most cases. I recently noticed that if your S3 bucket is not in us-east-1 and follow dns naming ( bucket name has dots ), you will get Permanent Redirect Error "The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint."
To workaround this issue, you could set the custom signature to run on each region (remove c.valid_regions) and process buckets in the respective region.
See s3_bucket_no_web_hosting.rb
on https://github.com/EvidentSecurity/custom_signatures/pull/10/files for reference.
-AS

@asetiawan good catch, I fixed the PR to remove the valid_regions

Now that you remove the valid_regions, this custom signature will run on every region. (and each region will return bucket names of all regions)
you might want to get the bucket location and skip processing buckets from another regions.
Something like:
bucket_location = aws.s3.get_bucket_location(bucket: bucket_name).location_constraint

# AWS may return "" for buckets in us-east-1
if bucket_location == ""
  next if aws.s3.config[:region] != "us-east-1"
elsif bucket_location != aws.s3.config[:region]
  next
end


Issue with endpoint

When I type this code:
btc_headlines = newsapi.get_everything(q="bitcoin", language="en", page_size=100,sort_by="relevancy")
btc_articles = btc_headlines["articles"]
btc_articles[0]
I get error:
TypeError: expected string or bytes-like object
Could you please advise what could be the issue? Thanks.
Note: This happens on Macbook Pro M1. On Intel Mac it works fine.

Solved. It was an issue with reading .env. It is all working now.


Tablet - Badges away from the icon

Expected behaviour
In device mobile:

Actual behaviour
In tablet:

What have you tried
@satya164 : I tried it simply on the tablet, how can I make the badge not so far from the icon as it happens on the device phone.

@satya164 : Are there any news?

@satya164 : Are there any news?

how do you fix it ?

@vhuytiki :   There is no solution, I can not find it. Ask the developers if there are any news.

Hey, I just released a new alpha 2.0.0-alpha.0 of the library. It's rewritten using react-native-gesture-handler and react-native-reanimated addresses a many platform specific bugs and performance problems. The documentation is updated as well.
Please try the new version and see if it addresses your issue. If not, please open a new issue following the issue template.


Unable to use latest release

Hi,
I was using an older version quite some time ago with success, I was able to run ./awscli, get prompted for username and password, choose my okta role and then the AWS role policy I wanted to assume.  From there I was able to use the profile as expected (primary use is with Terraform) and assume roles in other accounts.
Since that version it looks like quite a bit has changed.
Now when running awscli, I no longer get prompted to assume a role policy, and when I run ./awscli sts get-caller-identity a second time, I get:
Exception in thread "main" java.lang.NullPointerException
        at com.okta.tools.OktaAwsCliAssumeRole.run(OktaAwsCliAssumeRole.java:109)
        at com.okta.tools.awscli.main(awscli.java:31)

Is there something I'm missing?  I was getting the not authorized to perform: sts:AssumeRole on resource but fixed that with the suggested inline policy.

This is a regression on master. Sorry about that.
This is the same issue as #95.
See my workaround here:
https://github.com/oktadeveloper/okta-aws-cli-assume-role/issues/95#issuecomment-370946716


consider using nconf for multiple config files support

https://github.com/cquotient/nemesys/pull/49 enables multiple config files, which will override each other in order.  Also adds YAML support so files can have comments!


Fix formatting in webpack usage example "babel-loader"} ~> "babel-loader" }

Fix formatting in webpack usage example "babel-loader"} ~> "babel-loader" }

Thanks


specter update to 2.0.0 with python 3.10

Adding specter desktop 2.0.0 which needs python 3.10. As it is not available for Debian currently it is installed from the deadsnakes repo and not made default.

[x] tested the update so far
[ ] need to test the new install

On testing I found two problems:

specter systemd service was not "started" after install while status of raspiblitz was state="ready"

after systemd starting manually and calling server in browser after entering password B I got:

@openoms should I merge for rc3?

This PR has details about the config changes: https://github.com/cryptoadvance/specter-desktop/pull/2072

I get this error when I try to run the script on a v1.9.0rc2 base:

The latest state building on Raspiblitz v1.9.0 rc4 with the specter release v2.0.2-pre2:
May 07 08:40:02 raspberrypi python3[592060]: [2023-05-07 08:40:02,676] INFO in server: Initializing Specter with data-folder /home/specter/.specter
May 07 08:40:02 raspberrypi python3[592060]: [2023-05-07 08:40:02,677] INFO in service_manager: ----> starting service discovery Static
May 07 08:40:02 raspberrypi python3[592060]: [2023-05-07 08:40:02,695] INFO in reflection:   Found class SwanService
May 07 08:40:02 raspberrypi python3[592060]: [2023-05-07 08:40:02,714] INFO in reflection:   Found class LiquidissuerService
May 07 08:40:02 raspberrypi python3[592060]: [2023-05-07 08:40:02,723] INFO in reflection:   Found class DevhelpService
May 07 08:40:03 raspberrypi python3[592060]: [2023-05-07 08:40:03,082] INFO in reflection:   Found class NotificationsService
May 07 08:40:03 raspberrypi python3[592060]: [2023-05-07 08:40:03,096] INFO in reflection:   Found class ExfundService
May 07 08:40:03 raspberrypi python3[592060]: [2023-05-07 08:40:03,099] INFO in reflection:   Found class FaucetService
May 07 08:40:03 raspberrypi python3[592060]: [2023-05-07 08:40:03,103] INFO in reflection:   Found class ElectrumService
May 07 08:40:04 raspberrypi python3[592060]: Traceback (most recent call last):
May 07 08:40:04 raspberrypi python3[592060]:   File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
May 07 08:40:04 raspberrypi python3[592060]:     return _run_code(code, main_globals, None,
May 07 08:40:04 raspberrypi python3[592060]:   File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
May 07 08:40:04 raspberrypi python3[592060]:     exec(code, run_globals)
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/cryptoadvance/specter/__main__.py", line 7, in <module>
May 07 08:40:04 raspberrypi python3[592060]:     entry_point()
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
May 07 08:40:04 raspberrypi python3[592060]:     return self.main(*args, **kwargs)
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/click/core.py", line 1055, in main
May 07 08:40:04 raspberrypi python3[592060]:     rv = self.invoke(ctx)
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
May 07 08:40:04 raspberrypi python3[592060]:     return _process_result(sub_ctx.command.invoke(sub_ctx))
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
May 07 08:40:04 raspberrypi python3[592060]:     return ctx.invoke(self.callback, **ctx.params)
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/click/core.py", line 760, in invoke
May 07 08:40:04 raspberrypi python3[592060]:     return __callback(*args, **kwargs)
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/cryptoadvance/specter/cli/cli_server.py", line 151, in server
May 07 08:40:04 raspberrypi python3[592060]:     init_app(app, hwibridge=hwibridge)
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/cryptoadvance/specter/server.py", line 166, in init_app
May 07 08:40:04 raspberrypi python3[592060]:     specter.service_manager = ExtensionManager(
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/cryptoadvance/specter/managers/service_manager/service_manager.py", line 56, in __init__
May 07 08:40:04 raspberrypi python3[592060]:     class_list = get_classlist_of_type_clazz_from_modulelist(
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/cryptoadvance/specter/util/reflection.py", line 94, in get_classlist_of_type_clazz_from_modulelist
May 07 08:40:04 raspberrypi python3[592060]:     module = import_module(fq_module_name)
May 07 08:40:04 raspberrypi python3[592060]:   File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
May 07 08:40:04 raspberrypi python3[592060]:     return _bootstrap._gcd_import(name[level:], package, level)
May 07 08:40:04 raspberrypi python3[592060]:   File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
May 07 08:40:04 raspberrypi python3[592060]:   File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
May 07 08:40:04 raspberrypi python3[592060]:   File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
May 07 08:40:04 raspberrypi python3[592060]:   File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
May 07 08:40:04 raspberrypi python3[592060]:   File "<frozen importlib._bootstrap_external>", line 883, in exec_module
May 07 08:40:04 raspberrypi python3[592060]:   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/cryptoadvance/specterext/spectrum/service.py", line 15, in <module>
May 07 08:40:04 raspberrypi python3[592060]:     from cryptoadvance.specterext.spectrum.spectrum_node import SpectrumNode
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/cryptoadvance/specterext/spectrum/spectrum_node.py", line 4, in <module>
May 07 08:40:04 raspberrypi python3[592060]:     from cryptoadvance.specterext.spectrum.bridge_rpc import BridgeRPC
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/cryptoadvance/specterext/spectrum/bridge_rpc.py", line 15, in <module>
May 07 08:40:04 raspberrypi python3[592060]:     from cryptoadvance.spectrum.spectrum import RPCError as SpectrumRpcError
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/cryptoadvance/spectrum/spectrum.py", line 26, in <module>
May 07 08:40:04 raspberrypi python3[592060]:     from .db import UTXO, Descriptor, Script, Tx, TxCategory, Wallet, db
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/cryptoadvance/spectrum/db.py", line 7, in <module>
May 07 08:40:04 raspberrypi python3[592060]:     from flask_sqlalchemy import SQLAlchemy
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/flask_sqlalchemy/__init__.py", line 5, in <module>
May 07 08:40:04 raspberrypi python3[592060]:     from .extension import SQLAlchemy
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/flask_sqlalchemy/extension.py", line 23, in <module>
May 07 08:40:04 raspberrypi python3[592060]:     from .session import _app_ctx_id
May 07 08:40:04 raspberrypi python3[592060]:   File "/home/specter/.env/lib/python3.10/site-packages/flask_sqlalchemy/session.py", line 8, in <module>
May 07 08:40:04 raspberrypi python3[592060]:     from flask.globals import app_ctx
May 07 08:40:04 raspberrypi python3[592060]: ImportError: cannot import name 'app_ctx' from 'flask.globals' (/home/specter/.env/lib/python3.10/site-packages/flask/globals.py)
May 07 08:40:06 raspberrypi systemd[1]: specter.service: Main process exited, code=exited, status=1/FAILURE

Rebased. Now with the RPi base image on Debian12 only minimal chnages are needed overall.

The install runs ok, but needs https://github.com/cryptoadvance/specter-desktop/issues/2393 to be fixed.

The dependencies causing the install error are updated, but since we are installing Specter with pip will need a new release to include the fix.

@openoms what is the latest status here? Do we still target this v1.11.1?

There was still no release of Specter, we might need to look into deprecating it if there is  no continued maintenance.

New Specter releases are out so due to test.

Updated successfully on RPi5 and amd64, old data was preserved.

Maybe in the future we can already perconfigure the local Bitcoin Core with a fresh Specter install - see #4593
Buit this looks good for v1.11.1 release


Add support for ThenByDescending

This query won't work because we're missing ThenByDescending
from c in db.Table()
orderby c.Year descending, c.Make descending
select c

Just ran a simple test and all seems good.
    [Fact]
    public void Ordering_by_two_columns()
    {
        // Arrange
        File.Delete("Test.db");
        var db = new SQLiteConnection(Path.Combine(Directory.GetCurrentDirectory(), "Test.db"));
        db.CreateTable<Account>();
        db.Insert(new Account { Id = 1, Balance = 100, Currency = "USD" });
        db.Insert(new Account { Id = 2, Balance = 100, Currency = "EUR" });
        db.Insert(new Account { Id = 3, Balance = 999, Currency = "USD" });
        db.Insert(new Account { Id = 4, Balance = 999, Currency = "EUR" });

        // Act
        var actual = db.Table<Account>()
            .OrderBy(x => x.Currency)
            .ThenByDescending(x => x.Balance)
            .ToList();

        // Assert
        actual.Should().BeEquivalentTo(new[]
        {
            new Account { Id = 4, Balance = 999, Currency = "EUR" },
            new Account { Id = 2, Balance = 100, Currency = "EUR" },
            new Account { Id = 3, Balance = 999, Currency = "USD" },
            new Account { Id = 1, Balance = 100, Currency = "USD" },
        });
    }

Should this be closed?


Assertion needs to be disabled while reset is asserted

There are a few assertions in ibex_load_store_unit which are not disabled while reset is asserted. This could cause some false firing if some signals are x when reset is asserted.
e.g. ibex_load_store_unit.sv:457
  assert property (
    @(posedge clk) (CS == IDLE) |-> (data_rvalid_i == 1'b0) );

I see almost every assertion not using the disable statement. I think it would make sense to update all of those to avoid any false failure (specially in formal runs!)


Send a signal when response is clicked!

Is your feature request related to a problem? Please describe.
When player chooses a response send a notification similar to got_dialogue.emit(dialogue) so it could have meaning in games.
Additional context
Was trying to play a voice for player actions, and it did not work through got_dialogue, nor did I find any signals that would be similar.

Handling response choices is something you'd implement in your custom balloon. If you clone the example balloon using the Project > Tools > Create Copy of Dialogue Example Balloon... menu item then you can modify the method that handles the response chosen signal.


Inject Application into param converter

I need to inject the application object into a param converter because I need access to my database connection. However, currently only the param and the Request objects are passed, even when type-hinting:
$router->convert('project', function ($id, Application $app) {
    return Project::findById($id, $app['db']);
});

You can pass the application via use to the converter function.
$router->convert('project', function ($id) use ($app) {
    return Project::findById($id, $app['db']);
});

@glaubinix Not if $app is not in the scope. I mean, you could make that argument for every occasion where it is possible to inject Application. I am structuring my routes across multiple files by returning a ControllerCollection in each file. If it is the recommended way to depend on global variables like $app, then what is the point of having a DI container? I could just aswell use global $db, $config or singletons.

I found this workaround, but it feels like a hack:
$router->before(function (Request $request, Application $app) {
    if ($request->attributes->has('project')) {
        $request->attributes->set('project', Project::findById($request->attributes->get('project'), $app['db']));
    }
});

Wouldn't injecting be much better for testing than globals? ;)

I don't think this is the recommended way. It's just the closest one to your sample code.
The recommended way to setup routes is to use the ControllerProviderInterface and define your routes and converters in connect methods and mount your ControllerProviders.
Classes implementing the ControllerProviderInterface or ServiceProviderInterface should probably be the only places where you access $app.
If you are not happy with the function, you could also create a converter class and use it like this.
$router->convert('project', $app['projectconverter']);

@glaubinix But with ControllerProviderInterface, the nice express-like syntax gets exchanged for so much bloat. Suddenly I have a class for every single route with just a single method on it, connect(). Which in turn connects routes to closures or other controller classes. Why do I need a class for something that would only take one closure in theory?

@felixfbecker then in your case you should rely on $app being in the scope as the needed container.
The use is the way to go.
It's even recommended to create your controller collection from the $app :
// controllers/blog.php
$blog = $app['controllers_factory'];

$blog->get('/', function ($param) {
    // ...
})
    ->convert('param', function ( ... ) use ($app) {
    //...
});

$app->mount('/blog', $blog);

see http://silex.sensiolabs.org/doc/organizing_controllers.html

@felixfbecker, do you need anything else with this?

@ragboyjr Shortly after this I discovered PHP-DI, which I find much nicer than Pimple. They provide a Silex Bridge that allows arbitrary injection into controllers and I implemented injection into middleware and param converters in https://github.com/PHP-DI/Silex-Bridge/pull/16. I have this in production now and am very satisfied with the solution :)

Thanks for the feedback @felixfbecker


Allow scaling of subset of bqm biases

Application
In the case of embedded bqm's, it would be useful to be able to scale the original biases without scaling the chain biases
Proposed Solution/Alternatives Considered
Pattern A:
bqm.lock_interactions([('a', 'b'), ('b', 'c')])
bqm.scale(.5)

Pattern B:
bqm.scale(.5, exclude_interactions=[('a', 'b'), ('b', 'c')])

@conta877

I like B.


Update version constraints, fix CI Workflow, update to latest SDK version.

Due to the need to force push commits on my repo I closed the other PR and opened this "cleaner" one.
I can start to tidy up and move us to PHP 8 / Laravel 9 when we chat.

Thank you!


Write-ModuleStubFile: Add Aliases for Functions

Pull Request (PR) description
When a stub file is created for a module, also create the aliases for the cmdlets within the module.
This Pull Request (PR) fixes the following issues
Fixes #1224
Task list

[X] Added an entry under the Unreleased section of the change log in the CHANGELOG.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[X] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[X] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[X] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

Codecov Report

Merging #1225 into dev will not change coverage.
The diff coverage is n/a.

@@         Coverage Diff          @@
##            dev   #1225   +/-   ##
====================================
  Coverage    97%     97%
====================================
  Files        34      34
  Lines      4165    4165
====================================
  Hits       4077    4077
  Misses       88      88

A side comment/question; I wonder if it would be more appropriate if this function lived in the DscResources.Tests module.

@randomnote1 Yes I would be better to have it in the DsResource.Tests module, but if we do that it needs to be generic - be able to remove different types for example. Things that are hard-coded today. But it would be a great addition, because it is needed in other modules as well.


[Bug Report] Comments in docs don't show up as text blocks

Describe the bug
Not completely sure, but I think this block should not appear as a comment but as a text block.
https://gymnasium.farama.org/tutorials/environment_creation/

Code example
No response
System info
No response
Additional context
No response
Checklist

[X] I have checked that there is no similar issue in the repo

Also, the indentation of _render_frame is broken


add settings

even the most opiniated addon should offer some settings

[x] allow some control over hardcoded values (e.g. 4h cache period, API timeout, ...)
[x] option to clear the Kodi internal thumbnail cache
[x] option to clear addon internal API cache
[x] display what series have been added to favourites

https://kodi.wiki/view/Add-on_settings

more settings to come with #6


pip installation error - ERROR: Failed building wheel for vllm

Dear the team,
Thank you for your great work. I have tried to install vllm on my server Linux environment. I got an unexpected error. Could you please advise soon? Thanks!
ENV:
Pytorch: pip install torch==2.0.0+cu118 torchvision==0.15.1+cu118 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118
Python: 3.8.17
CUDA: 12

ERROR:
pip install vllm
Collecting vllm
  Using cached vllm-0.1.3.tar.gz (102 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting ninja (from vllm)
  Using cached ninja-1.11.1-py2.py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (145 kB)
Collecting psutil (from vllm)
  Using cached psutil-5.9.5-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (282 kB)
Collecting ray>=2.5.1 (from vllm)
  Obtaining dependency information for ray>=2.5.1 from https://files.pythonhosted.org/packages/2a/9c/4ab1fe33db75eab17d6ef2822c3d418ba47a1a487653b24e5de694410aa4/ray-2.6.3-cp38-cp38-manylinux2014_x86_64.whl.metadata
  Using cached ray-2.6.3-cp38-cp38-manylinux2014_x86_64.whl.metadata (12 kB)
Collecting sentencepiece (from vllm)
  Using cached sentencepiece-0.1.99-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)
Collecting numpy (from vllm)
  Obtaining dependency information for numpy from https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Using cached numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.6 kB)
Collecting torch>=2.0.0 (from vllm)
  Using cached torch-2.0.1-cp38-cp38-manylinux1_x86_64.whl (619.9 MB)
Collecting transformers>=4.31.0 (from vllm)
  Obtaining dependency information for transformers>=4.31.0 from https://files.pythonhosted.org/packages/21/02/ae8e595f45b6c8edee07913892b3b41f5f5f273962ad98851dc6a564bbb9/transformers-4.31.0-py3-none-any.whl.metadata
  Using cached transformers-4.31.0-py3-none-any.whl.metadata (116 kB)
Collecting xformers>=0.0.19 (from vllm)
  Obtaining dependency information for xformers>=0.0.19 from https://files.pythonhosted.org/packages/ce/4a/3b0368fad4ff89ab25fe8276512dce160bbfe33b7a7e43c2502f08b175d6/xformers-0.0.21-cp38-cp38-manylinux2014_x86_64.whl.metadata
  Using cached xformers-0.0.21-cp38-cp38-manylinux2014_x86_64.whl.metadata (1.0 kB)
Collecting fastapi (from vllm)
  Obtaining dependency information for fastapi from https://files.pythonhosted.org/packages/09/ae/8378894f9fbdf0297cdffdc79496ccd779166d675fec47cad8d2ca782739/fastapi-0.101.1-py3-none-any.whl.metadata
  Using cached fastapi-0.101.1-py3-none-any.whl.metadata (23 kB)
Collecting uvicorn (from vllm)
  Obtaining dependency information for uvicorn from https://files.pythonhosted.org/packages/79/96/b0882a1c3f7ef3dd86879e041212ae5b62b4bd352320889231cc735a8e8f/uvicorn-0.23.2-py3-none-any.whl.metadata
  Using cached uvicorn-0.23.2-py3-none-any.whl.metadata (6.2 kB)
Collecting pydantic<2 (from vllm)
  Obtaining dependency information for pydantic<2 from https://files.pythonhosted.org/packages/5d/68/7a0c5f8b854d3fad9cd82a6312205025597481e46b4ec36f6dea4f1fb93b/pydantic-1.10.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Using cached pydantic-1.10.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (149 kB)
Collecting typing-extensions>=4.2.0 (from pydantic<2->vllm)
  Obtaining dependency information for typing-extensions>=4.2.0 from https://files.pythonhosted.org/packages/ec/6b/63cc3df74987c36fe26157ee12e09e8f9db4de771e0f3404263117e75b95/typing_extensions-4.7.1-py3-none-any.whl.metadata
  Using cached typing_extensions-4.7.1-py3-none-any.whl.metadata (3.1 kB)
Collecting click>=7.0 (from ray>=2.5.1->vllm)
  Obtaining dependency information for click>=7.0 from https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl.metadata
  Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting filelock (from ray>=2.5.1->vllm)
  Obtaining dependency information for filelock from https://files.pythonhosted.org/packages/00/45/ec3407adf6f6b5bf867a4462b2b0af27597a26bd3cd6e2534cb6ab029938/filelock-3.12.2-py3-none-any.whl.metadata
  Using cached filelock-3.12.2-py3-none-any.whl.metadata (2.7 kB)
Requirement already satisfied: jsonschema in /home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages (from ray>=2.5.1->vllm) (4.19.0)
Collecting msgpack<2.0.0,>=1.0.0 (from ray>=2.5.1->vllm)
  Using cached msgpack-1.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (322 kB)
Collecting packaging (from ray>=2.5.1->vllm)
  Using cached packaging-23.1-py3-none-any.whl (48 kB)
Collecting protobuf!=3.19.5,>=3.15.3 (from ray>=2.5.1->vllm)
  Obtaining dependency information for protobuf!=3.19.5,>=3.15.3 from https://files.pythonhosted.org/packages/4c/87/59648989ad7f5ba6fe3c7f8abc555183f28559b6f6cd14ad17a3f0d3094f/protobuf-4.24.1-cp37-abi3-manylinux2014_x86_64.whl.metadata
  Using cached protobuf-4.24.1-cp37-abi3-manylinux2014_x86_64.whl.metadata (540 bytes)
Collecting pyyaml (from ray>=2.5.1->vllm)
  Obtaining dependency information for pyyaml from https://files.pythonhosted.org/packages/c8/6b/6600ac24725c7388255b2f5add93f91e58a5d7efaf4af244fdbcc11a541b/PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Using cached PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
Collecting aiosignal (from ray>=2.5.1->vllm)
  Using cached aiosignal-1.3.1-py3-none-any.whl (7.6 kB)
Collecting frozenlist (from ray>=2.5.1->vllm)
  Obtaining dependency information for frozenlist from https://files.pythonhosted.org/packages/0b/36/c276486f89bee9098332710af2207344f360c6c6f104a4931a7566039b1d/frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Using cached frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.2 kB)
Collecting requests (from ray>=2.5.1->vllm)
  Obtaining dependency information for requests from https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata
  Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting grpcio>=1.32.0 (from ray>=2.5.1->vllm)
  Obtaining dependency information for grpcio>=1.32.0 from https://files.pythonhosted.org/packages/68/a8/7052e6a5c27159f080bb70fb8d8302c0e4bea148fb430acb57f83a8f2733/grpcio-1.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Using cached grpcio-1.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)
Collecting sympy (from torch>=2.0.0->vllm)
  Using cached sympy-1.12-py3-none-any.whl (5.7 MB)
Collecting networkx (from torch>=2.0.0->vllm)
  Using cached networkx-3.1-py3-none-any.whl (2.1 MB)
Collecting jinja2 (from torch>=2.0.0->vllm)
  Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting nvidia-cuda-nvrtc-cu11==11.7.99 (from torch>=2.0.0->vllm)
  Using cached nvidia_cuda_nvrtc_cu11-11.7.99-2-py3-none-manylinux1_x86_64.whl (21.0 MB)
Collecting nvidia-cuda-runtime-cu11==11.7.99 (from torch>=2.0.0->vllm)
  Using cached nvidia_cuda_runtime_cu11-11.7.99-py3-none-manylinux1_x86_64.whl (849 kB)
Collecting nvidia-cuda-cupti-cu11==11.7.101 (from torch>=2.0.0->vllm)
  Using cached nvidia_cuda_cupti_cu11-11.7.101-py3-none-manylinux1_x86_64.whl (11.8 MB)
Collecting nvidia-cudnn-cu11==<IP_ADDRESS> (from torch>=2.0.0->vllm)
  Using cached nvidia_cudnn_cu11-<IP_ADDRESS>-2-py3-none-manylinux1_x86_64.whl (557.1 MB)
Collecting nvidia-cublas-cu11==<IP_ADDRESS> (from torch>=2.0.0->vllm)
  Using cached nvidia_cublas_cu11-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (317.1 MB)
Collecting nvidia-cufft-cu11==<IP_ADDRESS> (from torch>=2.0.0->vllm)
  Using cached nvidia_cufft_cu11-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (168.4 MB)
Collecting nvidia-curand-cu11==<IP_ADDRESS> (from torch>=2.0.0->vllm)
  Using cached nvidia_curand_cu11-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (54.6 MB)
Collecting nvidia-cusolver-cu11==<IP_ADDRESS> (from torch>=2.0.0->vllm)
  Using cached nvidia_cusolver_cu11-<IP_ADDRESS>-2-py3-none-manylinux1_x86_64.whl (102.6 MB)
Collecting nvidia-cusparse-cu11==<IP_ADDRESS> (from torch>=2.0.0->vllm)
  Using cached nvidia_cusparse_cu11-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (173.2 MB)
Collecting nvidia-nccl-cu11==2.14.3 (from torch>=2.0.0->vllm)
  Using cached nvidia_nccl_cu11-2.14.3-py3-none-manylinux1_x86_64.whl (177.1 MB)
Collecting nvidia-nvtx-cu11==11.7.91 (from torch>=2.0.0->vllm)
  Using cached nvidia_nvtx_cu11-11.7.91-py3-none-manylinux1_x86_64.whl (98 kB)
Collecting triton==2.0.0 (from torch>=2.0.0->vllm)
  Using cached triton-2.0.0-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (63.2 MB)
Requirement already satisfied: setuptools in /home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages (from nvidia-cublas-cu11==<IP_ADDRESS>->torch>=2.0.0->vllm) (68.0.0)
Requirement already satisfied: wheel in /home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages (from nvidia-cublas-cu11==<IP_ADDRESS>->torch>=2.0.0->vllm) (0.38.4)
Collecting cmake (from triton==2.0.0->torch>=2.0.0->vllm)
  Obtaining dependency information for cmake from https://files.pythonhosted.org/packages/2e/51/3a4672a819b4532a378bfefad8f886cfe71057556e0d4eefb64523fd370a/cmake-3.27.2-py2.py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata
  Using cached cmake-3.27.2-py2.py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (6.7 kB)
Collecting lit (from triton==2.0.0->torch>=2.0.0->vllm)
  Using cached lit-16.0.6-py3-none-any.whl
Collecting huggingface-hub<1.0,>=0.14.1 (from transformers>=4.31.0->vllm)
  Obtaining dependency information for huggingface-hub<1.0,>=0.14.1 from https://files.pythonhosted.org/packages/7f/c4/adcbe9a696c135578cabcbdd7331332daad4d49b7c43688bc2d36b3a47d2/huggingface_hub-0.16.4-py3-none-any.whl.metadata
  Using cached huggingface_hub-0.16.4-py3-none-any.whl.metadata (12 kB)
Collecting regex!=2019.12.17 (from transformers>=4.31.0->vllm)
  Obtaining dependency information for regex!=2019.12.17 from https://files.pythonhosted.org/packages/1f/5c/374ac3fa3c7ed9a967ad273a5e841897ef6b10aa6aad938ff10717a3e2a3/regex-2023.8.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Using cached regex-2023.8.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (40 kB)
Collecting tokenizers!=0.11.3,<0.14,>=0.11.1 (from transformers>=4.31.0->vllm)
  Using cached tokenizers-0.13.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB)
Collecting safetensors>=0.3.1 (from transformers>=4.31.0->vllm)
  Obtaining dependency information for safetensors>=0.3.1 from https://files.pythonhosted.org/packages/4d/81/9b6ee8bd7faf7ae79afafde28b4e8abbcb897c9aa089d51eb5d0a1f3ffcd/safetensors-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Using cached safetensors-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.5 kB)
Collecting tqdm>=4.27 (from transformers>=4.31.0->vllm)
  Obtaining dependency information for tqdm>=4.27 from https://files.pythonhosted.org/packages/00/e5/f12a80907d0884e6dff9c16d0c0114d81b8cd07dc3ae54c5e962cc83037e/tqdm-4.66.1-py3-none-any.whl.metadata
  Using cached tqdm-4.66.1-py3-none-any.whl.metadata (57 kB)
Collecting starlette<0.28.0,>=0.27.0 (from fastapi->vllm)
  Obtaining dependency information for starlette<0.28.0,>=0.27.0 from https://files.pythonhosted.org/packages/58/f8/e2cca22387965584a409795913b774235752be4176d276714e15e1a58884/starlette-0.27.0-py3-none-any.whl.metadata
  Using cached starlette-0.27.0-py3-none-any.whl.metadata (5.8 kB)
Collecting h11>=0.8 (from uvicorn->vllm)
  Using cached h11-0.14.0-py3-none-any.whl (58 kB)
Collecting fsspec (from huggingface-hub<1.0,>=0.14.1->transformers>=4.31.0->vllm)
  Obtaining dependency information for fsspec from https://files.pythonhosted.org/packages/e3/bd/4c0a4619494188a9db5d77e2100ab7d544a42e76b2447869d8e124e981d8/fsspec-2023.6.0-py3-none-any.whl.metadata
  Using cached fsspec-2023.6.0-py3-none-any.whl.metadata (6.7 kB)
Collecting anyio<5,>=3.4.0 (from starlette<0.28.0,>=0.27.0->fastapi->vllm)
  Obtaining dependency information for anyio<5,>=3.4.0 from https://files.pythonhosted.org/packages/19/24/44299477fe7dcc9cb58d0a57d5a7588d6af2ff403fdd2d47a246c91a3246/anyio-3.7.1-py3-none-any.whl.metadata
  Using cached anyio-3.7.1-py3-none-any.whl.metadata (4.7 kB)
Collecting MarkupSafe>=2.0 (from jinja2->torch>=2.0.0->vllm)
  Obtaining dependency information for MarkupSafe>=2.0 from https://files.pythonhosted.org/packages/de/e2/32c14301bb023986dff527a49325b6259cab4ebb4633f69de54af312fc45/MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Using cached MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)
Requirement already satisfied: attrs>=22.2.0 in /home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages (from jsonschema->ray>=2.5.1->vllm) (23.1.0)
Requirement already satisfied: importlib-resources>=1.4.0 in /home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages (from jsonschema->ray>=2.5.1->vllm) (6.0.1)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages (from jsonschema->ray>=2.5.1->vllm) (2023.7.1)
Requirement already satisfied: pkgutil-resolve-name>=1.3.10 in /home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages (from jsonschema->ray>=2.5.1->vllm) (1.3.10)
Requirement already satisfied: referencing>=0.28.4 in /home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages (from jsonschema->ray>=2.5.1->vllm) (0.30.2)
Requirement already satisfied: rpds-py>=0.7.1 in /home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages (from jsonschema->ray>=2.5.1->vllm) (0.9.2)
Collecting charset-normalizer<4,>=2 (from requests->ray>=2.5.1->vllm)
  Obtaining dependency information for charset-normalizer<4,>=2 from https://files.pythonhosted.org/packages/cb/e7/5e43745003bf1f90668c7be23fc5952b3a2b9c2558f16749411c18039b36/charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Using cached charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (31 kB)
Collecting idna<4,>=2.5 (from requests->ray>=2.5.1->vllm)
  Using cached idna-3.4-py3-none-any.whl (61 kB)
Collecting urllib3<3,>=1.21.1 (from requests->ray>=2.5.1->vllm)
  Obtaining dependency information for urllib3<3,>=1.21.1 from https://files.pythonhosted.org/packages/9b/81/62fd61001fa4b9d0df6e31d47ff49cfa9de4af03adecf339c7bc30656b37/urllib3-2.0.4-py3-none-any.whl.metadata
  Using cached urllib3-2.0.4-py3-none-any.whl.metadata (6.6 kB)
Collecting certifi>=2017.4.17 (from requests->ray>=2.5.1->vllm)
  Obtaining dependency information for certifi>=2017.4.17 from https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl.metadata
  Using cached certifi-2023.7.22-py3-none-any.whl.metadata (2.2 kB)
Collecting mpmath>=0.19 (from sympy->torch>=2.0.0->vllm)
  Using cached mpmath-1.3.0-py3-none-any.whl (536 kB)
Collecting sniffio>=1.1 (from anyio<5,>=3.4.0->starlette<0.28.0,>=0.27.0->fastapi->vllm)
  Using cached sniffio-1.3.0-py3-none-any.whl (10 kB)
Collecting exceptiongroup (from anyio<5,>=3.4.0->starlette<0.28.0,>=0.27.0->fastapi->vllm)
  Obtaining dependency information for exceptiongroup from https://files.pythonhosted.org/packages/ad/83/b71e58666f156a39fb29417e4c8ca4bc7400c0dd4ed9e8842ab54dc8c344/exceptiongroup-1.1.3-py3-none-any.whl.metadata
  Using cached exceptiongroup-1.1.3-py3-none-any.whl.metadata (6.1 kB)
Requirement already satisfied: zipp>=3.1.0 in /home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages (from importlib-resources>=1.4.0->jsonschema->ray>=2.5.1->vllm) (3.16.2)
Using cached pydantic-1.10.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB)
Using cached ray-2.6.3-cp38-cp38-manylinux2014_x86_64.whl (57.0 MB)
Using cached numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
Using cached transformers-4.31.0-py3-none-any.whl (7.4 MB)
Using cached xformers-0.0.21-cp38-cp38-manylinux2014_x86_64.whl (167.0 MB)
Using cached fastapi-0.101.1-py3-none-any.whl (65 kB)
Using cached uvicorn-0.23.2-py3-none-any.whl (59 kB)
Using cached click-8.1.7-py3-none-any.whl (97 kB)
Using cached grpcio-1.57.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB)
Using cached huggingface_hub-0.16.4-py3-none-any.whl (268 kB)
Using cached protobuf-4.24.1-cp37-abi3-manylinux2014_x86_64.whl (311 kB)
Using cached PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (736 kB)
Using cached regex-2023.8.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (774 kB)
Using cached safetensors-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)
Using cached starlette-0.27.0-py3-none-any.whl (66 kB)
Using cached tqdm-4.66.1-py3-none-any.whl (78 kB)
Using cached typing_extensions-4.7.1-py3-none-any.whl (33 kB)
Using cached frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (220 kB)
Using cached filelock-3.12.2-py3-none-any.whl (10 kB)
Using cached requests-2.31.0-py3-none-any.whl (62 kB)
Using cached anyio-3.7.1-py3-none-any.whl (80 kB)
Using cached certifi-2023.7.22-py3-none-any.whl (158 kB)
Using cached charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (199 kB)
Using cached MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)
Using cached urllib3-2.0.4-py3-none-any.whl (123 kB)
Using cached cmake-3.27.2-py2.py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (26.1 MB)
Using cached fsspec-2023.6.0-py3-none-any.whl (163 kB)
Using cached exceptiongroup-1.1.3-py3-none-any.whl (14 kB)
Building wheels for collected packages: vllm
  Building wheel for vllm (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for vllm (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [134 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-38
      creating build/lib.linux-x86_64-cpython-38/vllm
      copying vllm/outputs.py -> build/lib.linux-x86_64-cpython-38/vllm
      copying vllm/config.py -> build/lib.linux-x86_64-cpython-38/vllm
      copying vllm/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm
      copying vllm/sequence.py -> build/lib.linux-x86_64-cpython-38/vllm
      copying vllm/logger.py -> build/lib.linux-x86_64-cpython-38/vllm
      copying vllm/block.py -> build/lib.linux-x86_64-cpython-38/vllm
      copying vllm/utils.py -> build/lib.linux-x86_64-cpython-38/vllm
      copying vllm/sampling_params.py -> build/lib.linux-x86_64-cpython-38/vllm
      creating build/lib.linux-x86_64-cpython-38/vllm/engine
      copying vllm/engine/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm/engine
      copying vllm/engine/arg_utils.py -> build/lib.linux-x86_64-cpython-38/vllm/engine
      copying vllm/engine/ray_utils.py -> build/lib.linux-x86_64-cpython-38/vllm/engine
      copying vllm/engine/async_llm_engine.py -> build/lib.linux-x86_64-cpython-38/vllm/engine
      copying vllm/engine/llm_engine.py -> build/lib.linux-x86_64-cpython-38/vllm/engine
      creating build/lib.linux-x86_64-cpython-38/vllm/model_executor
      copying vllm/model_executor/weight_utils.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor
      copying vllm/model_executor/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor
      copying vllm/model_executor/model_loader.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor
      copying vllm/model_executor/utils.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor
      copying vllm/model_executor/input_metadata.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor
      creating build/lib.linux-x86_64-cpython-38/vllm/transformers_utils
      copying vllm/transformers_utils/tokenizer.py -> build/lib.linux-x86_64-cpython-38/vllm/transformers_utils
      copying vllm/transformers_utils/config.py -> build/lib.linux-x86_64-cpython-38/vllm/transformers_utils
      copying vllm/transformers_utils/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm/transformers_utils
      creating build/lib.linux-x86_64-cpython-38/vllm/entrypoints
      copying vllm/entrypoints/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm/entrypoints
      copying vllm/entrypoints/llm.py -> build/lib.linux-x86_64-cpython-38/vllm/entrypoints
      copying vllm/entrypoints/api_server.py -> build/lib.linux-x86_64-cpython-38/vllm/entrypoints
      creating build/lib.linux-x86_64-cpython-38/vllm/worker
      copying vllm/worker/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm/worker
      copying vllm/worker/cache_engine.py -> build/lib.linux-x86_64-cpython-38/vllm/worker
      copying vllm/worker/worker.py -> build/lib.linux-x86_64-cpython-38/vllm/worker
      creating build/lib.linux-x86_64-cpython-38/vllm/core
      copying vllm/core/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm/core
      copying vllm/core/scheduler.py -> build/lib.linux-x86_64-cpython-38/vllm/core
      copying vllm/core/policy.py -> build/lib.linux-x86_64-cpython-38/vllm/core
      copying vllm/core/block_manager.py -> build/lib.linux-x86_64-cpython-38/vllm/core
      creating build/lib.linux-x86_64-cpython-38/vllm/model_executor/layers
      copying vllm/model_executor/layers/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/layers
      copying vllm/model_executor/layers/layernorm.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/layers
      copying vllm/model_executor/layers/sampler.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/layers
      copying vllm/model_executor/layers/activation.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/layers
      copying vllm/model_executor/layers/attention.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/layers
      creating build/lib.linux-x86_64-cpython-38/vllm/model_executor/parallel_utils
      copying vllm/model_executor/parallel_utils/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/parallel_utils
      copying vllm/model_executor/parallel_utils/parallel_state.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/parallel_utils
      creating build/lib.linux-x86_64-cpython-38/vllm/model_executor/models
      copying vllm/model_executor/models/falcon.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/models
      copying vllm/model_executor/models/gpt_neox.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/models
      copying vllm/model_executor/models/bloom.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/models
      copying vllm/model_executor/models/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/models
      copying vllm/model_executor/models/gpt2.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/models
      copying vllm/model_executor/models/llama.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/models
      copying vllm/model_executor/models/mpt.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/models
      copying vllm/model_executor/models/opt.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/models
      copying vllm/model_executor/models/gpt_bigcode.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/models
      copying vllm/model_executor/models/gpt_j.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/models
      copying vllm/model_executor/models/baichuan.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/models
      creating build/lib.linux-x86_64-cpython-38/vllm/model_executor/parallel_utils/tensor_parallel
      copying vllm/model_executor/parallel_utils/tensor_parallel/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/parallel_utils/tensor_parallel
      copying vllm/model_executor/parallel_utils/tensor_parallel/layers.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/parallel_utils/tensor_parallel
      copying vllm/model_executor/parallel_utils/tensor_parallel/utils.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/parallel_utils/tensor_parallel
      copying vllm/model_executor/parallel_utils/tensor_parallel/random.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/parallel_utils/tensor_parallel
      copying vllm/model_executor/parallel_utils/tensor_parallel/mappings.py -> build/lib.linux-x86_64-cpython-38/vllm/model_executor/parallel_utils/tensor_parallel
      creating build/lib.linux-x86_64-cpython-38/vllm/transformers_utils/configs
      copying vllm/transformers_utils/configs/falcon.py -> build/lib.linux-x86_64-cpython-38/vllm/transformers_utils/configs
      copying vllm/transformers_utils/configs/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm/transformers_utils/configs
      copying vllm/transformers_utils/configs/mpt.py -> build/lib.linux-x86_64-cpython-38/vllm/transformers_utils/configs
      copying vllm/transformers_utils/configs/baichuan.py -> build/lib.linux-x86_64-cpython-38/vllm/transformers_utils/configs
      creating build/lib.linux-x86_64-cpython-38/vllm/entrypoints/openai
      copying vllm/entrypoints/openai/__init__.py -> build/lib.linux-x86_64-cpython-38/vllm/entrypoints/openai
      copying vllm/entrypoints/openai/protocol.py -> build/lib.linux-x86_64-cpython-38/vllm/entrypoints/openai
      copying vllm/entrypoints/openai/api_server.py -> build/lib.linux-x86_64-cpython-38/vllm/entrypoints/openai
      running build_ext
      Traceback (most recent call last):
        File "/home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/bizon/miniconda3/envs/myenv/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 434, in build_wheel
          return self._build_with_temp_dir(
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 419, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 341, in run_setup
          exec(code, locals())
        File "<string>", line 145, in <module>
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/__init__.py", line 107, in setup
          return distutils.core.setup(**attrs)
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 1233, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 349, in run
          self.run_command("build")
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 1233, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 131, in run
          self.run_command(cmd_name)
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 1233, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 88, in run
          _build_ext.run(self)
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
          self.build_extensions()
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 499, in build_extensions
          _check_cuda_version(compiler_name, compiler_version)
        File "/tmp/pip-build-env-ntqotulk/overlay/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 387, in _check_cuda_version
          raise RuntimeError(CUDA_MISMATCH_MESSAGE.format(cuda_str_version, torch.version.cuda))
      RuntimeError:
      The detected CUDA version (12.0) mismatches the version that was used to compile
      PyTorch (11.7). Please make sure to use the same CUDA versions.

      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for vllm
Failed to build vllm
ERROR: Could not build wheels for vllm, which is required to install pyproject.toml-based projects

I checked the versions of Pytorch CUDA and CUDA Toolkit on Colab, they are the same as above but I can install VLLM on Colab successfully.

Hello,
Based on the information you provided, it seems that there might be a misconfiguration in your environment. Specifically, the version of CUDA you have installed is not compatible with vLLm. The project requires CUDA 11.8, while you currently have CUDA 12 installed.
There is a docker image with the correct environment already:
"nvcr.io/nvidia/pytorch:22.12-py3"
If you pull the docker image, inside the docker container you will need first to uninstall torch, and then install the requirements of the vLLm project, otherwise you could get same error.
I hope this solves your error.

https://github.com/vllm-project/vllm/pull/746
This will be merged soon and should solve the issue here.

How come I can install on Colab successfully? Any explanation for it>?

@dxlong2000 In the latest release and henceforth, vLLM is published with pre-built CUDA binaries. We've checked out that the new wheels work with Colab. Please try out pip install vllm and let us know if it does not work for you.

I also met this problem:I can install with pip,but cannot build from source..?


Uptime Kuma entities not available in HA

Problem/Motivation

UptimeKuma sensor entities dissapeared in HA, showing "Error in describing condition: can't access property "entity_id" of undefined"; manual check for entity availability shows no custom UptimeKuma monitors are populated into HA.

Expected behavior

Custom UptimeKuma monitors should be auto-populated after addon-start

Actual behavior

UptimeKuma sensor entities dissapeared in HA, only the below are available, none of the custom monitors are available

Uptime Kuma Running
uptimekuma ha local

Steps to reproduce

Let UptimeKuma run for over 90 days with 28 monitor entities, wait for the database to grow over 2GB (2397.6 GB) While settings are configured to keep only 1 day history.

Proposed changes

Vacuum function clearly not working: "Trigger database VACUUM for SQLite. If your database is created after 1.10.0, AUTO_VACUUM is already enabled and this action is not needed."
This is a re-occurring issue once the database grows above 2GB, having a setting to keep history for 1 days does not do anything.

Current workaround (reinstall UptimeKuma addon)

Export all settings manually (since the backup feature does not work and you cannot access the data folder for UptimeKuma on HAOS)
Completely uninstall UptimeKuma addon
Reboot HAOS
Reinstall Uptime Kuma Addon (HA integration can stay as it was), reboot HAOS
Reconfigure everything from scratch using the same monitor names and settings
Configure database to keep only 1 days of history, observe the second day that th setting is not respected
Wait for some time to the database to grow above 2GB then rinse and repeat all the steps

System details:

HomeAssistant Addon version: 0.12.0
HAOS OVA (VMware) - The issue is independent from HAOS and HA versions.
Core 2024.2.2
Supervisor 2024.01.1
Operating System 11.5
Frontend 20240207.1
CPU: 2 vCPU (Intel Core i7-8700T @ 2.40GHz)
RAM: 4GB (DDR4)

I think you are mixing up things.
This is the Uptime Kuma add-on, not integration...
Please report your issue with the integration author instead.
../Frenck

I think you are mixing up things.
This is the Uptime Kuma add-on, not integration...
Please report your issue with the integration author instead.
../Frenck

This seems to me an issue with the addon, not the integration. If I perform a clean reinstall of the addon that solves the issue. I suspeect this is related to the database size on the addon side, this is my second time with this issue, seems to trigged when database is above 2GB.

Can you please advise what logs to provide to be able to effectively investigate the issue before I do a clean reinstall of the addon and losing all the relevant logs?

Any error in the integration is not a concern for that add-on.
As said, if you have issue with the integration, please report it with the custom integration author.
../Frenck

Bugreport created for the integration: https://github.com/louislam/uptime-kuma/issues/4502


[PHP] Add PHP 8.2

Follow-up to #196185 (PHP 8.4), and #196728 (PHP 8.3).
This PR requests to add PHP 8.2.
Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.9 schema?

Microsoft Reviewers: Open in CodeFlow

+ Commands:
+ - php
+ - php82

Just leaving a note - reading this feels like that you may want WinGet to create multiple aliases (php & php82) for the same php.exe executable added to PATH. That functionality isn't in the CLI implementation yet. You may want to upvote

https://github.com/microsoft/winget-cli/issues/2884

if you feel the PHP package can make use of multiple command aliases


Added very basic leaky bucket rate limiter algorithm

Hi @x-sushant-x ,
I have added a very basic algorithm for leaky bucket rate limiter algorithm, I've gone through the whole code base and would like to make this further better and integrate with the whole system
LMK, if you want me to make further changes into this?
Thanks!

Hi @anveshthakur this is good. I'm merging it.


Prevent commands from showing up in history by setting HISTCONTROL

Found a bug? Maybe our Slack Community can help.

Describe the Bug
Usually if you want to prevent saving commands in history, such as when using chamber, you want to prefix those commands with a space character.
Since the HISTCONTROL is unset, this causes all commands to show up in history even if the command is prefixed with a space.
Here is an example in geodesic
⨠ echo $HISTCONTROL

⨠  pw=helloworld
⨠ history | tail -2 | grep -v grep | grep pw
 2627   pw=helloworld
⨠ HISTCONTROL=ignoreboth
⨠  pw=helloworld
⨠ history | tail -2 | grep -v grep | grep pw
⨠

HISTCONTROL
A colon-separated list of values controlling how commands are saved on the history list. If the list of values includes ‘ignorespace’, lines which begin with a space character are not saved in the history list. A value of ‘ignoredups’ causes lines which match the previous history entry to not be saved. A value of ‘ignoreboth’ is shorthand for ‘ignorespace’ and ‘ignoredups’. A value of ‘erasedups’ causes all previous lines matching the current line to be removed from the history list before that line is saved. Any value not in the above list is ignored. If HISTCONTROL is unset, or does not include a valid value, all lines read by the shell parser are saved on the history list, subject to the value of HISTIGNORE. The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regardless of the value of HISTCONTROL.

https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html

Not a bug, not an issue; preferences like this are why Geodesic has extensive runtime customization options. As delivered, Geodesic provides the default behavior of bash. If you don't like it, you can change it in your preferences.


Button outline overwritten bij firefox styling

Button outline in Firefox is a dotted line, as per its house style. .mdc-button sets outline to none, but in Firefox, with angular, this does not seem to work.
For reference, I have two test applications, one angular, one non-angular. It's fine in the non-angular one.
To Reproduce

Create a simple website, with a button (sorry, stackblitz example seems to be broken)
Open it in firefox
Click the button
It has a dotted outline

What Angular MDC version are you using?
5.1.1
What OS are you using?:
debian 9
What browser(s) is this bug affecting?:
Firefox
Additional context
Does not occur with non-angular app

Issue has magically disappeared over night, can no longer replicate


Update hugo.yaml

Better the use blank.. Opens the linked page in a new window or tab.

Thank you!


Using ProviderPath instead of Path in Export-DbaDacPackage

Type of Change

[x] Bug fix (non-breaking change, fixes #4119)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[x] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
Fix the bug preventing users from using a network path
Approach
using Resolve-Path | % ProviderPath instead of Path
Commands to test
n/a

thanks so much!


Update computations

from PRs 👉
https://github.com/livekit/client-sdk-js/pull/146
https://github.com/livekit/client-sdk-js/pull/149
But I think dimensions should be compared by area (width * height) instead of the largest side (max)
👉 https://github.com/livekit/client-sdk-js/pull/146/files#diff-4c7fc41e072f8a2f5272ccae3b53d650e87c64d6f4b74541343e28fbb0a7100aR180-R195
for example comparing by max would be
1000 x 300 > 900 x 900
but comparing the area would be
300,000 < 810,000
Just want to check if this is intended behavior 🙂

@hiroshihorie that's a good point about sorting by area!
The reason I went with comparing by max, was that the scaleResolutionDownBy parameter of the RDPEndoncdingParameters is being computed similarily https://github.com/livekit/client-sdk-js/blob/main/src/room/participant/publishUtils.ts#L189 (though this is using min, so my max is still buggy.
When implementing it, I also wondered if just sorting my maxBitrate would suffice.
I have the feeling that providing two layer presets where, for the second one, the area is smaller, but the bitrate is higher compared to the first one, should not be possible?

Yes the comparison priority order is Dimensions, Bitrate, FPS....
Not so great when 2 Dimensions are very near but bitrates are very different.... but i guess it'll work for now..


parsley very slow on large form

Hello,
parsley is very slow on form with around 100 - 200 inputs. it's take around 1000 ms for the dom to complete. I do like this
$(document).ready(function(){
  $myForm.parsley();
});

i guess it's because  $myForm.parsley(); will modify the dom mostly by adding/removing new elements. this effect of updating the dom is very slow (and bad) ! maybe it's better to add the new elements when they are actually need. exemple empty elements like

 are they really necessary before an error is raised ?

I agree with you. We should consider adding these nodes in dom only if errors happen. This is actually important BC Break and should be carefully considered in major upcoming release.
What do you think @marcandre?

Agreed; actually, this is already the case for the current release candidate (since 35aba59e784c8f8d)
@loki5100 If I'm not mistaken, you are using v2.0.x, right? Could you try the latest release candidate?

in the 2.1. it's even worse :( :(
in 2.1.0-rc2 the Time taken by javascripts launched in the "DOMready" event: 1530 ms
in the 2.0.6 the Time taken by javascripts launched in the "DOMready" event: 1006 ms
if i simply do
setTimeout(function(){$myForm.parsley();},1000);
then in 2.0.6 the Time taken by javascripts launched in the "DOMready" event: 341 ms
to calculate the timing i use in javascript: window.performance.timing.domContentLoadedEventEnd - window.performance.timing.domContentLoadedEventStart

+1 on this issue. This goes slowly on any large form, even if only one field is actually validated.

I've only started checking this (on Chrome). On a very basic test with 1000 inputs, I'm getting ~1100ms.
The attribute reading is what needs to be optimized. For a form with n input fields, we were calling attributes (which builds a non negligible object) for each field 4 * n times (instead of n) and each field also re-reads the form's attributes (so of 4 + 4 *n instead of 1).
I've started optimizing it a bit, still requires some work though.

Ok, the attribute parsing is now done the right number of times, so it should be better. Checked in Firefox, got from ~3800ms down to ~900ms (for 1000 trivial inputs).
Released 2.1.0-rc3.

@loki5100 @wheeyls Can you try out the latest release and let me know if it's quite fast for you guys now?
Otherwise please send me your forms so I can check what's the remaining bottleneck.

It's faster for me now, but is not particularly fast yet. My form that has ~1000 inputs (mostly radios) went from 7s to 2s. That seems to be about on scale with your performance improvements.
I've found that this performance is dramatically worse on my iPad/iPhone. Whereas the forms on the previous version would simply break on my iPad, the new version does complete... but takes about 20 seconds.
https://jsfiddle.net/x7oehcpm/

Thanks @wheeyls for your fiddle. I haven't looked at the code for multiple inputs, maybe there's something there. The profiling info confirms that the JS is now spending most of the time in jQuery (data(), or looking things up).

Just to be clear though: the best way to speed up a form with a ton of inputs with very few being validated is to tweak inputs / excluded so the bulk of the non validated items are not selected at all...

Ah awesome @marcandre I wasn't aware of that.

I've pushed two more performance tweaks for multiple fields (radios/checkboxes). On @wheeyls example, it shaves 20% execution time. Not bad, but that still ain't fast.
Looks like the bulk of the remaining time is spent within jQuery, in particular while triggering events. I'll have a look at that. Maybe we'll have to rollback some kind of pubsub instead, or give the option of using either.
The other avenue is to simplify what's going on for trivial fields, i.e. those without constraints, but for a form with a whole bunch of required fields, for example, that wouldn't help.

hello everyone, sorry i was in trouble and can't respond before. i just try today with the last version on parsley (2.1.0-rc7)
the form is not very big, you can see it on http://beta.arkadia.com/enu/
with parsley (2.0.7)
Time taken to parse the HTML (to mark the DOM as ready): 408 ms
Time taken by javascripts launched in the "DOMready" event: 1031 ms
with parsley (2.1.0-rc7)
Time taken to parse the HTML (to mark the DOM as ready): 402 ms
Time taken by javascripts launched in the "DOMready" event: 1063 ms
without parsley :
Time taken to parse the HTML (to mark the DOM as ready): 351 ms
Time taken by javascripts launched in the "DOMready" event: 397 ms
so nothing change between the 2.0.7 and 2.1.0-rc7 :(

by the way doing for exemple parsley({excluded: 'input'}) or parsley() not really change the speed :( i don't understand why parsley take so long time when all the input are excluded :(

It's not clear in the doc, but exclusion is decided after elements have been initialized, so it's possible to have a data-parsley-excluded attribute on specific elements to exclude, so it won't change much the loading time.
We have decided to roll back the jQuery events and go back to a homegrown pubsub for 2.1. Stay tuned...

by the way, i m still testing on simple form ( like you can see on http://beta.arkadia.com/enu/ ) and i need to say that it's disaster on mobile :(
The number i gave you
with parsley (2.1.0-rc7)
Time taken to parse the HTML (to mark the DOM as ready): 402 ms
Time taken by javascripts launched in the "DOMready" event: 1063 ms
it's only on fast desktop use for developpement ! on mobile phone, it's 5x to 10x more slower, and even more slower on firefox also
And as you see the form is not really huge :( many input, but most of them are disabled
also another remark, even if i already do $aSearchBoxForm.parsley();
and after doing on form submit
$aSearchBoxForm.on('submit', function(){
if ( !$aSearchBoxForm.parsley().validate() ) return false
}
it's took on mobile around 2 seconds just to do the validate :(
is their any way to completely remove form element (input, checkbox, etc) from the parsley to speed a little? ex: .
also does parsley ignore deactivated input element on the submit to not loose time with them ?

I find a small workaround for now. i want to exclude some elements, but using the excluded option not really help. So i found an easy way by looking the code
instead of doing :
$aSearchBoxForm.parsley({excluded: 'input[type=radio], input[type=checkbox], input[type=button], input[type=submit], input[type=reset], input[type=hidden]'});
that not really help for the speed, doing this instead :
$aSearchBoxForm.parsley({inputs: 'input[type=text], textarea, select'});
change a lot !!
i guess it's because of this in the code :
_bindFields: function () {
  var self = this;
  this.fields = [];
  this.fieldsMappedById = {};
  this.$element.find(this.options.inputs).each(function () {
    var fieldInstance = new window.Parsley(this, {}, self);
    // Only add valid and not excluded `ParsleyField` and `ParsleyFieldMultiple` children
    if (('ParsleyField' === fieldInstance.__class__ || 'ParsleyFieldMultiple' === fieldInstance.__class__) && !fieldInstance.$element.is(fieldInstance.options.excluded))
      if ('undefined' === typeof self.fieldsMappedById[fieldInstance.__class__ + '-' + fieldInstance.__id__]) {
        self.fieldsMappedById[fieldInstance.__class__ + '-' + fieldInstance.__id__] = fieldInstance;
        self.fields.push(fieldInstance);
      }
  });
  return this;
}

Yes, change inputs instead of excluded to speed things up.
@guillaumepotier are there any legitimate case where a field would customize the excluded option? Currently, inputs can only be customized for a form / global, while excluded can also be customized per field, but that might be confusing and unnecessary?

Yes i think their are legitimate case because it's could be great to have to possibility to exclude field on the field himself. but exclude must really work ... so params like "data-parsley-excluded"="true"

First, it would have to be <input id="example" data-parsley-excluded="#example">, not just true.
See, excluded is a jquery selector, so it's quite unnatural on a field.
I also would really like to have an example scenario where one would want to do a per field extension this way.

"First, it would have to be , not just true.
See, excluded is a jquery selector, so it's quite unnatural on a field."
in this way, yes, it's fully unnatural (and ugly) !!
"I also would really like to have an example scenario where one would want to do a per field extension this way."
exemple on http://beta.arkadia.com/enu/  .. on the form i have many input that do not need any validation, so i would like (to win speed) to remove theses fields from the parsley process ...

I wasn't clear, but I meant legitimate cases for other reasons than for speed.
Even for speed, you could have excluded="[data-parsley-nothing-to-see-here]" and mark your excluded fields with "data-parsley-nothing-to-see-here".
I think the inputs and excluded settings are ok, but should probably be specified at the form and the global level only.
Also, not using jQuery events should make things smoother... I've started working on that.

"Even for speed, you could have excluded="[data-parsley-nothing-to-see-here]" and mark your excluded fields with "data-parsley-nothing-to-see-here""
maybe, but i still think it's more natural to say data-parsley-excluded="true" on field level than your method :)

maybe, but i still think it's more natural to say data-parsley-excluded="true" on field level than your method :)

Both would be possible, even with the conflict between excluded being a selector for forms and a boolean for fields.
Also, now that I think about it, I think the only case where doing the test before the instantiation would be if a field is excluded according to the form's selector but would override the selector to not be excluded. I don't think that's a feature we want to support.

Update: I hope to have better version this weekend. It removes jQuery events and improves original pubsub (avoiding globals like $.emit, won't leak memory if not unsubscribed and slightly faster)

having some fields and performing group-validation took me 7000s on modern machine & chrome

@raDiesle which version are you using?

2.0.7 - built Sat Jan 24 2015 14:50:11
I needed to disable parsley.
possible performance problem: ~30 jquery sliders, so many DOM nodes,
but only 30 input fields .
I had to create my own selector for validation...
By the way, why is validate blocking the browser? Callback would be nice.

30 input fields and 7000ms?? That's very odd.
Could you try with our latest release candidate v2.1.0-rc10? If it's still slow, I'd very much like if you could provide me access or email me the form.

Whooa it is blazing fast !
This is the form, atm it's the non parsley refactored version -.-
http://kommunikationswege.96.lt/index.html
Let's see to swich back again:D
Thanks

New version did not match all my expected fields!
in communication.js I configured
window.ParsleyConfig = {
excluded: 'input[type=button], input[type=submit], input[type=reset]',
inputs: 'input, textarea, select, input[type=hidden], :hidden',
};
I uploaded r10 parsley enabled version. If you click next, it will fire validate.
On Step-2 I am using hidden fields to store value.
run in console to validate current shown wizard step:
$('#sendForm').parsley().validate($("div.setup-content[style='display: block;']").attr('id'));
-> it should show required validation on hidden slider fields, works with older version, but not r10

Oh, I think I have an idea why your things are so slow... You're trying to validate anything that's hidden! Even
s and such. Plus ':hidden' is a really slow selector. Just type $(':hidden') in your console, you'll see.
Your inputs should simply be "input, textarea, select".
If you (still) have a problem with the latest release, please open a new issue and provide a working example (it's not clear if the link you gave is updated or not).

ya, you're right, copy-paste from stackoverflow,- my mistake
but still, r10 will ignore fields, where 2.0.7 work.
Some bug. I will try to provide a small example and open ticket.
thx!

Hi,
I have also encountering slow, and unresponsive in chrome browser using $('form').parsley().validate(); in 800 - 1000 inputs. I have already upgrade to version 2.62. I am the only one encountering these? If these are not normal I will just move in grouping validation instead of form validation.
Sorry for my bad explanation. :)
Thank you,
Chenee


Roll engine f4591a73a5c7..df178fd936c0 (1 commits)

git@github.com:flutter/engine.git/compare/f4591a73a5c7...df178fd936c0
git log f4591a73a5c7..df178fd936c0 --no-merges --oneline
2019-08-20<EMAIL_ADDRESS>Remove dart entrypoint Intent parameter from FlutterActivity. (#38713) (flutter/engine#11239)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (stuartmorgan@google.com), and stop
the roller if necessary.

Auto-roller completed checks. About to merge.


metrics with 0 value ( also false ) are mapped to NaN

hello Marc ,
can you please help resolving the floowing issue :
metrics with 0 value ( also false ) are mapped to NaN
ENV :

Grafana version 7.3.4
grafana-json-datasource version 0.7

FYI : mapping is working well with  previous version ( 0.6.4 )
Regards

Thank you for reporting this! I'll look into it 👍

thanks for you prompt action
i forget to mention that i'm using Table plugin

Could you paste the JSON and the query you are using, so that I reproduce this?

i'm using a private backend so you don't have acess to it
but will give you some outputs 👍
Path : /client  Query string : type=X&attributes=*
$.client[?(@.name=='$name')].name
$.client[?(@.name=='$name')].status.child
{
"request": {
"url": "api/datasources/proxy/9/client?type=X&attributes=*",
"method": "GET",
"hideFromInspector": false
},
"response": {
"client": [
{
"name": "XXXXX",
"status": {
"child": 0
},
"type": "X"
}
]
}
}
anyway you can reproduce it using any data with 0 as a value

I tried with this JSON:
[
  {"number": 0, "boolean": false},
  {"number": 2, "boolean": true}
]

which seems to work

I can reproduce it with your example.

i don't think it related to the number of items

since i have the same behaviour with a lot of items

Yeah, you're right.
Zeros:

[0, 0, 0] becomes [NaN, NaN, NaN]
[0, 0, 1] becomes [0, 0, 1]

Booleans:

[false, false, false] becomes [NaN, NaN, NaN]
[false, false, true] becomes [false, false, true]

Looks like it fails when all values are "falsy".

in fact in depends on the selct Json Path
if you select just one item based on some creteria you have the problem

and if you do not  choose any filter like (?(@.name=='$name') it should be ok

and please not that it was working fine in previous version

I've found the issue, and working on a fix.

perfect thanks

Fixed in v0.7.1. Let me know if you're still having issues!

i apreciate well your reactivity :)
V0.7.1 is working like a charm
Thanks


IE11 fullscreen / incorrect display

Hi,
Just check fullscreen is working fine in IE11
It helps if u can provide a screenshot or link where you are facing this issue.


Bugfix

what && why

Require AWS provider v4.9.0 or later, resolves #137
Properly consider source_policy_documents input, fixes #145

notes
This will become version 2.0

/test all


crypto/x509: DecryptPEMBlock sometimes passes when the password is wrong

Hello, my following test will fail all the time.
Running it once always passes though.
Context: Was trying to address https://github.com/hashicorp/packer/issues/3337
What version of Go are you using (go version)?
go version go1.11 darwin/amd64
What operating system and processor architecture are you using (go env)?
go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/azr/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/azr/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/Cellar/go/1.11/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.11/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

What did you do?
func TestEncodeDecode(t *testing.T) {
  data := []byte("data that I want to encrypt")
  pass := []byte("very secret password")
  for i := 0; i < 1000; i++ {
    // Encrypt the file
    b, err := x509.EncryptPEMBlock(rand.Reader,
      "RSA PRIVATE KEY",
      data,
      pass,
      x509.PEMCipherAES256)
    if err != nil {
      t.Fatalf("err: %s", err)
    }
    bf := &bytes.Buffer{}

    err = pem.Encode(bf, b)
    if err != nil {
      t.Fatalf("err: %s", err)
    }
    privateKey := bf.Bytes()

    PEMBlock, _ := pem.Decode(privateKey)
    if PEMBlock == nil {
      t.Fatal("")
    }

    if x509.IsEncryptedPEMBlock(PEMBlock) {
      decryptedPrivateKeyBytes, err := x509.DecryptPEMBlock(PEMBlock, []byte("wrooooong"))
      if err == nil {
        if string(decryptedPrivateKeyBytes) != string(data) {
          t.Fatalf("this is not supposed to happen: %s", decryptedPrivateKeyBytes)
        }
      }
    }
  }
}

What did you expect to see?
PASS
What did you see instead?
--- FAIL: TestEncodeDecode (0.00s)
    private_key_test.go:149: this is not supposed to happen:   {n<r   WVzQ p(!0D  )^fv
FAIL
FAIL    github.com/hashicorp/packer/builder/googlecompute       0.079s

@FiloSottile

from docs to DecryptPEMBlock
// If an incorrect password
// is detected an IncorrectPasswordError is returned. Because of deficiencies
// in the encrypted-PEM format, it's not always possible to detect an incorrect
// password. In these cases no error will be returned but the decrypted DER
// bytes will be random noise.

seems this documented behavior

Oh, I also totally missed that part, then I'm closing this issue.


Query client needs to include the database

Queries will not run without a configured database name.
Resolves #149

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@tpitale

Please sign the CLA here.

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.

:+1: I need this fix too (commit 306533e437540a0468a02ce59dbd3ce017f2cf6e).

+1 here.

+1, need this too.

:+1: Please and thank you.

Encountering the same issue.  Can we please merge this?  This is a blocker!  The query action is completely broken with no work-around.

Seems this is a duplicate fix of PR #129, which is indeed a very much needed fix...

I merged in this same change from PR 129.  Closing this out now.