JSON superset

I'm not sure this is a bug, but this behavior is not an ideal one, I think.
This plugin generates a source code that old JavaScript engine cannot parse when object includes U+2028 or U+2029 in a string. cf. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON#JavaScript_and_JSON_differences
before
const obj = {
  foo: "\u2028\u2029"
};

console.log(obj.foo);

after
const obj = JSON.parse('{"foo":"

"}');
console.log(obj.foo);

When the code after conversion is run in node.js v8:
(function (exports, require, module, __filename, __dirname) { const obj = JSON.parse('{"foo":"
                                                                                ^^^^^^^^^

SyntaxError: Invalid or unexpected token
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:617:28)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3

According to MDN, the latest Edge seems to fail too.

Relevant write-up: https://v8.dev/features/subsume-json
If you want optimal backwards compatibility, you could indeed escape those two characters. Alternatively you could document that this plugin produces output that only works in modern environments (e.g. Node.js v10+).

@nd-02110114 @mathiasbynens is this plugin production ready?

@mathiasbynens
Thank you for your advice 👍

Alternatively you could document that this plugin produces output that only works in modern environments (e.g. Node.js v10+).

I decided not to care about this backwards compatibility... (This is because Node.js v8  LTS is until 2019/12/31). I just documented this issue in README.


Burgers NB

As promised, here is an improved version of the Burgers' NB.
Summary of changes:

Incorporated Randy's comments/changes
Removed code from NB into files.
Separated (and improved) code into burgers.py and burgers_demos.py
Added links at beginning of notebook to code files
Added subsection about entropy condition (thought it was needed since it is just briefly mentioned in the traffic NB)
Incorporated a bump and a three state initial condition examples. I think these make the NB much more interesting. However, I used pyclaw to produce the animations. I can't remember if we agreed to have pyclaw as dependency or not.
General review of the text and wording.
Added plt.tight_layout() in plot_riemann in utils/riemann_tools.py. This improved the appearance of the burgers NB plots (horizontal layout), though I hope it doesn't ruin other plots. Other NBs seemed fine on my computer.

@maojrs: I like it!  I made a few minor suggestions and added a short section in my PR to your branch.
For the last example, should we also show the characteristics for the merging shocks case?  I guess we could for for the shock overtaking the rarefaction too if we did a contour plot in the x-t plane of the pyclaw solutio at many times, but maybe not worth spending time on that now.

@rjleveque Thanks for the comments and changes! I think having the characteristics in the last example would be nice too. I will take a look into it, but first I will finish the acoustics notebook upgrade.

The new bump example gives me an error:
AttributeError: module 'clawpack.riemann.burgers_1D_py' has no attribute 'rp1'

I'm using commit clawpack/riemann@45004b17362 which has been working for other notebooks. Is there an update?


Error message with Rspec mock is wrong when using grape

Hi, I have a bug with Rspec and Grape, but I don't really know If I should post this ticket here or on Rspec.. ( So I also post this issue to https://github.com/rspec/rspec-mocks/issues/1284 )
I'm using :
Ruby version: 2.5.3 ( with jruby <IP_ADDRESS> )
rspec-mocks version: 3.8.1
grape version: 1.2.3
My problem is when I expect a method call with args on an object and that test fails because of the args, Rspec + Grape tell me that the call never happened.
But when I execute a dumb test without Grape ( a classic Rails controller may work fine too ) I have the message error I expect :
My method was expected to be called once with (x, y) args, but
My method was called once with (x).

I have a simple API with a dumb endpoint fake_endpoint
in order to reproduce the bug :
Module Fake
  class Base < Grape::API

	  version 'f1', using: :path

	  get 'fake_endpoint' do
		  Toto.tata(true, false)
		  { test: "fake_data"}
	  end
   end
 end

And here are my tests :

RSpec.describe Fake::Base do

	describe "test call" do

		it "1" do
		  expect(Toto).to receive(:tata).with(true).and_return(nil)
	      get_json(url: "/f1/fake_endpoint")
		end

		it "1 bis" do
			expect(Toto).to receive(:tata).with(true).and_return(nil)
			Toto.tata(true, false)
	    end
	end
 end

Result of the failing test 1 :
RSpec::Mocks::MockExpectationError: (Toto (class)).tata(true)
    expected: 1 time with arguments: (true)
    received: 0 times

  0) Fake::Base test call 1
     Failure/Error: expect(Toto).to receive(:tata).with(true).and_return(nil)

       (Toto (class)).tata(true)
           expected: 1 time with arguments: (true)
           received: 0 times
     # ./spec/api/fake/fake_spec.rb:9:in `block in <main>'

Result of the failing test 1 bis :

RSpec::Mocks::MockExpectationError: #<Toto (class)> received :tata with unexpected arguments
  expected: (true)
       got: (true, false)
Diff:
@@ -1,2 +1,2 @@
-[true]
+[true, false]

  0) Fake::Base test call 1 bis
     Failure/Error: Toto.tata(true, false)

       #<Toto (class)> received :tata with unexpected arguments
         expected: (true)
              got: (true, false)
       Diff:
       @@ -1,2 +1,2 @@
       -[true]
       +[true, false]
     # ./spec/api/fake/fake_spec.rb:15:in `block in <main>'

Maybe it seems to be just a little bug, but in fact it's quite annoying and if the params are complex, we can't figure out what the cause of this failure is...
Thanks for your help.

I'll take a look at this, cause it seems like an odd and potentially fun one :) Appreciate if you could put up a project with a repro on github to save us time?

I'm trying to reproduce it with a minimal jruby project, but I can't reproduce the bug for the moment and I don't figure out why ... :(

Moreover on my real project, I don't see this bug using spies instead of simple mock.
So if I do
it "1" do
    allow(Toto).to receive(:tata)
    get_json(url: "/f1/fake_endpoint")
    expect(Toto).to have_received(:tata).with(true).and_return(nil)
end

then my test fail with the good error message .. This is weird

Double check that the grape and other gem versions are the same, just in case.

Another idea is to switch expect(Toto).to have_received to expect(Toto).to receive before the API call. I have a suspicion that it might be memoizing something across tests.

Another idea is to switch expect(Toto).to have_received to expect(Toto).to receive before the API call. I have a suspicion that it might be memoizing something across tests.

I don't really understand ? the version with expect(Toto).to receive before API call is the version with a bug, and setting a spy and set expect(Toto).to have_received after the API call is the solution I found to my issue ( since I still have the bug with expect(Toto).to receive )

Double check that the grape and other gem versions are the same, just in case.

Unfortunately I can confirm that rspec gems, grape, rails, ruby and jruby versions are the same in my Gemfile.lock ..

And I just copy-paste my Gemfile and my Gemfile.lock from my old to the new one, with all my gems, but I still can't reproduce this bug

And I just copy-paste my Gemfile and my Gemfile.lock from my old to the new one, with all my gems, but I still can't reproduce this bug

Start deleting things from your project until it's no longer reproduced.
I am going to close this since this looks project-specific, but would love to either get a repro that I can use or prove that it's Grape's fault (in which case we can reopen).

@dblock If you are still curious I finally find out what cause my issue, and how to reproduce it. Just check this commit : https://github.com/FlorianDoublet/grape-rspec-mock-issue/commit/68dfd4b20f68a7b232e83b0ce52790dfd5737c0f
But I still don't understand why it happend only inside a grape request test, and why it work fine with a spy..

Well, at least you are narrowing it down :)

Yes, thanks for your time :)


Use Blowfish encrypt or call Java component

Description:
I would like to use Blowfish encrypt to have a symetric encode decode capability to obuscate json content
.
Or a way to call some Java code that already is capable of such encryption.
Affected Versions:
Latest
OS, DB, other environment details and versions:
linux 64b ou win32 64b
Suggested Labels (optional):
JSON  ENCRYPT
Thanks
Cyril

Hi @crognon, thank you vey much for reaching out to us. We don't have built in support for blowfish encryption as of now. But you can easily implement it by writing native functions which exposes some java codes for encrypting and decrypting. Since Ballerina is open source, you can write this and send a PR to Ballerina if you like as well.
Please refer following links where you can get an idea about how to implement native functions.
https://github.com/ballerina-platform/ballerina-lang/blob/master/stdlib/ballerina-builtin/src/main/ballerina/crypto/natives.bal
https://github.com/ballerina-platform/ballerina-lang/blob/master/stdlib/ballerina-builtin/src/main/java/org/ballerinalang/nativeimpl/crypto/Hash.java
Also please refer the contributing guide as well.
Please join our Slack channels so you can ask any question you have from Ballerina developers.

Hi @crognon! I agree with you that we need to have encryption / decryption capabilities exposed through Ballerina Crypto API. Currently the API is limited to HMAC generation and hashing. We are considering this as an improvement to the Crypto API.
If this is blocking your work and you need an immediate solution, you may use package-crypto written by in2group as a reference to implement a native function that expose Blowfish encryption to Ballerina. Native functions are written in Java as of now.
Here are the updated new reference links @Shan1024 provided:
https://github.com/ballerina-platform/ballerina-lang/blob/master/stdlib/crypto/src/main/ballerina/crypto/natives.bal
https://github.com/ballerina-platform/ballerina-lang/blob/master/stdlib/crypto/src/main/java/org/ballerinalang/stdlib/crypto/nativeimpl/Hash.java


fix(pagination): always transition state

fix #1287

This is the behavior that clears the page when the state changes from somewhere else than the pagination widget. For instance, to go back to page 0 when we add a refinement.

If you remove this behavior and implement it differently, you can clear all code related to transitionState since that is the only place where it's being used.

Owww @bobylito Maybe we need to revert and find a different approach?

What issue did you meet with this implementation of transitionState.

What issue did you meet with this implementation of transitionState.

When page 2 is selected, if you select it again it removes the current page and goes to one. Maybe we need some special handling on it and that's it.
But it should be at the implementation side perhaps, not the connector

cc @bobylito did you have a look?

I will have a look :) Sorry for the lag :)


feature request: shadow behind letters of UIButton

The request
A shadow to be added below the letters of a UIButton (not the whole button itself), similarly to the screenshot below:

Details
The feature should be something that the developer can turn "Frue" or "False" to their ui file, similarly how it is done here https://github.com/Terasology/LightAndShadow/pull/141 .
You can use as reference the PR https://github.com/Terasology/Dialogs/pull/18 , which was a first attempt on adding this feature in-game. In that closed PR, you can also see some of the concerns when adding that feature.

I'd think this a request for something like UiText, comparable to colored text or changing the type face. The described used case could be implemented using sucha rich text control as child of button, or turning the rich text control itself into a button that can be clicked...

I'd think this a request for something like UiText, comparable to colored text or changing the type face. The described used case could be implemented using sucha rich text control as child of button, or turning the rich text control itself into a button that can be clicked...


Details about reconfiguring existing API resources and clients

It would be very helpful to include information about how to reconfigure from code the existing clients and/or resources (or at least include links to point to that information). For example, I wasn't sure how to include a role claim when requesting the user information, from both the API and the SPA. I had to do the following:
First, enable the roles.
public virtual void ConfigureServices(IServiceCollection services) {
...
  services.AddDefaultIdentity<ApplicationUser>()
                .AddRoles<IdentityRole>()
...

Then, we'll need to tell the API to return the role claim that gets injected after enabling the roles.
  services.AddIdentityServer()
     .AddApiAuthorization<ApplicationUser, ApplicationDbContext>(options =>
                {
                    var apiScope = options.ApiResources["RestApi"].Scopes.FirstOrDefault(s => s.Name == "RestApi");
                    apiScope.UserClaims.Add(JwtClaimTypes.Role);
....

Now, the SPA client is another story. It gets configured differently, as it requires some extra options enabled (the following code is the continuation of the previous code).
                    var client = options.Clients["spa"];
                    client.AllowOfflineAccess = true;
                    client.AllowAccessTokensViaBrowser = true;
                    client.AlwaysSendClientClaims = true;
                    client.AlwaysIncludeUserClaimsInIdToken = true;
  })
  .AddProfileService<SpaProfileService>();

And we also need, at least for the SPA client, to define a Profile (SpaProfileService) so it can return the role claims when requesting the user info (oddly that's not needed for the API resource).
The code I used for implementing SpaProfileService is the following:
using AuthServer.Models;
using IdentityModel;
using IdentityServer4.Models;
using IdentityServer4.Services;
using Microsoft.AspNetCore.Identity;
using System.Collections.Generic;
using System.Security.Claims;
using System.Threading.Tasks;

namespace AuthServer
{
    public class SpaProfileService : IProfileService
    {
        protected readonly UserManager<ApplicationUser> userManager;

        public SpaProfileService(UserManager<ApplicationUser> userManager)
        {
            this.userManager = userManager;
        }

        public async Task GetProfileDataAsync(ProfileDataRequestContext context)
        {
            var user = await userManager.GetUserAsync(context.Subject);
            var roles = await userManager.GetRolesAsync(user);

            var roleClaims = new List<Claim>();
            foreach (var role in roles)
                roleClaims.Add(new Claim(JwtClaimTypes.Role, role));

            roleClaims.Add(new Claim(JwtClaimTypes.Name, user.UserName));
            context.IssuedClaims.AddRange(roleClaims);
        }

        public Task IsActiveAsync(IsActiveContext context)
        {
            return Task.CompletedTask;
        }
    }
}

Anyway, these pieces were gathered exhaustively searching in StackOverflow, GitHub issues, source code of the IdentityServer and other projects, and it is not clear at all, neither in your documentation nor IdentityServer's, but I strongly believe it will help the developers a lot.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 21cb7455-3305-9316-5440-bdc22947a82d
Version Independent ID: 137d4b94-7b26-3911-b22d-42c754a95fc1
Content: Introduction to authentication for Single Page Apps on ASP.NET Core
Content Source: aspnetcore/security/authentication/identity-api-authorization.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @javiercn
Microsoft Alias: scaddie

Moved to master issue: Authentication and authorization for SPAs #16406


[core] Add fallback to ownerWindow

Closes https://github.com/mui-org/material-ui/issues/10383

NOTE: Let me know if you'd like me to add a unit test

@richardscarrott Thanks!


Enhancement request: Adding a blocked workers list

If someone wants to run a study incrementally (e.g. run it on 100 people....then run it later on 100 more), it would help to be able to add a list of blocked MTurk workerIDs so that the second run could be sure to get completely different participants.

I forgot that I had already fixed this issue. Extensions add assignments to the same HIT, and the same participant can't take the same HIT more than once. So we'll always get different participants.


Conflicting scopeName in testv.tmLanguage.json

Hey there,
I'm arranging to have this grammar used on GitHub.com to provide syntax highlighting for V, and I noticed there are two different grammars with conflicting scopeName fields:

syntaxes/testv.tmLanguage.json: "source.v"
syntaxes/v.tmLanguage.json:  "source.v"

The scopeName field is like an identifier; it's supposed to be unique between grammars. I'm not sure what testv.tmLanguage.json is being used for, but it looks like v.tmLanguage.json is the correct grammar for highlighting V code.
I recommend either removing testv.tmLanguage.json, or changing its scopeName to be something like source.v.test or something similar to differentiate it from the "real" V grammar.
Thanks in advance!

No problems :)

https://github.com/0x9ef/vscode-vlang/commit/4e3a35358d7927efbd47b25911b50e9ad3ee1cd2
Thanks @0x9ef

Wow. Thanks for getting that actioned so quickly! 😀


Hmac creation in Safari 10 result in extended string

These are results from other browser (Chrome) :

awDp8ybFP1tFzgplIV58sbALByOzlx8OPV9s+lld6xA=
qDF6LWewvnZcaQd0+A/FxDGxVG0xGUBQuatABsmzT7M=
qDF6LWewvnZcaQd0+A/FxDGxVG0xGUBQuatABsmzT7M=

And these are from Safari 10 :

VWZ/cj/Q5zB0bUmwuUN9OD2TwcdbOmMhYpkw7c/6EDo=EDoAAAAA
EdRN9JZabLUe14OfKcDznZCrC2jVi73D0YqNnbVpnzE=nzEAAAAA
RwRVP0eWsakNpP7knPm3/u0PveGgFZCAKpXpkPPfswU=swUAAAAA

It seems that create-hmac generates more string like EDoAAAAA, nzEAAAAA, swUAAAAA. This break my Hawk auth in Safari 10.0.

Why did you close @herpiko ?

@dcousens I can't reproduce it in isolated env. It only happens on my current project.
I'll open it again if I found a way to reproduce.

This happens to us as well, but in Edge (version 38.14393.0.0) via the jwt-simple library (thus breaking encoding and decoding for Edge).
Tokens generated in Edge:
jwt.encode({query: "foo"}, 'jwtform', 'HS256')
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJxdWVyeSI6ImZvbyJ9.tUOJCqukb5sibTdAH6WNjUSD4opowurJbeVJp6aZpe8pe8AAAAA"
jwt.encode({query: "fooz"}, 'jwtform', 'HS256')
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJxdWVyeSI6ImZvb3oifQ.rzoaVpnWK7LjxE5SPp1O_3Ov1FxD6J_1YfdC3ieD3KU3KUAAAAA"

Tokens generated in Chrome:
jwt.encode({query: "foo"}, 'jwtform', 'HS256')
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJxdWVyeSI6ImZvbyJ9.tUOJCqukb5sibTdAH6WNjUSD4opowurJbeVJp6aZpe8"
jwt.encode({query: "fooz"}, 'jwtform', 'HS256')
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJxdWVyeSI6ImZvb3oifQ.rzoaVpnWK7LjxE5SPp1O_3Ov1FxD6J_1YfdC3ieD3KU"

From the previous discussion, I gather this is due to some broken combination of packages?

Upon further investigation, this seems to occur because our project uses JSPM to build the package, which in our case inserts<EMAIL_ADDRESS>to fulfill the Buffer dependency. The issue does not occur if we manually set it to use the latest version<EMAIL_ADDRESS>

So you probably need to upgrade the version of jspm
On Wed, Apr 12, 2017, 6:43 AM zopthemop<EMAIL_ADDRESS>wrote:

Upon further investigation, this seems to occur because our project uses
JSPM to build the package, which in our case inserts<EMAIL_ADDRESS>to
fulfill the Buffer dependency. The issue does not occur if we manually set
it to use the latest version<EMAIL_ADDRESS>—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/crypto-browserify/createHmac/issues/12#issuecomment-293540417,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABE4nzOY9re6LUc1J8MvahT3IgRHW5USks5rvKrmgaJpZM4KdF5q
.

Hi,
Now I remember how to reproduce the issue within the hawk library. There are browser.js and client.js in hawk lib. I was though that hawk's client should use client.js, even in browser.  It generates the AAAA string. Then I'm switch to browser.js and the AAAAA was gone.
I'm sorry for not updating this issue immediatelly after I found the culprit.


Unsupported data type: JSON

Using the below snippet results in "Unsupported data type: JSON:"  using 0.3.2.patch11
PreparedStatement pstmt = connection.prepareStatement("INSERT INTO json_demo SELECT id,details from INPUT('id UInt8, details JSON')"); `
    pstmt.setInt(1, 20);
pstmt.setObject(2, "{\"type\": \"Region\"}");
pstmt.addBatch();
pstmt.executeBatch();

Table definition
CREATE TABLE json_demo
( id UInt8,
details JSON)
ENGINE = MergeTree()
PRIMARY KEY (id)

Stack trace:
Exception in thread "main" java.lang.IllegalArgumentException: Unsupported data type: JSON
	at com.clickhouse.client.data.ClickHouseRowBinaryProcessor$MappedFunctions.serialize(ClickHouseRowBinaryProcessor.java:484)
	at com.clickhouse.jdbc.internal.InputBasedPreparedStatement.addBatch(InputBasedPreparedStatement.java:333)

Hi @aarcha123, thanks for the report. It looks like now ClickHouse supports string format JSON object, which is way better than constructing a complex object in client. I'll update data type mapping accordingly in next release. Meanwhile, the workaround is simply change JSON to String in your insert query.

Thank you @zhicwu

@zhicwu, is there any way to insert a JSON'ed string like this:
{"timestamp":"2024-04-06 10:26:20","severity":"INFO","thread":"pool-2-thread-11","message":"Compression of 29.29 MB of data with rate 28.94 MB/sec finished in 1.01 sec.","mdc_fields":{"compression_rate":"28.942567086502496","data_size":"29.289877891540527"},"exception":{"stackTrace":""}}
by using JavaClient?
 public void insertString(String data) {
    try (ClickHouseResponse response =
        client
            .write(server)
            .query("INSERT INTO tickets_data_db.tickets_logs SELECT c1 FROM input('c1 String') FORMAT JSONAsString")
            .params(data)
            .executeAndWait()) {
      ClickHouseResponseSummary summary = response.getSummary();
      System.out.println("WRITTEN BYTES - " + summary.getWrittenBytes());
    } catch (ClickHouseException e) {
      System.out.println("FAILED TO INSERT STRING - " + e.getMessage());
      throw new RuntimeException(e);
    }
  }

data - log message
This results in  written bytes = 0 and nothing more.
By using .data and ClickHousePassThruStream like this:
  public void insertString(String data) {
    try (ClickHouseResponse response =
        client
            .write(server)
            .query("INSERT INTO tickets_data_db.tickets_logs")
            .data(
                ClickHousePassThruStream.of(
                    new ByteArrayInputStream(data.getBytes(StandardCharsets.UTF_8)),
                    ClickHouseCompression.NONE,
                    ClickHouseFormat.JSONAsString))
            .executeAndWait()) {
      ClickHouseResponseSummary summary = response.getSummary();
      System.out.println("WRITTEN BYTES - " + summary.getWrittenBytes());
    } catch (ClickHouseException e) {
      System.out.println("FAILED TO INSERT STRING - " + e.getMessage());
      throw new RuntimeException(e);
    }
  }

Results in an Exception - Caused by: com.clickhouse.client.ClickHouseException: Code: 399. DB::Exception: Format JSONAsString is not suitable for output. (FORMAT_IS_NOT_SUITABLE_FOR_OUTPUT) (version <IP_ADDRESS>00 (official build))
ClickHouseFormat.JSONStrings or .JSON results in Only Input Format allowed for mutations. So what format exaclty should I specify?

Duplicate of #1833


Questions regarding the project

I am interested in using emu but I have a few questions regarding this project:

Emu is a modern library for low-level, cross-platform GPGPU enabling on-device, reproducible, privacy-focused compute

What does it mean by being privacy-focused compute?

Since this project uses WebGPU, does this run on a web browser? Can it run as a software without running on a web browser?
Is this project stable or Beta?
When using WebGPU, does it have native performance or does it lose performance as it is WebGPU (I apologise for my lack of knowledge in this field)?

What does it mean by being privacy-focused compute?

Since Emu has wider cross-platform support than OpenCL and CUDA, it's particularly well-suited for expensive on-device computation. The idea here is that instead of off-loading expensive compute to a server, doing it on the user's device reduces latency and better respects user's privacy. This is especially useful in ML (where Apple, Google, and others actively work on on-device machine learning specifically for privacy) but even for stuff like GIS/mapping, data processing, recommendation systems, etc.

What does it mean by being privacy-focused compute?

WebGPU is a bit of a misnomer. Emu is built on top of wgpu-rs which is a native implementation of WebGPU (a standard being developed by Google, Apple, Mozilla) with backends including Vulkan, Metal, DX. So yes, Emu can run as software without a browser. But it is already possible - but not yet released as stable - to compile WebGPU to WebAssembly and run GPU code in the browser with no API changes. When this is released, Emu will also be able to compile to WebAssembly and run on a web browser with no API changes.

Is this project stable or Beta?
For the most part stable. Emu is a transparent abstraction over WebGPU, meaning that you can always remove the abstraction and work directly with WebGPU at no cost. This switching between Emu and the underlying WebGPU is not something you will likely do often and naturally isn't stable yet since internal implementation details will probably change in the near future.

When using WebGPU, does it have native performance or does it lose performance as it is WebGPU (I apologise for my lack of knowledge in this field)?
You can expect performance as close as possible to Vulkan/Metal/DX that remains cross-platform. If you don't want to write 3 different versions of your code, then this is probably the best performance you can get.

I should mention - the biggest change yet to come to Emu is a few internal optimizations (no API changes). These are mentioned here.


add option to use relative paths in commands

currently lint-staged will pass absolute paths of every file matched file to the defined command in some cases resulting in unexpected results for commands, for example.
xo expects its configuration under package.json of the cwd in order to apply correct rules but when using xo /Users/foo/app/lib/path.js rather than lib/path.js it will ignore package.json some of its configuration (i.e: the overrides option).

Well, it looks like xo issue then? Relative paths are tricky since package.json and .git can be located in different sub-trees.

@jeznag and others: you may be interested on this PR: https://github.com/okonet/lint-staged/pull/534.


Broken links on pyo3.rs

A few links in the documentation on pyo3.rs are broken. The ones I found are as follows:
Get Started:

https://pyo3.rs/v0.8.0/examples/word-count

Type Conversions:

https://docs.rs/pyo3/0.8.0/pyo3/trait.ToPyObject.html
https://docs.rs/pyo3/0.8.0/pyo3/struct.PyObject.html
https://docs.rs/pyo3/0.8.0/pyo3/types/trait.IntoPyDict.html

Python Exceptions:

https://docs.rs/pyo3/0.8.0/pyo3/struct.PyErr.html
https://docs.rs/pyo3/0.8.0/pyo3/struct.PyErr.html#method.restore
https://docs.rs/pyo3/0.8.0/pyo3/struct.PyErr.html#method.from_instance
https://docs.rs/pyo3/0.8.0/pyo3/struct.Python.html#method.is_instance
https://docs.rs/pyo3/0.8.0/pyo3/types/struct.PyType.html#method.is_instance
https://docs.rs/pyo3/0.8.0/pyo3/prelude/type.PyResult.html
https://docs.rs/pyo3/0.8.0/pyo3/struct.PyErr.html
https://docs.rs/pyo3/0.8.0/pyo3/trait.PyErrArguments.html
https://docs.rs/pyo3/0.8.0/pyo3/exceptions/index.html

Python Module:

https://pyo3.rs/master/overview.html

Python Class:

https://docs.rs/pyo3/0.8.0/pyo3/class/basic/trait.PyObjectProtocol.html
https://docs.rs/pyo3/0.8.0/pyo3/class/gc/trait.PyGCProtocol.html
https://docs.rs/pyo3/0.8.0/pyo3/class/iter/trait.PyIterProtocol.html

Parallelism:

https://docs.rs/pyo3/0.8.0/pyo3/struct.Python.html#method.allow_threads

Links to https://github.com/PyO3/pyo3-pack redirect to https://github.com/PyO3/maturin which is good, but it would probably be good to replace the link text for clarity.

That happen because I travis ci published the updated documentation, but I didn't want to published to crates.io, which updates docs.rs, before travis had passed. That should fix itself once docs.rs built the new release.

Does docs.rs normally take a few days to update? I haven't published any documentation there myself, so I don't actually know. Also, I think in the case of the links to https://pyo3.rs/master/overview.html and https://pyo3.rs/v0.8.0/examples/word-count these links are to sections of the documentation that have been changed or moved.

I've never checked how long it normally takes, but there's the docs.rs build queue: https://docs.rs/releases/queue. Overwiew and the example are indeed broken and should but fixed.


Minor improvements to grpc-dotnet

A couple of small tweaks to the dotnet gRPC benchmark. Disable unnecessary features.

@JamesNK looks good, thank you!


[TikTok] tag extractors broken

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2022.09.01 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
California, USA
Provide a description that is worded well enough to be understood
TikTok songs and tag extractors do not work. They used to on my laptop, but on my *nix devices they do not work. I even used GitHub Actions to use a Windows runner to debug it, and it still doesn’t work.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
Documents]$ yt-dlp https://www.tiktok.com/tag/
jadootv -vU
[debug] Command-line config: ['https://www.tikt
ok.com/tag/jadootv', '-vU']
[debug] Encodings: locale UTF-8, fs utf-8, pref
 UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.09.01 [5d7c7d6] (pi
p)
[debug] Python 3.9.10+ (CPython 64bit) - macOS-
15.4.1-iPhone14,5-arm-64bit
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg n5.0.1-4-ga5ebb3d2
5e (setts), ffprobe n5.0.1-4-ga5ebb3d25e, phant
omjs present, rtmpdump present
[debug] Optional libraries: Crypto-3.15.0, cert
ifi-2022.06.15, mutagen-1.45.1, sqlite3-2.6.0,
websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1670 extractors
[debug] Fetching release info: https://api.gith
ub.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.09.01, Current version: 20
22.09.01
yt-dlp is up to date (2022.09.01)
[tiktok:tag] Setting up session
WARNING: [tiktok:tag] Unable to download webpage: The read operation timed out
[debug] [tiktok:tag] Extracting URL: https://www.tiktok.com/tag/jadootv
[tiktok:tag] jadootv: Downloading webpage
[download] Downloading playlist: jadootv
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 1 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 2 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 3 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 4 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying (1/3)...
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 1 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 2 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 3 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 4 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying (2/3)...
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 1 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 2 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 3 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 4 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying (3/3)...
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 1 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 2 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 3 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
WARNING: [tiktok:tag] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 4 of 5)
[tiktok:tag] jadootv: Downloading video list page 1
ERROR: jadootv: Failed to parse JSON (caused by JSONDecodeError('Expecting value: line 1 column 1 (char 0)')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/var/mobile/Containers/Data/Application/87BE3170-A2E1-4D77-98F2-3C7FE2FA6E42/Library/lib/python3.9/site-packages/yt_dlp/extractor/common.py", line 974, in _parse_json
    return json.loads(
  File "/private/var/containers/Bundle/Application/4A7D25F8-7CF3-49FE-B87D-003CD121D26C/a-Shell-mini.app/Library/lib/python3.9/json/__init__.py", line 359, in loads
    return cls(**kw).decode(s)
  File "/var/mobile/Containers/Data/Application/87BE3170-A2E1-4D77-98F2-3C7FE2FA6E42/Library/lib/python3.9/site-packages/yt_dlp/utils.py", line 596, in decode
    return super().decode(s)
  File "/private/var/containers/Bundle/Application/4A7D25F8-7CF3-49FE-B87D-003CD121D26C/a-Shell-mini.app/Library/lib/python3.9/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/private/var/containers/Bundle/Application/4A7D25F8-7CF3-49FE-B87D-003CD121D26C/a-Shell-mini.app/Library/lib/python3.9/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

[tiktok:tag] Playlist jadootv: Downloading 1 videos of 0
[download] Finished downloading playlist: jadootv
[Documents]$ yt-dlp https://www.tiktok.com/t/ZTRaYkA4m/ -vU
[debug] Command-line config: ['https://www.tiktok.com/t/ZTRaYkA4m/', '-vU']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.09.01 [5d7c7d6] (pip)
[debug] Python 3.9.10+ (CPython 64bit) - macOS-15.4.1-iPhone14,5-arm-64bit
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg n5.0.1-4-ga5ebb3d25e (setts), ffprobe n5.0.1-4-ga5ebb3d25e, phantomjs present, rtmpdump present
[debug] Optional libraries: Crypto-3.15.0, certifi-2022.06.15, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1670 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.09.01, Current version: 2022.09.01
yt-dlp is up to date (2022.09.01)
[debug] [generic] Extracting URL: https://www.tiktok.com/t/ZTRaYkA4m/
[generic] ZTRaYkA4m: Downloading webpage
[redirect] Following redirect to https://www.tiktok.com/music/%E6%88%91%E6%98%AF%E5%B0%8F%E4%BB%99%E5%A5%B3-6829849504062130190?_d=secCgYIASAHKAESPgo8BxG9HP05QfIatBYLuE%2B%2BL9VcRAY9QozBkyddPAo7lA7nXaKbkEQjFs6c5J5d9SuEuTp%2BTK0l%2B%2BQI6A9BGgA%3D&_r=1&checksum=7e7b3574518aae5cb94f62de9ab1fb01fe2f1a15b7c64a163331d5eada4705d4&language=en&sec_user_id=MS4wLjABAAAAWRTxa9TmYNrI8T-5s9uJDRAEjUK47kceEtCRyFUIEsMang6XJwIvZMYGqCObcv8g&share_app_id=1233&share_link_id=BB3A8138-7A5B-4589-B3D9-605B23D2EE22&share_music_id=6829849504062130190&source=h5_m&timestamp=1663443638&tt_from=copy&u_code=e26e3635964a9j&ug_btm=b2878%2Cb5171&user_id=7106641030017270830&utm_campaign=client_share&utm_medium=ios&utm_source=copy
[debug] [generic] Extracting URL: https://www.tiktok.com/music/%E6%88%91%E6%98%AF%E5%B0%8F%E4%BB%99%E5%A5%B3-6829849504062130190?_d=secCgYIASAHKAESPgo8BxG9HP05QfIatBYLuE%2B%2BL9VcRAY9QozBkyddPAo7lA7nXaKbkEQjFs6c5J5d9SuEuTp%2BTK0l%2B%2BQI6A9BGgA%3D&_r=1&checksum=7e7b3574518aae5cb94f62de9ab1fb01fe2f1a15b7c64a163331d5eada4705d4&language=en&sec_user_id=MS4wLjABAAAAWRTxa9TmYNrI8T-5s9uJDRAEjUK47kceEtCRyFUIEsMang6XJwIvZMYGqCObcv8g&share_app_id=1233&share_link_id=BB3A8138-7A5B-4589-B3D9-605B23D2EE22&share_music_id=6829849504062130190&source=h5_m&timestamp=1663443638&tt_from=copy&u_code=e26e3635964a9j&ug_btm=b2878%2Cb5171&user_id=7106641030017270830&utm_campaign=client_share&utm_medium=ios&utm_source=copy
[generic] 我是小仙女-6829849504062130190?_d=secCgYIASAHKAESPgo8BxG9HP05QfIatBYLuE++L9VcRAY9QozBkyddPAo7lA7nXaKbkEQjFs6c5J5d9SuEuTp+TK0l++QI6A9BGgA=&_r=1&checksum=7e7b3574518aae5cb94f62de9ab1fb01fe2f1a15b7c64a163331d5eada4705d4&language=en&sec_user_id=MS4wLjABAAAAWRTxa9TmYNrI8T-5s9uJDRAEjUK47kceEtCRyFUIEsMang6XJwIvZMYGqCObcv8g&share_app_id=1233&share_link_id=BB3A8138-7A5B-4589-B3D9-605B23D2EE22&share_music_id=6829849504062130190&source=h5_m&timestamp=1663443638&tt_from=copy&u_code=e26e3635964a9j&ug_btm=b2878,b5171&user_id=7106641030017270830&utm_campaign=client_share&utm_medium=ios&utm_source=copy: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] 我是小仙女-6829849504062130190?_d=secCgYIASAHKAESPgo8BxG9HP05QfIatBYLuE++L9VcRAY9QozBkyddPAo7lA7nXaKbkEQjFs6c5J5d9SuEuTp+TK0l++QI6A9BGgA=&_r=1&checksum=7e7b3574518aae5cb94f62de9ab1fb01fe2f1a15b7c64a163331d5eada4705d4&language=en&sec_user_id=MS4wLjABAAAAWRTxa9TmYNrI8T-5s9uJDRAEjUK47kceEtCRyFUIEsMang6XJwIvZMYGqCObcv8g&share_app_id=1233&share_link_id=BB3A8138-7A5B-4589-B3D9-605B23D2EE22&share_music_id=6829849504062130190&source=h5_m&timestamp=1663443638&tt_from=copy&u_code=e26e3635964a9j&ug_btm=b2878,b5171&user_id=7106641030017270830&utm_campaign=client_share&utm_medium=ios&utm_source=copy: Extracting information
[debug] Looking for Brightcove embeds
[debug] Looking for embeds
ERROR: Unsupported URL: https://www.tiktok.com/music/%E6%88%91%E6%98%AF%E5%B0%8F%E4%BB%99%E5%A5%B3-6829849504062130190?_d=secCgYIASAHKAESPgo8BxG9HP05QfIatBYLuE%2B%2BL9VcRAY9QozBkyddPAo7lA7nXaKbkEQjFs6c5J5d9SuEuTp%2BTK0l%2B%2BQI6A9BGgA%3D&_r=1&checksum=7e7b3574518aae5cb94f62de9ab1fb01fe2f1a15b7c64a163331d5eada4705d4&language=en&sec_user_id=MS4wLjABAAAAWRTxa9TmYNrI8T-5s9uJDRAEjUK47kceEtCRyFUIEsMang6XJwIvZMYGqCObcv8g&share_app_id=1233&share_link_id=BB3A8138-7A5B-4589-B3D9-605B23D2EE22&share_music_id=6829849504062130190&source=h5_m&timestamp=1663443638&tt_from=copy&u_code=e26e3635964a9j&ug_btm=b2878%2Cb5171&user_id=7106641030017270830&utm_campaign=client_share&utm_medium=ios&utm_source=copy
Traceback (most recent call last):
  File "/var/mobile/Containers/Data/Application/87BE3170-A2E1-4D77-98F2-3C7FE2FA6E42/Library/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 1459, in wrapper
    return func(self, *args, **kwargs)
  File "/var/mobile/Containers/Data/Application/87BE3170-A2E1-4D77-98F2-3C7FE2FA6E42/Library/lib/python3.9/site-packages/yt_dlp/YoutubeDL.py", line 1535, in __extract_info
    ie_result = ie.extract(url)
  File "/var/mobile/Containers/Data/Application/87BE3170-A2E1-4D77-98F2-3C7FE2FA6E42/Library/lib/python3.9/site-packages/yt_dlp/extractor/common.py", line 670, in extract
    ie_result = self._real_extract(url)
  File "/var/mobile/Containers/Data/Application/87BE3170-A2E1-4D77-98F2-3C7FE2FA6E42/Library/lib/python3.9/site-packages/yt_dlp/extractor/generic.py", line 3078, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://www.tiktok.com/music/%E6%88%91%E6%98%AF%E5%B0%8F%E4%BB%99%E5%A5%B3-6829849504062130190?_d=secCgYIASAHKAESPgo8BxG9HP05QfIatBYLuE%2B%2BL9VcRAY9QozBkyddPAo7lA7nXaKbkEQjFs6c5J5d9SuEuTp%2BTK0l%2B%2BQI6A9BGgA%3D&_r=1&checksum=7e7b3574518aae5cb94f62de9ab1fb01fe2f1a15b7c64a163331d5eada4705d4&language=en&sec_user_id=MS4wLjABAAAAWRTxa9TmYNrI8T-5s9uJDRAEjUK47kceEtCRyFUIEsMang6XJwIvZMYGqCObcv8g&share_app_id=1233&share_link_id=BB3A8138-7A5B-4589-B3D9-605B23D2EE22&share_music_id=6829849504062130190&source=h5_m&timestamp=1663443638&tt_from=copy&u_code=e26e3635964a9j&ug_btm=b2878%2Cb5171&user_id=7106641030017270830&utm_campaign=client_share&utm_medium=ios&utm_source=copy
[Documents]$

#4329 covers the song links

Having same issue trying to fetch a entire user with info.json.
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.09.01 [5d7c7d6]
[debug] Python 3.10.7 (CPython 64bit) - Linux-5.15.71-1-lts-x86_64-with-glibc2.36 (glibc 2.36)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.1.2 (setts), ffprobe 5.1.2
[debug] Optional libraries: certifi-2022.09.24, sqlite3-2.6.0
[debug] Proxy map: {}
[debug] Loaded 1670 extractors
[tiktok:user] Setting up session
WARNING: [tiktok:user] Unable to download webpage: HTTP Error 403: Forbidden
[debug] [tiktok:user] Extracting URL: https://tiktok.com/@cortescanhotos
[tiktok:user] cortescanhotos: Downloading webpage
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 1 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 2 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 3 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 4 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying (1/3)...
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 1 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 2 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 3 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 4 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying (2/3)...
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 1 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 2 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 3 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 4 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying (3/3)...
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 1 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 2 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 3 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
WARNING: [tiktok:user] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 4 of 5)
[tiktok:user] cortescanhotos: Downloading user video list page 1
ERROR: [tiktok:user] cortescanhotos: cortescanhotos: Failed to parse JSON (caused by JSONDecodeError('Expecting value: line 1 column 1 (char 0)')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 670, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/tiktok.py", line 666, in _real_extract
    thumbnail = traverse_obj(videos, (0, 'author', 'avatar_larger', 'url_list', 0))
  File "/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 5359, in traverse_obj
    val = _traverse_obj(obj, path)
  File "/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 5347, in _traverse_obj
    obj = obj[key]
  File "/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 2757, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/tiktok.py", line 634, in _video_entries_api
    for retry in self.RetryManager():
  File "/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 5794, in __iter__
    self.error_callback(self.error, self.attempt, self.retries)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 3858, in _error_or_warning
    RetryManager.report_retry(err, _count or int(fatal), _retries, info=self.to_screen, warn=self.report_warning,
  File "/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 5802, in report_retry
    raise e
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/tiktok.py", line 636, in _video_entries_api
    post_list = self._call_api(
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/tiktok.py", line 128, in _call_api
    raise e
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/tiktok.py", line 121, in _call_api
    res = self._call_api_impl(ep, real_query, manifest_app_version, video_id, fatal, note, errnote)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/tiktok.py", line 58, in _call_api_impl
    return self._download_json(
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 1030, in download_content
    res = getattr(self, download_handle.__name__)(url_or_request, video_id, **kwargs)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 1000, in download_handle
    return parse(self, content, video_id, transform_source=transform_source, fatal=fatal, errnote=errnote), urlh
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 990, in parse
    return getattr(ie, parser)(content, *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 977, in _parse_json
    self.__print_error('Failed to parse JSON' if errnote is None else errnote, fatal, video_id, ve)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 960, in __print_error
    raise ExtractorError(f'{video_id}: {errnote}', cause=err)

  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 974, in _parse_json
    return json.loads(
  File "/usr/lib/python3.10/json/__init__.py", line 359, in loads
    return cls(**kw).decode(s)
  File "/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 596, in decode
    return super().decode(s)
  File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 974, in _parse_json
    return json.loads(
  File "/usr/lib/python3.10/json/__init__.py", line 359, in loads
    return cls(**kw).decode(s)
  File "/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 596, in decode
    return super().decode(s)
  File "/usr/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 670, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/tiktok.py", line 666, in _real_extract
    thumbnail = traverse_obj(videos, (0, 'author', 'avatar_larger', 'url_list', 0))
  File "/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 5359, in traverse_obj
    val = _traverse_obj(obj, path)
  File "/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 5347, in _traverse_obj
    obj = obj[key]
  File "/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 2757, in __getitem__
    self._cache.extend(itertools.islice(self._iterable, n))
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/tiktok.py", line 634, in _video_entries_api
    for retry in self.RetryManager():
  File "/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 5794, in __iter__
    self.error_callback(self.error, self.attempt, self.retries)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 3858, in _error_or_warning
    RetryManager.report_retry(err, _count or int(fatal), _retries, info=self.to_screen, warn=self.report_warning,
  File "/usr/lib/python3.10/site-packages/yt_dlp/utils.py", line 5802, in report_retry
    raise e
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/tiktok.py", line 636, in _video_entries_api
    post_list = self._call_api(
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/tiktok.py", line 128, in _call_api
    raise e
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/tiktok.py", line 121, in _call_api
    res = self._call_api_impl(ep, real_query, manifest_app_version, video_id, fatal, note, errnote)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/tiktok.py", line 58, in _call_api_impl
    return self._download_json(
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 1030, in download_content
    res = getattr(self, download_handle.__name__)(url_or_request, video_id, **kwargs)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 1000, in download_handle
    return parse(self, content, video_id, transform_source=transform_source, fatal=fatal, errnote=errnote), urlh
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 990, in parse
    return getattr(ie, parser)(content, *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 977, in _parse_json
    self.__print_error('Failed to parse JSON' if errnote is None else errnote, fatal, video_id, ve)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 960, in __print_error
    raise ExtractorError(f'{video_id}: {errnote}', cause=err)
yt_dlp.utils.ExtractorError: cortescanhotos: Failed to parse JSON (caused by JSONDecodeError('Expecting value: line 1 column 1 (char 0)')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1459, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1535, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 696, in extract
    raise type(e)(e.orig_msg, **kwargs)
yt_dlp.utils.ExtractorError: [tiktok:user] cortescanhotos: cortescanhotos: Failed to parse JSON (caused by JSONDecodeError('Expecting value: line 1 column 1 (char 0)')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/wviana/soberana_conteudo/cortes_canhotos/main.py", line 63, in <module>
    main()
  File "/home/wviana/soberana_conteudo/cortes_canhotos/main.py", line 17, in main
    download()
  File "/home/wviana/soberana_conteudo/cortes_canhotos/main.py", line 22, in download
    ydl.download('https://tiktok.com/@cortescanhotos')
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3293, in download
    self.__download_wrapper(self.extract_info)(
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3268, in wrapper
    res = func(*args, **kwargs)
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1448, in extract_info
    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1477, in wrapper
    self.report_error(str(e), e.format_traceback())
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 994, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 934, in trouble
    raise DownloadError(message, exc_info)
yt_dlp.utils.DownloadError: ERROR: [tiktok:user] cortescanhotos: cortescanhotos: Failed to parse JSON (caused by JSONDecodeError('Expecting value: line 1 column 1 (char 0)')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

@wviana See pinned issues


SelfHostedEtcd: get etcd service IP from APIServer

Instead of parsing from static file, we change it to get etcd service IP from APIServer.
fix https://github.com/kubernetes-incubator/bootkube/issues/508

@aaronlevy @xiang90

/cc @dghubble

looks good to me.
defer to other cc'd people. @dghubble is the author of this piece of code.

fixed. PTAL

@aaronlevy @xiang90

Seems fine to me. Detecting the etcd IP from the service was just a means of getting away from the old hardcoded IP.

fixed

LGTM

rktbot run tests
ssh failure:
 run.go:147: creating cluster: populating cache: copying public keys: ssh: handshake failed: EOF:

rktbot run tests

rktbot run tests

@aaronlevy
Can you approve this?


chore: Python 3.11 support

Some updates too.

Looks like we ran into https://github.com/pdm-project/pdm/issues/1411


oneIPL TAB kickoff MM (11/29/2021)

oneIPL TAB kickoff Meeting Minutes (11/29/2021)
reviewed by oneIPL team

It is failing some of the formatting checks. You can run them locally with:
pip install pre-commit
pre-commit run --all

It will automatically fix the trailing white space and end of file, but the other issues need to be addressed manually.


Confusing version property name in readme

I found the version property in the README.md file a little bit confusing:
<dependency>
  <groupId>io.dropwizard.modules</groupId>
  <artifactId>dropwizard-testing-junit4</artifactId>
  <version>${dropwizard.version}</version>
</dependency>

The dropwizard.version is usually used in the dropwizard repo, which releases in its own cadence. At the moment, there is a 3.0.2 release of dropwizard, but no such version on dropwizard-testing-junit4.
Consider renaming it to something like ${dropwizard-testging-junit4.version}.

@raymondchen625 Thanks for raising this issue!
In this case, the property name is intentional as it refers to the version of the Dropwizard project and not to the version of this project (which should trail the upstream project's version anyway).
The fact that there's no version 3.0.2 and 4.0.2 of this project yet is a plain oversight during the release of Dropwizard 3.0.2 and 4.0.2.

Both releases will be available shortly on Maven Central.

https://github.com/dropwizard/dropwizard-testing-junit4/releases/tag/v3.0.2
https://github.com/dropwizard/dropwizard-testing-junit4/releases/tag/v4.0.2

@joschi Thanks for releasing 3.0.2 and 4.0.2. Are they still in the process of being published to maven central?

Yeah, that was my fault. I didn't ensure the artifacts were pushed.
This time they should really end up soon on Maven Central:

https://github.com/dropwizard/dropwizard-testing-junit4/actions/runs/6501005903
https://github.com/dropwizard/dropwizard-testing-junit4/actions/runs/6500995715


chore: add issue commands

Add issue command.

https://github.com/yuluo-yx/deigmata-paideias/issues/2


Cabal-<IP_ADDRESS>

Cabal-<IP_ADDRESS> (Mikhail Glushenkov<EMAIL_ADDRESS>@23Skidoo) is out of bounds for:

[x] HsOpenSSL-<IP_ADDRESS> (>=1.12 && < 2.1). No maintainer. @vshabanov. Used by: library, executable, test-suite, benchmark
[ ] autoexporter-1.1.3 (>=1.22 && < 1.25 || ==2.0.*). Taylor Fausak<EMAIL_ADDRESS>@tfausak. @tfausak. Used by: library
[x] cabal-install-<IP_ADDRESS> (>=<IP_ADDRESS> && < 2.1). Michael Snoyman<EMAIL_ADDRESS>@snoyberg. @haskell. Used by: library, executable, test-suite, benchmark
[ ] cabal-toolkit-0.0.5 (>=1.24 && < 2.2). Shao Cheng<EMAIL_ADDRESS>@TerrorJack. @TerrorJack. Used by: library
[ ] cairo-<IP_ADDRESS> (>=1.24 && < 2.1). Jens Petersen<EMAIL_ADDRESS>@juhp. @gtk2hs. Used by: library, executable, test-suite, benchmark
[ ] direct-rocksdb-0.0.3 (>=2.0 && < 2.2). Shao Cheng<EMAIL_ADDRESS>@TerrorJack. @TerrorJack. Used by: library, executable, test-suite, benchmark
[ ] entropy-0.3.8 (>=1.10 && < 2.2). Stackage upper bounds. @TomMD. Used by: library, executable, test-suite, benchmark
[ ] glib-<IP_ADDRESS> (>=1.24 && < 2.1). Jens Petersen<EMAIL_ADDRESS>@juhp. @gtk2hs. Used by: library, executable, test-suite, benchmark
[ ] gtk2hs-buildtools-<IP_ADDRESS> (>=<IP_ADDRESS> && < 2.1). Michael Snoyman<EMAIL_ADDRESS>@snoyberg. @gtk2hs. Used by: library
[ ] haskell-tools-builtin-refactorings-<IP_ADDRESS> (==2.0.*). No maintainer. @haskell-tools. Used by: library, test-suite
[ ] haskell-tools-daemon-<IP_ADDRESS> (==2.0.*). Boldizsár Németh<EMAIL_ADDRESS>@nboldi. @haskell-tools. Used by: library
[ ] haskell-tools-refactor-<IP_ADDRESS> (==2.0.*). Boldizsár Németh<EMAIL_ADDRESS>@nboldi. @haskell-tools. Used by: library
[ ] http-api-data-<IP_ADDRESS> (>=1.18 && < 2.1). Nickolay Kudasov<EMAIL_ADDRESS>@fizruk. @fizruk. Used by: library, executable, test-suite, benchmark
[ ] idris-1.2.0 (>=1.10 && < 2.1). Jens Petersen<EMAIL_ADDRESS>@juhp. @idris-lang. Used by: library, executable, test-suite, benchmark
[ ] lens-4.15.4 (>=1.10 && < 2.1). Edward Kmett<EMAIL_ADDRESS>@ekmett. @RyanGlScott. Used by: library, executable, test-suite, benchmark
[ ] licensor-0.2.2 (>=1.22 && < 2.1). Juan Pedro Villa Isaza @jpvillaisaza. @jpvillaisaza. Used by: library, executable
[ ] packdeps-0.4.4 (==2.0.*). Oleg Grenrus<EMAIL_ADDRESS>@phadej. @snoyberg. Used by: library, executable
[ ] pango-<IP_ADDRESS> (>=1.24 && < 2.1). Jens Petersen<EMAIL_ADDRESS>@juhp. @gtk2hs. Used by: library, executable, test-suite, benchmark
[ ] postgresql-libpq-<IP_ADDRESS> (>=1.10 && < 2.1). No maintainer. @lpsmith. Used by: library, executable, test-suite, benchmark
[ ] servant-swagger-1.1.4 (>=1.18 && < 2.1). Nickolay Kudasov<EMAIL_ADDRESS>@fizruk. @jkarni @phadej. Used by: library, executable, test-suite, benchmark
[ ] stackage-curator-<IP_ADDRESS> (==2.0.*). Michael Snoyman<EMAIL_ADDRESS>@snoyberg. @snoyberg. Used by: library, test-suite
[ ] threads-<IP_ADDRESS> (>=1.12 && < 2.1). No maintainer. @basvandijk. Used by: library, executable, test-suite, benchmark

lens-4.16 revised to allow Cabal-2.2.
(BTW, this might be a bug in stackage-curator: it claims that Cabal is used in the library, executable, test-suite, and benchmark stanzas of lens, but in reality, it's only used in the custom-setup stanza.)

Just uploaded HsOpenSSL-<IP_ADDRESS> that has no upper bound on Cabal.

@RyanGlScott I believe this is "working as intended", since the Setup file (custom or not) is indeed what is used to build each of those targets. Therefore any dependencies pulled in by the custom-setup are "used by" all build targets, even though it is not mentioned directly in their corresponding stanzas.
Whether it is worth clarifying the message for this particular corner case is debatable.

Fixed in haskell-tools-*-<IP_ADDRESS>

Do we need to keep this open?

We do not, since the constraint was removed. Closing.


Reduce testing time

It currently takes five minutes to run a QBit full test.
Cut that down to two minutes.

:install
:qbit-admin:install
:qbit-boon:install
:qbit-core:install
:qbit-examples:install
:qbit-examples-standalone:install
:qbit-jetty:install
:qbit-perf:install
:qbit-perf-client:install
:qbit-perf-server:install
:qbit-sample-client:install
:qbit-sample-model:install
:qbit-sample-server:install
:qbit-servlet:install
:qbit-test:install
:qbit-vertx:install

BUILD SUCCESSFUL

Total time: 2 mins 42.3 secs


fix broken links to cosign signing page

While reading the docs about "Verify Signed Kubernetes Artifacts" I noticed that the link to the cosign (https://docs.sigstore.dev/cosign/keyless) documentation points to a 404 - Not Found page.
I digged a bit through the cosign documentation and the /signing/signing_with_containers seems to the new URL for the same content. It's not a 100% match, but I think provides still the most relevant information for a reader.

Snapshot of the old /cosign/keyless: https://web.archive.org/web/20230301012402/https://docs.sigstore.dev/cosign/keyless/
The new /signing/signing_with_containers: https://docs.sigstore.dev/signing/signing_with_containers/

This PR updates the link.

Applying hold until this PR only covers one language
(Ok to unhold once that's done)
/hold

/unhold

/retitle Fix broken hyperlink for 'Cosign Keyless Signatures' in "Verify Signed Kubernetes Artifacts" guide

/sig security


Add validator check for 'select' annotation

If the user input value for "propagate.hnc.x-k8s.io/select" can not be
parsed as a valid labelSelector, we will deny this operation.
Also moved all selector related functions into a package.
Tested:
$ k delete role test -n a;
k create role test -n a --verb=update --resource=deployments;
k annotate role test -n a "propagate.hnc.x-k8s.io/select"="cqoornttdrkjacuiqagaqottaprzpjzfjudvlqziugeywbzgbdfvcxcimwiecodcpehldykmrikoxixv"

role.rbac.authorization.k8s.io "test" deleted
role.rbac.authorization.k8s.io/test created
The request is invalid: : Invalid "propagate.hnc.x-k8s.io/select" value: cqoornttdrkjacuiqagaqottaprzpjzfjudvlqziugeywbzgbdfvcxcimwiecodcpehldykmrikoxixv, which can not be parsed as a labelSelector

$ k delete role test -n a;
k create role test -n a --verb=update --resource=deployments;
k annotate role test -n a "propagate.hnc.x-k8s.io/select"="/"

role.rbac.authorization.k8s.io "test" deleted
role.rbac.authorization.k8s.io/test created
The request is invalid: : Invalid "propagate.hnc.x-k8s.io/select" value: /, which can not be parsed as a labelSelector

/assign @adrianludwin
/assign @yiqigao217

tracked at #1123

/hold checking some weird errors

/lgtm
/hold cancel


Fix #2140

Include parenthesis around every infix operation provided by one of the
ExpressionMethod traits.
It is not possible to include this directly into the infix_operator!
macro due several SQL constructs:

a LIKE b can have optional ESCAPE clauses (same for NOT LIKE,
ILIKE eg). Unconditionally putting a parenthesis around (a LIKE b) is no valid SQL
a BETWEEN l AND u is implemented a set of two infix operators,
BETWEEN and AND, so putting the parenthesis directly into the
operator macro would lead to x BETWEEN (l AND u) which is not valid
SQL

Instead I've opted for adding explicit parenthesis in the corresponding
ExpressionMethod (and similar traits implementations. As part of this
change I've changed all the return types there to use some type from
diesel::dsl, so that potential users have an easier time to figure out
what types to use if they have to write some where clause or something
like that.
While changing the return types to diesel::dsl types I noticed  and
fixed the following issues:

Not all methods had an equivalent type in diesel::dsl, sometimes
because it was missing, sometimes because the postgres specific types
weren't correctly exported there. Both is fixed now
Some types were not anymore compatible with the actual methods. A
notable example is dsl::And and BoolExpressionMethods::and where the
later returned a potentially nullable type depending on the input types,
while the first was only valid for not nullable right sides. Fixing that
was a bit more complicated:
I've opted for making the return type of BoolExpressionMethods::and
(and or) unconditonally nullable. This prevents having an explicit
ST parameter on dsl::And
This in turn requires that we accept a non nullable expression in
places where a nullable expression is expected. Technically this
was already possible, but would require explicitly calling
.nullable() on affected expressions. Given that .and() and
.or() are really common, that seemed not to be a good solution.
As result I've changed the AsExpression impl for T: Expression
in such a way that for any T with T::SqlType: SqlType<IsNull =         is_nullable::NotNull> there is now an impl
AsExpression<Nullable<T::SqlType>> so that such expressions are
also accepted in nullable contexts.

@diesel-rs/reviewers This is ready for review. If CI shows any more failing tests because changed debug_query output I will fix them on monday.


sdk: resolve naming inconsistencies

Right now, key names are JWK, SSO, Client and Policies. We have acronym, acronym, singular, plural. This doesn't make sense. Instead it should be JWKs, SocialLogins, Clients and Policies.

This is now:
	// Clients offers OAuth2 Client management capabilities.
	Clients           *client.HTTPManager

	// SocialConnections offers Social Login management capabilities.
	SocialConnections *connection.HTTPManager

	// JSONWebKeys offers JSON Web Key management capabilities.
	JSONWebKeys       *jwk.HTTPManager

	// Policies offers Access Policy management capabilities.
	Policies          *policy.HTTPManager

	// Warden offers Access Token and Access Request validation strategies (for first-party resource servers).
	Warden            *warden.HTTPWarden

	// Introspection offers Access Token and Access Request introspection strategies (according to RFC 7662).
	Introspection     *hoauth2.HTTPIntrospector


re-call becomeFirstResponder does not working

Hi, all!
I have a controller in which there is a RichTextEditor. BecomeFirstResponder is call in ViewDidAppear. There are transitions to other screens. When returning back RichTextEditor again should become the firstResponder. But it does not work.

I found a solution. Need before calling:
_ = container.resignFirstResponder()
_ = container.becomeFirstResponder()


Test results not displaying in VSCode when using a testsuite name that contains spaces

Repro

Create a few test methods, assuming a normal setup
Configure a testsuite in your phpunit.xml with a testsuite name of "test repro" (see below for an example)
Click "Run All Tests" from the Visual Studio Testing window

Outcome
Notice how the results of your entire test suite are not updated/reported.
It seems that the --testsuite argument value (the testsuite name) isn't put in quotes, which is somehow leading to the results not being shown in VSCode. See output below. Running individual tests works fine. Renaming the testsuite to "testRepro" fixes the issue.
Expected outcome
All the tests that are found by VSCode are updated (e.g. the result of the test is being shown both inline in code (in the case of errors) and in the Testing window).
Logs / output / settings
<phpunit
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"
         bootstrap="./vendor/autoload.php">
    <testsuites>
        <testsuite name="test repro">
            <directory>tests</directory>
        </testsuite>
    </testsuites>
</phpunit>

> php -d display_errors=on "<my path>\vendor\bin\phpunit" -c phpunit.xml --teamcity --colors=never --testsuite test repro
PHPUnit 10.5.2 by Sebastian Bergmann and contributors.
Runtime:       PHP 8.1.2
Configuration: <my path>\phpunit.xml
Unexpected: test 'testAbc' has started (but was not listed in Test Window)
Unexpected: test 'testAbc' has passed (but was not listed in Test Window)
Unexpected: test 'testGhi' has started (but was not listed in Test Window)
Unexpected: test 'testGhi' has passed (but was not listed in Test Window)

Environment
Values

Extension version
v4.12.0

Operating system
Windows 11

PHPUnit
10.5.2

VSCode
1.84.2

Thanks for the issue.
I wrapped the value in --testsuite with quotes like --testsuite 'test repro' and released a new version that's on its way. I'll close this but please reopen if it doesn't work.
PR with fix #102


Component proposal: CONFIRMATION MODAL

Hi,
I would like to propose component implementation.
Confirmation modal basically is extending the modal component but with out-of-box wrapper for accept/deny/cancel.
It is really nice with KeenUI - https://josephuspaye.github.io/Keen-UI/#/ui-confirm-docs - and I think it would be great addition to Quasar!

Already in.
http://quasar-framework.org/components/dialog.html#Confirm-Example


EmitEvent action should map strings passed with "error" events to Exceptions

Is your feature request related to a problem? Please describe.
So in composer you can emit an "error" event but you can only pas simple values like strings or JObjects as the value of an event.  The "error" event is special in that it expects and Exception as the value.
Describe the solution you'd like
To better support "error" events raised by composer flows, the EmitEvent action should map string values into Exception objects when an "error" event is raised.
Additional context
Add any other context or screenshots about the feature request here.
[enhancement]

Note: E2E scenario is using onError trigger to catch this.


Locate files recursively

What problems would arise if the ->depth(0) portion of the line below from EnvDirectoryLocator.php were removed?
$files = SymfonyFinder::create()->files()->in($path)->depth(0)->name('/.*\.(ya?ml|php)$/i');

I tried organizing some fixture YAML files into subdirectories today and got bit by this.

How is it actually a problem? I would expect it to be recursive tbh

Actually this may be due to environment specific fixtures. I however don't see the env parameter in DoctrineOrmLoadDataFixturesCommand which is either missing or we are removing that feature from 2.x. (but I don't recall wanting to do that)

Closing as as explained, this is how it should work :)


size stops ignored in style definition defaults

TO REPRODUCE THE ISSUE, FOLLOW THESE STEPS:
Make a new style and set a draw default including a size definition as stops:
styles:
    my_points:
        base: points
        draw:
            color: red
            size: [[13, 14px], [16, 18px], [18, 19px]]

RESULT:
Points are not drawn unless the size is constant, eg 32px. Stops are only respected under a layer declaration.
Example scene:
https://mapzen.com/tangram/play/?scene=https%3A%2F%2Fmapzen.com%2Fapi%2Fscenes%2F5%2F730%2Fresources%2Fblank.yaml#17.15007/37.79860/-122.41190
To test a fixed size, uncomment line 10: size: 32px
To test stops under a layer, uncomment line 19.

Aha! Good sleuthing :) /cc @sensescape

For background, we'd like to use the size stops to distribute standalone icon library ZIPs that include the draw defaults for Mapzen basemap cartography.

Fixed in 4e101196b71396dc3825dd47fae13ef09763dcbe, will be in the next release.

Released in v0.13.0


Investigate/research how to better train two-stage recsys pipelines

This issue was broken in the following tasks, that can be done independently and require some effort:

#669
#670

This issue was broken in the following tasks, that can be done independently and require some effort:

#669
#670


Secchi on bottom is showing incorrectly

All points are marked as "Secchi on bottom" on the station map under Site Trends, need to fix...

This was an issue with the Secchi qualifer column, likely on the EPC side.  The epcdata object was recreated following updates to tbeptools: https://github.com/tbep-tech/tbeptools/commit/ebd911d2700272b8bbd8a1b86f221378407756ec


Optimize the installation page

Could you post a screenshot?

I would say the UI looks more ugly than before, these "installing" texts are just redundancy, and the sizes (font/image) are uncoordinated.
Since there is already an animation, I do not see why adding more sentences makes sense.

I would say the UI looks more ugly than before, these "installing" texts are just redundancy, and the sizes (font/image) are uncoordinated.
Since there is already an animation, I do not see why adding more sentences makes sense.

Title, animation, description; not conflicting...

Title, animation, description; not conflicting...

Your sample screenshot is well-designed and good-looking. And it does provide more details about each step, not just keep saying "installing" again and again.

I apologize if this is getting into yak-shaving territory.
I think having both "installing" and "please wait" is important, as even though there is the animation, for screen-readers they won't see that animation. This way, they'll know there is something happening that they need to wait for.

I apologize if this is getting into yak-shaving territory.
I think having both "installing" and "please wait" is important, as even though there is the animation, for screen-readers they won't see that animation. This way, they'll know there is something happening that they need to wait for.

At least, the page should be well-designed and good-looking. But not adding more and more uncoordinated elements.
Have you ever seen other websites or apps use such layout ? Small font, large icon, small font, keep repeating "installing", and visually misaligned?

@wxiaoguang Is this OK?

@wxiaoguang Is this OK?

Yes, much better than before, looks good to me.

@wxiaoguang Is this OK?

Yes, much better than before, looks good to me. (maybe it needs to fine tune the icon size, but it should be easy to do so)

ok, icon resized slightly, I have commited.

Thank you very much for improving the page.
I did some tests on my side, and I think some HTML element could be optimized too since we do not need them.
And we can add aria-hidden="true" to the image, then no need to set "alt" or expose it to screen reader.


on-demand pricing cache bug

It appears that when pricing data is cached, something will get out-of-sync resulting in a flood of "Could not retrieve on-demand price for instance type "
Here's maybe some reproduction steps:
## clear cache to start fresh
$ ec2-instance-selector --cache-ttl=0 -o table-wide

## populate cache with min-ttl (which is unfortunately 1 hour, but you could hard code something smaller in the go code)
$ ec2-instance-selector --cache-ttl=1 -o table-wide

## come back after 1 hour and rerun
$ ec2-instance-selector --cache-ttl=1 -o table-wide

## You should see a bunch of these:
NOTE: Could not retrieve 30 day avg hourly spot price for instance type x2iedn.metal
NOTE: Could not retrieve instantaneous hourly on-demand price for instance type r5ad.8xlarge
NOTE: Could not retrieve instantaneous hourly on-demand price for instance type m3.xlarge
NOTE: Could not retrieve instantaneous hourly on-demand price for instance type g3s.xlarge
NOTE: Could not retrieve instantaneous hourly on-demand price for instance type t3.small
NOTE: Could not retrieve instantaneous hourly on-demand price for instance type g5.xlarge
NOTE: Could not retrieve instantaneous hourly on-demand price for instance type i3.4xlarge
NOTE: Could not retrieve instantaneous hourly on-demand price for instance type i3en.large
NOTE: Could not retrieve instantaneous hourly on-demand price for instance type r3.4xlarge
NOTE: Could not retrieve instantaneous hourly on-demand price for instance type u-6tb1.56xlarge

Did PR #150 resolve this issue?


Imagine/Imagine Version

Can we add to composer.json "imagine/imagine": "~0.6.2" , instead of ~0.5.0 because they have added blur effect there and bugfixes

+++

+1

imagine/imagine is not updated yet to 0.6.2 using dev-master


updated new logo and url

Pre-submission checklist:
Please check each of these after submitting your pull request:

[x] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[x] Is your project closed source or, if it is open source, does your project have at least 300 GitHub stars?
[x] Have you picked the single best (existing) category for your project?
[ ] Does it follow the other guidelines from the new entries section?
[x] Have you added your SVG to hosted_logos and referenced it there?
[x] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[x] Does your project/product name match the text on the logo?
[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[x] ~30 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

@caniszczyk new url :- https://github.com/tenable/terrascan not affected on landscape ! did I missed anything


Error Message

Hi,
recently i get this error message. Really don't know why. Maybe you guys have an idea?
I updated the plugin to the latest version.

Solved it. I had to use "prepare for export" from Aenima Plugin.


[FEATURE] Community tag for community profiles.

Fixes Issue
Fixes - [FEATURE] community profile pages marked as community #836

It is now possible to add types of community or personal to profiles. Community profiles should clearly mark somewhere at the top of the profile page that it belongs to a community, in order to differentiate them from personal pages.

Closes - #836
Changes proposed
Add a community tag on the top of the community profile.

If a user visits the community profile, they will see the community badge on the top of the profile.
Now users can differentiate between communities and user profiles.

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Screenshots
Before: 👇

After: 👇

Note to reviewers

Community badge: is having a simple design.
If you have any new ideas to improve the design,
or to change anything in the files or in the design, let me know.
Thanks.

done ✅ @emmalearnscode

Thanks for approving and merging it 😄.


Incorrect rendering when perspective matrix far plane set to infinity.

When the perspective matrix used maps values at the far plane to infinity e.g a matrix of the form:
   [fov / Aspect, 0.0f, 0.0f, 0.0f,
    0.0f, fov, 0.0f, 0.0f,
    0.0f, 0.0f, 0.0f, -1.0f,
    0.0f, 0.0f, NearPlaneDistance, 0.0f]

The library fails to render the guizmo.
This is because values of infinity aren't handled correctly on line 721
rayOrigin.Transform(makeVect(mox, moy, 0.f, 1.f), mViewProjInverse);
I have worked around this by using a small epsilon value rather than 0 but a more robust solution would probably be better.

Thanks for pointing that issue :) So, if I understand correctly, this can be solved by computing a projection inverse matrix more robustly?

I'm not sure what a more robust solution would look like for this tbh, from a mathematical point of view a value of infinity here is correct. Without the user supplying a more reasonable world-space depth that could be used to clamp against the library has no way to know what a reasonable value would look like.


remove coal from the ore processor steel recipe

About the PR

removed coal from the steel crafting recipe in the ore processor
Why / Balance

having steel (the most asked for resource) require a secondary, rarer resource to craft makes it painful for cargo when they have enough steel in the ore processor but not enough coal, making it so they have to beg salvage to do another mining trip just to get some coal.
Technical details

n/a
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

tweak: The ore processor no longer needs coal to print steel.

Coal and steel are equal rarity last time i checked. Is something wrong with the generation?
Removing coal is dumb becauss then it literally has 0 purpose.

Yeah, what Emo said. It should be the same drop rate. Would it help to have a coal veins maybe?

in one round of Salvage we pulled 2 mag astroids, did 2 static Asteroids and an expidetion resulting in 0 coal, and 675 sheets of steel on fland station; I know it's only n=1 for sample size but uh, salv is broken while coal is part of this recipe

If coal isnt generating then someone should fix that.

Spawning in both low yield(left) and high(right) I am getting both coal and steel when I test

OK, I see the issue. It looks like procgened asteroids are using WallRock which does not inherit the loot pool and very few pre-mapped asteroids are using the asteroid rock that does.
I think I'll give Wall Rock a chance top drop coal. The alternative would be to have coal veins. (Would need more sprites for that.)

Better pr is up.


changes to eap 7.3 on rhel 8 multivm byos

Looks good to me

@mathapli @Pbasnal please review and merge and re-generate the Marketplace offer(s) if needed - this fixes a couple of storage-related capabilities and parameter passing bugs.


Created toolbar and headline section-mobile version

In this PR:
Added linters
Created HTML code for mobile toolbar and headline section
Styled the toggled toolbar and the headline section
Added the social media icons
Added the background img
Thank you for reviewing my PR

Hi @jerryowusu
Thank you for your feedback
I've pushed the changes, kindly review them and let me know your insight
Regards


Add JSON Key Support

Right now we require a p12 key to be added to the site and it then must be referenced in the Media settings by providing its path. This requires the key to be added to the codebase or uploaded to the Media library, neither option is ideal.
GCS now allows for a JSON key to be used instead of a p12 key and we should allow for the key to be copied and pasted into a textarea and saved in WordPress options.
Support for old p12 keys should still be available although hidden from the UI so that old installations still work but new installations, and old, can now be configured with the JSON key.

@alimuzzaman Let me know when you available for a skype call. I need to explain you this issue directly

Progress?

started yesterday

I had to upgrade Google Api Client to new 2.0.0 version that allows to use JSON for auth. But p12 auth is no longer supported in this version. So I've migrated it to JSON completely.

Also, plugins now requires PHP 5.5+

@antonkorotkov Is this done? Please verify that its deployed/available on workspace.uds.io so we can test/review.

Done, and on workspace.


Add feature to download logs for previously deleted pods

Please add new feature to download pod logs for deleted pods using "kubectl kubectl logs --previous" command. This will be useful for debugging the issue as logs gets lost when pod gets re-created.
Thanks a lot!

Issue has been added as a feature request and is in review.


Select All/None With Multiple-Select Feature

Hi,
when using multiple select option, for example:
{{> afFormGroup name="typeTest" type="select-checkbox" }}
Is there anything like "Select All"/"Select None" feature/package?
I find it necessary and generic feature..
Thanks

I would like this also.


JsonSchema "pattern" field for regex

Hi joelittlejohn, first I want to thank you for such an amazing work.
I wanted to ask you -> how to use the "pattern" field for regex in jsonschema. Is this supported in this maven plugin?
for example, consider this simple jsonschema that validates that the name property has only capital letters:
{   "type":"object",   "properties": {     "name": {       "type": "string",       "pattern": "^[A-Z]+$"     }   } }
Is this possible with your plugin? And if not, do you guys know how to do this for a pojo?
PS: I am using Confluent Schema Registry for validating data with kafka, so I am sending pojos and trying to validate with jsonschema.
I appreciate very much your help :)
Regards

Hi,
In our application we use pattern to produce a string (as we require it to be stored in database) and we're validating request against json schema using json schema validator from networknt and Joni library as regex backend. (you may use any other validator as well)
java.util.regex (all versions) has a flaw we don't want to accept: {2,3} (this is entire pattern) is a valid regex for java, but not for any other engines
This is slightly not an answer for your question, but may help

This library is only concerned with generating types for binding, not validating data.
It sounds like you need to use a json schema validator against your JSON, or activate JSR-303 annotations in this library (check out includeJsr303Annotations) and have a look at a bean validator like hibernate-validator.


screencap not working on waydroid

Hi,
when using waydroid with hardware acceleration screencap doesn't create readable files anymore.
The issue with waydroid and hardware acceleration is that, the native screencap in adb shell is writing out an error /vendor/etc/hwdata/amdgpu.ids: No such file or directory but still creates a valid image file. If called via ppadb there is no error thrown, just the file that has been written is not a valid image anymore. The error message is written at the start of the file instead.
I slightly adapted the example code to test this:
client = AdbClient(host='<IP_ADDRESS>', port=5037)
devices = client.devices()
device = devices[0]

response = device.shell('wm size')
print(response)

result = device.screencap()
with open("screen.png", "wb") as fp:
    fp.write(result)

As a workaround changing the cmd in the screencap method of command/transport/init.py from
cmd = "shell:/system/bin/screencap -p" to cmd = "shell:/system/bin/screencap 2>/dev/null -p"
works for me


Add new task apps to SCDF's Spring Initializr

As a developer, I'd like to add remaining task apps to SCDF's Spring Initializr.

OOTB Task apps are now available in the fork of Spring Initialzr.


Problem with mypy integration in Python extension

It is great that Python extension for VS Code provides mypy support out of the box.
However, some of our (mypy) users complained that they are not able to use mypy daemon (a.k.a. dmypy) in Python VS code extension. After some investigation it turns out that there is a problem on a deeper level with mypy integration: It looks like Python extension tries to pass name of the currently active file (the one that is being edited) to mypy executable.
For example, if a user edits a file ./foo/bar/baz.py and a user configured mypy executable as just mypy, and mypy arguments as --allow-redefinition, then the extension will run a subprocess mypy --allow-redefinition ./foo/bar/baz.py.
This is however not at all how mypy works. Mypy is not really a linter and in most cases cannot just type-check given file in isolation. Mypy type-checks a project as a whole, in particular changing a signature of a function can cause type errors in callers in other modules.
A possible workaround that I found is to write a short script that swallows and ignores the file name passed to it, and makes a properly configured call to mypy. This however looks ugly IMO.
I think that instead of appending the current file name, the scope of mypy build should be configurable as just other arguments passed to mypy. By default this would be just repo/project root.

Please file for https://github.com/Microsoft/vscode-python


Handled gas in standalone mode.

This change is

crates/cairo-lang-runnable-utils/src/builder.rs line 367 at r2 (raw file):

            // Setting gas to be far from u128 boundaries.
            casm_build_extend! {ctx,
                const max_gas = i128::MAX;

The gas is signed?
Code quote:
const max_gas = i128::MAX;


Is there a way to change security rule of Endpoints?

the current version token endpoint is protected against anonymous user, I am sure there is a reason.
but what if I want to change it to permitAll(), is there anyway I could do so?
I've tried changing spring security rule, doesn't work since oauth filter take priority before spring security.

I think maybe remove @EnableAuthorizationServer and use @Configuration extends AuthorizationServerSecurityConfiguration will be the trick. giving this a try.


[SUGGESTION] Phone/Radio Speaker

Ability to enable/disable(export?) a speaker on the phone/radio. This would allow user around to be able to hear the phone call or someone talking on the radio.

It likely won't be added unless someone else takes the time to do so in a way that doesn't affect script performance & readability.

So is the only thing that is stopping this from being a thing the ability to search states? If so there is actually a pretty simple way to make your own way to search for them. I'd be happy to help with that if that is something needed.

So is the only thing that is stopping this from being a thing the ability to search states? If so there is actually a pretty simple way to make your own way to search for them. I'd be happy to help with that if that is something needed.

We could search our own way but it wouldn't be very performant as we can't natively search state bags, and searching through a lot of player state bags would likely lead to issues because of constant deserialization.

So is the only thing that is stopping this from being a thing the ability to search states? If so there is actually a pretty simple way to make your own way to search for them. I'd be happy to help with that if that is something needed.

We could search our own way but it wouldn't be very performant as we can't natively search state bags, and searching through a lot of player state bags would likely lead to issues because of constant deserialization.

Well the way I have it being done has no performance issues or any issues at all and works 100% of the time.

If you want the share the code feel free make a pull request and make it have a convar to enable it (off by default).

If you want the share the code feel free make a pull request and make it have a convar to enable it (off by default).

I don't have any code for the speaker only for a way to search a state. That being the ability to have unique tags(IE: "isDead", "isCuffed") to be set to true or false and checking if those are true or false.
Which this isn't really a thing that could be turned on or off it's just a utility.


Speed Calculation Update Discussion

As we start to work on performance metrics and eventually move into reports/visualizations I would like to explore updating the speed calculation to minimize outliers in our data based on the simplified speed calculation we are currently using. I propose using the following update to the logic to determine speed:
If speed is being reported by a detector use the reported speed
If no speed is being reported then calculate speed using the simplified speed equation
If a speed calculation using the simplified speed equation is over 90mph or null use a free flow speed of 65mph
I believe this change will give us speed and performance metrics more in line of what we would expect to see in the real world. I am open to the group's thoughts and inputs on this topic since it would involve recalculating the five-minute aggregate table.

This sounds like a reasonable plan @kengodleskidot. Based on your logic, I think we may want to make the 5-minute aggregate table compute just the average speed based on that reported by the detector. That would help keep this expensive-to-calculate model as simple and stable as possible. Then your follow-up logic could be done in downstream models. Does this work for you?

If a speed calculation using the simplified speed equation is over 90mph or null use a free flow speed of 65mph

I would probably prefer to have it as null rather than a made up number.

@ian-r-rose since we are only getting speed values from a small group of detectors what model would be best to perform the simplified speed calculation if not the 5-min aggregate model?

We could put some of the more complex speed reasoning in your 5-minute performance metrics model. It's not the only choice, but shouldn't be too hard to add there

FYI @mmmiah is working on updating the associated speed models

This sounds like a reasonable plan @kengodleskidot. Based on your logic, I think we may want to make the 5-minute aggregate table compute just the average speed based on that reported by the detector. That would help keep this expensive-to-calculate model as simple and stable as possible. Then your follow-up logic could be done in downstream models. Does this work for you?

If a speed calculation using the simplified speed equation is over 90mph or null use a free flow speed of 65mph

I would probably prefer to have it as null rather than a made up number.

I agree with Ken and agree with Ian's edit regarding preserving nulls rather than making up a number.