Runtime Error - Division by Zero

I am getting below error while performing inference using the ATEPC model.
The model was fine-tuned on T-shirt data from the English checkpoint.
SRD alignment was kept True.
The data is in English.
RuntimeError: Are you using syntax-based SRD on a dataset_utils containing Chinese text?
Kindly help.

Hello,
Can you show me the whole stacktrace to help me locate the problem?

Please find below -

ZeroDivisionError                         Traceback (most recent call last)
/databricks/python/lib/python3.7/site-packages/pyabsa/core/apc/dataset_utils/apc_utils.py in get_syntax_distance(text_raw, aspect, tokenizer, opt)
    234     try:
--> 235         raw_tokens, dist, max_dist = calculate_dep_dist(text_raw, aspect)
    236     except Exception as e:

/databricks/python/lib/python3.7/site-packages/pyabsa/core/apc/dataset_utils/apc_utils.py in calculate_dep_dist(sentence, aspect)
    403                 flag = 0
--> 404         dist[i] = sum / len(terms)
    405         text[i] = word.text

ZeroDivisionError: division by zero

During handling of the above exception, another exception occurred:

RuntimeError                              Traceback (most recent call last)
<command-2469037522167824> in <module>
      6                                                  save_result=False,
      7                                                  print_result=False,  # print the result
----> 8                                                  pred_sentiment=True,  # Predict the sentiment of extracted aspect terms
      9                                                  )
     10   out = []

/databricks/python/lib/python3.7/site-packages/pyabsa/core/atepc/prediction/aspect_extractor.py in extract_aspect(self, inference_source, save_result, print_result, pred_sentiment)
    182                 extraction_res = self._extract(example, print_result)
    183                 if pred_sentiment:
--> 184                     polarity_res = self._infer(extraction_res, print_result)
    185                 results.append({'extraction_res': extraction_res, 'polarity_res': polarity_res})
    186                 if fout:

/databricks/python/lib/python3.7/site-packages/pyabsa/core/atepc/prediction/aspect_extractor.py in _infer(self, example, print_result)
    291                                                          self.opt.max_seq_len,
    292                                                          self.tokenizer,
--> 293                                                          self.opt)
    294         all_spc_input_ids = torch.tensor([f.input_ids_spc for f in eval_features], dtype=torch.long)
    295         all_input_mask = torch.tensor([f.input_mask for f in eval_features], dtype=torch.long)

/databricks/python/lib/python3.7/site-packages/pyabsa/core/atepc/dataset_utils/data_utils_for_inferring.py in convert_apc_examples_to_features(examples, label_list, max_seq_len, tokenizer, opt)
    204
    205         text_left, _, text_right = [s.strip() for s in ' '.join(example.text_a).partition(aspect)]
--> 206         prepared_inputs = prepare_input_for_atepc(opt, tokenizer, text_left, text_right, aspect)
    207         lcf_cdm_vec = prepared_inputs['lcf_cdm_vec']
    208         lcf_cdw_vec = prepared_inputs['lcf_cdw_vec']

/databricks/python/lib/python3.7/site-packages/pyabsa/core/atepc/dataset_utils/atepc_utils.py in prepare_input_for_atepc(opt, tokenizer, text_left, text_right, aspect)
     60
     61     if 'lcfs' in opt.model_name or opt.use_syntax_based_SRD:
---> 62         syntactical_dist, _ = get_syntax_distance(text_raw, aspect, tokenizer, opt)
     63     else:
     64         syntactical_dist = None

/databricks/python/lib/python3.7/site-packages/pyabsa/core/apc/dataset_utils/apc_utils.py in get_syntax_distance(text_raw, aspect, tokenizer, opt)
    236     except Exception as e:
    237         print(e)
--> 238         raise RuntimeError('Are you using syntax-based SRD on a dataset_utils containing Chinese text?')
    239     raw_tokens.insert(0, tokenizer.bos_token)
    240     dist.insert(0, max(dist))

RuntimeError: Are you using syntax-based SRD on a dataset_utils containing Chinese text?

I test the extract_aspect.py in my envs, it works without errors, you can try 1.1.13a1.

The issue was with the text used for inference.
My text contained \n and some other special characters
After removing them, it worked fine.
Thanks for your response.


[BugFix] DA-QFT for larger number of qubits in the analog block

dont have context for this so i cant judge what it fixes exactly

Sorry, it's an edge case of using a QFT of a smaller size inside a circuit with larger number of qubits. It was only tested for both having same size. Thanks!

dont have context for this so i cant judge what it fixes exactly

Sorry, it's an edge case of using a QFT of a smaller size inside a circuit with larger number of qubits. It was only tested for both having same size. Thanks!

Yes, I guess it makes it easier to review when a minimal description is provided. If that's real minor, maybe no need to open an full-fledge issue (though I'm inclined to think this is the way to go) but the least should be to state what it is supposed to fix.


Buttons in GridContainer do not grab focus using grab_focus() Mac OSX 10.13

@reduz #
Godot version:
Godot 3.1 dev
OS/device including version:
Mac OSX 10.13 ,  NVIDIA GT 750M
Issue description:
Buttons in a GridContainer does not grab focus when grab_focus() is used but works
in horizontalContainer/verticalContainer
Steps to reproduce:
put some buttons in a gridContainer and call grab_focus() on the button from the root control node GDScript _on_ready() function
Minimal reproduction project:

Can anyone still reproduce this bug in Godot 3.2.3 or any later release?
If yes, please ensure that an up-to-date Minimal Reproduction Project (MRP) is included in this report (a MRP is a zipped Godot project with the minimal elements necessary to reliably trigger the bug). You can upload ZIP files in an issue comment with a drag and drop.

Often, you need to use call_deferred("grab_focus") instead of grab_focus(). See https://github.com/godotengine/godot/pull/38679.

No answer from the OP so closing. Judging from the above comment, this is not a GridContainer bug, but a common issue with grab_focus().


add performance measurement

first approach would be to run smashbox or the phoenix ui tests along with a monitoring tool.

[ ] add prometheus to docker-compose.yml

not really needed for make future
start only for a make demo that can be used to demo how a production environment would look like?

[ ] add make performance-metrics
while prometheus is running

run smashbox
run the phoenix ui tests
afterwards print cpu, memory and io graphs as a snapshot for the testing duration.
[ ] generate PDF with metrics

Closing in favor of the current performance measurement efforts.

Closing in favor of the current performance measurement efforts.


Allow reopen workspace on changes

When configuring the workspace file in the editor, for instance to create project specific tasks it would be nice to allow a reload of the workspace. There even is a button "Open Workspace" in the bottom right. But this will show the workspace is already opened.

It should however check if any changes were made to the workspace file .

We do reload from changes to the workspace file. What is happening?

I use "runOn". "folderOpen"

@theking2 ah to clarify, you expect when you add a folder to the workspace that "runOn" is triggered?

Yes indeed .

Can you let me know which setting contributes the runOn or which extension?

that would be a task to run sass.

Sounds task related, moving to tasks.

It is task related in as much that the code-workspace file contains tasks that are started during folder load. It could contain other items that require a reload of the workspace after editing the code-workspace  file.
A sample file:
{
{
	"folders": [
		{
			"path": "link-qr"
		}
	],
	"settings": {},
	"tasks": {
		"version": "2.0.0",
		"tasks": [
			{
				"label": "Sass compile",
				"command": "sass",
				"type": "shell",
				"args": [
					"--watch",
					"--style=compressed",
					"./assets/src/style/main.sass",
					"./assets/main.css"
				],
				"runOptions": {
					"runOn": "folderOpen"
				},
				"group": "build"
			}
		]
	}
}

Each respective component that supports something to run on folder needs to support this, it will not magically happen.

Wouldn't closing and reopening the workspace file solve this?

A window reload / restart would, but that is obviously not the desire here, we want to add/remove folders without a reload. As such, we send an event whenever a folder changes of the workspace and components that offer functionality on folders need to listen and react on this event. I suspect that is missing here in this case.


make front end beautiful

make the things that people see look much nicer (HTML, CSS, JavaScript, Twitter Bootstrap)

did a lot of this!


TNB MMO - Week - 3

📝 Weekly Report For TNB Projects
Basic Details

🧪 Name of the Project: TNB MMO
📅 Report Date: [03-5-2021]
📜 Team Work Report

✅ Accomplishments this week

Worked on more details of the story
Actively recruiting more people to our project
Talked about design concepts

🚩 Goals for next week

Complete all designs
Move on to the extension redesign

👨💻👩💻 Team Members Contribution Details

mrbusysky:

Actively coordinated with all teammates
Worked with the freelance writer on which is now completed https://docs.google.com/document/d/10yaARWHvucewxcEIpls-4pi1Ak-uaNnWI7Ij3FfINxQ/edit?usp=sharing
Chatted with the main team's organizer on the recruitment path.

zinoadidi:

Discussed with prospective team members from facebook job post https://www.facebook.com/groups/GamingIndustryTalent/permalink/3717785258256986/
*Joined some new game dev groups and awaiting approval from their Admins to make new adverts

gushinmikhailgushinmikhail:

Two new location concepts - https://drive.google.com/drive/folders/1qQtyn-qct3_oRA1lnzZeOPF5dFbj6hx8

keyframeguy:

Was not active this week

dashapvlv:

I added a few suggestions to the doc - https://docs.google.com/document/d/1prk-d7qwef4zIl5-hYc97kqrWf1_jq3ifRhwv5cvVT8/edit
Arkan has resurrection powers because of all the people he lost, when he really misses them he summons them as ghosts, so he won’t forget what they looked like.
Makhonor is Arkan’s last living friend. Everyone else is dead.
I liked how the brother got changed to a sister. And that she was part of the Green Revolutionaries.
Also Ariandel’s soul is a good foreshadowing. We can do a lot to develop the storyline with that info. Maybe have the players try to find where her soul is hidden.

Use google docs links with view-only permission.

Use google docs links with view-only permission.

Will do


Builder annotation support

This PR proposes to add the possibility to configure annotation on the build pod.
This was required to allow build pods to properly execute in the context of using Buildah in an AppArmor enabled Kubernetes cluster.
Also included are a few tweak encountered while running the operator out of cluster.
Release Note
Add possibility to use custom annotations on builder pods.

I am struggling to find any place to insert test for this enhancement. Could anyone chime in?


mod: clang/pathutil

Codecov Report

Merging #133 (51d027f) into main (efb5909) will increase coverage by 0.07%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #133      +/-   ##
==========================================
+ Coverage   87.45%   87.53%   +0.07%
==========================================
  Files          10       10
  Lines        3309     3306       -3
==========================================
  Hits         2894     2894
+ Misses        330      328       -2
+ Partials       85       84       -1

Impacted Files
Coverage Δ

cl/blockctx.go
80.41% <ø> (ø)

cl/compile.go
94.76% <100.00%> (+0.02%)
:arrow_up:

cl/multifiles.go
82.95% <100.00%> (+1.18%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update efb5909...51d027f. Read the comment docs.


Failed  at vendor/laravel-zero/framework/src/Commands/BuildCommand.php:169

Hello, I already installed required packages using composer.
But now It throws this error.

Any HELP !?

for heads up , when building provide your executable name after the ./laravel-dev-tools app:build YOUR_EXECUTABLE NAME followed by a -v flag for verbose output.
In my case, I didn't have sodium extension enabled in php.


lambda layer support for parser (and other optional features)

Opening an issue as requested. We currently install lambda-powertools using the SAR layer method, however it appears that the optional dependencies to use advanced features like the parser are not available in the layer. We'd like a way to include these dependencies without having to maintain our own lambda layer pipeline (which would remove most of the value of installing the main powertools dependency using the SAR application).
Some possible approaches:

Retain a single SAR application for the powertools dependency, but include all optional dependencies

Concerns: overall layer size? Not sure how big these dependencies are

Configure a pipeline to publish multiple SAR apps with various combinations of optional dependencies

Concerns: Operational overhead for the AWS team, potential explosion of layer combinations (especially with 5-layer limit on lambda - unless there's some news about this at reinvent :smile: )

Offload the work to all consumers of the powertools library

Concerns: Lots of repeated work, managing their own pipelines to generate layers, across all users of powertools

@heitorlessa are the extras required for this functionality included in the SAR app / lambda layer? Or do those need to be handled separately? Might be worth adding a note in the docs, not sure if that would be under the parser docs or the lambda layer installation docs?

Hey @mwarkentin - the latter, handled separately as described in the parser docs.
Unsure whether it worth creating a separate Layer for that tbh given the additional operational overhead. In V2, we'd like to create each utility to be pip installable if a theory works, then we could consider multiple layers I suppose.
Happy to discuss more in a separate issue tho ;)
Originally posted by @heitorlessa in https://github.com/awslabs/aws-lambda-powertools-python/issues/118#issuecomment-729827935

Hey @mwarkentin and @koiker - What do you think of having an additional layer with all optional dependencies installed?
Adding pydantic to the current Layer, parser's optional dependency, might break some existing customers as it increases the final Lambda package size by 70M.
Adding an additional layer with clear description that it'll contain all optional dependencies we might have (incl. in the future) it gives us room to think about 2.0 - potentially microlibs - where we can break them into categories as well as make them stand-alone.

@heitorlessa that would work for us - do you think this would be a second layer included in the existing SAR application or a separate SAR application? 70MB is a decent size chunk I guess.. maybe those limits will be increasing soon? ;)

Sounds a good idea to have 2 packages: aws-powertools-core and aws-powertools-extras or aws-powertools-advanced. (I don't know, just trowing some ideas on the naming convention)

Yep - That would be a second SAR App with an explicit name to differentiate
between the one we have (similar to Rafael suggestion).
In your case, you’d need only that new Layer instead of having to add
multiple layers - this obviously would come at the expense of a larger
package.
If anyone in the future would like to only include certain optional
dependencies they could always build their own Layer, or simply use their
dependency package management tool
On Fri, 20 Nov 2020 at 22:05, Rafael M. Koike<EMAIL_ADDRESS>wrote:

Sounds a good idea to have 2 packages: aws-powertools-core and
aws-powertools-extras or aws-powertools-advanced. (I don't know, just
trowing some ideas on the naming convention)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/awslabs/aws-lambda-powertools-python/issues/210#issuecomment-731406915,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZPQBBX7XQD3ADOFOOQGWLSQ3K3NANCNFSM4T3PF5OA
.

Sounds good!

just agreed with @am29d - We're gonna work on this next @mwarkentin ;)

Woot, excellent!

we're hoping to get it released by EOD @mwarkentin - @am29d is on it ;)

@heitorlessa has this been released? I didn't see anything in the documentation.

@heitorlessa has this been released? I didn't see anything in the documentation.

@am29d is on it @prasenjithaty -- we've had publishing issues and will circle back here as soon as they're fixed

@am29d is on it @prasenjithaty -- we've had publishing issues and will circle back here as soon as they're fixed

Thanks for the update @heitorlessa. I tried creating a layer within our organizations's AWS account with just aws-lambda-powertools[pydantic] as a dependency but am hitting size limits. It appears that the unzipped package is ~307MB.

Thanks for the update @heitorlessa. I tried creating a layer within our organizations's AWS account with just aws-lambda-powertools[pydantic] as a dependency but am hitting size limits. It appears that the unzipped package is ~307MB.

Hey @prasenjithaty , I have managed to create an aws-lambda-powertools-extras layer including optional dependencies and I can use the layer in my lambda funciton.
May I ask: how did you packaged the dependencies? 🤔
I am now unsure if I have missed any deps in my layer, so it would help me to double check and compare with your approach.

Hey @prasenjithaty , I have managed to create an aws-lambda-powertools-extras layer including optional dependencies and I can use the layer in my lambda funciton.
May I ask: how did you packaged the dependencies? 🤔
I am now unsure if I have missed any deps in my layer, so it would help me to double check and compare with your approach.

Hi @am29d, we use Jenkins and a Makefile to bundle the dependencies. Briefly, these are the steps:

Create a virtual environment python3 -m venv $(VIRTUAL_ENV);
Activate the virtual env and install dependencies using pip install -r requirements.txt
Create a tmp directory using mkdir -p ./package/tmp
Copy site packages

if test -d $(VIRTUAL_ENV)/lib/$(PYTHON_VERSION); then \
  mkdir -p ./package/tmp/python/lib; \
  rsync -ar --exclude="*.dist-info" --exclude="*.pyc" --exclude="wheel*" --exclude="easy_install*" --exclude="setuptools*" $(VIRTUAL_ENV)/lib/ ./package/tmp/python/lib; \
fi
if test -d $(VIRTUAL_ENV)/lib64/$(PYTHON_VERSION); then \
  mkdir -p ./package/tmp/python/lib64; \
  rsync -ar --exclude="*.dist-info" --exclude="*.pyc" --exclude="wheel*" --exclude="easy_install*" --exclude="setuptools*" $(VIRTUAL_ENV)/lib64/ ./package/tmp/python/lib64; \
fi
chmod -R a+r ./package/tmp;

Terraform then archives the package/tmp directory and creates a layer.

Let me know if that is not clear.

Hi @am29d, we use Jenkins and a Makefile to bundle the dependencies. Briefly, these are the steps:

Create a virtual environment python3 -m venv $(VIRTUAL_ENV);
Activate the virtual env and install dependencies using pip install -r requirements.txt
Create a tmp directory using mkdir -p ./package/tmp
Copy site packages

if test -d $(VIRTUAL_ENV)/lib/$(PYTHON_VERSION); then \
  mkdir -p ./package/tmp/python/lib; \
  rsync -ar --exclude="*.dist-info" --exclude="*.pyc" --exclude="wheel*" --exclude="easy_install*" --exclude="setuptools*" $(VIRTUAL_ENV)/lib/ ./package/tmp/python/lib; \
fi
if test -d $(VIRTUAL_ENV)/lib64/$(PYTHON_VERSION); then \
  mkdir -p ./package/tmp/python/lib64; \
  rsync -ar --exclude="*.dist-info" --exclude="*.pyc" --exclude="wheel*" --exclude="easy_install*" --exclude="setuptools*" $(VIRTUAL_ENV)/lib64/ ./package/tmp/python/lib64; \
fi
chmod -R a+r ./package/tmp;

Terraform then archives the package/tmp directory and creates a layer.

Let me know if that is not clear.

Hi @prasenjithaty, thanks for sharing this is interesting!
I think some parts of the VIRTUAL_ENV can be exluded further and are not required for the runtime, but I cant tell you which one. Is there a reason you do it for lib64 as well? I have a different approach by runing pip install -t ./python/. Here are the details on how I construct the layer:

Build project with poetry
Install the wheel into a specific directory
export poetry dependencies for pydantic to a requirements.txt
pip install the requirements
Use SAM to package and publish the SAR app

cd aws-lambda-powertools-python
pip install poetry
poetry lock
poetry build
pip install dist/*.whl -t ../$PACKAGE_TYPE/python

if [ $PACKAGE_TYPE == "extras" ] ; then
  echo "install extras"
  poetry export -o requirements.txt --without-hashes --extras "pydantic"
  pip install -r requirements.txt -t ../$PACKAGE_TYPE/python
fi

# [...] removed some SAM specific stuff

# zip and ship
echo "Zip and ship"
zip -rq layer.zip python
sam package --template-file template.yml --output-template-file packaged.yml --s3-bucket $LAYER_DEPLOY_BUCKET
sam publish --template packaged.yml --region $AWS_REGION

The resulting zip package is 22.4MB big and 151.9 MB uncompressed (because boto core is included with ~55MB).
We are close to release the public version of the extras layer as a public SAR app soon, so it might save you some time. Again, sorry for the delay and that you have to build and manage your own layer.
Best,
Alex

Hi @prasenjithaty, thanks for sharing this is interesting!
I think some parts of the VIRTUAL_ENV can be exluded further and are not required for the runtime, but I cant tell you which one. Is there a reason you do it for lib64 as well? I have a different approach by runing pip install -t ./python/. Here are the details on how I construct the layer:

Build project with poetry
Install the wheel into a specific directory
export poetry dependencies for pydantic to a requirements.txt
pip install the requirements
Use SAM to package and publish the SAR app

cd aws-lambda-powertools-python
pip install poetry
poetry lock
poetry build
pip install dist/*.whl -t ../$PACKAGE_TYPE/python

if [ $PACKAGE_TYPE == "extras" ] ; then
  echo "install extras"
  poetry export -o requirements.txt --without-hashes --extras "pydantic"
  pip install -r requirements.txt -t ../$PACKAGE_TYPE/python
fi

# [...] removed some SAM specific stuff

# zip and ship
echo "Zip and ship"
zip -rq layer.zip python
sam package --template-file template.yml --output-template-file packaged.yml --s3-bucket $LAYER_DEPLOY_BUCKET
sam publish --template packaged.yml --region $AWS_REGION

The resulting zip package is 22.4MB big and 151.9 MB uncompressed (because boto core is included with ~55MB).
We are close to release the public version of the extras layer as a public SAR app soon, so it might save you some time. Again, sorry for the delay and that you have to build and manage your own layer.
Best,
Alex

Hi @am29d,
You are right. The problem was in Step 4. Both lib and lib64 are not required to be copied. Assuming that the python runtime in Lambdas to be 64bit, I removed the line that copies the same files into ./package/tmp/python/lib and was able to create the layer. I'll test as soon as I can and report back if I find any issues.
Your steps for creating the archive looks much simpler and cleaner. I'll modify my Makefile accordingly.
Thanks.

Hi @am29d,
You are right. The problem was in Step 4. Both lib and lib64 are not required to be copied. Assuming that the python runtime in Lambdas to be 64bit, I removed the line that copies the same files into ./package/tmp/python/lib and was able to create the layer. I'll test as soon as I can and report back if I find any issues.
Your steps for creating the archive looks much simpler and cleaner. I'll modify my Makefile accordingly.
Thanks.

Hey all, we have merged the PR containing the docs changes regarding the new powertools layer with extras dependencies. The news is published and you can start using it.
https://serverlessrepo.aws.amazon.com/applications/eu-west-1/057560766410/aws-lambda-powertools-python-layer-extras

Hey all, we have merged the PR containing the docs changes regarding the new powertools layer with extras dependencies. The news is published and you can start using it.
https://serverlessrepo.aws.amazon.com/applications/eu-west-1/057560766410/aws-lambda-powertools-python-layer-extras


Fix method convertLiterToGallon #301

Closes #301

[x] Running yarn lint does not trigger any linter errors
[x] The test of the method you have fixed is passing
[x] You have written a new skeleton method for someone else to work on!
[x] You have written tests to accompany your skeleton method

Great catch @BlakeGuilloud. Thx.

New issue created for the new skeleton method.


Patch frr for CVE-2023-46752 and CVE-2023-46753

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[x] Ready to merge

Summary

Patch CVE-2023-46752 and CVE-2023-46753
Change Log

Patch CVE-2023-46752 and CVE-2023-46753

Does this affect the toolchain?

NO
Links to CVEs

https://nvd.nist.gov/vuln/detail/CVE-2023-46752
https://nvd.nist.gov/vuln/detail/CVE-2023-46753

Test Methodology

confirmed on "main" patches build (Pipelines - Run rlmenge+2.0+cve-frr (azure.com)), pass check section, and install on a vhdx

PR check build failed for unrelated reason (missing CredScan exception we've just added in #6697 and an artifact re-publishing issue). Package builds and tests look good, overriding the check and merging.

Auto cherry-pick results:

main :white_check_mark: -> https://github.com/microsoft/CBL-Mariner/pull/6702

Auto cherry-pick pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=449123&view=results


v3.14

There are a number of commits since v3.13 that I want to use and I prefer to only use tagged releases.
What is the timing for the v3.14 release?  I would prefer to wait vs cherry-pick.
- jss

We plan to release it in a week or two.

Thanks.


"has no exported member 'FakeTimerInstallOpts'" error when building out of the box

Summary
Building out of the box generates the following error : has no exported member 'FakeTimerInstallOpts'
Steps To Reproduce:

yarn install
yarn prepack

Expected result
Should build
Actual result
% yarn prepack
yarn run v1.22.19
$ yarn run build && oclif-dev manifest
$ yarn run clean:lib && yarn compile
$ shx rm -rf lib && shx rm -rf coverage && shx rm -rf .nyc_output && shx rm -f oclif.manifest.json
$ tsc -b
node_modules/@types/sinon/index.d.ts:1447:53 - error TS2694: Namespace '"/Users/rupert/Downloads/plugin-metadata-hook-demo-master/node_modules/@sinonjs/fake-timers/types/fake-timers-src"' has no exported member 'FakeTimerInstallOpts'.
1447         useFakeTimers: boolean | Partial<FakeTimers.FakeTimerInstallOpts>;
~~~~~~~~~~~~~~~~~~~~
node_modules/@types/sinon/index.d.ts:1569:67 - error TS2694: Namespace '"/Users/rupert/Downloads/plugin-metadata-hook-demo-master/node_modules/@sinonjs/fake-timers/types/fake-timers-src"' has no exported member 'FakeTimerInstallOpts'.
1569         useFakeTimers(config?: number | Date | Partial<FakeTimers.FakeTimerInstallOpts>): SinonFakeTimers;
~~~~~~~~~~~~~~~~~~~~
Found 2 errors.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
rupert@MacBook-Pro-de-Rupert plugin-metadata-hook-demo-master %
Additional information
I'm using TypeScript version 4.4.4
VS Code Version:
SFDX CLI Version:
OS and version: MacOS 11.7.1

I managed to build with no errors by changing package.json :
added :
    "@sinonjs/commons": "^1.8.3",
    "@sinonjs/fake-timers": "^8.1.0",
    "@sinonjs/samsam": "^6.0.2"

to dependencies
added :
    "@sinonjs/eslint-config": "^4.0.2",
    "@sinonjs/eslint-plugin-no-prototype-methods": "^0.1.1",
    "@sinonjs/referee": "^8.0.2"

to devDependencies
(to use Sinon 12.0.43 instead of 11.1.2 :
https://github.com/sinonjs/sinon/blob/a38306f822ae743097685d00e9ee0f92f9949cb8/package.json )
and replaced TypeScript version by :
"typescript": "4.4.4",
(possibly an unrelated issue : conflist between TS 4.5.4 (which I have by default on my Mac) and OCLIF.


Arguments in teleop.launch from husky_control package

@civerachb-cpr, just noticed 3 small issues with the teleop.launch file from husky_control package:

Arguments for both joystick as well as keyboard teleoperation have been set to true simultaneously. https://github.com/husky/husky/blob/741f70882da3abb17578cf594779add985e95b08/husky_control/launch/teleop.launch#L5-L6

teleop_twist_joy node does not check whether or not the joystick argument is true. https://github.com/husky/husky/blob/741f70882da3abb17578cf594779add985e95b08/husky_control/launch/teleop.launch#L21

Neither teleop_twist_joy, nor teleop_twist_kb node shows any output on the screen (which is useful to refer what joystick/keyboard input will correspond to what robot motion). https://github.com/husky/husky/blob/741f70882da3abb17578cf594779add985e95b08/husky_control/launch/teleop.launch#L19-L23

Arguments for both joystick as well as keyboard teleoperation have been set to true simultaneously.

This was intentional so as to allow keyboard or game controller input to be used.  I've just edited the launch file and the twist_mux configuration to make the keyboard teleop use kb_teleop/cmd_vel instead of joy_teleop/cmd_vel.  The game controller has higher priority and will override the keyboard input.
Because on a normal Husky the teleop.launch file is normally run by the ros systemd job, I've set the default for keyboard input to false.  If you want keyboard control you can run
roslaunch husky_control teleop.launch joystick:=false keyboard:=true

in the foreground (or create an alias/bash script to do this in a shorter command).
Practically-speaking, outside of simulation, there isn't much need to keyboard control of the robot.  All physical Husky robots ship with a game controller.  And if you're using SSH to connect to the robot then rather than using keyboard input you can use the Rviz interactive rings to drive the robot.

teleop_twist_joy node does not check whether or not the joystick argument is true.

This is fine.  The latest change I just push will address the possible issues of using the keyboard and game controller simultaneously.

Neither teleop_twist_joy, nor teleop_twist_kb node shows any output on the screen (which is useful to refer what joystick/keyboard input will correspond to what robot motion).

The joy nodes have never published any controller button information.  We have separate documentation for all of our robots, and the button layout is defined in the husky_control/config/teleop_* files.
Regarding the keyboard node, the key controls are not configurable, but are well-defined in the documentation for that package.


Add option for including files with empty tests in coverage reports

The way we do this is a little tricky.

first we list all packages, to get file paths/names
then we get all the packages without tests, through go test list
then we create dummy test files
then we run the gotestiful
then we remove the dummy files

We need to do some trickery to still print the originally no-test files
as skipped.
Note that with the current coverage reporting, which is wrong (as it just averages all coverages),
there is no difference in overall coverage reporting; I plan to do one more PR that will fix the overall coverage
reporting
Note that this depends on/includes #5

Well, the issue is mainly with when we use coverprofile. With this, the coverprofile will include all those packages.
Also, my next PR, which I will push soon, is proper counting of actual coverage; which we can do only through coverprofile.

Also we will need it for all the XML outputs etc that we are planning


Merge RFC 30 & RFC 154 into dev

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

74 of 74 (100.0%)  changed or added relevant lines in 2 files are covered.
7 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.3%) to 89.124%

Files with Coverage Reduction
New Missed Lines
%

contracts/common/BN256G2.sol
3
75.56%

contracts/libs/ValidatorStorage.sol
4
69.68%

Totals

Change from base Build<PHONE_NUMBER>:
-0.3%

Covered Lines:
865

Relevant Lines:
944

💛  - Coveralls


docs: ClientOnly documentation

ref: https://github.com/vikejs/vike-react/pull/35
For ClientOnly documentation.
I also made some changes to the description on the client-only-components page, but please feel free to let me know if these are unnecessary.

👌 One thing: most (and many will never) use vike-react so I think it would be nice to keep the <ClientOnly> implementation example in the docs for these users. I guess we can simply add a note with a <Link href="/ClientOnly" />.
Btw. I reverted prettier; the docs don't use prettier, unfortunately so: we should apply prettier to the docs at some point :)

@brillout

One thing: most (and many will never) use vike-react so I think it would be nice to keep the  implementation example in the docs for these users. I guess we can simply add a note with a .

Got it, sorry about that, I didn't understand the difference between the scope of vike-react and the scope of react in vike.
How about this fix? 5c6e545

I wonder whether we should document vike-react/ClientOnly and vike-solid/ClientOnly at the same time or separately 🤔 (In the long term a global toggle vike-react/vike-solid/vike-vue would be neat.)

Got it, sorry about that, I didn't understand the difference between the scope of vike-react and the scope of react in vike.
How about this fix? 5c6e545

👍

I wonder whether we should document vike-react/ClientOnly and vike-solid/ClientOnly at the same time or separately 🤔 (In the long term a global toggle vike-react/vike-solid/vike-vue would be neat.)

I think it's easier if we have separate sections for each:
{/* pages/ClientOnly.page.server.mdx */}

## React

...

## Solid

...

It's also a better fit if we eventually implement a UI framework toggle.

The core logic of each should be mostly the same, so I think it would be nice to first explain the concept of ClientOnly, and then show how it can be implemented in each UI framework.

I think it's easier if we have separate sections for each:

So, I also believe that the good immediate approach would be to separate each section.

The core logic of each should be mostly the same, so I think it would be nice to first explain the concept of ClientOnly, and then show how it can be implemented in each UI framework.

👍

Should I also write an example implementation for Solid?😀

@brillout
I've added the explanation for Solid, but does this look good?
I'm concerned about the redundancy of repeating the same description in the Props section.

I've added the explanation for Solid, but does this look good?

👍

I'm concerned about the redundancy of repeating the same description in the Props section.

How about creating a new component at pages/ClientOnly/ClientOnlyCommon.tsx? We do this quite a lot to avoid redundancy.

@brillout
Thank you!🙌

How about creating a new component at pages/ClientOnly/ClientOnlyCommon.tsx? We do this quite a lot to avoid redundancy.

I just want to confirm: does this mean we should create a pages/ClientOnly/ClientOnlyCommon.page.server.mdx for the common content and then have separate pages for React and Solid specifics?

I was thinking more of something around these lines:
{/* pages/ClientOnly.page.server.mdx */}

import { ClientOnlyCommon } from './ClientOnly/ClientOnlyCommon.tsx'

## React

...

<ClientOnlyCommon packageName="vike-react" hasDepsArgument={true} ... />

...

## Solid

...

<ClientOnlyCommon packageName="vike-solid" hasDepsArgument={false} ... />

...

I think a single page vike.dev/ClientOnly is future proof (feel free to disagree).

Thank you for letting me know and it's great the way.
Do I need to worry about code syntax?

Do I need to worry about syntax highlight?

Usually what I do is that I define code blocks in small mdx files SomeCodeBlock.mdx and then import it from MyComponent.tsx.
But that doesn't work for code blocks with conditional content, so I'm thinking we can create a new component <CodeBlock lang="tsx">...<CodeBlock/> at docs/components/CodeBlock.ts that generates the same
{children}
 wrapper that mdx generates. Actually that isn't enough. So how about we create two versions ClientOnlyExampleWithDeps.mdx and ClientOnlyExampleWithoutDeps.mdx and use ClientOnlyCommon.tsx to conditionally use the right one?

Thanks for letting me know.
This might be a bit different from what you're envisioning, but how about this fix?

This might be a bit different from what you're envisioning, but how about this fix?

Perfect 👌
I made some extra polishing; let me know if you disagree with any of it, otherwise I'll merge.
I moved the page to headingsDetached but I'll add it to the API section once the V1 docs PR is merged.

Thank you for polishing.

I made some extra polishing; let me know if you disagree with any of it, otherwise I'll merge.

No problem🙆♂

I moved the page to headingsDetached but I'll add it to the API section once the V1 docs PR is merged.

Understood. I'm looking forward to it😀

Done: https://github.com/vikejs/vike/commit/076d17f3afaa77a0e38a5c0dcfedfb0d7ec9421f.

Thanks!

I tried to find you as usk94 in Discord but couldn't find you

Oops, I was using my real name. I just renamed it to usk94👌

Feel free to PM us on Discord

I'm glad to hear that. Thanks a lot😊


#712 merged in 2.43.0 caused external environ not to pass through to resolve

testable between 2.42.2 and 2.43.0 by rez-env-ing a package with:
def commands():
    print(env.keys())

result in 2.42.2 is a list of variable names, 2.43.0 is []
solved in incoming PR.

addressed in #745

Closed by https://github.com/nerdvegas/rez/pull/745


Allow for lack of stdin/stdout/stdout buffer access

same as https://github.com/Iotic-Labs/py-ubjson/issues/1

Thank you for the pull request!
Regards,
Vilnis
PS: Please next time generate pull requests against the dev-contrib branch.

thank you. I'm sorry I didn't notice that.


pcal command fails if no pcal code found

SUMMARY
tlc depends on pcal successfully running and generating the .cfg file. However, if the input file is just tla+ and does not contain the pluscal comment block, pcal fails.
EXPECTED
I'd expect pcal to succeed and generate the .cfg file even if no pluscal code is found.
REPRO
git clone https://github.com/tlaplus/Examples.git examples
cd examples/specifications/N-Queens
pcal Queens

ERROR A
ls
QueensPluscal.tla  QueensPluscal.toolbox  Queens.tla  Queens.toolbox  README  states

pcal Queens
pcal.trans Version 1.9 of 10 July 2019

Unrecoverable error:
 -- Beginning of algorithm string --algorithm not found..

This seems ok, except that I'd like to run tlc on this, too:
ERROR B
tlc Queens

TLC2 Version 2.14 of 10 July 2019 (rev: 0cae24f)
Running breadth-first search Model-Checking with fp 36 and seed<PHONE_NUMBER>96578281 with 1 worker on 8 cores with 7134MB heap and 64MB offheap memory [pid: 19015] (Linux 4.15.0-96-generic amd64, Ubuntu 11.0.6 x86_64, MSBDiskFPSet, DiskStateQueue).
Error: TLC threw an unexpected exception.
This was probably caused by an error in the spec or model.
See the User Output or TLC Console for clues to what happened.
The exception was a tlc2.tool.ConfigFileException
: TLC encountered the following error when trying to read the configuration file Queens.cfg:
File not found.
Finished in 00s at (2020-04-16 13:56:29)

That makes sense. Thanks for the writeup.
This might be an issue you can report upstream to TLA+, too, at https://github.com/tlaplus/tlaplus. I wonder if there is a reason why the underlying pcal translator fails when it has no work to do, and why it's doesn't continue to create the .cfg file.
Alternatively, there may be another way to generate the .cfg file if pcal fails. Just thinking about ways it might be solved.
Regardless, users of tla-bin shouldn't have to worry about this behavior and it should just work.

Closing this issue as stale. Please reopen it if you continue to experience any issues.


Update Host and Deploy content for Blazor WebAssembly for 3.2 Preview2

The structure of the published output of a Blazor WebAssembly app is different starting with 3.2 Preview2. A Blazor WebAssembly app is now published to the /bin/Release/netstandard2.1/publish/wwwroot folder (a dist folder is no longer generated). To publish a standalone Blazor WebAssembly app as a static site, copy the contents of the published wwwroot folder to your static site host. If the Blazor WebAssembly app is hosted in an ASP.NET Core app, the client Blazor WebAssembly app is published into the wwwroot folder of the published server app just like any other static web asset.
Also, the .NET IL linker is no longer run for Debug builds. It is only run on Release builds.

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

ID: 120edc19-68d5-5a86-0638-59e53ee2275e
Version Independent ID: 85e547e0-8e56-19e5-7059-c59c4930bb50
Content: Host and deploy ASP.NET Core Blazor
Content Source: aspnetcore/host-and-deploy/blazor/index.md
Product: aspnet-core
Technology: aspnetcore-hostdeploy
GitHub Login: @guardrex
Microsoft Alias: riande

Related to https://github.com/dotnet/AspNetCore.Docs/issues/17191, but this change was initially missing from the announcement blog post.

@guardrex Putting this at the top of your queue as this changes how you deploy your app.


SNOW-1272319: Alias SnowCLI SPCS List and Delete Commands in SPCS create tree

Description
SPCS GAs at Summit. The request is to alias list/drop commands in snow spcs... command tree. So that the user can issue a command like snow spcs create compute-pool and then to verify their creation, they only need to up-arrow and replace create with list (e.g. snow spcs list compute-pool). The transition to the snow object command tree uses a different syntax than the create CLI tree.  Create uses verb/noun and object uses noun/verb.
Context
No response

In JIRA this should be SNOW-1269556

Thanks for the feedback . We are looking into how we can update the cmd design for it and will update on it

Hi!
These aliases will be included in 2.4.0 release


IO?

Hi,
Is there (going to be) an IO library included with V?
Thanks!

Hi
If you mean file IO, then of course.

I'll publish package documentation soon.

What about “memory IO”, like the ability to put data from a HTTP response, or a byte array, into a “stream” in memory of sorts, a la C#?

Can you give an example?

using (Stream stream = new MemoryStream()) {
using (StreamWriter streamW = new StreamWriter(stream)
streamW.WriteUInt64(1111);
}

Yes, it'll be similar to
https://golang.org/pkg/io/

@medvednikov do you have basic file I/O implemented? because of vid, I’m assuming you do?

Yes

To what extent? Reading and writing, maybe metadata, etc?
(if this info will be out with the docs — I’ll stop bugging you :) )

It will be out with package docs

On 25 Mar 2019, at 13:26, Pika<EMAIL_ADDRESS>wrote:
To what extent? Reading and writing, maybe metadata, etc?
(if this info will be out with the docs — I’ll stop bugging you :) )
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/vlang-io/V/issues/45#issuecomment-476174180, or mute the thread https://github.com/notifications/unsubscribe-auth/AAp_fH5cbioqdPXoqFB6UPL00ZOwfEKOks5vaMCFgaJpZM4cFgNF.


Fix how patterns are applied to image mask objects.

Note, this only really fixes Radial/Axial shading patterns with masks.
I'm guessing tiling patterns and mesh patterns would also be broken
if applied like the test pdf. Hopefully I'll have some time to make
test cases for the other shadings.
Fixes #13372

/botio test

/botio makeref


Top X Posts of User¶

after importing instaloader with
pip install instaloader on terminal. on the script, i put the following:
from itertools import islice
from math import ceil
from instaloader import Instaloader, Profile
PROFILE = ...        # profile to download from
X_percentage = 10    # percentage of posts that should be downloaded
L = Instaloader()
profile = Profile.from_username(L.context, PROFILE)
posts_sorted_by_likes = sorted(profile.get_posts(),
key=lambda p: p.likes + p.comments,
reverse=True)
for post in islice(posts_sorted_by_likes, ceil(profile.mediacount * X_percentage / 100)):
L.download_post(post, PROFILE)

i change the PROFILE = ... with the instagram id #820
i am getting this error.

File "C:\Users\check\AppData\Local\Programs\Python\Python39\lib\site-packages\instaloader\structures.py", line 560, in from_username
profile = cls(context, {'username': username.lower()})
AttributeError: 'int' object has no attribute 'lower'
How do I fix this? Thank you

You should use username instead of id.

You should use username instead of id.

thank you for your response, now when I replace the id with the name instagram.
it now says.
"PROFILE = instagram        # profile to download from
NameError: name 'instagram' is not defined "
" from itertools import islice
from math import ceil
from instaloader import Instaloader, Profile
PROFILE = instagram        # profile to download from
X_percentage = 10    # percentage of posts that should be downloaded
L = Instaloader()
profile = Profile.from_username(L.context, PROFILE)
posts_sorted_by_likes = sorted(profile.get_posts(),
key=lambda p: p.likes + p.comments,
reverse=True)
for post in islice(posts_sorted_by_likes, ceil(profile.mediacount * X_percentage / 100)):
L.download_post(post, PROFILE) "
thank you once again for your response

Put username in quotes (it must be a string and without quotes "instagram" is considered a variable).

thank you that worked!
now its telling me

HTTP redirect from https://www.instagram.com/graphql/query to https://www.instagram.com/accounts/login/
JSON Query to graphql/query: 429 Too Many Requests: redirected to login [retrying; skip with ^C]
Requests within last 10/11/20/22/30/60 minutes grouped by type:
other:    1    1    1    1    1    1
472f257a40c653c64c666ce877d59d2b:    5    5    5    5    5    5
2b0673e0dc4580674a88d426fe00ea90:    1    1    1    1    1    1

97b41c52301f77ce508f55e66d17620e:    1    1    1    1    1    1
Instagram responded with HTTP error "429 - Too Many Requests". Please
do not run multiple instances of Instaloader in parallel or within
short sequence. Also, do not use any Instagram App while Instaloader
is running.
The request will be retried in 666 seconds, at 09:53.

there is no other instance of instagram running on my computer, what is a good work around for this?


HTTP Error 400

Since today, I'm getting following error:

Unable to download API page: HTTP Error 400: Bad Request (caused by <HTTPError 400: Bad Request>)

I noticed in https://github.com/yt-dlp/yt-dlp/issues/11503 the issue might be related to oauth so I guess it makes sense to file a ticket here as well.

According to a comment on that issue oauth in yt-dlp is going away. Perhaps there is still room for this addon?

I had exactly the same thing happen to me today, according to what I read, it's because you have downloaded too many videos and they have restricted your account.
What I did was to use another account that I already had created, and everything went back to normal!
By the way, the "oauth2" plugin is now deprecated; the repository's readme specifies that "oauth" is now the preferred method for authentication. Be sure to uninstall the "oauth2" plugin from this repository before switching to yt-dlp’s official "oauth" solution.

so sad... i'm facing the same HttpError 400 too. 😫

If I understand, it really is a support issue. That is sad :(

They say that oauth is no longer recommended, better use cookies.

same problem here and the cookies don't take long every time I need to keep capturing them again

As noted upstream, YouTube is rolling out changes that break OAuth for yt-dlp. You should use cookies instead (which need to be exported in a specific way to remain working)

I have tried the specific way to export cookies from firefox with the "cookies.txt" extension. I can't seem to get it to work. All cookies seems to be lost after a short while and my "--mark-watched" flag doesn't have an effect.

As noted upstream, YouTube is rolling out changes that break OAuth for yt-dlp. You should use cookies instead (which need to be exported in a specific way to remain working)

Here it worked, get cookies in private mode in the browser.

I get the 400 error even with cookies now.

I get the 400 error even with cookies now.

unrelated to this repo, but would you be able to provide a log please?

I am not sure how much you want:
`thomas@NUC:~/Videos/Backup$ yt-dlp -v 'https://www.youtube.com/watch?v=_Gsv-bpMsBw'
[debug] Command-line config: ['-v', 'https://www.youtube.com/watch?v=_Gsv-bpMsBw']
[debug] User config "/home/thomas/.config/yt-dlp/config": ['-o', '%(title).200s.%(ext)s', '--add-metadata', '--no-mtime', '--hls-prefer-native', '--youtube-include-dash-manifest', '--no-playlist', '-f', 'bestvideo+bestaudio/best', '-i', '--cookies=~/.config/yt-dlp/cookies.txt', '--download-archive', '~/.config/yt-dlp/downloaded.txt', '--downloader', 'aria2c', '--mark-watched']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds (linux_exe)
[debug] Python 3.11.10 (CPython x86_64 64bit) - Linux-6.8.0-49-generic-x86_64-with (OpenSSL 3.1.7 3 Sep 2024)
[debug] exe versions: ffmpeg 7.0.1-static (setts), ffprobe 7.0.1-static
[debug] Optional libraries: Cryptodome-3.21.0, brotli-1.1.0, certifi-2024.08.30, curl_cffi-0.7.1, mutagen-1.47.0, requests-2.32.3, secretstorage-3.3.3, sqlite3-3.44.2, urllib3-2.2.3, websockets-14.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets, curl_cffi
[debug] Loaded 1837 extractors
[debug] Loading archive file '/home/thomas/.config/yt-dlp/downloaded.txt'
[youtube] Extracting URL: https://www.youtube.com/watch?v=_Gsv-bpMsBw
[youtube] _Gsv-bpMsBw: Downloading webpage
[debug] [youtube] Extracted SAPISID cookie
[youtube] _Gsv-bpMsBw: Downloading ios player API JSON
WARNING: [youtube] YouTube said: ERROR - Request contains an invalid argument.
WARNING: [youtube] HTTP Error 400: Bad Request. Retrying (1/3)...
[youtube] _Gsv-bpMsBw: Downloading ios player API JSON
WARNING: [youtube] YouTube said: ERROR - Request contains an invalid argument.
WARNING: [youtube] HTTP Error 400: Bad Request. Retrying (2/3)...
[youtube] _Gsv-bpMsBw: Downloading ios player API JSON
WARNING: [youtube] YouTube said: ERROR - Request contains an invalid argument.
WARNING: [youtube] HTTP Error 400: Bad Request. Retrying (3/3)...
[youtube] _Gsv-bpMsBw: Downloading ios player API JSON
WARNING: [youtube] YouTube said: ERROR - Request contains an invalid argument.
WARNING: [youtube] Unable to download API page: HTTP Error 400: Bad Request (caused by <HTTPError 400: Bad Request>)
[youtube] _Gsv-bpMsBw: Downloading mweb player API JSON
[debug] Loading youtube-nsig.89dfc5b3 from cache
[debug] [youtube] Decrypted nsig gOZckI1NAWrfJV => utpohqond3FRvg
[debug] Loading youtube-nsig.89dfc5b3 from cache
[debug] [youtube] Decrypted nsig M-AxnElm_Uk7H7 => Og_Ud-mo0KSlSQ
[youtube] _Gsv-bpMsBw: Marking watched
[youtube] _Gsv-bpMsBw: Marking fully watched
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[info] _Gsv-bpMsBw: Downloading 1 format(s): 313+251
[debug] Invoking aria2c downloader on "https://rr2---sn-uqj-55gs.googlevideo.com/videoplayback?expire=1732513467&ei=W7pDZ9TFFfKCi9oPnMSxsQY&ip=<IP_ADDRESS>&id=o-AOdHPXcDf3U7gQPRkAtlkJWRo7KNNLLp64zkjykFH53a&itag=313&aitags=133%2C134%2C135%2C136%2C137%2C160%2C242%2C243%2C244%2C247%2C248%2C271%2C278%2C313%2C597%2C598&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1732491867%2C&mh=b-&mm=31%2C29&mn=sn-uqj-55gs%2Csn-5go7ynld&ms=au%2Crdu&mv=m&mvi=2&pcm2cms=yes&pl=24&rms=au%2Cau&ctier=A&pfa=5&initcwndbps=2573750&hightc=yes&siu=1&bui=AQn3pFTyTaDNx-aMypmcXc8J2pO6n_GzBdaH40T743626lay87wSDRMepz7Q9QxEDoA9p2piSA&spc=qtApAUTKDsa4QAzDlsB5_0RDfoTuK4Jks0WdRgKUJRZfVed6wo2RDlRGuaroNxzLxlpvj3uqnw&vprv=1&svpuc=1&mime=video%2Fwebm&ns=n2fmM8mvQcvtoIul17egKbEQ&rqh=1&gir=yes&clen=53175777&dur=78.800&lmt=1732327866220846&mt=1732491667&fvip=2&keepalive=yes&fexp=51326932%2C51331020%2C51335594&c=MWEB&sefc=1&txp=530F224&n=Og_Ud-mo0KSlSQ&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cxpc%2Cctier%2Cpfa%2Chightc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAMDREOJKNHcPlfMMdNT0GGCL4rR-tIMpQv6q-Y0KUVmrAiEAlyPI9A57Ng7YCqFfwUp9Vg_e8HBnYYY8Gdh8Bm81JrM%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgA3iq8-DE0gJYNlY2ETLDYjXELzmwBXyKrMc2WxvIu_YCIFYOKhNxVGZ_dVLJlBmqHSaas3bBDjHrQgbDDUJmOQMn"
[download] Destination: Apple Smart TV with Smart Home Hub – What to Expect.f313.webm
[debug] aria2c command line: aria2c -c --no-conf --console-log-level=warn --summary-interval=0 --download-result=hide --http-accept-gzip=true --file-allocation=none -x16 -j16 -s16 --min-split-size 1M --header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36' --header 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8' --header 'Accept-Language: en-us,en;q=0.5' --header 'Sec-Fetch-Mode: navigate' --check-certificate=true --remote-time=false --show-console-readout=true --out './Apple Smart TV with Smart Home Hub – What to Expect.f313.webm.part' --auto-file-renaming=false -- 'https://rr2---sn-uqj-55gs.googlevideo.com/videoplayback?expire=1732513467&ei=W7pDZ9TFFfKCi9oPnMSxsQY&ip=<IP_ADDRESS>&id=o-AOdHPXcDf3U7gQPRkAtlkJWRo7KNNLLp64zkjykFH53a&itag=313&aitags=133%2C134%2C135%2C136%2C137%2C160%2C242%2C243%2C244%2C247%2C248%2C271%2C278%2C313%2C597%2C598&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1732491867%2C&mh=b-&mm=31%2C29&mn=sn-uqj-55gs%2Csn-5go7ynld&ms=au%2Crdu&mv=m&mvi=2&pcm2cms=yes&pl=24&rms=au%2Cau&ctier=A&pfa=5&initcwndbps=2573750&hightc=yes&siu=1&bui=AQn3pFTyTaDNx-aMypmcXc8J2pO6n_GzBdaH40T743626lay87wSDRMepz7Q9QxEDoA9p2piSA&spc=qtApAUTKDsa4QAzDlsB5_0RDfoTuK4Jks0WdRgKUJRZfVed6wo2RDlRGuaroNxzLxlpvj3uqnw&vprv=1&svpuc=1&mime=video%2Fwebm&ns=n2fmM8mvQcvtoIul17egKbEQ&rqh=1&gir=yes&clen=53175777&dur=78.800&lmt=1732327866220846&mt=1732491667&fvip=2&keepalive=yes&fexp=51326932%2C51331020%2C51335594&c=MWEB&sefc=1&txp=530F224&n=Og_Ud-mo0KSlSQ&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cxpc%2Cctier%2Cpfa%2Chightc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAMDREOJKNHcPlfMMdNT0GGCL4rR-tIMpQv6q-Y0KUVmrAiEAlyPI9A57Ng7YCqFfwUp9Vg_e8HBnYYY8Gdh8Bm81JrM%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgA3iq8-DE0gJYNlY2ETLDYjXELzmwBXyKrMc2WxvIu_YCIFYOKhNxVGZ_dVLJlBmqHSaas3bBDjHrQgbDDUJmOQMn'
[download] 100% of   50.71MiB in 00:00:01 at 47.11MiB/s
[debug] Invoking aria2c downloader on "https://rr2---sn-uqj-55gs.googlevideo.com/videoplayback?expire=1732513467&ei=W7pDZ9TFFfKCi9oPnMSxsQY&ip=<IP_ADDRESS>&id=o-AOdHPXcDf3U7gQPRkAtlkJWRo7KNNLLp64zkjykFH53a&itag=251&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1732491867%2C&mh=b-&mm=31%2C29&mn=sn-uqj-55gs%2Csn-5go7ynld&ms=au%2Crdu&mv=m&mvi=2&pcm2cms=yes&pl=24&rms=au%2Cau&ctier=A&pfa=5&initcwndbps=2573750&hightc=yes&siu=1&bui=AQn3pFTyTaDNx-aMypmcXc8J2pO6n_GzBdaH40T743626lay87wSDRMepz7Q9QxEDoA9p2piSA&spc=qtApAUTKDsa4QAzDlsB5_0RDfoTuK4Jks0WdRgKUJRZfVed6wo2RDlRGuaroNxzLxlpvj3uqnw&vprv=1&svpuc=1&mime=audio%2Fwebm&ns=n2fmM8mvQcvtoIul17egKbEQ&rqh=1&gir=yes&clen=1404254&dur=78.821&lmt=1732327855663480&mt=1732491667&fvip=2&keepalive=yes&fexp=51326932%2C51331020%2C51335594&c=MWEB&sefc=1&txp=5318224&n=Og_Ud-mo0KSlSQ&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cctier%2Cpfa%2Chightc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgadwRi6-rKCCXVy5PNUx1JRl3NBqA6Wm_8ivT87H5OEgCIQC_xpu3ctZ1xLhBNo2wmijp6EmCbn6ywZVrh9w-Wy2KZA%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgA3iq8-DE0gJYNlY2ETLDYjXELzmwBXyKrMc2WxvIu_YCIFYOKhNxVGZ_dVLJlBmqHSaas3bBDjHrQgbDDUJmOQMn"
[download] Destination: Apple Smart TV with Smart Home Hub – What to Expect.f251.webm
[debug] aria2c command line: aria2c -c --no-conf --console-log-level=warn --summary-interval=0 --download-result=hide --http-accept-gzip=true --file-allocation=none -x16 -j16 -s16 --min-split-size 1M --header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36' --header 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8' --header 'Accept-Language: en-us,en;q=0.5' --header 'Sec-Fetch-Mode: navigate' --check-certificate=true --remote-time=false --show-console-readout=true --out './Apple Smart TV with Smart Home Hub – What to Expect.f251.webm.part' --auto-file-renaming=false -- 'https://rr2---sn-uqj-55gs.googlevideo.com/videoplayback?expire=1732513467&ei=W7pDZ9TFFfKCi9oPnMSxsQY&ip=<IP_ADDRESS>&id=o-AOdHPXcDf3U7gQPRkAtlkJWRo7KNNLLp64zkjykFH53a&itag=251&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1732491867%2C&mh=b-&mm=31%2C29&mn=sn-uqj-55gs%2Csn-5go7ynld&ms=au%2Crdu&mv=m&mvi=2&pcm2cms=yes&pl=24&rms=au%2Cau&ctier=A&pfa=5&initcwndbps=2573750&hightc=yes&siu=1&bui=AQn3pFTyTaDNx-aMypmcXc8J2pO6n_GzBdaH40T743626lay87wSDRMepz7Q9QxEDoA9p2piSA&spc=qtApAUTKDsa4QAzDlsB5_0RDfoTuK4Jks0WdRgKUJRZfVed6wo2RDlRGuaroNxzLxlpvj3uqnw&vprv=1&svpuc=1&mime=audio%2Fwebm&ns=n2fmM8mvQcvtoIul17egKbEQ&rqh=1&gir=yes&clen=1404254&dur=78.821&lmt=1732327855663480&mt=1732491667&fvip=2&keepalive=yes&fexp=51326932%2C51331020%2C51335594&c=MWEB&sefc=1&txp=5318224&n=Og_Ud-mo0KSlSQ&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cctier%2Cpfa%2Chightc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgadwRi6-rKCCXVy5PNUx1JRl3NBqA6Wm_8ivT87H5OEgCIQC_xpu3ctZ1xLhBNo2wmijp6EmCbn6ywZVrh9w-Wy2KZA%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgA3iq8-DE0gJYNlY2ETLDYjXELzmwBXyKrMc2WxvIu_YCIFYOKhNxVGZ_dVLJlBmqHSaas3bBDjHrQgbDDUJmOQMn'
[download] 100% of    1.34MiB in 00:00:00 at 5.26MiB/s
[Merger] Merging formats into "Apple Smart TV with Smart Home Hub – What to Expect.webm"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:Apple Smart TV with Smart Home Hub – What to Expect.f313.webm' -i 'file:Apple Smart TV with Smart Home Hub – What to Expect.f251.webm' -c copy -map 0:v:0 -map 1:a:0 -movflags +faststart 'file:Apple Smart TV with Smart Home Hub – What to Expect.temp.webm'
Deleting original file Apple Smart TV with Smart Home Hub – What to Expect.f313.webm (pass -k to keep)
Deleting original file Apple Smart TV with Smart Home Hub – What to Expect.f251.webm (pass -k to keep)
[Metadata] Adding metadata to "Apple Smart TV with Smart Home Hub – What to Expect.webm"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:Apple Smart TV with Smart Home Hub – What to Expect.webm' -map 0 -dn -ignore_unknown -c copy -write_id3v1 1 -metadata 'title=Apple Smart TV with Smart Home Hub – What to Expect' -metadata date=20241121 -metadata 'description=Apple might be venturing into the smart TV space, combining a home hub with advanced smart TV features. Explore the rumours and potential tech innovations.
#apple  #smarttv  #smarthome
Consider subscribing if this helped you out: / @gadinsider
For the latest in mobile reviews and everything tech, visit
https://gadinsider.com/
Twitter:https://twitter.com/Gadinsider
Instagram:https://www.instagram.com/gadinsider
Tiktok:https://www.tiktok.com/@gadinsider' -metadata 'synopsis=Apple might be venturing into the smart TV space, combining a home hub with advanced smart TV features. Explore the rumours and potential tech innovations.
#apple  #smarttv  #smarthome
Consider subscribing if this helped you out: / @gadinsider
For the latest in mobile reviews and everything tech, visit
https://gadinsider.com/
Twitter:https://twitter.com/Gadinsider
Instagram:https://www.instagram.com/gadinsider
Tiktok:https://www.tiktok.com/@gadinsider' -metadata 'purl=https://www.youtube.com/watch?v=_Gsv-bpMsBw' -metadata 'comment=https://www.youtube.com/watch?v=_Gsv-bpMsBw' -metadata 'artist=GadInsider ' -metadata:s:1 language=eng -movflags +faststart 'file:Apple Smart TV with Smart Home Hub – What to Expect.temp.webm'
[debug] Adding to archive: youtube _Gsv-bpMsBw`

I am not sure how much you want:
`thomas@NUC:~/Videos/Backup$ yt-dlp -v 'https://www.youtube.com/watch?v=_Gsv-bpMsBw'
[debug] Command-line config: ['-v', 'https://www.youtube.com/watch?v=_Gsv-bpMsBw']
[debug] User config "/home/thomas/.config/yt-dlp/config": ['-o', '%(title).200s.%(ext)s', '--add-metadata', '--no-mtime', '--hls-prefer-native', '--youtube-include-dash-manifest', '--no-playlist', '-f', 'bestvideo+bestaudio/best', '-i', '--cookies=~/.config/yt-dlp/cookies.txt', '--download-archive', '~/.config/yt-dlp/downloaded.txt', '--downloader', 'aria2c', '--mark-watched']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-nightly-builds (linux_exe)
[debug] Python 3.11.10 (CPython x86_64 64bit) - Linux-6.8.0-49-generic-x86_64-with (OpenSSL 3.1.7 3 Sep 2024)
[debug] exe versions: ffmpeg 7.0.1-static (setts), ffprobe 7.0.1-static
[debug] Optional libraries: Cryptodome-3.21.0, brotli-1.1.0, certifi-2024.08.30, curl_cffi-0.7.1, mutagen-1.47.0, requests-2.32.3, secretstorage-3.3.3, sqlite3-3.44.2, urllib3-2.2.3, websockets-14.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets, curl_cffi
[debug] Loaded 1837 extractors
[debug] Loading archive file '/home/thomas/.config/yt-dlp/downloaded.txt'
[youtube] Extracting URL: https://www.youtube.com/watch?v=_Gsv-bpMsBw
[youtube] _Gsv-bpMsBw: Downloading webpage
[debug] [youtube] Extracted SAPISID cookie
[youtube] _Gsv-bpMsBw: Downloading ios player API JSON
WARNING: [youtube] YouTube said: ERROR - Request contains an invalid argument.
WARNING: [youtube] HTTP Error 400: Bad Request. Retrying (1/3)...
[youtube] _Gsv-bpMsBw: Downloading ios player API JSON
WARNING: [youtube] YouTube said: ERROR - Request contains an invalid argument.
WARNING: [youtube] HTTP Error 400: Bad Request. Retrying (2/3)...
[youtube] _Gsv-bpMsBw: Downloading ios player API JSON
WARNING: [youtube] YouTube said: ERROR - Request contains an invalid argument.
WARNING: [youtube] HTTP Error 400: Bad Request. Retrying (3/3)...
[youtube] _Gsv-bpMsBw: Downloading ios player API JSON
WARNING: [youtube] YouTube said: ERROR - Request contains an invalid argument.
WARNING: [youtube] Unable to download API page: HTTP Error 400: Bad Request (caused by <HTTPError 400: Bad Request>)
[youtube] _Gsv-bpMsBw: Downloading mweb player API JSON
[debug] Loading youtube-nsig.89dfc5b3 from cache
[debug] [youtube] Decrypted nsig gOZckI1NAWrfJV => utpohqond3FRvg
[debug] Loading youtube-nsig.89dfc5b3 from cache
[debug] [youtube] Decrypted nsig M-AxnElm_Uk7H7 => Og_Ud-mo0KSlSQ
[youtube] _Gsv-bpMsBw: Marking watched
[youtube] _Gsv-bpMsBw: Marking fully watched
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec, channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
[info] _Gsv-bpMsBw: Downloading 1 format(s): 313+251
[debug] Invoking aria2c downloader on "https://rr2---sn-uqj-55gs.googlevideo.com/videoplayback?expire=1732513467&ei=W7pDZ9TFFfKCi9oPnMSxsQY&ip=<IP_ADDRESS>&id=o-AOdHPXcDf3U7gQPRkAtlkJWRo7KNNLLp64zkjykFH53a&itag=313&aitags=133%2C134%2C135%2C136%2C137%2C160%2C242%2C243%2C244%2C247%2C248%2C271%2C278%2C313%2C597%2C598&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1732491867%2C&mh=b-&mm=31%2C29&mn=sn-uqj-55gs%2Csn-5go7ynld&ms=au%2Crdu&mv=m&mvi=2&pcm2cms=yes&pl=24&rms=au%2Cau&ctier=A&pfa=5&initcwndbps=2573750&hightc=yes&siu=1&bui=AQn3pFTyTaDNx-aMypmcXc8J2pO6n_GzBdaH40T743626lay87wSDRMepz7Q9QxEDoA9p2piSA&spc=qtApAUTKDsa4QAzDlsB5_0RDfoTuK4Jks0WdRgKUJRZfVed6wo2RDlRGuaroNxzLxlpvj3uqnw&vprv=1&svpuc=1&mime=video%2Fwebm&ns=n2fmM8mvQcvtoIul17egKbEQ&rqh=1&gir=yes&clen=53175777&dur=78.800&lmt=1732327866220846&mt=1732491667&fvip=2&keepalive=yes&fexp=51326932%2C51331020%2C51335594&c=MWEB&sefc=1&txp=530F224&n=Og_Ud-mo0KSlSQ&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cxpc%2Cctier%2Cpfa%2Chightc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAMDREOJKNHcPlfMMdNT0GGCL4rR-tIMpQv6q-Y0KUVmrAiEAlyPI9A57Ng7YCqFfwUp9Vg_e8HBnYYY8Gdh8Bm81JrM%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgA3iq8-DE0gJYNlY2ETLDYjXELzmwBXyKrMc2WxvIu_YCIFYOKhNxVGZ_dVLJlBmqHSaas3bBDjHrQgbDDUJmOQMn"
[download] Destination: Apple Smart TV with Smart Home Hub – What to Expect.f313.webm
[debug] aria2c command line: aria2c -c --no-conf --console-log-level=warn --summary-interval=0 --download-result=hide --http-accept-gzip=true --file-allocation=none -x16 -j16 -s16 --min-split-size 1M --header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36' --header 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8' --header 'Accept-Language: en-us,en;q=0.5' --header 'Sec-Fetch-Mode: navigate' --check-certificate=true --remote-time=false --show-console-readout=true --out './Apple Smart TV with Smart Home Hub – What to Expect.f313.webm.part' --auto-file-renaming=false -- 'https://rr2---sn-uqj-55gs.googlevideo.com/videoplayback?expire=1732513467&ei=W7pDZ9TFFfKCi9oPnMSxsQY&ip=<IP_ADDRESS>&id=o-AOdHPXcDf3U7gQPRkAtlkJWRo7KNNLLp64zkjykFH53a&itag=313&aitags=133%2C134%2C135%2C136%2C137%2C160%2C242%2C243%2C244%2C247%2C248%2C271%2C278%2C313%2C597%2C598&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1732491867%2C&mh=b-&mm=31%2C29&mn=sn-uqj-55gs%2Csn-5go7ynld&ms=au%2Crdu&mv=m&mvi=2&pcm2cms=yes&pl=24&rms=au%2Cau&ctier=A&pfa=5&initcwndbps=2573750&hightc=yes&siu=1&bui=AQn3pFTyTaDNx-aMypmcXc8J2pO6n_GzBdaH40T743626lay87wSDRMepz7Q9QxEDoA9p2piSA&spc=qtApAUTKDsa4QAzDlsB5_0RDfoTuK4Jks0WdRgKUJRZfVed6wo2RDlRGuaroNxzLxlpvj3uqnw&vprv=1&svpuc=1&mime=video%2Fwebm&ns=n2fmM8mvQcvtoIul17egKbEQ&rqh=1&gir=yes&clen=53175777&dur=78.800&lmt=1732327866220846&mt=1732491667&fvip=2&keepalive=yes&fexp=51326932%2C51331020%2C51335594&c=MWEB&sefc=1&txp=530F224&n=Og_Ud-mo0KSlSQ&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cxpc%2Cctier%2Cpfa%2Chightc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRgIhAMDREOJKNHcPlfMMdNT0GGCL4rR-tIMpQv6q-Y0KUVmrAiEAlyPI9A57Ng7YCqFfwUp9Vg_e8HBnYYY8Gdh8Bm81JrM%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgA3iq8-DE0gJYNlY2ETLDYjXELzmwBXyKrMc2WxvIu_YCIFYOKhNxVGZ_dVLJlBmqHSaas3bBDjHrQgbDDUJmOQMn'
[download] 100% of   50.71MiB in 00:00:01 at 47.11MiB/s
[debug] Invoking aria2c downloader on "https://rr2---sn-uqj-55gs.googlevideo.com/videoplayback?expire=1732513467&ei=W7pDZ9TFFfKCi9oPnMSxsQY&ip=<IP_ADDRESS>&id=o-AOdHPXcDf3U7gQPRkAtlkJWRo7KNNLLp64zkjykFH53a&itag=251&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1732491867%2C&mh=b-&mm=31%2C29&mn=sn-uqj-55gs%2Csn-5go7ynld&ms=au%2Crdu&mv=m&mvi=2&pcm2cms=yes&pl=24&rms=au%2Cau&ctier=A&pfa=5&initcwndbps=2573750&hightc=yes&siu=1&bui=AQn3pFTyTaDNx-aMypmcXc8J2pO6n_GzBdaH40T743626lay87wSDRMepz7Q9QxEDoA9p2piSA&spc=qtApAUTKDsa4QAzDlsB5_0RDfoTuK4Jks0WdRgKUJRZfVed6wo2RDlRGuaroNxzLxlpvj3uqnw&vprv=1&svpuc=1&mime=audio%2Fwebm&ns=n2fmM8mvQcvtoIul17egKbEQ&rqh=1&gir=yes&clen=1404254&dur=78.821&lmt=1732327855663480&mt=1732491667&fvip=2&keepalive=yes&fexp=51326932%2C51331020%2C51335594&c=MWEB&sefc=1&txp=5318224&n=Og_Ud-mo0KSlSQ&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cctier%2Cpfa%2Chightc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgadwRi6-rKCCXVy5PNUx1JRl3NBqA6Wm_8ivT87H5OEgCIQC_xpu3ctZ1xLhBNo2wmijp6EmCbn6ywZVrh9w-Wy2KZA%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgA3iq8-DE0gJYNlY2ETLDYjXELzmwBXyKrMc2WxvIu_YCIFYOKhNxVGZ_dVLJlBmqHSaas3bBDjHrQgbDDUJmOQMn"
[download] Destination: Apple Smart TV with Smart Home Hub – What to Expect.f251.webm
[debug] aria2c command line: aria2c -c --no-conf --console-log-level=warn --summary-interval=0 --download-result=hide --http-accept-gzip=true --file-allocation=none -x16 -j16 -s16 --min-split-size 1M --header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36' --header 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8' --header 'Accept-Language: en-us,en;q=0.5' --header 'Sec-Fetch-Mode: navigate' --check-certificate=true --remote-time=false --show-console-readout=true --out './Apple Smart TV with Smart Home Hub – What to Expect.f251.webm.part' --auto-file-renaming=false -- 'https://rr2---sn-uqj-55gs.googlevideo.com/videoplayback?expire=1732513467&ei=W7pDZ9TFFfKCi9oPnMSxsQY&ip=<IP_ADDRESS>&id=o-AOdHPXcDf3U7gQPRkAtlkJWRo7KNNLLp64zkjykFH53a&itag=251&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&met=1732491867%2C&mh=b-&mm=31%2C29&mn=sn-uqj-55gs%2Csn-5go7ynld&ms=au%2Crdu&mv=m&mvi=2&pcm2cms=yes&pl=24&rms=au%2Cau&ctier=A&pfa=5&initcwndbps=2573750&hightc=yes&siu=1&bui=AQn3pFTyTaDNx-aMypmcXc8J2pO6n_GzBdaH40T743626lay87wSDRMepz7Q9QxEDoA9p2piSA&spc=qtApAUTKDsa4QAzDlsB5_0RDfoTuK4Jks0WdRgKUJRZfVed6wo2RDlRGuaroNxzLxlpvj3uqnw&vprv=1&svpuc=1&mime=audio%2Fwebm&ns=n2fmM8mvQcvtoIul17egKbEQ&rqh=1&gir=yes&clen=1404254&dur=78.821&lmt=1732327855663480&mt=1732491667&fvip=2&keepalive=yes&fexp=51326932%2C51331020%2C51335594&c=MWEB&sefc=1&txp=5318224&n=Og_Ud-mo0KSlSQ&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cctier%2Cpfa%2Chightc%2Csiu%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&sig=AJfQdSswRQIgadwRi6-rKCCXVy5PNUx1JRl3NBqA6Wm_8ivT87H5OEgCIQC_xpu3ctZ1xLhBNo2wmijp6EmCbn6ywZVrh9w-Wy2KZA%3D%3D&lsparams=met%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpcm2cms%2Cpl%2Crms%2Cinitcwndbps&lsig=AGluJ3MwRAIgA3iq8-DE0gJYNlY2ETLDYjXELzmwBXyKrMc2WxvIu_YCIFYOKhNxVGZ_dVLJlBmqHSaas3bBDjHrQgbDDUJmOQMn'
[download] 100% of    1.34MiB in 00:00:00 at 5.26MiB/s
[Merger] Merging formats into "Apple Smart TV with Smart Home Hub – What to Expect.webm"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:Apple Smart TV with Smart Home Hub – What to Expect.f313.webm' -i 'file:Apple Smart TV with Smart Home Hub – What to Expect.f251.webm' -c copy -map 0:v:0 -map 1:a:0 -movflags +faststart 'file:Apple Smart TV with Smart Home Hub – What to Expect.temp.webm'
Deleting original file Apple Smart TV with Smart Home Hub – What to Expect.f313.webm (pass -k to keep)
Deleting original file Apple Smart TV with Smart Home Hub – What to Expect.f251.webm (pass -k to keep)
[Metadata] Adding metadata to "Apple Smart TV with Smart Home Hub – What to Expect.webm"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i 'file:Apple Smart TV with Smart Home Hub – What to Expect.webm' -map 0 -dn -ignore_unknown -c copy -write_id3v1 1 -metadata 'title=Apple Smart TV with Smart Home Hub – What to Expect' -metadata date=20241121 -metadata 'description=Apple might be venturing into the smart TV space, combining a home hub with advanced smart TV features. Explore the rumours and potential tech innovations.
#apple  #smarttv  #smarthome
Consider subscribing if this helped you out: / @gadinsider
For the latest in mobile reviews and everything tech, visit
https://gadinsider.com/
Twitter:https://twitter.com/Gadinsider
Instagram:https://www.instagram.com/gadinsider
Tiktok:https://www.tiktok.com/@gadinsider' -metadata 'synopsis=Apple might be venturing into the smart TV space, combining a home hub with advanced smart TV features. Explore the rumours and potential tech innovations.
#apple  #smarttv  #smarthome
Consider subscribing if this helped you out: / @gadinsider
For the latest in mobile reviews and everything tech, visit
https://gadinsider.com/
Twitter:https://twitter.com/Gadinsider
Instagram:https://www.instagram.com/gadinsider
Tiktok:https://www.tiktok.com/@gadinsider' -metadata 'purl=https://www.youtube.com/watch?v=_Gsv-bpMsBw' -metadata 'comment=https://www.youtube.com/watch?v=_Gsv-bpMsBw' -metadata 'artist=GadInsider ' -metadata:s:1 language=eng -movflags +faststart 'file:Apple Smart TV with Smart Home Hub – What to Expect.temp.webm'
[debug] Adding to archive: youtube _Gsv-bpMsBw`

Perfect, thanks. Looks like YouTube might be rolling out a change to block cookies on iOS, which your account has been included in 😣
If you don't mind, could you run the same again with --extractor-args youtube:player-client=android,android_vr? Would like to confirm the extent of this block..

https://github.com/yt-dlp/yt-dlp/issues/11640


Cant route over ferry bicycle/foot=designated

See: https://www.openstreetmap.org/way/164231365
When you routeover this by bike or foot it wont route over the ferry, the ferry tags look fine to me. When I look in the graphhopper code for foot/bicycle-flagencoder https://github.com/graphhopper/graphhopper/blob/0.11/core/src/main/java/com/graphhopper/routing/util/BikeCommonFlagEncoder.java#L239 1 , the flagencoder will check the bicycle tag if its “yes”, but in this case the bicycle tag is designated which looks like a valid value in the osm wiki.
So it looks like the BikeFlagEncoder should also check if the value is “designated” (or even better; intendedValues). The same for the FootFlagEncoder.
If this is correct I would like to create a pullrequest to fix this problem.
discussing: https://discuss.graphhopper.com/t/cant-route-over-ferry-bicycle-foot-designated/4181

If this is correct I would like to create a pullrequest to fix this problem

This would be really nice! As this is likely a small change it is merged fast :)
(If you do, please include a test that fails without the fix)

If this is correct I would like to create a pullrequest to fix this problem

This would be really nice! As this is likely a small change it will be merged fast :)
(If you do, please include a test that fails without the fix)

Yes, sure. I will do this, I'm eager to learn and contribute to graphhopper :)
Expect a pullrequest this week

created a pullrequest: https://github.com/graphhopper/graphhopper/pull/1568


[BUG] Path converter doesn't work

Describe the bug
Routes having a path converter will only get the first part of the path.
To Reproduce
Steps to reproduce the behavior:

Create a route with the path converter.
Request that endpoint with a path containing multiple /s.
Print the path.
See that only the first part of the path is printed.

Code:
from baguette import Baguette

app = Baguette()

@app.route("/<path:path>")
async def index(path: str):
    print(path)

Request GET /path/to/something will print path instead of path/to/something.
Expected behavior
The full path is given and printed.
Desktop (please complete the following information):

OS: Windows
Python version: 3.7.6
Baguette version: 0.1.1

Additional context
This splits by / so the converter only converts a segment between 2 /s.
https://github.com/takos22/baguette/blob/9d4b1efbdcca38226e92823632b222ed11b9933f/baguette/router.py#L118

Fixed in release v0.1.3


fixes iteration over class names in set_log_level

This didn't account for the code path where node.nodelist() was
populated and class_names was None, or otherwise not iterable. If the
class_names parameter has its default value of None, this line will set
it to an empty (iterable) list.

Wait a minute, running into errors locally. Not sure if these changes are the problem

Figured it out; they were unrelated. If this passes review, merge away.

Sorry Jim, this needs rebased.

Not a problem -- have another look?

+1


App crashes when closing a popup that contains an indicator view (iOS only)

As described in the title, when closing a popup that contains an indicator view, the app is crashing in iOS.  I have included a sample project and stacktrace to display the issue.  Can you take a look at it please?  Thank you.
For reference, I am using Visual Studio 17.4.4 with .NET SDK 7.0.102.
CarouselPopupSample.zip
**System.InvalidOperationException:** 'PlatformView cannot be null here'

2023-01-12 11:13:41.450630-0700 CarouselPopupSample[2799:1687340]
Unhandled Exception:
System.InvalidOperationException: PlatformView cannot be null here
   at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IIndicatorView, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.MauiPageControl, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]].get_PlatformView()
   at Microsoft.Maui.Handlers.IndicatorViewHandler.DisconnectHandler(MauiPageControl platformView)
   at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IIndicatorView, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.MauiPageControl, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]].OnDisconnectHandler(UIView platformView)
   at Microsoft.Maui.Handlers.ViewHandler.OnDisconnectHandler(Object platformView)
   at Microsoft.Maui.Handlers.ElementHandler.DisconnectHandler(Object platformView)
   at Microsoft.Maui.
Handlers.ElementHandler.Microsoft.Maui.IElementHandler.DisconnectHandler()
   at Mopups.iOS.Implementation.iOSMopups.DisposeModelAndChildrenHandlers(VisualElement view)
   at Mopups.iOS.Implementation.iOSMopups.RemoveAsync(PopupPage page)
   at Mopups.Services.PopupNavigation.<>c__DisplayClass23_0.<<RemovePageAsync>g__RemovePage|0>d.MoveNext()
--- End of stack trace from previous location ---
   at CarouselPopupSample.Popup.<>c.<<CloseButtonClicked>b__1_0>d.MoveNext() in C:\Users\aaoki\source\repos\CarouselPopupSample\Popup.xaml.cs:line 16
--- End of stack trace from previous location ---
   at ObjCRuntime.Runtime.ThrowException(IntPtr gchandle)
   at UIKit.UIApplication.UIApplicationMain(Int32 argc, String[] argv, IntPtr principalClassName, IntPtr delegateClassName)
   at UIKit.UIApplication.Main(String[] args, Type principalClass, Type delegateClass)
   at CarouselPopupSample.Program.Main(String[] args) in C:\Users\aaoki\source\repos\CarouselPopupSample\Platforms\iOS\Program.cs:line 13
2023-01-12 11:13:41.454885-0700 CarouselPopupSample[2799:1687340] Unhandled managed exception: PlatformView cannot be null here (System.InvalidOperationException)
   at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IIndicatorView, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.MauiPageControl, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]].get_PlatformView()
   at Microsoft.Maui.Handlers.IndicatorViewHandler.DisconnectHandler(MauiPageControl platformView)
   at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IIndicatorView, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.MauiPageControl, Microsoft.Maui, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null]].OnDisconnectHandler(UIView platformView)
   at Microsoft.Maui.Handlers.ViewHandler.OnDisconnectHandler(Object platformView)
   at Microsoft.Maui.Handlers.ElementHandler.DisconnectHandler(Object platformView)
   at Microso
ft.Maui.Handlers.ElementHandler.Microsoft.Maui.IElementHandler.DisconnectHandler()
   at Mopups.iOS.Implementation.iOSMopups.DisposeModelAndChildrenHandlers(VisualElement view)
   at Mopups.iOS.Implementation.iOSMopups.RemoveAsync(PopupPage page)
   at Mopups.Services.PopupNavigation.<>c__DisplayClass23_0.<<RemovePageAsync>g__RemovePage|0>d.MoveNext()
--- End of stack trace from previous location ---
   at CarouselPopupSample.Popup.<>c.<<CloseButtonClicked>b__1_0>d.MoveNext() in C:\Users\aaoki\source\repos\CarouselPopupSample\Popup.xaml.cs:line 16
--- End of stack trace from previous location ---
   at ObjCRuntime.Runtime.ThrowException(IntPtr gchandle)
   at UIKit.UIApplication.UIApplicationMain(Int32 argc, String[] argv, IntPtr principalClassName, IntPtr delegateClassName)
   at UIKit.UIApplication.Main(String[] args, Type principalClass, Type delegateClass)
   at CarouselPopupSample.Program.Main(String[] args) in C:\Users\aaoki\source\repos\CarouselPopupSample\Platforms\iOS\Program.cs:line 13

Cheers for the example app, always makes these alot easier
This shouldn't be a difficult fix, looking at the stack trace, I'll get cracking on it asap.

+1

Hi @LuckyDucko, do you have any updates for this bug or an estimated timeline for a fix?  Thanks!

@bluetreee my bad I have been completely zoned out regarding this plugin due to some other things going on. I'll refocus in this coming week

@bluetreee
i don't want to sound like i'm shirking this responsibility, but this builds and works completely fine on my macbook through Visual Studio for mac.

@LuckyDucko I updated the my maui-ios workloads to 7.0.59 and it seems to be resolved now.  Thank you for looking into this!

No worries mate, have a good one


Creating my SSL materials in Timely

When I try and generate a certificate signing request (CSR) with our Timely private key running:
openssl req -new -key timely.key -sha256 -nodes -subj<EMAIL_ADDRESS>> timely.csr

I then went ahead and used the CSR and the CA to create a certificate for the server (a reply to the CSR):
openssl x509 -req -in timely.csr -CA CA.pem -CAkey CA.key -CAcreateserial -out timely.crt `-days 365`.

Convert the private key to pkcs#8 format (still iffy):
openssl pkcs8 -topk8 -inform PEM -outform PEM -in timely.key -out timely-pkcs8.key

This doesn't look like a valid issue for this project, and no question or problem is being reported.


Rights field should be single-valued by default, and overrideable

 Issue by awead
Thursday Aug 20, 2015 at 01:34 GMT
Originally opened as https://github.com/projecthydra/sufia/issues/1287

 Comment by jcoyne
Thursday Aug 20, 2015 at 14:09 GMT

I'm not sure this is always true. Probably for the 99% though.

 Comment by mjgiarlo
Thursday Aug 20, 2015 at 17:55 GMT

I suspect it's always true for folks who aren't overriding any of the select values for that field.  And if they're already overriding that... :smile:
I don't think it makes any sense to let folks select multiple CC licenses, or to select a CC license and "All rights reserved." The default select values suggest single-valued field to me.

 Comment by jcoyne
Friday Aug 28, 2015 at 01:44 GMT

Yes, my exception case was licenses from the library, not CC licenses.

 Comment by vantuyls
Thursday Aug 27, 2015 at 19:41 GMT

The only places I've seen someone assign multiple (CC) licenses to an object, I'm pretty sure they screwed up. I've been racking my brain for the past week trying to think of a case where one could actually assign multiple CC licenses and i've come up with nothing.

 Comment by vantuyls
Monday Aug 31, 2015 at 22:15 GMT

Hrm. We just made this happen locally.

 Comment by mjgiarlo
Monday Aug 31, 2015 at 22:14 GMT

I spent a day or two hacking on this but I need to move onto other things.

 Comment by mjgiarlo
Monday Aug 31, 2015 at 22:18 GMT

Maybe the magic incantation is in here: https://github.com/osulp/Scholars-Archive/commit/746e02a0e5fccc85217450ae560d0191500900b9
Thanks for the heads-up, @vantuyls
@straleyb if you want to toss a fix upstream, that'd be great!

 Comment by straleyb
Monday Aug 31, 2015 at 22:20 GMT

Yeah, I'll update and send a PR. If not this afternoon, tomorrow morning. :+1:

 Comment by vantuyls
Monday Aug 31, 2015 at 22:20 GMT

INTERNET!

 Comment by mjgiarlo
Monday Aug 31, 2015 at 22:21 GMT

:clap: :fireworks:  @vantuyls @straleyb

 Comment by mjgiarlo
Friday Sep 11, 2015 at 17:18 GMT

Are you still interested in working on this @straleyb?

 Comment by mjgiarlo
Monday Dec 14, 2015 at 22:05 GMT

Paging @straleyb and @vantuyls. :)
If you are interested in contributing this work back, please do issue the PR against the 6.x-stable branch.


Contributing Member use case

Added a new use case for receiving a free membership, if the user is a valuable community member.

Basics

[ ] Details of what you changed are in commit messages
(first line should have module: short statement syntax)
[ ] References to issues, e.g. close #X, are in the commit messages.
[ ] The buildserver is happy.
[ ] The PR is rebased with current master.

Checklist

[ ] I added unit tests for my code
[ ] I fully described what my PR does in the documentation
(not in the PR description)
[ ] I fixed all affected documentation
[ ] I fixed all affected decisions
[ ] I added code comments, logging, and assertions as appropriate
[ ] I mentioned every code or binary not directly written or done by me in reuse syntax

Review

[ ] Documentation is conforming to our Documentation Guidelines
[ ] Examples are well chosen and understandable
[ ] Code is conforming to our Coding Guidelines
[ ] Code is consistent to our Design Decisions

This should be explained in the glossary :wink:

jenkins build please

Now part of #366


I wonder why we use express as our server instead of webpack-dev-server.
Thanks a lot!

use this https://webpack.js.org/configuration/dev-server/#devserver-proxy

@llwslc Sorry, I don'know if I really express clearly...Webpack-dev-server is a bulit-in server of webpack, but we use express in this template instead of use webpack-dev-server directly.I want to know why and what's the consideration of it.
Thank you very much for your reply!

@escawn webpack-dev-server uses express also: https://github.com/webpack/webpack-dev-server/blob/master/lib/Server.js
The custom dev-server.js file is pretty simple and easy to customize. They both use express.js behind the scenes.

@grantcarthew I think I nearly get the point. I'll study more detaill in source code.
Thanks a lot!

When we started this template, webpack-dev-server didn't have all the features /customization options that we would like it to have, so we decided to use webpack-dev-middleware & hot-middleware.
But webpack-dev-server has improved other the last couple of months so I guess we could switch to it just as well. But I haven't compared the two setups in detail yet.

@escawn: I refactored my project (built from the webpack vue template) to use webpack-dev-server and it seems to have the same functionality as the dev-server and dev-client scripts. I had to use the node API to run the webpack-dev-server in test/e2e/runner.js, but aside from that I just followed the webpack docs and deleted code when it worked.


Documentation page dotn work

The documentation page is down

Thanks, this is a duplication of https://github.com/SirLamer/click-confirm/issues/8.
Something with GitHub changed, I have to figure it out.


Extra ext appended to files copied to file:///

cloudfiles cp test.txt /tmp

create /tmp/test.txt
cloudfiles cp test.txt file:///tmp

create /tmp/test.txt.txt, any ext will be double in my test.

I must got confused yesterday, both case gives a test.txt.txt with cloud-files 4.17.2 installed from pip

Ah, I think this bug was introduced to try to compensate for compression extensions. Will fix this...

Seems to be fixed since 4.18.0


Add a secondary menu button and show rest of the collection actions

On right click of an icon we show a list of collection actions.

Need to show these actions on the right pane as well as secondary actions.

What I'm looking for is something like primary button and a menu secondary button on its right.
Something like

Don't want any new libraries to be added, but try to use https://headlessui.com/react/menu and build a custom component.

Hi, @MrRobz can I help you with this?

@MrRobz If I understand correctly, you want a custom button with secondary button that open a customizable dropdown  right?
Do I just create the custom component or implement it too somewhere?

This is what I'm looking for @fazzaamiarso.
There will a secondary button beside the button on click opens menu with the collection actions.
The menu will have the same options as when you right-click an icon

This could be a new component in src/components/ui/atomic-components we can call it DropdownButton


implement podcast functionality

Work-in-progress implementation of podcasts. Still needs quite a bit of work, but this is a large change so I thought I'd open it up in draft mode in case anyone has any comments along the way.
Playback is working for podcast episodes, as is searching for specific episodes. But the playback is still not being populated—in the process of tracking down why that isn't happening now
Fixes #359
Fixes #457
Checklist (based on https://github.com/aome510/spotify-player/issues/457#issuecomment-2156052760)

[x] Search

[x] Shows (podcasts)
[x] Episodes (podcast episodes)

[x] Context menu

[x] Shows

[x] Copy link
[x] Follow

[x] Episodes

[x] Go to show
[x] Copy link
[x] Add to playlist
[x] Add to queue

[x] Show detail page
[x] Playback

[x] Play audio
[x] Show playback status

Screenshots
Search page

Show detail page

Anything I can do to help? I would love this feature!

The biggest outstanding "unknown" is why the playback screen is still blank after starting playback for an episode, so any help diagnosing this would be fantastic.
The info in https://github.com/aome510/spotify-player/issues/359 may be helpful here. I was hopeful that updating streaming.rs to handle episode player events would fix it, but no dice so far.
In general, I'm probably gonna be a bit short on time to be able to push this PR forward this week, but should have more time next week.

This pull-request is already going to be a doozy to review, so I figured I should open it up for a first look now.
Most of the functionality outlined in #457 is implemented here, save one very important part: rendering the currently playing episode in the Player UI. I've been trying to debug why the playing episode does not show up there, but haven't had too much luck yet. I know that playback.item in https://github.com/aome510/spotify-player/pull/552/files#diff-3ee6f331c585285645123ea35a2b8ad7db4d450994a9429b78c4856c6531c410R19 returns None even when an episode is playing, but as far as I can tell, item is set by Spotify itself, so I'm not sure why it's not Some(PlayableItem::Episode). Would appreciate help in debugging this

Lots of errors in CI. I've been testing without enabling features—will update the PR to account for the various features as well

Thanks @SebRollen for the PR and implementing this big feature! I'm still half-way reviewing it. Just to give you an update. Sorry for the delay cause I haven't found time to work on this project lately.

@aome510 it's all good, I know it's quite a few changes to review in one go.
If it's helpful, I'm happy to try to break it into smaller chunks if you're willing to merge in partial updates to the feature. I found it hard initially to find a natural point to split the PR into smaller chunks without merging in a half-baked feature, but maybe we could get all the "backend" parts before adding in the UI updates? Let me know what's most helpful for you

@SebRollen I finally had a chance to get back to this PR and finish it. I've also added playback support. The remaining item is to implement command handler for episode table window, which I will address in a future PR.