text:
HmRqHeader and HmRsHeader constructors violate the rule about primary constructor

I believe we should have only one primary constructor in AbstractHmHeader:
protected AbstractHmHeader(final Matcher<String> hdrm,
        final Matcher<Iterable<String>> vlm) {
        super();
        this.header = hdrm;
        this.value = vlm;
    }

Other constructors should be removed. And we should construct parent by having supplementary constructors in childs.
public HmRqHeader(final Matcher<String> hdrm, final Matcher<String> vlm) {
        super(hdrn, vlm);
    }

Other constructors in HmRqHeader should delegate construction to this primary one:
public HmRqHeader(final String hdr, final Matcher<String> vlm) {
    this(Matchers.equalToIgnoringCase(hdr), vlm);
}

Same should be applicable for HmRsHeader.

The job #786 assigned to @paulodamaso/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@0crat wait for #843 merge

@0crat wait for #843 merge (here)

@paulodamaso The impediment for #786 was registered successfully by @paulodamaso/z

The architect of the project has changed; @yegor256/z is not at this role anymore; @paulodamaso/z is the architect now

@t-izbassar Done and merged, please close.

source: gharchive/issue

authors: 0crat paulodamaso t-izbassar

license: MIT

license_type: permissive

license_source: github-api


text:
Yeoman-Environment Issue

This issue originated from this StackOverflow Question.
Bug
My environment

OS version/details:  Windows 11 64-bit
Node version: v20.9.0
npm version: 10.2.2
Version of yo : 4.3.1

Expected behavior
The generator should work without --ignore-version-check
Current behavior
The generator should doesn'twithout --ignore-version-check
Steps to reproduce the behavior
Install any type of generator using the latest version of yeoman (e.g. npm install -g generator-discord)
Run the generator. (e.g. yo discord)
Command line output
This generator (discord:app) requires yeoman-environment at least 4.0.0-rc.0, current version is 3.19.3, try reinstalling latest version of 'yo' or use '--ignore-version-check' option

npm install yo@next
If it’s working as expected, I can promote as stable.

Works as expected, great work! Thanks!

Will update the StackOverflow question when published.

Please promote as stable

Update the yeoman generator using npm i -g yo

authors: emilkrebs mshima tm1000

repo: yeoman/yo

license_source: bigquery


text:
Commands with shell interface should support the Sh monad

We currently have sshPairs which takes a list of text tuples. But actually any command that supports running subcommands, like su -c, bash -c, ssh should support the Sh monad so we can run the code more or less like this:
shelly $ do
    ssh "machine" $ do
        ...

This way we get full typechecked programs in the subcommand.

Its a good idea. I don't think this would be the Sh monad since the semantics are going to end up being different. A different monad could support a more limited API: it would be a lot of work to attempt to support the entire Shelly API running remotely.

authors: CGenie gregwebs


text:
fix(audit): Remove Task data from aggregator after a response has been responded or expires.

This PR:
Removes Task data from aggregator response maps after a response has been responded to or expired.
resolves: #977
#To Test:
Setup local dev net as per the guide
make anvil_start_with_block_time

 make aggregator_start

make operator_register_and_start

make batcher_start_local

To confirm you can check validate the aggregator mappings for a specific task have been removed by adding:
	agg.AggregatorConfig.BaseConfig.Logger.Info(
		"Info deleted from Batcher:",
		"Task Index", blsAggServiceResp.TaskIndex,
		"Batch Identifier Hash", batchIdentifierHash,
		"agg.batchesIdxByIdentifierHash:", agg.batchesIdxByIdentifierHash[batchIdentifierHash],
		"agg.batchCreatedBlockByIdx:", agg.batchCreatedBlockByIdx[blsAggServiceResp.TaskIndex],
		"agg.batchIdentifierHashByIdx:", agg.batchesIdentifierHashByIdx[blsAggServiceResp.TaskIndex],
		"agg.batchDataByIdentifierHash:", agg.batchDataByIdentifierHash[batchIdentifierHash],
	)

to line 324 in aggregator/internal/pkg/aggregator.go
and
	agg.AggregatorConfig.BaseConfig.Logger.Info(
		"Info deleted from Batcher:",
		"Task Index", batchIndex,
		"Batch Identifier Hash", batchIdentifierHash,
		"agg.batchesIdxByIdentifierHash:", agg.batchesIdxByIdentifierHash[batchIdentifierHash],
		"agg.batchCreatedBlockByIdx:", agg.batchCreatedBlockByIdx[batchIndex],
		"agg.batchIdentifierHashByIdx:", agg.batchesIdentifierHashByIdx[batchIndex],
		"agg.batchDataByIdentifierHash:", agg.batchDataByIdentifierHash[batchIdentifierHash],
	)

to line 410 in aggregator/internal/pkg/aggregator.go.

What happens if an answer comes after the batch is closed ?

I ran a local testnet with 3 operators produced. The aggregator did not experience any errors and and successfully removed added task information from the aggregator after successfully responding.

Changed this PR to draft since we should prioritize other issues first

What happens if an answer comes after the batch is closed? It should probably be tested with more operators

The aggregator when receiving the response checks that the batch indeed exists here. Anyway, I tested it on my machine doing:

Registered four operators
Killed one
Sent a bunch of proofs
Woke the killed operator and when it got the latest task, it sent his response and the aggregator ignored it, logging the following message:

[2024-09-27 11:54:10.904 -03] INFO (pkg/server.go:63) - Locked Resources: Starting processing of Response
[2024-09-27 11:54:10.904 -03] INFO (pkg/server.go:67) - Unlocked Resources: Task not found in the internal map

Imo the deletion of the task in the maps should be delayed, so it will accept responses from operators after reaching the quorum
It can be done with a go routine like
go func() {
		time.Sleep(10 * time.Second)
		// Deletion logic
	}()

The deletion is done once the task was verified in Ethereum (so there is a time between the quorum is reached and the transaction is accepted in Ethereum). So I'm not sure if we should add an extra delay in the deletion

source: gharchive/pull-request

authors: JuArce MarcosNicolau MauroToscano PatStiles entropidelic


text:
Break the primary yew crate apart into discrete chunks

As part of SSR, I've been wrenching on the main yew branch. However there are a bunch of extra bits that seem to bloat the primary crate. In my branch, I've done these things

Move the format module out into its own module (yew-format)
Move the agents into their own crate (yew-agents). Agents don't need to be built into the VDOM framework, and are further bloated when trying to target other platforms.
Move the VDOM into its own crate / leave it as yew-core
Make the scheduler a trait and force it to be implemented by the various backends. This can be specific to a backend
Move everything into a packages folder to tidy things up.
Move the services out completely. An update to websocket service should be isolated to a services module.

My dream is to strip down Yew as much as possible, and then support a wide array of backends. With an improved router, we have the unique opportunity to target every platform with very little hassle:

iOS apps as an alternative to React-Native or flutter
Android apps as an alternative to react-native or flutter
Desktop apps as an alternative to electron
Web apps as an alternative to the npm ecosystem
Web apps via SSR as an alternative to django
Hybrid apps as an alternative to live view

I think I understand the repo structure, codebase, and CI enough to help accelerate these changes and start bringing support to all the platforms listed above. The general thought process here is that "yew-core" should not depend on a backend, and instead be simply a lingua franca UI toolkit that different backends can render to their respective platform.
Questionnaire

[ ] I'm interested in implementing this myself but don't know where to start
[x] I would like to add this feature
[ ] I don't have time to add this right now, but maybe later

Closing since this has been done for the most part.

Move the VDOM into its own crate / leave it as yew-core

See #758

Make the scheduler a trait and force it to be implemented by the various backends. This can be specific to a backend

This doesn't seem like something that will happen soon. Feel free to create a new issue about this, explaining your yew-core proposal in detail.

repo: yewstack/yew


text:
Added Windows prebuilds for Node 16 LTS

Description

Builded windows prebuilds for node.js 16 using command in prebuilds/README.md
Motivation and Context
Node 16 is active LTS starting from 26th October 2021.
With prebuilds it is not necessary to install c++ build tools on target machine.

How Has This Been Tested?

Newly created prebuild for windows copyed to node_modules/zookeeper/prebuilds directory on machine without c++ build tools. Application using zookeeper module started without error.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] I have read the code of conduct.
[x] I have read the contributing guide.
[x] I have updated the documentation accordingly (if applicable).

Thank you @miroslavpokorny!
I will review this as soon as possible.

Hello again @miroslavpokorny!
I will create a separate pull request for this, including binaries for Mac OS X.
As a maintainer I will create new binaries for security reasons. But I have added you as a co-author and will of course also add your name to the changelog. I hope it is okay doing this way!
Thank you again for making a pull request, much appreciated!

Here's the Co-authored-by commit: https://github.com/yfinkelstein/node-zookeeper/commit/049ccd809ce3602f4a3de30d845b9b69381160aa
And the changelog: https://github.com/yfinkelstein/node-zookeeper/blob/master/CHANGELOG.md#v-500-2021-12-06

authors: DavidVujic miroslavpokorny

repo: yfinkelstein/node-zookeeper

license: mit


text:
Is there GPU support for box-prompted SAM?

It seems that efficientSAM provided only works on CPU, I tried to use cuda() to move model and data to GPU , but it doesn't help a lot.
Also tried the seg-everything to cuda method in pull requests,  doesn't help a lot as well.
Maybe the box-promted SAM needs a function like " predictor.set_image() " in SAM and Mobile-SAM to save time used in a same image.

It seems that efficientSAM provided only works on CPU, I tried to use cuda() to move model and data to GPU , but it doesn't help a lot.
Also tried the seg-everything to cuda method in pull requests, doesn't help a lot as well.
Maybe the box-promted SAM needs a function like " predictor.set_image() " in SAM and Mobile-SAM to save time used in a same image.

It runs smoothly on my GPU. Specifically, I have a 3090ti with an i7-12700. For a single image, in box mode, using the tiny model, when running on the CPU with PyTorch, the speed is about 1 second per image, and with ONNX, it's approximately 0.7 seconds per image. When using the GPU with PyTorch, the speed is around 0.6 seconds per image, and with ONNX, it's about 0.3 seconds per image. Additionally, the time consumption for each box decoder is approximately 0.04 seconds. My implementation is based on https://github.com/yformer/EfficientSAM/issues/40#issuecomment-1990997394 and https://github.com/yformer/EfficientSAM/issues/1#issuecomment-1870137184

@silinsi, it should very fast to run EfficientSAM on GPU. Can you share more information?

@liutongkun, for the first inference, loading the model to GPU and moving the data to GPU may take time. Can you share the latency for the first inference?

@liutongkun, for the first inference, loading the model to GPU and moving the data to GPU may take time. Can you share the latency for the first inference?

Thanks for your reply. I put the data and model to GPU before starting the timing, here are my codes based on EfficientSAM_example.py
for i in range(10):
    device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
    model = model.to(device)
    a = sample_image_tensor[None, ...]
    a = a.to(device)
    input_points = input_points.to(device)
    input_labels = input_labels.to(device)
    t1 = time.time()
    print('Running inference using ', model_name)
    predicted_logits, predicted_iou = model(
        a,
        input_points,
        input_labels,
    )
    t2 = time.time()
    print(f'timecost{t2-t1}')

and it shows:
Running inference using  efficientsam_ti
timecost0.5455219745635986
Running inference using  efficientsam_ti
timecost0.035993099212646484
Running inference using  efficientsam_ti
timecost0.03607749938964844
Running inference using  efficientsam_ti
timecost0.03591561317443848
Running inference using  efficientsam_ti
timecost0.0360107421875
......

@liutongkun, can you move the model/data before the loop?

@liutongkun, can you move the model/data before the loop?

I modify the code to:
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model = models['efficientsam_ti'].to(device)
a = sample_image_tensor[None, ...]
a = a.to(device)
input_points = input_points.to(device)
input_labels = input_labels.to(device)
for i in range(10):
t1 = time.time()
print('Running inference u sing ', 'efficientsam_ti')
predicted_logits, predicted_iou = model(
a,
input_points,
input_labels,
)
t2 = time.time()
print(f'timecost{t2-t1}')
and it shows:
Running inference u sing  efficientsam_ti
timecost0.56357741355896
Running inference u sing  efficientsam_ti
timecost0.035813331604003906
Running inference u sing  efficientsam_ti
timecost0.035944223403930664
Running inference u sing  efficientsam_ti
timecost0.03553032875061035
Running inference u sing  efficientsam_ti
timecost0.03602123260498047
......

@liutongkun, for the first inference, loading the model to GPU and moving the data to GPU may take time. Can you share the latency for the first inference?

Thanks for your reply. I put the data and model to GPU before starting the timing, here are my codes based on EfficientSAM_example.py
for i in range(10):
    device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
    model = model.to(device)
    a = sample_image_tensor[None, ...]
    a = a.to(device)
    input_points = input_points.to(device)
    input_labels = input_labels.to(device)
    t1 = time.time()
    print('Running inference using ', model_name)
    predicted_logits, predicted_iou = model(
        a,
        input_points,
        input_labels,
    )
    t2 = time.time()
    print(f'timecost{t2-t1}')

and it shows: Running inference using efficientsam_ti timecost0.5455219745635986 Running inference using efficientsam_ti timecost0.035993099212646484 Running inference using efficientsam_ti timecost0.03607749938964844 Running inference using efficientsam_ti timecost0.03591561317443848 Running inference using efficientsam_ti timecost0.0360107421875 ......

Thanks, it is useful

authors: EudicL liutongkun silinsi yformer

repo: yformer/EfficientSAM


text:
Bug in test_frcnn.py

@yhenon
In your test_frcnn.py in lines
131 and 133 you have defined
model_classifier_only = Model([feature_map_input, roi_input], classifier)
model_classifier = Model([feature_map_input, roi_input], classifier)

Both are exactly the same models
You are loading weights and compiling only for model_classifier but you are using model_classifier_only to predict the output in line 192. Essentially you are predicting output with random weights.
And Could you please clarify on what is the bbox_threshold = 0.8 in line 146 means?
From my understanding of the code the variable naming in ambiguous. It is actually not a threshold for the bbox but it is the threshold for classification.
Line 196 in test_frcnn.py
if np.max(P_cls[0, ii, :]) < bbox_threshold or np.argmax(P_cls[0, ii, :]) == (P_cls.shape[2] - 1):
				continue

This clearly  states that it is a classification_threshold. Could you please clarify on this?
The same bug is also present in measure_MAP.py.

The funny thinks that this classifier with random weights actually works  :)
Perhaps worse that a proper one though

@aupilot  yeah you are right even I am surprised that this actually works. @yhenon  could you please clarify on this

Someone (perhaps Le Cun?) have shown in an early paper that you can replace few layers with random weights and it will only slightly degrade performance. That's a common "problem" with NN - despite bugs they still works :)

@aupilot is it? I am surprised! could you please give a link to that paper? It sounds interesting.

Hey all,
I do not think it matter which of the Model you use. As those model share the same layers so they have the same weights

@oak-tree I disagree with you, It is not about the base_nn (vgg or resnet) it is about the final_classifier thus there is no weight sharing there.

Its the not the same model but those are the same layers and when you load the weights in one model the other one change as well
You can see it by debugging and view model.get_weights() before and after

@Abhijit-2592
Just like @giladdiv wrote:
https://github.com/yhenon/keras-frcnn/blob/237bcc1e17e298456565ae86bea0279650497689/test_frcnn.py#L131-L133
Those two model have been created from the same `layer's instances' therefor share the same weights.

So why exactly do we need model_classifier_only at all? I just replaced
[P_cls, P_regr] = model_classifier_only.predict([F, ROIs]) with [P_cls, P_regr] = model_classifier.predict([F, ROIs]) and removed the variable entirely. Everything still works fine...

authors: Abhijit-2592 apacha aupilot giladdiv oak-tree

repo: yhenon/keras-frcnn


text:
Optional recursive merge

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
✔

Related PR
https://github.com/yiisoft/demo/pull/329
WIP

May be better add special method Config::getWithRecursiveMerge() ?

What's the main reason to disable it by default? Performance?

OK. Got about the reason. The rest of questions remains.

authors: samdark vjik yiiliveext

repo: yiisoft/config


text:
Wrong html input pattern for Url::rule

Good day. When i set Url::rule to FormModel it also generate input pattern attribute equals ^(http|https):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(?::\d{1,5})?(?:$|[?\/#]). But it's wrong for browser if input value has only domain. Nevertheless - if i remove pattern attribute using browser console and send form, validation will be valid. Thanks

You can show me your code, since it works perfect for me.

You can show me your code, since it works perfect for me.

Yes, but in my case i have other pattern (with pattern like you it's works). Very interesting
<input type="url" id="activesourceform-url" class="form-control" name="ActiveSourceForm[url]" required="" pattern="^(http|https):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(?::\d{1,5})?(?:$|[?\/#])">

You can show me your code, since it works perfect for me.

Yes, but in my case i have other pattern (with pattern like you it's works). Very interesting
<input type="url" id="activesourceform-url" class="form-control" name="ActiveSourceForm[url]" required="" pattern="^(http|https):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(?::\d{1,5})?(?:$|[?\/#])">

The widget does not generate the pattern, you must specify the pattern of your convenience or use the default one, so it is not a widget error.

You can show me your code, since it works perfect for me.

Yes, but in my case i have other pattern (with pattern like you it's works). Very interesting
<input type="url" id="activesourceform-url" class="form-control" name="ActiveSourceForm[url]" required="" pattern="^(http|https):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(?::\d{1,5})?(?:$|[?\/#])">

The widget does not generate the pattern, you must specify the pattern of your convenience or use the default one, so it is not a widget error.

I use Url::rule in FormModel::getRules with defaults. And in that rule has next pattern
/**
     * @var string the regular expression used to validateValue the attribute value.
     * The pattern may contain a `{schemes}` token that will be replaced
     * by a regular expression which represents the {@see schemes()}.
     */
    private string $pattern = '/^{schemes}:\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(?::\d{1,5})?(?:$|[?\/#])/i';

You can show me your code, since it works perfect for me.

Yes, but in my case i have other pattern (with pattern like you it's works). Very interesting
<input type="url" id="activesourceform-url" class="form-control" name="ActiveSourceForm[url]" required="" pattern="^(http|https):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(?::\d{1,5})?(?:$|[?\/#])">

The widget does not generate the pattern, you must specify the pattern of your convenience or use the default one, so it is not a widget error.

I use Url::rule from yiisoft/validation package in FormModel::getRules with defaults. And in that rule has next pattern
/**
     * @var string the regular expression used to validateValue the attribute value.
     * The pattern may contain a `{schemes}` token that will be replaced
     * by a regular expression which represents the {@see schemes()}.
     */
    private string $pattern = '/^{schemes}:\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(?::\d{1,5})?(?:$|[?\/#])/i';

Maybe it rule error, not field widget

You can show me your code, since it works perfect for me.

Yes, but in my case i have other pattern (with pattern like you it's works). Very interesting
<input type="url" id="activesourceform-url" class="form-control" name="ActiveSourceForm[url]" required="" pattern="^(http|https):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(?::\d{1,5})?(?:$|[?\/#])">

The widget does not generate the pattern, you must specify the pattern of your convenience or use the default one, so it is not a widget error.

I use Url::rule from yiisoft/validation package in FormModel::getRules with defaults. And in that rule has next pattern
/**
     * @var string the regular expression used to validateValue the attribute value.
     * The pattern may contain a `{schemes}` token that will be replaced
     * by a regular expression which represents the {@see schemes()}.
     */
    private string $pattern = '/^{schemes}:\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(?::\d{1,5})?(?:$|[?\/#])/i';

Maybe it rule error, not field widget

If it's a regex problem with the browser validation, if you validate it with the validator it will work, just add:
<?= Form::widget()->attributes(['novalidate' => true])->begin() ?>

If it's a regex problem with the html validation, if you validate it with the validator it will work, just add:

I think that remove validation it's "dirty hack". Url validator by default generate wrong pattern for input. Can you move this issue to yiisoft/validator? I think there will be more actual

If it's a regex problem with the html validation, if you validate it with the validator it will work, just add:

I think that remove validation it's "dirty hack". Url validator by default generate wrong pattern for input. Can you move this issue to yiisoft/validator? I think there will be more actual

I'm not telling you to do the hack, I'm just telling you that the validator without html validation works, it's a browser problem.

If it's a regex problem with the html validation, if you validate it with the validator it will work, just add:

I think that remove validation it's "dirty hack". Url validator by default generate wrong pattern for input. Can you move this issue to yiisoft/validator? I think there will be more actual

I'm not telling you to do the hack, I'm just telling you that the validator without html validation works, it's a browser problem.

But it's work with yours pattern. Maybe change default pattern in Url::rule or/and add some option like $optionPattern - i don't know. But anyway - it's not widget bug, it are validator problem

If it's a regex problem with the html validation, if you validate it with the validator it will work, just add:

I think that remove validation it's "dirty hack". Url validator by default generate wrong pattern for input. Can you move this issue to yiisoft/validator? I think there will be more actual

I'm not telling you to do the hack, I'm just telling you that the validator without html validation works, it's a browser problem.

But it's work with yours pattern. Maybe change default pattern in or/and add some option like - i don't know. But anyway - it's not widget bug, it are validator problemUrl::rule``$optionPattern

Please open the issue in the validator to solve it, thank you.
https://developer.mozilla.org/es/docs/Web/HTML/Element/form#attr-novalidate

If it's a regex problem with the html validation, if you validate it with the validator it will work, just add:

I think that remove validation it's "dirty hack". Url validator by default generate wrong pattern for input. Can you move this issue to yiisoft/validator? I think there will be more actual

I'm not telling you to do the hack, I'm just telling you that the validator without html validation works, it's a browser problem.

But it's work with yours pattern. Maybe change default pattern in or/and add some option like - i don't know. But anyway - it's not widget bug, it are validator problem Url::rule$optionPattern ``

Please open the issue in the validator to solve it, thank you.
https://developer.mozilla.org/es/docs/Web/HTML/Element/form#attr-novalidate

No, i meant yiisoft/validation url validator )) That generated wrong pattern if user set it as rule in getRules

By default it is not necessary to place the validation rule if it does not have a special validation since the input type URL will validate it by itself.
https://www.w3.org/TR/2012/WD-html-markup-20120329/input.url.html

repo: yiisoft/form


text:
unnecessary middleware wrapping and cleanup

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
✔

Fixed issues

Allow middleware objects - is a bad idea.

👍

authors: samdark thenotsoft yiiliveext

repo: yiisoft/router


text:
Running app on docker cause connection timeout

What steps will reproduce the problem?
Create a new app following installation and run on docker
What's expected?
Running app on docker
What do you get instead?

This site can’t be reached docker.host took too long to respond.
Search Google for docker host 30080
ERR_CONNECTION_TIMED_OUT

Additional info

Q
A

Yii version
^3.0@dev

PHP version
x

Operating system
x

What's the IP of your docker.host?  Look like your DNS can not resolve it.

@samdark I think this repo should not contain Docker support anymore, since it should be installed into a project template which handles that.
We might use Docker for testing though, which could serve as an example.

@hiqsol?

What's the IP of your docker.host? Looks like your DNS can not resolve it.

CONTAINER ID        IMAGE                             COMMAND                  CREATED             STATUS  PORTS                   NAMES
79fa340cc6f9        yiisoftware/yii2-php:7.2-apache   "docker-php-entrypoi…"   23 seconds ago      Up 18 seconds  0.0.0.0:30080->80/tcp   yiibaseweb_php_1

I can access with http://0.0.0.0:30080 in browser

Which OS do you use, along with which Docker implementation (Docker for Mac/Win, docker-machine, ...)?

Ubuntu 18.04 with
docker-ce/bionic,now 18.06.1~ce~3-0~ubuntu amd64 [installed]
docker-compose/bionic,bionic,now 1.17.1-2 all [installed]

I think this repo should not contain Docker support anymore since it should be installed into a project template which handles that.

@schmunk42 Agree with clarification.
This package is the library now. And generally speaking, the library can and should provide anything needed to use the library with Docker.
Speaking in detail example docker-compose.yml should be in the template package.
But anything reusable between projects should be here.

authors: hiqsol marcelodeandrade samdark schmunk42

repo: yiisoft/yii-base-web


text:
Fix: Dropdown & housecleaning

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Fixed issues
-

👍


text:
Move commands to corresponding packages

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

We can do/merge commands to corresponding packages later.

repo: yiisoft/yii-debug


text:
Make configs configurable and optional

Add ability change configuration group names for definitions, providers and delegates.

By default names can be null and don't load.

Add ability change configuration group names for definitions, providers and delegates.

By default names can be null and don't load.

There is a withConfig() method for this, where you can configure anything you want.
https://github.com/yiisoft/yii-runner-console/blob/master/src/ConsoleApplicationRunner.php#L82

Oh, yes.

Add ability change configuration group names for definitions, providers and delegates.
By default names can be null and don't load.

There is a withConfig() and withContainer() methods for this, where you can configure anything you want.

It is correct but I think that we should make the configuration even easier, for example if I only want to change a part because I have to write the whole configuration example:
https://github.com/yii-extension/simple-app/blob/master/public/index.php#L45
If I only want to add or delete groups because I have to write all the configuration, I particularly have no problem, but we can make it easier.

We can check existing of providers-console and delegates-console config groups.

authors: devanych terabytesoftw vjik

repo: yiisoft/yii-runner-console


text:
Union sort

What steps will reproduce the problem?
        $provider = new ActiveDataProvider([
            'query' => Feed::find()->select(['createdAt'])
                ->union(Article::find()->select([
                    'createdAt'
                ])),
            'sort' => [
                'defaultOrder' => [
                    'createdAt' => SORT_DESC
                ]
            ]
        ]);

What is the expected result?
(SELECT `createdAt` FROM `feed`) UNION ( SELECT `createdAt` FROM `article`) ORDER BY `createdAt` DESC LIMIT 20
What do you get instead?
(SELECT `createdAt` FROM `feed` ORDER BY `createdAt` DESC LIMIT 20) UNION ( SELECT `createdAt` FROM `article` )
Additional info

Q
A

Yii version
2.0.12

PHP version
7.1

Operating system
Win10

Solved for me by this comment https://github.com/yiisoft/yii2/issues/7992#issuecomment-138486264

Duplicates  #12968


text:
Bug in formatter asDate

When I try use formatter in "basic" config for format date, I see different year in input and output.
What steps will reproduce the problem?
Yii::$app->formatter->asDate('2000-01-01', 'dd.MM.Y')
What is the expected result?
01.01.2000
What do you get instead?
01.01.1999
Additional info

Q
A

Yii version
2.0. basic

PHP version
PHP 7.4.8 (cli) (built: Jul 13 2020 16:37:16) ( NTS )

Operating system
#1 SMP Debian 4.19.118-2~bpo9+1 (2020-05-20) x86_64 GNU/Linux

I would say it's possible with result 31.12.1999 because asDate expects first parameter to be acceptable by DateTime with defaultTimeZone assumed and result is given in timeZone. But here you are saying it's 01.01.1999 so it's way off. Could you provide your defaultTimeZone and timeZone configuration of Formatter component?

I'm try format some dates:
Yii::$app->formatter->asDate('1999-12-31', 'dd.MM.Y') return correct 31.12.1999
Yii::$app->formatter->asDate('2000-01-01', 'dd.MM.Y') return uncorrect 01.01.1999
Yii::$app->formatter->asDate('2000-01-02', 'dd.MM.Y') return uncorrect 02.01.1999
Yii::$app->formatter->asDate('2000-01-03', 'dd.MM.Y') return correct 03.01.2000
Changing the defaultTimeZone does not affect the displayed result.

Ok, so what are your values for time zones?

Time zone: Europe/Moscow (MSK, +0300)
Why do you think that the problem is in the time zone, if the difference in dates is not 1 day, but 1 year!

Along the way, one more question - why on earth is the time zone involved in converting the date display? If the database says 2000-01-01, then when converting the display (showing the date of the month and year in a different order), the time zone is not important in any way. And it turns out that if the library was issued a book on January 1, 2000, and when the display is converted, it will show that it was issued on January 1, 1999, when this person did not even come to the library.

Sorry for my bad English. In my project Formatter component not modified and not set TimeZone in program.
public $defaultTimeZone = 'UTC';

I was too hasty with my previous post, indeed when you are not providing time part of a date it's not being converted between defaultTimeZone and timeZone. Anyway, I cannot replicate the result and I cannot find the reason why it is happening at your machine.

What is the output of \DateTime::createFromFormat('Y-m-d|', '2000-01-01', new \DateTimeZone('UTC')) at your machine?
Do you have intl library installed?

And is the result same when you call Yii::$app->formatter->asDate('2000-01-01', 'dd.MM.y')? (notice the small y)

@bizley I can reproduce it when the language app config is set to de-DE. With a lower case y the year is correct.

ICU's Y generally should not be used because this is the year of "Week of Year" (unless of course you want that specifically). Y may give different result than y at the end/beginning of the year. I didn't expect it to just flip the year though.

I can reproduce it at http://sandbox.onlinephpfunctions.com/code/4a93059ceac0ea1dd0b913ec7264217b4eaeee23

Hm, yeah, no, flipping just the year is expected, it's just one part of date format - o.

@DimkaInc Have you tried to use php:d.m.Y as format instead? This works for me.

Yii::$app->formatter->asDate('2000-01-01', 'dd.MM.y') show correct date.

Thank you. And with a big letter "Y" will work?

Is Y perhaps like o in PHP?

ISO-8601 week-numbering year. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. (added in PHP 5.1.0)

Yes, exactly.

authors: DimkaInc Mister-42 bizley mikehaertl


text:
Dependency Injection: contextual binding

Is it possible to set contextual binding like here?
interface SomeInterface {}
class A implements SomeInterface {}
class B implements SomeInterface {}

class SomeClass
{
    private $x;

    public function __construct(SomeInterface $x)
    {
        $this->x = $x;
    }

    public function whoIsX()
    {
        echo get_class($this->x);
    }
}

class ContextA extends SomeClass {}
class ContextB extends SomeClass {}

$container = new \yii\di\Container();

// ??? contextual binding ???

// A
$container->get(ContextA::class)->whoIsX();

// B
$container->get(ContextB::class)->whoIsX();

объясню на русском

как вы сопоставите в одном контейнере 2 сущности?
если удался п.1 как контейнер поймет какую сущность вам создать?
на уровне 1 контейнера можно сопоставить единую реализацию интерфейса, вам надо смотреть куда то сюда https://github.com/yiisoft/yii2/issues/4130

@lynicidn

Исходя из контекста. Например, в метод set() контейнера добавить необязательный параметр (контекст для которого регистрируется зависимость).
Контейнер смотрит контекст (для какого класса запрашивается зависимость), пытается разрешить её в запрашиваемом контексте. Не получается - берёт из глобального.

ты когда получаешь из контейнера уже есть необязательный параметр - контейнер!
ты говоришь про то куда я дал ссыль (ишью) только это не верно - глобальный контейнер и дочерниее, тут либо контейнер на уровень модуля вынести, либо все в одном, но тогда твою задачу это не решит, а цепочку контейнеров по приоритету - бред

Instance::ensure('db', '\yii\db\Connection', MyApp::$container)

Я не хочу с тобой спорить. Просто посмотри как это сделано в Laravel. http://laravel.com/docs/5.1/container#contextual-binding

да хоть ларавел, хоть симфони - 1 интерфейсу можно сопоставить 1 сущность в контейнере
а то что логика у них спрятана в контейнер это как бы не тру, вот такая запись
$this->app->when('App\Handlers\Commands\CreateOrderHandler')
          ->needs('App\Contracts\EventPusher')
          ->give('App\Services\PubNubEventPusher');

на уии будет
class MyObj
{
    public $db = 'db'; // вот тут задаем id в сервислокатореее
    public fuction init()
    {
    parent::init();
        $this->db = \yii\di\Instance::ensure($this->db, 'вот тут проверяем интерфейс');
    }
}

смысл что в ларавеле есть when, который перед выдачей сначала какие то проверки делает, но это ли логика контейнера? какую задачу конкретно не получается решить?
class Module extend \yii\base\Module
{
    public static $container;
    public fuction init()
    {
    parent::init();
        $container = self::$container->has('MyInterface') ? self::$container : null;
        $component = \yii\di\Instance::ensure('MyInterface', $container);
    }
}

я как бы не спорю, что ты не прав, я даже создал давно ишью которая и решала как раз бы такие нюансы, которые ты описываешь, и судя по лейблу и по открытому ишью, это будет все же реализовано

Кому что ближе. Мне нравится когда всё упаковано в контейнер, и я имею дело
только с ним.
я как бы не спорю, что ты не прав, я даже создал давно ишью которая и

решала как раз бы такие нюансы, которые ты описываешь, и судя по лейблу и
по открытому ишью, это будет все же реализовано
—
Reply to this email directly or view it on GitHub
https://github.com/yiisoft/yii2/issues/8911#issuecomment-115983970.

контейнер это костыль быстро чтото поменять в приложении, завязывать логику на него все же не стоит

На моей памяти ты первый, кто считает его костылём. Интересно послушать
твою точку зрения. Почему ты так считаешь?
контейнер это костыль быстро чтото поменять в приложении, завязывать логику

на него все же не стоит
—
Reply to this email directly or view it on GitHub
https://github.com/yiisoft/yii2/issues/8911#issuecomment-116047605.

di это не инструмент в который надо закладывать логику работы компонентов системы, ди это управление зависимостями на уровне контейнера ( вообще ди подразумевает многие вещи, не только инъекцию сеттеров (в уии нет) и конструктора, а так же теггирование компонентов между собой (в уии только проверка на интерфейс - нет у компонентов тегов ) )
ди позволяет непрозрачно переопределить любое звено системы без влезания в код, это нереально поддерживать, т.к. уии не предоставляет какого то инструмента, чтобы можно было в конфиге переопределять(задавать) соответсвия, поэтому запись вида Yii::$container обычно делается в бутстрапе или в index.php вообще, даже исходя из этого можно понять что это костыль, из ди уии юзает только сервис локатор, вот где должны быть объявлены все сервисы. Так же в уии ди позволяет не только сменить(задать) соответствие, но и изменить начальные (дефолтные) конфиги у любого компонента, что опять же не прозрачно для поддержки, ибо это не отображается в конфиге.
Ди без теггирования вообще теряет основной смысл выстроиь зависимости компонентов между собой, вот возьмем пример \yii\db\Connection оно умеет кешировать схему, но сам компонент кеша мы не можем сменить только у коннекшена, через установку соответствия интерфейсу, т.к. в уии применяется практика сервисного локатора, где  у компонента есть id, в нашем случае cache и чтобы сменить его, мы должны в локатор поместить  новый компонент и в конекшене уже указать его id. Реального применения ди, казалось бы можно достичь используя конструктор, но опять же, это не правильно вызывать класс, не передавая данные ему в конструктор, которые он ждет и надеятся что ди это сделает за нас. Хотя дело каждого как программировать, но повторюсь, логику на ди я бы не стал завязывать. А попробуйте задать соответствие для ActiveQueryInterface, он создается в методе find модели через контейнер - увас это не получится, но если бы это был бы не костыль, то думаю мы бы не делали Yii::createObject('\yii\db\ActiveQuery', get_called_class())
а делали бы чтото вроде Yii::$container->get('\yii\db\ActiveQueryInterface', get_called_class()) <-- это условно, на самом деле get_called_class должен передаваться при задании соответствия <--
Не знаю насколько понятно попытался объяснить, это лично мое мнение, но я бы с радостью выслушал разработчиков по данному вопросу :)
Ты бы объяснил в какой задачи ты это хочешь использовать? Реальное применение какое?

и да, ди незаменим в тестировании, когда тебе моском надо чтото переопределить к примеру

русскоязычные разработчики, поддержите дискуссию :)
@samdark @creocoder @klimov-paul

Not going to accept it. It's way too magical. Makes reading code and debugging it very hard.

authors: akireikin lynicidn samdark


text:
Fix division by zero exception in Table.php::calculateRowHeight

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Fixed issues

When does the issue occur?
When executing the (custom) command in PHP 7.4.
The table contains 5 rows with 2 columns.
What do you see?
PHP Warning 'yii\base\ErrorException' with message 'Division by zero'

in /var/www/html/unity/vendor/yiisoft/yii2/console/widgets/Table.php:378

What was the expected result?
A table that displays the rows and not the error message.
Can you supply us with a stacktrace? (optional)
#0 /var/www/html/unity/vendor/yiisoft/yii2/console/widgets/Table.php(378): yii\console\ErrorHandler->handleError()
#1 /var/www/html/unity/vendor/yiisoft/yii2/console/widgets/Table.php(379): yii\console\widgets\Table->yii\console\widgets\{closure:/var/www/html/unity/vendor/yiisoft/yii2/console/widgets/Table.php:368-379}()
#2 /var/www/html/unity/vendor/yiisoft/yii2/console/widgets/Table.php(379): ::array_map()
#3 /var/www/html/unity/vendor/yiisoft/yii2/console/widgets/Table.php(244): yii\console\widgets\Table->calculateRowHeight()
#4 /var/www/html/unity/vendor/yiisoft/yii2/console/widgets/Table.php(197): yii\console\widgets\Table->renderRow()
#5 /var/www/html/unity/vendor/yiisoft/yii2/base/Widget.php(140): yii\console\widgets\Table->run()

Do you have exact code to reproduce it? Maybe a PHPUnit tests that fails? (optional)
See committed test

Thanks!

authors: fourhundredfour samdark


text:
Graph_train.py --mem flag

Good Afternoon,
The --mem flag in graph_train.py, does not appear to be used.
Only being called:

When declaring iterativeFC
When declaring GraphEBM

However, it is not used in either constructors: IterativeFC nor EBM.
My testing is showing a large difference in loss when the --mem flag is turned on. What does the flag do please.
Thanks,
Sean

Hi,
In the model, the --mem flag should add a computational scratchpad to models, so that that not only is an output optimization, but also an intermediate latent "scratchpad".
Best,
Yilun

Thank you for the quick response.
Just to clarify, the scratchpad is not currently implemented for the graph models, so the --mem flag should have no impact currently?
Thanks,
Sean

I believe so -- it should only do something on the MLP models

Thank you so much for the help.
I have another question, if that is okay. The edge weights for the shortest path data set are drawn, independently, from a uniform distribution and then added to their own transpose as the graph is undirected so the matrix should be symmetric.
However, in 'Appendix C-Graphical Algorithmic Computation' of the paper for the models, it states edge weights are drawn from a uniform distribution on [0,1], not the the addition of two. Could you confirm which one was used please.
Thanks,
Sean


text:
有的组件我想通过 js 调用，可以实现吗？

比如 ClModal 我想做个通用登录模态框，然后各个页面可以通过 js 调用实现，就像 Taro.showModal 一样，请问可以实现吗？

这个微信小程序实现不了，因为微信小程序没有根页面，也不可以动态添加节点
不过可以曲线救国，你先写一个组件，然后在 app.js 里面配置 usingComponents 注册该组件，需要用到的页面直接写标签无需二次引入，同时使用全局变量来控制该组件就可以了

authors: Jetereting yinLiangDream

repo: yinLiangDream/mp-colorui


text:
已经更新了，还是灰色

防火墙杀毒软件都关了，也更新了还是灰色。

可以上，重新登陆试试

authors: tccrabyoguy whichbitchusemyname

repo: yinghuocho/firefly-proxy


text:
关于isConflictCheck开启之后产生bug

复现步骤

DraggableResizable 组件上开启 isConflictCheck 为true
src/hooks/userCharts.ts 文件内 chartList 数组数据只保留一条
拖拽可视化容器内仅剩的一条数据，拖拽至中间出现十字虚线后放开，元素不会坐落在目标位置，会复原至拖拽前的位置

定位后发现 handleUp 方法中的isConflict 在页面仅一个元素的时候取值为true
页面元素如果为多个的话，就不会出现这种情况

不好意思 此项目已暂停维护 新的低代码2.0在路上了 感谢您的支持


text:
🛑 TechStack News is down

In 59c1c2b, TechStack News (https://techstack.news) was down:

HTTP code: 530
Response time: 79 ms

Resolved: TechStack News is back up in 869fbe0.


text:
微调过程loss为0， grad_norm为nan

提交前必须检查以下项目

[X] 请确保使用的是仓库最新代码（git pull）
[X] 已阅读项目文档和FAQ章节并且已在Issue中对问题进行了搜索，没有找到相似问题和解决方案。
[X] 第三方插件问题：例如llama.cpp、text-generation-webui等，建议优先去对应的项目中查找解决方案。

问题类型
模型训练与精调
基础模型
Llama-3-Chinese-8B（基座模型）
操作系统
Linux
详细描述问题
在自己数据集上进行微调，但是训练过程loss为0，grad_norm为nan，请问是什么问题？
依赖情况（代码类问题务必提供）
# 请在此处粘贴依赖情况（请粘贴在本代码块里）

运行日志或截图

开启bf16了吗?

是的，按照提供的参数脚本训练的 @iMountTai

确认一下数据长度和你设置的max_seq_lenth是否匹配，可能是因为你的output并没有计入logits

I ran into the same situation where I had limited the length of the data set to 3000 and max_length to 4096

请问解决了吗？目前我也遇到了同样的问题

使用 kigner/ruozhiba-llama3-tt 数据集在 hfl/llama-3-chinese-8b-instruct-v2 上训练也出现了这个问题，暂时找到解决办法...

I ran into the same situation where I had limited the length of the data set to 3000 and max_length to 4096

用LLAMA-factory训练了，一切正常

{'loss': 3.3183, 'grad_norm': nan, 'learning_rate': 1.707941929974381e-08, 'epoch': 0.0}
{'loss': 0.0, 'grad_norm': nan, 'learning_rate': 1.707941929974381e-07, 'epoch': 0.0}
我这也是一样的问题。

通过升级bitsandbytes到最新，问题解决
bitsandbytes             0.42.0
升级到
bitsandbytes             0.43.1

我也遇到了这个问题，升级了bitsandbytes之后并没有解决

@aa200647963
你试试用Instruct的tokenizer。

通过升级bitsandbytes到最新，问题解决 bitsandbytes 0.42.0
升级到 bitsandbytes 0.43.1

work!


text:
Fix write node creation while broken project Anatomy.

Changelog Description
Address #9
I Implemented the solution suggested by @BigRoy on the associated issue which makes perfect sense:

scoped the anatomy resolve to the required scoped template when creating a Write node
No more resolving all templates when we use a single entry

Testing notes:

Set broken Anatomy preset for something irrelevant to the Write node creation
(note additional ] after variant)

Open Nuke and create a Write node from AYON -> Create

Ensure a write node get properly created despite part of the Anatomy being wrong

It's good for the merge. One more thing to add, it contributes to other draft PR which is associated to this. (I also tested along with that PR)
It is still not quite working in terms of formatting data for the publish if adding {variant]}. It's not related to this PR but you can just mark it as a note.

DEBUG: prerenderKey01 is missing reference to staging directory. Will try to get it from representation.
DEBUG: Looking for matching profile for: hosts: "nuke" | product_types: "prerender" | task_names: "compositing" | task_types: "Compositing"
DEBUG: "nuke" not found in "hosts": ['standalonepublisher']
DEBUG: "nuke" not found in "hosts": ['maya']
DEBUG: "nuke" not found in "hosts": ['traypublisher']
DEBUG: "nuke" not found in "hosts": ['max']
DEBUG: Profile selected: {'product_types': ['review', 'render', 'prerender'], 'hosts': [], 'task_types': [], 'task_names': [], 'template_name': 'test'}
DEBUG: Product: prerenderKey01
DEBUG: Resetting dropped connection: localhost
DEBUG: http://localhost:5000 "POST /graphql HTTP/1.1" 200 407
DEBUG: Response <RestApiResponse [200]>
DEBUG: Prepared product: prerenderKey01
DEBUG: http://localhost:5000 "POST /graphql HTTP/1.1" 200 105
DEBUG: Response <RestApiResponse [200]>
DEBUG: Source: {root[work]}/interior_lenny/lenny_bedroom/asset/work/compositing/il_asset_compositing_v004.nk
DEBUG: Creating new version ...
DEBUG: Prepared version: v007
DEBUG: http://localhost:5000 "POST /graphql HTTP/1.1" 200 112
DEBUG: Response <RestApiResponse [200]>
DEBUG: Anatomy template name: test
CRITICAL: Error when registering
Traceback (most recent call last):
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 158, in process
    self.register(instance, file_transactions, filtered_repres)
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 246, in register
    prepared = self.prepare_representation(
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 731, in prepare_representation
    template_filled = path_template_obj.format_strict(
  File "D:\ayon-core\client\ayon_core\lib\path_templates.py", line 140, in format_strict
    result.validate()
  File "D:\ayon-core\client\ayon_core\pipeline\anatomy\templates.py", line 39, in validate
    raise AnatomyTemplateUnsolved(
ayon_core.pipeline.anatomy.exceptions.AnatomyTemplateUnsolved: Anatomy template "{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/source/{variant]}/v{version:0>3}/{project[code]}_{folder[name]}_{product[name]}_v{version:0>3}<_{output}><.{frame:0>4}><.{udim}>.{ext}" is unsolved. Missing keys: "variant]".

Traceback (most recent call last):
  File "C:\Users\Kayla\AppData\Local\Ynput\AYON\dependency_packages\ayon_2402141620_windows.zip\dependencies\pyblish\plugin.py", line 527, in __explicit_process
    runner(*args)
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 170, in process
    raise exc
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 158, in process
    self.register(instance, file_transactions, filtered_repres)
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 246, in register
    prepared = self.prepare_representation(
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 731, in prepare_representation
    template_filled = path_template_obj.format_strict(
  File "D:\ayon-core\client\ayon_core\lib\path_templates.py", line 140, in format_strict
    result.validate()
  File "D:\ayon-core\client\ayon_core\pipeline\anatomy\templates.py", line 39, in validate
    raise AnatomyTemplateUnsolved(
ayon_core.pipeline.anatomy.exceptions.AnatomyTemplateUnsolved: Anatomy template "{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/source/{variant]}/v{version:0>3}/{project[code]}_{folder[name]}_{product[name]}_v{version:0>3}<_{output}><.{frame:0>4}><.{udim}>.{ext}" is unsolved. Missing keys: "variant]".

DEBUG: Establishing staging directory @ D:\sh_boss_proj\interior_lenny\lenny_bedroom\asset\work\compositing\renders\nuke\renderCompositingMain
DEBUG: Looking for matching profile for: hosts: "nuke" | product_types: "render" | task_names: "compositing" | task_types: "Compositing"
DEBUG: "nuke" not found in "hosts": ['standalonepublisher']
DEBUG: "nuke" not found in "hosts": ['maya']
DEBUG: "nuke" not found in "hosts": ['traypublisher']
DEBUG: "nuke" not found in "hosts": ['max']
DEBUG: Profile selected: {'product_types': ['review', 'render', 'prerender'], 'hosts': [], 'task_types': [], 'task_names': [], 'template_name': 'test'}
DEBUG: Product: renderCompositingMain
DEBUG: http://localhost:5000 "POST /graphql HTTP/1.1" 200 433
DEBUG: Response <RestApiResponse [200]>
DEBUG: Prepared product: renderCompositingMain
DEBUG: http://localhost:5000 "POST /graphql HTTP/1.1" 200 105
DEBUG: Response <RestApiResponse [200]>
DEBUG: Source: {root[work]}/interior_lenny/lenny_bedroom/asset/work/compositing/il_asset_compositing_v004.nk
DEBUG: Creating new version ...
DEBUG: Prepared version: v005
DEBUG: http://localhost:5000 "POST /graphql HTTP/1.1" 200 112
DEBUG: Response <RestApiResponse [200]>
DEBUG: Anatomy template name: test
CRITICAL: Error when registering
Traceback (most recent call last):
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 158, in process
    self.register(instance, file_transactions, filtered_repres)
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 246, in register
    prepared = self.prepare_representation(
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 731, in prepare_representation
    template_filled = path_template_obj.format_strict(
  File "D:\ayon-core\client\ayon_core\lib\path_templates.py", line 140, in format_strict
    result.validate()
  File "D:\ayon-core\client\ayon_core\pipeline\anatomy\templates.py", line 39, in validate
    raise AnatomyTemplateUnsolved(
ayon_core.pipeline.anatomy.exceptions.AnatomyTemplateUnsolved: Anatomy template "{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/source/{variant]}/v{version:0>3}/{project[code]}_{folder[name]}_{product[name]}_v{version:0>3}<_{output}><.{frame:0>4}><.{udim}>.{ext}" is unsolved. Missing keys: "variant]".

Traceback (most recent call last):
  File "C:\Users\Kayla\AppData\Local\Ynput\AYON\dependency_packages\ayon_2402141620_windows.zip\dependencies\pyblish\plugin.py", line 527, in __explicit_process
    runner(*args)
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 170, in process
    raise exc
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 158, in process
    self.register(instance, file_transactions, filtered_repres)
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 246, in register
    prepared = self.prepare_representation(
  File "D:\ayon-core\client\ayon_core\plugins\publish\integrate.py", line 731, in prepare_representation
    template_filled = path_template_obj.format_strict(
  File "D:\ayon-core\client\ayon_core\lib\path_templates.py", line 140, in format_strict
    result.validate()
  File "D:\ayon-core\client\ayon_core\pipeline\anatomy\templates.py", line 39, in validate
    raise AnatomyTemplateUnsolved(
ayon_core.pipeline.anatomy.exceptions.AnatomyTemplateUnsolved: Anatomy template "{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/source/{variant]}/v{version:0>3}/{project[code]}_{folder[name]}_{product[name]}_v{version:0>3}<_{output}><.{frame:0>4}><.{udim}>.{ext}" is unsolved. Missing keys: "variant]".

authors: moonyuet robin-ynput

repo: ynput/ayon-nuke


text:
Dependency broken

go get -u github.com/ynqa/word-embedding
package github.com/chewxy/gorgonia/tensor: cannot find package "github.com/chewxy/gorgonia/tensor" in any of:
.../chewxy/gorgonia/tensor (from $GOROOT)
.../src/github.com/chewxy/gorgonia/tensor (from $GOPATH)

This is my bad. Gorgonia moved to 0.8.0. I will send a PR to fix this
On 28 Dec. 2017 1:03 am, "Timofei Borisovich Bolshakov" <
notifications@github.com> wrote:

go get -u github.com/ynqa/word-embedding
package github.com/chewxy/gorgonia/tensor: cannot find package "
github.com/chewxy/gorgonia/tensor" in any of:
.../chewxy/gorgonia/tensor (from $GOROOT)
.../src/github.com/chewxy/gorgonia/tensor (from $GOPATH)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ynqa/word-embedding/issues/28, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAczUmyJsjoRSXQwx2_tyQt7UfovQMvsks5tEnhvgaJpZM4RNp_N
.

Thanks for the fast answer!

gimme a few hrs. It's 1.30 am atm. Need to zzz
On Thu, Dec 28, 2017 at 4:27 AM, Timofei Borisovich Bolshakov <
notifications@github.com> wrote:

Thanks for the fast answer!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ynqa/word-embedding/issues/28#issuecomment-354146911,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAczUuQEBw4C4dha_3mb_LXpb2m0PH3_ks5tEn36gaJpZM4RNp_N
.

Fixed. You should be able to get it working now if you go get -u github.com/ynqa/word-embedding.
The pull request was created for full fix for anyone using dep

authors: chewxy tbolsh

repo: ynqa/word-embedding


text:
hexo主题设置

您好：我想请问一下你的文章缩略显示是怎么做的，我在这个icarus原文挡上找不着方法，请教一下

在文章里需要的位置加一个标签，标签之前的便是缩略了

@Jabinzou 在文章里需要的位置加一个标签，标签之前的便是缩略了

authors: Jabinzou yohnz

repo: yohnz/hexo-theme-card


text:
photo / photos on iOS vs Android

They should be the same, I suppose
const RNPTypes = {
	ios: [
		....
		'photo',
		....
	],
	android: [
		...
		'photos',
	]
}

whoa! thanks for spotting this! just pushed a commit to fix it.

no problem :) @yonahforst this needs fixing too I think

authors: vonovak yonahforst

repo: yonahforst/react-native-permissions


text:
Is atom-ctags abandonded?

Considering that latest release was released 3 months ago, it doesn't work at all (see #189, #192 and all around) and there was no commits since, is safe to consider this project abandoned?

I also really enjoy this project (atom symbols from ctags with support for multiple project dirs), and would love to see it maintained since I haven't found any better alternatives. I went ahead and fixed up a few pain points that I'd like to get merged somewhere. I'm happily running from my own personal repo for now, but does anyone have thoughts on how we can push this forward?

#206 Fix getCurSymbol to workaround long-standing atom bug
#205 Add hyperclick provider
#204 Filter on tag.name + tag.file, and relativize tag.file for more concise display
#207 generateTags: Add a null check to warn instead of throwing
#203 .dispose() all the disposables

@jdanbrown how to install your version in atom?

@Adri1G Sorry that I haven't packaged it in any easy form. I've been installing it "manually", i.e.

Clone my atom-ctags repo from github (to anywhere on your local machine)
cd into your cloned atom-ctags dir and run apm install (to populate node_modules/)
Symlink your cloned atom-ctags dir to ~/.atom/packages/atom-ctags
Restart atom to find the new package

Thank you @jdanbrown :-)

authors: Adri1G jdanbrown kozec

repo: yongkangchen/atom-ctags


text:
Failed to build module 'MoneyAuth' + Compiling for iOS 10.0, but module 'FunctionalSwift'

Добрый день, коллеги.
Делаю миграцию с версии 3.7.1 -> на версию 5.1.0.
Полностью пошагово согласно инструкции.
Добавил в podfile:

Сейчас podfile выглядит:

После установки подов + чистки проекта выходят ошибки:

Xcode:

Советы с соседней ветки попробовал все. Ничего не помогло.
Жду скорой обратной связи по данной ошибке, так как мы коммерчески используем вашу библиотеку.
Заранее благодарю.

@ZhassulanAimukhambetov
вероятно в Podfile, в post_install шаге устанавливается IPHONEOS_DEPLOYMENT_TARGET версии 11.0
попробуйте изменить код в шаге на примерно такой:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      if target.name == 'FunctionalSwift' || target.name == 'YooMoneyCoreApi'
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
      else
        config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
      end
    end
  end
end

Да, получилось. Спасибо большое!

repo: yoomoney/yookassa-payments-swift


text:
Add Envs for Github Enterprise Oauth App

What this PR does / why we need it:
Added an envs for using passport-github on Github Enterprise Oauth app.

ref: https://github.com/jaredhanson/passport-github?tab=readme-ov-file#enterprise-corporate-github
ref: https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps

Default value is for Github Oauth app. if yor want to Github Enterprise OAuth app, change those envs.

GITHUB_AUTHORIZATION_URL: https://github.com/login/oauth/authorize => https://ENTERPRISE_INSTANCE_URL/login/oauth/authorize
GITHUB_TOKEN_URL: https://github.com/login/oauth/access_token => https://ENTERPRISE_INSTANCE_URL/login/oauth/access_token
GITHUB_USER_PROFILE_URL: https://api.github.com/user => https://ENTERPRISE_INSTANCE_URL/api/v3/user

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Additional documentation:

Checklist:

[x] Added relevant tests or not required
[x] Didn't break anything

Summary by CodeRabbit

New Features

Enhanced GitHub authentication with new OAuth configuration variables.
Improved GithubStrategy to utilize additional parameters for better integration with GitHub services.

Bug Fixes

No specific bug fixes noted in this release.

Documentation

Updated environment variable descriptions for clarity on usage in the OAuth flow.

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

Thanks for the PR. Could you sign the CLA?

@devleejb done! thank you :)

authors: CLAassistant devleejb emplam27

repo: yorkie-team/codepair


text:
add es2040 to see also section

context: https://github.com/yoshuawuyts/es2020/issues/12#issuecomment-229236756

w00t!

authors: ahdinosaur yoshuawuyts


text:
Lolipop mcで動かすための処理を書いてみる

起動コマンド
/usr/local/bin/python /var/app/current/src/lolipop_mc/server.py & /usr/local/bin/python /var/app/current/src/lolipop_mc/non_sleep.py & /usr/local/bin/python /var/app/current/src/main.py

同じサーバー内から5分おきにサーバーにリクエストを投げる。
クローラーを使って1時間ごとにアクセスさせる。
https://r.webchecker.biz/
ローカルブランチを本番環境に上げる
git push lolipop lolipop-mc:master -f

実行権限付与
git update-index --add --chmod=+x src/lolipop_mc/non_sleep.py

https://github.com/yosipy/asagao-for-minecraft/issues/27

repo: yosipy/asagao-for-minecraft


text:
状态栏显示问题

作者你好，使用设备是ios的，想提议一下，能否增加一个设置，可打开或关闭状态栏显示。

https://github.com/youniaogu/MangaReader/assets/75081273/8dff9aed-cbc1-41c6-959f-86af5756525a
@youniaogu没错，又是我，哈哈哈， 我增加了这个功能，但我不知道这样是否符合你的预期，如果可以的话，我可以发起pr

@raoxiongwen 不用单独开关，跟 showExtra 状态走就好了，可以麻烦提个 PR 吗
这个问题 IOS 上没有所以没怎么在意 sorry

done

authors: raoxiongwen yaoylong youniaogu

repo: youniaogu/MangaReader


text:
我觉得这里应该加上校验，如：昵称不能重复

https://github.com/yourkevin/NiterForum/blob/0455ed5fc6921c741f910034b21059501168166e/src/main/java/cn/niter/forum/controller/UserController.java#L120

好的~~后面加上校验~

repo: yourkevin/NiterForum


text:
Form label and placeholder

Hello, I successfully implemented (django-autocomplete-light==2.0.0a17) a global autocomplete form "a-la-facebook" as explained in the docs but there are few issues which I'd like to verify if this is the expected behavior...
First: I used two queries and added two separator in autocomplete.html as indicated in the doc (Making a global navigation autocomplete chapter):
Artists
...
Genres

The problem is that the form get a new label (which was not there without the separators): Artist Genres... I don't want this label... Is there any option to hide it? If not, what is the best approach to hide it?
Second: After the autocomplete has been selected, the input is kept in the form and I need to use
            var choiceTag = choice.text();
            $("#navigation_autocomplete_tag").val("");
            $("#navigation_autocomplete_tag").attr("placeholder", choiceTag);

I would expect that at least the form is automatically cleared but this is not my case... What I did is the correct way or I'm missing something?
Third: is there any simple way to identify within the input.bind function if an artist or a genres has been chosen? My goal is to call two different function depending on the choice...

Answered, no feedback.

authors: jpic santocch

repo: yourlabs/django-autocomplete-light


text:
travis: Exclude more generated Java files from the Travis cache.

These files unnecessarily trigger an update of the cache which prolongs the test build by ~30 seconds.
I had to generalize the path for the SNAPSHOT jar files because these two files were not matched:

$HOME/.m2/repository/io/vitess/vitess-client/1.1.0-SNAPSHOT/vitess-client-1.1.0-SNAPSHOT-tests.jar
$HOME/.m2/repository/io/vitess/vitess-jdbc/1.1.0-SNAPSHOT/vitess-jdbc-1.1.0-SNAPSHOT-fatjar.jar

LGTM

I can assure you that the test failure seen in this PR is unrelated.
In fact, I've fixed the failing test here: https://github.com/youtube/vitess/pull/2733 However, that PR isn't merged yet.

I'd wait for that PR to get merged then.

Pavel, PTAL. The PR is merged now and the tests are passing.

authors: michael-berlin pivanof thompsonja

repo: youtube/vitess


text:
Downloading Videos from ITV Hub - "HTTP Error 404: Not Found"

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2021.12.01. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[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

Description
Hi!
I have used TV Downloader in the past few years to download the videos from ITV. This is the first time I have encountered this error. Could someone please take a look at it?
My yt-dlp is most up-to-date.
Video link: https://www.itv.com/hub/snooker-champion-of-champions/2a2734a0097
Please see the error message below:

Thanks a ton!
Verbose log
[ITV] 2a2734a0097: Downloading webpage
ERROR: [ITV] 2a2734a0097: Unable to download webpage: HTTP Error 404: Not Found (caused by <HTTPError 404: 'Not Found'>); please report this issue on  https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; type  yt-dlp -U  to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.

Provide the complete verbose output of yt-dlp that clearly demonstrates the problem.
Add the -Uv flag to your command line you run yt-dlp with (yt-dlp -Uv <your command line>), copy the WHOLE output and insert it below.

repo: yt-dlp/yt-dlp

license: Unlicense


text:
match-filter & not working after 2022.05

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2022.06.29 (update instructions) or later (specify commit)
[X] I've searched the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
pip install yt-dlp==2022.05.18

This works on version 05.18
yt-dlp --match-filter  '59 < duration & duration < 10800' $url

but it fails on 06.22, 06.22.1, and 06.29
ERROR: Invalid filter part '59 < duration '

with yt-dlp --match-filter  '59 < duration \& duration < 10800' $url (this is probably incorrect syntax)
ERROR: Invalid filter part '59 < duration & duration < 10800'

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
[debug] Command-line config: ['--cookies-from-browser', 'firefox', '--user-agent', 'Mozilla/5.0 (X11; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0', '-i', '-o', '%(uploader)s/%(title).200B [%(id)s].%(ext)s', '--restrict-filenames', '--download-archive', '/home/xk/.local/share/yt_archive.txt', '--retries', '13', '--extractor-retries', '13', '--match-filter', '59 < duration & duration < 10800', '--extractor-args', 'youtubetab:skip=authcheck', '--reject-title', 'Trailer |Sneak Peek| Preview | Teaser | Promo | Live Stream | Twitch | Crypto | Meetup | Montage | Bitcoin | Makeup | Apology |Clip|Top 10|Top Ten| Panel ', '--youtube-skip-dash-manifest', '--youtube-skip-hls-manifest', '-f', 'bestaudio[ext=webm]/bestaudio/best', '-v', 'https://www.youtube.com/watch?v=f-VBpZ2XvEs']
[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.06.29 [9d339c4]
[debug] Python 3.10.5 (CPython 64bit) - Linux-5.17.12-300.fc36.x86_64-x86_64-with-glibc2.35 (glibc 2.35)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0.1 (setts), ffprobe 5.0.1, phantomjs 2.1.1
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, secretstorage-3.3.1, sqlite3-2.6.0, websockets-10.3
[Cookies] Extracting cookies from firefox
[debug] Extracting cookies from: "/home/xk/.mozilla/firefox/lka4ht7r.xxx/cookies.sqlite"
[Cookies] Extracted 1331 cookies from firefox
[debug] Proxy map: {}
[debug] Loading archive file '/home/xk/.local/share/yt_archive.txt'
[debug] [youtube] Extracting URL: https://www.youtube.com/watch?v=f-VBpZ2XvEs
[youtube] f-VBpZ2XvEs: Downloading webpage
[debug] [youtube] Extracted SAPISID cookie
[youtube] f-VBpZ2XvEs: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, codec:vp9.2, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
ERROR: Invalid filter part '59 < duration '
Traceback (most recent call last):
  File "/home/xk/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1420, in wrapper
    return func(self, *args, **kwargs)
  File "/home/xk/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1504, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/home/xk/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1561, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/home/xk/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 2535, in process_video_result
    if self._match_entry(info_dict, incomplete=self._format_fields) is not None:
  File "/home/xk/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1354, in _match_entry
    reason = check_filter()
  File "/home/xk/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1333, in check_filter
    ret = match_filter(info_dict, incomplete=incomplete)
  File "/home/xk/.local/lib/python3.10/site-packages/yt_dlp/utils.py", line 3655, in _match_func
    if not filters or any(match_str(f, info_dict, incomplete) for f in filters):
  File "/home/xk/.local/lib/python3.10/site-packages/yt_dlp/utils.py", line 3655, in <genexpr>
    if not filters or any(match_str(f, info_dict, incomplete) for f in filters):
  File "/home/xk/.local/lib/python3.10/site-packages/yt_dlp/utils.py", line 3640, in match_str
    return all(
  File "/home/xk/.local/lib/python3.10/site-packages/yt_dlp/utils.py", line 3641, in <genexpr>
    _match_one(filter_part.replace(r'\&', '&'), dct, incomplete)
  File "/home/xk/.local/lib/python3.10/site-packages/yt_dlp/utils.py", line 3630, in _match_one
    raise ValueError('Invalid filter part %r' % filter_part)
ValueError: Invalid filter part '59 < duration '

The field name (duration in this case) must go to LHS for --match-filter.
59 < duration doesn't makes sense, as it is interpreted to compare field 59 (not number!) and the number duration.
The correct string is duration > 59 & duration < 10800 on whatever version, just the checks are more stricter.
See https://github.com/yt-dlp/yt-dlp#filtering-formats

thanks. I'll update the documentation

authors: Lesmiscore chapmanjacobd


text:
Bad performance (requires over 5 seconds for simple --dump-json)

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2022.07.18 (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

Provide a description that is worded well enough to be understood
If you request yt-dlp --dump-json <any video link>, it can take up to 5 seconds to get the information. Is there any way to speed up the process?
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
not needed for this problem

First off, use verbose log to figure out which steps are contributing most to the slowdown. Then according to the specifics, any of these may help: https://github.com/yt-dlp/yt-dlp/pull/860#issuecomment-911141453 https://github.com/yt-dlp/yt-dlp/issues/4090#issuecomment-1158102032 https://github.com/yt-dlp/yt-dlp/pull/3234
I could have tried to guess by seeing the verbose, but since you have determined it is "not needed" despite being MANDATORY, nothing to be done

I've also noticed that yt-dlp downloads many files when trying to extract the URL: first it says "Downloading webpage", then "Downloading android player API JSON". Is this really necessary?

It is necessary for robustness and future proofing. If you don't care about them, there are --extractor-args to disable many of the steps. See the documentation for details
Note: Disabling webpage/android API can actually slow down some videos. See https://github.com/ytdl-org/youtube-dl/issues/30641#issuecomment-1042655621

Also, are these checks really relevant for a simple JSON dump?

The checks are only done when using --verbose

Using time command, I measured 4.159 seconds until I receive the JSON dump. You can try this with any video link.

Sure, but my question is, what steps are slow? Just the verbose head doesn't help much either. Use this (with -v) to figure out how long each step takes. Then you can look into disabling those steps

Also, if yt-dlp is too slow for you despite any of these optimizations, I suggest looking at other libraries. This project primarily aims to be feature rich and robust. Extraction speed is a secondary concern.

You can try this with any video link.

Why can't you just show your results!? yt-dlp -j BaW_jenozKc > nul only takes 1.9 secs for me

Sorry, unfortunately ts command is not available and while IFS= read -r line; do printf '%s %s\n' "$(date)" "$line"; done didn't worked.

Then record your screen or something... As I have said multiple times, how do you expect anyone to help without knowing the details??

@pukkandan thanks for your idea about the --extractor-args! I try to get metas about a whole channel. With default args this takes about 155s, but with --extractor-args "youtube:player-client=web" it "just" need 140s. So you gifted me 15s :tada:

For anyone else facing this issue: There is a --flat-playlist argument. This makes the process lightning fast. However, there will be many fields missing like the like count or the comment count. If you don't care about them this arg is for you! ;)

For anyone else facing this issue: There is a --flat-playlist argument. This makes the process lightning fast. However, there will be many fields missing like the like count or the comment count. If you don't care about them this arg is for you! ;)

Bro, thank you. I've been getting really annoyed with the looong wait times before YouTube videos start playing in IINA/mpv. I have zero use for likes and comments >99.9999% of the time, and testing a few runs with time with and without the flag reports that this literally shaves off ~95% off my waiting time.

authors: AgentSmith0 CryZo habibalamin pukkandan


text:
Site based configuration

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 requesting a feature unrelated to a specific site
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2022.08.14 (update instructions) or later (specify commit)
[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

Provide a description that is worded well enough to be understood
I’m looking for a way to define a config with site based rules, rather than three or four separate configs per site. Using ini, this might look like:
[global]
proxy: "127.0.0.1:3500"

[music.youtube.com]
format: 22
output: "/home/user/Music/%(title)s.%(ext)s"

[youtube.com]
format: 140
embed-subtitles: True

etc

It doesn’t necessarily have to be ini, but I think being able to define site specific rules in a config would be much handier.
Provide verbose output that clearly demonstrates the problem

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

Complete Verbose Output
NA

Historically, see https://github.com/ytdl-org/youtube-dl/issues/30018 and linked issues/PR.

#30018
What does ie_key do?

Apparently it gets output as extractor_key. Or extractor, which is the extractor name:
$ yt-dlp --print extractor_key --print extractor 'https://www.youtube.com/watch?v=XmG1QOWbb00')
Youtube
youtube
$

currently it seems that the only way to do this is with a wrapper that figures out what extractor is being used and supply a config file from there

authors: NeonSupernova dirkf theg00s3


text:
[BiliIntl] Question about the number of download selections for bilibili.tv

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 requesting a site-specific feature
[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 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
Southeast Asia(Singapore and ...)
Example URLs
https://www.bilibili.tv/en/play/1060698
Provide a description that is worded well enough to be understood
yt-dlp -o "%(episode_id)s"  https://www.bilibili.tv/en/play/1060698 -I 3 --all-subs  --sub-format srt --remux-video mkv --embed-subs -u PRIVATE -p PRIVATE
The above is the command I use. I specify to download the third episode, but it will read every episode before the third episode. This process is very slow. If it is an episode with a large number of episodes, will it be possible? Long wait... Is it possible to just download the specified number of episodes instead of waiting to read each episode?
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
[debug] Command-line config: ['-vU', '-o', '%(episode_number)s', 'https://www.bilibili.tv/en/play/1060698', '-I', '3', '--all-subs', '--sub-format', 'srt', '--remux-video', 'mkv', '--embed-subs', '-u', 'PRIVATE', '-p', 'PRIVATE']
[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] (linux_exe)
[debug] Python 3.10.5 (CPython 64bit) - Linux-5.10.0-11-amd64-x86_64-with-glibc2.31 (glibc 2.31)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg N-61656-gfbd22504c4-static (setts), phantomjs 140207397599168
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, secretstorage-3.3.3, 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)
[BiliIntlSeries] Downloading login key
[BiliIntlSeries] Logging in
[debug] [BiliIntlSeries] Extracting URL: https://www.bilibili.tv/en/play/1060698
[BiliIntlSeries] 1060698: Downloading JSON metadata
[download] Downloading playlist: Sekai no Owari ni Shiba Inu to
[BiliIntlSeries] 1060698: Downloading JSON metadata
[BiliIntlSeries] 11491441: Downloading video formats
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[BiliIntlSeries] 11491441: Downloading subtitles list
[BiliIntlSeries] 11491441: Downloading subtitles for English
[BiliIntlSeries] 11491441: Downloading subtitles for ภาษาไทย
[BiliIntlSeries] 11491441: Downloading subtitles for Tiếng Việt
[BiliIntlSeries] 11491441: Downloading subtitles for Bahasa Indonesia
[BiliIntlSeries] 11491441: Downloading subtitles for Bahasa Melayu
[BiliIntlSeries] 11491441: Downloading subtitles for 中文（简体）
[BiliIntlSeries] 11491576: Downloading video formats
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[BiliIntlSeries] 11491576: Downloading subtitles list
[BiliIntlSeries] 11491576: Downloading subtitles for English
[BiliIntlSeries] 11491576: Downloading subtitles for ภาษาไทย
[BiliIntlSeries] 11491576: Downloading subtitles for Tiếng Việt
[BiliIntlSeries] 11491576: Downloading subtitles for Bahasa Indonesia
[BiliIntlSeries] 11491576: Downloading subtitles for Bahasa Melayu
[BiliIntlSeries] 11491576: Downloading subtitles for 中文（简体）
[BiliIntlSeries] 11491682: Downloading video formats
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[BiliIntlSeries] 11491682: Downloading subtitles list
[BiliIntlSeries] 11491682: Downloading subtitles for English
[BiliIntlSeries] 11491682: Downloading subtitles for ภาษาไทย
[BiliIntlSeries] 11491682: Downloading subtitles for Tiếng Việt
[BiliIntlSeries] 11491682: Downloading subtitles for Bahasa Indonesia
[BiliIntlSeries] 11491682: Downloading subtitles for Bahasa Melayu
[BiliIntlSeries] 11491682: Downloading subtitles for 中文（简体）
[BiliIntlSeries] Playlist Sekai no Owari ni Shiba Inu to: Downloading 1 videos
[download] Downloading video 1 of 1
[info] 11491682: Downloading subtitles: en, th, vi, id, ms, zh-Hans
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 11491682: Downloading 1 format(s): 8+2
[info] Writing video subtitles to: 3.en.srt
[info] Writing video subtitles to: 3.th.srt
[info] Writing video subtitles to: 3.vi.srt
[info] Writing video subtitles to: 3.id.srt
[info] Writing video subtitles to: 3.ms.srt
[info] Writing video subtitles to: 3.zh-Hans.srt
[debug] Invoking http downloader on "https://upos-bstar1-mirrorakam.akamaized.net/iupxcodeboss/oi/na/n220630er38o5clav06gu82oguzvnaoi-1-251210110000.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1663084931&gen=playurlv2&os=akam&oi=2892592144&trid=dfab42e1a4084b20814deb9983d52c57i&mid=1201850291&platform=pc&upsig=d24552f1d30911f3438fb37163021543&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform&hdnts=exp=1663084931~hmac=51c93eb0d2bda36d1f3c01e9e34439e949213bc9d2b3820324cb43e953a8b898&bvc=vod&nettype=0&orderid=0,1&logo=00000000"
[download] Got error: <urlopen error EOF occurred in violation of protocol (_ssl.c:997)>. Retrying (1/10)...
[download] Destination: 3.f8.mp4
[download] 100% of 9.04MiB in 00:01 at 6.87MiB/s
[debug] Invoking http downloader on "https://upos-bstar1-mirrorakam.akamaized.net/iupxcodeboss/oi/na/n220630er38o5clav06gu82oguzvnaoi-1-2d1301000023.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1663084931&gen=playurlv2&os=akam&oi=2892592144&trid=dfab42e1a4084b20814deb9983d52c57i&mid=1201850291&platform=pc&upsig=fabf35f5f5cb1c4c628bc4f2509da0d9&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform&hdnts=exp=1663084931~hmac=c1366ea67eb29e336f904dc978ecd441af8164523ff87780b69bc9ee7cf332be&bvc=vod&nettype=0&orderid=0,1&logo=00000000"
[download] Destination: 3.f2.mp4
[download] 100% of 4.74MiB in 00:00 at 17.32MiB/s
[Merger] Merging formats into "3.mp4"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i file:3.f8.mp4 -i file:3.f2.mp4 -c copy -map 0:v:0 -map 1:a:0 -movflags +faststart file:3.temp.mp4
Deleting original file 3.f8.mp4 (pass -k to keep)
Deleting original file 3.f2.mp4 (pass -k to keep)
[VideoRemuxer] Remuxing video from mp4 to mkv; Destination: 3.mkv
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i file:3.mp4 -map 0 -dn -ignore_unknown -c copy -movflags +faststart file:3.mkv
Deleting original file 3.mp4 (pass -k to keep)
[EmbedSubtitle] Embedding subtitles in "3.mkv"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i file:3.mkv -i file:3.en.srt -i file:3.th.srt -i file:3.vi.srt -i file:3.id.srt -i file:3.ms.srt -i file:3.zh-Hans.srt -map 0 -dn -ignore_unknown -c copy -map -0:s -map 1:0 -metadata:s:s:0 language=eng -map 2:0 -metadata:s:s:1 language=tha -map 3:0 -metadata:s:s:2 language=vie -map 4:0 -metadata:s:s:3 language=ind -map 5:0 -metadata:s:s:4 language=msa -map 6:0 -metadata:s:s:5 language=zho -movflags +faststart file:3.temp.mkv
Deleting original file 3.en.srt (pass -k to keep)
Deleting original file 3.zh-Hans.srt (pass -k to keep)
Deleting original file 3.id.srt (pass -k to keep)
Deleting original file 3.th.srt (pass -k to keep)
Deleting original file 3.vi.srt (pass -k to keep)
Deleting original file 3.ms.srt (pass -k to keep)
[download] Finished downloading playlist: Sekai no Owari ni Shiba Inu to

Is this a bilibili.tv website feature or...? It's not like this when I download YouTube😳

I think the problem is in these lines:
https://github.com/yt-dlp/yt-dlp/blob/a4894d3e25943c4ecf4f38c0d50ce592d2175f29/yt_dlp/extractor/bilibili.py#L1023-L1027
The entries is keep adding all episode from series. The response that returned from series json is like this:
JSON sample
{
  "code": 0,
  "message": "0",
  "ttl": 1,
  "data": {
    "sections": [
      {
        "title": "",
        "ep_list_title": "1-20",
        "episodes": [
          {
            "cover": "https://pic.bstarstatic.com/ogv/8254ebd31d57e9eced389b0df06750955ab27ff2.png",
            "limit": 0,
            "limit_text": "",
            "episode_id": "11491441",
            "short_title_display": "E1",
            "long_title_display": "",
            "title_display": "E1",
            "publish_time": "2022-08-02T18:00:00+08:00"
          },
          {
            "cover": "https://pic.bstarstatic.com/ogv/fc7fe53a0df29729f134072578a9775ba9a93047.png",
            "limit": 0,
            "limit_text": "",
            "episode_id": "11491576",
            "short_title_display": "E2",
            "long_title_display": "",
            "title_display": "E2",
            "publish_time": "2022-08-04T18:00:00+08:00"
          }
        ]
      },
      {
        "title": "",
        "ep_list_title": "21-40",
        "episodes": [
          {
            "cover": "https://pic.bstarstatic.com/ogv/f4f26d4768c41c8dde3321194cc37a52f1f85312.png",
            "limit": 0,
            "limit_text": "",
            "episode_id": "11493454",
            "short_title_display": "E21",
            "long_title_display": "",
            "title_display": "E21",
            "publish_time": "2022-09-06T18:00:00+08:00"
          },
          {
            "cover": "https://pic.bstarstatic.com/ogv/a17320235ce48b1229be5fe8fa9a684fd477561e.png",
            "limit": 0,
            "limit_text": "",
            "episode_id": "11493519",
            "short_title_display": "E22",
            "long_title_display": "",
            "title_display": "E22",
            "publish_time": "2022-09-08T18:00:00+08:00"
          },
          {
            "cover": "https://pic.bstarstatic.com/ogv/3411acd310767b29f79d3c389330bc819865d201.png",
            "limit": 0,
            "limit_text": "",
            "episode_id": "11493646",
            "short_title_display": "E23",
            "long_title_display": "",
            "title_display": "E23",
            "publish_time": "2022-09-10T18:00:00+08:00"
          }
        ]
      }
    ]
  }
}

Maybe we can filter episode_number based on short_title_display or title_display, but i don't know this is reliable or not.

This is a bit of a complicated problem, and there are actually quite a few separate (but related) issues here.

yt-dlp "video url" spends so much time extracting subtitles, which may never be used

Fixing this is easy
diff --git a/yt_dlp/extractor/bilibili.py b/yt_dlp/extractor/bilibili.py
index de28aa4b7..0bcc2ba10 100644
--- a/yt_dlp/extractor/bilibili.py
+++ b/yt_dlp/extractor/bilibili.py
@@ -890,7 +890,7 @@ def _extract_video_info(self, video_data, *, ep_id=None, aid=None):
             'episode_number': int_or_none(self._search_regex(
                 r'^E(\d+)(?:$| - )', video_data.get('title_display') or '', 'episode number', default=None)),
             'formats': self._get_formats(ep_id=ep_id, aid=aid),
-            'subtitles': self._get_subtitles(ep_id=ep_id, aid=aid),
+            'subtitles': self.extract_subtitles(ep_id=ep_id, aid=aid),
             'extractor_key': BiliIntlIE.ie_key(),
         }

Full information of all previous videos are extracted even when --playlist-items is used (what OP reported)

This happens because the extractor (2) does not return url_results, but instead full infodicts and because it (2) returns a generator (which can't be indexed). Changing either of these will fix this problem.
The issue with naively returning a url_result is that video_data will have to be extracted again by making an additional webpage request, which makes extraction inefficient for people who don't use -I. So the simple solution would be to return a PagedList (with page_size=1) instead of the generator. This is what I was planning to do, but then I noticed the next issue

Similar to -I, --flat-playlist is inefficient here

While similar to (2), this cannot be solved using a PagedList. The only way to fix this is to return a url_result. The standard way of dealing which such situation is to smuggle_url the necessary data from the playist IE to the video IE. But the whole video_data is too big to justifiably smuggle. We would have to instead pre-process the necessary information from the video_data and smuggle just that.
Something like this:
class BiliIntlBaseIE(...):
    def _extract_video_metadata(self, video_data, video_id):
        return {
            'id': video_id,
            'title': ...,
            'thumbnail': ...,
            'episode_number': ...,
        }

   # Is this function even needed anymore?
    def _extract_video_info(...):
            **_extract_video_metadata(video_data, ep_id or aid)
            'formats': ...,
            'subtitles': ...,
        }

class BiliIntlIE(...):
    def _make_url(ep_id, aid):
        ...

    def _real_extract(...):
        url, video_data = unsmuggle_url(url)
        if not video_data:
            webpage = ...
            ...

class BiliIntlSeriesIE(...):
    def _entries(...):
      ...
      yield self.url_result(smuggle_url(
          BiliIntlIE._make_url(...), self._extract_video_metadata(...)), ...)

Closed by https://github.com/yt-dlp/yt-dlp/commit/26fdfc3704a278acada27cc420d67c6d3f71423b

authors: HobbyistDev ltsj pukkandan